@pushframe/sdk 0.1.4 → 0.1.8

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 (288) hide show
  1. package/lib/commonjs/PushframeProvider.js +69 -0
  2. package/lib/commonjs/PushframeProvider.js.map +1 -0
  3. package/lib/commonjs/PushframeScreen.js +69 -0
  4. package/lib/commonjs/PushframeScreen.js.map +1 -0
  5. package/lib/commonjs/bindings.js +73 -0
  6. package/lib/commonjs/bindings.js.map +1 -0
  7. package/lib/commonjs/components/ButtonComponent.js +72 -0
  8. package/lib/commonjs/components/ButtonComponent.js.map +1 -0
  9. package/lib/commonjs/components/FlatListComponent.js +73 -0
  10. package/lib/commonjs/components/FlatListComponent.js.map +1 -0
  11. package/lib/commonjs/components/ImageComponent.js +67 -0
  12. package/lib/commonjs/components/ImageComponent.js.map +1 -0
  13. package/lib/commonjs/components/PushFrameComponent.js +179 -0
  14. package/lib/commonjs/components/PushFrameComponent.js.map +1 -0
  15. package/lib/commonjs/components/PushFrameProvider.js +115 -0
  16. package/lib/commonjs/components/PushFrameProvider.js.map +1 -0
  17. package/lib/commonjs/components/PushFrameScreen.js +39 -0
  18. package/lib/commonjs/components/PushFrameScreen.js.map +1 -0
  19. package/lib/commonjs/components/ScrollViewComponent.js +64 -0
  20. package/lib/commonjs/components/ScrollViewComponent.js.map +1 -0
  21. package/lib/commonjs/components/StackComponent.js +61 -0
  22. package/lib/commonjs/components/StackComponent.js.map +1 -0
  23. package/lib/commonjs/components/TextComponent.js +62 -0
  24. package/lib/commonjs/components/TextComponent.js.map +1 -0
  25. package/lib/commonjs/conditions.js +44 -0
  26. package/lib/commonjs/conditions.js.map +1 -0
  27. package/lib/commonjs/context/PushFrameContext.js +33 -0
  28. package/lib/commonjs/context/PushFrameContext.js.map +1 -0
  29. package/lib/commonjs/index.js +200 -0
  30. package/lib/commonjs/index.js.map +1 -0
  31. package/lib/commonjs/overlays/BottomSheetHost.js +144 -0
  32. package/lib/commonjs/overlays/BottomSheetHost.js.map +1 -0
  33. package/lib/commonjs/overlays/ToastHost.js +135 -0
  34. package/lib/commonjs/overlays/ToastHost.js.map +1 -0
  35. package/lib/commonjs/package.json +1 -0
  36. package/lib/commonjs/primitives/ActivityIndicator.js +24 -0
  37. package/lib/commonjs/primitives/ActivityIndicator.js.map +1 -0
  38. package/lib/commonjs/primitives/FlatList.js +34 -0
  39. package/lib/commonjs/primitives/FlatList.js.map +1 -0
  40. package/lib/commonjs/primitives/Image.js +33 -0
  41. package/lib/commonjs/primitives/Image.js.map +1 -0
  42. package/lib/commonjs/primitives/KeyboardAvoidingView.js +24 -0
  43. package/lib/commonjs/primitives/KeyboardAvoidingView.js.map +1 -0
  44. package/lib/commonjs/primitives/Modal.js +24 -0
  45. package/lib/commonjs/primitives/Modal.js.map +1 -0
  46. package/lib/commonjs/primitives/Pressable.js +26 -0
  47. package/lib/commonjs/primitives/Pressable.js.map +1 -0
  48. package/lib/commonjs/primitives/SafeAreaView.js +38 -0
  49. package/lib/commonjs/primitives/SafeAreaView.js.map +1 -0
  50. package/lib/commonjs/primitives/ScrollView.js +26 -0
  51. package/lib/commonjs/primitives/ScrollView.js.map +1 -0
  52. package/lib/commonjs/primitives/StatusBar.js +24 -0
  53. package/lib/commonjs/primitives/StatusBar.js.map +1 -0
  54. package/lib/commonjs/primitives/Switch.js +28 -0
  55. package/lib/commonjs/primitives/Switch.js.map +1 -0
  56. package/lib/commonjs/primitives/Text.js +37 -0
  57. package/lib/commonjs/primitives/Text.js.map +1 -0
  58. package/lib/commonjs/primitives/TextInput.js +31 -0
  59. package/lib/commonjs/primitives/TextInput.js.map +1 -0
  60. package/lib/commonjs/primitives/View.js +24 -0
  61. package/lib/commonjs/primitives/View.js.map +1 -0
  62. package/lib/commonjs/primitives/index.js +97 -0
  63. package/lib/commonjs/primitives/index.js.map +1 -0
  64. package/lib/commonjs/registry/ComponentRegistry.js +70 -0
  65. package/lib/commonjs/registry/ComponentRegistry.js.map +1 -0
  66. package/lib/commonjs/registry.js +94 -0
  67. package/lib/commonjs/registry.js.map +1 -0
  68. package/lib/commonjs/renderer/RecursiveRenderer.js +202 -0
  69. package/lib/commonjs/renderer/RecursiveRenderer.js.map +1 -0
  70. package/lib/commonjs/renderer/bindingResolver.js +98 -0
  71. package/lib/commonjs/renderer/bindingResolver.js.map +1 -0
  72. package/lib/commonjs/renderer/conditionalEvaluator.js +31 -0
  73. package/lib/commonjs/renderer/conditionalEvaluator.js.map +1 -0
  74. package/lib/commonjs/renderer.js +107 -0
  75. package/lib/commonjs/renderer.js.map +1 -0
  76. package/lib/commonjs/schema.js +79 -0
  77. package/lib/commonjs/schema.js.map +1 -0
  78. package/lib/commonjs/transformer/index.js +1055 -0
  79. package/lib/commonjs/transformer/index.js.map +1 -0
  80. package/lib/commonjs/transport.js +86 -0
  81. package/lib/commonjs/transport.js.map +1 -0
  82. package/lib/module/PushframeProvider.js +62 -0
  83. package/lib/module/PushframeProvider.js.map +1 -0
  84. package/lib/module/PushframeScreen.js +65 -0
  85. package/lib/module/PushframeScreen.js.map +1 -0
  86. package/lib/module/bindings.js +68 -0
  87. package/lib/module/bindings.js.map +1 -0
  88. package/lib/module/components/ButtonComponent.js +67 -0
  89. package/lib/module/components/ButtonComponent.js.map +1 -0
  90. package/lib/module/components/FlatListComponent.js +68 -0
  91. package/lib/module/components/FlatListComponent.js.map +1 -0
  92. package/lib/module/components/ImageComponent.js +62 -0
  93. package/lib/module/components/ImageComponent.js.map +1 -0
  94. package/lib/module/components/PushFrameComponent.js +174 -0
  95. package/lib/module/components/PushFrameComponent.js.map +1 -0
  96. package/lib/module/components/PushFrameProvider.js +110 -0
  97. package/lib/module/components/PushFrameProvider.js.map +1 -0
  98. package/lib/module/components/PushFrameScreen.js +34 -0
  99. package/lib/module/components/PushFrameScreen.js.map +1 -0
  100. package/lib/module/components/ScrollViewComponent.js +59 -0
  101. package/lib/module/components/ScrollViewComponent.js.map +1 -0
  102. package/lib/module/components/StackComponent.js +56 -0
  103. package/lib/module/components/StackComponent.js.map +1 -0
  104. package/lib/module/components/TextComponent.js +57 -0
  105. package/lib/module/components/TextComponent.js.map +1 -0
  106. package/lib/module/conditions.js +40 -0
  107. package/lib/module/conditions.js.map +1 -0
  108. package/lib/module/context/PushFrameContext.js +29 -0
  109. package/lib/module/context/PushFrameContext.js.map +1 -0
  110. package/lib/module/index.js +99 -0
  111. package/lib/module/index.js.map +1 -0
  112. package/lib/module/overlays/BottomSheetHost.js +139 -0
  113. package/lib/module/overlays/BottomSheetHost.js.map +1 -0
  114. package/lib/module/overlays/ToastHost.js +130 -0
  115. package/lib/module/overlays/ToastHost.js.map +1 -0
  116. package/lib/module/primitives/ActivityIndicator.js +19 -0
  117. package/lib/module/primitives/ActivityIndicator.js.map +1 -0
  118. package/lib/module/primitives/FlatList.js +29 -0
  119. package/lib/module/primitives/FlatList.js.map +1 -0
  120. package/lib/module/primitives/Image.js +28 -0
  121. package/lib/module/primitives/Image.js.map +1 -0
  122. package/lib/module/primitives/KeyboardAvoidingView.js +19 -0
  123. package/lib/module/primitives/KeyboardAvoidingView.js.map +1 -0
  124. package/lib/module/primitives/Modal.js +19 -0
  125. package/lib/module/primitives/Modal.js.map +1 -0
  126. package/lib/module/primitives/Pressable.js +21 -0
  127. package/lib/module/primitives/Pressable.js.map +1 -0
  128. package/lib/module/primitives/SafeAreaView.js +33 -0
  129. package/lib/module/primitives/SafeAreaView.js.map +1 -0
  130. package/lib/module/primitives/ScrollView.js +21 -0
  131. package/lib/module/primitives/ScrollView.js.map +1 -0
  132. package/lib/module/primitives/StatusBar.js +19 -0
  133. package/lib/module/primitives/StatusBar.js.map +1 -0
  134. package/lib/module/primitives/Switch.js +23 -0
  135. package/lib/module/primitives/Switch.js.map +1 -0
  136. package/lib/module/primitives/Text.js +32 -0
  137. package/lib/module/primitives/Text.js.map +1 -0
  138. package/lib/module/primitives/TextInput.js +26 -0
  139. package/lib/module/primitives/TextInput.js.map +1 -0
  140. package/lib/module/primitives/View.js +19 -0
  141. package/lib/module/primitives/View.js.map +1 -0
  142. package/lib/module/primitives/index.js +16 -0
  143. package/lib/module/primitives/index.js.map +1 -0
  144. package/lib/module/registry/ComponentRegistry.js +66 -0
  145. package/lib/module/registry/ComponentRegistry.js.map +1 -0
  146. package/lib/module/registry.js +88 -0
  147. package/lib/module/registry.js.map +1 -0
  148. package/lib/module/renderer/RecursiveRenderer.js +197 -0
  149. package/lib/module/renderer/RecursiveRenderer.js.map +1 -0
  150. package/lib/module/renderer/bindingResolver.js +92 -0
  151. package/lib/module/renderer/bindingResolver.js.map +1 -0
  152. package/lib/module/renderer/conditionalEvaluator.js +28 -0
  153. package/lib/module/renderer/conditionalEvaluator.js.map +1 -0
  154. package/lib/module/renderer.js +103 -0
  155. package/lib/module/renderer.js.map +1 -0
  156. package/lib/module/schema.js +74 -0
  157. package/lib/module/schema.js.map +1 -0
  158. package/lib/module/transformer/index.js +1051 -0
  159. package/lib/module/transformer/index.js.map +1 -0
  160. package/lib/module/transport.js +82 -0
  161. package/lib/module/transport.js.map +1 -0
  162. package/lib/typescript/PushframeProvider.d.ts +58 -0
  163. package/lib/typescript/PushframeProvider.d.ts.map +1 -0
  164. package/lib/typescript/PushframeScreen.d.ts +36 -0
  165. package/lib/typescript/PushframeScreen.d.ts.map +1 -0
  166. package/lib/typescript/bindings.d.ts +29 -0
  167. package/lib/typescript/bindings.d.ts.map +1 -0
  168. package/lib/typescript/components/ButtonComponent.d.ts +11 -0
  169. package/lib/typescript/components/ButtonComponent.d.ts.map +1 -0
  170. package/lib/typescript/components/FlatListComponent.d.ts +28 -0
  171. package/lib/typescript/components/FlatListComponent.d.ts.map +1 -0
  172. package/lib/typescript/components/ImageComponent.d.ts +12 -0
  173. package/lib/typescript/components/ImageComponent.d.ts.map +1 -0
  174. package/lib/typescript/components/PushFrameComponent.d.ts +48 -0
  175. package/lib/typescript/components/PushFrameComponent.d.ts.map +1 -0
  176. package/lib/typescript/components/PushFrameProvider.d.ts +51 -0
  177. package/lib/typescript/components/PushFrameProvider.d.ts.map +1 -0
  178. package/lib/typescript/components/PushFrameScreen.d.ts +15 -0
  179. package/lib/typescript/components/PushFrameScreen.d.ts.map +1 -0
  180. package/lib/typescript/components/ScrollViewComponent.d.ts +19 -0
  181. package/lib/typescript/components/ScrollViewComponent.d.ts.map +1 -0
  182. package/lib/typescript/components/StackComponent.d.ts +16 -0
  183. package/lib/typescript/components/StackComponent.d.ts.map +1 -0
  184. package/lib/typescript/components/TextComponent.d.ts +13 -0
  185. package/lib/typescript/components/TextComponent.d.ts.map +1 -0
  186. package/lib/typescript/conditions.d.ts +12 -0
  187. package/lib/typescript/conditions.d.ts.map +1 -0
  188. package/lib/typescript/context/PushFrameContext.d.ts +57 -0
  189. package/lib/typescript/context/PushFrameContext.d.ts.map +1 -0
  190. package/lib/typescript/index.d.ts +74 -0
  191. package/lib/typescript/index.d.ts.map +1 -0
  192. package/lib/typescript/overlays/BottomSheetHost.d.ts +21 -0
  193. package/lib/typescript/overlays/BottomSheetHost.d.ts.map +1 -0
  194. package/lib/typescript/overlays/ToastHost.d.ts +12 -0
  195. package/lib/typescript/overlays/ToastHost.d.ts.map +1 -0
  196. package/lib/typescript/primitives/ActivityIndicator.d.ts +12 -0
  197. package/lib/typescript/primitives/ActivityIndicator.d.ts.map +1 -0
  198. package/lib/typescript/primitives/FlatList.d.ts +29 -0
  199. package/lib/typescript/primitives/FlatList.d.ts.map +1 -0
  200. package/lib/typescript/primitives/Image.d.ts +20 -0
  201. package/lib/typescript/primitives/Image.d.ts.map +1 -0
  202. package/lib/typescript/primitives/KeyboardAvoidingView.d.ts +12 -0
  203. package/lib/typescript/primitives/KeyboardAvoidingView.d.ts.map +1 -0
  204. package/lib/typescript/primitives/Modal.d.ts +12 -0
  205. package/lib/typescript/primitives/Modal.d.ts.map +1 -0
  206. package/lib/typescript/primitives/Pressable.d.ts +14 -0
  207. package/lib/typescript/primitives/Pressable.d.ts.map +1 -0
  208. package/lib/typescript/primitives/SafeAreaView.d.ts +20 -0
  209. package/lib/typescript/primitives/SafeAreaView.d.ts.map +1 -0
  210. package/lib/typescript/primitives/ScrollView.d.ts +15 -0
  211. package/lib/typescript/primitives/ScrollView.d.ts.map +1 -0
  212. package/lib/typescript/primitives/StatusBar.d.ts +12 -0
  213. package/lib/typescript/primitives/StatusBar.d.ts.map +1 -0
  214. package/lib/typescript/primitives/Switch.d.ts +19 -0
  215. package/lib/typescript/primitives/Switch.d.ts.map +1 -0
  216. package/lib/typescript/primitives/Text.d.ts +25 -0
  217. package/lib/typescript/primitives/Text.d.ts.map +1 -0
  218. package/lib/typescript/primitives/TextInput.d.ts +25 -0
  219. package/lib/typescript/primitives/TextInput.d.ts.map +1 -0
  220. package/lib/typescript/primitives/View.d.ts +12 -0
  221. package/lib/typescript/primitives/View.d.ts.map +1 -0
  222. package/lib/typescript/primitives/index.d.ts +27 -0
  223. package/lib/typescript/primitives/index.d.ts.map +1 -0
  224. package/lib/typescript/registry/ComponentRegistry.d.ts +21 -0
  225. package/lib/typescript/registry/ComponentRegistry.d.ts.map +1 -0
  226. package/lib/typescript/registry.d.ts +57 -0
  227. package/lib/typescript/registry.d.ts.map +1 -0
  228. package/lib/typescript/renderer/RecursiveRenderer.d.ts +32 -0
  229. package/lib/typescript/renderer/RecursiveRenderer.d.ts.map +1 -0
  230. package/lib/typescript/renderer/bindingResolver.d.ts +26 -0
  231. package/lib/typescript/renderer/bindingResolver.d.ts.map +1 -0
  232. package/lib/typescript/renderer/conditionalEvaluator.d.ts +15 -0
  233. package/lib/typescript/renderer/conditionalEvaluator.d.ts.map +1 -0
  234. package/lib/typescript/renderer.d.ts +29 -0
  235. package/lib/typescript/renderer.d.ts.map +1 -0
  236. package/lib/typescript/schema.d.ts +84 -0
  237. package/lib/typescript/schema.d.ts.map +1 -0
  238. package/lib/typescript/transformer/index.d.ts +49 -0
  239. package/lib/typescript/transformer/index.d.ts.map +1 -0
  240. package/lib/typescript/transport.d.ts +19 -0
  241. package/lib/typescript/transport.d.ts.map +1 -0
  242. package/package.json +20 -18
  243. package/src/PushframeProvider.tsx +119 -0
  244. package/src/PushframeScreen.tsx +107 -0
  245. package/src/bindings.ts +72 -0
  246. package/src/components/ButtonComponent.tsx +87 -0
  247. package/src/components/FlatListComponent.tsx +86 -0
  248. package/src/components/ImageComponent.tsx +70 -0
  249. package/src/components/PushFrameComponent.tsx +221 -0
  250. package/src/components/PushFrameProvider.tsx +177 -0
  251. package/src/components/PushFrameScreen.tsx +30 -0
  252. package/src/components/ScrollViewComponent.tsx +65 -0
  253. package/src/components/StackComponent.tsx +69 -0
  254. package/src/components/TextComponent.tsx +60 -0
  255. package/src/conditions.ts +46 -0
  256. package/src/context/PushFrameContext.ts +89 -0
  257. package/src/index.ts +119 -0
  258. package/src/overlays/BottomSheetHost.tsx +175 -0
  259. package/src/overlays/ToastHost.tsx +147 -0
  260. package/src/primitives/ActivityIndicator.tsx +21 -0
  261. package/src/primitives/FlatList.tsx +49 -0
  262. package/src/primitives/Image.tsx +26 -0
  263. package/src/primitives/KeyboardAvoidingView.tsx +21 -0
  264. package/src/primitives/Modal.tsx +17 -0
  265. package/src/primitives/Pressable.tsx +19 -0
  266. package/src/primitives/SafeAreaView.tsx +42 -0
  267. package/src/primitives/ScrollView.tsx +21 -0
  268. package/src/primitives/StatusBar.tsx +17 -0
  269. package/src/primitives/Switch.tsx +24 -0
  270. package/src/primitives/Text.tsx +43 -0
  271. package/src/primitives/TextInput.tsx +42 -0
  272. package/src/primitives/View.tsx +17 -0
  273. package/src/primitives/index.ts +38 -0
  274. package/src/registry/ComponentRegistry.ts +99 -0
  275. package/src/registry.ts +99 -0
  276. package/src/renderer/RecursiveRenderer.tsx +242 -0
  277. package/src/renderer/bindingResolver.ts +94 -0
  278. package/src/renderer/conditionalEvaluator.ts +29 -0
  279. package/src/renderer.tsx +124 -0
  280. package/src/schema.ts +132 -0
  281. package/src/transformer/index.ts +1016 -0
  282. package/src/transport.ts +104 -0
  283. package/dist/index.d.mts +0 -534
  284. package/dist/index.d.ts +0 -534
  285. package/dist/index.js +0 -1572
  286. package/dist/index.js.map +0 -1
  287. package/dist/index.mjs +0 -1541
  288. package/dist/index.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BRIDGE_KEYS","Set","ALIGN_MAP","start","center","end","stretch","baseline","DISTRIBUTE_MAP","FIT_TO_RESIZE_MODE","cover","contain","fill","FONT_WEIGHT_MAP","regular","medium","semibold","bold","TEXT_STYLE_PRESETS","fontSize","fontWeight","textTransform","letterSpacing","INPUT_TYPE_MAP","text","keyboardType","secureTextEntry","autoCapitalize","autoCorrect","email","password","number","decimal","phone","url","search","stripBridgeKeys","props","out","k","has","extractMeta","raw","actions","_schemaActions","condition","_schemaIf","resolveSizeModeRN","value","axis","parentDirection","undefined","isMainAxis","flex","alignSelf","resolvePaddingRN","padding","top","right","bottom","left","paddingVertical","paddingHorizontal","paddingTop","paddingRight","paddingBottom","paddingLeft","resolveRadiusRN","radius","borderRadius","tl","borderTopLeftRadius","tr","borderTopRightRadius","br","borderBottomRightRadius","bl","borderBottomLeftRadius","resolveBorderRN","border","style","borderStyle","color","borderColor","widths","w","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","width","borderWidth","resolveShadowRN","shadow","shadowColor","shadowOffset","offsetX","height","offsetY","shadowRadius","blur","shadowOpacity","opacity","elevation","Math","round","resolveTransformRN","transforms","rotate","push","scale","translateX","translateY","length","transform","resolvePositionRN","position","zIndex","resolveAccessibilityProps","accessible","accessibilityLabel","accessibilityRole","testID","buildFrameStyle","frameType","type","align","alignItems","flexDirection","direction","distribute","justifyContent","gap","wrap","flexWrap","minWidth","maxWidth","minHeight","maxHeight","aspectRatio","Object","assign","backgroundColor","overflow","splitFrameStyle","OUTER_KEYS","outer","inner","v","entries","splitScrollStyle","CONTENT_KEYS","containerStyle","contentStyle","safeAreaEdges","safeArea","filter","map","edge","transformScreen","id","children","edges","hasSafeArea","vis","visible","content","scrollable","paddingStyle","scrollNode","keys","contentContainerStyle","showsVerticalScrollIndicator","showsHorizontalScrollIndicator","statusBar","statusBarStyle","node","if","transformFrame","p","isGrid","isScrollable","isPressable","pressable","access","fullStyle","sizingStyle","appearanceStyle","scrollOuter","scrollContent","finalize","gridStyle","columnGap","rowGap","gridView","numColumns","columns","horizontal","showScrollIndicator","innerNode","transformText","textStyle","preset","lineHeight","fontFamily","fontStyle","textAlign","decoration","textDecorationLine","textProps","truncate","numberOfLines","ellipsizeMode","adjustFontSize","adjustsFontSizeToFit","minFontSize","minimumFontScale","selectable","transformImage","imageProps","src","source","uri","placeholder","defaultSource","fallback","resizeMode","fit","background","decorative","accessibilityElementsHidden","alt","transformInput","inputTypeDefaults","inputType","label","helperText","errorText","returnKeyType","returnKey","multiline","minLines","maxLines","maxNumberOfLines","variant","size","leadingIcon","trailingIcon","transformList","listType","itemTemplate","flatlistNode","data","keyExtractor","savNode","transformIcon","name","set","buildNodeFromSchema","nodeId","schema","customComponents","visited","parentId","Error","add","resolvedName","outputId","childNodes","nodes","childId","resolveCustomComponent","componentId","componentKey","propValues","frameProps","key","def","wrapperStyle","componentVisited","componentRoot","rootNodeId","_propValues","wrapper","transformCraftToSDUI","craftJson"],"sourceRoot":"../../../src","sources":["transformer/index.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;;AAWA;;AA6BA;AACA;AACA;AACA;;AAaA;;AAEA,MAAMA,WAAW,GAAG,IAAIC,GAAG,CAAC,CACxB,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,mBAAmB,CACjF,CAAC;AAEF,MAAMC,SAAiC,GAAG;EACtCC,KAAK,EAAK,YAAY;EACtBC,MAAM,EAAI,QAAQ;EAClBC,GAAG,EAAO,UAAU;EACpBC,OAAO,EAAG,SAAS;EACnBC,QAAQ,EAAE;AACd,CAAC;AAED,MAAMC,cAAsC,GAAG;EAC3CL,KAAK,EAAY,YAAY;EAC7BC,MAAM,EAAW,QAAQ;EACzBC,GAAG,EAAc,UAAU;EAC3B,eAAe,EAAE,eAAe;EAChC,cAAc,EAAG,cAAc;EAC/B,cAAc,EAAG;AACrB,CAAC;AAED,MAAMI,kBAA0C,GAAG;EAC/CC,KAAK,EAAI,OAAO;EAChBC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAK,SAAS;EAAE;EACpBR,MAAM,EAAG;AACb,CAAC;AAED,MAAMS,eAAuC,GAAG;EAC5CC,OAAO,EAAG,KAAK;EACfC,MAAM,EAAI,KAAK;EACfC,QAAQ,EAAE,KAAK;EACfC,IAAI,EAAM;AACd,CAAC;AAED,MAAMC,kBAMJ,GAAG;EACD,WAAW,EAAE;IAAEC,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAM,CAAC;EAChD,WAAW,EAAE;IAAED,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAM,CAAC;EAChD,WAAW,EAAE;IAAED,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAM,CAAC;EAChD,MAAM,EAAO;IAAED,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAM,CAAC;EAChD,SAAS,EAAI;IAAED,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAM,CAAC;EAChD,SAAS,EAAI;IAAED,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAM,CAAC;EAChD,OAAO,EAAM;IAAED,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAM,CAAC;EAChD,UAAU,EAAG;IAAED,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE,KAAK;IAAEC,aAAa,EAAE,WAAW;IAAEC,aAAa,EAAE;EAAI;AACnG,CAAC;;AAED;AACA,MAAMC,cAKJ,GAAG;EACDC,IAAI,EAAM;IAAEC,YAAY,EAAE,SAAS;IAAQC,eAAe,EAAE,KAAK;IAAEC,cAAc,EAAE,WAAW;IAAEC,WAAW,EAAE;EAAM,CAAC;EACpHC,KAAK,EAAK;IAAEJ,YAAY,EAAE,eAAe;IAAEC,eAAe,EAAE,KAAK;IAAEC,cAAc,EAAE,MAAM;IAAOC,WAAW,EAAE;EAAM,CAAC;EACpHE,QAAQ,EAAE;IAAEL,YAAY,EAAE,SAAS;IAAQC,eAAe,EAAE,IAAI;IAAGC,cAAc,EAAE,MAAM;IAAOC,WAAW,EAAE;EAAM,CAAC;EACpHG,MAAM,EAAI;IAAEN,YAAY,EAAE,SAAS;IAAQC,eAAe,EAAE,KAAK;IAAEC,cAAc,EAAE,MAAM;IAAOC,WAAW,EAAE;EAAM,CAAC;EACpHI,OAAO,EAAG;IAAEP,YAAY,EAAE,aAAa;IAAIC,eAAe,EAAE,KAAK;IAAEC,cAAc,EAAE,MAAM;IAAOC,WAAW,EAAE;EAAM,CAAC;EACpHK,KAAK,EAAK;IAAER,YAAY,EAAE,WAAW;IAAMC,eAAe,EAAE,KAAK;IAAEC,cAAc,EAAE,MAAM;IAAOC,WAAW,EAAE;EAAM,CAAC;EACpHM,GAAG,EAAO;IAAET,YAAY,EAAE,KAAK;IAAYC,eAAe,EAAE,KAAK;IAAEC,cAAc,EAAE,MAAM;IAAOC,WAAW,EAAE;EAAM,CAAC;EACpHO,MAAM,EAAI;IAAEV,YAAY,EAAE,SAAS;IAAQC,eAAe,EAAE,KAAK;IAAEC,cAAc,EAAE,MAAM;IAAOC,WAAW,EAAE;EAAM;AACvH,CAAC;;AAED;;AAEA,SAASQ,eAAeA,CAACC,KAA8B,EAA2B;EAC9E,MAAMC,GAA4B,GAAG,CAAC,CAAC;EACvC,KAAK,MAAMC,CAAC,IAAIF,KAAK,EAAE;IACnB,IAAI,CAACrC,WAAW,CAACwC,GAAG,CAACD,CAAC,CAAC,EAAED,GAAG,CAACC,CAAC,CAAC,GAAGF,KAAK,CAACE,CAAC,CAAC;EAC9C;EACA,OAAOD,GAAG;AACd;AAEA,SAASG,WAAWA,CAACC,GAA4B,EAG/C;EACE,OAAO;IACHC,OAAO,EAAID,GAAG,CAACE,cAAsC;IACrDC,SAAS,EAAEH,GAAG,CAACI;EACnB,CAAC;AACL;;AAEA;;AAEA,SAASC,iBAAiBA,CACtBC,KAAgC,EAChCC,IAAwB,EACxBX,GAA4B,EAC5BY,eAA0C,EACtC;EACJ,IAAIF,KAAK,KAAKG,SAAS,EAAE;EACzB,IAAIH,KAAK,KAAK,MAAM,EAAE;IAClB,MAAMI,UAAU,GACXF,eAAe,KAAK,UAAU,IAAMD,IAAI,KAAK,QAAQ,IACrDC,eAAe,KAAK,YAAY,IAAID,IAAI,KAAK,OAAQ;IAC1D,IAAIG,UAAU,EAAE;MACZd,GAAG,CAACe,IAAI,GAAG,CAAC;IAChB,CAAC,MAAM;MACHf,GAAG,CAACgB,SAAS,GAAG,SAAS;IAC7B;EACJ,CAAC,MAAM,IAAIN,KAAK,KAAK,KAAK,EAAE;IACxBV,GAAG,CAACgB,SAAS,GAAG,YAAY;EAChC,CAAC,MAAM;IACHhB,GAAG,CAACW,IAAI,CAAC,GAAGD,KAAK;EACrB;AACJ;AAEA,SAASO,gBAAgBA,CAACC,OAAiC,EAA2B;EAClF,IAAIA,OAAO,KAAKL,SAAS,EAAE,OAAO,CAAC,CAAC;EACpC,IAAI,OAAOK,OAAO,KAAK,QAAQ,EAAE,OAAO;IAAEA;EAAQ,CAAC;EACnD,MAAM;IAAEC,GAAG;IAAEC,KAAK;IAAEC,MAAM;IAAEC;EAAK,CAAC,GAAGJ,OAAO;EAC5C,IAAIC,GAAG,KAAKE,MAAM,IAAIC,IAAI,KAAKF,KAAK,IAAID,GAAG,KAAKN,SAAS,IAAIS,IAAI,KAAKT,SAAS,EAAE;IAC7E,OAAO;MAAEU,eAAe,EAAEJ,GAAG;MAAEK,iBAAiB,EAAEF;IAAK,CAAC;EAC5D;EACA,OAAO;IACH,IAAIH,GAAG,KAAQN,SAAS,GAAG;MAAEY,UAAU,EAAKN;IAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,IAAIC,KAAK,KAAMP,SAAS,GAAG;MAAEa,YAAY,EAAGN;IAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,IAAIC,MAAM,KAAKR,SAAS,GAAG;MAAEc,aAAa,EAAEN;IAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,IAAIC,IAAI,KAAOT,SAAS,GAAG;MAAEe,WAAW,EAAIN;IAAO,CAAC,GAAG,CAAC,CAAC;EAC7D,CAAC;AACL;AAEA,SAASO,eAAeA,CAACC,MAA+B,EAA2B;EAC/E,IAAIA,MAAM,KAAKjB,SAAS,EAAE,OAAO,CAAC,CAAC;EACnC,IAAI,OAAOiB,MAAM,KAAK,QAAQ,EAAE,OAAO;IAAEC,YAAY,EAAED;EAAO,CAAC;EAC/D,OAAO;IACH,IAAIA,MAAM,CAACE,EAAE,KAAKnB,SAAS,GAAG;MAAEoB,mBAAmB,EAAMH,MAAM,CAACE;IAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,IAAIF,MAAM,CAACI,EAAE,KAAKrB,SAAS,GAAG;MAAEsB,oBAAoB,EAAKL,MAAM,CAACI;IAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,IAAIJ,MAAM,CAACM,EAAE,KAAKvB,SAAS,GAAG;MAAEwB,uBAAuB,EAAEP,MAAM,CAACM;IAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,IAAIN,MAAM,CAACQ,EAAE,KAAKzB,SAAS,GAAG;MAAE0B,sBAAsB,EAAGT,MAAM,CAACQ;IAAG,CAAC,GAAG,CAAC,CAAC;EAC7E,CAAC;AACL;AAEA,SAASE,eAAeA,CAACC,MAA+B,EAA2B;EAC/E,IAAI,CAACA,MAAM,EAAE,OAAO,CAAC,CAAC;EACtB,MAAMzC,GAA4B,GAAG,CAAC,CAAC;EACvC,IAAIyC,MAAM,CAACC,KAAK,EAAE1C,GAAG,CAAC2C,WAAW,GAAGF,MAAM,CAACC,KAAK;EAChD,IAAID,MAAM,CAACG,KAAK,EAAE5C,GAAG,CAAC6C,WAAW,GAAGJ,MAAM,CAACG,KAAK;EAChD,IAAIH,MAAM,CAACK,MAAM,EAAE;IACf,MAAMC,CAAC,GAAGN,MAAM,CAACK,MAAM;IACvB,IAAIC,CAAC,CAAC5B,GAAG,KAAQN,SAAS,EAAEb,GAAG,CAACgD,cAAc,GAAMD,CAAC,CAAC5B,GAAG;IACzD,IAAI4B,CAAC,CAAC3B,KAAK,KAAMP,SAAS,EAAEb,GAAG,CAACiD,gBAAgB,GAAIF,CAAC,CAAC3B,KAAK;IAC3D,IAAI2B,CAAC,CAAC1B,MAAM,KAAKR,SAAS,EAAEb,GAAG,CAACkD,iBAAiB,GAAGH,CAAC,CAAC1B,MAAM;IAC5D,IAAI0B,CAAC,CAACzB,IAAI,KAAOT,SAAS,EAAEb,GAAG,CAACmD,eAAe,GAAKJ,CAAC,CAACzB,IAAI;EAC9D,CAAC,MAAM,IAAImB,MAAM,CAACW,KAAK,KAAKvC,SAAS,EAAE;IACnCb,GAAG,CAACqD,WAAW,GAAGZ,MAAM,CAACW,KAAK;EAClC;EACA,OAAOpD,GAAG;AACd;AAEA,SAASsD,eAAeA,CAACC,MAA+B,EAA2B;EAC/E,IAAI,CAACA,MAAM,EAAE,OAAO,CAAC,CAAC;EACtB,OAAO;IACHC,WAAW,EAAID,MAAM,CAACX,KAAK;IAC3Ba,YAAY,EAAG;MAAEL,KAAK,EAAEG,MAAM,CAACG,OAAO;MAAEC,MAAM,EAAEJ,MAAM,CAACK;IAAQ,CAAC;IAChEC,YAAY,EAAGN,MAAM,CAACO,IAAI;IAC1BC,aAAa,EAAER,MAAM,CAACS,OAAO;IAC7BC,SAAS,EAAMC,IAAI,CAACC,KAAK,CAACZ,MAAM,CAACO,IAAI,GAAG,CAAC;EAC7C,CAAC;AACL;AAEA,SAASM,kBAAkBA,CAACrE,KAK3B,EAA2B;EACxB,MAAMsE,UAAqC,GAAG,EAAE;EAChD,IAAItE,KAAK,CAACuE,MAAM,KAASzD,SAAS,IAAId,KAAK,CAACuE,MAAM,KAAS,CAAC,EAAED,UAAU,CAACE,IAAI,CAAC;IAAED,MAAM,EAAE,GAAGvE,KAAK,CAACuE,MAAM;EAAM,CAAC,CAAC;EAC/G,IAAIvE,KAAK,CAACyE,KAAK,KAAU3D,SAAS,IAAId,KAAK,CAACyE,KAAK,KAAU,CAAC,EAAEH,UAAU,CAACE,IAAI,CAAC;IAAEC,KAAK,EAAEzE,KAAK,CAACyE;EAAM,CAAC,CAAC;EACrG,IAAIzE,KAAK,CAAC0E,UAAU,KAAK5D,SAAS,IAAId,KAAK,CAAC0E,UAAU,KAAK,CAAC,EAAEJ,UAAU,CAACE,IAAI,CAAC;IAAEE,UAAU,EAAE1E,KAAK,CAAC0E;EAAW,CAAC,CAAC;EAC/G,IAAI1E,KAAK,CAAC2E,UAAU,KAAK7D,SAAS,IAAId,KAAK,CAAC2E,UAAU,KAAK,CAAC,EAAEL,UAAU,CAACE,IAAI,CAAC;IAAEG,UAAU,EAAE3E,KAAK,CAAC2E;EAAW,CAAC,CAAC;EAC/G,OAAOL,UAAU,CAACM,MAAM,GAAG;IAAEC,SAAS,EAAEP;EAAW,CAAC,GAAG,CAAC,CAAC;AAC7D;AAEA,SAASQ,iBAAiBA,CAAC9E,KAA8B,EAA2B;EAChF,MAAMC,GAA4B,GAAG,CAAC,CAAC;EACvC,IAAID,KAAK,CAAC+E,QAAQ,EAAE9E,GAAG,CAAC8E,QAAQ,GAAG/E,KAAK,CAAC+E,QAAQ;EACjD,IAAI/E,KAAK,CAAC+E,QAAQ,KAAK,UAAU,EAAE;IAC/B,IAAI/E,KAAK,CAACoB,GAAG,KAAQN,SAAS,EAAEb,GAAG,CAACmB,GAAG,GAAMpB,KAAK,CAACoB,GAAG;IACtD,IAAIpB,KAAK,CAACqB,KAAK,KAAMP,SAAS,EAAEb,GAAG,CAACoB,KAAK,GAAIrB,KAAK,CAACqB,KAAK;IACxD,IAAIrB,KAAK,CAACsB,MAAM,KAAKR,SAAS,EAAEb,GAAG,CAACqB,MAAM,GAAGtB,KAAK,CAACsB,MAAM;IACzD,IAAItB,KAAK,CAACuB,IAAI,KAAOT,SAAS,EAAEb,GAAG,CAACsB,IAAI,GAAKvB,KAAK,CAACuB,IAAI;EAC3D;EACA,IAAIvB,KAAK,CAACgF,MAAM,KAAKlE,SAAS,EAAEb,GAAG,CAAC+E,MAAM,GAAGhF,KAAK,CAACgF,MAAM;EACzD,OAAO/E,GAAG;AACd;AAEA,SAASgF,yBAAyBA,CAACjF,KAA8B,EAA2B;EACxF,MAAMC,GAA4B,GAAG,CAAC,CAAC;EACvC,IAAID,KAAK,CAACkF,UAAU,KAAUpE,SAAS,EAAEb,GAAG,CAACiF,UAAU,GAAYlF,KAAK,CAACkF,UAAU;EACnF,IAAIlF,KAAK,CAACmF,kBAAkB,EAAalF,GAAG,CAACkF,kBAAkB,GAAInF,KAAK,CAACmF,kBAAkB;EAC3F,IAAInF,KAAK,CAACoF,iBAAiB,EAAcnF,GAAG,CAACmF,iBAAiB,GAAKpF,KAAK,CAACoF,iBAAiB;EAC1F,IAAIpF,KAAK,CAACqF,MAAM,EAAyBpF,GAAG,CAACoF,MAAM,GAAgBrF,KAAK,CAACqF,MAAM;EAC/E,OAAOpF,GAAG;AACd;;AAEA;;AAEA,SAASqF,eAAeA,CACpBtF,KAA8B,EAC9Ba,eAA0C,EACnB;EACvB,MAAM8B,KAA8B,GAAG,CAAC,CAAC;EACzC,MAAM4C,SAAS,GAAIvF,KAAK,CAACwF,IAAI,IAA2B,OAAO;EAE/D,IAAID,SAAS,KAAK,MAAM,EAAE;IACtB,IAAIvF,KAAK,CAACyF,KAAK,EAAE9C,KAAK,CAAC+C,UAAU,GAAG7H,SAAS,CAACmC,KAAK,CAACyF,KAAK,CAAW,IAAIzF,KAAK,CAACyF,KAAK;EACvF,CAAC,MAAM;IACH9C,KAAK,CAACgD,aAAa,GAAG3F,KAAK,CAAC4F,SAAS,KAAK,YAAY,GAAG,KAAK,GAAG,QAAQ;IACzE,IAAI5F,KAAK,CAACyF,KAAK,EAAO9C,KAAK,CAAC+C,UAAU,GAAO7H,SAAS,CAACmC,KAAK,CAACyF,KAAK,CAAW,IAAUzF,KAAK,CAACyF,KAAK;IAClG,IAAIzF,KAAK,CAAC6F,UAAU,EAAElD,KAAK,CAACmD,cAAc,GAAG3H,cAAc,CAAC6B,KAAK,CAAC6F,UAAU,CAAW,IAAI7F,KAAK,CAAC6F,UAAU;IAC3G,IAAI7F,KAAK,CAAC+F,GAAG,KAAKjF,SAAS,IAAId,KAAK,CAAC+F,GAAG,KAAK,CAAC,EAAEpD,KAAK,CAACoD,GAAG,GAAG/F,KAAK,CAAC+F,GAAG;IACrE,IAAI/F,KAAK,CAACgG,IAAI,KAAK,KAAK,EAAErD,KAAK,CAACsD,QAAQ,GAAG,MAAM;EACrD;EAEAvF,iBAAiB,CAACV,KAAK,CAACqD,KAAK,EAAgC,OAAO,EAAGV,KAAK,EAAE9B,eAAe,CAAC;EAC9FH,iBAAiB,CAACV,KAAK,CAAC4D,MAAM,EAA+B,QAAQ,EAAEjB,KAAK,EAAE9B,eAAe,CAAC;EAC9F,IAAIb,KAAK,CAACkG,QAAQ,KAAOpF,SAAS,EAAE6B,KAAK,CAACuD,QAAQ,GAAKlG,KAAK,CAACkG,QAAQ;EACrE,IAAIlG,KAAK,CAACmG,QAAQ,KAAOrF,SAAS,EAAE6B,KAAK,CAACwD,QAAQ,GAAKnG,KAAK,CAACmG,QAAQ;EACrE,IAAInG,KAAK,CAACoG,SAAS,KAAMtF,SAAS,EAAE6B,KAAK,CAACyD,SAAS,GAAIpG,KAAK,CAACoG,SAAS;EACtE,IAAIpG,KAAK,CAACqG,SAAS,KAAMvF,SAAS,EAAE6B,KAAK,CAAC0D,SAAS,GAAIrG,KAAK,CAACqG,SAAS;EACtE,IAAIrG,KAAK,CAACsG,WAAW,KAAKxF,SAAS,EAAE6B,KAAK,CAAC2D,WAAW,GAAGtG,KAAK,CAACsG,WAAW;EAE1EC,MAAM,CAACC,MAAM,CAAC7D,KAAK,EAAEzB,gBAAgB,CAAClB,KAAK,CAACmB,OAAmC,CAAC,CAAC;EAEjF,IAAInB,KAAK,CAACzB,IAAI,IAAIyB,KAAK,CAACzB,IAAI,KAAK,aAAa,EAAEoE,KAAK,CAAC8D,eAAe,GAAGzG,KAAK,CAACzB,IAAI;EAClFgI,MAAM,CAACC,MAAM,CAAC7D,KAAK,EAAEb,eAAe,CAAC9B,KAAK,CAAC+B,MAAiC,CAAC,CAAC;EAC9EwE,MAAM,CAACC,MAAM,CAAC7D,KAAK,EAAEF,eAAe,CAACzC,KAAK,CAAC0C,MAAiC,CAAC,CAAC;EAC9E6D,MAAM,CAACC,MAAM,CAAC7D,KAAK,EAAEY,eAAe,CAACvD,KAAK,CAACwD,MAAiC,CAAC,CAAC;EAC9E,IAAIxD,KAAK,CAACiE,OAAO,KAAMnD,SAAS,EAAE6B,KAAK,CAACsB,OAAO,GAAKjE,KAAK,CAACiE,OAAO,GAAc,GAAG;EAClF,IAAIjE,KAAK,CAAC0G,QAAQ,KAAK,IAAI,EAAO/D,KAAK,CAAC+D,QAAQ,GAAG,QAAQ;EAE3DH,MAAM,CAACC,MAAM,CAAC7D,KAAK,EAAEmC,iBAAiB,CAAC9E,KAAK,CAAC,CAAC;EAC9CuG,MAAM,CAACC,MAAM,CAAC7D,KAAK,EAAE0B,kBAAkB,CAACrE,KAAiD,CAAC,CAAC;EAE3F,OAAO2C,KAAK;AAChB;AAEA,SAASgE,eAAeA,CAAChE,KAA8B,EAGrD;EACE,MAAMiE,UAAU,GAAG,IAAIhJ,GAAG,CAAC,CACvB,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EACtC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAC/D,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EACtD,WAAW,CACd,CAAC;EACF,MAAMiJ,KAA8B,GAAG,CAAC,CAAC;EACzC,MAAMC,KAA8B,GAAG,CAAC,CAAC;EACzC,KAAK,MAAM,CAAC5G,CAAC,EAAE6G,CAAC,CAAC,IAAIR,MAAM,CAACS,OAAO,CAACrE,KAAK,CAAC,EAAE;IACxC,IAAIiE,UAAU,CAACzG,GAAG,CAACD,CAAC,CAAC,EAAE2G,KAAK,CAAC3G,CAAC,CAAC,GAAG6G,CAAC,CAAC,KACbD,KAAK,CAAC5G,CAAC,CAAC,GAAG6G,CAAC;EACvC;EACA,OAAO;IAAEF,KAAK;IAAEC;EAAM,CAAC;AAC3B;AAEA,SAASG,gBAAgBA,CAACtE,KAA8B,EAGtD;EACE,MAAMuE,YAAY,GAAG,IAAItJ,GAAG,CAAC,CACzB,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAClE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EACvE,iBAAiB,EAAE,mBAAmB,CACzC,CAAC;EACF,MAAMuJ,cAAuC,GAAG,CAAC,CAAC;EAClD,MAAMC,YAAuC,GAAG,CAAC,CAAC;EAClD,KAAK,MAAM,CAAClH,CAAC,EAAE6G,CAAC,CAAC,IAAIR,MAAM,CAACS,OAAO,CAACrE,KAAK,CAAC,EAAE;IACxC,IAAIuE,YAAY,CAAC/G,GAAG,CAACD,CAAC,CAAC,EAAEkH,YAAY,CAAClH,CAAC,CAAC,GAAK6G,CAAC,CAAC,KACtBI,cAAc,CAACjH,CAAC,CAAC,GAAG6G,CAAC;EAClD;EACA,OAAO;IAAEI,cAAc;IAAEC;EAAa,CAAC;AAC3C;;AAEA;;AAEA,SAASC,aAAaA,CAACC,QAAmC,EAAY;EAClE,IAAI,CAACA,QAAQ,EAAE,OAAO,EAAE;EACxB,OAAQf,MAAM,CAACS,OAAO,CAACM,QAAQ,CAAC,CAC3BC,MAAM,CAAC,CAAC,GAAGR,CAAC,CAAC,KAAKA,CAAC,KAAK,IAAI,CAAC,CAC7BS,GAAG,CAAC,CAAC,CAACC,IAAI,CAAC,KAAKA,IAAI,CAAC;AAC9B;;AAEA;;AASA;;AAEA,SAASC,eAAeA,CACpBC,EAAU,EACVtH,GAA4B,EAC5BuH,QAAoB,EACZ;EACR,MAAM;IAAEtH,OAAO;IAAEE;EAAU,CAAC,GAAGJ,WAAW,CAACC,GAAG,CAAC;EAC/C,MAAML,KAAK,GAAGD,eAAe,CAACM,GAAG,CAAC;EAElC,MAAMwH,KAAK,GAAQR,aAAa,CAACrH,KAAK,CAACsH,QAAqC,CAAC;EAC7E,MAAMQ,WAAW,GAAGD,KAAK,CAACjD,MAAM,GAAG,CAAC;EACpC,MAAMmD,GAAG,GAAG/H,KAAK,CAACgI,OAAO,KAAKlH,SAAS,IAAId,KAAK,CAACgI,OAAO,KAAK,IAAI,GAAG;IAAEA,OAAO,EAAEhI,KAAK,CAACgI;EAAQ,CAAC,GAAG,CAAC,CAAC;EAEnG,MAAMrF,KAA8B,GAAG;IAAE3B,IAAI,EAAE;EAAE,CAAC;EAClD,IAAIhB,KAAK,CAACyG,eAAe,EAAE9D,KAAK,CAAC8D,eAAe,GAAGzG,KAAK,CAACyG,eAAe;EAExE,IAAIwB,OAAmB;EACvB,IAAIjI,KAAK,CAACkI,UAAU,EAAE;IAClB,MAAMC,YAAY,GAAGjH,gBAAgB,CAAClB,KAAK,CAACmB,OAAmC,CAAC;IAChF,MAAMiH,UAAoB,GAAG;MACzBT,EAAE,EAAE,GAAGA,EAAE,UAAU;MACnBnC,IAAI,EAAE,YAAY;MAClBxF,KAAK,EAAE;QACH2C,KAAK,EAAE;UAAE3B,IAAI,EAAE;QAAE,CAAC;QAClB,IAAIuF,MAAM,CAAC8B,IAAI,CAACF,YAAY,CAAC,CAACvD,MAAM,GAAG;UAAE0D,qBAAqB,EAAEH;QAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QACpFI,4BAA4B,EAAI,KAAK;QACrCC,8BAA8B,EAAE;MACpC,CAAC;MACDZ;IACJ,CAAC;IACDK,OAAO,GAAG,CAACG,UAAU,CAAC;EAC1B,CAAC,MAAM;IACH7B,MAAM,CAACC,MAAM,CAAC7D,KAAK,EAAEzB,gBAAgB,CAAClB,KAAK,CAACmB,OAAmC,CAAC,CAAC;IACjF8G,OAAO,GAAGL,QAAQ;EACtB;EAEA,MAAMa,SAAS,GAAGzI,KAAK,CAAC0I,cAAc,IAAI1I,KAAK,CAAC0I,cAAc,KAAK,MAAM,GACnE;IAAEA,cAAc,EAAE1I,KAAK,CAAC0I;EAAe,CAAC,GACxC,CAAC,CAAC;EAER,MAAMC,IAAc,GAAG;IACnBhB,EAAE;IACFnC,IAAI,EAAEsC,WAAW,GAAG,cAAc,GAAG,MAAM;IAC3C9H,KAAK,EAAE;MACH2C,KAAK;MACL,IAAImF,WAAW,GAAG;QAAED;MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;MACjC,GAAGY,SAAS;MACZ,GAAGV;IACP,CAAC;IACDH,QAAQ,EAAEK;EACd,CAAC;EAED,IAAIzH,SAAS,KAAKM,SAAS,EAAE6H,IAAI,CAACC,EAAE,GAAGpI,SAAS;EAChD,IAAIF,OAAO,EAAkBqI,IAAI,CAACrI,OAAO,GAAGA,OAAO;EACnD,OAAOqI,IAAI;AACf;AAEA,SAASE,cAAcA,CACnBlB,EAAU,EACVtH,GAA4B,EAC5BuH,QAAoB,EACpB/G,eAA0C,EAClC;EACR,MAAM;IAAEP,OAAO;IAAEE;EAAU,CAAC,GAAGJ,WAAW,CAACC,GAAG,CAAC;EAC/C,MAAMyI,CAAC,GAAG/I,eAAe,CAACM,GAAG,CAAC;EAE9B,MAAM0I,MAAM,GAAS,CAAED,CAAC,CAACtD,IAAI,IAA2B,OAAO,MAAM,MAAM;EAC3E,MAAMwD,YAAY,GAAGF,CAAC,CAACZ,UAAU,KAAK,IAAI;EAC1C,MAAMe,WAAW,GAAIH,CAAC,CAACI,SAAS,KAAM,IAAI;EAC1C,MAAMtD,SAAoC,GAAGkD,CAAC,CAAClD,SAAS,KAAK,YAAY,GAAG,YAAY,GAAG,UAAU;EACrG,MAAMiC,KAAK,GAAUR,aAAa,CAACyB,CAAC,CAACxB,QAAqC,CAAC;EAC3E,MAAMQ,WAAW,GAAID,KAAK,CAACjD,MAAM,GAAG,CAAC;EACrC,MAAMuE,MAAM,GAASlE,yBAAyB,CAAC6D,CAAC,CAAC;EACjD,MAAMf,GAAG,GAAYe,CAAC,CAACd,OAAO,KAAKlH,SAAS,IAAIgI,CAAC,CAACd,OAAO,KAAK,IAAI,GAAG;IAAEA,OAAO,EAAEc,CAAC,CAACd;EAAQ,CAAC,GAAG,CAAC,CAAC;EAEhG,MAAMoB,SAAS,GAAwC9D,eAAe,CAACwD,CAAC,EAAEjI,eAAe,CAAC;EAC1F,MAAM;IAAEgG,KAAK,EAAEwC,WAAW;IAAEvC,KAAK,EAAEwC;EAAgB,CAAC,GAAG3C,eAAe,CAACyC,SAAS,CAAC;EACjF,MAAM;IAAEjC,cAAc,EAAEoC,WAAW;IAAEnC,YAAY,EAAEoC;EAAc,CAAC,GAAGvC,gBAAgB,CAACmC,SAAS,CAAC;EAEhG,SAASK,QAAQA,CAACd,IAAc,EAAY;IACxC,IAAInI,SAAS,KAAKM,SAAS,EAAE6H,IAAI,CAACC,EAAE,GAAGpI,SAAS;IAChD,IAAIF,OAAO,IAAIqI,IAAI,CAACnD,IAAI,KAAK,WAAW,EAAEmD,IAAI,CAACrI,OAAO,GAAGA,OAAO,CAAC,KAC5D,IAAIA,OAAO,IAAI,CAAC2I,WAAW,EAAWN,IAAI,CAACrI,OAAO,GAAGA,OAAO;IACjE,OAAOqI,IAAI;EACf;;EAEA;EACA,IAAII,MAAM,EAAE;IACR,MAAMW,SAAkC,GAAG;MAAE,GAAGN,SAAS;MAAEzD,aAAa,EAAE,KAAK;MAAEM,QAAQ,EAAE;IAAO,CAAC;IACnG,OAAOyD,SAAS,CAAC3D,GAAG;IACpB,IAAI+C,CAAC,CAACa,SAAS,KAAK7I,SAAS,EAAE4I,SAAS,CAACC,SAAS,GAAGb,CAAC,CAACa,SAAS;IAChE,IAAIb,CAAC,CAACc,MAAM,KAAQ9I,SAAS,EAAE4I,SAAS,CAACE,MAAM,GAAMd,CAAC,CAACc,MAAM;IAE7D,MAAMC,QAAkB,GAAG;MACvBlC,EAAE,EAAEG,WAAW,IAAImB,WAAW,GAAG,GAAGtB,EAAE,QAAQ,GAAGA,EAAE;MACnDnC,IAAI,EAAE,MAAM;MACZxF,KAAK,EAAE;QACH,IAAIuG,MAAM,CAAC8B,IAAI,CAACqB,SAAS,CAAC,CAAC9E,MAAM,GAAG;UAAEjC,KAAK,EAAE+G;QAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9DI,UAAU,EAAGhB,CAAC,CAACiB,OAAO,IAA2B,CAAC;QAClD,GAAGZ,MAAM;QACT,IAAIrB,WAAW,IAAImB,WAAW,GAAG,CAAC,CAAC,GAAGlB,GAAG;MAC7C,CAAC;MACDH;IACJ,CAAC;IAED,IAAI,CAACE,WAAW,IAAI,CAACmB,WAAW,EAAE,OAAOQ,QAAQ,CAACI,QAAQ,CAAC;IAE3D,IAAI/C,KAAe,GAAG+C,QAAQ;IAE9B,IAAI/B,WAAW,EAAE;MACbhB,KAAK,GAAG;QACJa,EAAE,EAAEsB,WAAW,GAAG,GAAGtB,EAAE,OAAO,GAAGA,EAAE;QACnCnC,IAAI,EAAE,cAAc;QACpBxF,KAAK,EAAE;UAAE6H,KAAK;UAAE,IAAIoB,WAAW,GAAG,CAAC,CAAC,GAAGlB,GAAG;QAAE,CAAC;QAC7CH,QAAQ,EAAE,CAACiC,QAAQ;MACvB,CAAC;IACL;IAEA,IAAI,CAACZ,WAAW,EAAE,OAAOQ,QAAQ,CAAC3C,KAAK,CAAC;IAExC,OAAO2C,QAAQ,CAAC;MACZ9B,EAAE;MACFnC,IAAI,EAAE,WAAW;MACjBxF,KAAK,EAAE;QACH,IAAIuG,MAAM,CAAC8B,IAAI,CAACgB,WAAW,CAAC,CAACzE,MAAM,GAAG;UAAEjC,KAAK,EAAE0G;QAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,IAAI/I,OAAO,GAAG;UAAEA;QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,GAAGyH;MACP,CAAC;MACDH,QAAQ,EAAE,CAACd,KAAK;IACpB,CAAC,CAAC;EACN;;EAEA;EACA,IAAIkC,YAAY,EAAE;IACd,MAAMZ,UAAoB,GAAG;MACzBT,EAAE,EAAEG,WAAW,IAAImB,WAAW,GAAG,GAAGtB,EAAE,UAAU,GAAGA,EAAE;MACrDnC,IAAI,EAAE,YAAY;MAClBxF,KAAK,EAAE;QACH,IAAIuG,MAAM,CAAC8B,IAAI,CAACkB,WAAW,CAAC,CAAC3E,MAAM,GAAG;UAAEjC,KAAK,EAAE4G;QAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,IAAIhD,MAAM,CAAC8B,IAAI,CAACmB,aAAa,CAAC,CAAC5E,MAAM,GAAG;UAAE0D,qBAAqB,EAAEkB;QAAc,CAAC,GAAG,CAAC,CAAC,CAAC;QACtFQ,UAAU,EAAEpE,SAAS,KAAK,YAAY;QACtC4C,8BAA8B,EAAEM,CAAC,CAACmB,mBAAmB,KAAK,IAAI;QAC9D1B,4BAA4B,EAAIO,CAAC,CAACmB,mBAAmB,KAAK,IAAI;QAC9D,GAAGd,MAAM;QACT,IAAIrB,WAAW,IAAImB,WAAW,GAAG,CAAC,CAAC,GAAGlB,GAAG;MAC7C,CAAC;MACDH;IACJ,CAAC;IAED,IAAI,CAACE,WAAW,IAAI,CAACmB,WAAW,EAAE,OAAOQ,QAAQ,CAACrB,UAAU,CAAC;IAE7D,IAAItB,KAAe,GAAGsB,UAAU;IAEhC,IAAIN,WAAW,EAAE;MACbhB,KAAK,GAAG;QACJa,EAAE,EAAEsB,WAAW,GAAG,GAAGtB,EAAE,OAAO,GAAGA,EAAE;QACnCnC,IAAI,EAAE,cAAc;QACpBxF,KAAK,EAAE;UACH6H,KAAK;UACL,IAAItB,MAAM,CAAC8B,IAAI,CAACgB,WAAW,CAAC,CAACzE,MAAM,GAAG;YAAEjC,KAAK,EAAE0G;UAAY,CAAC,GAAG,CAAC,CAAC,CAAC;UAClE,IAAIJ,WAAW,GAAG,CAAC,CAAC,GAAGlB,GAAG;QAC9B,CAAC;QACDH,QAAQ,EAAE,CAACQ,UAAU;MACzB,CAAC;IACL;IAEA,IAAI,CAACa,WAAW,EAAE,OAAOQ,QAAQ,CAAC3C,KAAK,CAAC;IAExC,OAAO2C,QAAQ,CAAC;MACZ9B,EAAE;MACFnC,IAAI,EAAE,WAAW;MACjBxF,KAAK,EAAE;QACH,IAAIuG,MAAM,CAAC8B,IAAI,CAACgB,WAAW,CAAC,CAACzE,MAAM,GAAG;UAAEjC,KAAK,EAAE0G;QAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,IAAI/I,OAAO,GAAG;UAAEA;QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,GAAGyH;MACP,CAAC;MACDH,QAAQ,EAAE,CAACd,KAAK;IACpB,CAAC,CAAC;EACN;;EAEA;;EAEA,IAAI,CAACmC,WAAW,IAAI,CAACnB,WAAW,EAAE;IAC9B,OAAO2B,QAAQ,CAAC;MACZ9B,EAAE;MACFnC,IAAI,EAAE,MAAM;MACZxF,KAAK,EAAE;QACH,IAAIuG,MAAM,CAAC8B,IAAI,CAACe,SAAS,CAAC,CAACxE,MAAM,GAAG;UAAEjC,KAAK,EAAEyG;QAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,GAAGD,MAAM;QACT,GAAGpB;MACP,CAAC;MACDH;IACJ,CAAC,CAAC;EACN;EAEA,IAAI,CAACqB,WAAW,IAAInB,WAAW,EAAE;IAC7B,OAAO2B,QAAQ,CAAC;MACZ9B,EAAE;MACFnC,IAAI,EAAE,cAAc;MACpBxF,KAAK,EAAE;QACH6H,KAAK;QACL,IAAItB,MAAM,CAAC8B,IAAI,CAACe,SAAS,CAAC,CAACxE,MAAM,GAAG;UAAEjC,KAAK,EAAEyG;QAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,GAAGD,MAAM;QACT,GAAGpB;MACP,CAAC;MACDH;IACJ,CAAC,CAAC;EACN;;EAEA;EACA,MAAMsC,SAAmB,GAAGpC,WAAW,GACjC;IACEH,EAAE,EAAE,GAAGA,EAAE,OAAO;IAChBnC,IAAI,EAAE,cAAc;IACpBxF,KAAK,EAAE;MACH6H,KAAK;MACL,IAAItB,MAAM,CAAC8B,IAAI,CAACiB,eAAe,CAAC,CAAC1E,MAAM,GAAG;QAAEjC,KAAK,EAAE2G;MAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;MAC1E,GAAGH;IACP,CAAC;IACDvB;EACF,CAAC,GACD;IACED,EAAE,EAAE,GAAGA,EAAE,WAAW;IACpBnC,IAAI,EAAE,MAAM;IACZxF,KAAK,EAAE;MACH,IAAIuG,MAAM,CAAC8B,IAAI,CAACiB,eAAe,CAAC,CAAC1E,MAAM,GAAG;QAAEjC,KAAK,EAAE2G;MAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;MAC1E,GAAGH;IACP,CAAC;IACDvB;EACF,CAAC;EAEP,OAAO6B,QAAQ,CAAC;IACZ9B,EAAE;IACFnC,IAAI,EAAE,WAAW;IACjBxF,KAAK,EAAE;MACH,IAAIuG,MAAM,CAAC8B,IAAI,CAACgB,WAAW,CAAC,CAACzE,MAAM,GAAG;QAAEjC,KAAK,EAAE0G;MAAY,CAAC,GAAG,CAAC,CAAC,CAAC;MAClE,IAAI/I,OAAO,GAAG;QAAEA;MAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;MAC/B,GAAGyH;IACP,CAAC;IACDH,QAAQ,EAAE,CAACsC,SAAS;EACxB,CAAC,CAAC;AACN;AAEA,SAASC,aAAaA,CAClBxC,EAAU,EACVtH,GAA4B,EAC5BQ,eAA0C,EAClC;EACR,MAAM;IAAEP,OAAO;IAAEE;EAAU,CAAC,GAAGJ,WAAW,CAACC,GAAG,CAAC;EAC/C,MAAML,KAAK,GAAGD,eAAe,CAACM,GAAG,CAAC;EAElC,MAAMsC,KAA8B,GAAG,CAAC,CAAC;EAEzC,IAAI3C,KAAK,CAACoK,SAAS,EAAE;IACjB,MAAMC,MAAM,GAAGxL,kBAAkB,CAACmB,KAAK,CAACoK,SAAS,CAAW;IAC5D,IAAIC,MAAM,EAAE;MACR1H,KAAK,CAAC7D,QAAQ,GAAKuL,MAAM,CAACvL,QAAQ;MAClC6D,KAAK,CAAC5D,UAAU,GAAGsL,MAAM,CAACtL,UAAU;MACpC,IAAIsL,MAAM,CAACC,UAAU,KAAQxJ,SAAS,EAAE6B,KAAK,CAAC2H,UAAU,GAAMD,MAAM,CAACC,UAAU;MAC/E,IAAID,MAAM,CAACrL,aAAa,EAAgB2D,KAAK,CAAC3D,aAAa,GAAGqL,MAAM,CAACrL,aAAa;MAClF,IAAIqL,MAAM,CAACpL,aAAa,KAAK6B,SAAS,EAAE6B,KAAK,CAAC1D,aAAa,GAAGoL,MAAM,CAACpL,aAAa;IACtF;EACJ;EAEA,IAAIe,KAAK,CAAC6C,KAAK,EAA2CF,KAAK,CAACE,KAAK,GAAgB7C,KAAK,CAAC6C,KAAK;EAChG,IAAI7C,KAAK,CAAClB,QAAQ,KAAWgC,SAAS,EAAoB6B,KAAK,CAAC7D,QAAQ,GAAakB,KAAK,CAAClB,QAAQ;EACnG,IAAIkB,KAAK,CAACjB,UAAU,EAAsC4D,KAAK,CAAC5D,UAAU,GAAWP,eAAe,CAACwB,KAAK,CAACjB,UAAU,CAAW,IAAIiB,KAAK,CAACjB,UAAU;EACpJ,IAAIiB,KAAK,CAACuK,UAAU,EAAsC5H,KAAK,CAAC4H,UAAU,GAAWvK,KAAK,CAACuK,UAAU;EACrG,IAAIvK,KAAK,CAACwK,SAAS,EAAuC7H,KAAK,CAAC6H,SAAS,GAAYxK,KAAK,CAACwK,SAAS;EACpG,IAAIxK,KAAK,CAACsK,UAAU,KAASxJ,SAAS,EAAoB6B,KAAK,CAAC2H,UAAU,GAAWtK,KAAK,CAACsK,UAAU;EACrG,IAAItK,KAAK,CAACf,aAAa,KAAM6B,SAAS,EAAoB6B,KAAK,CAAC1D,aAAa,GAAQe,KAAK,CAACf,aAAa;EACxG,IAAIe,KAAK,CAACyF,KAAK,EAA2C9C,KAAK,CAAC8H,SAAS,GAAYzK,KAAK,CAACyF,KAAK;EAChG,IAAIzF,KAAK,CAAC6E,SAAS,IAAI7E,KAAK,CAAC6E,SAAS,KAAK,MAAM,EAASlC,KAAK,CAAC3D,aAAa,GAAQgB,KAAK,CAAC6E,SAAS;EACpG,IAAI7E,KAAK,CAAC0K,UAAU,IAAI1K,KAAK,CAAC0K,UAAU,KAAK,MAAM,EAAO/H,KAAK,CAACgI,kBAAkB,GAAG3K,KAAK,CAAC0K,UAAU;EACrG,IAAI1K,KAAK,CAACiE,OAAO,KAAKnD,SAAS,EAA2B6B,KAAK,CAACsB,OAAO,GAAejE,KAAK,CAACiE,OAAO,GAAc,GAAG;EACpHsC,MAAM,CAACC,MAAM,CAAC7D,KAAK,EAAEmC,iBAAiB,CAAC9E,KAAK,CAAC,CAAC;EAC9CU,iBAAiB,CAACV,KAAK,CAACqD,KAAK,EAA+B,OAAO,EAAEV,KAAK,EAAE9B,eAAe,CAAC;EAE5F,MAAM+J,SAAkC,GAAG,CAAC,CAAC;EAC7C,IAAI,OAAO5K,KAAK,CAAC6K,QAAQ,KAAK,QAAQ,IAAI7K,KAAK,CAAC6K,QAAQ,GAAG,CAAC,EAAE;IAC1DD,SAAS,CAACE,aAAa,GAAG9K,KAAK,CAAC6K,QAAQ;IACxCD,SAAS,CAACG,aAAa,GAAG,MAAM;EACpC;EACA,IAAI/K,KAAK,CAACgL,cAAc,KAAK,IAAI,EAAE;IAC/BJ,SAAS,CAACK,oBAAoB,GAAG,IAAI;IACrC,IAAIjL,KAAK,CAACkL,WAAW,KAAKpK,SAAS,EAAE8J,SAAS,CAACO,gBAAgB,GAAGnL,KAAK,CAACkL,WAAW;EACvF;EACA,IAAIlL,KAAK,CAACoL,UAAU,KAAKtK,SAAS,EAAE8J,SAAS,CAACQ,UAAU,GAAGpL,KAAK,CAACoL,UAAU;EAE3E,MAAMzC,IAAc,GAAG;IACnBhB,EAAE;IACFnC,IAAI,EAAE,MAAM;IACZxF,KAAK,EAAE;MACH;MACA;MACAW,KAAK,EAAGX,KAAK,CAACiI,OAAO,IAA2B,EAAE;MAClD,IAAI1B,MAAM,CAAC8B,IAAI,CAAC1F,KAAK,CAAC,CAACiC,MAAM,GAAG;QAAEjC;MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;MAC/C,GAAGiI,SAAS;MACZ,GAAG3F,yBAAyB,CAACjF,KAAK,CAAC;MACnC,IAAIA,KAAK,CAACgI,OAAO,KAAKlH,SAAS,IAAId,KAAK,CAACgI,OAAO,KAAK,IAAI,GAAG;QAAEA,OAAO,EAAEhI,KAAK,CAACgI;MAAQ,CAAC,GAAG,CAAC,CAAC;IAC/F;EACJ,CAAC;EACD,IAAIxH,SAAS,KAAKM,SAAS,EAAE6H,IAAI,CAACC,EAAE,GAAGpI,SAAS;EAChD,IAAIF,OAAO,EAAkBqI,IAAI,CAACrI,OAAO,GAAGA,OAAO;EACnD,OAAOqI,IAAI;AACf;AAEA,SAAS0C,cAAcA,CACnB1D,EAAU,EACVtH,GAA4B,EAC5BuH,QAAoB,EACpB/G,eAA0C,EAClC;EACR,MAAM;IAAEP,OAAO;IAAEE;EAAU,CAAC,GAAGJ,WAAW,CAACC,GAAG,CAAC;EAC/C,MAAML,KAAK,GAAGD,eAAe,CAACM,GAAG,CAAC;EAElC,MAAMsC,KAA8B,GAAG,CAAC,CAAC;EACzCjC,iBAAiB,CAACV,KAAK,CAACqD,KAAK,EAAgC,OAAO,EAAGV,KAAK,EAAE9B,eAAe,CAAC;EAC9FH,iBAAiB,CAACV,KAAK,CAAC4D,MAAM,EAA+B,QAAQ,EAAEjB,KAAK,EAAE9B,eAAe,CAAC;EAC9F,IAAIb,KAAK,CAACsG,WAAW,KAAKxF,SAAS,EAAE6B,KAAK,CAAC2D,WAAW,GAAGtG,KAAK,CAACsG,WAAW;EAC1EC,MAAM,CAACC,MAAM,CAAC7D,KAAK,EAAEb,eAAe,CAAC9B,KAAK,CAAC+B,MAAiC,CAAC,CAAC;EAC9E,IAAI/B,KAAK,CAACiE,OAAO,KAAKnD,SAAS,EAAE6B,KAAK,CAACsB,OAAO,GAAIjE,KAAK,CAACiE,OAAO,GAAc,GAAG;EAChFsC,MAAM,CAACC,MAAM,CAAC7D,KAAK,EAAEmC,iBAAiB,CAAC9E,KAAK,CAAC,CAAC;EAE9C,MAAMsL,UAAmC,GAAG,CAAC,CAAC;EAC9C,IAAItL,KAAK,CAACuL,GAAG,EAAUD,UAAU,CAACE,MAAM,GAAU;IAAEC,GAAG,EAAEzL,KAAK,CAACuL;EAAI,CAAC;EACpE,IAAIvL,KAAK,CAAC0L,WAAW,EAAEJ,UAAU,CAACK,aAAa,GAAG;IAAEF,GAAG,EAAEzL,KAAK,CAAC0L;EAAY,CAAC;EAC5E,IAAI1L,KAAK,CAAC4L,QAAQ,EAAKN,UAAU,CAACM,QAAQ,GAAS;IAAEH,GAAG,EAAEzL,KAAK,CAAC4L;EAAS,CAAC;EAC1EN,UAAU,CAACO,UAAU,GAAGzN,kBAAkB,CAAE4B,KAAK,CAAC8L,GAAG,IAA2B,OAAO,CAAC,IAAI,OAAO;EAEnG,IAAI9L,KAAK,CAAC+L,UAAU,KAAK,IAAI,EAAET,UAAU,CAACS,UAAU,GAAG,IAAI;EAE3D,IAAI/L,KAAK,CAACgM,UAAU,EAAE;IAClBV,UAAU,CAACpG,UAAU,GAAoB,KAAK;IAC9CoG,UAAU,CAACW,2BAA2B,GAAG,IAAI;EACjD,CAAC,MAAM,IAAIjM,KAAK,CAACkM,GAAG,EAAE;IAClBZ,UAAU,CAACpG,UAAU,GAAW,IAAI;IACpCoG,UAAU,CAACnG,kBAAkB,GAAGnF,KAAK,CAACkM,GAAG;EAC7C;EACA,IAAIlM,KAAK,CAACqF,MAAM,EAAEiG,UAAU,CAACjG,MAAM,GAAGrF,KAAK,CAACqF,MAAM;EAElD,MAAMsD,IAAc,GAAG;IACnBhB,EAAE;IACFnC,IAAI,EAAE,OAAO;IACbxF,KAAK,EAAE;MACH,IAAIuG,MAAM,CAAC8B,IAAI,CAAC1F,KAAK,CAAC,CAACiC,MAAM,GAAG;QAAEjC;MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;MAC/C,GAAG2I,UAAU;MACb,IAAItL,KAAK,CAACgI,OAAO,KAAKlH,SAAS,IAAId,KAAK,CAACgI,OAAO,KAAK,IAAI,GAAG;QAAEA,OAAO,EAAEhI,KAAK,CAACgI;MAAQ,CAAC,GAAG,CAAC,CAAC;IAC/F,CAAC;IACD,IAAIhI,KAAK,CAAC+L,UAAU,KAAK,IAAI,IAAInE,QAAQ,CAAChD,MAAM,GAAG;MAAEgD;IAAS,CAAC,GAAG,CAAC,CAAC;EACxE,CAAC;EACD,IAAIpH,SAAS,KAAKM,SAAS,EAAE6H,IAAI,CAACC,EAAE,GAAGpI,SAAS;EAChD,IAAIF,OAAO,EAAkBqI,IAAI,CAACrI,OAAO,GAAGA,OAAO;EACnD,OAAOqI,IAAI;AACf;AAEA,SAASwD,cAAcA,CACnBxE,EAAU,EACVtH,GAA4B,EAC5BQ,eAA0C,EAClC;EACR,MAAM;IAAEP,OAAO;IAAEE;EAAU,CAAC,GAAGJ,WAAW,CAACC,GAAG,CAAC;EAC/C,MAAML,KAAK,GAAGD,eAAe,CAACM,GAAG,CAAC;EAElC,MAAMsC,KAA8B,GAAG,CAAC,CAAC;EACzCjC,iBAAiB,CAAEV,KAAK,CAACqD,KAAK,IAAkC,MAAM,EAAE,OAAO,EAAEV,KAAK,EAAE9B,eAAe,CAAC;EACxG0F,MAAM,CAACC,MAAM,CAAC7D,KAAK,EAAEzB,gBAAgB,CAAClB,KAAK,CAACmB,OAAmC,CAAC,CAAC;EACjF,IAAInB,KAAK,CAACiE,OAAO,KAAKnD,SAAS,EAAE6B,KAAK,CAACsB,OAAO,GAAIjE,KAAK,CAACiE,OAAO,GAAc,GAAG;EAChFsC,MAAM,CAACC,MAAM,CAAC7D,KAAK,EAAEmC,iBAAiB,CAAC9E,KAAK,CAAC,CAAC;EAE9C,MAAMoM,iBAAiB,GAAGlN,cAAc,CAAEc,KAAK,CAACqM,SAAS,IAA2B,MAAM,CAAC,IAAInN,cAAc,CAACC,IAAI;EAElH,MAAMwJ,IAAc,GAAG;IACnBhB,EAAE;IACFnC,IAAI,EAAE,WAAW;IACjBxF,KAAK,EAAE;MACH,IAAIuG,MAAM,CAAC8B,IAAI,CAAC1F,KAAK,CAAC,CAACiC,MAAM,GAAG;QAAEjC;MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;MAC/C,IAAI3C,KAAK,CAACsM,KAAK,KAAWxL,SAAS,GAAG;QAAEwL,KAAK,EAAQtM,KAAK,CAACsM;MAAY,CAAC,GAAG,CAAC,CAAC,CAAC;MAC9E,IAAItM,KAAK,CAAC0L,WAAW,KAAK5K,SAAS,GAAG;QAAE4K,WAAW,EAAE1L,KAAK,CAAC0L;MAAY,CAAC,GAAG,CAAC,CAAC,CAAC;MAC9E,IAAI1L,KAAK,CAACW,KAAK,KAAWG,SAAS,GAAG;QAAEH,KAAK,EAAQX,KAAK,CAACW;MAAY,CAAC,GAAG,CAAC,CAAC,CAAC;MAC9E,IAAIX,KAAK,CAACuM,UAAU,KAAMzL,SAAS,GAAG;QAAEyL,UAAU,EAAGvM,KAAK,CAACuM;MAAY,CAAC,GAAG,CAAC,CAAC,CAAC;MAC9E,IAAIvM,KAAK,CAACwM,SAAS,KAAO1L,SAAS,GAAG;QAAE0L,SAAS,EAAIxM,KAAK,CAACwM;MAAY,CAAC,GAAG,CAAC,CAAC,CAAC;MAC9E,GAAGJ,iBAAiB;MACpB,IAAIpM,KAAK,CAACV,cAAc,GAAG;QAAEA,cAAc,EAAEU,KAAK,CAACV;MAAe,CAAC,GAAG,CAAC,CAAC,CAAC;MACzEmN,aAAa,EAAGzM,KAAK,CAAC0M,SAAS,IAA2B,MAAM;MAChEC,SAAS,EAAG3M,KAAK,CAAC2M,SAAS,IAA4B,KAAK;MAC5D,IAAI3M,KAAK,CAAC2M,SAAS,IAAI3M,KAAK,CAAC4M,QAAQ,GAAG;QAAE9B,aAAa,EAAK9K,KAAK,CAAC4M;MAAS,CAAC,GAAG,CAAC,CAAC,CAAC;MAClF,IAAI5M,KAAK,CAAC2M,SAAS,IAAI3M,KAAK,CAAC6M,QAAQ,GAAG;QAAEC,gBAAgB,EAAE9M,KAAK,CAAC6M;MAAS,CAAC,GAAG,CAAC,CAAC,CAAC;MAClFE,OAAO,EAAG/M,KAAK,CAAC+M,OAAO,IAA2B,SAAS;MAC3DC,IAAI,EAAMhN,KAAK,CAACgN,IAAI,IAA8B,IAAI;MACtD,IAAIhN,KAAK,CAACiN,WAAW,GAAI;QAAEA,WAAW,EAAGjN,KAAK,CAACiN;MAAa,CAAC,GAAG,CAAC,CAAC,CAAC;MACnE,IAAIjN,KAAK,CAACkN,YAAY,GAAG;QAAEA,YAAY,EAAElN,KAAK,CAACkN;MAAa,CAAC,GAAG,CAAC,CAAC,CAAC;MACnE,GAAGjI,yBAAyB,CAACjF,KAAK,CAAC;MACnC,IAAIA,KAAK,CAACgI,OAAO,KAAKlH,SAAS,IAAId,KAAK,CAACgI,OAAO,KAAK,IAAI,GAAG;QAAEA,OAAO,EAAEhI,KAAK,CAACgI;MAAQ,CAAC,GAAG,CAAC,CAAC;IAC/F;EACJ,CAAC;EACD,IAAIxH,SAAS,KAAKM,SAAS,EAAE6H,IAAI,CAACC,EAAE,GAAGpI,SAAS;EAChD,IAAIF,OAAO,EAAkBqI,IAAI,CAACrI,OAAO,GAAGA,OAAO;EACnD,OAAOqI,IAAI;AACf;AAEA,SAASwE,aAAaA,CAClBxF,EAAU,EACVtH,GAA4B,EAC5BuH,QAAoB,EACpB/G,eAA0C,EAClC;EACR,MAAM;IAAEP,OAAO;IAAEE;EAAU,CAAC,GAAGJ,WAAW,CAACC,GAAG,CAAC;EAC/C,MAAML,KAAK,GAAGD,eAAe,CAACM,GAAG,CAAC;EAElC,MAAM+M,QAAQ,GAAIpN,KAAK,CAACwF,IAAI,IAA2B,OAAO;EAC9D,MAAMI,SAAoC,GAAG5F,KAAK,CAAC4F,SAAS,KAAK,YAAY,GAAG,YAAY,GAAG,UAAU;EACzG,MAAMiC,KAAK,GAASR,aAAa,CAACrH,KAAK,CAACsH,QAAqC,CAAC;EAC9E,MAAMQ,WAAW,GAAGD,KAAK,CAACjD,MAAM,GAAG,CAAC;EACpC,MAAMmD,GAAG,GAAW/H,KAAK,CAACgI,OAAO,KAAKlH,SAAS,IAAId,KAAK,CAACgI,OAAO,KAAK,IAAI,GAAG;IAAEA,OAAO,EAAEhI,KAAK,CAACgI;EAAQ,CAAC,GAAG,CAAC,CAAC;EAE3G,MAAMoB,SAAS,GAAG9D,eAAe,CAACtF,KAAK,EAAEa,eAAe,CAAC;EACzD,MAAM;IAAEsG,cAAc;IAAEC;EAAa,CAAC,GAAGH,gBAAgB,CAACmC,SAAS,CAAC;;EAEpE;EACA,IAAIiE,YAAkC;EACtC,IAAIzF,QAAQ,CAAChD,MAAM,KAAK,CAAC,EAAE;IACvByI,YAAY,GAAGzF,QAAQ,CAAC,CAAC,CAAC;EAC9B,CAAC,MAAM,IAAIA,QAAQ,CAAChD,MAAM,GAAG,CAAC,EAAE;IAC5ByI,YAAY,GAAG;MAAE1F,EAAE,EAAE,GAAGA,EAAE,YAAY;MAAEnC,IAAI,EAAE,MAAM;MAAExF,KAAK,EAAE,CAAC,CAAC;MAAE4H;IAAS,CAAC;EAC/E;EAEA,MAAM0F,YAAsB,GAAG;IAC3B3F,EAAE,EAAEG,WAAW,GAAG,GAAGH,EAAE,QAAQ,GAAGA,EAAE;IACpCnC,IAAI,EAAE,UAAU;IAChBxF,KAAK,EAAE;MACH,IAAIuG,MAAM,CAAC8B,IAAI,CAAClB,cAAc,CAAC,CAACvC,MAAM,GAAG;QAAEjC,KAAK,EAAEwE;MAAe,CAAC,GAAG,CAAC,CAAC,CAAC;MACxE,IAAIZ,MAAM,CAAC8B,IAAI,CAACjB,YAAY,CAAC,CAACxC,MAAM,GAAK;QAAE0D,qBAAqB,EAAElB;MAAa,CAAC,GAAG,CAAC,CAAC,CAAC;MACtF;MACA;MACAmG,IAAI,EAAUvN,KAAK,CAACuN,IAAI;MACxBC,YAAY,EAAGxN,KAAK,CAACwN,YAAY,IAA2B,IAAI;MAChE,IAAIJ,QAAQ,KAAK,MAAM,GAAG;QAAEtD,UAAU,EAAG9J,KAAK,CAAC+J,OAAO,IAA2B;MAAE,CAAC,GAAG,CAAC,CAAC,CAAC;MAC1F,IAAIqD,QAAQ,KAAK,MAAM,IAAIpN,KAAK,CAAC2J,SAAS,GAAG;QAAEA,SAAS,EAAE3J,KAAK,CAAC2J;MAAU,CAAC,GAAG,CAAC,CAAC,CAAC;MACjF,IAAIyD,QAAQ,KAAK,MAAM,IAAIpN,KAAK,CAAC4J,MAAM,GAAM;QAAEA,MAAM,EAAK5J,KAAK,CAAC4J;MAAU,CAAC,GAAG,CAAC,CAAC,CAAC;MACjFI,UAAU,EAAsBpE,SAAS,KAAK,YAAY;MAC1D4C,8BAA8B,EAAExI,KAAK,CAACiK,mBAAmB,KAAK,IAAI;MAClE1B,4BAA4B,EAAIvI,KAAK,CAACiK,mBAAmB,KAAK,IAAI;MAClE,GAAGhF,yBAAyB,CAACjF,KAAK,CAAC;MACnC,IAAI8H,WAAW,GAAG,CAAC,CAAC,GAAGC,GAAG;IAC9B,CAAC;IACD,IAAIsF,YAAY,GAAG;MAAEA;IAAa,CAAC,GAAG,CAAC,CAAC;EAC5C,CAAC;EAED,IAAI,CAACvF,WAAW,EAAE;IACd,IAAItH,SAAS,KAAKM,SAAS,EAAEwM,YAAY,CAAC1E,EAAE,GAAGpI,SAAS;IACxD,IAAIF,OAAO,EAAkBgN,YAAY,CAAChN,OAAO,GAAGA,OAAO;IAC3D,OAAOgN,YAAY;EACvB;EAEA,MAAM;IAAEzG,KAAK,EAAEwC;EAAY,CAAC,GAAG1C,eAAe,CAACyC,SAAS,CAAC;EACzD,MAAMqE,OAAiB,GAAG;IACtB9F,EAAE;IACFnC,IAAI,EAAE,cAAc;IACpBxF,KAAK,EAAE;MACH6H,KAAK;MACL,IAAItB,MAAM,CAAC8B,IAAI,CAACgB,WAAW,CAAC,CAACzE,MAAM,GAAG;QAAEjC,KAAK,EAAE0G;MAAY,CAAC,GAAG,CAAC,CAAC,CAAC;MAClE,GAAGtB;IACP,CAAC;IACDH,QAAQ,EAAE,CAAC0F,YAAY;EAC3B,CAAC;EACD,IAAI9M,SAAS,KAAKM,SAAS,EAAE2M,OAAO,CAAC7E,EAAE,GAAGpI,SAAS;EACnD,IAAIF,OAAO,EAAkBmN,OAAO,CAACnN,OAAO,GAAGA,OAAO;EACtD,OAAOmN,OAAO;AAClB;AAEA,SAASC,aAAaA,CAClB/F,EAAU,EACVtH,GAA4B,EACpB;EACR,MAAM;IAAEC,OAAO;IAAEE;EAAU,CAAC,GAAGJ,WAAW,CAACC,GAAG,CAAC;EAC/C,MAAML,KAAK,GAAGD,eAAe,CAACM,GAAG,CAAC;EAElC,MAAMsC,KAA8B,GAAG,CAAC,CAAC;EACzC,IAAI3C,KAAK,CAACiE,OAAO,KAAKnD,SAAS,EAAE6B,KAAK,CAACsB,OAAO,GAAIjE,KAAK,CAACiE,OAAO,GAAc,GAAG;EAChFsC,MAAM,CAACC,MAAM,CAAC7D,KAAK,EAAEmC,iBAAiB,CAAC9E,KAAK,CAAC,CAAC;EAE9C,MAAM2I,IAAc,GAAG;IACnBhB,EAAE;IACFnC,IAAI,EAAE,MAAM;IACZxF,KAAK,EAAE;MACH2N,IAAI,EAAE3N,KAAK,CAAC2N,IAAI;MAChBC,GAAG,EAAI5N,KAAK,CAAC4N,GAAG,IAA2B,SAAS;MACpDZ,IAAI,EAAGhN,KAAK,CAACgN,IAAI,IAA2B,EAAE;MAC9C,IAAIhN,KAAK,CAAC6C,KAAK,GAAG;QAAEA,KAAK,EAAE7C,KAAK,CAAC6C;MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;MAC9C,IAAI0D,MAAM,CAAC8B,IAAI,CAAC1F,KAAK,CAAC,CAACiC,MAAM,GAAG;QAAEjC;MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;MAC/C,GAAGsC,yBAAyB,CAACjF,KAAK,CAAC;MACnC,IAAIA,KAAK,CAACgI,OAAO,KAAKlH,SAAS,IAAId,KAAK,CAACgI,OAAO,KAAK,IAAI,GAAG;QAAEA,OAAO,EAAEhI,KAAK,CAACgI;MAAQ,CAAC,GAAG,CAAC,CAAC;IAC/F;EACJ,CAAC;EACD,IAAIxH,SAAS,KAAKM,SAAS,EAAE6H,IAAI,CAACC,EAAE,GAAGpI,SAAS;EAChD,IAAIF,OAAO,EAAkBqI,IAAI,CAACrI,OAAO,GAAGA,OAAO;EACnD,OAAOqI,IAAI;AACf;;AAEA;;AAEA,SAASkF,mBAAmBA,CACxBC,MAAc,EACdC,MAAmB,EACnBC,gBAAqC,EACrCC,OAAoB,EACpBC,QAAiB,EACT;EACR,IAAID,OAAO,CAAC9N,GAAG,CAAC2N,MAAM,CAAC,EAAE;IACrB,MAAM,IAAIK,KAAK,CAAC,uCAAuCL,MAAM,EAAE,CAAC;EACpE;EACAG,OAAO,CAACG,GAAG,CAACN,MAAM,CAAC;EAEnB,MAAMnF,IAAI,GAAGoF,MAAM,CAACD,MAAM,CAAC;EAC3B,IAAI,CAACnF,IAAI,EAAE,MAAM,IAAIwF,KAAK,CAAC,mBAAmBL,MAAM,EAAE,CAAC;EAEvD,MAAMO,YAAY,GAAG1F,IAAI,CAACnD,IAAI,EAAE6I,YAAY;EAC5C,IAAI,CAACA,YAAY,EAAE,MAAM,IAAIF,KAAK,CAAC,wBAAwBL,MAAM,EAAE,CAAC;EAEpE,MAAMzN,GAAG,GAAIsI,IAAI,CAAC3I,KAAK,IAAI,CAAC,CAA6B;EACzD,MAAMa,eAA0C,GAAGqN,QAAQ,GACpDH,MAAM,CAACG,QAAQ,CAAC,EAAElO,KAAK,GAAG,WAAW,CAAC,KAAK,YAAY,GAAG,YAAY,GAAG,UAAU,GACpF,UAAU;EAChB,MAAMsO,QAAQ,GAAGR,MAAM,KAAK,MAAM,GAAG,MAAM,GAAGA,MAAM;EAEpD,MAAMS,UAAU,GAAG,CAAC5F,IAAI,CAAC6F,KAAK,IAAI,EAAE,EAAEhH,GAAG,CAACiH,OAAO,IAC7CZ,mBAAmB,CAACY,OAAO,EAAEV,MAAM,EAAEC,gBAAgB,EAAEC,OAAO,EAAEH,MAAM,CAC1E,CAAC;EAED,QAAQO,YAAY;IAChB,KAAK,WAAW;MACZ,OAAO3G,eAAe,CAAC4G,QAAQ,EAAEjO,GAAG,EAAEkO,UAAU,CAAC;IAErD,KAAK,UAAU;MACX,OAAO1F,cAAc,CAACyF,QAAQ,EAAEjO,GAAG,EAAEkO,UAAU,EAAE1N,eAAe,CAAC;IAErE,KAAK,SAAS;MACV,OAAOsJ,aAAa,CAACmE,QAAQ,EAAEjO,GAAG,EAAEQ,eAAe,CAAC;IAExD,KAAK,UAAU;MACX,OAAOwK,cAAc,CAACiD,QAAQ,EAAEjO,GAAG,EAAEkO,UAAU,EAAE1N,eAAe,CAAC;IAErE,KAAK,UAAU;MACX,OAAOsL,cAAc,CAACmC,QAAQ,EAAEjO,GAAG,EAAEQ,eAAe,CAAC;IAEzD,KAAK,SAAS;MACV,OAAOsM,aAAa,CAACmB,QAAQ,EAAEjO,GAAG,EAAEkO,UAAU,EAAE1N,eAAe,CAAC;IAEpE,KAAK,SAAS;MACV,OAAO6M,aAAa,CAACY,QAAQ,EAAEjO,GAAG,CAAC;IAEvC,KAAK,WAAW;MACZ,OAAOqO,sBAAsB,CAACJ,QAAQ,EAAEjO,GAAG,EAAEQ,eAAe,EAAEmN,gBAAgB,CAAC;IAEnF;MACI,OAAO;QAAErG,EAAE,EAAE2G,QAAQ;QAAE9I,IAAI,EAAE,MAAM;QAAExF,KAAK,EAAE,CAAC,CAAC;QAAE4H,QAAQ,EAAE2G;MAAW,CAAC;EAC9E;AACJ;;AAEA;;AAEA,SAASG,sBAAsBA,CAC3B/G,EAAU,EACVtH,GAA4B,EAC5BQ,eAA0C,EAC1CmN,gBAAqC,EAC7B;EACR,MAAM;IAAE1N,OAAO;IAAEE;EAAU,CAAC,GAAGJ,WAAW,CAACC,GAAG,CAAC;EAC/C,MAAML,KAAK,GAAGD,eAAe,CAACM,GAAG,CAAC;EAElC,MAAM;IAAEsO,WAAW;IAAEC,YAAY;IAAEC,UAAU;IAAE,GAAGC;EAAW,CAAC,GAAG9O,KAKhE;EACD,MAAM+O,GAAG,GAAGH,YAAY,IAAID,WAAW;EACvC,MAAMK,GAAG,GAAGD,GAAG,GAAGf,gBAAgB,CAACe,GAAG,CAAC,GAAGjO,SAAS;EAEnD,MAAMmO,YAAY,GAAG3J,eAAe,CAACwJ,UAAU,EAAEjO,eAAe,CAAC;EACjE,MAAMkH,GAAG,GAAG/H,KAAK,CAACgI,OAAO,KAAKlH,SAAS,IAAId,KAAK,CAACgI,OAAO,KAAK,IAAI,GAAG;IAAEA,OAAO,EAAEhI,KAAK,CAACgI;EAAQ,CAAC,GAAG,CAAC,CAAC;EAEnG,IAAI,CAACgH,GAAG,EAAE;IACN,OAAO;MACHrH,EAAE;MACFnC,IAAI,EAAE,MAAM;MACZxF,KAAK,EAAE;QAAE,IAAIuG,MAAM,CAAC8B,IAAI,CAAC4G,YAAY,CAAC,CAACrK,MAAM,GAAG;UAAEjC,KAAK,EAAEsM;QAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QAAE,GAAGlH;MAAI,CAAC;MACvFH,QAAQ,EAAE;IACd,CAAC;EACL;EAEA,MAAMsH,gBAAgB,GAAG,IAAItR,GAAG,CAAS,CAAC;EAC1C,MAAMuR,aAAa,GAAGtB,mBAAmB,CACrCmB,GAAG,CAACI,UAAU,EACdJ,GAAG,CAACR,KAAK,EACTR,gBAAgB,EAChBkB,gBACJ,CAAC;EAED,IAAIL,UAAU,IAAItI,MAAM,CAAC8B,IAAI,CAACwG,UAAU,CAAC,CAACjK,MAAM,EAAE;IAC9CuK,aAAa,CAACnP,KAAK,GAAG;MAAE,GAAGmP,aAAa,CAACnP,KAAK;MAAEqP,WAAW,EAAER;IAAW,CAAC;EAC7E;EAEA,IAAItI,MAAM,CAAC8B,IAAI,CAAC4G,YAAY,CAAC,CAACrK,MAAM,GAAG,CAAC,EAAE;IACtC,MAAM0K,OAAiB,GAAG;MACtB3H,EAAE;MACFnC,IAAI,EAAE,MAAM;MACZxF,KAAK,EAAE;QAAE2C,KAAK,EAAEsM,YAAY;QAAE,GAAGlH;MAAI,CAAC;MACtCH,QAAQ,EAAE,CAACuH,aAAa;IAC5B,CAAC;IACD,IAAI3O,SAAS,KAAKM,SAAS,EAAEwO,OAAO,CAAC1G,EAAE,GAAGpI,SAAS;IACnD,IAAIF,OAAO,EAAkBgP,OAAO,CAAChP,OAAO,GAAGA,OAAO;IACtD,OAAOgP,OAAO;EAClB;EAEAH,aAAa,CAACxH,EAAE,GAAMA,EAAE;EACxBwH,aAAa,CAACnP,KAAK,GAAG;IAAE,GAAGmP,aAAa,CAACnP,KAAK;IAAE,GAAG+H;EAAI,CAAC;EACxD,IAAIvH,SAAS,KAAKM,SAAS,EAAEqO,aAAa,CAACvG,EAAE,GAAGpI,SAAS;EACzD,IAAIF,OAAO,EAAkB6O,aAAa,CAAC7O,OAAO,GAAGA,OAAO;EAC5D,OAAO6O,aAAa;AACxB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,oBAAoBA,CAChCC,SAAsB,EACtBxB,gBAAqC,GAAG,CAAC,CAAC,EAClC;EACR,IAAI,CAACwB,SAAS,IAAI,OAAOA,SAAS,KAAK,QAAQ,EAAE;IAC7C,MAAM,IAAIrB,KAAK,CAAC,sBAAsB,CAAC;EAC3C;EAEA,MAAMF,OAAO,GAAG,IAAIrQ,GAAG,CAAS,CAAC;EACjC,OAAOiQ,mBAAmB,CAAC,MAAM,EAAE2B,SAAS,EAAExB,gBAAgB,EAAEC,OAAO,CAAC;AAC5E","ignoreList":[]}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.clearScreenCache = clearScreenCache;
7
+ exports.fetchScreenDefinition = fetchScreenDefinition;
8
+ var _schema = require("./schema");
9
+ /** In-memory cache so repeated renders don't re-fetch the same screen. */
10
+ const cache = new Map();
11
+ function cacheKey(serverUrl, projectKey, screenId) {
12
+ return `${serverUrl}|${projectKey}|${screenId}`;
13
+ }
14
+
15
+ /**
16
+ * Server envelope format.
17
+ * The server stores screens as { key, version, schema, publishedAt, ... }.
18
+ * We normalize this to the SDK's ScreenDefinition shape in `normalizeResponse`.
19
+ */
20
+
21
+ /**
22
+ * Accepts either the raw server envelope or a native ScreenDefinition and
23
+ * always returns a valid ScreenDefinition the renderer can consume.
24
+ */
25
+ function normalizeResponse(raw, screenId) {
26
+ if (raw === null || typeof raw !== 'object') {
27
+ throw new Error(`[Pushframe] Server returned non-object for screen "${screenId}"`);
28
+ }
29
+ const obj = raw;
30
+
31
+ // Native SDK format — already has `root` and `schemaVersion`
32
+ if ('root' in obj) {
33
+ return obj;
34
+ }
35
+
36
+ // Server envelope format — { key, schema, ... }
37
+ if ('schema' in obj) {
38
+ const envelope = obj;
39
+ return {
40
+ schemaVersion: _schema.SCHEMA_VERSION,
41
+ id: envelope.key ?? screenId,
42
+ root: envelope.schema
43
+ };
44
+ }
45
+ throw new Error(`[Pushframe] Unrecognized response shape for screen "${screenId}". ` + `Expected { root } or { key, schema } but got keys: ${Object.keys(obj).join(', ')}`);
46
+ }
47
+
48
+ /**
49
+ * Fetch a screen definition from the Pushframe server.
50
+ *
51
+ * URL: GET {serverUrl}/screens/{screenId}?projectKey={projectKey}
52
+ *
53
+ * Handles both the native SDK format ({ schemaVersion, id, root })
54
+ * and the server envelope format ({ key, version, schema, publishedAt }).
55
+ *
56
+ * Results are cached in memory for the lifetime of the JS bundle.
57
+ * Call `clearScreenCache()` to force a refetch (e.g. on logout or hard reload).
58
+ */
59
+ async function fetchScreenDefinition(serverUrl, projectKey, screenId) {
60
+ const key = cacheKey(serverUrl, projectKey, screenId);
61
+ const cached = cache.get(key);
62
+ if (cached) return cached;
63
+ const base = serverUrl.replace(/\/$/, '');
64
+ const url = `${base}/screens/${encodeURIComponent(screenId)}?projectKey=${encodeURIComponent(projectKey)}`;
65
+ const res = await fetch(url, {
66
+ headers: {
67
+ Accept: 'application/json',
68
+ 'x-project-key': projectKey
69
+ }
70
+ });
71
+ if (!res.ok) {
72
+ throw new Error(`[Pushframe] Failed to fetch screen "${screenId}": HTTP ${res.status} ${res.statusText}`);
73
+ }
74
+ const definition = normalizeResponse(await res.json(), screenId);
75
+ cache.set(key, definition);
76
+ return definition;
77
+ }
78
+
79
+ /**
80
+ * Invalidate the entire in-memory screen cache.
81
+ * Useful after a forced refresh or when the project key changes.
82
+ */
83
+ function clearScreenCache() {
84
+ cache.clear();
85
+ }
86
+ //# sourceMappingURL=transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_schema","require","cache","Map","cacheKey","serverUrl","projectKey","screenId","normalizeResponse","raw","Error","obj","envelope","schemaVersion","SCHEMA_VERSION","id","key","root","schema","Object","keys","join","fetchScreenDefinition","cached","get","base","replace","url","encodeURIComponent","res","fetch","headers","Accept","ok","status","statusText","definition","json","set","clearScreenCache","clear"],"sourceRoot":"../../src","sources":["transport.ts"],"mappings":";;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAEA;AACA,MAAMC,KAAK,GAAG,IAAIC,GAAG,CAA2B,CAAC;AAEjD,SAASC,QAAQA,CAACC,SAAiB,EAAEC,UAAkB,EAAEC,QAAgB,EAAU;EACjF,OAAO,GAAGF,SAAS,IAAIC,UAAU,IAAIC,QAAQ,EAAE;AACjD;;AAEA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;AACA,SAASC,iBAAiBA,CAACC,GAAY,EAAEF,QAAgB,EAAoB;EAC3E,IAAIE,GAAG,KAAK,IAAI,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IAC3C,MAAM,IAAIC,KAAK,CAAC,sDAAsDH,QAAQ,GAAG,CAAC;EACpF;EAEA,MAAMI,GAAG,GAAGF,GAA8B;;EAE1C;EACA,IAAI,MAAM,IAAIE,GAAG,EAAE;IACjB,OAAOA,GAAG;EACZ;;EAEA;EACA,IAAI,QAAQ,IAAIA,GAAG,EAAE;IACnB,MAAMC,QAAQ,GAAGD,GAAsC;IACvD,OAAO;MACLE,aAAa,EAAEC,sBAAc;MAC7BC,EAAE,EAAEH,QAAQ,CAACI,GAAG,IAAIT,QAAQ;MAC5BU,IAAI,EAAEL,QAAQ,CAACM;IACjB,CAAC;EACH;EAEA,MAAM,IAAIR,KAAK,CACb,uDAAuDH,QAAQ,KAAK,GAClE,sDAAsDY,MAAM,CAACC,IAAI,CAACT,GAAG,CAAC,CAACU,IAAI,CAAC,IAAI,CAAC,EACrF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeC,qBAAqBA,CACzCjB,SAAiB,EACjBC,UAAkB,EAClBC,QAAgB,EACW;EAC3B,MAAMS,GAAG,GAAGZ,QAAQ,CAACC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,CAAC;EACrD,MAAMgB,MAAM,GAAGrB,KAAK,CAACsB,GAAG,CAACR,GAAG,CAAC;EAC7B,IAAIO,MAAM,EAAE,OAAOA,MAAM;EAEzB,MAAME,IAAI,GAAGpB,SAAS,CAACqB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;EACzC,MAAMC,GAAG,GAAG,GAAGF,IAAI,YAAYG,kBAAkB,CAACrB,QAAQ,CAAC,eAAeqB,kBAAkB,CAACtB,UAAU,CAAC,EAAE;EAE1G,MAAMuB,GAAG,GAAG,MAAMC,KAAK,CAACH,GAAG,EAAE;IAC3BI,OAAO,EAAE;MACPC,MAAM,EAAE,kBAAkB;MAC1B,eAAe,EAAE1B;IACnB;EACF,CAAC,CAAC;EAEF,IAAI,CAACuB,GAAG,CAACI,EAAE,EAAE;IACX,MAAM,IAAIvB,KAAK,CACb,uCAAuCH,QAAQ,WAAWsB,GAAG,CAACK,MAAM,IAAIL,GAAG,CAACM,UAAU,EACxF,CAAC;EACH;EAEA,MAAMC,UAAU,GAAG5B,iBAAiB,CAAC,MAAMqB,GAAG,CAACQ,IAAI,CAAC,CAAC,EAAE9B,QAAQ,CAAC;EAChEL,KAAK,CAACoC,GAAG,CAACtB,GAAG,EAAEoB,UAAU,CAAC;EAC1B,OAAOA,UAAU;AACnB;;AAEA;AACA;AACA;AACA;AACO,SAASG,gBAAgBA,CAAA,EAAS;EACvCrC,KAAK,CAACsC,KAAK,CAAC,CAAC;AACf","ignoreList":[]}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ import React, { createContext, useContext, useMemo } from 'react';
4
+ import { createDefaultRegistry } from './registry';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ export const DEFAULT_SERVER_URL = 'http://localhost:3001';
7
+
8
+ // ---------------------------------------------------------------------------
9
+ // Context shape
10
+ // ---------------------------------------------------------------------------
11
+
12
+ const PushframeCtx = /*#__PURE__*/createContext(null);
13
+
14
+ // ---------------------------------------------------------------------------
15
+ // Hook
16
+ // ---------------------------------------------------------------------------
17
+
18
+ export function usePushframe() {
19
+ const value = useContext(PushframeCtx);
20
+ if (!value) {
21
+ throw new Error('[Pushframe] usePushframe() must be called inside a <PushframeProvider>.');
22
+ }
23
+ return value;
24
+ }
25
+
26
+ // ---------------------------------------------------------------------------
27
+ // Provider
28
+ // ---------------------------------------------------------------------------
29
+
30
+ export function PushframeProvider({
31
+ projectKey,
32
+ serverUrl = DEFAULT_SERVER_URL,
33
+ context,
34
+ registry,
35
+ customComponents,
36
+ onAction,
37
+ children
38
+ }) {
39
+ const resolvedRegistry = useMemo(() => {
40
+ if (registry) return registry;
41
+ const defaultReg = createDefaultRegistry();
42
+ if (customComponents) {
43
+ for (const [type, component] of Object.entries(customComponents)) {
44
+ defaultReg.register(type, component);
45
+ }
46
+ }
47
+ return defaultReg;
48
+ // eslint-disable-next-line react-hooks/exhaustive-deps
49
+ }, [registry, customComponents]);
50
+ const value = useMemo(() => ({
51
+ projectKey,
52
+ serverUrl,
53
+ context,
54
+ registry: resolvedRegistry,
55
+ onAction
56
+ }), [projectKey, serverUrl, context, resolvedRegistry, onAction]);
57
+ return /*#__PURE__*/_jsx(PushframeCtx.Provider, {
58
+ value: value,
59
+ children: children
60
+ });
61
+ }
62
+ //# sourceMappingURL=PushframeProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","createContext","useContext","useMemo","createDefaultRegistry","jsx","_jsx","DEFAULT_SERVER_URL","PushframeCtx","usePushframe","value","Error","PushframeProvider","projectKey","serverUrl","context","registry","customComponents","onAction","children","resolvedRegistry","defaultReg","type","component","Object","entries","register","Provider"],"sourceRoot":"../../src","sources":["PushframeProvider.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAEjE,SAA4BC,qBAAqB,QAAQ,YAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAKtE,OAAO,MAAMC,kBAAkB,GAAG,uBAAuB;;AAEzD;AACA;AACA;;AAmBA,MAAMC,YAAY,gBAAGP,aAAa,CAA+B,IAAI,CAAC;;AAEtE;AACA;AACA;;AAEA,OAAO,SAASQ,YAAYA,CAAA,EAA0B;EACpD,MAAMC,KAAK,GAAGR,UAAU,CAACM,YAAY,CAAC;EACtC,IAAI,CAACE,KAAK,EAAE;IACV,MAAM,IAAIC,KAAK,CAAC,yEAAyE,CAAC;EAC5F;EACA,OAAOD,KAAK;AACd;;AAEA;AACA;AACA;;AA6CA,OAAO,SAASE,iBAAiBA,CAAC;EAChCC,UAAU;EACVC,SAAS,GAAGP,kBAAkB;EAC9BQ,OAAO;EACPC,QAAQ;EACRC,gBAAgB;EAChBC,QAAQ;EACRC;AACsB,CAAC,EAAE;EACzB,MAAMC,gBAAgB,GAAGjB,OAAO,CAAC,MAAM;IACrC,IAAIa,QAAQ,EAAE,OAAOA,QAAQ;IAC7B,MAAMK,UAAU,GAAGjB,qBAAqB,CAAC,CAAC;IAC1C,IAAIa,gBAAgB,EAAE;MACpB,KAAK,MAAM,CAACK,IAAI,EAAEC,SAAS,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACR,gBAAgB,CAAC,EAAE;QAChEI,UAAU,CAACK,QAAQ,CAACJ,IAAI,EAAEC,SAAS,CAAC;MACtC;IACF;IACA,OAAOF,UAAU;IACnB;EACA,CAAC,EAAE,CAACL,QAAQ,EAAEC,gBAAgB,CAAC,CAAC;EAEhC,MAAMP,KAAK,GAAGP,OAAO,CACnB,OAAO;IAAEU,UAAU;IAAEC,SAAS;IAAEC,OAAO;IAAEC,QAAQ,EAAEI,gBAAgB;IAAEF;EAAS,CAAC,CAAC,EAChF,CAACL,UAAU,EAAEC,SAAS,EAAEC,OAAO,EAAEK,gBAAgB,EAAEF,QAAQ,CAC7D,CAAC;EAED,oBAAOZ,IAAA,CAACE,YAAY,CAACmB,QAAQ;IAACjB,KAAK,EAAEA,KAAM;IAAAS,QAAA,EAAEA;EAAQ,CAAwB,CAAC;AAChF","ignoreList":[]}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ import { useEffect, useState } from 'react';
4
+ import { usePushframe } from './PushframeProvider';
5
+ import { renderNode } from './renderer';
6
+ import { fetchScreenDefinition } from './transport';
7
+ import { SCHEMA_VERSION } from './schema';
8
+ export function PushframeScreen({
9
+ screenId,
10
+ definition: staticDefinition,
11
+ onAction,
12
+ fallback = null,
13
+ errorFallback = null
14
+ }) {
15
+ if (!screenId && !staticDefinition) {
16
+ throw new Error('[Pushframe] <PushframeScreen> requires either screenId or definition.');
17
+ }
18
+ const {
19
+ context,
20
+ registry,
21
+ projectKey,
22
+ serverUrl,
23
+ onAction: globalOnAction
24
+ } = usePushframe();
25
+ const effectiveOnAction = onAction ?? globalOnAction;
26
+
27
+ // When a static definition is passed we skip the fetch entirely.
28
+ const [fetchedDefinition, setFetchedDefinition] = useState(null);
29
+ const [fetchError, setFetchError] = useState(null);
30
+ useEffect(() => {
31
+ if (!screenId) return;
32
+ let cancelled = false;
33
+ setFetchedDefinition(null);
34
+ setFetchError(null);
35
+ fetchScreenDefinition(serverUrl, projectKey, screenId).then(def => {
36
+ if (!cancelled) setFetchedDefinition(def);
37
+ }).catch(err => {
38
+ if (!cancelled) {
39
+ const error = err instanceof Error ? err : new Error(String(err));
40
+ console.error(`[Pushframe] Error fetching screen "${screenId}":`, error.message);
41
+ setFetchError(error);
42
+ }
43
+ });
44
+ return () => {
45
+ cancelled = true;
46
+ };
47
+ }, [screenId, projectKey, serverUrl]);
48
+ const definition = staticDefinition ?? fetchedDefinition;
49
+ if (!definition) {
50
+ return fetchError ? errorFallback : fallback;
51
+ }
52
+ if (definition.schemaVersion !== SCHEMA_VERSION) {
53
+ console.warn(`[Pushframe] Schema version mismatch: expected "${SCHEMA_VERSION}", ` + `got "${definition.schemaVersion}" for screen "${definition.id}".`);
54
+ }
55
+ return renderNode({
56
+ node: definition.root,
57
+ context,
58
+ registry,
59
+ ...(effectiveOnAction !== undefined && {
60
+ onAction: effectiveOnAction
61
+ }),
62
+ key: definition.id
63
+ });
64
+ }
65
+ //# sourceMappingURL=PushframeScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useState","usePushframe","renderNode","fetchScreenDefinition","SCHEMA_VERSION","PushframeScreen","screenId","definition","staticDefinition","onAction","fallback","errorFallback","Error","context","registry","projectKey","serverUrl","globalOnAction","effectiveOnAction","fetchedDefinition","setFetchedDefinition","fetchError","setFetchError","cancelled","then","def","catch","err","error","String","console","message","schemaVersion","warn","id","node","root","undefined","key"],"sourceRoot":"../../src","sources":["PushframeScreen.tsx"],"mappings":";;AAAA,SAAgBA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAElD,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,UAAU,QAAQ,YAAY;AACvC,SAASC,qBAAqB,QAAQ,aAAa;AAGnD,SAASC,cAAc,QAAQ,UAAU;AAqCzC,OAAO,SAASC,eAAeA,CAAC;EAC9BC,QAAQ;EACRC,UAAU,EAAEC,gBAAgB;EAC5BC,QAAQ;EACRC,QAAQ,GAAG,IAAI;EACfC,aAAa,GAAG;AACI,CAAC,EAAE;EACvB,IAAI,CAACL,QAAQ,IAAI,CAACE,gBAAgB,EAAE;IAClC,MAAM,IAAII,KAAK,CAAC,uEAAuE,CAAC;EAC1F;EAEA,MAAM;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,UAAU;IAAEC,SAAS;IAAEP,QAAQ,EAAEQ;EAAe,CAAC,GAAGhB,YAAY,CAAC,CAAC;EAC7F,MAAMiB,iBAAiB,GAAGT,QAAQ,IAAIQ,cAAc;;EAEpD;EACA,MAAM,CAACE,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGpB,QAAQ,CAA0B,IAAI,CAAC;EACzF,MAAM,CAACqB,UAAU,EAAEC,aAAa,CAAC,GAAGtB,QAAQ,CAAe,IAAI,CAAC;EAEhED,SAAS,CAAC,MAAM;IACd,IAAI,CAACO,QAAQ,EAAE;IAEf,IAAIiB,SAAS,GAAG,KAAK;IACrBH,oBAAoB,CAAC,IAAI,CAAC;IAC1BE,aAAa,CAAC,IAAI,CAAC;IAEnBnB,qBAAqB,CAACa,SAAS,EAAED,UAAU,EAAET,QAAQ,CAAC,CACnDkB,IAAI,CAAEC,GAAG,IAAK;MACb,IAAI,CAACF,SAAS,EAAEH,oBAAoB,CAACK,GAAG,CAAC;IAC3C,CAAC,CAAC,CACDC,KAAK,CAAEC,GAAY,IAAK;MACvB,IAAI,CAACJ,SAAS,EAAE;QACd,MAAMK,KAAK,GAAGD,GAAG,YAAYf,KAAK,GAAGe,GAAG,GAAG,IAAIf,KAAK,CAACiB,MAAM,CAACF,GAAG,CAAC,CAAC;QACjEG,OAAO,CAACF,KAAK,CAAC,sCAAsCtB,QAAQ,IAAI,EAAEsB,KAAK,CAACG,OAAO,CAAC;QAChFT,aAAa,CAACM,KAAK,CAAC;MACtB;IACF,CAAC,CAAC;IAEJ,OAAO,MAAM;MACXL,SAAS,GAAG,IAAI;IAClB,CAAC;EACH,CAAC,EAAE,CAACjB,QAAQ,EAAES,UAAU,EAAEC,SAAS,CAAC,CAAC;EAErC,MAAMT,UAAU,GAAGC,gBAAgB,IAAIW,iBAAiB;EAExD,IAAI,CAACZ,UAAU,EAAE;IACf,OAAOc,UAAU,GAAGV,aAAa,GAAGD,QAAQ;EAC9C;EAEA,IAAIH,UAAU,CAACyB,aAAa,KAAK5B,cAAc,EAAE;IAC/C0B,OAAO,CAACG,IAAI,CACV,kDAAkD7B,cAAc,KAAK,GACnE,QAAQG,UAAU,CAACyB,aAAa,iBAAiBzB,UAAU,CAAC2B,EAAE,IAClE,CAAC;EACH;EAEA,OAAOhC,UAAU,CAAC;IAChBiC,IAAI,EAAE5B,UAAU,CAAC6B,IAAI;IACrBvB,OAAO;IACPC,QAAQ;IACR,IAAII,iBAAiB,KAAKmB,SAAS,IAAI;MAAE5B,QAAQ,EAAES;IAAkB,CAAC,CAAC;IACvEoB,GAAG,EAAE/B,UAAU,CAAC2B;EAClB,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ import { isBinding } from './schema';
4
+
5
+ /**
6
+ * Runtime context passed into the renderer.
7
+ * Any JSON-serialisable data structure is valid.
8
+ */
9
+
10
+ /**
11
+ * Resolve a dot-separated path against an object.
12
+ *
13
+ * e.g. resolvePath({ user: { firstName: "Alex" } }, "user.firstName") → "Alex"
14
+ *
15
+ * Returns undefined when any segment along the path is absent.
16
+ */
17
+ export function resolvePath(context, path) {
18
+ const parts = path.split('.');
19
+ let current = context;
20
+ for (const part of parts) {
21
+ if (current === null || current === undefined || typeof current !== 'object') {
22
+ return undefined;
23
+ }
24
+ current = current[part];
25
+ }
26
+ return current;
27
+ }
28
+
29
+ /**
30
+ * Recursively resolve all $bind references in a PropValue against the context.
31
+ *
32
+ * - Binding objects → resolved to the context value (or undefined if missing)
33
+ * - Arrays → each element resolved
34
+ * - Plain objects → each value resolved
35
+ * - Primitives → returned as-is
36
+ */
37
+ export function resolveValue(value, context) {
38
+ if (isBinding(value)) {
39
+ return resolvePath(context, value.$bind);
40
+ }
41
+ if (Array.isArray(value)) {
42
+ return value.map(item => resolveValue(item, context));
43
+ }
44
+ if (typeof value === 'object' && value !== null) {
45
+ const resolved = {};
46
+ for (const [k, v] of Object.entries(value)) {
47
+ resolved[k] = resolveValue(v, context);
48
+ }
49
+ return resolved;
50
+ }
51
+
52
+ // string | number | boolean | null
53
+ return value;
54
+ }
55
+
56
+ /**
57
+ * Resolve all entries in a props map against the context.
58
+ * Returns a plain Record<string, unknown> ready to spread onto a component.
59
+ */
60
+ export function resolveProps(props, context) {
61
+ if (!props) return {};
62
+ const resolved = {};
63
+ for (const [key, value] of Object.entries(props)) {
64
+ resolved[key] = resolveValue(value, context);
65
+ }
66
+ return resolved;
67
+ }
68
+ //# sourceMappingURL=bindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isBinding","resolvePath","context","path","parts","split","current","part","undefined","resolveValue","value","$bind","Array","isArray","map","item","resolved","k","v","Object","entries","resolveProps","props","key"],"sourceRoot":"../../src","sources":["bindings.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,UAAU;;AAGpC;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAACC,OAAyB,EAAEC,IAAY,EAAW;EAC5E,MAAMC,KAAK,GAAGD,IAAI,CAACE,KAAK,CAAC,GAAG,CAAC;EAC7B,IAAIC,OAAgB,GAAGJ,OAAO;EAC9B,KAAK,MAAMK,IAAI,IAAIH,KAAK,EAAE;IACxB,IAAIE,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAKE,SAAS,IAAI,OAAOF,OAAO,KAAK,QAAQ,EAAE;MAC5E,OAAOE,SAAS;IAClB;IACAF,OAAO,GAAIA,OAAO,CAA6BC,IAAI,CAAC;EACtD;EACA,OAAOD,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,YAAYA,CAACC,KAAgB,EAAER,OAAyB,EAAW;EACjF,IAAIF,SAAS,CAACU,KAAK,CAAC,EAAE;IACpB,OAAOT,WAAW,CAACC,OAAO,EAAEQ,KAAK,CAACC,KAAK,CAAC;EAC1C;EAEA,IAAIC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;IACxB,OAAOA,KAAK,CAACI,GAAG,CAAEC,IAAI,IAAKN,YAAY,CAACM,IAAI,EAAEb,OAAO,CAAC,CAAC;EACzD;EAEA,IAAI,OAAOQ,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,EAAE;IAC/C,MAAMM,QAAiC,GAAG,CAAC,CAAC;IAC5C,KAAK,MAAM,CAACC,CAAC,EAAEC,CAAC,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACV,KAAkC,CAAC,EAAE;MACvEM,QAAQ,CAACC,CAAC,CAAC,GAAGR,YAAY,CAACS,CAAC,EAAEhB,OAAO,CAAC;IACxC;IACA,OAAOc,QAAQ;EACjB;;EAEA;EACA,OAAON,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASW,YAAYA,CAC1BC,KAA2B,EAC3BpB,OAAyB,EACA;EACzB,IAAI,CAACoB,KAAK,EAAE,OAAO,CAAC,CAAC;EACrB,MAAMN,QAAiC,GAAG,CAAC,CAAC;EAC5C,KAAK,MAAM,CAACO,GAAG,EAAEb,KAAK,CAAC,IAAIS,MAAM,CAACC,OAAO,CAACE,KAAK,CAAC,EAAE;IAChDN,QAAQ,CAACO,GAAG,CAAC,GAAGd,YAAY,CAACC,KAAK,EAAER,OAAO,CAAC;EAC9C;EACA,OAAOc,QAAQ;AACjB","ignoreList":[]}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { TouchableOpacity, Text, StyleSheet, ActivityIndicator } from 'react-native';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ export function ButtonComponent({
7
+ props
8
+ }) {
9
+ const {
10
+ label = 'Button',
11
+ variant = 'primary',
12
+ disabled = false,
13
+ loading = false,
14
+ onPress
15
+ } = props;
16
+ return /*#__PURE__*/_jsx(TouchableOpacity, {
17
+ style: [styles.base, variant === 'secondary' && styles.secondary, variant === 'ghost' && styles.ghost, (disabled || loading) && styles.disabled],
18
+ onPress: onPress,
19
+ disabled: disabled || loading,
20
+ activeOpacity: 0.8,
21
+ children: loading ? /*#__PURE__*/_jsx(ActivityIndicator, {
22
+ size: "small",
23
+ color: variant === 'primary' ? '#ffffff' : '#2563eb'
24
+ }) : /*#__PURE__*/_jsx(Text, {
25
+ style: [styles.label, variant === 'secondary' && styles.labelSecondary, variant === 'ghost' && styles.labelGhost, (disabled || loading) && styles.labelDisabled],
26
+ children: label
27
+ })
28
+ });
29
+ }
30
+ const styles = StyleSheet.create({
31
+ base: {
32
+ backgroundColor: '#2563eb',
33
+ paddingVertical: 12,
34
+ paddingHorizontal: 24,
35
+ borderRadius: 8,
36
+ alignItems: 'center',
37
+ justifyContent: 'center',
38
+ minHeight: 44
39
+ },
40
+ secondary: {
41
+ backgroundColor: 'transparent',
42
+ borderWidth: 1.5,
43
+ borderColor: '#2563eb'
44
+ },
45
+ ghost: {
46
+ backgroundColor: 'transparent',
47
+ borderWidth: 0
48
+ },
49
+ disabled: {
50
+ opacity: 0.4
51
+ },
52
+ label: {
53
+ color: '#ffffff',
54
+ fontSize: 16,
55
+ fontWeight: '600'
56
+ },
57
+ labelSecondary: {
58
+ color: '#2563eb'
59
+ },
60
+ labelGhost: {
61
+ color: '#2563eb'
62
+ },
63
+ labelDisabled: {
64
+ opacity: 0.6
65
+ }
66
+ });
67
+ //# sourceMappingURL=ButtonComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","TouchableOpacity","Text","StyleSheet","ActivityIndicator","jsx","_jsx","ButtonComponent","props","label","variant","disabled","loading","onPress","style","styles","base","secondary","ghost","activeOpacity","children","size","color","labelSecondary","labelGhost","labelDisabled","create","backgroundColor","paddingVertical","paddingHorizontal","borderRadius","alignItems","justifyContent","minHeight","borderWidth","borderColor","opacity","fontSize","fontWeight"],"sourceRoot":"../../../src","sources":["components/ButtonComponent.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,EAAEC,IAAI,EAAEC,UAAU,EAAEC,iBAAiB,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAarF,OAAO,SAASC,eAAeA,CAAC;EAAEC;AAA4C,CAAC,EAAE;EAC/E,MAAM;IAAEC,KAAK,GAAG,QAAQ;IAAEC,OAAO,GAAG,SAAS;IAAEC,QAAQ,GAAG,KAAK;IAAEC,OAAO,GAAG,KAAK;IAAEC;EAAQ,CAAC,GAAGL,KAAK;EAEnG,oBACEF,IAAA,CAACL,gBAAgB;IACfa,KAAK,EAAE,CACLC,MAAM,CAACC,IAAI,EACXN,OAAO,KAAK,WAAW,IAAIK,MAAM,CAACE,SAAS,EAC3CP,OAAO,KAAK,OAAO,IAAIK,MAAM,CAACG,KAAK,EACnC,CAACP,QAAQ,IAAIC,OAAO,KAAKG,MAAM,CAACJ,QAAQ,CACxC;IACFE,OAAO,EAAEA,OAAQ;IACjBF,QAAQ,EAAEA,QAAQ,IAAIC,OAAQ;IAC9BO,aAAa,EAAE,GAAI;IAAAC,QAAA,EAElBR,OAAO,gBACNN,IAAA,CAACF,iBAAiB;MAChBiB,IAAI,EAAC,OAAO;MACZC,KAAK,EAAEZ,OAAO,KAAK,SAAS,GAAG,SAAS,GAAG;IAAU,CACtD,CAAC,gBAEFJ,IAAA,CAACJ,IAAI;MACHY,KAAK,EAAE,CACLC,MAAM,CAACN,KAAK,EACZC,OAAO,KAAK,WAAW,IAAIK,MAAM,CAACQ,cAAc,EAChDb,OAAO,KAAK,OAAO,IAAIK,MAAM,CAACS,UAAU,EACxC,CAACb,QAAQ,IAAIC,OAAO,KAAKG,MAAM,CAACU,aAAa,CAC7C;MAAAL,QAAA,EAEDX;IAAK,CACF;EACP,CACe,CAAC;AAEvB;AAEA,MAAMM,MAAM,GAAGZ,UAAU,CAACuB,MAAM,CAAC;EAC/BV,IAAI,EAAE;IACJW,eAAe,EAAE,SAAS;IAC1BC,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,EAAE;IACrBC,YAAY,EAAE,CAAC;IACfC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,SAAS,EAAE;EACb,CAAC;EACDhB,SAAS,EAAE;IACTU,eAAe,EAAE,aAAa;IAC9BO,WAAW,EAAE,GAAG;IAChBC,WAAW,EAAE;EACf,CAAC;EACDjB,KAAK,EAAE;IACLS,eAAe,EAAE,aAAa;IAC9BO,WAAW,EAAE;EACf,CAAC;EACDvB,QAAQ,EAAE;IACRyB,OAAO,EAAE;EACX,CAAC;EACD3B,KAAK,EAAE;IACLa,KAAK,EAAE,SAAS;IAChBe,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd,CAAC;EACDf,cAAc,EAAE;IACdD,KAAK,EAAE;EACT,CAAC;EACDE,UAAU,EAAE;IACVF,KAAK,EAAE;EACT,CAAC;EACDG,aAAa,EAAE;IACbW,OAAO,EAAE;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { FlatList, View } from 'react-native';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ export function FlatListComponent({
7
+ props,
8
+ rawChildren,
9
+ renderChild
10
+ }) {
11
+ const {
12
+ data = [],
13
+ keyExtractor = 'id',
14
+ horizontal = false,
15
+ numColumns = 1,
16
+ padding,
17
+ paddingTop,
18
+ paddingBottom,
19
+ paddingLeft,
20
+ paddingRight,
21
+ backgroundColor,
22
+ flex,
23
+ showsScrollIndicator = true,
24
+ itemSeparatorHeight = 0
25
+ } = props;
26
+
27
+ // The first child node is used as the item template.
28
+ const itemTemplate = rawChildren?.[0];
29
+ return /*#__PURE__*/_jsx(FlatList, {
30
+ data: data,
31
+ horizontal: horizontal,
32
+ numColumns: horizontal ? 1 : numColumns,
33
+ showsHorizontalScrollIndicator: horizontal ? showsScrollIndicator : false,
34
+ showsVerticalScrollIndicator: !horizontal ? showsScrollIndicator : false,
35
+ keyExtractor: (item, index) => String(item[keyExtractor] ?? index),
36
+ renderItem: ({
37
+ item,
38
+ index
39
+ }) => {
40
+ if (!itemTemplate || !renderChild) return null;
41
+ return renderChild(itemTemplate, {
42
+ item,
43
+ index
44
+ });
45
+ },
46
+ ItemSeparatorComponent: itemSeparatorHeight > 0 ? () => /*#__PURE__*/_jsx(View, {
47
+ style: {
48
+ height: itemSeparatorHeight
49
+ }
50
+ }) : undefined,
51
+ style: [padding !== undefined && {
52
+ padding
53
+ }, paddingTop !== undefined && {
54
+ paddingTop
55
+ }, paddingBottom !== undefined && {
56
+ paddingBottom
57
+ }, paddingLeft !== undefined && {
58
+ paddingLeft
59
+ }, paddingRight !== undefined && {
60
+ paddingRight
61
+ }, backgroundColor !== undefined && {
62
+ backgroundColor
63
+ }, flex !== undefined && {
64
+ flex
65
+ }]
66
+ });
67
+ }
68
+ //# sourceMappingURL=FlatListComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","FlatList","View","jsx","_jsx","FlatListComponent","props","rawChildren","renderChild","data","keyExtractor","horizontal","numColumns","padding","paddingTop","paddingBottom","paddingLeft","paddingRight","backgroundColor","flex","showsScrollIndicator","itemSeparatorHeight","itemTemplate","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","item","index","String","renderItem","ItemSeparatorComponent","style","height","undefined"],"sourceRoot":"../../../src","sources":["components/FlatListComponent.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,EAAEC,IAAI,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AA8B9C,OAAO,SAASC,iBAAiBA,CAAC;EAChCC,KAAK;EACLC,WAAW;EACXC;AACsC,CAAC,EAAE;EACzC,MAAM;IACJC,IAAI,GAAG,EAAE;IACTC,YAAY,GAAG,IAAI;IACnBC,UAAU,GAAG,KAAK;IAClBC,UAAU,GAAG,CAAC;IACdC,OAAO;IACPC,UAAU;IACVC,aAAa;IACbC,WAAW;IACXC,YAAY;IACZC,eAAe;IACfC,IAAI;IACJC,oBAAoB,GAAG,IAAI;IAC3BC,mBAAmB,GAAG;EACxB,CAAC,GAAGf,KAAK;;EAET;EACA,MAAMgB,YAAY,GAAGf,WAAW,GAAG,CAAC,CAAC;EAErC,oBACEH,IAAA,CAACH,QAAQ;IACPQ,IAAI,EAAEA,IAAK;IACXE,UAAU,EAAEA,UAAW;IACvBC,UAAU,EAAED,UAAU,GAAG,CAAC,GAAGC,UAAW;IACxCW,8BAA8B,EAAEZ,UAAU,GAAGS,oBAAoB,GAAG,KAAM;IAC1EI,4BAA4B,EAAE,CAACb,UAAU,GAAGS,oBAAoB,GAAG,KAAM;IACzEV,YAAY,EAAEA,CAACe,IAAI,EAAEC,KAAK,KACxBC,MAAM,CAAEF,IAAI,CAA6Bf,YAAY,CAAC,IAAIgB,KAAK,CAChE;IACDE,UAAU,EAAEA,CAAC;MAAEH,IAAI;MAAEC;IAAM,CAAC,KAAK;MAC/B,IAAI,CAACJ,YAAY,IAAI,CAACd,WAAW,EAAE,OAAO,IAAI;MAC9C,OAAOA,WAAW,CAACc,YAAY,EAAE;QAAEG,IAAI;QAAEC;MAAM,CAAC,CAAC;IACnD,CAAE;IACFG,sBAAsB,EACpBR,mBAAmB,GAAG,CAAC,GACnB,mBAAMjB,IAAA,CAACF,IAAI;MAAC4B,KAAK,EAAE;QAAEC,MAAM,EAAEV;MAAoB;IAAE,CAAE,CAAC,GACtDW,SACL;IACDF,KAAK,EAAE,CACLjB,OAAO,KAAKmB,SAAS,IAAI;MAAEnB;IAAQ,CAAC,EACpCC,UAAU,KAAKkB,SAAS,IAAI;MAAElB;IAAW,CAAC,EAC1CC,aAAa,KAAKiB,SAAS,IAAI;MAAEjB;IAAc,CAAC,EAChDC,WAAW,KAAKgB,SAAS,IAAI;MAAEhB;IAAY,CAAC,EAC5CC,YAAY,KAAKe,SAAS,IAAI;MAAEf;IAAa,CAAC,EAC9CC,eAAe,KAAKc,SAAS,IAAI;MAAEd;IAAgB,CAAC,EACpDC,IAAI,KAAKa,SAAS,IAAI;MAAEb;IAAK,CAAC;EAC9B,CACH,CAAC;AAEN","ignoreList":[]}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { Image, StyleSheet, View, Text } from 'react-native';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ export function ImageComponent({
7
+ props
8
+ }) {
9
+ const {
10
+ src,
11
+ alt = '',
12
+ width,
13
+ height = 200,
14
+ resizeMode = 'cover',
15
+ borderRadius
16
+ } = props;
17
+ if (!src) {
18
+ return /*#__PURE__*/_jsx(View, {
19
+ style: [styles.placeholder, width !== undefined && {
20
+ width
21
+ }, {
22
+ height
23
+ }, borderRadius !== undefined && {
24
+ borderRadius
25
+ }],
26
+ children: /*#__PURE__*/_jsx(Text, {
27
+ style: styles.placeholderText,
28
+ children: alt || 'No image'
29
+ })
30
+ });
31
+ }
32
+ return /*#__PURE__*/_jsx(Image, {
33
+ source: {
34
+ uri: src
35
+ },
36
+ accessibilityLabel: alt,
37
+ resizeMode: resizeMode,
38
+ style: [styles.image, width !== undefined && {
39
+ width
40
+ }, {
41
+ height
42
+ }, borderRadius !== undefined && {
43
+ borderRadius
44
+ }]
45
+ });
46
+ }
47
+ const styles = StyleSheet.create({
48
+ image: {
49
+ width: '100%'
50
+ },
51
+ placeholder: {
52
+ width: '100%',
53
+ backgroundColor: '#e5e7eb',
54
+ alignItems: 'center',
55
+ justifyContent: 'center'
56
+ },
57
+ placeholderText: {
58
+ color: '#9ca3af',
59
+ fontSize: 14
60
+ }
61
+ });
62
+ //# sourceMappingURL=ImageComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Image","StyleSheet","View","Text","jsx","_jsx","ImageComponent","props","src","alt","width","height","resizeMode","borderRadius","style","styles","placeholder","undefined","children","placeholderText","source","uri","accessibilityLabel","image","create","backgroundColor","alignItems","justifyContent","color","fontSize"],"sourceRoot":"../../../src","sources":["components/ImageComponent.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,EAAEC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAc7D,OAAO,SAASC,cAAcA,CAAC;EAAEC;AAA2C,CAAC,EAAE;EAC7E,MAAM;IACJC,GAAG;IACHC,GAAG,GAAG,EAAE;IACRC,KAAK;IACLC,MAAM,GAAG,GAAG;IACZC,UAAU,GAAG,OAAO;IACpBC;EACF,CAAC,GAAGN,KAAK;EAET,IAAI,CAACC,GAAG,EAAE;IACR,oBACEH,IAAA,CAACH,IAAI;MACHY,KAAK,EAAE,CACLC,MAAM,CAACC,WAAW,EAClBN,KAAK,KAAKO,SAAS,IAAI;QAAEP;MAAM,CAAC,EAChC;QAAEC;MAAO,CAAC,EACVE,YAAY,KAAKI,SAAS,IAAI;QAAEJ;MAAa,CAAC,CAC9C;MAAAK,QAAA,eAEFb,IAAA,CAACF,IAAI;QAACW,KAAK,EAAEC,MAAM,CAACI,eAAgB;QAAAD,QAAA,EAAET,GAAG,IAAI;MAAU,CAAO;IAAC,CAC3D,CAAC;EAEX;EAEA,oBACEJ,IAAA,CAACL,KAAK;IACJoB,MAAM,EAAE;MAAEC,GAAG,EAAEb;IAAI,CAAE;IACrBc,kBAAkB,EAAEb,GAAI;IACxBG,UAAU,EAAEA,UAAW;IACvBE,KAAK,EAAE,CACLC,MAAM,CAACQ,KAAK,EACZb,KAAK,KAAKO,SAAS,IAAI;MAAEP;IAAM,CAAC,EAChC;MAAEC;IAAO,CAAC,EACVE,YAAY,KAAKI,SAAS,IAAI;MAAEJ;IAAa,CAAC;EAC9C,CACH,CAAC;AAEN;AAEA,MAAME,MAAM,GAAGd,UAAU,CAACuB,MAAM,CAAC;EAC/BD,KAAK,EAAE;IACLb,KAAK,EAAE;EACT,CAAC;EACDM,WAAW,EAAE;IACXN,KAAK,EAAE,MAAM;IACbe,eAAe,EAAE,SAAS;IAC1BC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDR,eAAe,EAAE;IACfS,KAAK,EAAE,SAAS;IAChBC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC","ignoreList":[]}