@reown/appkit-cdn 1.8.15-e95f0d61c614677233e13ea9f055d3f75fcdba81.0 → 1.8.15-viem-upgrade.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) hide show
  1. package/package.json +10 -10
  2. package/dist/ConstantsUtil-C2Ed2H2U.js +0 -24
  3. package/dist/ConstantsUtil-C2Ed2H2U.js.map +0 -1
  4. package/dist/ExchangeController-h_95bqSB.js +0 -265
  5. package/dist/ExchangeController-h_95bqSB.js.map +0 -1
  6. package/dist/HelpersUtil-xYeUfp1A.js +0 -141
  7. package/dist/HelpersUtil-xYeUfp1A.js.map +0 -1
  8. package/dist/NavigationUtil-Ci15WS4K.js +0 -9
  9. package/dist/NavigationUtil-Ci15WS4K.js.map +0 -1
  10. package/dist/PhArrowCircleDown-B41iUlWV.js +0 -74
  11. package/dist/PhArrowCircleDown-B41iUlWV.js.map +0 -1
  12. package/dist/PhArrowClockwise-BY8u5n41.js +0 -74
  13. package/dist/PhArrowClockwise-BY8u5n41.js.map +0 -1
  14. package/dist/PhArrowDown-ClD8GZ65.js +0 -74
  15. package/dist/PhArrowDown-ClD8GZ65.js.map +0 -1
  16. package/dist/PhArrowLeft-B8MXUz60.js +0 -74
  17. package/dist/PhArrowLeft-B8MXUz60.js.map +0 -1
  18. package/dist/PhArrowRight-Cewa_Slb.js +0 -74
  19. package/dist/PhArrowRight-Cewa_Slb.js.map +0 -1
  20. package/dist/PhArrowSquareOut-whgWh-lD.js +0 -74
  21. package/dist/PhArrowSquareOut-whgWh-lD.js.map +0 -1
  22. package/dist/PhArrowUp-B1HXBxie.js +0 -74
  23. package/dist/PhArrowUp-B1HXBxie.js.map +0 -1
  24. package/dist/PhArrowUpRight-CfFYe4FP.js +0 -74
  25. package/dist/PhArrowUpRight-CfFYe4FP.js.map +0 -1
  26. package/dist/PhArrowsClockwise-gL1Gkrtx.js +0 -74
  27. package/dist/PhArrowsClockwise-gL1Gkrtx.js.map +0 -1
  28. package/dist/PhArrowsDownUp-BqUEdUQr.js +0 -74
  29. package/dist/PhArrowsDownUp-BqUEdUQr.js.map +0 -1
  30. package/dist/PhArrowsLeftRight-BlZU63eY.js +0 -74
  31. package/dist/PhArrowsLeftRight-BlZU63eY.js.map +0 -1
  32. package/dist/PhBank-gbg_jlI7.js +0 -74
  33. package/dist/PhBank-gbg_jlI7.js.map +0 -1
  34. package/dist/PhBrowser-CMlD-YJw.js +0 -74
  35. package/dist/PhBrowser-CMlD-YJw.js.map +0 -1
  36. package/dist/PhCaretDown-3agTO8Jp.js +0 -74
  37. package/dist/PhCaretDown-3agTO8Jp.js.map +0 -1
  38. package/dist/PhCaretLeft-_MTni7Z5.js +0 -74
  39. package/dist/PhCaretLeft-_MTni7Z5.js.map +0 -1
  40. package/dist/PhCaretRight-Ci9fAHPG.js +0 -74
  41. package/dist/PhCaretRight-Ci9fAHPG.js.map +0 -1
  42. package/dist/PhCaretUp-vFG4Fame.js +0 -74
  43. package/dist/PhCaretUp-vFG4Fame.js.map +0 -1
  44. package/dist/PhCheck-mChGK6K_.js +0 -74
  45. package/dist/PhCheck-mChGK6K_.js.map +0 -1
  46. package/dist/PhCircleHalf-DZ7-vfxf.js +0 -74
  47. package/dist/PhCircleHalf-DZ7-vfxf.js.map +0 -1
  48. package/dist/PhClock-Bc5XWXb6.js +0 -74
  49. package/dist/PhClock-Bc5XWXb6.js.map +0 -1
  50. package/dist/PhCompass-Cu2MB-55.js +0 -74
  51. package/dist/PhCompass-Cu2MB-55.js.map +0 -1
  52. package/dist/PhCopy-BGUjyTts.js +0 -74
  53. package/dist/PhCopy-BGUjyTts.js.map +0 -1
  54. package/dist/PhCreditCard-vxFWID4B.js +0 -74
  55. package/dist/PhCreditCard-vxFWID4B.js.map +0 -1
  56. package/dist/PhCurrencyDollar-BfOoDhJr.js +0 -74
  57. package/dist/PhCurrencyDollar-BfOoDhJr.js.map +0 -1
  58. package/dist/PhDesktop-Cq6jwzbS.js +0 -74
  59. package/dist/PhDesktop-Cq6jwzbS.js.map +0 -1
  60. package/dist/PhDeviceMobile-BCtTp6jj.js +0 -74
  61. package/dist/PhDeviceMobile-BCtTp6jj.js.map +0 -1
  62. package/dist/PhDotsThree-BGgD-WIO.js +0 -74
  63. package/dist/PhDotsThree-BGgD-WIO.js.map +0 -1
  64. package/dist/PhEnvelope-CQiV0-zG.js +0 -74
  65. package/dist/PhEnvelope-CQiV0-zG.js.map +0 -1
  66. package/dist/PhFunnelSimple-BHGtxTNf.js +0 -74
  67. package/dist/PhFunnelSimple-BHGtxTNf.js.map +0 -1
  68. package/dist/PhGlobe-Q8oVkf6X.js +0 -74
  69. package/dist/PhGlobe-Q8oVkf6X.js.map +0 -1
  70. package/dist/PhIdentificationCard-Cz9LzvVR.js +0 -74
  71. package/dist/PhIdentificationCard-Cz9LzvVR.js.map +0 -1
  72. package/dist/PhImage-CP5_qKk-.js +0 -74
  73. package/dist/PhImage-CP5_qKk-.js.map +0 -1
  74. package/dist/PhInfo-CTlE1X9Z.js +0 -74
  75. package/dist/PhInfo-CTlE1X9Z.js.map +0 -1
  76. package/dist/PhLightbulb-CcLpnAAb.js +0 -74
  77. package/dist/PhLightbulb-CcLpnAAb.js.map +0 -1
  78. package/dist/PhMagnifyingGlass-n58GUAck.js +0 -74
  79. package/dist/PhMagnifyingGlass-n58GUAck.js.map +0 -1
  80. package/dist/PhPaperPlaneRight-C0sf2XV8.js +0 -74
  81. package/dist/PhPaperPlaneRight-C0sf2XV8.js.map +0 -1
  82. package/dist/PhPlus-BJxvt7Uc.js +0 -74
  83. package/dist/PhPlus-BJxvt7Uc.js.map +0 -1
  84. package/dist/PhPower-BvktxO2-.js +0 -74
  85. package/dist/PhPower-BvktxO2-.js.map +0 -1
  86. package/dist/PhPuzzlePiece-CDDyUPYo.js +0 -74
  87. package/dist/PhPuzzlePiece-CDDyUPYo.js.map +0 -1
  88. package/dist/PhQrCode-BlGI8529.js +0 -74
  89. package/dist/PhQrCode-BlGI8529.js.map +0 -1
  90. package/dist/PhQuestion-DGZj6iDZ.js +0 -74
  91. package/dist/PhQuestion-DGZj6iDZ.js.map +0 -1
  92. package/dist/PhQuestionMark-CTmeI7MQ.js +0 -74
  93. package/dist/PhQuestionMark-CTmeI7MQ.js.map +0 -1
  94. package/dist/PhSealCheck-BSlqkxnH.js +0 -74
  95. package/dist/PhSealCheck-BSlqkxnH.js.map +0 -1
  96. package/dist/PhSignOut-CEXxlRk3.js +0 -74
  97. package/dist/PhSignOut-CEXxlRk3.js.map +0 -1
  98. package/dist/PhSpinner-Do1pY8fG.js +0 -74
  99. package/dist/PhSpinner-Do1pY8fG.js.map +0 -1
  100. package/dist/PhTrash-JNKavmpg.js +0 -74
  101. package/dist/PhTrash-JNKavmpg.js.map +0 -1
  102. package/dist/PhUser-BW7E-xYg.js +0 -74
  103. package/dist/PhUser-BW7E-xYg.js.map +0 -1
  104. package/dist/PhVault-mzxUgBYN.js +0 -74
  105. package/dist/PhVault-mzxUgBYN.js.map +0 -1
  106. package/dist/PhWallet-BR9JThKU.js +0 -74
  107. package/dist/PhWallet-BR9JThKU.js.map +0 -1
  108. package/dist/PhWarning-DxuQ70WM.js +0 -74
  109. package/dist/PhWarning-DxuQ70WM.js.map +0 -1
  110. package/dist/PhWarningCircle-DCI0JC1F.js +0 -74
  111. package/dist/PhWarningCircle-DCI0JC1F.js.map +0 -1
  112. package/dist/PhX-CWNXqpGn.js +0 -74
  113. package/dist/PhX-CWNXqpGn.js.map +0 -1
  114. package/dist/SwapController-CwWMKLPL.js +0 -684
  115. package/dist/SwapController-CwWMKLPL.js.map +0 -1
  116. package/dist/WebCryptoP256-B0F1BoHd.js +0 -3299
  117. package/dist/WebCryptoP256-B0F1BoHd.js.map +0 -1
  118. package/dist/add-emiZFWKE.js +0 -20
  119. package/dist/add-emiZFWKE.js.map +0 -1
  120. package/dist/all-wallets-BsUQMPgW.js +0 -11
  121. package/dist/all-wallets-BsUQMPgW.js.map +0 -1
  122. package/dist/app-store-C_L7BoYc.js +0 -22
  123. package/dist/app-store-C_L7BoYc.js.map +0 -1
  124. package/dist/appkit-DY7XpK4K.js +0 -118074
  125. package/dist/appkit-DY7XpK4K.js.map +0 -1
  126. package/dist/appkit.js +0 -11
  127. package/dist/appkit.js.map +0 -1
  128. package/dist/apple-c3IhsqlY.js +0 -23
  129. package/dist/apple-c3IhsqlY.js.map +0 -1
  130. package/dist/arrow-bottom-BZnD_9In.js +0 -13
  131. package/dist/arrow-bottom-BZnD_9In.js.map +0 -1
  132. package/dist/arrow-bottom-circle-C9HRc3sW.js +0 -16
  133. package/dist/arrow-bottom-circle-C9HRc3sW.js.map +0 -1
  134. package/dist/arrow-left-DFlXkOXB.js +0 -13
  135. package/dist/arrow-left-DFlXkOXB.js.map +0 -1
  136. package/dist/arrow-right-_EPGORWI.js +0 -13
  137. package/dist/arrow-right-_EPGORWI.js.map +0 -1
  138. package/dist/arrow-top-CrBCvUsj.js +0 -13
  139. package/dist/arrow-top-CrBCvUsj.js.map +0 -1
  140. package/dist/async-directive-CEBoIWb8.js +0 -73
  141. package/dist/async-directive-CEBoIWb8.js.map +0 -1
  142. package/dist/bank-IrtkQnW0.js +0 -19
  143. package/dist/bank-IrtkQnW0.js.map +0 -1
  144. package/dist/basic-CCVK4Xb-.js +0 -4914
  145. package/dist/basic-CCVK4Xb-.js.map +0 -1
  146. package/dist/browser-5XoTmr4n.js +0 -1991
  147. package/dist/browser-5XoTmr4n.js.map +0 -1
  148. package/dist/browser-DGJ1T57R.js +0 -19
  149. package/dist/browser-DGJ1T57R.js.map +0 -1
  150. package/dist/card-euIrImBb.js +0 -19
  151. package/dist/card-euIrImBb.js.map +0 -1
  152. package/dist/ccip-BnHcw2Q9.js +0 -164
  153. package/dist/ccip-BnHcw2Q9.js.map +0 -1
  154. package/dist/checkmark-DOfVZz7v.js +0 -16
  155. package/dist/checkmark-DOfVZz7v.js.map +0 -1
  156. package/dist/checkmark-bold-CBk9rneH.js +0 -13
  157. package/dist/checkmark-bold-CBk9rneH.js.map +0 -1
  158. package/dist/chevron-bottom-DqxWxVi0.js +0 -13
  159. package/dist/chevron-bottom-DqxWxVi0.js.map +0 -1
  160. package/dist/chevron-left-JKsYvrX0.js +0 -13
  161. package/dist/chevron-left-JKsYvrX0.js.map +0 -1
  162. package/dist/chevron-right-0IHVmnlN.js +0 -13
  163. package/dist/chevron-right-0IHVmnlN.js.map +0 -1
  164. package/dist/chevron-top-q1UXuE7C.js +0 -13
  165. package/dist/chevron-top-q1UXuE7C.js.map +0 -1
  166. package/dist/chrome-store-C1gUHLGC.js +0 -66
  167. package/dist/chrome-store-C1gUHLGC.js.map +0 -1
  168. package/dist/class-map-CqyLxUs0.js +0 -101
  169. package/dist/class-map-CqyLxUs0.js.map +0 -1
  170. package/dist/clock-CRgBEN3N.js +0 -13
  171. package/dist/clock-CRgBEN3N.js.map +0 -1
  172. package/dist/close-DqwtanuV.js +0 -13
  173. package/dist/close-DqwtanuV.js.map +0 -1
  174. package/dist/clsx.m-D57qXwfE.js +0 -21
  175. package/dist/clsx.m-D57qXwfE.js.map +0 -1
  176. package/dist/coinPlaceholder-DGuEyon3.js +0 -13
  177. package/dist/coinPlaceholder-DGuEyon3.js.map +0 -1
  178. package/dist/compass-D3Lk_JmD.js +0 -13
  179. package/dist/compass-D3Lk_JmD.js.map +0 -1
  180. package/dist/copy-0bHy8N_r.js +0 -20
  181. package/dist/copy-0bHy8N_r.js.map +0 -1
  182. package/dist/core-C111yg8v.js +0 -16288
  183. package/dist/core-C111yg8v.js.map +0 -1
  184. package/dist/cursor-Bnlh8YKu.js +0 -8
  185. package/dist/cursor-Bnlh8YKu.js.map +0 -1
  186. package/dist/cursor-transparent-BqTVTA3D.js +0 -17
  187. package/dist/cursor-transparent-BqTVTA3D.js.map +0 -1
  188. package/dist/data-capture-BtdmOx65.js +0 -549
  189. package/dist/data-capture-BtdmOx65.js.map +0 -1
  190. package/dist/desktop-BKaI6I0c.js +0 -14
  191. package/dist/desktop-BKaI6I0c.js.map +0 -1
  192. package/dist/disconnect-CJtwIHdJ.js +0 -13
  193. package/dist/disconnect-CJtwIHdJ.js.map +0 -1
  194. package/dist/discord-oHqb6ClE.js +0 -22
  195. package/dist/discord-oHqb6ClE.js.map +0 -1
  196. package/dist/email-9QNGgeQQ.js +0 -421
  197. package/dist/email-9QNGgeQQ.js.map +0 -1
  198. package/dist/embedded-wallet-C_CLs-ZL.js +0 -952
  199. package/dist/embedded-wallet-C_CLs-ZL.js.map +0 -1
  200. package/dist/etherscan-Dkkz1Mfh.js +0 -11
  201. package/dist/etherscan-Dkkz1Mfh.js.map +0 -1
  202. package/dist/exclamation-triangle-BQbUCEhi.js +0 -9
  203. package/dist/exclamation-triangle-BQbUCEhi.js.map +0 -1
  204. package/dist/extension-C2hKzEZZ.js +0 -13
  205. package/dist/extension-C2hKzEZZ.js.map +0 -1
  206. package/dist/external-link-CIjsnb3X.js +0 -13
  207. package/dist/external-link-CIjsnb3X.js.map +0 -1
  208. package/dist/facebook-1Hufe3sI.js +0 -31
  209. package/dist/facebook-1Hufe3sI.js.map +0 -1
  210. package/dist/farcaster-DlSxA8AD.js +0 -17
  211. package/dist/farcaster-DlSxA8AD.js.map +0 -1
  212. package/dist/features-CubAsZN1.js +0 -319
  213. package/dist/features-CubAsZN1.js.map +0 -1
  214. package/dist/filters-Bx5zOyri.js +0 -13
  215. package/dist/filters-Bx5zOyri.js.map +0 -1
  216. package/dist/github-CT_NtR6h.js +0 -23
  217. package/dist/github-CT_NtR6h.js.map +0 -1
  218. package/dist/google-Dkv0ZPY6.js +0 -23
  219. package/dist/google-Dkv0ZPY6.js.map +0 -1
  220. package/dist/hashTypedData-Q6QDIxse.js +0 -262
  221. package/dist/hashTypedData-Q6QDIxse.js.map +0 -1
  222. package/dist/help-circle-Dh0SYux9.js +0 -17
  223. package/dist/help-circle-Dh0SYux9.js.map +0 -1
  224. package/dist/id-Dc_gfIHE.js +0 -17
  225. package/dist/id-Dc_gfIHE.js.map +0 -1
  226. package/dist/if-defined-B5CxFQec.js +0 -11
  227. package/dist/if-defined-B5CxFQec.js.map +0 -1
  228. package/dist/image-DPwaTi09.js +0 -9
  229. package/dist/image-DPwaTi09.js.map +0 -1
  230. package/dist/index-AsDH-m9e.js +0 -456
  231. package/dist/index-AsDH-m9e.js.map +0 -1
  232. package/dist/index-B-AePZns.js +0 -1514
  233. package/dist/index-B-AePZns.js.map +0 -1
  234. package/dist/index-B0nuzWGd.js +0 -153
  235. package/dist/index-B0nuzWGd.js.map +0 -1
  236. package/dist/index-BFK8rn8f.js +0 -985
  237. package/dist/index-BFK8rn8f.js.map +0 -1
  238. package/dist/index-BGtDVhOX.js +0 -218
  239. package/dist/index-BGtDVhOX.js.map +0 -1
  240. package/dist/index-BXRoNn9X.js +0 -147
  241. package/dist/index-BXRoNn9X.js.map +0 -1
  242. package/dist/index-BYnWTIsP.js +0 -257
  243. package/dist/index-BYnWTIsP.js.map +0 -1
  244. package/dist/index-B_yrV2-r.js +0 -7258
  245. package/dist/index-B_yrV2-r.js.map +0 -1
  246. package/dist/index-BcCvzVg5.js +0 -716
  247. package/dist/index-BcCvzVg5.js.map +0 -1
  248. package/dist/index-BeSFhM_p.js +0 -120
  249. package/dist/index-BeSFhM_p.js.map +0 -1
  250. package/dist/index-BgnNrRDq.js +0 -967
  251. package/dist/index-BgnNrRDq.js.map +0 -1
  252. package/dist/index-BqpTTobE.js +0 -984
  253. package/dist/index-BqpTTobE.js.map +0 -1
  254. package/dist/index-BxPoDEMu.js +0 -7481
  255. package/dist/index-BxPoDEMu.js.map +0 -1
  256. package/dist/index-ByLuz3My.js +0 -182
  257. package/dist/index-ByLuz3My.js.map +0 -1
  258. package/dist/index-BzPjzg08.js +0 -62
  259. package/dist/index-BzPjzg08.js.map +0 -1
  260. package/dist/index-C2E-8AS5.js +0 -249
  261. package/dist/index-C2E-8AS5.js.map +0 -1
  262. package/dist/index-C4icMnjM.js +0 -521
  263. package/dist/index-C4icMnjM.js.map +0 -1
  264. package/dist/index-C8av2G6v.js +0 -136
  265. package/dist/index-C8av2G6v.js.map +0 -1
  266. package/dist/index-CE9D5nR3.js +0 -441
  267. package/dist/index-CE9D5nR3.js.map +0 -1
  268. package/dist/index-CI83C2eb.js +0 -124
  269. package/dist/index-CI83C2eb.js.map +0 -1
  270. package/dist/index-CK8vtUMI.js +0 -181
  271. package/dist/index-CK8vtUMI.js.map +0 -1
  272. package/dist/index-CY_gr4c7.js +0 -286
  273. package/dist/index-CY_gr4c7.js.map +0 -1
  274. package/dist/index-CZmyXVNe.js +0 -198
  275. package/dist/index-CZmyXVNe.js.map +0 -1
  276. package/dist/index-CemyBXIP.js +0 -8825
  277. package/dist/index-CemyBXIP.js.map +0 -1
  278. package/dist/index-CkrKEace.js +0 -180
  279. package/dist/index-CkrKEace.js.map +0 -1
  280. package/dist/index-Cl94CXn7.js +0 -110
  281. package/dist/index-Cl94CXn7.js.map +0 -1
  282. package/dist/index-CwK6o8Hz.js +0 -18322
  283. package/dist/index-CwK6o8Hz.js.map +0 -1
  284. package/dist/index-Cy1DAN6W.js +0 -542
  285. package/dist/index-Cy1DAN6W.js.map +0 -1
  286. package/dist/index-CziMS40-.js +0 -281
  287. package/dist/index-CziMS40-.js.map +0 -1
  288. package/dist/index-D6qUKJRD.js +0 -1178
  289. package/dist/index-D6qUKJRD.js.map +0 -1
  290. package/dist/index-DDYN4XOm.js +0 -211
  291. package/dist/index-DDYN4XOm.js.map +0 -1
  292. package/dist/index-DHcBAN0Q.js +0 -9350
  293. package/dist/index-DHcBAN0Q.js.map +0 -1
  294. package/dist/index-DPEv06yg.js +0 -520
  295. package/dist/index-DPEv06yg.js.map +0 -1
  296. package/dist/index-DShG1B5f.js +0 -131
  297. package/dist/index-DShG1B5f.js.map +0 -1
  298. package/dist/index-DTOiAL1i.js +0 -52
  299. package/dist/index-DTOiAL1i.js.map +0 -1
  300. package/dist/index-DVyI9O5i.js +0 -92
  301. package/dist/index-DVyI9O5i.js.map +0 -1
  302. package/dist/index-DvXemhcG.js +0 -611
  303. package/dist/index-DvXemhcG.js.map +0 -1
  304. package/dist/index-Fvw4sbfL.js +0 -198
  305. package/dist/index-Fvw4sbfL.js.map +0 -1
  306. package/dist/index-PiXpeN5n.js +0 -3987
  307. package/dist/index-PiXpeN5n.js.map +0 -1
  308. package/dist/index-btvyw5xW.js +0 -126
  309. package/dist/index-btvyw5xW.js.map +0 -1
  310. package/dist/index-dsKNiJml.js +0 -70
  311. package/dist/index-dsKNiJml.js.map +0 -1
  312. package/dist/index-gEaD8hfK.js +0 -109
  313. package/dist/index-gEaD8hfK.js.map +0 -1
  314. package/dist/index-isOxTzum.js +0 -147
  315. package/dist/index-isOxTzum.js.map +0 -1
  316. package/dist/index-nWSgWKaF.js +0 -2277
  317. package/dist/index-nWSgWKaF.js.map +0 -1
  318. package/dist/index-qQiVpif7.js +0 -1372
  319. package/dist/index-qQiVpif7.js.map +0 -1
  320. package/dist/index-tv-dalA1.js +0 -73
  321. package/dist/index-tv-dalA1.js.map +0 -1
  322. package/dist/index.es-BzCqYMc8.js +0 -8391
  323. package/dist/index.es-BzCqYMc8.js.map +0 -1
  324. package/dist/info-4ssFoXJS.js +0 -8
  325. package/dist/info-4ssFoXJS.js.map +0 -1
  326. package/dist/info-circle-BnqHwvcX.js +0 -17
  327. package/dist/info-circle-BnqHwvcX.js.map +0 -1
  328. package/dist/jsxRuntime.module-CWsrm3KZ.js +0 -14
  329. package/dist/jsxRuntime.module-CWsrm3KZ.js.map +0 -1
  330. package/dist/lightbulb-BEEbBBZQ.js +0 -8
  331. package/dist/lightbulb-BEEbBBZQ.js.map +0 -1
  332. package/dist/localBatchGatewayRequest-Dryp85EG.js +0 -103
  333. package/dist/localBatchGatewayRequest-Dryp85EG.js.map +0 -1
  334. package/dist/mail-CJLCh290.js +0 -13
  335. package/dist/mail-CJLCh290.js.map +0 -1
  336. package/dist/metamask-sdk-4u4X6Xn3.js +0 -16699
  337. package/dist/metamask-sdk-4u4X6Xn3.js.map +0 -1
  338. package/dist/mobile-Deau0Za4.js +0 -14
  339. package/dist/mobile-Deau0Za4.js.map +0 -1
  340. package/dist/more-BeXo-Pwn.js +0 -16
  341. package/dist/more-BeXo-Pwn.js.map +0 -1
  342. package/dist/native-DOlbMZnh.js +0 -17
  343. package/dist/native-DOlbMZnh.js.map +0 -1
  344. package/dist/network-placeholder-BoityKSt.js +0 -19
  345. package/dist/network-placeholder-BoityKSt.js.map +0 -1
  346. package/dist/nftPlaceholder-PTHT5Ulj.js +0 -13
  347. package/dist/nftPlaceholder-PTHT5Ulj.js.map +0 -1
  348. package/dist/off-BWWypY2E.js +0 -13
  349. package/dist/off-BWWypY2E.js.map +0 -1
  350. package/dist/onramp-DnL6ChSq.js +0 -979
  351. package/dist/onramp-DnL6ChSq.js.map +0 -1
  352. package/dist/parseAbiParameters-DfJcIE_w.js +0 -757
  353. package/dist/parseAbiParameters-DfJcIE_w.js.map +0 -1
  354. package/dist/parseSignature-CxTkG24t.js +0 -4690
  355. package/dist/parseSignature-CxTkG24t.js.map +0 -1
  356. package/dist/pay-with-exchange-CpuGLivJ.js +0 -603
  357. package/dist/pay-with-exchange-CpuGLivJ.js.map +0 -1
  358. package/dist/play-store-DkxQRJyA.js +0 -37
  359. package/dist/play-store-DkxQRJyA.js.map +0 -1
  360. package/dist/plus-DaGtBhNd.js +0 -18
  361. package/dist/plus-DaGtBhNd.js.map +0 -1
  362. package/dist/property-8UcTqffH.js +0 -623
  363. package/dist/property-8UcTqffH.js.map +0 -1
  364. package/dist/qr-code-DGvMTPaF.js +0 -11
  365. package/dist/qr-code-DGvMTPaF.js.map +0 -1
  366. package/dist/receive-CVWmkRpl.js +0 -262
  367. package/dist/receive-CVWmkRpl.js.map +0 -1
  368. package/dist/recycle-horizontal-DDVEtj7J.js +0 -14
  369. package/dist/recycle-horizontal-DDVEtj7J.js.map +0 -1
  370. package/dist/ref-DAjgVrGH.js +0 -43
  371. package/dist/ref-DAjgVrGH.js.map +0 -1
  372. package/dist/refresh-BmNFE8Pg.js +0 -13
  373. package/dist/refresh-BmNFE8Pg.js.map +0 -1
  374. package/dist/reown-logo-B-UO-SeO.js +0 -17
  375. package/dist/reown-logo-B-UO-SeO.js.map +0 -1
  376. package/dist/search-DR_B_4SQ.js +0 -13
  377. package/dist/search-DR_B_4SQ.js.map +0 -1
  378. package/dist/secp256k1-DnXqhCKw.js +0 -2031
  379. package/dist/secp256k1-DnXqhCKw.js.map +0 -1
  380. package/dist/send-BNU8VrfM.js +0 -20
  381. package/dist/send-BNU8VrfM.js.map +0 -1
  382. package/dist/send-DHzM4I8V.js +0 -1365
  383. package/dist/send-DHzM4I8V.js.map +0 -1
  384. package/dist/socials-DsoFf1B8.js +0 -796
  385. package/dist/socials-DsoFf1B8.js.map +0 -1
  386. package/dist/swapHorizontal-BQOjfwRW.js +0 -13
  387. package/dist/swapHorizontal-BQOjfwRW.js.map +0 -1
  388. package/dist/swapHorizontalBold-DMKR9Zys.js +0 -13
  389. package/dist/swapHorizontalBold-DMKR9Zys.js.map +0 -1
  390. package/dist/swapHorizontalMedium-DVsqt18q.js +0 -21
  391. package/dist/swapHorizontalMedium-DVsqt18q.js.map +0 -1
  392. package/dist/swapHorizontalRoundedBold-CM5U-o8X.js +0 -13
  393. package/dist/swapHorizontalRoundedBold-CM5U-o8X.js.map +0 -1
  394. package/dist/swapVertical-P9UnfCR-.js +0 -13
  395. package/dist/swapVertical-P9UnfCR-.js.map +0 -1
  396. package/dist/swaps-F0roy6mK.js +0 -2121
  397. package/dist/swaps-F0roy6mK.js.map +0 -1
  398. package/dist/telegram-Bd4DGbnk.js +0 -21
  399. package/dist/telegram-Bd4DGbnk.js.map +0 -1
  400. package/dist/three-dots-M94oc7-3.js +0 -10
  401. package/dist/three-dots-M94oc7-3.js.map +0 -1
  402. package/dist/transactions-DwtZvXx1.js +0 -38
  403. package/dist/transactions-DwtZvXx1.js.map +0 -1
  404. package/dist/twitch--lJ-X_Y6.js +0 -23
  405. package/dist/twitch--lJ-X_Y6.js.map +0 -1
  406. package/dist/twitterIcon-DDp_lnzc.js +0 -11
  407. package/dist/twitterIcon-DDp_lnzc.js.map +0 -1
  408. package/dist/vanilla-CgG5xMJO.js +0 -448
  409. package/dist/vanilla-CgG5xMJO.js.map +0 -1
  410. package/dist/verify-Doojt-tK.js +0 -13
  411. package/dist/verify-Doojt-tK.js.map +0 -1
  412. package/dist/verify-filled-EHdbo2B7.js +0 -13
  413. package/dist/verify-filled-EHdbo2B7.js.map +0 -1
  414. package/dist/w3m-modal-CVsid-gN.js +0 -1725
  415. package/dist/w3m-modal-CVsid-gN.js.map +0 -1
  416. package/dist/w3m-modal-CZ4s4A2R.js +0 -2008
  417. package/dist/w3m-modal-CZ4s4A2R.js.map +0 -1
  418. package/dist/wallet-CowxEORz.js +0 -13
  419. package/dist/wallet-CowxEORz.js.map +0 -1
  420. package/dist/wallet-placeholder-B7p7Oae2.js +0 -19
  421. package/dist/wallet-placeholder-B7p7Oae2.js.map +0 -1
  422. package/dist/wallet-standard-BUMbKbZo.js +0 -523
  423. package/dist/wallet-standard-BUMbKbZo.js.map +0 -1
  424. package/dist/walletconnect-CKMr88Pk.js +0 -39
  425. package/dist/walletconnect-CKMr88Pk.js.map +0 -1
  426. package/dist/warning-circle-CjIPgJnm.js +0 -17
  427. package/dist/warning-circle-CjIPgJnm.js.map +0 -1
  428. package/dist/x-CaxhfhgU.js +0 -17
  429. package/dist/x-CaxhfhgU.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"core-C111yg8v.js","sources":["../../../node_modules/.pnpm/@reown+appkit-common@1.7.8_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/@reown/appkit-common/dist/esm/src/utils/ConstantsUtil.js","../../../node_modules/.pnpm/@reown+appkit-common@1.7.8_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/@reown/appkit-common/dist/esm/src/utils/NetworkUtil.js","../../../node_modules/.pnpm/@reown+appkit-common@1.7.8_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/@reown/appkit-common/dist/esm/src/utils/NumberUtil.js","../../../node_modules/.pnpm/@reown+appkit-common@1.7.8_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/@reown/appkit-common/dist/esm/src/contracts/erc20.js","../../../node_modules/.pnpm/@reown+appkit-common@1.7.8_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/@reown/appkit-common/dist/esm/src/contracts/swap.js","../../../node_modules/.pnpm/@reown+appkit-common@1.7.8_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/@reown/appkit-common/dist/esm/src/contracts/usdt.js","../../../node_modules/.pnpm/@reown+appkit-common@1.7.8_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/@reown/appkit-common/dist/esm/src/utils/ContractUtil.js","../../../node_modules/.pnpm/@reown+appkit-common@1.7.8_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/@reown/appkit-common/dist/esm/src/utils/ParseUtil.js","../../../node_modules/.pnpm/@reown+appkit-common@1.7.8_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/@reown/appkit-common/dist/esm/src/utils/SafeLocalStorage.js","../../../node_modules/.pnpm/@reown+appkit-common@1.7.8_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/@reown/appkit-common/dist/esm/src/utils/ThemeUtil.js","../../../node_modules/.pnpm/proxy-compare@2.6.0/node_modules/proxy-compare/dist/index.modern.js","../../../node_modules/.pnpm/valtio@1.13.2_@types+react@19.2.2_react@19.2.1/node_modules/valtio/esm/vanilla.mjs","../../../node_modules/.pnpm/valtio@1.13.2_@types+react@19.2.2_react@19.2.1/node_modules/valtio/esm/vanilla/utils.mjs","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/utils/ConstantsUtil.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/utils/StorageUtil.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/utils/CoreHelperUtil.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/utils/FetchUtil.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/utils/OptionsUtil.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/controllers/OptionsController.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/controllers/TelemetryController.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/utils/withErrorBoundary.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/utils/MobileWallet.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/controllers/AssetController.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/utils/AssetUtil.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/controllers/AlertController.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/controllers/EventsController.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/controllers/ApiController.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/controllers/RouterController.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/controllers/ThemeController.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/controllers/ConnectorController.js","../../../node_modules/.pnpm/@reown+appkit-wallet@1.7.8_bufferutil@4.0.9_typescript@5.9.2_utf-8-validate@5.0.10/node_modules/@reown/appkit-wallet/dist/esm/src/W3mFrameConstants.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/controllers/SnackController.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/controllers/TransactionsController.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/controllers/ConnectionController.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/controllers/PublicStateController.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/utils/ERC7811Util.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/utils/SendApiUtil.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/controllers/SendController.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/controllers/ChainController.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/controllers/BlockchainApiController.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/controllers/AccountController.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/utils/NetworkUtil.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/controllers/ModalController.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/controllers/OnRampController.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/utils/EnsUtil.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/controllers/EnsController.js","../../../node_modules/.pnpm/@walletconnect+types@2.21.0_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.8.1/node_modules/@walletconnect/types/dist/index.es.js","../../../node_modules/.pnpm/@walletconnect+utils@2.21.0_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5.8.1_typescr_7xm4lvkdsvztqyrbmgkbbf2x3u/node_modules/@walletconnect/utils/dist/index.es.js","../../../node_modules/.pnpm/@walletconnect+core@2.21.0_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5.8.1_typescri_axww2dvqvvhu3ng72aaqv2pm6a/node_modules/@walletconnect/core/dist/index.es.js","../../../node_modules/.pnpm/@walletconnect+sign-client@2.21.0_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5.8.1_t_wkycikqs4a73xdxrz7xyqr6vvy/node_modules/@walletconnect/sign-client/dist/index.es.js","../../../node_modules/.pnpm/@walletconnect+universal-provider@2.21.0_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@_bvv54xcmhvz54nhnyylooeji5a/node_modules/@walletconnect/universal-provider/dist/index.es.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/utils/SIWXUtil.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/utils/ConnectorControllerUtil.js","../../../node_modules/.pnpm/@reown+appkit-controllers@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_7eykr4elkw2toybvqpr3ugdf2i/node_modules/@reown/appkit-controllers/dist/esm/src/utils/ChainControllerUtil.js","../../../node_modules/.pnpm/@reown+appkit-utils@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ior_f7jlo4xk5ooaud6cvweshox2mq/node_modules/@reown/appkit-utils/dist/esm/src/ConstantsUtil.js","../../../node_modules/.pnpm/@reown+appkit-utils@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ior_f7jlo4xk5ooaud6cvweshox2mq/node_modules/@reown/appkit-utils/dist/esm/src/PresetsUtil.js","../../../node_modules/.pnpm/@reown+appkit-utils@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ior_f7jlo4xk5ooaud6cvweshox2mq/node_modules/@reown/appkit-utils/dist/esm/src/HelpersUtil.js","../../../node_modules/.pnpm/@reown+appkit-utils@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ior_f7jlo4xk5ooaud6cvweshox2mq/node_modules/@reown/appkit-utils/dist/esm/src/ErrorUtil.js","../../../node_modules/.pnpm/@reown+appkit-utils@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ior_f7jlo4xk5ooaud6cvweshox2mq/node_modules/@reown/appkit-utils/dist/esm/src/LoggerUtil.js","../../../node_modules/.pnpm/@reown+appkit-utils@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ior_f7jlo4xk5ooaud6cvweshox2mq/node_modules/@reown/appkit-utils/dist/esm/src/CaipNetworkUtil.js","../../../node_modules/.pnpm/@reown+appkit-utils@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ior_f7jlo4xk5ooaud6cvweshox2mq/node_modules/@reown/appkit-utils/dist/esm/src/ProviderUtil.js","../../../node_modules/.pnpm/@reown+appkit-scaffold-ui@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_xovnir4ytjzxq5cmd7ec2324ae/node_modules/@reown/appkit-scaffold-ui/dist/esm/src/utils/ConstantsUtil.js","../../../node_modules/.pnpm/@reown+appkit-scaffold-ui@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_xovnir4ytjzxq5cmd7ec2324ae/node_modules/@reown/appkit-scaffold-ui/dist/esm/src/utils/WalletUtil.js","../../../node_modules/.pnpm/@reown+appkit-scaffold-ui@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3_xovnir4ytjzxq5cmd7ec2324ae/node_modules/@reown/appkit-scaffold-ui/dist/esm/src/utils/ConnectorUtil.js","../../../node_modules/.pnpm/@reown+appkit-ui@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredi_xvzocyr5l3ytwcirxhpwwngnpu/node_modules/@reown/appkit-ui/dist/esm/src/utils/ThemeUtil.js","../../../node_modules/.pnpm/@reown+appkit@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5_ksvhhtgwueiz4klarcu5xo3kiq/node_modules/@reown/appkit/dist/esm/src/utils/ConstantsUtil.js","../../../node_modules/.pnpm/@reown+appkit@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5_ksvhhtgwueiz4klarcu5xo3kiq/node_modules/@reown/appkit/dist/esm/src/networks/utils.js","../../../node_modules/.pnpm/@reown+appkit@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5_ksvhhtgwueiz4klarcu5xo3kiq/node_modules/@reown/appkit/dist/esm/src/networks/solana/solana.js","../../../node_modules/.pnpm/@reown+appkit@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5_ksvhhtgwueiz4klarcu5xo3kiq/node_modules/@reown/appkit/dist/esm/src/networks/solana/solanaDevnet.js","../../../node_modules/.pnpm/@reown+appkit@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5_ksvhhtgwueiz4klarcu5xo3kiq/node_modules/@reown/appkit/dist/esm/src/networks/solana/solanaTestnet.js","../../../node_modules/.pnpm/@reown+appkit@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5_ksvhhtgwueiz4klarcu5xo3kiq/node_modules/@reown/appkit/dist/esm/src/networks/bitcoin.js","../../../node_modules/.pnpm/@reown+appkit@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5_ksvhhtgwueiz4klarcu5xo3kiq/node_modules/@reown/appkit/dist/esm/src/utils/HelpersUtil.js","../../../node_modules/.pnpm/@reown+appkit@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5_ksvhhtgwueiz4klarcu5xo3kiq/node_modules/@reown/appkit/dist/esm/src/connectors/WalletConnectConnector.js","../../../node_modules/.pnpm/@reown+appkit@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5_ksvhhtgwueiz4klarcu5xo3kiq/node_modules/@reown/appkit/dist/esm/src/adapters/ChainAdapterBlueprint.js","../../../node_modules/.pnpm/@reown+appkit@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5_ksvhhtgwueiz4klarcu5xo3kiq/node_modules/@reown/appkit/dist/esm/src/universal-adapter/client.js","../../../node_modules/.pnpm/@reown+appkit@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5_ksvhhtgwueiz4klarcu5xo3kiq/node_modules/@reown/appkit/dist/esm/src/utils/ConfigUtil.js","../../../node_modules/.pnpm/@reown+appkit@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5_ksvhhtgwueiz4klarcu5xo3kiq/node_modules/@reown/appkit/dist/esm/src/client/appkit-base-client.js","../../../node_modules/.pnpm/@reown+appkit@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5_ksvhhtgwueiz4klarcu5xo3kiq/node_modules/@reown/appkit/dist/esm/src/client/appkit-core.js","../../../node_modules/.pnpm/@reown+appkit@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5_ksvhhtgwueiz4klarcu5xo3kiq/node_modules/@reown/appkit/dist/esm/exports/constants.js","../../../node_modules/.pnpm/@reown+appkit@1.7.8_@types+react@19.2.2_aws4fetch@1.0.20_bufferutil@4.0.9_db0@0.3.4_ioredis@5_ksvhhtgwueiz4klarcu5xo3kiq/node_modules/@reown/appkit/dist/esm/exports/core.js"],"sourcesContent":["export const ConstantsUtil = {\n WC_NAME_SUFFIX: '.reown.id',\n WC_NAME_SUFFIX_LEGACY: '.wcn.id',\n BLOCKCHAIN_API_RPC_URL: 'https://rpc.walletconnect.org',\n PULSE_API_URL: 'https://pulse.walletconnect.org',\n W3M_API_URL: 'https://api.web3modal.org',\n CONNECTOR_ID: {\n WALLET_CONNECT: 'walletConnect',\n INJECTED: 'injected',\n WALLET_STANDARD: 'announced',\n COINBASE: 'coinbaseWallet',\n COINBASE_SDK: 'coinbaseWalletSDK',\n SAFE: 'safe',\n LEDGER: 'ledger',\n OKX: 'okx',\n EIP6963: 'eip6963',\n AUTH: 'ID_AUTH'\n },\n CONNECTOR_NAMES: {\n AUTH: 'Auth'\n },\n AUTH_CONNECTOR_SUPPORTED_CHAINS: ['eip155', 'solana'],\n LIMITS: {\n PENDING_TRANSACTIONS: 99\n },\n CHAIN: {\n EVM: 'eip155',\n SOLANA: 'solana',\n POLKADOT: 'polkadot',\n BITCOIN: 'bip122'\n },\n CHAIN_NAME_MAP: {\n eip155: 'EVM Networks',\n solana: 'Solana',\n polkadot: 'Polkadot',\n bip122: 'Bitcoin',\n cosmos: 'Cosmos'\n },\n ADAPTER_TYPES: {\n BITCOIN: 'bitcoin',\n SOLANA: 'solana',\n WAGMI: 'wagmi',\n ETHERS: 'ethers',\n ETHERS5: 'ethers5'\n },\n USDT_CONTRACT_ADDRESSES: [\n '0xdac17f958d2ee523a2206206994597c13d831ec7',\n '0xc2132d05d31c914a87c6611c10748aeb04b58e8f',\n '0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7',\n '0x919C1c267BC06a7039e03fcc2eF738525769109c',\n '0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e',\n '0x55d398326f99059fF775485246999027B3197955',\n '0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9'\n ],\n HTTP_STATUS_CODES: {\n SERVICE_UNAVAILABLE: 503,\n FORBIDDEN: 403\n },\n UNSUPPORTED_NETWORK_NAME: 'Unknown Network',\n SECURE_SITE_SDK_ORIGIN: (typeof process !== 'undefined' && typeof process.env !== 'undefined'\n ? process.env['NEXT_PUBLIC_SECURE_SITE_ORIGIN']\n : undefined) || 'https://secure.walletconnect.org'\n};\n//# sourceMappingURL=ConstantsUtil.js.map","import { ConstantsUtil } from './ConstantsUtil.js';\nexport const NetworkUtil = {\n caipNetworkIdToNumber(caipnetworkId) {\n return caipnetworkId ? Number(caipnetworkId.split(':')[1]) : undefined;\n },\n parseEvmChainId(chainId) {\n return typeof chainId === 'string'\n ? this.caipNetworkIdToNumber(chainId)\n : chainId;\n },\n getNetworksByNamespace(networks, namespace) {\n return networks?.filter(network => network.chainNamespace === namespace) || [];\n },\n getFirstNetworkByNamespace(networks, namespace) {\n return this.getNetworksByNamespace(networks, namespace)[0];\n },\n getNetworkNameByCaipNetworkId(caipNetworks, caipNetworkId) {\n if (!caipNetworkId) {\n return undefined;\n }\n const caipNetwork = caipNetworks.find(network => network.caipNetworkId === caipNetworkId);\n if (caipNetwork) {\n return caipNetwork.name;\n }\n const [namespace] = caipNetworkId.split(':');\n return ConstantsUtil.CHAIN_NAME_MAP?.[namespace] || undefined;\n }\n};\n//# sourceMappingURL=NetworkUtil.js.map","import Big from 'big.js';\nexport const NumberUtil = {\n bigNumber(value) {\n if (!value) {\n return new Big(0);\n }\n return new Big(value);\n },\n multiply(a, b) {\n if (a === undefined || b === undefined) {\n return new Big(0);\n }\n const aBigNumber = new Big(a);\n const bBigNumber = new Big(b);\n return aBigNumber.times(bBigNumber);\n },\n formatNumberToLocalString(value, decimals = 2) {\n if (value === undefined) {\n return '0.00';\n }\n if (typeof value === 'number') {\n return value.toLocaleString('en-US', {\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals\n });\n }\n return parseFloat(value).toLocaleString('en-US', {\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals\n });\n },\n parseLocalStringToNumber(value) {\n if (value === undefined) {\n return 0;\n }\n return parseFloat(value.replace(/,/gu, ''));\n }\n};\n//# sourceMappingURL=NumberUtil.js.map","export const erc20ABI = [\n {\n type: 'function',\n name: 'transfer',\n stateMutability: 'nonpayable',\n inputs: [\n {\n name: '_to',\n type: 'address'\n },\n {\n name: '_value',\n type: 'uint256'\n }\n ],\n outputs: [\n {\n name: '',\n type: 'bool'\n }\n ]\n },\n {\n type: 'function',\n name: 'transferFrom',\n stateMutability: 'nonpayable',\n inputs: [\n {\n name: '_from',\n type: 'address'\n },\n {\n name: '_to',\n type: 'address'\n },\n {\n name: '_value',\n type: 'uint256'\n }\n ],\n outputs: [\n {\n name: '',\n type: 'bool'\n }\n ]\n }\n];\n//# sourceMappingURL=erc20.js.map","export const swapABI = [\n {\n type: 'function',\n name: 'approve',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'spender', type: 'address' },\n { name: 'amount', type: 'uint256' }\n ],\n outputs: [{ type: 'bool' }]\n }\n];\n//# sourceMappingURL=swap.js.map","export const usdtABI = [\n {\n type: 'function',\n name: 'transfer',\n stateMutability: 'nonpayable',\n inputs: [\n {\n name: 'recipient',\n type: 'address'\n },\n {\n name: 'amount',\n type: 'uint256'\n }\n ],\n outputs: []\n },\n {\n type: 'function',\n name: 'transferFrom',\n stateMutability: 'nonpayable',\n inputs: [\n {\n name: 'sender',\n type: 'address'\n },\n {\n name: 'recipient',\n type: 'address'\n },\n {\n name: 'amount',\n type: 'uint256'\n }\n ],\n outputs: [\n {\n name: '',\n type: 'bool'\n }\n ]\n }\n];\n//# sourceMappingURL=usdt.js.map","import { erc20ABI } from '../contracts/erc20.js';\nimport { swapABI } from '../contracts/swap.js';\nimport { usdtABI } from '../contracts/usdt.js';\nimport { ConstantsUtil } from './ConstantsUtil.js';\nexport const ContractUtil = {\n getERC20Abi: (tokenAddress) => {\n if (ConstantsUtil.USDT_CONTRACT_ADDRESSES.includes(tokenAddress)) {\n return usdtABI;\n }\n return erc20ABI;\n },\n getSwapAbi: () => swapABI\n};\n//# sourceMappingURL=ContractUtil.js.map","export const ParseUtil = {\n validateCaipAddress(address) {\n if (address.split(':')?.length !== 3) {\n throw new Error('Invalid CAIP Address');\n }\n return address;\n },\n parseCaipAddress(caipAddress) {\n const parts = caipAddress.split(':');\n if (parts.length !== 3) {\n throw new Error(`Invalid CAIP-10 address: ${caipAddress}`);\n }\n const [chainNamespace, chainId, address] = parts;\n if (!chainNamespace || !chainId || !address) {\n throw new Error(`Invalid CAIP-10 address: ${caipAddress}`);\n }\n return {\n chainNamespace: chainNamespace,\n chainId: chainId,\n address\n };\n },\n parseCaipNetworkId(caipNetworkId) {\n const parts = caipNetworkId.split(':');\n if (parts.length !== 2) {\n throw new Error(`Invalid CAIP-2 network id: ${caipNetworkId}`);\n }\n const [chainNamespace, chainId] = parts;\n if (!chainNamespace || !chainId) {\n throw new Error(`Invalid CAIP-2 network id: ${caipNetworkId}`);\n }\n return {\n chainNamespace: chainNamespace,\n chainId: chainId\n };\n }\n};\n//# sourceMappingURL=ParseUtil.js.map","export const SafeLocalStorageKeys = {\n WALLET_ID: '@appkit/wallet_id',\n WALLET_NAME: '@appkit/wallet_name',\n SOLANA_WALLET: '@appkit/solana_wallet',\n SOLANA_CAIP_CHAIN: '@appkit/solana_caip_chain',\n ACTIVE_CAIP_NETWORK_ID: '@appkit/active_caip_network_id',\n CONNECTED_SOCIAL: '@appkit/connected_social',\n CONNECTED_SOCIAL_USERNAME: '@appkit-wallet/SOCIAL_USERNAME',\n RECENT_WALLETS: '@appkit/recent_wallets',\n DEEPLINK_CHOICE: 'WALLETCONNECT_DEEPLINK_CHOICE',\n ACTIVE_NAMESPACE: '@appkit/active_namespace',\n CONNECTED_NAMESPACES: '@appkit/connected_namespaces',\n CONNECTION_STATUS: '@appkit/connection_status',\n SIWX_AUTH_TOKEN: '@appkit/siwx-auth-token',\n SIWX_NONCE_TOKEN: '@appkit/siwx-nonce-token',\n TELEGRAM_SOCIAL_PROVIDER: '@appkit/social_provider',\n NATIVE_BALANCE_CACHE: '@appkit/native_balance_cache',\n PORTFOLIO_CACHE: '@appkit/portfolio_cache',\n ENS_CACHE: '@appkit/ens_cache',\n IDENTITY_CACHE: '@appkit/identity_cache',\n PREFERRED_ACCOUNT_TYPES: '@appkit/preferred_account_types',\n CONNECTIONS: '@appkit/connections'\n};\nexport function getSafeConnectorIdKey(namespace) {\n if (!namespace) {\n throw new Error('Namespace is required for CONNECTED_CONNECTOR_ID');\n }\n return `@appkit/${namespace}:connected_connector_id`;\n}\nexport const SafeLocalStorage = {\n setItem(key, value) {\n if (isSafe() && value !== undefined) {\n localStorage.setItem(key, value);\n }\n },\n getItem(key) {\n if (isSafe()) {\n return localStorage.getItem(key) || undefined;\n }\n return undefined;\n },\n removeItem(key) {\n if (isSafe()) {\n localStorage.removeItem(key);\n }\n },\n clear() {\n if (isSafe()) {\n localStorage.clear();\n }\n }\n};\nexport function isSafe() {\n return typeof window !== 'undefined' && typeof localStorage !== 'undefined';\n}\n//# sourceMappingURL=SafeLocalStorage.js.map","export function getW3mThemeVariables(themeVariables, themeType) {\n if (themeType === 'light') {\n return {\n '--w3m-accent': themeVariables?.['--w3m-accent'] || 'hsla(231, 100%, 70%, 1)',\n '--w3m-background': '#fff'\n };\n }\n return {\n '--w3m-accent': themeVariables?.['--w3m-accent'] || 'hsla(230, 100%, 67%, 1)',\n '--w3m-background': '#121313'\n };\n}\n//# sourceMappingURL=ThemeUtil.js.map","const e=Symbol(),t=Symbol(),r=\"a\",n=\"w\";let o=(e,t)=>new Proxy(e,t);const s=Object.getPrototypeOf,c=new WeakMap,l=e=>e&&(c.has(e)?c.get(e):s(e)===Object.prototype||s(e)===Array.prototype),f=e=>\"object\"==typeof e&&null!==e,i=e=>{if(Array.isArray(e))return Array.from(e);const t=Object.getOwnPropertyDescriptors(e);return Object.values(t).forEach(e=>{e.configurable=!0}),Object.create(s(e),t)},u=e=>e[t]||e,a=(s,c,f,p)=>{if(!l(s))return s;let g=p&&p.get(s);if(!g){const e=u(s);g=(e=>Object.values(Object.getOwnPropertyDescriptors(e)).some(e=>!e.configurable&&!e.writable))(e)?[e,i(e)]:[e],null==p||p.set(s,g)}const[y,h]=g;let w=f&&f.get(y);return w&&w[1].f===!!h||(w=((o,s)=>{const c={f:s};let l=!1;const f=(e,t)=>{if(!l){let s=c[r].get(o);if(s||(s={},c[r].set(o,s)),e===n)s[n]=!0;else{let r=s[e];r||(r=new Set,s[e]=r),r.add(t)}}},i={get:(e,n)=>n===t?o:(f(\"k\",n),a(Reflect.get(e,n),c[r],c.c,c.t)),has:(t,n)=>n===e?(l=!0,c[r].delete(o),!0):(f(\"h\",n),Reflect.has(t,n)),getOwnPropertyDescriptor:(e,t)=>(f(\"o\",t),Reflect.getOwnPropertyDescriptor(e,t)),ownKeys:e=>(f(n),Reflect.ownKeys(e))};return s&&(i.set=i.deleteProperty=()=>!1),[i,c]})(y,!!h),w[1].p=o(h||y,w[0]),f&&f.set(y,w)),w[1][r]=c,w[1].c=f,w[1].t=p,w[1].p},p=(e,t,r,o,s=Object.is)=>{if(s(e,t))return!1;if(!f(e)||!f(t))return!0;const c=r.get(u(e));if(!c)return!0;if(o){const r=o.get(e);if(r&&r.n===t)return r.g;o.set(e,{n:t,g:!1})}let l=null;try{for(const r of c.h||[])if(l=Reflect.has(e,r)!==Reflect.has(t,r),l)return l;if(!0===c[n]){if(l=((e,t)=>{const r=Reflect.ownKeys(e),n=Reflect.ownKeys(t);return r.length!==n.length||r.some((e,t)=>e!==n[t])})(e,t),l)return l}else for(const r of c.o||[])if(l=!!Reflect.getOwnPropertyDescriptor(e,r)!=!!Reflect.getOwnPropertyDescriptor(t,r),l)return l;for(const n of c.k||[])if(l=p(e[n],t[n],r,o,s),l)return l;return null===l&&(l=!0),l}finally{o&&o.set(e,{n:t,g:l})}},g=t=>!!l(t)&&e in t,y=e=>l(e)&&e[t]||null,h=(e,t=!0)=>{c.set(e,t)},w=(e,t,r)=>{const o=[],s=new WeakSet,c=(e,l)=>{if(s.has(e))return;f(e)&&s.add(e);const i=f(e)&&t.get(u(e));if(i){var a,p;if(null==(a=i.h)||a.forEach(e=>{const t=`:has(${String(e)})`;o.push(l?[...l,t]:[t])}),!0===i[n]){const e=\":ownKeys\";o.push(l?[...l,e]:[e])}else{var g;null==(g=i.o)||g.forEach(e=>{const t=`:hasOwn(${String(e)})`;o.push(l?[...l,t]:[t])})}null==(p=i.k)||p.forEach(t=>{r&&!(\"value\"in(Object.getOwnPropertyDescriptor(e,t)||{}))||c(e[t],l?[...l,t]:[t])})}else l&&o.push(l)};return c(e),o},O=e=>{o=e};export{w as affectedToPathList,a as createProxy,y as getUntracked,p as isChanged,h as markToTrack,O as replaceNewProxy,g as trackMemo};\n//# sourceMappingURL=index.modern.mjs.map\n","import { markToTrack, getUntracked } from 'proxy-compare';\n\nconst isObject = (x) => typeof x === \"object\" && x !== null;\nconst proxyStateMap = /* @__PURE__ */ new WeakMap();\nconst refSet = /* @__PURE__ */ new WeakSet();\nconst buildProxyFunction = (objectIs = Object.is, newProxy = (target, handler) => new Proxy(target, handler), canProxy = (x) => isObject(x) && !refSet.has(x) && (Array.isArray(x) || !(Symbol.iterator in x)) && !(x instanceof WeakMap) && !(x instanceof WeakSet) && !(x instanceof Error) && !(x instanceof Number) && !(x instanceof Date) && !(x instanceof String) && !(x instanceof RegExp) && !(x instanceof ArrayBuffer), defaultHandlePromise = (promise) => {\n switch (promise.status) {\n case \"fulfilled\":\n return promise.value;\n case \"rejected\":\n throw promise.reason;\n default:\n throw promise;\n }\n}, snapCache = /* @__PURE__ */ new WeakMap(), createSnapshot = (target, version, handlePromise = defaultHandlePromise) => {\n const cache = snapCache.get(target);\n if ((cache == null ? void 0 : cache[0]) === version) {\n return cache[1];\n }\n const snap = Array.isArray(target) ? [] : Object.create(Object.getPrototypeOf(target));\n markToTrack(snap, true);\n snapCache.set(target, [version, snap]);\n Reflect.ownKeys(target).forEach((key) => {\n if (Object.getOwnPropertyDescriptor(snap, key)) {\n return;\n }\n const value = Reflect.get(target, key);\n const { enumerable } = Reflect.getOwnPropertyDescriptor(\n target,\n key\n );\n const desc = {\n value,\n enumerable,\n // This is intentional to avoid copying with proxy-compare.\n // It's still non-writable, so it avoids assigning a value.\n configurable: true\n };\n if (refSet.has(value)) {\n markToTrack(value, false);\n } else if (value instanceof Promise) {\n delete desc.value;\n desc.get = () => handlePromise(value);\n } else if (proxyStateMap.has(value)) {\n const [target2, ensureVersion] = proxyStateMap.get(\n value\n );\n desc.value = createSnapshot(\n target2,\n ensureVersion(),\n handlePromise\n );\n }\n Object.defineProperty(snap, key, desc);\n });\n return Object.preventExtensions(snap);\n}, proxyCache = /* @__PURE__ */ new WeakMap(), versionHolder = [1, 1], proxyFunction = (initialObject) => {\n if (!isObject(initialObject)) {\n throw new Error(\"object required\");\n }\n const found = proxyCache.get(initialObject);\n if (found) {\n return found;\n }\n let version = versionHolder[0];\n const listeners = /* @__PURE__ */ new Set();\n const notifyUpdate = (op, nextVersion = ++versionHolder[0]) => {\n if (version !== nextVersion) {\n version = nextVersion;\n listeners.forEach((listener) => listener(op, nextVersion));\n }\n };\n let checkVersion = versionHolder[1];\n const ensureVersion = (nextCheckVersion = ++versionHolder[1]) => {\n if (checkVersion !== nextCheckVersion && !listeners.size) {\n checkVersion = nextCheckVersion;\n propProxyStates.forEach(([propProxyState]) => {\n const propVersion = propProxyState[1](nextCheckVersion);\n if (propVersion > version) {\n version = propVersion;\n }\n });\n }\n return version;\n };\n const createPropListener = (prop) => (op, nextVersion) => {\n const newOp = [...op];\n newOp[1] = [prop, ...newOp[1]];\n notifyUpdate(newOp, nextVersion);\n };\n const propProxyStates = /* @__PURE__ */ new Map();\n const addPropListener = (prop, propProxyState) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && propProxyStates.has(prop)) {\n throw new Error(\"prop listener already exists\");\n }\n if (listeners.size) {\n const remove = propProxyState[3](createPropListener(prop));\n propProxyStates.set(prop, [propProxyState, remove]);\n } else {\n propProxyStates.set(prop, [propProxyState]);\n }\n };\n const removePropListener = (prop) => {\n var _a;\n const entry = propProxyStates.get(prop);\n if (entry) {\n propProxyStates.delete(prop);\n (_a = entry[1]) == null ? void 0 : _a.call(entry);\n }\n };\n const addListener = (listener) => {\n listeners.add(listener);\n if (listeners.size === 1) {\n propProxyStates.forEach(([propProxyState, prevRemove], prop) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && prevRemove) {\n throw new Error(\"remove already exists\");\n }\n const remove = propProxyState[3](createPropListener(prop));\n propProxyStates.set(prop, [propProxyState, remove]);\n });\n }\n const removeListener = () => {\n listeners.delete(listener);\n if (listeners.size === 0) {\n propProxyStates.forEach(([propProxyState, remove], prop) => {\n if (remove) {\n remove();\n propProxyStates.set(prop, [propProxyState]);\n }\n });\n }\n };\n return removeListener;\n };\n const baseObject = Array.isArray(initialObject) ? [] : Object.create(Object.getPrototypeOf(initialObject));\n const handler = {\n deleteProperty(target, prop) {\n const prevValue = Reflect.get(target, prop);\n removePropListener(prop);\n const deleted = Reflect.deleteProperty(target, prop);\n if (deleted) {\n notifyUpdate([\"delete\", [prop], prevValue]);\n }\n return deleted;\n },\n set(target, prop, value, receiver) {\n const hasPrevValue = Reflect.has(target, prop);\n const prevValue = Reflect.get(target, prop, receiver);\n if (hasPrevValue && (objectIs(prevValue, value) || proxyCache.has(value) && objectIs(prevValue, proxyCache.get(value)))) {\n return true;\n }\n removePropListener(prop);\n if (isObject(value)) {\n value = getUntracked(value) || value;\n }\n let nextValue = value;\n if (value instanceof Promise) {\n value.then((v) => {\n value.status = \"fulfilled\";\n value.value = v;\n notifyUpdate([\"resolve\", [prop], v]);\n }).catch((e) => {\n value.status = \"rejected\";\n value.reason = e;\n notifyUpdate([\"reject\", [prop], e]);\n });\n } else {\n if (!proxyStateMap.has(value) && canProxy(value)) {\n nextValue = proxyFunction(value);\n }\n const childProxyState = !refSet.has(nextValue) && proxyStateMap.get(nextValue);\n if (childProxyState) {\n addPropListener(prop, childProxyState);\n }\n }\n Reflect.set(target, prop, nextValue, receiver);\n notifyUpdate([\"set\", [prop], value, prevValue]);\n return true;\n }\n };\n const proxyObject = newProxy(baseObject, handler);\n proxyCache.set(initialObject, proxyObject);\n const proxyState = [\n baseObject,\n ensureVersion,\n createSnapshot,\n addListener\n ];\n proxyStateMap.set(proxyObject, proxyState);\n Reflect.ownKeys(initialObject).forEach((key) => {\n const desc = Object.getOwnPropertyDescriptor(\n initialObject,\n key\n );\n if (\"value\" in desc) {\n proxyObject[key] = initialObject[key];\n delete desc.value;\n delete desc.writable;\n }\n Object.defineProperty(baseObject, key, desc);\n });\n return proxyObject;\n}) => [\n // public functions\n proxyFunction,\n // shared state\n proxyStateMap,\n refSet,\n // internal things\n objectIs,\n newProxy,\n canProxy,\n defaultHandlePromise,\n snapCache,\n createSnapshot,\n proxyCache,\n versionHolder\n];\nconst [defaultProxyFunction] = buildProxyFunction();\nfunction proxy(initialObject = {}) {\n return defaultProxyFunction(initialObject);\n}\nfunction getVersion(proxyObject) {\n const proxyState = proxyStateMap.get(proxyObject);\n return proxyState == null ? void 0 : proxyState[1]();\n}\nfunction subscribe(proxyObject, callback, notifyInSync) {\n const proxyState = proxyStateMap.get(proxyObject);\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && !proxyState) {\n console.warn(\"Please use proxy object\");\n }\n let promise;\n const ops = [];\n const addListener = proxyState[3];\n let isListenerActive = false;\n const listener = (op) => {\n ops.push(op);\n if (notifyInSync) {\n callback(ops.splice(0));\n return;\n }\n if (!promise) {\n promise = Promise.resolve().then(() => {\n promise = void 0;\n if (isListenerActive) {\n callback(ops.splice(0));\n }\n });\n }\n };\n const removeListener = addListener(listener);\n isListenerActive = true;\n return () => {\n isListenerActive = false;\n removeListener();\n };\n}\nfunction snapshot(proxyObject, handlePromise) {\n const proxyState = proxyStateMap.get(proxyObject);\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && !proxyState) {\n console.warn(\"Please use proxy object\");\n }\n const [target, ensureVersion, createSnapshot] = proxyState;\n return createSnapshot(target, ensureVersion(), handlePromise);\n}\nfunction ref(obj) {\n refSet.add(obj);\n return obj;\n}\nconst unstable_buildProxyFunction = buildProxyFunction;\n\nexport { getVersion, proxy, ref, snapshot, subscribe, unstable_buildProxyFunction };\n","import { subscribe, snapshot, proxy, ref, unstable_buildProxyFunction } from 'valtio/vanilla';\nimport { derive } from 'derive-valtio';\nexport { derive, underive, unstable_deriveSubscriptions } from 'derive-valtio';\n\nfunction subscribeKey(proxyObject, key, callback, notifyInSync) {\n let prevValue = proxyObject[key];\n return subscribe(\n proxyObject,\n () => {\n const nextValue = proxyObject[key];\n if (!Object.is(prevValue, nextValue)) {\n callback(prevValue = nextValue);\n }\n },\n notifyInSync\n );\n}\n\nlet currentCleanups;\nfunction watch(callback, options) {\n let alive = true;\n const cleanups = /* @__PURE__ */ new Set();\n const subscriptions = /* @__PURE__ */ new Map();\n const cleanup = () => {\n if (alive) {\n alive = false;\n cleanups.forEach((clean) => clean());\n cleanups.clear();\n subscriptions.forEach((unsubscribe) => unsubscribe());\n subscriptions.clear();\n }\n };\n const revalidate = async () => {\n if (!alive) {\n return;\n }\n cleanups.forEach((clean) => clean());\n cleanups.clear();\n const proxiesToSubscribe = /* @__PURE__ */ new Set();\n const parent = currentCleanups;\n currentCleanups = cleanups;\n try {\n const promiseOrPossibleCleanup = callback((proxyObject) => {\n proxiesToSubscribe.add(proxyObject);\n if (alive && !subscriptions.has(proxyObject)) {\n const unsubscribe = subscribe(proxyObject, revalidate, options == null ? void 0 : options.sync);\n subscriptions.set(proxyObject, unsubscribe);\n }\n return proxyObject;\n });\n const couldBeCleanup = promiseOrPossibleCleanup && promiseOrPossibleCleanup instanceof Promise ? await promiseOrPossibleCleanup : promiseOrPossibleCleanup;\n if (couldBeCleanup) {\n if (alive) {\n cleanups.add(couldBeCleanup);\n } else {\n cleanup();\n }\n }\n } finally {\n currentCleanups = parent;\n }\n subscriptions.forEach((unsubscribe, proxyObject) => {\n if (!proxiesToSubscribe.has(proxyObject)) {\n subscriptions.delete(proxyObject);\n unsubscribe();\n }\n });\n };\n if (currentCleanups) {\n currentCleanups.add(cleanup);\n }\n revalidate();\n return cleanup;\n}\n\nconst DEVTOOLS = Symbol();\nfunction devtools(proxyObject, options) {\n if (typeof options === \"string\") {\n console.warn(\n \"string name option is deprecated, use { name }. https://github.com/pmndrs/valtio/pull/400\"\n );\n options = { name: options };\n }\n const { enabled, name = \"\", ...rest } = options || {};\n let extension;\n try {\n extension = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (e) {\n }\n if (!extension) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && enabled) {\n console.warn(\"[Warning] Please install/enable Redux devtools extension\");\n }\n return;\n }\n let isTimeTraveling = false;\n const devtools2 = extension.connect({ name, ...rest });\n const unsub1 = subscribe(proxyObject, (ops) => {\n const action = ops.filter(([_, path]) => path[0] !== DEVTOOLS).map(([op, path]) => `${op}:${path.map(String).join(\".\")}`).join(\", \");\n if (!action) {\n return;\n }\n if (isTimeTraveling) {\n isTimeTraveling = false;\n } else {\n const snapWithoutDevtools = Object.assign({}, snapshot(proxyObject));\n delete snapWithoutDevtools[DEVTOOLS];\n devtools2.send(\n {\n type: action,\n updatedAt: (/* @__PURE__ */ new Date()).toLocaleString()\n },\n snapWithoutDevtools\n );\n }\n });\n const unsub2 = devtools2.subscribe((message) => {\n var _a, _b, _c, _d, _e, _f;\n if (message.type === \"ACTION\" && message.payload) {\n try {\n Object.assign(proxyObject, JSON.parse(message.payload));\n } catch (e) {\n console.error(\n \"please dispatch a serializable value that JSON.parse() and proxy() support\\n\",\n e\n );\n }\n }\n if (message.type === \"DISPATCH\" && message.state) {\n if (((_a = message.payload) == null ? void 0 : _a.type) === \"JUMP_TO_ACTION\" || ((_b = message.payload) == null ? void 0 : _b.type) === \"JUMP_TO_STATE\") {\n isTimeTraveling = true;\n const state = JSON.parse(message.state);\n Object.assign(proxyObject, state);\n }\n proxyObject[DEVTOOLS] = message;\n } else if (message.type === \"DISPATCH\" && ((_c = message.payload) == null ? void 0 : _c.type) === \"COMMIT\") {\n devtools2.init(snapshot(proxyObject));\n } else if (message.type === \"DISPATCH\" && ((_d = message.payload) == null ? void 0 : _d.type) === \"IMPORT_STATE\") {\n const actions = (_e = message.payload.nextLiftedState) == null ? void 0 : _e.actionsById;\n const computedStates = ((_f = message.payload.nextLiftedState) == null ? void 0 : _f.computedStates) || [];\n isTimeTraveling = true;\n computedStates.forEach(({ state }, index) => {\n const action = actions[index] || \"No action found\";\n Object.assign(proxyObject, state);\n if (index === 0) {\n devtools2.init(snapshot(proxyObject));\n } else {\n devtools2.send(action, snapshot(proxyObject));\n }\n });\n }\n });\n devtools2.init(snapshot(proxyObject));\n return () => {\n unsub1();\n unsub2 == null ? void 0 : unsub2();\n };\n}\n\nfunction addComputed_DEPRECATED(proxyObject, computedFns_FAKE, targetObject = proxyObject) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"addComputed is deprecated. Please consider using `derive`. Falling back to emulation with derive. https://github.com/pmndrs/valtio/pull/201\"\n );\n }\n const derivedFns = {};\n Object.keys(computedFns_FAKE).forEach((key) => {\n derivedFns[key] = (get) => computedFns_FAKE[key](get(proxyObject));\n });\n return derive(derivedFns, { proxy: targetObject });\n}\n\nfunction proxyWithComputed_DEPRECATED(initialObject, computedFns) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n 'proxyWithComputed is deprecated. Please follow \"Computed Properties\" guide in docs.'\n );\n }\n Object.keys(computedFns).forEach((key) => {\n if (Object.getOwnPropertyDescriptor(initialObject, key)) {\n throw new Error(\"object property already defined\");\n }\n const computedFn = computedFns[key];\n const { get, set } = typeof computedFn === \"function\" ? { get: computedFn } : computedFn;\n const desc = {};\n desc.get = () => get(snapshot(proxyObject));\n if (set) {\n desc.set = (newValue) => set(proxyObject, newValue);\n }\n Object.defineProperty(initialObject, key, desc);\n });\n const proxyObject = proxy(initialObject);\n return proxyObject;\n}\n\nconst isObject = (x) => typeof x === \"object\" && x !== null;\nlet refSet;\nconst deepClone = (obj) => {\n if (!refSet) {\n refSet = unstable_buildProxyFunction()[2];\n }\n if (!isObject(obj) || refSet.has(obj)) {\n return obj;\n }\n const baseObject = Array.isArray(obj) ? [] : Object.create(Object.getPrototypeOf(obj));\n Reflect.ownKeys(obj).forEach((key) => {\n baseObject[key] = deepClone(obj[key]);\n });\n return baseObject;\n};\nfunction proxyWithHistory_DEPRECATED(initialValue, skipSubscribe = false) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n 'proxyWithHistory is deprecated. Please use the \"valtio-history\" package; refer to the docs'\n );\n }\n const proxyObject = proxy({\n value: initialValue,\n history: ref({\n wip: void 0,\n // to avoid infinite loop\n snapshots: [],\n index: -1\n }),\n clone: deepClone,\n canUndo: () => proxyObject.history.index > 0,\n undo: () => {\n if (proxyObject.canUndo()) {\n proxyObject.value = proxyObject.history.wip = proxyObject.clone(\n proxyObject.history.snapshots[--proxyObject.history.index]\n );\n }\n },\n canRedo: () => proxyObject.history.index < proxyObject.history.snapshots.length - 1,\n redo: () => {\n if (proxyObject.canRedo()) {\n proxyObject.value = proxyObject.history.wip = proxyObject.clone(\n proxyObject.history.snapshots[++proxyObject.history.index]\n );\n }\n },\n saveHistory: () => {\n proxyObject.history.snapshots.splice(proxyObject.history.index + 1);\n proxyObject.history.snapshots.push(snapshot(proxyObject).value);\n ++proxyObject.history.index;\n },\n subscribe: () => subscribe(proxyObject, (ops) => {\n if (ops.every(\n (op) => op[1][0] === \"value\" && (op[0] !== \"set\" || op[2] !== proxyObject.history.wip)\n )) {\n proxyObject.saveHistory();\n }\n })\n });\n proxyObject.saveHistory();\n if (!skipSubscribe) {\n proxyObject.subscribe();\n }\n return proxyObject;\n}\n\nfunction proxySet(initialValues) {\n const set = proxy({\n data: Array.from(new Set(initialValues)),\n has(value) {\n return this.data.indexOf(value) !== -1;\n },\n add(value) {\n let hasProxy = false;\n if (typeof value === \"object\" && value !== null) {\n hasProxy = this.data.indexOf(proxy(value)) !== -1;\n }\n if (this.data.indexOf(value) === -1 && !hasProxy) {\n this.data.push(value);\n }\n return this;\n },\n delete(value) {\n const index = this.data.indexOf(value);\n if (index === -1) {\n return false;\n }\n this.data.splice(index, 1);\n return true;\n },\n clear() {\n this.data.splice(0);\n },\n get size() {\n return this.data.length;\n },\n forEach(cb) {\n this.data.forEach((value) => {\n cb(value, value, this);\n });\n },\n get [Symbol.toStringTag]() {\n return \"Set\";\n },\n toJSON() {\n return new Set(this.data);\n },\n [Symbol.iterator]() {\n return this.data[Symbol.iterator]();\n },\n values() {\n return this.data.values();\n },\n keys() {\n return this.data.values();\n },\n entries() {\n return new Set(this.data).entries();\n }\n });\n Object.defineProperties(set, {\n data: {\n enumerable: false\n },\n size: {\n enumerable: false\n },\n toJSON: {\n enumerable: false\n }\n });\n Object.seal(set);\n return set;\n}\n\nfunction proxyMap(entries) {\n const map = proxy({\n data: Array.from(entries || []),\n has(key) {\n return this.data.some((p) => p[0] === key);\n },\n set(key, value) {\n const record = this.data.find((p) => p[0] === key);\n if (record) {\n record[1] = value;\n } else {\n this.data.push([key, value]);\n }\n return this;\n },\n get(key) {\n var _a;\n return (_a = this.data.find((p) => p[0] === key)) == null ? void 0 : _a[1];\n },\n delete(key) {\n const index = this.data.findIndex((p) => p[0] === key);\n if (index === -1) {\n return false;\n }\n this.data.splice(index, 1);\n return true;\n },\n clear() {\n this.data.splice(0);\n },\n get size() {\n return this.data.length;\n },\n toJSON() {\n return new Map(this.data);\n },\n forEach(cb) {\n this.data.forEach((p) => {\n cb(p[1], p[0], this);\n });\n },\n keys() {\n return this.data.map((p) => p[0]).values();\n },\n values() {\n return this.data.map((p) => p[1]).values();\n },\n entries() {\n return new Map(this.data).entries();\n },\n get [Symbol.toStringTag]() {\n return \"Map\";\n },\n [Symbol.iterator]() {\n return this.entries();\n }\n });\n Object.defineProperties(map, {\n data: {\n enumerable: false\n },\n size: {\n enumerable: false\n },\n toJSON: {\n enumerable: false\n }\n });\n Object.seal(map);\n return map;\n}\n\nexport { addComputed_DEPRECATED as addComputed, devtools, proxyMap, proxySet, proxyWithComputed_DEPRECATED as proxyWithComputed, proxyWithHistory_DEPRECATED as proxyWithHistory, subscribeKey, watch };\n","import {} from '@reown/appkit-common';\nconst SECURE_SITE = \n// eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n(typeof process !== 'undefined' && typeof process.env !== 'undefined'\n ? process.env['NEXT_PUBLIC_SECURE_SITE_ORIGIN']\n : undefined) || 'https://secure.walletconnect.org';\nexport const ONRAMP_PROVIDERS = [\n {\n label: 'Coinbase',\n name: 'coinbase',\n feeRange: '1-2%',\n url: '',\n supportedChains: ['eip155']\n },\n {\n label: 'Meld.io',\n name: 'meld',\n feeRange: '1-2%',\n url: 'https://meldcrypto.com',\n supportedChains: ['eip155', 'solana']\n }\n];\nexport const MELD_PUBLIC_KEY = 'WXETMuFUQmqqybHuRkSgxv:25B8LJHSfpG6LVjR2ytU5Cwh7Z4Sch2ocoU';\nexport const ConstantsUtil = {\n FOUR_MINUTES_MS: 240_000,\n TEN_SEC_MS: 10_000,\n FIVE_SEC_MS: 5_000,\n THREE_SEC_MS: 3_000,\n ONE_SEC_MS: 1_000,\n SECURE_SITE,\n SECURE_SITE_DASHBOARD: `${SECURE_SITE}/dashboard`,\n SECURE_SITE_FAVICON: `${SECURE_SITE}/images/favicon.png`,\n RESTRICTED_TIMEZONES: [\n 'ASIA/SHANGHAI',\n 'ASIA/URUMQI',\n 'ASIA/CHONGQING',\n 'ASIA/HARBIN',\n 'ASIA/KASHGAR',\n 'ASIA/MACAU',\n 'ASIA/HONG_KONG',\n 'ASIA/MACAO',\n 'ASIA/BEIJING',\n 'ASIA/HARBIN'\n ],\n /**\n * Network name to Coinbase Pay SDK chain name map object\n * @see supported chain names on Coinbase for Pay SDK: https://github.com/coinbase/cbpay-js/blob/d4bda2c05c4d5917c8db6a05476b603546046394/src/types/onramp.ts\n */\n WC_COINBASE_PAY_SDK_CHAINS: [\n 'ethereum',\n 'arbitrum',\n 'polygon',\n 'berachain',\n 'avalanche-c-chain',\n 'optimism',\n 'celo',\n 'base'\n ],\n WC_COINBASE_PAY_SDK_FALLBACK_CHAIN: 'ethereum',\n WC_COINBASE_PAY_SDK_CHAIN_NAME_MAP: {\n Ethereum: 'ethereum',\n 'Arbitrum One': 'arbitrum',\n Polygon: 'polygon',\n Berachain: 'berachain',\n Avalanche: 'avalanche-c-chain',\n 'OP Mainnet': 'optimism',\n Celo: 'celo',\n Base: 'base'\n },\n WC_COINBASE_ONRAMP_APP_ID: 'bf18c88d-495a-463b-b249-0b9d3656cf5e',\n SWAP_SUGGESTED_TOKENS: [\n 'ETH',\n 'UNI',\n '1INCH',\n 'AAVE',\n 'SOL',\n 'ADA',\n 'AVAX',\n 'DOT',\n 'LINK',\n 'NITRO',\n 'GAIA',\n 'MILK',\n 'TRX',\n 'NEAR',\n 'GNO',\n 'WBTC',\n 'DAI',\n 'WETH',\n 'USDC',\n 'USDT',\n 'ARB',\n 'BAL',\n 'BICO',\n 'CRV',\n 'ENS',\n 'MATIC',\n 'OP'\n ],\n SWAP_POPULAR_TOKENS: [\n 'ETH',\n 'UNI',\n '1INCH',\n 'AAVE',\n 'SOL',\n 'ADA',\n 'AVAX',\n 'DOT',\n 'LINK',\n 'NITRO',\n 'GAIA',\n 'MILK',\n 'TRX',\n 'NEAR',\n 'GNO',\n 'WBTC',\n 'DAI',\n 'WETH',\n 'USDC',\n 'USDT',\n 'ARB',\n 'BAL',\n 'BICO',\n 'CRV',\n 'ENS',\n 'MATIC',\n 'OP',\n 'METAL',\n 'DAI',\n 'CHAMP',\n 'WOLF',\n 'SALE',\n 'BAL',\n 'BUSD',\n 'MUST',\n 'BTCpx',\n 'ROUTE',\n 'HEX',\n 'WELT',\n 'amDAI',\n 'VSQ',\n 'VISION',\n 'AURUM',\n 'pSP',\n 'SNX',\n 'VC',\n 'LINK',\n 'CHP',\n 'amUSDT',\n 'SPHERE',\n 'FOX',\n 'GIDDY',\n 'GFC',\n 'OMEN',\n 'OX_OLD',\n 'DE',\n 'WNT'\n ],\n BALANCE_SUPPORTED_CHAINS: ['eip155', 'solana'],\n SWAP_SUPPORTED_NETWORKS: [\n // Ethereum'\n 'eip155:1',\n // Arbitrum One'\n 'eip155:42161',\n // Optimism'\n 'eip155:10',\n // ZKSync Era'\n 'eip155:324',\n // Base'\n 'eip155:8453',\n // BNB Smart Chain'\n 'eip155:56',\n // Polygon'\n 'eip155:137',\n // Gnosis'\n 'eip155:100',\n // Avalanche'\n 'eip155:43114',\n // Fantom'\n 'eip155:250',\n // Klaytn'\n 'eip155:8217',\n // Aurora\n 'eip155:1313161554'\n ],\n NAMES_SUPPORTED_CHAIN_NAMESPACES: ['eip155'],\n ONRAMP_SUPPORTED_CHAIN_NAMESPACES: ['eip155', 'solana'],\n ACTIVITY_ENABLED_CHAIN_NAMESPACES: ['eip155'],\n NATIVE_TOKEN_ADDRESS: {\n eip155: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n solana: 'So11111111111111111111111111111111111111111',\n polkadot: '0x',\n bip122: '0x',\n cosmos: '0x'\n },\n CONVERT_SLIPPAGE_TOLERANCE: 1,\n CONNECT_LABELS: {\n MOBILE: 'Open and continue in the wallet app',\n WEB: 'Open and continue in the wallet app'\n },\n SEND_SUPPORTED_NAMESPACES: ['eip155', 'solana'],\n DEFAULT_REMOTE_FEATURES: {\n swaps: ['1inch'],\n onramp: ['coinbase', 'meld'],\n email: true,\n socials: [\n 'google',\n 'x',\n 'discord',\n 'farcaster',\n 'github',\n 'apple',\n 'facebook'\n ],\n activity: true,\n reownBranding: true\n },\n DEFAULT_REMOTE_FEATURES_DISABLED: {\n email: false,\n socials: false,\n swaps: false,\n onramp: false,\n activity: false,\n reownBranding: false\n },\n DEFAULT_FEATURES: {\n receive: true,\n send: true,\n emailShowWallets: true,\n connectorTypeOrder: [\n 'walletConnect',\n 'recent',\n 'injected',\n 'featured',\n 'custom',\n 'external',\n 'recommended'\n ],\n analytics: true,\n allWallets: true,\n legalCheckbox: false,\n smartSessions: false,\n collapseWallets: false,\n walletFeaturesOrder: ['onramp', 'swaps', 'receive', 'send'],\n connectMethodsOrder: undefined,\n pay: false\n },\n DEFAULT_SOCIALS: [\n 'google',\n 'x',\n 'farcaster',\n 'discord',\n 'apple',\n 'github',\n 'facebook'\n ],\n DEFAULT_ACCOUNT_TYPES: {\n bip122: 'payment',\n eip155: 'smartAccount',\n polkadot: 'eoa',\n solana: 'eoa'\n },\n ADAPTER_TYPES: {\n UNIVERSAL: 'universal',\n SOLANA: 'solana',\n WAGMI: 'wagmi',\n ETHERS: 'ethers',\n ETHERS5: 'ethers5',\n BITCOIN: 'bitcoin'\n }\n};\n//# sourceMappingURL=ConstantsUtil.js.map","/* eslint-disable no-console */\nimport { SafeLocalStorage, SafeLocalStorageKeys, getSafeConnectorIdKey } from '@reown/appkit-common';\n// -- Utility -----------------------------------------------------------------\nexport const StorageUtil = {\n // Cache expiry in milliseconds\n cacheExpiry: {\n portfolio: 30000,\n nativeBalance: 30000,\n ens: 300000,\n identity: 300000\n },\n isCacheExpired(timestamp, cacheExpiry) {\n return Date.now() - timestamp > cacheExpiry;\n },\n getActiveNetworkProps() {\n const namespace = StorageUtil.getActiveNamespace();\n const caipNetworkId = StorageUtil.getActiveCaipNetworkId();\n const stringChainId = caipNetworkId ? caipNetworkId.split(':')[1] : undefined;\n // eslint-disable-next-line no-nested-ternary\n const chainId = stringChainId\n ? isNaN(Number(stringChainId))\n ? stringChainId\n : Number(stringChainId)\n : undefined;\n return {\n namespace,\n caipNetworkId,\n chainId\n };\n },\n setWalletConnectDeepLink({ name, href }) {\n try {\n SafeLocalStorage.setItem(SafeLocalStorageKeys.DEEPLINK_CHOICE, JSON.stringify({ href, name }));\n }\n catch {\n console.info('Unable to set WalletConnect deep link');\n }\n },\n getWalletConnectDeepLink() {\n try {\n const deepLink = SafeLocalStorage.getItem(SafeLocalStorageKeys.DEEPLINK_CHOICE);\n if (deepLink) {\n return JSON.parse(deepLink);\n }\n }\n catch {\n console.info('Unable to get WalletConnect deep link');\n }\n return undefined;\n },\n deleteWalletConnectDeepLink() {\n try {\n SafeLocalStorage.removeItem(SafeLocalStorageKeys.DEEPLINK_CHOICE);\n }\n catch {\n console.info('Unable to delete WalletConnect deep link');\n }\n },\n setActiveNamespace(namespace) {\n try {\n SafeLocalStorage.setItem(SafeLocalStorageKeys.ACTIVE_NAMESPACE, namespace);\n }\n catch {\n console.info('Unable to set active namespace');\n }\n },\n setActiveCaipNetworkId(caipNetworkId) {\n try {\n SafeLocalStorage.setItem(SafeLocalStorageKeys.ACTIVE_CAIP_NETWORK_ID, caipNetworkId);\n StorageUtil.setActiveNamespace(caipNetworkId.split(':')[0]);\n }\n catch {\n console.info('Unable to set active caip network id');\n }\n },\n getActiveCaipNetworkId() {\n try {\n return SafeLocalStorage.getItem(SafeLocalStorageKeys.ACTIVE_CAIP_NETWORK_ID);\n }\n catch {\n console.info('Unable to get active caip network id');\n return undefined;\n }\n },\n deleteActiveCaipNetworkId() {\n try {\n SafeLocalStorage.removeItem(SafeLocalStorageKeys.ACTIVE_CAIP_NETWORK_ID);\n }\n catch {\n console.info('Unable to delete active caip network id');\n }\n },\n deleteConnectedConnectorId(namespace) {\n try {\n const key = getSafeConnectorIdKey(namespace);\n SafeLocalStorage.removeItem(key);\n }\n catch {\n console.info('Unable to delete connected connector id');\n }\n },\n setAppKitRecent(wallet) {\n try {\n const recentWallets = StorageUtil.getRecentWallets();\n const exists = recentWallets.find(w => w.id === wallet.id);\n if (!exists) {\n recentWallets.unshift(wallet);\n if (recentWallets.length > 2) {\n recentWallets.pop();\n }\n SafeLocalStorage.setItem(SafeLocalStorageKeys.RECENT_WALLETS, JSON.stringify(recentWallets));\n }\n }\n catch {\n console.info('Unable to set AppKit recent');\n }\n },\n getRecentWallets() {\n try {\n const recent = SafeLocalStorage.getItem(SafeLocalStorageKeys.RECENT_WALLETS);\n return recent ? JSON.parse(recent) : [];\n }\n catch {\n console.info('Unable to get AppKit recent');\n }\n return [];\n },\n setConnectedConnectorId(namespace, connectorId) {\n try {\n const key = getSafeConnectorIdKey(namespace);\n SafeLocalStorage.setItem(key, connectorId);\n }\n catch {\n console.info('Unable to set Connected Connector Id');\n }\n },\n getActiveNamespace() {\n try {\n const activeNamespace = SafeLocalStorage.getItem(SafeLocalStorageKeys.ACTIVE_NAMESPACE);\n return activeNamespace;\n }\n catch {\n console.info('Unable to get active namespace');\n }\n return undefined;\n },\n getConnectedConnectorId(namespace) {\n if (!namespace) {\n return undefined;\n }\n try {\n const key = getSafeConnectorIdKey(namespace);\n return SafeLocalStorage.getItem(key);\n }\n catch (e) {\n console.info('Unable to get connected connector id in namespace ', namespace);\n }\n return undefined;\n },\n setConnectedSocialProvider(socialProvider) {\n try {\n SafeLocalStorage.setItem(SafeLocalStorageKeys.CONNECTED_SOCIAL, socialProvider);\n }\n catch {\n console.info('Unable to set connected social provider');\n }\n },\n getConnectedSocialProvider() {\n try {\n return SafeLocalStorage.getItem(SafeLocalStorageKeys.CONNECTED_SOCIAL);\n }\n catch {\n console.info('Unable to get connected social provider');\n }\n return undefined;\n },\n deleteConnectedSocialProvider() {\n try {\n SafeLocalStorage.removeItem(SafeLocalStorageKeys.CONNECTED_SOCIAL);\n }\n catch {\n console.info('Unable to delete connected social provider');\n }\n },\n getConnectedSocialUsername() {\n try {\n return SafeLocalStorage.getItem(SafeLocalStorageKeys.CONNECTED_SOCIAL_USERNAME);\n }\n catch {\n console.info('Unable to get connected social username');\n }\n return undefined;\n },\n getStoredActiveCaipNetworkId() {\n const storedCaipNetworkId = SafeLocalStorage.getItem(SafeLocalStorageKeys.ACTIVE_CAIP_NETWORK_ID);\n const networkId = storedCaipNetworkId?.split(':')?.[1];\n return networkId;\n },\n setConnectionStatus(status) {\n try {\n SafeLocalStorage.setItem(SafeLocalStorageKeys.CONNECTION_STATUS, status);\n }\n catch {\n console.info('Unable to set connection status');\n }\n },\n getConnectionStatus() {\n try {\n return SafeLocalStorage.getItem(SafeLocalStorageKeys.CONNECTION_STATUS);\n }\n catch {\n return undefined;\n }\n },\n getConnectedNamespaces() {\n try {\n const namespaces = SafeLocalStorage.getItem(SafeLocalStorageKeys.CONNECTED_NAMESPACES);\n if (!namespaces?.length) {\n return [];\n }\n return namespaces.split(',');\n }\n catch {\n return [];\n }\n },\n setConnectedNamespaces(namespaces) {\n try {\n const uniqueNamespaces = Array.from(new Set(namespaces));\n SafeLocalStorage.setItem(SafeLocalStorageKeys.CONNECTED_NAMESPACES, uniqueNamespaces.join(','));\n }\n catch {\n console.info('Unable to set namespaces in storage');\n }\n },\n addConnectedNamespace(namespace) {\n try {\n const namespaces = StorageUtil.getConnectedNamespaces();\n if (!namespaces.includes(namespace)) {\n namespaces.push(namespace);\n StorageUtil.setConnectedNamespaces(namespaces);\n }\n }\n catch {\n console.info('Unable to add connected namespace');\n }\n },\n removeConnectedNamespace(namespace) {\n try {\n const namespaces = StorageUtil.getConnectedNamespaces();\n const index = namespaces.indexOf(namespace);\n if (index > -1) {\n namespaces.splice(index, 1);\n StorageUtil.setConnectedNamespaces(namespaces);\n }\n }\n catch {\n console.info('Unable to remove connected namespace');\n }\n },\n getTelegramSocialProvider() {\n try {\n return SafeLocalStorage.getItem(SafeLocalStorageKeys.TELEGRAM_SOCIAL_PROVIDER);\n }\n catch {\n console.info('Unable to get telegram social provider');\n return null;\n }\n },\n setTelegramSocialProvider(socialProvider) {\n try {\n SafeLocalStorage.setItem(SafeLocalStorageKeys.TELEGRAM_SOCIAL_PROVIDER, socialProvider);\n }\n catch {\n console.info('Unable to set telegram social provider');\n }\n },\n removeTelegramSocialProvider() {\n try {\n SafeLocalStorage.removeItem(SafeLocalStorageKeys.TELEGRAM_SOCIAL_PROVIDER);\n }\n catch {\n console.info('Unable to remove telegram social provider');\n }\n },\n getBalanceCache() {\n let cache = {};\n try {\n const result = SafeLocalStorage.getItem(SafeLocalStorageKeys.PORTFOLIO_CACHE);\n cache = result ? JSON.parse(result) : {};\n }\n catch {\n console.info('Unable to get balance cache');\n }\n return cache;\n },\n removeAddressFromBalanceCache(caipAddress) {\n try {\n const cache = StorageUtil.getBalanceCache();\n SafeLocalStorage.setItem(SafeLocalStorageKeys.PORTFOLIO_CACHE, JSON.stringify({ ...cache, [caipAddress]: undefined }));\n }\n catch {\n console.info('Unable to remove address from balance cache', caipAddress);\n }\n },\n getBalanceCacheForCaipAddress(caipAddress) {\n try {\n const cache = StorageUtil.getBalanceCache();\n const balanceCache = cache[caipAddress];\n // We want to discard cache if it's older than the cache expiry\n if (balanceCache &&\n !this.isCacheExpired(balanceCache.timestamp, this.cacheExpiry.portfolio)) {\n return balanceCache.balance;\n }\n StorageUtil.removeAddressFromBalanceCache(caipAddress);\n }\n catch {\n console.info('Unable to get balance cache for address', caipAddress);\n }\n return undefined;\n },\n updateBalanceCache(params) {\n try {\n const cache = StorageUtil.getBalanceCache();\n cache[params.caipAddress] = params;\n SafeLocalStorage.setItem(SafeLocalStorageKeys.PORTFOLIO_CACHE, JSON.stringify(cache));\n }\n catch {\n console.info('Unable to update balance cache', params);\n }\n },\n getNativeBalanceCache() {\n let cache = {};\n try {\n const result = SafeLocalStorage.getItem(SafeLocalStorageKeys.NATIVE_BALANCE_CACHE);\n cache = result ? JSON.parse(result) : {};\n }\n catch {\n console.info('Unable to get balance cache');\n }\n return cache;\n },\n removeAddressFromNativeBalanceCache(caipAddress) {\n try {\n const cache = StorageUtil.getBalanceCache();\n SafeLocalStorage.setItem(SafeLocalStorageKeys.NATIVE_BALANCE_CACHE, JSON.stringify({ ...cache, [caipAddress]: undefined }));\n }\n catch {\n console.info('Unable to remove address from balance cache', caipAddress);\n }\n },\n getNativeBalanceCacheForCaipAddress(caipAddress) {\n try {\n const cache = StorageUtil.getNativeBalanceCache();\n const nativeBalanceCache = cache[caipAddress];\n // We want to discard cache if it's older than the cache expiry\n if (nativeBalanceCache &&\n !this.isCacheExpired(nativeBalanceCache.timestamp, this.cacheExpiry.nativeBalance)) {\n return nativeBalanceCache;\n }\n console.info('Discarding cache for address', caipAddress);\n StorageUtil.removeAddressFromBalanceCache(caipAddress);\n }\n catch {\n console.info('Unable to get balance cache for address', caipAddress);\n }\n return undefined;\n },\n updateNativeBalanceCache(params) {\n try {\n const cache = StorageUtil.getNativeBalanceCache();\n cache[params.caipAddress] = params;\n SafeLocalStorage.setItem(SafeLocalStorageKeys.NATIVE_BALANCE_CACHE, JSON.stringify(cache));\n }\n catch {\n console.info('Unable to update balance cache', params);\n }\n },\n getEnsCache() {\n let cache = {};\n try {\n const result = SafeLocalStorage.getItem(SafeLocalStorageKeys.ENS_CACHE);\n cache = result ? JSON.parse(result) : {};\n }\n catch {\n console.info('Unable to get ens name cache');\n }\n return cache;\n },\n getEnsFromCacheForAddress(address) {\n try {\n const cache = StorageUtil.getEnsCache();\n const ensCache = cache[address];\n // We want to discard cache if it's older than the cache expiry\n if (ensCache && !this.isCacheExpired(ensCache.timestamp, this.cacheExpiry.ens)) {\n return ensCache.ens;\n }\n StorageUtil.removeEnsFromCache(address);\n }\n catch {\n console.info('Unable to get ens name from cache', address);\n }\n return undefined;\n },\n updateEnsCache(params) {\n try {\n const cache = StorageUtil.getEnsCache();\n cache[params.address] = params;\n SafeLocalStorage.setItem(SafeLocalStorageKeys.ENS_CACHE, JSON.stringify(cache));\n }\n catch {\n console.info('Unable to update ens name cache', params);\n }\n },\n removeEnsFromCache(address) {\n try {\n const cache = StorageUtil.getEnsCache();\n SafeLocalStorage.setItem(SafeLocalStorageKeys.ENS_CACHE, JSON.stringify({ ...cache, [address]: undefined }));\n }\n catch {\n console.info('Unable to remove ens name from cache', address);\n }\n },\n getIdentityCache() {\n let cache = {};\n try {\n const result = SafeLocalStorage.getItem(SafeLocalStorageKeys.IDENTITY_CACHE);\n cache = result ? JSON.parse(result) : {};\n }\n catch {\n console.info('Unable to get identity cache');\n }\n return cache;\n },\n getIdentityFromCacheForAddress(address) {\n try {\n const cache = StorageUtil.getIdentityCache();\n const identityCache = cache[address];\n // We want to discard cache if it's older than the cache expiry\n if (identityCache &&\n !this.isCacheExpired(identityCache.timestamp, this.cacheExpiry.identity)) {\n return identityCache.identity;\n }\n StorageUtil.removeIdentityFromCache(address);\n }\n catch {\n console.info('Unable to get identity from cache', address);\n }\n return undefined;\n },\n updateIdentityCache(params) {\n try {\n const cache = StorageUtil.getIdentityCache();\n cache[params.address] = {\n identity: params.identity,\n timestamp: params.timestamp\n };\n SafeLocalStorage.setItem(SafeLocalStorageKeys.IDENTITY_CACHE, JSON.stringify(cache));\n }\n catch {\n console.info('Unable to update identity cache', params);\n }\n },\n removeIdentityFromCache(address) {\n try {\n const cache = StorageUtil.getIdentityCache();\n SafeLocalStorage.setItem(SafeLocalStorageKeys.IDENTITY_CACHE, JSON.stringify({ ...cache, [address]: undefined }));\n }\n catch {\n console.info('Unable to remove identity from cache', address);\n }\n },\n clearAddressCache() {\n try {\n SafeLocalStorage.removeItem(SafeLocalStorageKeys.PORTFOLIO_CACHE);\n SafeLocalStorage.removeItem(SafeLocalStorageKeys.NATIVE_BALANCE_CACHE);\n SafeLocalStorage.removeItem(SafeLocalStorageKeys.ENS_CACHE);\n SafeLocalStorage.removeItem(SafeLocalStorageKeys.IDENTITY_CACHE);\n }\n catch {\n console.info('Unable to clear address cache');\n }\n },\n setPreferredAccountTypes(accountTypes) {\n try {\n SafeLocalStorage.setItem(SafeLocalStorageKeys.PREFERRED_ACCOUNT_TYPES, JSON.stringify(accountTypes));\n }\n catch {\n console.info('Unable to set preferred account types', accountTypes);\n }\n },\n getPreferredAccountTypes() {\n try {\n const result = SafeLocalStorage.getItem(SafeLocalStorageKeys.PREFERRED_ACCOUNT_TYPES);\n if (!result) {\n return {};\n }\n return JSON.parse(result);\n }\n catch {\n console.info('Unable to get preferred account types');\n }\n return {};\n },\n setConnections(connections, chainNamespace) {\n try {\n const newConnections = {\n ...StorageUtil.getConnections(),\n [chainNamespace]: connections\n };\n SafeLocalStorage.setItem(SafeLocalStorageKeys.CONNECTIONS, JSON.stringify(newConnections));\n }\n catch (error) {\n console.error('Unable to sync connections to storage', error);\n }\n },\n getConnections() {\n try {\n const connectionsStorage = SafeLocalStorage.getItem(SafeLocalStorageKeys.CONNECTIONS);\n if (!connectionsStorage) {\n return {};\n }\n return JSON.parse(connectionsStorage);\n }\n catch (error) {\n console.error('Unable to get connections from storage', error);\n return {};\n }\n }\n};\n//# sourceMappingURL=StorageUtil.js.map","import { ConstantsUtil as CommonConstants } from '@reown/appkit-common';\nimport { ConstantsUtil } from './ConstantsUtil.js';\nimport { StorageUtil } from './StorageUtil.js';\nexport const CoreHelperUtil = {\n isMobile() {\n if (this.isClient()) {\n return Boolean((typeof window?.matchMedia === 'function' &&\n window?.matchMedia('(pointer:coarse)')?.matches) ||\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent));\n }\n return false;\n },\n checkCaipNetwork(network, networkName = '') {\n return network?.caipNetworkId.toLocaleLowerCase().includes(networkName.toLowerCase());\n },\n isAndroid() {\n if (!this.isMobile()) {\n return false;\n }\n const ua = window?.navigator.userAgent.toLowerCase();\n return CoreHelperUtil.isMobile() && ua.includes('android');\n },\n isIos() {\n if (!this.isMobile()) {\n return false;\n }\n const ua = window?.navigator.userAgent.toLowerCase();\n return ua.includes('iphone') || ua.includes('ipad');\n },\n isSafari() {\n if (!this.isClient()) {\n return false;\n }\n const ua = window?.navigator.userAgent.toLowerCase();\n return ua.includes('safari');\n },\n isClient() {\n return typeof window !== 'undefined';\n },\n isPairingExpired(expiry) {\n return expiry ? expiry - Date.now() <= ConstantsUtil.TEN_SEC_MS : true;\n },\n isAllowedRetry(lastRetry, differenceMs = ConstantsUtil.ONE_SEC_MS) {\n return Date.now() - lastRetry >= differenceMs;\n },\n copyToClopboard(text) {\n navigator.clipboard.writeText(text);\n },\n isIframe() {\n try {\n return window?.self !== window?.top;\n }\n catch (e) {\n return false;\n }\n },\n isSafeApp() {\n if (CoreHelperUtil.isClient() && window.self !== window.top) {\n try {\n const ancestor = window?.location?.ancestorOrigins?.[0];\n const safeAppUrl = 'https://app.safe.global';\n if (ancestor) {\n const ancestorUrl = new URL(ancestor);\n const safeUrl = new URL(safeAppUrl);\n return ancestorUrl.hostname === safeUrl.hostname;\n }\n }\n catch {\n return false;\n }\n }\n return false;\n },\n getPairingExpiry() {\n return Date.now() + ConstantsUtil.FOUR_MINUTES_MS;\n },\n getNetworkId(caipAddress) {\n return caipAddress?.split(':')[1];\n },\n getPlainAddress(caipAddress) {\n return caipAddress?.split(':')[2];\n },\n async wait(milliseconds) {\n return new Promise(resolve => {\n setTimeout(resolve, milliseconds);\n });\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n debounce(func, timeout = 500) {\n let timer = undefined;\n return (...args) => {\n function next() {\n func(...args);\n }\n if (timer) {\n clearTimeout(timer);\n }\n timer = setTimeout(next, timeout);\n };\n },\n isHttpUrl(url) {\n return url.startsWith('http://') || url.startsWith('https://');\n },\n formatNativeUrl(appUrl, wcUri, universalLink = null) {\n if (CoreHelperUtil.isHttpUrl(appUrl)) {\n return this.formatUniversalUrl(appUrl, wcUri);\n }\n let safeAppUrl = appUrl;\n let safeUniversalLink = universalLink;\n if (!safeAppUrl.includes('://')) {\n safeAppUrl = appUrl.replaceAll('/', '').replaceAll(':', '');\n safeAppUrl = `${safeAppUrl}://`;\n }\n if (!safeAppUrl.endsWith('/')) {\n safeAppUrl = `${safeAppUrl}/`;\n }\n if (safeUniversalLink && !safeUniversalLink?.endsWith('/')) {\n safeUniversalLink = `${safeUniversalLink}/`;\n }\n // Android deeplinks in tg context require the uri to be encoded twice\n if (this.isTelegram() && this.isAndroid()) {\n // eslint-disable-next-line no-param-reassign\n wcUri = encodeURIComponent(wcUri);\n }\n const encodedWcUrl = encodeURIComponent(wcUri);\n return {\n redirect: `${safeAppUrl}wc?uri=${encodedWcUrl}`,\n redirectUniversalLink: safeUniversalLink\n ? `${safeUniversalLink}wc?uri=${encodedWcUrl}`\n : undefined,\n href: safeAppUrl\n };\n },\n formatUniversalUrl(appUrl, wcUri) {\n if (!CoreHelperUtil.isHttpUrl(appUrl)) {\n return this.formatNativeUrl(appUrl, wcUri);\n }\n let safeAppUrl = appUrl;\n if (!safeAppUrl.endsWith('/')) {\n safeAppUrl = `${safeAppUrl}/`;\n }\n const encodedWcUrl = encodeURIComponent(wcUri);\n return {\n redirect: `${safeAppUrl}wc?uri=${encodedWcUrl}`,\n href: safeAppUrl\n };\n },\n getOpenTargetForPlatform(target) {\n if (target === 'popupWindow') {\n return target;\n }\n // Only '_blank' deeplinks work in Telegram context\n if (this.isTelegram()) {\n // But for social login, we need to load the page in the same context\n if (StorageUtil.getTelegramSocialProvider()) {\n return '_top';\n }\n return '_blank';\n }\n return target;\n },\n openHref(href, target, features) {\n window?.open(href, this.getOpenTargetForPlatform(target), features || 'noreferrer noopener');\n },\n returnOpenHref(href, target, features) {\n return window?.open(href, this.getOpenTargetForPlatform(target), features || 'noreferrer noopener');\n },\n isTelegram() {\n return (typeof window !== 'undefined' &&\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (Boolean(window.TelegramWebviewProxy) ||\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Boolean(window.Telegram) ||\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Boolean(window.TelegramWebviewProxyProto)));\n },\n isPWA() {\n if (typeof window === 'undefined') {\n return false;\n }\n const isStandaloneDisplayMode = window.matchMedia?.('(display-mode: standalone)')?.matches;\n const isIOSStandalone = window?.navigator?.standalone;\n return Boolean(isStandaloneDisplayMode || isIOSStandalone);\n },\n async preloadImage(src) {\n const imagePromise = new Promise((resolve, reject) => {\n const image = new Image();\n image.onload = resolve;\n image.onerror = reject;\n image.crossOrigin = 'anonymous';\n image.src = src;\n });\n return Promise.race([imagePromise, CoreHelperUtil.wait(2000)]);\n },\n formatBalance(balance, symbol) {\n let formattedBalance = '0.000';\n if (typeof balance === 'string') {\n const number = Number(balance);\n if (number) {\n const formattedValue = Math.floor(number * 1000) / 1000;\n if (formattedValue) {\n formattedBalance = formattedValue.toString();\n }\n }\n }\n return `${formattedBalance}${symbol ? ` ${symbol}` : ''}`;\n },\n formatBalance2(balance, symbol) {\n let formattedBalance = undefined;\n if (balance === '0') {\n formattedBalance = '0';\n }\n else if (typeof balance === 'string') {\n const number = Number(balance);\n if (number) {\n formattedBalance = number.toString().match(/^-?\\d+(?:\\.\\d{0,3})?/u)?.[0];\n }\n }\n return {\n value: formattedBalance ?? '0',\n rest: formattedBalance === '0' ? '000' : '',\n symbol\n };\n },\n getApiUrl() {\n return CommonConstants.W3M_API_URL;\n },\n getBlockchainApiUrl() {\n return CommonConstants.BLOCKCHAIN_API_RPC_URL;\n },\n getAnalyticsUrl() {\n return CommonConstants.PULSE_API_URL;\n },\n getUUID() {\n if (crypto?.randomUUID) {\n return crypto.randomUUID();\n }\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/gu, c => {\n const r = (Math.random() * 16) | 0;\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parseError(error) {\n if (typeof error === 'string') {\n return error;\n }\n else if (typeof error?.issues?.[0]?.message === 'string') {\n return error.issues[0].message;\n }\n else if (error instanceof Error) {\n return error.message;\n }\n return 'Unknown error';\n },\n sortRequestedNetworks(approvedIds, requestedNetworks = []) {\n const approvedIndexMap = {};\n if (requestedNetworks && approvedIds) {\n approvedIds.forEach((id, index) => {\n approvedIndexMap[id] = index;\n });\n requestedNetworks.sort((a, b) => {\n const indexA = approvedIndexMap[a.id];\n const indexB = approvedIndexMap[b.id];\n if (indexA !== undefined && indexB !== undefined) {\n return indexA - indexB;\n }\n else if (indexA !== undefined) {\n return -1;\n }\n else if (indexB !== undefined) {\n return 1;\n }\n return 0;\n });\n }\n return requestedNetworks;\n },\n calculateBalance(array) {\n let sum = 0;\n for (const item of array) {\n sum += item.value ?? 0;\n }\n return sum;\n },\n formatTokenBalance(number) {\n const roundedNumber = number.toFixed(2);\n const [dollars, pennies] = roundedNumber.split('.');\n return { dollars, pennies };\n },\n isAddress(address, chain = 'eip155') {\n switch (chain) {\n case 'eip155':\n if (!/^(?:0x)?[0-9a-f]{40}$/iu.test(address)) {\n return false;\n }\n else if (/^(?:0x)?[0-9a-f]{40}$/iu.test(address) ||\n /^(?:0x)?[0-9A-F]{40}$/iu.test(address)) {\n return true;\n }\n return false;\n case 'solana':\n return /[1-9A-HJ-NP-Za-km-z]{32,44}$/iu.test(address);\n default:\n return false;\n }\n },\n uniqueBy(arr, key) {\n const set = new Set();\n return arr.filter(item => {\n const keyValue = item[key];\n if (set.has(keyValue)) {\n return false;\n }\n set.add(keyValue);\n return true;\n });\n },\n generateSdkVersion(adapters, platform, version) {\n const hasNoAdapters = adapters.length === 0;\n const adapterNames = (hasNoAdapters\n ? ConstantsUtil.ADAPTER_TYPES.UNIVERSAL\n : adapters.map(adapter => adapter.adapterType).join(','));\n return `${platform}-${adapterNames}-${version}`;\n },\n // eslint-disable-next-line max-params\n createAccount(namespace, address, type, publicKey, path) {\n return {\n namespace,\n address,\n type,\n publicKey,\n path\n };\n },\n isCaipAddress(address) {\n if (typeof address !== 'string') {\n return false;\n }\n const sections = address.split(':');\n const namespace = sections[0];\n return (sections.filter(Boolean).length === 3 &&\n namespace in CommonConstants.CHAIN_NAME_MAP);\n },\n isMac() {\n const ua = window?.navigator.userAgent.toLowerCase();\n return ua.includes('macintosh') && !ua.includes('safari');\n },\n formatTelegramSocialLoginUrl(url) {\n const valueToInject = `--${encodeURIComponent(window?.location.href)}`;\n const paramToInject = 'state=';\n const parsedUrl = new URL(url);\n if (parsedUrl.host === 'auth.magic.link') {\n const providerParam = 'provider_authorization_url=';\n const providerUrl = url.substring(url.indexOf(providerParam) + providerParam.length);\n const resultUrl = this.injectIntoUrl(decodeURIComponent(providerUrl), paramToInject, valueToInject);\n return url.replace(providerUrl, encodeURIComponent(resultUrl));\n }\n return this.injectIntoUrl(url, paramToInject, valueToInject);\n },\n injectIntoUrl(url, key, appendString) {\n // Find the position of \"key\" e.g. \"state=\" in the URL\n const keyIndex = url.indexOf(key);\n if (keyIndex === -1) {\n throw new Error(`${key} parameter not found in the URL: ${url}`);\n }\n // Find the position of the next \"&\" after \"key\"\n const keyEndIndex = url.indexOf('&', keyIndex);\n const keyLength = key.length;\n // If there is no \"&\" after key, it means \"key\" is the last parameter\n // eslint-disable-next-line no-negated-condition\n const keyParamEnd = keyEndIndex !== -1 ? keyEndIndex : url.length;\n // Extract the part of the URL before the key value\n const beforeKeyValue = url.substring(0, keyIndex + keyLength);\n // Extract the current key value\n const currentKeyValue = url.substring(keyIndex + keyLength, keyParamEnd);\n // Extract the part of the URL after the key value\n const afterKeyValue = url.substring(keyEndIndex);\n // Append the new string to the key value\n const newKeyValue = currentKeyValue + appendString;\n // Reconstruct the URL with the appended key value\n const newUrl = beforeKeyValue + newKeyValue + afterKeyValue;\n return newUrl;\n }\n};\n//# sourceMappingURL=CoreHelperUtil.js.map","async function fetchData(...args) {\n const response = await fetch(...args);\n if (!response.ok) {\n // Create error object and reject if not a 2xx response code\n const err = new Error(`HTTP status code: ${response.status}`, {\n cause: response\n });\n throw err;\n }\n return response;\n}\n// -- Utility --------------------------------------------------------------------\nexport class FetchUtil {\n constructor({ baseUrl, clientId }) {\n this.baseUrl = baseUrl;\n this.clientId = clientId;\n }\n async get({ headers, signal, cache, ...args }) {\n const url = this.createUrl(args);\n const response = await fetchData(url, { method: 'GET', headers, signal, cache });\n return response.json();\n }\n async getBlob({ headers, signal, ...args }) {\n const url = this.createUrl(args);\n const response = await fetchData(url, { method: 'GET', headers, signal });\n return response.blob();\n }\n async post({ body, headers, signal, ...args }) {\n const url = this.createUrl(args);\n const response = await fetchData(url, {\n method: 'POST',\n headers,\n body: body ? JSON.stringify(body) : undefined,\n signal\n });\n return response.json();\n }\n async put({ body, headers, signal, ...args }) {\n const url = this.createUrl(args);\n const response = await fetchData(url, {\n method: 'PUT',\n headers,\n body: body ? JSON.stringify(body) : undefined,\n signal\n });\n return response.json();\n }\n async delete({ body, headers, signal, ...args }) {\n const url = this.createUrl(args);\n const response = await fetchData(url, {\n method: 'DELETE',\n headers,\n body: body ? JSON.stringify(body) : undefined,\n signal\n });\n return response.json();\n }\n createUrl({ path, params }) {\n const url = new URL(path, this.baseUrl);\n if (params) {\n Object.entries(params).forEach(([key, value]) => {\n if (value) {\n url.searchParams.append(key, value);\n }\n });\n }\n if (this.clientId) {\n url.searchParams.append('clientId', this.clientId);\n }\n return url;\n }\n}\n//# sourceMappingURL=FetchUtil.js.map","import { ConstantsUtil } from './ConstantsUtil.js';\nimport { CoreHelperUtil } from './CoreHelperUtil.js';\nexport const OptionsUtil = {\n getFeatureValue(key, features) {\n const optionValue = features?.[key];\n if (optionValue === undefined) {\n return ConstantsUtil.DEFAULT_FEATURES[key];\n }\n return optionValue;\n },\n filterSocialsByPlatform(socials) {\n if (!socials || !socials.length) {\n return socials;\n }\n if (CoreHelperUtil.isTelegram()) {\n if (CoreHelperUtil.isIos()) {\n return socials.filter(s => s !== 'google');\n }\n if (CoreHelperUtil.isMac()) {\n return socials.filter(s => s !== 'x');\n }\n if (CoreHelperUtil.isAndroid()) {\n return socials.filter(s => !['facebook', 'x'].includes(s));\n }\n }\n return socials;\n }\n};\n//# sourceMappingURL=OptionsUtil.js.map","import { proxy, snapshot } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { ConstantsUtil } from '../utils/ConstantsUtil.js';\nimport { OptionsUtil } from '../utils/OptionsUtil.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n features: ConstantsUtil.DEFAULT_FEATURES,\n projectId: '',\n sdkType: 'appkit',\n sdkVersion: 'html-wagmi-undefined',\n defaultAccountTypes: ConstantsUtil.DEFAULT_ACCOUNT_TYPES,\n enableNetworkSwitch: true,\n experimental_preferUniversalLinks: false,\n remoteFeatures: {}\n});\n// -- Controller ---------------------------------------- //\nexport const OptionsController = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n setOptions(options) {\n Object.assign(state, options);\n },\n setRemoteFeatures(remoteFeatures) {\n if (!remoteFeatures) {\n return;\n }\n const newRemoteFeatures = { ...state.remoteFeatures, ...remoteFeatures };\n state.remoteFeatures = newRemoteFeatures;\n if (state.remoteFeatures?.socials) {\n state.remoteFeatures.socials = OptionsUtil.filterSocialsByPlatform(state.remoteFeatures.socials);\n }\n },\n setFeatures(features) {\n if (!features) {\n return;\n }\n if (!state.features) {\n state.features = ConstantsUtil.DEFAULT_FEATURES;\n }\n const newFeatures = { ...state.features, ...features };\n state.features = newFeatures;\n },\n setProjectId(projectId) {\n state.projectId = projectId;\n },\n setCustomRpcUrls(customRpcUrls) {\n state.customRpcUrls = customRpcUrls;\n },\n setAllWallets(allWallets) {\n state.allWallets = allWallets;\n },\n setIncludeWalletIds(includeWalletIds) {\n state.includeWalletIds = includeWalletIds;\n },\n setExcludeWalletIds(excludeWalletIds) {\n state.excludeWalletIds = excludeWalletIds;\n },\n setFeaturedWalletIds(featuredWalletIds) {\n state.featuredWalletIds = featuredWalletIds;\n },\n setTokens(tokens) {\n state.tokens = tokens;\n },\n setTermsConditionsUrl(termsConditionsUrl) {\n state.termsConditionsUrl = termsConditionsUrl;\n },\n setPrivacyPolicyUrl(privacyPolicyUrl) {\n state.privacyPolicyUrl = privacyPolicyUrl;\n },\n setCustomWallets(customWallets) {\n state.customWallets = customWallets;\n },\n setIsSiweEnabled(isSiweEnabled) {\n state.isSiweEnabled = isSiweEnabled;\n },\n setIsUniversalProvider(isUniversalProvider) {\n state.isUniversalProvider = isUniversalProvider;\n },\n setSdkVersion(sdkVersion) {\n state.sdkVersion = sdkVersion;\n },\n setMetadata(metadata) {\n state.metadata = metadata;\n },\n setDisableAppend(disableAppend) {\n state.disableAppend = disableAppend;\n },\n setEIP6963Enabled(enableEIP6963) {\n state.enableEIP6963 = enableEIP6963;\n },\n setDebug(debug) {\n state.debug = debug;\n },\n setEnableWalletConnect(enableWalletConnect) {\n state.enableWalletConnect = enableWalletConnect;\n },\n setEnableWalletGuide(enableWalletGuide) {\n state.enableWalletGuide = enableWalletGuide;\n },\n setEnableAuthLogger(enableAuthLogger) {\n state.enableAuthLogger = enableAuthLogger;\n },\n setEnableWallets(enableWallets) {\n state.enableWallets = enableWallets;\n },\n setPreferUniversalLinks(preferUniversalLinks) {\n state.experimental_preferUniversalLinks = preferUniversalLinks;\n },\n setHasMultipleAddresses(hasMultipleAddresses) {\n state.hasMultipleAddresses = hasMultipleAddresses;\n },\n setSIWX(siwx) {\n state.siwx = siwx;\n },\n setConnectMethodsOrder(connectMethodsOrder) {\n state.features = {\n ...state.features,\n connectMethodsOrder\n };\n },\n setWalletFeaturesOrder(walletFeaturesOrder) {\n state.features = {\n ...state.features,\n walletFeaturesOrder\n };\n },\n setSocialsOrder(socialsOrder) {\n state.remoteFeatures = {\n ...state.remoteFeatures,\n socials: socialsOrder\n };\n },\n setCollapseWallets(collapseWallets) {\n state.features = {\n ...state.features,\n collapseWallets\n };\n },\n setEnableEmbedded(enableEmbedded) {\n state.enableEmbedded = enableEmbedded;\n },\n setAllowUnsupportedChain(allowUnsupportedChain) {\n state.allowUnsupportedChain = allowUnsupportedChain;\n },\n setManualWCControl(manualWCControl) {\n state.manualWCControl = manualWCControl;\n },\n setEnableNetworkSwitch(enableNetworkSwitch) {\n state.enableNetworkSwitch = enableNetworkSwitch;\n },\n setDefaultAccountTypes(defaultAccountType = {}) {\n Object.entries(defaultAccountType).forEach(([namespace, accountType]) => {\n if (accountType) {\n // @ts-expect-error - Keys are validated by the param type\n state.defaultAccountTypes[namespace] = accountType;\n }\n });\n },\n setUniversalProviderConfigOverride(universalProviderConfigOverride) {\n state.universalProviderConfigOverride = universalProviderConfigOverride;\n },\n getUniversalProviderConfigOverride() {\n return state.universalProviderConfigOverride;\n },\n getSnapshot() {\n return snapshot(state);\n }\n};\n//# sourceMappingURL=OptionsController.js.map","import { proxy } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { FetchUtil } from '../utils/FetchUtil.js';\nimport { OptionsController } from './OptionsController.js';\n// -- Constants ----------------------------------------- //\nconst DEFAULT_STATE = Object.freeze({\n enabled: true,\n events: []\n});\nconst api = new FetchUtil({ baseUrl: CoreHelperUtil.getAnalyticsUrl(), clientId: null });\n// Rate limiting constants\nconst MAX_ERRORS_PER_MINUTE = 5;\nconst ONE_MINUTE_MS = 60 * 1000;\n// -- State --------------------------------------------- //\nconst state = proxy({\n ...DEFAULT_STATE\n});\n// -- Controller ---------------------------------------- //\nexport const TelemetryController = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n async sendError(error, category) {\n if (!state.enabled) {\n return;\n }\n // Check rate limiting using events array\n const now = Date.now();\n const recentErrors = state.events.filter(event => {\n const eventTime = new Date(event.properties.timestamp || '').getTime();\n return now - eventTime < ONE_MINUTE_MS;\n });\n if (recentErrors.length >= MAX_ERRORS_PER_MINUTE) {\n // Exit silently\n return;\n }\n const errorEvent = {\n type: 'error',\n event: category,\n properties: {\n errorType: error.name,\n errorMessage: error.message,\n stackTrace: error.stack,\n timestamp: new Date().toISOString()\n }\n };\n state.events.push(errorEvent);\n try {\n if (typeof window === 'undefined') {\n return;\n }\n const { projectId, sdkType, sdkVersion } = OptionsController.state;\n await api.post({\n path: '/e',\n params: {\n projectId,\n st: sdkType,\n sv: sdkVersion || 'html-wagmi-4.2.2'\n },\n body: {\n eventId: CoreHelperUtil.getUUID(),\n url: window.location.href,\n domain: window.location.hostname,\n timestamp: new Date().toISOString(),\n props: {\n type: 'error',\n event: category,\n errorType: error.name,\n errorMessage: error.message,\n stackTrace: error.stack\n }\n }\n });\n }\n catch {\n // Do nothing\n }\n },\n enable() {\n state.enabled = true;\n },\n disable() {\n state.enabled = false;\n },\n clearEvents() {\n state.events = [];\n }\n};\n//# sourceMappingURL=TelemetryController.js.map","import { TelemetryController } from '../controllers/TelemetryController.js';\nexport class AppKitError extends Error {\n constructor(message, category, originalError) {\n super(message);\n this.name = 'AppKitError';\n this.category = category;\n this.originalError = originalError;\n // Ensure `this instanceof AppKitError` is true, important for custom errors.\n Object.setPrototypeOf(this, AppKitError.prototype);\n let isStackConstructedFromOriginal = false;\n if (originalError instanceof Error &&\n typeof originalError.stack === 'string' &&\n originalError.stack) {\n const originalErrorStack = originalError.stack;\n /**\n * Most error stacks start with \"ErrorName: ErrorMessage\\n...frames...\"\n * We want to take the \"...frames...\" part.\n */\n const firstNewlineIndex = originalErrorStack.indexOf('\\n');\n if (firstNewlineIndex > -1) {\n const originalFrames = originalErrorStack.substring(firstNewlineIndex + 1);\n this.stack = `${this.name}: ${this.message}\\n${originalFrames}`;\n isStackConstructedFromOriginal = true;\n }\n }\n if (!isStackConstructedFromOriginal) {\n /**\n * If stack was not (or could not be) constructed from originalError,\n * generate a standard stack trace for this AppKitError instance.\n * This will point to where `new AppKitError()` was called.\n */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, AppKitError);\n }\n else if (!this.stack) {\n /**\n * Fallback for environments without Error.captureStackTrace.\n * `super(message)` might have set a stack.\n * If `this.stack` is still undefined/empty, provide a minimal one.\n * Node.js and modern browsers typically set `this.stack` from `super(message)`.\n */\n this.stack = `${this.name}: ${this.message}`;\n }\n }\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction errorHandler(err, defaultCategory) {\n const error = err instanceof AppKitError\n ? err\n : new AppKitError(err instanceof Error ? err.message : String(err), defaultCategory, err);\n TelemetryController.sendError(error, error.category);\n throw error;\n}\nexport function withErrorBoundary(controller, defaultCategory = 'INTERNAL_SDK_ERROR') {\n const newController = {};\n Object.keys(controller).forEach(key => {\n const original = controller[key];\n if (typeof original === 'function') {\n let wrapped = original;\n if (original.constructor.name === 'AsyncFunction') {\n wrapped = async (...args) => {\n try {\n return await original(...args);\n }\n catch (err) {\n return errorHandler(err, defaultCategory);\n }\n };\n }\n else {\n wrapped = (...args) => {\n try {\n return original(...args);\n }\n catch (err) {\n return errorHandler(err, defaultCategory);\n }\n };\n }\n newController[key] = wrapped;\n }\n else {\n newController[key] = original;\n }\n });\n return newController;\n}\n//# sourceMappingURL=withErrorBoundary.js.map","import { ConstantsUtil } from '@reown/appkit-common';\n/*\n * Exclude wallets that do not support relay connections but have custom deeplink mechanisms\n * Excludes:\n * - Phantom\n * - Coinbase\n */\nexport const CUSTOM_DEEPLINK_WALLETS = {\n PHANTOM: {\n id: 'a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393',\n url: 'https://phantom.app'\n },\n SOLFLARE: {\n id: '1ca0bdd4747578705b1939af023d120677c64fe6ca76add81fda36e350605e79',\n url: 'https://solflare.com'\n },\n COINBASE: {\n id: 'fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa',\n url: 'https://go.cb-w.com'\n }\n};\nexport const MobileWalletUtil = {\n /**\n * Handles mobile wallet redirection for wallets that have Universal Links and doesn't support WalletConnect Deep Links.\n *\n * @param {string} id - The id of the wallet.\n * @param {ChainNamespace} namespace - The namespace of the chain.\n */\n handleMobileDeeplinkRedirect(id, namespace) {\n /**\n * Universal Links requires explicit user interaction to open the wallet app.\n * Previously we've been calling this with the life-cycle methods in the Solana clients by listening the SELECT_WALLET event of EventController.\n * But this breaks the UL functionality for some wallets like Phantom.\n */\n const href = window.location.href;\n const encodedHref = encodeURIComponent(href);\n if (id === CUSTOM_DEEPLINK_WALLETS.PHANTOM.id && !('phantom' in window)) {\n const protocol = href.startsWith('https') ? 'https' : 'http';\n const host = href.split('/')[2];\n const encodedRef = encodeURIComponent(`${protocol}://${host}`);\n window.location.href = `${CUSTOM_DEEPLINK_WALLETS.PHANTOM.url}/ul/browse/${encodedHref}?ref=${encodedRef}`;\n }\n if (id === CUSTOM_DEEPLINK_WALLETS.SOLFLARE.id && !('solflare' in window)) {\n window.location.href = `${CUSTOM_DEEPLINK_WALLETS.SOLFLARE.url}/ul/v1/browse/${encodedHref}?ref=${encodedHref}`;\n }\n if (namespace === ConstantsUtil.CHAIN.SOLANA) {\n if (id === CUSTOM_DEEPLINK_WALLETS.COINBASE.id && !('coinbaseSolana' in window)) {\n window.location.href = `${CUSTOM_DEEPLINK_WALLETS.COINBASE.url}/dapp?cb_url=${encodedHref}`;\n }\n }\n }\n};\n//# sourceMappingURL=MobileWallet.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n walletImages: {},\n networkImages: {},\n chainImages: {},\n connectorImages: {},\n tokenImages: {},\n currencyImages: {}\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribeNetworkImages(callback) {\n return sub(state.networkImages, () => callback(state.networkImages));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n setWalletImage(key, value) {\n state.walletImages[key] = value;\n },\n setNetworkImage(key, value) {\n state.networkImages[key] = value;\n },\n setChainImage(key, value) {\n state.chainImages[key] = value;\n },\n setConnectorImage(key, value) {\n state.connectorImages = { ...state.connectorImages, [key]: value };\n },\n setTokenImage(key, value) {\n state.tokenImages[key] = value;\n },\n setCurrencyImage(key, value) {\n state.currencyImages[key] = value;\n }\n};\n// Export the controller wrapped with our error boundary\nexport const AssetController = withErrorBoundary(controller);\n//# sourceMappingURL=AssetController.js.map","import { proxy } from 'valtio/vanilla';\nimport { ApiController } from '../controllers/ApiController.js';\nimport { AssetController } from '../controllers/AssetController.js';\nconst namespaceImageIds = {\n // Ethereum\n eip155: 'ba0ba0cd-17c6-4806-ad93-f9d174f17900',\n // Solana\n solana: 'a1b58899-f671-4276-6a5e-56ca5bd59700',\n // Polkadot\n polkadot: '',\n // Bitcoin\n bip122: '0b4838db-0161-4ffe-022d-532bf03dba00',\n // Cosmos\n cosmos: ''\n};\n// -- State --------------------------------------------- //\nconst state = proxy({\n networkImagePromises: {}\n});\n// -- Util ---------------------------------------- //\nexport const AssetUtil = {\n async fetchWalletImage(imageId) {\n if (!imageId) {\n return undefined;\n }\n await ApiController._fetchWalletImage(imageId);\n return this.getWalletImageById(imageId);\n },\n async fetchNetworkImage(imageId) {\n if (!imageId) {\n return undefined;\n }\n const existingImage = this.getNetworkImageById(imageId);\n // Check if the image already exists\n if (existingImage) {\n return existingImage;\n }\n // Check if the promise is already created\n if (!state.networkImagePromises[imageId]) {\n state.networkImagePromises[imageId] = ApiController._fetchNetworkImage(imageId);\n }\n await state.networkImagePromises[imageId];\n return this.getNetworkImageById(imageId);\n },\n getWalletImageById(imageId) {\n if (!imageId) {\n return undefined;\n }\n return AssetController.state.walletImages[imageId];\n },\n getWalletImage(wallet) {\n if (wallet?.image_url) {\n return wallet?.image_url;\n }\n if (wallet?.image_id) {\n return AssetController.state.walletImages[wallet.image_id];\n }\n return undefined;\n },\n getNetworkImage(network) {\n if (network?.assets?.imageUrl) {\n return network?.assets?.imageUrl;\n }\n if (network?.assets?.imageId) {\n return AssetController.state.networkImages[network.assets.imageId];\n }\n return undefined;\n },\n getNetworkImageById(imageId) {\n if (!imageId) {\n return undefined;\n }\n return AssetController.state.networkImages[imageId];\n },\n getConnectorImage(connector) {\n if (connector?.imageUrl) {\n return connector.imageUrl;\n }\n if (connector?.imageId) {\n return AssetController.state.connectorImages[connector.imageId];\n }\n return undefined;\n },\n getChainImage(chain) {\n return AssetController.state.networkImages[namespaceImageIds[chain]];\n }\n};\n//# sourceMappingURL=AssetUtil.js.map","import { proxy } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { OptionsController } from './OptionsController.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n message: '',\n variant: 'info',\n open: false\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n open(message, variant) {\n const { debug } = OptionsController.state;\n const { shortMessage, longMessage } = message;\n if (debug) {\n state.message = shortMessage;\n state.variant = variant;\n state.open = true;\n }\n if (longMessage) {\n // eslint-disable-next-line no-console\n console.error(typeof longMessage === 'function' ? longMessage() : longMessage);\n }\n },\n close() {\n state.open = false;\n state.message = '';\n state.variant = 'info';\n }\n};\n// Export the controller wrapped with our error boundary\nexport const AlertController = withErrorBoundary(controller);\n//# sourceMappingURL=AlertController.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { ConstantsUtil, isSafe } from '@reown/appkit-common';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { FetchUtil } from '../utils/FetchUtil.js';\nimport { AccountController } from './AccountController.js';\nimport { AlertController } from './AlertController.js';\nimport { OptionsController } from './OptionsController.js';\n// -- Helpers ------------------------------------------- //\nconst baseUrl = CoreHelperUtil.getAnalyticsUrl();\nconst api = new FetchUtil({ baseUrl, clientId: null });\nconst excluded = ['MODAL_CREATED'];\n// -- State --------------------------------------------- //\nconst state = proxy({\n timestamp: Date.now(),\n reportedErrors: {},\n data: {\n type: 'track',\n event: 'MODAL_CREATED'\n }\n});\n// -- Controller ---------------------------------------- //\nexport const EventsController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n getSdkProperties() {\n const { projectId, sdkType, sdkVersion } = OptionsController.state;\n return {\n projectId,\n st: sdkType,\n sv: sdkVersion || 'html-wagmi-4.2.2'\n };\n },\n async _sendAnalyticsEvent(payload) {\n try {\n const address = AccountController.state.address;\n if (excluded.includes(payload.data.event) || typeof window === 'undefined') {\n return;\n }\n await api.post({\n path: '/e',\n params: EventsController.getSdkProperties(),\n body: {\n eventId: CoreHelperUtil.getUUID(),\n url: window.location.href,\n domain: window.location.hostname,\n timestamp: payload.timestamp,\n props: { ...payload.data, address }\n }\n });\n state.reportedErrors['FORBIDDEN'] = false;\n }\n catch (err) {\n const isForbiddenError = err instanceof Error &&\n err.cause instanceof Response &&\n err.cause.status === ConstantsUtil.HTTP_STATUS_CODES.FORBIDDEN &&\n !state.reportedErrors['FORBIDDEN'];\n if (isForbiddenError) {\n AlertController.open({\n shortMessage: 'Invalid App Configuration',\n longMessage: `Origin ${isSafe() ? window.origin : 'uknown'} not found on Allowlist - update configuration on cloud.reown.com`\n }, 'error');\n state.reportedErrors['FORBIDDEN'] = true;\n }\n }\n },\n sendEvent(data) {\n state.timestamp = Date.now();\n state.data = data;\n if (OptionsController.state.features?.analytics) {\n EventsController._sendAnalyticsEvent(state);\n }\n }\n};\n//# sourceMappingURL=EventsController.js.map","import { proxy } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { AssetUtil } from '../utils/AssetUtil.js';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { FetchUtil } from '../utils/FetchUtil.js';\nimport { CUSTOM_DEEPLINK_WALLETS } from '../utils/MobileWallet.js';\nimport { StorageUtil } from '../utils/StorageUtil.js';\nimport { AssetController } from './AssetController.js';\nimport { ChainController } from './ChainController.js';\nimport { ConnectorController } from './ConnectorController.js';\nimport { EventsController } from './EventsController.js';\nimport { OptionsController } from './OptionsController.js';\n// -- Helpers ------------------------------------------- //\nconst baseUrl = CoreHelperUtil.getApiUrl();\nexport const api = new FetchUtil({\n baseUrl,\n clientId: null\n});\nconst entries = 40;\nconst recommendedEntries = 4;\nconst imageCountToFetch = 20;\n// -- State --------------------------------------------- //\nconst state = proxy({\n promises: {},\n page: 1,\n count: 0,\n featured: [],\n allFeatured: [],\n recommended: [],\n allRecommended: [],\n wallets: [],\n filteredWallets: [],\n search: [],\n isAnalyticsEnabled: false,\n excludedWallets: [],\n isFetchingRecommendedWallets: false\n});\n// -- Controller ---------------------------------------- //\nexport const ApiController = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n _getSdkProperties() {\n const { projectId, sdkType, sdkVersion } = OptionsController.state;\n return {\n projectId,\n st: sdkType || 'appkit',\n sv: sdkVersion || 'html-wagmi-4.2.2'\n };\n },\n _filterOutExtensions(wallets) {\n if (OptionsController.state.isUniversalProvider) {\n return wallets.filter(w => Boolean(w.mobile_link || w.desktop_link || w.webapp_link));\n }\n return wallets;\n },\n async _fetchWalletImage(imageId) {\n const imageUrl = `${api.baseUrl}/getWalletImage/${imageId}`;\n const blob = await api.getBlob({ path: imageUrl, params: ApiController._getSdkProperties() });\n AssetController.setWalletImage(imageId, URL.createObjectURL(blob));\n },\n async _fetchNetworkImage(imageId) {\n const imageUrl = `${api.baseUrl}/public/getAssetImage/${imageId}`;\n const blob = await api.getBlob({ path: imageUrl, params: ApiController._getSdkProperties() });\n AssetController.setNetworkImage(imageId, URL.createObjectURL(blob));\n },\n async _fetchConnectorImage(imageId) {\n const imageUrl = `${api.baseUrl}/public/getAssetImage/${imageId}`;\n const blob = await api.getBlob({ path: imageUrl, params: ApiController._getSdkProperties() });\n AssetController.setConnectorImage(imageId, URL.createObjectURL(blob));\n },\n async _fetchCurrencyImage(countryCode) {\n const imageUrl = `${api.baseUrl}/public/getCurrencyImage/${countryCode}`;\n const blob = await api.getBlob({ path: imageUrl, params: ApiController._getSdkProperties() });\n AssetController.setCurrencyImage(countryCode, URL.createObjectURL(blob));\n },\n async _fetchTokenImage(symbol) {\n const imageUrl = `${api.baseUrl}/public/getTokenImage/${symbol}`;\n const blob = await api.getBlob({ path: imageUrl, params: ApiController._getSdkProperties() });\n AssetController.setTokenImage(symbol, URL.createObjectURL(blob));\n },\n _filterWalletsByPlatform(wallets) {\n const filteredWallets = CoreHelperUtil.isMobile()\n ? wallets?.filter(w => {\n if (w.mobile_link) {\n return true;\n }\n if (w.id === CUSTOM_DEEPLINK_WALLETS.COINBASE.id) {\n return true;\n }\n const isSolana = ChainController.state.activeChain === 'solana';\n return (isSolana &&\n (w.id === CUSTOM_DEEPLINK_WALLETS.SOLFLARE.id ||\n w.id === CUSTOM_DEEPLINK_WALLETS.PHANTOM.id));\n })\n : wallets;\n return filteredWallets;\n },\n async fetchProjectConfig() {\n const response = await api.get({\n path: '/appkit/v1/config',\n params: ApiController._getSdkProperties()\n });\n return response.features;\n },\n async fetchAllowedOrigins() {\n try {\n const { allowedOrigins } = await api.get({\n path: '/projects/v1/origins',\n params: ApiController._getSdkProperties()\n });\n return allowedOrigins;\n }\n catch (error) {\n return [];\n }\n },\n async fetchNetworkImages() {\n const requestedCaipNetworks = ChainController.getAllRequestedCaipNetworks();\n const ids = requestedCaipNetworks\n ?.map(({ assets }) => assets?.imageId)\n .filter(Boolean)\n .filter(imageId => !AssetUtil.getNetworkImageById(imageId));\n if (ids) {\n await Promise.allSettled(ids.map(id => ApiController._fetchNetworkImage(id)));\n }\n },\n async fetchConnectorImages() {\n const { connectors } = ConnectorController.state;\n const ids = connectors.map(({ imageId }) => imageId).filter(Boolean);\n await Promise.allSettled(ids.map(id => ApiController._fetchConnectorImage(id)));\n },\n async fetchCurrencyImages(currencies = []) {\n await Promise.allSettled(currencies.map(currency => ApiController._fetchCurrencyImage(currency)));\n },\n async fetchTokenImages(tokens = []) {\n await Promise.allSettled(tokens.map(token => ApiController._fetchTokenImage(token)));\n },\n async fetchWallets(params) {\n const exclude = params.exclude ?? [];\n const sdkProperties = ApiController._getSdkProperties();\n if (sdkProperties.sv.startsWith('html-core-')) {\n exclude.push(...Object.values(CUSTOM_DEEPLINK_WALLETS).map(w => w.id));\n }\n const wallets = await api.get({\n path: '/getWallets',\n params: {\n ...ApiController._getSdkProperties(),\n ...params,\n page: String(params.page),\n entries: String(params.entries),\n include: params.include?.join(','),\n exclude: exclude.join(',')\n }\n });\n const filteredWallets = ApiController._filterWalletsByPlatform(wallets?.data);\n return {\n data: filteredWallets || [],\n // Keep original count for display on main page\n count: wallets?.count\n };\n },\n async fetchFeaturedWallets() {\n const { featuredWalletIds } = OptionsController.state;\n if (featuredWalletIds?.length) {\n const params = {\n ...ApiController._getSdkProperties(),\n page: 1,\n entries: featuredWalletIds?.length ?? recommendedEntries,\n include: featuredWalletIds\n };\n const { data } = await ApiController.fetchWallets(params);\n const sortedData = [...data].sort((a, b) => featuredWalletIds.indexOf(a.id) - featuredWalletIds.indexOf(b.id));\n const images = sortedData.map(d => d.image_id).filter(Boolean);\n await Promise.allSettled(images.map(id => ApiController._fetchWalletImage(id)));\n state.featured = sortedData;\n state.allFeatured = sortedData;\n }\n },\n async fetchRecommendedWallets() {\n try {\n state.isFetchingRecommendedWallets = true;\n const { includeWalletIds, excludeWalletIds, featuredWalletIds } = OptionsController.state;\n const exclude = [...(excludeWalletIds ?? []), ...(featuredWalletIds ?? [])].filter(Boolean);\n const chains = ChainController.getRequestedCaipNetworkIds().join(',');\n const params = {\n page: 1,\n entries: recommendedEntries,\n include: includeWalletIds,\n exclude,\n chains\n };\n const { data, count } = await ApiController.fetchWallets(params);\n const recent = StorageUtil.getRecentWallets();\n const recommendedImages = data.map(d => d.image_id).filter(Boolean);\n const recentImages = recent.map(r => r.image_id).filter(Boolean);\n await Promise.allSettled([...recommendedImages, ...recentImages].map(id => ApiController._fetchWalletImage(id)));\n state.recommended = data;\n state.allRecommended = data;\n state.count = count ?? 0;\n }\n catch {\n // Catch silently\n }\n finally {\n state.isFetchingRecommendedWallets = false;\n }\n },\n async fetchWalletsByPage({ page }) {\n const { includeWalletIds, excludeWalletIds, featuredWalletIds } = OptionsController.state;\n const chains = ChainController.getRequestedCaipNetworkIds().join(',');\n const exclude = [\n ...state.recommended.map(({ id }) => id),\n ...(excludeWalletIds ?? []),\n ...(featuredWalletIds ?? [])\n ].filter(Boolean);\n const params = {\n page,\n entries,\n include: includeWalletIds,\n exclude,\n chains\n };\n const { data, count } = await ApiController.fetchWallets(params);\n const images = data\n .slice(0, imageCountToFetch)\n .map(w => w.image_id)\n .filter(Boolean);\n await Promise.allSettled(images.map(id => ApiController._fetchWalletImage(id)));\n state.wallets = CoreHelperUtil.uniqueBy([...state.wallets, ...ApiController._filterOutExtensions(data)], 'id').filter(w => w.chains?.some(chain => chains.includes(chain)));\n state.count = count > state.count ? count : state.count;\n state.page = page;\n },\n async initializeExcludedWallets({ ids }) {\n const params = {\n page: 1,\n entries: ids.length,\n include: ids\n };\n const { data } = await ApiController.fetchWallets(params);\n if (data) {\n data.forEach(wallet => {\n state.excludedWallets.push({ rdns: wallet.rdns, name: wallet.name });\n });\n }\n },\n async searchWallet({ search, badge }) {\n const { includeWalletIds, excludeWalletIds } = OptionsController.state;\n const chains = ChainController.getRequestedCaipNetworkIds().join(',');\n state.search = [];\n const params = {\n page: 1,\n entries: 100,\n search: search?.trim(),\n badge_type: badge,\n include: includeWalletIds,\n exclude: excludeWalletIds,\n chains\n };\n const { data } = await ApiController.fetchWallets(params);\n EventsController.sendEvent({\n type: 'track',\n event: 'SEARCH_WALLET',\n properties: { badge: badge ?? '', search: search ?? '' }\n });\n const images = data.map(w => w.image_id).filter(Boolean);\n await Promise.allSettled([\n ...images.map(id => ApiController._fetchWalletImage(id)),\n CoreHelperUtil.wait(300)\n ]);\n state.search = ApiController._filterOutExtensions(data);\n },\n initPromise(key, fetchFn) {\n const existingPromise = state.promises[key];\n if (existingPromise) {\n return existingPromise;\n }\n return (state.promises[key] = fetchFn());\n },\n prefetch({ fetchConnectorImages = true, fetchFeaturedWallets = true, fetchRecommendedWallets = true, fetchNetworkImages = true } = {}) {\n const promises = [\n fetchConnectorImages &&\n ApiController.initPromise('connectorImages', ApiController.fetchConnectorImages),\n fetchFeaturedWallets &&\n ApiController.initPromise('featuredWallets', ApiController.fetchFeaturedWallets),\n fetchRecommendedWallets &&\n ApiController.initPromise('recommendedWallets', ApiController.fetchRecommendedWallets),\n fetchNetworkImages &&\n ApiController.initPromise('networkImages', ApiController.fetchNetworkImages)\n ].filter(Boolean);\n return Promise.allSettled(promises);\n },\n prefetchAnalyticsConfig() {\n if (OptionsController.state.features?.analytics) {\n ApiController.fetchAnalyticsConfig();\n }\n },\n async fetchAnalyticsConfig() {\n try {\n const { isAnalyticsEnabled } = await api.get({\n path: '/getAnalyticsConfig',\n params: ApiController._getSdkProperties()\n });\n OptionsController.setFeatures({ analytics: isAnalyticsEnabled });\n }\n catch (error) {\n OptionsController.setFeatures({ analytics: false });\n }\n },\n filterByNamespaces(namespaces) {\n if (!namespaces?.length) {\n state.featured = state.allFeatured;\n state.recommended = state.allRecommended;\n return;\n }\n const caipNetworkIds = ChainController.getRequestedCaipNetworkIds().join(',');\n state.featured = state.allFeatured.filter(wallet => wallet.chains?.some(chain => caipNetworkIds.includes(chain)));\n state.recommended = state.allRecommended.filter(wallet => wallet.chains?.some(chain => caipNetworkIds.includes(chain)));\n state.filteredWallets = state.wallets.filter(wallet => wallet.chains?.some(chain => caipNetworkIds.includes(chain)));\n },\n clearFilterByNamespaces() {\n state.filteredWallets = [];\n },\n setFilterByNamespace(namespace) {\n if (!namespace) {\n state.featured = state.allFeatured;\n state.recommended = state.allRecommended;\n return;\n }\n const caipNetworkIds = ChainController.getRequestedCaipNetworkIds().join(',');\n state.featured = state.allFeatured.filter(wallet => wallet.chains?.some(chain => caipNetworkIds.includes(chain)));\n state.recommended = state.allRecommended.filter(wallet => wallet.chains?.some(chain => caipNetworkIds.includes(chain)));\n state.filteredWallets = state.wallets.filter(wallet => wallet.chains?.some(chain => caipNetworkIds.includes(chain)));\n }\n};\n//# sourceMappingURL=ApiController.js.map","import { proxy, snapshot } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { AccountController } from './AccountController.js';\nimport { ChainController } from './ChainController.js';\nimport { ConnectorController } from './ConnectorController.js';\nimport { ModalController } from './ModalController.js';\nimport { OptionsController } from './OptionsController.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n view: 'Connect',\n history: ['Connect'],\n transactionStack: []\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n pushTransactionStack(action) {\n state.transactionStack.push(action);\n },\n popTransactionStack(status) {\n const action = state.transactionStack.pop();\n if (!action) {\n return;\n }\n const { onSuccess, onError, onCancel } = action;\n switch (status) {\n case 'success':\n onSuccess?.();\n break;\n case 'error':\n onError?.();\n RouterController.goBack();\n break;\n case 'cancel':\n onCancel?.();\n RouterController.goBack();\n break;\n default:\n }\n },\n push(view, data) {\n if (view !== state.view) {\n state.view = view;\n state.history.push(view);\n state.data = data;\n }\n },\n reset(view, data) {\n state.view = view;\n state.history = [view];\n state.data = data;\n },\n replace(view, data) {\n const lastView = state.history.at(-1);\n const isSameView = lastView === view;\n if (!isSameView) {\n state.view = view;\n state.history[state.history.length - 1] = view;\n state.data = data;\n }\n },\n goBack() {\n const isConnected = ChainController.state.activeCaipAddress;\n const isFarcasterView = RouterController.state.view === 'ConnectingFarcaster';\n const shouldReload = !isConnected && isFarcasterView;\n if (state.history.length > 1) {\n state.history.pop();\n const [last] = state.history.slice(-1);\n if (last) {\n const isConnectView = last === 'Connect';\n if (isConnected && isConnectView) {\n state.view = 'Account';\n }\n else {\n state.view = last;\n }\n }\n }\n else {\n ModalController.close();\n }\n if (state.data?.wallet) {\n state.data.wallet = undefined;\n }\n // Reloading the iframe contentwindow and doing the view animation in the modal causes a small freeze in the transition. Doing these separately fixes that.\n setTimeout(() => {\n if (shouldReload) {\n AccountController.setFarcasterUrl(undefined, ChainController.state.activeChain);\n const authConnector = ConnectorController.getAuthConnector();\n authConnector?.provider?.reload();\n const optionsState = snapshot(OptionsController.state);\n authConnector?.provider?.syncDappData?.({\n metadata: optionsState.metadata,\n sdkVersion: optionsState.sdkVersion,\n projectId: optionsState.projectId,\n sdkType: optionsState.sdkType\n });\n }\n }, 100);\n },\n goBackToIndex(historyIndex) {\n if (state.history.length > 1) {\n state.history = state.history.slice(0, historyIndex + 1);\n const [last] = state.history.slice(-1);\n if (last) {\n state.view = last;\n }\n }\n },\n goBackOrCloseModal() {\n if (RouterController.state.history.length > 1) {\n RouterController.goBack();\n }\n else {\n ModalController.close();\n }\n }\n};\n// Export the controller wrapped with our error boundary\nexport const RouterController = withErrorBoundary(controller);\n//# sourceMappingURL=RouterController.js.map","import { proxy, snapshot, subscribe as sub } from 'valtio/vanilla';\nimport { getW3mThemeVariables } from '@reown/appkit-common';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { ConnectorController } from './ConnectorController.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n themeMode: 'dark',\n themeVariables: {},\n w3mThemeVariables: undefined\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n setThemeMode(themeMode) {\n state.themeMode = themeMode;\n try {\n const authConnector = ConnectorController.getAuthConnector();\n if (authConnector) {\n const themeVariables = controller.getSnapshot().themeVariables;\n authConnector.provider.syncTheme({\n themeMode,\n themeVariables,\n w3mThemeVariables: getW3mThemeVariables(themeVariables, themeMode)\n });\n }\n }\n catch {\n // eslint-disable-next-line no-console\n console.info('Unable to sync theme to auth connector');\n }\n },\n setThemeVariables(themeVariables) {\n state.themeVariables = { ...state.themeVariables, ...themeVariables };\n try {\n const authConnector = ConnectorController.getAuthConnector();\n if (authConnector) {\n const themeVariablesSnapshot = controller.getSnapshot().themeVariables;\n authConnector.provider.syncTheme({\n themeVariables: themeVariablesSnapshot,\n w3mThemeVariables: getW3mThemeVariables(state.themeVariables, state.themeMode)\n });\n }\n }\n catch {\n // eslint-disable-next-line no-console\n console.info('Unable to sync theme to auth connector');\n }\n },\n getSnapshot() {\n return snapshot(state);\n }\n};\n// Export the controller wrapped with our error boundary\nexport const ThemeController = withErrorBoundary(controller);\n//# sourceMappingURL=ThemeController.js.map","import { proxy, ref, snapshot, subscribe as sub } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { ConstantsUtil, getW3mThemeVariables } from '@reown/appkit-common';\nimport { MobileWalletUtil } from '../utils/MobileWallet.js';\nimport { StorageUtil } from '../utils/StorageUtil.js';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { ApiController } from './ApiController.js';\nimport { ChainController } from './ChainController.js';\nimport { OptionsController } from './OptionsController.js';\nimport { RouterController } from './RouterController.js';\nimport { ThemeController } from './ThemeController.js';\nconst defaultActiveConnectors = {\n eip155: undefined,\n solana: undefined,\n polkadot: undefined,\n bip122: undefined,\n cosmos: undefined\n};\n// -- State --------------------------------------------- //\nconst state = proxy({\n allConnectors: [],\n connectors: [],\n activeConnector: undefined,\n filterByNamespace: undefined,\n activeConnectorIds: { ...defaultActiveConnectors },\n filterByNamespaceMap: {\n eip155: true,\n solana: true,\n polkadot: true,\n bip122: true,\n cosmos: true\n }\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribe(callback) {\n return sub(state, () => {\n callback(state);\n });\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n initialize(namespaces) {\n namespaces.forEach(namespace => {\n const connectorId = StorageUtil.getConnectedConnectorId(namespace);\n if (connectorId) {\n ConnectorController.setConnectorId(connectorId, namespace);\n }\n });\n },\n setActiveConnector(connector) {\n if (connector) {\n state.activeConnector = ref(connector);\n }\n },\n setConnectors(connectors) {\n const newConnectors = connectors.filter(newConnector => !state.allConnectors.some(existingConnector => existingConnector.id === newConnector.id &&\n ConnectorController.getConnectorName(existingConnector.name) ===\n ConnectorController.getConnectorName(newConnector.name) &&\n existingConnector.chain === newConnector.chain));\n /**\n * We are reassigning the state of the proxy to a new array of new objects, ConnectorController can cause issues. So it is better to use ref in ConnectorController case.\n * Check more about proxy on https://valtio.dev/docs/api/basic/proxy#Gotchas\n * Check more about ref on https://valtio.dev/docs/api/basic/ref\n */\n newConnectors.forEach(connector => {\n if (connector.type !== 'MULTI_CHAIN') {\n state.allConnectors.push(ref(connector));\n }\n });\n const enabledNamespaces = ConnectorController.getEnabledNamespaces();\n const connectorsFilteredByNamespaces = ConnectorController.getEnabledConnectors(enabledNamespaces);\n state.connectors = ConnectorController.mergeMultiChainConnectors(connectorsFilteredByNamespaces);\n },\n filterByNamespaces(enabledNamespaces) {\n Object.keys(state.filterByNamespaceMap).forEach(namespace => {\n state.filterByNamespaceMap[namespace] = false;\n });\n enabledNamespaces.forEach(namespace => {\n state.filterByNamespaceMap[namespace] = true;\n });\n ConnectorController.updateConnectorsForEnabledNamespaces();\n },\n filterByNamespace(namespace, enabled) {\n state.filterByNamespaceMap[namespace] = enabled;\n ConnectorController.updateConnectorsForEnabledNamespaces();\n },\n updateConnectorsForEnabledNamespaces() {\n const enabledNamespaces = ConnectorController.getEnabledNamespaces();\n const enabledConnectors = ConnectorController.getEnabledConnectors(enabledNamespaces);\n const areAllNamespacesEnabled = ConnectorController.areAllNamespacesEnabled();\n state.connectors = ConnectorController.mergeMultiChainConnectors(enabledConnectors);\n if (areAllNamespacesEnabled) {\n ApiController.clearFilterByNamespaces();\n }\n else {\n ApiController.filterByNamespaces(enabledNamespaces);\n }\n },\n getEnabledNamespaces() {\n return Object.entries(state.filterByNamespaceMap)\n .filter(([_, enabled]) => enabled)\n .map(([namespace]) => namespace);\n },\n getEnabledConnectors(enabledNamespaces) {\n return state.allConnectors.filter(connector => enabledNamespaces.includes(connector.chain));\n },\n areAllNamespacesEnabled() {\n return Object.values(state.filterByNamespaceMap).every(enabled => enabled);\n },\n mergeMultiChainConnectors(connectors) {\n const connectorsByNameMap = ConnectorController.generateConnectorMapByName(connectors);\n const mergedConnectors = [];\n connectorsByNameMap.forEach(keyConnectors => {\n const firstItem = keyConnectors[0];\n const isAuthConnector = firstItem?.id === ConstantsUtil.CONNECTOR_ID.AUTH;\n if (keyConnectors.length > 1 && firstItem) {\n mergedConnectors.push({\n name: firstItem.name,\n imageUrl: firstItem.imageUrl,\n imageId: firstItem.imageId,\n connectors: [...keyConnectors],\n type: isAuthConnector ? 'AUTH' : 'MULTI_CHAIN',\n // These values are just placeholders, we don't use them in multi-chain connector select screen\n chain: 'eip155',\n id: firstItem?.id || ''\n });\n }\n else if (firstItem) {\n mergedConnectors.push(firstItem);\n }\n });\n return mergedConnectors;\n },\n generateConnectorMapByName(connectors) {\n const connectorsByNameMap = new Map();\n connectors.forEach(connector => {\n const { name } = connector;\n const connectorName = ConnectorController.getConnectorName(name);\n if (!connectorName) {\n return;\n }\n const connectorsByName = connectorsByNameMap.get(connectorName) || [];\n const haveSameConnector = connectorsByName.find(c => c.chain === connector.chain);\n if (!haveSameConnector) {\n connectorsByName.push(connector);\n }\n connectorsByNameMap.set(connectorName, connectorsByName);\n });\n return connectorsByNameMap;\n },\n getConnectorName(name) {\n if (!name) {\n return name;\n }\n const nameOverrideMap = {\n 'Trust Wallet': 'Trust'\n };\n return nameOverrideMap[name] || name;\n },\n getUniqueConnectorsByName(connectors) {\n const uniqueConnectors = [];\n connectors.forEach(c => {\n if (!uniqueConnectors.find(uc => uc.chain === c.chain)) {\n uniqueConnectors.push(c);\n }\n });\n return uniqueConnectors;\n },\n addConnector(connector) {\n if (connector.id === ConstantsUtil.CONNECTOR_ID.AUTH) {\n const authConnector = connector;\n const optionsState = snapshot(OptionsController.state);\n const themeMode = ThemeController.getSnapshot().themeMode;\n const themeVariables = ThemeController.getSnapshot().themeVariables;\n authConnector?.provider?.syncDappData?.({\n metadata: optionsState.metadata,\n sdkVersion: optionsState.sdkVersion,\n projectId: optionsState.projectId,\n sdkType: optionsState.sdkType\n });\n authConnector?.provider?.syncTheme({\n themeMode,\n themeVariables,\n w3mThemeVariables: getW3mThemeVariables(themeVariables, themeMode)\n });\n ConnectorController.setConnectors([connector]);\n }\n else {\n ConnectorController.setConnectors([connector]);\n }\n },\n getAuthConnector(chainNamespace) {\n const activeNamespace = chainNamespace || ChainController.state.activeChain;\n const authConnector = state.connectors.find(c => c.id === ConstantsUtil.CONNECTOR_ID.AUTH);\n if (!authConnector) {\n return undefined;\n }\n if (authConnector?.connectors?.length) {\n const connector = authConnector.connectors.find(c => c.chain === activeNamespace);\n return connector;\n }\n return authConnector;\n },\n getAnnouncedConnectorRdns() {\n return state.connectors.filter(c => c.type === 'ANNOUNCED').map(c => c.info?.rdns);\n },\n getConnectorById(id) {\n return state.allConnectors.find(c => c.id === id);\n },\n getConnector(id, rdns) {\n const connectorsByNamespace = state.allConnectors.filter(c => c.chain === ChainController.state.activeChain);\n return connectorsByNamespace.find(c => c.explorerId === id || c.info?.rdns === rdns);\n },\n syncIfAuthConnector(connector) {\n if (connector.id !== 'ID_AUTH') {\n return;\n }\n const authConnector = connector;\n const optionsState = snapshot(OptionsController.state);\n const themeMode = ThemeController.getSnapshot().themeMode;\n const themeVariables = ThemeController.getSnapshot().themeVariables;\n authConnector?.provider?.syncDappData?.({\n metadata: optionsState.metadata,\n sdkVersion: optionsState.sdkVersion,\n sdkType: optionsState.sdkType,\n projectId: optionsState.projectId\n });\n authConnector.provider.syncTheme({\n themeMode,\n themeVariables,\n w3mThemeVariables: getW3mThemeVariables(themeVariables, themeMode)\n });\n },\n /**\n * Returns the connectors filtered by namespace.\n * @param namespace - The namespace to filter the connectors by.\n * @returns ConnectorWithProviders[].\n */\n getConnectorsByNamespace(namespace) {\n const namespaceConnectors = state.allConnectors.filter(connector => connector.chain === namespace);\n return ConnectorController.mergeMultiChainConnectors(namespaceConnectors);\n },\n selectWalletConnector(wallet) {\n const connector = ConnectorController.getConnector(wallet.id, wallet.rdns);\n const namespace = ChainController.state.activeChain;\n MobileWalletUtil.handleMobileDeeplinkRedirect(connector?.explorerId || wallet.id, namespace);\n if (connector) {\n RouterController.push('ConnectingExternal', { connector });\n }\n else {\n RouterController.push('ConnectingWalletConnect', { wallet });\n }\n },\n /**\n * Returns the connectors. If a namespace is provided, the connectors are filtered by namespace.\n * @param namespace - The namespace to filter the connectors by. If not provided, all connectors are returned.\n * @returns ConnectorWithProviders[].\n */\n getConnectors(namespace) {\n if (namespace) {\n return ConnectorController.getConnectorsByNamespace(namespace);\n }\n return ConnectorController.mergeMultiChainConnectors(state.allConnectors);\n },\n /**\n * Sets the filter by namespace and updates the connectors.\n * @param namespace - The namespace to filter the connectors by.\n */\n setFilterByNamespace(namespace) {\n state.filterByNamespace = namespace;\n state.connectors = ConnectorController.getConnectors(namespace);\n ApiController.setFilterByNamespace(namespace);\n },\n setConnectorId(connectorId, namespace) {\n if (connectorId) {\n state.activeConnectorIds = {\n ...state.activeConnectorIds,\n [namespace]: connectorId\n };\n StorageUtil.setConnectedConnectorId(namespace, connectorId);\n }\n },\n removeConnectorId(namespace) {\n state.activeConnectorIds = {\n ...state.activeConnectorIds,\n [namespace]: undefined\n };\n StorageUtil.deleteConnectedConnectorId(namespace);\n },\n getConnectorId(namespace) {\n if (!namespace) {\n return undefined;\n }\n return state.activeConnectorIds[namespace];\n },\n isConnected(namespace) {\n if (!namespace) {\n return Object.values(state.activeConnectorIds).some(id => Boolean(id));\n }\n return Boolean(state.activeConnectorIds[namespace]);\n },\n resetConnectorIds() {\n state.activeConnectorIds = { ...defaultActiveConnectors };\n }\n};\n// Export the controller wrapped with our error boundary\nexport const ConnectorController = withErrorBoundary(controller);\n//# sourceMappingURL=ConnectorController.js.map","const DEFAULT_SDK_URL = 'https://secure.walletconnect.org/sdk';\nexport const SECURE_SITE_SDK = (typeof process !== 'undefined' && typeof process.env !== 'undefined'\n ? process.env['NEXT_PUBLIC_SECURE_SITE_SDK_URL']\n : undefined) || DEFAULT_SDK_URL;\nexport const DEFAULT_LOG_LEVEL = (typeof process !== 'undefined' && typeof process.env !== 'undefined'\n ? process.env['NEXT_PUBLIC_DEFAULT_LOG_LEVEL']\n : undefined) || 'error';\nexport const SECURE_SITE_SDK_VERSION = (typeof process !== 'undefined' && typeof process.env !== 'undefined'\n ? process.env['NEXT_PUBLIC_SECURE_SITE_SDK_VERSION']\n : undefined) || '4';\nexport const W3mFrameConstants = {\n APP_EVENT_KEY: '@w3m-app/',\n FRAME_EVENT_KEY: '@w3m-frame/',\n RPC_METHOD_KEY: 'RPC_',\n STORAGE_KEY: '@appkit-wallet/',\n SESSION_TOKEN_KEY: 'SESSION_TOKEN_KEY',\n EMAIL_LOGIN_USED_KEY: 'EMAIL_LOGIN_USED_KEY',\n LAST_USED_CHAIN_KEY: 'LAST_USED_CHAIN_KEY',\n LAST_EMAIL_LOGIN_TIME: 'LAST_EMAIL_LOGIN_TIME',\n EMAIL: 'EMAIL',\n PREFERRED_ACCOUNT_TYPE: 'PREFERRED_ACCOUNT_TYPE',\n SMART_ACCOUNT_ENABLED: 'SMART_ACCOUNT_ENABLED',\n SMART_ACCOUNT_ENABLED_NETWORKS: 'SMART_ACCOUNT_ENABLED_NETWORKS',\n SOCIAL_USERNAME: 'SOCIAL_USERNAME',\n APP_SWITCH_NETWORK: '@w3m-app/SWITCH_NETWORK',\n APP_CONNECT_EMAIL: '@w3m-app/CONNECT_EMAIL',\n APP_CONNECT_DEVICE: '@w3m-app/CONNECT_DEVICE',\n APP_CONNECT_OTP: '@w3m-app/CONNECT_OTP',\n APP_CONNECT_SOCIAL: '@w3m-app/CONNECT_SOCIAL',\n APP_GET_SOCIAL_REDIRECT_URI: '@w3m-app/GET_SOCIAL_REDIRECT_URI',\n APP_GET_USER: '@w3m-app/GET_USER',\n APP_SIGN_OUT: '@w3m-app/SIGN_OUT',\n APP_IS_CONNECTED: '@w3m-app/IS_CONNECTED',\n APP_GET_CHAIN_ID: '@w3m-app/GET_CHAIN_ID',\n APP_RPC_REQUEST: '@w3m-app/RPC_REQUEST',\n APP_UPDATE_EMAIL: '@w3m-app/UPDATE_EMAIL',\n APP_UPDATE_EMAIL_PRIMARY_OTP: '@w3m-app/UPDATE_EMAIL_PRIMARY_OTP',\n APP_UPDATE_EMAIL_SECONDARY_OTP: '@w3m-app/UPDATE_EMAIL_SECONDARY_OTP',\n APP_AWAIT_UPDATE_EMAIL: '@w3m-app/AWAIT_UPDATE_EMAIL',\n APP_SYNC_THEME: '@w3m-app/SYNC_THEME',\n APP_SYNC_DAPP_DATA: '@w3m-app/SYNC_DAPP_DATA',\n APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS: '@w3m-app/GET_SMART_ACCOUNT_ENABLED_NETWORKS',\n APP_INIT_SMART_ACCOUNT: '@w3m-app/INIT_SMART_ACCOUNT',\n APP_SET_PREFERRED_ACCOUNT: '@w3m-app/SET_PREFERRED_ACCOUNT',\n APP_CONNECT_FARCASTER: '@w3m-app/CONNECT_FARCASTER',\n APP_GET_FARCASTER_URI: '@w3m-app/GET_FARCASTER_URI',\n APP_RELOAD: '@w3m-app/RELOAD',\n FRAME_SWITCH_NETWORK_ERROR: '@w3m-frame/SWITCH_NETWORK_ERROR',\n FRAME_SWITCH_NETWORK_SUCCESS: '@w3m-frame/SWITCH_NETWORK_SUCCESS',\n FRAME_CONNECT_EMAIL_ERROR: '@w3m-frame/CONNECT_EMAIL_ERROR',\n FRAME_CONNECT_EMAIL_SUCCESS: '@w3m-frame/CONNECT_EMAIL_SUCCESS',\n FRAME_CONNECT_DEVICE_ERROR: '@w3m-frame/CONNECT_DEVICE_ERROR',\n FRAME_CONNECT_DEVICE_SUCCESS: '@w3m-frame/CONNECT_DEVICE_SUCCESS',\n FRAME_CONNECT_OTP_SUCCESS: '@w3m-frame/CONNECT_OTP_SUCCESS',\n FRAME_CONNECT_OTP_ERROR: '@w3m-frame/CONNECT_OTP_ERROR',\n FRAME_CONNECT_SOCIAL_SUCCESS: '@w3m-frame/CONNECT_SOCIAL_SUCCESS',\n FRAME_CONNECT_SOCIAL_ERROR: '@w3m-frame/CONNECT_SOCIAL_ERROR',\n FRAME_CONNECT_FARCASTER_SUCCESS: '@w3m-frame/CONNECT_FARCASTER_SUCCESS',\n FRAME_CONNECT_FARCASTER_ERROR: '@w3m-frame/CONNECT_FARCASTER_ERROR',\n FRAME_GET_FARCASTER_URI_SUCCESS: '@w3m-frame/GET_FARCASTER_URI_SUCCESS',\n FRAME_GET_FARCASTER_URI_ERROR: '@w3m-frame/GET_FARCASTER_URI_ERROR',\n FRAME_GET_SOCIAL_REDIRECT_URI_SUCCESS: '@w3m-frame/GET_SOCIAL_REDIRECT_URI_SUCCESS',\n FRAME_GET_SOCIAL_REDIRECT_URI_ERROR: '@w3m-frame/GET_SOCIAL_REDIRECT_URI_ERROR',\n FRAME_GET_USER_SUCCESS: '@w3m-frame/GET_USER_SUCCESS',\n FRAME_GET_USER_ERROR: '@w3m-frame/GET_USER_ERROR',\n FRAME_SIGN_OUT_SUCCESS: '@w3m-frame/SIGN_OUT_SUCCESS',\n FRAME_SIGN_OUT_ERROR: '@w3m-frame/SIGN_OUT_ERROR',\n FRAME_IS_CONNECTED_SUCCESS: '@w3m-frame/IS_CONNECTED_SUCCESS',\n FRAME_IS_CONNECTED_ERROR: '@w3m-frame/IS_CONNECTED_ERROR',\n FRAME_GET_CHAIN_ID_SUCCESS: '@w3m-frame/GET_CHAIN_ID_SUCCESS',\n FRAME_GET_CHAIN_ID_ERROR: '@w3m-frame/GET_CHAIN_ID_ERROR',\n FRAME_RPC_REQUEST_SUCCESS: '@w3m-frame/RPC_REQUEST_SUCCESS',\n FRAME_RPC_REQUEST_ERROR: '@w3m-frame/RPC_REQUEST_ERROR',\n FRAME_SESSION_UPDATE: '@w3m-frame/SESSION_UPDATE',\n FRAME_UPDATE_EMAIL_SUCCESS: '@w3m-frame/UPDATE_EMAIL_SUCCESS',\n FRAME_UPDATE_EMAIL_ERROR: '@w3m-frame/UPDATE_EMAIL_ERROR',\n FRAME_UPDATE_EMAIL_PRIMARY_OTP_SUCCESS: '@w3m-frame/UPDATE_EMAIL_PRIMARY_OTP_SUCCESS',\n FRAME_UPDATE_EMAIL_PRIMARY_OTP_ERROR: '@w3m-frame/UPDATE_EMAIL_PRIMARY_OTP_ERROR',\n FRAME_UPDATE_EMAIL_SECONDARY_OTP_SUCCESS: '@w3m-frame/UPDATE_EMAIL_SECONDARY_OTP_SUCCESS',\n FRAME_UPDATE_EMAIL_SECONDARY_OTP_ERROR: '@w3m-frame/UPDATE_EMAIL_SECONDARY_OTP_ERROR',\n FRAME_SYNC_THEME_SUCCESS: '@w3m-frame/SYNC_THEME_SUCCESS',\n FRAME_SYNC_THEME_ERROR: '@w3m-frame/SYNC_THEME_ERROR',\n FRAME_SYNC_DAPP_DATA_SUCCESS: '@w3m-frame/SYNC_DAPP_DATA_SUCCESS',\n FRAME_SYNC_DAPP_DATA_ERROR: '@w3m-frame/SYNC_DAPP_DATA_ERROR',\n FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS: '@w3m-frame/GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS',\n FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR: '@w3m-frame/GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR',\n FRAME_INIT_SMART_ACCOUNT_SUCCESS: '@w3m-frame/INIT_SMART_ACCOUNT_SUCCESS',\n FRAME_INIT_SMART_ACCOUNT_ERROR: '@w3m-frame/INIT_SMART_ACCOUNT_ERROR',\n FRAME_SET_PREFERRED_ACCOUNT_SUCCESS: '@w3m-frame/SET_PREFERRED_ACCOUNT_SUCCESS',\n FRAME_SET_PREFERRED_ACCOUNT_ERROR: '@w3m-frame/SET_PREFERRED_ACCOUNT_ERROR',\n FRAME_READY: '@w3m-frame/READY',\n FRAME_RELOAD_SUCCESS: '@w3m-frame/RELOAD_SUCCESS',\n FRAME_RELOAD_ERROR: '@w3m-frame/RELOAD_ERROR',\n RPC_RESPONSE_TYPE_ERROR: 'RPC_RESPONSE_ERROR',\n RPC_RESPONSE_TYPE_TX: 'RPC_RESPONSE_TRANSACTION_HASH',\n RPC_RESPONSE_TYPE_OBJECT: 'RPC_RESPONSE_OBJECT'\n};\nexport const W3mFrameRpcConstants = {\n SAFE_RPC_METHODS: [\n 'eth_accounts',\n 'eth_blockNumber',\n 'eth_call',\n 'eth_chainId',\n 'eth_estimateGas',\n 'eth_feeHistory',\n 'eth_gasPrice',\n 'eth_getAccount',\n 'eth_getBalance',\n 'eth_getBlockByHash',\n 'eth_getBlockByNumber',\n 'eth_getBlockReceipts',\n 'eth_getBlockTransactionCountByHash',\n 'eth_getBlockTransactionCountByNumber',\n 'eth_getCode',\n 'eth_getFilterChanges',\n 'eth_getFilterLogs',\n 'eth_getLogs',\n 'eth_getProof',\n 'eth_getStorageAt',\n 'eth_getTransactionByBlockHashAndIndex',\n 'eth_getTransactionByBlockNumberAndIndex',\n 'eth_getTransactionByHash',\n 'eth_getTransactionCount',\n 'eth_getTransactionReceipt',\n 'eth_getUncleCountByBlockHash',\n 'eth_getUncleCountByBlockNumber',\n 'eth_maxPriorityFeePerGas',\n 'eth_newBlockFilter',\n 'eth_newFilter',\n 'eth_newPendingTransactionFilter',\n 'eth_sendRawTransaction',\n 'eth_syncing',\n 'eth_uninstallFilter',\n 'wallet_getCapabilities',\n 'wallet_getCallsStatus',\n 'eth_getUserOperationReceipt',\n 'eth_estimateUserOperationGas',\n 'eth_getUserOperationByHash',\n 'eth_supportedEntryPoints',\n 'wallet_getAssets'\n ],\n NOT_SAFE_RPC_METHODS: [\n 'personal_sign',\n 'eth_signTypedData_v4',\n 'eth_sendTransaction',\n 'solana_signMessage',\n 'solana_signTransaction',\n 'solana_signAllTransactions',\n 'solana_signAndSendTransaction',\n 'wallet_sendCalls',\n 'wallet_grantPermissions',\n 'wallet_revokePermissions',\n 'eth_sendUserOperation'\n ],\n GET_CHAIN_ID: 'eth_chainId',\n RPC_METHOD_NOT_ALLOWED_MESSAGE: 'Requested RPC call is not allowed',\n RPC_METHOD_NOT_ALLOWED_UI_MESSAGE: 'Action not allowed',\n ACCOUNT_TYPES: {\n EOA: 'eoa',\n SMART_ACCOUNT: 'smartAccount'\n }\n};\n//# sourceMappingURL=W3mFrameConstants.js.map","import { proxy } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\n// -- Constants ----------------------------------------- //\nconst DEFAULT_STATE = Object.freeze({\n message: '',\n variant: 'success',\n svg: undefined,\n open: false,\n autoClose: true\n});\n// -- State --------------------------------------------- //\nconst state = proxy({\n ...DEFAULT_STATE\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n showLoading(message, options = {}) {\n this._showMessage({ message, variant: 'loading', ...options });\n },\n showSuccess(message) {\n this._showMessage({ message, variant: 'success' });\n },\n showSvg(message, svg) {\n this._showMessage({ message, svg });\n },\n showError(message) {\n const errorMessage = CoreHelperUtil.parseError(message);\n this._showMessage({ message: errorMessage, variant: 'error' });\n },\n hide() {\n state.message = DEFAULT_STATE.message;\n state.variant = DEFAULT_STATE.variant;\n state.svg = DEFAULT_STATE.svg;\n state.open = DEFAULT_STATE.open;\n state.autoClose = DEFAULT_STATE.autoClose;\n },\n _showMessage({ message, svg, variant = 'success', autoClose = DEFAULT_STATE.autoClose }) {\n if (state.open) {\n state.open = false;\n setTimeout(() => {\n state.message = message;\n state.variant = variant;\n state.svg = svg;\n state.open = true;\n state.autoClose = autoClose;\n }, 150);\n }\n else {\n state.message = message;\n state.variant = variant;\n state.svg = svg;\n state.open = true;\n state.autoClose = autoClose;\n }\n }\n};\nexport const SnackController = controller;\n//# sourceMappingURL=SnackController.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { W3mFrameRpcConstants } from '@reown/appkit-wallet/utils';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { AccountController } from './AccountController.js';\nimport { BlockchainApiController } from './BlockchainApiController.js';\nimport { ChainController } from './ChainController.js';\nimport { EventsController } from './EventsController.js';\nimport { OptionsController } from './OptionsController.js';\nimport { SnackController } from './SnackController.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n transactions: [],\n coinbaseTransactions: {},\n transactionsByYear: {},\n lastNetworkInView: undefined,\n loading: false,\n empty: false,\n next: undefined\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n setLastNetworkInView(lastNetworkInView) {\n state.lastNetworkInView = lastNetworkInView;\n },\n async fetchTransactions(accountAddress, onramp) {\n if (!accountAddress) {\n throw new Error(\"Transactions can't be fetched without an accountAddress\");\n }\n state.loading = true;\n try {\n const response = await BlockchainApiController.fetchTransactions({\n account: accountAddress,\n cursor: state.next,\n onramp,\n // Coinbase transaction history state updates require the latest data\n cache: onramp === 'coinbase' ? 'no-cache' : undefined,\n chainId: ChainController.state.activeCaipNetwork?.caipNetworkId\n });\n const nonSpamTransactions = TransactionsController.filterSpamTransactions(response.data);\n const sameChainTransactions = TransactionsController.filterByConnectedChain(nonSpamTransactions);\n const filteredTransactions = [...state.transactions, ...sameChainTransactions];\n state.loading = false;\n if (onramp === 'coinbase') {\n state.coinbaseTransactions = TransactionsController.groupTransactionsByYearAndMonth(state.coinbaseTransactions, response.data);\n }\n else {\n state.transactions = filteredTransactions;\n state.transactionsByYear = TransactionsController.groupTransactionsByYearAndMonth(state.transactionsByYear, sameChainTransactions);\n }\n state.empty = filteredTransactions.length === 0;\n state.next = response.next ? response.next : undefined;\n }\n catch (error) {\n const activeChainNamespace = ChainController.state.activeChain;\n EventsController.sendEvent({\n type: 'track',\n event: 'ERROR_FETCH_TRANSACTIONS',\n properties: {\n address: accountAddress,\n projectId: OptionsController.state.projectId,\n cursor: state.next,\n isSmartAccount: AccountController.state.preferredAccountTypes?.[activeChainNamespace] ===\n W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT\n }\n });\n SnackController.showError('Failed to fetch transactions');\n state.loading = false;\n state.empty = true;\n state.next = undefined;\n }\n },\n groupTransactionsByYearAndMonth(transactionsMap = {}, transactions = []) {\n const grouped = transactionsMap;\n transactions.forEach(transaction => {\n const year = new Date(transaction.metadata.minedAt).getFullYear();\n const month = new Date(transaction.metadata.minedAt).getMonth();\n const yearTransactions = grouped[year] ?? {};\n const monthTransactions = yearTransactions[month] ?? [];\n // If there's a transaction with the same id, remove the old one\n const newMonthTransactions = monthTransactions.filter(tx => tx.id !== transaction.id);\n grouped[year] = {\n ...yearTransactions,\n [month]: [...newMonthTransactions, transaction].sort((a, b) => new Date(b.metadata.minedAt).getTime() - new Date(a.metadata.minedAt).getTime())\n };\n });\n return grouped;\n },\n filterSpamTransactions(transactions) {\n return transactions.filter(transaction => {\n const isAllSpam = transaction.transfers.every(transfer => transfer.nft_info?.flags.is_spam === true);\n return !isAllSpam;\n });\n },\n filterByConnectedChain(transactions) {\n const chainId = ChainController.state.activeCaipNetwork?.caipNetworkId;\n const filteredTransactions = transactions.filter(transaction => transaction.metadata.chain === chainId);\n return filteredTransactions;\n },\n clearCursor() {\n state.next = undefined;\n },\n resetTransactions() {\n state.transactions = [];\n state.transactionsByYear = {};\n state.lastNetworkInView = undefined;\n state.loading = false;\n state.empty = false;\n state.next = undefined;\n }\n};\n// Export the controller wrapped with our error boundary\nexport const TransactionsController = withErrorBoundary(controller, 'API_ERROR');\n//# sourceMappingURL=TransactionsController.js.map","/* eslint-disable no-console */\nimport { proxy, ref } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport {} from '@reown/appkit-common';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { StorageUtil } from '../utils/StorageUtil.js';\nimport { AppKitError, withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { AccountController } from './AccountController.js';\nimport { ChainController } from './ChainController.js';\nimport { ConnectorController } from './ConnectorController.js';\nimport { EventsController } from './EventsController.js';\nimport { ModalController } from './ModalController.js';\nimport { RouterController } from './RouterController.js';\nimport { TransactionsController } from './TransactionsController.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n connections: new Map(),\n wcError: false,\n buffering: false,\n status: 'disconnected'\n});\n// eslint-disable-next-line init-declarations\nlet wcConnectionPromise;\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n _getClient() {\n return state._client;\n },\n setClient(client) {\n state._client = ref(client);\n },\n async connectWalletConnect() {\n if (CoreHelperUtil.isTelegram() || (CoreHelperUtil.isSafari() && CoreHelperUtil.isIos())) {\n if (wcConnectionPromise) {\n await wcConnectionPromise;\n wcConnectionPromise = undefined;\n return;\n }\n if (!CoreHelperUtil.isPairingExpired(state?.wcPairingExpiry)) {\n const link = state.wcUri;\n state.wcUri = link;\n return;\n }\n wcConnectionPromise = ConnectionController._getClient()\n ?.connectWalletConnect?.()\n .catch(() => undefined);\n ConnectionController.state.status = 'connecting';\n await wcConnectionPromise;\n wcConnectionPromise = undefined;\n state.wcPairingExpiry = undefined;\n ConnectionController.state.status = 'connected';\n }\n else {\n await ConnectionController._getClient()?.connectWalletConnect?.();\n }\n },\n async connectExternal(options, chain, setChain = true) {\n await ConnectionController._getClient()?.connectExternal?.(options);\n if (setChain) {\n ChainController.setActiveNamespace(chain);\n }\n },\n async reconnectExternal(options) {\n await ConnectionController._getClient()?.reconnectExternal?.(options);\n const namespace = options.chain || ChainController.state.activeChain;\n if (namespace) {\n ConnectorController.setConnectorId(options.id, namespace);\n }\n },\n async setPreferredAccountType(accountType, namespace) {\n ModalController.setLoading(true, ChainController.state.activeChain);\n const authConnector = ConnectorController.getAuthConnector();\n if (!authConnector) {\n return;\n }\n AccountController.setPreferredAccountType(accountType, namespace);\n await authConnector.provider.setPreferredAccount(accountType);\n StorageUtil.setPreferredAccountTypes(AccountController.state.preferredAccountTypes ?? { [namespace]: accountType });\n await ConnectionController.reconnectExternal(authConnector);\n ModalController.setLoading(false, ChainController.state.activeChain);\n EventsController.sendEvent({\n type: 'track',\n event: 'SET_PREFERRED_ACCOUNT_TYPE',\n properties: {\n accountType,\n network: ChainController.state.activeCaipNetwork?.caipNetworkId || ''\n }\n });\n },\n async signMessage(message) {\n return ConnectionController._getClient()?.signMessage(message);\n },\n parseUnits(value, decimals) {\n return ConnectionController._getClient()?.parseUnits(value, decimals);\n },\n formatUnits(value, decimals) {\n return ConnectionController._getClient()?.formatUnits(value, decimals);\n },\n async sendTransaction(args) {\n return ConnectionController._getClient()?.sendTransaction(args);\n },\n async getCapabilities(params) {\n return ConnectionController._getClient()?.getCapabilities(params);\n },\n async grantPermissions(params) {\n return ConnectionController._getClient()?.grantPermissions(params);\n },\n async walletGetAssets(params) {\n return ConnectionController._getClient()?.walletGetAssets(params) ?? {};\n },\n async estimateGas(args) {\n return ConnectionController._getClient()?.estimateGas(args);\n },\n async writeContract(args) {\n return ConnectionController._getClient()?.writeContract(args);\n },\n async getEnsAddress(value) {\n return ConnectionController._getClient()?.getEnsAddress(value);\n },\n async getEnsAvatar(value) {\n return ConnectionController._getClient()?.getEnsAvatar(value);\n },\n checkInstalled(ids) {\n return ConnectionController._getClient()?.checkInstalled?.(ids) || false;\n },\n resetWcConnection() {\n state.wcUri = undefined;\n state.wcPairingExpiry = undefined;\n state.wcLinking = undefined;\n state.recentWallet = undefined;\n state.status = 'disconnected';\n TransactionsController.resetTransactions();\n StorageUtil.deleteWalletConnectDeepLink();\n },\n resetUri() {\n state.wcUri = undefined;\n state.wcPairingExpiry = undefined;\n wcConnectionPromise = undefined;\n },\n finalizeWcConnection() {\n const { wcLinking, recentWallet } = ConnectionController.state;\n if (wcLinking) {\n StorageUtil.setWalletConnectDeepLink(wcLinking);\n }\n if (recentWallet) {\n StorageUtil.setAppKitRecent(recentWallet);\n }\n EventsController.sendEvent({\n type: 'track',\n event: 'CONNECT_SUCCESS',\n properties: {\n method: wcLinking ? 'mobile' : 'qrcode',\n name: RouterController.state.data?.wallet?.name || 'Unknown'\n }\n });\n },\n setWcBasic(wcBasic) {\n state.wcBasic = wcBasic;\n },\n setUri(uri) {\n state.wcUri = uri;\n state.wcPairingExpiry = CoreHelperUtil.getPairingExpiry();\n },\n setWcLinking(wcLinking) {\n state.wcLinking = wcLinking;\n },\n setWcError(wcError) {\n state.wcError = wcError;\n state.buffering = false;\n },\n setRecentWallet(wallet) {\n state.recentWallet = wallet;\n },\n setBuffering(buffering) {\n state.buffering = buffering;\n },\n setStatus(status) {\n state.status = status;\n },\n async disconnect(namespace) {\n try {\n await ConnectionController._getClient()?.disconnect(namespace);\n }\n catch (error) {\n throw new AppKitError('Failed to disconnect', 'INTERNAL_SDK_ERROR', error);\n }\n },\n setConnections(connections, chainNamespace) {\n state.connections.set(chainNamespace, connections);\n },\n switchAccount({ connection, address, namespace }) {\n const connectedConnectorId = ConnectorController.state.activeConnectorIds[namespace];\n const isConnectorConnected = connectedConnectorId === connection.connectorId;\n if (isConnectorConnected) {\n const currentNetwork = ChainController.state.activeCaipNetwork;\n if (currentNetwork) {\n const caipAddress = `${namespace}:${currentNetwork.id}:${address}`;\n AccountController.setCaipAddress(caipAddress, namespace);\n }\n else {\n console.warn(`No current network found for namespace \"${namespace}\"`);\n }\n }\n else {\n const connector = ConnectorController.getConnector(connection.connectorId);\n if (connector) {\n ConnectionController.connectExternal(connector, namespace);\n }\n else {\n console.warn(`No connector found for namespace \"${namespace}\"`);\n }\n }\n }\n};\n// Export the controller wrapped with our error boundary\nexport const ConnectionController = withErrorBoundary(controller);\n//# sourceMappingURL=ConnectionController.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { subscribeKey } from 'valtio/vanilla/utils';\n// -- State --------------------------------------------- //\nconst state = proxy({\n loading: false,\n open: false,\n selectedNetworkId: undefined,\n activeChain: undefined,\n initialized: false\n});\n// -- Controller ---------------------------------------- //\nexport const PublicStateController = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeOpen(callback) {\n return subscribeKey(state, 'open', callback);\n },\n set(newState) {\n Object.assign(state, { ...state, ...newState });\n }\n};\n//# sourceMappingURL=PublicStateController.js.map","import { formatUnits } from 'viem';\nexport const ERC7811Utils = {\n /**\n * Creates a Balance object from an ERC7811 Asset object\n * @param asset - Asset object to convert\n * @param chainId - Chain ID in CAIP-2 format\n * @returns Balance object\n */\n createBalance(asset, chainId) {\n const metadata = {\n name: (asset.metadata['name'] || ''),\n symbol: (asset.metadata['symbol'] || ''),\n decimals: (asset.metadata['decimals'] || 0),\n value: (asset.metadata['value'] || 0),\n price: (asset.metadata['price'] || 0),\n iconUrl: (asset.metadata['iconUrl'] || '')\n };\n return {\n name: metadata.name,\n symbol: metadata.symbol,\n chainId,\n address: asset.address === 'native'\n ? undefined\n : this.convertAddressToCAIP10Address(asset.address, chainId),\n value: metadata.value,\n price: metadata.price,\n quantity: {\n decimals: metadata.decimals.toString(),\n numeric: this.convertHexToBalance({\n hex: asset.balance,\n decimals: metadata.decimals\n })\n },\n iconUrl: metadata.iconUrl\n };\n },\n /**\n * Converts a hex string to a Balance object\n * @param hex - Hex string to convert\n * @param decimals - Number of decimals to use\n * @returns Balance object\n */\n convertHexToBalance({ hex, decimals }) {\n return formatUnits(BigInt(hex), decimals);\n },\n /**\n * Converts an address to a CAIP-10 address\n * @param address - Address to convert\n * @param chainId - Chain ID in CAIP-2 format\n * @returns CAIP-10 address\n */\n convertAddressToCAIP10Address(address, chainId) {\n return `${chainId}:${address}`;\n },\n /**\n * Creates a CAIP-2 Chain ID from a chain ID and namespace\n * @param chainId - Chain ID in hex format\n * @param namespace - Chain namespace\n * @returns\n */\n createCAIP2ChainId(chainId, namespace) {\n return `${namespace}:${parseInt(chainId, 16)}`;\n },\n /**\n * Gets the chain ID in hex format from a CAIP-2 Chain ID\n * @param caip2ChainId - CAIP-2 Chain ID\n * @returns Chain ID in hex format\n */\n getChainIdHexFromCAIP2ChainId(caip2ChainId) {\n const parts = caip2ChainId.split(':');\n if (parts.length < 2 || !parts[1]) {\n return '0x0';\n }\n const chainPart = parts[1];\n const parsed = parseInt(chainPart, 10);\n return isNaN(parsed) ? '0x0' : `0x${parsed.toString(16)}`;\n },\n /**\n * Checks if a response is a valid WalletGetAssetsResponse\n * @param response - The response to check\n * @returns True if the response is a valid WalletGetAssetsResponse, false otherwise\n */\n isWalletGetAssetsResponse(response) {\n // Check if response is an object and has the expected structure\n if (typeof response !== 'object' || response === null) {\n return false;\n }\n // Check if all values are arrays and conform to the expected asset structure\n return Object.values(response).every(value => Array.isArray(value) && value.every(asset => this.isValidAsset(asset)));\n },\n /**\n * Checks if an asset object is valid.\n * @param asset - The asset object to check.\n * @returns True if the asset is valid, false otherwise.\n */\n isValidAsset(asset) {\n return (typeof asset === 'object' &&\n asset !== null &&\n typeof asset.address === 'string' &&\n typeof asset.balance === 'string' &&\n (asset.type === 'ERC20' || asset.type === 'NATIVE') &&\n typeof asset.metadata === 'object' &&\n asset.metadata !== null &&\n typeof asset.metadata['name'] === 'string' &&\n typeof asset.metadata['symbol'] === 'string' &&\n typeof asset.metadata['decimals'] === 'number' &&\n typeof asset.metadata['price'] === 'number' &&\n typeof asset.metadata['iconUrl'] === 'string');\n }\n};\n//# sourceMappingURL=ERC7811Util.js.map","import { AccountController } from '../controllers/AccountController.js';\nimport { BlockchainApiController } from '../controllers/BlockchainApiController.js';\nimport { ChainController } from '../controllers/ChainController.js';\nimport { ConnectionController } from '../controllers/ConnectionController.js';\nimport { ERC7811Utils } from './ERC7811Util.js';\n// -- Controller ---------------------------------------- //\nexport const SendApiUtil = {\n async getMyTokensWithBalance(forceUpdate) {\n const address = AccountController.state.address;\n const caipNetwork = ChainController.state.activeCaipNetwork;\n if (!address || !caipNetwork) {\n return [];\n }\n // Extract EIP-155 specific logic\n if (caipNetwork.chainNamespace === 'eip155') {\n const eip155Balances = await this.getEIP155Balances(address, caipNetwork);\n if (eip155Balances) {\n return this.filterLowQualityTokens(eip155Balances);\n }\n }\n // Fallback to 1Inch API\n const response = await BlockchainApiController.getBalance(address, caipNetwork.caipNetworkId, forceUpdate);\n return this.filterLowQualityTokens(response.balances);\n },\n async getEIP155Balances(address, caipNetwork) {\n try {\n const chainIdHex = ERC7811Utils.getChainIdHexFromCAIP2ChainId(caipNetwork.caipNetworkId);\n const walletCapabilities = (await ConnectionController.getCapabilities(address));\n if (!walletCapabilities?.[chainIdHex]?.['assetDiscovery']?.supported) {\n return null;\n }\n const walletGetAssetsResponse = await ConnectionController.walletGetAssets({\n account: address,\n chainFilter: [chainIdHex]\n });\n if (!ERC7811Utils.isWalletGetAssetsResponse(walletGetAssetsResponse)) {\n return null;\n }\n const assets = walletGetAssetsResponse[chainIdHex] || [];\n return assets.map(asset => ERC7811Utils.createBalance(asset, caipNetwork.caipNetworkId));\n }\n catch (error) {\n return null;\n }\n },\n /**\n * The 1Inch API includes many low-quality tokens in the balance response,\n * which appear inconsistently. This filter prevents them from being displayed.\n */\n filterLowQualityTokens(balances) {\n return balances.filter(balance => balance.quantity.decimals !== '0');\n },\n mapBalancesToSwapTokens(balances) {\n return (balances?.map(token => ({\n ...token,\n address: token?.address\n ? token.address\n : ChainController.getActiveNetworkTokenAddress(),\n decimals: parseInt(token.quantity.decimals, 10),\n logoUri: token.iconUrl,\n eip2612: false\n })) || []);\n }\n};\n//# sourceMappingURL=SendApiUtil.js.map","import { proxy, ref, subscribe as sub } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { NumberUtil } from '@reown/appkit-common';\nimport { ContractUtil } from '@reown/appkit-common';\nimport { W3mFrameRpcConstants } from '@reown/appkit-wallet/utils';\nimport { ConstantsUtil } from '../utils/ConstantsUtil.js';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { SendApiUtil } from '../utils/SendApiUtil.js';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { AccountController } from './AccountController.js';\nimport { ChainController } from './ChainController.js';\nimport { ConnectionController } from './ConnectionController.js';\nimport { EventsController } from './EventsController.js';\nimport { RouterController } from './RouterController.js';\nimport { SnackController } from './SnackController.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n tokenBalances: [],\n loading: false\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n setToken(token) {\n if (token) {\n state.token = ref(token);\n }\n },\n setTokenAmount(sendTokenAmount) {\n state.sendTokenAmount = sendTokenAmount;\n },\n setReceiverAddress(receiverAddress) {\n state.receiverAddress = receiverAddress;\n },\n setReceiverProfileImageUrl(receiverProfileImageUrl) {\n state.receiverProfileImageUrl = receiverProfileImageUrl;\n },\n setReceiverProfileName(receiverProfileName) {\n state.receiverProfileName = receiverProfileName;\n },\n setNetworkBalanceInUsd(networkBalanceInUSD) {\n state.networkBalanceInUSD = networkBalanceInUSD;\n },\n setLoading(loading) {\n state.loading = loading;\n },\n async sendToken() {\n try {\n SendController.setLoading(true);\n switch (ChainController.state.activeCaipNetwork?.chainNamespace) {\n case 'eip155':\n await SendController.sendEvmToken();\n return;\n case 'solana':\n await SendController.sendSolanaToken();\n return;\n default:\n throw new Error('Unsupported chain');\n }\n }\n finally {\n SendController.setLoading(false);\n }\n },\n async sendEvmToken() {\n const activeChainNamespace = ChainController.state.activeChain;\n const activeAccountType = AccountController.state.preferredAccountTypes?.[activeChainNamespace];\n if (!SendController.state.sendTokenAmount || !SendController.state.receiverAddress) {\n throw new Error('An amount and receiver address are required');\n }\n if (!SendController.state.token) {\n throw new Error('A token is required');\n }\n if (SendController.state.token?.address) {\n EventsController.sendEvent({\n type: 'track',\n event: 'SEND_INITIATED',\n properties: {\n isSmartAccount: activeAccountType === W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT,\n token: SendController.state.token.address,\n amount: SendController.state.sendTokenAmount,\n network: ChainController.state.activeCaipNetwork?.caipNetworkId || ''\n }\n });\n await SendController.sendERC20Token({\n receiverAddress: SendController.state.receiverAddress,\n tokenAddress: SendController.state.token.address,\n sendTokenAmount: SendController.state.sendTokenAmount,\n decimals: SendController.state.token.quantity.decimals\n });\n }\n else {\n EventsController.sendEvent({\n type: 'track',\n event: 'SEND_INITIATED',\n properties: {\n isSmartAccount: activeAccountType === W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT,\n token: SendController.state.token.symbol || '',\n amount: SendController.state.sendTokenAmount,\n network: ChainController.state.activeCaipNetwork?.caipNetworkId || ''\n }\n });\n await SendController.sendNativeToken({\n receiverAddress: SendController.state.receiverAddress,\n sendTokenAmount: SendController.state.sendTokenAmount,\n decimals: SendController.state.token.quantity.decimals\n });\n }\n },\n async fetchTokenBalance(onError) {\n state.loading = true;\n const chainId = ChainController.state.activeCaipNetwork?.caipNetworkId;\n const chain = ChainController.state.activeCaipNetwork?.chainNamespace;\n const caipAddress = ChainController.state.activeCaipAddress;\n const address = caipAddress ? CoreHelperUtil.getPlainAddress(caipAddress) : undefined;\n if (state.lastRetry &&\n !CoreHelperUtil.isAllowedRetry(state.lastRetry, 30 * ConstantsUtil.ONE_SEC_MS)) {\n state.loading = false;\n return [];\n }\n try {\n if (address && chainId && chain) {\n const balances = await SendApiUtil.getMyTokensWithBalance();\n state.tokenBalances = balances;\n state.lastRetry = undefined;\n return balances;\n }\n }\n catch (error) {\n state.lastRetry = Date.now();\n onError?.(error);\n SnackController.showError('Token Balance Unavailable');\n }\n finally {\n state.loading = false;\n }\n return [];\n },\n fetchNetworkBalance() {\n if (state.tokenBalances.length === 0) {\n return;\n }\n const networkTokenBalances = SendApiUtil.mapBalancesToSwapTokens(state.tokenBalances);\n if (!networkTokenBalances) {\n return;\n }\n const networkToken = networkTokenBalances.find(token => token.address === ChainController.getActiveNetworkTokenAddress());\n if (!networkToken) {\n return;\n }\n state.networkBalanceInUSD = networkToken\n ? NumberUtil.multiply(networkToken.quantity.numeric, networkToken.price).toString()\n : '0';\n },\n async sendNativeToken(params) {\n RouterController.pushTransactionStack({});\n const to = params.receiverAddress;\n const address = AccountController.state.address;\n const value = ConnectionController.parseUnits(params.sendTokenAmount.toString(), Number(params.decimals));\n const data = '0x';\n await ConnectionController.sendTransaction({\n chainNamespace: 'eip155',\n to,\n address,\n data,\n value: value ?? BigInt(0)\n });\n EventsController.sendEvent({\n type: 'track',\n event: 'SEND_SUCCESS',\n properties: {\n isSmartAccount: AccountController.state.preferredAccountTypes?.['eip155'] ===\n W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT,\n token: SendController.state.token?.symbol || '',\n amount: params.sendTokenAmount,\n network: ChainController.state.activeCaipNetwork?.caipNetworkId || ''\n }\n });\n ConnectionController._getClient()?.updateBalance('eip155');\n SendController.resetSend();\n },\n async sendERC20Token(params) {\n RouterController.pushTransactionStack({\n onSuccess() {\n RouterController.replace('Account');\n }\n });\n const amount = ConnectionController.parseUnits(params.sendTokenAmount.toString(), Number(params.decimals));\n if (AccountController.state.address &&\n params.sendTokenAmount &&\n params.receiverAddress &&\n params.tokenAddress) {\n const tokenAddress = CoreHelperUtil.getPlainAddress(params.tokenAddress);\n await ConnectionController.writeContract({\n fromAddress: AccountController.state.address,\n tokenAddress,\n args: [params.receiverAddress, amount ?? BigInt(0)],\n method: 'transfer',\n abi: ContractUtil.getERC20Abi(tokenAddress),\n chainNamespace: 'eip155'\n });\n SendController.resetSend();\n }\n },\n async sendSolanaToken() {\n if (!SendController.state.sendTokenAmount || !SendController.state.receiverAddress) {\n throw new Error('An amount and receiver address are required');\n }\n RouterController.pushTransactionStack({\n onSuccess() {\n RouterController.replace('Account');\n }\n });\n await ConnectionController.sendTransaction({\n chainNamespace: 'solana',\n to: SendController.state.receiverAddress,\n value: SendController.state.sendTokenAmount\n });\n ConnectionController._getClient()?.updateBalance('solana');\n SendController.resetSend();\n },\n resetSend() {\n state.token = undefined;\n state.sendTokenAmount = undefined;\n state.receiverAddress = undefined;\n state.receiverProfileImageUrl = undefined;\n state.receiverProfileName = undefined;\n state.loading = false;\n state.tokenBalances = [];\n }\n};\n// Export the controller wrapped with our error boundary\nexport const SendController = withErrorBoundary(controller);\n//# sourceMappingURL=SendController.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { proxyMap, subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { ConstantsUtil as CommonConstantsUtil, NetworkUtil } from '@reown/appkit-common';\nimport { ConstantsUtil } from '../utils/ConstantsUtil.js';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { StorageUtil } from '../utils/StorageUtil.js';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { AccountController } from './AccountController.js';\nimport { ConnectionController } from './ConnectionController.js';\nimport { ConnectorController } from './ConnectorController.js';\nimport { EventsController } from './EventsController.js';\nimport { ModalController } from './ModalController.js';\nimport { OptionsController } from './OptionsController.js';\nimport { PublicStateController } from './PublicStateController.js';\nimport { RouterController } from './RouterController.js';\nimport { SendController } from './SendController.js';\n// -- Constants ----------------------------------------- //\nconst accountState = {\n currentTab: 0,\n tokenBalance: [],\n smartAccountDeployed: false,\n addressLabels: new Map(),\n allAccounts: [],\n user: undefined\n};\nconst networkState = {\n caipNetwork: undefined,\n supportsAllNetworks: true,\n smartAccountEnabledNetworks: []\n};\n// -- State --------------------------------------------- //\nconst state = proxy({\n chains: proxyMap(),\n activeCaipAddress: undefined,\n activeChain: undefined,\n activeCaipNetwork: undefined,\n noAdapters: false,\n universalAdapter: {\n networkControllerClient: undefined,\n connectionControllerClient: undefined\n },\n isSwitchingNamespace: false\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribe(callback) {\n return sub(state, () => {\n callback(state);\n });\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n subscribeChainProp(property, callback, chain) {\n let prev = undefined;\n return sub(state.chains, () => {\n const activeChain = chain || state.activeChain;\n if (activeChain) {\n const nextValue = state.chains.get(activeChain)?.[property];\n if (prev !== nextValue) {\n prev = nextValue;\n callback(nextValue);\n }\n }\n });\n },\n initialize(adapters, caipNetworks, clients) {\n const { chainId: activeChainId, namespace: activeNamespace } = StorageUtil.getActiveNetworkProps();\n const activeCaipNetwork = caipNetworks?.find(network => network.id.toString() === activeChainId?.toString());\n const defaultAdapter = adapters.find(adapter => adapter?.namespace === activeNamespace);\n const adapterToActivate = defaultAdapter || adapters?.[0];\n const namespacesFromAdapters = adapters.map(a => a.namespace).filter(n => n !== undefined);\n /**\n * If the AppKit is in embedded mode (for Demo app), we should get the available namespaces from the adapters.\n */\n const namespaces = OptionsController.state.enableEmbedded\n ? new Set([...namespacesFromAdapters])\n : new Set([...(caipNetworks?.map(network => network.chainNamespace) ?? [])]);\n if (adapters?.length === 0 || !adapterToActivate) {\n state.noAdapters = true;\n }\n if (!state.noAdapters) {\n state.activeChain = adapterToActivate?.namespace;\n state.activeCaipNetwork = activeCaipNetwork;\n ChainController.setChainNetworkData(adapterToActivate?.namespace, {\n caipNetwork: activeCaipNetwork\n });\n if (state.activeChain) {\n PublicStateController.set({ activeChain: adapterToActivate?.namespace });\n }\n }\n namespaces.forEach(namespace => {\n const namespaceNetworks = caipNetworks?.filter(network => network.chainNamespace === namespace);\n ChainController.state.chains.set(namespace, {\n namespace,\n networkState: proxy({\n ...networkState,\n caipNetwork: namespaceNetworks?.[0]\n }),\n accountState: proxy(accountState),\n caipNetworks: namespaceNetworks ?? [],\n ...clients\n });\n ChainController.setRequestedCaipNetworks(namespaceNetworks ?? [], namespace);\n });\n },\n removeAdapter(namespace) {\n if (state.activeChain === namespace) {\n const nextAdapter = Array.from(state.chains.entries()).find(([chainNamespace]) => chainNamespace !== namespace);\n if (nextAdapter) {\n const caipNetwork = nextAdapter[1]?.caipNetworks?.[0];\n if (caipNetwork) {\n ChainController.setActiveCaipNetwork(caipNetwork);\n }\n }\n }\n state.chains.delete(namespace);\n },\n addAdapter(adapter, { networkControllerClient, connectionControllerClient }, caipNetworks) {\n state.chains.set(adapter.namespace, {\n namespace: adapter.namespace,\n networkState: {\n ...networkState,\n caipNetwork: caipNetworks[0]\n },\n accountState,\n caipNetworks,\n connectionControllerClient,\n networkControllerClient\n });\n ChainController.setRequestedCaipNetworks(caipNetworks?.filter(caipNetwork => caipNetwork.chainNamespace === adapter.namespace) ?? [], adapter.namespace);\n },\n addNetwork(network) {\n const chainAdapter = state.chains.get(network.chainNamespace);\n if (chainAdapter) {\n const newNetworks = [...(chainAdapter.caipNetworks || [])];\n if (!chainAdapter.caipNetworks?.find(caipNetwork => caipNetwork.id === network.id)) {\n newNetworks.push(network);\n }\n state.chains.set(network.chainNamespace, { ...chainAdapter, caipNetworks: newNetworks });\n ChainController.setRequestedCaipNetworks(newNetworks, network.chainNamespace);\n ConnectorController.filterByNamespace(network.chainNamespace, true);\n }\n },\n removeNetwork(namespace, networkId) {\n const chainAdapter = state.chains.get(namespace);\n if (chainAdapter) {\n // Check if network being removed is active network\n const isActiveNetwork = state.activeCaipNetwork?.id === networkId;\n // Filter out the network being removed\n const newCaipNetworksOfAdapter = [\n ...(chainAdapter.caipNetworks?.filter(network => network.id !== networkId) || [])\n ];\n // If active network was removed and there are other networks available, switch to first one\n if (isActiveNetwork && chainAdapter?.caipNetworks?.[0]) {\n ChainController.setActiveCaipNetwork(chainAdapter.caipNetworks[0]);\n }\n state.chains.set(namespace, { ...chainAdapter, caipNetworks: newCaipNetworksOfAdapter });\n ChainController.setRequestedCaipNetworks(newCaipNetworksOfAdapter || [], namespace);\n if (newCaipNetworksOfAdapter.length === 0) {\n ConnectorController.filterByNamespace(namespace, false);\n }\n }\n },\n setAdapterNetworkState(chain, props) {\n const chainAdapter = state.chains.get(chain);\n if (chainAdapter) {\n chainAdapter.networkState = {\n ...(chainAdapter.networkState || networkState),\n ...props\n };\n state.chains.set(chain, chainAdapter);\n }\n },\n setChainAccountData(chain, accountProps, _unknown = true) {\n if (!chain) {\n throw new Error('Chain is required to update chain account data');\n }\n const chainAdapter = state.chains.get(chain);\n if (chainAdapter) {\n const newAccountState = { ...(chainAdapter.accountState || accountState), ...accountProps };\n state.chains.set(chain, { ...chainAdapter, accountState: newAccountState });\n if (state.chains.size === 1 || state.activeChain === chain) {\n if (accountProps.caipAddress) {\n state.activeCaipAddress = accountProps.caipAddress;\n }\n AccountController.replaceState(newAccountState);\n }\n }\n },\n setChainNetworkData(chain, networkProps) {\n if (!chain) {\n return;\n }\n const chainAdapter = state.chains.get(chain);\n if (chainAdapter) {\n const newNetworkState = { ...(chainAdapter.networkState || networkState), ...networkProps };\n state.chains.set(chain, { ...chainAdapter, networkState: newNetworkState });\n }\n },\n // eslint-disable-next-line max-params\n setAccountProp(prop, value, chain, replaceState = true) {\n ChainController.setChainAccountData(chain, { [prop]: value }, replaceState);\n if (prop === 'status' && value === 'disconnected' && chain) {\n ConnectorController.removeConnectorId(chain);\n }\n },\n setActiveNamespace(chain) {\n state.activeChain = chain;\n const newAdapter = chain ? state.chains.get(chain) : undefined;\n const caipNetwork = newAdapter?.networkState?.caipNetwork;\n if (caipNetwork?.id && chain) {\n state.activeCaipAddress = newAdapter?.accountState?.caipAddress;\n state.activeCaipNetwork = caipNetwork;\n ChainController.setChainNetworkData(chain, { caipNetwork });\n StorageUtil.setActiveCaipNetworkId(caipNetwork?.caipNetworkId);\n PublicStateController.set({\n activeChain: chain,\n selectedNetworkId: caipNetwork?.caipNetworkId\n });\n }\n },\n setActiveCaipNetwork(caipNetwork) {\n if (!caipNetwork) {\n return;\n }\n if (state.activeChain !== caipNetwork.chainNamespace) {\n ChainController.setIsSwitchingNamespace(true);\n }\n const newAdapter = state.chains.get(caipNetwork.chainNamespace);\n state.activeChain = caipNetwork.chainNamespace;\n state.activeCaipNetwork = caipNetwork;\n ChainController.setChainNetworkData(caipNetwork.chainNamespace, { caipNetwork });\n if (newAdapter?.accountState?.address) {\n state.activeCaipAddress = `${caipNetwork.chainNamespace}:${caipNetwork.id}:${newAdapter?.accountState?.address}`;\n }\n else {\n state.activeCaipAddress = undefined;\n }\n // Update the chain's account state with the new caip address value\n ChainController.setAccountProp('caipAddress', state.activeCaipAddress, caipNetwork.chainNamespace);\n if (newAdapter) {\n AccountController.replaceState(newAdapter.accountState);\n }\n // Reset send state when switching networks\n SendController.resetSend();\n PublicStateController.set({\n activeChain: state.activeChain,\n selectedNetworkId: state.activeCaipNetwork?.caipNetworkId\n });\n StorageUtil.setActiveCaipNetworkId(caipNetwork.caipNetworkId);\n const isSupported = ChainController.checkIfSupportedNetwork(caipNetwork.chainNamespace);\n if (!isSupported &&\n OptionsController.state.enableNetworkSwitch &&\n !OptionsController.state.allowUnsupportedChain &&\n !ConnectionController.state.wcBasic) {\n ChainController.showUnsupportedChainUI();\n }\n },\n addCaipNetwork(caipNetwork) {\n if (!caipNetwork) {\n return;\n }\n const chain = state.chains.get(caipNetwork.chainNamespace);\n if (chain) {\n chain?.caipNetworks?.push(caipNetwork);\n }\n },\n async switchActiveNamespace(namespace) {\n if (!namespace) {\n return;\n }\n const isDifferentChain = namespace !== ChainController.state.activeChain;\n const caipNetworkOfNamespace = ChainController.getNetworkData(namespace)?.caipNetwork;\n const firstNetworkWithChain = ChainController.getCaipNetworkByNamespace(namespace, caipNetworkOfNamespace?.id);\n if (isDifferentChain && firstNetworkWithChain) {\n await ChainController.switchActiveNetwork(firstNetworkWithChain);\n }\n },\n async switchActiveNetwork(network) {\n const activeAdapter = ChainController.state.chains.get(ChainController.state.activeChain);\n const unsupportedNetwork = !activeAdapter?.caipNetworks?.some(caipNetwork => caipNetwork.id === state.activeCaipNetwork?.id);\n const networkControllerClient = ChainController.getNetworkControllerClient(network.chainNamespace);\n if (networkControllerClient) {\n try {\n await networkControllerClient.switchCaipNetwork(network);\n if (unsupportedNetwork) {\n ModalController.close();\n }\n }\n catch (error) {\n RouterController.goBack();\n }\n EventsController.sendEvent({\n type: 'track',\n event: 'SWITCH_NETWORK',\n properties: { network: network.caipNetworkId }\n });\n }\n },\n getNetworkControllerClient(chainNamespace) {\n const chain = chainNamespace || state.activeChain;\n const chainAdapter = state.chains.get(chain);\n if (!chainAdapter) {\n throw new Error('Chain adapter not found');\n }\n if (!chainAdapter.networkControllerClient) {\n throw new Error('NetworkController client not set');\n }\n return chainAdapter.networkControllerClient;\n },\n getConnectionControllerClient(_chain) {\n const chain = _chain || state.activeChain;\n if (!chain) {\n throw new Error('Chain is required to get connection controller client');\n }\n const chainAdapter = state.chains.get(chain);\n if (!chainAdapter?.connectionControllerClient) {\n throw new Error('ConnectionController client not set');\n }\n return chainAdapter.connectionControllerClient;\n },\n getAccountProp(key, _chain) {\n let chain = state.activeChain;\n if (_chain) {\n chain = _chain;\n }\n if (!chain) {\n return undefined;\n }\n const chainAccountState = state.chains.get(chain)?.accountState;\n if (!chainAccountState) {\n return undefined;\n }\n return chainAccountState[key];\n },\n getNetworkProp(key, namespace) {\n const chainNetworkState = state.chains.get(namespace)?.networkState;\n if (!chainNetworkState) {\n return undefined;\n }\n return chainNetworkState[key];\n },\n getRequestedCaipNetworks(chainToFilter) {\n const adapter = state.chains.get(chainToFilter);\n const { approvedCaipNetworkIds = [], requestedCaipNetworks = [] } = adapter?.networkState || {};\n const sortedNetworks = CoreHelperUtil.sortRequestedNetworks(approvedCaipNetworkIds, requestedCaipNetworks);\n return sortedNetworks;\n },\n getAllRequestedCaipNetworks() {\n const requestedCaipNetworks = [];\n state.chains.forEach(chainAdapter => {\n const caipNetworks = ChainController.getRequestedCaipNetworks(chainAdapter.namespace);\n requestedCaipNetworks.push(...caipNetworks);\n });\n return requestedCaipNetworks;\n },\n setRequestedCaipNetworks(caipNetworks, chain) {\n ChainController.setAdapterNetworkState(chain, { requestedCaipNetworks: caipNetworks });\n const allRequestedCaipNetworks = ChainController.getAllRequestedCaipNetworks();\n const namespaces = allRequestedCaipNetworks.map(network => network.chainNamespace);\n const uniqueNamespaces = Array.from(new Set(namespaces));\n ConnectorController.filterByNamespaces(uniqueNamespaces);\n },\n getAllApprovedCaipNetworkIds() {\n const approvedCaipNetworkIds = [];\n state.chains.forEach(chainAdapter => {\n const approvedIds = ChainController.getApprovedCaipNetworkIds(chainAdapter.namespace);\n approvedCaipNetworkIds.push(...approvedIds);\n });\n return approvedCaipNetworkIds;\n },\n getActiveCaipNetwork() {\n return state.activeCaipNetwork;\n },\n getActiveCaipAddress() {\n return state.activeCaipAddress;\n },\n getApprovedCaipNetworkIds(namespace) {\n const adapter = state.chains.get(namespace);\n const approvedCaipNetworkIds = adapter?.networkState?.approvedCaipNetworkIds || [];\n return approvedCaipNetworkIds;\n },\n async setApprovedCaipNetworksData(namespace) {\n const networkControllerClient = ChainController.getNetworkControllerClient();\n const data = await networkControllerClient?.getApprovedCaipNetworksData();\n ChainController.setAdapterNetworkState(namespace, {\n approvedCaipNetworkIds: data?.approvedCaipNetworkIds,\n supportsAllNetworks: data?.supportsAllNetworks\n });\n },\n checkIfSupportedNetwork(namespace, caipNetwork) {\n const activeCaipNetwork = caipNetwork || state.activeCaipNetwork;\n const requestedCaipNetworks = ChainController.getRequestedCaipNetworks(namespace);\n if (!requestedCaipNetworks.length) {\n return true;\n }\n return requestedCaipNetworks?.some(network => network.id === activeCaipNetwork?.id);\n },\n checkIfSupportedChainId(chainId) {\n if (!state.activeChain) {\n return true;\n }\n const requestedCaipNetworks = ChainController.getRequestedCaipNetworks(state.activeChain);\n return requestedCaipNetworks?.some(network => network.id === chainId);\n },\n // Smart Account Network Handlers\n setSmartAccountEnabledNetworks(smartAccountEnabledNetworks, chain) {\n ChainController.setAdapterNetworkState(chain, { smartAccountEnabledNetworks });\n },\n checkIfSmartAccountEnabled() {\n const networkId = NetworkUtil.caipNetworkIdToNumber(state.activeCaipNetwork?.caipNetworkId);\n const activeChain = state.activeChain;\n if (!activeChain || !networkId) {\n return false;\n }\n const smartAccountEnabledNetworks = ChainController.getNetworkProp('smartAccountEnabledNetworks', activeChain);\n return Boolean(smartAccountEnabledNetworks?.includes(Number(networkId)));\n },\n getActiveNetworkTokenAddress() {\n const namespace = state.activeCaipNetwork?.chainNamespace || 'eip155';\n const chainId = state.activeCaipNetwork?.id || 1;\n const address = ConstantsUtil.NATIVE_TOKEN_ADDRESS[namespace];\n return `${namespace}:${chainId}:${address}`;\n },\n showUnsupportedChainUI() {\n ModalController.open({ view: 'UnsupportedChain' });\n },\n checkIfNamesSupported() {\n const activeCaipNetwork = state.activeCaipNetwork;\n return Boolean(activeCaipNetwork?.chainNamespace &&\n ConstantsUtil.NAMES_SUPPORTED_CHAIN_NAMESPACES.includes(activeCaipNetwork.chainNamespace));\n },\n resetNetwork(namespace) {\n ChainController.setAdapterNetworkState(namespace, {\n approvedCaipNetworkIds: undefined,\n supportsAllNetworks: true,\n smartAccountEnabledNetworks: []\n });\n },\n resetAccount(chain) {\n const chainToWrite = chain;\n if (!chainToWrite) {\n throw new Error('Chain is required to set account prop');\n }\n state.activeCaipAddress = undefined;\n ChainController.setChainAccountData(chainToWrite, {\n smartAccountDeployed: false,\n currentTab: 0,\n caipAddress: undefined,\n address: undefined,\n balance: undefined,\n balanceSymbol: undefined,\n profileName: undefined,\n profileImage: undefined,\n addressExplorerUrl: undefined,\n tokenBalance: [],\n connectedWalletInfo: undefined,\n preferredAccountTypes: undefined,\n socialProvider: undefined,\n socialWindow: undefined,\n farcasterUrl: undefined,\n allAccounts: [],\n user: undefined,\n status: 'disconnected'\n });\n ConnectorController.removeConnectorId(chainToWrite);\n },\n setIsSwitchingNamespace(isSwitchingNamespace) {\n state.isSwitchingNamespace = isSwitchingNamespace;\n },\n getFirstCaipNetworkSupportsAuthConnector() {\n const availableChains = [];\n let firstCaipNetwork = undefined;\n state.chains.forEach(chain => {\n if (CommonConstantsUtil.AUTH_CONNECTOR_SUPPORTED_CHAINS.find(ns => ns === chain.namespace)) {\n if (chain.namespace) {\n availableChains.push(chain.namespace);\n }\n }\n });\n if (availableChains.length > 0) {\n const firstAvailableChain = availableChains[0];\n firstCaipNetwork = firstAvailableChain\n ? state.chains.get(firstAvailableChain)?.caipNetworks?.[0]\n : undefined;\n return firstCaipNetwork;\n }\n return undefined;\n },\n getAccountData(chainNamespace) {\n if (!chainNamespace) {\n return AccountController.state;\n }\n return ChainController.state.chains.get(chainNamespace)?.accountState;\n },\n getNetworkData(chainNamespace) {\n const namespace = chainNamespace || state.activeChain;\n if (!namespace) {\n return undefined;\n }\n return ChainController.state.chains.get(namespace)?.networkState;\n },\n getCaipNetworkByNamespace(chainNamespace, chainId) {\n if (!chainNamespace) {\n return undefined;\n }\n const chain = ChainController.state.chains.get(chainNamespace);\n const byChainId = chain?.caipNetworks?.find(network => network.id === chainId);\n if (byChainId) {\n return byChainId;\n }\n return chain?.networkState?.caipNetwork || chain?.caipNetworks?.[0];\n },\n /**\n * Get the requested CaipNetwork IDs for a given namespace. If namespace is not provided, all requested CaipNetwork IDs will be returned\n * @param namespace - The namespace to get the requested CaipNetwork IDs for\n * @returns The requested CaipNetwork IDs\n */\n getRequestedCaipNetworkIds() {\n const namespace = ConnectorController.state.filterByNamespace;\n const chains = namespace ? [state.chains.get(namespace)] : Array.from(state.chains.values());\n return chains\n .flatMap(chain => chain?.caipNetworks || [])\n .map(caipNetwork => caipNetwork.caipNetworkId);\n },\n getCaipNetworks(namespace) {\n if (namespace) {\n return ChainController.getRequestedCaipNetworks(namespace);\n }\n return ChainController.getAllRequestedCaipNetworks();\n }\n};\n// Export the controller wrapped with our error boundary\nexport const ChainController = withErrorBoundary(controller);\n//# sourceMappingURL=ChainController.js.map","import { proxy } from 'valtio/vanilla';\nimport { ConstantsUtil } from '../utils/ConstantsUtil.js';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { FetchUtil } from '../utils/FetchUtil.js';\nimport { StorageUtil } from '../utils/StorageUtil.js';\nimport { AccountController } from './AccountController.js';\nimport { ChainController } from './ChainController.js';\nimport { OptionsController } from './OptionsController.js';\nimport { SnackController } from './SnackController.js';\nconst DEFAULT_OPTIONS = {\n purchaseCurrencies: [\n {\n id: '2b92315d-eab7-5bef-84fa-089a131333f5',\n name: 'USD Coin',\n symbol: 'USDC',\n networks: [\n {\n name: 'ethereum-mainnet',\n display_name: 'Ethereum',\n chain_id: '1',\n contract_address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'\n },\n {\n name: 'polygon-mainnet',\n display_name: 'Polygon',\n chain_id: '137',\n contract_address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174'\n }\n ]\n },\n {\n id: '2b92315d-eab7-5bef-84fa-089a131333f5',\n name: 'Ether',\n symbol: 'ETH',\n networks: [\n {\n name: 'ethereum-mainnet',\n display_name: 'Ethereum',\n chain_id: '1',\n contract_address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'\n },\n {\n name: 'polygon-mainnet',\n display_name: 'Polygon',\n chain_id: '137',\n contract_address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174'\n }\n ]\n }\n ],\n paymentCurrencies: [\n {\n id: 'USD',\n payment_method_limits: [\n {\n id: 'card',\n min: '10.00',\n max: '7500.00'\n },\n {\n id: 'ach_bank_account',\n min: '10.00',\n max: '25000.00'\n }\n ]\n },\n {\n id: 'EUR',\n payment_method_limits: [\n {\n id: 'card',\n min: '10.00',\n max: '7500.00'\n },\n {\n id: 'ach_bank_account',\n min: '10.00',\n max: '25000.00'\n }\n ]\n }\n ]\n};\n// -- Helpers ------------------------------------------- //\nconst baseUrl = CoreHelperUtil.getBlockchainApiUrl();\n// -- State --------------------------------------------- //\nconst state = proxy({\n clientId: null,\n api: new FetchUtil({ baseUrl, clientId: null }),\n supportedChains: { http: [], ws: [] }\n});\n// -- Controller ---------------------------------------- //\nexport const BlockchainApiController = {\n state,\n async get(request) {\n const { st, sv } = BlockchainApiController.getSdkProperties();\n const projectId = OptionsController.state.projectId;\n const params = {\n ...(request.params || {}),\n st,\n sv,\n projectId\n };\n return state.api.get({\n ...request,\n params\n });\n },\n getSdkProperties() {\n const { sdkType, sdkVersion } = OptionsController.state;\n return {\n st: sdkType || 'unknown',\n sv: sdkVersion || 'unknown'\n };\n },\n async isNetworkSupported(networkId) {\n if (!networkId) {\n return false;\n }\n try {\n if (!state.supportedChains.http.length) {\n await BlockchainApiController.getSupportedNetworks();\n }\n }\n catch (e) {\n return false;\n }\n return state.supportedChains.http.includes(networkId);\n },\n async getSupportedNetworks() {\n try {\n const supportedChains = await BlockchainApiController.get({\n path: 'v1/supported-chains'\n });\n state.supportedChains = supportedChains;\n return supportedChains;\n }\n catch {\n return state.supportedChains;\n }\n },\n async fetchIdentity({ address, caipNetworkId }) {\n const isSupported = await BlockchainApiController.isNetworkSupported(caipNetworkId);\n if (!isSupported) {\n return { avatar: '', name: '' };\n }\n const identityCache = StorageUtil.getIdentityFromCacheForAddress(address);\n if (identityCache) {\n return identityCache;\n }\n const result = await BlockchainApiController.get({\n path: `/v1/identity/${address}`,\n params: {\n sender: ChainController.state.activeCaipAddress\n ? CoreHelperUtil.getPlainAddress(ChainController.state.activeCaipAddress)\n : undefined\n }\n });\n StorageUtil.updateIdentityCache({\n address,\n identity: result,\n timestamp: Date.now()\n });\n return result;\n },\n async fetchTransactions({ account, cursor, onramp, signal, cache, chainId }) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return { data: [], next: undefined };\n }\n return BlockchainApiController.get({\n path: `/v1/account/${account}/history`,\n params: {\n cursor,\n onramp,\n chainId\n },\n signal,\n cache\n });\n },\n async fetchSwapQuote({ amount, userAddress, from, to, gasPrice }) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return { quotes: [] };\n }\n return BlockchainApiController.get({\n path: `/v1/convert/quotes`,\n headers: {\n 'Content-Type': 'application/json'\n },\n params: {\n amount,\n userAddress,\n from,\n to,\n gasPrice\n }\n });\n },\n async fetchSwapTokens({ chainId }) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return { tokens: [] };\n }\n return BlockchainApiController.get({\n path: `/v1/convert/tokens`,\n params: { chainId }\n });\n },\n async fetchTokenPrice({ addresses }) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return { fungibles: [] };\n }\n return state.api.post({\n path: '/v1/fungible/price',\n body: {\n currency: 'usd',\n addresses,\n projectId: OptionsController.state.projectId\n },\n headers: {\n 'Content-Type': 'application/json'\n }\n });\n },\n async fetchSwapAllowance({ tokenAddress, userAddress }) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return { allowance: '0' };\n }\n return BlockchainApiController.get({\n path: `/v1/convert/allowance`,\n params: {\n tokenAddress,\n userAddress\n },\n headers: {\n 'Content-Type': 'application/json'\n }\n });\n },\n async fetchGasPrice({ chainId }) {\n const { st, sv } = BlockchainApiController.getSdkProperties();\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n throw new Error('Network not supported for Gas Price');\n }\n return BlockchainApiController.get({\n path: `/v1/convert/gas-price`,\n headers: {\n 'Content-Type': 'application/json'\n },\n params: {\n chainId,\n st,\n sv\n }\n });\n },\n async generateSwapCalldata({ amount, from, to, userAddress, disableEstimate }) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n throw new Error('Network not supported for Swaps');\n }\n return state.api.post({\n path: '/v1/convert/build-transaction',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: {\n amount,\n eip155: {\n slippage: ConstantsUtil.CONVERT_SLIPPAGE_TOLERANCE\n },\n projectId: OptionsController.state.projectId,\n from,\n to,\n userAddress,\n disableEstimate\n }\n });\n },\n async generateApproveCalldata({ from, to, userAddress }) {\n const { st, sv } = BlockchainApiController.getSdkProperties();\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n throw new Error('Network not supported for Swaps');\n }\n return BlockchainApiController.get({\n path: `/v1/convert/build-approve`,\n headers: {\n 'Content-Type': 'application/json'\n },\n params: {\n userAddress,\n from,\n to,\n st,\n sv\n }\n });\n },\n async getBalance(address, chainId, forceUpdate) {\n const { st, sv } = BlockchainApiController.getSdkProperties();\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n SnackController.showError('Token Balance Unavailable');\n return { balances: [] };\n }\n const caipAddress = `${chainId}:${address}`;\n const cachedBalance = StorageUtil.getBalanceCacheForCaipAddress(caipAddress);\n if (cachedBalance) {\n return cachedBalance;\n }\n const balance = await BlockchainApiController.get({\n path: `/v1/account/${address}/balance`,\n params: {\n currency: 'usd',\n chainId,\n forceUpdate,\n st,\n sv\n }\n });\n StorageUtil.updateBalanceCache({\n caipAddress,\n balance,\n timestamp: Date.now()\n });\n return balance;\n },\n async lookupEnsName(name) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return { addresses: {}, attributes: [] };\n }\n return BlockchainApiController.get({\n path: `/v1/profile/account/${name}`,\n params: { apiVersion: '2' }\n });\n },\n async reverseLookupEnsName({ address }) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return [];\n }\n return BlockchainApiController.get({\n path: `/v1/profile/reverse/${address}`,\n params: {\n sender: AccountController.state.address,\n apiVersion: '2'\n }\n });\n },\n async getEnsNameSuggestions(name) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return { suggestions: [] };\n }\n return BlockchainApiController.get({\n path: `/v1/profile/suggestions/${name}`,\n params: { zone: 'reown.id' }\n });\n },\n async registerEnsName({ coinType, address, message, signature }) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return { success: false };\n }\n return state.api.post({\n path: `/v1/profile/account`,\n body: { coin_type: coinType, address, message, signature },\n headers: {\n 'Content-Type': 'application/json'\n }\n });\n },\n async generateOnRampURL({ destinationWallets, partnerUserId, defaultNetwork, purchaseAmount, paymentAmount }) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return '';\n }\n const response = await state.api.post({\n path: `/v1/generators/onrampurl`,\n params: {\n projectId: OptionsController.state.projectId\n },\n body: {\n destinationWallets,\n defaultNetwork,\n partnerUserId,\n defaultExperience: 'buy',\n presetCryptoAmount: purchaseAmount,\n presetFiatAmount: paymentAmount\n }\n });\n return response.url;\n },\n async getOnrampOptions() {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return { paymentCurrencies: [], purchaseCurrencies: [] };\n }\n try {\n const response = await BlockchainApiController.get({\n path: `/v1/onramp/options`\n });\n return response;\n }\n catch (e) {\n return DEFAULT_OPTIONS;\n }\n },\n async getOnrampQuote({ purchaseCurrency, paymentCurrency, amount, network }) {\n try {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return null;\n }\n const response = await state.api.post({\n path: `/v1/onramp/quote`,\n params: {\n projectId: OptionsController.state.projectId\n },\n body: {\n purchaseCurrency,\n paymentCurrency,\n amount,\n network\n }\n });\n return response;\n }\n catch (e) {\n // Mocking response as 1:1 until endpoint is ready\n return {\n coinbaseFee: { amount, currency: paymentCurrency.id },\n networkFee: { amount, currency: paymentCurrency.id },\n paymentSubtotal: { amount, currency: paymentCurrency.id },\n paymentTotal: { amount, currency: paymentCurrency.id },\n purchaseAmount: { amount, currency: paymentCurrency.id },\n quoteId: 'mocked-quote-id'\n };\n }\n },\n async getSmartSessions(caipAddress) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return [];\n }\n return BlockchainApiController.get({\n path: `/v1/sessions/${caipAddress}`\n });\n },\n async revokeSmartSession(address, pci, signature) {\n const isSupported = await BlockchainApiController.isNetworkSupported(ChainController.state.activeCaipNetwork?.caipNetworkId);\n if (!isSupported) {\n return { success: false };\n }\n return state.api.post({\n path: `/v1/sessions/${address}/revoke`,\n params: {\n projectId: OptionsController.state.projectId\n },\n body: {\n pci,\n signature\n }\n });\n },\n setClientId(clientId) {\n state.clientId = clientId;\n state.api = new FetchUtil({ baseUrl, clientId });\n }\n};\n//# sourceMappingURL=BlockchainApiController.js.map","import { proxy, ref } from 'valtio/vanilla';\nimport { ConstantsUtil } from '../utils/ConstantsUtil.js';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { BlockchainApiController } from './BlockchainApiController.js';\nimport { ChainController } from './ChainController.js';\nimport { SnackController } from './SnackController.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n currentTab: 0,\n tokenBalance: [],\n smartAccountDeployed: false,\n addressLabels: new Map(),\n allAccounts: []\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n replaceState(newState) {\n if (!newState) {\n return;\n }\n Object.assign(state, ref(newState));\n },\n subscribe(callback) {\n return ChainController.subscribeChainProp('accountState', accountState => {\n if (accountState) {\n return callback(accountState);\n }\n return undefined;\n });\n },\n subscribeKey(property, callback, chain) {\n let prev = undefined;\n return ChainController.subscribeChainProp('accountState', accountState => {\n if (accountState) {\n const nextValue = accountState[property];\n if (prev !== nextValue) {\n prev = nextValue;\n callback(nextValue);\n }\n }\n }, chain);\n },\n setStatus(status, chain) {\n ChainController.setAccountProp('status', status, chain);\n },\n getCaipAddress(chain) {\n return ChainController.getAccountProp('caipAddress', chain);\n },\n setCaipAddress(caipAddress, chain) {\n const newAddress = caipAddress ? CoreHelperUtil.getPlainAddress(caipAddress) : undefined;\n if (chain === ChainController.state.activeChain) {\n ChainController.state.activeCaipAddress = caipAddress;\n }\n ChainController.setAccountProp('caipAddress', caipAddress, chain);\n ChainController.setAccountProp('address', newAddress, chain);\n },\n setBalance(balance, balanceSymbol, chain) {\n ChainController.setAccountProp('balance', balance, chain);\n ChainController.setAccountProp('balanceSymbol', balanceSymbol, chain);\n },\n setProfileName(profileName, chain) {\n ChainController.setAccountProp('profileName', profileName, chain);\n },\n setProfileImage(profileImage, chain) {\n ChainController.setAccountProp('profileImage', profileImage, chain);\n },\n setUser(user, chain) {\n ChainController.setAccountProp('user', user, chain);\n },\n setAddressExplorerUrl(explorerUrl, chain) {\n ChainController.setAccountProp('addressExplorerUrl', explorerUrl, chain);\n },\n setSmartAccountDeployed(isDeployed, chain) {\n ChainController.setAccountProp('smartAccountDeployed', isDeployed, chain);\n },\n setCurrentTab(currentTab) {\n ChainController.setAccountProp('currentTab', currentTab, ChainController.state.activeChain);\n },\n setTokenBalance(tokenBalance, chain) {\n if (tokenBalance) {\n ChainController.setAccountProp('tokenBalance', tokenBalance, chain);\n }\n },\n setShouldUpdateToAddress(address, chain) {\n ChainController.setAccountProp('shouldUpdateToAddress', address, chain);\n },\n setAllAccounts(accounts, namespace) {\n ChainController.setAccountProp('allAccounts', accounts, namespace);\n },\n addAddressLabel(address, label, chain) {\n const map = ChainController.getAccountProp('addressLabels', chain) || new Map();\n map.set(address, label);\n ChainController.setAccountProp('addressLabels', map, chain);\n },\n removeAddressLabel(address, chain) {\n const map = ChainController.getAccountProp('addressLabels', chain) || new Map();\n map.delete(address);\n ChainController.setAccountProp('addressLabels', map, chain);\n },\n setConnectedWalletInfo(connectedWalletInfo, chain) {\n ChainController.setAccountProp('connectedWalletInfo', connectedWalletInfo, chain, false);\n },\n setPreferredAccountType(preferredAccountType, chain) {\n ChainController.setAccountProp('preferredAccountTypes', {\n ...state.preferredAccountTypes,\n [chain]: preferredAccountType\n }, chain);\n },\n setPreferredAccountTypes(preferredAccountTypes) {\n state.preferredAccountTypes = preferredAccountTypes;\n },\n setSocialProvider(socialProvider, chain) {\n if (socialProvider) {\n ChainController.setAccountProp('socialProvider', socialProvider, chain);\n }\n },\n setSocialWindow(socialWindow, chain) {\n ChainController.setAccountProp('socialWindow', socialWindow ? ref(socialWindow) : undefined, chain);\n },\n setFarcasterUrl(farcasterUrl, chain) {\n ChainController.setAccountProp('farcasterUrl', farcasterUrl, chain);\n },\n async fetchTokenBalance(onError) {\n state.balanceLoading = true;\n const chainId = ChainController.state.activeCaipNetwork?.caipNetworkId;\n const chain = ChainController.state.activeCaipNetwork?.chainNamespace;\n const caipAddress = ChainController.state.activeCaipAddress;\n const address = caipAddress ? CoreHelperUtil.getPlainAddress(caipAddress) : undefined;\n if (state.lastRetry &&\n !CoreHelperUtil.isAllowedRetry(state.lastRetry, 30 * ConstantsUtil.ONE_SEC_MS)) {\n state.balanceLoading = false;\n return [];\n }\n try {\n if (address && chainId && chain) {\n const response = await BlockchainApiController.getBalance(address, chainId);\n /*\n * The 1Inch API includes many low-quality tokens in the balance response,\n * which appear inconsistently. This filter prevents them from being displayed.\n */\n const filteredBalances = response.balances.filter(balance => balance.quantity.decimals !== '0');\n AccountController.setTokenBalance(filteredBalances, chain);\n state.lastRetry = undefined;\n state.balanceLoading = false;\n return filteredBalances;\n }\n }\n catch (error) {\n state.lastRetry = Date.now();\n onError?.(error);\n SnackController.showError('Token Balance Unavailable');\n }\n finally {\n state.balanceLoading = false;\n }\n return [];\n },\n resetAccount(chain) {\n ChainController.resetAccount(chain);\n }\n};\nexport const AccountController = withErrorBoundary(controller);\n//# sourceMappingURL=AccountController.js.map","import { ConstantsUtil } from '@reown/appkit-common';\nimport { AccountController } from '../controllers/AccountController.js';\nimport { ChainController } from '../controllers/ChainController.js';\nimport { ConnectorController } from '../controllers/ConnectorController.js';\nimport { RouterController } from '../controllers/RouterController.js';\nexport const NetworkUtil = {\n /**\n * Function to handle the network switch.\n * This function has variety of conditions to handle the network switch depending on the connectors or namespace's connection states.\n * @param args.network - The network to switch to.\n * @param args.shouldConfirmSwitch - Whether to confirm the switch. If true, the user will be asked to confirm the switch if necessary.\n * @returns void\n */\n onSwitchNetwork({ network, ignoreSwitchConfirmation = false }) {\n const currentNetwork = ChainController.state.activeCaipNetwork;\n const routerData = RouterController.state.data;\n const isSameNetwork = network.id === currentNetwork?.id;\n if (isSameNetwork) {\n return;\n }\n const isCurrentNamespaceConnected = AccountController.getCaipAddress(ChainController.state.activeChain);\n const isDifferentNamespace = network.chainNamespace !== ChainController.state.activeChain;\n const isNextNamespaceConnected = AccountController.getCaipAddress(network.chainNamespace);\n const connectorId = ConnectorController.getConnectorId(ChainController.state.activeChain);\n /**\n * If the network is supported by the auth connector, we don't need to show switch active chain view.\n * But there are some cases like switching from Ethereum to Bitcoin where Bitcoin is not supported by the auth connector and users should connect with another connector.\n */\n const isConnectedWithAuth = connectorId === ConstantsUtil.CONNECTOR_ID.AUTH;\n const isSupportedForAuthConnector = ConstantsUtil.AUTH_CONNECTOR_SUPPORTED_CHAINS.find(c => c === network.chainNamespace);\n /**\n * 1. If the ignoreSwitchConfirmation is set to true, we should switch to the network,\n * 2. If user connected with auth connector and the next network is supported by the auth connector,\n * we should switch to the network without confirmation screen.\n */\n if (ignoreSwitchConfirmation || (isConnectedWithAuth && isSupportedForAuthConnector)) {\n RouterController.push('SwitchNetwork', { ...routerData, network });\n }\n else if (\n /**\n * If user switching to a different namespace and next namespace is not connected, we need to show switch active chain view for confirmation first.\n */\n isCurrentNamespaceConnected &&\n isDifferentNamespace &&\n !isNextNamespaceConnected) {\n RouterController.push('SwitchActiveChain', {\n switchToChain: network.chainNamespace,\n navigateTo: 'Connect',\n navigateWithReplace: true,\n network\n });\n }\n else {\n RouterController.push('SwitchNetwork', { ...routerData, network });\n }\n }\n};\n//# sourceMappingURL=NetworkUtil.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport {} from '@reown/appkit-common';\nimport { CoreHelperUtil } from '../utils/CoreHelperUtil.js';\nimport { NetworkUtil } from '../utils/NetworkUtil.js';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { AccountController } from './AccountController.js';\nimport { ApiController } from './ApiController.js';\nimport { ChainController } from './ChainController.js';\nimport { ConnectionController } from './ConnectionController.js';\nimport { ConnectorController } from './ConnectorController.js';\nimport { EventsController } from './EventsController.js';\nimport { OptionsController } from './OptionsController.js';\nimport { PublicStateController } from './PublicStateController.js';\nimport { RouterController } from './RouterController.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n loading: false,\n loadingNamespaceMap: new Map(),\n open: false,\n shake: false,\n namespace: undefined\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n async open(options) {\n const isConnected = AccountController.state.status === 'connected';\n const namespace = options?.namespace;\n const currentNamespace = ChainController.state.activeChain;\n const isSwitchingNamespace = namespace && namespace !== currentNamespace;\n const caipAddress = ChainController.getAccountData(options?.namespace)?.caipAddress;\n if (ConnectionController.state.wcBasic) {\n // No need to add an await here if we are use basic\n ApiController.prefetch({ fetchNetworkImages: false, fetchConnectorImages: false });\n }\n else {\n await ApiController.prefetch({\n fetchConnectorImages: !isConnected,\n fetchFeaturedWallets: !isConnected,\n fetchRecommendedWallets: !isConnected\n });\n }\n ConnectorController.setFilterByNamespace(options?.namespace);\n ModalController.setLoading(true, namespace);\n if (namespace && isSwitchingNamespace) {\n const namespaceNetwork = ChainController.getNetworkData(namespace)?.caipNetwork ||\n ChainController.getRequestedCaipNetworks(namespace)[0];\n if (namespaceNetwork) {\n NetworkUtil.onSwitchNetwork({ network: namespaceNetwork, ignoreSwitchConfirmation: true });\n }\n }\n else {\n const hasNoAdapters = ChainController.state.noAdapters;\n if (OptionsController.state.manualWCControl || (hasNoAdapters && !caipAddress)) {\n if (CoreHelperUtil.isMobile()) {\n RouterController.reset('AllWallets');\n }\n else {\n RouterController.reset('ConnectingWalletConnectBasic');\n }\n }\n else if (options?.view) {\n RouterController.reset(options.view, options.data);\n }\n else if (caipAddress) {\n RouterController.reset('Account');\n }\n else {\n RouterController.reset('Connect');\n }\n }\n state.open = true;\n PublicStateController.set({ open: true });\n EventsController.sendEvent({\n type: 'track',\n event: 'MODAL_OPEN',\n properties: { connected: Boolean(caipAddress) }\n });\n },\n close() {\n const isEmbeddedEnabled = OptionsController.state.enableEmbedded;\n const isConnected = Boolean(ChainController.state.activeCaipAddress);\n // Only send the event if the modal is open and is about to be closed\n if (state.open) {\n EventsController.sendEvent({\n type: 'track',\n event: 'MODAL_CLOSE',\n properties: { connected: isConnected }\n });\n }\n state.open = false;\n RouterController.reset('Connect');\n ModalController.clearLoading();\n if (isEmbeddedEnabled) {\n if (isConnected) {\n RouterController.replace('Account');\n }\n else {\n RouterController.push('Connect');\n }\n }\n else {\n PublicStateController.set({ open: false });\n }\n ConnectionController.resetUri();\n },\n setLoading(loading, namespace) {\n if (namespace) {\n state.loadingNamespaceMap.set(namespace, loading);\n }\n state.loading = loading;\n PublicStateController.set({ loading });\n },\n clearLoading() {\n state.loadingNamespaceMap.clear();\n state.loading = false;\n },\n shake() {\n if (state.shake) {\n return;\n }\n state.shake = true;\n setTimeout(() => {\n state.shake = false;\n }, 500);\n }\n};\n// Export the controller wrapped with our error boundary\nexport const ModalController = withErrorBoundary(controller);\n//# sourceMappingURL=ModalController.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { ConstantsUtil } from '@reown/appkit-common';\nimport { MELD_PUBLIC_KEY, ONRAMP_PROVIDERS } from '../utils/ConstantsUtil.js';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { AccountController } from './AccountController.js';\nimport { ApiController } from './ApiController.js';\nimport { BlockchainApiController } from './BlockchainApiController.js';\nimport { ChainController } from './ChainController.js';\nimport { OptionsController } from './OptionsController.js';\nexport const USDC_CURRENCY_DEFAULT = {\n id: '2b92315d-eab7-5bef-84fa-089a131333f5',\n name: 'USD Coin',\n symbol: 'USDC',\n networks: [\n {\n name: 'ethereum-mainnet',\n display_name: 'Ethereum',\n chain_id: '1',\n contract_address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'\n },\n {\n name: 'polygon-mainnet',\n display_name: 'Polygon',\n chain_id: '137',\n contract_address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174'\n }\n ]\n};\nexport const USD_CURRENCY_DEFAULT = {\n id: 'USD',\n payment_method_limits: [\n {\n id: 'card',\n min: '10.00',\n max: '7500.00'\n },\n {\n id: 'ach_bank_account',\n min: '10.00',\n max: '25000.00'\n }\n ]\n};\nconst defaultState = {\n providers: ONRAMP_PROVIDERS,\n selectedProvider: null,\n error: null,\n purchaseCurrency: USDC_CURRENCY_DEFAULT,\n paymentCurrency: USD_CURRENCY_DEFAULT,\n purchaseCurrencies: [USDC_CURRENCY_DEFAULT],\n paymentCurrencies: [],\n quotesLoading: false\n};\n// -- State --------------------------------------------- //\nconst state = proxy(defaultState);\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n setSelectedProvider(provider) {\n if (provider && provider.name === 'meld') {\n const currency = ChainController.state.activeChain === ConstantsUtil.CHAIN.SOLANA ? 'SOL' : 'USDC';\n const address = AccountController.state.address ?? '';\n const url = new URL(provider.url);\n url.searchParams.append('publicKey', MELD_PUBLIC_KEY);\n url.searchParams.append('destinationCurrencyCode', currency);\n url.searchParams.append('walletAddress', address);\n url.searchParams.append('externalCustomerId', OptionsController.state.projectId);\n state.selectedProvider = { ...provider, url: url.toString() };\n }\n else {\n state.selectedProvider = provider;\n }\n },\n setOnrampProviders(providers) {\n if (Array.isArray(providers) && providers.every(item => typeof item === 'string')) {\n const validOnramp = providers;\n const newProviders = ONRAMP_PROVIDERS.filter(provider => validOnramp.includes(provider.name));\n state.providers = newProviders;\n }\n else {\n state.providers = [];\n }\n },\n setPurchaseCurrency(currency) {\n state.purchaseCurrency = currency;\n },\n setPaymentCurrency(currency) {\n state.paymentCurrency = currency;\n },\n setPurchaseAmount(amount) {\n OnRampController.state.purchaseAmount = amount;\n },\n setPaymentAmount(amount) {\n OnRampController.state.paymentAmount = amount;\n },\n async getAvailableCurrencies() {\n const options = await BlockchainApiController.getOnrampOptions();\n state.purchaseCurrencies = options.purchaseCurrencies;\n state.paymentCurrencies = options.paymentCurrencies;\n state.paymentCurrency = options.paymentCurrencies[0] || USD_CURRENCY_DEFAULT;\n state.purchaseCurrency = options.purchaseCurrencies[0] || USDC_CURRENCY_DEFAULT;\n await ApiController.fetchCurrencyImages(options.paymentCurrencies.map(currency => currency.id));\n await ApiController.fetchTokenImages(options.purchaseCurrencies.map(currency => currency.symbol));\n },\n async getQuote() {\n state.quotesLoading = true;\n try {\n const quote = await BlockchainApiController.getOnrampQuote({\n purchaseCurrency: state.purchaseCurrency,\n paymentCurrency: state.paymentCurrency,\n amount: state.paymentAmount?.toString() || '0',\n network: state.purchaseCurrency?.symbol\n });\n state.quotesLoading = false;\n state.purchaseAmount = Number(quote?.purchaseAmount.amount);\n return quote;\n }\n catch (error) {\n state.error = error.message;\n state.quotesLoading = false;\n return null;\n }\n finally {\n state.quotesLoading = false;\n }\n },\n resetState() {\n state.selectedProvider = null;\n state.error = null;\n state.purchaseCurrency = USDC_CURRENCY_DEFAULT;\n state.paymentCurrency = USD_CURRENCY_DEFAULT;\n state.purchaseCurrencies = [USDC_CURRENCY_DEFAULT];\n state.paymentCurrencies = [];\n state.paymentAmount = undefined;\n state.purchaseAmount = undefined;\n state.quotesLoading = false;\n }\n};\n// Export the controller wrapped with our error boundary\nexport const OnRampController = withErrorBoundary(controller);\n//# sourceMappingURL=OnRampController.js.map","const SLIP44_MSB = 0x80000000;\nexport const EnsUtil = {\n convertEVMChainIdToCoinType(chainId) {\n if (chainId >= SLIP44_MSB) {\n throw new Error('Invalid chainId');\n }\n return (SLIP44_MSB | chainId) >>> 0;\n }\n};\n//# sourceMappingURL=EnsUtil.js.map","import { proxy, subscribe as sub } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nimport { EnsUtil } from '../utils/EnsUtil.js';\nimport { StorageUtil } from '../utils/StorageUtil.js';\nimport { withErrorBoundary } from '../utils/withErrorBoundary.js';\nimport { AccountController } from './AccountController.js';\nimport { BlockchainApiController } from './BlockchainApiController.js';\nimport { ChainController } from './ChainController.js';\nimport { ConnectionController } from './ConnectionController.js';\nimport { ConnectorController } from './ConnectorController.js';\nimport { RouterController } from './RouterController.js';\n// -- State --------------------------------------------- //\nconst state = proxy({\n suggestions: [],\n loading: false\n});\n// -- Controller ---------------------------------------- //\nconst controller = {\n state,\n subscribe(callback) {\n return sub(state, () => callback(state));\n },\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n async resolveName(name) {\n try {\n return await BlockchainApiController.lookupEnsName(name);\n }\n catch (e) {\n const error = e;\n throw new Error(error?.reasons?.[0]?.description || 'Error resolving name');\n }\n },\n async isNameRegistered(name) {\n try {\n await BlockchainApiController.lookupEnsName(name);\n return true;\n }\n catch {\n return false;\n }\n },\n async getSuggestions(value) {\n try {\n state.loading = true;\n state.suggestions = [];\n const response = await BlockchainApiController.getEnsNameSuggestions(value);\n state.suggestions =\n response.suggestions.map(suggestion => ({\n ...suggestion,\n name: suggestion.name\n })) || [];\n return state.suggestions;\n }\n catch (e) {\n const errorMessage = EnsController.parseEnsApiError(e, 'Error fetching name suggestions');\n throw new Error(errorMessage);\n }\n finally {\n state.loading = false;\n }\n },\n async getNamesForAddress(address) {\n try {\n const network = ChainController.state.activeCaipNetwork;\n if (!network) {\n return [];\n }\n const cachedEns = StorageUtil.getEnsFromCacheForAddress(address);\n if (cachedEns) {\n return cachedEns;\n }\n const response = await BlockchainApiController.reverseLookupEnsName({ address });\n StorageUtil.updateEnsCache({\n address,\n ens: response,\n timestamp: Date.now()\n });\n return response;\n }\n catch (e) {\n const errorMessage = EnsController.parseEnsApiError(e, 'Error fetching names for address');\n throw new Error(errorMessage);\n }\n },\n async registerName(name) {\n const network = ChainController.state.activeCaipNetwork;\n if (!network) {\n throw new Error('Network not found');\n }\n const address = AccountController.state.address;\n const emailConnector = ConnectorController.getAuthConnector();\n if (!address || !emailConnector) {\n throw new Error('Address or auth connector not found');\n }\n state.loading = true;\n try {\n const message = JSON.stringify({\n name,\n attributes: {},\n // Unix timestamp\n timestamp: Math.floor(Date.now() / 1000)\n });\n RouterController.pushTransactionStack({\n onCancel() {\n RouterController.replace('RegisterAccountName');\n }\n });\n const signature = await ConnectionController.signMessage(message);\n state.loading = false;\n const networkId = network.id;\n if (!networkId) {\n throw new Error('Network not found');\n }\n const coinType = EnsUtil.convertEVMChainIdToCoinType(Number(networkId));\n await BlockchainApiController.registerEnsName({\n coinType,\n address: address,\n signature: signature,\n message\n });\n AccountController.setProfileName(name, network.chainNamespace);\n RouterController.replace('RegisterAccountNameSuccess');\n }\n catch (e) {\n const errorMessage = EnsController.parseEnsApiError(e, `Error registering name ${name}`);\n RouterController.replace('RegisterAccountName');\n throw new Error(errorMessage);\n }\n finally {\n state.loading = false;\n }\n },\n validateName(name) {\n return /^[a-zA-Z0-9-]{4,}$/u.test(name);\n },\n parseEnsApiError(error, defaultError) {\n const ensError = error;\n return ensError?.reasons?.[0]?.description || defaultError;\n }\n};\n// Export the controller wrapped with our error boundary\nexport const EnsController = withErrorBoundary(controller);\n//# sourceMappingURL=EnsController.js.map","import{IEvents as o}from\"@walletconnect/events\";import n,{EventEmitter as l}from\"events\";var a=Object.defineProperty,u=(e,s,r)=>s in e?a(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,c=(e,s,r)=>u(e,typeof s!=\"symbol\"?s+\"\":s,r);class h extends o{constructor(s){super(),this.opts=s,c(this,\"protocol\",\"wc\"),c(this,\"version\",2)}}class g{constructor(s,r,t){this.core=s,this.logger=r}}var p=Object.defineProperty,b=(e,s,r)=>s in e?p(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,v=(e,s,r)=>b(e,typeof s!=\"symbol\"?s+\"\":s,r);class I extends o{constructor(s,r){super(),this.core=s,this.logger=r,v(this,\"records\",new Map)}}class y{constructor(s,r){this.logger=s,this.core=r}}class m extends o{constructor(s,r){super(),this.relayer=s,this.logger=r}}class d extends o{constructor(s){super()}}class f{constructor(s,r,t,q){this.core=s,this.logger=r,this.name=t}}var E=Object.defineProperty,x=(e,s,r)=>s in e?E(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,w=(e,s,r)=>x(e,typeof s!=\"symbol\"?s+\"\":s,r);class C{constructor(){w(this,\"map\",new Map)}}class P extends o{constructor(s,r){super(),this.relayer=s,this.logger=r}}class j{constructor(s,r){this.core=s,this.logger=r}}class S extends o{constructor(s,r){super(),this.core=s,this.logger=r}}class ${constructor(s,r){this.logger=s,this.core=r}}class M{constructor(s,r,t){this.core=s,this.logger=r,this.store=t}}class O{constructor(s,r){this.projectId=s,this.logger=r}}class R{constructor(s,r,t){this.core=s,this.logger=r,this.telemetryEnabled=t}}var T=Object.defineProperty,k=(e,s,r)=>s in e?T(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,i=(e,s,r)=>k(e,typeof s!=\"symbol\"?s+\"\":s,r);class H extends n{constructor(){super()}}class J{constructor(s){this.opts=s,i(this,\"protocol\",\"wc\"),i(this,\"version\",2)}}class K extends l{constructor(){super()}}class V{constructor(s){this.client=s}}export{h as ICore,g as ICrypto,O as IEchoClient,V as IEngine,K as IEngineEvents,R as IEventClient,S as IExpirer,I as IJsonRpcHistory,j as IKeyChain,y as IMessageTracker,$ as IPairing,m as IPublisher,d as IRelayer,J as ISignClient,H as ISignClientEvents,f as IStore,P as ISubscriber,C as ISubscriberTopicMap,M as IVerify};\n//# sourceMappingURL=index.es.js.map\n","import{detect as jo}from\"detect-browser\";import{toMiliseconds as Ie,FIVE_MINUTES as xn,fromMiliseconds as Co}from\"@walletconnect/time\";import{getDocument as Yt,getNavigator as Sn,getLocation as On}from\"@walletconnect/window-getters\";import{getWindowMetadata as Po}from\"@walletconnect/window-metadata\";import{recoverAddress as ko}from\"viem\";import Vo from\"bs58\";import{decodeJWT as Mo}from\"@walletconnect/relay-auth\";import{toString as Q,fromString as rt,concat as Gt}from\"uint8arrays\";import{RELAY_JSONRPC as Do}from\"@walletconnect/relay-api\";const ae=\":\";function Ne(t){const[e,n]=t.split(ae);return{namespace:e,reference:n}}function An(t){const{namespace:e,reference:n}=t;return[e,n].join(ae)}function Ue(t){const[e,n,r]=t.split(ae);return{namespace:e,reference:n,address:r}}function Bn(t){const{namespace:e,reference:n,address:r}=t;return[e,n,r].join(ae)}function Te(t,e){const n=[];return t.forEach(r=>{const o=e(r);n.includes(o)||n.push(o)}),n}function In(t){const{address:e}=Ue(t);return e}function Nn(t){const{namespace:e,reference:n}=Ue(t);return An({namespace:e,reference:n})}function Ho(t,e){const{namespace:n,reference:r}=Ne(e);return Bn({namespace:n,reference:r,address:t})}function qo(t){return Te(t,In)}function Un(t){return Te(t,Nn)}function Ko(t,e=[]){const n=[];return Object.keys(t).forEach(r=>{if(e.length&&!e.includes(r))return;const o=t[r];n.push(...o.accounts)}),n}function Fo(t,e=[]){const n=[];return Object.keys(t).forEach(r=>{if(e.length&&!e.includes(r))return;const o=t[r];n.push(...Un(o.accounts))}),n}function zo(t,e=[]){const n=[];return Object.keys(t).forEach(r=>{if(e.length&&!e.includes(r))return;const o=t[r];n.push(...ue(r,o))}),n}function ue(t,e){return t.includes(\":\")?[t]:e.chains||[]}var Zo=Object.defineProperty,Yo=Object.defineProperties,Go=Object.getOwnPropertyDescriptors,Tn=Object.getOwnPropertySymbols,Wo=Object.prototype.hasOwnProperty,Xo=Object.prototype.propertyIsEnumerable,Rn=(t,e,n)=>e in t?Zo(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,_n=(t,e)=>{for(var n in e||(e={}))Wo.call(e,n)&&Rn(t,n,e[n]);if(Tn)for(var n of Tn(e))Xo.call(e,n)&&Rn(t,n,e[n]);return t},Jo=(t,e)=>Yo(t,Go(e));const $n=\"ReactNative\",Y={reactNative:\"react-native\",node:\"node\",browser:\"browser\",unknown:\"unknown\"},fe=\" \",Qo=\":\",Ln=\"/\",Re=2,ti=1e3,jn=\"js\";function _e(){return typeof process<\"u\"&&typeof process.versions<\"u\"&&typeof process.versions.node<\"u\"}function pt(){return!Yt()&&!!Sn()&&navigator.product===$n}function ei(){return pt()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"&&(global==null?void 0:global.Platform.OS)===\"android\"}function ni(){return pt()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"&&(global==null?void 0:global.Platform.OS)===\"ios\"}function Tt(){return!_e()&&!!Sn()&&!!Yt()}function xt(){return pt()?Y.reactNative:_e()?Y.node:Tt()?Y.browser:Y.unknown}function ri(){var t;try{return pt()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Application)<\"u\"?(t=global.Application)==null?void 0:t.applicationId:void 0}catch{return}}function Cn(t,e){const n=new URLSearchParams(t);for(const r of Object.keys(e).sort())if(e.hasOwnProperty(r)){const o=e[r];o!==void 0&&n.set(r,o)}return n.toString()}function oi(t){var e,n;const r=Pn();try{return t!=null&&t.url&&r.url&&new URL(t.url).host!==new URL(r.url).host&&(console.warn(`The configured WalletConnect 'metadata.url':${t.url} differs from the actual page url:${r.url}. This is probably unintended and can lead to issues.`),t.url=r.url),(e=t?.icons)!=null&&e.length&&t.icons.length>0&&(t.icons=t.icons.filter(o=>o!==\"\")),Jo(_n(_n({},r),t),{url:t?.url||r.url,name:t?.name||r.name,description:t?.description||r.description,icons:(n=t?.icons)!=null&&n.length&&t.icons.length>0?t.icons:r.icons})}catch(o){return console.warn(\"Error populating app metadata\",o),t||r}}function Pn(){return Po()||{name:\"\",description:\"\",url:\"\",icons:[\"\"]}}function ii(t,e){var n;const r=xt(),o={protocol:t,version:e,env:r};return r===\"browser\"&&(o.host=((n=On())==null?void 0:n.host)||\"unknown\"),o}function kn(){if(xt()===Y.reactNative&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"){const{OS:n,Version:r}=global.Platform;return[n,r].join(\"-\")}const t=jo();if(t===null)return\"unknown\";const e=t.os?t.os.replace(\" \",\"\").toLowerCase():\"unknown\";return t.type===\"browser\"?[e,t.name,t.version].join(\"-\"):[e,t.version].join(\"-\")}function Vn(){var t;const e=xt();return e===Y.browser?[e,((t=On())==null?void 0:t.host)||\"unknown\"].join(\":\"):e}function Mn(t,e,n){const r=kn(),o=Vn();return[[t,e].join(\"-\"),[jn,n].join(\"-\"),r,o].join(\"/\")}function si({protocol:t,version:e,relayUrl:n,sdkVersion:r,auth:o,projectId:i,useOnCloseEvent:s,bundleId:c,packageName:a}){const u=n.split(\"?\"),l=Mn(t,e,r),f={auth:o,ua:l,projectId:i,useOnCloseEvent:s||void 0,packageName:a||void 0,bundleId:c||void 0},h=Cn(u[1]||\"\",f);return u[0]+\"?\"+h}function ci(t){let e=(t.match(/^[^:]+(?=:\\/\\/)/gi)||[])[0];const n=typeof e<\"u\"?t.split(\"://\")[1]:t;return e=e===\"wss\"?\"https\":\"http\",[e,n].join(\"://\")}function ai(t,e,n){if(!t[e]||typeof t[e]!==n)throw new Error(`Missing or invalid \"${e}\" param`)}function Dn(t,e=Re){return Hn(t.split(Ln),e)}function ui(t){return Dn(t).join(fe)}function gt(t,e){return t.filter(n=>e.includes(n)).length===t.length}function Hn(t,e=Re){return t.slice(Math.max(t.length-e,0))}function fi(t){return Object.fromEntries(t.entries())}function li(t){return new Map(Object.entries(t))}function di(t,e){const n={};return Object.keys(t).forEach(r=>{n[r]=e(t[r])}),n}const hi=t=>t;function qn(t){return t.trim().replace(/^\\w/,e=>e.toUpperCase())}function pi(t){return t.split(fe).map(e=>qn(e)).join(fe)}function gi(t=xn,e){const n=Ie(t||xn);let r,o,i,s;return{resolve:c=>{i&&r&&(clearTimeout(i),r(c),s=Promise.resolve(c))},reject:c=>{i&&o&&(clearTimeout(i),o(c))},done:()=>new Promise((c,a)=>{if(s)return c(s);i=setTimeout(()=>{const u=new Error(e);s=Promise.reject(u),a(u)},n),r=c,o=a})}}function yi(t,e,n){return new Promise(async(r,o)=>{const i=setTimeout(()=>o(new Error(n)),e);try{const s=await t;r(s)}catch(s){o(s)}clearTimeout(i)})}function $e(t,e){if(typeof e==\"string\"&&e.startsWith(`${t}:`))return e;if(t.toLowerCase()===\"topic\"){if(typeof e!=\"string\")throw new Error('Value must be \"string\" for expirer target type: topic');return`topic:${e}`}else if(t.toLowerCase()===\"id\"){if(typeof e!=\"number\")throw new Error('Value must be \"number\" for expirer target type: id');return`id:${e}`}throw new Error(`Unknown expirer target type: ${t}`)}function mi(t){return $e(\"topic\",t)}function wi(t){return $e(\"id\",t)}function bi(t){const[e,n]=t.split(\":\"),r={id:void 0,topic:void 0};if(e===\"topic\"&&typeof n==\"string\")r.topic=n;else if(e===\"id\"&&Number.isInteger(Number(n)))r.id=Number(n);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${n}`);return r}function Ei(t,e){return Co((e||Date.now())+Ie(t))}function vi(t){return Date.now()>=Ie(t)}function xi(t,e){return`${t}${e?`:${e}`:\"\"}`}function ot(t=[],e=[]){return[...new Set([...t,...e])]}async function Si({id:t,topic:e,wcDeepLink:n}){var r;try{if(!n)return;const o=typeof n==\"string\"?JSON.parse(n):n,i=o?.href;if(typeof i!=\"string\")return;const s=Kn(i,t,e),c=xt();if(c===Y.browser){if(!((r=Yt())!=null&&r.hasFocus())){console.warn(\"Document does not have focus, skipping deeplink.\");return}Fn(s)}else c===Y.reactNative&&typeof(global==null?void 0:global.Linking)<\"u\"&&await global.Linking.openURL(s)}catch(o){console.error(o)}}function Kn(t,e,n){const r=`requestId=${e}&sessionTopic=${n}`;t.endsWith(\"/\")&&(t=t.slice(0,-1));let o=`${t}`;if(t.startsWith(\"https://t.me\")){const i=t.includes(\"?\")?\"&startapp=\":\"?startapp=\";o=`${o}${i}${Yn(r,!0)}`}else o=`${o}/wc?${r}`;return o}function Fn(t){let e=\"_self\";Zn()?e=\"_top\":(zn()||t.startsWith(\"https://\")||t.startsWith(\"http://\"))&&(e=\"_blank\"),window.open(t,e,\"noreferrer noopener\")}async function Oi(t,e){let n=\"\";try{if(Tt()&&(n=localStorage.getItem(e),n))return n;n=await t.getItem(e)}catch(r){console.error(r)}return n}function Le(t,e){return t.filter(n=>e.includes(n))}function Ai(t,e){if(!t.includes(e))return null;const n=t.split(/([&,?,=])/),r=n.indexOf(e);return n[r+2]}function Bi(){return typeof crypto<\"u\"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/gu,t=>{const e=Math.random()*16|0;return(t===\"x\"?e:e&3|8).toString(16)})}function Ii(){return typeof process<\"u\"&&process.env.IS_VITEST===\"true\"}function zn(){return typeof window<\"u\"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function Zn(){try{return window.self!==window.top}catch{return!1}}function Yn(t,e=!1){const n=Buffer.from(t).toString(\"base64\");return e?n.replace(/[=]/g,\"\"):n}function je(t){return Buffer.from(t,\"base64\").toString(\"utf-8\")}function Ni(t){return new Promise(e=>setTimeout(e,t))}function Wt(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(\"positive integer expected, got \"+t)}function Ui(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name===\"Uint8Array\"}function Xt(t,...e){if(!Ui(t))throw new Error(\"Uint8Array expected\");if(e.length>0&&!e.includes(t.length))throw new Error(\"Uint8Array expected of length \"+e+\", got length=\"+t.length)}function Ce(t){if(typeof t!=\"function\"||typeof t.create!=\"function\")throw new Error(\"Hash should be wrapped by utils.wrapConstructor\");Wt(t.outputLen),Wt(t.blockLen)}function Rt(t,e=!0){if(t.destroyed)throw new Error(\"Hash instance has been destroyed\");if(e&&t.finished)throw new Error(\"Hash#digest() has already been called\")}function Gn(t,e){Xt(t);const n=e.outputLen;if(t.length<n)throw new Error(\"digestInto() expects output buffer of length at least \"+n)}const le=BigInt(2**32-1),Wn=BigInt(32);function Ti(t,e=!1){return e?{h:Number(t&le),l:Number(t>>Wn&le)}:{h:Number(t>>Wn&le)|0,l:Number(t&le)|0}}function Ri(t,e=!1){let n=new Uint32Array(t.length),r=new Uint32Array(t.length);for(let o=0;o<t.length;o++){const{h:i,l:s}=Ti(t[o],e);[n[o],r[o]]=[i,s]}return[n,r]}const _i=(t,e,n)=>t<<n|e>>>32-n,$i=(t,e,n)=>e<<n|t>>>32-n,Li=(t,e,n)=>e<<n-32|t>>>64-n,ji=(t,e,n)=>t<<n-32|e>>>64-n,_t=typeof globalThis==\"object\"&&\"crypto\"in globalThis?globalThis.crypto:void 0;function Ci(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function Pe(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function ct(t,e){return t<<32-e|t>>>e}const Xn=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Pi(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function Jn(t){for(let e=0;e<t.length;e++)t[e]=Pi(t[e])}function ki(t){if(typeof t!=\"string\")throw new Error(\"utf8ToBytes expected string, got \"+typeof t);return new Uint8Array(new TextEncoder().encode(t))}function $t(t){return typeof t==\"string\"&&(t=ki(t)),Xt(t),t}function Vi(...t){let e=0;for(let r=0;r<t.length;r++){const o=t[r];Xt(o),e+=o.length}const n=new Uint8Array(e);for(let r=0,o=0;r<t.length;r++){const i=t[r];n.set(i,o),o+=i.length}return n}class ke{clone(){return this._cloneInto()}}function Qn(t){const e=r=>t().update($t(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function Lt(t=32){if(_t&&typeof _t.getRandomValues==\"function\")return _t.getRandomValues(new Uint8Array(t));if(_t&&typeof _t.randomBytes==\"function\")return _t.randomBytes(t);throw new Error(\"crypto.getRandomValues must be defined\")}const tr=[],er=[],nr=[],Mi=BigInt(0),Jt=BigInt(1),Di=BigInt(2),Hi=BigInt(7),qi=BigInt(256),Ki=BigInt(113);for(let t=0,e=Jt,n=1,r=0;t<24;t++){[n,r]=[r,(2*n+3*r)%5],tr.push(2*(5*r+n)),er.push((t+1)*(t+2)/2%64);let o=Mi;for(let i=0;i<7;i++)e=(e<<Jt^(e>>Hi)*Ki)%qi,e&Di&&(o^=Jt<<(Jt<<BigInt(i))-Jt);nr.push(o)}const[Fi,zi]=Ri(nr,!0),rr=(t,e,n)=>n>32?Li(t,e,n):_i(t,e,n),or=(t,e,n)=>n>32?ji(t,e,n):$i(t,e,n);function Zi(t,e=24){const n=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let s=0;s<10;s++)n[s]=t[s]^t[s+10]^t[s+20]^t[s+30]^t[s+40];for(let s=0;s<10;s+=2){const c=(s+8)%10,a=(s+2)%10,u=n[a],l=n[a+1],f=rr(u,l,1)^n[c],h=or(u,l,1)^n[c+1];for(let y=0;y<50;y+=10)t[s+y]^=f,t[s+y+1]^=h}let o=t[2],i=t[3];for(let s=0;s<24;s++){const c=er[s],a=rr(o,i,c),u=or(o,i,c),l=tr[s];o=t[l],i=t[l+1],t[l]=a,t[l+1]=u}for(let s=0;s<50;s+=10){for(let c=0;c<10;c++)n[c]=t[s+c];for(let c=0;c<10;c++)t[s+c]^=~n[(c+2)%10]&n[(c+4)%10]}t[0]^=Fi[r],t[1]^=zi[r]}n.fill(0)}class En extends ke{constructor(e,n,r,o=!1,i=24){if(super(),this.blockLen=e,this.suffix=n,this.outputLen=r,this.enableXOF=o,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Wt(r),0>=this.blockLen||this.blockLen>=200)throw new Error(\"Sha3 supports only keccak-f1600 function\");this.state=new Uint8Array(200),this.state32=Ci(this.state)}keccak(){Xn||Jn(this.state32),Zi(this.state32,this.rounds),Xn||Jn(this.state32),this.posOut=0,this.pos=0}update(e){Rt(this);const{blockLen:n,state:r}=this;e=$t(e);const o=e.length;for(let i=0;i<o;){const s=Math.min(n-this.pos,o-i);for(let c=0;c<s;c++)r[this.pos++]^=e[i++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:n,pos:r,blockLen:o}=this;e[r]^=n,(n&128)!==0&&r===o-1&&this.keccak(),e[o-1]^=128,this.keccak()}writeInto(e){Rt(this,!1),Xt(e),this.finish();const n=this.state,{blockLen:r}=this;for(let o=0,i=e.length;o<i;){this.posOut>=r&&this.keccak();const s=Math.min(r-this.posOut,i-o);e.set(n.subarray(this.posOut,this.posOut+s),o),this.posOut+=s,o+=s}return e}xofInto(e){if(!this.enableXOF)throw new Error(\"XOF is not possible for this instance\");return this.writeInto(e)}xof(e){return Wt(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Gn(e,this),this.finished)throw new Error(\"digest() was already called\");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:n,suffix:r,outputLen:o,rounds:i,enableXOF:s}=this;return e||(e=new En(n,r,o,s,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=o,e.enableXOF=s,e.destroyed=this.destroyed,e}}const Yi=(t,e,n)=>Qn(()=>new En(e,t,n)),Gi=Yi(1,136,256/8),Wi=\"https://rpc.walletconnect.org/v1\";function Ve(t){const e=`\u0019Ethereum Signed Message:\n${t.length}`,n=new TextEncoder().encode(e+t);return\"0x\"+Buffer.from(Gi(n)).toString(\"hex\")}async function ir(t,e,n,r,o,i){switch(n.t){case\"eip191\":return await sr(t,e,n.s);case\"eip1271\":return await cr(t,e,n.s,r,o,i);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${n.t}`)}}async function sr(t,e,n){return(await ko({hash:Ve(e),signature:n})).toLowerCase()===t.toLowerCase()}async function cr(t,e,n,r,o,i){const s=Ne(r);if(!s.namespace||!s.reference)throw new Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${r}`);try{const c=\"0x1626ba7e\",a=\"0000000000000000000000000000000000000000000000000000000000000040\",u=\"0000000000000000000000000000000000000000000000000000000000000041\",l=n.substring(2),f=Ve(e).substring(2),h=c+f+a+u+l,y=await fetch(`${i||Wi}/?chainId=${r}&projectId=${o}`,{method:\"POST\",body:JSON.stringify({id:Xi(),jsonrpc:\"2.0\",method:\"eth_call\",params:[{to:t,data:h},\"latest\"]})}),{result:E}=await y.json();return E?E.slice(0,c.length).toLowerCase()===c.toLowerCase():!1}catch(c){return console.error(\"isValidEip1271Signature: \",c),!1}}function Xi(){return Date.now()+Math.floor(Math.random()*1e3)}function Ji(t){const e=atob(t),n=new Uint8Array(e.length);for(let s=0;s<e.length;s++)n[s]=e.charCodeAt(s);const r=n[0];if(r===0)throw new Error(\"No signatures found\");const o=1+r*64;if(n.length<o)throw new Error(\"Transaction data too short for claimed signature count\");if(n.length<100)throw new Error(\"Transaction too short\");const i=Buffer.from(t,\"base64\").slice(1,65);return Vo.encode(i)}var Qi=Object.defineProperty,ts=Object.defineProperties,es=Object.getOwnPropertyDescriptors,ar=Object.getOwnPropertySymbols,ns=Object.prototype.hasOwnProperty,rs=Object.prototype.propertyIsEnumerable,ur=(t,e,n)=>e in t?Qi(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Me=(t,e)=>{for(var n in e||(e={}))ns.call(e,n)&&ur(t,n,e[n]);if(ar)for(var n of ar(e))rs.call(e,n)&&ur(t,n,e[n]);return t},fr=(t,e)=>ts(t,es(e));const os=\"did:pkh:\",de=t=>t?.split(\":\"),lr=t=>{const e=t&&de(t);if(e)return t.includes(os)?e[3]:e[1]},dr=t=>{const e=t&&de(t);if(e)return e[2]+\":\"+e[3]},De=t=>{const e=t&&de(t);if(e)return e.pop()};async function is(t){const{cacao:e,projectId:n}=t,{s:r,p:o}=e,i=hr(o,o.iss),s=De(o.iss);return await ir(s,i,r,dr(o.iss),n)}const hr=(t,e)=>{const n=`${t.domain} wants you to sign in with your Ethereum account:`,r=De(e);if(!t.aud&&!t.uri)throw new Error(\"Either `aud` or `uri` is required to construct the message\");let o=t.statement||void 0;const i=`URI: ${t.aud||t.uri}`,s=`Version: ${t.version}`,c=`Chain ID: ${lr(e)}`,a=`Nonce: ${t.nonce}`,u=`Issued At: ${t.iat}`,l=t.exp?`Expiration Time: ${t.exp}`:void 0,f=t.nbf?`Not Before: ${t.nbf}`:void 0,h=t.requestId?`Request ID: ${t.requestId}`:void 0,y=t.resources?`Resources:${t.resources.map(p=>`\n- ${p}`).join(\"\")}`:void 0,E=pe(t.resources);if(E){const p=yt(E);o=Ke(o,p)}return[n,r,\"\",o,\"\",i,s,c,a,u,l,f,h,y].filter(p=>p!=null).join(`\n`)};function ss(t,e,n){return n.includes(\"did:pkh:\")||(n=`did:pkh:${n}`),{h:{t:\"caip122\"},p:{iss:n,domain:t.domain,aud:t.aud,version:t.version,nonce:t.nonce,iat:t.iat,statement:t.statement,requestId:t.requestId,resources:t.resources,nbf:t.nbf,exp:t.exp},s:e}}function cs(t){var e;const{authPayload:n,chains:r,methods:o}=t,i=n.statement||\"\";if(!(r!=null&&r.length))return n;const s=n.chains,c=Le(s,r);if(!(c!=null&&c.length))throw new Error(\"No supported chains\");const a=pr(n.resources);if(!a)return n;at(a);const u=gr(a,\"eip155\");let l=n?.resources||[];if(u!=null&&u.length){const f=yr(u),h=Le(f,o);if(!(h!=null&&h.length))throw new Error(`Supported methods don't satisfy the requested: ${JSON.stringify(f)}, supported: ${JSON.stringify(o)}`);const y=He(\"request\",h,{chains:c}),E=Er(a,\"eip155\",y);l=((e=n?.resources)==null?void 0:e.slice(0,-1))||[],l.push(he(E))}return fr(Me({},n),{statement:xr(i,pe(l)),chains:c,resources:n!=null&&n.resources||l.length>0?l:void 0})}function pr(t){const e=pe(t);if(e&&qe(e))return yt(e)}function as(t,e){var n;return(n=t?.att)==null?void 0:n.hasOwnProperty(e)}function gr(t,e){var n,r;return(n=t?.att)!=null&&n[e]?Object.keys((r=t?.att)==null?void 0:r[e]):[]}function us(t){return t?.map(e=>Object.keys(e))||[]}function yr(t){return t?.map(e=>{var n;return(n=e.split(\"/\"))==null?void 0:n[1]})||[]}function mr(t){return Buffer.from(JSON.stringify(t)).toString(\"base64\")}function wr(t){return JSON.parse(Buffer.from(t,\"base64\").toString(\"utf-8\"))}function at(t){if(!t)throw new Error(\"No recap provided, value is undefined\");if(!t.att)throw new Error(\"No `att` property found\");const e=Object.keys(t.att);if(!(e!=null&&e.length))throw new Error(\"No resources found in `att` property\");e.forEach(n=>{const r=t.att[n];if(Array.isArray(r))throw new Error(`Resource must be an object: ${n}`);if(typeof r!=\"object\")throw new Error(`Resource must be an object: ${n}`);if(!Object.keys(r).length)throw new Error(`Resource object is empty: ${n}`);Object.keys(r).forEach(o=>{const i=r[o];if(!Array.isArray(i))throw new Error(`Ability limits ${o} must be an array of objects, found: ${i}`);if(!i.length)throw new Error(`Value of ${o} is empty array, must be an array with objects`);i.forEach(s=>{if(typeof s!=\"object\")throw new Error(`Ability limits (${o}) must be an array of objects, found: ${s}`)})})})}function br(t,e,n,r={}){return n?.sort((o,i)=>o.localeCompare(i)),{att:{[t]:He(e,n,r)}}}function Er(t,e,n){var r;t.att[e]=Me({},n);const o=(r=Object.keys(t.att))==null?void 0:r.sort((s,c)=>s.localeCompare(c)),i={att:{}};return o.reduce((s,c)=>(s.att[c]=t.att[c],s),i)}function He(t,e,n={}){e=e?.sort((o,i)=>o.localeCompare(i));const r=e.map(o=>({[`${t}/${o}`]:[n]}));return Object.assign({},...r)}function he(t){return at(t),`urn:recap:${mr(t).replace(/=/g,\"\")}`}function yt(t){const e=wr(t.replace(\"urn:recap:\",\"\"));return at(e),e}function fs(t,e,n){const r=br(t,e,n);return he(r)}function qe(t){return t&&t.includes(\"urn:recap:\")}function ls(t,e){const n=yt(t),r=yt(e),o=vr(n,r);return he(o)}function vr(t,e){at(t),at(e);const n=Object.keys(t.att).concat(Object.keys(e.att)).sort((o,i)=>o.localeCompare(i)),r={att:{}};return n.forEach(o=>{var i,s;Object.keys(((i=t.att)==null?void 0:i[o])||{}).concat(Object.keys(((s=e.att)==null?void 0:s[o])||{})).sort((c,a)=>c.localeCompare(a)).forEach(c=>{var a,u;r.att[o]=fr(Me({},r.att[o]),{[c]:((a=t.att[o])==null?void 0:a[c])||((u=e.att[o])==null?void 0:u[c])})})}),r}function Ke(t=\"\",e){at(e);const n=\"I further authorize the stated URI to perform the following actions on my behalf: \";if(t.includes(n))return t;const r=[];let o=0;Object.keys(e.att).forEach(c=>{const a=Object.keys(e.att[c]).map(f=>({ability:f.split(\"/\")[0],action:f.split(\"/\")[1]}));a.sort((f,h)=>f.action.localeCompare(h.action));const u={};a.forEach(f=>{u[f.ability]||(u[f.ability]=[]),u[f.ability].push(f.action)});const l=Object.keys(u).map(f=>(o++,`(${o}) '${f}': '${u[f].join(\"', '\")}' for '${c}'.`));r.push(l.join(\", \").replace(\".,\",\".\"))});const i=r.join(\" \"),s=`${n}${i}`;return`${t?t+\" \":\"\"}${s}`}function ds(t){var e;const n=yt(t);at(n);const r=(e=n.att)==null?void 0:e.eip155;return r?Object.keys(r).map(o=>o.split(\"/\")[1]):[]}function hs(t){const e=yt(t);at(e);const n=[];return Object.values(e.att).forEach(r=>{Object.values(r).forEach(o=>{var i;(i=o?.[0])!=null&&i.chains&&n.push(o[0].chains)})}),[...new Set(n.flat())]}function xr(t,e){if(!e)return t;const n=yt(e);return at(n),Ke(t,n)}function pe(t){if(!t)return;const e=t?.[t.length-1];return qe(e)?e:void 0}function Fe(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(\"positive integer expected, got \"+t)}function Sr(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name===\"Uint8Array\"}function tt(t,...e){if(!Sr(t))throw new Error(\"Uint8Array expected\");if(e.length>0&&!e.includes(t.length))throw new Error(\"Uint8Array expected of length \"+e+\", got length=\"+t.length)}function Or(t,e=!0){if(t.destroyed)throw new Error(\"Hash instance has been destroyed\");if(e&&t.finished)throw new Error(\"Hash#digest() has already been called\")}function ps(t,e){tt(t);const n=e.outputLen;if(t.length<n)throw new Error(\"digestInto() expects output buffer of length at least \"+n)}function Ar(t){if(typeof t!=\"boolean\")throw new Error(`boolean expected, not ${t}`)}const mt=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),gs=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),ys=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!ys)throw new Error(\"Non little-endian hardware is not supported\");function ms(t){if(typeof t!=\"string\")throw new Error(\"string expected\");return new Uint8Array(new TextEncoder().encode(t))}function ze(t){if(typeof t==\"string\")t=ms(t);else if(Sr(t))t=Ze(t);else throw new Error(\"Uint8Array expected, got \"+typeof t);return t}function ws(t,e){if(e==null||typeof e!=\"object\")throw new Error(\"options must be defined\");return Object.assign(t,e)}function bs(t,e){if(t.length!==e.length)return!1;let n=0;for(let r=0;r<t.length;r++)n|=t[r]^e[r];return n===0}const Es=(t,e)=>{function n(r,...o){if(tt(r),t.nonceLength!==void 0){const l=o[0];if(!l)throw new Error(\"nonce / iv required\");t.varSizeNonce?tt(l):tt(l,t.nonceLength)}const i=t.tagLength;i&&o[1]!==void 0&&tt(o[1]);const s=e(r,...o),c=(l,f)=>{if(f!==void 0){if(l!==2)throw new Error(\"cipher output not supported\");tt(f)}};let a=!1;return{encrypt(l,f){if(a)throw new Error(\"cannot encrypt() twice with same key + nonce\");return a=!0,tt(l),c(s.encrypt.length,f),s.encrypt(l,f)},decrypt(l,f){if(tt(l),i&&l.length<i)throw new Error(\"invalid ciphertext length: smaller than tagLength=\"+i);return c(s.decrypt.length,f),s.decrypt(l,f)}}}return Object.assign(n,t),n};function Br(t,e,n=!0){if(e===void 0)return new Uint8Array(t);if(e.length!==t)throw new Error(\"invalid output length, expected \"+t+\", got: \"+e.length);if(n&&!vs(e))throw new Error(\"invalid output, must be aligned\");return e}function Ir(t,e,n,r){if(typeof t.setBigUint64==\"function\")return t.setBigUint64(e,n,r);const o=BigInt(32),i=BigInt(4294967295),s=Number(n>>o&i),c=Number(n&i),a=r?4:0,u=r?0:4;t.setUint32(e+a,s,r),t.setUint32(e+u,c,r)}function vs(t){return t.byteOffset%4===0}function Ze(t){return Uint8Array.from(t)}function jt(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}const Nr=t=>Uint8Array.from(t.split(\"\").map(e=>e.charCodeAt(0))),xs=Nr(\"expand 16-byte k\"),Ss=Nr(\"expand 32-byte k\"),Os=mt(xs),As=mt(Ss);function V(t,e){return t<<e|t>>>32-e}function Ye(t){return t.byteOffset%4===0}const ge=64,Bs=16,Ur=2**32-1,Tr=new Uint32Array;function Is(t,e,n,r,o,i,s,c){const a=o.length,u=new Uint8Array(ge),l=mt(u),f=Ye(o)&&Ye(i),h=f?mt(o):Tr,y=f?mt(i):Tr;for(let E=0;E<a;s++){if(t(e,n,r,l,s,c),s>=Ur)throw new Error(\"arx: counter overflow\");const p=Math.min(ge,a-E);if(f&&p===ge){const d=E/4;if(E%4!==0)throw new Error(\"arx: invalid block position\");for(let v=0,m;v<Bs;v++)m=d+v,y[m]=h[m]^l[v];E+=ge;continue}for(let d=0,v;d<p;d++)v=E+d,i[v]=o[v]^u[d];E+=p}}function Ns(t,e){const{allowShortKeys:n,extendNonceFn:r,counterLength:o,counterRight:i,rounds:s}=ws({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof t!=\"function\")throw new Error(\"core must be a function\");return Fe(o),Fe(s),Ar(i),Ar(n),(c,a,u,l,f=0)=>{tt(c),tt(a),tt(u);const h=u.length;if(l===void 0&&(l=new Uint8Array(h)),tt(l),Fe(f),f<0||f>=Ur)throw new Error(\"arx: counter overflow\");if(l.length<h)throw new Error(`arx: output (${l.length}) is shorter than data (${h})`);const y=[];let E=c.length,p,d;if(E===32)y.push(p=Ze(c)),d=As;else if(E===16&&n)p=new Uint8Array(32),p.set(c),p.set(c,16),d=Os,y.push(p);else throw new Error(`arx: invalid 32-byte key, got length=${E}`);Ye(a)||y.push(a=Ze(a));const v=mt(p);if(r){if(a.length!==24)throw new Error(\"arx: extended nonce must be 24 bytes\");r(d,v,mt(a.subarray(0,16)),v),a=a.subarray(16)}const m=16-o;if(m!==a.length)throw new Error(`arx: nonce must be ${m} or 16 bytes`);if(m!==12){const N=new Uint8Array(12);N.set(a,i?0:12-a.length),a=N,y.push(a)}const O=mt(a);return Is(t,d,v,O,u,l,f,s),jt(...y),l}}const F=(t,e)=>t[e++]&255|(t[e++]&255)<<8;class Us{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,e=ze(e),tt(e,32);const n=F(e,0),r=F(e,2),o=F(e,4),i=F(e,6),s=F(e,8),c=F(e,10),a=F(e,12),u=F(e,14);this.r[0]=n&8191,this.r[1]=(n>>>13|r<<3)&8191,this.r[2]=(r>>>10|o<<6)&7939,this.r[3]=(o>>>7|i<<9)&8191,this.r[4]=(i>>>4|s<<12)&255,this.r[5]=s>>>1&8190,this.r[6]=(s>>>14|c<<2)&8191,this.r[7]=(c>>>11|a<<5)&8065,this.r[8]=(a>>>8|u<<8)&8191,this.r[9]=u>>>5&127;for(let l=0;l<8;l++)this.pad[l]=F(e,16+2*l)}process(e,n,r=!1){const o=r?0:2048,{h:i,r:s}=this,c=s[0],a=s[1],u=s[2],l=s[3],f=s[4],h=s[5],y=s[6],E=s[7],p=s[8],d=s[9],v=F(e,n+0),m=F(e,n+2),O=F(e,n+4),N=F(e,n+6),$=F(e,n+8),B=F(e,n+10),A=F(e,n+12),T=F(e,n+14);let S=i[0]+(v&8191),L=i[1]+((v>>>13|m<<3)&8191),U=i[2]+((m>>>10|O<<6)&8191),_=i[3]+((O>>>7|N<<9)&8191),j=i[4]+((N>>>4|$<<12)&8191),g=i[5]+($>>>1&8191),w=i[6]+(($>>>14|B<<2)&8191),b=i[7]+((B>>>11|A<<5)&8191),I=i[8]+((A>>>8|T<<8)&8191),R=i[9]+(T>>>5|o),x=0,C=x+S*c+L*(5*d)+U*(5*p)+_*(5*E)+j*(5*y);x=C>>>13,C&=8191,C+=g*(5*h)+w*(5*f)+b*(5*l)+I*(5*u)+R*(5*a),x+=C>>>13,C&=8191;let P=x+S*a+L*c+U*(5*d)+_*(5*p)+j*(5*E);x=P>>>13,P&=8191,P+=g*(5*y)+w*(5*h)+b*(5*f)+I*(5*l)+R*(5*u),x+=P>>>13,P&=8191;let k=x+S*u+L*a+U*c+_*(5*d)+j*(5*p);x=k>>>13,k&=8191,k+=g*(5*E)+w*(5*y)+b*(5*h)+I*(5*f)+R*(5*l),x+=k>>>13,k&=8191;let M=x+S*l+L*u+U*a+_*c+j*(5*d);x=M>>>13,M&=8191,M+=g*(5*p)+w*(5*E)+b*(5*y)+I*(5*h)+R*(5*f),x+=M>>>13,M&=8191;let D=x+S*f+L*l+U*u+_*a+j*c;x=D>>>13,D&=8191,D+=g*(5*d)+w*(5*p)+b*(5*E)+I*(5*y)+R*(5*h),x+=D>>>13,D&=8191;let z=x+S*h+L*f+U*l+_*u+j*a;x=z>>>13,z&=8191,z+=g*c+w*(5*d)+b*(5*p)+I*(5*E)+R*(5*y),x+=z>>>13,z&=8191;let Z=x+S*y+L*h+U*f+_*l+j*u;x=Z>>>13,Z&=8191,Z+=g*a+w*c+b*(5*d)+I*(5*p)+R*(5*E),x+=Z>>>13,Z&=8191;let st=x+S*E+L*y+U*h+_*f+j*l;x=st>>>13,st&=8191,st+=g*u+w*a+b*c+I*(5*d)+R*(5*p),x+=st>>>13,st&=8191;let W=x+S*p+L*E+U*y+_*h+j*f;x=W>>>13,W&=8191,W+=g*l+w*u+b*a+I*c+R*(5*d),x+=W>>>13,W&=8191;let J=x+S*d+L*p+U*E+_*y+j*h;x=J>>>13,J&=8191,J+=g*f+w*l+b*u+I*a+R*c,x+=J>>>13,J&=8191,x=(x<<2)+x|0,x=x+C|0,C=x&8191,x=x>>>13,P+=x,i[0]=C,i[1]=P,i[2]=k,i[3]=M,i[4]=D,i[5]=z,i[6]=Z,i[7]=st,i[8]=W,i[9]=J}finalize(){const{h:e,pad:n}=this,r=new Uint16Array(10);let o=e[1]>>>13;e[1]&=8191;for(let c=2;c<10;c++)e[c]+=o,o=e[c]>>>13,e[c]&=8191;e[0]+=o*5,o=e[0]>>>13,e[0]&=8191,e[1]+=o,o=e[1]>>>13,e[1]&=8191,e[2]+=o,r[0]=e[0]+5,o=r[0]>>>13,r[0]&=8191;for(let c=1;c<10;c++)r[c]=e[c]+o,o=r[c]>>>13,r[c]&=8191;r[9]-=8192;let i=(o^1)-1;for(let c=0;c<10;c++)r[c]&=i;i=~i;for(let c=0;c<10;c++)e[c]=e[c]&i|r[c];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let s=e[0]+n[0];e[0]=s&65535;for(let c=1;c<8;c++)s=(e[c]+n[c]|0)+(s>>>16)|0,e[c]=s&65535;jt(r)}update(e){Or(this);const{buffer:n,blockLen:r}=this;e=ze(e);const o=e.length;for(let i=0;i<o;){const s=Math.min(r-this.pos,o-i);if(s===r){for(;r<=o-i;i+=r)this.process(e,i);continue}n.set(e.subarray(i,i+s),this.pos),this.pos+=s,i+=s,this.pos===r&&(this.process(n,0,!1),this.pos=0)}return this}destroy(){jt(this.h,this.r,this.buffer,this.pad)}digestInto(e){Or(this),ps(e,this),this.finished=!0;const{buffer:n,h:r}=this;let{pos:o}=this;if(o){for(n[o++]=1;o<16;o++)n[o]=0;this.process(n,0,!0)}this.finalize();let i=0;for(let s=0;s<8;s++)e[i++]=r[s]>>>0,e[i++]=r[s]>>>8;return e}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}}function Ts(t){const e=(r,o)=>t(o).update(ze(r)).digest(),n=t(new Uint8Array(32));return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=r=>t(r),e}const Rs=Ts(t=>new Us(t));function _s(t,e,n,r,o,i=20){let s=t[0],c=t[1],a=t[2],u=t[3],l=e[0],f=e[1],h=e[2],y=e[3],E=e[4],p=e[5],d=e[6],v=e[7],m=o,O=n[0],N=n[1],$=n[2],B=s,A=c,T=a,S=u,L=l,U=f,_=h,j=y,g=E,w=p,b=d,I=v,R=m,x=O,C=N,P=$;for(let M=0;M<i;M+=2)B=B+L|0,R=V(R^B,16),g=g+R|0,L=V(L^g,12),B=B+L|0,R=V(R^B,8),g=g+R|0,L=V(L^g,7),A=A+U|0,x=V(x^A,16),w=w+x|0,U=V(U^w,12),A=A+U|0,x=V(x^A,8),w=w+x|0,U=V(U^w,7),T=T+_|0,C=V(C^T,16),b=b+C|0,_=V(_^b,12),T=T+_|0,C=V(C^T,8),b=b+C|0,_=V(_^b,7),S=S+j|0,P=V(P^S,16),I=I+P|0,j=V(j^I,12),S=S+j|0,P=V(P^S,8),I=I+P|0,j=V(j^I,7),B=B+U|0,P=V(P^B,16),b=b+P|0,U=V(U^b,12),B=B+U|0,P=V(P^B,8),b=b+P|0,U=V(U^b,7),A=A+_|0,R=V(R^A,16),I=I+R|0,_=V(_^I,12),A=A+_|0,R=V(R^A,8),I=I+R|0,_=V(_^I,7),T=T+j|0,x=V(x^T,16),g=g+x|0,j=V(j^g,12),T=T+j|0,x=V(x^T,8),g=g+x|0,j=V(j^g,7),S=S+L|0,C=V(C^S,16),w=w+C|0,L=V(L^w,12),S=S+L|0,C=V(C^S,8),w=w+C|0,L=V(L^w,7);let k=0;r[k++]=s+B|0,r[k++]=c+A|0,r[k++]=a+T|0,r[k++]=u+S|0,r[k++]=l+L|0,r[k++]=f+U|0,r[k++]=h+_|0,r[k++]=y+j|0,r[k++]=E+g|0,r[k++]=p+w|0,r[k++]=d+b|0,r[k++]=v+I|0,r[k++]=m+R|0,r[k++]=O+x|0,r[k++]=N+C|0,r[k++]=$+P|0}const $s=Ns(_s,{counterRight:!1,counterLength:4,allowShortKeys:!1}),Ls=new Uint8Array(16),Rr=(t,e)=>{t.update(e);const n=e.length%16;n&&t.update(Ls.subarray(n))},js=new Uint8Array(32);function _r(t,e,n,r,o){const i=t(e,n,js),s=Rs.create(i);o&&Rr(s,o),Rr(s,r);const c=new Uint8Array(16),a=gs(c);Ir(a,0,BigInt(o?o.length:0),!0),Ir(a,8,BigInt(r.length),!0),s.update(c);const u=s.digest();return jt(i,c),u}const Cs=t=>(e,n,r)=>({encrypt(i,s){const c=i.length;s=Br(c+16,s,!1),s.set(i);const a=s.subarray(0,-16);t(e,n,a,a,1);const u=_r(t,e,n,a,r);return s.set(u,c),jt(u),s},decrypt(i,s){s=Br(i.length-16,s,!1);const c=i.subarray(0,-16),a=i.subarray(-16),u=_r(t,e,n,c,r);if(!bs(a,u))throw new Error(\"invalid tag\");return s.set(i.subarray(0,-16)),t(e,n,s,s,1),jt(u),s}}),$r=Es({blockSize:64,nonceLength:12,tagLength:16},Cs($s));class Lr extends ke{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,Ce(e);const r=$t(n);if(this.iHash=e.create(),typeof this.iHash.update!=\"function\")throw new Error(\"Expected instance of class which extends utils.Hash\");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const o=this.blockLen,i=new Uint8Array(o);i.set(r.length>o?e.create().update(r).digest():r);for(let s=0;s<i.length;s++)i[s]^=54;this.iHash.update(i),this.oHash=e.create();for(let s=0;s<i.length;s++)i[s]^=106;this.oHash.update(i),i.fill(0)}update(e){return Rt(this),this.iHash.update(e),this}digestInto(e){Rt(this),Xt(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:o,destroyed:i,blockLen:s,outputLen:c}=this;return e=e,e.finished=o,e.destroyed=i,e.blockLen=s,e.outputLen=c,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const ye=(t,e,n)=>new Lr(t,e).update(n).digest();ye.create=(t,e)=>new Lr(t,e);function Ps(t,e,n){return Ce(t),n===void 0&&(n=new Uint8Array(t.outputLen)),ye(t,$t(n),$t(e))}const Ge=new Uint8Array([0]),jr=new Uint8Array;function ks(t,e,n,r=32){if(Ce(t),Wt(r),r>255*t.outputLen)throw new Error(\"Length should be <= 255*HashLen\");const o=Math.ceil(r/t.outputLen);n===void 0&&(n=jr);const i=new Uint8Array(o*t.outputLen),s=ye.create(t,e),c=s._cloneInto(),a=new Uint8Array(s.outputLen);for(let u=0;u<o;u++)Ge[0]=u+1,c.update(u===0?jr:a).update(n).update(Ge).digestInto(a),i.set(a,t.outputLen*u),s._cloneInto(c);return s.destroy(),c.destroy(),a.fill(0),Ge.fill(0),i.slice(0,r)}const Vs=(t,e,n,r,o)=>ks(t,Ps(t,e,n),r,o);function Ms(t,e,n,r){if(typeof t.setBigUint64==\"function\")return t.setBigUint64(e,n,r);const o=BigInt(32),i=BigInt(4294967295),s=Number(n>>o&i),c=Number(n&i),a=r?4:0,u=r?0:4;t.setUint32(e+a,s,r),t.setUint32(e+u,c,r)}function Ds(t,e,n){return t&e^~t&n}function Hs(t,e,n){return t&e^t&n^e&n}class qs extends ke{constructor(e,n,r,o){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Pe(this.buffer)}update(e){Rt(this);const{view:n,buffer:r,blockLen:o}=this;e=$t(e);const i=e.length;for(let s=0;s<i;){const c=Math.min(o-this.pos,i-s);if(c===o){const a=Pe(e);for(;o<=i-s;s+=o)this.process(a,s);continue}r.set(e.subarray(s,s+c),this.pos),this.pos+=c,s+=c,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Rt(this),Gn(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:i}=this;let{pos:s}=this;n[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>o-s&&(this.process(r,0),s=0);for(let f=s;f<o;f++)n[f]=0;Ms(r,o-8,BigInt(this.length*8),i),this.process(r,0);const c=Pe(e),a=this.outputLen;if(a%4)throw new Error(\"_sha2: outputLen should be aligned to 32bit\");const u=a/4,l=this.get();if(u>l.length)throw new Error(\"_sha2: outputLen bigger than state\");for(let f=0;f<u;f++)c.setUint32(4*f,l[f],i)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:i,destroyed:s,pos:c}=this;return e.length=o,e.pos=c,e.finished=i,e.destroyed=s,o%n&&e.buffer.set(r),e}}const Ks=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),wt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),bt=new Uint32Array(64);class Fs extends qs{constructor(){super(64,32,8,!1),this.A=wt[0]|0,this.B=wt[1]|0,this.C=wt[2]|0,this.D=wt[3]|0,this.E=wt[4]|0,this.F=wt[5]|0,this.G=wt[6]|0,this.H=wt[7]|0}get(){const{A:e,B:n,C:r,D:o,E:i,F:s,G:c,H:a}=this;return[e,n,r,o,i,s,c,a]}set(e,n,r,o,i,s,c,a){this.A=e|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=c|0,this.H=a|0}process(e,n){for(let f=0;f<16;f++,n+=4)bt[f]=e.getUint32(n,!1);for(let f=16;f<64;f++){const h=bt[f-15],y=bt[f-2],E=ct(h,7)^ct(h,18)^h>>>3,p=ct(y,17)^ct(y,19)^y>>>10;bt[f]=p+bt[f-7]+E+bt[f-16]|0}let{A:r,B:o,C:i,D:s,E:c,F:a,G:u,H:l}=this;for(let f=0;f<64;f++){const h=ct(c,6)^ct(c,11)^ct(c,25),y=l+h+Ds(c,a,u)+Ks[f]+bt[f]|0,p=(ct(r,2)^ct(r,13)^ct(r,22))+Hs(r,o,i)|0;l=u,u=a,a=c,c=s+y|0,s=i,i=o,o=r,r=y+p|0}r=r+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,c=c+this.E|0,a=a+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(r,o,i,s,c,a,u,l)}roundClean(){bt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const Qt=Qn(()=>new Fs);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const me=BigInt(0),we=BigInt(1),zs=BigInt(2);function St(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name===\"Uint8Array\"}function te(t){if(!St(t))throw new Error(\"Uint8Array expected\")}function Ct(t,e){if(typeof e!=\"boolean\")throw new Error(t+\" boolean expected, got \"+e)}const Zs=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,\"0\"));function Pt(t){te(t);let e=\"\";for(let n=0;n<t.length;n++)e+=Zs[t[n]];return e}function kt(t){const e=t.toString(16);return e.length&1?\"0\"+e:e}function We(t){if(typeof t!=\"string\")throw new Error(\"hex string expected, got \"+typeof t);return t===\"\"?me:BigInt(\"0x\"+t)}const ut={_0:48,_9:57,A:65,F:70,a:97,f:102};function Cr(t){if(t>=ut._0&&t<=ut._9)return t-ut._0;if(t>=ut.A&&t<=ut.F)return t-(ut.A-10);if(t>=ut.a&&t<=ut.f)return t-(ut.a-10)}function Vt(t){if(typeof t!=\"string\")throw new Error(\"hex string expected, got \"+typeof t);const e=t.length,n=e/2;if(e%2)throw new Error(\"hex string expected, got unpadded hex of length \"+e);const r=new Uint8Array(n);for(let o=0,i=0;o<n;o++,i+=2){const s=Cr(t.charCodeAt(i)),c=Cr(t.charCodeAt(i+1));if(s===void 0||c===void 0){const a=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character \"'+a+'\" at index '+i)}r[o]=s*16+c}return r}function Ot(t){return We(Pt(t))}function ee(t){return te(t),We(Pt(Uint8Array.from(t).reverse()))}function Mt(t,e){return Vt(t.toString(16).padStart(e*2,\"0\"))}function be(t,e){return Mt(t,e).reverse()}function Ys(t){return Vt(kt(t))}function et(t,e,n){let r;if(typeof e==\"string\")try{r=Vt(e)}catch(i){throw new Error(t+\" must be hex string or Uint8Array, cause: \"+i)}else if(St(e))r=Uint8Array.from(e);else throw new Error(t+\" must be hex string or Uint8Array\");const o=r.length;if(typeof n==\"number\"&&o!==n)throw new Error(t+\" of length \"+n+\" expected, got \"+o);return r}function ne(...t){let e=0;for(let r=0;r<t.length;r++){const o=t[r];te(o),e+=o.length}const n=new Uint8Array(e);for(let r=0,o=0;r<t.length;r++){const i=t[r];n.set(i,o),o+=i.length}return n}function Gs(t,e){if(t.length!==e.length)return!1;let n=0;for(let r=0;r<t.length;r++)n|=t[r]^e[r];return n===0}function Ws(t){if(typeof t!=\"string\")throw new Error(\"string expected\");return new Uint8Array(new TextEncoder().encode(t))}const Xe=t=>typeof t==\"bigint\"&&me<=t;function Ee(t,e,n){return Xe(t)&&Xe(e)&&Xe(n)&&e<=t&&t<n}function ft(t,e,n,r){if(!Ee(e,n,r))throw new Error(\"expected valid \"+t+\": \"+n+\" <= n < \"+r+\", got \"+e)}function Pr(t){let e;for(e=0;t>me;t>>=we,e+=1);return e}function Xs(t,e){return t>>BigInt(e)&we}function Js(t,e,n){return t|(n?we:me)<<BigInt(e)}const Je=t=>(zs<<BigInt(t-1))-we,Qe=t=>new Uint8Array(t),kr=t=>Uint8Array.from(t);function Vr(t,e,n){if(typeof t!=\"number\"||t<2)throw new Error(\"hashLen must be a number\");if(typeof e!=\"number\"||e<2)throw new Error(\"qByteLen must be a number\");if(typeof n!=\"function\")throw new Error(\"hmacFn must be a function\");let r=Qe(t),o=Qe(t),i=0;const s=()=>{r.fill(1),o.fill(0),i=0},c=(...f)=>n(o,r,...f),a=(f=Qe())=>{o=c(kr([0]),f),r=c(),f.length!==0&&(o=c(kr([1]),f),r=c())},u=()=>{if(i++>=1e3)throw new Error(\"drbg: tried 1000 values\");let f=0;const h=[];for(;f<e;){r=c();const y=r.slice();h.push(y),f+=r.length}return ne(...h)};return(f,h)=>{s(),a(f);let y;for(;!(y=h(u()));)a();return s(),y}}const Qs={bigint:t=>typeof t==\"bigint\",function:t=>typeof t==\"function\",boolean:t=>typeof t==\"boolean\",string:t=>typeof t==\"string\",stringOrUint8Array:t=>typeof t==\"string\"||St(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t==\"function\"&&Number.isSafeInteger(t.outputLen)};function Dt(t,e,n={}){const r=(o,i,s)=>{const c=Qs[i];if(typeof c!=\"function\")throw new Error(\"invalid validator function\");const a=t[o];if(!(s&&a===void 0)&&!c(a,t))throw new Error(\"param \"+String(o)+\" is invalid. Expected \"+i+\", got \"+a)};for(const[o,i]of Object.entries(e))r(o,i,!1);for(const[o,i]of Object.entries(n))r(o,i,!0);return t}const tc=()=>{throw new Error(\"not implemented\")};function tn(t){const e=new WeakMap;return(n,...r)=>{const o=e.get(n);if(o!==void 0)return o;const i=t(n,...r);return e.set(n,i),i}}var ec=Object.freeze({__proto__:null,isBytes:St,abytes:te,abool:Ct,bytesToHex:Pt,numberToHexUnpadded:kt,hexToNumber:We,hexToBytes:Vt,bytesToNumberBE:Ot,bytesToNumberLE:ee,numberToBytesBE:Mt,numberToBytesLE:be,numberToVarBytesBE:Ys,ensureBytes:et,concatBytes:ne,equalBytes:Gs,utf8ToBytes:Ws,inRange:Ee,aInRange:ft,bitLen:Pr,bitGet:Xs,bitSet:Js,bitMask:Je,createHmacDrbg:Vr,validateObject:Dt,notImplemented:tc,memoized:tn});const q=BigInt(0),H=BigInt(1),At=BigInt(2),nc=BigInt(3),en=BigInt(4),Mr=BigInt(5),Dr=BigInt(8);function X(t,e){const n=t%e;return n>=q?n:e+n}function Hr(t,e,n){if(e<q)throw new Error(\"invalid exponent, negatives unsupported\");if(n<=q)throw new Error(\"invalid modulus\");if(n===H)return q;let r=H;for(;e>q;)e&H&&(r=r*t%n),t=t*t%n,e>>=H;return r}function it(t,e,n){let r=t;for(;e-- >q;)r*=r,r%=n;return r}function nn(t,e){if(t===q)throw new Error(\"invert: expected non-zero number\");if(e<=q)throw new Error(\"invert: expected positive modulus, got \"+e);let n=X(t,e),r=e,o=q,i=H;for(;n!==q;){const c=r/n,a=r%n,u=o-i*c;r=n,n=a,o=i,i=u}if(r!==H)throw new Error(\"invert: does not exist\");return X(o,e)}function rc(t){const e=(t-H)/At;let n,r,o;for(n=t-H,r=0;n%At===q;n/=At,r++);for(o=At;o<t&&Hr(o,e,t)!==t-H;o++)if(o>1e3)throw new Error(\"Cannot find square root: likely non-prime P\");if(r===1){const s=(t+H)/en;return function(a,u){const l=a.pow(u,s);if(!a.eql(a.sqr(l),u))throw new Error(\"Cannot find square root\");return l}}const i=(n+H)/At;return function(c,a){if(c.pow(a,e)===c.neg(c.ONE))throw new Error(\"Cannot find square root\");let u=r,l=c.pow(c.mul(c.ONE,o),n),f=c.pow(a,i),h=c.pow(a,n);for(;!c.eql(h,c.ONE);){if(c.eql(h,c.ZERO))return c.ZERO;let y=1;for(let p=c.sqr(h);y<u&&!c.eql(p,c.ONE);y++)p=c.sqr(p);const E=c.pow(l,H<<BigInt(u-y-1));l=c.sqr(E),f=c.mul(f,E),h=c.mul(h,l),u=y}return f}}function oc(t){if(t%en===nc){const e=(t+H)/en;return function(r,o){const i=r.pow(o,e);if(!r.eql(r.sqr(i),o))throw new Error(\"Cannot find square root\");return i}}if(t%Dr===Mr){const e=(t-Mr)/Dr;return function(r,o){const i=r.mul(o,At),s=r.pow(i,e),c=r.mul(o,s),a=r.mul(r.mul(c,At),s),u=r.mul(c,r.sub(a,r.ONE));if(!r.eql(r.sqr(u),o))throw new Error(\"Cannot find square root\");return u}}return rc(t)}const ic=[\"create\",\"isValid\",\"is0\",\"neg\",\"inv\",\"sqrt\",\"sqr\",\"eql\",\"add\",\"sub\",\"mul\",\"pow\",\"div\",\"addN\",\"subN\",\"mulN\",\"sqrN\"];function sc(t){const e={ORDER:\"bigint\",MASK:\"bigint\",BYTES:\"isSafeInteger\",BITS:\"isSafeInteger\"},n=ic.reduce((r,o)=>(r[o]=\"function\",r),e);return Dt(t,n)}function cc(t,e,n){if(n<q)throw new Error(\"invalid exponent, negatives unsupported\");if(n===q)return t.ONE;if(n===H)return e;let r=t.ONE,o=e;for(;n>q;)n&H&&(r=t.mul(r,o)),o=t.sqr(o),n>>=H;return r}function ac(t,e){const n=new Array(e.length),r=e.reduce((i,s,c)=>t.is0(s)?i:(n[c]=i,t.mul(i,s)),t.ONE),o=t.inv(r);return e.reduceRight((i,s,c)=>t.is0(s)?i:(n[c]=t.mul(i,n[c]),t.mul(i,s)),o),n}function qr(t,e){const n=e!==void 0?e:t.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function Kr(t,e,n=!1,r={}){if(t<=q)throw new Error(\"invalid field: expected ORDER > 0, got \"+t);const{nBitLength:o,nByteLength:i}=qr(t,e);if(i>2048)throw new Error(\"invalid field: expected ORDER of <= 2048 bytes\");let s;const c=Object.freeze({ORDER:t,isLE:n,BITS:o,BYTES:i,MASK:Je(o),ZERO:q,ONE:H,create:a=>X(a,t),isValid:a=>{if(typeof a!=\"bigint\")throw new Error(\"invalid field element: expected bigint, got \"+typeof a);return q<=a&&a<t},is0:a=>a===q,isOdd:a=>(a&H)===H,neg:a=>X(-a,t),eql:(a,u)=>a===u,sqr:a=>X(a*a,t),add:(a,u)=>X(a+u,t),sub:(a,u)=>X(a-u,t),mul:(a,u)=>X(a*u,t),pow:(a,u)=>cc(c,a,u),div:(a,u)=>X(a*nn(u,t),t),sqrN:a=>a*a,addN:(a,u)=>a+u,subN:(a,u)=>a-u,mulN:(a,u)=>a*u,inv:a=>nn(a,t),sqrt:r.sqrt||(a=>(s||(s=oc(t)),s(c,a))),invertBatch:a=>ac(c,a),cmov:(a,u,l)=>l?u:a,toBytes:a=>n?be(a,i):Mt(a,i),fromBytes:a=>{if(a.length!==i)throw new Error(\"Field.fromBytes: expected \"+i+\" bytes, got \"+a.length);return n?ee(a):Ot(a)}});return Object.freeze(c)}function Fr(t){if(typeof t!=\"bigint\")throw new Error(\"field order must be bigint\");const e=t.toString(2).length;return Math.ceil(e/8)}function zr(t){const e=Fr(t);return e+Math.ceil(e/2)}function uc(t,e,n=!1){const r=t.length,o=Fr(e),i=zr(e);if(r<16||r<i||r>1024)throw new Error(\"expected \"+i+\"-1024 bytes of input, got \"+r);const s=n?ee(t):Ot(t),c=X(s,e-H)+H;return n?be(c,o):Mt(c,o)}const Zr=BigInt(0),ve=BigInt(1);function rn(t,e){const n=e.negate();return t?n:e}function Yr(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error(\"invalid window size, expected [1..\"+e+\"], got W=\"+t)}function on(t,e){Yr(t,e);const n=Math.ceil(e/t)+1,r=2**(t-1);return{windows:n,windowSize:r}}function fc(t,e){if(!Array.isArray(t))throw new Error(\"array expected\");t.forEach((n,r)=>{if(!(n instanceof e))throw new Error(\"invalid point at index \"+r)})}function lc(t,e){if(!Array.isArray(t))throw new Error(\"array of scalars expected\");t.forEach((n,r)=>{if(!e.isValid(n))throw new Error(\"invalid scalar at index \"+r)})}const sn=new WeakMap,Gr=new WeakMap;function cn(t){return Gr.get(t)||1}function dc(t,e){return{constTimeNegate:rn,hasPrecomputes(n){return cn(n)!==1},unsafeLadder(n,r,o=t.ZERO){let i=n;for(;r>Zr;)r&ve&&(o=o.add(i)),i=i.double(),r>>=ve;return o},precomputeWindow(n,r){const{windows:o,windowSize:i}=on(r,e),s=[];let c=n,a=c;for(let u=0;u<o;u++){a=c,s.push(a);for(let l=1;l<i;l++)a=a.add(c),s.push(a);c=a.double()}return s},wNAF(n,r,o){const{windows:i,windowSize:s}=on(n,e);let c=t.ZERO,a=t.BASE;const u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<i;h++){const y=h*s;let E=Number(o&u);o>>=f,E>s&&(E-=l,o+=ve);const p=y,d=y+Math.abs(E)-1,v=h%2!==0,m=E<0;E===0?a=a.add(rn(v,r[p])):c=c.add(rn(m,r[d]))}return{p:c,f:a}},wNAFUnsafe(n,r,o,i=t.ZERO){const{windows:s,windowSize:c}=on(n,e),a=BigInt(2**n-1),u=2**n,l=BigInt(n);for(let f=0;f<s;f++){const h=f*c;if(o===Zr)break;let y=Number(o&a);if(o>>=l,y>c&&(y-=u,o+=ve),y===0)continue;let E=r[h+Math.abs(y)-1];y<0&&(E=E.negate()),i=i.add(E)}return i},getPrecomputes(n,r,o){let i=sn.get(r);return i||(i=this.precomputeWindow(r,n),n!==1&&sn.set(r,o(i))),i},wNAFCached(n,r,o){const i=cn(n);return this.wNAF(i,this.getPrecomputes(i,n,o),r)},wNAFCachedUnsafe(n,r,o,i){const s=cn(n);return s===1?this.unsafeLadder(n,r,i):this.wNAFUnsafe(s,this.getPrecomputes(s,n,o),r,i)},setWindowSize(n,r){Yr(r,e),Gr.set(n,r),sn.delete(n)}}}function hc(t,e,n,r){if(fc(n,t),lc(r,e),n.length!==r.length)throw new Error(\"arrays of points and scalars must have equal length\");const o=t.ZERO,i=Pr(BigInt(n.length)),s=i>12?i-3:i>4?i-2:i?2:1,c=(1<<s)-1,a=new Array(c+1).fill(o),u=Math.floor((e.BITS-1)/s)*s;let l=o;for(let f=u;f>=0;f-=s){a.fill(o);for(let y=0;y<r.length;y++){const E=r[y],p=Number(E>>BigInt(f)&BigInt(c));a[p]=a[p].add(n[y])}let h=o;for(let y=a.length-1,E=o;y>0;y--)E=E.add(a[y]),h=h.add(E);if(l=l.add(h),f!==0)for(let y=0;y<s;y++)l=l.double()}return l}function Wr(t){return sc(t.Fp),Dt(t,{n:\"bigint\",h:\"bigint\",Gx:\"field\",Gy:\"field\"},{nBitLength:\"isSafeInteger\",nByteLength:\"isSafeInteger\"}),Object.freeze({...qr(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}BigInt(0),BigInt(1),BigInt(2),BigInt(8);const Ht=BigInt(0),an=BigInt(1);function pc(t){return Dt(t,{a:\"bigint\"},{montgomeryBits:\"isSafeInteger\",nByteLength:\"isSafeInteger\",adjustScalarBytes:\"function\",domain:\"function\",powPminus2:\"function\",Gu:\"bigint\"}),Object.freeze({...t})}function gc(t){const e=pc(t),{P:n}=e,r=m=>X(m,n),o=e.montgomeryBits,i=Math.ceil(o/8),s=e.nByteLength,c=e.adjustScalarBytes||(m=>m),a=e.powPminus2||(m=>Hr(m,n-BigInt(2),n));function u(m,O,N){const $=r(m*(O-N));return O=r(O-$),N=r(N+$),[O,N]}const l=(e.a-BigInt(2))/BigInt(4);function f(m,O){ft(\"u\",m,Ht,n),ft(\"scalar\",O,Ht,n);const N=O,$=m;let B=an,A=Ht,T=m,S=an,L=Ht,U;for(let j=BigInt(o-1);j>=Ht;j--){const g=N>>j&an;L^=g,U=u(L,B,T),B=U[0],T=U[1],U=u(L,A,S),A=U[0],S=U[1],L=g;const w=B+A,b=r(w*w),I=B-A,R=r(I*I),x=b-R,C=T+S,P=T-S,k=r(P*w),M=r(C*I),D=k+M,z=k-M;T=r(D*D),S=r($*r(z*z)),B=r(b*R),A=r(x*(b+r(l*x)))}U=u(L,B,T),B=U[0],T=U[1],U=u(L,A,S),A=U[0],S=U[1];const _=a(A);return r(B*_)}function h(m){return be(r(m),i)}function y(m){const O=et(\"u coordinate\",m,i);return s===32&&(O[31]&=127),ee(O)}function E(m){const O=et(\"scalar\",m),N=O.length;if(N!==i&&N!==s){let $=\"\"+i+\" or \"+s;throw new Error(\"invalid scalar, expected \"+$+\" bytes, got \"+N)}return ee(c(O))}function p(m,O){const N=y(O),$=E(m),B=f(N,$);if(B===Ht)throw new Error(\"invalid private or public key received\");return h(B)}const d=h(e.Gu);function v(m){return p(m,d)}return{scalarMult:p,scalarMultBase:v,getSharedSecret:(m,O)=>p(m,O),getPublicKey:m=>v(m),utils:{randomPrivateKey:()=>e.randomBytes(e.nByteLength)},GuBytes:d}}const un=BigInt(\"57896044618658097711785492504343953926634992332820282019728792003956564819949\");BigInt(0);const yc=BigInt(1),Xr=BigInt(2),mc=BigInt(3),wc=BigInt(5);BigInt(8);function bc(t){const e=BigInt(10),n=BigInt(20),r=BigInt(40),o=BigInt(80),i=un,c=t*t%i*t%i,a=it(c,Xr,i)*c%i,u=it(a,yc,i)*t%i,l=it(u,wc,i)*u%i,f=it(l,e,i)*l%i,h=it(f,n,i)*f%i,y=it(h,r,i)*h%i,E=it(y,o,i)*y%i,p=it(E,o,i)*y%i,d=it(p,e,i)*l%i;return{pow_p_5_8:it(d,Xr,i)*t%i,b2:c}}function Ec(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}const fn=gc({P:un,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:t=>{const e=un,{pow_p_5_8:n,b2:r}=bc(t);return X(it(n,mc,e)*r,e)},adjustScalarBytes:Ec,randomBytes:Lt});function Jr(t){t.lowS!==void 0&&Ct(\"lowS\",t.lowS),t.prehash!==void 0&&Ct(\"prehash\",t.prehash)}function vc(t){const e=Wr(t);Dt(e,{a:\"field\",b:\"field\"},{allowedPrivateKeyLengths:\"array\",wrapPrivateKey:\"boolean\",isTorsionFree:\"function\",clearCofactor:\"function\",allowInfinityPoint:\"boolean\",fromBytes:\"function\",toBytes:\"function\"});const{endo:n,Fp:r,a:o}=e;if(n){if(!r.eql(o,r.ZERO))throw new Error(\"invalid endomorphism, can only be defined for Koblitz curves that have a=0\");if(typeof n!=\"object\"||typeof n.beta!=\"bigint\"||typeof n.splitScalar!=\"function\")throw new Error(\"invalid endomorphism, expected beta: bigint and splitScalar: function\")}return Object.freeze({...e})}const{bytesToNumberBE:xc,hexToBytes:Sc}=ec;class Oc extends Error{constructor(e=\"\"){super(e)}}const lt={Err:Oc,_tlv:{encode:(t,e)=>{const{Err:n}=lt;if(t<0||t>256)throw new n(\"tlv.encode: wrong tag\");if(e.length&1)throw new n(\"tlv.encode: unpadded data\");const r=e.length/2,o=kt(r);if(o.length/2&128)throw new n(\"tlv.encode: long form length too big\");const i=r>127?kt(o.length/2|128):\"\";return kt(t)+i+o+e},decode(t,e){const{Err:n}=lt;let r=0;if(t<0||t>256)throw new n(\"tlv.encode: wrong tag\");if(e.length<2||e[r++]!==t)throw new n(\"tlv.decode: wrong tlv\");const o=e[r++],i=!!(o&128);let s=0;if(!i)s=o;else{const a=o&127;if(!a)throw new n(\"tlv.decode(long): indefinite length not supported\");if(a>4)throw new n(\"tlv.decode(long): byte length is too big\");const u=e.subarray(r,r+a);if(u.length!==a)throw new n(\"tlv.decode: length bytes not complete\");if(u[0]===0)throw new n(\"tlv.decode(long): zero leftmost byte\");for(const l of u)s=s<<8|l;if(r+=a,s<128)throw new n(\"tlv.decode(long): not minimal encoding\")}const c=e.subarray(r,r+s);if(c.length!==s)throw new n(\"tlv.decode: wrong value length\");return{v:c,l:e.subarray(r+s)}}},_int:{encode(t){const{Err:e}=lt;if(t<dt)throw new e(\"integer: negative integers are not allowed\");let n=kt(t);if(Number.parseInt(n[0],16)&8&&(n=\"00\"+n),n.length&1)throw new e(\"unexpected DER parsing assertion: unpadded hex\");return n},decode(t){const{Err:e}=lt;if(t[0]&128)throw new e(\"invalid signature integer: negative\");if(t[0]===0&&!(t[1]&128))throw new e(\"invalid signature integer: unnecessary leading zero\");return xc(t)}},toSig(t){const{Err:e,_int:n,_tlv:r}=lt,o=typeof t==\"string\"?Sc(t):t;te(o);const{v:i,l:s}=r.decode(48,o);if(s.length)throw new e(\"invalid signature: left bytes after parsing\");const{v:c,l:a}=r.decode(2,i),{v:u,l}=r.decode(2,a);if(l.length)throw new e(\"invalid signature: left bytes after parsing\");return{r:n.decode(c),s:n.decode(u)}},hexFromSig(t){const{_tlv:e,_int:n}=lt,r=e.encode(2,n.encode(t.r)),o=e.encode(2,n.encode(t.s)),i=r+o;return e.encode(48,i)}},dt=BigInt(0),K=BigInt(1);BigInt(2);const Qr=BigInt(3);BigInt(4);function Ac(t){const e=vc(t),{Fp:n}=e,r=Kr(e.n,e.nBitLength),o=e.toBytes||((p,d,v)=>{const m=d.toAffine();return ne(Uint8Array.from([4]),n.toBytes(m.x),n.toBytes(m.y))}),i=e.fromBytes||(p=>{const d=p.subarray(1),v=n.fromBytes(d.subarray(0,n.BYTES)),m=n.fromBytes(d.subarray(n.BYTES,2*n.BYTES));return{x:v,y:m}});function s(p){const{a:d,b:v}=e,m=n.sqr(p),O=n.mul(m,p);return n.add(n.add(O,n.mul(p,d)),v)}if(!n.eql(n.sqr(e.Gy),s(e.Gx)))throw new Error(\"bad generator point: equation left != right\");function c(p){return Ee(p,K,e.n)}function a(p){const{allowedPrivateKeyLengths:d,nByteLength:v,wrapPrivateKey:m,n:O}=e;if(d&&typeof p!=\"bigint\"){if(St(p)&&(p=Pt(p)),typeof p!=\"string\"||!d.includes(p.length))throw new Error(\"invalid private key\");p=p.padStart(v*2,\"0\")}let N;try{N=typeof p==\"bigint\"?p:Ot(et(\"private key\",p,v))}catch{throw new Error(\"invalid private key, expected hex or \"+v+\" bytes, got \"+typeof p)}return m&&(N=X(N,O)),ft(\"private key\",N,K,O),N}function u(p){if(!(p instanceof h))throw new Error(\"ProjectivePoint expected\")}const l=tn((p,d)=>{const{px:v,py:m,pz:O}=p;if(n.eql(O,n.ONE))return{x:v,y:m};const N=p.is0();d==null&&(d=N?n.ONE:n.inv(O));const $=n.mul(v,d),B=n.mul(m,d),A=n.mul(O,d);if(N)return{x:n.ZERO,y:n.ZERO};if(!n.eql(A,n.ONE))throw new Error(\"invZ was invalid\");return{x:$,y:B}}),f=tn(p=>{if(p.is0()){if(e.allowInfinityPoint&&!n.is0(p.py))return;throw new Error(\"bad point: ZERO\")}const{x:d,y:v}=p.toAffine();if(!n.isValid(d)||!n.isValid(v))throw new Error(\"bad point: x or y not FE\");const m=n.sqr(v),O=s(d);if(!n.eql(m,O))throw new Error(\"bad point: equation left != right\");if(!p.isTorsionFree())throw new Error(\"bad point: not in prime-order subgroup\");return!0});class h{constructor(d,v,m){if(this.px=d,this.py=v,this.pz=m,d==null||!n.isValid(d))throw new Error(\"x required\");if(v==null||!n.isValid(v))throw new Error(\"y required\");if(m==null||!n.isValid(m))throw new Error(\"z required\");Object.freeze(this)}static fromAffine(d){const{x:v,y:m}=d||{};if(!d||!n.isValid(v)||!n.isValid(m))throw new Error(\"invalid affine point\");if(d instanceof h)throw new Error(\"projective point not allowed\");const O=N=>n.eql(N,n.ZERO);return O(v)&&O(m)?h.ZERO:new h(v,m,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){const v=n.invertBatch(d.map(m=>m.pz));return d.map((m,O)=>m.toAffine(v[O])).map(h.fromAffine)}static fromHex(d){const v=h.fromAffine(i(et(\"pointHex\",d)));return v.assertValidity(),v}static fromPrivateKey(d){return h.BASE.multiply(a(d))}static msm(d,v){return hc(h,r,d,v)}_setWindowSize(d){E.setWindowSize(this,d)}assertValidity(){f(this)}hasEvenY(){const{y:d}=this.toAffine();if(n.isOdd)return!n.isOdd(d);throw new Error(\"Field doesn't support isOdd\")}equals(d){u(d);const{px:v,py:m,pz:O}=this,{px:N,py:$,pz:B}=d,A=n.eql(n.mul(v,B),n.mul(N,O)),T=n.eql(n.mul(m,B),n.mul($,O));return A&&T}negate(){return new h(this.px,n.neg(this.py),this.pz)}double(){const{a:d,b:v}=e,m=n.mul(v,Qr),{px:O,py:N,pz:$}=this;let B=n.ZERO,A=n.ZERO,T=n.ZERO,S=n.mul(O,O),L=n.mul(N,N),U=n.mul($,$),_=n.mul(O,N);return _=n.add(_,_),T=n.mul(O,$),T=n.add(T,T),B=n.mul(d,T),A=n.mul(m,U),A=n.add(B,A),B=n.sub(L,A),A=n.add(L,A),A=n.mul(B,A),B=n.mul(_,B),T=n.mul(m,T),U=n.mul(d,U),_=n.sub(S,U),_=n.mul(d,_),_=n.add(_,T),T=n.add(S,S),S=n.add(T,S),S=n.add(S,U),S=n.mul(S,_),A=n.add(A,S),U=n.mul(N,$),U=n.add(U,U),S=n.mul(U,_),B=n.sub(B,S),T=n.mul(U,L),T=n.add(T,T),T=n.add(T,T),new h(B,A,T)}add(d){u(d);const{px:v,py:m,pz:O}=this,{px:N,py:$,pz:B}=d;let A=n.ZERO,T=n.ZERO,S=n.ZERO;const L=e.a,U=n.mul(e.b,Qr);let _=n.mul(v,N),j=n.mul(m,$),g=n.mul(O,B),w=n.add(v,m),b=n.add(N,$);w=n.mul(w,b),b=n.add(_,j),w=n.sub(w,b),b=n.add(v,O);let I=n.add(N,B);return b=n.mul(b,I),I=n.add(_,g),b=n.sub(b,I),I=n.add(m,O),A=n.add($,B),I=n.mul(I,A),A=n.add(j,g),I=n.sub(I,A),S=n.mul(L,b),A=n.mul(U,g),S=n.add(A,S),A=n.sub(j,S),S=n.add(j,S),T=n.mul(A,S),j=n.add(_,_),j=n.add(j,_),g=n.mul(L,g),b=n.mul(U,b),j=n.add(j,g),g=n.sub(_,g),g=n.mul(L,g),b=n.add(b,g),_=n.mul(j,b),T=n.add(T,_),_=n.mul(I,b),A=n.mul(w,A),A=n.sub(A,_),_=n.mul(w,j),S=n.mul(I,S),S=n.add(S,_),new h(A,T,S)}subtract(d){return this.add(d.negate())}is0(){return this.equals(h.ZERO)}wNAF(d){return E.wNAFCached(this,d,h.normalizeZ)}multiplyUnsafe(d){const{endo:v,n:m}=e;ft(\"scalar\",d,dt,m);const O=h.ZERO;if(d===dt)return O;if(this.is0()||d===K)return this;if(!v||E.hasPrecomputes(this))return E.wNAFCachedUnsafe(this,d,h.normalizeZ);let{k1neg:N,k1:$,k2neg:B,k2:A}=v.splitScalar(d),T=O,S=O,L=this;for(;$>dt||A>dt;)$&K&&(T=T.add(L)),A&K&&(S=S.add(L)),L=L.double(),$>>=K,A>>=K;return N&&(T=T.negate()),B&&(S=S.negate()),S=new h(n.mul(S.px,v.beta),S.py,S.pz),T.add(S)}multiply(d){const{endo:v,n:m}=e;ft(\"scalar\",d,K,m);let O,N;if(v){const{k1neg:$,k1:B,k2neg:A,k2:T}=v.splitScalar(d);let{p:S,f:L}=this.wNAF(B),{p:U,f:_}=this.wNAF(T);S=E.constTimeNegate($,S),U=E.constTimeNegate(A,U),U=new h(n.mul(U.px,v.beta),U.py,U.pz),O=S.add(U),N=L.add(_)}else{const{p:$,f:B}=this.wNAF(d);O=$,N=B}return h.normalizeZ([O,N])[0]}multiplyAndAddUnsafe(d,v,m){const O=h.BASE,N=(B,A)=>A===dt||A===K||!B.equals(O)?B.multiplyUnsafe(A):B.multiply(A),$=N(this,v).add(N(d,m));return $.is0()?void 0:$}toAffine(d){return l(this,d)}isTorsionFree(){const{h:d,isTorsionFree:v}=e;if(d===K)return!0;if(v)return v(h,this);throw new Error(\"isTorsionFree() has not been declared for the elliptic curve\")}clearCofactor(){const{h:d,clearCofactor:v}=e;return d===K?this:v?v(h,this):this.multiplyUnsafe(e.h)}toRawBytes(d=!0){return Ct(\"isCompressed\",d),this.assertValidity(),o(h,this,d)}toHex(d=!0){return Ct(\"isCompressed\",d),Pt(this.toRawBytes(d))}}h.BASE=new h(e.Gx,e.Gy,n.ONE),h.ZERO=new h(n.ZERO,n.ONE,n.ZERO);const y=e.nBitLength,E=dc(h,e.endo?Math.ceil(y/2):y);return{CURVE:e,ProjectivePoint:h,normPrivateKeyToScalar:a,weierstrassEquation:s,isWithinCurveOrder:c}}function Bc(t){const e=Wr(t);return Dt(e,{hash:\"hash\",hmac:\"function\",randomBytes:\"function\"},{bits2int:\"function\",bits2int_modN:\"function\",lowS:\"boolean\"}),Object.freeze({lowS:!0,...e})}function Ic(t){const e=Bc(t),{Fp:n,n:r}=e,o=n.BYTES+1,i=2*n.BYTES+1;function s(g){return X(g,r)}function c(g){return nn(g,r)}const{ProjectivePoint:a,normPrivateKeyToScalar:u,weierstrassEquation:l,isWithinCurveOrder:f}=Ac({...e,toBytes(g,w,b){const I=w.toAffine(),R=n.toBytes(I.x),x=ne;return Ct(\"isCompressed\",b),b?x(Uint8Array.from([w.hasEvenY()?2:3]),R):x(Uint8Array.from([4]),R,n.toBytes(I.y))},fromBytes(g){const w=g.length,b=g[0],I=g.subarray(1);if(w===o&&(b===2||b===3)){const R=Ot(I);if(!Ee(R,K,n.ORDER))throw new Error(\"Point is not on curve\");const x=l(R);let C;try{C=n.sqrt(x)}catch(M){const D=M instanceof Error?\": \"+M.message:\"\";throw new Error(\"Point is not on curve\"+D)}const P=(C&K)===K;return(b&1)===1!==P&&(C=n.neg(C)),{x:R,y:C}}else if(w===i&&b===4){const R=n.fromBytes(I.subarray(0,n.BYTES)),x=n.fromBytes(I.subarray(n.BYTES,2*n.BYTES));return{x:R,y:x}}else{const R=o,x=i;throw new Error(\"invalid Point, expected length of \"+R+\", or uncompressed \"+x+\", got \"+w)}}}),h=g=>Pt(Mt(g,e.nByteLength));function y(g){const w=r>>K;return g>w}function E(g){return y(g)?s(-g):g}const p=(g,w,b)=>Ot(g.slice(w,b));class d{constructor(w,b,I){this.r=w,this.s=b,this.recovery=I,this.assertValidity()}static fromCompact(w){const b=e.nByteLength;return w=et(\"compactSignature\",w,b*2),new d(p(w,0,b),p(w,b,2*b))}static fromDER(w){const{r:b,s:I}=lt.toSig(et(\"DER\",w));return new d(b,I)}assertValidity(){ft(\"r\",this.r,K,r),ft(\"s\",this.s,K,r)}addRecoveryBit(w){return new d(this.r,this.s,w)}recoverPublicKey(w){const{r:b,s:I,recovery:R}=this,x=B(et(\"msgHash\",w));if(R==null||![0,1,2,3].includes(R))throw new Error(\"recovery id invalid\");const C=R===2||R===3?b+e.n:b;if(C>=n.ORDER)throw new Error(\"recovery id 2 or 3 invalid\");const P=(R&1)===0?\"02\":\"03\",k=a.fromHex(P+h(C)),M=c(C),D=s(-x*M),z=s(I*M),Z=a.BASE.multiplyAndAddUnsafe(k,D,z);if(!Z)throw new Error(\"point at infinify\");return Z.assertValidity(),Z}hasHighS(){return y(this.s)}normalizeS(){return this.hasHighS()?new d(this.r,s(-this.s),this.recovery):this}toDERRawBytes(){return Vt(this.toDERHex())}toDERHex(){return lt.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Vt(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}const v={isValidPrivateKey(g){try{return u(g),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{const g=zr(e.n);return uc(e.randomBytes(g),e.n)},precompute(g=8,w=a.BASE){return w._setWindowSize(g),w.multiply(BigInt(3)),w}};function m(g,w=!0){return a.fromPrivateKey(g).toRawBytes(w)}function O(g){const w=St(g),b=typeof g==\"string\",I=(w||b)&&g.length;return w?I===o||I===i:b?I===2*o||I===2*i:g instanceof a}function N(g,w,b=!0){if(O(g))throw new Error(\"first arg must be private key\");if(!O(w))throw new Error(\"second arg must be public key\");return a.fromHex(w).multiply(u(g)).toRawBytes(b)}const $=e.bits2int||function(g){if(g.length>8192)throw new Error(\"input is too large\");const w=Ot(g),b=g.length*8-e.nBitLength;return b>0?w>>BigInt(b):w},B=e.bits2int_modN||function(g){return s($(g))},A=Je(e.nBitLength);function T(g){return ft(\"num < 2^\"+e.nBitLength,g,dt,A),Mt(g,e.nByteLength)}function S(g,w,b=L){if([\"recovered\",\"canonical\"].some(W=>W in b))throw new Error(\"sign() legacy options not supported\");const{hash:I,randomBytes:R}=e;let{lowS:x,prehash:C,extraEntropy:P}=b;x==null&&(x=!0),g=et(\"msgHash\",g),Jr(b),C&&(g=et(\"prehashed msgHash\",I(g)));const k=B(g),M=u(w),D=[T(M),T(k)];if(P!=null&&P!==!1){const W=P===!0?R(n.BYTES):P;D.push(et(\"extraEntropy\",W))}const z=ne(...D),Z=k;function st(W){const J=$(W);if(!f(J))return;const Be=c(J),zt=a.BASE.multiply(J).toAffine(),vt=s(zt.x);if(vt===dt)return;const Zt=s(Be*s(Z+vt*M));if(Zt===dt)return;let Ut=(zt.x===vt?0:2)|Number(zt.y&K),vn=Zt;return x&&y(Zt)&&(vn=E(Zt),Ut^=1),new d(vt,vn,Ut)}return{seed:z,k2sig:st}}const L={lowS:e.lowS,prehash:!1},U={lowS:e.lowS,prehash:!1};function _(g,w,b=L){const{seed:I,k2sig:R}=S(g,w,b),x=e;return Vr(x.hash.outputLen,x.nByteLength,x.hmac)(I,R)}a.BASE._setWindowSize(8);function j(g,w,b,I=U){const R=g;w=et(\"msgHash\",w),b=et(\"publicKey\",b);const{lowS:x,prehash:C,format:P}=I;if(Jr(I),\"strict\"in I)throw new Error(\"options.strict was renamed to lowS\");if(P!==void 0&&P!==\"compact\"&&P!==\"der\")throw new Error(\"format must be compact or der\");const k=typeof R==\"string\"||St(R),M=!k&&!P&&typeof R==\"object\"&&R!==null&&typeof R.r==\"bigint\"&&typeof R.s==\"bigint\";if(!k&&!M)throw new Error(\"invalid signature, expected Uint8Array, hex string or Signature instance\");let D,z;try{if(M&&(D=new d(R.r,R.s)),k){try{P!==\"compact\"&&(D=d.fromDER(R))}catch(Ut){if(!(Ut instanceof lt.Err))throw Ut}!D&&P!==\"der\"&&(D=d.fromCompact(R))}z=a.fromHex(b)}catch{return!1}if(!D||x&&D.hasHighS())return!1;C&&(w=e.hash(w));const{r:Z,s:st}=D,W=B(w),J=c(st),Be=s(W*J),zt=s(Z*J),vt=a.BASE.multiplyAndAddUnsafe(z,Be,zt)?.toAffine();return vt?s(vt.x)===Z:!1}return{CURVE:e,getPublicKey:m,getSharedSecret:N,sign:_,verify:j,ProjectivePoint:a,Signature:d,utils:v}}function Nc(t){return{hash:t,hmac:(e,...n)=>ye(t,e,Vi(...n)),randomBytes:Lt}}function Uc(t,e){const n=r=>Ic({...t,...Nc(r)});return{...n(e),create:n}}const to=Kr(BigInt(\"0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff\")),Tc=to.create(BigInt(\"-3\")),Rc=BigInt(\"0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b\"),_c=Uc({a:Tc,b:Rc,Fp:to,n:BigInt(\"0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\"),Gx:BigInt(\"0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296\"),Gy:BigInt(\"0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5\"),h:BigInt(1),lowS:!1},Qt),ln=\"base10\",G=\"base16\",qt=\"base64pad\",xe=\"base64url\",Kt=\"utf8\",dn=0,Ft=1,re=2,$c=0,eo=1,oe=12,hn=32;function Lc(){const t=fn.utils.randomPrivateKey(),e=fn.getPublicKey(t);return{privateKey:Q(t,G),publicKey:Q(e,G)}}function jc(){const t=Lt(hn);return Q(t,G)}function Cc(t,e){const n=fn.getSharedSecret(rt(t,G),rt(e,G)),r=Vs(Qt,n,void 0,void 0,hn);return Q(r,G)}function Pc(t){const e=Qt(rt(t,G));return Q(e,G)}function kc(t){const e=Qt(rt(t,Kt));return Q(e,G)}function pn(t){return rt(`${t}`,ln)}function Bt(t){return Number(Q(t,ln))}function no(t){return t.replace(/\\+/g,\"-\").replace(/\\//g,\"_\").replace(/=/g,\"\")}function ro(t){const e=t.replace(/-/g,\"+\").replace(/_/g,\"/\"),n=(4-e.length%4)%4;return e+\"=\".repeat(n)}function Vc(t){const e=pn(typeof t.type<\"u\"?t.type:dn);if(Bt(e)===Ft&&typeof t.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");const n=typeof t.senderPublicKey<\"u\"?rt(t.senderPublicKey,G):void 0,r=typeof t.iv<\"u\"?rt(t.iv,G):Lt(oe),o=rt(t.symKey,G),i=$r(o,r).encrypt(rt(t.message,Kt)),s=gn({type:e,sealed:i,iv:r,senderPublicKey:n});return t.encoding===xe?no(s):s}function Mc(t){const e=rt(t.symKey,G),{sealed:n,iv:r}=Se({encoded:t.encoded,encoding:t.encoding}),o=$r(e,r).decrypt(n);if(o===null)throw new Error(\"Failed to decrypt\");return Q(o,Kt)}function Dc(t,e){const n=pn(re),r=Lt(oe),o=rt(t,Kt),i=gn({type:n,sealed:o,iv:r});return e===xe?no(i):i}function Hc(t,e){const{sealed:n}=Se({encoded:t,encoding:e});return Q(n,Kt)}function gn(t){if(Bt(t.type)===re)return Q(Gt([t.type,t.sealed]),qt);if(Bt(t.type)===Ft){if(typeof t.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");return Q(Gt([t.type,t.senderPublicKey,t.iv,t.sealed]),qt)}return Q(Gt([t.type,t.iv,t.sealed]),qt)}function Se(t){const e=(t.encoding||qt)===xe?ro(t.encoded):t.encoded,n=rt(e,qt),r=n.slice($c,eo),o=eo;if(Bt(r)===Ft){const a=o+hn,u=a+oe,l=n.slice(o,a),f=n.slice(a,u),h=n.slice(u);return{type:r,sealed:h,iv:f,senderPublicKey:l}}if(Bt(r)===re){const a=n.slice(o),u=Lt(oe);return{type:r,sealed:a,iv:u}}const i=o+oe,s=n.slice(o,i),c=n.slice(i);return{type:r,sealed:c,iv:s}}function qc(t,e){const n=Se({encoded:t,encoding:e?.encoding});return oo({type:Bt(n.type),senderPublicKey:typeof n.senderPublicKey<\"u\"?Q(n.senderPublicKey,G):void 0,receiverPublicKey:e?.receiverPublicKey})}function oo(t){const e=t?.type||dn;if(e===Ft){if(typeof t?.senderPublicKey>\"u\")throw new Error(\"missing sender public key\");if(typeof t?.receiverPublicKey>\"u\")throw new Error(\"missing receiver public key\")}return{type:e,senderPublicKey:t?.senderPublicKey,receiverPublicKey:t?.receiverPublicKey}}function Kc(t){return t.type===Ft&&typeof t.senderPublicKey==\"string\"&&typeof t.receiverPublicKey==\"string\"}function Fc(t){return t.type===re}function io(t){const e=Buffer.from(t.x,\"base64\"),n=Buffer.from(t.y,\"base64\");return Gt([new Uint8Array([4]),e,n])}function zc(t,e){const[n,r,o]=t.split(\".\"),i=Buffer.from(ro(o),\"base64\");if(i.length!==64)throw new Error(\"Invalid signature length\");const s=i.slice(0,32),c=i.slice(32,64),a=`${n}.${r}`,u=Qt(a),l=io(e);if(!_c.verify(Gt([s,c]),u,l))throw new Error(\"Invalid signature\");return Mo(t).payload}const so=\"irn\";function Zc(t){return t?.relay||{protocol:so}}function Yc(t){const e=Do[t];if(typeof e>\"u\")throw new Error(`Relay Protocol not supported: ${t}`);return e}function co(t,e=\"-\"){const n={},r=\"relay\"+e;return Object.keys(t).forEach(o=>{if(o.startsWith(r)){const i=o.replace(r,\"\"),s=t[o];n[i]=s}}),n}function Gc(t){if(!t.includes(\"wc:\")){const u=je(t);u!=null&&u.includes(\"wc:\")&&(t=u)}t=t.includes(\"wc://\")?t.replace(\"wc://\",\"\"):t,t=t.includes(\"wc:\")?t.replace(\"wc:\",\"\"):t;const e=t.indexOf(\":\"),n=t.indexOf(\"?\")!==-1?t.indexOf(\"?\"):void 0,r=t.substring(0,e),o=t.substring(e+1,n).split(\"@\"),i=typeof n<\"u\"?t.substring(n):\"\",s=new URLSearchParams(i),c={};s.forEach((u,l)=>{c[l]=u});const a=typeof c.methods==\"string\"?c.methods.split(\",\"):void 0;return{protocol:r,topic:ao(o[0]),version:parseInt(o[1],10),symKey:c.symKey,relay:co(c),methods:a,expiryTimestamp:c.expiryTimestamp?parseInt(c.expiryTimestamp,10):void 0}}function ao(t){return t.startsWith(\"//\")?t.substring(2):t}function uo(t,e=\"-\"){const n=\"relay\",r={};return Object.keys(t).forEach(o=>{const i=o,s=n+e+i;t[i]&&(r[s]=t[i])}),r}function Wc(t){const e=new URLSearchParams,n=uo(t.relay);Object.keys(n).sort().forEach(o=>{e.set(o,n[o])}),e.set(\"symKey\",t.symKey),t.expiryTimestamp&&e.set(\"expiryTimestamp\",t.expiryTimestamp.toString()),t.methods&&e.set(\"methods\",t.methods.join(\",\"));const r=e.toString();return`${t.protocol}:${t.topic}@${t.version}?${r}`}function Xc(t,e,n){return`${t}?wc_ev=${n}&topic=${e}`}var Jc=Object.defineProperty,Qc=Object.defineProperties,ta=Object.getOwnPropertyDescriptors,fo=Object.getOwnPropertySymbols,ea=Object.prototype.hasOwnProperty,na=Object.prototype.propertyIsEnumerable,lo=(t,e,n)=>e in t?Jc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ra=(t,e)=>{for(var n in e||(e={}))ea.call(e,n)&&lo(t,n,e[n]);if(fo)for(var n of fo(e))na.call(e,n)&&lo(t,n,e[n]);return t},oa=(t,e)=>Qc(t,ta(e));function It(t){const e=[];return t.forEach(n=>{const[r,o]=n.split(\":\");e.push(`${r}:${o}`)}),e}function ho(t){const e=[];return Object.values(t).forEach(n=>{e.push(...It(n.accounts))}),e}function po(t,e){const n=[];return Object.values(t).forEach(r=>{It(r.accounts).includes(e)&&n.push(...r.methods)}),n}function go(t,e){const n=[];return Object.values(t).forEach(r=>{It(r.accounts).includes(e)&&n.push(...r.events)}),n}function ia(t,e){const n=Bo(t,e);if(n)throw new Error(n.message);const r={};for(const[o,i]of Object.entries(t))r[o]={methods:i.methods,events:i.events,chains:i.accounts.map(s=>`${s.split(\":\")[0]}:${s.split(\":\")[1]}`)};return r}function sa(t){const{proposal:{requiredNamespaces:e,optionalNamespaces:n={}},supportedNamespaces:r}=t,o=ie(e),i=ie(n),s={};Object.keys(r).forEach(u=>{const l=r[u].chains,f=r[u].methods,h=r[u].events,y=r[u].accounts;l.forEach(E=>{if(!y.some(p=>p.includes(E)))throw new Error(`No accounts provided for chain ${E} in namespace ${u}`)}),s[u]={chains:l,methods:f,events:h,accounts:y}});const c=No(e,s,\"approve()\");if(c)throw new Error(c.message);const a={};return!Object.keys(e).length&&!Object.keys(n).length?s:(Object.keys(o).forEach(u=>{const l=r[u].chains.filter(E=>{var p,d;return(d=(p=o[u])==null?void 0:p.chains)==null?void 0:d.includes(E)}),f=r[u].methods.filter(E=>{var p,d;return(d=(p=o[u])==null?void 0:p.methods)==null?void 0:d.includes(E)}),h=r[u].events.filter(E=>{var p,d;return(d=(p=o[u])==null?void 0:p.events)==null?void 0:d.includes(E)}),y=l.map(E=>r[u].accounts.filter(p=>p.includes(`${E}:`))).flat();a[u]={chains:l,methods:f,events:h,accounts:y}}),Object.keys(i).forEach(u=>{var l,f,h,y,E,p;if(!r[u])return;const d=(f=(l=i[u])==null?void 0:l.chains)==null?void 0:f.filter(N=>r[u].chains.includes(N)),v=r[u].methods.filter(N=>{var $,B;return(B=($=i[u])==null?void 0:$.methods)==null?void 0:B.includes(N)}),m=r[u].events.filter(N=>{var $,B;return(B=($=i[u])==null?void 0:$.events)==null?void 0:B.includes(N)}),O=d?.map(N=>r[u].accounts.filter($=>$.includes(`${N}:`))).flat();a[u]={chains:ot((h=a[u])==null?void 0:h.chains,d),methods:ot((y=a[u])==null?void 0:y.methods,v),events:ot((E=a[u])==null?void 0:E.events,m),accounts:ot((p=a[u])==null?void 0:p.accounts,O)}}),a)}function yn(t){return t.includes(\":\")}function yo(t){return yn(t)?t.split(\":\")[0]:t}function ie(t){var e,n,r;const o={};if(!Oe(t))return o;for(const[i,s]of Object.entries(t)){const c=yn(i)?[i]:s.chains,a=s.methods||[],u=s.events||[],l=yo(i);o[l]=oa(ra({},o[l]),{chains:ot(c,(e=o[l])==null?void 0:e.chains),methods:ot(a,(n=o[l])==null?void 0:n.methods),events:ot(u,(r=o[l])==null?void 0:r.events)})}return o}function mo(t){const e={};return t?.forEach(n=>{var r;const[o,i]=n.split(\":\");e[o]||(e[o]={accounts:[],chains:[],events:[],methods:[]}),e[o].accounts.push(n),(r=e[o].chains)==null||r.push(`${o}:${i}`)}),e}function ca(t,e){e=e.map(r=>r.replace(\"did:pkh:\",\"\"));const n=mo(e);for(const[r,o]of Object.entries(n))o.methods?o.methods=ot(o.methods,t):o.methods=t,o.events=[\"chainChanged\",\"accountsChanged\"];return n}function aa(t,e){var n,r,o,i,s,c;const a=ie(t),u=ie(e),l={},f=Object.keys(a).concat(Object.keys(u));for(const h of f)l[h]={chains:ot((n=a[h])==null?void 0:n.chains,(r=u[h])==null?void 0:r.chains),methods:ot((o=a[h])==null?void 0:o.methods,(i=u[h])==null?void 0:i.methods),events:ot((s=a[h])==null?void 0:s.events,(c=u[h])==null?void 0:c.events)};return l}const wo={INVALID_METHOD:{message:\"Invalid method.\",code:1001},INVALID_EVENT:{message:\"Invalid event.\",code:1002},INVALID_UPDATE_REQUEST:{message:\"Invalid update request.\",code:1003},INVALID_EXTEND_REQUEST:{message:\"Invalid extend request.\",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:\"Invalid session settle request.\",code:1005},UNAUTHORIZED_METHOD:{message:\"Unauthorized method.\",code:3001},UNAUTHORIZED_EVENT:{message:\"Unauthorized event.\",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:\"Unauthorized update request.\",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:\"Unauthorized extend request.\",code:3004},USER_REJECTED:{message:\"User rejected.\",code:5e3},USER_REJECTED_CHAINS:{message:\"User rejected chains.\",code:5001},USER_REJECTED_METHODS:{message:\"User rejected methods.\",code:5002},USER_REJECTED_EVENTS:{message:\"User rejected events.\",code:5003},UNSUPPORTED_CHAINS:{message:\"Unsupported chains.\",code:5100},UNSUPPORTED_METHODS:{message:\"Unsupported methods.\",code:5101},UNSUPPORTED_EVENTS:{message:\"Unsupported events.\",code:5102},UNSUPPORTED_ACCOUNTS:{message:\"Unsupported accounts.\",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:\"Unsupported namespace key.\",code:5104},USER_DISCONNECTED:{message:\"User disconnected.\",code:6e3},SESSION_SETTLEMENT_FAILED:{message:\"Session settlement failed.\",code:7e3},WC_METHOD_UNSUPPORTED:{message:\"Unsupported wc_ method.\",code:10001}},bo={NOT_INITIALIZED:{message:\"Not initialized.\",code:1},NO_MATCHING_KEY:{message:\"No matching key.\",code:2},RESTORE_WILL_OVERRIDE:{message:\"Restore will override.\",code:3},RESUBSCRIBED:{message:\"Resubscribed.\",code:4},MISSING_OR_INVALID:{message:\"Missing or invalid.\",code:5},EXPIRED:{message:\"Expired.\",code:6},UNKNOWN_TYPE:{message:\"Unknown type.\",code:7},MISMATCHED_TOPIC:{message:\"Mismatched topic.\",code:8},NON_CONFORMING_NAMESPACES:{message:\"Non conforming namespaces.\",code:9}};function ht(t,e){const{message:n,code:r}=bo[t];return{message:e?`${n} ${e}`:n,code:r}}function Nt(t,e){const{message:n,code:r}=wo[t];return{message:e?`${n} ${e}`:n,code:r}}function se(t,e){return Array.isArray(t)?typeof e<\"u\"&&t.length?t.every(e):!0:!1}function Oe(t){return Object.getPrototypeOf(t)===Object.prototype&&Object.keys(t).length}function Et(t){return typeof t>\"u\"}function nt(t,e){return e&&Et(t)?!0:typeof t==\"string\"&&!!t.trim().length}function Ae(t,e){return e&&Et(t)?!0:typeof t==\"number\"&&!isNaN(t)}function ua(t,e){const{requiredNamespaces:n}=e,r=Object.keys(t.namespaces),o=Object.keys(n);let i=!0;return gt(o,r)?(r.forEach(s=>{const{accounts:c,methods:a,events:u}=t.namespaces[s],l=It(c),f=n[s];(!gt(ue(s,f),l)||!gt(f.methods,a)||!gt(f.events,u))&&(i=!1)}),i):!1}function ce(t){return nt(t,!1)&&t.includes(\":\")?t.split(\":\").length===2:!1}function Eo(t){if(nt(t,!1)&&t.includes(\":\")){const e=t.split(\":\");if(e.length===3){const n=e[0]+\":\"+e[1];return!!e[2]&&ce(n)}}return!1}function fa(t){function e(n){try{return typeof new URL(n)<\"u\"}catch{return!1}}try{if(nt(t,!1)){if(e(t))return!0;const n=je(t);return e(n)}}catch{}return!1}function la(t){var e;return(e=t?.proposer)==null?void 0:e.publicKey}function da(t){return t?.topic}function ha(t,e){let n=null;return nt(t?.publicKey,!1)||(n=ht(\"MISSING_OR_INVALID\",`${e} controller public key should be a string`)),n}function mn(t){let e=!0;return se(t)?t.length&&(e=t.every(n=>nt(n,!1))):e=!1,e}function vo(t,e,n){let r=null;return se(e)&&e.length?e.forEach(o=>{r||ce(o)||(r=Nt(\"UNSUPPORTED_CHAINS\",`${n}, chain ${o} should be a string and conform to \"namespace:chainId\" format`))}):ce(t)||(r=Nt(\"UNSUPPORTED_CHAINS\",`${n}, chains must be defined as \"namespace:chainId\" e.g. \"eip155:1\": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: [\"eip155:1\", \"eip155:5\"] }`)),r}function xo(t,e,n){let r=null;return Object.entries(t).forEach(([o,i])=>{if(r)return;const s=vo(o,ue(o,i),`${e} ${n}`);s&&(r=s)}),r}function So(t,e){let n=null;return se(t)?t.forEach(r=>{n||Eo(r)||(n=Nt(\"UNSUPPORTED_ACCOUNTS\",`${e}, account ${r} should be a string and conform to \"namespace:chainId:address\" format`))}):n=Nt(\"UNSUPPORTED_ACCOUNTS\",`${e}, accounts should be an array of strings conforming to \"namespace:chainId:address\" format`),n}function Oo(t,e){let n=null;return Object.values(t).forEach(r=>{if(n)return;const o=So(r?.accounts,`${e} namespace`);o&&(n=o)}),n}function Ao(t,e){let n=null;return mn(t?.methods)?mn(t?.events)||(n=Nt(\"UNSUPPORTED_EVENTS\",`${e}, events should be an array of strings or empty array for no events`)):n=Nt(\"UNSUPPORTED_METHODS\",`${e}, methods should be an array of strings or empty array for no methods`),n}function wn(t,e){let n=null;return Object.values(t).forEach(r=>{if(n)return;const o=Ao(r,`${e}, namespace`);o&&(n=o)}),n}function pa(t,e,n){let r=null;if(t&&Oe(t)){const o=wn(t,e);o&&(r=o);const i=xo(t,e,n);i&&(r=i)}else r=ht(\"MISSING_OR_INVALID\",`${e}, ${n} should be an object with data`);return r}function Bo(t,e){let n=null;if(t&&Oe(t)){const r=wn(t,e);r&&(n=r);const o=Oo(t,e);o&&(n=o)}else n=ht(\"MISSING_OR_INVALID\",`${e}, namespaces should be an object with data`);return n}function Io(t){return nt(t.protocol,!0)}function ga(t,e){let n=!1;return e&&!t?n=!0:t&&se(t)&&t.length&&t.forEach(r=>{n=Io(r)}),n}function ya(t){return typeof t==\"number\"}function ma(t){return typeof t<\"u\"&&typeof t!==null}function wa(t){return!(!t||typeof t!=\"object\"||!t.code||!Ae(t.code,!1)||!t.message||!nt(t.message,!1))}function ba(t){return!(Et(t)||!nt(t.method,!1))}function Ea(t){return!(Et(t)||Et(t.result)&&Et(t.error)||!Ae(t.id,!1)||!nt(t.jsonrpc,!1))}function va(t){return!(Et(t)||!nt(t.name,!1))}function xa(t,e){return!(!ce(e)||!ho(t).includes(e))}function Sa(t,e,n){return nt(n,!1)?po(t,e).includes(n):!1}function Oa(t,e,n){return nt(n,!1)?go(t,e).includes(n):!1}function No(t,e,n){let r=null;const o=Aa(t),i=Ba(e),s=Object.keys(o),c=Object.keys(i),a=Uo(Object.keys(t)),u=Uo(Object.keys(e)),l=a.filter(f=>!u.includes(f));return l.length&&(r=ht(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces keys don't satisfy requiredNamespaces.\n Required: ${l.toString()}\n Received: ${Object.keys(e).toString()}`)),gt(s,c)||(r=ht(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces chains don't satisfy required namespaces.\n Required: ${s.toString()}\n Approved: ${c.toString()}`)),Object.keys(e).forEach(f=>{if(!f.includes(\":\")||r)return;const h=It(e[f].accounts);h.includes(f)||(r=ht(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces accounts don't satisfy namespace accounts for ${f}\n Required: ${f}\n Approved: ${h.toString()}`))}),s.forEach(f=>{r||(gt(o[f].methods,i[f].methods)?gt(o[f].events,i[f].events)||(r=ht(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces events don't satisfy namespace events for ${f}`)):r=ht(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces methods don't satisfy namespace methods for ${f}`))}),r}function Aa(t){const e={};return Object.keys(t).forEach(n=>{var r;n.includes(\":\")?e[n]=t[n]:(r=t[n].chains)==null||r.forEach(o=>{e[o]={methods:t[n].methods,events:t[n].events}})}),e}function Uo(t){return[...new Set(t.map(e=>e.includes(\":\")?e.split(\":\")[0]:e))]}function Ba(t){const e={};return Object.keys(t).forEach(n=>{if(n.includes(\":\"))e[n]=t[n];else{const r=It(t[n].accounts);r?.forEach(o=>{e[o]={accounts:t[n].accounts.filter(i=>i.includes(`${o}:`)),methods:t[n].methods,events:t[n].events}})}}),e}function Ia(t,e){return Ae(t,!1)&&t<=e.max&&t>=e.min}function Na(){const t=xt();return new Promise(e=>{switch(t){case Y.browser:e(To());break;case Y.reactNative:e(Ro());break;case Y.node:e(_o());break;default:e(!0)}})}function To(){return Tt()&&navigator?.onLine}async function Ro(){if(pt()&&typeof global<\"u\"&&global!=null&&global.NetInfo){const t=await(global==null?void 0:global.NetInfo.fetch());return t?.isConnected}return!0}function _o(){return!0}function Ua(t){switch(xt()){case Y.browser:$o(t);break;case Y.reactNative:Lo(t);break;case Y.node:break}}function $o(t){!pt()&&Tt()&&(window.addEventListener(\"online\",()=>t(!0)),window.addEventListener(\"offline\",()=>t(!1)))}function Lo(t){pt()&&typeof global<\"u\"&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(e=>t(e?.isConnected))}function Ta(){var t;return Tt()&&Yt()?((t=Yt())==null?void 0:t.visibilityState)===\"visible\":!0}const bn={};class Ra{static get(e){return bn[e]}static set(e,n){bn[e]=n}static delete(e){delete bn[e]}}export{ln as BASE10,G as BASE16,qt as BASE64,xe as BASE64URL,Qo as COLON,Re as DEFAULT_DEPTH,fe as EMPTY_SPACE,Y as ENV_MAP,bo as INTERNAL_ERRORS,Ra as MemoryStore,ti as ONE_THOUSAND,$n as REACT_NATIVE_PRODUCT,so as RELAYER_DEFAULT_PROTOCOL,wo as SDK_ERRORS,jn as SDK_TYPE,Ln as SLASH,dn as TYPE_0,Ft as TYPE_1,re as TYPE_2,Kt as UTF8,Er as addResourceToRecap,Cn as appendToQueryString,ai as assertType,He as assignAbilityToActions,wr as base64Decode,mr as base64Encode,sa as buildApprovedNamespaces,ss as buildAuthObject,ca as buildNamespacesFromAuth,xr as buildRecapStatement,Ei as calcExpiry,pi as capitalize,qn as capitalizeWord,gi as createDelayedPromise,fs as createEncodedRecap,yi as createExpiringPromise,br as createRecap,yt as decodeRecap,Bt as decodeTypeByte,Hc as decodeTypeTwoEnvelope,Mc as decrypt,Cc as deriveSymKey,Se as deserialize,he as encodeRecap,pn as encodeTypeByte,Dc as encodeTypeTwoEnvelope,Vc as encrypt,xi as engineEvent,hi as enumify,Ji as extractSolanaTransactionId,Bn as formatAccountId,Ho as formatAccountWithChain,An as formatChainId,Kn as formatDeeplinkUrl,$e as formatExpirerTarget,wi as formatIdTarget,hr as formatMessage,ui as formatMessageContext,uo as formatRelayParams,si as formatRelayRpcUrl,Ke as formatStatementFromRecap,mi as formatTopicTarget,Mn as formatUA,Wc as formatUri,je as fromBase64,Lc as generateKeyPair,jc as generateRandomBytes32,It as getAccountsChains,Ko as getAccountsFromNamespaces,In as getAddressFromAccount,qo as getAddressesFromAccounts,ri as getAppId,Pn as getAppMetadata,To as getBrowserOnlineStatus,Nn as getChainFromAccount,Un as getChainsFromAccounts,ue as getChainsFromNamespace,Fo as getChainsFromNamespaces,hs as getChainsFromRecap,zo as getChainsFromRequiredNamespaces,Le as getCommonValuesInArrays,io as getCryptoKeyFromKeyData,pr as getDecodedRecapFromResources,Oi as getDeepLink,De as getDidAddress,de as getDidAddressSegments,lr as getDidChainId,xt as getEnvironment,ci as getHttpUrl,ht as getInternalError,Vn as getJavascriptID,kn as getJavascriptOS,Hn as getLastItems,Xc as getLinkModeURL,ds as getMethodsFromRecap,dr as getNamespacedDidChainId,ho as getNamespacesChains,go as getNamespacesEventsForChainId,mo as getNamespacesFromAccounts,po as getNamespacesMethodsForChainId,_o as getNodeOnlineStatus,yr as getReCapActions,Ro as getReactNativeOnlineStatus,us as getRecapAbilitiesFromResource,pe as getRecapFromResources,gr as getRecapResource,ii as getRelayClientMetadata,Yc as getRelayProtocolApi,Zc as getRelayProtocolName,ia as getRequiredNamespacesFromNamespaces,Nt as getSdkError,Ai as getSearchParamFromURL,Te as getUniqueValues,Si as handleDeeplinkRedirect,gt as hasOverlap,Ve as hashEthereumMessage,Pc as hashKey,kc as hashMessage,ei as isAndroid,Ta as isAppVisible,Tt as isBrowser,yn as isCaipNamespace,No as isConformingNamespaces,vi as isExpired,Zn as isIframe,ni as isIos,_e as isNode,Na as isOnline,la as isProposalStruct,pt as isReactNative,qe as isRecap,ua as isSessionCompatible,da as isSessionStruct,zn as isTelegram,Ii as isTestRun,Kc as isTypeOneEnvelope,Fc as isTypeTwoEnvelope,Et as isUndefined,Eo as isValidAccountId,So as isValidAccounts,Ao as isValidActions,se as isValidArray,ce as isValidChainId,vo as isValidChains,ha as isValidController,cr as isValidEip1271Signature,sr as isValidEip191Signature,wa as isValidErrorReason,va as isValidEvent,ya as isValidId,Oo as isValidNamespaceAccounts,wn as isValidNamespaceActions,xo as isValidNamespaceChains,mn as isValidNamespaceMethodsOrEvents,Bo as isValidNamespaces,xa as isValidNamespacesChainId,Oa as isValidNamespacesEvent,Sa as isValidNamespacesRequest,Ae as isValidNumber,Oe as isValidObject,ma as isValidParams,at as isValidRecap,Io as isValidRelay,ga as isValidRelays,ba as isValidRequest,Ia as isValidRequestExpiry,pa as isValidRequiredNamespaces,Ea as isValidResponse,nt as isValidString,fa as isValidUrl,di as mapEntries,fi as mapToObj,ot as mergeArrays,ls as mergeEncodedRecaps,vr as mergeRecaps,aa as mergeRequiredAndOptionalNamespaces,ie as normalizeNamespaces,li as objToMap,Fn as openDeeplink,Ue as parseAccountId,Ne as parseChainId,Dn as parseContextNames,bi as parseExpirerTarget,yo as parseNamespaceKey,co as parseRelayParams,ao as parseTopic,Gc as parseUri,oi as populateAppMetadata,cs as populateAuthPayload,as as recapHasResource,gn as serialize,Ni as sleep,$o as subscribeToBrowserNetworkChange,Ua as subscribeToNetworkChange,Lo as subscribeToReactNativeNetworkChange,Yn as toBase64,Bi as uuidv4,qc as validateDecoding,oo as validateEncoding,is as validateSignedCacao,zc as verifyP256Jwt,ir as verifySignature};\n//# sourceMappingURL=index.es.js.map\n","import Gi,{EventEmitter as ee}from\"events\";import{HEARTBEAT_EVENTS as te,HeartBeat as Wi}from\"@walletconnect/heartbeat\";import Hi from\"@walletconnect/keyvaluestorage\";import{generateChildLogger as N,getLoggerContext as U,pino as Yi,getDefaultLoggerOptions as et,generatePlatformLogger as Ji}from\"@walletconnect/logger\";import{IMessageTracker as Xi,IPublisher as Zi,ISubscriber as Qi,IRelayer as es,IStore as ts,IJsonRpcHistory as is,IExpirer as ss,IVerify as rs,IEchoClient as ns,IEventClient as os,ICore as as}from\"@walletconnect/types\";import{ONE_DAY as ie,SIX_HOURS as cs,THIRTY_DAYS as Ce,FIVE_SECONDS as Pe,THIRTY_SECONDS as Se,toMiliseconds as R,ONE_MINUTE as tt,ONE_SECOND as Z,FIVE_MINUTES as fe,fromMiliseconds as it}from\"@walletconnect/time\";import{safeJsonStringify as hs,safeJsonParse as st}from\"@walletconnect/safe-json\";import*as De from\"@walletconnect/relay-auth\";import{decodeJWT as rt}from\"@walletconnect/relay-auth\";import{mapToObj as Oe,objToMap as Re,getInternalError as m,generateRandomBytes32 as Ae,generateKeyPair as ls,deriveSymKey as us,hashKey as ds,validateEncoding as gs,isTypeTwoEnvelope as nt,encodeTypeTwoEnvelope as ps,isTypeOneEnvelope as ot,encrypt as ys,validateDecoding as bs,decodeTypeTwoEnvelope as ms,decrypt as fs,deserialize as at,decodeTypeByte as Ds,BASE64 as ct,BASE16 as vs,hashMessage as ve,getRelayProtocolApi as oe,getRelayProtocolName as we,isUndefined as xe,createExpiringPromise as X,getSdkError as ae,sleep as ws,isAndroid as _s,getAppId as ht,isIos as Es,isOnline as lt,calcExpiry as ce,isNode as ut,formatRelayRpcUrl as Is,subscribeToNetworkChange as Ts,isAppVisible as Cs,isProposalStruct as Ps,isSessionStruct as Ss,parseExpirerTarget as Os,TYPE_1 as Rs,formatUri as dt,parseUri as gt,createDelayedPromise as As,engineEvent as Ne,isExpired as pt,isValidParams as $e,isValidUrl as xs,isValidString as Ns,formatTopicTarget as $s,formatIdTarget as zs,isTestRun as yt,isBrowser as Ls,verifyP256Jwt as ks,uuidv4 as bt,formatUA as js,getAppMetadata as Us}from\"@walletconnect/utils\";import{toString as Fs}from\"uint8arrays\";import{JsonRpcProvider as Ms}from\"@walletconnect/jsonrpc-provider\";import{getBigIntRpcId as mt,isJsonRpcRequest as ft,isJsonRpcResponse as Dt,formatJsonRpcResult as vt,formatJsonRpcRequest as wt,formatJsonRpcError as Ks,isJsonRpcResult as Bs,isJsonRpcError as _t}from\"@walletconnect/jsonrpc-utils\";import Vs from\"@walletconnect/jsonrpc-ws-connection\";import{getDocument as qs}from\"@walletconnect/window-getters\";const ze=\"wc\",Le=2,he=\"core\",B=`${ze}@2:${he}:`,Et={name:he,logger:\"error\"},It={database:\":memory:\"},Tt=\"crypto\",ke=\"client_ed25519_seed\",Ct=ie,Pt=\"keychain\",St=\"0.3\",Ot=\"messages\",Rt=\"0.3\",je=cs,At=\"publisher\",xt=\"irn\",Nt=\"error\",Ue=\"wss://relay.walletconnect.org\",$t=\"relayer\",C={message:\"relayer_message\",message_ack:\"relayer_message_ack\",connect:\"relayer_connect\",disconnect:\"relayer_disconnect\",error:\"relayer_error\",connection_stalled:\"relayer_connection_stalled\",transport_closed:\"relayer_transport_closed\",publish:\"relayer_publish\"},zt=\"_subscription\",L={payload:\"payload\",connect:\"connect\",disconnect:\"disconnect\",error:\"error\"},Lt=.1,Gs={database:\":memory:\"},_e=\"2.21.0\",Ws=1e4,Q={link_mode:\"link_mode\",relay:\"relay\"},le={inbound:\"inbound\",outbound:\"outbound\"},kt=\"0.3\",jt=\"WALLETCONNECT_CLIENT_ID\",Fe=\"WALLETCONNECT_LINK_MODE_APPS\",$={created:\"subscription_created\",deleted:\"subscription_deleted\",expired:\"subscription_expired\",disabled:\"subscription_disabled\",sync:\"subscription_sync\",resubscribed:\"subscription_resubscribed\"},Hs=Ce,Ut=\"subscription\",Ft=\"0.3\",Ys=Pe*1e3,Mt=\"pairing\",Kt=\"0.3\",Js=Ce,se={wc_pairingDelete:{req:{ttl:ie,prompt:!1,tag:1e3},res:{ttl:ie,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:Se,prompt:!1,tag:1002},res:{ttl:Se,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:ie,prompt:!1,tag:0},res:{ttl:ie,prompt:!1,tag:0}}},re={create:\"pairing_create\",expire:\"pairing_expire\",delete:\"pairing_delete\",ping:\"pairing_ping\"},F={created:\"history_created\",updated:\"history_updated\",deleted:\"history_deleted\",sync:\"history_sync\"},Bt=\"history\",Vt=\"0.3\",qt=\"expirer\",M={created:\"expirer_created\",deleted:\"expirer_deleted\",expired:\"expirer_expired\",sync:\"expirer_sync\"},Gt=\"0.3\",Xs=ie,Wt=\"verify-api\",Zs=\"https://verify.walletconnect.com\",Ht=\"https://verify.walletconnect.org\",ue=Ht,Yt=`${ue}/v3`,Jt=[Zs,Ht],Xt=\"echo\",Zt=\"https://echo.walletconnect.com\",Qs=\"event-client\",G={pairing_started:\"pairing_started\",pairing_uri_validation_success:\"pairing_uri_validation_success\",pairing_uri_not_expired:\"pairing_uri_not_expired\",store_new_pairing:\"store_new_pairing\",subscribing_pairing_topic:\"subscribing_pairing_topic\",subscribe_pairing_topic_success:\"subscribe_pairing_topic_success\",existing_pairing:\"existing_pairing\",pairing_not_expired:\"pairing_not_expired\",emit_inactive_pairing:\"emit_inactive_pairing\",emit_session_proposal:\"emit_session_proposal\",subscribing_to_pairing_topic:\"subscribing_to_pairing_topic\"},Y={no_wss_connection:\"no_wss_connection\",no_internet_connection:\"no_internet_connection\",malformed_pairing_uri:\"malformed_pairing_uri\",active_pairing_already_exists:\"active_pairing_already_exists\",subscribe_pairing_topic_failure:\"subscribe_pairing_topic_failure\",pairing_expired:\"pairing_expired\",proposal_expired:\"proposal_expired\",proposal_listener_not_found:\"proposal_listener_not_found\"},er={session_approve_started:\"session_approve_started\",proposal_not_expired:\"proposal_not_expired\",session_namespaces_validation_success:\"session_namespaces_validation_success\",create_session_topic:\"create_session_topic\",subscribing_session_topic:\"subscribing_session_topic\",subscribe_session_topic_success:\"subscribe_session_topic_success\",publishing_session_approve:\"publishing_session_approve\",session_approve_publish_success:\"session_approve_publish_success\",store_session:\"store_session\",publishing_session_settle:\"publishing_session_settle\",session_settle_publish_success:\"session_settle_publish_success\"},tr={no_internet_connection:\"no_internet_connection\",no_wss_connection:\"no_wss_connection\",proposal_expired:\"proposal_expired\",subscribe_session_topic_failure:\"subscribe_session_topic_failure\",session_approve_publish_failure:\"session_approve_publish_failure\",session_settle_publish_failure:\"session_settle_publish_failure\",session_approve_namespace_validation_failure:\"session_approve_namespace_validation_failure\",proposal_not_found:\"proposal_not_found\"},ir={authenticated_session_approve_started:\"authenticated_session_approve_started\",authenticated_session_not_expired:\"authenticated_session_not_expired\",chains_caip2_compliant:\"chains_caip2_compliant\",chains_evm_compliant:\"chains_evm_compliant\",create_authenticated_session_topic:\"create_authenticated_session_topic\",cacaos_verified:\"cacaos_verified\",store_authenticated_session:\"store_authenticated_session\",subscribing_authenticated_session_topic:\"subscribing_authenticated_session_topic\",subscribe_authenticated_session_topic_success:\"subscribe_authenticated_session_topic_success\",publishing_authenticated_session_approve:\"publishing_authenticated_session_approve\",authenticated_session_approve_publish_success:\"authenticated_session_approve_publish_success\"},sr={no_internet_connection:\"no_internet_connection\",no_wss_connection:\"no_wss_connection\",missing_session_authenticate_request:\"missing_session_authenticate_request\",session_authenticate_request_expired:\"session_authenticate_request_expired\",chains_caip2_compliant_failure:\"chains_caip2_compliant_failure\",chains_evm_compliant_failure:\"chains_evm_compliant_failure\",invalid_cacao:\"invalid_cacao\",subscribe_authenticated_session_topic_failure:\"subscribe_authenticated_session_topic_failure\",authenticated_session_approve_publish_failure:\"authenticated_session_approve_publish_failure\",authenticated_session_pending_request_not_found:\"authenticated_session_pending_request_not_found\"},Qt=.1,ei=\"event-client\",ti=86400,ii=\"https://pulse.walletconnect.org/batch\";function rr(r,e){if(r.length>=255)throw new TypeError(\"Alphabet too long\");for(var t=new Uint8Array(256),i=0;i<t.length;i++)t[i]=255;for(var s=0;s<r.length;s++){var n=r.charAt(s),o=n.charCodeAt(0);if(t[o]!==255)throw new TypeError(n+\" is ambiguous\");t[o]=s}var a=r.length,c=r.charAt(0),h=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function d(u){if(u instanceof Uint8Array||(ArrayBuffer.isView(u)?u=new Uint8Array(u.buffer,u.byteOffset,u.byteLength):Array.isArray(u)&&(u=Uint8Array.from(u))),!(u instanceof Uint8Array))throw new TypeError(\"Expected Uint8Array\");if(u.length===0)return\"\";for(var b=0,x=0,I=0,D=u.length;I!==D&&u[I]===0;)I++,b++;for(var j=(D-I)*l+1>>>0,T=new Uint8Array(j);I!==D;){for(var q=u[I],J=0,K=j-1;(q!==0||J<x)&&K!==-1;K--,J++)q+=256*T[K]>>>0,T[K]=q%a>>>0,q=q/a>>>0;if(q!==0)throw new Error(\"Non-zero carry\");x=J,I++}for(var H=j-x;H!==j&&T[H]===0;)H++;for(var me=c.repeat(b);H<j;++H)me+=r.charAt(T[H]);return me}function g(u){if(typeof u!=\"string\")throw new TypeError(\"Expected String\");if(u.length===0)return new Uint8Array;var b=0;if(u[b]!==\" \"){for(var x=0,I=0;u[b]===c;)x++,b++;for(var D=(u.length-b)*h+1>>>0,j=new Uint8Array(D);u[b];){var T=t[u.charCodeAt(b)];if(T===255)return;for(var q=0,J=D-1;(T!==0||q<I)&&J!==-1;J--,q++)T+=a*j[J]>>>0,j[J]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error(\"Non-zero carry\");I=q,b++}if(u[b]!==\" \"){for(var K=D-I;K!==D&&j[K]===0;)K++;for(var H=new Uint8Array(x+(D-K)),me=x;K!==D;)H[me++]=j[K++];return H}}}function _(u){var b=g(u);if(b)return b;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:g,decode:_}}var nr=rr,or=nr;const si=r=>{if(r instanceof Uint8Array&&r.constructor.name===\"Uint8Array\")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error(\"Unknown type, must be binary type\")},ar=r=>new TextEncoder().encode(r),cr=r=>new TextDecoder().decode(r);class hr{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error(\"Unknown type, must be binary type\")}}class lr{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error(\"Invalid prefix character\");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e==\"string\"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error(\"Can only multibase decode strings\")}or(e){return ri(this,e)}}class ur{constructor(e){this.decoders=e}or(e){return ri(this,e)}decode(e){const t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const ri=(r,e)=>new ur({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class dr{constructor(e,t,i,s){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=s,this.encoder=new hr(e,t,i),this.decoder=new lr(e,t,s)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Ee=({name:r,prefix:e,encode:t,decode:i})=>new dr(r,e,t,i),de=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:s}=or(t,e);return Ee({prefix:r,name:e,encode:i,decode:n=>si(s(n))})},gr=(r,e,t,i)=>{const s={};for(let l=0;l<e.length;++l)s[e[l]]=l;let n=r.length;for(;r[n-1]===\"=\";)--n;const o=new Uint8Array(n*t/8|0);let a=0,c=0,h=0;for(let l=0;l<n;++l){const d=s[r[l]];if(d===void 0)throw new SyntaxError(`Non-${i} character`);c=c<<t|d,a+=t,a>=8&&(a-=8,o[h++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError(\"Unexpected end of data\");return o},pr=(r,e,t)=>{const i=e[e.length-1]===\"=\",s=(1<<t)-1;let n=\"\",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>t;)o-=t,n+=e[s&a>>o];if(o&&(n+=e[s&a<<t-o]),i)for(;n.length*t&7;)n+=\"=\";return n},P=({name:r,prefix:e,bitsPerChar:t,alphabet:i})=>Ee({prefix:e,name:r,encode(s){return pr(s,i,t)},decode(s){return gr(s,i,t,r)}}),yr=Ee({prefix:\"\\0\",name:\"identity\",encode:r=>cr(r),decode:r=>ar(r)});var br=Object.freeze({__proto__:null,identity:yr});const mr=P({prefix:\"0\",name:\"base2\",alphabet:\"01\",bitsPerChar:1});var fr=Object.freeze({__proto__:null,base2:mr});const Dr=P({prefix:\"7\",name:\"base8\",alphabet:\"01234567\",bitsPerChar:3});var vr=Object.freeze({__proto__:null,base8:Dr});const wr=de({prefix:\"9\",name:\"base10\",alphabet:\"0123456789\"});var _r=Object.freeze({__proto__:null,base10:wr});const Er=P({prefix:\"f\",name:\"base16\",alphabet:\"0123456789abcdef\",bitsPerChar:4}),Ir=P({prefix:\"F\",name:\"base16upper\",alphabet:\"0123456789ABCDEF\",bitsPerChar:4});var Tr=Object.freeze({__proto__:null,base16:Er,base16upper:Ir});const Cr=P({prefix:\"b\",name:\"base32\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567\",bitsPerChar:5}),Pr=P({prefix:\"B\",name:\"base32upper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\",bitsPerChar:5}),Sr=P({prefix:\"c\",name:\"base32pad\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567=\",bitsPerChar:5}),Or=P({prefix:\"C\",name:\"base32padupper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=\",bitsPerChar:5}),Rr=P({prefix:\"v\",name:\"base32hex\",alphabet:\"0123456789abcdefghijklmnopqrstuv\",bitsPerChar:5}),Ar=P({prefix:\"V\",name:\"base32hexupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV\",bitsPerChar:5}),xr=P({prefix:\"t\",name:\"base32hexpad\",alphabet:\"0123456789abcdefghijklmnopqrstuv=\",bitsPerChar:5}),Nr=P({prefix:\"T\",name:\"base32hexpadupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV=\",bitsPerChar:5}),$r=P({prefix:\"h\",name:\"base32z\",alphabet:\"ybndrfg8ejkmcpqxot1uwisza345h769\",bitsPerChar:5});var zr=Object.freeze({__proto__:null,base32:Cr,base32upper:Pr,base32pad:Sr,base32padupper:Or,base32hex:Rr,base32hexupper:Ar,base32hexpad:xr,base32hexpadupper:Nr,base32z:$r});const Lr=de({prefix:\"k\",name:\"base36\",alphabet:\"0123456789abcdefghijklmnopqrstuvwxyz\"}),kr=de({prefix:\"K\",name:\"base36upper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\"});var jr=Object.freeze({__proto__:null,base36:Lr,base36upper:kr});const Ur=de({name:\"base58btc\",prefix:\"z\",alphabet:\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\"}),Fr=de({name:\"base58flickr\",prefix:\"Z\",alphabet:\"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ\"});var Mr=Object.freeze({__proto__:null,base58btc:Ur,base58flickr:Fr});const Kr=P({prefix:\"m\",name:\"base64\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",bitsPerChar:6}),Br=P({prefix:\"M\",name:\"base64pad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",bitsPerChar:6}),Vr=P({prefix:\"u\",name:\"base64url\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\",bitsPerChar:6}),qr=P({prefix:\"U\",name:\"base64urlpad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=\",bitsPerChar:6});var Gr=Object.freeze({__proto__:null,base64:Kr,base64pad:Br,base64url:Vr,base64urlpad:qr});const ni=Array.from(\"\\u{1F680}\\u{1FA90}\\u2604\\u{1F6F0}\\u{1F30C}\\u{1F311}\\u{1F312}\\u{1F313}\\u{1F314}\\u{1F315}\\u{1F316}\\u{1F317}\\u{1F318}\\u{1F30D}\\u{1F30F}\\u{1F30E}\\u{1F409}\\u2600\\u{1F4BB}\\u{1F5A5}\\u{1F4BE}\\u{1F4BF}\\u{1F602}\\u2764\\u{1F60D}\\u{1F923}\\u{1F60A}\\u{1F64F}\\u{1F495}\\u{1F62D}\\u{1F618}\\u{1F44D}\\u{1F605}\\u{1F44F}\\u{1F601}\\u{1F525}\\u{1F970}\\u{1F494}\\u{1F496}\\u{1F499}\\u{1F622}\\u{1F914}\\u{1F606}\\u{1F644}\\u{1F4AA}\\u{1F609}\\u263A\\u{1F44C}\\u{1F917}\\u{1F49C}\\u{1F614}\\u{1F60E}\\u{1F607}\\u{1F339}\\u{1F926}\\u{1F389}\\u{1F49E}\\u270C\\u2728\\u{1F937}\\u{1F631}\\u{1F60C}\\u{1F338}\\u{1F64C}\\u{1F60B}\\u{1F497}\\u{1F49A}\\u{1F60F}\\u{1F49B}\\u{1F642}\\u{1F493}\\u{1F929}\\u{1F604}\\u{1F600}\\u{1F5A4}\\u{1F603}\\u{1F4AF}\\u{1F648}\\u{1F447}\\u{1F3B6}\\u{1F612}\\u{1F92D}\\u2763\\u{1F61C}\\u{1F48B}\\u{1F440}\\u{1F62A}\\u{1F611}\\u{1F4A5}\\u{1F64B}\\u{1F61E}\\u{1F629}\\u{1F621}\\u{1F92A}\\u{1F44A}\\u{1F973}\\u{1F625}\\u{1F924}\\u{1F449}\\u{1F483}\\u{1F633}\\u270B\\u{1F61A}\\u{1F61D}\\u{1F634}\\u{1F31F}\\u{1F62C}\\u{1F643}\\u{1F340}\\u{1F337}\\u{1F63B}\\u{1F613}\\u2B50\\u2705\\u{1F97A}\\u{1F308}\\u{1F608}\\u{1F918}\\u{1F4A6}\\u2714\\u{1F623}\\u{1F3C3}\\u{1F490}\\u2639\\u{1F38A}\\u{1F498}\\u{1F620}\\u261D\\u{1F615}\\u{1F33A}\\u{1F382}\\u{1F33B}\\u{1F610}\\u{1F595}\\u{1F49D}\\u{1F64A}\\u{1F639}\\u{1F5E3}\\u{1F4AB}\\u{1F480}\\u{1F451}\\u{1F3B5}\\u{1F91E}\\u{1F61B}\\u{1F534}\\u{1F624}\\u{1F33C}\\u{1F62B}\\u26BD\\u{1F919}\\u2615\\u{1F3C6}\\u{1F92B}\\u{1F448}\\u{1F62E}\\u{1F646}\\u{1F37B}\\u{1F343}\\u{1F436}\\u{1F481}\\u{1F632}\\u{1F33F}\\u{1F9E1}\\u{1F381}\\u26A1\\u{1F31E}\\u{1F388}\\u274C\\u270A\\u{1F44B}\\u{1F630}\\u{1F928}\\u{1F636}\\u{1F91D}\\u{1F6B6}\\u{1F4B0}\\u{1F353}\\u{1F4A2}\\u{1F91F}\\u{1F641}\\u{1F6A8}\\u{1F4A8}\\u{1F92C}\\u2708\\u{1F380}\\u{1F37A}\\u{1F913}\\u{1F619}\\u{1F49F}\\u{1F331}\\u{1F616}\\u{1F476}\\u{1F974}\\u25B6\\u27A1\\u2753\\u{1F48E}\\u{1F4B8}\\u2B07\\u{1F628}\\u{1F31A}\\u{1F98B}\\u{1F637}\\u{1F57A}\\u26A0\\u{1F645}\\u{1F61F}\\u{1F635}\\u{1F44E}\\u{1F932}\\u{1F920}\\u{1F927}\\u{1F4CC}\\u{1F535}\\u{1F485}\\u{1F9D0}\\u{1F43E}\\u{1F352}\\u{1F617}\\u{1F911}\\u{1F30A}\\u{1F92F}\\u{1F437}\\u260E\\u{1F4A7}\\u{1F62F}\\u{1F486}\\u{1F446}\\u{1F3A4}\\u{1F647}\\u{1F351}\\u2744\\u{1F334}\\u{1F4A3}\\u{1F438}\\u{1F48C}\\u{1F4CD}\\u{1F940}\\u{1F922}\\u{1F445}\\u{1F4A1}\\u{1F4A9}\\u{1F450}\\u{1F4F8}\\u{1F47B}\\u{1F910}\\u{1F92E}\\u{1F3BC}\\u{1F975}\\u{1F6A9}\\u{1F34E}\\u{1F34A}\\u{1F47C}\\u{1F48D}\\u{1F4E3}\\u{1F942}\"),Wr=ni.reduce((r,e,t)=>(r[t]=e,r),[]),Hr=ni.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function Yr(r){return r.reduce((e,t)=>(e+=Wr[t],e),\"\")}function Jr(r){const e=[];for(const t of r){const i=Hr[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const Xr=Ee({prefix:\"\\u{1F680}\",name:\"base256emoji\",encode:Yr,decode:Jr});var Zr=Object.freeze({__proto__:null,base256emoji:Xr}),Qr=ai,oi=128,en=127,tn=~en,sn=Math.pow(2,31);function ai(r,e,t){e=e||[],t=t||0;for(var i=t;r>=sn;)e[t++]=r&255|oi,r/=128;for(;r&tn;)e[t++]=r&255|oi,r>>>=7;return e[t]=r|0,ai.bytes=t-i+1,e}var rn=Me,nn=128,ci=127;function Me(r,i){var t=0,i=i||0,s=0,n=i,o,a=r.length;do{if(n>=a)throw Me.bytes=0,new RangeError(\"Could not decode varint\");o=r[n++],t+=s<28?(o&ci)<<s:(o&ci)*Math.pow(2,s),s+=7}while(o>=nn);return Me.bytes=n-i,t}var on=Math.pow(2,7),an=Math.pow(2,14),cn=Math.pow(2,21),hn=Math.pow(2,28),ln=Math.pow(2,35),un=Math.pow(2,42),dn=Math.pow(2,49),gn=Math.pow(2,56),pn=Math.pow(2,63),yn=function(r){return r<on?1:r<an?2:r<cn?3:r<hn?4:r<ln?5:r<un?6:r<dn?7:r<gn?8:r<pn?9:10},bn={encode:Qr,decode:rn,encodingLength:yn},hi=bn;const li=(r,e,t=0)=>(hi.encode(r,e,t),e),ui=r=>hi.encodingLength(r),Ke=(r,e)=>{const t=e.byteLength,i=ui(r),s=i+ui(t),n=new Uint8Array(s+t);return li(r,n,0),li(t,n,i),n.set(e,s),new mn(r,t,e,n)};class mn{constructor(e,t,i,s){this.code=e,this.size=t,this.digest=i,this.bytes=s}}const di=({name:r,code:e,encode:t})=>new fn(r,e,t);class fn{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?Ke(this.code,t):t.then(i=>Ke(this.code,i))}else throw Error(\"Unknown type, must be binary type\")}}const gi=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),Dn=di({name:\"sha2-256\",code:18,encode:gi(\"SHA-256\")}),vn=di({name:\"sha2-512\",code:19,encode:gi(\"SHA-512\")});var wn=Object.freeze({__proto__:null,sha256:Dn,sha512:vn});const pi=0,_n=\"identity\",yi=si,En=r=>Ke(pi,yi(r)),In={code:pi,name:_n,encode:yi,digest:En};var Tn=Object.freeze({__proto__:null,identity:In});new TextEncoder,new TextDecoder;const bi={...br,...fr,...vr,..._r,...Tr,...zr,...jr,...Mr,...Gr,...Zr};({...wn,...Tn});function Cn(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}function mi(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const fi=mi(\"utf8\",\"u\",r=>\"u\"+new TextDecoder(\"utf8\").decode(r),r=>new TextEncoder().encode(r.substring(1))),Be=mi(\"ascii\",\"a\",r=>{let e=\"a\";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);const e=Cn(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Pn={utf8:fi,\"utf-8\":fi,hex:bi.base16,latin1:Be,ascii:Be,binary:Be,...bi};function Sn(r,e=\"utf8\"){const t=Pn[e];if(!t)throw new Error(`Unsupported encoding \"${e}\"`);return(e===\"utf8\"||e===\"utf-8\")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r,\"utf8\"):t.decoder.decode(`${t.prefix}${r}`)}var On=Object.defineProperty,Rn=(r,e,t)=>e in r?On(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,W=(r,e,t)=>Rn(r,typeof e!=\"symbol\"?e+\"\":e,t);class Di{constructor(e,t){this.core=e,this.logger=t,W(this,\"keychain\",new Map),W(this,\"name\",Pt),W(this,\"version\",St),W(this,\"initialized\",!1),W(this,\"storagePrefix\",B),W(this,\"init\",async()=>{if(!this.initialized){const i=await this.getKeyChain();typeof i<\"u\"&&(this.keychain=i),this.initialized=!0}}),W(this,\"has\",i=>(this.isInitialized(),this.keychain.has(i))),W(this,\"set\",async(i,s)=>{this.isInitialized(),this.keychain.set(i,s),await this.persist()}),W(this,\"get\",i=>{this.isInitialized();const s=this.keychain.get(i);if(typeof s>\"u\"){const{message:n}=m(\"NO_MATCHING_KEY\",`${this.name}: ${i}`);throw new Error(n)}return s}),W(this,\"del\",async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()}),this.core=e,this.logger=N(t,this.name)}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,Oe(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?Re(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var An=Object.defineProperty,xn=(r,e,t)=>e in r?An(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,S=(r,e,t)=>xn(r,typeof e!=\"symbol\"?e+\"\":e,t);class vi{constructor(e,t,i){this.core=e,this.logger=t,S(this,\"name\",Tt),S(this,\"keychain\"),S(this,\"randomSessionIdentifier\",Ae()),S(this,\"initialized\",!1),S(this,\"init\",async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)}),S(this,\"hasKeys\",s=>(this.isInitialized(),this.keychain.has(s))),S(this,\"getClientId\",async()=>{this.isInitialized();const s=await this.getClientSeed(),n=De.generateKeyPair(s);return De.encodeIss(n.publicKey)}),S(this,\"generateKeyPair\",()=>{this.isInitialized();const s=ls();return this.setPrivateKey(s.publicKey,s.privateKey)}),S(this,\"signJWT\",async s=>{this.isInitialized();const n=await this.getClientSeed(),o=De.generateKeyPair(n),a=this.randomSessionIdentifier,c=Ct;return await De.signJWT(a,s,c,o)}),S(this,\"generateSharedKey\",(s,n,o)=>{this.isInitialized();const a=this.getPrivateKey(s),c=us(a,n);return this.setSymKey(c,o)}),S(this,\"setSymKey\",async(s,n)=>{this.isInitialized();const o=n||ds(s);return await this.keychain.set(o,s),o}),S(this,\"deleteKeyPair\",async s=>{this.isInitialized(),await this.keychain.del(s)}),S(this,\"deleteSymKey\",async s=>{this.isInitialized(),await this.keychain.del(s)}),S(this,\"encode\",async(s,n,o)=>{this.isInitialized();const a=gs(o),c=hs(n);if(nt(a))return ps(c,o?.encoding);if(ot(a)){const g=a.senderPublicKey,_=a.receiverPublicKey;s=await this.generateSharedKey(g,_)}const h=this.getSymKey(s),{type:l,senderPublicKey:d}=a;return ys({type:l,symKey:h,message:c,senderPublicKey:d,encoding:o?.encoding})}),S(this,\"decode\",async(s,n,o)=>{this.isInitialized();const a=bs(n,o);if(nt(a)){const c=ms(n,o?.encoding);return st(c)}if(ot(a)){const c=a.receiverPublicKey,h=a.senderPublicKey;s=await this.generateSharedKey(c,h)}try{const c=this.getSymKey(s),h=fs({symKey:c,encoded:n,encoding:o?.encoding});return st(h)}catch(c){this.logger.error(`Failed to decode message from topic: '${s}', clientId: '${await this.getClientId()}'`),this.logger.error(c)}}),S(this,\"getPayloadType\",(s,n=ct)=>{const o=at({encoded:s,encoding:n});return Ds(o.type)}),S(this,\"getPayloadSenderPublicKey\",(s,n=ct)=>{const o=at({encoded:s,encoding:n});return o.senderPublicKey?Fs(o.senderPublicKey,vs):void 0}),this.core=e,this.logger=N(t,this.name),this.keychain=i||new Di(this.core,this.logger)}get context(){return U(this.logger)}async setPrivateKey(e,t){return await this.keychain.set(e,t),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e=\"\";try{e=this.keychain.get(ke)}catch{e=Ae(),await this.keychain.set(ke,e)}return Sn(e,\"base16\")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var Nn=Object.defineProperty,$n=Object.defineProperties,zn=Object.getOwnPropertyDescriptors,wi=Object.getOwnPropertySymbols,Ln=Object.prototype.hasOwnProperty,kn=Object.prototype.propertyIsEnumerable,Ve=(r,e,t)=>e in r?Nn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,jn=(r,e)=>{for(var t in e||(e={}))Ln.call(e,t)&&Ve(r,t,e[t]);if(wi)for(var t of wi(e))kn.call(e,t)&&Ve(r,t,e[t]);return r},Un=(r,e)=>$n(r,zn(e)),k=(r,e,t)=>Ve(r,typeof e!=\"symbol\"?e+\"\":e,t);class _i extends Xi{constructor(e,t){super(e,t),this.logger=e,this.core=t,k(this,\"messages\",new Map),k(this,\"messagesWithoutClientAck\",new Map),k(this,\"name\",Ot),k(this,\"version\",Rt),k(this,\"initialized\",!1),k(this,\"storagePrefix\",B),k(this,\"init\",async()=>{if(!this.initialized){this.logger.trace(\"Initialized\");try{const i=await this.getRelayerMessages();typeof i<\"u\"&&(this.messages=i);const s=await this.getRelayerMessagesWithoutClientAck();typeof s<\"u\"&&(this.messagesWithoutClientAck=s),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",size:this.messages.size})}catch(i){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(i)}finally{this.initialized=!0}}}),k(this,\"set\",async(i,s,n)=>{this.isInitialized();const o=ve(s);let a=this.messages.get(i);if(typeof a>\"u\"&&(a={}),typeof a[o]<\"u\")return o;if(a[o]=s,this.messages.set(i,a),n===le.inbound){const c=this.messagesWithoutClientAck.get(i)||{};this.messagesWithoutClientAck.set(i,Un(jn({},c),{[o]:s}))}return await this.persist(),o}),k(this,\"get\",i=>{this.isInitialized();let s=this.messages.get(i);return typeof s>\"u\"&&(s={}),s}),k(this,\"getWithoutAck\",i=>{this.isInitialized();const s={};for(const n of i){const o=this.messagesWithoutClientAck.get(n)||{};s[n]=Object.values(o)}return s}),k(this,\"has\",(i,s)=>{this.isInitialized();const n=this.get(i),o=ve(s);return typeof n[o]<\"u\"}),k(this,\"ack\",async(i,s)=>{this.isInitialized();const n=this.messagesWithoutClientAck.get(i);if(typeof n>\"u\")return;const o=ve(s);delete n[o],Object.keys(n).length===0?this.messagesWithoutClientAck.delete(i):this.messagesWithoutClientAck.set(i,n),await this.persist()}),k(this,\"del\",async i=>{this.isInitialized(),this.messages.delete(i),this.messagesWithoutClientAck.delete(i),await this.persist()}),this.logger=N(e,this.name),this.core=t}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get storageKeyWithoutClientAck(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name+\"_withoutClientAck\"}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,Oe(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,Oe(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?Re(e):void 0}async getRelayerMessagesWithoutClientAck(){const e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return typeof e<\"u\"?Re(e):void 0}async persist(){await this.setRelayerMessages(this.messages),await this.setRelayerMessagesWithoutClientAck(this.messagesWithoutClientAck)}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var Fn=Object.defineProperty,Mn=Object.defineProperties,Kn=Object.getOwnPropertyDescriptors,Ei=Object.getOwnPropertySymbols,Bn=Object.prototype.hasOwnProperty,Vn=Object.prototype.propertyIsEnumerable,qe=(r,e,t)=>e in r?Fn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ie=(r,e)=>{for(var t in e||(e={}))Bn.call(e,t)&&qe(r,t,e[t]);if(Ei)for(var t of Ei(e))Vn.call(e,t)&&qe(r,t,e[t]);return r},Ge=(r,e)=>Mn(r,Kn(e)),V=(r,e,t)=>qe(r,typeof e!=\"symbol\"?e+\"\":e,t);class qn extends Zi{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,V(this,\"events\",new ee),V(this,\"name\",At),V(this,\"queue\",new Map),V(this,\"publishTimeout\",R(tt)),V(this,\"initialPublishTimeout\",R(Z*15)),V(this,\"needsTransportRestart\",!1),V(this,\"publish\",async(i,s,n)=>{var o;this.logger.debug(\"Publishing Payload\"),this.logger.trace({type:\"method\",method:\"publish\",params:{topic:i,message:s,opts:n}});const a=n?.ttl||je,c=we(n),h=n?.prompt||!1,l=n?.tag||0,d=n?.id||mt().toString(),g={topic:i,message:s,opts:{ttl:a,relay:c,prompt:h,tag:l,id:d,attestation:n?.attestation,tvf:n?.tvf}},_=`Failed to publish payload, please try again. id:${d} tag:${l}`;try{const u=new Promise(async b=>{const x=({id:D})=>{g.opts.id===D&&(this.removeRequestFromQueue(D),this.relayer.events.removeListener(C.publish,x),b(g))};this.relayer.events.on(C.publish,x);const I=X(new Promise((D,j)=>{this.rpcPublish({topic:i,message:s,ttl:a,prompt:h,tag:l,id:d,attestation:n?.attestation,tvf:n?.tvf}).then(D).catch(T=>{this.logger.warn(T,T?.message),j(T)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${d} tag:${l}`);try{await I,this.events.removeListener(C.publish,x)}catch(D){this.queue.set(d,Ge(Ie({},g),{attempt:1})),this.logger.warn(D,D?.message)}});this.logger.trace({type:\"method\",method:\"publish\",params:{id:d,topic:i,message:s,opts:n}}),await X(u,this.publishTimeout,_)}catch(u){if(this.logger.debug(\"Failed to Publish Payload\"),this.logger.error(u),(o=n?.internal)!=null&&o.throwOnFailedPublish)throw u}finally{this.queue.delete(d)}}),V(this,\"on\",(i,s)=>{this.events.on(i,s)}),V(this,\"once\",(i,s)=>{this.events.once(i,s)}),V(this,\"off\",(i,s)=>{this.events.off(i,s)}),V(this,\"removeListener\",(i,s)=>{this.events.removeListener(i,s)}),this.relayer=e,this.logger=N(t,this.name),this.registerEventListeners()}get context(){return U(this.logger)}async rpcPublish(e){var t,i,s,n;const{topic:o,message:a,ttl:c=je,prompt:h,tag:l,id:d,attestation:g,tvf:_}=e,u={method:oe(we().protocol).publish,params:Ie({topic:o,message:a,ttl:c,prompt:h,tag:l,attestation:g},_),id:d};xe((t=u.params)==null?void 0:t.prompt)&&((i=u.params)==null||delete i.prompt),xe((s=u.params)==null?void 0:s.tag)&&((n=u.params)==null||delete n.tag),this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"message\",direction:\"outgoing\",request:u});const b=await this.relayer.request(u);return this.relayer.events.emit(C.publish,e),this.logger.debug(\"Successfully Published Payload\"),b}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{const i=e.attempt+1;this.queue.set(t,Ge(Ie({},e),{attempt:i}));const{topic:s,message:n,opts:o,attestation:a}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${i}`),await this.rpcPublish(Ge(Ie({},e),{topic:s,message:n,ttl:o.ttl,prompt:o.prompt,tag:o.tag,id:o.id,attestation:a,tvf:o.tvf})),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(te.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(C.connection_stalled);return}this.checkQueue()}),this.relayer.on(C.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}var Gn=Object.defineProperty,Wn=(r,e,t)=>e in r?Gn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ne=(r,e,t)=>Wn(r,typeof e!=\"symbol\"?e+\"\":e,t);class Hn{constructor(){ne(this,\"map\",new Map),ne(this,\"set\",(e,t)=>{const i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])}),ne(this,\"get\",e=>this.map.get(e)||[]),ne(this,\"exists\",(e,t)=>this.get(e).includes(t)),ne(this,\"delete\",(e,t)=>{if(typeof t>\"u\"){this.map.delete(e);return}if(!this.map.has(e))return;const i=this.get(e);if(!this.exists(e,t))return;const s=i.filter(n=>n!==t);if(!s.length){this.map.delete(e);return}this.map.set(e,s)}),ne(this,\"clear\",()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}}var Yn=Object.defineProperty,Jn=Object.defineProperties,Xn=Object.getOwnPropertyDescriptors,Ii=Object.getOwnPropertySymbols,Zn=Object.prototype.hasOwnProperty,Qn=Object.prototype.propertyIsEnumerable,We=(r,e,t)=>e in r?Yn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ge=(r,e)=>{for(var t in e||(e={}))Zn.call(e,t)&&We(r,t,e[t]);if(Ii)for(var t of Ii(e))Qn.call(e,t)&&We(r,t,e[t]);return r},He=(r,e)=>Jn(r,Xn(e)),f=(r,e,t)=>We(r,typeof e!=\"symbol\"?e+\"\":e,t);class Ti extends Qi{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,f(this,\"subscriptions\",new Map),f(this,\"topicMap\",new Hn),f(this,\"events\",new ee),f(this,\"name\",Ut),f(this,\"version\",Ft),f(this,\"pending\",new Map),f(this,\"cached\",[]),f(this,\"initialized\",!1),f(this,\"storagePrefix\",B),f(this,\"subscribeTimeout\",R(tt)),f(this,\"initialSubscribeTimeout\",R(Z*15)),f(this,\"clientId\"),f(this,\"batchSubscribeTopicsLimit\",500),f(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),this.registerEventListeners(),await this.restore()),this.initialized=!0}),f(this,\"subscribe\",async(i,s)=>{this.isInitialized(),this.logger.debug(\"Subscribing Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:i,opts:s}});try{const n=we(s),o={topic:i,relay:n,transportType:s?.transportType};this.pending.set(i,o);const a=await this.rpcSubscribe(i,n,s);return typeof a==\"string\"&&(this.onSubscribe(a,o),this.logger.debug(\"Successfully Subscribed Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:i,opts:s}})),a}catch(n){throw this.logger.debug(\"Failed to Subscribe Topic\"),this.logger.error(n),n}}),f(this,\"unsubscribe\",async(i,s)=>{this.isInitialized(),typeof s?.id<\"u\"?await this.unsubscribeById(i,s.id,s):await this.unsubscribeByTopic(i,s)}),f(this,\"isSubscribed\",i=>new Promise(s=>{s(this.topicMap.topics.includes(i))})),f(this,\"isKnownTopic\",i=>new Promise(s=>{s(this.topicMap.topics.includes(i)||this.pending.has(i)||this.cached.some(n=>n.topic===i))})),f(this,\"on\",(i,s)=>{this.events.on(i,s)}),f(this,\"once\",(i,s)=>{this.events.once(i,s)}),f(this,\"off\",(i,s)=>{this.events.off(i,s)}),f(this,\"removeListener\",(i,s)=>{this.events.removeListener(i,s)}),f(this,\"start\",async()=>{await this.onConnect()}),f(this,\"stop\",async()=>{await this.onDisconnect()}),f(this,\"restart\",async()=>{await this.restore(),await this.onRestart()}),f(this,\"checkPending\",async()=>{if(this.pending.size===0&&(!this.initialized||!this.relayer.connected))return;const i=[];this.pending.forEach(s=>{i.push(s)}),await this.batchSubscribe(i)}),f(this,\"registerEventListeners\",()=>{this.relayer.core.heartbeat.on(te.pulse,async()=>{await this.checkPending()}),this.events.on($.created,async i=>{const s=$.created;this.logger.info(`Emitting ${s}`),this.logger.debug({type:\"event\",event:s,data:i}),await this.persist()}),this.events.on($.deleted,async i=>{const s=$.deleted;this.logger.info(`Emitting ${s}`),this.logger.debug({type:\"event\",event:s,data:i}),await this.persist()})}),this.relayer=e,this.logger=N(t,this.name),this.clientId=\"\"}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+\"//\"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}get hasAnyTopics(){return this.topicMap.topics.length>0||this.pending.size>0||this.cached.length>0||this.subscriptions.size>0}hasSubscription(e,t){let i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}reset(){this.cached=[],this.initialized=!0}onDisable(){this.values.length>0&&(this.cached=this.values),this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const i=this.topicMap.get(e);await Promise.all(i.map(async s=>await this.unsubscribeById(e,s,t)))}async unsubscribeById(e,t,i){this.logger.debug(\"Unsubscribing Topic\"),this.logger.trace({type:\"method\",method:\"unsubscribe\",params:{topic:e,id:t,opts:i}});try{const s=we(i);await this.restartToComplete({topic:e,id:t,relay:s}),await this.rpcUnsubscribe(e,t,s);const n=ae(\"USER_DISCONNECTED\",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,n),this.logger.debug(\"Successfully Unsubscribed Topic\"),this.logger.trace({type:\"method\",method:\"unsubscribe\",params:{topic:e,id:t,opts:i}})}catch(s){throw this.logger.debug(\"Failed to Unsubscribe Topic\"),this.logger.error(s),s}}async rpcSubscribe(e,t,i){var s;(!i||i?.transportType===Q.relay)&&await this.restartToComplete({topic:e,id:e,relay:t});const n={method:oe(t.protocol).subscribe,params:{topic:e}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:n});const o=(s=i?.internal)==null?void 0:s.throwOnFailedPublish;try{const a=await this.getSubscriptionId(e);if(i?.transportType===Q.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(n).catch(l=>this.logger.warn(l))},R(Z)),a;const c=new Promise(async l=>{const d=g=>{g.topic===e&&(this.events.removeListener($.created,d),l(g.id))};this.events.on($.created,d);try{const g=await X(new Promise((_,u)=>{this.relayer.request(n).catch(b=>{this.logger.warn(b,b?.message),u(b)}).then(_)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener($.created,d),l(g)}catch{}}),h=await X(c,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!h&&o)throw new Error(`Subscribing to ${e} failed, please try again`);return h?a:null}catch(a){if(this.logger.debug(\"Outgoing Relay Subscribe Payload stalled\"),this.relayer.events.emit(C.connection_stalled),o)throw a}return null}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:oe(t.protocol).batchSubscribe,params:{topics:e.map(s=>s.topic)}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i});try{await await X(new Promise(s=>{this.relayer.request(i).catch(n=>this.logger.warn(n)).then(s)}),this.subscribeTimeout,\"rpcBatchSubscribe failed, please try again\")}catch{this.relayer.events.emit(C.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;const t=e[0].relay,i={method:oe(t.protocol).batchFetchMessages,params:{topics:e.map(n=>n.topic)}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i});let s;try{s=await await X(new Promise((n,o)=>{this.relayer.request(i).catch(a=>{this.logger.warn(a),o(a)}).then(n)}),this.subscribeTimeout,\"rpcBatchFetchMessages failed, please try again\")}catch{this.relayer.events.emit(C.connection_stalled)}return s}rpcUnsubscribe(e,t,i){const s={method:oe(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:s}),this.relayer.request(s)}onSubscribe(e,t){this.setSubscription(e,He(ge({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,ge({},t)),this.pending.delete(t.topic)})}async onUnsubscribe(e,t,i){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,i),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,t){this.logger.debug(\"Setting subscription\"),this.logger.trace({type:\"method\",method:\"setSubscription\",id:e,subscription:t}),this.addSubscription(e,t)}addSubscription(e,t){this.subscriptions.set(e,ge({},t)),this.topicMap.set(t.topic,e),this.events.emit($.created,t)}getSubscription(e){this.logger.debug(\"Getting subscription\"),this.logger.trace({type:\"method\",method:\"getSubscription\",id:e});const t=this.subscriptions.get(e);if(!t){const{message:i}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(i)}return t}deleteSubscription(e,t){this.logger.debug(\"Deleting subscription\"),this.logger.trace({type:\"method\",method:\"deleteSubscription\",id:e,reason:t});const i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit($.deleted,He(ge({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit($.sync)}async onRestart(){if(this.cached.length){const e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let i=0;i<t;i++){const s=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(s)}}this.events.emit($.resubscribed)}async restore(){try{const e=await this.getRelayerSubscriptions();if(typeof e>\"u\"||!e.length)return;if(this.subscriptions.size){const{message:t}=m(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(await Promise.all(e.map(async t=>He(ge({},t),{id:await this.getSubscriptionId(t.topic)})))))}async batchFetchMessages(e){if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);const t=await this.rpcBatchFetchMessages(e);t&&t.messages&&(await ws(R(Z)),await this.relayer.handleBatchMessageEvents(t.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}async restartToComplete(e){!this.relayer.connected&&!this.relayer.connecting&&(this.cached.push(e),await this.relayer.transportOpen())}async getClientId(){return this.clientId||(this.clientId=await this.relayer.core.crypto.getClientId()),this.clientId}async getSubscriptionId(e){return ve(e+await this.getClientId())}}var eo=Object.defineProperty,Ci=Object.getOwnPropertySymbols,to=Object.prototype.hasOwnProperty,io=Object.prototype.propertyIsEnumerable,Ye=(r,e,t)=>e in r?eo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Pi=(r,e)=>{for(var t in e||(e={}))to.call(e,t)&&Ye(r,t,e[t]);if(Ci)for(var t of Ci(e))io.call(e,t)&&Ye(r,t,e[t]);return r},y=(r,e,t)=>Ye(r,typeof e!=\"symbol\"?e+\"\":e,t);class Si extends es{constructor(e){super(e),y(this,\"protocol\",\"wc\"),y(this,\"version\",2),y(this,\"core\"),y(this,\"logger\"),y(this,\"events\",new ee),y(this,\"provider\"),y(this,\"messages\"),y(this,\"subscriber\"),y(this,\"publisher\"),y(this,\"name\",$t),y(this,\"transportExplicitlyClosed\",!1),y(this,\"initialized\",!1),y(this,\"connectionAttemptInProgress\",!1),y(this,\"relayUrl\"),y(this,\"projectId\"),y(this,\"packageName\"),y(this,\"bundleId\"),y(this,\"hasExperiencedNetworkDisruption\",!1),y(this,\"pingTimeout\"),y(this,\"heartBeatTimeout\",R(Se+Pe)),y(this,\"reconnectTimeout\"),y(this,\"connectPromise\"),y(this,\"reconnectInProgress\",!1),y(this,\"requestsInFlight\",[]),y(this,\"connectTimeout\",R(Z*15)),y(this,\"request\",async t=>{var i,s;this.logger.debug(\"Publishing Request Payload\");const n=t.id||mt().toString();await this.toEstablishConnection();try{this.logger.trace({id:n,method:t.method,topic:(i=t.params)==null?void 0:i.topic},\"relayer.request - publishing...\");const o=`${n}:${((s=t.params)==null?void 0:s.tag)||\"\"}`;this.requestsInFlight.push(o);const a=await this.provider.request(t);return this.requestsInFlight=this.requestsInFlight.filter(c=>c!==o),a}catch(o){throw this.logger.debug(`Failed to Publish Request: ${n}`),o}}),y(this,\"resetPingTimeout\",()=>{ut()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var t,i,s,n;try{this.logger.debug({},\"pingTimeout: Connection stalled, terminating...\"),(n=(s=(i=(t=this.provider)==null?void 0:t.connection)==null?void 0:i.socket)==null?void 0:s.terminate)==null||n.call(s)}catch(o){this.logger.warn(o,o?.message)}},this.heartBeatTimeout))}),y(this,\"onPayloadHandler\",t=>{this.onProviderPayload(t),this.resetPingTimeout()}),y(this,\"onConnectHandler\",()=>{this.logger.warn({},\"Relayer connected \\u{1F6DC}\"),this.startPingTimeout(),this.events.emit(C.connect)}),y(this,\"onDisconnectHandler\",()=>{this.logger.warn({},\"Relayer disconnected \\u{1F6D1}\"),this.requestsInFlight=[],this.onProviderDisconnect()}),y(this,\"onProviderErrorHandler\",t=>{this.logger.fatal(`Fatal socket error: ${t.message}`),this.events.emit(C.error,t),this.logger.fatal(\"Fatal socket error received, closing transport\"),this.transportClose()}),y(this,\"registerProviderListeners\",()=>{this.provider.on(L.payload,this.onPayloadHandler),this.provider.on(L.connect,this.onConnectHandler),this.provider.on(L.disconnect,this.onDisconnectHandler),this.provider.on(L.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger=typeof e.logger<\"u\"&&typeof e.logger!=\"string\"?N(e.logger,this.name):Yi(et({level:e.logger||Nt})),this.messages=new _i(this.logger,e.core),this.subscriber=new Ti(this,this.logger),this.publisher=new qn(this,this.logger),this.relayUrl=e?.relayUrl||Ue,this.projectId=e.projectId,_s()?this.packageName=ht():Es()&&(this.bundleId=ht()),this.provider={}}async init(){if(this.logger.trace(\"Initialized\"),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.subscriber.hasAnyTopics)try{await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}}get context(){return U(this.logger)}get connected(){var e,t,i;return((i=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:i.readyState)===1||!1}get connecting(){var e,t,i;return((i=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:i.readyState)===0||this.connectPromise!==void 0||!1}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:Q.relay},le.outbound)}async subscribe(e,t){var i,s,n;this.isInitialized(),(!(t!=null&&t.transportType)||t?.transportType===\"relay\")&&await this.toEstablishConnection();const o=typeof((i=t?.internal)==null?void 0:i.throwOnFailedPublish)>\"u\"?!0:(s=t?.internal)==null?void 0:s.throwOnFailedPublish;let a=((n=this.subscriber.topicMap.get(e))==null?void 0:n[0])||\"\",c;const h=l=>{l.topic===e&&(this.subscriber.off($.created,h),c())};return await Promise.all([new Promise(l=>{c=l,this.subscriber.on($.created,h)}),new Promise(async(l,d)=>{a=await this.subscriber.subscribe(e,Pi({internal:{throwOnFailedPublish:o}},t)).catch(g=>{o&&d(g)})||a,l()})]),a}async unsubscribe(e,t){this.isInitialized(),await this.subscriber.unsubscribe(e,t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async transportDisconnect(){this.provider.disconnect&&(this.hasExperiencedNetworkDisruption||this.connected)?await X(this.provider.disconnect(),2e3,\"provider.disconnect()\").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){if(!this.subscriber.hasAnyTopics){this.logger.warn(\"Starting WS connection skipped because the client has no topics to work with.\");return}if(this.connectPromise?(this.logger.debug({},\"Waiting for existing connection attempt to resolve...\"),await this.connectPromise,this.logger.debug({},\"Existing connection attempt resolved\")):(this.connectPromise=new Promise(async(t,i)=>{await this.connect(e).then(t).catch(i).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw new Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},\"Restarting transport...\"),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await lt())throw new Error(\"No internet connection detected. Please restart your network and try again.\")}async handleBatchMessageEvents(e){if(e?.length===0){this.logger.trace(\"Batch message events is empty. Ignoring...\");return}const t=e.sort((i,s)=>i.publishedAt-s.publishedAt);this.logger.debug(`Batch of ${t.length} message events sorted`);for(const i of t)try{await this.onMessageEvent(i)}catch(s){this.logger.warn(s,\"Error while processing batch message event: \"+s?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){const{topic:i}=e;if(!t.sessionExists){const s=ce(fe),n={topic:i,expiry:s,relay:{protocol:\"irn\"},active:!1};await this.core.pairing.pairings.set(i,n)}this.events.emit(C.message,e),await this.recordMessageEvent(e,le.inbound)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let t=1;for(;t<6;){try{if(this.transportExplicitlyClosed)break;this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${t}...`),await this.createProvider(),await new Promise(async(i,s)=>{const n=()=>{s(new Error(\"Connection interrupted while trying to subscribe\"))};this.provider.once(L.disconnect,n),await X(new Promise((o,a)=>{this.provider.connect().then(o).catch(a)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(o=>{s(o)}).finally(()=>{this.provider.off(L.disconnect,n),clearTimeout(this.reconnectTimeout)}),await new Promise(async(o,a)=>{const c=()=>{a(new Error(\"Connection interrupted while trying to subscribe\"))};this.provider.once(L.disconnect,c),await this.subscriber.start().then(o).catch(a).finally(()=>{this.provider.off(L.disconnect,c)})}),this.hasExperiencedNetworkDisruption=!1,i()})}catch(i){await this.subscriber.stop();const s=i;this.logger.warn({},s.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${t}`);break}await new Promise(i=>setTimeout(i,R(t*1))),t++}}startPingTimeout(){var e,t,i,s,n;if(ut())try{(t=(e=this.provider)==null?void 0:e.connection)!=null&&t.socket&&((n=(s=(i=this.provider)==null?void 0:i.connection)==null?void 0:s.socket)==null||n.on(\"ping\",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(o){this.logger.warn(o,o?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new Ms(new Vs(Is({sdkVersion:_e,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId,packageName:this.packageName}))),this.registerProviderListeners()}async recordMessageEvent(e,t){const{topic:i,message:s}=e;await this.messages.set(i,s,t)}async shouldIgnoreMessageEvent(e){const{topic:t,message:i}=e;if(!i||i.length===0)return this.logger.warn(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isKnownTopic(t))return this.logger.warn(`Ignoring message for unknown topic ${t}`),!0;const s=this.messages.has(t,i);return s&&this.logger.warn(`Ignoring duplicate message: ${i}`),s}async onProviderPayload(e){if(this.logger.debug(\"Incoming Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"incoming\",payload:e}),ft(e)){if(!e.method.endsWith(zt))return;const t=e.params,{topic:i,message:s,publishedAt:n,attestation:o}=t.data,a={topic:i,message:s,publishedAt:n,transportType:Q.relay,attestation:o};this.logger.debug(\"Emitting Relayer Payload\"),this.logger.trace(Pi({type:\"event\",event:t.id},a)),this.events.emit(t.id,a),await this.acknowledgePayload(e),await this.onMessageEvent(a)}else Dt(e)&&this.events.emit(C.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,le.inbound),this.events.emit(C.message,e))}async acknowledgePayload(e){const t=vt(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(L.payload,this.onPayloadHandler),this.provider.off(L.connect,this.onConnectHandler),this.provider.off(L.disconnect,this.onDisconnectHandler),this.provider.off(L.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await lt();Ts(async t=>{e!==t&&(e=t,t?await this.transportOpen().catch(i=>this.logger.error(i,i?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))}),this.core.heartbeat.on(te.pulse,async()=>{if(!this.transportExplicitlyClosed&&!this.connected&&Cs())try{await this.confirmOnlineStateOrThrow(),await this.transportOpen()}catch(t){this.logger.warn(t,t?.message)}})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(C.disconnect),this.connectionAttemptInProgress=!1,!this.reconnectInProgress&&(this.reconnectInProgress=!0,await this.subscriber.stop(),this.subscriber.hasAnyTopics&&(this.transportExplicitlyClosed||(this.reconnectTimeout=setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e,e?.message)),this.reconnectTimeout=void 0,this.reconnectInProgress=!1},R(Lt)))))}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectPromise){await this.connectPromise;return}await this.connect()}}}function so(){}function Oi(r){if(!r||typeof r!=\"object\")return!1;const e=Object.getPrototypeOf(r);return e===null||e===Object.prototype||Object.getPrototypeOf(e)===null?Object.prototype.toString.call(r)===\"[object Object]\":!1}function Ri(r){return Object.getOwnPropertySymbols(r).filter(e=>Object.prototype.propertyIsEnumerable.call(r,e))}function Ai(r){return r==null?r===void 0?\"[object Undefined]\":\"[object Null]\":Object.prototype.toString.call(r)}const ro=\"[object RegExp]\",no=\"[object String]\",oo=\"[object Number]\",ao=\"[object Boolean]\",xi=\"[object Arguments]\",co=\"[object Symbol]\",ho=\"[object Date]\",lo=\"[object Map]\",uo=\"[object Set]\",go=\"[object Array]\",po=\"[object Function]\",yo=\"[object ArrayBuffer]\",Je=\"[object Object]\",bo=\"[object Error]\",mo=\"[object DataView]\",fo=\"[object Uint8Array]\",Do=\"[object Uint8ClampedArray]\",vo=\"[object Uint16Array]\",wo=\"[object Uint32Array]\",_o=\"[object BigUint64Array]\",Eo=\"[object Int8Array]\",Io=\"[object Int16Array]\",To=\"[object Int32Array]\",Co=\"[object BigInt64Array]\",Po=\"[object Float32Array]\",So=\"[object Float64Array]\";function Oo(r,e){return r===e||Number.isNaN(r)&&Number.isNaN(e)}function Ro(r,e,t){return pe(r,e,void 0,void 0,void 0,void 0,t)}function pe(r,e,t,i,s,n,o){const a=o(r,e,t,i,s,n);if(a!==void 0)return a;if(typeof r==typeof e)switch(typeof r){case\"bigint\":case\"string\":case\"boolean\":case\"symbol\":case\"undefined\":return r===e;case\"number\":return r===e||Object.is(r,e);case\"function\":return r===e;case\"object\":return ye(r,e,n,o)}return ye(r,e,n,o)}function ye(r,e,t,i){if(Object.is(r,e))return!0;let s=Ai(r),n=Ai(e);if(s===xi&&(s=Je),n===xi&&(n=Je),s!==n)return!1;switch(s){case no:return r.toString()===e.toString();case oo:{const c=r.valueOf(),h=e.valueOf();return Oo(c,h)}case ao:case ho:case co:return Object.is(r.valueOf(),e.valueOf());case ro:return r.source===e.source&&r.flags===e.flags;case po:return r===e}t=t??new Map;const o=t.get(r),a=t.get(e);if(o!=null&&a!=null)return o===e;t.set(r,e),t.set(e,r);try{switch(s){case lo:{if(r.size!==e.size)return!1;for(const[c,h]of r.entries())if(!e.has(c)||!pe(h,e.get(c),c,r,e,t,i))return!1;return!0}case uo:{if(r.size!==e.size)return!1;const c=Array.from(r.values()),h=Array.from(e.values());for(let l=0;l<c.length;l++){const d=c[l],g=h.findIndex(_=>pe(d,_,void 0,r,e,t,i));if(g===-1)return!1;h.splice(g,1)}return!0}case go:case fo:case Do:case vo:case wo:case _o:case Eo:case Io:case To:case Co:case Po:case So:{if(typeof Buffer<\"u\"&&Buffer.isBuffer(r)!==Buffer.isBuffer(e)||r.length!==e.length)return!1;for(let c=0;c<r.length;c++)if(!pe(r[c],e[c],c,r,e,t,i))return!1;return!0}case yo:return r.byteLength!==e.byteLength?!1:ye(new Uint8Array(r),new Uint8Array(e),t,i);case mo:return r.byteLength!==e.byteLength||r.byteOffset!==e.byteOffset?!1:ye(new Uint8Array(r),new Uint8Array(e),t,i);case bo:return r.name===e.name&&r.message===e.message;case Je:{if(!(ye(r.constructor,e.constructor,t,i)||Oi(r)&&Oi(e)))return!1;const h=[...Object.keys(r),...Ri(r)],l=[...Object.keys(e),...Ri(e)];if(h.length!==l.length)return!1;for(let d=0;d<h.length;d++){const g=h[d],_=r[g];if(!Object.hasOwn(e,g))return!1;const u=e[g];if(!pe(_,u,g,r,e,t,i))return!1}return!0}default:return!1}}finally{t.delete(r),t.delete(e)}}function Ao(r,e){return Ro(r,e,so)}var xo=Object.defineProperty,Ni=Object.getOwnPropertySymbols,No=Object.prototype.hasOwnProperty,$o=Object.prototype.propertyIsEnumerable,Xe=(r,e,t)=>e in r?xo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,$i=(r,e)=>{for(var t in e||(e={}))No.call(e,t)&&Xe(r,t,e[t]);if(Ni)for(var t of Ni(e))$o.call(e,t)&&Xe(r,t,e[t]);return r},z=(r,e,t)=>Xe(r,typeof e!=\"symbol\"?e+\"\":e,t);class zi extends ts{constructor(e,t,i,s=B,n=void 0){super(e,t,i,s),this.core=e,this.logger=t,this.name=i,z(this,\"map\",new Map),z(this,\"version\",kt),z(this,\"cached\",[]),z(this,\"initialized\",!1),z(this,\"getKey\"),z(this,\"storagePrefix\",B),z(this,\"recentlyDeleted\",[]),z(this,\"recentlyDeletedLimit\",200),z(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!xe(o)?this.map.set(this.getKey(o),o):Ps(o)?this.map.set(o.id,o):Ss(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)}),z(this,\"set\",async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug(\"Setting value\"),this.logger.trace({type:\"method\",method:\"set\",key:o,value:a}),this.map.set(o,a),await this.persist())}),z(this,\"get\",o=>(this.isInitialized(),this.logger.debug(\"Getting value\"),this.logger.trace({type:\"method\",method:\"get\",key:o}),this.getData(o))),z(this,\"getAll\",o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(c=>Ao(a[c],o[c]))):this.values)),z(this,\"update\",async(o,a)=>{this.isInitialized(),this.logger.debug(\"Updating value\"),this.logger.trace({type:\"method\",method:\"update\",key:o,update:a});const c=$i($i({},this.getData(o)),a);this.map.set(o,c),await this.persist()}),z(this,\"delete\",async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug(\"Deleting value\"),this.logger.trace({type:\"method\",method:\"delete\",key:o,reason:a}),this.map.delete(o),this.addToRecentlyDeleted(o),await this.persist())}),this.logger=N(t,this.name),this.storagePrefix=s,this.getKey=n}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}addToRecentlyDeleted(e){this.recentlyDeleted.push(e),this.recentlyDeleted.length>=this.recentlyDeletedLimit&&this.recentlyDeleted.splice(0,this.recentlyDeletedLimit/2)}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){const{message:s}=m(\"MISSING_OR_INVALID\",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(s),new Error(s)}const{message:i}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>\"u\"||!e.length)return;if(this.map.size){const{message:t}=m(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var zo=Object.defineProperty,Lo=(r,e,t)=>e in r?zo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,p=(r,e,t)=>Lo(r,typeof e!=\"symbol\"?e+\"\":e,t);class Li{constructor(e,t){this.core=e,this.logger=t,p(this,\"name\",Mt),p(this,\"version\",Kt),p(this,\"events\",new Gi),p(this,\"pairings\"),p(this,\"initialized\",!1),p(this,\"storagePrefix\",B),p(this,\"ignoredPayloadTypes\",[Rs]),p(this,\"registeredMethods\",[]),p(this,\"init\",async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace(\"Initialized\"))}),p(this,\"register\",({methods:i})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...i])]}),p(this,\"create\",async i=>{this.isInitialized();const s=Ae(),n=await this.core.crypto.setSymKey(s),o=ce(fe),a={protocol:xt},c={topic:n,expiry:o,relay:a,active:!1,methods:i?.methods},h=dt({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:s,relay:a,expiryTimestamp:o,methods:i?.methods});return this.events.emit(re.create,c),this.core.expirer.set(n,o),await this.pairings.set(n,c),await this.core.relayer.subscribe(n,{transportType:i?.transportType}),{topic:n,uri:h}}),p(this,\"pair\",async i=>{this.isInitialized();const s=this.core.eventClient.createEvent({properties:{topic:i?.uri,trace:[G.pairing_started]}});this.isValidPair(i,s);const{topic:n,symKey:o,relay:a,expiryTimestamp:c,methods:h}=gt(i.uri);s.props.properties.topic=n,s.addTrace(G.pairing_uri_validation_success),s.addTrace(G.pairing_uri_not_expired);let l;if(this.pairings.keys.includes(n)){if(l=this.pairings.get(n),s.addTrace(G.existing_pairing),l.active)throw s.setError(Y.active_pairing_already_exists),new Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);s.addTrace(G.pairing_not_expired)}const d=c||ce(fe),g={topic:n,relay:a,expiry:d,active:!1,methods:h};this.core.expirer.set(n,d),await this.pairings.set(n,g),s.addTrace(G.store_new_pairing),i.activatePairing&&await this.activate({topic:n}),this.events.emit(re.create,g),s.addTrace(G.emit_inactive_pairing),this.core.crypto.keychain.has(n)||await this.core.crypto.setSymKey(o,n),s.addTrace(G.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{s.setError(Y.no_internet_connection)}try{await this.core.relayer.subscribe(n,{relay:a})}catch(_){throw s.setError(Y.subscribe_pairing_topic_failure),_}return s.addTrace(G.subscribe_pairing_topic_success),g}),p(this,\"activate\",async({topic:i})=>{this.isInitialized();const s=ce(fe);this.core.expirer.set(i,s),await this.pairings.update(i,{active:!0,expiry:s})}),p(this,\"ping\",async i=>{this.isInitialized(),await this.isValidPing(i),this.logger.warn(\"ping() is deprecated and will be removed in the next major release.\");const{topic:s}=i;if(this.pairings.keys.includes(s)){const n=await this.sendRequest(s,\"wc_pairingPing\",{}),{done:o,resolve:a,reject:c}=As();this.events.once(Ne(\"pairing_ping\",n),({error:h})=>{h?c(h):a()}),await o()}}),p(this,\"updateExpiry\",async({topic:i,expiry:s})=>{this.isInitialized(),await this.pairings.update(i,{expiry:s})}),p(this,\"updateMetadata\",async({topic:i,metadata:s})=>{this.isInitialized(),await this.pairings.update(i,{peerMetadata:s})}),p(this,\"getPairings\",()=>(this.isInitialized(),this.pairings.values)),p(this,\"disconnect\",async i=>{this.isInitialized(),await this.isValidDisconnect(i);const{topic:s}=i;this.pairings.keys.includes(s)&&(await this.sendRequest(s,\"wc_pairingDelete\",ae(\"USER_DISCONNECTED\")),await this.deletePairing(s))}),p(this,\"formatUriFromPairing\",i=>{this.isInitialized();const{topic:s,relay:n,expiry:o,methods:a}=i,c=this.core.crypto.keychain.get(s);return dt({protocol:this.core.protocol,version:this.core.version,topic:s,symKey:c,relay:n,expiryTimestamp:o,methods:a})}),p(this,\"sendRequest\",async(i,s,n)=>{const o=wt(s,n),a=await this.core.crypto.encode(i,o),c=se[s].req;return this.core.history.set(i,o),this.core.relayer.publish(i,a,c),o.id}),p(this,\"sendResult\",async(i,s,n)=>{const o=vt(i,n),a=await this.core.crypto.encode(s,o),c=(await this.core.history.get(s,i)).request.method,h=se[c].res;await this.core.relayer.publish(s,a,h),await this.core.history.resolve(o)}),p(this,\"sendError\",async(i,s,n)=>{const o=Ks(i,n),a=await this.core.crypto.encode(s,o),c=(await this.core.history.get(s,i)).request.method,h=se[c]?se[c].res:se.unregistered_method.res;await this.core.relayer.publish(s,a,h),await this.core.history.resolve(o)}),p(this,\"deletePairing\",async(i,s)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,ae(\"USER_DISCONNECTED\")),this.core.crypto.deleteSymKey(i),s?Promise.resolve():this.core.expirer.del(i)])}),p(this,\"cleanup\",async()=>{const i=this.pairings.getAll().filter(s=>pt(s.expiry));await Promise.all(i.map(s=>this.deletePairing(s.topic)))}),p(this,\"onRelayEventRequest\",async i=>{const{topic:s,payload:n}=i;switch(n.method){case\"wc_pairingPing\":return await this.onPairingPingRequest(s,n);case\"wc_pairingDelete\":return await this.onPairingDeleteRequest(s,n);default:return await this.onUnknownRpcMethodRequest(s,n)}}),p(this,\"onRelayEventResponse\",async i=>{const{topic:s,payload:n}=i,o=(await this.core.history.get(s,n.id)).request.method;switch(o){case\"wc_pairingPing\":return this.onPairingPingResponse(s,n);default:return this.onUnknownRpcMethodResponse(o)}}),p(this,\"onPairingPingRequest\",async(i,s)=>{const{id:n}=s;try{this.isValidPing({topic:i}),await this.sendResult(n,i,!0),this.events.emit(re.ping,{id:n,topic:i})}catch(o){await this.sendError(n,i,o),this.logger.error(o)}}),p(this,\"onPairingPingResponse\",(i,s)=>{const{id:n}=s;setTimeout(()=>{Bs(s)?this.events.emit(Ne(\"pairing_ping\",n),{}):_t(s)&&this.events.emit(Ne(\"pairing_ping\",n),{error:s.error})},500)}),p(this,\"onPairingDeleteRequest\",async(i,s)=>{const{id:n}=s;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(re.delete,{id:n,topic:i})}catch(o){await this.sendError(n,i,o),this.logger.error(o)}}),p(this,\"onUnknownRpcMethodRequest\",async(i,s)=>{const{id:n,method:o}=s;try{if(this.registeredMethods.includes(o))return;const a=ae(\"WC_METHOD_UNSUPPORTED\",o);await this.sendError(n,i,a),this.logger.error(a)}catch(a){await this.sendError(n,i,a),this.logger.error(a)}}),p(this,\"onUnknownRpcMethodResponse\",i=>{this.registeredMethods.includes(i)||this.logger.error(ae(\"WC_METHOD_UNSUPPORTED\",i))}),p(this,\"isValidPair\",(i,s)=>{var n;if(!$e(i)){const{message:a}=m(\"MISSING_OR_INVALID\",`pair() params: ${i}`);throw s.setError(Y.malformed_pairing_uri),new Error(a)}if(!xs(i.uri)){const{message:a}=m(\"MISSING_OR_INVALID\",`pair() uri: ${i.uri}`);throw s.setError(Y.malformed_pairing_uri),new Error(a)}const o=gt(i?.uri);if(!((n=o?.relay)!=null&&n.protocol)){const{message:a}=m(\"MISSING_OR_INVALID\",\"pair() uri#relay-protocol\");throw s.setError(Y.malformed_pairing_uri),new Error(a)}if(!(o!=null&&o.symKey)){const{message:a}=m(\"MISSING_OR_INVALID\",\"pair() uri#symKey\");throw s.setError(Y.malformed_pairing_uri),new Error(a)}if(o!=null&&o.expiryTimestamp&&R(o?.expiryTimestamp)<Date.now()){s.setError(Y.pairing_expired);const{message:a}=m(\"EXPIRED\",\"pair() URI has expired. Please try again with a new connection URI.\");throw new Error(a)}}),p(this,\"isValidPing\",async i=>{if(!$e(i)){const{message:n}=m(\"MISSING_OR_INVALID\",`ping() params: ${i}`);throw new Error(n)}const{topic:s}=i;await this.isValidPairingTopic(s)}),p(this,\"isValidDisconnect\",async i=>{if(!$e(i)){const{message:n}=m(\"MISSING_OR_INVALID\",`disconnect() params: ${i}`);throw new Error(n)}const{topic:s}=i;await this.isValidPairingTopic(s)}),p(this,\"isValidPairingTopic\",async i=>{if(!Ns(i,!1)){const{message:s}=m(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${i}`);throw new Error(s)}if(!this.pairings.keys.includes(i)){const{message:s}=m(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${i}`);throw new Error(s)}if(pt(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:s}=m(\"EXPIRED\",`pairing topic: ${i}`);throw new Error(s)}}),this.core=e,this.logger=N(t,this.name),this.pairings=new zi(this.core,this.logger,this.name,this.storagePrefix)}get context(){return U(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(C.message,async e=>{const{topic:t,message:i,transportType:s}=e;if(this.pairings.keys.includes(t)&&s!==Q.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))try{const n=await this.core.crypto.decode(t,i);ft(n)?(this.core.history.set(t,n),await this.onRelayEventRequest({topic:t,payload:n})):Dt(n)&&(await this.core.history.resolve(n),await this.onRelayEventResponse({topic:t,payload:n}),this.core.history.delete(t,n.id)),await this.core.relayer.messages.ack(t,i)}catch(n){this.logger.error(n)}})}registerExpirerEvents(){this.core.expirer.on(M.expired,async e=>{const{topic:t}=Os(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(re.expire,{topic:t}))})}}var ko=Object.defineProperty,jo=(r,e,t)=>e in r?ko(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,O=(r,e,t)=>jo(r,typeof e!=\"symbol\"?e+\"\":e,t);class ki extends is{constructor(e,t){super(e,t),this.core=e,this.logger=t,O(this,\"records\",new Map),O(this,\"events\",new ee),O(this,\"name\",Bt),O(this,\"version\",Vt),O(this,\"cached\",[]),O(this,\"initialized\",!1),O(this,\"storagePrefix\",B),O(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(i=>this.records.set(i.id,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),O(this,\"set\",(i,s,n)=>{if(this.isInitialized(),this.logger.debug(\"Setting JSON-RPC request history record\"),this.logger.trace({type:\"method\",method:\"set\",topic:i,request:s,chainId:n}),this.records.has(s.id))return;const o={id:s.id,topic:i,request:{method:s.method,params:s.params||null},chainId:n,expiry:ce(Ce)};this.records.set(o.id,o),this.persist(),this.events.emit(F.created,o)}),O(this,\"resolve\",async i=>{if(this.isInitialized(),this.logger.debug(\"Updating JSON-RPC response history record\"),this.logger.trace({type:\"method\",method:\"update\",response:i}),!this.records.has(i.id))return;const s=await this.getRecord(i.id);typeof s.response>\"u\"&&(s.response=_t(i)?{error:i.error}:{result:i.result},this.records.set(s.id,s),this.persist(),this.events.emit(F.updated,s))}),O(this,\"get\",async(i,s)=>(this.isInitialized(),this.logger.debug(\"Getting record\"),this.logger.trace({type:\"method\",method:\"get\",topic:i,id:s}),await this.getRecord(s))),O(this,\"delete\",(i,s)=>{this.isInitialized(),this.logger.debug(\"Deleting record\"),this.logger.trace({type:\"method\",method:\"delete\",id:s}),this.values.forEach(n=>{if(n.topic===i){if(typeof s<\"u\"&&n.id!==s)return;this.records.delete(n.id),this.events.emit(F.deleted,n)}}),this.persist()}),O(this,\"exists\",async(i,s)=>(this.isInitialized(),this.records.has(s)?(await this.getRecord(s)).topic===i:!1)),O(this,\"on\",(i,s)=>{this.events.on(i,s)}),O(this,\"once\",(i,s)=>{this.events.once(i,s)}),O(this,\"off\",(i,s)=>{this.events.off(i,s)}),O(this,\"removeListener\",(i,s)=>{this.events.removeListener(i,s)}),this.logger=N(t,this.name)}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<\"u\")return;const i={topic:t.topic,request:wt(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(i)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();const t=this.records.get(e);if(!t){const{message:i}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(F.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>\"u\"||!e.length)return;if(this.records.size){const{message:t}=m(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(F.created,e=>{const t=F.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.events.on(F.updated,e=>{const t=F.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.events.on(F.deleted,e=>{const t=F.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.core.heartbeat.on(te.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{R(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(F.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var Uo=Object.defineProperty,Fo=(r,e,t)=>e in r?Uo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,A=(r,e,t)=>Fo(r,typeof e!=\"symbol\"?e+\"\":e,t);class ji extends ss{constructor(e,t){super(e,t),this.core=e,this.logger=t,A(this,\"expirations\",new Map),A(this,\"events\",new ee),A(this,\"name\",qt),A(this,\"version\",Gt),A(this,\"cached\",[]),A(this,\"initialized\",!1),A(this,\"storagePrefix\",B),A(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(i=>this.expirations.set(i.target,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),A(this,\"has\",i=>{try{const s=this.formatTarget(i);return typeof this.getExpiration(s)<\"u\"}catch{return!1}}),A(this,\"set\",(i,s)=>{this.isInitialized();const n=this.formatTarget(i),o={target:n,expiry:s};this.expirations.set(n,o),this.checkExpiry(n,o),this.events.emit(M.created,{target:n,expiration:o})}),A(this,\"get\",i=>{this.isInitialized();const s=this.formatTarget(i);return this.getExpiration(s)}),A(this,\"del\",i=>{if(this.isInitialized(),this.has(i)){const s=this.formatTarget(i),n=this.getExpiration(s);this.expirations.delete(s),this.events.emit(M.deleted,{target:s,expiration:n})}}),A(this,\"on\",(i,s)=>{this.events.on(i,s)}),A(this,\"once\",(i,s)=>{this.events.once(i,s)}),A(this,\"off\",(i,s)=>{this.events.off(i,s)}),A(this,\"removeListener\",(i,s)=>{this.events.removeListener(i,s)}),this.logger=N(t,this.name)}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if(typeof e==\"string\")return $s(e);if(typeof e==\"number\")return zs(e);const{message:t}=m(\"UNKNOWN_TYPE\",`Target type: ${typeof e}`);throw new Error(t)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(M.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>\"u\"||!e.length)return;if(this.expirations.size){const{message:t}=m(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){const t=this.expirations.get(e);if(!t){const{message:i}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.warn(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;R(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(M.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(te.pulse,()=>this.checkExpirations()),this.events.on(M.created,e=>{const t=M.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(M.expired,e=>{const t=M.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(M.deleted,e=>{const t=M.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var Mo=Object.defineProperty,Ko=(r,e,t)=>e in r?Mo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,w=(r,e,t)=>Ko(r,typeof e!=\"symbol\"?e+\"\":e,t);class Ui extends rs{constructor(e,t,i){super(e,t,i),this.core=e,this.logger=t,this.store=i,w(this,\"name\",Wt),w(this,\"abortController\"),w(this,\"isDevEnv\"),w(this,\"verifyUrlV3\",Yt),w(this,\"storagePrefix\",B),w(this,\"version\",Le),w(this,\"publicKey\"),w(this,\"fetchPromise\"),w(this,\"init\",async()=>{var s;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&R((s=this.publicKey)==null?void 0:s.expiresAt)<Date.now()&&(this.logger.debug(\"verify v2 public key expired\"),await this.removePublicKey()))}),w(this,\"register\",async s=>{if(!Ls()||this.isDevEnv)return;const n=window.location.origin,{id:o,decryptedId:a}=s,c=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${n}&id=${o}&decryptedId=${a}`;try{const h=qs(),l=this.startAbortTimer(Z*5),d=await new Promise((g,_)=>{const u=()=>{window.removeEventListener(\"message\",x),h.body.removeChild(b),_(\"attestation aborted\")};this.abortController.signal.addEventListener(\"abort\",u);const b=h.createElement(\"iframe\");b.src=c,b.style.display=\"none\",b.addEventListener(\"error\",u,{signal:this.abortController.signal});const x=I=>{if(I.data&&typeof I.data==\"string\")try{const D=JSON.parse(I.data);if(D.type===\"verify_attestation\"){if(rt(D.attestation).payload.id!==o)return;clearInterval(l),h.body.removeChild(b),this.abortController.signal.removeEventListener(\"abort\",u),window.removeEventListener(\"message\",x),g(D.attestation===null?\"\":D.attestation)}}catch(D){this.logger.warn(D)}};h.body.appendChild(b),window.addEventListener(\"message\",x,{signal:this.abortController.signal})});return this.logger.debug(\"jwt attestation\",d),d}catch(h){this.logger.warn(h)}return\"\"}),w(this,\"resolve\",async s=>{if(this.isDevEnv)return\"\";const{attestationId:n,hash:o,encryptedId:a}=s;if(n===\"\"){this.logger.debug(\"resolve: attestationId is empty, skipping\");return}if(n){if(rt(n).payload.id!==a)return;const h=await this.isValidJwtAttestation(n);if(h){if(!h.isVerified){this.logger.warn(\"resolve: jwt attestation: origin url not verified\");return}return h}}if(!o)return;const c=this.getVerifyUrl(s?.verifyUrl);return this.fetchAttestation(o,c)}),w(this,\"fetchAttestation\",async(s,n)=>{this.logger.debug(`resolving attestation: ${s} from url: ${n}`);const o=this.startAbortTimer(Z*5),a=await fetch(`${n}/attestation/${s}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(o),a.status===200?await a.json():void 0}),w(this,\"getVerifyUrl\",s=>{let n=s||ue;return Jt.includes(n)||(this.logger.info(`verify url: ${n}, not included in trusted list, assigning default: ${ue}`),n=ue),n}),w(this,\"fetchPublicKey\",async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);const s=this.startAbortTimer(Pe),n=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(s),await n.json()}catch(s){this.logger.warn(s)}}),w(this,\"persistPublicKey\",async s=>{this.logger.debug(\"persisting public key to local storage\",s),await this.store.setItem(this.storeKey,s),this.publicKey=s}),w(this,\"removePublicKey\",async()=>{this.logger.debug(\"removing verify v2 public key from storage\"),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),w(this,\"isValidJwtAttestation\",async s=>{const n=await this.getPublicKey();try{if(n)return this.validateAttestation(s,n)}catch(a){this.logger.error(a),this.logger.warn(\"error validating attestation\")}const o=await this.fetchAndPersistPublicKey();try{if(o)return this.validateAttestation(s,o)}catch(a){this.logger.error(a),this.logger.warn(\"error validating attestation\")}}),w(this,\"getPublicKey\",async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),w(this,\"fetchAndPersistPublicKey\",async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async n=>{const o=await this.fetchPublicKey();o&&(await this.persistPublicKey(o),n(o))});const s=await this.fetchPromise;return this.fetchPromise=void 0,s}),w(this,\"validateAttestation\",(s,n)=>{const o=ks(s,n.publicKey),a={hasExpired:R(o.exp)<Date.now(),payload:o};if(a.hasExpired)throw this.logger.warn(\"resolve: jwt attestation expired\"),new Error(\"JWT attestation expired\");return{origin:a.payload.origin,isScam:a.payload.isScam,isVerified:a.payload.isVerified}}),this.logger=N(t,this.name),this.abortController=new AbortController,this.isDevEnv=yt(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//verify:public:key\"}get context(){return U(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),R(e))}}var Bo=Object.defineProperty,Vo=(r,e,t)=>e in r?Bo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Fi=(r,e,t)=>Vo(r,typeof e!=\"symbol\"?e+\"\":e,t);class Mi extends ns{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,Fi(this,\"context\",Xt),Fi(this,\"registerDeviceToken\",async i=>{const{clientId:s,token:n,notificationType:o,enableEncrypted:a=!1}=i,c=`${Zt}/${this.projectId}/clients`;await fetch(c,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({client_id:s,type:o,token:n,always_raw:a})})}),this.logger=N(t,this.context)}}var qo=Object.defineProperty,Ki=Object.getOwnPropertySymbols,Go=Object.prototype.hasOwnProperty,Wo=Object.prototype.propertyIsEnumerable,Ze=(r,e,t)=>e in r?qo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,be=(r,e)=>{for(var t in e||(e={}))Go.call(e,t)&&Ze(r,t,e[t]);if(Ki)for(var t of Ki(e))Wo.call(e,t)&&Ze(r,t,e[t]);return r},E=(r,e,t)=>Ze(r,typeof e!=\"symbol\"?e+\"\":e,t);class Bi extends os{constructor(e,t,i=!0){super(e,t,i),this.core=e,this.logger=t,E(this,\"context\",ei),E(this,\"storagePrefix\",B),E(this,\"storageVersion\",Qt),E(this,\"events\",new Map),E(this,\"shouldPersist\",!1),E(this,\"init\",async()=>{if(!yt())try{const s={eventId:bt(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:\"INIT\",type:\"\",properties:{client_id:await this.core.crypto.getClientId(),user_agent:js(this.core.relayer.protocol,this.core.relayer.version,_e)}}};await this.sendEvent([s])}catch(s){this.logger.warn(s)}}),E(this,\"createEvent\",s=>{const{event:n=\"ERROR\",type:o=\"\",properties:{topic:a,trace:c}}=s,h=bt(),l=this.core.projectId||\"\",d=Date.now(),g=be({eventId:h,timestamp:d,props:{event:n,type:o,properties:{topic:a,trace:c}},bundleId:l,domain:this.getAppDomain()},this.setMethods(h));return this.telemetryEnabled&&(this.events.set(h,g),this.shouldPersist=!0),g}),E(this,\"getEvent\",s=>{const{eventId:n,topic:o}=s;if(n)return this.events.get(n);const a=Array.from(this.events.values()).find(c=>c.props.properties.topic===o);if(a)return be(be({},a),this.setMethods(a.eventId))}),E(this,\"deleteEvent\",s=>{const{eventId:n}=s;this.events.delete(n),this.shouldPersist=!0}),E(this,\"setEventListeners\",()=>{this.core.heartbeat.on(te.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(s=>{it(Date.now())-it(s.timestamp)>ti&&(this.events.delete(s.eventId),this.shouldPersist=!0)})})}),E(this,\"setMethods\",s=>({addTrace:n=>this.addTrace(s,n),setError:n=>this.setError(s,n)})),E(this,\"addTrace\",(s,n)=>{const o=this.events.get(s);o&&(o.props.properties.trace.push(n),this.events.set(s,o),this.shouldPersist=!0)}),E(this,\"setError\",(s,n)=>{const o=this.events.get(s);o&&(o.props.type=n,o.timestamp=Date.now(),this.events.set(s,o),this.shouldPersist=!0)}),E(this,\"persist\",async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),E(this,\"restore\",async()=>{try{const s=await this.core.storage.getItem(this.storageKey)||[];if(!s.length)return;s.forEach(n=>{this.events.set(n.eventId,be(be({},n),this.setMethods(n.eventId)))})}catch(s){this.logger.warn(s)}}),E(this,\"submit\",async()=>{if(!this.telemetryEnabled||this.events.size===0)return;const s=[];for(const[n,o]of this.events)o.props.type&&s.push(o);if(s.length!==0)try{if((await this.sendEvent(s)).ok)for(const n of s)this.events.delete(n.eventId),this.shouldPersist=!0}catch(n){this.logger.warn(n)}}),E(this,\"sendEvent\",async s=>{const n=this.getAppDomain()?\"\":\"&sp=desktop\";return await fetch(`${ii}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${_e}${n}`,{method:\"POST\",body:JSON.stringify(s)})}),E(this,\"getAppDomain\",()=>Us().url),this.logger=N(t,this.context),this.telemetryEnabled=i,i?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+\"//\"+this.context}}var Ho=Object.defineProperty,Vi=Object.getOwnPropertySymbols,Yo=Object.prototype.hasOwnProperty,Jo=Object.prototype.propertyIsEnumerable,Qe=(r,e,t)=>e in r?Ho(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,qi=(r,e)=>{for(var t in e||(e={}))Yo.call(e,t)&&Qe(r,t,e[t]);if(Vi)for(var t of Vi(e))Jo.call(e,t)&&Qe(r,t,e[t]);return r},v=(r,e,t)=>Qe(r,typeof e!=\"symbol\"?e+\"\":e,t);class Te extends as{constructor(e){var t;super(e),v(this,\"protocol\",ze),v(this,\"version\",Le),v(this,\"name\",he),v(this,\"relayUrl\"),v(this,\"projectId\"),v(this,\"customStoragePrefix\"),v(this,\"events\",new ee),v(this,\"logger\"),v(this,\"heartbeat\"),v(this,\"relayer\"),v(this,\"crypto\"),v(this,\"storage\"),v(this,\"history\"),v(this,\"expirer\"),v(this,\"pairing\"),v(this,\"verify\"),v(this,\"echoClient\"),v(this,\"linkModeSupportedApps\"),v(this,\"eventClient\"),v(this,\"initialized\",!1),v(this,\"logChunkController\"),v(this,\"on\",(a,c)=>this.events.on(a,c)),v(this,\"once\",(a,c)=>this.events.once(a,c)),v(this,\"off\",(a,c)=>this.events.off(a,c)),v(this,\"removeListener\",(a,c)=>this.events.removeListener(a,c)),v(this,\"dispatchEnvelope\",({topic:a,message:c,sessionExists:h})=>{if(!a||!c)return;const l={topic:a,message:c,publishedAt:Date.now(),transportType:Q.link_mode};this.relayer.onLinkMessageEvent(l,{sessionExists:h})});const i=this.getGlobalCore(e?.customStoragePrefix);if(i)try{return this.customStoragePrefix=i.customStoragePrefix,this.logger=i.logger,this.heartbeat=i.heartbeat,this.crypto=i.crypto,this.history=i.history,this.expirer=i.expirer,this.storage=i.storage,this.relayer=i.relayer,this.pairing=i.pairing,this.verify=i.verify,this.echoClient=i.echoClient,this.linkModeSupportedApps=i.linkModeSupportedApps,this.eventClient=i.eventClient,this.initialized=i.initialized,this.logChunkController=i.logChunkController,i}catch(a){console.warn(\"Failed to copy global core\",a)}this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||Ue,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:\"\";const s=et({level:typeof e?.logger==\"string\"&&e.logger?e.logger:Et.logger,name:he}),{logger:n,chunkLoggerController:o}=Ji({opts:s,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=o,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var a,c;(a=this.logChunkController)!=null&&a.downloadLogsBlobInBrowser&&((c=this.logChunkController)==null||c.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=N(n,this.name),this.heartbeat=new Wi,this.crypto=new vi(this,this.logger,e?.keychain),this.history=new ki(this,this.logger),this.expirer=new ji(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Hi(qi(qi({},It),e?.storageOptions)),this.relayer=new Si({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new Li(this,this.logger),this.verify=new Ui(this,this.logger,this.storage),this.echoClient=new Mi(this.projectId||\"\",this.logger),this.linkModeSupportedApps=[],this.eventClient=new Bi(this,this.logger,e?.telemetryEnabled),this.setGlobalCore(this)}static async init(e){const t=new Te(e);await t.initialize();const i=await t.crypto.getClientId();return await t.storage.setItem(jt,i),t}get context(){return U(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return(e=this.logChunkController)==null?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(Fe,this.linkModeSupportedApps))}async initialize(){this.logger.trace(\"Initialized\");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.linkModeSupportedApps=await this.storage.getItem(Fe)||[],this.initialized=!0,this.logger.info(\"Core Initialization Success\")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}getGlobalCore(e=\"\"){try{if(this.isGlobalCoreDisabled())return;const t=`_walletConnectCore_${e}`,i=`${t}_count`;return globalThis[i]=(globalThis[i]||0)+1,globalThis[i]>1&&console.warn(`WalletConnect Core is already initialized. This is probably a mistake and can lead to unexpected behavior. Init() was called ${globalThis[i]} times.`),globalThis[t]}catch(t){console.warn(\"Failed to get global WalletConnect core\",t);return}}setGlobalCore(e){var t;try{if(this.isGlobalCoreDisabled())return;const i=`_walletConnectCore_${((t=e.opts)==null?void 0:t.customStoragePrefix)||\"\"}`;globalThis[i]=e}catch(i){console.warn(\"Failed to set global WalletConnect core\",i)}}isGlobalCoreDisabled(){try{return typeof process<\"u\"&&process.env.DISABLE_GLOBAL_CORE===\"true\"}catch{return!0}}}const Xo=Te;export{he as CORE_CONTEXT,Et as CORE_DEFAULT,ze as CORE_PROTOCOL,It as CORE_STORAGE_OPTIONS,B as CORE_STORAGE_PREFIX,Le as CORE_VERSION,ke as CRYPTO_CLIENT_SEED,Tt as CRYPTO_CONTEXT,Ct as CRYPTO_JWT_TTL,Xo as Core,vi as Crypto,Xt as ECHO_CONTEXT,Zt as ECHO_URL,ii as EVENTS_CLIENT_API_URL,ti as EVENTS_STORAGE_CLEANUP_INTERVAL,ei as EVENTS_STORAGE_CONTEXT,Qt as EVENTS_STORAGE_VERSION,sr as EVENT_CLIENT_AUTHENTICATE_ERRORS,ir as EVENT_CLIENT_AUTHENTICATE_TRACES,Qs as EVENT_CLIENT_CONTEXT,Y as EVENT_CLIENT_PAIRING_ERRORS,G as EVENT_CLIENT_PAIRING_TRACES,tr as EVENT_CLIENT_SESSION_ERRORS,er as EVENT_CLIENT_SESSION_TRACES,qt as EXPIRER_CONTEXT,Xs as EXPIRER_DEFAULT_TTL,M as EXPIRER_EVENTS,Gt as EXPIRER_STORAGE_VERSION,Mi as EchoClient,Bi as EventClient,ji as Expirer,Bt as HISTORY_CONTEXT,F as HISTORY_EVENTS,Vt as HISTORY_STORAGE_VERSION,ki as JsonRpcHistory,Pt as KEYCHAIN_CONTEXT,St as KEYCHAIN_STORAGE_VERSION,Di as KeyChain,Ot as MESSAGES_CONTEXT,Rt as MESSAGES_STORAGE_VERSION,le as MESSAGE_DIRECTION,_i as MessageTracker,Mt as PAIRING_CONTEXT,Js as PAIRING_DEFAULT_TTL,re as PAIRING_EVENTS,se as PAIRING_RPC_OPTS,Kt as PAIRING_STORAGE_VERSION,Ys as PENDING_SUB_RESOLUTION_TIMEOUT,At as PUBLISHER_CONTEXT,je as PUBLISHER_DEFAULT_TTL,Li as Pairing,$t as RELAYER_CONTEXT,Nt as RELAYER_DEFAULT_LOGGER,xt as RELAYER_DEFAULT_PROTOCOL,Ue as RELAYER_DEFAULT_RELAY_URL,C as RELAYER_EVENTS,L as RELAYER_PROVIDER_EVENTS,Lt as RELAYER_RECONNECT_TIMEOUT,_e as RELAYER_SDK_VERSION,Gs as RELAYER_STORAGE_OPTIONS,zt as RELAYER_SUBSCRIBER_SUFFIX,Ws as RELAYER_TRANSPORT_CUTOFF,Si as Relayer,kt as STORE_STORAGE_VERSION,Ut as SUBSCRIBER_CONTEXT,Hs as SUBSCRIBER_DEFAULT_TTL,$ as SUBSCRIBER_EVENTS,Ft as SUBSCRIBER_STORAGE_VERSION,zi as Store,Ti as Subscriber,Q as TRANSPORT_TYPES,Jt as TRUSTED_VERIFY_URLS,Wt as VERIFY_CONTEXT,ue as VERIFY_SERVER,Yt as VERIFY_SERVER_V3,Ui as Verify,jt as WALLETCONNECT_CLIENT_ID,Fe as WALLETCONNECT_LINK_MODE_APPS,Te as default};\n//# sourceMappingURL=index.es.js.map\n","import{RELAYER_EVENTS as Xe,TRANSPORT_TYPES as P,EXPIRER_EVENTS as Tt,PAIRING_EVENTS as Je,RELAYER_DEFAULT_PROTOCOL as qt,EVENT_CLIENT_SESSION_TRACES as k,EVENT_CLIENT_SESSION_ERRORS as H,EVENT_CLIENT_AUTHENTICATE_TRACES as z,EVENT_CLIENT_AUTHENTICATE_ERRORS as re,EVENT_CLIENT_PAIRING_ERRORS as Pt,EVENT_CLIENT_PAIRING_TRACES as Nt,VERIFY_SERVER as Ot,Store as B,Core as bt}from\"@walletconnect/core\";import{pino as At,getDefaultLoggerOptions as xt,generateChildLogger as Ct,getLoggerContext as Vt}from\"@walletconnect/logger\";import{IEngine as Dt,ISignClient as Lt}from\"@walletconnect/types\";import{THIRTY_DAYS as kt,SEVEN_DAYS as Be,FIVE_MINUTES as C,ONE_DAY as U,ONE_HOUR as We,ONE_SECOND as Ze,toMiliseconds as Oe}from\"@walletconnect/time\";import{getInternalError as y,BASE64URL as ne,BASE64 as de,hashMessage as W,parseExpirerTarget as Mt,isValidString as Y,isExpired as Z,isValidId as $t,mergeRequiredAndOptionalNamespaces as Kt,calcExpiry as V,engineEvent as R,createDelayedPromise as ee,getSdkError as O,getDeepLink as Ut,handleDeeplinkRedirect as Gt,isSessionCompatible as jt,hashKey as be,parseChainId as Ae,createEncodedRecap as Ft,getRecapFromResources as xe,mergeEncodedRecaps as Qt,TYPE_2 as Ht,getLinkModeURL as ue,validateSignedCacao as et,getNamespacedDidChainId as tt,getDidAddress as st,getMethodsFromRecap as it,getChainsFromRecap as rt,buildNamespacesFromAuth as nt,formatMessage as zt,MemoryStore as oe,isValidParams as M,isUndefined as X,isValidRelays as Yt,isValidObject as ot,isValidRequiredNamespaces as Xt,isValidNamespaces as Ce,isConformingNamespaces as at,isValidErrorReason as Jt,isValidRelay as Bt,isValidController as Wt,isValidNamespacesChainId as ct,isValidRequest as Zt,isValidNamespacesRequest as es,isValidRequestExpiry as ts,isValidResponse as ss,isValidEvent as is,isValidNamespacesEvent as rs,getSearchParamFromURL as lt,isTestRun as ns,isReactNative as os,isValidArray as as,extractSolanaTransactionId as cs,TYPE_1 as Ve,populateAppMetadata as ls}from\"@walletconnect/utils\";import ps,{EventEmitter as hs}from\"events\";import{isJsonRpcRequest as ds,isJsonRpcResponse as us,payloadId as G,getBigIntRpcId as ge,isJsonRpcResult as j,isJsonRpcError as F,formatJsonRpcRequest as ye,formatJsonRpcResult as gs,formatJsonRpcError as ys}from\"@walletconnect/jsonrpc-utils\";const De=\"wc\",Le=2,ke=\"client\",we=`${De}@${Le}:${ke}:`,me={name:ke,logger:\"error\",controller:!1,relayUrl:\"wss://relay.walletconnect.org\"},ws={session_proposal:\"session_proposal\",session_update:\"session_update\",session_extend:\"session_extend\",session_ping:\"session_ping\",session_delete:\"session_delete\",session_expire:\"session_expire\",session_request:\"session_request\",session_request_sent:\"session_request_sent\",session_event:\"session_event\",proposal_expire:\"proposal_expire\",session_authenticate:\"session_authenticate\",session_request_expire:\"session_request_expire\",session_connect:\"session_connect\"},ms={database:\":memory:\"},Me=\"WALLETCONNECT_DEEPLINK_CHOICE\",_s={created:\"history_created\",updated:\"history_updated\",deleted:\"history_deleted\",sync:\"history_sync\"},Es=\"history\",fs=\"0.3\",pt=\"proposal\",Ss=kt,$e=\"Proposal expired\",ht=\"session\",J=Be,dt=\"engine\",N={wc_sessionPropose:{req:{ttl:C,prompt:!0,tag:1100},res:{ttl:C,prompt:!1,tag:1101},reject:{ttl:C,prompt:!1,tag:1120},autoReject:{ttl:C,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:C,prompt:!1,tag:1102},res:{ttl:C,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:U,prompt:!1,tag:1104},res:{ttl:U,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:U,prompt:!1,tag:1106},res:{ttl:U,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:C,prompt:!0,tag:1108},res:{ttl:C,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:C,prompt:!0,tag:1110},res:{ttl:C,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:U,prompt:!1,tag:1112},res:{ttl:U,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:U,prompt:!1,tag:1114},res:{ttl:U,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:We,prompt:!0,tag:1116},res:{ttl:We,prompt:!1,tag:1117},reject:{ttl:C,prompt:!1,tag:1118},autoReject:{ttl:C,prompt:!1,tag:1119}}},_e={min:C,max:Be},$={idle:\"IDLE\",active:\"ACTIVE\"},Ke={eth_sendTransaction:{key:\"\"},eth_sendRawTransaction:{key:\"\"},wallet_sendCalls:{key:\"\"},solana_signTransaction:{key:\"signature\"},solana_signAllTransactions:{key:\"transactions\"},solana_signAndSendTransaction:{key:\"signature\"}},ut=\"request\",gt=[\"wc_sessionPropose\",\"wc_sessionRequest\",\"wc_authRequest\",\"wc_sessionAuthenticate\"],yt=\"wc\",Rs=1.5,wt=\"auth\",mt=\"authKeys\",_t=\"pairingTopics\",Et=\"requests\",ae=`${yt}@${1.5}:${wt}:`,ce=`${ae}:PUB_KEY`;var vs=Object.defineProperty,Is=Object.defineProperties,Ts=Object.getOwnPropertyDescriptors,ft=Object.getOwnPropertySymbols,qs=Object.prototype.hasOwnProperty,Ps=Object.prototype.propertyIsEnumerable,Ue=(S,n,e)=>n in S?vs(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,v=(S,n)=>{for(var e in n||(n={}))qs.call(n,e)&&Ue(S,e,n[e]);if(ft)for(var e of ft(n))Ps.call(n,e)&&Ue(S,e,n[e]);return S},b=(S,n)=>Is(S,Ts(n)),c=(S,n,e)=>Ue(S,typeof n!=\"symbol\"?n+\"\":n,e);class Ns extends Dt{constructor(n){super(n),c(this,\"name\",dt),c(this,\"events\",new ps),c(this,\"initialized\",!1),c(this,\"requestQueue\",{state:$.idle,queue:[]}),c(this,\"sessionRequestQueue\",{state:$.idle,queue:[]}),c(this,\"requestQueueDelay\",Ze),c(this,\"expectedPairingMethodMap\",new Map),c(this,\"recentlyDeletedMap\",new Map),c(this,\"recentlyDeletedLimit\",200),c(this,\"relayMessageCache\",[]),c(this,\"pendingSessions\",new Map),c(this,\"init\",async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),await this.registerLinkModeListeners(),this.client.core.pairing.register({methods:Object.keys(N)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},Oe(this.requestQueueDelay)))}),c(this,\"connect\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();const t=b(v({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(t),t.optionalNamespaces=Kt(t.requiredNamespaces,t.optionalNamespaces),t.requiredNamespaces={};const{pairingTopic:s,requiredNamespaces:i,optionalNamespaces:r,sessionProperties:o,scopedProperties:a,relays:l}=t;let p=s,h,u=!1;try{if(p){const T=this.client.core.pairing.pairings.get(p);this.client.logger.warn(\"connect() with existing pairing topic is deprecated and will be removed in the next major release.\"),u=T.active}}catch(T){throw this.client.logger.error(`connect() -> pairing.get(${p}) failed`),T}if(!p||!u){const{topic:T,uri:K}=await this.client.core.pairing.create();p=T,h=K}if(!p){const{message:T}=y(\"NO_MATCHING_KEY\",`connect() pairing topic: ${p}`);throw new Error(T)}const d=await this.client.core.crypto.generateKeyPair(),w=N.wc_sessionPropose.req.ttl||C,m=V(w),f=b(v(v({requiredNamespaces:i,optionalNamespaces:r,relays:l??[{protocol:qt}],proposer:{publicKey:d,metadata:this.client.metadata},expiryTimestamp:m,pairingTopic:p},o&&{sessionProperties:o}),a&&{scopedProperties:a}),{id:G()}),_=R(\"session_connect\",f.id),{reject:g,resolve:A,done:D}=ee(w,$e),I=({id:T})=>{T===f.id&&(this.client.events.off(\"proposal_expire\",I),this.pendingSessions.delete(f.id),this.events.emit(_,{error:{message:$e,code:0}}))};return this.client.events.on(\"proposal_expire\",I),this.events.once(_,({error:T,session:K})=>{this.client.events.off(\"proposal_expire\",I),T?g(T):K&&A(K)}),await this.sendRequest({topic:p,method:\"wc_sessionPropose\",params:f,throwOnFailedPublish:!0,clientRpcId:f.id}),await this.setProposal(f.id,f),{uri:h,approval:D}}),c(this,\"pair\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(e)}catch(t){throw this.client.logger.error(\"pair() failed\"),t}}),c(this,\"approve\",async e=>{var t,s,i;const r=this.client.core.eventClient.createEvent({properties:{topic:(t=e?.id)==null?void 0:t.toString(),trace:[k.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(q){throw r.setError(H.no_internet_connection),q}try{await this.isValidProposalId(e?.id)}catch(q){throw this.client.logger.error(`approve() -> proposal.get(${e?.id}) failed`),r.setError(H.proposal_not_found),q}try{await this.isValidApprove(e)}catch(q){throw this.client.logger.error(\"approve() -> isValidApprove() failed\"),r.setError(H.session_approve_namespace_validation_failure),q}const{id:o,relayProtocol:a,namespaces:l,sessionProperties:p,scopedProperties:h,sessionConfig:u}=e,d=this.client.proposal.get(o);this.client.core.eventClient.deleteEvent({eventId:r.eventId});const{pairingTopic:w,proposer:m,requiredNamespaces:f,optionalNamespaces:_}=d;let g=(s=this.client.core.eventClient)==null?void 0:s.getEvent({topic:w});g||(g=(i=this.client.core.eventClient)==null?void 0:i.createEvent({type:k.session_approve_started,properties:{topic:w,trace:[k.session_approve_started,k.session_namespaces_validation_success]}}));const A=await this.client.core.crypto.generateKeyPair(),D=m.publicKey,I=await this.client.core.crypto.generateSharedKey(A,D),T=v(v(v({relay:{protocol:a??\"irn\"},namespaces:l,controller:{publicKey:A,metadata:this.client.metadata},expiry:V(J)},p&&{sessionProperties:p}),h&&{scopedProperties:h}),u&&{sessionConfig:u}),K=P.relay;g.addTrace(k.subscribing_session_topic);try{await this.client.core.relayer.subscribe(I,{transportType:K})}catch(q){throw g.setError(H.subscribe_session_topic_failure),q}g.addTrace(k.subscribe_session_topic_success);const fe=b(v({},T),{topic:I,requiredNamespaces:f,optionalNamespaces:_,pairingTopic:w,acknowledged:!1,self:T.controller,peer:{publicKey:m.publicKey,metadata:m.metadata},controller:A,transportType:P.relay});await this.client.session.set(I,fe),g.addTrace(k.store_session);try{g.addTrace(k.publishing_session_settle),await this.sendRequest({topic:I,method:\"wc_sessionSettle\",params:T,throwOnFailedPublish:!0}).catch(q=>{throw g?.setError(H.session_settle_publish_failure),q}),g.addTrace(k.session_settle_publish_success),g.addTrace(k.publishing_session_approve),await this.sendResult({id:o,topic:w,result:{relay:{protocol:a??\"irn\"},responderPublicKey:A},throwOnFailedPublish:!0}).catch(q=>{throw g?.setError(H.session_approve_publish_failure),q}),g.addTrace(k.session_approve_publish_success)}catch(q){throw this.client.logger.error(q),this.client.session.delete(I,O(\"USER_DISCONNECTED\")),await this.client.core.relayer.unsubscribe(I),q}return this.client.core.eventClient.deleteEvent({eventId:g.eventId}),await this.client.core.pairing.updateMetadata({topic:w,metadata:m.metadata}),await this.client.proposal.delete(o,O(\"USER_DISCONNECTED\")),await this.client.core.pairing.activate({topic:w}),await this.setExpiry(I,V(J)),{topic:I,acknowledged:()=>Promise.resolve(this.client.session.get(I))}}),c(this,\"reject\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(e)}catch(r){throw this.client.logger.error(\"reject() -> isValidReject() failed\"),r}const{id:t,reason:s}=e;let i;try{i=this.client.proposal.get(t).pairingTopic}catch(r){throw this.client.logger.error(`reject() -> proposal.get(${t}) failed`),r}i&&(await this.sendError({id:t,topic:i,error:s,rpcOpts:N.wc_sessionPropose.reject}),await this.client.proposal.delete(t,O(\"USER_DISCONNECTED\")))}),c(this,\"update\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(e)}catch(h){throw this.client.logger.error(\"update() -> isValidUpdate() failed\"),h}const{topic:t,namespaces:s}=e,{done:i,resolve:r,reject:o}=ee(),a=G(),l=ge().toString(),p=this.client.session.get(t).namespaces;return this.events.once(R(\"session_update\",a),({error:h})=>{h?o(h):r()}),await this.client.session.update(t,{namespaces:s}),await this.sendRequest({topic:t,method:\"wc_sessionUpdate\",params:{namespaces:s},throwOnFailedPublish:!0,clientRpcId:a,relayRpcId:l}).catch(h=>{this.client.logger.error(h),this.client.session.update(t,{namespaces:p}),o(h)}),{acknowledged:i}}),c(this,\"extend\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(e)}catch(a){throw this.client.logger.error(\"extend() -> isValidExtend() failed\"),a}const{topic:t}=e,s=G(),{done:i,resolve:r,reject:o}=ee();return this.events.once(R(\"session_extend\",s),({error:a})=>{a?o(a):r()}),await this.setExpiry(t,V(J)),this.sendRequest({topic:t,method:\"wc_sessionExtend\",params:{},clientRpcId:s,throwOnFailedPublish:!0}).catch(a=>{o(a)}),{acknowledged:i}}),c(this,\"request\",async e=>{this.isInitialized();try{await this.isValidRequest(e)}catch(_){throw this.client.logger.error(\"request() -> isValidRequest() failed\"),_}const{chainId:t,request:s,topic:i,expiry:r=N.wc_sessionRequest.req.ttl}=e,o=this.client.session.get(i);o?.transportType===P.relay&&await this.confirmOnlineStateOrThrow();const a=G(),l=ge().toString(),{done:p,resolve:h,reject:u}=ee(r,\"Request expired. Please try again.\");this.events.once(R(\"session_request\",a),({error:_,result:g})=>{_?u(_):h(g)});const d=\"wc_sessionRequest\",w=this.getAppLinkIfEnabled(o.peer.metadata,o.transportType);if(w)return await this.sendRequest({clientRpcId:a,relayRpcId:l,topic:i,method:d,params:{request:b(v({},s),{expiryTimestamp:V(r)}),chainId:t},expiry:r,throwOnFailedPublish:!0,appLink:w}).catch(_=>u(_)),this.client.events.emit(\"session_request_sent\",{topic:i,request:s,chainId:t,id:a}),await p();const m={request:b(v({},s),{expiryTimestamp:V(r)}),chainId:t},f=this.shouldSetTVF(d,m);return await Promise.all([new Promise(async _=>{await this.sendRequest(v({clientRpcId:a,relayRpcId:l,topic:i,method:d,params:m,expiry:r,throwOnFailedPublish:!0},f&&{tvf:this.getTVFParams(a,m)})).catch(g=>u(g)),this.client.events.emit(\"session_request_sent\",{topic:i,request:s,chainId:t,id:a}),_()}),new Promise(async _=>{var g;if(!((g=o.sessionConfig)!=null&&g.disableDeepLink)){const A=await Ut(this.client.core.storage,Me);await Gt({id:a,topic:i,wcDeepLink:A})}_()}),p()]).then(_=>_[2])}),c(this,\"respond\",async e=>{this.isInitialized(),await this.isValidRespond(e);const{topic:t,response:s}=e,{id:i}=s,r=this.client.session.get(t);r.transportType===P.relay&&await this.confirmOnlineStateOrThrow();const o=this.getAppLinkIfEnabled(r.peer.metadata,r.transportType);j(s)?await this.sendResult({id:i,topic:t,result:s.result,throwOnFailedPublish:!0,appLink:o}):F(s)&&await this.sendError({id:i,topic:t,error:s.error,appLink:o}),this.cleanupAfterResponse(e)}),c(this,\"ping\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(e)}catch(s){throw this.client.logger.error(\"ping() -> isValidPing() failed\"),s}const{topic:t}=e;if(this.client.session.keys.includes(t)){const s=G(),i=ge().toString(),{done:r,resolve:o,reject:a}=ee();this.events.once(R(\"session_ping\",s),({error:l})=>{l?a(l):o()}),await Promise.all([this.sendRequest({topic:t,method:\"wc_sessionPing\",params:{},throwOnFailedPublish:!0,clientRpcId:s,relayRpcId:i}),r()])}else this.client.core.pairing.pairings.keys.includes(t)&&(this.client.logger.warn(\"ping() on pairing topic is deprecated and will be removed in the next major release.\"),await this.client.core.pairing.ping({topic:t}))}),c(this,\"emit\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(e);const{topic:t,event:s,chainId:i}=e,r=ge().toString(),o=G();await this.sendRequest({topic:t,method:\"wc_sessionEvent\",params:{event:s,chainId:i},throwOnFailedPublish:!0,relayRpcId:r,clientRpcId:o})}),c(this,\"disconnect\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(e);const{topic:t}=e;if(this.client.session.keys.includes(t))await this.sendRequest({topic:t,method:\"wc_sessionDelete\",params:O(\"USER_DISCONNECTED\"),throwOnFailedPublish:!0}),await this.deleteSession({topic:t,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(t))await this.client.core.pairing.disconnect({topic:t});else{const{message:s}=y(\"MISMATCHED_TOPIC\",`Session or pairing topic not found: ${t}`);throw new Error(s)}}),c(this,\"find\",e=>(this.isInitialized(),this.client.session.getAll().filter(t=>jt(t,e)))),c(this,\"getPendingSessionRequests\",()=>this.client.pendingRequest.getAll()),c(this,\"authenticate\",async(e,t)=>{var s;this.isInitialized(),this.isValidAuthenticate(e);const i=t&&this.client.core.linkModeSupportedApps.includes(t)&&((s=this.client.metadata.redirect)==null?void 0:s.linkMode),r=i?P.link_mode:P.relay;r===P.relay&&await this.confirmOnlineStateOrThrow();const{chains:o,statement:a=\"\",uri:l,domain:p,nonce:h,type:u,exp:d,nbf:w,methods:m=[],expiry:f}=e,_=[...e.resources||[]],{topic:g,uri:A}=await this.client.core.pairing.create({methods:[\"wc_sessionAuthenticate\"],transportType:r});this.client.logger.info({message:\"Generated new pairing\",pairing:{topic:g,uri:A}});const D=await this.client.core.crypto.generateKeyPair(),I=be(D);if(await Promise.all([this.client.auth.authKeys.set(ce,{responseTopic:I,publicKey:D}),this.client.auth.pairingTopics.set(I,{topic:I,pairingTopic:g})]),await this.client.core.relayer.subscribe(I,{transportType:r}),this.client.logger.info(`sending request to new pairing topic: ${g}`),m.length>0){const{namespace:x}=Ae(o[0]);let L=Ft(x,\"request\",m);xe(_)&&(L=Qt(L,_.pop())),_.push(L)}const T=f&&f>N.wc_sessionAuthenticate.req.ttl?f:N.wc_sessionAuthenticate.req.ttl,K={authPayload:{type:u??\"caip122\",chains:o,statement:a,aud:l,domain:p,version:\"1\",nonce:h,iat:new Date().toISOString(),exp:d,nbf:w,resources:_},requester:{publicKey:D,metadata:this.client.metadata},expiryTimestamp:V(T)},fe={eip155:{chains:o,methods:[...new Set([\"personal_sign\",...m])],events:[\"chainChanged\",\"accountsChanged\"]}},q={requiredNamespaces:{},optionalNamespaces:fe,relays:[{protocol:\"irn\"}],pairingTopic:g,proposer:{publicKey:D,metadata:this.client.metadata},expiryTimestamp:V(N.wc_sessionPropose.req.ttl),id:G()},{done:Rt,resolve:je,reject:Se}=ee(T,\"Request expired\"),te=G(),le=R(\"session_connect\",q.id),Re=R(\"session_request\",te),pe=async({error:x,session:L})=>{this.events.off(Re,ve),x?Se(x):L&&je({session:L})},ve=async x=>{var L,Fe,Qe;if(await this.deletePendingAuthRequest(te,{message:\"fulfilled\",code:0}),x.error){const ie=O(\"WC_METHOD_UNSUPPORTED\",\"wc_sessionAuthenticate\");return x.error.code===ie.code?void 0:(this.events.off(le,pe),Se(x.error.message))}await this.deleteProposal(q.id),this.events.off(le,pe);const{cacaos:He,responder:Q}=x.result,Te=[],ze=[];for(const ie of He){await et({cacao:ie,projectId:this.client.core.projectId})||(this.client.logger.error(ie,\"Signature verification failed\"),Se(O(\"SESSION_SETTLEMENT_FAILED\",\"Signature verification failed\")));const{p:qe}=ie,Pe=xe(qe.resources),Ye=[tt(qe.iss)],vt=st(qe.iss);if(Pe){const Ne=it(Pe),It=rt(Pe);Te.push(...Ne),Ye.push(...It)}for(const Ne of Ye)ze.push(`${Ne}:${vt}`)}const se=await this.client.core.crypto.generateSharedKey(D,Q.publicKey);let he;Te.length>0&&(he={topic:se,acknowledged:!0,self:{publicKey:D,metadata:this.client.metadata},peer:Q,controller:Q.publicKey,expiry:V(J),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:\"irn\"},pairingTopic:g,namespaces:nt([...new Set(Te)],[...new Set(ze)]),transportType:r},await this.client.core.relayer.subscribe(se,{transportType:r}),await this.client.session.set(se,he),g&&await this.client.core.pairing.updateMetadata({topic:g,metadata:Q.metadata}),he=this.client.session.get(se)),(L=this.client.metadata.redirect)!=null&&L.linkMode&&(Fe=Q.metadata.redirect)!=null&&Fe.linkMode&&(Qe=Q.metadata.redirect)!=null&&Qe.universal&&t&&(this.client.core.addLinkModeSupportedApp(Q.metadata.redirect.universal),this.client.session.update(se,{transportType:P.link_mode})),je({auths:He,session:he})};this.events.once(le,pe),this.events.once(Re,ve);let Ie;try{if(i){const x=ye(\"wc_sessionAuthenticate\",K,te);this.client.core.history.set(g,x);const L=await this.client.core.crypto.encode(\"\",x,{type:Ht,encoding:ne});Ie=ue(t,g,L)}else await Promise.all([this.sendRequest({topic:g,method:\"wc_sessionAuthenticate\",params:K,expiry:e.expiry,throwOnFailedPublish:!0,clientRpcId:te}),this.sendRequest({topic:g,method:\"wc_sessionPropose\",params:q,expiry:N.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:q.id})])}catch(x){throw this.events.off(le,pe),this.events.off(Re,ve),x}return await this.setProposal(q.id,q),await this.setAuthRequest(te,{request:b(v({},K),{verifyContext:{}}),pairingTopic:g,transportType:r}),{uri:Ie??A,response:Rt}}),c(this,\"approveSessionAuthenticate\",async e=>{const{id:t,auths:s}=e,i=this.client.core.eventClient.createEvent({properties:{topic:t.toString(),trace:[z.authenticated_session_approve_started]}});try{this.isInitialized()}catch(f){throw i.setError(re.no_internet_connection),f}const r=this.getPendingAuthRequest(t);if(!r)throw i.setError(re.authenticated_session_pending_request_not_found),new Error(`Could not find pending auth request with id ${t}`);const o=r.transportType||P.relay;o===P.relay&&await this.confirmOnlineStateOrThrow();const a=r.requester.publicKey,l=await this.client.core.crypto.generateKeyPair(),p=be(a),h={type:Ve,receiverPublicKey:a,senderPublicKey:l},u=[],d=[];for(const f of s){if(!await et({cacao:f,projectId:this.client.core.projectId})){i.setError(re.invalid_cacao);const I=O(\"SESSION_SETTLEMENT_FAILED\",\"Signature verification failed\");throw await this.sendError({id:t,topic:p,error:I,encodeOpts:h}),new Error(I.message)}i.addTrace(z.cacaos_verified);const{p:_}=f,g=xe(_.resources),A=[tt(_.iss)],D=st(_.iss);if(g){const I=it(g),T=rt(g);u.push(...I),A.push(...T)}for(const I of A)d.push(`${I}:${D}`)}const w=await this.client.core.crypto.generateSharedKey(l,a);i.addTrace(z.create_authenticated_session_topic);let m;if(u?.length>0){m={topic:w,acknowledged:!0,self:{publicKey:l,metadata:this.client.metadata},peer:{publicKey:a,metadata:r.requester.metadata},controller:a,expiry:V(J),authentication:s,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:\"irn\"},pairingTopic:r.pairingTopic,namespaces:nt([...new Set(u)],[...new Set(d)]),transportType:o},i.addTrace(z.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(w,{transportType:o})}catch(f){throw i.setError(re.subscribe_authenticated_session_topic_failure),f}i.addTrace(z.subscribe_authenticated_session_topic_success),await this.client.session.set(w,m),i.addTrace(z.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:r.pairingTopic,metadata:r.requester.metadata})}i.addTrace(z.publishing_authenticated_session_approve);try{await this.sendResult({topic:p,id:t,result:{cacaos:s,responder:{publicKey:l,metadata:this.client.metadata}},encodeOpts:h,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(r.requester.metadata,o)})}catch(f){throw i.setError(re.authenticated_session_approve_publish_failure),f}return await this.client.auth.requests.delete(t,{message:\"fulfilled\",code:0}),await this.client.core.pairing.activate({topic:r.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:i.eventId}),{session:m}}),c(this,\"rejectSessionAuthenticate\",async e=>{this.isInitialized();const{id:t,reason:s}=e,i=this.getPendingAuthRequest(t);if(!i)throw new Error(`Could not find pending auth request with id ${t}`);i.transportType===P.relay&&await this.confirmOnlineStateOrThrow();const r=i.requester.publicKey,o=await this.client.core.crypto.generateKeyPair(),a=be(r),l={type:Ve,receiverPublicKey:r,senderPublicKey:o};await this.sendError({id:t,topic:a,error:s,encodeOpts:l,rpcOpts:N.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(i.requester.metadata,i.transportType)}),await this.client.auth.requests.delete(t,{message:\"rejected\",code:0}),await this.client.proposal.delete(t,O(\"USER_DISCONNECTED\"))}),c(this,\"formatAuthMessage\",e=>{this.isInitialized();const{request:t,iss:s}=e;return zt(t,s)}),c(this,\"processRelayMessageCache\",()=>{setTimeout(async()=>{if(this.relayMessageCache.length!==0)for(;this.relayMessageCache.length>0;)try{const e=this.relayMessageCache.shift();e&&await this.onRelayMessage(e)}catch(e){this.client.logger.error(e)}},50)}),c(this,\"cleanupDuplicatePairings\",async e=>{if(e.pairingTopic)try{const t=this.client.core.pairing.pairings.get(e.pairingTopic),s=this.client.core.pairing.pairings.getAll().filter(i=>{var r,o;return((r=i.peerMetadata)==null?void 0:r.url)&&((o=i.peerMetadata)==null?void 0:o.url)===e.peer.metadata.url&&i.topic&&i.topic!==t.topic});if(s.length===0)return;this.client.logger.info(`Cleaning up ${s.length} duplicate pairing(s)`),await Promise.all(s.map(i=>this.client.core.pairing.disconnect({topic:i.topic}))),this.client.logger.info(\"Duplicate pairings clean up finished\")}catch(t){this.client.logger.error(t)}}),c(this,\"deleteSession\",async e=>{var t;const{topic:s,expirerHasDeleted:i=!1,emitEvent:r=!0,id:o=0}=e,{self:a}=this.client.session.get(s);await this.client.core.relayer.unsubscribe(s),await this.client.session.delete(s,O(\"USER_DISCONNECTED\")),this.addToRecentlyDeleted(s,\"session\"),this.client.core.crypto.keychain.has(a.publicKey)&&await this.client.core.crypto.deleteKeyPair(a.publicKey),this.client.core.crypto.keychain.has(s)&&await this.client.core.crypto.deleteSymKey(s),i||this.client.core.expirer.del(s),this.client.core.storage.removeItem(Me).catch(l=>this.client.logger.warn(l)),this.getPendingSessionRequests().forEach(l=>{l.topic===s&&this.deletePendingSessionRequest(l.id,O(\"USER_DISCONNECTED\"))}),s===((t=this.sessionRequestQueue.queue[0])==null?void 0:t.topic)&&(this.sessionRequestQueue.state=$.idle),r&&this.client.events.emit(\"session_delete\",{id:o,topic:s})}),c(this,\"deleteProposal\",async(e,t)=>{if(t)try{const s=this.client.proposal.get(e),i=this.client.core.eventClient.getEvent({topic:s.pairingTopic});i?.setError(H.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(e,O(\"USER_DISCONNECTED\")),t?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,\"proposal\")}),c(this,\"deletePendingSessionRequest\",async(e,t,s=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,t),s?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,\"request\"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(i=>i.id!==e),s&&(this.sessionRequestQueue.state=$.idle,this.client.events.emit(\"session_request_expire\",{id:e}))}),c(this,\"deletePendingAuthRequest\",async(e,t,s=!1)=>{await Promise.all([this.client.auth.requests.delete(e,t),s?Promise.resolve():this.client.core.expirer.del(e)])}),c(this,\"setExpiry\",async(e,t)=>{this.client.session.keys.includes(e)&&(this.client.core.expirer.set(e,t),await this.client.session.update(e,{expiry:t}))}),c(this,\"setProposal\",async(e,t)=>{this.client.core.expirer.set(e,V(N.wc_sessionPropose.req.ttl)),await this.client.proposal.set(e,t)}),c(this,\"setAuthRequest\",async(e,t)=>{const{request:s,pairingTopic:i,transportType:r=P.relay}=t;this.client.core.expirer.set(e,s.expiryTimestamp),await this.client.auth.requests.set(e,{authPayload:s.authPayload,requester:s.requester,expiryTimestamp:s.expiryTimestamp,id:e,pairingTopic:i,verifyContext:s.verifyContext,transportType:r})}),c(this,\"setPendingSessionRequest\",async e=>{const{id:t,topic:s,params:i,verifyContext:r}=e,o=i.request.expiryTimestamp||V(N.wc_sessionRequest.req.ttl);this.client.core.expirer.set(t,o),await this.client.pendingRequest.set(t,{id:t,topic:s,params:i,verifyContext:r})}),c(this,\"sendRequest\",async e=>{const{topic:t,method:s,params:i,expiry:r,relayRpcId:o,clientRpcId:a,throwOnFailedPublish:l,appLink:p,tvf:h}=e,u=ye(s,i,a);let d;const w=!!p;try{const _=w?ne:de;d=await this.client.core.crypto.encode(t,u,{encoding:_})}catch(_){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${t} failed`),_}let m;if(gt.includes(s)){const _=W(JSON.stringify(u)),g=W(d);m=await this.client.core.verify.register({id:g,decryptedId:_})}const f=N[s].req;if(f.attestation=m,r&&(f.ttl=r),o&&(f.id=o),this.client.core.history.set(t,u),w){const _=ue(p,t,d);await global.Linking.openURL(_,this.client.name)}else{const _=N[s].req;r&&(_.ttl=r),o&&(_.id=o),_.tvf=b(v({},h),{correlationId:u.id}),l?(_.internal=b(v({},_.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(t,d,_)):this.client.core.relayer.publish(t,d,_).catch(g=>this.client.logger.error(g))}return u.id}),c(this,\"sendResult\",async e=>{const{id:t,topic:s,result:i,throwOnFailedPublish:r,encodeOpts:o,appLink:a}=e,l=gs(t,i);let p;const h=a&&typeof(global==null?void 0:global.Linking)<\"u\";try{const w=h?ne:de;p=await this.client.core.crypto.encode(s,l,b(v({},o||{}),{encoding:w}))}catch(w){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${s} failed`),w}let u,d;try{u=await this.client.core.history.get(s,t);const w=u.request;try{this.shouldSetTVF(w.method,w.params)&&(d=this.getTVFParams(t,w.params,i))}catch(m){this.client.logger.warn(\"sendResult() -> getTVFParams() failed\",m)}}catch(w){throw this.client.logger.error(`sendResult() -> history.get(${s}, ${t}) failed`),w}if(h){const w=ue(a,s,p);await global.Linking.openURL(w,this.client.name)}else{const w=u.request.method,m=N[w].res;m.tvf=b(v({},d),{correlationId:t}),r?(m.internal=b(v({},m.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(s,p,m)):this.client.core.relayer.publish(s,p,m).catch(f=>this.client.logger.error(f))}await this.client.core.history.resolve(l)}),c(this,\"sendError\",async e=>{const{id:t,topic:s,error:i,encodeOpts:r,rpcOpts:o,appLink:a}=e,l=ys(t,i);let p;const h=a&&typeof(global==null?void 0:global.Linking)<\"u\";try{const d=h?ne:de;p=await this.client.core.crypto.encode(s,l,b(v({},r||{}),{encoding:d}))}catch(d){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${s} failed`),d}let u;try{u=await this.client.core.history.get(s,t)}catch(d){throw this.client.logger.error(`sendError() -> history.get(${s}, ${t}) failed`),d}if(h){const d=ue(a,s,p);await global.Linking.openURL(d,this.client.name)}else{const d=u.request.method,w=o||N[d].res;this.client.core.relayer.publish(s,p,w)}await this.client.core.history.resolve(l)}),c(this,\"cleanup\",async()=>{const e=[],t=[];this.client.session.getAll().forEach(s=>{let i=!1;Z(s.expiry)&&(i=!0),this.client.core.crypto.keychain.has(s.topic)||(i=!0),i&&e.push(s.topic)}),this.client.proposal.getAll().forEach(s=>{Z(s.expiryTimestamp)&&t.push(s.id)}),await Promise.all([...e.map(s=>this.deleteSession({topic:s})),...t.map(s=>this.deleteProposal(s))])}),c(this,\"onProviderMessageEvent\",async e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):await this.onRelayMessage(e)}),c(this,\"onRelayEventRequest\",async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()}),c(this,\"processRequestsQueue\",async()=>{if(this.requestQueue.state===$.active){this.client.logger.info(\"Request queue already active, skipping...\");return}for(this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`);this.requestQueue.queue.length>0;){this.requestQueue.state=$.active;const e=this.requestQueue.queue.shift();if(e)try{await this.processRequest(e)}catch(t){this.client.logger.warn(t)}}this.requestQueue.state=$.idle}),c(this,\"processRequest\",async e=>{const{topic:t,payload:s,attestation:i,transportType:r,encryptedId:o}=e,a=s.method;if(!this.shouldIgnorePairingRequest({topic:t,requestMethod:a}))switch(a){case\"wc_sessionPropose\":return await this.onSessionProposeRequest({topic:t,payload:s,attestation:i,encryptedId:o});case\"wc_sessionSettle\":return await this.onSessionSettleRequest(t,s);case\"wc_sessionUpdate\":return await this.onSessionUpdateRequest(t,s);case\"wc_sessionExtend\":return await this.onSessionExtendRequest(t,s);case\"wc_sessionPing\":return await this.onSessionPingRequest(t,s);case\"wc_sessionDelete\":return await this.onSessionDeleteRequest(t,s);case\"wc_sessionRequest\":return await this.onSessionRequest({topic:t,payload:s,attestation:i,encryptedId:o,transportType:r});case\"wc_sessionEvent\":return await this.onSessionEventRequest(t,s);case\"wc_sessionAuthenticate\":return await this.onSessionAuthenticateRequest({topic:t,payload:s,attestation:i,encryptedId:o,transportType:r});default:return this.client.logger.info(`Unsupported request method ${a}`)}}),c(this,\"onRelayEventResponse\",async e=>{const{topic:t,payload:s,transportType:i}=e,r=(await this.client.core.history.get(t,s.id)).request.method;switch(r){case\"wc_sessionPropose\":return this.onSessionProposeResponse(t,s,i);case\"wc_sessionSettle\":return this.onSessionSettleResponse(t,s);case\"wc_sessionUpdate\":return this.onSessionUpdateResponse(t,s);case\"wc_sessionExtend\":return this.onSessionExtendResponse(t,s);case\"wc_sessionPing\":return this.onSessionPingResponse(t,s);case\"wc_sessionRequest\":return this.onSessionRequestResponse(t,s);case\"wc_sessionAuthenticate\":return this.onSessionAuthenticateResponse(t,s);default:return this.client.logger.info(`Unsupported response method ${r}`)}}),c(this,\"onRelayEventUnknownPayload\",e=>{const{topic:t}=e,{message:s}=y(\"MISSING_OR_INVALID\",`Decoded payload on topic ${t} is not identifiable as a JSON-RPC request or a response.`);throw new Error(s)}),c(this,\"shouldIgnorePairingRequest\",e=>{const{topic:t,requestMethod:s}=e,i=this.expectedPairingMethodMap.get(t);return!i||i.includes(s)?!1:!!(i.includes(\"wc_sessionAuthenticate\")&&this.client.events.listenerCount(\"session_authenticate\")>0)}),c(this,\"onSessionProposeRequest\",async e=>{const{topic:t,payload:s,attestation:i,encryptedId:r}=e,{params:o,id:a}=s;try{const l=this.client.core.eventClient.getEvent({topic:t});this.client.events.listenerCount(\"session_proposal\")===0&&(console.warn(\"No listener for session_proposal event\"),l?.setError(Pt.proposal_listener_not_found)),this.isValidConnect(v({},s.params));const p=o.expiryTimestamp||V(N.wc_sessionPropose.req.ttl),h=v({id:a,pairingTopic:t,expiryTimestamp:p},o);await this.setProposal(a,h);const u=await this.getVerifyContext({attestationId:i,hash:W(JSON.stringify(s)),encryptedId:r,metadata:h.proposer.metadata});l?.addTrace(Nt.emit_session_proposal),this.client.events.emit(\"session_proposal\",{id:a,params:h,verifyContext:u})}catch(l){await this.sendError({id:a,topic:t,error:l,rpcOpts:N.wc_sessionPropose.autoReject}),this.client.logger.error(l)}}),c(this,\"onSessionProposeResponse\",async(e,t,s)=>{const{id:i}=t;if(j(t)){const{result:r}=t;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",result:r});const o=this.client.proposal.get(i);this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",proposal:o});const a=o.proposer.publicKey;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",selfPublicKey:a});const l=r.responderPublicKey;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",peerPublicKey:l});const p=await this.client.core.crypto.generateSharedKey(a,l);this.pendingSessions.set(i,{sessionTopic:p,pairingTopic:e,proposalId:i,publicKey:a});const h=await this.client.core.relayer.subscribe(p,{transportType:s});this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",subscriptionId:h}),await this.client.core.pairing.activate({topic:e})}else if(F(t)){await this.client.proposal.delete(i,O(\"USER_DISCONNECTED\"));const r=R(\"session_connect\",i);if(this.events.listenerCount(r)===0)throw new Error(`emitting ${r} without any listeners, 954`);this.events.emit(r,{error:t.error})}}),c(this,\"onSessionSettleRequest\",async(e,t)=>{const{id:s,params:i}=t;try{this.isValidSessionSettleRequest(i);const{relay:r,controller:o,expiry:a,namespaces:l,sessionProperties:p,scopedProperties:h,sessionConfig:u}=t.params,d=[...this.pendingSessions.values()].find(f=>f.sessionTopic===e);if(!d)return this.client.logger.error(`Pending session not found for topic ${e}`);const w=this.client.proposal.get(d.proposalId),m=b(v(v(v({topic:e,relay:r,expiry:a,namespaces:l,acknowledged:!0,pairingTopic:d.pairingTopic,requiredNamespaces:w.requiredNamespaces,optionalNamespaces:w.optionalNamespaces,controller:o.publicKey,self:{publicKey:d.publicKey,metadata:this.client.metadata},peer:{publicKey:o.publicKey,metadata:o.metadata}},p&&{sessionProperties:p}),h&&{scopedProperties:h}),u&&{sessionConfig:u}),{transportType:P.relay});await this.client.session.set(m.topic,m),await this.setExpiry(m.topic,m.expiry),await this.client.core.pairing.updateMetadata({topic:d.pairingTopic,metadata:m.peer.metadata}),this.client.events.emit(\"session_connect\",{session:m}),this.events.emit(R(\"session_connect\",d.proposalId),{session:m}),this.pendingSessions.delete(d.proposalId),this.deleteProposal(d.proposalId,!1),this.cleanupDuplicatePairings(m),await this.sendResult({id:t.id,topic:e,result:!0,throwOnFailedPublish:!0})}catch(r){await this.sendError({id:s,topic:e,error:r}),this.client.logger.error(r)}}),c(this,\"onSessionSettleResponse\",async(e,t)=>{const{id:s}=t;j(t)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit(R(\"session_approve\",s),{})):F(t)&&(await this.client.session.delete(e,O(\"USER_DISCONNECTED\")),this.events.emit(R(\"session_approve\",s),{error:t.error}))}),c(this,\"onSessionUpdateRequest\",async(e,t)=>{const{params:s,id:i}=t;try{const r=`${e}_session_update`,o=oe.get(r);if(o&&this.isRequestOutOfSync(o,i)){this.client.logger.warn(`Discarding out of sync request - ${i}`),this.sendError({id:i,topic:e,error:O(\"INVALID_UPDATE_REQUEST\")});return}this.isValidUpdate(v({topic:e},s));try{oe.set(r,i),await this.client.session.update(e,{namespaces:s.namespaces}),await this.sendResult({id:i,topic:e,result:!0,throwOnFailedPublish:!0})}catch(a){throw oe.delete(r),a}this.client.events.emit(\"session_update\",{id:i,topic:e,params:s})}catch(r){await this.sendError({id:i,topic:e,error:r}),this.client.logger.error(r)}}),c(this,\"isRequestOutOfSync\",(e,t)=>t.toString().slice(0,-3)<e.toString().slice(0,-3)),c(this,\"onSessionUpdateResponse\",(e,t)=>{const{id:s}=t,i=R(\"session_update\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);j(t)?this.events.emit(R(\"session_update\",s),{}):F(t)&&this.events.emit(R(\"session_update\",s),{error:t.error})}),c(this,\"onSessionExtendRequest\",async(e,t)=>{const{id:s}=t;try{this.isValidExtend({topic:e}),await this.setExpiry(e,V(J)),await this.sendResult({id:s,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(\"session_extend\",{id:s,topic:e})}catch(i){await this.sendError({id:s,topic:e,error:i}),this.client.logger.error(i)}}),c(this,\"onSessionExtendResponse\",(e,t)=>{const{id:s}=t,i=R(\"session_extend\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);j(t)?this.events.emit(R(\"session_extend\",s),{}):F(t)&&this.events.emit(R(\"session_extend\",s),{error:t.error})}),c(this,\"onSessionPingRequest\",async(e,t)=>{const{id:s}=t;try{this.isValidPing({topic:e}),await this.sendResult({id:s,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(\"session_ping\",{id:s,topic:e})}catch(i){await this.sendError({id:s,topic:e,error:i}),this.client.logger.error(i)}}),c(this,\"onSessionPingResponse\",(e,t)=>{const{id:s}=t,i=R(\"session_ping\",s);setTimeout(()=>{if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners 2176`);j(t)?this.events.emit(R(\"session_ping\",s),{}):F(t)&&this.events.emit(R(\"session_ping\",s),{error:t.error})},500)}),c(this,\"onSessionDeleteRequest\",async(e,t)=>{const{id:s}=t;try{this.isValidDisconnect({topic:e,reason:t.params}),Promise.all([new Promise(i=>{this.client.core.relayer.once(Xe.publish,async()=>{i(await this.deleteSession({topic:e,id:s}))})}),this.sendResult({id:s,topic:e,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:O(\"USER_DISCONNECTED\")})]).catch(i=>this.client.logger.error(i))}catch(i){this.client.logger.error(i)}}),c(this,\"onSessionRequest\",async e=>{var t,s,i;const{topic:r,payload:o,attestation:a,encryptedId:l,transportType:p}=e,{id:h,params:u}=o;try{await this.isValidRequest(v({topic:r},u));const d=this.client.session.get(r),w=await this.getVerifyContext({attestationId:a,hash:W(JSON.stringify(ye(\"wc_sessionRequest\",u,h))),encryptedId:l,metadata:d.peer.metadata,transportType:p}),m={id:h,topic:r,params:u,verifyContext:w};await this.setPendingSessionRequest(m),p===P.link_mode&&(t=d.peer.metadata.redirect)!=null&&t.universal&&this.client.core.addLinkModeSupportedApp((s=d.peer.metadata.redirect)==null?void 0:s.universal),(i=this.client.signConfig)!=null&&i.disableRequestQueue?this.emitSessionRequest(m):(this.addSessionRequestToSessionRequestQueue(m),this.processSessionRequestQueue())}catch(d){await this.sendError({id:h,topic:r,error:d}),this.client.logger.error(d)}}),c(this,\"onSessionRequestResponse\",(e,t)=>{const{id:s}=t,i=R(\"session_request\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);j(t)?this.events.emit(R(\"session_request\",s),{result:t.result}):F(t)&&this.events.emit(R(\"session_request\",s),{error:t.error})}),c(this,\"onSessionEventRequest\",async(e,t)=>{const{id:s,params:i}=t;try{const r=`${e}_session_event_${i.event.name}`,o=oe.get(r);if(o&&this.isRequestOutOfSync(o,s)){this.client.logger.info(`Discarding out of sync request - ${s}`);return}this.isValidEmit(v({topic:e},i)),this.client.events.emit(\"session_event\",{id:s,topic:e,params:i}),oe.set(r,s)}catch(r){await this.sendError({id:s,topic:e,error:r}),this.client.logger.error(r)}}),c(this,\"onSessionAuthenticateResponse\",(e,t)=>{const{id:s}=t;this.client.logger.trace({type:\"method\",method:\"onSessionAuthenticateResponse\",topic:e,payload:t}),j(t)?this.events.emit(R(\"session_request\",s),{result:t.result}):F(t)&&this.events.emit(R(\"session_request\",s),{error:t.error})}),c(this,\"onSessionAuthenticateRequest\",async e=>{var t;const{topic:s,payload:i,attestation:r,encryptedId:o,transportType:a}=e;try{const{requester:l,authPayload:p,expiryTimestamp:h}=i.params,u=await this.getVerifyContext({attestationId:r,hash:W(JSON.stringify(i)),encryptedId:o,metadata:l.metadata,transportType:a}),d={requester:l,pairingTopic:s,id:i.id,authPayload:p,verifyContext:u,expiryTimestamp:h};await this.setAuthRequest(i.id,{request:d,pairingTopic:s,transportType:a}),a===P.link_mode&&(t=l.metadata.redirect)!=null&&t.universal&&this.client.core.addLinkModeSupportedApp(l.metadata.redirect.universal),this.client.events.emit(\"session_authenticate\",{topic:s,params:i.params,id:i.id,verifyContext:u})}catch(l){this.client.logger.error(l);const p=i.params.requester.publicKey,h=await this.client.core.crypto.generateKeyPair(),u=this.getAppLinkIfEnabled(i.params.requester.metadata,a),d={type:Ve,receiverPublicKey:p,senderPublicKey:h};await this.sendError({id:i.id,topic:s,error:l,encodeOpts:d,rpcOpts:N.wc_sessionAuthenticate.autoReject,appLink:u})}}),c(this,\"addSessionRequestToSessionRequestQueue\",e=>{this.sessionRequestQueue.queue.push(e)}),c(this,\"cleanupAfterResponse\",e=>{this.deletePendingSessionRequest(e.response.id,{message:\"fulfilled\",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=$.idle,this.processSessionRequestQueue()},Oe(this.requestQueueDelay))}),c(this,\"cleanupPendingSentRequestsForTopic\",({topic:e,error:t})=>{const s=this.client.core.history.pending;s.length>0&&s.filter(i=>i.topic===e&&i.request.method===\"wc_sessionRequest\").forEach(i=>{const r=i.request.id,o=R(\"session_request\",r);if(this.events.listenerCount(o)===0)throw new Error(`emitting ${o} without any listeners`);this.events.emit(R(\"session_request\",i.request.id),{error:t})})}),c(this,\"processSessionRequestQueue\",()=>{if(this.sessionRequestQueue.state===$.active){this.client.logger.info(\"session request queue is already active.\");return}const e=this.sessionRequestQueue.queue[0];if(!e){this.client.logger.info(\"session request queue is empty.\");return}try{this.sessionRequestQueue.state=$.active,this.emitSessionRequest(e)}catch(t){this.client.logger.error(t)}}),c(this,\"emitSessionRequest\",e=>{this.client.events.emit(\"session_request\",e)}),c(this,\"onPairingCreated\",e=>{if(e.methods&&this.expectedPairingMethodMap.set(e.topic,e.methods),e.active)return;const t=this.client.proposal.getAll().find(s=>s.pairingTopic===e.topic);t&&this.onSessionProposeRequest({topic:e.topic,payload:ye(\"wc_sessionPropose\",b(v({},t),{requiredNamespaces:t.requiredNamespaces,optionalNamespaces:t.optionalNamespaces,relays:t.relays,proposer:t.proposer,sessionProperties:t.sessionProperties,scopedProperties:t.scopedProperties}),t.id)})}),c(this,\"isValidConnect\",async e=>{if(!M(e)){const{message:l}=y(\"MISSING_OR_INVALID\",`connect() params: ${JSON.stringify(e)}`);throw new Error(l)}const{pairingTopic:t,requiredNamespaces:s,optionalNamespaces:i,sessionProperties:r,scopedProperties:o,relays:a}=e;if(X(t)||await this.isValidPairingTopic(t),!Yt(a,!0)){const{message:l}=y(\"MISSING_OR_INVALID\",`connect() relays: ${a}`);throw new Error(l)}if(!X(s)&&ot(s)!==0){const l=\"requiredNamespaces are deprecated and are automatically assigned to optionalNamespaces\";[\"fatal\",\"error\",\"silent\"].includes(this.client.logger.level)?console.warn(l):this.client.logger.warn(l),this.validateNamespaces(s,\"requiredNamespaces\")}if(!X(i)&&ot(i)!==0&&this.validateNamespaces(i,\"optionalNamespaces\"),X(r)||this.validateSessionProps(r,\"sessionProperties\"),!X(o)){this.validateSessionProps(o,\"scopedProperties\");const l=Object.keys(s||{}).concat(Object.keys(i||{}));if(!Object.keys(o).every(p=>l.includes(p)))throw new Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(o)}, required/optional namespaces: ${JSON.stringify(l)}`)}}),c(this,\"validateNamespaces\",(e,t)=>{const s=Xt(e,\"connect()\",t);if(s)throw new Error(s.message)}),c(this,\"isValidApprove\",async e=>{if(!M(e))throw new Error(y(\"MISSING_OR_INVALID\",`approve() params: ${e}`).message);const{id:t,namespaces:s,relayProtocol:i,sessionProperties:r,scopedProperties:o}=e;this.checkRecentlyDeleted(t),await this.isValidProposalId(t);const a=this.client.proposal.get(t),l=Ce(s,\"approve()\");if(l)throw new Error(l.message);const p=at(a.requiredNamespaces,s,\"approve()\");if(p)throw new Error(p.message);if(!Y(i,!0)){const{message:h}=y(\"MISSING_OR_INVALID\",`approve() relayProtocol: ${i}`);throw new Error(h)}if(X(r)||this.validateSessionProps(r,\"sessionProperties\"),!X(o)){this.validateSessionProps(o,\"scopedProperties\");const h=new Set(Object.keys(s));if(!Object.keys(o).every(u=>h.has(u)))throw new Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(o)}, approved namespaces: ${Array.from(h).join(\", \")}`)}}),c(this,\"isValidReject\",async e=>{if(!M(e)){const{message:i}=y(\"MISSING_OR_INVALID\",`reject() params: ${e}`);throw new Error(i)}const{id:t,reason:s}=e;if(this.checkRecentlyDeleted(t),await this.isValidProposalId(t),!Jt(s)){const{message:i}=y(\"MISSING_OR_INVALID\",`reject() reason: ${JSON.stringify(s)}`);throw new Error(i)}}),c(this,\"isValidSessionSettleRequest\",e=>{if(!M(e)){const{message:l}=y(\"MISSING_OR_INVALID\",`onSessionSettleRequest() params: ${e}`);throw new Error(l)}const{relay:t,controller:s,namespaces:i,expiry:r}=e;if(!Bt(t)){const{message:l}=y(\"MISSING_OR_INVALID\",\"onSessionSettleRequest() relay protocol should be a string\");throw new Error(l)}const o=Wt(s,\"onSessionSettleRequest()\");if(o)throw new Error(o.message);const a=Ce(i,\"onSessionSettleRequest()\");if(a)throw new Error(a.message);if(Z(r)){const{message:l}=y(\"EXPIRED\",\"onSessionSettleRequest()\");throw new Error(l)}}),c(this,\"isValidUpdate\",async e=>{if(!M(e)){const{message:a}=y(\"MISSING_OR_INVALID\",`update() params: ${e}`);throw new Error(a)}const{topic:t,namespaces:s}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);const i=this.client.session.get(t),r=Ce(s,\"update()\");if(r)throw new Error(r.message);const o=at(i.requiredNamespaces,s,\"update()\");if(o)throw new Error(o.message)}),c(this,\"isValidExtend\",async e=>{if(!M(e)){const{message:s}=y(\"MISSING_OR_INVALID\",`extend() params: ${e}`);throw new Error(s)}const{topic:t}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t)}),c(this,\"isValidRequest\",async e=>{if(!M(e)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() params: ${e}`);throw new Error(a)}const{topic:t,request:s,chainId:i,expiry:r}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);const{namespaces:o}=this.client.session.get(t);if(!ct(o,i)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() chainId: ${i}`);throw new Error(a)}if(!Zt(s)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() ${JSON.stringify(s)}`);throw new Error(a)}if(!es(o,i,s.method)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() method: ${s.method}`);throw new Error(a)}if(r&&!ts(r,_e)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() expiry: ${r}. Expiry must be a number (in seconds) between ${_e.min} and ${_e.max}`);throw new Error(a)}}),c(this,\"isValidRespond\",async e=>{var t;if(!M(e)){const{message:r}=y(\"MISSING_OR_INVALID\",`respond() params: ${e}`);throw new Error(r)}const{topic:s,response:i}=e;try{await this.isValidSessionTopic(s)}catch(r){throw(t=e?.response)!=null&&t.id&&this.cleanupAfterResponse(e),r}if(!ss(i)){const{message:r}=y(\"MISSING_OR_INVALID\",`respond() response: ${JSON.stringify(i)}`);throw new Error(r)}}),c(this,\"isValidPing\",async e=>{if(!M(e)){const{message:s}=y(\"MISSING_OR_INVALID\",`ping() params: ${e}`);throw new Error(s)}const{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),c(this,\"isValidEmit\",async e=>{if(!M(e)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() params: ${e}`);throw new Error(o)}const{topic:t,event:s,chainId:i}=e;await this.isValidSessionTopic(t);const{namespaces:r}=this.client.session.get(t);if(!ct(r,i)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() chainId: ${i}`);throw new Error(o)}if(!is(s)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(s)}`);throw new Error(o)}if(!rs(r,i,s.name)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(s)}`);throw new Error(o)}}),c(this,\"isValidDisconnect\",async e=>{if(!M(e)){const{message:s}=y(\"MISSING_OR_INVALID\",`disconnect() params: ${e}`);throw new Error(s)}const{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),c(this,\"isValidAuthenticate\",e=>{const{chains:t,uri:s,domain:i,nonce:r}=e;if(!Array.isArray(t)||t.length===0)throw new Error(\"chains is required and must be a non-empty array\");if(!Y(s,!1))throw new Error(\"uri is required parameter\");if(!Y(i,!1))throw new Error(\"domain is required parameter\");if(!Y(r,!1))throw new Error(\"nonce is required parameter\");if([...new Set(t.map(a=>Ae(a).namespace))].length>1)throw new Error(\"Multi-namespace requests are not supported. Please request single namespace only.\");const{namespace:o}=Ae(t[0]);if(o!==\"eip155\")throw new Error(\"Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.\")}),c(this,\"getVerifyContext\",async e=>{const{attestationId:t,hash:s,encryptedId:i,metadata:r,transportType:o}=e,a={verified:{verifyUrl:r.verifyUrl||Ot,validation:\"UNKNOWN\",origin:r.url||\"\"}};try{if(o===P.link_mode){const p=this.getAppLinkIfEnabled(r,o);return a.verified.validation=p&&new URL(p).origin===new URL(r.url).origin?\"VALID\":\"INVALID\",a}const l=await this.client.core.verify.resolve({attestationId:t,hash:s,encryptedId:i,verifyUrl:r.verifyUrl});l&&(a.verified.origin=l.origin,a.verified.isScam=l.isScam,a.verified.validation=l.origin===new URL(r.url).origin?\"VALID\":\"INVALID\")}catch(l){this.client.logger.warn(l)}return this.client.logger.debug(`Verify context: ${JSON.stringify(a)}`),a}),c(this,\"validateSessionProps\",(e,t)=>{Object.values(e).forEach((s,i)=>{if(s==null){const{message:r}=y(\"MISSING_OR_INVALID\",`${t} must contain an existing value for each key. Received: ${s} for key ${Object.keys(e)[i]}`);throw new Error(r)}})}),c(this,\"getPendingAuthRequest\",e=>{const t=this.client.auth.requests.get(e);return typeof t==\"object\"?t:void 0}),c(this,\"addToRecentlyDeleted\",(e,t)=>{if(this.recentlyDeletedMap.set(e,t),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let s=0;const i=this.recentlyDeletedLimit/2;for(const r of this.recentlyDeletedMap.keys()){if(s++>=i)break;this.recentlyDeletedMap.delete(r)}}}),c(this,\"checkRecentlyDeleted\",e=>{const t=this.recentlyDeletedMap.get(e);if(t){const{message:s}=y(\"MISSING_OR_INVALID\",`Record was recently deleted - ${t}: ${e}`);throw new Error(s)}}),c(this,\"isLinkModeEnabled\",(e,t)=>{var s,i,r,o,a,l,p,h,u;return!e||t!==P.link_mode?!1:((i=(s=this.client.metadata)==null?void 0:s.redirect)==null?void 0:i.linkMode)===!0&&((o=(r=this.client.metadata)==null?void 0:r.redirect)==null?void 0:o.universal)!==void 0&&((l=(a=this.client.metadata)==null?void 0:a.redirect)==null?void 0:l.universal)!==\"\"&&((p=e?.redirect)==null?void 0:p.universal)!==void 0&&((h=e?.redirect)==null?void 0:h.universal)!==\"\"&&((u=e?.redirect)==null?void 0:u.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(e.redirect.universal)&&typeof(global==null?void 0:global.Linking)<\"u\"}),c(this,\"getAppLinkIfEnabled\",(e,t)=>{var s;return this.isLinkModeEnabled(e,t)?(s=e?.redirect)==null?void 0:s.universal:void 0}),c(this,\"handleLinkModeMessage\",({url:e})=>{if(!e||!e.includes(\"wc_ev\")||!e.includes(\"topic\"))return;const t=lt(e,\"topic\")||\"\",s=decodeURIComponent(lt(e,\"wc_ev\")||\"\"),i=this.client.session.keys.includes(t);i&&this.client.session.update(t,{transportType:P.link_mode}),this.client.core.dispatchEnvelope({topic:t,message:s,sessionExists:i})}),c(this,\"registerLinkModeListeners\",async()=>{var e;if(ns()||os()&&(e=this.client.metadata.redirect)!=null&&e.linkMode){const t=global==null?void 0:global.Linking;if(typeof t<\"u\"){t.addEventListener(\"url\",this.handleLinkModeMessage,this.client.name);const s=await t.getInitialURL();s&&setTimeout(()=>{this.handleLinkModeMessage({url:s})},50)}}}),c(this,\"shouldSetTVF\",(e,t)=>{if(!t||e!==\"wc_sessionRequest\")return!1;const{request:s}=t;return Object.keys(Ke).includes(s.method)}),c(this,\"getTVFParams\",(e,t,s)=>{var i,r;try{const o=t.request.method,a=this.extractTxHashesFromResult(o,s);return b(v({correlationId:e,rpcMethods:[o],chainId:t.chainId},this.isValidContractData(t.request.params)&&{contractAddresses:[(r=(i=t.request.params)==null?void 0:i[0])==null?void 0:r.to]}),{txHashes:a})}catch(o){this.client.logger.warn(\"Error getting TVF params\",o)}return{}}),c(this,\"isValidContractData\",e=>{var t;if(!e)return!1;try{const s=e?.data||((t=e?.[0])==null?void 0:t.data);if(!s.startsWith(\"0x\"))return!1;const i=s.slice(2);return/^[0-9a-fA-F]*$/.test(i)?i.length%2===0:!1}catch{}return!1}),c(this,\"extractTxHashesFromResult\",(e,t)=>{try{const s=Ke[e];if(typeof t==\"string\")return[t];const i=t[s.key];if(as(i))return e===\"solana_signAllTransactions\"?i.map(r=>cs(r)):i;if(typeof i==\"string\")return[i]}catch(s){this.client.logger.warn(\"Error extracting tx hashes from result\",s)}return[]})}async processPendingMessageEvents(){try{const n=this.client.session.keys,e=this.client.core.relayer.messages.getWithoutAck(n);for(const[t,s]of Object.entries(e))for(const i of s)try{await this.onProviderMessageEvent({topic:t,message:i,publishedAt:Date.now()})}catch{this.client.logger.warn(`Error processing pending message event for topic: ${t}, message: ${i}`)}}catch(n){this.client.logger.warn(\"processPendingMessageEvents failed\",n)}}isInitialized(){if(!this.initialized){const{message:n}=y(\"NOT_INITIALIZED\",this.name);throw new Error(n)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(Xe.message,n=>{this.onProviderMessageEvent(n)})}async onRelayMessage(n){const{topic:e,message:t,attestation:s,transportType:i}=n,{publicKey:r}=this.client.auth.authKeys.keys.includes(ce)?this.client.auth.authKeys.get(ce):{responseTopic:void 0,publicKey:void 0};try{const o=await this.client.core.crypto.decode(e,t,{receiverPublicKey:r,encoding:i===P.link_mode?ne:de});ds(o)?(this.client.core.history.set(e,o),await this.onRelayEventRequest({topic:e,payload:o,attestation:s,transportType:i,encryptedId:W(t)})):us(o)?(await this.client.core.history.resolve(o),await this.onRelayEventResponse({topic:e,payload:o,transportType:i}),this.client.core.history.delete(e,o.id)):await this.onRelayEventUnknownPayload({topic:e,payload:o,transportType:i}),await this.client.core.relayer.messages.ack(e,t)}catch(o){this.client.logger.error(o)}}registerExpirerEvents(){this.client.core.expirer.on(Tt.expired,async n=>{const{topic:e,id:t}=Mt(n.target);if(t&&this.client.pendingRequest.keys.includes(t))return await this.deletePendingSessionRequest(t,y(\"EXPIRED\"),!0);if(t&&this.client.auth.requests.keys.includes(t))return await this.deletePendingAuthRequest(t,y(\"EXPIRED\"),!0);e?this.client.session.keys.includes(e)&&(await this.deleteSession({topic:e,expirerHasDeleted:!0}),this.client.events.emit(\"session_expire\",{topic:e})):t&&(await this.deleteProposal(t,!0),this.client.events.emit(\"proposal_expire\",{id:t}))})}registerPairingEvents(){this.client.core.pairing.events.on(Je.create,n=>this.onPairingCreated(n)),this.client.core.pairing.events.on(Je.delete,n=>{this.addToRecentlyDeleted(n.topic,\"pairing\")})}isValidPairingTopic(n){if(!Y(n,!1)){const{message:e}=y(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${n}`);throw new Error(e)}if(!this.client.core.pairing.pairings.keys.includes(n)){const{message:e}=y(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${n}`);throw new Error(e)}if(Z(this.client.core.pairing.pairings.get(n).expiry)){const{message:e}=y(\"EXPIRED\",`pairing topic: ${n}`);throw new Error(e)}}async isValidSessionTopic(n){if(!Y(n,!1)){const{message:e}=y(\"MISSING_OR_INVALID\",`session topic should be a string: ${n}`);throw new Error(e)}if(this.checkRecentlyDeleted(n),!this.client.session.keys.includes(n)){const{message:e}=y(\"NO_MATCHING_KEY\",`session topic doesn't exist: ${n}`);throw new Error(e)}if(Z(this.client.session.get(n).expiry)){await this.deleteSession({topic:n});const{message:e}=y(\"EXPIRED\",`session topic: ${n}`);throw new Error(e)}if(!this.client.core.crypto.keychain.has(n)){const{message:e}=y(\"MISSING_OR_INVALID\",`session topic does not exist in keychain: ${n}`);throw await this.deleteSession({topic:n}),new Error(e)}}async isValidSessionOrPairingTopic(n){if(this.checkRecentlyDeleted(n),this.client.session.keys.includes(n))await this.isValidSessionTopic(n);else if(this.client.core.pairing.pairings.keys.includes(n))this.isValidPairingTopic(n);else if(Y(n,!1)){const{message:e}=y(\"NO_MATCHING_KEY\",`session or pairing topic doesn't exist: ${n}`);throw new Error(e)}else{const{message:e}=y(\"MISSING_OR_INVALID\",`session or pairing topic should be a string: ${n}`);throw new Error(e)}}async isValidProposalId(n){if(!$t(n)){const{message:e}=y(\"MISSING_OR_INVALID\",`proposal id should be a number: ${n}`);throw new Error(e)}if(!this.client.proposal.keys.includes(n)){const{message:e}=y(\"NO_MATCHING_KEY\",`proposal id doesn't exist: ${n}`);throw new Error(e)}if(Z(this.client.proposal.get(n).expiryTimestamp)){await this.deleteProposal(n);const{message:e}=y(\"EXPIRED\",`proposal id: ${n}`);throw new Error(e)}}}class Os extends B{constructor(n,e){super(n,e,pt,we),this.core=n,this.logger=e}}class St extends B{constructor(n,e){super(n,e,ht,we),this.core=n,this.logger=e}}class bs extends B{constructor(n,e){super(n,e,ut,we,t=>t.id),this.core=n,this.logger=e}}class As extends B{constructor(n,e){super(n,e,mt,ae,()=>ce),this.core=n,this.logger=e}}class xs extends B{constructor(n,e){super(n,e,_t,ae),this.core=n,this.logger=e}}class Cs extends B{constructor(n,e){super(n,e,Et,ae,t=>t.id),this.core=n,this.logger=e}}var Vs=Object.defineProperty,Ds=(S,n,e)=>n in S?Vs(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,Ge=(S,n,e)=>Ds(S,typeof n!=\"symbol\"?n+\"\":n,e);class Ls{constructor(n,e){this.core=n,this.logger=e,Ge(this,\"authKeys\"),Ge(this,\"pairingTopics\"),Ge(this,\"requests\"),this.authKeys=new As(this.core,this.logger),this.pairingTopics=new xs(this.core,this.logger),this.requests=new Cs(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var ks=Object.defineProperty,Ms=(S,n,e)=>n in S?ks(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,E=(S,n,e)=>Ms(S,typeof n!=\"symbol\"?n+\"\":n,e);class Ee extends Lt{constructor(n){super(n),E(this,\"protocol\",De),E(this,\"version\",Le),E(this,\"name\",me.name),E(this,\"metadata\"),E(this,\"core\"),E(this,\"logger\"),E(this,\"events\",new hs),E(this,\"engine\"),E(this,\"session\"),E(this,\"proposal\"),E(this,\"pendingRequest\"),E(this,\"auth\"),E(this,\"signConfig\"),E(this,\"on\",(t,s)=>this.events.on(t,s)),E(this,\"once\",(t,s)=>this.events.once(t,s)),E(this,\"off\",(t,s)=>this.events.off(t,s)),E(this,\"removeListener\",(t,s)=>this.events.removeListener(t,s)),E(this,\"removeAllListeners\",t=>this.events.removeAllListeners(t)),E(this,\"connect\",async t=>{try{return await this.engine.connect(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"pair\",async t=>{try{return await this.engine.pair(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"approve\",async t=>{try{return await this.engine.approve(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"reject\",async t=>{try{return await this.engine.reject(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"update\",async t=>{try{return await this.engine.update(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"extend\",async t=>{try{return await this.engine.extend(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"request\",async t=>{try{return await this.engine.request(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"respond\",async t=>{try{return await this.engine.respond(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"ping\",async t=>{try{return await this.engine.ping(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"emit\",async t=>{try{return await this.engine.emit(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"disconnect\",async t=>{try{return await this.engine.disconnect(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"find\",t=>{try{return this.engine.find(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"getPendingSessionRequests\",()=>{try{return this.engine.getPendingSessionRequests()}catch(t){throw this.logger.error(t.message),t}}),E(this,\"authenticate\",async(t,s)=>{try{return await this.engine.authenticate(t,s)}catch(i){throw this.logger.error(i.message),i}}),E(this,\"formatAuthMessage\",t=>{try{return this.engine.formatAuthMessage(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"approveSessionAuthenticate\",async t=>{try{return await this.engine.approveSessionAuthenticate(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"rejectSessionAuthenticate\",async t=>{try{return await this.engine.rejectSessionAuthenticate(t)}catch(s){throw this.logger.error(s.message),s}}),this.name=n?.name||me.name,this.metadata=ls(n?.metadata),this.signConfig=n?.signConfig;const e=typeof n?.logger<\"u\"&&typeof n?.logger!=\"string\"?n.logger:At(xt({level:n?.logger||me.logger}));this.core=n?.core||new bt(n),this.logger=Ct(e,this.name),this.session=new St(this.core,this.logger),this.proposal=new Os(this.core,this.logger),this.pendingRequest=new bs(this.core,this.logger),this.engine=new Ns(this),this.auth=new Ls(this.core,this.logger)}static async init(n){const e=new Ee(n);return await e.initialize(),e}get context(){return Vt(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace(\"Initialized\");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.auth.init(),await this.engine.init(),this.logger.info(\"SignClient Initialization Success\"),setTimeout(()=>{this.engine.processRelayMessageCache()},Oe(Ze))}catch(n){throw this.logger.info(\"SignClient Initialization Failure\"),this.logger.error(n.message),n}}}const $s=St,Ks=Ee;export{wt as AUTH_CONTEXT,mt as AUTH_KEYS_CONTEXT,_t as AUTH_PAIRING_TOPIC_CONTEXT,yt as AUTH_PROTOCOL,ce as AUTH_PUBLIC_KEY_NAME,Et as AUTH_REQUEST_CONTEXT,ae as AUTH_STORAGE_PREFIX,Rs as AUTH_VERSION,dt as ENGINE_CONTEXT,$ as ENGINE_QUEUE_STATES,N as ENGINE_RPC_OPTS,Es as HISTORY_CONTEXT,_s as HISTORY_EVENTS,fs as HISTORY_STORAGE_VERSION,gt as METHODS_TO_VERIFY,pt as PROPOSAL_CONTEXT,Ss as PROPOSAL_EXPIRY,$e as PROPOSAL_EXPIRY_MESSAGE,ut as REQUEST_CONTEXT,ht as SESSION_CONTEXT,J as SESSION_EXPIRY,_e as SESSION_REQUEST_EXPIRY_BOUNDARIES,ke as SIGN_CLIENT_CONTEXT,me as SIGN_CLIENT_DEFAULT,ws as SIGN_CLIENT_EVENTS,De as SIGN_CLIENT_PROTOCOL,ms as SIGN_CLIENT_STORAGE_OPTIONS,we as SIGN_CLIENT_STORAGE_PREFIX,Le as SIGN_CLIENT_VERSION,$s as SessionStore,Ks as SignClient,Ke as TVF_METHODS,Me as WALLETCONNECT_DEEPLINK_CHOICE,Ee as default};\n//# sourceMappingURL=index.es.js.map\n","import $t from\"@walletconnect/sign-client\";import{isValidObject as G,isCaipNamespace as Z,parseNamespaceKey as _,mergeArrays as J,parseChainId as T,getSdkError as tt,isValidArray as z}from\"@walletconnect/utils\";import{pino as Ot,getDefaultLoggerOptions as At}from\"@walletconnect/logger\";import g,{HttpConnection as Ct}from\"@walletconnect/jsonrpc-http-connection\";import{JsonRpcProvider as f}from\"@walletconnect/jsonrpc-provider\";import{formatJsonRpcRequest as Ht,formatJsonRpcResult as Et}from\"@walletconnect/jsonrpc-utils\";import Nt from\"events\";const et=\"error\",St=\"wss://relay.walletconnect.org\",Dt=\"wc\",qt=\"universal_provider\",U=`${Dt}@2:${qt}:`,st=\"https://rpc.walletconnect.org/v1/\",I=\"generic\",jt=`${st}bundler`,u={DEFAULT_CHAIN_CHANGED:\"default_chain_changed\"};function Rt(){}function k(s){return s==null||typeof s!=\"object\"&&typeof s!=\"function\"}function W(s){return ArrayBuffer.isView(s)&&!(s instanceof DataView)}function _t(s){if(k(s))return s;if(Array.isArray(s)||W(s)||s instanceof ArrayBuffer||typeof SharedArrayBuffer<\"u\"&&s instanceof SharedArrayBuffer)return s.slice(0);const t=Object.getPrototypeOf(s),e=t.constructor;if(s instanceof Date||s instanceof Map||s instanceof Set)return new e(s);if(s instanceof RegExp){const i=new e(s);return i.lastIndex=s.lastIndex,i}if(s instanceof DataView)return new e(s.buffer.slice(0));if(s instanceof Error){const i=new e(s.message);return i.stack=s.stack,i.name=s.name,i.cause=s.cause,i}if(typeof File<\"u\"&&s instanceof File)return new e([s],s.name,{type:s.type,lastModified:s.lastModified});if(typeof s==\"object\"){const i=Object.create(t);return Object.assign(i,s)}return s}function it(s){return typeof s==\"object\"&&s!==null}function rt(s){return Object.getOwnPropertySymbols(s).filter(t=>Object.prototype.propertyIsEnumerable.call(s,t))}function nt(s){return s==null?s===void 0?\"[object Undefined]\":\"[object Null]\":Object.prototype.toString.call(s)}const Ut=\"[object RegExp]\",at=\"[object String]\",ct=\"[object Number]\",ot=\"[object Boolean]\",ht=\"[object Arguments]\",Ft=\"[object Symbol]\",Lt=\"[object Date]\",Mt=\"[object Map]\",xt=\"[object Set]\",Bt=\"[object Array]\",Gt=\"[object ArrayBuffer]\",Jt=\"[object Object]\",zt=\"[object DataView]\",kt=\"[object Uint8Array]\",Wt=\"[object Uint8ClampedArray]\",Kt=\"[object Uint16Array]\",Vt=\"[object Uint32Array]\",Xt=\"[object Int8Array]\",Yt=\"[object Int16Array]\",Qt=\"[object Int32Array]\",Zt=\"[object Float32Array]\",Tt=\"[object Float64Array]\";function te(s,t){return $(s,void 0,s,new Map,t)}function $(s,t,e,i=new Map,n=void 0){const a=n?.(s,t,e,i);if(a!=null)return a;if(k(s))return s;if(i.has(s))return i.get(s);if(Array.isArray(s)){const r=new Array(s.length);i.set(s,r);for(let c=0;c<s.length;c++)r[c]=$(s[c],c,e,i,n);return Object.hasOwn(s,\"index\")&&(r.index=s.index),Object.hasOwn(s,\"input\")&&(r.input=s.input),r}if(s instanceof Date)return new Date(s.getTime());if(s instanceof RegExp){const r=new RegExp(s.source,s.flags);return r.lastIndex=s.lastIndex,r}if(s instanceof Map){const r=new Map;i.set(s,r);for(const[c,o]of s)r.set(c,$(o,c,e,i,n));return r}if(s instanceof Set){const r=new Set;i.set(s,r);for(const c of s)r.add($(c,void 0,e,i,n));return r}if(typeof Buffer<\"u\"&&Buffer.isBuffer(s))return s.subarray();if(W(s)){const r=new(Object.getPrototypeOf(s)).constructor(s.length);i.set(s,r);for(let c=0;c<s.length;c++)r[c]=$(s[c],c,e,i,n);return r}if(s instanceof ArrayBuffer||typeof SharedArrayBuffer<\"u\"&&s instanceof SharedArrayBuffer)return s.slice(0);if(s instanceof DataView){const r=new DataView(s.buffer.slice(0),s.byteOffset,s.byteLength);return i.set(s,r),y(r,s,e,i,n),r}if(typeof File<\"u\"&&s instanceof File){const r=new File([s],s.name,{type:s.type});return i.set(s,r),y(r,s,e,i,n),r}if(s instanceof Blob){const r=new Blob([s],{type:s.type});return i.set(s,r),y(r,s,e,i,n),r}if(s instanceof Error){const r=new s.constructor;return i.set(s,r),r.message=s.message,r.name=s.name,r.stack=s.stack,r.cause=s.cause,y(r,s,e,i,n),r}if(typeof s==\"object\"&&ee(s)){const r=Object.create(Object.getPrototypeOf(s));return i.set(s,r),y(r,s,e,i,n),r}return s}function y(s,t,e=s,i,n){const a=[...Object.keys(t),...rt(t)];for(let r=0;r<a.length;r++){const c=a[r],o=Object.getOwnPropertyDescriptor(s,c);(o==null||o.writable)&&(s[c]=$(t[c],c,e,i,n))}}function ee(s){switch(nt(s)){case ht:case Bt:case Gt:case zt:case ot:case Lt:case Zt:case Tt:case Xt:case Yt:case Qt:case Mt:case ct:case Jt:case Ut:case xt:case at:case Ft:case kt:case Wt:case Kt:case Vt:return!0;default:return!1}}function se(s,t){return te(s,(e,i,n,a)=>{const r=t?.(e,i,n,a);if(r!=null)return r;if(typeof s==\"object\")switch(Object.prototype.toString.call(s)){case ct:case at:case ot:{const c=new s.constructor(s?.valueOf());return y(c,s),c}case ht:{const c={};return y(c,s),c.length=s.length,c[Symbol.iterator]=s[Symbol.iterator],c}default:return}})}function pt(s){return se(s)}function dt(s){return s!==null&&typeof s==\"object\"&&nt(s)===\"[object Arguments]\"}function ie(s){return W(s)}function re(s){if(typeof s!=\"object\"||s==null)return!1;if(Object.getPrototypeOf(s)===null)return!0;if(Object.prototype.toString.call(s)!==\"[object Object]\"){const e=s[Symbol.toStringTag];return e==null||!Object.getOwnPropertyDescriptor(s,Symbol.toStringTag)?.writable?!1:s.toString()===`[object ${e}]`}let t=s;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(s)===t}function ne(s,...t){const e=t.slice(0,-1),i=t[t.length-1];let n=s;for(let a=0;a<e.length;a++){const r=e[a];n=F(n,r,i,new Map)}return n}function F(s,t,e,i){if(k(s)&&(s=Object(s)),t==null||typeof t!=\"object\")return s;if(i.has(t))return _t(i.get(t));if(i.set(t,s),Array.isArray(t)){t=t.slice();for(let a=0;a<t.length;a++)t[a]=t[a]??void 0}const n=[...Object.keys(t),...rt(t)];for(let a=0;a<n.length;a++){const r=n[a];let c=t[r],o=s[r];if(dt(c)&&(c={...c}),dt(o)&&(o={...o}),typeof Buffer<\"u\"&&Buffer.isBuffer(c)&&(c=pt(c)),Array.isArray(c))if(typeof o==\"object\"&&o!=null){const w=[],v=Reflect.ownKeys(o);for(let P=0;P<v.length;P++){const p=v[P];w[p]=o[p]}o=w}else o=[];const m=e(o,c,r,s,t,i);m!=null?s[r]=m:Array.isArray(c)||it(o)&&it(c)?s[r]=F(o,c,e,i):o==null&&re(c)?s[r]=F({},c,e,i):o==null&&ie(c)?s[r]=pt(c):(o===void 0||c!==void 0)&&(s[r]=c)}return s}function ae(s,...t){return ne(s,...t,Rt)}var ce=Object.defineProperty,oe=Object.defineProperties,he=Object.getOwnPropertyDescriptors,ut=Object.getOwnPropertySymbols,pe=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable,lt=(s,t,e)=>t in s?ce(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,L=(s,t)=>{for(var e in t||(t={}))pe.call(t,e)&&lt(s,e,t[e]);if(ut)for(var e of ut(t))de.call(t,e)&&lt(s,e,t[e]);return s},ue=(s,t)=>oe(s,he(t));function d(s,t,e){var i;const n=T(s);return((i=t.rpcMap)==null?void 0:i[n.reference])||`${st}?chainId=${n.namespace}:${n.reference}&projectId=${e}`}function b(s){return s.includes(\":\")?s.split(\":\")[1]:s}function ft(s){return s.map(t=>`${t.split(\":\")[0]}:${t.split(\":\")[1]}`)}function le(s,t){const e=Object.keys(t.namespaces).filter(n=>n.includes(s));if(!e.length)return[];const i=[];return e.forEach(n=>{const a=t.namespaces[n].accounts;i.push(...a)}),i}function M(s={},t={}){const e=mt(s),i=mt(t);return ae(e,i)}function mt(s){var t,e,i,n,a;const r={};if(!G(s))return r;for(const[c,o]of Object.entries(s)){const m=Z(c)?[c]:o.chains,w=o.methods||[],v=o.events||[],P=o.rpcMap||{},p=_(c);r[p]=ue(L(L({},r[p]),o),{chains:J(m,(t=r[p])==null?void 0:t.chains),methods:J(w,(e=r[p])==null?void 0:e.methods),events:J(v,(i=r[p])==null?void 0:i.events)}),(G(P)||G(((n=r[p])==null?void 0:n.rpcMap)||{}))&&(r[p].rpcMap=L(L({},P),(a=r[p])==null?void 0:a.rpcMap))}return r}function vt(s){return s.includes(\":\")?s.split(\":\")[2]:s}function gt(s){const t={};for(const[e,i]of Object.entries(s)){const n=i.methods||[],a=i.events||[],r=i.accounts||[],c=Z(e)?[e]:i.chains?i.chains:ft(i.accounts);t[e]={chains:c,methods:n,events:a,accounts:r}}return t}function K(s){return typeof s==\"number\"?s:s.includes(\"0x\")?parseInt(s,16):(s=s.includes(\":\")?s.split(\":\")[1]:s,isNaN(Number(s))?s:Number(s))}const Pt={},h=s=>Pt[s],V=(s,t)=>{Pt[s]=t};var fe=Object.defineProperty,me=(s,t,e)=>t in s?fe(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,O=(s,t,e)=>me(s,typeof t!=\"symbol\"?t+\"\":t,e);class ve{constructor(t){O(this,\"name\",\"polkadot\"),O(this,\"client\"),O(this,\"httpProviders\"),O(this,\"events\"),O(this,\"namespace\"),O(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=b(e);t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var ge=Object.defineProperty,Pe=Object.defineProperties,we=Object.getOwnPropertyDescriptors,wt=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable,X=(s,t,e)=>t in s?ge(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,yt=(s,t)=>{for(var e in t||(t={}))ye.call(t,e)&&X(s,e,t[e]);if(wt)for(var e of wt(t))be.call(t,e)&&X(s,e,t[e]);return s},bt=(s,t)=>Pe(s,we(t)),A=(s,t,e)=>X(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ie{constructor(t){A(this,\"name\",\"eip155\"),A(this,\"client\"),A(this,\"chainId\"),A(this,\"namespace\"),A(this,\"httpProviders\"),A(this,\"events\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(t){switch(t.request.method){case\"eth_requestAccounts\":return this.getAccounts();case\"eth_accounts\":return this.getAccounts();case\"wallet_switchEthereumChain\":return await this.handleSwitchChain(t);case\"eth_chainId\":return parseInt(this.getDefaultChain());case\"wallet_getCapabilities\":return await this.getCapabilities(t);case\"wallet_getCallsStatus\":return await this.getCallStatus(t)}return this.namespace.methods.includes(t.request.method)?await this.client.request(t):this.getHttpProvider().request(t.request)}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(parseInt(t),e),this.chainId=parseInt(t),this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}createHttpProvider(t,e){const i=e||d(`${this.name}:${t}`,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new Ct(i,h(\"disableProviderPing\")))}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=parseInt(b(e));t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}getHttpProvider(){const t=this.chainId,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}async handleSwitchChain(t){var e,i;let n=t.request.params?(e=t.request.params[0])==null?void 0:e.chainId:\"0x0\";n=n.startsWith(\"0x\")?n:`0x${n}`;const a=parseInt(n,16);if(this.isChainApproved(a))this.setDefaultChain(`${a}`);else if(this.namespace.methods.includes(\"wallet_switchEthereumChain\"))await this.client.request({topic:t.topic,request:{method:t.request.method,params:[{chainId:n}]},chainId:(i=this.namespace.chains)==null?void 0:i[0]}),this.setDefaultChain(`${a}`);else throw new Error(`Failed to switch to chain 'eip155:${a}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(t){return this.namespace.chains.includes(`${this.name}:${t}`)}async getCapabilities(t){var e,i,n,a,r;const c=(i=(e=t.request)==null?void 0:e.params)==null?void 0:i[0],o=((a=(n=t.request)==null?void 0:n.params)==null?void 0:a[1])||[],m=`${c}${o.join(\",\")}`;if(!c)throw new Error(\"Missing address parameter in `wallet_getCapabilities` request\");const w=this.client.session.get(t.topic),v=((r=w?.sessionProperties)==null?void 0:r.capabilities)||{};if(v!=null&&v[m])return v?.[m];const P=await this.client.request(t);try{await this.client.session.update(t.topic,{sessionProperties:bt(yt({},w.sessionProperties||{}),{capabilities:bt(yt({},v||{}),{[m]:P})})})}catch(p){console.warn(\"Failed to update session with capabilities\",p)}return P}async getCallStatus(t){var e,i;const n=this.client.session.get(t.topic),a=(e=n.sessionProperties)==null?void 0:e.bundler_name;if(a){const c=this.getBundlerUrl(t.chainId,a);try{return await this.getUserOperationReceipt(c,t)}catch(o){console.warn(\"Failed to fetch call status from bundler\",o,c)}}const r=(i=n.sessionProperties)==null?void 0:i.bundler_url;if(r)try{return await this.getUserOperationReceipt(r,t)}catch(c){console.warn(\"Failed to fetch call status from custom bundler\",c,r)}if(this.namespace.methods.includes(t.request.method))return await this.client.request(t);throw new Error(\"Fetching call status not approved by the wallet.\")}async getUserOperationReceipt(t,e){var i;const n=new URL(t),a=await fetch(n,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(Ht(\"eth_getUserOperationReceipt\",[(i=e.request.params)==null?void 0:i[0]]))});if(!a.ok)throw new Error(`Failed to fetch user operation receipt - ${a.status}`);return await a.json()}getBundlerUrl(t,e){return`${jt}?projectId=${this.client.core.projectId}&chainId=${t}&bundler=${e}`}}var $e=Object.defineProperty,Oe=(s,t,e)=>t in s?$e(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,C=(s,t,e)=>Oe(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ae{constructor(t){C(this,\"name\",\"solana\"),C(this,\"client\"),C(this,\"httpProviders\"),C(this,\"events\"),C(this,\"namespace\"),C(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=b(e);t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var Ce=Object.defineProperty,He=(s,t,e)=>t in s?Ce(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,H=(s,t,e)=>He(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ee{constructor(t){H(this,\"name\",\"cosmos\"),H(this,\"client\"),H(this,\"httpProviders\"),H(this,\"events\"),H(this,\"namespace\"),H(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=b(e);t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var Ne=Object.defineProperty,Se=(s,t,e)=>t in s?Ne(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,E=(s,t,e)=>Se(s,typeof t!=\"symbol\"?t+\"\":t,e);class De{constructor(t){E(this,\"name\",\"algorand\"),E(this,\"client\"),E(this,\"httpProviders\"),E(this,\"events\"),E(this,\"namespace\"),E(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){if(!this.httpProviders[t]){const i=e||d(`${this.name}:${t}`,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,i)}this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;t[e]=this.createHttpProvider(e,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);return typeof i>\"u\"?void 0:new f(new g(i,h(\"disableProviderPing\")))}}var qe=Object.defineProperty,je=(s,t,e)=>t in s?qe(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,N=(s,t,e)=>je(s,typeof t!=\"symbol\"?t+\"\":t,e);class Re{constructor(t){N(this,\"name\",\"cip34\"),N(this,\"client\"),N(this,\"httpProviders\"),N(this,\"events\"),N(this,\"namespace\"),N(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{const i=this.getCardanoRPCUrl(e),n=b(e);t[n]=this.createHttpProvider(n,i)}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}getCardanoRPCUrl(t){const e=this.namespace.rpcMap;if(e)return e[t]}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||this.getCardanoRPCUrl(t);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var _e=Object.defineProperty,Ue=(s,t,e)=>t in s?_e(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,S=(s,t,e)=>Ue(s,typeof t!=\"symbol\"?t+\"\":t,e);class Fe{constructor(t){S(this,\"name\",\"elrond\"),S(this,\"client\"),S(this,\"httpProviders\"),S(this,\"events\"),S(this,\"namespace\"),S(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=b(e);t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var Le=Object.defineProperty,Me=(s,t,e)=>t in s?Le(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,D=(s,t,e)=>Me(s,typeof t!=\"symbol\"?t+\"\":t,e);class xe{constructor(t){D(this,\"name\",\"multiversx\"),D(this,\"client\"),D(this,\"httpProviders\"),D(this,\"events\"),D(this,\"namespace\"),D(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const n=b(e);t[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var Be=Object.defineProperty,Ge=(s,t,e)=>t in s?Be(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,q=(s,t,e)=>Ge(s,typeof t!=\"symbol\"?t+\"\":t,e);class Je{constructor(t){q(this,\"name\",\"near\"),q(this,\"client\"),q(this,\"httpProviders\"),q(this,\"events\"),q(this,\"namespace\"),q(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){if(this.chainId=t,!this.httpProviders[t]){const i=e||d(`${this.name}:${t}`,this.namespace);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,i)}this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;t[e]=this.createHttpProvider(e,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace);return typeof i>\"u\"?void 0:new f(new g(i,h(\"disableProviderPing\")))}}var ze=Object.defineProperty,ke=(s,t,e)=>t in s?ze(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,j=(s,t,e)=>ke(s,typeof t!=\"symbol\"?t+\"\":t,e);class We{constructor(t){j(this,\"name\",\"tezos\"),j(this,\"client\"),j(this,\"httpProviders\"),j(this,\"events\"),j(this,\"namespace\"),j(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){if(this.chainId=t,!this.httpProviders[t]){const i=e||d(`${this.name}:${t}`,this.namespace);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,i)}this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{t[e]=this.createHttpProvider(e)}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace);return typeof i>\"u\"?void 0:new f(new g(i))}}var Ke=Object.defineProperty,Ve=(s,t,e)=>t in s?Ke(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,R=(s,t,e)=>Ve(s,typeof t!=\"symbol\"?t+\"\":t,e);class Xe{constructor(t){R(this,\"name\",I),R(this,\"client\"),R(this,\"httpProviders\"),R(this,\"events\"),R(this,\"namespace\"),R(this,\"chainId\"),this.namespace=t.namespace,this.events=h(\"events\"),this.client=h(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace.chains=[...new Set((this.namespace.chains||[]).concat(t.chains||[]))],this.namespace.accounts=[...new Set((this.namespace.accounts||[]).concat(t.accounts||[]))],this.namespace.methods=[...new Set((this.namespace.methods||[]).concat(t.methods||[]))],this.namespace.events=[...new Set((this.namespace.events||[]).concat(t.events||[]))],this.httpProviders=this.createHttpProviders()}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider(t.chainId).request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(u.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){var t,e;const i={};return(e=(t=this.namespace)==null?void 0:t.accounts)==null||e.forEach(n=>{const a=T(n);i[`${a.namespace}:${a.reference}`]=this.createHttpProvider(n)}),i}getHttpProvider(t){const e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||d(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new f(new g(i,h(\"disableProviderPing\")))}}var Ye=Object.defineProperty,Qe=Object.defineProperties,Ze=Object.getOwnPropertyDescriptors,It=Object.getOwnPropertySymbols,Te=Object.prototype.hasOwnProperty,ts=Object.prototype.propertyIsEnumerable,Y=(s,t,e)=>t in s?Ye(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,x=(s,t)=>{for(var e in t||(t={}))Te.call(t,e)&&Y(s,e,t[e]);if(It)for(var e of It(t))ts.call(t,e)&&Y(s,e,t[e]);return s},Q=(s,t)=>Qe(s,Ze(t)),l=(s,t,e)=>Y(s,typeof t!=\"symbol\"?t+\"\":t,e);class B{constructor(t){l(this,\"client\"),l(this,\"namespaces\"),l(this,\"optionalNamespaces\"),l(this,\"sessionProperties\"),l(this,\"scopedProperties\"),l(this,\"events\",new Nt),l(this,\"rpcProviders\",{}),l(this,\"session\"),l(this,\"providerOpts\"),l(this,\"logger\"),l(this,\"uri\"),l(this,\"disableProviderPing\",!1),this.providerOpts=t,this.logger=typeof t?.logger<\"u\"&&typeof t?.logger!=\"string\"?t.logger:Ot(At({level:t?.logger||et})),this.disableProviderPing=t?.disableProviderPing||!1}static async init(t){const e=new B(t);return await e.initialize(),e}async request(t,e,i){const[n,a]=this.validateChain(e);if(!this.session)throw new Error(\"Please call connect() before request()\");return await this.getProvider(n).request({request:x({},t),chainId:`${n}:${a}`,topic:this.session.topic,expiry:i})}sendAsync(t,e,i,n){const a=new Date().getTime();this.request(t,i,n).then(r=>e(null,Et(a,r))).catch(r=>e(r,void 0))}async enable(){if(!this.client)throw new Error(\"Sign Client not initialized\");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties}),await this.requestAccounts()}async disconnect(){var t;if(!this.session)throw new Error(\"Please call connect() before enable()\");await this.client.disconnect({topic:(t=this.session)==null?void 0:t.topic,reason:tt(\"USER_DISCONNECTED\")}),await this.cleanup()}async connect(t){if(!this.client)throw new Error(\"Sign Client not initialized\");if(this.setNamespaces(t),await this.cleanupPendingPairings(),!t.skipPairing)return await this.pair(t.pairingTopic)}async authenticate(t,e){if(!this.client)throw new Error(\"Sign Client not initialized\");this.setNamespaces(t),await this.cleanupPendingPairings();const{uri:i,response:n}=await this.client.authenticate(t,e);i&&(this.uri=i,this.events.emit(\"display_uri\",i));const a=await n();if(this.session=a.session,this.session){const r=gt(this.session.namespaces);this.namespaces=M(this.namespaces,r),await this.persist(\"namespaces\",this.namespaces),this.onConnect()}return a}on(t,e){this.events.on(t,e)}once(t,e){this.events.once(t,e)}removeListener(t,e){this.events.removeListener(t,e)}off(t,e){this.events.off(t,e)}get isWalletConnect(){return!0}async pair(t){const{uri:e,approval:i}=await this.client.connect({pairingTopic:t,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties});e&&(this.uri=e,this.events.emit(\"display_uri\",e));const n=await i();this.session=n;const a=gt(n.namespaces);return this.namespaces=M(this.namespaces,a),await this.persist(\"namespaces\",this.namespaces),await this.persist(\"optionalNamespaces\",this.optionalNamespaces),this.onConnect(),this.session}setDefaultChain(t,e){try{if(!this.session)return;const[i,n]=this.validateChain(t),a=this.getProvider(i);a.name===I?a.setDefaultChain(`${i}:${n}`,e):a.setDefaultChain(n,e)}catch(i){if(!/Please call connect/.test(i.message))throw i}}async cleanupPendingPairings(t={}){this.logger.info(\"Cleaning up inactive pairings...\");const e=this.client.pairing.getAll();if(z(e)){for(const i of e)t.deletePairings?this.client.core.expirer.set(i.topic,0):await this.client.core.relayer.subscriber.unsubscribe(i.topic);this.logger.info(`Inactive pairings cleared: ${e.length}`)}}abortPairingAttempt(){this.logger.warn(\"abortPairingAttempt is deprecated. This is now a no-op.\")}async checkStorage(){this.namespaces=await this.getFromStore(\"namespaces\")||{},this.optionalNamespaces=await this.getFromStore(\"optionalNamespaces\")||{},this.session&&this.createProviders()}async initialize(){this.logger.trace(\"Initialized\"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){var t,e;if(this.client=this.providerOpts.client||await $t.init({core:this.providerOpts.core,logger:this.providerOpts.logger||et,relayUrl:this.providerOpts.relayUrl||St,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name,customStoragePrefix:this.providerOpts.customStoragePrefix,telemetryEnabled:this.providerOpts.telemetryEnabled}),this.providerOpts.session)try{this.session=this.client.session.get(this.providerOpts.session.topic)}catch(i){throw this.logger.error(\"Failed to get session\",i),new Error(`The provided session: ${(e=(t=this.providerOpts)==null?void 0:t.session)==null?void 0:e.topic} doesn't exist in the Sign client`)}else{const i=this.client.session.getAll();this.session=i[0]}this.logger.trace(\"SignClient Initialized\")}createProviders(){if(!this.client)throw new Error(\"Sign Client not initialized\");if(!this.session)throw new Error(\"Session not initialized. Please call connect() before enable()\");const t=[...new Set(Object.keys(this.session.namespaces).map(e=>_(e)))];V(\"client\",this.client),V(\"events\",this.events),V(\"disableProviderPing\",this.disableProviderPing),t.forEach(e=>{if(!this.session)return;const i=le(e,this.session),n=ft(i),a=M(this.namespaces,this.optionalNamespaces),r=Q(x({},a[e]),{accounts:i,chains:n});switch(e){case\"eip155\":this.rpcProviders[e]=new Ie({namespace:r});break;case\"algorand\":this.rpcProviders[e]=new De({namespace:r});break;case\"solana\":this.rpcProviders[e]=new Ae({namespace:r});break;case\"cosmos\":this.rpcProviders[e]=new Ee({namespace:r});break;case\"polkadot\":this.rpcProviders[e]=new ve({namespace:r});break;case\"cip34\":this.rpcProviders[e]=new Re({namespace:r});break;case\"elrond\":this.rpcProviders[e]=new Fe({namespace:r});break;case\"multiversx\":this.rpcProviders[e]=new xe({namespace:r});break;case\"near\":this.rpcProviders[e]=new Je({namespace:r});break;case\"tezos\":this.rpcProviders[e]=new We({namespace:r});break;default:this.rpcProviders[I]?this.rpcProviders[I].updateNamespace(r):this.rpcProviders[I]=new Xe({namespace:r})}})}registerEventListeners(){if(typeof this.client>\"u\")throw new Error(\"Sign Client is not initialized\");this.client.on(\"session_ping\",t=>{var e;const{topic:i}=t;i===((e=this.session)==null?void 0:e.topic)&&this.events.emit(\"session_ping\",t)}),this.client.on(\"session_event\",t=>{var e;const{params:i,topic:n}=t;if(n!==((e=this.session)==null?void 0:e.topic))return;const{event:a}=i;if(a.name===\"accountsChanged\"){const r=a.data;r&&z(r)&&this.events.emit(\"accountsChanged\",r.map(vt))}else if(a.name===\"chainChanged\"){const r=i.chainId,c=i.event.data,o=_(r),m=K(r)!==K(c)?`${o}:${K(c)}`:r;this.onChainChanged(m)}else this.events.emit(a.name,a.data);this.events.emit(\"session_event\",t)}),this.client.on(\"session_update\",({topic:t,params:e})=>{var i,n;if(t!==((i=this.session)==null?void 0:i.topic))return;const{namespaces:a}=e,r=(n=this.client)==null?void 0:n.session.get(t);this.session=Q(x({},r),{namespaces:a}),this.onSessionUpdate(),this.events.emit(\"session_update\",{topic:t,params:e})}),this.client.on(\"session_delete\",async t=>{var e;t.topic===((e=this.session)==null?void 0:e.topic)&&(await this.cleanup(),this.events.emit(\"session_delete\",t),this.events.emit(\"disconnect\",Q(x({},tt(\"USER_DISCONNECTED\")),{data:t.topic})))}),this.on(u.DEFAULT_CHAIN_CHANGED,t=>{this.onChainChanged(t,!0)})}getProvider(t){return this.rpcProviders[t]||this.rpcProviders[I]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(t=>{var e;this.getProvider(t).updateNamespace((e=this.session)==null?void 0:e.namespaces[t])})}setNamespaces(t){const{namespaces:e={},optionalNamespaces:i={},sessionProperties:n,scopedProperties:a}=t;this.optionalNamespaces=M(e,i),this.sessionProperties=n,this.scopedProperties=a}validateChain(t){const[e,i]=t?.split(\":\")||[\"\",\"\"];if(!this.namespaces||!Object.keys(this.namespaces).length)return[e,i];if(e&&!Object.keys(this.namespaces||{}).map(r=>_(r)).includes(e))throw new Error(`Namespace '${e}' is not configured. Please call connect() first with namespace config.`);if(e&&i)return[e,i];const n=_(Object.keys(this.namespaces)[0]),a=this.rpcProviders[n].getDefaultChain();return[n,a]}async requestAccounts(){const[t]=this.validateChain();return await this.getProvider(t).requestAccounts()}async onChainChanged(t,e=!1){if(!this.namespaces)return;const[i,n]=this.validateChain(t);if(!n)return;this.updateNamespaceChain(i,n),this.events.emit(\"chainChanged\",n);const a=this.getProvider(i).getDefaultChain();e||this.getProvider(i).setDefaultChain(n),this.emitAccountsChangedOnChainChange({namespace:i,previousChainId:a,newChainId:t}),await this.persist(\"namespaces\",this.namespaces)}emitAccountsChangedOnChainChange({namespace:t,previousChainId:e,newChainId:i}){var n,a;try{if(e===i)return;const r=(a=(n=this.session)==null?void 0:n.namespaces[t])==null?void 0:a.accounts;if(!r)return;const c=r.filter(o=>o.includes(`${i}:`)).map(vt);if(!z(c))return;this.events.emit(\"accountsChanged\",c)}catch(r){this.logger.warn(\"Failed to emit accountsChanged on chain change\",r)}}updateNamespaceChain(t,e){if(!this.namespaces)return;const i=this.namespaces[t]?t:`${t}:${e}`,n={chains:[],methods:[],events:[],defaultChain:e};this.namespaces[i]?this.namespaces[i]&&(this.namespaces[i].defaultChain=e):this.namespaces[i]=n}onConnect(){this.createProviders(),this.events.emit(\"connect\",{session:this.session})}async cleanup(){this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,await this.deleteFromStore(\"namespaces\"),await this.deleteFromStore(\"optionalNamespaces\"),await this.deleteFromStore(\"sessionProperties\"),this.session=void 0,await this.cleanupPendingPairings({deletePairings:!0}),await this.cleanupStorage()}async persist(t,e){var i;const n=((i=this.session)==null?void 0:i.topic)||\"\";await this.client.core.storage.setItem(`${U}/${t}${n}`,e)}async getFromStore(t){var e;const i=((e=this.session)==null?void 0:e.topic)||\"\";return await this.client.core.storage.getItem(`${U}/${t}${i}`)}async deleteFromStore(t){var e;const i=((e=this.session)==null?void 0:e.topic)||\"\";await this.client.core.storage.removeItem(`${U}/${t}${i}`)}async cleanupStorage(){var t;try{if(((t=this.client)==null?void 0:t.session.length)>0)return;const e=await this.client.core.storage.getKeys();for(const i of e)i.startsWith(U)&&await this.client.core.storage.removeItem(i)}catch(e){this.logger.warn(\"Failed to cleanup storage\",e)}}}const es=B;export{es as UniversalProvider,B as default};\n//# sourceMappingURL=index.es.js.map\n","import UniversalProvider from '@walletconnect/universal-provider';\nimport { ConstantsUtil as CommonConstantsUtil } from '@reown/appkit-common';\nimport { W3mFrameRpcConstants } from '@reown/appkit-wallet/utils';\nimport { AccountController } from '../controllers/AccountController.js';\nimport { ChainController } from '../controllers/ChainController.js';\nimport { ConnectionController } from '../controllers/ConnectionController.js';\nimport { ConnectorController } from '../controllers/ConnectorController.js';\nimport { EventsController } from '../controllers/EventsController.js';\nimport { ModalController } from '../controllers/ModalController.js';\nimport { OptionsController } from '../controllers/OptionsController.js';\nimport { RouterController } from '../controllers/RouterController.js';\nimport { SnackController } from '../controllers/SnackController.js';\nimport { CoreHelperUtil } from './CoreHelperUtil.js';\n/**\n * SIWXUtil holds the methods to interact with the SIWX plugin and must be called internally on AppKit.\n */\nexport const SIWXUtil = {\n getSIWX() {\n return OptionsController.state.siwx;\n },\n async initializeIfEnabled() {\n const siwx = OptionsController.state.siwx;\n const caipAddress = ChainController.getActiveCaipAddress();\n if (!(siwx && caipAddress)) {\n return;\n }\n const [namespace, chainId, address] = caipAddress.split(':');\n if (!ChainController.checkIfSupportedNetwork(namespace)) {\n return;\n }\n try {\n const sessions = await siwx.getSessions(`${namespace}:${chainId}`, address);\n if (sessions.length) {\n return;\n }\n await ModalController.open({\n view: 'SIWXSignMessage'\n });\n }\n catch (error) {\n // eslint-disable-next-line no-console\n console.error('SIWXUtil:initializeIfEnabled', error);\n EventsController.sendEvent({\n type: 'track',\n event: 'SIWX_AUTH_ERROR',\n properties: this.getSIWXEventProperties()\n });\n // eslint-disable-next-line no-console\n await ConnectionController._getClient()?.disconnect().catch(console.error);\n RouterController.reset('Connect');\n SnackController.showError('A problem occurred while trying initialize authentication');\n }\n },\n async requestSignMessage() {\n const siwx = OptionsController.state.siwx;\n const address = CoreHelperUtil.getPlainAddress(ChainController.getActiveCaipAddress());\n const network = ChainController.getActiveCaipNetwork();\n const client = ConnectionController._getClient();\n if (!siwx) {\n throw new Error('SIWX is not enabled');\n }\n if (!address) {\n throw new Error('No ActiveCaipAddress found');\n }\n if (!network) {\n throw new Error('No ActiveCaipNetwork or client found');\n }\n if (!client) {\n throw new Error('No ConnectionController client found');\n }\n try {\n const siwxMessage = await siwx.createMessage({\n chainId: network.caipNetworkId,\n accountAddress: address\n });\n const message = siwxMessage.toString();\n const connectorId = ConnectorController.getConnectorId(network.chainNamespace);\n if (connectorId === CommonConstantsUtil.CONNECTOR_ID.AUTH) {\n RouterController.pushTransactionStack({});\n }\n const signature = await client.signMessage(message);\n await siwx.addSession({\n data: siwxMessage,\n message,\n signature: signature\n });\n ModalController.close();\n EventsController.sendEvent({\n type: 'track',\n event: 'SIWX_AUTH_SUCCESS',\n properties: this.getSIWXEventProperties()\n });\n }\n catch (error) {\n const properties = this.getSIWXEventProperties();\n if (!ModalController.state.open || RouterController.state.view === 'ApproveTransaction') {\n await ModalController.open({\n view: 'SIWXSignMessage'\n });\n }\n if (properties.isSmartAccount) {\n SnackController.showError('This application might not support Smart Accounts');\n }\n else {\n SnackController.showError('Signature declined');\n }\n EventsController.sendEvent({\n type: 'track',\n event: 'SIWX_AUTH_ERROR',\n properties\n });\n // eslint-disable-next-line no-console\n console.error('SWIXUtil:requestSignMessage', error);\n }\n },\n async cancelSignMessage() {\n try {\n const siwx = this.getSIWX();\n const isRequired = siwx?.getRequired?.();\n if (isRequired) {\n await ConnectionController.disconnect();\n }\n else {\n ModalController.close();\n }\n RouterController.reset('Connect');\n EventsController.sendEvent({\n event: 'CLICK_CANCEL_SIWX',\n type: 'track',\n properties: this.getSIWXEventProperties()\n });\n }\n catch (error) {\n // eslint-disable-next-line no-console\n console.error('SIWXUtil:cancelSignMessage', error);\n }\n },\n async getSessions() {\n const siwx = OptionsController.state.siwx;\n const address = CoreHelperUtil.getPlainAddress(ChainController.getActiveCaipAddress());\n const network = ChainController.getActiveCaipNetwork();\n if (!(siwx && address && network)) {\n return [];\n }\n return siwx.getSessions(network.caipNetworkId, address);\n },\n async isSIWXCloseDisabled() {\n const siwx = this.getSIWX();\n if (siwx) {\n const isApproveSignScreen = RouterController.state.view === 'ApproveTransaction';\n const isSiwxSignMessage = RouterController.state.view === 'SIWXSignMessage';\n if (isApproveSignScreen || isSiwxSignMessage) {\n return siwx.getRequired?.() && (await this.getSessions()).length === 0;\n }\n }\n return false;\n },\n async universalProviderAuthenticate({ universalProvider, chains, methods }) {\n const siwx = SIWXUtil.getSIWX();\n const namespaces = new Set(chains.map(chain => chain.split(':')[0]));\n if (!siwx || namespaces.size !== 1 || !namespaces.has('eip155')) {\n return false;\n }\n // Ignores chainId and account address to get other message data\n const siwxMessage = await siwx.createMessage({\n chainId: ChainController.getActiveCaipNetwork()?.caipNetworkId || '',\n accountAddress: ''\n });\n const result = await universalProvider.authenticate({\n nonce: siwxMessage.nonce,\n domain: siwxMessage.domain,\n uri: siwxMessage.uri,\n exp: siwxMessage.expirationTime,\n iat: siwxMessage.issuedAt,\n nbf: siwxMessage.notBefore,\n requestId: siwxMessage.requestId,\n version: siwxMessage.version,\n resources: siwxMessage.resources,\n statement: siwxMessage.statement,\n chainId: siwxMessage.chainId,\n methods,\n // The first chainId is what is used for universal provider to build the message\n chains: [siwxMessage.chainId, ...chains.filter(chain => chain !== siwxMessage.chainId)]\n });\n SnackController.showLoading('Authenticating...', { autoClose: false });\n AccountController.setConnectedWalletInfo({\n ...result.session.peer.metadata,\n name: result.session.peer.metadata.name,\n icon: result.session.peer.metadata.icons?.[0],\n type: 'WALLET_CONNECT'\n }, Array.from(namespaces)[0]);\n if (result?.auths?.length) {\n const sessions = result.auths.map(cacao => {\n const message = universalProvider.client.formatAuthMessage({\n request: cacao.p,\n iss: cacao.p.iss\n });\n return {\n data: {\n ...cacao.p,\n accountAddress: cacao.p.iss.split(':').slice(-1).join(''),\n chainId: cacao.p.iss.split(':').slice(2, 4).join(':'),\n uri: cacao.p.aud,\n version: cacao.p.version || siwxMessage.version,\n expirationTime: cacao.p.exp,\n issuedAt: cacao.p.iat,\n notBefore: cacao.p.nbf\n },\n message,\n signature: cacao.s.s,\n cacao\n };\n });\n try {\n await siwx.setSessions(sessions);\n EventsController.sendEvent({\n type: 'track',\n event: 'SIWX_AUTH_SUCCESS',\n properties: SIWXUtil.getSIWXEventProperties()\n });\n }\n catch (error) {\n // eslint-disable-next-line no-console\n console.error('SIWX:universalProviderAuth - failed to set sessions', error);\n EventsController.sendEvent({\n type: 'track',\n event: 'SIWX_AUTH_ERROR',\n properties: SIWXUtil.getSIWXEventProperties()\n });\n // eslint-disable-next-line no-console\n await universalProvider.disconnect().catch(console.error);\n throw error;\n }\n finally {\n SnackController.hide();\n }\n }\n return true;\n },\n getSIWXEventProperties() {\n const activeChainNamespace = ChainController.state.activeChain;\n return {\n network: ChainController.state.activeCaipNetwork?.caipNetworkId || '',\n isSmartAccount: AccountController.state.preferredAccountTypes?.[activeChainNamespace] ===\n W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT\n };\n },\n async clearSessions() {\n const siwx = this.getSIWX();\n if (siwx) {\n await siwx.setSessions([]);\n }\n }\n};\n//# sourceMappingURL=SIWXUtil.js.map","import { ConnectorController } from '../controllers/ConnectorController.js';\n/**\n * Checks if the given namespace is associated with the specified connector id.\n * @param namespace - The namespace to check.\n * @param connectorId - The connector id to compare against.\n * @returns True if the namespace is associated with the connector id, false otherwise.\n */\nexport function checkNamespaceConnectorId(namespace, connectorId) {\n return ConnectorController.getConnectorId(namespace) === connectorId;\n}\n//# sourceMappingURL=ConnectorControllerUtil.js.map","import { ConstantsUtil as CommonConstantsUtil } from '@reown/appkit-common';\nimport { ChainController } from '../controllers/ChainController.js';\nimport { checkNamespaceConnectorId } from './ConnectorControllerUtil.js';\n/**\n * Returns the array of chains to disconnect from the connector with the given namespace.\n * If no namespace is provided, it returns all chains.\n * @param namespace - The namespace of the connector to disconnect from.\n * @returns An array of chains to disconnect.\n */\nexport function getChainsToDisconnect(namespace) {\n const namespaces = Array.from(ChainController.state.chains.keys());\n let chains = [];\n if (namespace) {\n chains.push([namespace, ChainController.state.chains.get(namespace)]);\n if (checkNamespaceConnectorId(namespace, CommonConstantsUtil.CONNECTOR_ID.WALLET_CONNECT)) {\n namespaces.forEach(ns => {\n if (ns !== namespace &&\n checkNamespaceConnectorId(ns, CommonConstantsUtil.CONNECTOR_ID.WALLET_CONNECT)) {\n chains.push([ns, ChainController.state.chains.get(ns)]);\n }\n });\n }\n else if (checkNamespaceConnectorId(namespace, CommonConstantsUtil.CONNECTOR_ID.AUTH)) {\n namespaces.forEach(ns => {\n if (ns !== namespace &&\n checkNamespaceConnectorId(ns, CommonConstantsUtil.CONNECTOR_ID.AUTH)) {\n chains.push([ns, ChainController.state.chains.get(ns)]);\n }\n });\n }\n }\n else {\n chains = Array.from(ChainController.state.chains.entries());\n }\n return chains;\n}\n//# sourceMappingURL=ChainControllerUtil.js.map","export const ConstantsUtil = {\n METMASK_CONNECTOR_NAME: 'MetaMask',\n TRUST_CONNECTOR_NAME: 'Trust Wallet',\n SOLFLARE_CONNECTOR_NAME: 'Solflare',\n PHANTOM_CONNECTOR_NAME: 'Phantom',\n COIN98_CONNECTOR_NAME: 'Coin98',\n MAGIC_EDEN_CONNECTOR_NAME: 'Magic Eden',\n BACKPACK_CONNECTOR_NAME: 'Backpack',\n BITGET_CONNECTOR_NAME: 'Bitget Wallet',\n FRONTIER_CONNECTOR_NAME: 'Frontier',\n XVERSE_CONNECTOR_NAME: 'Xverse Wallet',\n LEATHER_CONNECTOR_NAME: 'Leather',\n EIP155: 'eip155',\n ADD_CHAIN_METHOD: 'wallet_addEthereumChain',\n EIP6963_ANNOUNCE_EVENT: 'eip6963:announceProvider',\n EIP6963_REQUEST_EVENT: 'eip6963:requestProvider',\n CONNECTOR_RDNS_MAP: {\n coinbaseWallet: 'com.coinbase.wallet',\n coinbaseWalletSDK: 'com.coinbase.wallet'\n },\n CONNECTOR_TYPE_EXTERNAL: 'EXTERNAL',\n CONNECTOR_TYPE_WALLET_CONNECT: 'WALLET_CONNECT',\n CONNECTOR_TYPE_INJECTED: 'INJECTED',\n CONNECTOR_TYPE_ANNOUNCED: 'ANNOUNCED',\n CONNECTOR_TYPE_AUTH: 'AUTH',\n CONNECTOR_TYPE_MULTI_CHAIN: 'MULTI_CHAIN',\n CONNECTOR_TYPE_W3M_AUTH: 'ID_AUTH'\n};\n//# sourceMappingURL=ConstantsUtil.js.map","import { ConstantsUtil as CommonConstantsUtil } from '@reown/appkit-common';\nimport { ConstantsUtil } from './ConstantsUtil.js';\nexport const PresetsUtil = {\n ConnectorExplorerIds: {\n [CommonConstantsUtil.CONNECTOR_ID.COINBASE]: 'fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa',\n [CommonConstantsUtil.CONNECTOR_ID.COINBASE_SDK]: 'fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa',\n [CommonConstantsUtil.CONNECTOR_ID.SAFE]: '225affb176778569276e484e1b92637ad061b01e13a048b35a9d280c3b58970f',\n [CommonConstantsUtil.CONNECTOR_ID.LEDGER]: '19177a98252e07ddfc9af2083ba8e07ef627cb6103467ffebb3f8f4205fd7927',\n [CommonConstantsUtil.CONNECTOR_ID.OKX]: '971e689d0a5be527bac79629b4ee9b925e82208e5168b733496a09c0faed0709',\n [ConstantsUtil.METMASK_CONNECTOR_NAME]: 'c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96',\n [ConstantsUtil.TRUST_CONNECTOR_NAME]: '4622a2b2d6af1c9844944291e5e7351a6aa24cd7b23099efac1b2fd875da31a0',\n [ConstantsUtil.SOLFLARE_CONNECTOR_NAME]: '1ca0bdd4747578705b1939af023d120677c64fe6ca76add81fda36e350605e79',\n [ConstantsUtil.PHANTOM_CONNECTOR_NAME]: 'a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393',\n [ConstantsUtil.COIN98_CONNECTOR_NAME]: '2a3c89040ac3b723a1972a33a125b1db11e258a6975d3a61252cd64e6ea5ea01',\n [ConstantsUtil.MAGIC_EDEN_CONNECTOR_NAME]: '8b830a2b724a9c3fbab63af6f55ed29c9dfa8a55e732dc88c80a196a2ba136c6',\n [ConstantsUtil.BACKPACK_CONNECTOR_NAME]: '2bd8c14e035c2d48f184aaa168559e86b0e3433228d3c4075900a221785019b0',\n [ConstantsUtil.BITGET_CONNECTOR_NAME]: '38f5d18bd8522c244bdd70cb4a68e0e718865155811c043f052fb9f1c51de662',\n [ConstantsUtil.FRONTIER_CONNECTOR_NAME]: '85db431492aa2e8672e93f4ea7acf10c88b97b867b0d373107af63dc4880f041',\n [ConstantsUtil.XVERSE_CONNECTOR_NAME]: '2a87d74ae02e10bdd1f51f7ce6c4e1cc53cd5f2c0b6b5ad0d7b3007d2b13de7b',\n [ConstantsUtil.LEATHER_CONNECTOR_NAME]: '483afe1df1df63daf313109971ff3ef8356ddf1cc4e45877d205eee0b7893a13'\n },\n NetworkImageIds: {\n 1: 'ba0ba0cd-17c6-4806-ad93-f9d174f17900',\n 42161: '3bff954d-5cb0-47a0-9a23-d20192e74600',\n 43114: '30c46e53-e989-45fb-4549-be3bd4eb3b00',\n 56: '93564157-2e8e-4ce7-81df-b264dbee9b00',\n 250: '06b26297-fe0c-4733-5d6b-ffa5498aac00',\n 10: 'ab9c186a-c52f-464b-2906-ca59d760a400',\n 137: '41d04d42-da3b-4453-8506-668cc0727900',\n 5000: 'e86fae9b-b770-4eea-e520-150e12c81100',\n 295: '6a97d510-cac8-4e58-c7ce-e8681b044c00',\n 11_155_111: 'e909ea0a-f92a-4512-c8fc-748044ea6800',\n 84532: 'a18a7ecd-e307-4360-4746-283182228e00',\n 1301: '4eeea7ef-0014-4649-5d1d-07271a80f600',\n 130: '2257980a-3463-48c6-cbac-a42d2a956e00',\n 10_143: '0a728e83-bacb-46db-7844-948f05434900',\n 100: '02b53f6a-e3d4-479e-1cb4-21178987d100',\n 9001: 'f926ff41-260d-4028-635e-91913fc28e00',\n 324: 'b310f07f-4ef7-49f3-7073-2a0a39685800',\n 314: '5a73b3dd-af74-424e-cae0-0de859ee9400',\n 4689: '34e68754-e536-40da-c153-6ef2e7188a00',\n 1088: '3897a66d-40b9-4833-162f-a2c90531c900',\n 1284: '161038da-44ae-4ec7-1208-0ea569454b00',\n 1285: 'f1d73bb6-5450-4e18-38f7-fb6484264a00',\n 7777777: '845c60df-d429-4991-e687-91ae45791600',\n 42220: 'ab781bbc-ccc6-418d-d32d-789b15da1f00',\n 8453: '7289c336-3981-4081-c5f4-efc26ac64a00',\n 1313161554: '3ff73439-a619-4894-9262-4470c773a100',\n 2020: 'b8101fc0-9c19-4b6f-ec65-f6dfff106e00',\n 2021: 'b8101fc0-9c19-4b6f-ec65-f6dfff106e00',\n 80094: 'e329c2c9-59b0-4a02-83e4-212ff3779900',\n 2741: 'fc2427d1-5af9-4a9c-8da5-6f94627cd900',\n '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp': 'a1b58899-f671-4276-6a5e-56ca5bd59700',\n '4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z': 'a1b58899-f671-4276-6a5e-56ca5bd59700',\n EtWTRABZaYq6iMfeYKouRu166VU2xqa1: 'a1b58899-f671-4276-6a5e-56ca5bd59700',\n '000000000019d6689c085ae165831e93': '0b4838db-0161-4ffe-022d-532bf03dba00',\n '000000000933ea01ad0ee984209779ba': '39354064-d79b-420b-065d-f980c4b78200'\n },\n ConnectorImageIds: {\n [CommonConstantsUtil.CONNECTOR_ID.COINBASE]: '0c2840c3-5b04-4c44-9661-fbd4b49e1800',\n [CommonConstantsUtil.CONNECTOR_ID.COINBASE_SDK]: '0c2840c3-5b04-4c44-9661-fbd4b49e1800',\n [CommonConstantsUtil.CONNECTOR_ID.SAFE]: '461db637-8616-43ce-035a-d89b8a1d5800',\n [CommonConstantsUtil.CONNECTOR_ID.LEDGER]: '54a1aa77-d202-4f8d-0fb2-5d2bb6db0300',\n [CommonConstantsUtil.CONNECTOR_ID.WALLET_CONNECT]: 'ef1a1fcf-7fe8-4d69-bd6d-fda1345b4400',\n [CommonConstantsUtil.CONNECTOR_ID.INJECTED]: '07ba87ed-43aa-4adf-4540-9e6a2b9cae00'\n },\n ConnectorNamesMap: {\n [CommonConstantsUtil.CONNECTOR_ID.INJECTED]: 'Browser Wallet',\n [CommonConstantsUtil.CONNECTOR_ID.WALLET_CONNECT]: 'WalletConnect',\n [CommonConstantsUtil.CONNECTOR_ID.COINBASE]: 'Coinbase',\n [CommonConstantsUtil.CONNECTOR_ID.COINBASE_SDK]: 'Coinbase',\n [CommonConstantsUtil.CONNECTOR_ID.LEDGER]: 'Ledger',\n [CommonConstantsUtil.CONNECTOR_ID.SAFE]: 'Safe'\n },\n ConnectorTypesMap: {\n [CommonConstantsUtil.CONNECTOR_ID.INJECTED]: 'INJECTED',\n [CommonConstantsUtil.CONNECTOR_ID.WALLET_CONNECT]: 'WALLET_CONNECT',\n [CommonConstantsUtil.CONNECTOR_ID.EIP6963]: 'ANNOUNCED',\n [CommonConstantsUtil.CONNECTOR_ID.AUTH]: 'AUTH'\n },\n WalletConnectRpcChainIds: [\n 1,\n 5,\n 11155111,\n 10,\n 420,\n 42161,\n 421613,\n 137,\n 80001,\n 42220,\n 1313161554,\n 1313161555,\n 56,\n 97,\n 43114,\n 43113,\n 100,\n 8453,\n 84531,\n 7777777,\n 999,\n 324,\n 280\n ]\n};\n//# sourceMappingURL=PresetsUtil.js.map","import { ConstantsUtil } from './ConstantsUtil.js';\nexport const HelpersUtil = {\n getCaipTokens(tokens) {\n if (!tokens) {\n return undefined;\n }\n const caipTokens = {};\n Object.entries(tokens).forEach(([id, token]) => {\n caipTokens[`${ConstantsUtil.EIP155}:${id}`] = token;\n });\n return caipTokens;\n },\n isLowerCaseMatch(str1, str2) {\n return str1?.toLowerCase() === str2?.toLowerCase();\n }\n};\n//# sourceMappingURL=HelpersUtil.js.map","const abortController = new AbortController();\nexport const ErrorUtil = {\n EmbeddedWalletAbortController: abortController,\n UniversalProviderErrors: {\n UNAUTHORIZED_DOMAIN_NOT_ALLOWED: {\n message: 'Unauthorized: origin not allowed',\n alertErrorKey: 'INVALID_APP_CONFIGURATION'\n },\n JWT_VALIDATION_ERROR: {\n message: 'JWT validation error: JWT Token is not yet valid',\n alertErrorKey: 'JWT_TOKEN_NOT_VALID'\n },\n INVALID_KEY: {\n message: 'Unauthorized: invalid key',\n alertErrorKey: 'INVALID_PROJECT_ID'\n }\n },\n ALERT_ERRORS: {\n SWITCH_NETWORK_NOT_FOUND: {\n shortMessage: 'Network Not Found',\n longMessage: \"Network not found - please make sure it is included in 'networks' array in createAppKit function\"\n },\n INVALID_APP_CONFIGURATION: {\n shortMessage: 'Invalid App Configuration',\n longMessage: () => `Origin ${isSafe() ? window.origin : 'unknown'} not found on Allowlist - update configuration on cloud.reown.com`\n },\n IFRAME_LOAD_FAILED: {\n shortMessage: 'Network Error - Could not load embedded wallet',\n longMessage: () => 'There was an issue loading the embedded wallet. Please try again later.'\n },\n IFRAME_REQUEST_TIMEOUT: {\n shortMessage: 'Embedded Wallet Request Timed Out',\n longMessage: () => 'There was an issue doing the request to the embedded wallet. Please try again later.'\n },\n UNVERIFIED_DOMAIN: {\n shortMessage: 'Invalid App Configuration',\n longMessage: () => 'There was an issue loading the embedded wallet. Please verify that your domain is allowed at cloud.reown.com'\n },\n JWT_TOKEN_NOT_VALID: {\n shortMessage: 'Session Expired',\n longMessage: 'Invalid session found on UniversalProvider - please check your time settings and connect again'\n },\n INVALID_PROJECT_ID: {\n shortMessage: 'Invalid App Configuration',\n longMessage: 'Invalid Project ID - update configuration'\n },\n PROJECT_ID_NOT_CONFIGURED: {\n shortMessage: 'Project ID Not Configured',\n longMessage: 'Project ID Not Configured - update configuration on cloud.reown.com'\n }\n }\n};\nfunction isSafe() {\n return typeof window !== 'undefined';\n}\n//# sourceMappingURL=ErrorUtil.js.map","import { generatePlatformLogger, getDefaultLoggerOptions } from '@walletconnect/logger';\nexport const LoggerUtil = {\n createLogger(onError, level = 'error') {\n const loggerOptions = getDefaultLoggerOptions({\n level\n });\n const { logger } = generatePlatformLogger({\n opts: loggerOptions\n });\n logger.error = (...args) => {\n for (const arg of args) {\n if (arg instanceof Error) {\n onError(arg, ...args);\n return;\n }\n }\n onError(undefined, ...args);\n };\n return logger;\n }\n};\n//# sourceMappingURL=LoggerUtil.js.map","import { fallback, http } from 'viem';\nimport { ConstantsUtil } from '@reown/appkit-common';\nimport { ChainController, StorageUtil } from '@reown/appkit-controllers';\nimport { PresetsUtil } from './PresetsUtil.js';\nconst RPC_URL_HOST = 'rpc.walletconnect.org';\nexport function getBlockchainApiRpcUrl(caipNetworkId, projectId) {\n const url = new URL('https://rpc.walletconnect.org/v1/');\n url.searchParams.set('chainId', caipNetworkId);\n url.searchParams.set('projectId', projectId);\n return url.toString();\n}\nconst WC_HTTP_RPC_SUPPORTED_CHAINS = [\n 'near:mainnet',\n 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',\n 'eip155:1101',\n 'eip155:56',\n 'eip155:42161',\n 'eip155:7777777',\n 'eip155:59144',\n 'eip155:324',\n 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1',\n 'eip155:5000',\n 'solana:4sgjmw1sunhzsxgspuhpqldx6wiyjntz',\n 'eip155:80084',\n 'eip155:5003',\n 'eip155:100',\n 'eip155:8453',\n 'eip155:42220',\n 'eip155:1313161555',\n 'eip155:17000',\n 'eip155:1',\n 'eip155:300',\n 'eip155:1313161554',\n 'eip155:1329',\n 'eip155:84532',\n 'eip155:421614',\n 'eip155:11155111',\n 'eip155:8217',\n 'eip155:43114',\n 'solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z',\n 'eip155:999999999',\n 'eip155:11155420',\n 'eip155:80002',\n 'eip155:97',\n 'eip155:43113',\n 'eip155:137',\n 'eip155:10',\n 'eip155:1301',\n 'bip122:000000000019d6689c085ae165831e93',\n 'bip122:000000000933ea01ad0ee984209779ba'\n];\nexport const CaipNetworksUtil = {\n extendRpcUrlWithProjectId(rpcUrl, projectId) {\n let isReownUrl = false;\n try {\n const url = new URL(rpcUrl);\n isReownUrl = url.host === RPC_URL_HOST;\n }\n catch (e) {\n isReownUrl = false;\n }\n if (isReownUrl) {\n const url = new URL(rpcUrl);\n if (!url.searchParams.has('projectId')) {\n url.searchParams.set('projectId', projectId);\n }\n return url.toString();\n }\n return rpcUrl;\n },\n isCaipNetwork(network) {\n return 'chainNamespace' in network && 'caipNetworkId' in network;\n },\n getChainNamespace(network) {\n if (this.isCaipNetwork(network)) {\n return network.chainNamespace;\n }\n return ConstantsUtil.CHAIN.EVM;\n },\n getCaipNetworkId(network) {\n if (this.isCaipNetwork(network)) {\n return network.caipNetworkId;\n }\n return `${ConstantsUtil.CHAIN.EVM}:${network.id}`;\n },\n getDefaultRpcUrl(caipNetwork, caipNetworkId, projectId) {\n const defaultRpcUrl = caipNetwork.rpcUrls?.default?.http?.[0];\n if (WC_HTTP_RPC_SUPPORTED_CHAINS.includes(caipNetworkId)) {\n return getBlockchainApiRpcUrl(caipNetworkId, projectId);\n }\n return defaultRpcUrl || '';\n },\n extendCaipNetwork(caipNetwork, { customNetworkImageUrls, projectId, customRpcUrls }) {\n const chainNamespace = this.getChainNamespace(caipNetwork);\n const caipNetworkId = this.getCaipNetworkId(caipNetwork);\n const networkDefaultRpcUrl = caipNetwork.rpcUrls.default.http?.[0];\n const reownRpcUrl = this.getDefaultRpcUrl(caipNetwork, caipNetworkId, projectId);\n const chainDefaultRpcUrl = caipNetwork?.rpcUrls?.['chainDefault']?.http?.[0] || networkDefaultRpcUrl;\n const customRpcUrlsOfNetwork = customRpcUrls?.[caipNetworkId]?.map(i => i.url) || [];\n const rpcUrls = [...customRpcUrlsOfNetwork, reownRpcUrl];\n const rpcUrlsWithoutReown = [...customRpcUrlsOfNetwork];\n if (chainDefaultRpcUrl && !rpcUrlsWithoutReown.includes(chainDefaultRpcUrl)) {\n rpcUrlsWithoutReown.push(chainDefaultRpcUrl);\n }\n return {\n ...caipNetwork,\n chainNamespace,\n caipNetworkId,\n assets: {\n imageId: PresetsUtil.NetworkImageIds[caipNetwork.id],\n imageUrl: customNetworkImageUrls?.[caipNetwork.id]\n },\n rpcUrls: {\n ...caipNetwork.rpcUrls,\n default: {\n http: rpcUrls\n },\n chainDefault: {\n http: rpcUrlsWithoutReown\n }\n }\n };\n },\n extendCaipNetworks(caipNetworks, { customNetworkImageUrls, projectId, customRpcUrls }) {\n return caipNetworks.map(caipNetwork => CaipNetworksUtil.extendCaipNetwork(caipNetwork, {\n customNetworkImageUrls,\n customRpcUrls,\n projectId\n }));\n },\n getViemTransport(caipNetwork, projectId, customRpcUrls) {\n const transports = [];\n customRpcUrls?.forEach(rpcUrl => {\n transports.push(http(rpcUrl.url, rpcUrl.config));\n });\n if (WC_HTTP_RPC_SUPPORTED_CHAINS.includes(caipNetwork.caipNetworkId)) {\n transports.push(http(getBlockchainApiRpcUrl(caipNetwork.caipNetworkId, projectId), {\n fetchOptions: {\n headers: {\n 'Content-Type': 'text/plain'\n }\n }\n }));\n }\n caipNetwork?.rpcUrls?.default?.http?.forEach(rpcUrl => {\n transports.push(http(rpcUrl));\n });\n return fallback(transports);\n },\n extendWagmiTransports(caipNetwork, projectId, transport) {\n if (WC_HTTP_RPC_SUPPORTED_CHAINS.includes(caipNetwork.caipNetworkId)) {\n const reownRpcUrl = this.getDefaultRpcUrl(caipNetwork, caipNetwork.caipNetworkId, projectId);\n return fallback([transport, http(reownRpcUrl)]);\n }\n return transport;\n },\n getUnsupportedNetwork(caipNetworkId) {\n return {\n id: caipNetworkId.split(':')[1],\n caipNetworkId,\n name: ConstantsUtil.UNSUPPORTED_NETWORK_NAME,\n chainNamespace: caipNetworkId.split(':')[0],\n nativeCurrency: {\n name: '',\n decimals: 0,\n symbol: ''\n },\n rpcUrls: {\n default: {\n http: []\n }\n }\n };\n },\n getCaipNetworkFromStorage(defaultCaipNetwork) {\n const caipNetworkIdFromStorage = StorageUtil.getActiveCaipNetworkId();\n const caipNetworks = ChainController.getAllRequestedCaipNetworks();\n const availableNamespaces = Array.from(ChainController.state.chains?.keys() || []);\n const namespace = caipNetworkIdFromStorage?.split(':')[0];\n const isNamespaceAvailable = namespace ? availableNamespaces.includes(namespace) : false;\n const caipNetwork = caipNetworks?.find(cn => cn.caipNetworkId === caipNetworkIdFromStorage);\n const isUnsupportedNetwork = isNamespaceAvailable && !caipNetwork && caipNetworkIdFromStorage;\n if (isUnsupportedNetwork) {\n return this.getUnsupportedNetwork(caipNetworkIdFromStorage);\n }\n if (caipNetwork) {\n return caipNetwork;\n }\n if (defaultCaipNetwork) {\n return defaultCaipNetwork;\n }\n return caipNetworks?.[0];\n }\n};\n//# sourceMappingURL=CaipNetworkUtil.js.map","import { proxy, ref, subscribe } from 'valtio/vanilla';\nimport { subscribeKey as subKey } from 'valtio/vanilla/utils';\nconst CLEAN_PROVIDERS_STATE = {\n eip155: undefined,\n solana: undefined,\n polkadot: undefined,\n bip122: undefined,\n cosmos: undefined\n};\nconst state = proxy({\n providers: { ...CLEAN_PROVIDERS_STATE },\n providerIds: { ...CLEAN_PROVIDERS_STATE }\n});\nexport const ProviderUtil = {\n state,\n subscribeKey(key, callback) {\n return subKey(state, key, callback);\n },\n subscribe(callback) {\n return subscribe(state, () => {\n callback(state);\n });\n },\n subscribeProviders(callback) {\n return subscribe(state.providers, () => callback(state.providers));\n },\n setProvider(chainNamespace, provider) {\n if (provider) {\n state.providers[chainNamespace] = ref(provider);\n }\n },\n getProvider(chainNamespace) {\n return state.providers[chainNamespace];\n },\n setProviderId(chainNamespace, providerId) {\n if (providerId) {\n state.providerIds[chainNamespace] = providerId;\n }\n },\n getProviderId(chainNamespace) {\n if (!chainNamespace) {\n return undefined;\n }\n return state.providerIds[chainNamespace];\n },\n reset() {\n state.providers = { ...CLEAN_PROVIDERS_STATE };\n state.providerIds = { ...CLEAN_PROVIDERS_STATE };\n },\n resetChain(chainNamespace) {\n state.providers[chainNamespace] = undefined;\n state.providerIds[chainNamespace] = undefined;\n }\n};\n//# sourceMappingURL=ProviderUtil.js.map","export const ConstantsUtil = {\n ACCOUNT_TABS: [{ label: 'Tokens' }, { label: 'NFTs' }, { label: 'Activity' }],\n SECURE_SITE_ORIGIN: (typeof process !== 'undefined' && typeof process.env !== 'undefined'\n ? process.env['NEXT_PUBLIC_SECURE_SITE_ORIGIN']\n : undefined) || 'https://secure.walletconnect.org',\n VIEW_DIRECTION: {\n Next: 'next',\n Prev: 'prev'\n },\n DEFAULT_CONNECT_METHOD_ORDER: ['email', 'social', 'wallet'],\n ANIMATION_DURATIONS: {\n HeaderText: 120,\n ModalHeight: 150,\n ViewTransition: 150\n }\n};\n//# sourceMappingURL=ConstantsUtil.js.map","import { ApiController, ConnectorController, CoreHelperUtil, OptionsController, StorageUtil } from '@reown/appkit-controllers';\nimport { HelpersUtil } from '@reown/appkit-utils';\nimport { ConnectorUtil } from './ConnectorUtil.js';\nimport { ConstantsUtil } from './ConstantsUtil.js';\nexport const WalletUtil = {\n filterOutDuplicatesByRDNS(wallets) {\n const connectors = OptionsController.state.enableEIP6963\n ? ConnectorController.state.connectors\n : [];\n const recent = StorageUtil.getRecentWallets();\n const connectorRDNSs = connectors\n .map(connector => connector.info?.rdns)\n .filter(Boolean);\n const recentRDNSs = recent.map(wallet => wallet.rdns).filter(Boolean);\n const allRDNSs = connectorRDNSs.concat(recentRDNSs);\n if (allRDNSs.includes('io.metamask.mobile') && CoreHelperUtil.isMobile()) {\n const index = allRDNSs.indexOf('io.metamask.mobile');\n allRDNSs[index] = 'io.metamask';\n }\n const filtered = wallets.filter(wallet => !allRDNSs.includes(String(wallet?.rdns)));\n return filtered;\n },\n filterOutDuplicatesByIds(wallets) {\n const connectors = ConnectorController.state.connectors.filter(connector => connector.type === 'ANNOUNCED' || connector.type === 'INJECTED');\n const recent = StorageUtil.getRecentWallets();\n const connectorIds = connectors.map(connector => connector.explorerId);\n const recentIds = recent.map(wallet => wallet.id);\n const allIds = connectorIds.concat(recentIds);\n const filtered = wallets.filter(wallet => !allIds.includes(wallet?.id));\n return filtered;\n },\n filterOutDuplicateWallets(wallets) {\n const uniqueByRDNS = this.filterOutDuplicatesByRDNS(wallets);\n const uniqueWallets = this.filterOutDuplicatesByIds(uniqueByRDNS);\n return uniqueWallets;\n },\n markWalletsAsInstalled(wallets) {\n const { connectors } = ConnectorController.state;\n const { featuredWalletIds } = OptionsController.state;\n const installedWalletRdnsMap = connectors\n .filter(connector => connector.type === 'ANNOUNCED')\n .reduce((rdnsMap, connector) => {\n if (!connector.info?.rdns) {\n return rdnsMap;\n }\n rdnsMap[connector.info.rdns] = true;\n return rdnsMap;\n }, {});\n const walletsWithInstallationStatus = wallets.map(wallet => ({\n ...wallet,\n installed: Boolean(wallet.rdns) && Boolean(installedWalletRdnsMap[wallet.rdns ?? ''])\n }));\n const sortedWallets = walletsWithInstallationStatus.sort((walletA, walletB) => {\n const installationComparison = Number(walletB.installed) - Number(walletA.installed);\n if (installationComparison !== 0) {\n return installationComparison;\n }\n if (featuredWalletIds?.length) {\n const walletAFeaturedIndex = featuredWalletIds.indexOf(walletA.id);\n const walletBFeaturedIndex = featuredWalletIds.indexOf(walletB.id);\n if (walletAFeaturedIndex !== -1 && walletBFeaturedIndex !== -1) {\n return walletAFeaturedIndex - walletBFeaturedIndex;\n }\n if (walletAFeaturedIndex !== -1) {\n return -1;\n }\n if (walletBFeaturedIndex !== -1) {\n return 1;\n }\n }\n return 0;\n });\n return sortedWallets;\n },\n getConnectOrderMethod(_features, _connectors) {\n const connectMethodOrder = _features?.connectMethodsOrder || OptionsController.state.features?.connectMethodsOrder;\n const connectors = _connectors || ConnectorController.state.connectors;\n if (connectMethodOrder) {\n return connectMethodOrder;\n }\n const { injected, announced } = ConnectorUtil.getConnectorsByType(connectors, ApiController.state.recommended, ApiController.state.featured);\n const shownInjected = injected.filter(ConnectorUtil.showConnector);\n const shownAnnounced = announced.filter(ConnectorUtil.showConnector);\n if (shownInjected.length || shownAnnounced.length) {\n return ['wallet', 'email', 'social'];\n }\n return ConstantsUtil.DEFAULT_CONNECT_METHOD_ORDER;\n },\n isExcluded(wallet) {\n const isRDNSExcluded = Boolean(wallet.rdns) && ApiController.state.excludedWallets.some(w => w.rdns === wallet.rdns);\n const isNameExcluded = Boolean(wallet.name) &&\n ApiController.state.excludedWallets.some(w => HelpersUtil.isLowerCaseMatch(w.name, wallet.name));\n return isRDNSExcluded || isNameExcluded;\n }\n};\n//# sourceMappingURL=WalletUtil.js.map","import { ConstantsUtil } from '@reown/appkit-common';\nimport { ApiController, ChainController, ConnectionController, ConnectorController, CoreHelperUtil, OptionsController, StorageUtil } from '@reown/appkit-controllers';\nimport { HelpersUtil } from '@reown/appkit-utils';\nimport { WalletUtil } from './WalletUtil.js';\nexport const ConnectorUtil = {\n getConnectorsByType(connectors, recommended, featured) {\n const { customWallets } = OptionsController.state;\n const recent = StorageUtil.getRecentWallets();\n const filteredRecommended = WalletUtil.filterOutDuplicateWallets(recommended);\n const filteredFeatured = WalletUtil.filterOutDuplicateWallets(featured);\n const multiChain = connectors.filter(connector => connector.type === 'MULTI_CHAIN');\n const announced = connectors.filter(connector => connector.type === 'ANNOUNCED');\n const injected = connectors.filter(connector => connector.type === 'INJECTED');\n const external = connectors.filter(connector => connector.type === 'EXTERNAL');\n return {\n custom: customWallets,\n recent,\n external,\n multiChain,\n announced,\n injected,\n recommended: filteredRecommended,\n featured: filteredFeatured\n };\n },\n showConnector(connector) {\n const rdns = connector.info?.rdns;\n const isRDNSExcluded = Boolean(rdns) &&\n ApiController.state.excludedWallets.some(wallet => Boolean(wallet.rdns) && wallet.rdns === rdns);\n const isNameExcluded = Boolean(connector.name) &&\n ApiController.state.excludedWallets.some(wallet => HelpersUtil.isLowerCaseMatch(wallet.name, connector.name));\n if (connector.type === 'INJECTED') {\n const isBrowserWallet = connector.name === 'Browser Wallet';\n if (isBrowserWallet) {\n if (!CoreHelperUtil.isMobile()) {\n return false;\n }\n if (CoreHelperUtil.isMobile() && !rdns && !ConnectionController.checkInstalled()) {\n return false;\n }\n }\n if (isRDNSExcluded || isNameExcluded) {\n return false;\n }\n }\n if ((connector.type === 'ANNOUNCED' || connector.type === 'EXTERNAL') &&\n (isRDNSExcluded || isNameExcluded)) {\n return false;\n }\n return true;\n },\n getIsConnectedWithWC() {\n const chains = Array.from(ChainController.state.chains.values());\n const isConnectedWithWC = chains.some(chain => {\n const connectorId = ConnectorController.getConnectorId(chain.namespace);\n return connectorId === ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT;\n });\n return isConnectedWithWC;\n },\n getConnectorTypeOrder({ recommended, featured, custom, recent, announced, injected, multiChain, external, overriddenConnectors = OptionsController.state.features?.connectorTypeOrder ?? [] }) {\n const isConnectedWithWC = ConnectorUtil.getIsConnectedWithWC();\n const isWCEnabled = OptionsController.state.enableWalletConnect;\n const allConnectors = [\n { type: 'walletConnect', isEnabled: isWCEnabled && !isConnectedWithWC },\n { type: 'recent', isEnabled: recent.length > 0 },\n { type: 'injected', isEnabled: [...injected, ...announced, ...multiChain].length > 0 },\n { type: 'featured', isEnabled: featured.length > 0 },\n { type: 'custom', isEnabled: custom && custom.length > 0 },\n { type: 'external', isEnabled: external.length > 0 },\n { type: 'recommended', isEnabled: recommended.length > 0 }\n ];\n const enabledConnectors = allConnectors.filter(option => option.isEnabled);\n const enabledConnectorTypes = new Set(enabledConnectors.map(option => option.type));\n const prioritizedConnectors = overriddenConnectors\n .filter(type => enabledConnectorTypes.has(type))\n .map(type => ({ type, isEnabled: true }));\n const remainingConnectors = enabledConnectors.filter(({ type: enabledConnectorType }) => {\n const hasPrioritizedConnector = prioritizedConnectors.some(({ type: prioritizedConnectorType }) => prioritizedConnectorType === enabledConnectorType);\n return !hasPrioritizedConnector;\n });\n return Array.from(new Set([...prioritizedConnectors, ...remainingConnectors].map(({ type }) => type)));\n }\n};\n//# sourceMappingURL=ConnectorUtil.js.map","import { css, unsafeCSS } from 'lit';\nimport { getW3mThemeVariables } from '@reown/appkit-common';\nlet themeTag = undefined;\nlet darkModeTag = undefined;\nlet lightModeTag = undefined;\nexport function initializeTheming(themeVariables, themeMode) {\n themeTag = document.createElement('style');\n darkModeTag = document.createElement('style');\n lightModeTag = document.createElement('style');\n themeTag.textContent = createRootStyles(themeVariables).core.cssText;\n darkModeTag.textContent = createRootStyles(themeVariables).dark.cssText;\n lightModeTag.textContent = createRootStyles(themeVariables).light.cssText;\n document.head.appendChild(themeTag);\n document.head.appendChild(darkModeTag);\n document.head.appendChild(lightModeTag);\n setColorTheme(themeMode);\n}\nexport function setColorTheme(themeMode) {\n if (darkModeTag && lightModeTag) {\n if (themeMode === 'light') {\n darkModeTag.removeAttribute('media');\n lightModeTag.media = 'enabled';\n }\n else {\n lightModeTag.removeAttribute('media');\n darkModeTag.media = 'enabled';\n }\n }\n}\nexport function setThemeVariables(themeVariables) {\n if (themeTag && darkModeTag && lightModeTag) {\n themeTag.textContent = createRootStyles(themeVariables).core.cssText;\n darkModeTag.textContent = createRootStyles(themeVariables).dark.cssText;\n lightModeTag.textContent = createRootStyles(themeVariables).light.cssText;\n }\n}\nfunction createRootStyles(themeVariables) {\n return {\n core: css `\n @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');\n @keyframes w3m-shake {\n 0% {\n transform: scale(1) rotate(0deg);\n }\n 20% {\n transform: scale(1) rotate(-1deg);\n }\n 40% {\n transform: scale(1) rotate(1.5deg);\n }\n 60% {\n transform: scale(1) rotate(-1.5deg);\n }\n 80% {\n transform: scale(1) rotate(1deg);\n }\n 100% {\n transform: scale(1) rotate(0deg);\n }\n }\n @keyframes w3m-iframe-fade-out {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n }\n @keyframes w3m-iframe-zoom-in {\n 0% {\n transform: translateY(50px);\n opacity: 0;\n }\n 100% {\n transform: translateY(0px);\n opacity: 1;\n }\n }\n @keyframes w3m-iframe-zoom-in-mobile {\n 0% {\n transform: scale(0.95);\n opacity: 0;\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n }\n :root {\n --w3m-modal-width: 360px;\n --w3m-color-mix-strength: ${unsafeCSS(themeVariables?.['--w3m-color-mix-strength']\n ? `${themeVariables['--w3m-color-mix-strength']}%`\n : '0%')};\n --w3m-font-family: ${unsafeCSS(themeVariables?.['--w3m-font-family'] ||\n 'Inter, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;')};\n --w3m-font-size-master: ${unsafeCSS(themeVariables?.['--w3m-font-size-master'] || '10px')};\n --w3m-border-radius-master: ${unsafeCSS(themeVariables?.['--w3m-border-radius-master'] || '4px')};\n --w3m-z-index: ${unsafeCSS(themeVariables?.['--w3m-z-index'] || 999)};\n\n --wui-font-family: var(--w3m-font-family);\n\n --wui-font-size-mini: calc(var(--w3m-font-size-master) * 0.8);\n --wui-font-size-micro: var(--w3m-font-size-master);\n --wui-font-size-tiny: calc(var(--w3m-font-size-master) * 1.2);\n --wui-font-size-small: calc(var(--w3m-font-size-master) * 1.4);\n --wui-font-size-paragraph: calc(var(--w3m-font-size-master) * 1.6);\n --wui-font-size-medium: calc(var(--w3m-font-size-master) * 1.8);\n --wui-font-size-large: calc(var(--w3m-font-size-master) * 2);\n --wui-font-size-title-6: calc(var(--w3m-font-size-master) * 2.2);\n --wui-font-size-medium-title: calc(var(--w3m-font-size-master) * 2.4);\n --wui-font-size-2xl: calc(var(--w3m-font-size-master) * 4);\n\n --wui-border-radius-5xs: var(--w3m-border-radius-master);\n --wui-border-radius-4xs: calc(var(--w3m-border-radius-master) * 1.5);\n --wui-border-radius-3xs: calc(var(--w3m-border-radius-master) * 2);\n --wui-border-radius-xxs: calc(var(--w3m-border-radius-master) * 3);\n --wui-border-radius-xs: calc(var(--w3m-border-radius-master) * 4);\n --wui-border-radius-s: calc(var(--w3m-border-radius-master) * 5);\n --wui-border-radius-m: calc(var(--w3m-border-radius-master) * 7);\n --wui-border-radius-l: calc(var(--w3m-border-radius-master) * 9);\n --wui-border-radius-3xl: calc(var(--w3m-border-radius-master) * 20);\n\n --wui-font-weight-light: 400;\n --wui-font-weight-regular: 500;\n --wui-font-weight-medium: 600;\n --wui-font-weight-bold: 700;\n\n --wui-letter-spacing-2xl: -1.6px;\n --wui-letter-spacing-medium-title: -0.96px;\n --wui-letter-spacing-title-6: -0.88px;\n --wui-letter-spacing-large: -0.8px;\n --wui-letter-spacing-medium: -0.72px;\n --wui-letter-spacing-paragraph: -0.64px;\n --wui-letter-spacing-small: -0.56px;\n --wui-letter-spacing-tiny: -0.48px;\n --wui-letter-spacing-micro: -0.2px;\n --wui-letter-spacing-mini: -0.16px;\n\n --wui-spacing-0: 0px;\n --wui-spacing-4xs: 2px;\n --wui-spacing-3xs: 4px;\n --wui-spacing-xxs: 6px;\n --wui-spacing-2xs: 7px;\n --wui-spacing-xs: 8px;\n --wui-spacing-1xs: 10px;\n --wui-spacing-s: 12px;\n --wui-spacing-m: 14px;\n --wui-spacing-l: 16px;\n --wui-spacing-2l: 18px;\n --wui-spacing-xl: 20px;\n --wui-spacing-xxl: 24px;\n --wui-spacing-2xl: 32px;\n --wui-spacing-3xl: 40px;\n --wui-spacing-4xl: 90px;\n --wui-spacing-5xl: 95px;\n\n --wui-icon-box-size-xxs: 14px;\n --wui-icon-box-size-xs: 20px;\n --wui-icon-box-size-sm: 24px;\n --wui-icon-box-size-md: 32px;\n --wui-icon-box-size-mdl: 36px;\n --wui-icon-box-size-lg: 40px;\n --wui-icon-box-size-2lg: 48px;\n --wui-icon-box-size-xl: 64px;\n\n --wui-icon-size-inherit: inherit;\n --wui-icon-size-xxs: 10px;\n --wui-icon-size-xs: 12px;\n --wui-icon-size-sm: 14px;\n --wui-icon-size-md: 16px;\n --wui-icon-size-mdl: 18px;\n --wui-icon-size-lg: 20px;\n --wui-icon-size-xl: 24px;\n --wui-icon-size-xxl: 28px;\n\n --wui-wallet-image-size-inherit: inherit;\n --wui-wallet-image-size-sm: 40px;\n --wui-wallet-image-size-md: 56px;\n --wui-wallet-image-size-lg: 80px;\n\n --wui-visual-size-size-inherit: inherit;\n --wui-visual-size-sm: 40px;\n --wui-visual-size-md: 55px;\n --wui-visual-size-lg: 80px;\n\n --wui-box-size-md: 100px;\n --wui-box-size-lg: 120px;\n\n --wui-ease-out-power-2: cubic-bezier(0, 0, 0.22, 1);\n --wui-ease-out-power-1: cubic-bezier(0, 0, 0.55, 1);\n\n --wui-ease-in-power-3: cubic-bezier(0.66, 0, 1, 1);\n --wui-ease-in-power-2: cubic-bezier(0.45, 0, 1, 1);\n --wui-ease-in-power-1: cubic-bezier(0.3, 0, 1, 1);\n\n --wui-ease-inout-power-1: cubic-bezier(0.45, 0, 0.55, 1);\n\n --wui-duration-lg: 200ms;\n --wui-duration-md: 125ms;\n --wui-duration-sm: 75ms;\n\n --wui-path-network-sm: path(\n 'M15.4 2.1a5.21 5.21 0 0 1 5.2 0l11.61 6.7a5.21 5.21 0 0 1 2.61 4.52v13.4c0 1.87-1 3.59-2.6 4.52l-11.61 6.7c-1.62.93-3.6.93-5.22 0l-11.6-6.7a5.21 5.21 0 0 1-2.61-4.51v-13.4c0-1.87 1-3.6 2.6-4.52L15.4 2.1Z'\n );\n\n --wui-path-network-md: path(\n 'M43.4605 10.7248L28.0485 1.61089C25.5438 0.129705 22.4562 0.129705 19.9515 1.61088L4.53951 10.7248C2.03626 12.2051 0.5 14.9365 0.5 17.886V36.1139C0.5 39.0635 2.03626 41.7949 4.53951 43.2752L19.9515 52.3891C22.4562 53.8703 25.5438 53.8703 28.0485 52.3891L43.4605 43.2752C45.9637 41.7949 47.5 39.0635 47.5 36.114V17.8861C47.5 14.9365 45.9637 12.2051 43.4605 10.7248Z'\n );\n\n --wui-path-network-lg: path(\n 'M78.3244 18.926L50.1808 2.45078C45.7376 -0.150261 40.2624 -0.150262 35.8192 2.45078L7.6756 18.926C3.23322 21.5266 0.5 26.3301 0.5 31.5248V64.4752C0.5 69.6699 3.23322 74.4734 7.6756 77.074L35.8192 93.5492C40.2624 96.1503 45.7376 96.1503 50.1808 93.5492L78.3244 77.074C82.7668 74.4734 85.5 69.6699 85.5 64.4752V31.5248C85.5 26.3301 82.7668 21.5266 78.3244 18.926Z'\n );\n\n --wui-width-network-sm: 36px;\n --wui-width-network-md: 48px;\n --wui-width-network-lg: 86px;\n\n --wui-height-network-sm: 40px;\n --wui-height-network-md: 54px;\n --wui-height-network-lg: 96px;\n\n --wui-icon-size-network-xs: 12px;\n --wui-icon-size-network-sm: 16px;\n --wui-icon-size-network-md: 24px;\n --wui-icon-size-network-lg: 42px;\n\n --wui-color-inherit: inherit;\n\n --wui-color-inverse-100: #fff;\n --wui-color-inverse-000: #000;\n\n --wui-cover: rgba(20, 20, 20, 0.8);\n\n --wui-color-modal-bg: var(--wui-color-modal-bg-base);\n\n --wui-color-accent-100: var(--wui-color-accent-base-100);\n --wui-color-accent-090: var(--wui-color-accent-base-090);\n --wui-color-accent-080: var(--wui-color-accent-base-080);\n\n --wui-color-success-100: var(--wui-color-success-base-100);\n --wui-color-success-125: var(--wui-color-success-base-125);\n\n --wui-color-warning-100: var(--wui-color-warning-base-100);\n\n --wui-color-error-100: var(--wui-color-error-base-100);\n --wui-color-error-125: var(--wui-color-error-base-125);\n\n --wui-color-blue-100: var(--wui-color-blue-base-100);\n --wui-color-blue-90: var(--wui-color-blue-base-90);\n\n --wui-icon-box-bg-error-100: var(--wui-icon-box-bg-error-base-100);\n --wui-icon-box-bg-blue-100: var(--wui-icon-box-bg-blue-base-100);\n --wui-icon-box-bg-success-100: var(--wui-icon-box-bg-success-base-100);\n --wui-icon-box-bg-inverse-100: var(--wui-icon-box-bg-inverse-base-100);\n\n --wui-all-wallets-bg-100: var(--wui-all-wallets-bg-100);\n\n --wui-avatar-border: var(--wui-avatar-border-base);\n\n --wui-thumbnail-border: var(--wui-thumbnail-border-base);\n\n --wui-wallet-button-bg: var(--wui-wallet-button-bg-base);\n\n --wui-box-shadow-blue: var(--wui-color-accent-glass-020);\n }\n\n @supports (background: color-mix(in srgb, white 50%, black)) {\n :root {\n --wui-color-modal-bg: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-modal-bg-base)\n );\n\n --wui-box-shadow-blue: color-mix(in srgb, var(--wui-color-accent-100) 20%, transparent);\n\n --wui-color-accent-100: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 100%,\n transparent\n );\n --wui-color-accent-090: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 90%,\n transparent\n );\n --wui-color-accent-080: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 80%,\n transparent\n );\n --wui-color-accent-glass-090: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 90%,\n transparent\n );\n --wui-color-accent-glass-080: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 80%,\n transparent\n );\n --wui-color-accent-glass-020: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 20%,\n transparent\n );\n --wui-color-accent-glass-015: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 15%,\n transparent\n );\n --wui-color-accent-glass-010: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 10%,\n transparent\n );\n --wui-color-accent-glass-005: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 5%,\n transparent\n );\n --wui-color-accent-002: color-mix(\n in srgb,\n var(--wui-color-accent-base-100) 2%,\n transparent\n );\n\n --wui-color-fg-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-100)\n );\n --wui-color-fg-125: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-125)\n );\n --wui-color-fg-150: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-150)\n );\n --wui-color-fg-175: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-175)\n );\n --wui-color-fg-200: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-200)\n );\n --wui-color-fg-225: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-225)\n );\n --wui-color-fg-250: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-250)\n );\n --wui-color-fg-275: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-275)\n );\n --wui-color-fg-300: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-300)\n );\n --wui-color-fg-325: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-325)\n );\n --wui-color-fg-350: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-fg-350)\n );\n\n --wui-color-bg-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-100)\n );\n --wui-color-bg-125: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-125)\n );\n --wui-color-bg-150: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-150)\n );\n --wui-color-bg-175: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-175)\n );\n --wui-color-bg-200: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-200)\n );\n --wui-color-bg-225: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-225)\n );\n --wui-color-bg-250: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-250)\n );\n --wui-color-bg-275: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-275)\n );\n --wui-color-bg-300: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-300)\n );\n --wui-color-bg-325: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-325)\n );\n --wui-color-bg-350: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-bg-350)\n );\n\n --wui-color-success-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-success-base-100)\n );\n --wui-color-success-125: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-success-base-125)\n );\n\n --wui-color-warning-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-warning-base-100)\n );\n\n --wui-color-error-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-error-base-100)\n );\n --wui-color-blue-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-blue-base-100)\n );\n --wui-color-blue-90: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-blue-base-90)\n );\n --wui-color-error-125: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-color-error-base-125)\n );\n\n --wui-icon-box-bg-error-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-icon-box-bg-error-base-100)\n );\n --wui-icon-box-bg-accent-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-icon-box-bg-blue-base-100)\n );\n --wui-icon-box-bg-success-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-icon-box-bg-success-base-100)\n );\n --wui-icon-box-bg-inverse-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-icon-box-bg-inverse-base-100)\n );\n\n --wui-all-wallets-bg-100: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-all-wallets-bg-100)\n );\n\n --wui-avatar-border: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-avatar-border-base)\n );\n\n --wui-thumbnail-border: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-thumbnail-border-base)\n );\n\n --wui-wallet-button-bg: color-mix(\n in srgb,\n var(--w3m-color-mix) var(--w3m-color-mix-strength),\n var(--wui-wallet-button-bg-base)\n );\n }\n }\n `,\n light: css `\n :root {\n --w3m-color-mix: ${unsafeCSS(themeVariables?.['--w3m-color-mix'] || '#fff')};\n --w3m-accent: ${unsafeCSS(getW3mThemeVariables(themeVariables, 'dark')['--w3m-accent'])};\n --w3m-default: #fff;\n\n --wui-color-modal-bg-base: ${unsafeCSS(getW3mThemeVariables(themeVariables, 'dark')['--w3m-background'])};\n --wui-color-accent-base-100: var(--w3m-accent);\n\n --wui-color-blueberry-100: hsla(230, 100%, 67%, 1);\n --wui-color-blueberry-090: hsla(231, 76%, 61%, 1);\n --wui-color-blueberry-080: hsla(230, 59%, 55%, 1);\n --wui-color-blueberry-050: hsla(231, 100%, 70%, 0.1);\n\n --wui-color-fg-100: #e4e7e7;\n --wui-color-fg-125: #d0d5d5;\n --wui-color-fg-150: #a8b1b1;\n --wui-color-fg-175: #a8b0b0;\n --wui-color-fg-200: #949e9e;\n --wui-color-fg-225: #868f8f;\n --wui-color-fg-250: #788080;\n --wui-color-fg-275: #788181;\n --wui-color-fg-300: #6e7777;\n --wui-color-fg-325: #9a9a9a;\n --wui-color-fg-350: #363636;\n\n --wui-color-bg-100: #141414;\n --wui-color-bg-125: #191a1a;\n --wui-color-bg-150: #1e1f1f;\n --wui-color-bg-175: #222525;\n --wui-color-bg-200: #272a2a;\n --wui-color-bg-225: #2c3030;\n --wui-color-bg-250: #313535;\n --wui-color-bg-275: #363b3b;\n --wui-color-bg-300: #3b4040;\n --wui-color-bg-325: #252525;\n --wui-color-bg-350: #ffffff;\n\n --wui-color-success-base-100: #26d962;\n --wui-color-success-base-125: #30a46b;\n\n --wui-color-warning-base-100: #f3a13f;\n\n --wui-color-error-base-100: #f25a67;\n --wui-color-error-base-125: #df4a34;\n\n --wui-color-blue-base-100: rgba(102, 125, 255, 1);\n --wui-color-blue-base-90: rgba(102, 125, 255, 0.9);\n\n --wui-color-success-glass-001: rgba(38, 217, 98, 0.01);\n --wui-color-success-glass-002: rgba(38, 217, 98, 0.02);\n --wui-color-success-glass-005: rgba(38, 217, 98, 0.05);\n --wui-color-success-glass-010: rgba(38, 217, 98, 0.1);\n --wui-color-success-glass-015: rgba(38, 217, 98, 0.15);\n --wui-color-success-glass-020: rgba(38, 217, 98, 0.2);\n --wui-color-success-glass-025: rgba(38, 217, 98, 0.25);\n --wui-color-success-glass-030: rgba(38, 217, 98, 0.3);\n --wui-color-success-glass-060: rgba(38, 217, 98, 0.6);\n --wui-color-success-glass-080: rgba(38, 217, 98, 0.8);\n\n --wui-color-success-glass-reown-020: rgba(48, 164, 107, 0.2);\n\n --wui-color-warning-glass-reown-020: rgba(243, 161, 63, 0.2);\n\n --wui-color-error-glass-001: rgba(242, 90, 103, 0.01);\n --wui-color-error-glass-002: rgba(242, 90, 103, 0.02);\n --wui-color-error-glass-005: rgba(242, 90, 103, 0.05);\n --wui-color-error-glass-010: rgba(242, 90, 103, 0.1);\n --wui-color-error-glass-015: rgba(242, 90, 103, 0.15);\n --wui-color-error-glass-020: rgba(242, 90, 103, 0.2);\n --wui-color-error-glass-025: rgba(242, 90, 103, 0.25);\n --wui-color-error-glass-030: rgba(242, 90, 103, 0.3);\n --wui-color-error-glass-060: rgba(242, 90, 103, 0.6);\n --wui-color-error-glass-080: rgba(242, 90, 103, 0.8);\n\n --wui-color-error-glass-reown-020: rgba(223, 74, 52, 0.2);\n\n --wui-color-gray-glass-001: rgba(255, 255, 255, 0.01);\n --wui-color-gray-glass-002: rgba(255, 255, 255, 0.02);\n --wui-color-gray-glass-005: rgba(255, 255, 255, 0.05);\n --wui-color-gray-glass-010: rgba(255, 255, 255, 0.1);\n --wui-color-gray-glass-015: rgba(255, 255, 255, 0.15);\n --wui-color-gray-glass-020: rgba(255, 255, 255, 0.2);\n --wui-color-gray-glass-025: rgba(255, 255, 255, 0.25);\n --wui-color-gray-glass-030: rgba(255, 255, 255, 0.3);\n --wui-color-gray-glass-060: rgba(255, 255, 255, 0.6);\n --wui-color-gray-glass-080: rgba(255, 255, 255, 0.8);\n --wui-color-gray-glass-090: rgba(255, 255, 255, 0.9);\n\n --wui-color-dark-glass-100: rgba(42, 42, 42, 1);\n\n --wui-icon-box-bg-error-base-100: #3c2426;\n --wui-icon-box-bg-blue-base-100: #20303f;\n --wui-icon-box-bg-success-base-100: #1f3a28;\n --wui-icon-box-bg-inverse-base-100: #243240;\n\n --wui-all-wallets-bg-100: #222b35;\n\n --wui-avatar-border-base: #252525;\n\n --wui-thumbnail-border-base: #252525;\n\n --wui-wallet-button-bg-base: var(--wui-color-bg-125);\n\n --w3m-card-embedded-shadow-color: rgb(17 17 18 / 25%);\n }\n `,\n dark: css `\n :root {\n --w3m-color-mix: ${unsafeCSS(themeVariables?.['--w3m-color-mix'] || '#000')};\n --w3m-accent: ${unsafeCSS(getW3mThemeVariables(themeVariables, 'light')['--w3m-accent'])};\n --w3m-default: #000;\n\n --wui-color-modal-bg-base: ${unsafeCSS(getW3mThemeVariables(themeVariables, 'light')['--w3m-background'])};\n --wui-color-accent-base-100: var(--w3m-accent);\n\n --wui-color-blueberry-100: hsla(231, 100%, 70%, 1);\n --wui-color-blueberry-090: hsla(231, 97%, 72%, 1);\n --wui-color-blueberry-080: hsla(231, 92%, 74%, 1);\n\n --wui-color-fg-100: #141414;\n --wui-color-fg-125: #2d3131;\n --wui-color-fg-150: #474d4d;\n --wui-color-fg-175: #636d6d;\n --wui-color-fg-200: #798686;\n --wui-color-fg-225: #828f8f;\n --wui-color-fg-250: #8b9797;\n --wui-color-fg-275: #95a0a0;\n --wui-color-fg-300: #9ea9a9;\n --wui-color-fg-325: #9a9a9a;\n --wui-color-fg-350: #d0d0d0;\n\n --wui-color-bg-100: #ffffff;\n --wui-color-bg-125: #f5fafa;\n --wui-color-bg-150: #f3f8f8;\n --wui-color-bg-175: #eef4f4;\n --wui-color-bg-200: #eaf1f1;\n --wui-color-bg-225: #e5eded;\n --wui-color-bg-250: #e1e9e9;\n --wui-color-bg-275: #dce7e7;\n --wui-color-bg-300: #d8e3e3;\n --wui-color-bg-325: #f3f3f3;\n --wui-color-bg-350: #202020;\n\n --wui-color-success-base-100: #26b562;\n --wui-color-success-base-125: #30a46b;\n\n --wui-color-warning-base-100: #f3a13f;\n\n --wui-color-error-base-100: #f05142;\n --wui-color-error-base-125: #df4a34;\n\n --wui-color-blue-base-100: rgba(102, 125, 255, 1);\n --wui-color-blue-base-90: rgba(102, 125, 255, 0.9);\n\n --wui-color-success-glass-001: rgba(38, 181, 98, 0.01);\n --wui-color-success-glass-002: rgba(38, 181, 98, 0.02);\n --wui-color-success-glass-005: rgba(38, 181, 98, 0.05);\n --wui-color-success-glass-010: rgba(38, 181, 98, 0.1);\n --wui-color-success-glass-015: rgba(38, 181, 98, 0.15);\n --wui-color-success-glass-020: rgba(38, 181, 98, 0.2);\n --wui-color-success-glass-025: rgba(38, 181, 98, 0.25);\n --wui-color-success-glass-030: rgba(38, 181, 98, 0.3);\n --wui-color-success-glass-060: rgba(38, 181, 98, 0.6);\n --wui-color-success-glass-080: rgba(38, 181, 98, 0.8);\n\n --wui-color-success-glass-reown-020: rgba(48, 164, 107, 0.2);\n\n --wui-color-warning-glass-reown-020: rgba(243, 161, 63, 0.2);\n\n --wui-color-error-glass-001: rgba(240, 81, 66, 0.01);\n --wui-color-error-glass-002: rgba(240, 81, 66, 0.02);\n --wui-color-error-glass-005: rgba(240, 81, 66, 0.05);\n --wui-color-error-glass-010: rgba(240, 81, 66, 0.1);\n --wui-color-error-glass-015: rgba(240, 81, 66, 0.15);\n --wui-color-error-glass-020: rgba(240, 81, 66, 0.2);\n --wui-color-error-glass-025: rgba(240, 81, 66, 0.25);\n --wui-color-error-glass-030: rgba(240, 81, 66, 0.3);\n --wui-color-error-glass-060: rgba(240, 81, 66, 0.6);\n --wui-color-error-glass-080: rgba(240, 81, 66, 0.8);\n\n --wui-color-error-glass-reown-020: rgba(223, 74, 52, 0.2);\n\n --wui-icon-box-bg-error-base-100: #f4dfdd;\n --wui-icon-box-bg-blue-base-100: #d9ecfb;\n --wui-icon-box-bg-success-base-100: #daf0e4;\n --wui-icon-box-bg-inverse-base-100: #dcecfc;\n\n --wui-all-wallets-bg-100: #e8f1fa;\n\n --wui-avatar-border-base: #f3f4f4;\n\n --wui-thumbnail-border-base: #eaefef;\n\n --wui-wallet-button-bg-base: var(--wui-color-bg-125);\n\n --wui-color-gray-glass-001: rgba(0, 0, 0, 0.01);\n --wui-color-gray-glass-002: rgba(0, 0, 0, 0.02);\n --wui-color-gray-glass-005: rgba(0, 0, 0, 0.05);\n --wui-color-gray-glass-010: rgba(0, 0, 0, 0.1);\n --wui-color-gray-glass-015: rgba(0, 0, 0, 0.15);\n --wui-color-gray-glass-020: rgba(0, 0, 0, 0.2);\n --wui-color-gray-glass-025: rgba(0, 0, 0, 0.25);\n --wui-color-gray-glass-030: rgba(0, 0, 0, 0.3);\n --wui-color-gray-glass-060: rgba(0, 0, 0, 0.6);\n --wui-color-gray-glass-080: rgba(0, 0, 0, 0.8);\n --wui-color-gray-glass-090: rgba(0, 0, 0, 0.9);\n\n --wui-color-dark-glass-100: rgba(233, 233, 233, 1);\n\n --w3m-card-embedded-shadow-color: rgb(224 225 233 / 25%);\n }\n `\n };\n}\nexport const resetStyles = css `\n *,\n *::after,\n *::before,\n :host {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n font-style: normal;\n text-rendering: optimizeSpeed;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n -webkit-tap-highlight-color: transparent;\n font-family: var(--wui-font-family);\n backface-visibility: hidden;\n }\n`;\nexport const elementStyles = css `\n button,\n a {\n cursor: pointer;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n transition:\n color var(--wui-duration-lg) var(--wui-ease-out-power-1),\n background-color var(--wui-duration-lg) var(--wui-ease-out-power-1),\n border var(--wui-duration-lg) var(--wui-ease-out-power-1),\n border-radius var(--wui-duration-lg) var(--wui-ease-out-power-1),\n box-shadow var(--wui-duration-lg) var(--wui-ease-out-power-1);\n will-change: background-color, color, border, box-shadow, border-radius;\n outline: none;\n border: none;\n column-gap: var(--wui-spacing-3xs);\n background-color: transparent;\n text-decoration: none;\n }\n\n wui-flex {\n transition: border-radius var(--wui-duration-lg) var(--wui-ease-out-power-1);\n will-change: border-radius;\n }\n\n button:disabled > wui-wallet-image,\n button:disabled > wui-all-wallets-image,\n button:disabled > wui-network-image,\n button:disabled > wui-image,\n button:disabled > wui-transaction-visual,\n button:disabled > wui-logo {\n filter: grayscale(1);\n }\n\n @media (hover: hover) and (pointer: fine) {\n button:hover:enabled {\n background-color: var(--wui-color-gray-glass-005);\n }\n\n button:active:enabled {\n background-color: var(--wui-color-gray-glass-010);\n }\n }\n\n button:disabled > wui-icon-box {\n opacity: 0.5;\n }\n\n input {\n border: none;\n outline: none;\n appearance: none;\n }\n`;\nexport const colorStyles = css `\n .wui-color-inherit {\n color: var(--wui-color-inherit);\n }\n\n .wui-color-accent-100 {\n color: var(--wui-color-accent-100);\n }\n\n .wui-color-error-100 {\n color: var(--wui-color-error-100);\n }\n\n .wui-color-blue-100 {\n color: var(--wui-color-blue-100);\n }\n\n .wui-color-blue-90 {\n color: var(--wui-color-blue-90);\n }\n\n .wui-color-error-125 {\n color: var(--wui-color-error-125);\n }\n\n .wui-color-success-100 {\n color: var(--wui-color-success-100);\n }\n\n .wui-color-success-125 {\n color: var(--wui-color-success-125);\n }\n\n .wui-color-inverse-100 {\n color: var(--wui-color-inverse-100);\n }\n\n .wui-color-inverse-000 {\n color: var(--wui-color-inverse-000);\n }\n\n .wui-color-fg-100 {\n color: var(--wui-color-fg-100);\n }\n\n .wui-color-fg-200 {\n color: var(--wui-color-fg-200);\n }\n\n .wui-color-fg-300 {\n color: var(--wui-color-fg-300);\n }\n\n .wui-color-fg-325 {\n color: var(--wui-color-fg-325);\n }\n\n .wui-color-fg-350 {\n color: var(--wui-color-fg-350);\n }\n\n .wui-bg-color-inherit {\n background-color: var(--wui-color-inherit);\n }\n\n .wui-bg-color-blue-100 {\n background-color: var(--wui-color-accent-100);\n }\n\n .wui-bg-color-error-100 {\n background-color: var(--wui-color-error-100);\n }\n\n .wui-bg-color-error-125 {\n background-color: var(--wui-color-error-125);\n }\n\n .wui-bg-color-success-100 {\n background-color: var(--wui-color-success-100);\n }\n\n .wui-bg-color-success-125 {\n background-color: var(--wui-color-success-100);\n }\n\n .wui-bg-color-inverse-100 {\n background-color: var(--wui-color-inverse-100);\n }\n\n .wui-bg-color-inverse-000 {\n background-color: var(--wui-color-inverse-000);\n }\n\n .wui-bg-color-fg-100 {\n background-color: var(--wui-color-fg-100);\n }\n\n .wui-bg-color-fg-200 {\n background-color: var(--wui-color-fg-200);\n }\n\n .wui-bg-color-fg-300 {\n background-color: var(--wui-color-fg-300);\n }\n\n .wui-color-fg-325 {\n background-color: var(--wui-color-fg-325);\n }\n\n .wui-color-fg-350 {\n background-color: var(--wui-color-fg-350);\n }\n`;\n//# sourceMappingURL=ThemeUtil.js.map","export const WcConstantsUtil = {\n ERROR_CODE_UNRECOGNIZED_CHAIN_ID: 4902,\n ERROR_CODE_DEFAULT: 5000,\n ERROR_INVALID_CHAIN_ID: 32603,\n DEFAULT_ALLOWED_ANCESTORS: [\n 'http://localhost:*',\n 'https://*.pages.dev',\n 'https://*.vercel.app',\n 'https://*.ngrok-free.app',\n 'https://secure-mobile.walletconnect.com',\n 'https://secure-mobile.walletconnect.org'\n ]\n};\n//# sourceMappingURL=ConstantsUtil.js.map","export function defineChain(chain) {\n return {\n formatters: undefined,\n fees: undefined,\n serializers: undefined,\n ...chain\n };\n}\n//# sourceMappingURL=utils.js.map","import { defineChain } from '../utils.js';\nexport const solana = defineChain({\n id: '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',\n name: 'Solana',\n network: 'solana-mainnet',\n nativeCurrency: { name: 'Solana', symbol: 'SOL', decimals: 9 },\n rpcUrls: {\n default: { http: ['https://rpc.walletconnect.org/v1'] }\n },\n blockExplorers: { default: { name: 'Solscan', url: 'https://solscan.io' } },\n testnet: false,\n chainNamespace: 'solana',\n caipNetworkId: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',\n deprecatedCaipNetworkId: 'solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ'\n});\n//# sourceMappingURL=solana.js.map","import { defineChain } from '../utils.js';\nexport const solanaDevnet = defineChain({\n id: 'EtWTRABZaYq6iMfeYKouRu166VU2xqa1',\n name: 'Solana Devnet',\n network: 'solana-devnet',\n nativeCurrency: { name: 'Solana', symbol: 'SOL', decimals: 9 },\n rpcUrls: {\n default: { http: ['https://rpc.walletconnect.org/v1'] }\n },\n blockExplorers: { default: { name: 'Solscan', url: 'https://solscan.io' } },\n testnet: true,\n chainNamespace: 'solana',\n caipNetworkId: 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1',\n deprecatedCaipNetworkId: 'solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K'\n});\n//# sourceMappingURL=solanaDevnet.js.map","import { defineChain } from '../utils.js';\nexport const solanaTestnet = defineChain({\n id: '4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z',\n name: 'Solana Testnet',\n network: 'solana-testnet',\n nativeCurrency: { name: 'Solana', symbol: 'SOL', decimals: 9 },\n rpcUrls: {\n default: { http: ['https://rpc.walletconnect.org/v1'] }\n },\n blockExplorers: { default: { name: 'Solscan', url: 'https://solscan.io' } },\n testnet: true,\n chainNamespace: 'solana',\n caipNetworkId: 'solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z'\n});\n//# sourceMappingURL=solanaTestnet.js.map","import { defineChain } from './utils.js';\nexport const bitcoin = defineChain({\n id: '000000000019d6689c085ae165831e93',\n caipNetworkId: 'bip122:000000000019d6689c085ae165831e93',\n chainNamespace: 'bip122',\n name: 'Bitcoin',\n nativeCurrency: {\n name: 'Bitcoin',\n symbol: 'BTC',\n decimals: 8\n },\n rpcUrls: {\n default: { http: ['https://rpc.walletconnect.org/v1'] }\n }\n});\nexport const bitcoinTestnet = defineChain({\n id: '000000000933ea01ad0ee984209779ba',\n caipNetworkId: 'bip122:000000000933ea01ad0ee984209779ba',\n chainNamespace: 'bip122',\n name: 'Bitcoin Testnet',\n nativeCurrency: {\n name: 'Bitcoin',\n symbol: 'BTC',\n decimals: 8\n },\n rpcUrls: {\n default: { http: ['https://rpc.walletconnect.org/v1'] }\n },\n testnet: true\n});\n//# sourceMappingURL=bitcoin.js.map","import { EnsController } from '@reown/appkit-controllers';\nimport { solana, solanaDevnet } from '../networks/index.js';\nexport const DEFAULT_METHODS = {\n solana: [\n 'solana_signMessage',\n 'solana_signTransaction',\n 'solana_requestAccounts',\n 'solana_getAccounts',\n 'solana_signAllTransactions',\n 'solana_signAndSendTransaction'\n ],\n eip155: [\n 'eth_accounts',\n 'eth_requestAccounts',\n 'eth_sendRawTransaction',\n 'eth_sign',\n 'eth_signTransaction',\n 'eth_signTypedData',\n 'eth_signTypedData_v3',\n 'eth_signTypedData_v4',\n 'eth_sendTransaction',\n 'personal_sign',\n 'wallet_switchEthereumChain',\n 'wallet_addEthereumChain',\n 'wallet_getPermissions',\n 'wallet_requestPermissions',\n 'wallet_registerOnboarding',\n 'wallet_watchAsset',\n 'wallet_scanQRCode',\n // EIP-5792\n 'wallet_getCallsStatus',\n 'wallet_showCallsStatus',\n 'wallet_sendCalls',\n 'wallet_getCapabilities',\n // EIP-7715\n 'wallet_grantPermissions',\n 'wallet_revokePermissions',\n //EIP-7811\n 'wallet_getAssets'\n ],\n bip122: ['sendTransfer', 'signMessage', 'signPsbt', 'getAccountAddresses']\n};\nexport const WcHelpersUtil = {\n getMethodsByChainNamespace(chainNamespace) {\n return DEFAULT_METHODS[chainNamespace] || [];\n },\n createDefaultNamespace(chainNamespace) {\n return {\n methods: this.getMethodsByChainNamespace(chainNamespace),\n events: ['accountsChanged', 'chainChanged'],\n chains: [],\n rpcMap: {}\n };\n },\n applyNamespaceOverrides(baseNamespaces, overrides) {\n if (!overrides) {\n return { ...baseNamespaces };\n }\n const result = { ...baseNamespaces };\n const namespacesToOverride = new Set();\n if (overrides.methods) {\n Object.keys(overrides.methods).forEach(ns => namespacesToOverride.add(ns));\n }\n if (overrides.chains) {\n Object.keys(overrides.chains).forEach(ns => namespacesToOverride.add(ns));\n }\n if (overrides.events) {\n Object.keys(overrides.events).forEach(ns => namespacesToOverride.add(ns));\n }\n if (overrides.rpcMap) {\n Object.keys(overrides.rpcMap).forEach(chainId => {\n const [ns] = chainId.split(':');\n if (ns) {\n namespacesToOverride.add(ns);\n }\n });\n }\n namespacesToOverride.forEach(ns => {\n if (!result[ns]) {\n result[ns] = this.createDefaultNamespace(ns);\n }\n });\n if (overrides.methods) {\n Object.entries(overrides.methods).forEach(([ns, methods]) => {\n if (result[ns]) {\n result[ns].methods = methods;\n }\n });\n }\n if (overrides.chains) {\n Object.entries(overrides.chains).forEach(([ns, chains]) => {\n if (result[ns]) {\n result[ns].chains = chains;\n }\n });\n }\n if (overrides.events) {\n Object.entries(overrides.events).forEach(([ns, events]) => {\n if (result[ns]) {\n result[ns].events = events;\n }\n });\n }\n if (overrides.rpcMap) {\n const processedNamespaces = new Set();\n Object.entries(overrides.rpcMap).forEach(([chainId, rpcUrl]) => {\n const [ns, id] = chainId.split(':');\n if (!ns || !id || !result[ns]) {\n return;\n }\n if (!result[ns].rpcMap) {\n result[ns].rpcMap = {};\n }\n if (!processedNamespaces.has(ns)) {\n result[ns].rpcMap = {};\n processedNamespaces.add(ns);\n }\n result[ns].rpcMap[id] = rpcUrl;\n });\n }\n return result;\n },\n createNamespaces(caipNetworks, configOverride) {\n const defaultNamespaces = caipNetworks.reduce((acc, chain) => {\n const { id, chainNamespace, rpcUrls } = chain;\n const rpcUrl = rpcUrls.default.http[0];\n if (!acc[chainNamespace]) {\n acc[chainNamespace] = this.createDefaultNamespace(chainNamespace);\n }\n const caipNetworkId = `${chainNamespace}:${id}`;\n // eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style\n const namespace = acc[chainNamespace];\n namespace.chains.push(caipNetworkId);\n // Workaround for wallets that only support deprecated Solana network ID\n switch (caipNetworkId) {\n case solana.caipNetworkId:\n namespace.chains.push(solana.deprecatedCaipNetworkId);\n break;\n case solanaDevnet.caipNetworkId:\n namespace.chains.push(solanaDevnet.deprecatedCaipNetworkId);\n break;\n default:\n }\n if (namespace?.rpcMap && rpcUrl) {\n namespace.rpcMap[id] = rpcUrl;\n }\n return acc;\n }, {});\n return this.applyNamespaceOverrides(defaultNamespaces, configOverride);\n },\n resolveReownName: async (name) => {\n const wcNameAddress = await EnsController.resolveName(name);\n const networkNameAddresses = Object.values(wcNameAddress?.addresses) || [];\n return networkNameAddresses[0]?.address || false;\n },\n getChainsFromNamespaces(namespaces = {}) {\n return Object.values(namespaces).flatMap(namespace => {\n const chains = (namespace.chains || []);\n const accountsChains = namespace.accounts.map(account => {\n const [chainNamespace, chainId] = account.split(':');\n return `${chainNamespace}:${chainId}`;\n });\n return Array.from(new Set([...chains, ...accountsChains]));\n });\n },\n isSessionEventData(data) {\n return (typeof data === 'object' &&\n data !== null &&\n 'id' in data &&\n 'topic' in data &&\n 'params' in data &&\n typeof data.params === 'object' &&\n data.params !== null &&\n 'chainId' in data.params &&\n 'event' in data.params &&\n typeof data.params.event === 'object' &&\n data.params.event !== null);\n },\n isOriginAllowed(currentOrigin, allowedPatterns, defaultAllowedOrigins) {\n for (const pattern of [...allowedPatterns, ...defaultAllowedOrigins]) {\n if (pattern.includes('*')) {\n // Convert wildcard pattern to regex, escape special chars, replace *, match whole string\n const escapedPattern = pattern.replace(/[.*+?^${}()|[\\]\\\\]/gu, '\\\\$&');\n const regexString = `^${escapedPattern.replace(/\\\\\\*/gu, '.*')}$`;\n const regex = new RegExp(regexString, 'u');\n if (regex.test(currentOrigin)) {\n return true;\n }\n }\n else {\n /**\n * There are some cases where pattern is getting just the origin, where using new URL(pattern).origin will throw an error\n * thus we a try catch to handle this case\n */\n try {\n if (new URL(pattern).origin === currentOrigin) {\n return true;\n }\n }\n catch (e) {\n if (pattern === currentOrigin) {\n return true;\n }\n }\n }\n }\n // No match found\n return false;\n }\n};\n//# sourceMappingURL=HelpersUtil.js.map","import UniversalProvider from '@walletconnect/universal-provider';\nimport { ConstantsUtil } from '@reown/appkit-common';\nimport { ChainController, OptionsController, SIWXUtil } from '@reown/appkit-controllers';\nimport { PresetsUtil } from '@reown/appkit-utils';\nimport { WcHelpersUtil } from '../utils/index.js';\nexport class WalletConnectConnector {\n constructor({ provider, namespace }) {\n this.id = ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT;\n this.name = PresetsUtil.ConnectorNamesMap[ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT];\n this.type = 'WALLET_CONNECT';\n this.imageId = PresetsUtil.ConnectorImageIds[ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT];\n this.getCaipNetworks = ChainController.getCaipNetworks.bind(ChainController);\n this.caipNetworks = this.getCaipNetworks();\n this.provider = provider;\n this.chain = namespace;\n }\n get chains() {\n return this.getCaipNetworks();\n }\n async connectWalletConnect() {\n const isAuthenticated = await this.authenticate();\n if (!isAuthenticated) {\n const caipNetworks = this.getCaipNetworks();\n const universalProviderConfigOverride = OptionsController.state.universalProviderConfigOverride;\n const namespaces = WcHelpersUtil.createNamespaces(caipNetworks, universalProviderConfigOverride);\n await this.provider.connect({ optionalNamespaces: namespaces });\n }\n return {\n clientId: await this.provider.client.core.crypto.getClientId(),\n session: this.provider.session\n };\n }\n async disconnect() {\n await this.provider.disconnect();\n }\n async authenticate() {\n const chains = this.chains.map(network => network.caipNetworkId);\n return SIWXUtil.universalProviderAuthenticate({\n universalProvider: this.provider,\n chains,\n methods: OPTIONAL_METHODS\n });\n }\n}\nconst OPTIONAL_METHODS = [\n 'eth_accounts',\n 'eth_requestAccounts',\n 'eth_sendRawTransaction',\n 'eth_sign',\n 'eth_signTransaction',\n 'eth_signTypedData',\n 'eth_signTypedData_v3',\n 'eth_signTypedData_v4',\n 'eth_sendTransaction',\n 'personal_sign',\n 'wallet_switchEthereumChain',\n 'wallet_addEthereumChain',\n 'wallet_getPermissions',\n 'wallet_requestPermissions',\n 'wallet_registerOnboarding',\n 'wallet_watchAsset',\n 'wallet_scanQRCode',\n // EIP-5792\n 'wallet_getCallsStatus',\n 'wallet_sendCalls',\n 'wallet_getCapabilities',\n // EIP-7715\n 'wallet_grantPermissions',\n 'wallet_revokePermissions',\n //EIP-7811\n 'wallet_getAssets'\n];\n//# sourceMappingURL=WalletConnectConnector.js.map","import UniversalProvider from '@walletconnect/universal-provider';\nimport { ConstantsUtil as CommonConstantsUtil } from '@reown/appkit-common';\nimport { AccountController, ChainController } from '@reown/appkit-controllers';\nimport { PresetsUtil } from '@reown/appkit-utils';\nimport { WalletConnectConnector } from '../connectors/WalletConnectConnector.js';\n/**\n * Abstract class representing a chain adapter blueprint.\n * @template Connector - The type of connector extending ChainAdapterConnector\n */\nexport class AdapterBlueprint {\n /**\n * Creates an instance of AdapterBlueprint.\n * @param {AdapterBlueprint.Params} params - The parameters for initializing the adapter\n */\n constructor(params) {\n this.availableConnectors = [];\n this.eventListeners = new Map();\n this.getCaipNetworks = (namespace) => ChainController.getCaipNetworks(namespace);\n if (params) {\n this.construct(params);\n }\n }\n /**\n * Initializes the adapter with the given parameters.\n * @param {AdapterBlueprint.Params} params - The parameters for initializing the adapter\n */\n construct(params) {\n this.projectId = params.projectId;\n this.namespace = params.namespace;\n this.adapterType = params.adapterType;\n }\n /**\n * Gets the available connectors.\n * @returns {Connector[]} An array of available connectors\n */\n get connectors() {\n return this.availableConnectors;\n }\n /**\n * Gets the supported networks.\n * @returns {CaipNetwork[]} An array of supported networks\n */\n get networks() {\n return this.getCaipNetworks(this.namespace);\n }\n /**\n * Sets the auth provider.\n * @param {W3mFrameProvider} authProvider - The auth provider instance\n */\n setAuthProvider(authProvider) {\n this.addConnector({\n id: CommonConstantsUtil.CONNECTOR_ID.AUTH,\n type: 'AUTH',\n name: CommonConstantsUtil.CONNECTOR_NAMES.AUTH,\n provider: authProvider,\n imageId: PresetsUtil.ConnectorImageIds[CommonConstantsUtil.CONNECTOR_ID.AUTH],\n chain: this.namespace,\n chains: []\n });\n }\n /**\n * Adds one or more connectors to the available connectors list.\n * @param {...Connector} connectors - The connectors to add\n */\n addConnector(...connectors) {\n const connectorsAdded = new Set();\n this.availableConnectors = [...connectors, ...this.availableConnectors].filter(connector => {\n if (connectorsAdded.has(connector.id)) {\n return false;\n }\n connectorsAdded.add(connector.id);\n return true;\n });\n this.emit('connectors', this.availableConnectors);\n }\n setStatus(status, chainNamespace) {\n AccountController.setStatus(status, chainNamespace);\n }\n /**\n * Adds an event listener for a specific event.\n * @template T\n * @param {T} eventName - The name of the event\n * @param {EventCallback<T>} callback - The callback function to be called when the event is emitted\n */\n on(eventName, callback) {\n if (!this.eventListeners.has(eventName)) {\n this.eventListeners.set(eventName, new Set());\n }\n this.eventListeners.get(eventName)?.add(callback);\n }\n /**\n * Removes an event listener for a specific event.\n * @template T\n * @param {T} eventName - The name of the event\n * @param {EventCallback<T>} callback - The callback function to be removed\n */\n off(eventName, callback) {\n const listeners = this.eventListeners.get(eventName);\n if (listeners) {\n listeners.delete(callback);\n }\n }\n /**\n * Removes all event listeners.\n */\n removeAllEventListeners() {\n this.eventListeners.forEach(listeners => {\n listeners.clear();\n });\n }\n /**\n * Emits an event with the given name and optional data.\n * @template T\n * @param {T} eventName - The name of the event to emit\n * @param {EventData[T]} [data] - The optional data to be passed to the event listeners\n */\n emit(eventName, data) {\n const listeners = this.eventListeners.get(eventName);\n if (listeners) {\n listeners.forEach(callback => callback(data));\n }\n }\n /**\n * Connects to WalletConnect.\n * @param {number | string} [_chainId] - Optional chain ID to connect to\n */\n async connectWalletConnect(_chainId) {\n const connector = this.getWalletConnectConnector();\n const result = await connector.connectWalletConnect();\n return { clientId: result.clientId };\n }\n /**\n * Switches the network.\n * @param {AdapterBlueprint.SwitchNetworkParams} params - Network switching parameters\n */\n async switchNetwork(params) {\n const { caipNetwork, providerType } = params;\n if (!params.provider) {\n return;\n }\n const provider = 'provider' in params.provider ? params.provider.provider : params.provider;\n if (providerType === 'WALLET_CONNECT') {\n ;\n provider.setDefaultChain(caipNetwork.caipNetworkId);\n return;\n }\n if (provider && providerType === 'AUTH') {\n const authProvider = provider;\n const preferredAccountType = AccountController.state.preferredAccountTypes?.[caipNetwork.chainNamespace];\n await authProvider.switchNetwork(caipNetwork.caipNetworkId);\n const user = await authProvider.getUser({\n chainId: caipNetwork.caipNetworkId,\n preferredAccountType\n });\n this.emit('switchNetwork', user);\n }\n }\n getWalletConnectConnector() {\n const connector = this.connectors.find(c => c instanceof WalletConnectConnector);\n if (!connector) {\n throw new Error('WalletConnectConnector not found');\n }\n return connector;\n }\n}\n//# sourceMappingURL=ChainAdapterBlueprint.js.map","import bs58 from 'bs58';\nimport { toHex } from 'viem';\nimport { ConstantsUtil } from '@reown/appkit-common';\nimport { AccountController, ChainController, ConstantsUtil as CoreConstantsUtil, CoreHelperUtil } from '@reown/appkit-controllers';\nimport { AdapterBlueprint } from '../adapters/ChainAdapterBlueprint.js';\nimport { WalletConnectConnector } from '../connectors/WalletConnectConnector.js';\nimport { WcConstantsUtil } from '../utils/ConstantsUtil.js';\nexport class UniversalAdapter extends AdapterBlueprint {\n setUniversalProvider(universalProvider) {\n this.addConnector(new WalletConnectConnector({\n provider: universalProvider,\n caipNetworks: this.getCaipNetworks(),\n namespace: this.namespace\n }));\n }\n async connect(params) {\n return Promise.resolve({\n id: 'WALLET_CONNECT',\n type: 'WALLET_CONNECT',\n chainId: Number(params.chainId),\n provider: this.provider,\n address: ''\n });\n }\n async disconnect() {\n try {\n const connector = this.getWalletConnectConnector();\n await connector.disconnect();\n }\n catch (error) {\n console.warn('UniversalAdapter:disconnect - error', error);\n }\n }\n async getAccounts({ namespace }) {\n const provider = this.provider;\n const addresses = (provider?.session?.namespaces?.[namespace]?.accounts\n ?.map(account => {\n const [, , address] = account.split(':');\n return address;\n })\n .filter((address, index, self) => self.indexOf(address) === index) || []);\n return Promise.resolve({\n accounts: addresses.map(address => CoreHelperUtil.createAccount(namespace, address, namespace === 'bip122' ? 'payment' : 'eoa'))\n });\n }\n async syncConnectors() {\n return Promise.resolve();\n }\n async getBalance(params) {\n const isBalanceSupported = params.caipNetwork &&\n CoreConstantsUtil.BALANCE_SUPPORTED_CHAINS.includes(params.caipNetwork?.chainNamespace);\n if (!isBalanceSupported || params.caipNetwork?.testnet) {\n return {\n balance: '0.00',\n symbol: params.caipNetwork?.nativeCurrency.symbol || ''\n };\n }\n if (AccountController.state.balanceLoading &&\n params.chainId === ChainController.state.activeCaipNetwork?.id) {\n return {\n balance: AccountController.state.balance || '0.00',\n symbol: AccountController.state.balanceSymbol || ''\n };\n }\n const balances = await AccountController.fetchTokenBalance();\n const balance = balances.find(b => b.chainId === `${params.caipNetwork?.chainNamespace}:${params.chainId}` &&\n b.symbol === params.caipNetwork?.nativeCurrency.symbol);\n return {\n balance: balance?.quantity.numeric || '0.00',\n symbol: balance?.symbol || params.caipNetwork?.nativeCurrency.symbol || ''\n };\n }\n async signMessage(params) {\n const { provider, message, address } = params;\n if (!provider) {\n throw new Error('UniversalAdapter:signMessage - provider is undefined');\n }\n let signature = '';\n if (ChainController.state.activeCaipNetwork?.chainNamespace === ConstantsUtil.CHAIN.SOLANA) {\n const response = await provider.request({\n method: 'solana_signMessage',\n params: {\n message: bs58.encode(new TextEncoder().encode(message)),\n pubkey: address\n }\n }, ChainController.state.activeCaipNetwork?.caipNetworkId);\n signature = response.signature;\n }\n else {\n signature = await provider.request({\n method: 'personal_sign',\n params: [message, address]\n }, ChainController.state.activeCaipNetwork?.caipNetworkId);\n }\n return { signature };\n }\n // -- Transaction methods ---------------------------------------------------\n /**\n *\n * These methods are supported only on `wagmi` and `ethers` since the Solana SDK does not support them in the same way.\n * These function definition is to have a type parity between the clients. Currently not in use.\n */\n async estimateGas() {\n return Promise.resolve({\n gas: BigInt(0)\n });\n }\n async sendTransaction() {\n return Promise.resolve({\n hash: ''\n });\n }\n walletGetAssets(_params) {\n return Promise.resolve({});\n }\n async writeContract() {\n return Promise.resolve({\n hash: ''\n });\n }\n parseUnits() {\n return 0n;\n }\n formatUnits() {\n return '0';\n }\n async getCapabilities() {\n return Promise.resolve({});\n }\n async grantPermissions() {\n return Promise.resolve({});\n }\n async revokePermissions() {\n return Promise.resolve('0x');\n }\n async syncConnection() {\n return Promise.resolve({\n id: 'WALLET_CONNECT',\n type: 'WALLET_CONNECT',\n chainId: 1,\n provider: this.provider,\n address: ''\n });\n }\n // eslint-disable-next-line @typescript-eslint/require-await\n async switchNetwork(params) {\n const { caipNetwork } = params;\n const connector = this.getWalletConnectConnector();\n if (caipNetwork.chainNamespace === ConstantsUtil.CHAIN.EVM) {\n try {\n await connector.provider?.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: toHex(caipNetwork.id) }]\n });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }\n catch (switchError) {\n if (switchError.code === WcConstantsUtil.ERROR_CODE_UNRECOGNIZED_CHAIN_ID ||\n switchError.code === WcConstantsUtil.ERROR_INVALID_CHAIN_ID ||\n switchError.code === WcConstantsUtil.ERROR_CODE_DEFAULT ||\n switchError?.data?.originalError?.code ===\n WcConstantsUtil.ERROR_CODE_UNRECOGNIZED_CHAIN_ID) {\n try {\n await connector.provider?.request({\n method: 'wallet_addEthereumChain',\n params: [\n {\n chainId: toHex(caipNetwork.id),\n rpcUrls: [caipNetwork?.rpcUrls['chainDefault']?.http],\n chainName: caipNetwork.name,\n nativeCurrency: caipNetwork.nativeCurrency,\n blockExplorerUrls: [caipNetwork.blockExplorers?.default.url]\n }\n ]\n });\n }\n catch (error) {\n throw new Error('Chain is not supported');\n }\n }\n }\n }\n connector.provider.setDefaultChain(caipNetwork.caipNetworkId);\n }\n getWalletConnectProvider() {\n const connector = this.connectors.find(c => c.type === 'WALLET_CONNECT');\n const provider = connector?.provider;\n return provider;\n }\n}\n//# sourceMappingURL=client.js.map","import { AlertController, ApiController, ConstantsUtil } from '@reown/appkit-controllers';\nconst FEATURE_KEYS = [\n 'email',\n 'socials',\n 'swaps',\n 'onramp',\n 'activity',\n 'reownBranding'\n];\nconst featureConfig = {\n email: {\n apiFeatureName: 'social_login',\n localFeatureName: 'email',\n returnType: false,\n isLegacy: false,\n isAvailableOnBasic: false,\n processApi: (apiConfig) => {\n if (!apiConfig?.config) {\n return false;\n }\n const config = apiConfig.config;\n return Boolean(apiConfig.isEnabled) && config.includes('email');\n },\n processFallback: (localValue) => {\n if (localValue === undefined) {\n return ConstantsUtil.DEFAULT_REMOTE_FEATURES.email;\n }\n return Boolean(localValue);\n }\n },\n socials: {\n apiFeatureName: 'social_login',\n localFeatureName: 'socials',\n returnType: false,\n isLegacy: false,\n isAvailableOnBasic: false,\n processApi: (apiConfig) => {\n if (!apiConfig?.config) {\n return false;\n }\n const config = apiConfig.config;\n return Boolean(apiConfig.isEnabled) && config.length > 0\n ? config.filter((s) => s !== 'email')\n : false;\n },\n processFallback: (localValue) => {\n if (localValue === undefined) {\n return ConstantsUtil.DEFAULT_REMOTE_FEATURES.socials;\n }\n if (typeof localValue === 'boolean') {\n return localValue ? ConstantsUtil.DEFAULT_REMOTE_FEATURES.socials : false;\n }\n return localValue;\n }\n },\n swaps: {\n apiFeatureName: 'swap',\n localFeatureName: 'swaps',\n returnType: false,\n isLegacy: false,\n isAvailableOnBasic: false,\n processApi: (apiConfig) => {\n if (!apiConfig?.config) {\n return false;\n }\n const config = apiConfig.config;\n return Boolean(apiConfig.isEnabled) && config.length > 0 ? config : false;\n },\n processFallback: (localValue) => {\n if (localValue === undefined) {\n return ConstantsUtil.DEFAULT_REMOTE_FEATURES.swaps;\n }\n if (typeof localValue === 'boolean') {\n return localValue ? ConstantsUtil.DEFAULT_REMOTE_FEATURES.swaps : false;\n }\n return localValue;\n }\n },\n onramp: {\n apiFeatureName: 'onramp',\n localFeatureName: 'onramp',\n returnType: false,\n isLegacy: false,\n isAvailableOnBasic: false,\n processApi: (apiConfig) => {\n if (!apiConfig?.config) {\n return false;\n }\n const config = apiConfig.config;\n return Boolean(apiConfig.isEnabled) && config.length > 0 ? config : false;\n },\n processFallback: (localValue) => {\n if (localValue === undefined) {\n return ConstantsUtil.DEFAULT_REMOTE_FEATURES.onramp;\n }\n if (typeof localValue === 'boolean') {\n return localValue ? ConstantsUtil.DEFAULT_REMOTE_FEATURES.onramp : false;\n }\n return localValue;\n }\n },\n activity: {\n apiFeatureName: 'activity',\n localFeatureName: 'history',\n returnType: false,\n isLegacy: true,\n isAvailableOnBasic: false,\n processApi: (apiConfig) => Boolean(apiConfig.isEnabled),\n processFallback: (localValue) => {\n if (localValue === undefined) {\n return ConstantsUtil.DEFAULT_REMOTE_FEATURES.activity;\n }\n return Boolean(localValue);\n }\n },\n reownBranding: {\n apiFeatureName: 'reown_branding',\n localFeatureName: 'reownBranding',\n returnType: false,\n isLegacy: false,\n isAvailableOnBasic: false,\n processApi: (apiConfig) => Boolean(apiConfig.isEnabled),\n processFallback: (localValue) => {\n if (localValue === undefined) {\n return ConstantsUtil.DEFAULT_REMOTE_FEATURES.reownBranding;\n }\n return Boolean(localValue);\n }\n }\n};\nexport const ConfigUtil = {\n localSettingsOverridden: new Set(),\n getApiConfig(id, apiProjectConfig) {\n return apiProjectConfig?.find((f) => f.id === id);\n },\n addWarning(localFeatureValue, featureKey) {\n if (localFeatureValue !== undefined) {\n const config = featureConfig[featureKey];\n const warningName = config.isLegacy\n ? `\"features.${config.localFeatureName}\" (now \"${featureKey}\")`\n : `\"features.${featureKey}\"`;\n this.localSettingsOverridden.add(warningName);\n }\n },\n processFeature(featureKey, localFeatures, apiProjectConfig, useApi, isBasic) {\n const config = featureConfig[featureKey];\n const localValue = localFeatures[config.localFeatureName];\n if (isBasic && !config.isAvailableOnBasic) {\n return false;\n }\n if (useApi) {\n const apiConfig = this.getApiConfig(config.apiFeatureName, apiProjectConfig);\n if (apiConfig?.config === null) {\n return this.processFallbackFeature(featureKey, localValue);\n }\n if (!apiConfig?.config) {\n return false;\n }\n if (localValue !== undefined) {\n this.addWarning(localValue, featureKey);\n }\n return this.processApiFeature(featureKey, apiConfig);\n }\n return this.processFallbackFeature(featureKey, localValue);\n },\n processApiFeature(featureKey, apiConfig) {\n return featureConfig[featureKey].processApi(apiConfig);\n },\n processFallbackFeature(featureKey, localValue) {\n return featureConfig[featureKey].processFallback(localValue);\n },\n async fetchRemoteFeatures(config) {\n const isBasic = config.basic ?? false;\n const localFeatures = config.features || {};\n this.localSettingsOverridden.clear();\n let apiProjectConfig = null;\n let useApiConfig = false;\n try {\n apiProjectConfig = await ApiController.fetchProjectConfig();\n useApiConfig = apiProjectConfig !== null && apiProjectConfig !== undefined;\n }\n catch (e) {\n console.warn('[Reown Config] Failed to fetch remote project configuration. Using local/default values.', e);\n }\n const remoteFeaturesConfig = useApiConfig && !isBasic\n ? ConstantsUtil.DEFAULT_REMOTE_FEATURES\n : ConstantsUtil.DEFAULT_REMOTE_FEATURES_DISABLED;\n try {\n for (const featureKey of FEATURE_KEYS) {\n const result = this.processFeature(featureKey, localFeatures, apiProjectConfig, useApiConfig, isBasic);\n Object.assign(remoteFeaturesConfig, { [featureKey]: result });\n }\n }\n catch (e) {\n console.warn('[Reown Config] Failed to process the configuration from Cloud. Using default values.', e);\n return ConstantsUtil.DEFAULT_REMOTE_FEATURES;\n }\n if (useApiConfig && this.localSettingsOverridden.size > 0) {\n const warningMessage = `Your local configuration for ${Array.from(this.localSettingsOverridden).join(', ')} was ignored because a remote configuration was successfully fetched. Please manage these features via your project dashboard on dashboard.reown.com.`;\n AlertController.open({\n shortMessage: 'Local configuration ignored',\n longMessage: `[Reown Config Notice] ${warningMessage}`\n }, 'warning');\n }\n return remoteFeaturesConfig;\n }\n};\n//# sourceMappingURL=ConfigUtil.js.map","import UniversalProvider from '@walletconnect/universal-provider';\nimport { ConstantsUtil, NetworkUtil, ParseUtil } from '@reown/appkit-common';\nimport { AccountController, AlertController, ApiController, AssetUtil, BlockchainApiController, ChainController, ConnectionController, ConnectorController, ConstantsUtil as CoreConstantsUtil, CoreHelperUtil, EnsController, EventsController, ModalController, OnRampController, OptionsController, PublicStateController, RouterController, SIWXUtil, SendController, SnackController, StorageUtil, ThemeController } from '@reown/appkit-controllers';\nimport { getChainsToDisconnect } from '@reown/appkit-controllers/utils';\nimport { WalletUtil } from '@reown/appkit-scaffold-ui/utils';\nimport { setColorTheme, setThemeVariables } from '@reown/appkit-ui';\nimport { CaipNetworksUtil, ErrorUtil, HelpersUtil, LoggerUtil, ConstantsUtil as UtilConstantsUtil } from '@reown/appkit-utils';\nimport { ProviderUtil } from '@reown/appkit-utils';\nimport { UniversalAdapter } from '../universal-adapter/client.js';\nimport { ConfigUtil } from '../utils/ConfigUtil.js';\nimport { WcConstantsUtil, WcHelpersUtil } from '../utils/index.js';\nexport class AppKitBaseClient {\n constructor(options) {\n this.chainNamespaces = [];\n this.remoteFeatures = {};\n this.reportedAlertErrors = {};\n // -- Public Internal ---------------------------------------------------\n this.getCaipNetwork = (chainNamespace, id) => {\n if (chainNamespace) {\n const caipNetworkWithId = ChainController.getNetworkData(chainNamespace)?.requestedCaipNetworks?.find(c => c.id === id);\n if (caipNetworkWithId) {\n return caipNetworkWithId;\n }\n const namespaceCaipNetwork = ChainController.getNetworkData(chainNamespace)?.caipNetwork;\n if (namespaceCaipNetwork) {\n return namespaceCaipNetwork;\n }\n const requestedCaipNetworks = ChainController.getRequestedCaipNetworks(chainNamespace);\n return requestedCaipNetworks.filter(c => c.chainNamespace === chainNamespace)?.[0];\n }\n return ChainController.state.activeCaipNetwork || this.defaultCaipNetwork;\n };\n this.getCaipNetworkId = () => {\n const network = this.getCaipNetwork();\n if (network) {\n return network.id;\n }\n return undefined;\n };\n this.getCaipNetworks = (namespace) => ChainController.getCaipNetworks(namespace);\n this.getActiveChainNamespace = () => ChainController.state.activeChain;\n this.setRequestedCaipNetworks = (requestedCaipNetworks, chain) => {\n ChainController.setRequestedCaipNetworks(requestedCaipNetworks, chain);\n };\n this.getApprovedCaipNetworkIds = () => ChainController.getAllApprovedCaipNetworkIds();\n this.getCaipAddress = (chainNamespace) => {\n if (ChainController.state.activeChain === chainNamespace || !chainNamespace) {\n return ChainController.state.activeCaipAddress;\n }\n return ChainController.getAccountProp('caipAddress', chainNamespace);\n };\n this.setClientId = clientId => {\n BlockchainApiController.setClientId(clientId);\n };\n this.getProvider = (namespace) => ProviderUtil.getProvider(namespace);\n this.getProviderType = (namespace) => ProviderUtil.getProviderId(namespace);\n this.getPreferredAccountType = (namespace) => AccountController.state.preferredAccountTypes?.[namespace];\n this.setCaipAddress = (caipAddress, chain) => {\n AccountController.setCaipAddress(caipAddress, chain);\n /**\n * For the embedded use cases (Demo app), we should call close() when the user is connected to redirect them to Account View.\n */\n if (caipAddress && OptionsController.state.enableEmbedded) {\n this.close();\n }\n };\n this.setBalance = (balance, balanceSymbol, chain) => {\n AccountController.setBalance(balance, balanceSymbol, chain);\n };\n this.setProfileName = (profileName, chain) => {\n AccountController.setProfileName(profileName, chain);\n };\n this.setProfileImage = (profileImage, chain) => {\n AccountController.setProfileImage(profileImage, chain);\n };\n this.setUser = (user, chain) => {\n AccountController.setUser(user, chain);\n };\n this.resetAccount = (chain) => {\n AccountController.resetAccount(chain);\n };\n this.setCaipNetwork = caipNetwork => {\n ChainController.setActiveCaipNetwork(caipNetwork);\n };\n this.setCaipNetworkOfNamespace = (caipNetwork, chainNamespace) => {\n ChainController.setChainNetworkData(chainNamespace, { caipNetwork });\n };\n this.setAllAccounts = (addresses, chain) => {\n AccountController.setAllAccounts(addresses, chain);\n OptionsController.setHasMultipleAddresses(addresses?.length > 1);\n };\n this.setStatus = (status, chain) => {\n AccountController.setStatus(status, chain);\n // If at least one namespace is connected, set the connection status\n if (ConnectorController.isConnected()) {\n StorageUtil.setConnectionStatus('connected');\n }\n else {\n StorageUtil.setConnectionStatus('disconnected');\n }\n };\n this.getAddressByChainNamespace = (chainNamespace) => ChainController.getAccountProp('address', chainNamespace);\n this.setConnectors = connectors => {\n const allConnectors = [...ConnectorController.state.allConnectors, ...connectors];\n ConnectorController.setConnectors(allConnectors);\n };\n this.setConnections = (connections, chainNamespace) => {\n ConnectionController.setConnections(connections, chainNamespace);\n };\n this.fetchIdentity = request => BlockchainApiController.fetchIdentity(request);\n this.getReownName = address => EnsController.getNamesForAddress(address);\n this.getConnectors = () => ConnectorController.getConnectors();\n this.getConnectorImage = connector => AssetUtil.getConnectorImage(connector);\n this.setConnectedWalletInfo = (connectedWalletInfo, chain) => {\n const type = ProviderUtil.getProviderId(chain);\n const walletInfo = connectedWalletInfo ? { ...connectedWalletInfo, type } : undefined;\n AccountController.setConnectedWalletInfo(walletInfo, chain);\n };\n this.getIsConnectedState = () => Boolean(ChainController.state.activeCaipAddress);\n this.addAddressLabel = (address, label, chain) => {\n AccountController.addAddressLabel(address, label, chain);\n };\n this.removeAddressLabel = (address, chain) => {\n AccountController.removeAddressLabel(address, chain);\n };\n this.getAddress = (chainNamespace) => {\n if (ChainController.state.activeChain === chainNamespace || !chainNamespace) {\n return AccountController.state.address;\n }\n return ChainController.getAccountProp('address', chainNamespace);\n };\n this.setApprovedCaipNetworksData = namespace => ChainController.setApprovedCaipNetworksData(namespace);\n this.resetNetwork = (namespace) => {\n ChainController.resetNetwork(namespace);\n };\n this.addConnector = connector => {\n ConnectorController.addConnector(connector);\n };\n this.resetWcConnection = () => {\n ConnectionController.resetWcConnection();\n };\n this.setAddressExplorerUrl = (addressExplorerUrl, chain) => {\n AccountController.setAddressExplorerUrl(addressExplorerUrl, chain);\n };\n this.setSmartAccountDeployed = (isDeployed, chain) => {\n AccountController.setSmartAccountDeployed(isDeployed, chain);\n };\n this.setSmartAccountEnabledNetworks = (smartAccountEnabledNetworks, chain) => {\n ChainController.setSmartAccountEnabledNetworks(smartAccountEnabledNetworks, chain);\n };\n this.setPreferredAccountType = (preferredAccountType, chain) => {\n AccountController.setPreferredAccountType(preferredAccountType, chain);\n };\n this.setEIP6963Enabled = enabled => {\n OptionsController.setEIP6963Enabled(enabled);\n };\n this.handleUnsafeRPCRequest = () => {\n if (this.isOpen()) {\n // If we are on the modal but there is no transaction stack, close the modal\n if (this.isTransactionStackEmpty()) {\n return;\n }\n // Check if we need to replace or redirect\n this.redirect('ApproveTransaction');\n }\n else {\n // If called from outside the modal, open ApproveTransaction\n this.open({ view: 'ApproveTransaction' });\n }\n };\n this.options = options;\n this.version = options.sdkVersion;\n this.caipNetworks = this.extendCaipNetworks(options);\n this.chainNamespaces = this.getChainNamespacesSet(options.adapters, this.caipNetworks);\n this.defaultCaipNetwork = this.extendDefaultCaipNetwork(options);\n this.chainAdapters = this.createAdapters(options.adapters);\n this.readyPromise = this.initialize(options);\n }\n getChainNamespacesSet(adapters, caipNetworks) {\n const adapterNamespaces = adapters\n ?.map(adapter => adapter.namespace)\n .filter((namespace) => Boolean(namespace));\n if (adapterNamespaces?.length) {\n return [...new Set(adapterNamespaces)];\n }\n const networkNamespaces = caipNetworks?.map(network => network.chainNamespace);\n return [...new Set(networkNamespaces)];\n }\n async initialize(options) {\n this.initializeProjectSettings(options);\n this.initControllers(options);\n await this.initChainAdapters();\n this.sendInitializeEvent(options);\n await this.syncExistingConnection();\n this.remoteFeatures = await ConfigUtil.fetchRemoteFeatures(options);\n OptionsController.setRemoteFeatures(this.remoteFeatures);\n if (this.remoteFeatures.onramp) {\n OnRampController.setOnrampProviders(this.remoteFeatures.onramp);\n }\n // Check allowed origins only if email or social features are enabled\n if (OptionsController.state.remoteFeatures?.email ||\n (Array.isArray(OptionsController.state.remoteFeatures?.socials) &&\n OptionsController.state.remoteFeatures?.socials.length > 0)) {\n await this.checkAllowedOrigins();\n }\n }\n async checkAllowedOrigins() {\n const allowedOrigins = await ApiController.fetchAllowedOrigins();\n if (allowedOrigins && CoreHelperUtil.isClient()) {\n const currentOrigin = window.location.origin;\n const isOriginAllowed = WcHelpersUtil.isOriginAllowed(currentOrigin, allowedOrigins, WcConstantsUtil.DEFAULT_ALLOWED_ANCESTORS);\n if (!isOriginAllowed) {\n AlertController.open(ErrorUtil.ALERT_ERRORS.INVALID_APP_CONFIGURATION, 'error');\n }\n }\n else {\n AlertController.open(ErrorUtil.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED, 'error');\n }\n }\n sendInitializeEvent(options) {\n const { ...optionsCopy } = options;\n delete optionsCopy.adapters;\n delete optionsCopy.universalProvider;\n EventsController.sendEvent({\n type: 'track',\n event: 'INITIALIZE',\n properties: {\n ...optionsCopy,\n networks: options.networks.map(n => n.id),\n siweConfig: {\n options: options.siweConfig?.options || {}\n }\n }\n });\n }\n // -- Controllers initialization ---------------------------------------------------\n initControllers(options) {\n this.initializeOptionsController(options);\n this.initializeChainController(options);\n this.initializeThemeController(options);\n this.initializeConnectionController(options);\n this.initializeConnectorController();\n }\n initializeThemeController(options) {\n if (options.themeMode) {\n ThemeController.setThemeMode(options.themeMode);\n }\n if (options.themeVariables) {\n ThemeController.setThemeVariables(options.themeVariables);\n }\n }\n initializeChainController(options) {\n if (!this.connectionControllerClient || !this.networkControllerClient) {\n throw new Error('ConnectionControllerClient and NetworkControllerClient must be set');\n }\n ChainController.initialize(options.adapters ?? [], this.caipNetworks, {\n connectionControllerClient: this.connectionControllerClient,\n networkControllerClient: this.networkControllerClient\n });\n const network = this.getDefaultNetwork();\n if (network) {\n ChainController.setActiveCaipNetwork(network);\n }\n }\n initializeConnectionController(options) {\n ConnectionController.setWcBasic(options.basic ?? false);\n }\n initializeConnectorController() {\n ConnectorController.initialize(this.chainNamespaces);\n }\n initializeProjectSettings(options) {\n OptionsController.setProjectId(options.projectId);\n OptionsController.setSdkVersion(options.sdkVersion);\n }\n initializeOptionsController(options) {\n OptionsController.setDebug(options.debug !== false);\n // On by default\n OptionsController.setEnableWalletConnect(options.enableWalletConnect !== false);\n OptionsController.setEnableWalletGuide(options.enableWalletGuide !== false);\n OptionsController.setEnableWallets(options.enableWallets !== false);\n OptionsController.setEIP6963Enabled(options.enableEIP6963 !== false);\n OptionsController.setEnableNetworkSwitch(options.enableNetworkSwitch !== false);\n OptionsController.setEnableAuthLogger(options.enableAuthLogger !== false);\n OptionsController.setCustomRpcUrls(options.customRpcUrls);\n OptionsController.setEnableEmbedded(options.enableEmbedded);\n OptionsController.setAllWallets(options.allWallets);\n OptionsController.setIncludeWalletIds(options.includeWalletIds);\n OptionsController.setExcludeWalletIds(options.excludeWalletIds);\n OptionsController.setFeaturedWalletIds(options.featuredWalletIds);\n OptionsController.setTokens(options.tokens);\n OptionsController.setTermsConditionsUrl(options.termsConditionsUrl);\n OptionsController.setPrivacyPolicyUrl(options.privacyPolicyUrl);\n OptionsController.setCustomWallets(options.customWallets);\n OptionsController.setFeatures(options.features);\n OptionsController.setAllowUnsupportedChain(options.allowUnsupportedChain);\n OptionsController.setUniversalProviderConfigOverride(options.universalProviderConfigOverride);\n OptionsController.setPreferUniversalLinks(options.experimental_preferUniversalLinks);\n // Save option in controller\n OptionsController.setDefaultAccountTypes(options.defaultAccountTypes);\n // Get stored account types\n const storedAccountTypes = StorageUtil.getPreferredAccountTypes() || {};\n const defaultTypes = { ...OptionsController.state.defaultAccountTypes, ...storedAccountTypes };\n AccountController.setPreferredAccountTypes(defaultTypes);\n const defaultMetaData = this.getDefaultMetaData();\n if (!options.metadata && defaultMetaData) {\n options.metadata = defaultMetaData;\n }\n OptionsController.setMetadata(options.metadata);\n OptionsController.setDisableAppend(options.disableAppend);\n OptionsController.setEnableEmbedded(options.enableEmbedded);\n OptionsController.setSIWX(options.siwx);\n if (!options.projectId) {\n AlertController.open(ErrorUtil.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED, 'error');\n return;\n }\n const evmAdapter = options.adapters?.find(adapter => adapter.namespace === ConstantsUtil.CHAIN.EVM);\n // Set the SIWE client for EVM chains\n if (evmAdapter) {\n if (options.siweConfig) {\n if (options.siwx) {\n throw new Error('Cannot set both `siweConfig` and `siwx` options');\n }\n OptionsController.setSIWX(options.siweConfig.mapToSIWX());\n }\n }\n }\n getDefaultMetaData() {\n if (CoreHelperUtil.isClient()) {\n return {\n name: document.getElementsByTagName('title')?.[0]?.textContent || '',\n description: document.querySelector('meta[property=\"og:description\"]')?.content || '',\n url: window.location.origin,\n icons: [document.querySelector('link[rel~=\"icon\"]')?.href || '']\n };\n }\n return null;\n }\n // -- Network Initialization ---------------------------------------------------\n setUnsupportedNetwork(chainId) {\n const namespace = this.getActiveChainNamespace();\n if (namespace) {\n const unsupportedNetwork = CaipNetworksUtil.getUnsupportedNetwork(`${namespace}:${chainId}`);\n ChainController.setActiveCaipNetwork(unsupportedNetwork);\n }\n }\n getDefaultNetwork() {\n return CaipNetworksUtil.getCaipNetworkFromStorage(this.defaultCaipNetwork);\n }\n extendCaipNetwork(network, options) {\n const extendedNetwork = CaipNetworksUtil.extendCaipNetwork(network, {\n customNetworkImageUrls: options.chainImages,\n projectId: options.projectId\n });\n return extendedNetwork;\n }\n extendCaipNetworks(options) {\n const extendedNetworks = CaipNetworksUtil.extendCaipNetworks(options.networks, {\n customNetworkImageUrls: options.chainImages,\n customRpcUrls: options.customRpcUrls,\n projectId: options.projectId\n });\n return extendedNetworks;\n }\n extendDefaultCaipNetwork(options) {\n const defaultNetwork = options.networks.find(n => n.id === options.defaultNetwork?.id);\n const extendedNetwork = defaultNetwork\n ? CaipNetworksUtil.extendCaipNetwork(defaultNetwork, {\n customNetworkImageUrls: options.chainImages,\n customRpcUrls: options.customRpcUrls,\n projectId: options.projectId\n })\n : undefined;\n return extendedNetwork;\n }\n async disconnectNamespace(namespace) {\n try {\n const adapter = this.getAdapter(namespace);\n const provider = ProviderUtil.getProvider(namespace);\n const providerType = ProviderUtil.getProviderId(namespace);\n const { caipAddress } = ChainController.getAccountData(namespace) || {};\n this.setLoading(true, namespace);\n if (caipAddress && adapter?.disconnect) {\n await adapter.disconnect({ provider, providerType });\n }\n StorageUtil.removeConnectedNamespace(namespace);\n ProviderUtil.resetChain(namespace);\n this.setUser(undefined, namespace);\n this.setStatus('disconnected', namespace);\n this.setConnectedWalletInfo(undefined, namespace);\n ConnectorController.removeConnectorId(namespace);\n ChainController.resetAccount(namespace);\n ChainController.resetNetwork(namespace);\n this.setLoading(false, namespace);\n }\n catch (error) {\n this.setLoading(false, namespace);\n throw new Error(`Failed to disconnect chain ${namespace}: ${error.message}`);\n }\n }\n // -- Client Initialization ---------------------------------------------------\n createClients() {\n this.connectionControllerClient = {\n connectWalletConnect: async () => {\n const activeChain = ChainController.state.activeChain;\n const adapter = this.getAdapter(activeChain);\n const chainId = this.getCaipNetwork(activeChain)?.id;\n if (!adapter) {\n throw new Error('Adapter not found');\n }\n const result = await adapter.connectWalletConnect(chainId);\n this.close();\n this.setClientId(result?.clientId || null);\n StorageUtil.setConnectedNamespaces([...ChainController.state.chains.keys()]);\n this.chainNamespaces.forEach(namespace => {\n ConnectorController.setConnectorId(UtilConstantsUtil.CONNECTOR_TYPE_WALLET_CONNECT, namespace);\n });\n await this.syncWalletConnectAccount();\n },\n connectExternal: async ({ id, info, type, provider, chain, caipNetwork, socialUri }) => {\n const activeChain = ChainController.state.activeChain;\n const chainToUse = chain || activeChain;\n const adapter = this.getAdapter(chainToUse);\n if (chain && chain !== activeChain && !caipNetwork) {\n const toConnectNetwork = this.getCaipNetworks().find(network => network.chainNamespace === chain);\n if (toConnectNetwork) {\n this.setCaipNetwork(toConnectNetwork);\n }\n }\n if (!adapter) {\n throw new Error('Adapter not found');\n }\n const fallbackCaipNetwork = this.getCaipNetwork(chainToUse);\n const res = await adapter.connect({\n id,\n info,\n type,\n provider,\n socialUri,\n chainId: caipNetwork?.id || fallbackCaipNetwork?.id,\n rpcUrl: caipNetwork?.rpcUrls?.default?.http?.[0] ||\n fallbackCaipNetwork?.rpcUrls?.default?.http?.[0]\n });\n if (!res) {\n return;\n }\n StorageUtil.addConnectedNamespace(chainToUse);\n this.syncProvider({ ...res, chainNamespace: chainToUse });\n /*\n * SyncAllAccounts already set the accounts in the state\n * and its more efficient to use the stored accounts rather than fetching them again\n */\n const syncedAccounts = AccountController.state.allAccounts;\n const { accounts } = syncedAccounts?.length > 0\n ? // eslint-disable-next-line line-comment-position\n // Using new array else the accounts will have the same reference and react will not re-render\n { accounts: [...syncedAccounts] }\n : await adapter.getAccounts({ namespace: chainToUse, id });\n this.setAllAccounts(accounts, chainToUse);\n this.setStatus('connected', chainToUse);\n this.syncConnectedWalletInfo(chainToUse);\n },\n reconnectExternal: async ({ id, info, type, provider }) => {\n const namespace = ChainController.state.activeChain;\n const adapter = this.getAdapter(namespace);\n if (adapter?.reconnect) {\n await adapter?.reconnect({ id, info, type, provider, chainId: this.getCaipNetwork()?.id });\n StorageUtil.addConnectedNamespace(namespace);\n this.syncConnectedWalletInfo(namespace);\n }\n },\n disconnect: async (chainNamespace) => {\n const chainsToDisconnect = getChainsToDisconnect(chainNamespace);\n try {\n // Reset send state when disconnecting\n const disconnectResults = await Promise.allSettled(chainsToDisconnect.map(async ([ns]) => this.disconnectNamespace(ns)));\n SendController.resetSend();\n ConnectionController.resetWcConnection();\n await SIWXUtil.clearSessions();\n ConnectorController.setFilterByNamespace(undefined);\n const failures = disconnectResults.filter((result) => result.status === 'rejected');\n if (failures.length > 0) {\n throw new Error(failures.map(f => f.reason.message).join(', '));\n }\n StorageUtil.deleteConnectedSocialProvider();\n EventsController.sendEvent({\n type: 'track',\n event: 'DISCONNECT_SUCCESS',\n properties: {\n namespace: chainNamespace || 'all'\n }\n });\n }\n catch (error) {\n throw new Error(`Failed to disconnect chains: ${error.message}`);\n }\n },\n checkInstalled: (ids) => {\n if (!ids) {\n return Boolean(window.ethereum);\n }\n return ids.some(id => Boolean(window.ethereum?.[String(id)]));\n },\n signMessage: async (message) => {\n const adapter = this.getAdapter(ChainController.state.activeChain);\n const result = await adapter?.signMessage({\n message,\n address: AccountController.state.address,\n provider: ProviderUtil.getProvider(ChainController.state.activeChain)\n });\n return result?.signature || '';\n },\n sendTransaction: async (args) => {\n const namespace = args.chainNamespace;\n if (CoreConstantsUtil.SEND_SUPPORTED_NAMESPACES.includes(namespace)) {\n const adapter = this.getAdapter(ChainController.state.activeChain);\n const provider = ProviderUtil.getProvider(namespace);\n const result = await adapter?.sendTransaction({\n ...args,\n caipNetwork: this.getCaipNetwork(),\n provider\n });\n return result?.hash || '';\n }\n return '';\n },\n estimateGas: async (args) => {\n if (args.chainNamespace === ConstantsUtil.CHAIN.EVM) {\n const adapter = this.getAdapter(ChainController.state.activeChain);\n const provider = ProviderUtil.getProvider(ChainController.state.activeChain);\n const caipNetwork = this.getCaipNetwork();\n if (!caipNetwork) {\n throw new Error('CaipNetwork is undefined');\n }\n const result = await adapter?.estimateGas({\n ...args,\n provider,\n caipNetwork\n });\n return result?.gas || 0n;\n }\n return 0n;\n },\n getEnsAvatar: async () => {\n await this.syncIdentity({\n address: AccountController.state.address,\n chainId: Number(this.getCaipNetwork()?.id),\n chainNamespace: ChainController.state.activeChain\n });\n return AccountController.state.profileImage || false;\n },\n getEnsAddress: async (name) => await WcHelpersUtil.resolveReownName(name),\n writeContract: async (args) => {\n const adapter = this.getAdapter(ChainController.state.activeChain);\n const caipNetwork = this.getCaipNetwork();\n const caipAddress = this.getCaipAddress();\n const provider = ProviderUtil.getProvider(ChainController.state.activeChain);\n if (!caipNetwork || !caipAddress) {\n throw new Error('CaipNetwork or CaipAddress is undefined');\n }\n const result = await adapter?.writeContract({ ...args, caipNetwork, provider, caipAddress });\n return result?.hash;\n },\n parseUnits: (value, decimals) => {\n const adapter = this.getAdapter(ChainController.state.activeChain);\n return adapter?.parseUnits({ value, decimals }) ?? 0n;\n },\n formatUnits: (value, decimals) => {\n const adapter = this.getAdapter(ChainController.state.activeChain);\n return adapter?.formatUnits({ value, decimals }) ?? '0';\n },\n getCapabilities: async (params) => {\n const adapter = this.getAdapter(ChainController.state.activeChain);\n return await adapter?.getCapabilities(params);\n },\n grantPermissions: async (params) => {\n const adapter = this.getAdapter(ChainController.state.activeChain);\n return await adapter?.grantPermissions(params);\n },\n revokePermissions: async (params) => {\n const adapter = this.getAdapter(ChainController.state.activeChain);\n if (adapter?.revokePermissions) {\n return await adapter.revokePermissions(params);\n }\n return '0x';\n },\n walletGetAssets: async (params) => {\n const adapter = this.getAdapter(ChainController.state.activeChain);\n return (await adapter?.walletGetAssets(params)) ?? {};\n },\n updateBalance: (namespace) => {\n const caipNetwork = this.getCaipNetwork(namespace);\n if (!caipNetwork || !AccountController.state.address) {\n return;\n }\n this.updateNativeBalance(AccountController.state.address, caipNetwork?.id, namespace);\n }\n };\n this.networkControllerClient = {\n switchCaipNetwork: async (caipNetwork) => await this.switchCaipNetwork(caipNetwork),\n // eslint-disable-next-line @typescript-eslint/require-await\n getApprovedCaipNetworksData: async () => this.getApprovedCaipNetworksData()\n };\n ConnectionController.setClient(this.connectionControllerClient);\n }\n getApprovedCaipNetworksData() {\n const providerType = ProviderUtil.getProviderId(ChainController.state.activeChain);\n if (providerType === UtilConstantsUtil.CONNECTOR_TYPE_WALLET_CONNECT) {\n const namespaces = this.universalProvider?.session?.namespaces;\n return {\n /*\n * MetaMask Wallet only returns 1 namespace in the session object. This makes it imposible\n * to switch to other networks. Setting supportsAllNetworks to true for MetaMask Wallet\n * will make it possible to switch to other networks.\n */\n supportsAllNetworks: this.universalProvider?.session?.peer?.metadata.name === 'MetaMask Wallet',\n approvedCaipNetworkIds: this.getChainsFromNamespaces(namespaces)\n };\n }\n return { supportsAllNetworks: true, approvedCaipNetworkIds: [] };\n }\n async switchCaipNetwork(caipNetwork) {\n if (!caipNetwork) {\n return;\n }\n const networkNamespace = caipNetwork.chainNamespace;\n const namespaceAddress = this.getAddressByChainNamespace(caipNetwork.chainNamespace);\n if (namespaceAddress) {\n const provider = ProviderUtil.getProvider(networkNamespace);\n const providerType = ProviderUtil.getProviderId(networkNamespace);\n if (caipNetwork.chainNamespace === ChainController.state.activeChain) {\n const adapter = this.getAdapter(networkNamespace);\n await adapter?.switchNetwork({ caipNetwork, provider, providerType });\n }\n else {\n this.setCaipNetwork(caipNetwork);\n if (providerType === UtilConstantsUtil.CONNECTOR_TYPE_WALLET_CONNECT) {\n this.syncWalletConnectAccount();\n }\n else {\n const address = this.getAddressByChainNamespace(networkNamespace);\n if (address) {\n this.syncAccount({\n address,\n chainId: caipNetwork.id,\n chainNamespace: networkNamespace\n });\n }\n }\n }\n }\n else {\n this.setCaipNetwork(caipNetwork);\n }\n }\n getChainsFromNamespaces(namespaces = {}) {\n return Object.values(namespaces).flatMap((namespace) => {\n const chains = (namespace.chains || []);\n const accountsChains = namespace.accounts.map(account => {\n const { chainId, chainNamespace } = ParseUtil.parseCaipAddress(account);\n return `${chainNamespace}:${chainId}`;\n });\n return Array.from(new Set([...chains, ...accountsChains]));\n });\n }\n // -- Adapter Initialization ---------------------------------------------------\n createAdapters(blueprints) {\n this.createClients();\n return this.chainNamespaces.reduce((adapters, namespace) => {\n const blueprint = blueprints?.find(b => b.namespace === namespace);\n if (blueprint) {\n blueprint.construct({\n namespace,\n projectId: this.options?.projectId,\n networks: this.getCaipNetworks()\n });\n adapters[namespace] = blueprint;\n }\n else {\n adapters[namespace] = new UniversalAdapter({\n namespace: namespace,\n networks: this.getCaipNetworks()\n });\n }\n return adapters;\n // eslint-disable-next-line @typescript-eslint/prefer-reduce-type-parameter\n }, {});\n }\n async initChainAdapter(namespace) {\n this.onConnectors(namespace);\n this.listenAdapter(namespace);\n await this.chainAdapters?.[namespace].syncConnectors(this.options, this);\n await this.createUniversalProviderForAdapter(namespace);\n }\n async initChainAdapters() {\n await Promise.all(this.chainNamespaces.map(async (namespace) => {\n await this.initChainAdapter(namespace);\n }));\n }\n onConnectors(chainNamespace) {\n const adapter = this.getAdapter(chainNamespace);\n adapter?.on('connectors', this.setConnectors.bind(this));\n }\n listenAdapter(chainNamespace) {\n const adapter = this.getAdapter(chainNamespace);\n if (!adapter) {\n return;\n }\n const connectionStatus = StorageUtil.getConnectionStatus();\n if (connectionStatus === 'connected') {\n this.setStatus('connecting', chainNamespace);\n }\n else if (connectionStatus === 'disconnected') {\n /*\n * Address cache is kept after disconnecting from the wallet\n * but should be cleared if appkit is launched in disconnected state\n */\n StorageUtil.clearAddressCache();\n this.setStatus(connectionStatus, chainNamespace);\n }\n else {\n this.setStatus(connectionStatus, chainNamespace);\n }\n adapter.on('switchNetwork', ({ address, chainId }) => {\n const caipNetwork = this.getCaipNetworks().find(n => n.id === chainId || n.caipNetworkId === chainId);\n const isSameNamespace = ChainController.state.activeChain === chainNamespace;\n const accountAddress = ChainController.getAccountProp('address', chainNamespace);\n if (caipNetwork) {\n const account = isSameNamespace && address ? address : accountAddress;\n if (account) {\n this.syncAccount({ address: account, chainId: caipNetwork.id, chainNamespace });\n }\n }\n else {\n this.setUnsupportedNetwork(chainId);\n }\n });\n adapter.on('disconnect', this.disconnect.bind(this, chainNamespace));\n adapter.on('connections', connections => {\n this.setConnections(connections, chainNamespace);\n });\n adapter.on('pendingTransactions', () => {\n const address = AccountController.state.address;\n const activeCaipNetwork = ChainController.state.activeCaipNetwork;\n if (!address || !activeCaipNetwork?.id) {\n return;\n }\n this.updateNativeBalance(address, activeCaipNetwork.id, activeCaipNetwork.chainNamespace);\n });\n adapter.on('accountChanged', ({ address, chainId }) => {\n const isActiveChain = ChainController.state.activeChain === chainNamespace;\n if (isActiveChain && chainId) {\n this.syncAccount({\n address,\n chainId,\n chainNamespace\n });\n }\n else if (isActiveChain && ChainController.state.activeCaipNetwork?.id) {\n this.syncAccount({\n address,\n chainId: ChainController.state.activeCaipNetwork?.id,\n chainNamespace\n });\n }\n else {\n this.syncAccountInfo(address, chainId, chainNamespace);\n }\n this.syncAllAccounts(chainNamespace);\n });\n }\n async createUniversalProviderForAdapter(chainNamespace) {\n await this.getUniversalProvider();\n if (this.universalProvider) {\n this.chainAdapters?.[chainNamespace]?.setUniversalProvider?.(this.universalProvider);\n }\n }\n // -- Connection Sync ---------------------------------------------------\n async syncExistingConnection() {\n await Promise.allSettled(this.chainNamespaces.map(namespace => this.syncNamespaceConnection(namespace)));\n }\n async syncNamespaceConnection(namespace) {\n try {\n if (namespace === ConstantsUtil.CHAIN.EVM && CoreHelperUtil.isSafeApp()) {\n ConnectorController.setConnectorId(ConstantsUtil.CONNECTOR_ID.SAFE, namespace);\n }\n const connectorId = ConnectorController.getConnectorId(namespace);\n this.setStatus('connecting', namespace);\n switch (connectorId) {\n case ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT:\n await this.syncWalletConnectAccount();\n break;\n case ConstantsUtil.CONNECTOR_ID.AUTH:\n // Handled during initialization of adapters' auth provider\n break;\n default:\n await this.syncAdapterConnection(namespace);\n }\n }\n catch (err) {\n console.warn(\"AppKit couldn't sync existing connection\", err);\n this.setStatus('disconnected', namespace);\n }\n }\n async syncAdapterConnection(namespace) {\n const adapter = this.getAdapter(namespace);\n const connectorId = ConnectorController.getConnectorId(namespace);\n const caipNetwork = this.getCaipNetwork(namespace);\n const connectors = ConnectorController.getConnectors(namespace);\n const connector = connectors.find(c => c.id === connectorId);\n try {\n if (!adapter || !connector) {\n throw new Error(`Adapter or connector not found for namespace ${namespace}`);\n }\n if (!caipNetwork?.id) {\n throw new Error('CaipNetwork not found');\n }\n const connection = await adapter?.syncConnection({\n namespace,\n id: connector.id,\n chainId: caipNetwork.id,\n rpcUrl: caipNetwork?.rpcUrls?.default?.http?.[0]\n });\n if (connection) {\n const accounts = await adapter?.getAccounts({\n namespace,\n id: connector.id\n });\n if (accounts && accounts.accounts.length > 0) {\n this.setAllAccounts(accounts.accounts, namespace);\n }\n else {\n this.setAllAccounts([CoreHelperUtil.createAccount(namespace, connection.address, 'eoa')], namespace);\n }\n this.syncProvider({ ...connection, chainNamespace: namespace });\n await this.syncAccount({ ...connection, chainNamespace: namespace });\n this.setStatus('connected', namespace);\n }\n else {\n this.setStatus('disconnected', namespace);\n }\n }\n catch (e) {\n this.setStatus('disconnected', namespace);\n }\n }\n async syncWalletConnectAccount() {\n const syncTasks = this.chainNamespaces.map(async (chainNamespace) => {\n const adapter = this.getAdapter(chainNamespace);\n const namespaceAccounts = this.universalProvider?.session?.namespaces?.[chainNamespace]?.accounts || [];\n // We try and find the address for this network in the session object.\n const activeChainId = ChainController.state.activeCaipNetwork?.id;\n const sessionAddress = namespaceAccounts.find(account => {\n const { chainId } = ParseUtil.parseCaipAddress(account);\n return chainId === activeChainId?.toString();\n }) || namespaceAccounts[0];\n if (sessionAddress) {\n const caipAddress = ParseUtil.validateCaipAddress(sessionAddress);\n const { chainId, address } = ParseUtil.parseCaipAddress(caipAddress);\n ProviderUtil.setProviderId(chainNamespace, UtilConstantsUtil.CONNECTOR_TYPE_WALLET_CONNECT);\n if (this.caipNetworks &&\n ChainController.state.activeCaipNetwork &&\n adapter?.namespace !== ConstantsUtil.CHAIN.EVM) {\n const provider = adapter?.getWalletConnectProvider({\n caipNetworks: this.getCaipNetworks(),\n provider: this.universalProvider,\n activeCaipNetwork: ChainController.state.activeCaipNetwork\n });\n ProviderUtil.setProvider(chainNamespace, provider);\n }\n else {\n ProviderUtil.setProvider(chainNamespace, this.universalProvider);\n }\n ConnectorController.setConnectorId(ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT, chainNamespace);\n StorageUtil.addConnectedNamespace(chainNamespace);\n this.syncWalletConnectAccounts(chainNamespace);\n await this.syncAccount({\n address,\n chainId,\n chainNamespace\n });\n }\n else {\n this.setStatus('disconnected', chainNamespace);\n }\n this.syncConnectedWalletInfo(chainNamespace);\n await ChainController.setApprovedCaipNetworksData(chainNamespace);\n });\n await Promise.all(syncTasks);\n }\n syncWalletConnectAccounts(chainNamespace) {\n const addresses = this.universalProvider?.session?.namespaces?.[chainNamespace]?.accounts\n ?.map(account => {\n const { address } = ParseUtil.parseCaipAddress(account);\n return address;\n })\n .filter((address, index, self) => self.indexOf(address) === index);\n if (addresses) {\n this.setAllAccounts(addresses.map(address => CoreHelperUtil.createAccount(chainNamespace, address, chainNamespace === 'bip122' ? 'payment' : 'eoa')), chainNamespace);\n }\n }\n syncProvider({ type, provider, id, chainNamespace }) {\n ProviderUtil.setProviderId(chainNamespace, type);\n ProviderUtil.setProvider(chainNamespace, provider);\n ConnectorController.setConnectorId(id, chainNamespace);\n }\n async syncAllAccounts(namespace) {\n const connectorId = ConnectorController.getConnectorId(namespace);\n if (!connectorId) {\n return;\n }\n const adapter = this.getAdapter(namespace);\n const accounts = await adapter?.getAccounts({ namespace, id: connectorId });\n if (accounts && accounts.accounts.length > 0) {\n this.setAllAccounts(accounts.accounts, namespace);\n }\n }\n async syncAccount(params) {\n const isActiveNamespace = params.chainNamespace === ChainController.state.activeChain;\n const networkOfChain = ChainController.getCaipNetworkByNamespace(params.chainNamespace, params.chainId);\n const { address, chainId, chainNamespace } = params;\n const { chainId: activeChainId } = StorageUtil.getActiveNetworkProps();\n const chainIdToUse = chainId || activeChainId;\n const isUnsupportedNetwork = ChainController.state.activeCaipNetwork?.name === ConstantsUtil.UNSUPPORTED_NETWORK_NAME;\n const shouldSupportAllNetworks = ChainController.getNetworkProp('supportsAllNetworks', chainNamespace);\n this.setStatus('connected', chainNamespace);\n if (isUnsupportedNetwork && !shouldSupportAllNetworks) {\n return;\n }\n if (chainIdToUse) {\n let caipNetwork = this.getCaipNetworks().find(n => n.id.toString() === chainIdToUse.toString());\n let fallbackCaipNetwork = this.getCaipNetworks().find(n => n.chainNamespace === chainNamespace);\n // If doesn't support all networks, we need to use approved networks\n if (!shouldSupportAllNetworks && !caipNetwork && !fallbackCaipNetwork) {\n // Connection can be requested for a chain that is not supported by the wallet so we need to use approved networks here\n const caipNetworkIds = this.getApprovedCaipNetworkIds() || [];\n const caipNetworkId = caipNetworkIds.find(id => ParseUtil.parseCaipNetworkId(id)?.chainId === chainIdToUse.toString());\n const fallBackCaipNetworkId = caipNetworkIds.find(id => ParseUtil.parseCaipNetworkId(id)?.chainNamespace === chainNamespace);\n caipNetwork = this.getCaipNetworks().find(n => n.caipNetworkId === caipNetworkId);\n fallbackCaipNetwork = this.getCaipNetworks().find(n => n.caipNetworkId === fallBackCaipNetworkId ||\n // This is a workaround used in Solana network to support deprecated caipNetworkId\n ('deprecatedCaipNetworkId' in n && n.deprecatedCaipNetworkId === fallBackCaipNetworkId));\n }\n const network = caipNetwork || fallbackCaipNetwork;\n if (network?.chainNamespace === ChainController.state.activeChain) {\n // If the network is unsupported and the user doesn't allow unsupported chains, we show the unsupported chain UI\n if (OptionsController.state.enableNetworkSwitch &&\n !OptionsController.state.allowUnsupportedChain &&\n ChainController.state.activeCaipNetwork?.name === ConstantsUtil.UNSUPPORTED_NETWORK_NAME) {\n ChainController.showUnsupportedChainUI();\n }\n else {\n this.setCaipNetwork(network);\n }\n }\n else if (!isActiveNamespace) {\n if (networkOfChain) {\n this.setCaipNetworkOfNamespace(networkOfChain, chainNamespace);\n }\n }\n this.syncConnectedWalletInfo(chainNamespace);\n if (!HelpersUtil.isLowerCaseMatch(address, AccountController.state.address)) {\n this.syncAccountInfo(address, network?.id, chainNamespace);\n }\n if (isActiveNamespace) {\n await this.syncBalance({ address, chainId: network?.id, chainNamespace });\n }\n else {\n await this.syncBalance({ address, chainId: networkOfChain?.id, chainNamespace });\n }\n }\n }\n async syncAccountInfo(address, chainId, chainNamespace) {\n const caipAddress = this.getCaipAddress(chainNamespace);\n const newChainId = chainId || caipAddress?.split(':')[1];\n if (!newChainId) {\n return;\n }\n const newCaipAddress = `${chainNamespace}:${newChainId}:${address}`;\n this.setCaipAddress(newCaipAddress, chainNamespace);\n await this.syncIdentity({\n address,\n chainId: newChainId,\n chainNamespace\n });\n }\n async syncReownName(address, chainNamespace) {\n try {\n const registeredWcNames = await this.getReownName(address);\n if (registeredWcNames[0]) {\n const wcName = registeredWcNames[0];\n this.setProfileName(wcName.name, chainNamespace);\n }\n else {\n this.setProfileName(null, chainNamespace);\n }\n }\n catch {\n this.setProfileName(null, chainNamespace);\n }\n }\n syncConnectedWalletInfo(chainNamespace) {\n const connectorId = ConnectorController.getConnectorId(chainNamespace);\n const providerType = ProviderUtil.getProviderId(chainNamespace);\n if (providerType === UtilConstantsUtil.CONNECTOR_TYPE_ANNOUNCED ||\n providerType === UtilConstantsUtil.CONNECTOR_TYPE_INJECTED) {\n if (connectorId) {\n const connector = this.getConnectors().find(c => c.id === connectorId);\n if (connector) {\n const { info, name, imageUrl } = connector;\n const icon = imageUrl || this.getConnectorImage(connector);\n this.setConnectedWalletInfo({ name, icon, ...info }, chainNamespace);\n }\n }\n }\n else if (providerType === UtilConstantsUtil.CONNECTOR_TYPE_WALLET_CONNECT) {\n const provider = ProviderUtil.getProvider(chainNamespace);\n if (provider?.session) {\n this.setConnectedWalletInfo({\n ...provider.session.peer.metadata,\n name: provider.session.peer.metadata.name,\n icon: provider.session.peer.metadata.icons?.[0]\n }, chainNamespace);\n }\n }\n else if (connectorId) {\n if (connectorId === ConstantsUtil.CONNECTOR_ID.COINBASE) {\n const connector = this.getConnectors().find(c => c.id === ConstantsUtil.CONNECTOR_ID.COINBASE);\n this.setConnectedWalletInfo({ name: 'Coinbase Wallet', icon: this.getConnectorImage(connector) }, chainNamespace);\n }\n }\n }\n async syncBalance(params) {\n const caipNetwork = NetworkUtil.getNetworksByNamespace(this.getCaipNetworks(), params.chainNamespace).find(n => n.id.toString() === params.chainId?.toString());\n if (!caipNetwork || !params.chainId) {\n return;\n }\n await this.updateNativeBalance(params.address, params.chainId, params.chainNamespace);\n }\n async ready() {\n await this.readyPromise;\n }\n async updateNativeBalance(address, chainId, namespace) {\n const adapter = this.getAdapter(namespace);\n const caipNetwork = ChainController.getCaipNetworkByNamespace(namespace, chainId);\n if (adapter) {\n const balance = await adapter.getBalance({\n address,\n chainId,\n caipNetwork,\n tokens: this.options.tokens\n });\n this.setBalance(balance.balance, balance.symbol, namespace);\n return balance;\n }\n return undefined;\n }\n // -- Universal Provider ---------------------------------------------------\n async initializeUniversalAdapter() {\n const logger = LoggerUtil.createLogger((error, ...args) => {\n if (error) {\n this.handleAlertError(error);\n }\n // eslint-disable-next-line no-console\n console.error(...args);\n });\n const universalProviderOptions = {\n projectId: this.options?.projectId,\n metadata: {\n name: this.options?.metadata ? this.options?.metadata.name : '',\n description: this.options?.metadata ? this.options?.metadata.description : '',\n url: this.options?.metadata ? this.options?.metadata.url : '',\n icons: this.options?.metadata ? this.options?.metadata.icons : ['']\n },\n logger\n };\n OptionsController.setManualWCControl(Boolean(this.options?.manualWCControl));\n this.universalProvider =\n this.options.universalProvider ?? (await UniversalProvider.init(universalProviderOptions));\n this.listenWalletConnect();\n }\n listenWalletConnect() {\n if (this.universalProvider) {\n this.universalProvider.on('display_uri', (uri) => {\n ConnectionController.setUri(uri);\n });\n this.universalProvider.on('connect', ConnectionController.finalizeWcConnection);\n this.universalProvider.on('disconnect', () => {\n this.chainNamespaces.forEach(namespace => {\n this.resetAccount(namespace);\n });\n ConnectionController.resetWcConnection();\n });\n this.universalProvider.on('chainChanged', (chainId) => {\n // eslint-disable-next-line eqeqeq\n const caipNetwork = this.getCaipNetworks().find(c => c.id == chainId);\n const currentCaipNetwork = this.getCaipNetwork();\n if (!caipNetwork) {\n this.setUnsupportedNetwork(chainId);\n return;\n }\n if (currentCaipNetwork?.id !== caipNetwork?.id) {\n this.setCaipNetwork(caipNetwork);\n }\n });\n this.universalProvider.on('session_event', (callbackData) => {\n if (WcHelpersUtil.isSessionEventData(callbackData)) {\n const { name, data } = callbackData.params.event;\n if (name === 'accountsChanged' &&\n Array.isArray(data) &&\n CoreHelperUtil.isCaipAddress(data[0])) {\n this.syncAccount(ParseUtil.parseCaipAddress(data[0]));\n }\n }\n });\n }\n }\n createUniversalProvider() {\n if (!this.universalProviderInitPromise &&\n CoreHelperUtil.isClient() &&\n this.options?.projectId) {\n this.universalProviderInitPromise = this.initializeUniversalAdapter();\n }\n return this.universalProviderInitPromise;\n }\n async getUniversalProvider() {\n if (!this.universalProvider) {\n try {\n await this.createUniversalProvider();\n }\n catch (err) {\n EventsController.sendEvent({\n type: 'error',\n event: 'INTERNAL_SDK_ERROR',\n properties: {\n errorType: 'UniversalProviderInitError',\n errorMessage: err instanceof Error ? err.message : 'Unknown',\n uncaught: false\n }\n });\n // eslint-disable-next-line no-console\n console.error('AppKit:getUniversalProvider - Cannot create provider', err);\n }\n }\n return this.universalProvider;\n }\n // - Utils -------------------------------------------------------------------\n handleAlertError(error) {\n const matchedUniversalProviderError = Object.entries(ErrorUtil.UniversalProviderErrors).find(([, { message }]) => error.message.includes(message));\n const [errorKey, errorValue] = matchedUniversalProviderError ?? [];\n const { message, alertErrorKey } = errorValue ?? {};\n if (errorKey && message && !this.reportedAlertErrors[errorKey]) {\n const alertError = ErrorUtil.ALERT_ERRORS[alertErrorKey];\n if (alertError) {\n AlertController.open(alertError, 'error');\n this.reportedAlertErrors[errorKey] = true;\n }\n }\n }\n getAdapter(namespace) {\n if (!namespace) {\n return undefined;\n }\n return this.chainAdapters?.[namespace];\n }\n createAdapter(blueprint) {\n if (!blueprint) {\n return;\n }\n const namespace = blueprint.namespace;\n if (!namespace) {\n return;\n }\n this.createClients();\n const adapterBlueprint = blueprint;\n adapterBlueprint.namespace = namespace;\n adapterBlueprint.construct({\n namespace,\n projectId: this.options?.projectId,\n networks: this.getCaipNetworks()\n });\n if (!this.chainNamespaces.includes(namespace)) {\n this.chainNamespaces.push(namespace);\n }\n if (this.chainAdapters) {\n this.chainAdapters[namespace] = adapterBlueprint;\n }\n }\n // -- Public -------------------------------------------------------------------\n async open(options) {\n await this.injectModalUi();\n if (options?.uri) {\n ConnectionController.setUri(options.uri);\n }\n if (options?.arguments) {\n switch (options?.view) {\n case 'Swap':\n return ModalController.open({ ...options, data: { swap: options.arguments } });\n default:\n }\n }\n return ModalController.open(options);\n }\n async close() {\n await this.injectModalUi();\n ModalController.close();\n }\n setLoading(loading, namespace) {\n ModalController.setLoading(loading, namespace);\n }\n async disconnect(chainNamespace) {\n await ConnectionController.disconnect(chainNamespace);\n }\n getSIWX() {\n return OptionsController.state.siwx;\n }\n // -- review these -------------------------------------------------------------------\n getError() {\n return '';\n }\n getChainId() {\n return ChainController.state.activeCaipNetwork?.id;\n }\n async switchNetwork(appKitNetwork) {\n const network = this.getCaipNetworks().find(n => n.id === appKitNetwork.id);\n if (!network) {\n AlertController.open(ErrorUtil.ALERT_ERRORS.SWITCH_NETWORK_NOT_FOUND, 'error');\n return;\n }\n await ChainController.switchActiveNetwork(network);\n }\n getWalletProvider() {\n return ChainController.state.activeChain\n ? ProviderUtil.state.providers[ChainController.state.activeChain]\n : null;\n }\n getWalletProviderType() {\n return ProviderUtil.getProviderId(ChainController.state.activeChain);\n }\n subscribeProviders(callback) {\n return ProviderUtil.subscribeProviders(callback);\n }\n getThemeMode() {\n return ThemeController.state.themeMode;\n }\n getThemeVariables() {\n return ThemeController.state.themeVariables;\n }\n setThemeMode(themeMode) {\n ThemeController.setThemeMode(themeMode);\n setColorTheme(ThemeController.state.themeMode);\n }\n setTermsConditionsUrl(termsConditionsUrl) {\n OptionsController.setTermsConditionsUrl(termsConditionsUrl);\n }\n setPrivacyPolicyUrl(privacyPolicyUrl) {\n OptionsController.setPrivacyPolicyUrl(privacyPolicyUrl);\n }\n setThemeVariables(themeVariables) {\n ThemeController.setThemeVariables(themeVariables);\n setThemeVariables(ThemeController.state.themeVariables);\n }\n subscribeTheme(callback) {\n return ThemeController.subscribe(callback);\n }\n getWalletInfo() {\n return AccountController.state.connectedWalletInfo;\n }\n getAccount(namespace) {\n const authConnector = ConnectorController.getAuthConnector(namespace);\n const accountState = ChainController.getAccountData(namespace);\n const activeChain = ChainController.state.activeChain;\n const activeConnectorId = StorageUtil.getConnectedConnectorId(namespace || activeChain);\n if (!accountState) {\n return undefined;\n }\n return {\n allAccounts: accountState.allAccounts,\n caipAddress: accountState.caipAddress,\n address: CoreHelperUtil.getPlainAddress(accountState.caipAddress),\n isConnected: Boolean(accountState.caipAddress),\n status: accountState.status,\n embeddedWalletInfo: authConnector && activeConnectorId === ConstantsUtil.CONNECTOR_ID.AUTH\n ? {\n user: accountState.user\n ? {\n ...accountState.user,\n /*\n * Getting the username from the chain controller works well for social logins,\n * but Farcaster uses a different connection flow and doesn't emit the username via events.\n * Since the username is stored in local storage before the chain controller updates,\n * it's safe to use the local storage value here.\n */\n username: StorageUtil.getConnectedSocialUsername()\n }\n : undefined,\n authProvider: accountState.socialProvider ||\n 'email',\n accountType: accountState.preferredAccountTypes?.[namespace || activeChain],\n isSmartAccountDeployed: Boolean(accountState.smartAccountDeployed)\n }\n : undefined\n };\n }\n subscribeAccount(callback, namespace) {\n const updateVal = () => {\n const account = this.getAccount(namespace);\n if (!account) {\n return;\n }\n callback(account);\n };\n if (namespace) {\n ChainController.subscribeChainProp('accountState', updateVal, namespace);\n }\n else {\n ChainController.subscribe(updateVal);\n }\n ConnectorController.subscribe(updateVal);\n }\n subscribeNetwork(callback) {\n return ChainController.subscribe(({ activeCaipNetwork }) => {\n callback({\n caipNetwork: activeCaipNetwork,\n chainId: activeCaipNetwork?.id,\n caipNetworkId: activeCaipNetwork?.caipNetworkId\n });\n });\n }\n subscribeWalletInfo(callback) {\n return AccountController.subscribeKey('connectedWalletInfo', callback);\n }\n subscribeShouldUpdateToAddress(callback) {\n AccountController.subscribeKey('shouldUpdateToAddress', callback);\n }\n subscribeCaipNetworkChange(callback) {\n ChainController.subscribeKey('activeCaipNetwork', callback);\n }\n getState() {\n return PublicStateController.state;\n }\n subscribeState(callback) {\n return PublicStateController.subscribe(callback);\n }\n showErrorMessage(message) {\n SnackController.showError(message);\n }\n showSuccessMessage(message) {\n SnackController.showSuccess(message);\n }\n getEvent() {\n return { ...EventsController.state };\n }\n subscribeEvents(callback) {\n return EventsController.subscribe(callback);\n }\n replace(route) {\n RouterController.replace(route);\n }\n redirect(route) {\n RouterController.push(route);\n }\n popTransactionStack(status) {\n RouterController.popTransactionStack(status);\n }\n isOpen() {\n return ModalController.state.open;\n }\n isTransactionStackEmpty() {\n return RouterController.state.transactionStack.length === 0;\n }\n static getInstance() {\n return this.instance;\n }\n updateFeatures(newFeatures) {\n OptionsController.setFeatures(newFeatures);\n }\n updateRemoteFeatures(newRemoteFeatures) {\n OptionsController.setRemoteFeatures(newRemoteFeatures);\n }\n updateOptions(newOptions) {\n const currentOptions = OptionsController.state || {};\n const updatedOptions = { ...currentOptions, ...newOptions };\n OptionsController.setOptions(updatedOptions);\n }\n setConnectMethodsOrder(connectMethodsOrder) {\n OptionsController.setConnectMethodsOrder(connectMethodsOrder);\n }\n setWalletFeaturesOrder(walletFeaturesOrder) {\n OptionsController.setWalletFeaturesOrder(walletFeaturesOrder);\n }\n setCollapseWallets(collapseWallets) {\n OptionsController.setCollapseWallets(collapseWallets);\n }\n setSocialsOrder(socialsOrder) {\n OptionsController.setSocialsOrder(socialsOrder);\n }\n getConnectMethodsOrder() {\n return WalletUtil.getConnectOrderMethod(OptionsController.state.features, ConnectorController.getConnectors());\n }\n /**\n * Adds a network to an existing adapter in AppKit.\n * @param namespace - The chain namespace to add the network to (e.g. 'eip155', 'solana')\n * @param network - The network configuration to add\n * @throws Error if adapter for namespace doesn't exist\n */\n addNetwork(namespace, network) {\n if (this.chainAdapters && !this.chainAdapters[namespace]) {\n throw new Error(`Adapter for namespace ${namespace} doesn't exist`);\n }\n const extendedNetwork = this.extendCaipNetwork(network, this.options);\n if (!this.getCaipNetworks().find(n => n.id === extendedNetwork.id)) {\n ChainController.addNetwork(extendedNetwork);\n }\n }\n /**\n * Removes a network from an existing adapter in AppKit.\n * @param namespace - The chain namespace the network belongs to\n * @param networkId - The network ID to remove\n * @throws Error if adapter for namespace doesn't exist or if removing last network\n */\n removeNetwork(namespace, networkId) {\n if (this.chainAdapters && !this.chainAdapters[namespace]) {\n throw new Error(`Adapter for namespace ${namespace} doesn't exist`);\n }\n const networkToRemove = this.getCaipNetworks().find(n => n.id === networkId);\n if (!networkToRemove) {\n return;\n }\n ChainController.removeNetwork(namespace, networkId);\n }\n}\n//# sourceMappingURL=appkit-base-client.js.map","import {} from '@reown/appkit-common';\nimport { AccountController, ConnectionController, ConnectorController, CoreHelperUtil, OptionsController } from '@reown/appkit-controllers';\nimport { AppKitBaseClient } from './appkit-base-client.js';\n// -- Export Controllers -------------------------------------------------------\nexport { AccountController };\n// -- Helpers -------------------------------------------------------------------\nlet isInitialized = false;\n// -- Client --------------------------------------------------------------------\nexport class AppKit extends AppKitBaseClient {\n // -- Overrides --------------------------------------------------------------\n async open(options) {\n // Only open modal when not connected\n const isConnected = ConnectorController.isConnected();\n if (!isConnected) {\n await super.open(options);\n }\n }\n async close() {\n await super.close();\n if (this.options.manualWCControl) {\n ConnectionController.finalizeWcConnection();\n }\n }\n async syncIdentity(_request) {\n return Promise.resolve();\n }\n async syncBalance(_params) {\n return Promise.resolve();\n }\n async injectModalUi() {\n if (!isInitialized && CoreHelperUtil.isClient()) {\n await import('@reown/appkit-scaffold-ui/basic');\n await import('@reown/appkit-scaffold-ui/w3m-modal');\n const isElementCreated = document.querySelector('w3m-modal');\n if (!isElementCreated) {\n const modal = document.createElement('w3m-modal');\n if (!OptionsController.state.disableAppend && !OptionsController.state.enableEmbedded) {\n document.body.insertAdjacentElement('beforeend', modal);\n }\n }\n isInitialized = true;\n }\n }\n}\n//# sourceMappingURL=appkit-core.js.map","export const PACKAGE_VERSION = '1.7.8';\n//# sourceMappingURL=constants.js.map","import { AppKit } from '../src/client/appkit-core.js';\nimport { PACKAGE_VERSION } from './constants.js';\nexport function createAppKit(options) {\n return new AppKit({\n ...options,\n basic: true,\n sdkVersion: `html-core-${PACKAGE_VERSION}`\n });\n}\nexport { AppKit };\n//# sourceMappingURL=core.js.map"],"names":["ConstantsUtil","process","NetworkUtil","a","b","isSafe","c","l","y","h","t","x","markToTrack","getUntracked","v","entries","p","w","ua","_c","CommonConstants","r","baseUrl","s","state","subKey","DEFAULT_STATE","api","controller","sub","d","_a","uc","to","CommonConstantsUtil","ns","st","accountState","u","o","q","k","ae","Ne","ue","Yo","Go","Tn","Wo","Xo","Rn","_n","Jo","$n","Y","jn","_e","pt","Yt","Sn","ei","ni","Tt","xt","ri","Cn","oi","Pn","Po","kn","jo","Vn","On","Mn","si","i","f","gt","fi","li","gi","xn","Ie","yi","$e","mi","wi","bi","Ei","Co","vi","xi","ot","Si","Kn","Fn","Yn","Zn","zn","Oi","Ai","Bi","Ii","je","Ni","Wt","Ui","Xt","Ce","Rt","Gn","le","Wn","Ti","Ri","_i","$i","Li","ji","_t","Ci","Pe","ct","Xn","Pi","Jn","ki","$t","Vi","Qn","Lt","tr","er","nr","Mi","Jt","Di","qi","Ki","Fi","zi","rr","or","ke","En","Ve","ir","sr","cr","ko","E","Vo","ts","ar","ur","Me","fr","de","lr","dr","De","hr","pe","yt","Ke","mr","wr","at","br","He","he","qe","vr","Fe","Sr","Or","Ar","mt","ze","Ze","bs","Br","vs","Ir","jt","Nr","xs","Os","As","V","Ye","ge","Ur","Tr","Is","m","Ns","N","O","F","$","B","A","T","S","L","U","j","I","R","C","P","M","D","z","W","J","Ts","Ls","Rr","_r","Cs","$r","ye","Lr","Ps","Ge","jr","ks","Vs","Ms","Ds","wt","bt","qs","Qt","me","we","St","te","Ct","Zs","Pt","kt","We","ut","Cr","Vt","Ot","ee","Mt","be","et","ne","Xe","Ee","ft","Pr","Je","Qe","kr","Vr","Dt","tn","H","At","Mr","Dr","X","Hr","it","nn","qr","Kr","Fr","zr","Zr","ve","rn","Yr","on","sn","Gr","cn","Wr","Ht","an","un","Xr","fn","Jr","lt","dt","K","Qr","Be","zt","vt","Zt","Ut","vn","ln","G","qt","xe","Kt","dn","Ft","re","eo","oe","hn","Q","rt","pn","Bt","no","ro","gn","Se","Gt","oo","io","Mo","so","Do","co","ao","uo","fo","lo","It","ho","po","go","yn","yo","ie","Oe","mo","wo","bo","ht","Nt","se","Et","nt","Ae","ce","Eo","mn","vo","xo","So","Oo","Ao","wn","Bo","Io","No","Uo","To","Ro","_o","$o","Lo","bn","Le","cs","Ue","Re","De.generateKeyPair","De.encodeIss","ls","De.signJWT","us","ds","gs","hs","ps","ys","ms","fs","Fs","Xi","Zi","tt","Z","Qi","ws","es","Yi","_s","Es","fe","Ss","Gi","Rs","Ks","Bs","is","ss","$s","zs","rs","os","js","Us","as","Ji","Wi","Hi","Te","_","g","getDefaultLoggerOptions","generatePlatformLogger","css","unsafeCSS","events","CoreConstantsUtil","_b","UtilConstantsUtil","UniversalProvider","message"],"mappings":";;AAAY,MAACA,kBAAgB;AAAA,EACzB,gBAAgB;AAAA,EAChB,uBAAuB;AAAA,EACvB,wBAAwB;AAAA,EACxB,eAAe;AAAA,EACf,aAAa;AAAA,EACb,cAAc;AAAA,IACV,gBAAgB;AAAA,IAChB,UAAU;AAAA,IACV,iBAAiB;AAAA,IACjB,UAAU;AAAA,IACV,cAAc;AAAA,IACd,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,EACd;AAAA,EACI,iBAAiB;AAAA,IACb,MAAM;AAAA,EACd;AAAA,EACI,iCAAiC,CAAC,UAAU,QAAQ;AAAA,EACpD,QAAQ;AAAA,IACJ,sBAAsB;AAAA,EAC9B;AAAA,EACI,OAAO;AAAA,IACH,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,SAAS;AAAA,EACjB;AAAA,EACI,gBAAgB;AAAA,IACZ,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,QAAQ;AAAA,EAChB;AAAA,EACI,eAAe;AAAA,IACX,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,EACjB;AAAA,EACI,yBAAyB;AAAA,IACrB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACR;AAAA,EACI,mBAAmB;AAAA,IACf,qBAAqB;AAAA,IACrB,WAAW;AAAA,EACnB;AAAA,EACI,0BAA0B;AAAA,EAC1B,yBAAyB,OAAOC,cAAY,eAAe,OAAOA,UAAQ,QAAQ,cAC5EA,UAAQ,IAAI,gCAAgC,IAC5C,WAAc;AACxB;AC7DO,MAAMC,gBAAc;AAAA,EACvB,sBAAsB,eAAe;AACjC,WAAO,gBAAgB,OAAO,cAAc,MAAM,GAAG,EAAE,CAAC,CAAC,IAAI;AAAA,EACjE;AAAA,EACA,gBAAgB,SAAS;AACrB,WAAO,OAAO,YAAY,WACpB,KAAK,sBAAsB,OAAO,IAClC;AAAA,EACV;AAAA,EACA,uBAAuB,UAAU,WAAW;AACxC,YAAO,qCAAU,OAAO,aAAW,QAAQ,mBAAmB,eAAc,CAAA;AAAA,EAChF;AAAA,EACA,2BAA2B,UAAU,WAAW;AAC5C,WAAO,KAAK,uBAAuB,UAAU,SAAS,EAAE,CAAC;AAAA,EAC7D;AAAA,EACA,8BAA8B,cAAc,eAAe;;AACvD,QAAI,CAAC,eAAe;AAChB,aAAO;AAAA,IACX;AACA,UAAM,cAAc,aAAa,KAAK,aAAW,QAAQ,kBAAkB,aAAa;AACxF,QAAI,aAAa;AACb,aAAO,YAAY;AAAA,IACvB;AACA,UAAM,CAAC,SAAS,IAAI,cAAc,MAAM,GAAG;AAC3C,aAAOF,qBAAc,mBAAdA,mBAA+B,eAAc;AAAA,EACxD;AACJ;AC1BO,MAAM,aAAa;AAAA,EACtB,UAAU,OAAO;AACb,QAAI,CAAC,OAAO;AACR,aAAO,IAAI,IAAI,CAAC;AAAA,IACpB;AACA,WAAO,IAAI,IAAI,KAAK;AAAA,EACxB;AAAA,EACA,SAASG,IAAGC,IAAG;AACX,QAAID,OAAM,UAAaC,OAAM,QAAW;AACpC,aAAO,IAAI,IAAI,CAAC;AAAA,IACpB;AACA,UAAM,aAAa,IAAI,IAAID,EAAC;AAC5B,UAAM,aAAa,IAAI,IAAIC,EAAC;AAC5B,WAAO,WAAW,MAAM,UAAU;AAAA,EACtC;AAAA,EACA,0BAA0B,OAAO,WAAW,GAAG;AAC3C,QAAI,UAAU,QAAW;AACrB,aAAO;AAAA,IACX;AACA,QAAI,OAAO,UAAU,UAAU;AAC3B,aAAO,MAAM,eAAe,SAAS;AAAA,QACjC,uBAAuB;AAAA,QACvB,uBAAuB;AAAA,MACvC,CAAa;AAAA,IACL;AACA,WAAO,WAAW,KAAK,EAAE,eAAe,SAAS;AAAA,MAC7C,uBAAuB;AAAA,MACvB,uBAAuB;AAAA,IACnC,CAAS;AAAA,EACL;AAAA,EACA,yBAAyB,OAAO;AAC5B,QAAI,UAAU,QAAW;AACrB,aAAO;AAAA,IACX;AACA,WAAO,WAAW,MAAM,QAAQ,OAAO,EAAE,CAAC;AAAA,EAC9C;AACJ;ACrCO,MAAM,WAAW;AAAA,EACpB;AAAA,IACI,MAAM;AAAA,IACN,MAAM;AAAA,IACN,iBAAiB;AAAA,IACjB,QAAQ;AAAA,MACJ;AAAA,QACI,MAAM;AAAA,QACN,MAAM;AAAA,MACtB;AAAA,MACY;AAAA,QACI,MAAM;AAAA,QACN,MAAM;AAAA,MACtB;AAAA,IACA;AAAA,IACQ,SAAS;AAAA,MACL;AAAA,QACI,MAAM;AAAA,QACN,MAAM;AAAA,MACtB;AAAA,IACA;AAAA,EACA;AAAA,EACI;AAAA,IACI,MAAM;AAAA,IACN,MAAM;AAAA,IACN,iBAAiB;AAAA,IACjB,QAAQ;AAAA,MACJ;AAAA,QACI,MAAM;AAAA,QACN,MAAM;AAAA,MACtB;AAAA,MACY;AAAA,QACI,MAAM;AAAA,QACN,MAAM;AAAA,MACtB;AAAA,MACY;AAAA,QACI,MAAM;AAAA,QACN,MAAM;AAAA,MACtB;AAAA,IACA;AAAA,IACQ,SAAS;AAAA,MACL;AAAA,QACI,MAAM;AAAA,QACN,MAAM;AAAA,MACtB;AAAA,IACA;AAAA,EACA;AACA;AC/CO,MAAM,UAAU;AAAA,EACnB;AAAA,IACI,MAAM;AAAA,IACN,MAAM;AAAA,IACN,iBAAiB;AAAA,IACjB,QAAQ;AAAA,MACJ,EAAE,MAAM,WAAW,MAAM,UAAS;AAAA,MAClC,EAAE,MAAM,UAAU,MAAM,UAAS;AAAA,IAC7C;AAAA,IACQ,SAAS,CAAC,EAAE,MAAM,OAAM,CAAE;AAAA,EAClC;AACA;ACXO,MAAM,UAAU;AAAA,EACnB;AAAA,IACI,MAAM;AAAA,IACN,MAAM;AAAA,IACN,iBAAiB;AAAA,IACjB,QAAQ;AAAA,MACJ;AAAA,QACI,MAAM;AAAA,QACN,MAAM;AAAA,MACtB;AAAA,MACY;AAAA,QACI,MAAM;AAAA,QACN,MAAM;AAAA,MACtB;AAAA,IACA;AAAA,IACQ,SAAS,CAAA;AAAA,EACjB;AAAA,EACI;AAAA,IACI,MAAM;AAAA,IACN,MAAM;AAAA,IACN,iBAAiB;AAAA,IACjB,QAAQ;AAAA,MACJ;AAAA,QACI,MAAM;AAAA,QACN,MAAM;AAAA,MACtB;AAAA,MACY;AAAA,QACI,MAAM;AAAA,QACN,MAAM;AAAA,MACtB;AAAA,MACY;AAAA,QACI,MAAM;AAAA,QACN,MAAM;AAAA,MACtB;AAAA,IACA;AAAA,IACQ,SAAS;AAAA,MACL;AAAA,QACI,MAAM;AAAA,QACN,MAAM;AAAA,MACtB;AAAA,IACA;AAAA,EACA;AACA;ACtCO,MAAM,eAAe;AAAA,EACxB,aAAa,CAAC,iBAAiB;AAC3B,QAAIJ,gBAAc,wBAAwB,SAAS,YAAY,GAAG;AAC9D,aAAO;AAAA,IACX;AACA,WAAO;AAAA,EACX;AAAA,EACA,YAAY,MAAM;AACtB;ACZO,MAAM,YAAY;AAAA,EACrB,oBAAoB,SAAS;;AACzB,UAAI,aAAQ,MAAM,GAAG,MAAjB,mBAAoB,YAAW,GAAG;AAClC,YAAM,IAAI,MAAM,sBAAsB;AAAA,IAC1C;AACA,WAAO;AAAA,EACX;AAAA,EACA,iBAAiB,aAAa;AAC1B,UAAM,QAAQ,YAAY,MAAM,GAAG;AACnC,QAAI,MAAM,WAAW,GAAG;AACpB,YAAM,IAAI,MAAM,4BAA4B,WAAW,EAAE;AAAA,IAC7D;AACA,UAAM,CAAC,gBAAgB,SAAS,OAAO,IAAI;AAC3C,QAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS;AACzC,YAAM,IAAI,MAAM,4BAA4B,WAAW,EAAE;AAAA,IAC7D;AACA,WAAO;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,IACZ;AAAA,EACI;AAAA,EACA,mBAAmB,eAAe;AAC9B,UAAM,QAAQ,cAAc,MAAM,GAAG;AACrC,QAAI,MAAM,WAAW,GAAG;AACpB,YAAM,IAAI,MAAM,8BAA8B,aAAa,EAAE;AAAA,IACjE;AACA,UAAM,CAAC,gBAAgB,OAAO,IAAI;AAClC,QAAI,CAAC,kBAAkB,CAAC,SAAS;AAC7B,YAAM,IAAI,MAAM,8BAA8B,aAAa,EAAE;AAAA,IACjE;AACA,WAAO;AAAA,MACH;AAAA,MACA;AAAA,IACZ;AAAA,EACI;AACJ;ACpCO,MAAM,uBAAuB;AAAA,EAChC,WAAW;AAAA,EACX,aAAa;AAAA,EACb,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,wBAAwB;AAAA,EACxB,kBAAkB;AAAA,EAClB,2BAA2B;AAAA,EAC3B,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,0BAA0B;AAAA,EAC1B,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,yBAAyB;AAAA,EACzB,aAAa;AACjB;AACO,SAAS,sBAAsB,WAAW;AAC7C,MAAI,CAAC,WAAW;AACZ,UAAM,IAAI,MAAM,kDAAkD;AAAA,EACtE;AACA,SAAO,WAAW,SAAS;AAC/B;AACO,MAAM,mBAAmB;AAAA,EAC5B,QAAQ,KAAK,OAAO;AAChB,QAAIK,SAAM,KAAM,UAAU,QAAW;AACjC,mBAAa,QAAQ,KAAK,KAAK;AAAA,IACnC;AAAA,EACJ;AAAA,EACA,QAAQ,KAAK;AACT,QAAIA,SAAM,GAAI;AACV,aAAO,aAAa,QAAQ,GAAG,KAAK;AAAA,IACxC;AACA,WAAO;AAAA,EACX;AAAA,EACA,WAAW,KAAK;AACZ,QAAIA,SAAM,GAAI;AACV,mBAAa,WAAW,GAAG;AAAA,IAC/B;AAAA,EACJ;AAAA,EACA,QAAQ;AACJ,QAAIA,SAAM,GAAI;AACV,mBAAa,MAAK;AAAA,IACtB;AAAA,EACJ;AACJ;AACO,SAASA,WAAS;AACrB,SAAO,OAAO,WAAW,eAAe,OAAO,iBAAiB;AACpE;ACtDO,SAAS,qBAAqB,gBAAgB,WAAW;AAC5D,MAAI,cAAc,SAAS;AACvB,WAAO;AAAA,MACH,iBAAgB,iDAAiB,oBAAmB;AAAA,MACpD,oBAAoB;AAAA,IAChC;AAAA,EACI;AACA,SAAO;AAAA,IACH,iBAAgB,iDAAiB,oBAAmB;AAAA,IACpD,oBAAoB;AAAA,EAC5B;AACA;ACXK,MAAY,IAAE;AAAsD,MAAC,IAAE,OAAO,gBAAeC,MAAE,oBAAI,WAAQC,MAAE,OAAG,MAAID,IAAE,IAAI,CAAC,IAAEA,IAAE,IAAI,CAAC,IAAE,EAAE,CAAC,MAAI,OAAO,aAAW,EAAE,CAAC,MAAI,MAAM,YAAyqDE,MAAE,OAAGD,IAAE,CAAC,KAAG,EAAE,CAAC,KAAG,MAAKE,MAAE,CAAC,GAAEC,KAAE,SAAK;AAACJ,MAAE,IAAI,GAAEI,EAAC;AAAC;;ACEv4D,MAAM,WAAW,CAACC,OAAM,OAAOA,OAAM,YAAYA,OAAM;AACvD,MAAM,oCAAoC,QAAA;AAC1C,MAAM,6BAA6B,QAAA;AACnC,MAAM,qBAAqB,CAAC,WAAW,OAAO,IAAI,WAAW,CAAC,QAAQ,YAAY,IAAI,MAAM,QAAQ,OAAO,GAAG,WAAW,CAACA,OAAM,SAASA,EAAC,KAAK,CAAC,OAAO,IAAIA,EAAC,MAAM,MAAM,QAAQA,EAAC,KAAK,EAAE,OAAO,YAAYA,QAAO,EAAEA,cAAa,YAAY,EAAEA,cAAa,YAAY,EAAEA,cAAa,UAAU,EAAEA,cAAa,WAAW,EAAEA,cAAa,SAAS,EAAEA,cAAa,WAAW,EAAEA,cAAa,WAAW,EAAEA,cAAa,cAAc,uBAAuB,CAAC,YAAY;AACtc,UAAQ,QAAQ,QAAA;AAAA,IACd,KAAK;AACH,aAAO,QAAQ;AAAA,IACjB,KAAK;AACH,YAAM,QAAQ;AAAA,IAChB;AACE,YAAM;AAAA,EAAA;AAEZ,GAAG,gCAAgC,WAAW,iBAAiB,CAAC,QAAQ,SAAS,gBAAgB,yBAAyB;AACxH,QAAM,QAAQ,UAAU,IAAI,MAAM;AAClC,OAAK,SAAS,OAAO,SAAS,MAAM,CAAC,OAAO,SAAS;AACnD,WAAO,MAAM,CAAC;AAAA,EAChB;AACA,QAAM,OAAO,MAAM,QAAQ,MAAM,IAAI,CAAA,IAAK,OAAO,OAAO,OAAO,eAAe,MAAM,CAAC;AACrFC,MAAY,MAAM,IAAI;AACtB,YAAU,IAAI,QAAQ,CAAC,SAAS,IAAI,CAAC;AACrC,UAAQ,QAAQ,MAAM,EAAE,QAAQ,CAAC,QAAQ;AACvC,QAAI,OAAO,yBAAyB,MAAM,GAAG,GAAG;AAC9C;AAAA,IACF;AACA,UAAM,QAAQ,QAAQ,IAAI,QAAQ,GAAG;AACrC,UAAM,EAAE,eAAe,QAAQ;AAAA,MAC7B;AAAA,MACA;AAAA,IAAA;AAEF,UAAM,OAAO;AAAA,MACX;AAAA,MACA;AAAA;AAAA;AAAA,MAGA,cAAc;AAAA,IAAA;AAEhB,QAAI,OAAO,IAAI,KAAK,GAAG;AACrBA,UAAY,OAAO,KAAK;AAAA,IAC1B,WAAW,iBAAiB,SAAS;AACnC,aAAO,KAAK;AACZ,WAAK,MAAM,MAAM,cAAc,KAAK;AAAA,IACtC,WAAW,cAAc,IAAI,KAAK,GAAG;AACnC,YAAM,CAAC,SAAS,aAAa,IAAI,cAAc;AAAA,QAC7C;AAAA,MAAA;AAEF,WAAK,QAAQ;AAAA,QACX;AAAA,QACA,cAAA;AAAA,QACA;AAAA,MAAA;AAAA,IAEJ;AACA,WAAO,eAAe,MAAM,KAAK,IAAI;AAAA,EACvC,CAAC;AACD,SAAO,OAAO,kBAAkB,IAAI;AACtC,GAAG,aAA6B,oBAAI,QAAA,GAAW,gBAAgB,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,kBAAkB;AACxG,MAAI,CAAC,SAAS,aAAa,GAAG;AAC5B,UAAM,IAAI,MAAM,iBAAiB;AAAA,EACnC;AACA,QAAM,QAAQ,WAAW,IAAI,aAAa;AAC1C,MAAI,OAAO;AACT,WAAO;AAAA,EACT;AACA,MAAI,UAAU,cAAc,CAAC;AAC7B,QAAM,gCAAgC,IAAA;AACtC,QAAM,eAAe,CAAC,IAAI,cAAc,EAAE,cAAc,CAAC,MAAM;AAC7D,QAAI,YAAY,aAAa;AAC3B,gBAAU;AACV,gBAAU,QAAQ,CAAC,aAAa,SAAS,IAAI,WAAW,CAAC;AAAA,IAC3D;AAAA,EACF;AACA,MAAI,eAAe,cAAc,CAAC;AAClC,QAAM,gBAAgB,CAAC,mBAAmB,EAAE,cAAc,CAAC,MAAM;AAC/D,QAAI,iBAAiB,oBAAoB,CAAC,UAAU,MAAM;AACxD,qBAAe;AACf,sBAAgB,QAAQ,CAAC,CAAC,cAAc,MAAM;AAC5C,cAAM,cAAc,eAAe,CAAC,EAAE,gBAAgB;AACtD,YAAI,cAAc,SAAS;AACzB,oBAAU;AAAA,QACZ;AAAA,MACF,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT;AACA,QAAM,qBAAqB,CAAC,SAAS,CAAC,IAAI,gBAAgB;AACxD,UAAM,QAAQ,CAAC,GAAG,EAAE;AACpB,UAAM,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;AAC7B,iBAAa,OAAO,WAAW;AAAA,EACjC;AACA,QAAM,sCAAsC,IAAA;AAC5C,QAAM,kBAAkB,CAAC,MAAM,mBAAmB;AAChD,SAAK,2BAAkB,eAAuB,YAAY,gBAAgB,gBAAgB,IAAI,IAAI,GAAG;AACnG,YAAM,IAAI,MAAM,8BAA8B;AAAA,IAChD;AACA,QAAI,UAAU,MAAM;AAClB,YAAM,SAAS,eAAe,CAAC,EAAE,mBAAmB,IAAI,CAAC;AACzD,sBAAgB,IAAI,MAAM,CAAC,gBAAgB,MAAM,CAAC;AAAA,IACpD,OAAO;AACL,sBAAgB,IAAI,MAAM,CAAC,cAAc,CAAC;AAAA,IAC5C;AAAA,EACF;AACA,QAAM,qBAAqB,CAAC,SAAS;AACnC,QAAI;AACJ,UAAM,QAAQ,gBAAgB,IAAI,IAAI;AACtC,QAAI,OAAO;AACT,sBAAgB,OAAO,IAAI;AAC3B,OAAC,KAAK,MAAM,CAAC,MAAM,OAAO,SAAS,GAAG,KAAK,KAAK;AAAA,IAClD;AAAA,EACF;AACA,QAAM,cAAc,CAAC,aAAa;AAChC,cAAU,IAAI,QAAQ;AACtB,QAAI,UAAU,SAAS,GAAG;AACxB,sBAAgB,QAAQ,CAAC,CAAC,gBAAgB,UAAU,GAAG,SAAS;AAC9D,aAAK,2BAAkB,eAAuB,YAAY,gBAAgB,YAAY;AACpF,gBAAM,IAAI,MAAM,uBAAuB;AAAA,QACzC;AACA,cAAM,SAAS,eAAe,CAAC,EAAE,mBAAmB,IAAI,CAAC;AACzD,wBAAgB,IAAI,MAAM,CAAC,gBAAgB,MAAM,CAAC;AAAA,MACpD,CAAC;AAAA,IACH;AACA,UAAM,iBAAiB,MAAM;AAC3B,gBAAU,OAAO,QAAQ;AACzB,UAAI,UAAU,SAAS,GAAG;AACxB,wBAAgB,QAAQ,CAAC,CAAC,gBAAgB,MAAM,GAAG,SAAS;AAC1D,cAAI,QAAQ;AACV,mBAAA;AACA,4BAAgB,IAAI,MAAM,CAAC,cAAc,CAAC;AAAA,UAC5C;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACA,QAAM,aAAa,MAAM,QAAQ,aAAa,IAAI,CAAA,IAAK,OAAO,OAAO,OAAO,eAAe,aAAa,CAAC;AACzG,QAAM,UAAU;AAAA,IACd,eAAe,QAAQ,MAAM;AAC3B,YAAM,YAAY,QAAQ,IAAI,QAAQ,IAAI;AAC1C,yBAAmB,IAAI;AACvB,YAAM,UAAU,QAAQ,eAAe,QAAQ,IAAI;AACnD,UAAI,SAAS;AACX,qBAAa,CAAC,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC;AAAA,MAC5C;AACA,aAAO;AAAA,IACT;AAAA,IACA,IAAI,QAAQ,MAAM,OAAO,UAAU;AACjC,YAAM,eAAe,QAAQ,IAAI,QAAQ,IAAI;AAC7C,YAAM,YAAY,QAAQ,IAAI,QAAQ,MAAM,QAAQ;AACpD,UAAI,iBAAiB,SAAS,WAAW,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,SAAS,WAAW,WAAW,IAAI,KAAK,CAAC,IAAI;AACvH,eAAO;AAAA,MACT;AACA,yBAAmB,IAAI;AACvB,UAAI,SAAS,KAAK,GAAG;AACnB,gBAAQC,IAAa,KAAK,KAAK;AAAA,MACjC;AACA,UAAI,YAAY;AAChB,UAAI,iBAAiB,SAAS;AAC5B,cAAM,KAAK,CAACC,OAAM;AAChB,gBAAM,SAAS;AACf,gBAAM,QAAQA;AACd,uBAAa,CAAC,WAAW,CAAC,IAAI,GAAGA,EAAC,CAAC;AAAA,QACrC,CAAC,EAAE,MAAM,CAAC,MAAM;AACd,gBAAM,SAAS;AACf,gBAAM,SAAS;AACf,uBAAa,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;AAAA,QACpC,CAAC;AAAA,MACH,OAAO;AACL,YAAI,CAAC,cAAc,IAAI,KAAK,KAAK,SAAS,KAAK,GAAG;AAChD,sBAAY,cAAc,KAAK;AAAA,QACjC;AACA,cAAM,kBAAkB,CAAC,OAAO,IAAI,SAAS,KAAK,cAAc,IAAI,SAAS;AAC7E,YAAI,iBAAiB;AACnB,0BAAgB,MAAM,eAAe;AAAA,QACvC;AAAA,MACF;AACA,cAAQ,IAAI,QAAQ,MAAM,WAAW,QAAQ;AAC7C,mBAAa,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,SAAS,CAAC;AAC9C,aAAO;AAAA,IACT;AAAA,EAAA;AAEF,QAAM,cAAc,SAAS,YAAY,OAAO;AAChD,aAAW,IAAI,eAAe,WAAW;AACzC,QAAM,aAAa;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEF,gBAAc,IAAI,aAAa,UAAU;AACzC,UAAQ,QAAQ,aAAa,EAAE,QAAQ,CAAC,QAAQ;AAC9C,UAAM,OAAO,OAAO;AAAA,MAClB;AAAA,MACA;AAAA,IAAA;AAEF,QAAI,WAAW,MAAM;AACnB,kBAAY,GAAG,IAAI,cAAc,GAAG;AACpC,aAAO,KAAK;AACZ,aAAO,KAAK;AAAA,IACd;AACA,WAAO,eAAe,YAAY,KAAK,IAAI;AAAA,EAC7C,CAAC;AACD,SAAO;AACT,MAAM;AAAA;AAAA,EAEJ;AAAA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,MAAM,CAAC,oBAAoB,IAAI,mBAAA;AAC/B,SAAS,MAAM,gBAAgB,IAAI;AACjC,SAAO,qBAAqB,aAAa;AAC3C;AAKA,SAAS,UAAU,aAAa,UAAU,cAAc;AACtD,QAAM,aAAa,cAAc,IAAI,WAAW;AAChD,OAAK,2BAAkB,eAAuB,YAAY,gBAAgB,CAAC,YAAY;AACrF,YAAQ,KAAK,yBAAyB;AAAA,EACxC;AACA,MAAI;AACJ,QAAM,MAAM,CAAA;AACZ,QAAM,cAAc,WAAW,CAAC;AAChC,MAAI,mBAAmB;AACvB,QAAM,WAAW,CAAC,OAAO;AACvB,QAAI,KAAK,EAAE;AAKX,QAAI,CAAC,SAAS;AACZ,gBAAU,QAAQ,QAAA,EAAU,KAAK,MAAM;AACrC,kBAAU;AACV,YAAI,kBAAkB;AACpB,mBAAS,IAAI,OAAO,CAAC,CAAC;AAAA,QACxB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACA,QAAM,iBAAiB,YAAY,QAAQ;AAC3C,qBAAmB;AACnB,SAAO,MAAM;AACX,uBAAmB;AACnB,mBAAA;AAAA,EACF;AACF;AACA,SAAS,SAAS,aAAa,eAAe;AAC5C,QAAM,aAAa,cAAc,IAAI,WAAW;AAChD,OAAK,2BAAkB,eAAuB,YAAY,gBAAgB,CAAC,YAAY;AACrF,YAAQ,KAAK,yBAAyB;AAAA,EACxC;AACA,QAAM,CAAC,QAAQ,eAAe,cAAc,IAAI;AAChD,SAAO,eAAe,QAAQ,cAAA,GAAiB,aAAa;AAC9D;AACA,SAAS,IAAI,KAAK;AAChB,SAAO,IAAI,GAAG;AACd,SAAO;AACT;ACxQA,SAAS,aAAa,aAAa,KAAK,UAAU,cAAc;AAC9D,MAAI,YAAY,YAAY,GAAG;AAC/B,SAAO;AAAA,IACL;AAAA,IACA,MAAM;AACJ,YAAM,YAAY,YAAY,GAAG;AACjC,UAAI,CAAC,OAAO,GAAG,WAAW,SAAS,GAAG;AACpC,iBAAS,YAAY,SAAS;AAAA,MAChC;AAAA,IACF;AAAA,EAEF;AACF;AA0TA,SAAS,SAASC,UAAS;AACzB,QAAM,MAAM,MAAM;AAAA,IAChB,MAAM,MAAM,KAAgB,EAAE;AAAA,IAC9B,IAAI,KAAK;AACP,aAAO,KAAK,KAAK,KAAK,CAACC,OAAMA,GAAE,CAAC,MAAM,GAAG;AAAA,IAC3C;AAAA,IACA,IAAI,KAAK,OAAO;AACd,YAAM,SAAS,KAAK,KAAK,KAAK,CAACA,OAAMA,GAAE,CAAC,MAAM,GAAG;AACjD,UAAI,QAAQ;AACV,eAAO,CAAC,IAAI;AAAA,MACd,OAAO;AACL,aAAK,KAAK,KAAK,CAAC,KAAK,KAAK,CAAC;AAAA,MAC7B;AACA,aAAO;AAAA,IACT;AAAA,IACA,IAAI,KAAK;AACP,UAAI;AACJ,cAAQ,KAAK,KAAK,KAAK,KAAK,CAACA,OAAMA,GAAE,CAAC,MAAM,GAAG,MAAM,OAAO,SAAS,GAAG,CAAC;AAAA,IAC3E;AAAA,IACA,OAAO,KAAK;AACV,YAAM,QAAQ,KAAK,KAAK,UAAU,CAACA,OAAMA,GAAE,CAAC,MAAM,GAAG;AACrD,UAAI,UAAU,IAAI;AAChB,eAAO;AAAA,MACT;AACA,WAAK,KAAK,OAAO,OAAO,CAAC;AACzB,aAAO;AAAA,IACT;AAAA,IACA,QAAQ;AACN,WAAK,KAAK,OAAO,CAAC;AAAA,IACpB;AAAA,IACA,IAAI,OAAO;AACT,aAAO,KAAK,KAAK;AAAA,IACnB;AAAA,IACA,SAAS;AACP,aAAO,IAAI,IAAI,KAAK,IAAI;AAAA,IAC1B;AAAA,IACA,QAAQ,IAAI;AACV,WAAK,KAAK,QAAQ,CAACA,OAAM;AACvB,WAAGA,GAAE,CAAC,GAAGA,GAAE,CAAC,GAAG,IAAI;AAAA,MACrB,CAAC;AAAA,IACH;AAAA,IACA,OAAO;AACL,aAAO,KAAK,KAAK,IAAI,CAACA,OAAMA,GAAE,CAAC,CAAC,EAAE,OAAA;AAAA,IACpC;AAAA,IACA,SAAS;AACP,aAAO,KAAK,KAAK,IAAI,CAACA,OAAMA,GAAE,CAAC,CAAC,EAAE,OAAA;AAAA,IACpC;AAAA,IACA,UAAU;AACR,aAAO,IAAI,IAAI,KAAK,IAAI,EAAE,QAAA;AAAA,IAC5B;AAAA,IACA,KAAK,OAAO,WAAW,IAAI;AACzB,aAAO;AAAA,IACT;AAAA,IACA,CAAC,OAAO,QAAQ,IAAI;AAClB,aAAO,KAAK,QAAA;AAAA,IACd;AAAA,EAAA,CACD;AACD,SAAO,iBAAiB,KAAK;AAAA,IAC3B,MAAM;AAAA,MACJ,YAAY;AAAA,IAAA;AAAA,IAEd,MAAM;AAAA,MACJ,YAAY;AAAA,IAAA;AAAA,IAEd,QAAQ;AAAA,MACN,YAAY;AAAA,IAAA;AAAA,EACd,CACD;AACD,SAAO,KAAK,GAAG;AACf,SAAO;AACT;AAAA,CC7YC,OAAOf,cAAY,eAAe,OAAOA,UAAQ,QAAQ,cACpDA,UAAQ,IAAI,gCAAgC,IAC5C,WAAc;AACb,MAAM,mBAAmB;AAAA,EAC5B;AAAA,IACI,OAAO;AAAA,IACP,MAAM;AAAA,IACN,UAAU;AAAA,IACV,KAAK;AAAA,IACL,iBAAiB,CAAC,QAAQ;AAAA,EAClC;AAAA,EACI;AAAA,IACI,OAAO;AAAA,IACP,MAAM;AAAA,IACN,UAAU;AAAA,IACV,KAAK;AAAA,IACL,iBAAiB,CAAC,UAAU,QAAQ;AAAA,EAC5C;AACA;AACO,MAAM,kBAAkB;AACnB,MAACD,kBAAgB;AAAA,EACzB,iBAAiB;AAAA,EACjB,YAAY;AAAA,EAGZ,YAAY;AAAA,EAkIZ,0BAA0B,CAAC,UAAU,QAAQ;AAAA,EA2B7C,kCAAkC,CAAC,QAAQ;AAAA,EAG3C,sBAAsB;AAAA,IAClB,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,QAAQ;AAAA,EAChB;AAAA,EACI,4BAA4B;AAAA,EAC5B,gBAAgB;AAAA,IACZ,QAAQ;AAAA,EAEZ;AAAA,EACA,2BAA2B,CAAC,UAAU,QAAQ;AAAA,EAC9C,yBAAyB;AAAA,IACrB,OAAO,CAAC,OAAO;AAAA,IACf,QAAQ,CAAC,YAAY,MAAM;AAAA,IAC3B,OAAO;AAAA,IACP,SAAS;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACZ;AAAA,IACQ,UAAU;AAAA,IACV,eAAe;AAAA,EACvB;AAAA,EACI,kCAAkC;AAAA,IAC9B,OAAO;AAAA,IACP,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,eAAe;AAAA,EACvB;AAAA,EACI,kBAAkB;AAAA,IACd,SAAS;AAAA,IACT,MAAM;AAAA,IACN,kBAAkB;AAAA,IAClB,oBAAoB;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACZ;AAAA,IACQ,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,qBAAqB,CAAC,UAAU,SAAS,WAAW,MAAM;AAAA,IAC1D,qBAAqB;AAAA,IACrB,KAAK;AAAA,EACb;AAAA,EAUI,uBAAuB;AAAA,IACnB,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,QAAQ;AAAA,EAChB;AAAA,EACI,eAAe;AAAA,IACX,WAAW;AAAA,EAMf;AACJ;AC3QY,MAAC,cAAc;AAAA;AAAA,EAEvB,aAAa;AAAA,IACT,WAAW;AAAA,IACX,eAAe;AAAA,IACf,KAAK;AAAA,IACL,UAAU;AAAA,EAClB;AAAA,EACI,eAAe,WAAW,aAAa;AACnC,WAAO,KAAK,QAAQ,YAAY;AAAA,EACpC;AAAA,EACA,wBAAwB;AACpB,UAAM,YAAY,YAAY,mBAAkB;AAChD,UAAM,gBAAgB,YAAY,uBAAsB;AACxD,UAAM,gBAAgB,gBAAgB,cAAc,MAAM,GAAG,EAAE,CAAC,IAAI;AAEpE,UAAM,UAAU,gBACV,MAAM,OAAO,aAAa,CAAC,IACvB,gBACA,OAAO,aAAa,IACxB;AACN,WAAO;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,IACZ;AAAA,EACI;AAAA,EACA,yBAAyB,EAAE,MAAM,QAAQ;AACrC,QAAI;AACA,uBAAiB,QAAQ,qBAAqB,iBAAiB,KAAK,UAAU,EAAE,MAAM,KAAI,CAAE,CAAC;AAAA,IACjG,QACM;AACF,cAAQ,KAAK,uCAAuC;AAAA,IACxD;AAAA,EACJ;AAAA,EACA,2BAA2B;AACvB,QAAI;AACA,YAAM,WAAW,iBAAiB,QAAQ,qBAAqB,eAAe;AAC9E,UAAI,UAAU;AACV,eAAO,KAAK,MAAM,QAAQ;AAAA,MAC9B;AAAA,IACJ,QACM;AACF,cAAQ,KAAK,uCAAuC;AAAA,IACxD;AACA,WAAO;AAAA,EACX;AAAA,EACA,8BAA8B;AAC1B,QAAI;AACA,uBAAiB,WAAW,qBAAqB,eAAe;AAAA,IACpE,QACM;AACF,cAAQ,KAAK,0CAA0C;AAAA,IAC3D;AAAA,EACJ;AAAA,EACA,mBAAmB,WAAW;AAC1B,QAAI;AACA,uBAAiB,QAAQ,qBAAqB,kBAAkB,SAAS;AAAA,IAC7E,QACM;AACF,cAAQ,KAAK,gCAAgC;AAAA,IACjD;AAAA,EACJ;AAAA,EACA,uBAAuB,eAAe;AAClC,QAAI;AACA,uBAAiB,QAAQ,qBAAqB,wBAAwB,aAAa;AACnF,kBAAY,mBAAmB,cAAc,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IAC9D,QACM;AACF,cAAQ,KAAK,sCAAsC;AAAA,IACvD;AAAA,EACJ;AAAA,EACA,yBAAyB;AACrB,QAAI;AACA,aAAO,iBAAiB,QAAQ,qBAAqB,sBAAsB;AAAA,IAC/E,QACM;AACF,cAAQ,KAAK,sCAAsC;AACnD,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EACA,4BAA4B;AACxB,QAAI;AACA,uBAAiB,WAAW,qBAAqB,sBAAsB;AAAA,IAC3E,QACM;AACF,cAAQ,KAAK,yCAAyC;AAAA,IAC1D;AAAA,EACJ;AAAA,EACA,2BAA2B,WAAW;AAClC,QAAI;AACA,YAAM,MAAM,sBAAsB,SAAS;AAC3C,uBAAiB,WAAW,GAAG;AAAA,IACnC,QACM;AACF,cAAQ,KAAK,yCAAyC;AAAA,IAC1D;AAAA,EACJ;AAAA,EACA,gBAAgB,QAAQ;AACpB,QAAI;AACA,YAAM,gBAAgB,YAAY,iBAAgB;AAClD,YAAM,SAAS,cAAc,KAAK,CAAAiB,OAAKA,GAAE,OAAO,OAAO,EAAE;AACzD,UAAI,CAAC,QAAQ;AACT,sBAAc,QAAQ,MAAM;AAC5B,YAAI,cAAc,SAAS,GAAG;AAC1B,wBAAc,IAAG;AAAA,QACrB;AACA,yBAAiB,QAAQ,qBAAqB,gBAAgB,KAAK,UAAU,aAAa,CAAC;AAAA,MAC/F;AAAA,IACJ,QACM;AACF,cAAQ,KAAK,6BAA6B;AAAA,IAC9C;AAAA,EACJ;AAAA,EACA,mBAAmB;AACf,QAAI;AACA,YAAM,SAAS,iBAAiB,QAAQ,qBAAqB,cAAc;AAC3E,aAAO,SAAS,KAAK,MAAM,MAAM,IAAI,CAAA;AAAA,IACzC,QACM;AACF,cAAQ,KAAK,6BAA6B;AAAA,IAC9C;AACA,WAAO,CAAA;AAAA,EACX;AAAA,EACA,wBAAwB,WAAW,aAAa;AAC5C,QAAI;AACA,YAAM,MAAM,sBAAsB,SAAS;AAC3C,uBAAiB,QAAQ,KAAK,WAAW;AAAA,IAC7C,QACM;AACF,cAAQ,KAAK,sCAAsC;AAAA,IACvD;AAAA,EACJ;AAAA,EACA,qBAAqB;AACjB,QAAI;AACA,YAAM,kBAAkB,iBAAiB,QAAQ,qBAAqB,gBAAgB;AACtF,aAAO;AAAA,IACX,QACM;AACF,cAAQ,KAAK,gCAAgC;AAAA,IACjD;AACA,WAAO;AAAA,EACX;AAAA,EACA,wBAAwB,WAAW;AAC/B,QAAI,CAAC,WAAW;AACZ,aAAO;AAAA,IACX;AACA,QAAI;AACA,YAAM,MAAM,sBAAsB,SAAS;AAC3C,aAAO,iBAAiB,QAAQ,GAAG;AAAA,IACvC,SACO,GAAG;AACN,cAAQ,KAAK,sDAAsD,SAAS;AAAA,IAChF;AACA,WAAO;AAAA,EACX;AAAA,EACA,2BAA2B,gBAAgB;AACvC,QAAI;AACA,uBAAiB,QAAQ,qBAAqB,kBAAkB,cAAc;AAAA,IAClF,QACM;AACF,cAAQ,KAAK,yCAAyC;AAAA,IAC1D;AAAA,EACJ;AAAA,EACA,6BAA6B;AACzB,QAAI;AACA,aAAO,iBAAiB,QAAQ,qBAAqB,gBAAgB;AAAA,IACzE,QACM;AACF,cAAQ,KAAK,yCAAyC;AAAA,IAC1D;AACA,WAAO;AAAA,EACX;AAAA,EACA,gCAAgC;AAC5B,QAAI;AACA,uBAAiB,WAAW,qBAAqB,gBAAgB;AAAA,IACrE,QACM;AACF,cAAQ,KAAK,4CAA4C;AAAA,IAC7D;AAAA,EACJ;AAAA,EACA,6BAA6B;AACzB,QAAI;AACA,aAAO,iBAAiB,QAAQ,qBAAqB,yBAAyB;AAAA,IAClF,QACM;AACF,cAAQ,KAAK,yCAAyC;AAAA,IAC1D;AACA,WAAO;AAAA,EACX;AAAA,EACA,+BAA+B;;AAC3B,UAAM,sBAAsB,iBAAiB,QAAQ,qBAAqB,sBAAsB;AAChG,UAAM,aAAY,gEAAqB,MAAM,SAA3B,mBAAkC;AACpD,WAAO;AAAA,EACX;AAAA,EACA,oBAAoB,QAAQ;AACxB,QAAI;AACA,uBAAiB,QAAQ,qBAAqB,mBAAmB,MAAM;AAAA,IAC3E,QACM;AACF,cAAQ,KAAK,iCAAiC;AAAA,IAClD;AAAA,EACJ;AAAA,EACA,sBAAsB;AAClB,QAAI;AACA,aAAO,iBAAiB,QAAQ,qBAAqB,iBAAiB;AAAA,IAC1E,QACM;AACF,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EACA,yBAAyB;AACrB,QAAI;AACA,YAAM,aAAa,iBAAiB,QAAQ,qBAAqB,oBAAoB;AACrF,UAAI,EAAC,yCAAY,SAAQ;AACrB,eAAO,CAAA;AAAA,MACX;AACA,aAAO,WAAW,MAAM,GAAG;AAAA,IAC/B,QACM;AACF,aAAO,CAAA;AAAA,IACX;AAAA,EACJ;AAAA,EACA,uBAAuB,YAAY;AAC/B,QAAI;AACA,YAAM,mBAAmB,MAAM,KAAK,IAAI,IAAI,UAAU,CAAC;AACvD,uBAAiB,QAAQ,qBAAqB,sBAAsB,iBAAiB,KAAK,GAAG,CAAC;AAAA,IAClG,QACM;AACF,cAAQ,KAAK,qCAAqC;AAAA,IACtD;AAAA,EACJ;AAAA,EACA,sBAAsB,WAAW;AAC7B,QAAI;AACA,YAAM,aAAa,YAAY,uBAAsB;AACrD,UAAI,CAAC,WAAW,SAAS,SAAS,GAAG;AACjC,mBAAW,KAAK,SAAS;AACzB,oBAAY,uBAAuB,UAAU;AAAA,MACjD;AAAA,IACJ,QACM;AACF,cAAQ,KAAK,mCAAmC;AAAA,IACpD;AAAA,EACJ;AAAA,EACA,yBAAyB,WAAW;AAChC,QAAI;AACA,YAAM,aAAa,YAAY,uBAAsB;AACrD,YAAM,QAAQ,WAAW,QAAQ,SAAS;AAC1C,UAAI,QAAQ,IAAI;AACZ,mBAAW,OAAO,OAAO,CAAC;AAC1B,oBAAY,uBAAuB,UAAU;AAAA,MACjD;AAAA,IACJ,QACM;AACF,cAAQ,KAAK,sCAAsC;AAAA,IACvD;AAAA,EACJ;AAAA,EACA,4BAA4B;AACxB,QAAI;AACA,aAAO,iBAAiB,QAAQ,qBAAqB,wBAAwB;AAAA,IACjF,QACM;AACF,cAAQ,KAAK,wCAAwC;AACrD,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EACA,0BAA0B,gBAAgB;AACtC,QAAI;AACA,uBAAiB,QAAQ,qBAAqB,0BAA0B,cAAc;AAAA,IAC1F,QACM;AACF,cAAQ,KAAK,wCAAwC;AAAA,IACzD;AAAA,EACJ;AAAA,EACA,+BAA+B;AAC3B,QAAI;AACA,uBAAiB,WAAW,qBAAqB,wBAAwB;AAAA,IAC7E,QACM;AACF,cAAQ,KAAK,2CAA2C;AAAA,IAC5D;AAAA,EACJ;AAAA,EACA,kBAAkB;AACd,QAAI,QAAQ,CAAA;AACZ,QAAI;AACA,YAAM,SAAS,iBAAiB,QAAQ,qBAAqB,eAAe;AAC5E,cAAQ,SAAS,KAAK,MAAM,MAAM,IAAI,CAAA;AAAA,IAC1C,QACM;AACF,cAAQ,KAAK,6BAA6B;AAAA,IAC9C;AACA,WAAO;AAAA,EACX;AAAA,EACA,8BAA8B,aAAa;AACvC,QAAI;AACA,YAAM,QAAQ,YAAY,gBAAe;AACzC,uBAAiB,QAAQ,qBAAqB,iBAAiB,KAAK,UAAU,EAAE,GAAG,OAAO,CAAC,WAAW,GAAG,OAAS,CAAE,CAAC;AAAA,IACzH,QACM;AACF,cAAQ,KAAK,+CAA+C,WAAW;AAAA,IAC3E;AAAA,EACJ;AAAA,EACA,8BAA8B,aAAa;AACvC,QAAI;AACA,YAAM,QAAQ,YAAY,gBAAe;AACzC,YAAM,eAAe,MAAM,WAAW;AAEtC,UAAI,gBACA,CAAC,KAAK,eAAe,aAAa,WAAW,KAAK,YAAY,SAAS,GAAG;AAC1E,eAAO,aAAa;AAAA,MACxB;AACA,kBAAY,8BAA8B,WAAW;AAAA,IACzD,QACM;AACF,cAAQ,KAAK,2CAA2C,WAAW;AAAA,IACvE;AACA,WAAO;AAAA,EACX;AAAA,EACA,mBAAmB,QAAQ;AACvB,QAAI;AACA,YAAM,QAAQ,YAAY,gBAAe;AACzC,YAAM,OAAO,WAAW,IAAI;AAC5B,uBAAiB,QAAQ,qBAAqB,iBAAiB,KAAK,UAAU,KAAK,CAAC;AAAA,IACxF,QACM;AACF,cAAQ,KAAK,kCAAkC,MAAM;AAAA,IACzD;AAAA,EACJ;AAAA,EACA,wBAAwB;AACpB,QAAI,QAAQ,CAAA;AACZ,QAAI;AACA,YAAM,SAAS,iBAAiB,QAAQ,qBAAqB,oBAAoB;AACjF,cAAQ,SAAS,KAAK,MAAM,MAAM,IAAI,CAAA;AAAA,IAC1C,QACM;AACF,cAAQ,KAAK,6BAA6B;AAAA,IAC9C;AACA,WAAO;AAAA,EACX;AAAA,EACA,oCAAoC,aAAa;AAC7C,QAAI;AACA,YAAM,QAAQ,YAAY,gBAAe;AACzC,uBAAiB,QAAQ,qBAAqB,sBAAsB,KAAK,UAAU,EAAE,GAAG,OAAO,CAAC,WAAW,GAAG,OAAS,CAAE,CAAC;AAAA,IAC9H,QACM;AACF,cAAQ,KAAK,+CAA+C,WAAW;AAAA,IAC3E;AAAA,EACJ;AAAA,EACA,oCAAoC,aAAa;AAC7C,QAAI;AACA,YAAM,QAAQ,YAAY,sBAAqB;AAC/C,YAAM,qBAAqB,MAAM,WAAW;AAE5C,UAAI,sBACA,CAAC,KAAK,eAAe,mBAAmB,WAAW,KAAK,YAAY,aAAa,GAAG;AACpF,eAAO;AAAA,MACX;AACA,cAAQ,KAAK,gCAAgC,WAAW;AACxD,kBAAY,8BAA8B,WAAW;AAAA,IACzD,QACM;AACF,cAAQ,KAAK,2CAA2C,WAAW;AAAA,IACvE;AACA,WAAO;AAAA,EACX;AAAA,EACA,yBAAyB,QAAQ;AAC7B,QAAI;AACA,YAAM,QAAQ,YAAY,sBAAqB;AAC/C,YAAM,OAAO,WAAW,IAAI;AAC5B,uBAAiB,QAAQ,qBAAqB,sBAAsB,KAAK,UAAU,KAAK,CAAC;AAAA,IAC7F,QACM;AACF,cAAQ,KAAK,kCAAkC,MAAM;AAAA,IACzD;AAAA,EACJ;AAAA,EACA,cAAc;AACV,QAAI,QAAQ,CAAA;AACZ,QAAI;AACA,YAAM,SAAS,iBAAiB,QAAQ,qBAAqB,SAAS;AACtE,cAAQ,SAAS,KAAK,MAAM,MAAM,IAAI,CAAA;AAAA,IAC1C,QACM;AACF,cAAQ,KAAK,8BAA8B;AAAA,IAC/C;AACA,WAAO;AAAA,EACX;AAAA,EACA,0BAA0B,SAAS;AAC/B,QAAI;AACA,YAAM,QAAQ,YAAY,YAAW;AACrC,YAAM,WAAW,MAAM,OAAO;AAE9B,UAAI,YAAY,CAAC,KAAK,eAAe,SAAS,WAAW,KAAK,YAAY,GAAG,GAAG;AAC5E,eAAO,SAAS;AAAA,MACpB;AACA,kBAAY,mBAAmB,OAAO;AAAA,IAC1C,QACM;AACF,cAAQ,KAAK,qCAAqC,OAAO;AAAA,IAC7D;AACA,WAAO;AAAA,EACX;AAAA,EACA,eAAe,QAAQ;AACnB,QAAI;AACA,YAAM,QAAQ,YAAY,YAAW;AACrC,YAAM,OAAO,OAAO,IAAI;AACxB,uBAAiB,QAAQ,qBAAqB,WAAW,KAAK,UAAU,KAAK,CAAC;AAAA,IAClF,QACM;AACF,cAAQ,KAAK,mCAAmC,MAAM;AAAA,IAC1D;AAAA,EACJ;AAAA,EACA,mBAAmB,SAAS;AACxB,QAAI;AACA,YAAM,QAAQ,YAAY,YAAW;AACrC,uBAAiB,QAAQ,qBAAqB,WAAW,KAAK,UAAU,EAAE,GAAG,OAAO,CAAC,OAAO,GAAG,OAAS,CAAE,CAAC;AAAA,IAC/G,QACM;AACF,cAAQ,KAAK,wCAAwC,OAAO;AAAA,IAChE;AAAA,EACJ;AAAA,EACA,mBAAmB;AACf,QAAI,QAAQ,CAAA;AACZ,QAAI;AACA,YAAM,SAAS,iBAAiB,QAAQ,qBAAqB,cAAc;AAC3E,cAAQ,SAAS,KAAK,MAAM,MAAM,IAAI,CAAA;AAAA,IAC1C,QACM;AACF,cAAQ,KAAK,8BAA8B;AAAA,IAC/C;AACA,WAAO;AAAA,EACX;AAAA,EACA,+BAA+B,SAAS;AACpC,QAAI;AACA,YAAM,QAAQ,YAAY,iBAAgB;AAC1C,YAAM,gBAAgB,MAAM,OAAO;AAEnC,UAAI,iBACA,CAAC,KAAK,eAAe,cAAc,WAAW,KAAK,YAAY,QAAQ,GAAG;AAC1E,eAAO,cAAc;AAAA,MACzB;AACA,kBAAY,wBAAwB,OAAO;AAAA,IAC/C,QACM;AACF,cAAQ,KAAK,qCAAqC,OAAO;AAAA,IAC7D;AACA,WAAO;AAAA,EACX;AAAA,EACA,oBAAoB,QAAQ;AACxB,QAAI;AACA,YAAM,QAAQ,YAAY,iBAAgB;AAC1C,YAAM,OAAO,OAAO,IAAI;AAAA,QACpB,UAAU,OAAO;AAAA,QACjB,WAAW,OAAO;AAAA,MAClC;AACY,uBAAiB,QAAQ,qBAAqB,gBAAgB,KAAK,UAAU,KAAK,CAAC;AAAA,IACvF,QACM;AACF,cAAQ,KAAK,mCAAmC,MAAM;AAAA,IAC1D;AAAA,EACJ;AAAA,EACA,wBAAwB,SAAS;AAC7B,QAAI;AACA,YAAM,QAAQ,YAAY,iBAAgB;AAC1C,uBAAiB,QAAQ,qBAAqB,gBAAgB,KAAK,UAAU,EAAE,GAAG,OAAO,CAAC,OAAO,GAAG,OAAS,CAAE,CAAC;AAAA,IACpH,QACM;AACF,cAAQ,KAAK,wCAAwC,OAAO;AAAA,IAChE;AAAA,EACJ;AAAA,EACA,oBAAoB;AAChB,QAAI;AACA,uBAAiB,WAAW,qBAAqB,eAAe;AAChE,uBAAiB,WAAW,qBAAqB,oBAAoB;AACrE,uBAAiB,WAAW,qBAAqB,SAAS;AAC1D,uBAAiB,WAAW,qBAAqB,cAAc;AAAA,IACnE,QACM;AACF,cAAQ,KAAK,+BAA+B;AAAA,IAChD;AAAA,EACJ;AAAA,EACA,yBAAyB,cAAc;AACnC,QAAI;AACA,uBAAiB,QAAQ,qBAAqB,yBAAyB,KAAK,UAAU,YAAY,CAAC;AAAA,IACvG,QACM;AACF,cAAQ,KAAK,yCAAyC,YAAY;AAAA,IACtE;AAAA,EACJ;AAAA,EACA,2BAA2B;AACvB,QAAI;AACA,YAAM,SAAS,iBAAiB,QAAQ,qBAAqB,uBAAuB;AACpF,UAAI,CAAC,QAAQ;AACT,eAAO,CAAA;AAAA,MACX;AACA,aAAO,KAAK,MAAM,MAAM;AAAA,IAC5B,QACM;AACF,cAAQ,KAAK,uCAAuC;AAAA,IACxD;AACA,WAAO,CAAA;AAAA,EACX;AAAA,EACA,eAAe,aAAa,gBAAgB;AACxC,QAAI;AACA,YAAM,iBAAiB;AAAA,QACnB,GAAG,YAAY,eAAc;AAAA,QAC7B,CAAC,cAAc,GAAG;AAAA,MAClC;AACY,uBAAiB,QAAQ,qBAAqB,aAAa,KAAK,UAAU,cAAc,CAAC;AAAA,IAC7F,SACO,OAAO;AACV,cAAQ,MAAM,yCAAyC,KAAK;AAAA,IAChE;AAAA,EACJ;AAAA,EACA,iBAAiB;AACb,QAAI;AACA,YAAM,qBAAqB,iBAAiB,QAAQ,qBAAqB,WAAW;AACpF,UAAI,CAAC,oBAAoB;AACrB,eAAO,CAAA;AAAA,MACX;AACA,aAAO,KAAK,MAAM,kBAAkB;AAAA,IACxC,SACO,OAAO;AACV,cAAQ,MAAM,0CAA0C,KAAK;AAC7D,aAAO,CAAA;AAAA,IACX;AAAA,EACJ;AACJ;AC9gBY,MAAC,iBAAiB;AAAA,EAC1B,WAAW;;AACP,QAAI,KAAK,YAAY;AACjB,aAAO,QAAS,QAAO,iCAAQ,gBAAe,gBAC1C,sCAAQ,WAAW,wBAAnB,mBAAwC,YACxC,wDAAwD,KAAK,UAAU,SAAS,CAAC;AAAA,IACzF;AACA,WAAO;AAAA,EACX;AAAA,EACA,iBAAiB,SAAS,cAAc,IAAI;AACxC,WAAO,mCAAS,cAAc,oBAAoB,SAAS,YAAY;EAC3E;AAAA,EACA,YAAY;AACR,QAAI,CAAC,KAAK,YAAY;AAClB,aAAO;AAAA,IACX;AACA,UAAMC,MAAK,iCAAQ,UAAU,UAAU;AACvC,WAAO,eAAe,SAAQ,KAAMA,IAAG,SAAS,SAAS;AAAA,EAC7D;AAAA,EACA,QAAQ;AACJ,QAAI,CAAC,KAAK,YAAY;AAClB,aAAO;AAAA,IACX;AACA,UAAMA,MAAK,iCAAQ,UAAU,UAAU;AACvC,WAAOA,IAAG,SAAS,QAAQ,KAAKA,IAAG,SAAS,MAAM;AAAA,EACtD;AAAA,EACA,WAAW;AACP,QAAI,CAAC,KAAK,YAAY;AAClB,aAAO;AAAA,IACX;AACA,UAAMA,MAAK,iCAAQ,UAAU,UAAU;AACvC,WAAOA,IAAG,SAAS,QAAQ;AAAA,EAC/B;AAAA,EACA,WAAW;AACP,WAAO,OAAO,WAAW;AAAA,EAC7B;AAAA,EACA,iBAAiB,QAAQ;AACrB,WAAO,SAAS,SAAS,KAAK,IAAG,KAAMlB,gBAAc,aAAa;AAAA,EACtE;AAAA,EACA,eAAe,WAAW,eAAeA,gBAAc,YAAY;AAC/D,WAAO,KAAK,QAAQ,aAAa;AAAA,EACrC;AAAA,EACA,gBAAgB,MAAM;AAClB,cAAU,UAAU,UAAU,IAAI;AAAA,EACtC;AAAA,EACA,WAAW;AACP,QAAI;AACA,cAAO,iCAAQ,WAAS,iCAAQ;AAAA,IACpC,SACO,GAAG;AACN,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EACA,YAAY;;AACR,QAAI,eAAe,SAAQ,KAAM,OAAO,SAAS,OAAO,KAAK;AACzD,UAAI;AACA,cAAM,YAAW,4CAAQ,aAAR,mBAAkB,oBAAlB,mBAAoC;AACrD,cAAM,aAAa;AACnB,YAAI,UAAU;AACV,gBAAM,cAAc,IAAI,IAAI,QAAQ;AACpC,gBAAM,UAAU,IAAI,IAAI,UAAU;AAClC,iBAAO,YAAY,aAAa,QAAQ;AAAA,QAC5C;AAAA,MACJ,QACM;AACF,eAAO;AAAA,MACX;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAAA,EACA,mBAAmB;AACf,WAAO,KAAK,QAAQA,gBAAc;AAAA,EACtC;AAAA,EACA,aAAa,aAAa;AACtB,WAAO,2CAAa,MAAM,KAAK;AAAA,EACnC;AAAA,EACA,gBAAgB,aAAa;AACzB,WAAO,2CAAa,MAAM,KAAK;AAAA,EACnC;AAAA,EACA,MAAM,KAAK,cAAc;AACrB,WAAO,IAAI,QAAQ,aAAW;AAC1B,iBAAW,SAAS,YAAY;AAAA,IACpC,CAAC;AAAA,EACL;AAAA;AAAA,EAEA,SAAS,MAAM,UAAU,KAAK;AAC1B,QAAI,QAAQ;AACZ,WAAO,IAAI,SAAS;AAChB,eAAS,OAAO;AACZ,aAAK,GAAG,IAAI;AAAA,MAChB;AACA,UAAI,OAAO;AACP,qBAAa,KAAK;AAAA,MACtB;AACA,cAAQ,WAAW,MAAM,OAAO;AAAA,IACpC;AAAA,EACJ;AAAA,EACA,UAAU,KAAK;AACX,WAAO,IAAI,WAAW,SAAS,KAAK,IAAI,WAAW,UAAU;AAAA,EACjE;AAAA,EACA,gBAAgB,QAAQ,OAAO,gBAAgB,MAAM;AACjD,QAAI,eAAe,UAAU,MAAM,GAAG;AAClC,aAAO,KAAK,mBAAmB,QAAQ,KAAK;AAAA,IAChD;AACA,QAAI,aAAa;AACjB,QAAI,oBAAoB;AACxB,QAAI,CAAC,WAAW,SAAS,KAAK,GAAG;AAC7B,mBAAa,OAAO,WAAW,KAAK,EAAE,EAAE,WAAW,KAAK,EAAE;AAC1D,mBAAa,GAAG,UAAU;AAAA,IAC9B;AACA,QAAI,CAAC,WAAW,SAAS,GAAG,GAAG;AAC3B,mBAAa,GAAG,UAAU;AAAA,IAC9B;AACA,QAAI,qBAAqB,EAAC,uDAAmB,SAAS,OAAM;AACxD,0BAAoB,GAAG,iBAAiB;AAAA,IAC5C;AAEA,QAAI,KAAK,WAAU,KAAM,KAAK,UAAS,GAAI;AAEvC,cAAQ,mBAAmB,KAAK;AAAA,IACpC;AACA,UAAM,eAAe,mBAAmB,KAAK;AAC7C,WAAO;AAAA,MACH,UAAU,GAAG,UAAU,UAAU,YAAY;AAAA,MAC7C,uBAAuB,oBACjB,GAAG,iBAAiB,UAAU,YAAY,KAC1C;AAAA,MACN,MAAM;AAAA,IAClB;AAAA,EACI;AAAA,EACA,mBAAmB,QAAQ,OAAO;AAC9B,QAAI,CAAC,eAAe,UAAU,MAAM,GAAG;AACnC,aAAO,KAAK,gBAAgB,QAAQ,KAAK;AAAA,IAC7C;AACA,QAAI,aAAa;AACjB,QAAI,CAAC,WAAW,SAAS,GAAG,GAAG;AAC3B,mBAAa,GAAG,UAAU;AAAA,IAC9B;AACA,UAAM,eAAe,mBAAmB,KAAK;AAC7C,WAAO;AAAA,MACH,UAAU,GAAG,UAAU,UAAU,YAAY;AAAA,MAC7C,MAAM;AAAA,IAClB;AAAA,EACI;AAAA,EACA,yBAAyB,QAAQ;AAC7B,QAAI,WAAW,eAAe;AAC1B,aAAO;AAAA,IACX;AAEA,QAAI,KAAK,cAAc;AAEnB,UAAI,YAAY,6BAA6B;AACzC,eAAO;AAAA,MACX;AACA,aAAO;AAAA,IACX;AACA,WAAO;AAAA,EACX;AAAA,EACA,SAAS,MAAM,QAAQ,UAAU;AAC7B,qCAAQ,KAAK,MAAM,KAAK,yBAAyB,MAAM,GAAG,YAAY;AAAA,EAC1E;AAAA,EACA,eAAe,MAAM,QAAQ,UAAU;AACnC,WAAO,iCAAQ,KAAK,MAAM,KAAK,yBAAyB,MAAM,GAAG,YAAY;AAAA,EACjF;AAAA,EACA,aAAa;AACT,WAAQ,OAAO,WAAW;AAAA,KAErB,QAAQ,OAAO,oBAAoB;AAAA,IAEhC,QAAQ,OAAO,QAAQ;AAAA,IAEvB,QAAQ,OAAO,yBAAyB;AAAA,EACpD;AAAA,EACA,QAAQ;;AACJ,QAAI,OAAO,WAAW,aAAa;AAC/B,aAAO;AAAA,IACX;AACA,UAAM,2BAA0B,kBAAO,eAAP,gCAAoB,kCAApB,mBAAmD;AACnF,UAAM,mBAAkBmB,MAAA,iCAAQ,cAAR,gBAAAA,IAAmB;AAC3C,WAAO,QAAQ,2BAA2B,eAAe;AAAA,EAC7D;AAAA,EACA,MAAM,aAAa,KAAK;AACpB,UAAM,eAAe,IAAI,QAAQ,CAAC,SAAS,WAAW;AAClD,YAAM,QAAQ,IAAI,MAAK;AACvB,YAAM,SAAS;AACf,YAAM,UAAU;AAChB,YAAM,cAAc;AACpB,YAAM,MAAM;AAAA,IAChB,CAAC;AACD,WAAO,QAAQ,KAAK,CAAC,cAAc,eAAe,KAAK,GAAI,CAAC,CAAC;AAAA,EACjE;AAAA,EACA,cAAc,SAAS,QAAQ;AAC3B,QAAI,mBAAmB;AACvB,QAAI,OAAO,YAAY,UAAU;AAC7B,YAAM,SAAS,OAAO,OAAO;AAC7B,UAAI,QAAQ;AACR,cAAM,iBAAiB,KAAK,MAAM,SAAS,GAAI,IAAI;AACnD,YAAI,gBAAgB;AAChB,6BAAmB,eAAe,SAAQ;AAAA,QAC9C;AAAA,MACJ;AAAA,IACJ;AACA,WAAO,GAAG,gBAAgB,GAAG,SAAS,IAAI,MAAM,KAAK,EAAE;AAAA,EAC3D;AAAA,EACA,eAAe,SAAS,QAAQ;;AAC5B,QAAI,mBAAmB;AACvB,QAAI,YAAY,KAAK;AACjB,yBAAmB;AAAA,IACvB,WACS,OAAO,YAAY,UAAU;AAClC,YAAM,SAAS,OAAO,OAAO;AAC7B,UAAI,QAAQ;AACR,4BAAmB,YAAO,SAAQ,EAAG,MAAM,uBAAuB,MAA/C,mBAAmD;AAAA,MAC1E;AAAA,IACJ;AACA,WAAO;AAAA,MACH,OAAO,oBAAoB;AAAA,MAC3B,MAAM,qBAAqB,MAAM,QAAQ;AAAA,MACzC;AAAA,IACZ;AAAA,EACI;AAAA,EACA,YAAY;AACR,WAAOC,gBAAgB;AAAA,EAC3B;AAAA,EACA,sBAAsB;AAClB,WAAOA,gBAAgB;AAAA,EAC3B;AAAA,EACA,kBAAkB;AACd,WAAOA,gBAAgB;AAAA,EAC3B;AAAA,EACA,UAAU;AACN,QAAI,iCAAQ,YAAY;AACpB,aAAO,OAAO,WAAU;AAAA,IAC5B;AACA,WAAO,uCAAuC,QAAQ,UAAU,CAAAd,OAAK;AACjE,YAAMe,KAAK,KAAK,OAAM,IAAK,KAAM;AACjC,YAAMP,KAAIR,OAAM,MAAMe,KAAKA,KAAI,IAAO;AACtC,aAAOP,GAAE,SAAS,EAAE;AAAA,IACxB,CAAC;AAAA,EACL;AAAA;AAAA,EAEA,WAAW,OAAO;;AACd,QAAI,OAAO,UAAU,UAAU;AAC3B,aAAO;AAAA,IACX,WACS,SAAO,0CAAO,WAAP,mBAAgB,OAAhB,mBAAoB,aAAY,UAAU;AACtD,aAAO,MAAM,OAAO,CAAC,EAAE;AAAA,IAC3B,WACS,iBAAiB,OAAO;AAC7B,aAAO,MAAM;AAAA,IACjB;AACA,WAAO;AAAA,EACX;AAAA,EACA,sBAAsB,aAAa,oBAAoB,IAAI;AACvD,UAAM,mBAAmB,CAAA;AACzB,QAAI,qBAAqB,aAAa;AAClC,kBAAY,QAAQ,CAAC,IAAI,UAAU;AAC/B,yBAAiB,EAAE,IAAI;AAAA,MAC3B,CAAC;AACD,wBAAkB,KAAK,CAACX,IAAGC,OAAM;AAC7B,cAAM,SAAS,iBAAiBD,GAAE,EAAE;AACpC,cAAM,SAAS,iBAAiBC,GAAE,EAAE;AACpC,YAAI,WAAW,UAAa,WAAW,QAAW;AAC9C,iBAAO,SAAS;AAAA,QACpB,WACS,WAAW,QAAW;AAC3B,iBAAO;AAAA,QACX,WACS,WAAW,QAAW;AAC3B,iBAAO;AAAA,QACX;AACA,eAAO;AAAA,MACX,CAAC;AAAA,IACL;AACA,WAAO;AAAA,EACX;AAAA,EACA,iBAAiB,OAAO;AACpB,QAAI,MAAM;AACV,eAAW,QAAQ,OAAO;AACtB,aAAO,KAAK,SAAS;AAAA,IACzB;AACA,WAAO;AAAA,EACX;AAAA,EACA,mBAAmB,QAAQ;AACvB,UAAM,gBAAgB,OAAO,QAAQ,CAAC;AACtC,UAAM,CAAC,SAAS,OAAO,IAAI,cAAc,MAAM,GAAG;AAClD,WAAO,EAAE,SAAS,QAAO;AAAA,EAC7B;AAAA,EACA,UAAU,SAAS,QAAQ,UAAU;AACjC,YAAQ,OAAK;AAAA,MACT,KAAK;AACD,YAAI,CAAC,0BAA0B,KAAK,OAAO,GAAG;AAC1C,iBAAO;AAAA,QACX,WACS,0BAA0B,KAAK,OAAO,KAC3C,0BAA0B,KAAK,OAAO,GAAG;AACzC,iBAAO;AAAA,QACX;AACA,eAAO;AAAA,MACX,KAAK;AACD,eAAO,iCAAiC,KAAK,OAAO;AAAA,MACxD;AACI,eAAO;AAAA,IACvB;AAAA,EACI;AAAA,EACA,SAAS,KAAK,KAAK;AACf,UAAM,MAAM,oBAAI,IAAG;AACnB,WAAO,IAAI,OAAO,UAAQ;AACtB,YAAM,WAAW,KAAK,GAAG;AACzB,UAAI,IAAI,IAAI,QAAQ,GAAG;AACnB,eAAO;AAAA,MACX;AACA,UAAI,IAAI,QAAQ;AAChB,aAAO;AAAA,IACX,CAAC;AAAA,EACL;AAAA,EACA,mBAAmB,UAAU,UAAU,SAAS;AAC5C,UAAM,gBAAgB,SAAS,WAAW;AAC1C,UAAM,eAAgB,gBAChBJ,gBAAc,cAAc,YAC5B,SAAS,IAAI,aAAW,QAAQ,WAAW,EAAE,KAAK,GAAG;AAC3D,WAAO,GAAG,QAAQ,IAAI,YAAY,IAAI,OAAO;AAAA,EACjD;AAAA;AAAA,EAEA,cAAc,WAAW,SAAS,MAAM,WAAW,MAAM;AACrD,WAAO;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACZ;AAAA,EACI;AAAA,EACA,cAAc,SAAS;AACnB,QAAI,OAAO,YAAY,UAAU;AAC7B,aAAO;AAAA,IACX;AACA,UAAM,WAAW,QAAQ,MAAM,GAAG;AAClC,UAAM,YAAY,SAAS,CAAC;AAC5B,WAAQ,SAAS,OAAO,OAAO,EAAE,WAAW,KACxC,aAAaoB,gBAAgB;AAAA,EACrC;AAAA,EACA,QAAQ;AACJ,UAAMF,MAAK,iCAAQ,UAAU,UAAU;AACvC,WAAOA,IAAG,SAAS,WAAW,KAAK,CAACA,IAAG,SAAS,QAAQ;AAAA,EAC5D;AAAA,EACA,6BAA6B,KAAK;AAC9B,UAAM,gBAAgB,KAAK,mBAAmB,iCAAQ,SAAS,IAAI,CAAC;AACpE,UAAM,gBAAgB;AACtB,UAAM,YAAY,IAAI,IAAI,GAAG;AAC7B,QAAI,UAAU,SAAS,mBAAmB;AACtC,YAAM,gBAAgB;AACtB,YAAM,cAAc,IAAI,UAAU,IAAI,QAAQ,aAAa,IAAI,cAAc,MAAM;AACnF,YAAM,YAAY,KAAK,cAAc,mBAAmB,WAAW,GAAG,eAAe,aAAa;AAClG,aAAO,IAAI,QAAQ,aAAa,mBAAmB,SAAS,CAAC;AAAA,IACjE;AACA,WAAO,KAAK,cAAc,KAAK,eAAe,aAAa;AAAA,EAC/D;AAAA,EACA,cAAc,KAAK,KAAK,cAAc;AAElC,UAAM,WAAW,IAAI,QAAQ,GAAG;AAChC,QAAI,aAAa,IAAI;AACjB,YAAM,IAAI,MAAM,GAAG,GAAG,oCAAoC,GAAG,EAAE;AAAA,IACnE;AAEA,UAAM,cAAc,IAAI,QAAQ,KAAK,QAAQ;AAC7C,UAAM,YAAY,IAAI;AAGtB,UAAM,cAAc,gBAAgB,KAAK,cAAc,IAAI;AAE3D,UAAM,iBAAiB,IAAI,UAAU,GAAG,WAAW,SAAS;AAE5D,UAAM,kBAAkB,IAAI,UAAU,WAAW,WAAW,WAAW;AAEvE,UAAM,gBAAgB,IAAI,UAAU,WAAW;AAE/C,UAAM,cAAc,kBAAkB;AAEtC,UAAM,SAAS,iBAAiB,cAAc;AAC9C,WAAO;AAAA,EACX;AACJ;ACjYA,eAAe,aAAa,MAAM;AAC9B,QAAM,WAAW,MAAM,MAAM,GAAG,IAAI;AACpC,MAAI,CAAC,SAAS,IAAI;AAEd,UAAM,MAAM,IAAI,MAAM,qBAAqB,SAAS,MAAM,IAAI;AAAA,MAC1D,OAAO;AAAA,IACnB,CAAS;AACD,UAAM;AAAA,EACV;AACA,SAAO;AACX;AAEO,MAAM,UAAU;AAAA,EACnB,YAAY,EAAE,SAAAI,UAAS,YAAY;AAC/B,SAAK,UAAUA;AACf,SAAK,WAAW;AAAA,EACpB;AAAA,EACA,MAAM,IAAI,EAAE,SAAS,QAAQ,OAAO,GAAG,QAAQ;AAC3C,UAAM,MAAM,KAAK,UAAU,IAAI;AAC/B,UAAM,WAAW,MAAM,UAAU,KAAK,EAAE,QAAQ,OAAO,SAAS,QAAQ,OAAO;AAC/E,WAAO,SAAS,KAAI;AAAA,EACxB;AAAA,EACA,MAAM,QAAQ,EAAE,SAAS,QAAQ,GAAG,KAAI,GAAI;AACxC,UAAM,MAAM,KAAK,UAAU,IAAI;AAC/B,UAAM,WAAW,MAAM,UAAU,KAAK,EAAE,QAAQ,OAAO,SAAS,QAAQ;AACxE,WAAO,SAAS,KAAI;AAAA,EACxB;AAAA,EACA,MAAM,KAAK,EAAE,MAAM,SAAS,QAAQ,GAAG,QAAQ;AAC3C,UAAM,MAAM,KAAK,UAAU,IAAI;AAC/B,UAAM,WAAW,MAAM,UAAU,KAAK;AAAA,MAClC,QAAQ;AAAA,MACR;AAAA,MACA,MAAM,OAAO,KAAK,UAAU,IAAI,IAAI;AAAA,MACpC;AAAA,IACZ,CAAS;AACD,WAAO,SAAS,KAAI;AAAA,EACxB;AAAA,EACA,MAAM,IAAI,EAAE,MAAM,SAAS,QAAQ,GAAG,QAAQ;AAC1C,UAAM,MAAM,KAAK,UAAU,IAAI;AAC/B,UAAM,WAAW,MAAM,UAAU,KAAK;AAAA,MAClC,QAAQ;AAAA,MACR;AAAA,MACA,MAAM,OAAO,KAAK,UAAU,IAAI,IAAI;AAAA,MACpC;AAAA,IACZ,CAAS;AACD,WAAO,SAAS,KAAI;AAAA,EACxB;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,SAAS,QAAQ,GAAG,QAAQ;AAC7C,UAAM,MAAM,KAAK,UAAU,IAAI;AAC/B,UAAM,WAAW,MAAM,UAAU,KAAK;AAAA,MAClC,QAAQ;AAAA,MACR;AAAA,MACA,MAAM,OAAO,KAAK,UAAU,IAAI,IAAI;AAAA,MACpC;AAAA,IACZ,CAAS;AACD,WAAO,SAAS,KAAI;AAAA,EACxB;AAAA,EACA,UAAU,EAAE,MAAM,UAAU;AACxB,UAAM,MAAM,IAAI,IAAI,MAAM,KAAK,OAAO;AACtC,QAAI,QAAQ;AACR,aAAO,QAAQ,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC7C,YAAI,OAAO;AACP,cAAI,aAAa,OAAO,KAAK,KAAK;AAAA,QACtC;AAAA,MACJ,CAAC;AAAA,IACL;AACA,QAAI,KAAK,UAAU;AACf,UAAI,aAAa,OAAO,YAAY,KAAK,QAAQ;AAAA,IACrD;AACA,WAAO;AAAA,EACX;AACJ;ACrEO,MAAM,cAAc;AAAA,EACvB,gBAAgB,KAAK,UAAU;AAC3B,UAAM,cAAc,qCAAW;AAC/B,QAAI,gBAAgB,QAAW;AAC3B,aAAOtB,gBAAc,iBAAiB,GAAG;AAAA,IAC7C;AACA,WAAO;AAAA,EACX;AAAA,EACA,wBAAwB,SAAS;AAC7B,QAAI,CAAC,WAAW,CAAC,QAAQ,QAAQ;AAC7B,aAAO;AAAA,IACX;AACA,QAAI,eAAe,cAAc;AAC7B,UAAI,eAAe,SAAS;AACxB,eAAO,QAAQ,OAAO,CAAAuB,OAAKA,OAAM,QAAQ;AAAA,MAC7C;AACA,UAAI,eAAe,SAAS;AACxB,eAAO,QAAQ,OAAO,CAAAA,OAAKA,OAAM,GAAG;AAAA,MACxC;AACA,UAAI,eAAe,aAAa;AAC5B,eAAO,QAAQ,OAAO,CAAAA,OAAK,CAAC,CAAC,YAAY,GAAG,EAAE,SAASA,EAAC,CAAC;AAAA,MAC7D;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AACJ;ACtBA,MAAMC,UAAQ,MAAM;AAAA,EAChB,UAAUxB,gBAAc;AAAA,EACxB,WAAW;AAAA,EACX,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,qBAAqBA,gBAAc;AAAA,EACnC,qBAAqB;AAAA,EACrB,mCAAmC;AAAA,EACnC,gBAAgB,CAAA;AACpB,CAAC;AAEW,MAAC,oBAAoB;AAAA,EACjC,OAAIwB;AAAAA,EACA,aAAa,KAAK,UAAU;AACxB,WAAOC,aAAOD,SAAO,KAAK,QAAQ;AAAA,EACtC;AAAA,EACA,WAAW,SAAS;AAChB,WAAO,OAAOA,SAAO,OAAO;AAAA,EAChC;AAAA,EACA,kBAAkB,gBAAgB;;AAC9B,QAAI,CAAC,gBAAgB;AACjB;AAAA,IACJ;AACA,UAAM,oBAAoB,EAAE,GAAGA,QAAM,gBAAgB,GAAG,eAAc;AACtEA,YAAM,iBAAiB;AACvB,SAAIA,aAAM,mBAANA,mBAAsB,SAAS;AAC/BA,cAAM,eAAe,UAAU,YAAY,wBAAwBA,QAAM,eAAe,OAAO;AAAA,IACnG;AAAA,EACJ;AAAA,EACA,YAAY,UAAU;AAClB,QAAI,CAAC,UAAU;AACX;AAAA,IACJ;AACA,QAAI,CAACA,QAAM,UAAU;AACjBA,cAAM,WAAWxB,gBAAc;AAAA,IACnC;AACA,UAAM,cAAc,EAAE,GAAGwB,QAAM,UAAU,GAAG,SAAQ;AACpDA,YAAM,WAAW;AAAA,EACrB;AAAA,EACA,aAAa,WAAW;AACpBA,YAAM,YAAY;AAAA,EACtB;AAAA,EACA,iBAAiB,eAAe;AAC5BA,YAAM,gBAAgB;AAAA,EAC1B;AAAA,EACA,cAAc,YAAY;AACtBA,YAAM,aAAa;AAAA,EACvB;AAAA,EACA,oBAAoB,kBAAkB;AAClCA,YAAM,mBAAmB;AAAA,EAC7B;AAAA,EACA,oBAAoB,kBAAkB;AAClCA,YAAM,mBAAmB;AAAA,EAC7B;AAAA,EACA,qBAAqB,mBAAmB;AACpCA,YAAM,oBAAoB;AAAA,EAC9B;AAAA,EACA,UAAU,QAAQ;AACdA,YAAM,SAAS;AAAA,EACnB;AAAA,EACA,sBAAsB,oBAAoB;AACtCA,YAAM,qBAAqB;AAAA,EAC/B;AAAA,EACA,oBAAoB,kBAAkB;AAClCA,YAAM,mBAAmB;AAAA,EAC7B;AAAA,EACA,iBAAiB,eAAe;AAC5BA,YAAM,gBAAgB;AAAA,EAC1B;AAAA,EACA,iBAAiB,eAAe;AAC5BA,YAAM,gBAAgB;AAAA,EAC1B;AAAA,EACA,uBAAuB,qBAAqB;AACxCA,YAAM,sBAAsB;AAAA,EAChC;AAAA,EACA,cAAc,YAAY;AACtBA,YAAM,aAAa;AAAA,EACvB;AAAA,EACA,YAAY,UAAU;AAClBA,YAAM,WAAW;AAAA,EACrB;AAAA,EACA,iBAAiB,eAAe;AAC5BA,YAAM,gBAAgB;AAAA,EAC1B;AAAA,EACA,kBAAkB,eAAe;AAC7BA,YAAM,gBAAgB;AAAA,EAC1B;AAAA,EACA,SAAS,OAAO;AACZA,YAAM,QAAQ;AAAA,EAClB;AAAA,EACA,uBAAuB,qBAAqB;AACxCA,YAAM,sBAAsB;AAAA,EAChC;AAAA,EACA,qBAAqB,mBAAmB;AACpCA,YAAM,oBAAoB;AAAA,EAC9B;AAAA,EACA,oBAAoB,kBAAkB;AAClCA,YAAM,mBAAmB;AAAA,EAC7B;AAAA,EACA,iBAAiB,eAAe;AAC5BA,YAAM,gBAAgB;AAAA,EAC1B;AAAA,EACA,wBAAwB,sBAAsB;AAC1CA,YAAM,oCAAoC;AAAA,EAC9C;AAAA,EACA,wBAAwB,sBAAsB;AAC1CA,YAAM,uBAAuB;AAAA,EACjC;AAAA,EACA,QAAQ,MAAM;AACVA,YAAM,OAAO;AAAA,EACjB;AAAA,EACA,uBAAuB,qBAAqB;AACxCA,YAAM,WAAW;AAAA,MACb,GAAGA,QAAM;AAAA,MACT;AAAA,IACZ;AAAA,EACI;AAAA,EACA,uBAAuB,qBAAqB;AACxCA,YAAM,WAAW;AAAA,MACb,GAAGA,QAAM;AAAA,MACT;AAAA,IACZ;AAAA,EACI;AAAA,EACA,gBAAgB,cAAc;AAC1BA,YAAM,iBAAiB;AAAA,MACnB,GAAGA,QAAM;AAAA,MACT,SAAS;AAAA,IACrB;AAAA,EACI;AAAA,EACA,mBAAmB,iBAAiB;AAChCA,YAAM,WAAW;AAAA,MACb,GAAGA,QAAM;AAAA,MACT;AAAA,IACZ;AAAA,EACI;AAAA,EACA,kBAAkB,gBAAgB;AAC9BA,YAAM,iBAAiB;AAAA,EAC3B;AAAA,EACA,yBAAyB,uBAAuB;AAC5CA,YAAM,wBAAwB;AAAA,EAClC;AAAA,EACA,mBAAmB,iBAAiB;AAChCA,YAAM,kBAAkB;AAAA,EAC5B;AAAA,EACA,uBAAuB,qBAAqB;AACxCA,YAAM,sBAAsB;AAAA,EAChC;AAAA,EACA,uBAAuB,qBAAqB,IAAI;AAC5C,WAAO,QAAQ,kBAAkB,EAAE,QAAQ,CAAC,CAAC,WAAW,WAAW,MAAM;AACrE,UAAI,aAAa;AAEbA,gBAAM,oBAAoB,SAAS,IAAI;AAAA,MAC3C;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EACA,mCAAmC,iCAAiC;AAChEA,YAAM,kCAAkC;AAAA,EAC5C;AAAA,EACA,qCAAqC;AACjC,WAAOA,QAAM;AAAA,EACjB;AAAA,EACA,cAAc;AACV,WAAO,SAASA,OAAK;AAAA,EACzB;AACJ;ACnKA,MAAME,kBAAgB,OAAO,OAAO;AAAA,EAChC,SAAS;AAAA,EACT,QAAQ,CAAA;AACZ,CAAC;AACD,MAAMC,QAAM,IAAI,UAAU,EAAE,SAAS,eAAe,gBAAe,GAAI,UAAU,MAAM;AAEvF,MAAM,wBAAwB;AAC9B,MAAM,gBAAgB,KAAK;AAE3B,MAAMH,UAAQ,MAAM;AAAA,EAChB,GAAGE;AACP,CAAC;AAEM,MAAM,sBAAsB;AAAA,EACnC,OAAIF;AAAAA,EACA,aAAa,KAAK,UAAU;AACxB,WAAOC,aAAOD,SAAO,KAAK,QAAQ;AAAA,EACtC;AAAA,EACA,MAAM,UAAU,OAAO,UAAU;AAC7B,QAAI,CAACA,QAAM,SAAS;AAChB;AAAA,IACJ;AAEA,UAAM,MAAM,KAAK,IAAG;AACpB,UAAM,eAAeA,QAAM,OAAO,OAAO,WAAS;AAC9C,YAAM,YAAY,IAAI,KAAK,MAAM,WAAW,aAAa,EAAE,EAAE,QAAO;AACpE,aAAO,MAAM,YAAY;AAAA,IAC7B,CAAC;AACD,QAAI,aAAa,UAAU,uBAAuB;AAE9C;AAAA,IACJ;AACA,UAAM,aAAa;AAAA,MACf,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACR,WAAW,MAAM;AAAA,QACjB,cAAc,MAAM;AAAA,QACpB,YAAY,MAAM;AAAA,QAClB,YAAW,oBAAI,KAAI,GAAG,YAAW;AAAA,MACjD;AAAA,IACA;AACQA,YAAM,OAAO,KAAK,UAAU;AAC5B,QAAI;AACA,UAAI,OAAO,WAAW,aAAa;AAC/B;AAAA,MACJ;AACA,YAAM,EAAE,WAAW,SAAS,WAAU,IAAK,kBAAkB;AAC7D,YAAMG,MAAI,KAAK;AAAA,QACX,MAAM;AAAA,QACN,QAAQ;AAAA,UACJ;AAAA,UACA,IAAI;AAAA,UACJ,IAAI,cAAc;AAAA,QACtC;AAAA,QACgB,MAAM;AAAA,UACF,SAAS,eAAe,QAAO;AAAA,UAC/B,KAAK,OAAO,SAAS;AAAA,UACrB,QAAQ,OAAO,SAAS;AAAA,UACxB,YAAW,oBAAI,KAAI,GAAG,YAAW;AAAA,UACjC,OAAO;AAAA,YACH,MAAM;AAAA,YACN,OAAO;AAAA,YACP,WAAW,MAAM;AAAA,YACjB,cAAc,MAAM;AAAA,YACpB,YAAY,MAAM;AAAA,UAC1C;AAAA,QACA;AAAA,MACA,CAAa;AAAA,IACL,QACM;AAAA,IAEN;AAAA,EACJ;AAAA,EACA,SAAS;AACLH,YAAM,UAAU;AAAA,EACpB;AAAA,EACA,UAAU;AACNA,YAAM,UAAU;AAAA,EACpB;AAAA,EACA,cAAc;AACVA,YAAM,SAAS,CAAA;AAAA,EACnB;AACJ;ACxFO,MAAM,oBAAoB,MAAM;AAAA,EACnC,YAAY,SAAS,UAAU,eAAe;AAC1C,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,SAAK,WAAW;AAChB,SAAK,gBAAgB;AAErB,WAAO,eAAe,MAAM,YAAY,SAAS;AACjD,QAAI,iCAAiC;AACrC,QAAI,yBAAyB,SACzB,OAAO,cAAc,UAAU,YAC/B,cAAc,OAAO;AACrB,YAAM,qBAAqB,cAAc;AAKzC,YAAM,oBAAoB,mBAAmB,QAAQ,IAAI;AACzD,UAAI,oBAAoB,IAAI;AACxB,cAAM,iBAAiB,mBAAmB,UAAU,oBAAoB,CAAC;AACzE,aAAK,QAAQ,GAAG,KAAK,IAAI,KAAK,KAAK,OAAO;AAAA,EAAK,cAAc;AAC7D,yCAAiC;AAAA,MACrC;AAAA,IACJ;AACA,QAAI,CAAC,gCAAgC;AAMjC,UAAI,MAAM,mBAAmB;AACzB,cAAM,kBAAkB,MAAM,WAAW;AAAA,MAC7C,WACS,CAAC,KAAK,OAAO;AAOlB,aAAK,QAAQ,GAAG,KAAK,IAAI,KAAK,KAAK,OAAO;AAAA,MAC9C;AAAA,IACJ;AAAA,EACJ;AACJ;AAEA,SAAS,aAAa,KAAK,iBAAiB;AACxC,QAAM,QAAQ,eAAe,cACvB,MACA,IAAI,YAAY,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,GAAG,iBAAiB,GAAG;AAC5F,sBAAoB,UAAU,OAAO,MAAM,QAAQ;AACnD,QAAM;AACV;AACO,SAAS,kBAAkBI,aAAY,kBAAkB,sBAAsB;AAClF,QAAM,gBAAgB,CAAA;AACtB,SAAO,KAAKA,WAAU,EAAE,QAAQ,SAAO;AACnC,UAAM,WAAWA,YAAW,GAAG;AAC/B,QAAI,OAAO,aAAa,YAAY;AAChC,UAAI,UAAU;AACd,UAAI,SAAS,YAAY,SAAS,iBAAiB;AAC/C,kBAAU,UAAU,SAAS;AACzB,cAAI;AACA,mBAAO,MAAM,SAAS,GAAG,IAAI;AAAA,UACjC,SACO,KAAK;AACR,mBAAO,aAAa,KAAK,eAAe;AAAA,UAC5C;AAAA,QACJ;AAAA,MACJ,OACK;AACD,kBAAU,IAAI,SAAS;AACnB,cAAI;AACA,mBAAO,SAAS,GAAG,IAAI;AAAA,UAC3B,SACO,KAAK;AACR,mBAAO,aAAa,KAAK,eAAe;AAAA,UAC5C;AAAA,QACJ;AAAA,MACJ;AACA,oBAAc,GAAG,IAAI;AAAA,IACzB,OACK;AACD,oBAAc,GAAG,IAAI;AAAA,IACzB;AAAA,EACJ,CAAC;AACD,SAAO;AACX;AChFO,MAAM,0BAA0B;AAAA,EACnC,SAAS;AAAA,IACL,IAAI;AAAA,IACJ,KAAK;AAAA,EACb;AAAA,EACI,UAAU;AAAA,IACN,IAAI;AAAA,IACJ,KAAK;AAAA,EACb;AAAA,EACI,UAAU;AAAA,IACN,IAAI;AAAA,IACJ,KAAK;AAAA,EACb;AACA;AACO,MAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5B,6BAA6B,IAAI,WAAW;AAMxC,UAAM,OAAO,OAAO,SAAS;AAC7B,UAAM,cAAc,mBAAmB,IAAI;AAC3C,QAAI,OAAO,wBAAwB,QAAQ,MAAM,EAAE,aAAa,SAAS;AACrE,YAAM,WAAW,KAAK,WAAW,OAAO,IAAI,UAAU;AACtD,YAAM,OAAO,KAAK,MAAM,GAAG,EAAE,CAAC;AAC9B,YAAM,aAAa,mBAAmB,GAAG,QAAQ,MAAM,IAAI,EAAE;AAC7D,aAAO,SAAS,OAAO,GAAG,wBAAwB,QAAQ,GAAG,cAAc,WAAW,QAAQ,UAAU;AAAA,IAC5G;AACA,QAAI,OAAO,wBAAwB,SAAS,MAAM,EAAE,cAAc,SAAS;AACvE,aAAO,SAAS,OAAO,GAAG,wBAAwB,SAAS,GAAG,iBAAiB,WAAW,QAAQ,WAAW;AAAA,IACjH;AACA,QAAI,cAAc5B,gBAAc,MAAM,QAAQ;AAC1C,UAAI,OAAO,wBAAwB,SAAS,MAAM,EAAE,oBAAoB,SAAS;AAC7E,eAAO,SAAS,OAAO,GAAG,wBAAwB,SAAS,GAAG,gBAAgB,WAAW;AAAA,MAC7F;AAAA,IACJ;AAAA,EACJ;AACJ;AC/CA,MAAMwB,UAAQ,MAAM;AAAA,EAChB,cAAc,CAAA;AAAA,EACd,eAAe,CAAA;AAAA,EACf,aAAa,CAAA;AAAA,EACb,iBAAiB,CAAA;AAAA,EACjB,aAAa,CAAA;AAAA,EACb,gBAAgB,CAAA;AACpB,CAAC;AAED,MAAMI,eAAa;AAAA,EACnB,OAAIJ;AAAAA,EACA,uBAAuB,UAAU;AAC7B,WAAOK,UAAIL,QAAM,eAAe,MAAM,SAASA,QAAM,aAAa,CAAC;AAAA,EACvE;AAAA,EACA,aAAa,KAAK,UAAU;AACxB,WAAOC,aAAOD,SAAO,KAAK,QAAQ;AAAA,EACtC;AAAA,EACA,UAAU,UAAU;AAChB,WAAOK,UAAIL,SAAO,MAAM,SAASA,OAAK,CAAC;AAAA,EAC3C;AAAA,EACA,eAAe,KAAK,OAAO;AACvBA,YAAM,aAAa,GAAG,IAAI;AAAA,EAC9B;AAAA,EACA,gBAAgB,KAAK,OAAO;AACxBA,YAAM,cAAc,GAAG,IAAI;AAAA,EAC/B;AAAA,EACA,cAAc,KAAK,OAAO;AACtBA,YAAM,YAAY,GAAG,IAAI;AAAA,EAC7B;AAAA,EACA,kBAAkB,KAAK,OAAO;AAC1BA,YAAM,kBAAkB,EAAE,GAAGA,QAAM,iBAAiB,CAAC,GAAG,GAAG,MAAK;AAAA,EACpE;AAAA,EACA,cAAc,KAAK,OAAO;AACtBA,YAAM,YAAY,GAAG,IAAI;AAAA,EAC7B;AAAA,EACA,iBAAiB,KAAK,OAAO;AACzBA,YAAM,eAAe,GAAG,IAAI;AAAA,EAChC;AACJ;AAEY,MAAC,kBAAkB,kBAAkBI,YAAU;ACzC3D,MAAM,oBAAoB;AAAA;AAAA,EAEtB,QAAQ;AAAA;AAAA,EAER,QAAQ;AAAA;AAAA,EAER,UAAU;AAAA;AAAA,EAEV,QAAQ;AAAA;AAAA,EAER,QAAQ;AACZ;AAEA,MAAMJ,UAAQ,MAAM;AAAA,EAChB,sBAAsB,CAAA;AAC1B,CAAC;AAEW,MAAC,YAAY;AAAA,EACrB,MAAM,iBAAiB,SAAS;AAC5B,QAAI,CAAC,SAAS;AACV,aAAO;AAAA,IACX;AACA,UAAM,cAAc,kBAAkB,OAAO;AAC7C,WAAO,KAAK,mBAAmB,OAAO;AAAA,EAC1C;AAAA,EACA,MAAM,kBAAkB,SAAS;AAC7B,QAAI,CAAC,SAAS;AACV,aAAO;AAAA,IACX;AACA,UAAM,gBAAgB,KAAK,oBAAoB,OAAO;AAEtD,QAAI,eAAe;AACf,aAAO;AAAA,IACX;AAEA,QAAI,CAACA,QAAM,qBAAqB,OAAO,GAAG;AACtCA,cAAM,qBAAqB,OAAO,IAAI,cAAc,mBAAmB,OAAO;AAAA,IAClF;AACA,UAAMA,QAAM,qBAAqB,OAAO;AACxC,WAAO,KAAK,oBAAoB,OAAO;AAAA,EAC3C;AAAA,EACA,mBAAmB,SAAS;AACxB,QAAI,CAAC,SAAS;AACV,aAAO;AAAA,IACX;AACA,WAAO,gBAAgB,MAAM,aAAa,OAAO;AAAA,EACrD;AAAA,EACA,eAAe,QAAQ;AACnB,QAAI,iCAAQ,WAAW;AACnB,aAAO,iCAAQ;AAAA,IACnB;AACA,QAAI,iCAAQ,UAAU;AAClB,aAAO,gBAAgB,MAAM,aAAa,OAAO,QAAQ;AAAA,IAC7D;AACA,WAAO;AAAA,EACX;AAAA,EACA,gBAAgB,SAAS;;AACrB,SAAI,wCAAS,WAAT,mBAAiB,UAAU;AAC3B,cAAO,wCAAS,WAAT,mBAAiB;AAAA,IAC5B;AACA,SAAIL,MAAA,mCAAS,WAAT,gBAAAA,IAAiB,SAAS;AAC1B,aAAO,gBAAgB,MAAM,cAAc,QAAQ,OAAO,OAAO;AAAA,IACrE;AACA,WAAO;AAAA,EACX;AAAA,EACA,oBAAoB,SAAS;AACzB,QAAI,CAAC,SAAS;AACV,aAAO;AAAA,IACX;AACA,WAAO,gBAAgB,MAAM,cAAc,OAAO;AAAA,EACtD;AAAA,EACA,kBAAkB,WAAW;AACzB,QAAI,uCAAW,UAAU;AACrB,aAAO,UAAU;AAAA,IACrB;AACA,QAAI,uCAAW,SAAS;AACpB,aAAO,gBAAgB,MAAM,gBAAgB,UAAU,OAAO;AAAA,IAClE;AACA,WAAO;AAAA,EACX;AAAA,EACA,cAAc,OAAO;AACjB,WAAO,gBAAgB,MAAM,cAAc,kBAAkB,KAAK,CAAC;AAAA,EACvE;AACJ;ACjFA,MAAMK,UAAQ,MAAM;AAAA,EAChB,SAAS;AAAA,EACT,SAAS;AAAA,EACT,MAAM;AACV,CAAC;AAED,MAAMI,eAAa;AAAA,EACnB,OAAIJ;AAAAA,EACA,aAAa,KAAK,UAAU;AACxB,WAAOC,aAAOD,SAAO,KAAK,QAAQ;AAAA,EACtC;AAAA,EACA,KAAK,SAAS,SAAS;AACnB,UAAM,EAAE,UAAU,kBAAkB;AACpC,UAAM,EAAE,cAAc,YAAW,IAAK;AACtC,QAAI,OAAO;AACPA,cAAM,UAAU;AAChBA,cAAM,UAAU;AAChBA,cAAM,OAAO;AAAA,IACjB;AACA,QAAI,aAAa;AAEb,cAAQ,MAAM,OAAO,gBAAgB,aAAa,YAAW,IAAK,WAAW;AAAA,IACjF;AAAA,EACJ;AAAA,EACA,QAAQ;AACJA,YAAM,OAAO;AACbA,YAAM,UAAU;AAChBA,YAAM,UAAU;AAAA,EACpB;AACJ;AAEY,MAAC,kBAAkB,kBAAkBI,YAAU;AC5B3D,MAAMN,YAAU,eAAe,gBAAe;AAC9C,MAAMK,QAAM,IAAI,UAAU,EAAA,SAAEL,WAAS,UAAU,KAAI,CAAE;AACrD,MAAM,WAAW,CAAC,eAAe;AAEjC,MAAME,UAAQ,MAAM;AAAA,EAChB,WAAW,KAAK,IAAG;AAAA,EACnB,gBAAgB,CAAA;AAAA,EAChB,MAAM;AAAA,IACF,MAAM;AAAA,IACN,OAAO;AAAA,EACf;AACA,CAAC;AAEW,MAAC,mBAAmB;AAAA,EAChC,OAAIA;AAAAA,EACA,UAAU,UAAU;AAChB,WAAOK,UAAIL,SAAO,MAAM,SAASA,OAAK,CAAC;AAAA,EAC3C;AAAA,EACA,mBAAmB;AACf,UAAM,EAAE,WAAW,SAAS,WAAU,IAAK,kBAAkB;AAC7D,WAAO;AAAA,MACH;AAAA,MACA,IAAI;AAAA,MACJ,IAAI,cAAc;AAAA,IAC9B;AAAA,EACI;AAAA,EACA,MAAM,oBAAoB,SAAS;AAC/B,QAAI;AACA,YAAM,UAAU,kBAAkB,MAAM;AACxC,UAAI,SAAS,SAAS,QAAQ,KAAK,KAAK,KAAK,OAAO,WAAW,aAAa;AACxE;AAAA,MACJ;AACA,YAAMG,MAAI,KAAK;AAAA,QACX,MAAM;AAAA,QACN,QAAQ,iBAAiB,iBAAgB;AAAA,QACzC,MAAM;AAAA,UACF,SAAS,eAAe,QAAO;AAAA,UAC/B,KAAK,OAAO,SAAS;AAAA,UACrB,QAAQ,OAAO,SAAS;AAAA,UACxB,WAAW,QAAQ;AAAA,UACnB,OAAO,EAAE,GAAG,QAAQ,MAAM,QAAO;AAAA,QACrD;AAAA,MACA,CAAa;AACDH,cAAM,eAAe,WAAW,IAAI;AAAA,IACxC,SACO,KAAK;AACR,YAAM,mBAAmB,eAAe,SACpC,IAAI,iBAAiB,YACrB,IAAI,MAAM,WAAWxB,gBAAc,kBAAkB,aACrD,CAACwB,QAAM,eAAe,WAAW;AACrC,UAAI,kBAAkB;AAClB,wBAAgB,KAAK;AAAA,UACjB,cAAc;AAAA,UACd,aAAa,UAAUnB,SAAM,IAAK,OAAO,SAAS,QAAQ;AAAA,QAC9E,GAAmB,OAAO;AACVmB,gBAAM,eAAe,WAAW,IAAI;AAAA,MACxC;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,UAAU,MAAM;;AACZA,YAAM,YAAY,KAAK,IAAG;AAC1BA,YAAM,OAAO;AACb,SAAI,uBAAkB,MAAM,aAAxB,mBAAkC,WAAW;AAC7C,uBAAiB,oBAAoBA,OAAK;AAAA,IAC9C;AAAA,EACJ;AACJ;AC7DA,MAAMF,YAAU,eAAe,UAAS;AACjC,MAAM,MAAM,IAAI,UAAU;AAAA,EACjC,SAAIA;AAAAA,EACA,UAAU;AACd,CAAC;AACD,MAAM,UAAU;AAChB,MAAM,qBAAqB;AAC3B,MAAM,oBAAoB;AAE1B,MAAME,UAAQ,MAAM;AAAA,EAChB,UAAU,CAAA;AAAA,EACV,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU,CAAA;AAAA,EACV,aAAa,CAAA;AAAA,EACb,aAAa,CAAA;AAAA,EACb,gBAAgB,CAAA;AAAA,EAChB,SAAS,CAAA;AAAA,EACT,iBAAiB,CAAA;AAAA,EACjB,QAAQ,CAAA;AAAA,EACR,oBAAoB;AAAA,EACpB,iBAAiB,CAAA;AAAA,EACjB,8BAA8B;AAClC,CAAC;AAEW,MAAC,gBAAgB;AAAA,EAC7B,OAAIA;AAAAA,EACA,aAAa,KAAK,UAAU;AACxB,WAAOC,aAAOD,SAAO,KAAK,QAAQ;AAAA,EACtC;AAAA,EACA,oBAAoB;AAChB,UAAM,EAAE,WAAW,SAAS,WAAU,IAAK,kBAAkB;AAC7D,WAAO;AAAA,MACH;AAAA,MACA,IAAI,WAAW;AAAA,MACf,IAAI,cAAc;AAAA,IAC9B;AAAA,EACI;AAAA,EACA,qBAAqB,SAAS;AAC1B,QAAI,kBAAkB,MAAM,qBAAqB;AAC7C,aAAO,QAAQ,OAAO,CAAAP,OAAK,QAAQA,GAAE,eAAeA,GAAE,gBAAgBA,GAAE,WAAW,CAAC;AAAA,IACxF;AACA,WAAO;AAAA,EACX;AAAA,EACA,MAAM,kBAAkB,SAAS;AAC7B,UAAM,WAAW,GAAG,IAAI,OAAO,mBAAmB,OAAO;AACzD,UAAM,OAAO,MAAM,IAAI,QAAQ,EAAE,MAAM,UAAU,QAAQ,cAAc,kBAAiB,GAAI;AAC5F,oBAAgB,eAAe,SAAS,IAAI,gBAAgB,IAAI,CAAC;AAAA,EACrE;AAAA,EACA,MAAM,mBAAmB,SAAS;AAC9B,UAAM,WAAW,GAAG,IAAI,OAAO,yBAAyB,OAAO;AAC/D,UAAM,OAAO,MAAM,IAAI,QAAQ,EAAE,MAAM,UAAU,QAAQ,cAAc,kBAAiB,GAAI;AAC5F,oBAAgB,gBAAgB,SAAS,IAAI,gBAAgB,IAAI,CAAC;AAAA,EACtE;AAAA,EACA,MAAM,qBAAqB,SAAS;AAChC,UAAM,WAAW,GAAG,IAAI,OAAO,yBAAyB,OAAO;AAC/D,UAAM,OAAO,MAAM,IAAI,QAAQ,EAAE,MAAM,UAAU,QAAQ,cAAc,kBAAiB,GAAI;AAC5F,oBAAgB,kBAAkB,SAAS,IAAI,gBAAgB,IAAI,CAAC;AAAA,EACxE;AAAA,EACA,MAAM,oBAAoB,aAAa;AACnC,UAAM,WAAW,GAAG,IAAI,OAAO,4BAA4B,WAAW;AACtE,UAAM,OAAO,MAAM,IAAI,QAAQ,EAAE,MAAM,UAAU,QAAQ,cAAc,kBAAiB,GAAI;AAC5F,oBAAgB,iBAAiB,aAAa,IAAI,gBAAgB,IAAI,CAAC;AAAA,EAC3E;AAAA,EACA,MAAM,iBAAiB,QAAQ;AAC3B,UAAM,WAAW,GAAG,IAAI,OAAO,yBAAyB,MAAM;AAC9D,UAAM,OAAO,MAAM,IAAI,QAAQ,EAAE,MAAM,UAAU,QAAQ,cAAc,kBAAiB,GAAI;AAC5F,oBAAgB,cAAc,QAAQ,IAAI,gBAAgB,IAAI,CAAC;AAAA,EACnE;AAAA,EACA,yBAAyB,SAAS;AAC9B,UAAM,kBAAkB,eAAe,SAAQ,IACzC,mCAAS,OAAO,CAAAA,OAAK;AACnB,UAAIA,GAAE,aAAa;AACf,eAAO;AAAA,MACX;AACA,UAAIA,GAAE,OAAO,wBAAwB,SAAS,IAAI;AAC9C,eAAO;AAAA,MACX;AACA,YAAM,WAAW,gBAAgB,MAAM,gBAAgB;AACvD,aAAQ,aACHA,GAAE,OAAO,wBAAwB,SAAS,MACvCA,GAAE,OAAO,wBAAwB,QAAQ;AAAA,IACrD,KACE;AACN,WAAO;AAAA,EACX;AAAA,EACA,MAAM,qBAAqB;AACvB,UAAM,WAAW,MAAM,IAAI,IAAI;AAAA,MAC3B,MAAM;AAAA,MACN,QAAQ,cAAc,kBAAiB;AAAA,IACnD,CAAS;AACD,WAAO,SAAS;AAAA,EACpB;AAAA,EACA,MAAM,sBAAsB;AACxB,QAAI;AACA,YAAM,EAAE,eAAc,IAAK,MAAM,IAAI,IAAI;AAAA,QACrC,MAAM;AAAA,QACN,QAAQ,cAAc,kBAAiB;AAAA,MACvD,CAAa;AACD,aAAO;AAAA,IACX,SACO,OAAO;AACV,aAAO,CAAA;AAAA,IACX;AAAA,EACJ;AAAA,EACA,MAAM,qBAAqB;AACvB,UAAM,wBAAwB,gBAAgB,4BAA2B;AACzE,UAAM,MAAM,+DACN,IAAI,CAAC,EAAE,OAAM,MAAO,iCAAQ,SAC7B,OAAO,SACP,OAAO,aAAW,CAAC,UAAU,oBAAoB,OAAO;AAC7D,QAAI,KAAK;AACL,YAAM,QAAQ,WAAW,IAAI,IAAI,QAAM,cAAc,mBAAmB,EAAE,CAAC,CAAC;AAAA,IAChF;AAAA,EACJ;AAAA,EACA,MAAM,uBAAuB;AACzB,UAAM,EAAE,eAAe,oBAAoB;AAC3C,UAAM,MAAM,WAAW,IAAI,CAAC,EAAE,QAAO,MAAO,OAAO,EAAE,OAAO,OAAO;AACnE,UAAM,QAAQ,WAAW,IAAI,IAAI,QAAM,cAAc,qBAAqB,EAAE,CAAC,CAAC;AAAA,EAClF;AAAA,EACA,MAAM,oBAAoB,aAAa,IAAI;AACvC,UAAM,QAAQ,WAAW,WAAW,IAAI,cAAY,cAAc,oBAAoB,QAAQ,CAAC,CAAC;AAAA,EACpG;AAAA,EACA,MAAM,iBAAiB,SAAS,IAAI;AAChC,UAAM,QAAQ,WAAW,OAAO,IAAI,WAAS,cAAc,iBAAiB,KAAK,CAAC,CAAC;AAAA,EACvF;AAAA,EACA,MAAM,aAAa,QAAQ;;AACvB,UAAM,UAAU,OAAO,WAAW,CAAA;AAClC,UAAM,gBAAgB,cAAc,kBAAiB;AACrD,QAAI,cAAc,GAAG,WAAW,YAAY,GAAG;AAC3C,cAAQ,KAAK,GAAG,OAAO,OAAO,uBAAuB,EAAE,IAAI,CAAAA,OAAKA,GAAE,EAAE,CAAC;AAAA,IACzE;AACA,UAAM,UAAU,MAAM,IAAI,IAAI;AAAA,MAC1B,MAAM;AAAA,MACN,QAAQ;AAAA,QACJ,GAAG,cAAc,kBAAiB;AAAA,QAClC,GAAG;AAAA,QACH,MAAM,OAAO,OAAO,IAAI;AAAA,QACxB,SAAS,OAAO,OAAO,OAAO;AAAA,QAC9B,UAAS,YAAO,YAAP,mBAAgB,KAAK;AAAA,QAC9B,SAAS,QAAQ,KAAK,GAAG;AAAA,MACzC;AAAA,IACA,CAAS;AACD,UAAM,kBAAkB,cAAc,yBAAyB,mCAAS,IAAI;AAC5E,WAAO;AAAA,MACH,MAAM,mBAAmB,CAAA;AAAA;AAAA,MAEzB,OAAO,mCAAS;AAAA,IAC5B;AAAA,EACI;AAAA,EACA,MAAM,uBAAuB;AACzB,UAAM,EAAE,sBAAsB,kBAAkB;AAChD,QAAI,uDAAmB,QAAQ;AAC3B,YAAM,SAAS;AAAA,QACX,GAAG,cAAc,kBAAiB;AAAA,QAClC,MAAM;AAAA,QACN,UAAS,uDAAmB,WAAU;AAAA,QACtC,SAAS;AAAA,MACzB;AACY,YAAM,EAAE,KAAI,IAAK,MAAM,cAAc,aAAa,MAAM;AACxD,YAAM,aAAa,CAAC,GAAG,IAAI,EAAE,KAAK,CAACd,IAAGC,OAAM,kBAAkB,QAAQD,GAAE,EAAE,IAAI,kBAAkB,QAAQC,GAAE,EAAE,CAAC;AAC7G,YAAM,SAAS,WAAW,IAAI,CAAA0B,OAAKA,GAAE,QAAQ,EAAE,OAAO,OAAO;AAC7D,YAAM,QAAQ,WAAW,OAAO,IAAI,QAAM,cAAc,kBAAkB,EAAE,CAAC,CAAC;AAC9EN,cAAM,WAAW;AACjBA,cAAM,cAAc;AAAA,IACxB;AAAA,EACJ;AAAA,EACA,MAAM,0BAA0B;AAC5B,QAAI;AACAA,cAAM,+BAA+B;AACrC,YAAM,EAAE,kBAAkB,kBAAkB,kBAAiB,IAAK,kBAAkB;AACpF,YAAM,UAAU,CAAC,GAAI,oBAAoB,IAAK,GAAI,qBAAqB,EAAG,EAAE,OAAO,OAAO;AAC1F,YAAM,SAAS,gBAAgB,2BAA0B,EAAG,KAAK,GAAG;AACpE,YAAM,SAAS;AAAA,QACX,MAAM;AAAA,QACN,SAAS;AAAA,QACT,SAAS;AAAA,QACT;AAAA,QACA;AAAA,MAChB;AACY,YAAM,EAAE,MAAM,MAAK,IAAK,MAAM,cAAc,aAAa,MAAM;AAC/D,YAAM,SAAS,YAAY,iBAAgB;AAC3C,YAAM,oBAAoB,KAAK,IAAI,CAAAM,OAAKA,GAAE,QAAQ,EAAE,OAAO,OAAO;AAClE,YAAM,eAAe,OAAO,IAAI,CAAAT,OAAKA,GAAE,QAAQ,EAAE,OAAO,OAAO;AAC/D,YAAM,QAAQ,WAAW,CAAC,GAAG,mBAAmB,GAAG,YAAY,EAAE,IAAI,QAAM,cAAc,kBAAkB,EAAE,CAAC,CAAC;AAC/GG,cAAM,cAAc;AACpBA,cAAM,iBAAiB;AACvBA,cAAM,QAAQ,SAAS;AAAA,IAC3B,QACM;AAAA,IAEN,UACR;AACYA,cAAM,+BAA+B;AAAA,IACzC;AAAA,EACJ;AAAA,EACA,MAAM,mBAAmB,EAAE,QAAQ;AAC/B,UAAM,EAAE,kBAAkB,kBAAkB,kBAAiB,IAAK,kBAAkB;AACpF,UAAM,SAAS,gBAAgB,2BAA0B,EAAG,KAAK,GAAG;AACpE,UAAM,UAAU;AAAA,MACZ,GAAGA,QAAM,YAAY,IAAI,CAAC,EAAE,GAAE,MAAO,EAAE;AAAA,MACvC,GAAI,oBAAoB,CAAA;AAAA,MACxB,GAAI,qBAAqB,CAAA;AAAA,IACrC,EAAU,OAAO,OAAO;AAChB,UAAM,SAAS;AAAA,MACX;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACT;AAAA,MACA;AAAA,IACZ;AACQ,UAAM,EAAE,MAAM,MAAK,IAAK,MAAM,cAAc,aAAa,MAAM;AAC/D,UAAM,SAAS,KACV,MAAM,GAAG,iBAAiB,EAC1B,IAAI,CAAAP,OAAKA,GAAE,QAAQ,EACnB,OAAO,OAAO;AACnB,UAAM,QAAQ,WAAW,OAAO,IAAI,QAAM,cAAc,kBAAkB,EAAE,CAAC,CAAC;AAC9EO,YAAM,UAAU,eAAe,SAAS,CAAC,GAAGA,QAAM,SAAS,GAAG,cAAc,qBAAqB,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,CAAAP,OAAC;;AAAI,mBAAAA,GAAE,WAAF,mBAAU,KAAK,WAAS,OAAO,SAAS,KAAK;AAAA,KAAE;AAC1KO,YAAM,QAAQ,QAAQA,QAAM,QAAQ,QAAQA,QAAM;AAClDA,YAAM,OAAO;AAAA,EACjB;AAAA,EACA,MAAM,0BAA0B,EAAE,OAAO;AACrC,UAAM,SAAS;AAAA,MACX,MAAM;AAAA,MACN,SAAS,IAAI;AAAA,MACb,SAAS;AAAA,IACrB;AACQ,UAAM,EAAE,KAAI,IAAK,MAAM,cAAc,aAAa,MAAM;AACxD,QAAI,MAAM;AACN,WAAK,QAAQ,YAAU;AACnBA,gBAAM,gBAAgB,KAAK,EAAE,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM;AAAA,MACvE,CAAC;AAAA,IACL;AAAA,EACJ;AAAA,EACA,MAAM,aAAa,EAAE,QAAQ,SAAS;AAClC,UAAM,EAAE,kBAAkB,iBAAgB,IAAK,kBAAkB;AACjE,UAAM,SAAS,gBAAgB,2BAA0B,EAAG,KAAK,GAAG;AACpEA,YAAM,SAAS,CAAA;AACf,UAAM,SAAS;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,MACT,QAAQ,iCAAQ;AAAA,MAChB,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,SAAS;AAAA,MACT;AAAA,IACZ;AACQ,UAAM,EAAE,KAAI,IAAK,MAAM,cAAc,aAAa,MAAM;AACxD,qBAAiB,UAAU;AAAA,MACvB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY,EAAE,OAAO,SAAS,IAAI,QAAQ,UAAU,GAAE;AAAA,IAClE,CAAS;AACD,UAAM,SAAS,KAAK,IAAI,CAAAP,OAAKA,GAAE,QAAQ,EAAE,OAAO,OAAO;AACvD,UAAM,QAAQ,WAAW;AAAA,MACrB,GAAG,OAAO,IAAI,QAAM,cAAc,kBAAkB,EAAE,CAAC;AAAA,MACvD,eAAe,KAAK,GAAG;AAAA,IACnC,CAAS;AACDO,YAAM,SAAS,cAAc,qBAAqB,IAAI;AAAA,EAC1D;AAAA,EACA,YAAY,KAAK,SAAS;AACtB,UAAM,kBAAkBA,QAAM,SAAS,GAAG;AAC1C,QAAI,iBAAiB;AACjB,aAAO;AAAA,IACX;AACA,WAAQA,QAAM,SAAS,GAAG,IAAI,QAAO;AAAA,EACzC;AAAA,EACA,SAAS,EAAE,uBAAuB,MAAM,uBAAuB,MAAM,0BAA0B,MAAM,qBAAqB,KAAI,IAAK,CAAA,GAAI;AACnI,UAAM,WAAW;AAAA,MACb,wBACI,cAAc,YAAY,mBAAmB,cAAc,oBAAoB;AAAA,MACnF,wBACI,cAAc,YAAY,mBAAmB,cAAc,oBAAoB;AAAA,MACnF,2BACI,cAAc,YAAY,sBAAsB,cAAc,uBAAuB;AAAA,MACzF,sBACI,cAAc,YAAY,iBAAiB,cAAc,kBAAkB;AAAA,IAC3F,EAAU,OAAO,OAAO;AAChB,WAAO,QAAQ,WAAW,QAAQ;AAAA,EACtC;AAAA,EACA,0BAA0B;;AACtB,SAAI,uBAAkB,MAAM,aAAxB,mBAAkC,WAAW;AAC7C,oBAAc,qBAAoB;AAAA,IACtC;AAAA,EACJ;AAAA,EACA,MAAM,uBAAuB;AACzB,QAAI;AACA,YAAM,EAAE,mBAAkB,IAAK,MAAM,IAAI,IAAI;AAAA,QACzC,MAAM;AAAA,QACN,QAAQ,cAAc,kBAAiB;AAAA,MACvD,CAAa;AACD,wBAAkB,YAAY,EAAE,WAAW,mBAAkB,CAAE;AAAA,IACnE,SACO,OAAO;AACV,wBAAkB,YAAY,EAAE,WAAW,MAAK,CAAE;AAAA,IACtD;AAAA,EACJ;AAAA,EACA,mBAAmB,YAAY;AAC3B,QAAI,EAAC,yCAAY,SAAQ;AACrBA,cAAM,WAAWA,QAAM;AACvBA,cAAM,cAAcA,QAAM;AAC1B;AAAA,IACJ;AACA,UAAM,iBAAiB,gBAAgB,2BAA0B,EAAG,KAAK,GAAG;AAC5EA,YAAM,WAAWA,QAAM,YAAY,OAAO,YAAM;;AAAI,0BAAO,WAAP,mBAAe,KAAK,WAAS,eAAe,SAAS,KAAK;AAAA,KAAE;AAChHA,YAAM,cAAcA,QAAM,eAAe,OAAO,YAAM;;AAAI,0BAAO,WAAP,mBAAe,KAAK,WAAS,eAAe,SAAS,KAAK;AAAA,KAAE;AACtHA,YAAM,kBAAkBA,QAAM,QAAQ,OAAO,YAAM;;AAAI,0BAAO,WAAP,mBAAe,KAAK,WAAS,eAAe,SAAS,KAAK;AAAA,KAAE;AAAA,EACvH;AAAA,EACA,0BAA0B;AACtBA,YAAM,kBAAkB,CAAA;AAAA,EAC5B;AAAA,EACA,qBAAqB,WAAW;AAC5B,QAAI,CAAC,WAAW;AACZA,cAAM,WAAWA,QAAM;AACvBA,cAAM,cAAcA,QAAM;AAC1B;AAAA,IACJ;AACA,UAAM,iBAAiB,gBAAgB,2BAA0B,EAAG,KAAK,GAAG;AAC5EA,YAAM,WAAWA,QAAM,YAAY,OAAO,YAAM;;AAAI,0BAAO,WAAP,mBAAe,KAAK,WAAS,eAAe,SAAS,KAAK;AAAA,KAAE;AAChHA,YAAM,cAAcA,QAAM,eAAe,OAAO,YAAM;;AAAI,0BAAO,WAAP,mBAAe,KAAK,WAAS,eAAe,SAAS,KAAK;AAAA,KAAE;AACtHA,YAAM,kBAAkBA,QAAM,QAAQ,OAAO,YAAM;;AAAI,0BAAO,WAAP,mBAAe,KAAK,WAAS,eAAe,SAAS,KAAK;AAAA,KAAE;AAAA,EACvH;AACJ;ACtUA,MAAMA,UAAQ,MAAM;AAAA,EAChB,MAAM;AAAA,EACN,SAAS,CAAC,SAAS;AAAA,EACnB,kBAAkB,CAAA;AACtB,CAAC;AAED,MAAMI,eAAa;AAAA,EACnB,OAAIJ;AAAAA,EACA,aAAa,KAAK,UAAU;AACxB,WAAOC,aAAOD,SAAO,KAAK,QAAQ;AAAA,EACtC;AAAA,EACA,qBAAqB,QAAQ;AACzBA,YAAM,iBAAiB,KAAK,MAAM;AAAA,EACtC;AAAA,EACA,oBAAoB,QAAQ;AACxB,UAAM,SAASA,QAAM,iBAAiB,IAAG;AACzC,QAAI,CAAC,QAAQ;AACT;AAAA,IACJ;AACA,UAAM,EAAE,WAAW,SAAS,SAAQ,IAAK;AACzC,YAAQ,QAAM;AAAA,MACV,KAAK;AACD;AACA;AAAA,MACJ,KAAK;AACD;AACA,yBAAiB,OAAM;AACvB;AAAA,MACJ,KAAK;AACD;AACA,yBAAiB,OAAM;AACvB;AAAA,IAEhB;AAAA,EACI;AAAA,EACA,KAAK,MAAM,MAAM;AACb,QAAI,SAASA,QAAM,MAAM;AACrBA,cAAM,OAAO;AACbA,cAAM,QAAQ,KAAK,IAAI;AACvBA,cAAM,OAAO;AAAA,IACjB;AAAA,EACJ;AAAA,EACA,MAAM,MAAM,MAAM;AACdA,YAAM,OAAO;AACbA,YAAM,UAAU,CAAC,IAAI;AACrBA,YAAM,OAAO;AAAA,EACjB;AAAA,EACA,QAAQ,MAAM,MAAM;AAChB,UAAM,WAAWA,QAAM,QAAQ,GAAG,EAAE;AACpC,UAAM,aAAa,aAAa;AAChC,QAAI,CAAC,YAAY;AACbA,cAAM,OAAO;AACbA,cAAM,QAAQA,QAAM,QAAQ,SAAS,CAAC,IAAI;AAC1CA,cAAM,OAAO;AAAA,IACjB;AAAA,EACJ;AAAA,EACA,SAAS;;AACL,UAAM,cAAc,gBAAgB,MAAM;AAC1C,UAAM,kBAAkB,iBAAiB,MAAM,SAAS;AACxD,UAAM,eAAe,CAAC,eAAe;AACrC,QAAIA,QAAM,QAAQ,SAAS,GAAG;AAC1BA,cAAM,QAAQ,IAAG;AACjB,YAAM,CAAC,IAAI,IAAIA,QAAM,QAAQ,MAAM,EAAE;AACrC,UAAI,MAAM;AACN,cAAM,gBAAgB,SAAS;AAC/B,YAAI,eAAe,eAAe;AAC9BA,kBAAM,OAAO;AAAA,QACjB,OACK;AACDA,kBAAM,OAAO;AAAA,QACjB;AAAA,MACJ;AAAA,IACJ,OACK;AACD,sBAAgB,MAAK;AAAA,IACzB;AACA,SAAIA,aAAM,SAANA,mBAAY,QAAQ;AACpBA,cAAM,KAAK,SAAS;AAAA,IACxB;AAEA,eAAW,MAAM;;AACb,UAAI,cAAc;AACd,0BAAkB,gBAAgB,QAAW,gBAAgB,MAAM,WAAW;AAC9E,cAAM,gBAAgB,oBAAoB,iBAAgB;AAC1D,SAAAO,MAAA,+CAAe,aAAf,gBAAAA,IAAyB;AACzB,cAAM,eAAe,SAAS,kBAAkB,KAAK;AACrD,SAAAZ,OAAA,oDAAe,aAAf,mBAAyB,iBAAzB,gBAAAA,IAAA,SAAwC;AAAA,UACpC,UAAU,aAAa;AAAA,UACvB,YAAY,aAAa;AAAA,UACzB,WAAW,aAAa;AAAA,UACxB,SAAS,aAAa;AAAA,QAC1C;AAAA,MACY;AAAA,IACJ,GAAG,GAAG;AAAA,EACV;AAAA,EACA,cAAc,cAAc;AACxB,QAAIK,QAAM,QAAQ,SAAS,GAAG;AAC1BA,cAAM,UAAUA,QAAM,QAAQ,MAAM,GAAG,eAAe,CAAC;AACvD,YAAM,CAAC,IAAI,IAAIA,QAAM,QAAQ,MAAM,EAAE;AACrC,UAAI,MAAM;AACNA,gBAAM,OAAO;AAAA,MACjB;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,qBAAqB;AACjB,QAAI,iBAAiB,MAAM,QAAQ,SAAS,GAAG;AAC3C,uBAAiB,OAAM;AAAA,IAC3B,OACK;AACD,sBAAgB,MAAK;AAAA,IACzB;AAAA,EACJ;AACJ;AAEY,MAAC,mBAAmB,kBAAkBI,YAAU;ACtH5D,MAAMJ,UAAQ,MAAM;AAAA,EAChB,WAAW;AAAA,EACX,gBAAgB,CAAA;AAAA,EAChB,mBAAmB;AACvB,CAAC;AAED,MAAMI,eAAa;AAAA,EACnB,OAAIJ;AAAAA,EACA,UAAU,UAAU;AAChB,WAAOK,UAAIL,SAAO,MAAM,SAASA,OAAK,CAAC;AAAA,EAC3C;AAAA,EACA,aAAa,WAAW;AACpBA,YAAM,YAAY;AAClB,QAAI;AACA,YAAM,gBAAgB,oBAAoB,iBAAgB;AAC1D,UAAI,eAAe;AACf,cAAM,iBAAiBI,aAAW,YAAW,EAAG;AAChD,sBAAc,SAAS,UAAU;AAAA,UAC7B;AAAA,UACA;AAAA,UACA,mBAAmB,qBAAqB,gBAAgB,SAAS;AAAA,QACrF,CAAiB;AAAA,MACL;AAAA,IACJ,QACM;AAEF,cAAQ,KAAK,wCAAwC;AAAA,IACzD;AAAA,EACJ;AAAA,EACA,kBAAkB,gBAAgB;AAC9BJ,YAAM,iBAAiB,EAAE,GAAGA,QAAM,gBAAgB,GAAG,eAAc;AACnE,QAAI;AACA,YAAM,gBAAgB,oBAAoB,iBAAgB;AAC1D,UAAI,eAAe;AACf,cAAM,yBAAyBI,aAAW,YAAW,EAAG;AACxD,sBAAc,SAAS,UAAU;AAAA,UAC7B,gBAAgB;AAAA,UAChB,mBAAmB,qBAAqBJ,QAAM,gBAAgBA,QAAM,SAAS;AAAA,QACjG,CAAiB;AAAA,MACL;AAAA,IACJ,QACM;AAEF,cAAQ,KAAK,wCAAwC;AAAA,IACzD;AAAA,EACJ;AAAA,EACA,cAAc;AACV,WAAO,SAASA,OAAK;AAAA,EACzB;AACJ;AAEY,MAAC,kBAAkB,kBAAkBI,YAAU;AC7C3D,MAAM,0BAA0B;AAAA,EAC5B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,QAAQ;AACZ;AAEA,MAAMJ,UAAQ,MAAM;AAAA,EAChB,eAAe,CAAA;AAAA,EACf,YAAY,CAAA;AAAA,EACZ,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,oBAAoB,EAAE,GAAG,wBAAuB;AAAA,EAChD,sBAAsB;AAAA,IAClB,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,QAAQ;AAAA,EAChB;AACA,CAAC;AAED,MAAMI,eAAa;AAAA,EACnB,OAAIJ;AAAAA,EACA,UAAU,UAAU;AAChB,WAAOK,UAAIL,SAAO,MAAM;AACpB,eAASA,OAAK;AAAA,IAClB,CAAC;AAAA,EACL;AAAA,EACA,aAAa,KAAK,UAAU;AACxB,WAAOC,aAAOD,SAAO,KAAK,QAAQ;AAAA,EACtC;AAAA,EACA,WAAW,YAAY;AACnB,eAAW,QAAQ,eAAa;AAC5B,YAAM,cAAc,YAAY,wBAAwB,SAAS;AACjE,UAAI,aAAa;AACb,4BAAoB,eAAe,aAAa,SAAS;AAAA,MAC7D;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EACA,mBAAmB,WAAW;AAC1B,QAAI,WAAW;AACXA,cAAM,kBAAkB,IAAI,SAAS;AAAA,IACzC;AAAA,EACJ;AAAA,EACA,cAAc,YAAY;AACtB,UAAM,gBAAgB,WAAW,OAAO,kBAAgB,CAACA,QAAM,cAAc,KAAK,uBAAqB,kBAAkB,OAAO,aAAa,MACzI,oBAAoB,iBAAiB,kBAAkB,IAAI,MACvD,oBAAoB,iBAAiB,aAAa,IAAI,KAC1D,kBAAkB,UAAU,aAAa,KAAK,CAAC;AAMnD,kBAAc,QAAQ,eAAa;AAC/B,UAAI,UAAU,SAAS,eAAe;AAClCA,gBAAM,cAAc,KAAK,IAAI,SAAS,CAAC;AAAA,MAC3C;AAAA,IACJ,CAAC;AACD,UAAM,oBAAoB,oBAAoB,qBAAoB;AAClE,UAAM,iCAAiC,oBAAoB,qBAAqB,iBAAiB;AACjGA,YAAM,aAAa,oBAAoB,0BAA0B,8BAA8B;AAAA,EACnG;AAAA,EACA,mBAAmB,mBAAmB;AAClC,WAAO,KAAKA,QAAM,oBAAoB,EAAE,QAAQ,eAAa;AACzDA,cAAM,qBAAqB,SAAS,IAAI;AAAA,IAC5C,CAAC;AACD,sBAAkB,QAAQ,eAAa;AACnCA,cAAM,qBAAqB,SAAS,IAAI;AAAA,IAC5C,CAAC;AACD,wBAAoB,qCAAoC;AAAA,EAC5D;AAAA,EACA,kBAAkB,WAAW,SAAS;AAClCA,YAAM,qBAAqB,SAAS,IAAI;AACxC,wBAAoB,qCAAoC;AAAA,EAC5D;AAAA,EACA,uCAAuC;AACnC,UAAM,oBAAoB,oBAAoB,qBAAoB;AAClE,UAAM,oBAAoB,oBAAoB,qBAAqB,iBAAiB;AACpF,UAAM,0BAA0B,oBAAoB,wBAAuB;AAC3EA,YAAM,aAAa,oBAAoB,0BAA0B,iBAAiB;AAClF,QAAI,yBAAyB;AACzB,oBAAc,wBAAuB;AAAA,IACzC,OACK;AACD,oBAAc,mBAAmB,iBAAiB;AAAA,IACtD;AAAA,EACJ;AAAA,EACA,uBAAuB;AACnB,WAAO,OAAO,QAAQA,QAAM,oBAAoB,EAC3C,OAAO,CAAC,CAAC,GAAG,OAAO,MAAM,OAAO,EAChC,IAAI,CAAC,CAAC,SAAS,MAAM,SAAS;AAAA,EACvC;AAAA,EACA,qBAAqB,mBAAmB;AACpC,WAAOA,QAAM,cAAc,OAAO,eAAa,kBAAkB,SAAS,UAAU,KAAK,CAAC;AAAA,EAC9F;AAAA,EACA,0BAA0B;AACtB,WAAO,OAAO,OAAOA,QAAM,oBAAoB,EAAE,MAAM,aAAW,OAAO;AAAA,EAC7E;AAAA,EACA,0BAA0B,YAAY;AAClC,UAAM,sBAAsB,oBAAoB,2BAA2B,UAAU;AACrF,UAAM,mBAAmB,CAAA;AACzB,wBAAoB,QAAQ,mBAAiB;AACzC,YAAM,YAAY,cAAc,CAAC;AACjC,YAAM,mBAAkB,uCAAW,QAAOxB,gBAAc,aAAa;AACrE,UAAI,cAAc,SAAS,KAAK,WAAW;AACvC,yBAAiB,KAAK;AAAA,UAClB,MAAM,UAAU;AAAA,UAChB,UAAU,UAAU;AAAA,UACpB,SAAS,UAAU;AAAA,UACnB,YAAY,CAAC,GAAG,aAAa;AAAA,UAC7B,MAAM,kBAAkB,SAAS;AAAA;AAAA,UAEjC,OAAO;AAAA,UACP,KAAI,uCAAW,OAAM;AAAA,QACzC,CAAiB;AAAA,MACL,WACS,WAAW;AAChB,yBAAiB,KAAK,SAAS;AAAA,MACnC;AAAA,IACJ,CAAC;AACD,WAAO;AAAA,EACX;AAAA,EACA,2BAA2B,YAAY;AACnC,UAAM,sBAAsB,oBAAI,IAAG;AACnC,eAAW,QAAQ,eAAa;AAC5B,YAAM,EAAE,KAAI,IAAK;AACjB,YAAM,gBAAgB,oBAAoB,iBAAiB,IAAI;AAC/D,UAAI,CAAC,eAAe;AAChB;AAAA,MACJ;AACA,YAAM,mBAAmB,oBAAoB,IAAI,aAAa,KAAK,CAAA;AACnE,YAAM,oBAAoB,iBAAiB,KAAK,CAAAM,OAAKA,GAAE,UAAU,UAAU,KAAK;AAChF,UAAI,CAAC,mBAAmB;AACpB,yBAAiB,KAAK,SAAS;AAAA,MACnC;AACA,0BAAoB,IAAI,eAAe,gBAAgB;AAAA,IAC3D,CAAC;AACD,WAAO;AAAA,EACX;AAAA,EACA,iBAAiB,MAAM;AACnB,QAAI,CAAC,MAAM;AACP,aAAO;AAAA,IACX;AACA,UAAM,kBAAkB;AAAA,MACpB,gBAAgB;AAAA,IAC5B;AACQ,WAAO,gBAAgB,IAAI,KAAK;AAAA,EACpC;AAAA,EACA,0BAA0B,YAAY;AAClC,UAAM,mBAAmB,CAAA;AACzB,eAAW,QAAQ,CAAAA,OAAK;AACpB,UAAI,CAAC,iBAAiB,KAAK,CAAA0B,QAAMA,IAAG,UAAU1B,GAAE,KAAK,GAAG;AACpD,yBAAiB,KAAKA,EAAC;AAAA,MAC3B;AAAA,IACJ,CAAC;AACD,WAAO;AAAA,EACX;AAAA,EACA,aAAa,WAAW;;AACpB,QAAI,UAAU,OAAON,gBAAc,aAAa,MAAM;AAClD,YAAM,gBAAgB;AACtB,YAAM,eAAe,SAAS,kBAAkB,KAAK;AACrD,YAAM,YAAY,gBAAgB,YAAW,EAAG;AAChD,YAAM,iBAAiB,gBAAgB,YAAW,EAAG;AACrD,iEAAe,aAAf,mBAAyB,iBAAzB,4BAAwC;AAAA,QACpC,UAAU,aAAa;AAAA,QACvB,YAAY,aAAa;AAAA,QACzB,WAAW,aAAa;AAAA,QACxB,SAAS,aAAa;AAAA,MACtC;AACY,OAAAmB,MAAA,+CAAe,aAAf,gBAAAA,IAAyB,UAAU;AAAA,QAC/B;AAAA,QACA;AAAA,QACA,mBAAmB,qBAAqB,gBAAgB,SAAS;AAAA,MACjF;AACY,0BAAoB,cAAc,CAAC,SAAS,CAAC;AAAA,IACjD,OACK;AACD,0BAAoB,cAAc,CAAC,SAAS,CAAC;AAAA,IACjD;AAAA,EACJ;AAAA,EACA,iBAAiB,gBAAgB;;AAC7B,UAAM,kBAAkB,kBAAkB,gBAAgB,MAAM;AAChE,UAAM,gBAAgBK,QAAM,WAAW,KAAK,CAAAlB,OAAKA,GAAE,OAAON,gBAAc,aAAa,IAAI;AACzF,QAAI,CAAC,eAAe;AAChB,aAAO;AAAA,IACX;AACA,SAAI,oDAAe,eAAf,mBAA2B,QAAQ;AACnC,YAAM,YAAY,cAAc,WAAW,KAAK,CAAAM,OAAKA,GAAE,UAAU,eAAe;AAChF,aAAO;AAAA,IACX;AACA,WAAO;AAAA,EACX;AAAA,EACA,4BAA4B;AACxB,WAAOkB,QAAM,WAAW,OAAO,CAAAlB,OAAKA,GAAE,SAAS,WAAW,EAAE,IAAI,CAAAA,OAAC;;AAAI,mBAAAA,GAAE,SAAF,mBAAQ;AAAA,KAAI;AAAA,EACrF;AAAA,EACA,iBAAiB,IAAI;AACjB,WAAOkB,QAAM,cAAc,KAAK,CAAAlB,OAAKA,GAAE,OAAO,EAAE;AAAA,EACpD;AAAA,EACA,aAAa,IAAI,MAAM;AACnB,UAAM,wBAAwBkB,QAAM,cAAc,OAAO,CAAAlB,OAAKA,GAAE,UAAU,gBAAgB,MAAM,WAAW;AAC3G,WAAO,sBAAsB,KAAK,CAAAA,OAAC;;AAAI,aAAAA,GAAE,eAAe,QAAM,KAAAA,GAAE,SAAF,mBAAQ,UAAS;AAAA,KAAI;AAAA,EACvF;AAAA,EACA,oBAAoB,WAAW;;AAC3B,QAAI,UAAU,OAAO,WAAW;AAC5B;AAAA,IACJ;AACA,UAAM,gBAAgB;AACtB,UAAM,eAAe,SAAS,kBAAkB,KAAK;AACrD,UAAM,YAAY,gBAAgB,YAAW,EAAG;AAChD,UAAM,iBAAiB,gBAAgB,YAAW,EAAG;AACrD,+DAAe,aAAf,mBAAyB,iBAAzB,4BAAwC;AAAA,MACpC,UAAU,aAAa;AAAA,MACvB,YAAY,aAAa;AAAA,MACzB,SAAS,aAAa;AAAA,MACtB,WAAW,aAAa;AAAA,IACpC;AACQ,kBAAc,SAAS,UAAU;AAAA,MAC7B;AAAA,MACA;AAAA,MACA,mBAAmB,qBAAqB,gBAAgB,SAAS;AAAA,IAC7E,CAAS;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,yBAAyB,WAAW;AAChC,UAAM,sBAAsBkB,QAAM,cAAc,OAAO,eAAa,UAAU,UAAU,SAAS;AACjG,WAAO,oBAAoB,0BAA0B,mBAAmB;AAAA,EAC5E;AAAA,EACA,sBAAsB,QAAQ;AAC1B,UAAM,YAAY,oBAAoB,aAAa,OAAO,IAAI,OAAO,IAAI;AACzE,UAAM,YAAY,gBAAgB,MAAM;AACxC,qBAAiB,8BAA6B,uCAAW,eAAc,OAAO,IAAI,SAAS;AAC3F,QAAI,WAAW;AACX,uBAAiB,KAAK,sBAAsB,EAAE,UAAS,CAAE;AAAA,IAC7D,OACK;AACD,uBAAiB,KAAK,2BAA2B,EAAE,OAAM,CAAE;AAAA,IAC/D;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,cAAc,WAAW;AACrB,QAAI,WAAW;AACX,aAAO,oBAAoB,yBAAyB,SAAS;AAAA,IACjE;AACA,WAAO,oBAAoB,0BAA0BA,QAAM,aAAa;AAAA,EAC5E;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,qBAAqB,WAAW;AAC5BA,YAAM,oBAAoB;AAC1BA,YAAM,aAAa,oBAAoB,cAAc,SAAS;AAC9D,kBAAc,qBAAqB,SAAS;AAAA,EAChD;AAAA,EACA,eAAe,aAAa,WAAW;AACnC,QAAI,aAAa;AACbA,cAAM,qBAAqB;AAAA,QACvB,GAAGA,QAAM;AAAA,QACT,CAAC,SAAS,GAAG;AAAA,MAC7B;AACY,kBAAY,wBAAwB,WAAW,WAAW;AAAA,IAC9D;AAAA,EACJ;AAAA,EACA,kBAAkB,WAAW;AACzBA,YAAM,qBAAqB;AAAA,MACvB,GAAGA,QAAM;AAAA,MACT,CAAC,SAAS,GAAG;AAAA,IACzB;AACQ,gBAAY,2BAA2B,SAAS;AAAA,EACpD;AAAA,EACA,eAAe,WAAW;AACtB,QAAI,CAAC,WAAW;AACZ,aAAO;AAAA,IACX;AACA,WAAOA,QAAM,mBAAmB,SAAS;AAAA,EAC7C;AAAA,EACA,YAAY,WAAW;AACnB,QAAI,CAAC,WAAW;AACZ,aAAO,OAAO,OAAOA,QAAM,kBAAkB,EAAE,KAAK,QAAM,QAAQ,EAAE,CAAC;AAAA,IACzE;AACA,WAAO,QAAQA,QAAM,mBAAmB,SAAS,CAAC;AAAA,EACtD;AAAA,EACA,oBAAoB;AAChBA,YAAM,qBAAqB,EAAE,GAAG,wBAAuB;AAAA,EAC3D;AACJ;AAEY,MAAC,sBAAsB,kBAAkBI,YAAU;ACrT/D,MAAM,kBAAkB;AAAA,CACQ,OAAO3B,cAAY,eAAe,OAAOA,UAAQ,QAAQ,cACnFA,UAAQ,IAAI,iCAAiC,IAC7C,WAAc;AAAA,CACc,OAAOA,cAAY,eAAe,OAAOA,UAAQ,QAAQ,cACrFA,UAAQ,IAAI,+BAA+B,IAC3C,WAAc;AAAA,CACoB,OAAOA,cAAY,eAAe,OAAOA,UAAQ,QAAQ,cAC3FA,UAAQ,IAAI,qCAAqC,IACjD,WAAc;AAwFb,MAAM,uBAAuB;AAAA,EA4DhC,eAAe;AAAA,IAEX,eAAe;AAAA,EACvB;AACA;AC7JA,MAAM,gBAAgB,OAAO,OAAO;AAAA,EAChC,SAAS;AAAA,EACT,SAAS;AAAA,EACT,KAAK;AAAA,EACL,MAAM;AAAA,EACN,WAAW;AACf,CAAC;AAED,MAAMuB,UAAQ,MAAM;AAAA,EAChB,GAAG;AACP,CAAC;AAED,MAAMI,eAAa;AAAA,EACnB,OAAIJ;AAAAA,EACA,aAAa,KAAK,UAAU;AACxB,WAAOC,aAAOD,SAAO,KAAK,QAAQ;AAAA,EACtC;AAAA,EACA,YAAY,SAAS,UAAU,IAAI;AAC/B,SAAK,aAAa,EAAE,SAAS,SAAS,WAAW,GAAG,SAAS;AAAA,EACjE;AAAA,EACA,YAAY,SAAS;AACjB,SAAK,aAAa,EAAE,SAAS,SAAS,UAAS,CAAE;AAAA,EACrD;AAAA,EACA,QAAQ,SAAS,KAAK;AAClB,SAAK,aAAa,EAAE,SAAS,IAAG,CAAE;AAAA,EACtC;AAAA,EACA,UAAU,SAAS;AACf,UAAM,eAAe,eAAe,WAAW,OAAO;AACtD,SAAK,aAAa,EAAE,SAAS,cAAc,SAAS,SAAS;AAAA,EACjE;AAAA,EACA,OAAO;AACHA,YAAM,UAAU,cAAc;AAC9BA,YAAM,UAAU,cAAc;AAC9BA,YAAM,MAAM,cAAc;AAC1BA,YAAM,OAAO,cAAc;AAC3BA,YAAM,YAAY,cAAc;AAAA,EACpC;AAAA,EACA,aAAa,EAAE,SAAS,KAAK,UAAU,WAAW,YAAY,cAAc,aAAa;AACrF,QAAIA,QAAM,MAAM;AACZA,cAAM,OAAO;AACb,iBAAW,MAAM;AACbA,gBAAM,UAAU;AAChBA,gBAAM,UAAU;AAChBA,gBAAM,MAAM;AACZA,gBAAM,OAAO;AACbA,gBAAM,YAAY;AAAA,MACtB,GAAG,GAAG;AAAA,IACV,OACK;AACDA,cAAM,UAAU;AAChBA,cAAM,UAAU;AAChBA,cAAM,MAAM;AACZA,cAAM,OAAO;AACbA,cAAM,YAAY;AAAA,IACtB;AAAA,EACJ;AACJ;AACY,MAAC,kBAAkBI;ACnD/B,MAAMJ,UAAQ,MAAM;AAAA,EAChB,cAAc,CAAA;AAAA,EACd,sBAAsB,CAAA;AAAA,EACtB,oBAAoB,CAAA;AAAA,EACpB,mBAAmB;AAAA,EACnB,SAAS;AAAA,EACT,OAAO;AAAA,EACP,MAAM;AACV,CAAC;AAED,MAAMI,eAAa;AAAA,EACnB,OAAIJ;AAAAA,EACA,UAAU,UAAU;AAChB,WAAOK,UAAIL,SAAO,MAAM,SAASA,OAAK,CAAC;AAAA,EAC3C;AAAA,EACA,qBAAqB,mBAAmB;AACpCA,YAAM,oBAAoB;AAAA,EAC9B;AAAA,EACA,MAAM,kBAAkB,gBAAgB,QAAQ;;AAC5C,QAAI,CAAC,gBAAgB;AACjB,YAAM,IAAI,MAAM,yDAAyD;AAAA,IAC7E;AACAA,YAAM,UAAU;AAChB,QAAI;AACA,YAAM,WAAW,MAAM,wBAAwB,kBAAkB;AAAA,QAC7D,SAAS;AAAA,QACT,QAAQA,QAAM;AAAA,QACd;AAAA;AAAA,QAEA,OAAO,WAAW,aAAa,aAAa;AAAA,QAC5C,UAAS,qBAAgB,MAAM,sBAAtB,mBAAyC;AAAA,MAClE,CAAa;AACD,YAAM,sBAAsB,uBAAuB,uBAAuB,SAAS,IAAI;AACvF,YAAM,wBAAwB,uBAAuB,uBAAuB,mBAAmB;AAC/F,YAAM,uBAAuB,CAAC,GAAGA,QAAM,cAAc,GAAG,qBAAqB;AAC7EA,cAAM,UAAU;AAChB,UAAI,WAAW,YAAY;AACvBA,gBAAM,uBAAuB,uBAAuB,gCAAgCA,QAAM,sBAAsB,SAAS,IAAI;AAAA,MACjI,OACK;AACDA,gBAAM,eAAe;AACrBA,gBAAM,qBAAqB,uBAAuB,gCAAgCA,QAAM,oBAAoB,qBAAqB;AAAA,MACrI;AACAA,cAAM,QAAQ,qBAAqB,WAAW;AAC9CA,cAAM,OAAO,SAAS,OAAO,SAAS,OAAO;AAAA,IACjD,SACO,OAAO;AACV,YAAM,uBAAuB,gBAAgB,MAAM;AACnD,uBAAiB,UAAU;AAAA,QACvB,MAAM;AAAA,QACN,OAAO;AAAA,QACP,YAAY;AAAA,UACR,SAAS;AAAA,UACT,WAAW,kBAAkB,MAAM;AAAA,UACnC,QAAQA,QAAM;AAAA,UACd,kBAAgB,uBAAkB,MAAM,0BAAxB,mBAAgD,2BAC5D,qBAAqB,cAAc;AAAA,QAC3D;AAAA,MACA,CAAa;AACD,sBAAgB,UAAU,8BAA8B;AACxDA,cAAM,UAAU;AAChBA,cAAM,QAAQ;AACdA,cAAM,OAAO;AAAA,IACjB;AAAA,EACJ;AAAA,EACA,gCAAgC,kBAAkB,IAAI,eAAe,CAAA,GAAI;AACrE,UAAM,UAAU;AAChB,iBAAa,QAAQ,iBAAe;AAChC,YAAM,OAAO,IAAI,KAAK,YAAY,SAAS,OAAO,EAAE,YAAW;AAC/D,YAAM,QAAQ,IAAI,KAAK,YAAY,SAAS,OAAO,EAAE,SAAQ;AAC7D,YAAM,mBAAmB,QAAQ,IAAI,KAAK,CAAA;AAC1C,YAAM,oBAAoB,iBAAiB,KAAK,KAAK,CAAA;AAErD,YAAM,uBAAuB,kBAAkB,OAAO,QAAM,GAAG,OAAO,YAAY,EAAE;AACpF,cAAQ,IAAI,IAAI;AAAA,QACZ,GAAG;AAAA,QACH,CAAC,KAAK,GAAG,CAAC,GAAG,sBAAsB,WAAW,EAAE,KAAK,CAACrB,IAAGC,OAAM,IAAI,KAAKA,GAAE,SAAS,OAAO,EAAE,YAAY,IAAI,KAAKD,GAAE,SAAS,OAAO,EAAE,QAAO,CAAE;AAAA,MAC9J;AAAA,IACQ,CAAC;AACD,WAAO;AAAA,EACX;AAAA,EACA,uBAAuB,cAAc;AACjC,WAAO,aAAa,OAAO,iBAAe;AACtC,YAAM,YAAY,YAAY,UAAU,MAAM;;AAAY,+BAAS,aAAT,mBAAmB,MAAM,aAAY;AAAA,OAAI;AACnG,aAAO,CAAC;AAAA,IACZ,CAAC;AAAA,EACL;AAAA,EACA,uBAAuB,cAAc;;AACjC,UAAM,WAAU,qBAAgB,MAAM,sBAAtB,mBAAyC;AACzD,UAAM,uBAAuB,aAAa,OAAO,iBAAe,YAAY,SAAS,UAAU,OAAO;AACtG,WAAO;AAAA,EACX;AAAA,EACA,cAAc;AACVqB,YAAM,OAAO;AAAA,EACjB;AAAA,EACA,oBAAoB;AAChBA,YAAM,eAAe,CAAA;AACrBA,YAAM,qBAAqB,CAAA;AAC3BA,YAAM,oBAAoB;AAC1BA,YAAM,UAAU;AAChBA,YAAM,QAAQ;AACdA,YAAM,OAAO;AAAA,EACjB;AACJ;AAEO,MAAM,yBAAyB,kBAAkBI,cAAY,WAAW;ACpG/E,MAAMJ,UAAQ,MAAM;AAAA,EAChB,aAAa,oBAAI,IAAG;AAAA,EACpB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,QAAQ;AACZ,CAAC;AAED,IAAI;AAEJ,MAAMI,eAAa;AAAA,EACnB,OAAIJ;AAAAA,EACA,aAAa,KAAK,UAAU;AACxB,WAAOC,aAAOD,SAAO,KAAK,QAAQ;AAAA,EACtC;AAAA,EACA,aAAa;AACT,WAAOA,QAAM;AAAA,EACjB;AAAA,EACA,UAAU,QAAQ;AACdA,YAAM,UAAU,IAAI,MAAM;AAAA,EAC9B;AAAA,EACA,MAAM,uBAAuB;;AACzB,QAAI,eAAe,WAAU,KAAO,eAAe,SAAQ,KAAM,eAAe,MAAK,GAAK;AACtF,UAAI,qBAAqB;AACrB,cAAM;AACN,8BAAsB;AACtB;AAAA,MACJ;AACA,UAAI,CAAC,eAAe,iBAAiBA,mCAAO,eAAe,GAAG;AAC1D,cAAM,OAAOA,QAAM;AACnBA,gBAAM,QAAQ;AACd;AAAA,MACJ;AACA,6BAAsB,gCAAqB,WAAU,MAA/B,mBAChB,yBADgB,4BAEjB,MAAM,MAAM;AACjB,2BAAqB,MAAM,SAAS;AACpC,YAAM;AACN,4BAAsB;AACtBA,cAAM,kBAAkB;AACxB,2BAAqB,MAAM,SAAS;AAAA,IACxC,OACK;AACD,cAAM,MAAAL,MAAA,qBAAqB,WAAU,MAA/B,gBAAAA,IAAmC,yBAAnC,wBAAAA;AAAA,IACV;AAAA,EACJ;AAAA,EACA,MAAM,gBAAgB,SAAS,OAAO,WAAW,MAAM;;AACnD,YAAM,gCAAqB,iBAArB,mBAAmC,oBAAnC,4BAAqD;AAC3D,QAAI,UAAU;AACV,sBAAgB,mBAAmB,KAAK;AAAA,IAC5C;AAAA,EACJ;AAAA,EACA,MAAM,kBAAkB,SAAS;;AAC7B,YAAM,gCAAqB,iBAArB,mBAAmC,sBAAnC,4BAAuD;AAC7D,UAAM,YAAY,QAAQ,SAAS,gBAAgB,MAAM;AACzD,QAAI,WAAW;AACX,0BAAoB,eAAe,QAAQ,IAAI,SAAS;AAAA,IAC5D;AAAA,EACJ;AAAA,EACA,MAAM,wBAAwB,aAAa,WAAW;;AAClD,oBAAgB,WAAW,MAAM,gBAAgB,MAAM,WAAW;AAClE,UAAM,gBAAgB,oBAAoB,iBAAgB;AAC1D,QAAI,CAAC,eAAe;AAChB;AAAA,IACJ;AACA,sBAAkB,wBAAwB,aAAa,SAAS;AAChE,UAAM,cAAc,SAAS,oBAAoB,WAAW;AAC5D,gBAAY,yBAAyB,kBAAkB,MAAM,yBAAyB,EAAE,CAAC,SAAS,GAAG,aAAa;AAClH,UAAM,qBAAqB,kBAAkB,aAAa;AAC1D,oBAAgB,WAAW,OAAO,gBAAgB,MAAM,WAAW;AACnE,qBAAiB,UAAU;AAAA,MACvB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACR;AAAA,QACA,WAAS,qBAAgB,MAAM,sBAAtB,mBAAyC,kBAAiB;AAAA,MACnF;AAAA,IACA,CAAS;AAAA,EACL;AAAA,EACA,MAAM,YAAY,SAAS;;AACvB,YAAO,0BAAqB,iBAArB,mBAAmC,YAAY;AAAA,EAC1D;AAAA,EACA,WAAW,OAAO,UAAU;;AACxB,YAAO,0BAAqB,WAAU,MAA/B,mBAAmC,WAAW,OAAO;AAAA,EAChE;AAAA,EACA,YAAY,OAAO,UAAU;;AACzB,YAAO,0BAAqB,WAAU,MAA/B,mBAAmC,YAAY,OAAO;AAAA,EACjE;AAAA,EACA,MAAM,gBAAgB,MAAM;;AACxB,YAAO,0BAAqB,iBAArB,mBAAmC,gBAAgB;AAAA,EAC9D;AAAA,EACA,MAAM,gBAAgB,QAAQ;;AAC1B,YAAO,0BAAqB,iBAArB,mBAAmC,gBAAgB;AAAA,EAC9D;AAAA,EACA,MAAM,iBAAiB,QAAQ;;AAC3B,YAAO,0BAAqB,iBAArB,mBAAmC,iBAAiB;AAAA,EAC/D;AAAA,EACA,MAAM,gBAAgB,QAAQ;;AAC1B,aAAO,0BAAqB,WAAU,MAA/B,mBAAmC,gBAAgB,YAAW,CAAA;AAAA,EACzE;AAAA,EACA,MAAM,YAAY,MAAM;;AACpB,YAAO,0BAAqB,iBAArB,mBAAmC,YAAY;AAAA,EAC1D;AAAA,EACA,MAAM,cAAc,MAAM;;AACtB,YAAO,0BAAqB,iBAArB,mBAAmC,cAAc;AAAA,EAC5D;AAAA,EACA,MAAM,cAAc,OAAO;;AACvB,YAAO,0BAAqB,iBAArB,mBAAmC,cAAc;AAAA,EAC5D;AAAA,EACA,MAAM,aAAa,OAAO;;AACtB,YAAO,0BAAqB,iBAArB,mBAAmC,aAAa;AAAA,EAC3D;AAAA,EACA,eAAe,KAAK;;AAChB,aAAO,gCAAqB,WAAU,MAA/B,mBAAmC,mBAAnC,4BAAoD,SAAQ;AAAA,EACvE;AAAA,EACA,oBAAoB;AAChBK,YAAM,QAAQ;AACdA,YAAM,kBAAkB;AACxBA,YAAM,YAAY;AAClBA,YAAM,eAAe;AACrBA,YAAM,SAAS;AACf,2BAAuB,kBAAiB;AACxC,gBAAY,4BAA2B;AAAA,EAC3C;AAAA,EACA,WAAW;AACPA,YAAM,QAAQ;AACdA,YAAM,kBAAkB;AACxB,0BAAsB;AAAA,EAC1B;AAAA,EACA,uBAAuB;;AACnB,UAAM,EAAE,WAAW,aAAY,IAAK,qBAAqB;AACzD,QAAI,WAAW;AACX,kBAAY,yBAAyB,SAAS;AAAA,IAClD;AACA,QAAI,cAAc;AACd,kBAAY,gBAAgB,YAAY;AAAA,IAC5C;AACA,qBAAiB,UAAU;AAAA,MACvB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACR,QAAQ,YAAY,WAAW;AAAA,QAC/B,QAAM,4BAAiB,MAAM,SAAvB,mBAA6B,WAA7B,mBAAqC,SAAQ;AAAA,MACnE;AAAA,IACA,CAAS;AAAA,EACL;AAAA,EACA,WAAW,SAAS;AAChBA,YAAM,UAAU;AAAA,EACpB;AAAA,EACA,OAAO,KAAK;AACRA,YAAM,QAAQ;AACdA,YAAM,kBAAkB,eAAe,iBAAgB;AAAA,EAC3D;AAAA,EACA,aAAa,WAAW;AACpBA,YAAM,YAAY;AAAA,EACtB;AAAA,EACA,WAAW,SAAS;AAChBA,YAAM,UAAU;AAChBA,YAAM,YAAY;AAAA,EACtB;AAAA,EACA,gBAAgB,QAAQ;AACpBA,YAAM,eAAe;AAAA,EACzB;AAAA,EACA,aAAa,WAAW;AACpBA,YAAM,YAAY;AAAA,EACtB;AAAA,EACA,UAAU,QAAQ;AACdA,YAAM,SAAS;AAAA,EACnB;AAAA,EACA,MAAM,WAAW,WAAW;;AACxB,QAAI;AACA,cAAM,0BAAqB,iBAArB,mBAAmC,WAAW;AAAA,IACxD,SACO,OAAO;AACV,YAAM,IAAI,YAAY,wBAAwB,sBAAsB,KAAK;AAAA,IAC7E;AAAA,EACJ;AAAA,EACA,eAAe,aAAa,gBAAgB;AACxCA,YAAM,YAAY,IAAI,gBAAgB,WAAW;AAAA,EACrD;AAAA,EACA,cAAc,EAAE,YAAY,SAAS,UAAS,GAAI;AAC9C,UAAM,uBAAuB,oBAAoB,MAAM,mBAAmB,SAAS;AACnF,UAAM,uBAAuB,yBAAyB,WAAW;AACjE,QAAI,sBAAsB;AACtB,YAAM,iBAAiB,gBAAgB,MAAM;AAC7C,UAAI,gBAAgB;AAChB,cAAM,cAAc,GAAG,SAAS,IAAI,eAAe,EAAE,IAAI,OAAO;AAChE,0BAAkB,eAAe,aAAa,SAAS;AAAA,MAC3D,OACK;AACD,gBAAQ,KAAK,2CAA2C,SAAS,GAAG;AAAA,MACxE;AAAA,IACJ,OACK;AACD,YAAM,YAAY,oBAAoB,aAAa,WAAW,WAAW;AACzE,UAAI,WAAW;AACX,6BAAqB,gBAAgB,WAAW,SAAS;AAAA,MAC7D,OACK;AACD,gBAAQ,KAAK,qCAAqC,SAAS,GAAG;AAAA,MAClE;AAAA,IACJ;AAAA,EACJ;AACJ;AAEY,MAAC,uBAAuB,kBAAkBI,YAAU;ACxNhE,MAAMJ,UAAQ,MAAM;AAAA,EAChB,SAAS;AAAA,EACT,MAAM;AAAA,EACN,mBAAmB;AAAA,EACnB,aAAa;AAAA,EACb,aAAa;AACjB,CAAC;AAEM,MAAM,wBAAwB;AAAA,EACrC,OAAIA;AAAAA,EACA,UAAU,UAAU;AAChB,WAAOK,UAAIL,SAAO,MAAM,SAASA,OAAK,CAAC;AAAA,EAC3C;AAAA,EACA,cAAc,UAAU;AACpB,WAAO,aAAaA,SAAO,QAAQ,QAAQ;AAAA,EAC/C;AAAA,EACA,IAAI,UAAU;AACV,WAAO,OAAOA,SAAO,EAAE,GAAGA,SAAO,GAAG,UAAU;AAAA,EAClD;AACJ;ACrBO,MAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOxB,cAAc,OAAO,SAAS;AAC1B,UAAM,WAAW;AAAA,MACb,MAAO,MAAM,SAAS,MAAM,KAAK;AAAA,MACjC,QAAS,MAAM,SAAS,QAAQ,KAAK;AAAA,MACrC,UAAW,MAAM,SAAS,UAAU,KAAK;AAAA,MACzC,OAAQ,MAAM,SAAS,OAAO,KAAK;AAAA,MACnC,OAAQ,MAAM,SAAS,OAAO,KAAK;AAAA,MACnC,SAAU,MAAM,SAAS,SAAS,KAAK;AAAA,IACnD;AACQ,WAAO;AAAA,MACH,MAAM,SAAS;AAAA,MACf,QAAQ,SAAS;AAAA,MACjB;AAAA,MACA,SAAS,MAAM,YAAY,WACrB,SACA,KAAK,8BAA8B,MAAM,SAAS,OAAO;AAAA,MAC/D,OAAO,SAAS;AAAA,MAChB,OAAO,SAAS;AAAA,MAChB,UAAU;AAAA,QACN,UAAU,SAAS,SAAS,SAAQ;AAAA,QACpC,SAAS,KAAK,oBAAoB;AAAA,UAC9B,KAAK,MAAM;AAAA,UACX,UAAU,SAAS;AAAA,QACvC,CAAiB;AAAA,MACjB;AAAA,MACY,SAAS,SAAS;AAAA,IAC9B;AAAA,EACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,oBAAoB,EAAE,KAAK,YAAY;AACnC,WAAO,YAAY,OAAO,GAAG,GAAG,QAAQ;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,8BAA8B,SAAS,SAAS;AAC5C,WAAO,GAAG,OAAO,IAAI,OAAO;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,mBAAmB,SAAS,WAAW;AACnC,WAAO,GAAG,SAAS,IAAI,SAAS,SAAS,EAAE,CAAC;AAAA,EAChD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,8BAA8B,cAAc;AACxC,UAAM,QAAQ,aAAa,MAAM,GAAG;AACpC,QAAI,MAAM,SAAS,KAAK,CAAC,MAAM,CAAC,GAAG;AAC/B,aAAO;AAAA,IACX;AACA,UAAM,YAAY,MAAM,CAAC;AACzB,UAAM,SAAS,SAAS,WAAW,EAAE;AACrC,WAAO,MAAM,MAAM,IAAI,QAAQ,KAAK,OAAO,SAAS,EAAE,CAAC;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,0BAA0B,UAAU;AAEhC,QAAI,OAAO,aAAa,YAAY,aAAa,MAAM;AACnD,aAAO;AAAA,IACX;AAEA,WAAO,OAAO,OAAO,QAAQ,EAAE,MAAM,WAAS,MAAM,QAAQ,KAAK,KAAK,MAAM,MAAM,WAAS,KAAK,aAAa,KAAK,CAAC,CAAC;AAAA,EACxH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAa,OAAO;AAChB,WAAQ,OAAO,UAAU,YACrB,UAAU,QACV,OAAO,MAAM,YAAY,YACzB,OAAO,MAAM,YAAY,aACxB,MAAM,SAAS,WAAW,MAAM,SAAS,aAC1C,OAAO,MAAM,aAAa,YAC1B,MAAM,aAAa,QACnB,OAAO,MAAM,SAAS,MAAM,MAAM,YAClC,OAAO,MAAM,SAAS,QAAQ,MAAM,YACpC,OAAO,MAAM,SAAS,UAAU,MAAM,YACtC,OAAO,MAAM,SAAS,OAAO,MAAM,YACnC,OAAO,MAAM,SAAS,SAAS,MAAM;AAAA,EAC7C;AACJ;ACvGO,MAAM,cAAc;AAAA,EACvB,MAAM,uBAAuB,aAAa;AACtC,UAAM,UAAU,kBAAkB,MAAM;AACxC,UAAM,cAAc,gBAAgB,MAAM;AAC1C,QAAI,CAAC,WAAW,CAAC,aAAa;AAC1B,aAAO,CAAA;AAAA,IACX;AAEA,QAAI,YAAY,mBAAmB,UAAU;AACzC,YAAM,iBAAiB,MAAM,KAAK,kBAAkB,SAAS,WAAW;AACxE,UAAI,gBAAgB;AAChB,eAAO,KAAK,uBAAuB,cAAc;AAAA,MACrD;AAAA,IACJ;AAEA,UAAM,WAAW,MAAM,wBAAwB,WAAW,SAAS,YAAY,eAAe,WAAW;AACzG,WAAO,KAAK,uBAAuB,SAAS,QAAQ;AAAA,EACxD;AAAA,EACA,MAAM,kBAAkB,SAAS,aAAa;;AAC1C,QAAI;AACA,YAAM,aAAa,aAAa,8BAA8B,YAAY,aAAa;AACvF,YAAM,qBAAsB,MAAM,qBAAqB,gBAAgB,OAAO;AAC9E,UAAI,GAAC,oEAAqB,gBAArB,mBAAmC,sBAAnC,mBAAsD,YAAW;AAClE,eAAO;AAAA,MACX;AACA,YAAM,0BAA0B,MAAM,qBAAqB,gBAAgB;AAAA,QACvE,SAAS;AAAA,QACT,aAAa,CAAC,UAAU;AAAA,MACxC,CAAa;AACD,UAAI,CAAC,aAAa,0BAA0B,uBAAuB,GAAG;AAClE,eAAO;AAAA,MACX;AACA,YAAM,SAAS,wBAAwB,UAAU,KAAK,CAAA;AACtD,aAAO,OAAO,IAAI,WAAS,aAAa,cAAc,OAAO,YAAY,aAAa,CAAC;AAAA,IAC3F,SACO,OAAO;AACV,aAAO;AAAA,IACX;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB,UAAU;AAC7B,WAAO,SAAS,OAAO,aAAW,QAAQ,SAAS,aAAa,GAAG;AAAA,EACvE;AAAA,EACA,wBAAwB,UAAU;AAC9B,YAAQ,qCAAU,IAAI,YAAU;AAAA,MAC5B,GAAG;AAAA,MACH,UAAS,+BAAO,WACV,MAAM,UACN,gBAAgB,6BAA4B;AAAA,MAClD,UAAU,SAAS,MAAM,SAAS,UAAU,EAAE;AAAA,MAC9C,SAAS,MAAM;AAAA,MACf,SAAS;AAAA,IACrB,QAAe,CAAA;AAAA,EACX;AACJ;AC/CA,MAAMA,UAAQ,MAAM;AAAA,EAChB,eAAe,CAAA;AAAA,EACf,SAAS;AACb,CAAC;AAED,MAAMI,eAAa;AAAA,EACnB,OAAIJ;AAAAA,EACA,UAAU,UAAU;AAChB,WAAOK,UAAIL,SAAO,MAAM,SAASA,OAAK,CAAC;AAAA,EAC3C;AAAA,EACA,aAAa,KAAK,UAAU;AACxB,WAAOC,aAAOD,SAAO,KAAK,QAAQ;AAAA,EACtC;AAAA,EACA,SAAS,OAAO;AACZ,QAAI,OAAO;AACPA,cAAM,QAAQ,IAAI,KAAK;AAAA,IAC3B;AAAA,EACJ;AAAA,EACA,eAAe,iBAAiB;AAC5BA,YAAM,kBAAkB;AAAA,EAC5B;AAAA,EACA,mBAAmB,iBAAiB;AAChCA,YAAM,kBAAkB;AAAA,EAC5B;AAAA,EACA,2BAA2B,yBAAyB;AAChDA,YAAM,0BAA0B;AAAA,EACpC;AAAA,EACA,uBAAuB,qBAAqB;AACxCA,YAAM,sBAAsB;AAAA,EAChC;AAAA,EACA,uBAAuB,qBAAqB;AACxCA,YAAM,sBAAsB;AAAA,EAChC;AAAA,EACA,WAAW,SAAS;AAChBA,YAAM,UAAU;AAAA,EACpB;AAAA,EACA,MAAM,YAAY;;AACd,QAAI;AACA,qBAAe,WAAW,IAAI;AAC9B,eAAQ,qBAAgB,MAAM,sBAAtB,mBAAyC,gBAAc;AAAA,QAC3D,KAAK;AACD,gBAAM,eAAe,aAAY;AACjC;AAAA,QACJ,KAAK;AACD,gBAAM,eAAe,gBAAe;AACpC;AAAA,QACJ;AACI,gBAAM,IAAI,MAAM,mBAAmB;AAAA,MACvD;AAAA,IACQ,UACR;AACY,qBAAe,WAAW,KAAK;AAAA,IACnC;AAAA,EACJ;AAAA,EACA,MAAM,eAAe;;AACjB,UAAM,uBAAuB,gBAAgB,MAAM;AACnD,UAAM,qBAAoB,uBAAkB,MAAM,0BAAxB,mBAAgD;AAC1E,QAAI,CAAC,eAAe,MAAM,mBAAmB,CAAC,eAAe,MAAM,iBAAiB;AAChF,YAAM,IAAI,MAAM,6CAA6C;AAAA,IACjE;AACA,QAAI,CAAC,eAAe,MAAM,OAAO;AAC7B,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACzC;AACA,SAAI,oBAAe,MAAM,UAArB,mBAA4B,SAAS;AACrC,uBAAiB,UAAU;AAAA,QACvB,MAAM;AAAA,QACN,OAAO;AAAA,QACP,YAAY;AAAA,UACR,gBAAgB,sBAAsB,qBAAqB,cAAc;AAAA,UACzE,OAAO,eAAe,MAAM,MAAM;AAAA,UAClC,QAAQ,eAAe,MAAM;AAAA,UAC7B,WAASL,MAAA,gBAAgB,MAAM,sBAAtB,gBAAAA,IAAyC,kBAAiB;AAAA,QACvF;AAAA,MACA,CAAa;AACD,YAAM,eAAe,eAAe;AAAA,QAChC,iBAAiB,eAAe,MAAM;AAAA,QACtC,cAAc,eAAe,MAAM,MAAM;AAAA,QACzC,iBAAiB,eAAe,MAAM;AAAA,QACtC,UAAU,eAAe,MAAM,MAAM,SAAS;AAAA,MAC9D,CAAa;AAAA,IACL,OACK;AACD,uBAAiB,UAAU;AAAA,QACvB,MAAM;AAAA,QACN,OAAO;AAAA,QACP,YAAY;AAAA,UACR,gBAAgB,sBAAsB,qBAAqB,cAAc;AAAA,UACzE,OAAO,eAAe,MAAM,MAAM,UAAU;AAAA,UAC5C,QAAQ,eAAe,MAAM;AAAA,UAC7B,WAAS,qBAAgB,MAAM,sBAAtB,mBAAyC,kBAAiB;AAAA,QACvF;AAAA,MACA,CAAa;AACD,YAAM,eAAe,gBAAgB;AAAA,QACjC,iBAAiB,eAAe,MAAM;AAAA,QACtC,iBAAiB,eAAe,MAAM;AAAA,QACtC,UAAU,eAAe,MAAM,MAAM,SAAS;AAAA,MAC9D,CAAa;AAAA,IACL;AAAA,EACJ;AAAA,EACA,MAAM,kBAAkB,SAAS;;AAC7BK,YAAM,UAAU;AAChB,UAAM,WAAU,qBAAgB,MAAM,sBAAtB,mBAAyC;AACzD,UAAM,SAAQ,qBAAgB,MAAM,sBAAtB,mBAAyC;AACvD,UAAM,cAAc,gBAAgB,MAAM;AAC1C,UAAM,UAAU,cAAc,eAAe,gBAAgB,WAAW,IAAI;AAC5E,QAAIA,QAAM,aACN,CAAC,eAAe,eAAeA,QAAM,WAAW,KAAKxB,gBAAc,UAAU,GAAG;AAChFwB,cAAM,UAAU;AAChB,aAAO,CAAA;AAAA,IACX;AACA,QAAI;AACA,UAAI,WAAW,WAAW,OAAO;AAC7B,cAAM,WAAW,MAAM,YAAY,uBAAsB;AACzDA,gBAAM,gBAAgB;AACtBA,gBAAM,YAAY;AAClB,eAAO;AAAA,MACX;AAAA,IACJ,SACO,OAAO;AACVA,cAAM,YAAY,KAAK,IAAG;AAC1B,yCAAU;AACV,sBAAgB,UAAU,2BAA2B;AAAA,IACzD,UACR;AACYA,cAAM,UAAU;AAAA,IACpB;AACA,WAAO,CAAA;AAAA,EACX;AAAA,EACA,sBAAsB;AAClB,QAAIA,QAAM,cAAc,WAAW,GAAG;AAClC;AAAA,IACJ;AACA,UAAM,uBAAuB,YAAY,wBAAwBA,QAAM,aAAa;AACpF,QAAI,CAAC,sBAAsB;AACvB;AAAA,IACJ;AACA,UAAM,eAAe,qBAAqB,KAAK,WAAS,MAAM,YAAY,gBAAgB,8BAA8B;AACxH,QAAI,CAAC,cAAc;AACf;AAAA,IACJ;AACAA,YAAM,sBAAsB,eACtB,WAAW,SAAS,aAAa,SAAS,SAAS,aAAa,KAAK,EAAE,SAAQ,IAC/E;AAAA,EACV;AAAA,EACA,MAAM,gBAAgB,QAAQ;;AAC1B,qBAAiB,qBAAqB,EAAE;AACxC,UAAMS,MAAK,OAAO;AAClB,UAAM,UAAU,kBAAkB,MAAM;AACxC,UAAM,QAAQ,qBAAqB,WAAW,OAAO,gBAAgB,SAAQ,GAAI,OAAO,OAAO,QAAQ,CAAC;AACxG,UAAM,OAAO;AACb,UAAM,qBAAqB,gBAAgB;AAAA,MACvC,gBAAgB;AAAA,MAChB,IAAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO,SAAS,OAAO,CAAC;AAAA,IACpC,CAAS;AACD,qBAAiB,UAAU;AAAA,MACvB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACR,kBAAgB,uBAAkB,MAAM,0BAAxB,mBAAgD,eAC5D,qBAAqB,cAAc;AAAA,QACvC,SAAO,oBAAe,MAAM,UAArB,mBAA4B,WAAU;AAAA,QAC7C,QAAQ,OAAO;AAAA,QACf,WAASd,MAAA,gBAAgB,MAAM,sBAAtB,gBAAAA,IAAyC,kBAAiB;AAAA,MACnF;AAAA,IACA,CAAS;AACD,+BAAqB,WAAU,MAA/B,mBAAmC,cAAc;AACjD,mBAAe,UAAS;AAAA,EAC5B;AAAA,EACA,MAAM,eAAe,QAAQ;AACzB,qBAAiB,qBAAqB;AAAA,MAClC,YAAY;AACR,yBAAiB,QAAQ,SAAS;AAAA,MACtC;AAAA,IACZ,CAAS;AACD,UAAM,SAAS,qBAAqB,WAAW,OAAO,gBAAgB,SAAQ,GAAI,OAAO,OAAO,QAAQ,CAAC;AACzG,QAAI,kBAAkB,MAAM,WACxB,OAAO,mBACP,OAAO,mBACP,OAAO,cAAc;AACrB,YAAM,eAAe,eAAe,gBAAgB,OAAO,YAAY;AACvE,YAAM,qBAAqB,cAAc;AAAA,QACrC,aAAa,kBAAkB,MAAM;AAAA,QACrC;AAAA,QACA,MAAM,CAAC,OAAO,iBAAiB,UAAU,OAAO,CAAC,CAAC;AAAA,QAClD,QAAQ;AAAA,QACR,KAAK,aAAa,YAAY,YAAY;AAAA,QAC1C,gBAAgB;AAAA,MAChC,CAAa;AACD,qBAAe,UAAS;AAAA,IAC5B;AAAA,EACJ;AAAA,EACA,MAAM,kBAAkB;;AACpB,QAAI,CAAC,eAAe,MAAM,mBAAmB,CAAC,eAAe,MAAM,iBAAiB;AAChF,YAAM,IAAI,MAAM,6CAA6C;AAAA,IACjE;AACA,qBAAiB,qBAAqB;AAAA,MAClC,YAAY;AACR,yBAAiB,QAAQ,SAAS;AAAA,MACtC;AAAA,IACZ,CAAS;AACD,UAAM,qBAAqB,gBAAgB;AAAA,MACvC,gBAAgB;AAAA,MAChB,IAAI,eAAe,MAAM;AAAA,MACzB,OAAO,eAAe,MAAM;AAAA,IACxC,CAAS;AACD,+BAAqB,WAAU,MAA/B,mBAAmC,cAAc;AACjD,mBAAe,UAAS;AAAA,EAC5B;AAAA,EACA,YAAY;AACRK,YAAM,QAAQ;AACdA,YAAM,kBAAkB;AACxBA,YAAM,kBAAkB;AACxBA,YAAM,0BAA0B;AAChCA,YAAM,sBAAsB;AAC5BA,YAAM,UAAU;AAChBA,YAAM,gBAAgB,CAAA;AAAA,EAC1B;AACJ;AAEO,MAAM,iBAAiB,kBAAkBI,YAAU;AC7N1D,MAAM,eAAe;AAAA,EACjB,YAAY;AAAA,EACZ,cAAc,CAAA;AAAA,EACd,sBAAsB;AAAA,EACtB,eAAe,oBAAI,IAAG;AAAA,EACtB,aAAa,CAAA;AAAA,EACb,MAAM;AACV;AACA,MAAM,eAAe;AAAA,EACjB,aAAa;AAAA,EACb,qBAAqB;AAAA,EACrB,6BAA6B,CAAA;AACjC;AAEA,MAAMJ,UAAQ,MAAM;AAAA,EAChB,QAAQ,SAAQ;AAAA,EAChB,mBAAmB;AAAA,EACnB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,YAAY;AAAA,EACZ,kBAAkB;AAAA,IACd,yBAAyB;AAAA,IACzB,4BAA4B;AAAA,EACpC;AAAA,EACI,sBAAsB;AAC1B,CAAC;AAED,MAAMI,eAAa;AAAA,EACnB,OAAIJ;AAAAA,EACA,UAAU,UAAU;AAChB,WAAOK,UAAIL,SAAO,MAAM;AACpB,eAASA,OAAK;AAAA,IAClB,CAAC;AAAA,EACL;AAAA,EACA,aAAa,KAAK,UAAU;AACxB,WAAOC,aAAOD,SAAO,KAAK,QAAQ;AAAA,EACtC;AAAA,EACA,mBAAmB,UAAU,UAAU,OAAO;AAC1C,QAAI,OAAO;AACX,WAAOK,UAAIL,QAAM,QAAQ,MAAM;;AAC3B,YAAM,cAAc,SAASA,QAAM;AACnC,UAAI,aAAa;AACb,cAAM,aAAYA,aAAM,OAAO,IAAI,WAAW,MAA5BA,mBAAgC;AAClD,YAAI,SAAS,WAAW;AACpB,iBAAO;AACP,mBAAS,SAAS;AAAA,QACtB;AAAA,MACJ;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EACA,WAAW,UAAU,cAAc,SAAS;AACxC,UAAM,EAAE,SAAS,eAAe,WAAW,gBAAe,IAAK,YAAY,sBAAqB;AAChG,UAAM,oBAAoB,6CAAc,KAAK,aAAW,QAAQ,GAAG,SAAQ,OAAO,+CAAe;AACjG,UAAM,iBAAiB,SAAS,KAAK,cAAW,mCAAS,eAAc,eAAe;AACtF,UAAM,oBAAoB,mBAAkB,qCAAW;AACvD,UAAM,yBAAyB,SAAS,IAAI,CAAArB,OAAKA,GAAE,SAAS,EAAE,OAAO,OAAK,MAAM,MAAS;AAIzF,UAAM,aAAa,kBAAkB,MAAM,iBACrC,oBAAI,IAAI,CAAC,GAAG,sBAAsB,CAAC,IACnC,oBAAI,IAAI,CAAC,IAAI,6CAAc,IAAI,aAAW,QAAQ,oBAAmB,CAAA,CAAG,CAAC;AAC/E,SAAI,qCAAU,YAAW,KAAK,CAAC,mBAAmB;AAC9CqB,cAAM,aAAa;AAAA,IACvB;AACA,QAAI,CAACA,QAAM,YAAY;AACnBA,cAAM,cAAc,uDAAmB;AACvCA,cAAM,oBAAoB;AAC1B,sBAAgB,oBAAoB,uDAAmB,WAAW;AAAA,QAC9D,aAAa;AAAA,MAC7B,CAAa;AACD,UAAIA,QAAM,aAAa;AACnB,8BAAsB,IAAI,EAAE,aAAa,uDAAmB,UAAS,CAAE;AAAA,MAC3E;AAAA,IACJ;AACA,eAAW,QAAQ,eAAa;AAC5B,YAAM,oBAAoB,6CAAc,OAAO,aAAW,QAAQ,mBAAmB;AACrF,sBAAgB,MAAM,OAAO,IAAI,WAAW;AAAA,QACxC;AAAA,QACA,cAAc,MAAM;AAAA,UAChB,GAAG;AAAA,UACH,aAAa,uDAAoB;AAAA,QACrD,CAAiB;AAAA,QACD,cAAc,MAAM,YAAY;AAAA,QAChC,cAAc,qBAAqB,CAAA;AAAA,QACnC,GAAG;AAAA,MACnB,CAAa;AACD,sBAAgB,yBAAyB,qBAAqB,CAAA,GAAI,SAAS;AAAA,IAC/E,CAAC;AAAA,EACL;AAAA,EACA,cAAc,WAAW;;AACrB,QAAIA,QAAM,gBAAgB,WAAW;AACjC,YAAM,cAAc,MAAM,KAAKA,QAAM,OAAO,SAAS,EAAE,KAAK,CAAC,CAAC,cAAc,MAAM,mBAAmB,SAAS;AAC9G,UAAI,aAAa;AACb,cAAM,eAAc,uBAAY,CAAC,MAAb,mBAAgB,iBAAhB,mBAA+B;AACnD,YAAI,aAAa;AACb,0BAAgB,qBAAqB,WAAW;AAAA,QACpD;AAAA,MACJ;AAAA,IACJ;AACAA,YAAM,OAAO,OAAO,SAAS;AAAA,EACjC;AAAA,EACA,WAAW,SAAS,EAAE,yBAAyB,2BAA0B,GAAI,cAAc;AACvFA,YAAM,OAAO,IAAI,QAAQ,WAAW;AAAA,MAChC,WAAW,QAAQ;AAAA,MACnB,cAAc;AAAA,QACV,GAAG;AAAA,QACH,aAAa,aAAa,CAAC;AAAA,MAC3C;AAAA,MACY;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACZ,CAAS;AACD,oBAAgB,0BAAyB,6CAAc,OAAO,iBAAe,YAAY,mBAAmB,QAAQ,eAAc,IAAI,QAAQ,SAAS;AAAA,EAC3J;AAAA,EACA,WAAW,SAAS;;AAChB,UAAM,eAAeA,QAAM,OAAO,IAAI,QAAQ,cAAc;AAC5D,QAAI,cAAc;AACd,YAAM,cAAc,CAAC,GAAI,aAAa,gBAAgB,CAAA,CAAG;AACzD,UAAI,GAAC,kBAAa,iBAAb,mBAA2B,KAAK,iBAAe,YAAY,OAAO,QAAQ,MAAK;AAChF,oBAAY,KAAK,OAAO;AAAA,MAC5B;AACAA,cAAM,OAAO,IAAI,QAAQ,gBAAgB,EAAE,GAAG,cAAc,cAAc,aAAa;AACvF,sBAAgB,yBAAyB,aAAa,QAAQ,cAAc;AAC5E,0BAAoB,kBAAkB,QAAQ,gBAAgB,IAAI;AAAA,IACtE;AAAA,EACJ;AAAA,EACA,cAAc,WAAW,WAAW;;AAChC,UAAM,eAAeA,QAAM,OAAO,IAAI,SAAS;AAC/C,QAAI,cAAc;AAEd,YAAM,oBAAkBA,aAAM,sBAANA,mBAAyB,QAAO;AAExD,YAAM,2BAA2B;AAAA,QAC7B,KAAI,kBAAa,iBAAb,mBAA2B,OAAO,aAAW,QAAQ,OAAO,eAAc,CAAA;AAAA,MAC9F;AAEY,UAAI,qBAAmBL,MAAA,6CAAc,iBAAd,gBAAAA,IAA6B,KAAI;AACpD,wBAAgB,qBAAqB,aAAa,aAAa,CAAC,CAAC;AAAA,MACrE;AACAK,cAAM,OAAO,IAAI,WAAW,EAAE,GAAG,cAAc,cAAc,0BAA0B;AACvF,sBAAgB,yBAAyB,4BAA4B,CAAA,GAAI,SAAS;AAClF,UAAI,yBAAyB,WAAW,GAAG;AACvC,4BAAoB,kBAAkB,WAAW,KAAK;AAAA,MAC1D;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,uBAAuB,OAAO,OAAO;AACjC,UAAM,eAAeA,QAAM,OAAO,IAAI,KAAK;AAC3C,QAAI,cAAc;AACd,mBAAa,eAAe;AAAA,QACxB,GAAI,aAAa,gBAAgB;AAAA,QACjC,GAAG;AAAA,MACnB;AACYA,cAAM,OAAO,IAAI,OAAO,YAAY;AAAA,IACxC;AAAA,EACJ;AAAA,EACA,oBAAoB,OAAO,cAAc,WAAW,MAAM;AACtD,QAAI,CAAC,OAAO;AACR,YAAM,IAAI,MAAM,gDAAgD;AAAA,IACpE;AACA,UAAM,eAAeA,QAAM,OAAO,IAAI,KAAK;AAC3C,QAAI,cAAc;AACd,YAAM,kBAAkB,EAAE,GAAI,aAAa,gBAAgB,cAAe,GAAG,aAAY;AACzFA,cAAM,OAAO,IAAI,OAAO,EAAE,GAAG,cAAc,cAAc,iBAAiB;AAC1E,UAAIA,QAAM,OAAO,SAAS,KAAKA,QAAM,gBAAgB,OAAO;AACxD,YAAI,aAAa,aAAa;AAC1BA,kBAAM,oBAAoB,aAAa;AAAA,QAC3C;AACA,0BAAkB,aAAa,eAAe;AAAA,MAClD;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,oBAAoB,OAAO,cAAc;AACrC,QAAI,CAAC,OAAO;AACR;AAAA,IACJ;AACA,UAAM,eAAeA,QAAM,OAAO,IAAI,KAAK;AAC3C,QAAI,cAAc;AACd,YAAM,kBAAkB,EAAE,GAAI,aAAa,gBAAgB,cAAe,GAAG,aAAY;AACzFA,cAAM,OAAO,IAAI,OAAO,EAAE,GAAG,cAAc,cAAc,iBAAiB;AAAA,IAC9E;AAAA,EACJ;AAAA;AAAA,EAEA,eAAe,MAAM,OAAO,OAAO,eAAe,MAAM;AACpD,oBAAgB,oBAAoB,OAAO,EAAE,CAAC,IAAI,GAAG,MAAK,GAAI,YAAY;AAC1E,QAAI,SAAS,YAAY,UAAU,kBAAkB,OAAO;AACxD,0BAAoB,kBAAkB,KAAK;AAAA,IAC/C;AAAA,EACJ;AAAA,EACA,mBAAmB,OAAO;;AACtBA,YAAM,cAAc;AACpB,UAAM,aAAa,QAAQA,QAAM,OAAO,IAAI,KAAK,IAAI;AACrD,UAAM,eAAc,8CAAY,iBAAZ,mBAA0B;AAC9C,SAAI,2CAAa,OAAM,OAAO;AAC1BA,cAAM,qBAAoB,8CAAY,iBAAZ,mBAA0B;AACpDA,cAAM,oBAAoB;AAC1B,sBAAgB,oBAAoB,OAAO,EAAE,YAAW,CAAE;AAC1D,kBAAY,uBAAuB,2CAAa,aAAa;AAC7D,4BAAsB,IAAI;AAAA,QACtB,aAAa;AAAA,QACb,mBAAmB,2CAAa;AAAA,MAChD,CAAa;AAAA,IACL;AAAA,EACJ;AAAA,EACA,qBAAqB,aAAa;;AAC9B,QAAI,CAAC,aAAa;AACd;AAAA,IACJ;AACA,QAAIA,QAAM,gBAAgB,YAAY,gBAAgB;AAClD,sBAAgB,wBAAwB,IAAI;AAAA,IAChD;AACA,UAAM,aAAaA,QAAM,OAAO,IAAI,YAAY,cAAc;AAC9DA,YAAM,cAAc,YAAY;AAChCA,YAAM,oBAAoB;AAC1B,oBAAgB,oBAAoB,YAAY,gBAAgB,EAAE,YAAW,CAAE;AAC/E,SAAI,8CAAY,iBAAZ,mBAA0B,SAAS;AACnCA,cAAM,oBAAoB,GAAG,YAAY,cAAc,IAAI,YAAY,EAAE,KAAI,8CAAY,iBAAZ,mBAA0B,OAAO;AAAA,IAClH,OACK;AACDA,cAAM,oBAAoB;AAAA,IAC9B;AAEA,oBAAgB,eAAe,eAAeA,QAAM,mBAAmB,YAAY,cAAc;AACjG,QAAI,YAAY;AACZ,wBAAkB,aAAa,WAAW,YAAY;AAAA,IAC1D;AAEA,mBAAe,UAAS;AACxB,0BAAsB,IAAI;AAAA,MACtB,aAAaA,QAAM;AAAA,MACnB,oBAAmBA,MAAAA,QAAM,sBAANA,gBAAAA,IAAyB;AAAA,IACxD,CAAS;AACD,gBAAY,uBAAuB,YAAY,aAAa;AAC5D,UAAM,cAAc,gBAAgB,wBAAwB,YAAY,cAAc;AACtF,QAAI,CAAC,eACD,kBAAkB,MAAM,uBACxB,CAAC,kBAAkB,MAAM,yBACzB,CAAC,qBAAqB,MAAM,SAAS;AACrC,sBAAgB,uBAAsB;AAAA,IAC1C;AAAA,EACJ;AAAA,EACA,eAAe,aAAa;;AACxB,QAAI,CAAC,aAAa;AACd;AAAA,IACJ;AACA,UAAM,QAAQA,QAAM,OAAO,IAAI,YAAY,cAAc;AACzD,QAAI,OAAO;AACP,2CAAO,iBAAP,mBAAqB,KAAK;AAAA,IAC9B;AAAA,EACJ;AAAA,EACA,MAAM,sBAAsB,WAAW;;AACnC,QAAI,CAAC,WAAW;AACZ;AAAA,IACJ;AACA,UAAM,mBAAmB,cAAc,gBAAgB,MAAM;AAC7D,UAAM,0BAAyB,qBAAgB,eAAe,SAAS,MAAxC,mBAA2C;AAC1E,UAAM,wBAAwB,gBAAgB,0BAA0B,WAAW,iEAAwB,EAAE;AAC7G,QAAI,oBAAoB,uBAAuB;AAC3C,YAAM,gBAAgB,oBAAoB,qBAAqB;AAAA,IACnE;AAAA,EACJ;AAAA,EACA,MAAM,oBAAoB,SAAS;;AAC/B,UAAM,gBAAgB,gBAAgB,MAAM,OAAO,IAAI,gBAAgB,MAAM,WAAW;AACxF,UAAM,qBAAqB,GAAC,oDAAe,iBAAf,mBAA6B,KAAK,iBAAW;;AAAI,yBAAY,SAAOA,MAAAA,QAAM,sBAANA,gBAAAA,IAAyB;AAAA;AACzH,UAAM,0BAA0B,gBAAgB,2BAA2B,QAAQ,cAAc;AACjG,QAAI,yBAAyB;AACzB,UAAI;AACA,cAAM,wBAAwB,kBAAkB,OAAO;AACvD,YAAI,oBAAoB;AACpB,0BAAgB,MAAK;AAAA,QACzB;AAAA,MACJ,SACO,OAAO;AACV,yBAAiB,OAAM;AAAA,MAC3B;AACA,uBAAiB,UAAU;AAAA,QACvB,MAAM;AAAA,QACN,OAAO;AAAA,QACP,YAAY,EAAE,SAAS,QAAQ,cAAa;AAAA,MAC5D,CAAa;AAAA,IACL;AAAA,EACJ;AAAA,EACA,2BAA2B,gBAAgB;AACvC,UAAM,QAAQ,kBAAkBA,QAAM;AACtC,UAAM,eAAeA,QAAM,OAAO,IAAI,KAAK;AAC3C,QAAI,CAAC,cAAc;AACf,YAAM,IAAI,MAAM,yBAAyB;AAAA,IAC7C;AACA,QAAI,CAAC,aAAa,yBAAyB;AACvC,YAAM,IAAI,MAAM,kCAAkC;AAAA,IACtD;AACA,WAAO,aAAa;AAAA,EACxB;AAAA,EACA,8BAA8B,QAAQ;AAClC,UAAM,QAAQ,UAAUA,QAAM;AAC9B,QAAI,CAAC,OAAO;AACR,YAAM,IAAI,MAAM,uDAAuD;AAAA,IAC3E;AACA,UAAM,eAAeA,QAAM,OAAO,IAAI,KAAK;AAC3C,QAAI,EAAC,6CAAc,6BAA4B;AAC3C,YAAM,IAAI,MAAM,qCAAqC;AAAA,IACzD;AACA,WAAO,aAAa;AAAA,EACxB;AAAA,EACA,eAAe,KAAK,QAAQ;;AACxB,QAAI,QAAQA,QAAM;AAClB,QAAI,QAAQ;AACR,cAAQ;AAAA,IACZ;AACA,QAAI,CAAC,OAAO;AACR,aAAO;AAAA,IACX;AACA,UAAM,qBAAoBA,aAAM,OAAO,IAAI,KAAK,MAAtBA,mBAAyB;AACnD,QAAI,CAAC,mBAAmB;AACpB,aAAO;AAAA,IACX;AACA,WAAO,kBAAkB,GAAG;AAAA,EAChC;AAAA,EACA,eAAe,KAAK,WAAW;;AAC3B,UAAM,qBAAoBA,aAAM,OAAO,IAAI,SAAS,MAA1BA,mBAA6B;AACvD,QAAI,CAAC,mBAAmB;AACpB,aAAO;AAAA,IACX;AACA,WAAO,kBAAkB,GAAG;AAAA,EAChC;AAAA,EACA,yBAAyB,eAAe;AACpC,UAAM,UAAUA,QAAM,OAAO,IAAI,aAAa;AAC9C,UAAM,EAAE,yBAAyB,IAAI,wBAAwB,CAAA,OAAO,mCAAS,iBAAgB,CAAA;AAC7F,UAAM,iBAAiB,eAAe,sBAAsB,wBAAwB,qBAAqB;AACzG,WAAO;AAAA,EACX;AAAA,EACA,8BAA8B;AAC1B,UAAM,wBAAwB,CAAA;AAC9BA,YAAM,OAAO,QAAQ,kBAAgB;AACjC,YAAM,eAAe,gBAAgB,yBAAyB,aAAa,SAAS;AACpF,4BAAsB,KAAK,GAAG,YAAY;AAAA,IAC9C,CAAC;AACD,WAAO;AAAA,EACX;AAAA,EACA,yBAAyB,cAAc,OAAO;AAC1C,oBAAgB,uBAAuB,OAAO,EAAE,uBAAuB,aAAY,CAAE;AACrF,UAAM,2BAA2B,gBAAgB,4BAA2B;AAC5E,UAAM,aAAa,yBAAyB,IAAI,aAAW,QAAQ,cAAc;AACjF,UAAM,mBAAmB,MAAM,KAAK,IAAI,IAAI,UAAU,CAAC;AACvD,wBAAoB,mBAAmB,gBAAgB;AAAA,EAC3D;AAAA,EACA,+BAA+B;AAC3B,UAAM,yBAAyB,CAAA;AAC/BA,YAAM,OAAO,QAAQ,kBAAgB;AACjC,YAAM,cAAc,gBAAgB,0BAA0B,aAAa,SAAS;AACpF,6BAAuB,KAAK,GAAG,WAAW;AAAA,IAC9C,CAAC;AACD,WAAO;AAAA,EACX;AAAA,EACA,uBAAuB;AACnB,WAAOA,QAAM;AAAA,EACjB;AAAA,EACA,uBAAuB;AACnB,WAAOA,QAAM;AAAA,EACjB;AAAA,EACA,0BAA0B,WAAW;;AACjC,UAAM,UAAUA,QAAM,OAAO,IAAI,SAAS;AAC1C,UAAM,2BAAyB,wCAAS,iBAAT,mBAAuB,2BAA0B,CAAA;AAChF,WAAO;AAAA,EACX;AAAA,EACA,MAAM,4BAA4B,WAAW;AACzC,UAAM,0BAA0B,gBAAgB,2BAA0B;AAC1E,UAAM,OAAO,OAAM,mEAAyB;AAC5C,oBAAgB,uBAAuB,WAAW;AAAA,MAC9C,wBAAwB,6BAAM;AAAA,MAC9B,qBAAqB,6BAAM;AAAA,IACvC,CAAS;AAAA,EACL;AAAA,EACA,wBAAwB,WAAW,aAAa;AAC5C,UAAM,oBAAoB,eAAeA,QAAM;AAC/C,UAAM,wBAAwB,gBAAgB,yBAAyB,SAAS;AAChF,QAAI,CAAC,sBAAsB,QAAQ;AAC/B,aAAO;AAAA,IACX;AACA,WAAO,+DAAuB,KAAK,aAAW,QAAQ,QAAO,uDAAmB;AAAA,EACpF;AAAA,EACA,wBAAwB,SAAS;AAC7B,QAAI,CAACA,QAAM,aAAa;AACpB,aAAO;AAAA,IACX;AACA,UAAM,wBAAwB,gBAAgB,yBAAyBA,QAAM,WAAW;AACxF,WAAO,+DAAuB,KAAK,aAAW,QAAQ,OAAO;AAAA,EACjE;AAAA;AAAA,EAEA,+BAA+B,6BAA6B,OAAO;AAC/D,oBAAgB,uBAAuB,OAAO,EAAE,4BAA2B,CAAE;AAAA,EACjF;AAAA,EACA,6BAA6B;;AACzB,UAAM,YAAYtB,cAAY,uBAAsBsB,aAAM,sBAANA,mBAAyB,aAAa;AAC1F,UAAM,cAAcA,QAAM;AAC1B,QAAI,CAAC,eAAe,CAAC,WAAW;AAC5B,aAAO;AAAA,IACX;AACA,UAAM,8BAA8B,gBAAgB,eAAe,+BAA+B,WAAW;AAC7G,WAAO,QAAQ,2EAA6B,SAAS,OAAO,SAAS,EAAE;AAAA,EAC3E;AAAA,EACA,+BAA+B;;AAC3B,UAAM,cAAYA,aAAM,sBAANA,mBAAyB,mBAAkB;AAC7D,UAAM,YAAUA,aAAM,sBAANA,mBAAyB,OAAM;AAC/C,UAAM,UAAUxB,gBAAc,qBAAqB,SAAS;AAC5D,WAAO,GAAG,SAAS,IAAI,OAAO,IAAI,OAAO;AAAA,EAC7C;AAAA,EACA,yBAAyB;AACrB,oBAAgB,KAAK,EAAE,MAAM,mBAAkB,CAAE;AAAA,EACrD;AAAA,EACA,wBAAwB;AACpB,UAAM,oBAAoBwB,QAAM;AAChC,WAAO,SAAQ,uDAAmB,mBAC9BxB,gBAAc,iCAAiC,SAAS,kBAAkB,cAAc,CAAC;AAAA,EACjG;AAAA,EACA,aAAa,WAAW;AACpB,oBAAgB,uBAAuB,WAAW;AAAA,MAC9C,wBAAwB;AAAA,MACxB,qBAAqB;AAAA,MACrB,6BAA6B,CAAA;AAAA,IACzC,CAAS;AAAA,EACL;AAAA,EACA,aAAa,OAAO;AAChB,UAAM,eAAe;AACrB,QAAI,CAAC,cAAc;AACf,YAAM,IAAI,MAAM,uCAAuC;AAAA,IAC3D;AACAwB,YAAM,oBAAoB;AAC1B,oBAAgB,oBAAoB,cAAc;AAAA,MAC9C,sBAAsB;AAAA,MACtB,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,SAAS;AAAA,MACT,SAAS;AAAA,MACT,eAAe;AAAA,MACf,aAAa;AAAA,MACb,cAAc;AAAA,MACd,oBAAoB;AAAA,MACpB,cAAc,CAAA;AAAA,MACd,qBAAqB;AAAA,MACrB,uBAAuB;AAAA,MACvB,gBAAgB;AAAA,MAChB,cAAc;AAAA,MACd,cAAc;AAAA,MACd,aAAa,CAAA;AAAA,MACb,MAAM;AAAA,MACN,QAAQ;AAAA,IACpB,CAAS;AACD,wBAAoB,kBAAkB,YAAY;AAAA,EACtD;AAAA,EACA,wBAAwB,sBAAsB;AAC1CA,YAAM,uBAAuB;AAAA,EACjC;AAAA,EACA,2CAA2C;;AACvC,UAAM,kBAAkB,CAAA;AACxB,QAAI,mBAAmB;AACvBA,YAAM,OAAO,QAAQ,WAAS;AAC1B,UAAIU,gBAAoB,gCAAgC,KAAK,CAAAC,QAAMA,QAAO,MAAM,SAAS,GAAG;AACxF,YAAI,MAAM,WAAW;AACjB,0BAAgB,KAAK,MAAM,SAAS;AAAA,QACxC;AAAA,MACJ;AAAA,IACJ,CAAC;AACD,QAAI,gBAAgB,SAAS,GAAG;AAC5B,YAAM,sBAAsB,gBAAgB,CAAC;AAC7C,yBAAmB,uBACbX,mBAAM,OAAO,IAAI,mBAAmB,MAApCA,mBAAuC,iBAAvCA,mBAAsD,KACtD;AACN,aAAO;AAAA,IACX;AACA,WAAO;AAAA,EACX;AAAA,EACA,eAAe,gBAAgB;;AAC3B,QAAI,CAAC,gBAAgB;AACjB,aAAO,kBAAkB;AAAA,IAC7B;AACA,YAAO,qBAAgB,MAAM,OAAO,IAAI,cAAc,MAA/C,mBAAkD;AAAA,EAC7D;AAAA,EACA,eAAe,gBAAgB;;AAC3B,UAAM,YAAY,kBAAkBA,QAAM;AAC1C,QAAI,CAAC,WAAW;AACZ,aAAO;AAAA,IACX;AACA,YAAO,qBAAgB,MAAM,OAAO,IAAI,SAAS,MAA1C,mBAA6C;AAAA,EACxD;AAAA,EACA,0BAA0B,gBAAgB,SAAS;;AAC/C,QAAI,CAAC,gBAAgB;AACjB,aAAO;AAAA,IACX;AACA,UAAM,QAAQ,gBAAgB,MAAM,OAAO,IAAI,cAAc;AAC7D,UAAM,aAAY,oCAAO,iBAAP,mBAAqB,KAAK,aAAW,QAAQ,OAAO;AACtE,QAAI,WAAW;AACX,aAAO;AAAA,IACX;AACA,aAAO,oCAAO,iBAAP,mBAAqB,kBAAeL,MAAA,+BAAO,iBAAP,gBAAAA,IAAsB;AAAA,EACrE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,6BAA6B;AACzB,UAAM,YAAY,oBAAoB,MAAM;AAC5C,UAAM,SAAS,YAAY,CAACK,QAAM,OAAO,IAAI,SAAS,CAAC,IAAI,MAAM,KAAKA,QAAM,OAAO,OAAM,CAAE;AAC3F,WAAO,OACF,QAAQ,YAAS,+BAAO,iBAAgB,CAAA,CAAE,EAC1C,IAAI,iBAAe,YAAY,aAAa;AAAA,EACrD;AAAA,EACA,gBAAgB,WAAW;AACvB,QAAI,WAAW;AACX,aAAO,gBAAgB,yBAAyB,SAAS;AAAA,IAC7D;AACA,WAAO,gBAAgB,4BAA2B;AAAA,EACtD;AACJ;AAEY,MAAC,kBAAkB,kBAAkBI,YAAU;AC9gB3D,MAAM,kBAAkB;AAAA,EACpB,oBAAoB;AAAA,IAChB;AAAA,MACI,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,QACN;AAAA,UACI,MAAM;AAAA,UACN,cAAc;AAAA,UACd,UAAU;AAAA,UACV,kBAAkB;AAAA,QACtC;AAAA,QACgB;AAAA,UACI,MAAM;AAAA,UACN,cAAc;AAAA,UACd,UAAU;AAAA,UACV,kBAAkB;AAAA,QACtC;AAAA,MACA;AAAA,IACA;AAAA,IACQ;AAAA,MACI,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,QACN;AAAA,UACI,MAAM;AAAA,UACN,cAAc;AAAA,UACd,UAAU;AAAA,UACV,kBAAkB;AAAA,QACtC;AAAA,QACgB;AAAA,UACI,MAAM;AAAA,UACN,cAAc;AAAA,UACd,UAAU;AAAA,UACV,kBAAkB;AAAA,QACtC;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EACI,mBAAmB;AAAA,IACf;AAAA,MACI,IAAI;AAAA,MACJ,uBAAuB;AAAA,QACnB;AAAA,UACI,IAAI;AAAA,UACJ,KAAK;AAAA,UACL,KAAK;AAAA,QACzB;AAAA,QACgB;AAAA,UACI,IAAI;AAAA,UACJ,KAAK;AAAA,UACL,KAAK;AAAA,QACzB;AAAA,MACA;AAAA,IACA;AAAA,IACQ;AAAA,MACI,IAAI;AAAA,MACJ,uBAAuB;AAAA,QACnB;AAAA,UACI,IAAI;AAAA,UACJ,KAAK;AAAA,UACL,KAAK;AAAA,QACzB;AAAA,QACgB;AAAA,UACI,IAAI;AAAA,UACJ,KAAK;AAAA,UACL,KAAK;AAAA,QACzB;AAAA,MACA;AAAA,IACA;AAAA,EACA;AACA;AAEA,MAAM,UAAU,eAAe,oBAAmB;AAElD,MAAMJ,UAAQ,MAAM;AAAA,EAChB,UAAU;AAAA,EACV,KAAK,IAAI,UAAU,EAAE,SAAS,UAAU,KAAI,CAAE;AAAA,EAC9C,iBAAiB,EAAE,MAAM,CAAA,GAAI,IAAI,CAAA,EAAE;AACvC,CAAC;AAEM,MAAM,0BAA0B;AAAA,EACvC,OAAIA;AAAAA,EACA,MAAM,IAAI,SAAS;AACf,UAAM,EAAE,IAAAY,KAAI,OAAO,wBAAwB,iBAAgB;AAC3D,UAAM,YAAY,kBAAkB,MAAM;AAC1C,UAAM,SAAS;AAAA,MACX,GAAI,QAAQ,UAAU;MACtB,IAAAA;AAAA,MACA;AAAA,MACA;AAAA,IACZ;AACQ,WAAOZ,QAAM,IAAI,IAAI;AAAA,MACjB,GAAG;AAAA,MACH;AAAA,IACZ,CAAS;AAAA,EACL;AAAA,EACA,mBAAmB;AACf,UAAM,EAAE,SAAS,WAAU,IAAK,kBAAkB;AAClD,WAAO;AAAA,MACH,IAAI,WAAW;AAAA,MACf,IAAI,cAAc;AAAA,IAC9B;AAAA,EACI;AAAA,EACA,MAAM,mBAAmB,WAAW;AAChC,QAAI,CAAC,WAAW;AACZ,aAAO;AAAA,IACX;AACA,QAAI;AACA,UAAI,CAACA,QAAM,gBAAgB,KAAK,QAAQ;AACpC,cAAM,wBAAwB,qBAAoB;AAAA,MACtD;AAAA,IACJ,SACO,GAAG;AACN,aAAO;AAAA,IACX;AACA,WAAOA,QAAM,gBAAgB,KAAK,SAAS,SAAS;AAAA,EACxD;AAAA,EACA,MAAM,uBAAuB;AACzB,QAAI;AACA,YAAM,kBAAkB,MAAM,wBAAwB,IAAI;AAAA,QACtD,MAAM;AAAA,MACtB,CAAa;AACDA,cAAM,kBAAkB;AACxB,aAAO;AAAA,IACX,QACM;AACF,aAAOA,QAAM;AAAA,IACjB;AAAA,EACJ;AAAA,EACA,MAAM,cAAc,EAAE,SAAS,iBAAiB;AAC5C,UAAM,cAAc,MAAM,wBAAwB,mBAAmB,aAAa;AAClF,QAAI,CAAC,aAAa;AACd,aAAO,EAAE,QAAQ,IAAI,MAAM,GAAE;AAAA,IACjC;AACA,UAAM,gBAAgB,YAAY,+BAA+B,OAAO;AACxE,QAAI,eAAe;AACf,aAAO;AAAA,IACX;AACA,UAAM,SAAS,MAAM,wBAAwB,IAAI;AAAA,MAC7C,MAAM,gBAAgB,OAAO;AAAA,MAC7B,QAAQ;AAAA,QACJ,QAAQ,gBAAgB,MAAM,oBACxB,eAAe,gBAAgB,gBAAgB,MAAM,iBAAiB,IACtE;AAAA,MACtB;AAAA,IACA,CAAS;AACD,gBAAY,oBAAoB;AAAA,MAC5B;AAAA,MACA,UAAU;AAAA,MACV,WAAW,KAAK,IAAG;AAAA,IAC/B,CAAS;AACD,WAAO;AAAA,EACX;AAAA,EACA,MAAM,kBAAkB,EAAE,SAAS,QAAQ,QAAQ,QAAQ,OAAO,WAAW;;AACzE,UAAM,cAAc,MAAM,wBAAwB,oBAAmB,qBAAgB,MAAM,sBAAtB,mBAAyC,aAAa;AAC3H,QAAI,CAAC,aAAa;AACd,aAAO,EAAE,MAAM,IAAI,MAAM,OAAS;AAAA,IACtC;AACA,WAAO,wBAAwB,IAAI;AAAA,MAC/B,MAAM,eAAe,OAAO;AAAA,MAC5B,QAAQ;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,MAChB;AAAA,MACY;AAAA,MACA;AAAA,IACZ,CAAS;AAAA,EACL;AAAA,EACA,MAAM,eAAe,EAAE,QAAQ,aAAa,MAAM,IAAAS,KAAI,YAAY;;AAC9D,UAAM,cAAc,MAAM,wBAAwB,oBAAmB,qBAAgB,MAAM,sBAAtB,mBAAyC,aAAa;AAC3H,QAAI,CAAC,aAAa;AACd,aAAO,EAAE,QAAQ,GAAE;AAAA,IACvB;AACA,WAAO,wBAAwB,IAAI;AAAA,MAC/B,MAAM;AAAA,MACN,SAAS;AAAA,QACL,gBAAgB;AAAA,MAChC;AAAA,MACY,QAAQ;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA,IAAAA;AAAA,QACA;AAAA,MAChB;AAAA,IACA,CAAS;AAAA,EACL;AAAA,EACA,MAAM,gBAAgB,EAAE,WAAW;;AAC/B,UAAM,cAAc,MAAM,wBAAwB,oBAAmB,qBAAgB,MAAM,sBAAtB,mBAAyC,aAAa;AAC3H,QAAI,CAAC,aAAa;AACd,aAAO,EAAE,QAAQ,GAAE;AAAA,IACvB;AACA,WAAO,wBAAwB,IAAI;AAAA,MAC/B,MAAM;AAAA,MACN,QAAQ,EAAE,QAAO;AAAA,IAC7B,CAAS;AAAA,EACL;AAAA,EACA,MAAM,gBAAgB,EAAE,aAAa;;AACjC,UAAM,cAAc,MAAM,wBAAwB,oBAAmB,qBAAgB,MAAM,sBAAtB,mBAAyC,aAAa;AAC3H,QAAI,CAAC,aAAa;AACd,aAAO,EAAE,WAAW,GAAE;AAAA,IAC1B;AACA,WAAOT,QAAM,IAAI,KAAK;AAAA,MAClB,MAAM;AAAA,MACN,MAAM;AAAA,QACF,UAAU;AAAA,QACV;AAAA,QACA,WAAW,kBAAkB,MAAM;AAAA,MACnD;AAAA,MACY,SAAS;AAAA,QACL,gBAAgB;AAAA,MAChC;AAAA,IACA,CAAS;AAAA,EACL;AAAA,EACA,MAAM,mBAAmB,EAAE,cAAc,eAAe;;AACpD,UAAM,cAAc,MAAM,wBAAwB,oBAAmB,qBAAgB,MAAM,sBAAtB,mBAAyC,aAAa;AAC3H,QAAI,CAAC,aAAa;AACd,aAAO,EAAE,WAAW,IAAG;AAAA,IAC3B;AACA,WAAO,wBAAwB,IAAI;AAAA,MAC/B,MAAM;AAAA,MACN,QAAQ;AAAA,QACJ;AAAA,QACA;AAAA,MAChB;AAAA,MACY,SAAS;AAAA,QACL,gBAAgB;AAAA,MAChC;AAAA,IACA,CAAS;AAAA,EACL;AAAA,EACA,MAAM,cAAc,EAAE,WAAW;;AAC7B,UAAM,EAAE,IAAAY,KAAI,OAAO,wBAAwB,iBAAgB;AAC3D,UAAM,cAAc,MAAM,wBAAwB,oBAAmB,qBAAgB,MAAM,sBAAtB,mBAAyC,aAAa;AAC3H,QAAI,CAAC,aAAa;AACd,YAAM,IAAI,MAAM,qCAAqC;AAAA,IACzD;AACA,WAAO,wBAAwB,IAAI;AAAA,MAC/B,MAAM;AAAA,MACN,SAAS;AAAA,QACL,gBAAgB;AAAA,MAChC;AAAA,MACY,QAAQ;AAAA,QACJ;AAAA,QACA,IAAAA;AAAA,QACA;AAAA,MAChB;AAAA,IACA,CAAS;AAAA,EACL;AAAA,EACA,MAAM,qBAAqB,EAAE,QAAQ,MAAM,IAAAH,KAAI,aAAa,mBAAmB;;AAC3E,UAAM,cAAc,MAAM,wBAAwB,oBAAmB,qBAAgB,MAAM,sBAAtB,mBAAyC,aAAa;AAC3H,QAAI,CAAC,aAAa;AACd,YAAM,IAAI,MAAM,iCAAiC;AAAA,IACrD;AACA,WAAOT,QAAM,IAAI,KAAK;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,QACL,gBAAgB;AAAA,MAChC;AAAA,MACY,MAAM;AAAA,QACF;AAAA,QACA,QAAQ;AAAA,UACJ,UAAUxB,gBAAc;AAAA,QAC5C;AAAA,QACgB,WAAW,kBAAkB,MAAM;AAAA,QACnC;AAAA,QACA,IAAAiC;AAAA,QACA;AAAA,QACA;AAAA,MAChB;AAAA,IACA,CAAS;AAAA,EACL;AAAA,EACA,MAAM,wBAAwB,EAAE,MAAM,IAAAA,KAAI,YAAW,GAAI;;AACrD,UAAM,EAAE,IAAAG,KAAI,OAAO,wBAAwB,iBAAgB;AAC3D,UAAM,cAAc,MAAM,wBAAwB,oBAAmB,qBAAgB,MAAM,sBAAtB,mBAAyC,aAAa;AAC3H,QAAI,CAAC,aAAa;AACd,YAAM,IAAI,MAAM,iCAAiC;AAAA,IACrD;AACA,WAAO,wBAAwB,IAAI;AAAA,MAC/B,MAAM;AAAA,MACN,SAAS;AAAA,QACL,gBAAgB;AAAA,MAChC;AAAA,MACY,QAAQ;AAAA,QACJ;AAAA,QACA;AAAA,QACA,IAAAH;AAAA,QACA,IAAAG;AAAA,QACA;AAAA,MAChB;AAAA,IACA,CAAS;AAAA,EACL;AAAA,EACA,MAAM,WAAW,SAAS,SAAS,aAAa;;AAC5C,UAAM,EAAE,IAAAA,KAAI,OAAO,wBAAwB,iBAAgB;AAC3D,UAAM,cAAc,MAAM,wBAAwB,oBAAmB,qBAAgB,MAAM,sBAAtB,mBAAyC,aAAa;AAC3H,QAAI,CAAC,aAAa;AACd,sBAAgB,UAAU,2BAA2B;AACrD,aAAO,EAAE,UAAU,GAAE;AAAA,IACzB;AACA,UAAM,cAAc,GAAG,OAAO,IAAI,OAAO;AACzC,UAAM,gBAAgB,YAAY,8BAA8B,WAAW;AAC3E,QAAI,eAAe;AACf,aAAO;AAAA,IACX;AACA,UAAM,UAAU,MAAM,wBAAwB,IAAI;AAAA,MAC9C,MAAM,eAAe,OAAO;AAAA,MAC5B,QAAQ;AAAA,QACJ,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA,IAAAA;AAAA,QACA;AAAA,MAChB;AAAA,IACA,CAAS;AACD,gBAAY,mBAAmB;AAAA,MAC3B;AAAA,MACA;AAAA,MACA,WAAW,KAAK,IAAG;AAAA,IAC/B,CAAS;AACD,WAAO;AAAA,EACX;AAAA,EACA,MAAM,cAAc,MAAM;;AACtB,UAAM,cAAc,MAAM,wBAAwB,oBAAmB,qBAAgB,MAAM,sBAAtB,mBAAyC,aAAa;AAC3H,QAAI,CAAC,aAAa;AACd,aAAO,EAAE,WAAW,IAAI,YAAY,CAAA,EAAE;AAAA,IAC1C;AACA,WAAO,wBAAwB,IAAI;AAAA,MAC/B,MAAM,uBAAuB,IAAI;AAAA,MACjC,QAAQ,EAAE,YAAY,IAAG;AAAA,IACrC,CAAS;AAAA,EACL;AAAA,EACA,MAAM,qBAAqB,EAAE,WAAW;;AACpC,UAAM,cAAc,MAAM,wBAAwB,oBAAmB,qBAAgB,MAAM,sBAAtB,mBAAyC,aAAa;AAC3H,QAAI,CAAC,aAAa;AACd,aAAO,CAAA;AAAA,IACX;AACA,WAAO,wBAAwB,IAAI;AAAA,MAC/B,MAAM,uBAAuB,OAAO;AAAA,MACpC,QAAQ;AAAA,QACJ,QAAQ,kBAAkB,MAAM;AAAA,QAChC,YAAY;AAAA,MAC5B;AAAA,IACA,CAAS;AAAA,EACL;AAAA,EACA,MAAM,sBAAsB,MAAM;;AAC9B,UAAM,cAAc,MAAM,wBAAwB,oBAAmB,qBAAgB,MAAM,sBAAtB,mBAAyC,aAAa;AAC3H,QAAI,CAAC,aAAa;AACd,aAAO,EAAE,aAAa,GAAE;AAAA,IAC5B;AACA,WAAO,wBAAwB,IAAI;AAAA,MAC/B,MAAM,2BAA2B,IAAI;AAAA,MACrC,QAAQ,EAAE,MAAM,WAAU;AAAA,IACtC,CAAS;AAAA,EACL;AAAA,EACA,MAAM,gBAAgB,EAAE,UAAU,SAAS,SAAS,UAAS,GAAI;;AAC7D,UAAM,cAAc,MAAM,wBAAwB,oBAAmB,qBAAgB,MAAM,sBAAtB,mBAAyC,aAAa;AAC3H,QAAI,CAAC,aAAa;AACd,aAAO,EAAE,SAAS,MAAK;AAAA,IAC3B;AACA,WAAOZ,QAAM,IAAI,KAAK;AAAA,MAClB,MAAM;AAAA,MACN,MAAM,EAAE,WAAW,UAAU,SAAS,SAAS,UAAS;AAAA,MACxD,SAAS;AAAA,QACL,gBAAgB;AAAA,MAChC;AAAA,IACA,CAAS;AAAA,EACL;AAAA,EACA,MAAM,kBAAkB,EAAE,oBAAoB,eAAe,gBAAgB,gBAAgB,iBAAiB;;AAC1G,UAAM,cAAc,MAAM,wBAAwB,oBAAmB,qBAAgB,MAAM,sBAAtB,mBAAyC,aAAa;AAC3H,QAAI,CAAC,aAAa;AACd,aAAO;AAAA,IACX;AACA,UAAM,WAAW,MAAMA,QAAM,IAAI,KAAK;AAAA,MAClC,MAAM;AAAA,MACN,QAAQ;AAAA,QACJ,WAAW,kBAAkB,MAAM;AAAA,MACnD;AAAA,MACY,MAAM;AAAA,QACF;AAAA,QACA;AAAA,QACA;AAAA,QACA,mBAAmB;AAAA,QACnB,oBAAoB;AAAA,QACpB,kBAAkB;AAAA,MAClC;AAAA,IACA,CAAS;AACD,WAAO,SAAS;AAAA,EACpB;AAAA,EACA,MAAM,mBAAmB;;AACrB,UAAM,cAAc,MAAM,wBAAwB,oBAAmB,qBAAgB,MAAM,sBAAtB,mBAAyC,aAAa;AAC3H,QAAI,CAAC,aAAa;AACd,aAAO,EAAE,mBAAmB,IAAI,oBAAoB,CAAA,EAAE;AAAA,IAC1D;AACA,QAAI;AACA,YAAM,WAAW,MAAM,wBAAwB,IAAI;AAAA,QAC/C,MAAM;AAAA,MACtB,CAAa;AACD,aAAO;AAAA,IACX,SACO,GAAG;AACN,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EACA,MAAM,eAAe,EAAE,kBAAkB,iBAAiB,QAAQ,QAAO,GAAI;;AACzE,QAAI;AACA,YAAM,cAAc,MAAM,wBAAwB,oBAAmB,qBAAgB,MAAM,sBAAtB,mBAAyC,aAAa;AAC3H,UAAI,CAAC,aAAa;AACd,eAAO;AAAA,MACX;AACA,YAAM,WAAW,MAAMA,QAAM,IAAI,KAAK;AAAA,QAClC,MAAM;AAAA,QACN,QAAQ;AAAA,UACJ,WAAW,kBAAkB,MAAM;AAAA,QACvD;AAAA,QACgB,MAAM;AAAA,UACF;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACpB;AAAA,MACA,CAAa;AACD,aAAO;AAAA,IACX,SACO,GAAG;AAEN,aAAO;AAAA,QACH,aAAa,EAAE,QAAQ,UAAU,gBAAgB,GAAE;AAAA,QACnD,YAAY,EAAE,QAAQ,UAAU,gBAAgB,GAAE;AAAA,QAClD,iBAAiB,EAAE,QAAQ,UAAU,gBAAgB,GAAE;AAAA,QACvD,cAAc,EAAE,QAAQ,UAAU,gBAAgB,GAAE;AAAA,QACpD,gBAAgB,EAAE,QAAQ,UAAU,gBAAgB,GAAE;AAAA,QACtD,SAAS;AAAA,MACzB;AAAA,IACQ;AAAA,EACJ;AAAA,EACA,MAAM,iBAAiB,aAAa;;AAChC,UAAM,cAAc,MAAM,wBAAwB,oBAAmB,qBAAgB,MAAM,sBAAtB,mBAAyC,aAAa;AAC3H,QAAI,CAAC,aAAa;AACd,aAAO,CAAA;AAAA,IACX;AACA,WAAO,wBAAwB,IAAI;AAAA,MAC/B,MAAM,gBAAgB,WAAW;AAAA,IAC7C,CAAS;AAAA,EACL;AAAA,EACA,MAAM,mBAAmB,SAAS,KAAK,WAAW;;AAC9C,UAAM,cAAc,MAAM,wBAAwB,oBAAmB,qBAAgB,MAAM,sBAAtB,mBAAyC,aAAa;AAC3H,QAAI,CAAC,aAAa;AACd,aAAO,EAAE,SAAS,MAAK;AAAA,IAC3B;AACA,WAAOA,QAAM,IAAI,KAAK;AAAA,MAClB,MAAM,gBAAgB,OAAO;AAAA,MAC7B,QAAQ;AAAA,QACJ,WAAW,kBAAkB,MAAM;AAAA,MACnD;AAAA,MACY,MAAM;AAAA,QACF;AAAA,QACA;AAAA,MAChB;AAAA,IACA,CAAS;AAAA,EACL;AAAA,EACA,YAAY,UAAU;AAClBA,YAAM,WAAW;AACjBA,YAAM,MAAM,IAAI,UAAU,EAAE,SAAS,SAAQ,CAAE;AAAA,EACnD;AACJ;ACpdA,MAAMA,UAAQ,MAAM;AAAA,EAChB,YAAY;AAAA,EACZ,cAAc,CAAA;AAAA,EACd,sBAAsB;AAAA,EACtB,eAAe,oBAAI,IAAG;AAAA,EACtB,aAAa,CAAA;AACjB,CAAC;AAED,MAAMI,eAAa;AAAA,EACnB,OAAIJ;AAAAA,EACA,aAAa,UAAU;AACnB,QAAI,CAAC,UAAU;AACX;AAAA,IACJ;AACA,WAAO,OAAOA,SAAO,IAAI,QAAQ,CAAC;AAAA,EACtC;AAAA,EACA,UAAU,UAAU;AAChB,WAAO,gBAAgB,mBAAmB,gBAAgB,CAAAa,kBAAgB;AACtE,UAAIA,eAAc;AACd,eAAO,SAASA,aAAY;AAAA,MAChC;AACA,aAAO;AAAA,IACX,CAAC;AAAA,EACL;AAAA,EACA,aAAa,UAAU,UAAU,OAAO;AACpC,QAAI,OAAO;AACX,WAAO,gBAAgB,mBAAmB,gBAAgB,CAAAA,kBAAgB;AACtE,UAAIA,eAAc;AACd,cAAM,YAAYA,cAAa,QAAQ;AACvC,YAAI,SAAS,WAAW;AACpB,iBAAO;AACP,mBAAS,SAAS;AAAA,QACtB;AAAA,MACJ;AAAA,IACJ,GAAG,KAAK;AAAA,EACZ;AAAA,EACA,UAAU,QAAQ,OAAO;AACrB,oBAAgB,eAAe,UAAU,QAAQ,KAAK;AAAA,EAC1D;AAAA,EACA,eAAe,OAAO;AAClB,WAAO,gBAAgB,eAAe,eAAe,KAAK;AAAA,EAC9D;AAAA,EACA,eAAe,aAAa,OAAO;AAC/B,UAAM,aAAa,cAAc,eAAe,gBAAgB,WAAW,IAAI;AAC/E,QAAI,UAAU,gBAAgB,MAAM,aAAa;AAC7C,sBAAgB,MAAM,oBAAoB;AAAA,IAC9C;AACA,oBAAgB,eAAe,eAAe,aAAa,KAAK;AAChE,oBAAgB,eAAe,WAAW,YAAY,KAAK;AAAA,EAC/D;AAAA,EACA,WAAW,SAAS,eAAe,OAAO;AACtC,oBAAgB,eAAe,WAAW,SAAS,KAAK;AACxD,oBAAgB,eAAe,iBAAiB,eAAe,KAAK;AAAA,EACxE;AAAA,EACA,eAAe,aAAa,OAAO;AAC/B,oBAAgB,eAAe,eAAe,aAAa,KAAK;AAAA,EACpE;AAAA,EACA,gBAAgB,cAAc,OAAO;AACjC,oBAAgB,eAAe,gBAAgB,cAAc,KAAK;AAAA,EACtE;AAAA,EACA,QAAQ,MAAM,OAAO;AACjB,oBAAgB,eAAe,QAAQ,MAAM,KAAK;AAAA,EACtD;AAAA,EACA,sBAAsB,aAAa,OAAO;AACtC,oBAAgB,eAAe,sBAAsB,aAAa,KAAK;AAAA,EAC3E;AAAA,EACA,wBAAwB,YAAY,OAAO;AACvC,oBAAgB,eAAe,wBAAwB,YAAY,KAAK;AAAA,EAC5E;AAAA,EACA,cAAc,YAAY;AACtB,oBAAgB,eAAe,cAAc,YAAY,gBAAgB,MAAM,WAAW;AAAA,EAC9F;AAAA,EACA,gBAAgB,cAAc,OAAO;AACjC,QAAI,cAAc;AACd,sBAAgB,eAAe,gBAAgB,cAAc,KAAK;AAAA,IACtE;AAAA,EACJ;AAAA,EACA,yBAAyB,SAAS,OAAO;AACrC,oBAAgB,eAAe,yBAAyB,SAAS,KAAK;AAAA,EAC1E;AAAA,EACA,eAAe,UAAU,WAAW;AAChC,oBAAgB,eAAe,eAAe,UAAU,SAAS;AAAA,EACrE;AAAA,EACA,gBAAgB,SAAS,OAAO,OAAO;AACnC,UAAM,MAAM,gBAAgB,eAAe,iBAAiB,KAAK,KAAK,oBAAI,IAAG;AAC7E,QAAI,IAAI,SAAS,KAAK;AACtB,oBAAgB,eAAe,iBAAiB,KAAK,KAAK;AAAA,EAC9D;AAAA,EACA,mBAAmB,SAAS,OAAO;AAC/B,UAAM,MAAM,gBAAgB,eAAe,iBAAiB,KAAK,KAAK,oBAAI,IAAG;AAC7E,QAAI,OAAO,OAAO;AAClB,oBAAgB,eAAe,iBAAiB,KAAK,KAAK;AAAA,EAC9D;AAAA,EACA,uBAAuB,qBAAqB,OAAO;AAC/C,oBAAgB,eAAe,uBAAuB,qBAAqB,OAAO,KAAK;AAAA,EAC3F;AAAA,EACA,wBAAwB,sBAAsB,OAAO;AACjD,oBAAgB,eAAe,yBAAyB;AAAA,MACpD,GAAGb,QAAM;AAAA,MACT,CAAC,KAAK,GAAG;AAAA,IACrB,GAAW,KAAK;AAAA,EACZ;AAAA,EACA,yBAAyB,uBAAuB;AAC5CA,YAAM,wBAAwB;AAAA,EAClC;AAAA,EACA,kBAAkB,gBAAgB,OAAO;AACrC,QAAI,gBAAgB;AAChB,sBAAgB,eAAe,kBAAkB,gBAAgB,KAAK;AAAA,IAC1E;AAAA,EACJ;AAAA,EACA,gBAAgB,cAAc,OAAO;AACjC,oBAAgB,eAAe,gBAAgB,eAAe,IAAI,YAAY,IAAI,QAAW,KAAK;AAAA,EACtG;AAAA,EACA,gBAAgB,cAAc,OAAO;AACjC,oBAAgB,eAAe,gBAAgB,cAAc,KAAK;AAAA,EACtE;AAAA,EACA,MAAM,kBAAkB,SAAS;;AAC7BA,YAAM,iBAAiB;AACvB,UAAM,WAAU,qBAAgB,MAAM,sBAAtB,mBAAyC;AACzD,UAAM,SAAQ,qBAAgB,MAAM,sBAAtB,mBAAyC;AACvD,UAAM,cAAc,gBAAgB,MAAM;AAC1C,UAAM,UAAU,cAAc,eAAe,gBAAgB,WAAW,IAAI;AAC5E,QAAIA,QAAM,aACN,CAAC,eAAe,eAAeA,QAAM,WAAW,KAAKxB,gBAAc,UAAU,GAAG;AAChFwB,cAAM,iBAAiB;AACvB,aAAO,CAAA;AAAA,IACX;AACA,QAAI;AACA,UAAI,WAAW,WAAW,OAAO;AAC7B,cAAM,WAAW,MAAM,wBAAwB,WAAW,SAAS,OAAO;AAK1E,cAAM,mBAAmB,SAAS,SAAS,OAAO,aAAW,QAAQ,SAAS,aAAa,GAAG;AAC9F,0BAAkB,gBAAgB,kBAAkB,KAAK;AACzDA,gBAAM,YAAY;AAClBA,gBAAM,iBAAiB;AACvB,eAAO;AAAA,MACX;AAAA,IACJ,SACO,OAAO;AACVA,cAAM,YAAY,KAAK,IAAG;AAC1B,yCAAU;AACV,sBAAgB,UAAU,2BAA2B;AAAA,IACzD,UACR;AACYA,cAAM,iBAAiB;AAAA,IAC3B;AACA,WAAO,CAAA;AAAA,EACX;AAAA,EACA,aAAa,OAAO;AAChB,oBAAgB,aAAa,KAAK;AAAA,EACtC;AACJ;AACY,MAAC,oBAAoB,kBAAkBI,YAAU;AC9JtD,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQvB,gBAAgB,EAAE,SAAS,2BAA2B,MAAK,GAAI;AAC3D,UAAM,iBAAiB,gBAAgB,MAAM;AAC7C,UAAM,aAAa,iBAAiB,MAAM;AAC1C,UAAM,gBAAgB,QAAQ,QAAO,iDAAgB;AACrD,QAAI,eAAe;AACf;AAAA,IACJ;AACA,UAAM,8BAA8B,kBAAkB,eAAe,gBAAgB,MAAM,WAAW;AACtG,UAAM,uBAAuB,QAAQ,mBAAmB,gBAAgB,MAAM;AAC9E,UAAM,2BAA2B,kBAAkB,eAAe,QAAQ,cAAc;AACxF,UAAM,cAAc,oBAAoB,eAAe,gBAAgB,MAAM,WAAW;AAKxF,UAAM,sBAAsB,gBAAgB5B,gBAAc,aAAa;AACvE,UAAM,8BAA8BA,gBAAc,gCAAgC,KAAK,CAAAM,OAAKA,OAAM,QAAQ,cAAc;AAMxH,QAAI,4BAA6B,uBAAuB,6BAA8B;AAClF,uBAAiB,KAAK,iBAAiB,EAAE,GAAG,YAAY,QAAO,CAAE;AAAA,IACrE;AAAA;AAAA;AAAA;AAAA,MAKA,+BACI,wBACA,CAAC;AAAA,MAA0B;AAC3B,uBAAiB,KAAK,qBAAqB;AAAA,QACvC,eAAe,QAAQ;AAAA,QACvB,YAAY;AAAA,QACZ,qBAAqB;AAAA,QACrB;AAAA,MAChB,CAAa;AAAA,IACL,OACK;AACD,uBAAiB,KAAK,iBAAiB,EAAE,GAAG,YAAY,QAAO,CAAE;AAAA,IACrE;AAAA,EACJ;AACJ;ACxCA,MAAMkB,UAAQ,MAAM;AAAA,EAChB,SAAS;AAAA,EACT,qBAAqB,oBAAI,IAAG;AAAA,EAC5B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,WAAW;AACf,CAAC;AAED,MAAMI,eAAa;AAAA,EACnB,OAAIJ;AAAAA,EACA,UAAU,UAAU;AAChB,WAAOK,UAAIL,SAAO,MAAM,SAASA,OAAK,CAAC;AAAA,EAC3C;AAAA,EACA,aAAa,KAAK,UAAU;AACxB,WAAOC,aAAOD,SAAO,KAAK,QAAQ;AAAA,EACtC;AAAA,EACA,MAAM,KAAK,SAAS;;AAChB,UAAM,cAAc,kBAAkB,MAAM,WAAW;AACvD,UAAM,YAAY,mCAAS;AAC3B,UAAM,mBAAmB,gBAAgB,MAAM;AAC/C,UAAM,uBAAuB,aAAa,cAAc;AACxD,UAAM,eAAc,qBAAgB,eAAe,mCAAS,SAAS,MAAjD,mBAAoD;AACxE,QAAI,qBAAqB,MAAM,SAAS;AAEpC,oBAAc,SAAS,EAAE,oBAAoB,OAAO,sBAAsB,OAAO;AAAA,IACrF,OACK;AACD,YAAM,cAAc,SAAS;AAAA,QACzB,sBAAsB,CAAC;AAAA,QACvB,sBAAsB,CAAC;AAAA,QACvB,yBAAyB,CAAC;AAAA,MAC1C,CAAa;AAAA,IACL;AACA,wBAAoB,qBAAqB,mCAAS,SAAS;AAC3D,oBAAgB,WAAW,MAAM,SAAS;AAC1C,QAAI,aAAa,sBAAsB;AACnC,YAAM,qBAAmB,qBAAgB,eAAe,SAAS,MAAxC,mBAA2C,gBAChE,gBAAgB,yBAAyB,SAAS,EAAE,CAAC;AACzD,UAAI,kBAAkB;AAClB,oBAAY,gBAAgB,EAAE,SAAS,kBAAkB,0BAA0B,MAAM;AAAA,MAC7F;AAAA,IACJ,OACK;AACD,YAAM,gBAAgB,gBAAgB,MAAM;AAC5C,UAAI,kBAAkB,MAAM,mBAAoB,iBAAiB,CAAC,aAAc;AAC5E,YAAI,eAAe,YAAY;AAC3B,2BAAiB,MAAM,YAAY;AAAA,QACvC,OACK;AACD,2BAAiB,MAAM,8BAA8B;AAAA,QACzD;AAAA,MACJ,WACS,mCAAS,MAAM;AACpB,yBAAiB,MAAM,QAAQ,MAAM,QAAQ,IAAI;AAAA,MACrD,WACS,aAAa;AAClB,yBAAiB,MAAM,SAAS;AAAA,MACpC,OACK;AACD,yBAAiB,MAAM,SAAS;AAAA,MACpC;AAAA,IACJ;AACAA,YAAM,OAAO;AACb,0BAAsB,IAAI,EAAE,MAAM,KAAI,CAAE;AACxC,qBAAiB,UAAU;AAAA,MACvB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY,EAAE,WAAW,QAAQ,WAAW,EAAC;AAAA,IACzD,CAAS;AAAA,EACL;AAAA,EACA,QAAQ;AACJ,UAAM,oBAAoB,kBAAkB,MAAM;AAClD,UAAM,cAAc,QAAQ,gBAAgB,MAAM,iBAAiB;AAEnE,QAAIA,QAAM,MAAM;AACZ,uBAAiB,UAAU;AAAA,QACvB,MAAM;AAAA,QACN,OAAO;AAAA,QACP,YAAY,EAAE,WAAW,YAAW;AAAA,MACpD,CAAa;AAAA,IACL;AACAA,YAAM,OAAO;AACb,qBAAiB,MAAM,SAAS;AAChC,oBAAgB,aAAY;AAC5B,QAAI,mBAAmB;AACnB,UAAI,aAAa;AACb,yBAAiB,QAAQ,SAAS;AAAA,MACtC,OACK;AACD,yBAAiB,KAAK,SAAS;AAAA,MACnC;AAAA,IACJ,OACK;AACD,4BAAsB,IAAI,EAAE,MAAM,MAAK,CAAE;AAAA,IAC7C;AACA,yBAAqB,SAAQ;AAAA,EACjC;AAAA,EACA,WAAW,SAAS,WAAW;AAC3B,QAAI,WAAW;AACXA,cAAM,oBAAoB,IAAI,WAAW,OAAO;AAAA,IACpD;AACAA,YAAM,UAAU;AAChB,0BAAsB,IAAI,EAAE,SAAS;AAAA,EACzC;AAAA,EACA,eAAe;AACXA,YAAM,oBAAoB,MAAK;AAC/BA,YAAM,UAAU;AAAA,EACpB;AAAA,EACA,QAAQ;AACJ,QAAIA,QAAM,OAAO;AACb;AAAA,IACJ;AACAA,YAAM,QAAQ;AACd,eAAW,MAAM;AACbA,cAAM,QAAQ;AAAA,IAClB,GAAG,GAAG;AAAA,EACV;AACJ;AAEY,MAAC,kBAAkB,kBAAkBI,YAAU;AC7HpD,MAAM,wBAAwB;AAAA,EACjC,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,UAAU;AAAA,IACN;AAAA,MACI,MAAM;AAAA,MACN,cAAc;AAAA,MACd,UAAU;AAAA,MACV,kBAAkB;AAAA,IAC9B;AAAA,IACQ;AAAA,MACI,MAAM;AAAA,MACN,cAAc;AAAA,MACd,UAAU;AAAA,MACV,kBAAkB;AAAA,IAC9B;AAAA,EACA;AACA;AACO,MAAM,uBAAuB;AAAA,EAChC,IAAI;AAAA,EACJ,uBAAuB;AAAA,IACnB;AAAA,MACI,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,IACjB;AAAA,IACQ;AAAA,MACI,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,IACjB;AAAA,EACA;AACA;AACA,MAAM,eAAe;AAAA,EACjB,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,OAAO;AAAA,EACP,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,oBAAoB,CAAC,qBAAqB;AAAA,EAC1C,mBAAmB,CAAA;AAAA,EACnB,eAAe;AACnB;AAEA,MAAMJ,UAAQ,MAAM,YAAY;AAEhC,MAAMI,eAAa;AAAA,EACnB,OAAIJ;AAAAA,EACA,UAAU,UAAU;AAChB,WAAOK,UAAIL,SAAO,MAAM,SAASA,OAAK,CAAC;AAAA,EAC3C;AAAA,EACA,aAAa,KAAK,UAAU;AACxB,WAAOC,aAAOD,SAAO,KAAK,QAAQ;AAAA,EACtC;AAAA,EACA,oBAAoB,UAAU;AAC1B,QAAI,YAAY,SAAS,SAAS,QAAQ;AACtC,YAAM,WAAW,gBAAgB,MAAM,gBAAgBxB,gBAAc,MAAM,SAAS,QAAQ;AAC5F,YAAM,UAAU,kBAAkB,MAAM,WAAW;AACnD,YAAM,MAAM,IAAI,IAAI,SAAS,GAAG;AAChC,UAAI,aAAa,OAAO,aAAa,eAAe;AACpD,UAAI,aAAa,OAAO,2BAA2B,QAAQ;AAC3D,UAAI,aAAa,OAAO,iBAAiB,OAAO;AAChD,UAAI,aAAa,OAAO,sBAAsB,kBAAkB,MAAM,SAAS;AAC/EwB,cAAM,mBAAmB,EAAE,GAAG,UAAU,KAAK,IAAI,WAAU;AAAA,IAC/D,OACK;AACDA,cAAM,mBAAmB;AAAA,IAC7B;AAAA,EACJ;AAAA,EACA,mBAAmB,WAAW;AAC1B,QAAI,MAAM,QAAQ,SAAS,KAAK,UAAU,MAAM,UAAQ,OAAO,SAAS,QAAQ,GAAG;AAC/E,YAAM,cAAc;AACpB,YAAM,eAAe,iBAAiB,OAAO,cAAY,YAAY,SAAS,SAAS,IAAI,CAAC;AAC5FA,cAAM,YAAY;AAAA,IACtB,OACK;AACDA,cAAM,YAAY,CAAA;AAAA,IACtB;AAAA,EACJ;AAAA,EACA,oBAAoB,UAAU;AAC1BA,YAAM,mBAAmB;AAAA,EAC7B;AAAA,EACA,mBAAmB,UAAU;AACzBA,YAAM,kBAAkB;AAAA,EAC5B;AAAA,EACA,kBAAkB,QAAQ;AACtB,qBAAiB,MAAM,iBAAiB;AAAA,EAC5C;AAAA,EACA,iBAAiB,QAAQ;AACrB,qBAAiB,MAAM,gBAAgB;AAAA,EAC3C;AAAA,EACA,MAAM,yBAAyB;AAC3B,UAAM,UAAU,MAAM,wBAAwB,iBAAgB;AAC9DA,YAAM,qBAAqB,QAAQ;AACnCA,YAAM,oBAAoB,QAAQ;AAClCA,YAAM,kBAAkB,QAAQ,kBAAkB,CAAC,KAAK;AACxDA,YAAM,mBAAmB,QAAQ,mBAAmB,CAAC,KAAK;AAC1D,UAAM,cAAc,oBAAoB,QAAQ,kBAAkB,IAAI,cAAY,SAAS,EAAE,CAAC;AAC9F,UAAM,cAAc,iBAAiB,QAAQ,mBAAmB,IAAI,cAAY,SAAS,MAAM,CAAC;AAAA,EACpG;AAAA,EACA,MAAM,WAAW;;AACbA,YAAM,gBAAgB;AACtB,QAAI;AACA,YAAM,QAAQ,MAAM,wBAAwB,eAAe;AAAA,QACvD,kBAAkBA,QAAM;AAAA,QACxB,iBAAiBA,QAAM;AAAA,QACvB,UAAQA,aAAM,kBAANA,mBAAqB,eAAc;AAAA,QAC3C,UAASA,aAAM,qBAANA,mBAAwB;AAAA,MACjD,CAAa;AACDA,cAAM,gBAAgB;AACtBA,cAAM,iBAAiB,OAAO,+BAAO,eAAe,MAAM;AAC1D,aAAO;AAAA,IACX,SACO,OAAO;AACVA,cAAM,QAAQ,MAAM;AACpBA,cAAM,gBAAgB;AACtB,aAAO;AAAA,IACX,UACR;AACYA,cAAM,gBAAgB;AAAA,IAC1B;AAAA,EACJ;AAAA,EACA,aAAa;AACTA,YAAM,mBAAmB;AACzBA,YAAM,QAAQ;AACdA,YAAM,mBAAmB;AACzBA,YAAM,kBAAkB;AACxBA,YAAM,qBAAqB,CAAC,qBAAqB;AACjDA,YAAM,oBAAoB,CAAA;AAC1BA,YAAM,gBAAgB;AACtBA,YAAM,iBAAiB;AACvBA,YAAM,gBAAgB;AAAA,EAC1B;AACJ;AAEO,MAAM,mBAAmB,kBAAkBI,YAAU;AClJ5D,MAAM,aAAa;AACZ,MAAM,UAAU;AAAA,EACnB,4BAA4B,SAAS;AACjC,QAAI,WAAW,YAAY;AACvB,YAAM,IAAI,MAAM,iBAAiB;AAAA,IACrC;AACA,YAAQ,aAAa,aAAa;AAAA,EACtC;AACJ;ACIA,MAAMJ,UAAQ,MAAM;AAAA,EAChB,aAAa,CAAA;AAAA,EACb,SAAS;AACb,CAAC;AAED,MAAM,aAAa;AAAA,EACnB,OAAIA;AAAAA,EACA,UAAU,UAAU;AAChB,WAAOK,UAAIL,SAAO,MAAM,SAASA,OAAK,CAAC;AAAA,EAC3C;AAAA,EACA,aAAa,KAAK,UAAU;AACxB,WAAOC,aAAOD,SAAO,KAAK,QAAQ;AAAA,EACtC;AAAA,EACA,MAAM,YAAY,MAAM;;AACpB,QAAI;AACA,aAAO,MAAM,wBAAwB,cAAc,IAAI;AAAA,IAC3D,SACO,GAAG;AACN,YAAM,QAAQ;AACd,YAAM,IAAI,QAAM,0CAAO,YAAP,mBAAiB,OAAjB,mBAAqB,gBAAe,sBAAsB;AAAA,IAC9E;AAAA,EACJ;AAAA,EACA,MAAM,iBAAiB,MAAM;AACzB,QAAI;AACA,YAAM,wBAAwB,cAAc,IAAI;AAChD,aAAO;AAAA,IACX,QACM;AACF,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EACA,MAAM,eAAe,OAAO;AACxB,QAAI;AACAA,cAAM,UAAU;AAChBA,cAAM,cAAc,CAAA;AACpB,YAAM,WAAW,MAAM,wBAAwB,sBAAsB,KAAK;AAC1EA,cAAM,cACF,SAAS,YAAY,IAAI,iBAAe;AAAA,QACpC,GAAG;AAAA,QACH,MAAM,WAAW;AAAA,MACrC,EAAkB,KAAK,CAAA;AACX,aAAOA,QAAM;AAAA,IACjB,SACO,GAAG;AACN,YAAM,eAAe,cAAc,iBAAiB,GAAG,iCAAiC;AACxF,YAAM,IAAI,MAAM,YAAY;AAAA,IAChC,UACR;AACYA,cAAM,UAAU;AAAA,IACpB;AAAA,EACJ;AAAA,EACA,MAAM,mBAAmB,SAAS;AAC9B,QAAI;AACA,YAAM,UAAU,gBAAgB,MAAM;AACtC,UAAI,CAAC,SAAS;AACV,eAAO,CAAA;AAAA,MACX;AACA,YAAM,YAAY,YAAY,0BAA0B,OAAO;AAC/D,UAAI,WAAW;AACX,eAAO;AAAA,MACX;AACA,YAAM,WAAW,MAAM,wBAAwB,qBAAqB,EAAE,QAAO,CAAE;AAC/E,kBAAY,eAAe;AAAA,QACvB;AAAA,QACA,KAAK;AAAA,QACL,WAAW,KAAK,IAAG;AAAA,MACnC,CAAa;AACD,aAAO;AAAA,IACX,SACO,GAAG;AACN,YAAM,eAAe,cAAc,iBAAiB,GAAG,kCAAkC;AACzF,YAAM,IAAI,MAAM,YAAY;AAAA,IAChC;AAAA,EACJ;AAAA,EACA,MAAM,aAAa,MAAM;AACrB,UAAM,UAAU,gBAAgB,MAAM;AACtC,QAAI,CAAC,SAAS;AACV,YAAM,IAAI,MAAM,mBAAmB;AAAA,IACvC;AACA,UAAM,UAAU,kBAAkB,MAAM;AACxC,UAAM,iBAAiB,oBAAoB,iBAAgB;AAC3D,QAAI,CAAC,WAAW,CAAC,gBAAgB;AAC7B,YAAM,IAAI,MAAM,qCAAqC;AAAA,IACzD;AACAA,YAAM,UAAU;AAChB,QAAI;AACA,YAAM,UAAU,KAAK,UAAU;AAAA,QAC3B;AAAA,QACA,YAAY,CAAA;AAAA;AAAA,QAEZ,WAAW,KAAK,MAAM,KAAK,IAAG,IAAK,GAAI;AAAA,MACvD,CAAa;AACD,uBAAiB,qBAAqB;AAAA,QAClC,WAAW;AACP,2BAAiB,QAAQ,qBAAqB;AAAA,QAClD;AAAA,MAChB,CAAa;AACD,YAAM,YAAY,MAAM,qBAAqB,YAAY,OAAO;AAChEA,cAAM,UAAU;AAChB,YAAM,YAAY,QAAQ;AAC1B,UAAI,CAAC,WAAW;AACZ,cAAM,IAAI,MAAM,mBAAmB;AAAA,MACvC;AACA,YAAM,WAAW,QAAQ,4BAA4B,OAAO,SAAS,CAAC;AACtE,YAAM,wBAAwB,gBAAgB;AAAA,QAC1C;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAChB,CAAa;AACD,wBAAkB,eAAe,MAAM,QAAQ,cAAc;AAC7D,uBAAiB,QAAQ,4BAA4B;AAAA,IACzD,SACO,GAAG;AACN,YAAM,eAAe,cAAc,iBAAiB,GAAG,0BAA0B,IAAI,EAAE;AACvF,uBAAiB,QAAQ,qBAAqB;AAC9C,YAAM,IAAI,MAAM,YAAY;AAAA,IAChC,UACR;AACYA,cAAM,UAAU;AAAA,IACpB;AAAA,EACJ;AAAA,EACA,aAAa,MAAM;AACf,WAAO,sBAAsB,KAAK,IAAI;AAAA,EAC1C;AAAA,EACA,iBAAiB,OAAO,cAAc;;AAClC,UAAM,WAAW;AACjB,aAAO,gDAAU,YAAV,mBAAoB,OAApB,mBAAwB,gBAAe;AAAA,EAClD;AACJ;AAEO,MAAM,gBAAgB,kBAAkB,UAAU;AC/IgC,IAAI,IAAE,OAAO,gBAAec,MAAE,CAAC,GAAEf,IAAEF,OAAIE,MAAK,IAAE,EAAE,GAAEA,IAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAMF,GAAC,CAAC,IAAE,EAAEE,EAAC,IAAEF,IAAEf,MAAE,CAAC,GAAEiB,IAAEF,OAAIiB,IAAE,GAAE,OAAOf,MAAG,WAASA,KAAE,KAAGA,IAAEF,EAAC;AAAC,IAAA,MAAC,MAAM,UAAUkB,QAAC;AAAA,EAAC,YAAYhB,IAAE;AAAC,UAAK,GAAG,KAAK,OAAKA,IAAEjB,IAAE,MAAK,YAAW,IAAI,GAAEA,IAAE,MAAK,WAAU,CAAC;AAAA,EAAC;AAAC;AAAuD,IAAIU,MAAE,OAAO,gBAAeZ,MAAE,CAAC,GAAEmB,IAAEF,OAAIE,MAAK,IAAEP,IAAE,GAAEO,IAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAMF,GAAC,CAAC,IAAE,EAAEE,EAAC,IAAEF,IAAEP,MAAE,CAAC,GAAES,IAAEF,OAAIjB,IAAE,GAAqBmB,KAAE,IAAKF,EAAC;AAAC,IAAA,MAAC,MAAM,UAAUkB,QAAC;AAAA,EAAC,YAAYhB,IAAEF,IAAE;AAAC,UAAK,GAAG,KAAK,OAAKE,IAAE,KAAK,SAAOF,IAAEP,IAAE,MAAK,WAAU,oBAAI,KAAG;AAAA,EAAC;AAAC;AAAA,IAAA,MAAC,MAAM,EAAC;AAAA,EAAC,YAAYS,IAAEF,IAAE;AAAC,SAAK,SAAOE,IAAE,KAAK,OAAKF;AAAA,EAAC;AAAC;AAAC,MAAM,UAAUkB,QAAC;AAAA,EAAC,YAAYhB,IAAEF,IAAE;AAAC,UAAK,GAAG,KAAK,UAAQE,IAAE,KAAK,SAAOF;AAAA,EAAC;AAAC;AAAA,IAAA,MAAC,MAAM,UAAUkB,QAAC;AAAA,EAAC,YAAYhB,IAAE;AAAC,UAAK;AAAA,EAAE;AAAC;AAAA,IAAA,MAAC,MAAM,EAAC;AAAA,EAAC,YAAYA,IAAEF,IAAEX,IAAE8B,IAAE;AAAC,SAAK,OAAKjB,IAAE,KAAK,SAAOF,IAAE,KAAK,OAAKX;AAAA,EAAC;AAAC;AAAA,IAAA,MAA0M,MAAM,UAAU6B,QAAC;AAAA,EAAC,YAAYhB,IAAEF,IAAE;AAAC,UAAK,GAAG,KAAK,UAAQE,IAAE,KAAK,SAAOF;AAAA,EAAC;AAAC;AAAA,IAAA,MAAqD,MAAM,UAAUkB,QAAC;AAAA,EAAC,YAAYhB,IAAEF,IAAE;AAAC,UAAK,GAAG,KAAK,OAAKE,IAAE,KAAK,SAAOF;AAAA,EAAC;AAAC;AAAA,IAAA,MAAqD,MAAM,EAAC;AAAA,EAAC,YAAYE,IAAEF,IAAEX,IAAE;AAAC,SAAK,OAAKa,IAAE,KAAK,SAAOF,IAAE,KAAK,QAAMX;AAAA,EAAC;AAAC;AAAA,IAAA,MAAC,MAAM,EAAC;AAAA,EAAC,YAAYa,IAAEF,IAAE;AAAC,SAAK,YAAUE,IAAE,KAAK,SAAOF;AAAA,EAAC;AAAC;AAAA,IAAA,MAAC,MAAM,EAAC;AAAA,EAAC,YAAYE,IAAEF,IAAEX,IAAE;AAAC,SAAK,OAAKa,IAAE,KAAK,SAAOF,IAAE,KAAK,mBAAiBX;AAAA,EAAC;AAAC;AAAC,IAAI,IAAE,OAAO,gBAAe+B,MAAE,CAAC,GAAElB,IAAEF,OAAIE,MAAK,IAAE,EAAE,GAAEA,IAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAMF,GAAC,CAAC,IAAE,EAAEE,EAAC,IAAEF,IAAE,IAAE,CAAC,GAAEE,IAAEF,OAAIoB,IAAE,GAAE,OAAOlB,MAAG,WAASA,KAAE,KAAGA,IAAEF,EAAC;AAAC,IAAA,MAA0C,MAAM,EAAC;AAAA,EAAC,YAAYE,IAAE;AAAC,SAAK,OAAKA,IAAE,EAAE,MAAK,YAAW,IAAI,GAAE,EAAE,MAAK,WAAU,CAAC;AAAA,EAAC;AAAC;AAAA,IAAA,MAA0C,MAAM,EAAC;AAAA,EAAC,YAAYA,IAAE;AAAC,SAAK,SAAOA;AAAA,EAAC;AAAC;ACAl0C,MAAMmB,OAAG;AAAI,SAASC,KAAGjC,IAAE;AAAC,QAAK,CAAC,GAAE,CAAC,IAAEA,GAAE,MAAMgC,IAAE;AAAE,SAAM,EAAC,WAAU,GAAE,WAAU,EAAC;AAAC;AAAihC,SAASE,KAAGlC,IAAE,GAAE;AAAC,SAAOA,GAAE,SAAS,GAAG,IAAE,CAACA,EAAC,IAAE,EAAE,UAAQ;AAAE;AAAC,IAAI,KAAG,OAAO,gBAAemC,OAAG,OAAO,kBAAiBC,OAAG,OAAO,2BAA0BC,OAAG,OAAO,uBAAsBC,OAAG,OAAO,UAAU,gBAAeC,OAAG,OAAO,UAAU,sBAAqBC,OAAG,CAACxC,IAAE,GAAE,MAAI,KAAKA,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAM,EAAC,CAAC,IAAEA,GAAE,CAAC,IAAE,GAAEyC,OAAG,CAACzC,IAAE,MAAI;AAAC,WAAQ,KAAK,MAAI,IAAE,CAAA,GAAIsC,MAAG,KAAK,GAAE,CAAC,KAAGE,KAAGxC,IAAE,GAAE,EAAE,CAAC,CAAC;AAAE,MAAGqC,KAAG,UAAQ,KAAKA,KAAG,CAAC,EAAEE,MAAG,KAAK,GAAE,CAAC,KAAGC,KAAGxC,IAAE,GAAE,EAAE,CAAC,CAAC;AAAE,SAAOA;AAAC,GAAE0C,OAAG,CAAC1C,IAAE,MAAImC,KAAGnC,IAAEoC,KAAG,CAAC,CAAC;AAAO,MAACO,OAAG,eAAcC,MAAE,EAAC,aAAY,gBAAe,MAAK,QAAO,SAAQ,WAAU,SAAQ,UAAS,GAAmCC,OAAG;AAAK,SAASC,OAAI;AAAC,SAAO,OAAOvD,YAAQ,OAAK,OAAOA,UAAQ,WAAS,OAAK,OAAOA,UAAQ,SAAS,OAAK;AAAG;AAAC,SAASwD,OAAI;AAAC,SAAM,CAACC,cAAE,KAAI,CAAC,CAACC,eAAE,KAAI,UAAU,YAAUN;AAAE;AAAC,SAASO,OAAI;AAAC,SAAOH,UAAM,OAAO,SAAO,OAAK,QAAO,UAAQ,OAAK,SAAO,OAAO,YAAU,QAAM,UAAQ,OAAK,SAAO,OAAO,SAAS,QAAM;AAAS;AAAC,SAASI,OAAI;AAAC,SAAOJ,KAAE,KAAI,OAAO,SAAO,OAAK,QAAO,UAAQ,OAAK,SAAO,OAAO,YAAU,QAAM,UAAQ,OAAK,SAAO,OAAO,SAAS,QAAM;AAAK;AAAC,SAASK,OAAI;AAAC,SAAM,CAACN,UAAM,CAAC,CAACG,eAAE,KAAI,CAAC,CAACD,cAAE;AAAE;AAAC,SAASK,OAAI;AAAC,SAAON,KAAE,IAAGH,IAAE,cAAYE,KAAE,IAAGF,IAAE,OAAKQ,KAAE,IAAGR,IAAE,UAAQA,IAAE;AAAO;AAAC,SAASU,OAAI;AAAC,MAAItD;AAAE,MAAG;AAAC,WAAO+C,KAAE,KAAI,OAAO,SAAO,OAAK,QAAO,UAAQ,OAAK,SAAO,OAAO,eAAa,OAAK/C,KAAE,OAAO,gBAAc,OAAK,SAAOA,GAAE,gBAAc;AAAA,EAAM,QAAM;AAAC;AAAA,EAAM;AAAC;AAAC,SAASuD,KAAGvD,IAAE,GAAE;AAAC,QAAM,IAAE,IAAI,gBAAgBA,EAAC;AAAE,aAAUW,MAAK,OAAO,KAAK,CAAC,EAAE,KAAI,EAAG,KAAG,EAAE,eAAeA,EAAC,GAAE;AAAC,UAAMkB,KAAE,EAAElB,EAAC;AAAE,IAAAkB,OAAI,UAAQ,EAAE,IAAIlB,IAAEkB,EAAC;AAAA,EAAC;AAAC,SAAO,EAAE;AAAU;AAAC,SAAS2B,KAAGxD,IAAE;AAAC,MAAI,GAAE;AAAE,QAAMW,KAAE8C,KAAE;AAAG,MAAG;AAAC,WAAOzD,MAAG,QAAMA,GAAE,OAAKW,GAAE,OAAK,IAAI,IAAIX,GAAE,GAAG,EAAE,SAAO,IAAI,IAAIW,GAAE,GAAG,EAAE,SAAO,QAAQ,KAAK,+CAA+CX,GAAE,GAAG,qCAAqCW,GAAE,GAAG,uDAAuD,GAAEX,GAAE,MAAIW,GAAE,OAAM,IAAEX,MAAA,gBAAAA,GAAG,UAAQ,QAAM,EAAE,UAAQA,GAAE,MAAM,SAAO,MAAIA,GAAE,QAAMA,GAAE,MAAM,OAAO,CAAA6B,OAAGA,OAAI,EAAE,IAAGa,KAAGD,KAAGA,KAAG,CAAA,GAAG9B,EAAC,GAAEX,EAAC,GAAE,EAAC,MAAIA,MAAA,gBAAAA,GAAG,QAAKW,GAAE,KAAI,OAAKX,MAAA,gBAAAA,GAAG,SAAMW,GAAE,MAAK,cAAYX,MAAA,gBAAAA,GAAG,gBAAaW,GAAE,aAAY,QAAO,IAAEX,MAAA,gBAAAA,GAAG,UAAQ,QAAM,EAAE,UAAQA,GAAE,MAAM,SAAO,IAAEA,GAAE,QAAMW,GAAE,MAAK,CAAC;AAAA,EAAC,SAAOkB,IAAE;AAAC,WAAO,QAAQ,KAAK,iCAAgCA,EAAC,GAAE7B,MAAGW;AAAA,EAAC;AAAC;AAAC,SAAS8C,OAAI;AAAC,SAAOC,oBAAE,KAAI,EAAC,MAAK,IAAG,aAAY,IAAG,KAAI,IAAG,OAAM,CAAC,EAAE,EAAC;AAAC;AAA+I,SAASC,OAAI;AAAC,MAAGN,KAAE,MAAKT,IAAE,eAAa,OAAO,SAAO,OAAK,QAAO,UAAQ,OAAK,SAAO,OAAO,YAAU,KAAI;AAAC,UAAK,EAAC,IAAG,GAAE,SAAQjC,GAAC,IAAE,OAAO;AAAS,WAAM,CAAC,GAAEA,EAAC,EAAE,KAAK,GAAG;AAAA,EAAC;AAAC,QAAMX,KAAE4D,OAAE;AAAG,MAAG5D,OAAI,KAAK,QAAM;AAAU,QAAM,IAAEA,GAAE,KAAGA,GAAE,GAAG,QAAQ,KAAI,EAAE,EAAE,YAAW,IAAG;AAAU,SAAOA,GAAE,SAAO,YAAU,CAAC,GAAEA,GAAE,MAAKA,GAAE,OAAO,EAAE,KAAK,GAAG,IAAE,CAAC,GAAEA,GAAE,OAAO,EAAE,KAAK,GAAG;AAAC;AAAC,SAAS6D,OAAI;AAAC,MAAI7D;AAAE,QAAM,IAAEqD,KAAE;AAAG,SAAO,MAAIT,IAAE,UAAQ,CAAC,KAAI5C,KAAE8D,cAAE,MAAK,OAAK,SAAO9D,GAAE,SAAO,SAAS,EAAE,KAAK,GAAG,IAAE;AAAC;AAAC,SAAS+D,KAAG/D,IAAE,GAAE,GAAE;AAAC,QAAMW,KAAEgD,KAAE,GAAG9B,KAAEgC,KAAE;AAAG,SAAM,CAAC,CAAC7D,IAAE,CAAC,EAAE,KAAK,GAAG,GAAE,CAAC6C,MAAG,CAAC,EAAE,KAAK,GAAG,GAAElC,IAAEkB,EAAC,EAAE,KAAK,GAAG;AAAC;AAAC,SAASmC,KAAG,EAAC,UAAShE,IAAE,SAAQ,GAAE,UAAS,GAAE,YAAWW,IAAE,MAAKkB,IAAE,WAAUoC,IAAE,iBAAgBpD,IAAE,UAASjB,IAAE,aAAYH,GAAC,GAAE;AAAC,QAAMmC,KAAE,EAAE,MAAM,GAAG,GAAE/B,KAAEkE,KAAG/D,IAAE,GAAEW,EAAC,GAAEuD,KAAE,EAAC,MAAKrC,IAAE,IAAGhC,IAAE,WAAUoE,IAAE,iBAAgBpD,IAAU,aAAYpB,MAAG,QAAO,UAASG,MAAG,OAAM,GAAEG,KAAEwD,KAAG3B,GAAE,CAAC,KAAG,IAAGsC,EAAC;AAAE,SAAOtC,GAAE,CAAC,IAAE,MAAI7B;AAAC;AAA2U,SAASoE,KAAGnE,IAAE,GAAE;AAAC,SAAOA,GAAE,OAAO,OAAG,EAAE,SAAS,CAAC,CAAC,EAAE,WAASA,GAAE;AAAM;AAA4D,SAASoE,KAAGpE,IAAE;AAAC,SAAO,OAAO,YAAYA,GAAE,QAAO,CAAE;AAAC;AAAC,SAASqE,KAAGrE,IAAE;AAAC,SAAO,IAAI,IAAI,OAAO,QAAQA,EAAC,CAAC;AAAC;AAAwN,SAASsE,KAAGtE,KAAEuE,IAAAA,cAAG,GAAE;AAAC,QAAM,IAAEC,IAAAA,cAAGxE,MAAGuE,IAAAA,YAAE;AAAE,MAAI5D,IAAEkB,IAAEoC,IAAEpD;AAAE,SAAM,EAAC,SAAQ,CAAAjB,OAAG;AAAC,IAAAqE,MAAGtD,OAAI,aAAasD,EAAC,GAAEtD,GAAEf,EAAC,GAAEiB,KAAE,QAAQ,QAAQjB,EAAC;AAAA,EAAE,GAAE,QAAO,CAAAA,OAAG;AAAC,IAAAqE,MAAGpC,OAAI,aAAaoC,EAAC,GAAEpC,GAAEjC,EAAC;AAAA,EAAE,GAAE,MAAK,MAAI,IAAI,QAAQ,CAACA,IAAEH,OAAI;AAAC,QAAGoB,GAAE,QAAOjB,GAAEiB,EAAC;AAAE,IAAAoD,KAAE,WAAW,MAAI;AAAC,YAAMrC,KAAE,IAAI,MAAM,CAAC;AAAE,MAAAf,KAAE,QAAQ,OAAOe,EAAC,GAAEnC,GAAEmC,EAAC;AAAA,IAAC,GAAE,CAAC,GAAEjB,KAAEf,IAAEiC,KAAEpC;AAAA,EAAC,CAAC,EAAC;AAAC;AAAC,SAASgF,KAAGzE,IAAE,GAAE,GAAE;AAAC,SAAO,IAAI,QAAQ,OAAMW,IAAEkB,OAAI;AAAC,UAAMoC,KAAE,WAAW,MAAIpC,GAAE,IAAI,MAAM,CAAC,CAAC,GAAE,CAAC;AAAE,QAAG;AAAC,YAAMhB,KAAE,MAAMb;AAAE,MAAAW,GAAEE,EAAC;AAAA,IAAC,SAAOA,IAAE;AAAC,MAAAgB,GAAEhB,EAAC;AAAA,IAAC;AAAC,iBAAaoD,EAAC;AAAA,EAAC,CAAC;AAAC;AAAC,SAASS,KAAG1E,IAAE,GAAE;AAAC,MAAG,OAAO,KAAG,YAAU,EAAE,WAAW,GAAGA,EAAC,GAAG,EAAE,QAAO;AAAE,MAAGA,GAAE,YAAW,MAAK,SAAQ;AAAC,QAAG,OAAO,KAAG,SAAS,OAAM,IAAI,MAAM,uDAAuD;AAAE,WAAM,SAAS,CAAC;AAAA,EAAE,WAASA,GAAE,YAAW,MAAK,MAAK;AAAC,QAAG,OAAO,KAAG,SAAS,OAAM,IAAI,MAAM,oDAAoD;AAAE,WAAM,MAAM,CAAC;AAAA,EAAE;AAAC,QAAM,IAAI,MAAM,gCAAgCA,EAAC,EAAE;AAAC;AAAC,SAAS2E,KAAG3E,IAAE;AAAC,SAAO0E,KAAG,SAAQ1E,EAAC;AAAC;AAAC,SAAS4E,KAAG5E,IAAE;AAAC,SAAO0E,KAAG,MAAK1E,EAAC;AAAC;AAAC,SAAS6E,KAAG7E,IAAE;AAAC,QAAK,CAAC,GAAE,CAAC,IAAEA,GAAE,MAAM,GAAG,GAAEW,KAAE,EAAC,IAAG,QAAO,OAAM,OAAM;AAAE,MAAG,MAAI,WAAS,OAAO,KAAG,SAAS,CAAAA,GAAE,QAAM;AAAA,WAAU,MAAI,QAAM,OAAO,UAAU,OAAO,CAAC,CAAC,EAAE,CAAAA,GAAE,KAAG,OAAO,CAAC;AAAA,MAAO,OAAM,IAAI,MAAM,2DAA2D,CAAC,IAAI,CAAC,EAAE;AAAE,SAAOA;AAAC;AAAC,SAASmE,KAAG9E,IAAE,GAAE;AAAC,SAAO+E,IAAAA,gBAAO,KAAK,IAAG,IAAIP,IAAAA,cAAGxE,EAAC,CAAC;AAAC;AAAC,SAASgF,KAAGhF,IAAE;AAAC,SAAO,KAAK,SAAOwE,IAAAA,cAAGxE,EAAC;AAAC;AAAC,SAASiF,KAAGjF,IAAE,GAAE;AAAC,SAAM,GAAGA,EAAC,GAAG,IAAE,IAAI,CAAC,KAAG,EAAE;AAAE;AAAC,SAASkF,KAAGlF,KAAE,CAAA,GAAG,IAAE,CAAA,GAAG;AAAC,SAAM,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAGA,IAAE,GAAG,CAAC,CAAC,CAAC;AAAC;AAAC,eAAemF,KAAG,EAAC,IAAGnF,IAAE,OAAM,GAAE,YAAW,EAAC,GAAE;AAAC,MAAIW;AAAE,MAAG;AAAC,QAAG,CAAC,EAAE;AAAO,UAAMkB,KAAE,OAAO,KAAG,WAAS,KAAK,MAAM,CAAC,IAAE,GAAEoC,KAAEpC,MAAA,gBAAAA,GAAG;AAAK,QAAG,OAAOoC,MAAG,SAAS;AAAO,UAAMpD,KAAEuE,KAAGnB,IAAEjE,IAAE,CAAC,GAAEJ,KAAEyD,KAAE;AAAG,QAAGzD,OAAIgD,IAAE,SAAQ;AAAC,UAAG,GAAGjC,KAAEqC,cAAE,MAAK,QAAMrC,GAAE,SAAQ,IAAI;AAAC,gBAAQ,KAAK,kDAAkD;AAAE;AAAA,MAAM;AAAC0E,WAAGxE,EAAC;AAAA,IAAC,MAAM,CAAAjB,OAAIgD,IAAE,eAAa,QAAO,UAAQ,OAAK,SAAO,OAAO,WAAS,OAAK,MAAM,OAAO,QAAQ,QAAQ/B,EAAC;AAAA,EAAC,SAAOgB,IAAE;AAAC,YAAQ,MAAMA,EAAC;AAAA,EAAC;AAAC;AAAC,SAASuD,KAAGpF,IAAE,GAAE,GAAE;AAAC,QAAMW,KAAE,aAAa,CAAC,iBAAiB,CAAC;AAAG,EAAAX,GAAE,SAAS,GAAG,MAAIA,KAAEA,GAAE,MAAM,GAAE,EAAE;AAAG,MAAI6B,KAAE,GAAG7B,EAAC;AAAG,MAAGA,GAAE,WAAW,cAAc,GAAE;AAAC,UAAMiE,KAAEjE,GAAE,SAAS,GAAG,IAAE,eAAa;AAAa,IAAA6B,KAAE,GAAGA,EAAC,GAAGoC,EAAC,GAAGqB,KAAG3E,IAAE,IAAE,CAAC;AAAA,EAAE,MAAM,CAAAkB,KAAE,GAAGA,EAAC,OAAOlB,EAAC;AAAG,SAAOkB;AAAC;AAAC,SAASwD,KAAGrF,IAAE;AAAC,MAAI,IAAE;AAAQuF,WAAK,IAAE,UAAQC,KAAE,KAAIxF,GAAE,WAAW,UAAU,KAAGA,GAAE,WAAW,SAAS,OAAK,IAAE,WAAU,OAAO,KAAKA,IAAE,GAAE,qBAAqB;AAAC;AAAC,eAAeyF,KAAGzF,IAAE,GAAE;AAAC,MAAI,IAAE;AAAG,MAAG;AAAC,QAAGoD,KAAE,MAAK,IAAE,aAAa,QAAQ,CAAC,GAAE,GAAG,QAAO;AAAE,QAAE,MAAMpD,GAAE,QAAQ,CAAC;AAAA,EAAC,SAAOW,IAAE;AAAC,YAAQ,MAAMA,EAAC;AAAA,EAAC;AAAC,SAAO;AAAC;AAAoD,SAAS+E,KAAG1F,IAAE,GAAE;AAAC,MAAG,CAACA,GAAE,SAAS,CAAC,EAAE,QAAO;AAAK,QAAM,IAAEA,GAAE,MAAM,WAAW,GAAEW,KAAE,EAAE,QAAQ,CAAC;AAAE,SAAO,EAAEA,KAAE,CAAC;AAAC;AAAC,SAASgF,OAAI;AAAC,SAAO,OAAO,SAAO,OAAK,UAAQ,QAAM,OAAO,aAAW,OAAO,WAAU,IAAG,uCAAuC,QAAQ,UAAS,CAAA3F,OAAG;AAAC,UAAM,IAAE,KAAK,WAAS,KAAG;AAAE,YAAOA,OAAI,MAAI,IAAE,IAAE,IAAE,GAAG,SAAS,EAAE;AAAA,EAAC,CAAC;AAAC;AAAC,SAAS4F,OAAI;AAAC,SAAO,OAAOrG,YAAQ,OAAKA,UAAQ,IAAI,cAAY;AAAM;AAAC,SAASiG,OAAI;AAAC,SAAO,OAAO,SAAO,QAAM,CAAC,CAAC,OAAO,wBAAsB,CAAC,CAAC,OAAO,YAAU,CAAC,CAAC,OAAO;AAA0B;AAAC,SAASD,OAAI;AAAC,MAAG;AAAC,WAAO,OAAO,SAAO,OAAO;AAAA,EAAG,QAAM;AAAC,WAAM;AAAA,EAAE;AAAC;AAAC,SAASD,KAAGtF,IAAE,IAAE,OAAG;AAAC,QAAM,IAAE,OAAO,KAAKA,EAAC,EAAE,SAAS,QAAQ;AAAE,SAAO,IAAE,EAAE,QAAQ,QAAO,EAAE,IAAE;AAAC;AAAC,SAAS6F,KAAG7F,IAAE;AAAC,SAAO,OAAO,KAAKA,IAAE,QAAQ,EAAE,SAAS,OAAO;AAAC;AAAC,SAAS8F,KAAG9F,IAAE;AAAC,SAAO,IAAI,QAAQ,OAAG,WAAW,GAAEA,EAAC,CAAC;AAAC;AAAC,SAAS+F,KAAG/F,IAAE;AAAC,MAAG,CAAC,OAAO,cAAcA,EAAC,KAAGA,KAAE,EAAE,OAAM,IAAI,MAAM,oCAAkCA,EAAC;AAAC;AAAC,SAASgG,KAAGhG,IAAE;AAAC,SAAOA,cAAa,cAAY,YAAY,OAAOA,EAAC,KAAGA,GAAE,YAAY,SAAO;AAAY;AAAC,SAASiG,KAAGjG,OAAK,GAAE;AAAC,MAAG,CAACgG,KAAGhG,EAAC,EAAE,OAAM,IAAI,MAAM,qBAAqB;AAAE,MAAG,EAAE,SAAO,KAAG,CAAC,EAAE,SAASA,GAAE,MAAM,EAAE,OAAM,IAAI,MAAM,mCAAiC,IAAE,kBAAgBA,GAAE,MAAM;AAAC;AAAC,SAASkG,KAAGlG,IAAE;AAAC,MAAG,OAAOA,MAAG,cAAY,OAAOA,GAAE,UAAQ,WAAW,OAAM,IAAI,MAAM,iDAAiD;AAAE+F,OAAG/F,GAAE,SAAS,GAAE+F,KAAG/F,GAAE,QAAQ;AAAC;AAAC,SAASmG,KAAGnG,IAAE,IAAE,MAAG;AAAC,MAAGA,GAAE,UAAU,OAAM,IAAI,MAAM,kCAAkC;AAAE,MAAG,KAAGA,GAAE,SAAS,OAAM,IAAI,MAAM,uCAAuC;AAAC;AAAC,SAASoG,KAAGpG,IAAE,GAAE;AAACiG,OAAGjG,EAAC;AAAE,QAAM,IAAE,EAAE;AAAU,MAAGA,GAAE,SAAO,EAAE,OAAM,IAAI,MAAM,2DAAyD,CAAC;AAAC;AAAC,MAAMqG,OAAG,OAAO,KAAG,KAAG,CAAC,GAAEC,OAAG,OAAO,EAAE;AAAE,SAASC,KAAGvG,IAAE,IAAE,OAAG;AAAC,SAAO,IAAE,EAAC,GAAE,OAAOA,KAAEqG,IAAE,GAAE,GAAE,OAAOrG,MAAGsG,OAAGD,IAAE,EAAC,IAAE,EAAC,GAAE,OAAOrG,MAAGsG,OAAGD,IAAE,IAAE,GAAE,GAAE,OAAOrG,KAAEqG,IAAE,IAAE,EAAC;AAAC;AAAC,SAASG,KAAGxG,IAAE,IAAE,OAAG;AAAC,MAAI,IAAE,IAAI,YAAYA,GAAE,MAAM,GAAEW,KAAE,IAAI,YAAYX,GAAE,MAAM;AAAE,WAAQ6B,KAAE,GAAEA,KAAE7B,GAAE,QAAO6B,MAAI;AAAC,UAAK,EAAC,GAAEoC,IAAE,GAAEpD,GAAC,IAAE0F,KAAGvG,GAAE6B,EAAC,GAAE,CAAC;AAAE,KAAC,EAAEA,EAAC,GAAElB,GAAEkB,EAAC,CAAC,IAAE,CAACoC,IAAEpD,EAAC;AAAA,EAAC;AAAC,SAAM,CAAC,GAAEF,EAAC;AAAC;AAAC,MAAM8F,OAAG,CAACzG,IAAE,GAAE,MAAIA,MAAG,IAAE,MAAI,KAAG,GAAE0G,OAAG,CAAC1G,IAAE,GAAE,MAAI,KAAG,IAAEA,OAAI,KAAG,GAAE2G,OAAG,CAAC3G,IAAE,GAAE,MAAI,KAAG,IAAE,KAAGA,OAAI,KAAG,GAAE4G,OAAG,CAAC5G,IAAE,GAAE,MAAIA,MAAG,IAAE,KAAG,MAAI,KAAG,GAAE6G,OAAG,OAAO,cAAY,YAAU,YAAW,aAAW,WAAW,SAAO;AAAO,SAASC,KAAG9G,IAAE;AAAC,SAAO,IAAI,YAAYA,GAAE,QAAOA,GAAE,YAAW,KAAK,MAAMA,GAAE,aAAW,CAAC,CAAC;AAAC;AAAC,SAAS+G,KAAG/G,IAAE;AAAC,SAAO,IAAI,SAASA,GAAE,QAAOA,GAAE,YAAWA,GAAE,UAAU;AAAC;AAAC,SAASgH,KAAGhH,IAAE,GAAE;AAAC,SAAOA,MAAG,KAAG,IAAEA,OAAI;AAAC;AAAC,MAAMiH,OAAG,IAAI,WAAW,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,MAAI;AAAG,SAASC,KAAGlH,IAAE;AAAC,SAAOA,MAAG,KAAG,aAAWA,MAAG,IAAE,WAASA,OAAI,IAAE,QAAMA,OAAI,KAAG;AAAG;AAAC,SAASmH,KAAGnH,IAAE;AAAC,WAAQ,IAAE,GAAE,IAAEA,GAAE,QAAO,IAAI,CAAAA,GAAE,CAAC,IAAEkH,KAAGlH,GAAE,CAAC,CAAC;AAAC;AAAC,SAASoH,KAAGpH,IAAE;AAAC,MAAG,OAAOA,MAAG,SAAS,OAAM,IAAI,MAAM,sCAAoC,OAAOA,EAAC;AAAE,SAAO,IAAI,WAAW,IAAI,YAAW,EAAG,OAAOA,EAAC,CAAC;AAAC;AAAC,SAASqH,KAAGrH,IAAE;AAAC,SAAO,OAAOA,MAAG,aAAWA,KAAEoH,KAAGpH,EAAC,IAAGiG,KAAGjG,EAAC,GAAEA;AAAC;AAAC,SAASsH,QAAMtH,IAAE;AAAC,MAAI,IAAE;AAAE,WAAQW,KAAE,GAAEA,KAAEX,GAAE,QAAOW,MAAI;AAAC,UAAMkB,KAAE7B,GAAEW,EAAC;AAAEsF,SAAGpE,EAAC,GAAE,KAAGA,GAAE;AAAA,EAAM;AAAC,QAAM,IAAE,IAAI,WAAW,CAAC;AAAE,WAAQlB,KAAE,GAAEkB,KAAE,GAAElB,KAAEX,GAAE,QAAOW,MAAI;AAAC,UAAMsD,KAAEjE,GAAEW,EAAC;AAAE,MAAE,IAAIsD,IAAEpC,EAAC,GAAEA,MAAGoC,GAAE;AAAA,EAAM;AAAC,SAAO;AAAC;AAAA,IAAA,OAAC,MAAM,GAAE;AAAA,EAAC,QAAO;AAAC,WAAO,KAAK;EAAY;AAAC;AAAC,SAASsD,KAAGvH,IAAE;AAAC,QAAM,IAAE,CAAAW,OAAGX,GAAC,EAAG,OAAOqH,KAAG1G,EAAC,CAAC,EAAE,OAAM,GAAG,IAAEX,GAAC;AAAG,SAAO,EAAE,YAAU,EAAE,WAAU,EAAE,WAAS,EAAE,UAAS,EAAE,SAAO,MAAIA,GAAC,GAAG;AAAC;AAAC,SAASwH,KAAGxH,KAAE,IAAG;AAAC,MAAG6G,QAAI,OAAOA,KAAG,mBAAiB,WAAW,QAAOA,KAAG,gBAAgB,IAAI,WAAW7G,EAAC,CAAC;AAAE,MAAG6G,QAAI,OAAOA,KAAG,eAAa,WAAW,QAAOA,KAAG,YAAY7G,EAAC;AAAE,QAAM,IAAI,MAAM,wCAAwC;AAAC;AAAC,MAAMyH,OAAG,CAAA,GAAGC,OAAG,IAAGC,OAAG,CAAA,GAAGC,OAAG,OAAO,CAAC,GAAEC,OAAG,OAAO,CAAC,GAAEC,OAAG,OAAO,CAAC,GAAE,KAAG,OAAO,CAAC,GAAEC,OAAG,OAAO,GAAG,GAAEC,OAAG,OAAO,GAAG;AAAE,SAAQhI,KAAE,GAAE,IAAE6H,MAAG,IAAE,GAAElH,KAAE,GAAEX,KAAE,IAAGA,MAAI;AAAC,GAAC,GAAEW,EAAC,IAAE,CAACA,KAAG,IAAE,IAAE,IAAEA,MAAG,CAAC,GAAE8G,KAAG,KAAK,KAAG,IAAE9G,KAAE,EAAE,GAAE+G,KAAG,MAAM1H,KAAE,MAAIA,KAAE,KAAG,IAAE,EAAE;AAAE,MAAI6B,KAAE+F;AAAG,WAAQ3D,KAAE,GAAEA,KAAE,GAAEA,KAAI,MAAG,KAAG4D,QAAI,KAAG,MAAIG,QAAID,MAAG,IAAED,SAAKjG,MAAGgG,SAAKA,QAAI,OAAO5D,EAAC,KAAG4D;AAAIF,OAAG,KAAK9F,EAAC;AAAC;AAAC,MAAK,CAACoG,MAAGC,IAAE,IAAE1B,KAAGmB,MAAG,IAAE,GAAEQ,OAAG,CAACnI,IAAE,GAAE,MAAI,IAAE,KAAG2G,KAAG3G,IAAE,GAAE,CAAC,IAAEyG,KAAGzG,IAAE,GAAE,CAAC,GAAEoI,OAAG,CAACpI,IAAE,GAAE,MAAI,IAAE,KAAG4G,KAAG5G,IAAE,GAAE,CAAC,IAAE0G,KAAG1G,IAAE,GAAE,CAAC;AAAE,SAAS,GAAGA,IAAE,IAAE,IAAG;AAAC,QAAM,IAAE,IAAI,YAAY,EAAE;AAAE,WAAQW,KAAE,KAAG,GAAEA,KAAE,IAAGA,MAAI;AAAC,aAAQE,KAAE,GAAEA,KAAE,IAAGA,KAAI,GAAEA,EAAC,IAAEb,GAAEa,EAAC,IAAEb,GAAEa,KAAE,EAAE,IAAEb,GAAEa,KAAE,EAAE,IAAEb,GAAEa,KAAE,EAAE,IAAEb,GAAEa,KAAE,EAAE;AAAE,aAAQA,KAAE,GAAEA,KAAE,IAAGA,MAAG,GAAE;AAAC,YAAMjB,MAAGiB,KAAE,KAAG,IAAGpB,MAAGoB,KAAE,KAAG,IAAGe,KAAE,EAAEnC,EAAC,GAAEI,KAAE,EAAEJ,KAAE,CAAC,GAAEyE,KAAEiE,KAAGvG,IAAE/B,IAAE,CAAC,IAAE,EAAED,EAAC,GAAEG,KAAEqI,KAAGxG,IAAE/B,IAAE,CAAC,IAAE,EAAED,KAAE,CAAC;AAAE,eAAQE,KAAE,GAAEA,KAAE,IAAGA,MAAG,GAAG,CAAAE,GAAEa,KAAEf,EAAC,KAAGoE,IAAElE,GAAEa,KAAEf,KAAE,CAAC,KAAGC;AAAA,IAAC;AAAC,QAAI8B,KAAE7B,GAAE,CAAC,GAAEiE,KAAEjE,GAAE,CAAC;AAAE,aAAQa,KAAE,GAAEA,KAAE,IAAGA,MAAI;AAAC,YAAMjB,KAAE8H,KAAG7G,EAAC,GAAEpB,KAAE0I,KAAGtG,IAAEoC,IAAErE,EAAC,GAAEgC,KAAEwG,KAAGvG,IAAEoC,IAAErE,EAAC,GAAEC,KAAE4H,KAAG5G,EAAC;AAAE,MAAAgB,KAAE7B,GAAEH,EAAC,GAAEoE,KAAEjE,GAAEH,KAAE,CAAC,GAAEG,GAAEH,EAAC,IAAEJ,IAAEO,GAAEH,KAAE,CAAC,IAAE+B;AAAA,IAAC;AAAC,aAAQf,KAAE,GAAEA,KAAE,IAAGA,MAAG,IAAG;AAAC,eAAQjB,KAAE,GAAEA,KAAE,IAAGA,KAAI,GAAEA,EAAC,IAAEI,GAAEa,KAAEjB,EAAC;AAAE,eAAQA,KAAE,GAAEA,KAAE,IAAGA,KAAI,CAAAI,GAAEa,KAAEjB,EAAC,KAAG,CAAC,GAAGA,KAAE,KAAG,EAAE,IAAE,GAAGA,KAAE,KAAG,EAAE;AAAA,IAAC;AAAC,IAAAI,GAAE,CAAC,KAAGiI,KAAGtH,EAAC,GAAEX,GAAE,CAAC,KAAGkI,KAAGvH,EAAC;AAAA,EAAC;AAAC,IAAE,KAAK,CAAC;AAAC;AAAA,IAAA,OAAC,MAAM,WAAW0H,KAAE;AAAA,EAAC,YAAY,GAAE,GAAE1H,IAAEkB,KAAE,OAAGoC,KAAE,IAAG;AAAC,QAAG,MAAK,GAAG,KAAK,WAAS,GAAE,KAAK,SAAO,GAAE,KAAK,YAAUtD,IAAE,KAAK,YAAUkB,IAAE,KAAK,SAAOoC,IAAE,KAAK,MAAI,GAAE,KAAK,SAAO,GAAE,KAAK,WAAS,OAAG,KAAK,YAAU,OAAG8B,KAAGpF,EAAC,GAAE,KAAG,KAAK,YAAU,KAAK,YAAU,IAAI,OAAM,IAAI,MAAM,0CAA0C;AAAE,SAAK,QAAM,IAAI,WAAW,GAAG,GAAE,KAAK,UAAQmG,KAAG,KAAK,KAAK;AAAA,EAAC;AAAA,EAAC,SAAQ;AAACG,YAAIE,KAAG,KAAK,OAAO,GAAE,GAAG,KAAK,SAAQ,KAAK,MAAM,GAAEF,QAAIE,KAAG,KAAK,OAAO,GAAE,KAAK,SAAO,GAAE,KAAK,MAAI;AAAA,EAAC;AAAA,EAAC,OAAO,GAAE;AAAChB,SAAG,IAAI;AAAE,UAAK,EAAC,UAAS,GAAE,OAAMxF,GAAC,IAAE;AAAK,QAAE0G,KAAG,CAAC;AAAE,UAAMxF,KAAE,EAAE;AAAO,aAAQoC,KAAE,GAAEA,KAAEpC,MAAG;AAAC,YAAMhB,KAAE,KAAK,IAAI,IAAE,KAAK,KAAIgB,KAAEoC,EAAC;AAAE,eAAQrE,KAAE,GAAEA,KAAEiB,IAAEjB,KAAI,CAAAe,GAAE,KAAK,KAAK,KAAG,EAAEsD,IAAG;AAAE,WAAK,QAAM,KAAG,KAAK,OAAM;AAAA,IAAE;AAAC,WAAO;AAAA,EAAI;AAAA,EAAC,SAAQ;AAAC,QAAG,KAAK,SAAS;AAAO,SAAK,WAAS;AAAG,UAAK,EAAC,OAAM,GAAE,QAAO,GAAE,KAAItD,IAAE,UAASkB,GAAC,IAAE;AAAK,MAAElB,EAAC,KAAG,IAAG,IAAE,SAAO,KAAGA,OAAIkB,KAAE,KAAG,KAAK,OAAM,GAAG,EAAEA,KAAE,CAAC,KAAG,KAAI,KAAK,OAAM;AAAA,EAAE;AAAA,EAAC,UAAU,GAAE;AAACsE,SAAG,MAAK,KAAE,GAAEF,KAAG,CAAC,GAAE,KAAK,OAAM;AAAG,UAAM,IAAE,KAAK,OAAM,EAAC,UAAStF,GAAC,IAAE;AAAK,aAAQkB,KAAE,GAAEoC,KAAE,EAAE,QAAOpC,KAAEoC,MAAG;AAAC,WAAK,UAAQtD,MAAG,KAAK,OAAM;AAAG,YAAME,KAAE,KAAK,IAAIF,KAAE,KAAK,QAAOsD,KAAEpC,EAAC;AAAE,QAAE,IAAI,EAAE,SAAS,KAAK,QAAO,KAAK,SAAOhB,EAAC,GAAEgB,EAAC,GAAE,KAAK,UAAQhB,IAAEgB,MAAGhB;AAAA,IAAC;AAAC,WAAO;AAAA,EAAC;AAAA,EAAC,QAAQ,GAAE;AAAC,QAAG,CAAC,KAAK,UAAU,OAAM,IAAI,MAAM,uCAAuC;AAAE,WAAO,KAAK,UAAU,CAAC;AAAA,EAAC;AAAA,EAAC,IAAI,GAAE;AAAC,WAAOkF,KAAG,CAAC,GAAE,KAAK,QAAQ,IAAI,WAAW,CAAC,CAAC;AAAA,EAAC;AAAA,EAAC,WAAW,GAAE;AAAC,QAAGK,KAAG,GAAE,IAAI,GAAE,KAAK,SAAS,OAAM,IAAI,MAAM,6BAA6B;AAAE,WAAO,KAAK,UAAU,CAAC,GAAE,KAAK,QAAO,GAAG;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAO,KAAK,WAAW,IAAI,WAAW,KAAK,SAAS,CAAC;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,SAAK,YAAU,MAAG,KAAK,MAAM,KAAK,CAAC;AAAA,EAAC;AAAA,EAAC,WAAW,GAAE;AAAC,UAAK,EAAC,UAAS,GAAE,QAAOzF,IAAE,WAAUkB,IAAE,QAAOoC,IAAE,WAAUpD,GAAC,IAAE;AAAK,WAAO,MAAI,IAAE,IAAI,GAAG,GAAEF,IAAEkB,IAAEhB,IAAEoD,EAAC,IAAG,EAAE,QAAQ,IAAI,KAAK,OAAO,GAAE,EAAE,MAAI,KAAK,KAAI,EAAE,SAAO,KAAK,QAAO,EAAE,WAAS,KAAK,UAAS,EAAE,SAAOA,IAAE,EAAE,SAAOtD,IAAE,EAAE,YAAUkB,IAAE,EAAE,YAAUhB,IAAE,EAAE,YAAU,KAAK,WAAU;AAAA,EAAC;AAAC;AAAC,MAAM,KAAG,CAACb,IAAE,GAAE,MAAIuH,KAAG,MAAI,IAAIe,KAAG,GAAEtI,IAAE,CAAC,CAAC,GAAE,KAAG,GAAG,GAAE,KAAI,MAAI,CAAC,GAAE,KAAG;AAAmC,SAASuI,KAAGvI,IAAE;AAAC,QAAM,IAAE;AAAA,EACt7bA,GAAE,MAAM,IAAG,IAAE,IAAI,YAAW,EAAG,OAAO,IAAEA,EAAC;AAAE,SAAM,OAAK,OAAO,KAAK,GAAG,CAAC,CAAC,EAAE,SAAS,KAAK;AAAC;AAAC,eAAewI,KAAGxI,IAAE,GAAE,GAAEW,IAAEkB,IAAEoC,IAAE;AAAC,UAAO,EAAE,GAAC;AAAA,IAAE,KAAI;AAAS,aAAO,MAAMwE,KAAGzI,IAAE,GAAE,EAAE,CAAC;AAAA,IAAE,KAAI;AAAU,aAAO,MAAM0I,KAAG1I,IAAE,GAAE,EAAE,GAAEW,IAAEkB,IAAEoC,EAAC;AAAA,IAAE;AAAQ,YAAM,IAAI,MAAM,iFAAiF,EAAE,CAAC,EAAE;AAAA,EAAC;AAAC;AAAC,eAAewE,KAAGzI,IAAE,GAAE,GAAE;AAAC,UAAO,MAAM2I,eAAG,EAAC,MAAKJ,KAAG,CAAC,GAAE,WAAU,EAAC,CAAC,GAAG,YAAW,MAAKvI,GAAE,YAAW;AAAE;AAAC,eAAe0I,KAAG1I,IAAE,GAAE,GAAEW,IAAEkB,IAAEoC,IAAE;AAAC,QAAMpD,KAAEoB,KAAGtB,EAAC;AAAE,MAAG,CAACE,GAAE,aAAW,CAACA,GAAE,UAAU,OAAM,IAAI,MAAM,+EAA+EF,EAAC,EAAE;AAAE,MAAG;AAAC,UAAMf,KAAE,cAAaH,KAAE,oEAAmEmC,KAAE,oEAAmE/B,KAAE,EAAE,UAAU,CAAC,GAAEqE,KAAEqE,KAAG,CAAC,EAAE,UAAU,CAAC,GAAExI,KAAEH,KAAEsE,KAAEzE,KAAEmC,KAAE/B,IAAEC,KAAE,MAAM,MAAM,GAAGmE,MAAG,EAAE,aAAatD,EAAC,cAAckB,EAAC,IAAG,EAAC,QAAO,QAAO,MAAK,KAAK,UAAU,EAAC,IAAG,GAAE,GAAG,SAAQ,OAAM,QAAO,YAAW,QAAO,CAAC,EAAC,IAAG7B,IAAE,MAAKD,GAAC,GAAE,QAAQ,EAAC,CAAC,EAAC,CAAC,GAAE,EAAC,QAAO6I,GAAC,IAAE,MAAM9I,GAAE,KAAI;AAAG,WAAO8I,KAAEA,GAAE,MAAM,GAAEhJ,GAAE,MAAM,EAAE,YAAW,MAAKA,GAAE,YAAW,IAAG;AAAA,EAAE,SAAOA,IAAE;AAAC,WAAO,QAAQ,MAAM,6BAA4BA,EAAC,GAAE;AAAA,EAAE;AAAC;AAAC,SAAS,KAAI;AAAC,SAAO,KAAK,IAAG,IAAG,KAAK,MAAM,KAAK,OAAM,IAAG,GAAG;AAAC;AAAC,SAAS,GAAGI,IAAE;AAAC,QAAM,IAAE,KAAKA,EAAC,GAAE,IAAE,IAAI,WAAW,EAAE,MAAM;AAAE,WAAQa,KAAE,GAAEA,KAAE,EAAE,QAAOA,KAAI,GAAEA,EAAC,IAAE,EAAE,WAAWA,EAAC;AAAE,QAAMF,KAAE,EAAE,CAAC;AAAE,MAAGA,OAAI,EAAE,OAAM,IAAI,MAAM,qBAAqB;AAAE,QAAMkB,KAAE,IAAElB,KAAE;AAAG,MAAG,EAAE,SAAOkB,GAAE,OAAM,IAAI,MAAM,wDAAwD;AAAE,MAAG,EAAE,SAAO,IAAI,OAAM,IAAI,MAAM,uBAAuB;AAAE,QAAMoC,KAAE,OAAO,KAAKjE,IAAE,QAAQ,EAAE,MAAM,GAAE,EAAE;AAAE,SAAO6I,KAAG,OAAO5E,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe6E,OAAG,OAAO,kBAAiB,KAAG,OAAO,2BAA0BC,OAAG,OAAO,uBAAsB,KAAG,OAAO,UAAU,gBAAe,KAAG,OAAO,UAAU,sBAAqBC,OAAG,CAAChJ,IAAE,GAAE,MAAI,KAAKA,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAM,EAAC,CAAC,IAAEA,GAAE,CAAC,IAAE,GAAEiJ,OAAG,CAACjJ,IAAE,MAAI;AAAC,WAAQ,KAAK,MAAI,IAAE,CAAA,GAAI,IAAG,KAAK,GAAE,CAAC,KAAGgJ,KAAGhJ,IAAE,GAAE,EAAE,CAAC,CAAC;AAAE,MAAG+I,KAAG,UAAQ,KAAKA,KAAG,CAAC,EAAE,IAAG,KAAK,GAAE,CAAC,KAAGC,KAAGhJ,IAAE,GAAE,EAAE,CAAC,CAAC;AAAE,SAAOA;AAAC,GAAEkJ,OAAG,CAAClJ,IAAE,MAAI8I,KAAG9I,IAAE,GAAG,CAAC,CAAC;AAAE,MAAM,KAAG,YAAWmJ,OAAG,CAAAnJ,OAAGA,MAAA,gBAAAA,GAAG,MAAM,MAAKoJ,OAAG,CAAApJ,OAAG;AAAC,QAAM,IAAEA,MAAGmJ,KAAGnJ,EAAC;AAAE,MAAG,EAAE,QAAOA,GAAE,SAAS,EAAE,IAAE,EAAE,CAAC,IAAE,EAAE,CAAC;AAAC,GAAEqJ,OAAG,CAAArJ,OAAG;AAAC,QAAM,IAAEA,MAAGmJ,KAAGnJ,EAAC;AAAE,MAAG,EAAE,QAAO,EAAE,CAAC,IAAE,MAAI,EAAE,CAAC;AAAC,GAAEsJ,OAAG,CAAAtJ,OAAG;AAAC,QAAM,IAAEA,MAAGmJ,KAAGnJ,EAAC;AAAE,MAAG,EAAE,QAAO,EAAE,IAAG;AAAE;AAAE,eAAe,GAAGA,IAAE;AAAC,QAAK,EAAC,OAAM,GAAE,WAAU,EAAC,IAAEA,IAAE,EAAC,GAAEW,IAAE,GAAEkB,GAAC,IAAE,GAAEoC,KAAEsF,KAAG1H,IAAEA,GAAE,GAAG,GAAEhB,KAAEyI,KAAGzH,GAAE,GAAG;AAAE,SAAO,MAAM2G,KAAG3H,IAAEoD,IAAEtD,IAAE0I,KAAGxH,GAAE,GAAG,GAAE,CAAC;AAAC;AAAC,MAAM0H,OAAG,CAACvJ,IAAE,MAAI;AAAC,QAAM,IAAE,GAAGA,GAAE,MAAM,qDAAoDW,KAAE2I,KAAG,CAAC;AAAE,MAAG,CAACtJ,GAAE,OAAK,CAACA,GAAE,IAAI,OAAM,IAAI,MAAM,4DAA4D;AAAE,MAAI6B,KAAE7B,GAAE,aAAW;AAAO,QAAMiE,KAAE,QAAQjE,GAAE,OAAKA,GAAE,GAAG,IAAGa,KAAE,YAAYb,GAAE,OAAO,IAAGJ,KAAE,aAAawJ,KAAG,CAAC,CAAC,IAAG3J,KAAE,UAAUO,GAAE,KAAK,IAAG4B,KAAE,cAAc5B,GAAE,GAAG,IAAGH,KAAEG,GAAE,MAAI,oBAAoBA,GAAE,GAAG,KAAG,QAAOkE,KAAElE,GAAE,MAAI,eAAeA,GAAE,GAAG,KAAG,QAAOD,KAAEC,GAAE,YAAU,eAAeA,GAAE,SAAS,KAAG,QAAOF,KAAEE,GAAE,YAAU,aAAaA,GAAE,UAAU,IAAI,CAAAM,OAAG;AAAA,IAC7yFA,EAAC,EAAE,EAAE,KAAK,EAAE,CAAC,KAAG,QAAOsI,KAAEY,KAAGxJ,GAAE,SAAS;AAAE,MAAG4I,IAAE;AAAC,UAAMtI,KAAEmJ,KAAGb,EAAC;AAAE,IAAA/G,KAAE6H,KAAG7H,IAAEvB,EAAC;AAAA,EAAC;AAAC,SAAM,CAAC,GAAEK,IAAE,IAAGkB,IAAE,IAAGoC,IAAEpD,IAAEjB,IAAEH,IAAEmC,IAAE/B,IAAEqE,IAAEnE,IAAED,EAAC,EAAE,OAAO,CAAAQ,OAAGA,MAAG,IAAI,EAAE,KAAK;AAAA,CACxI;AAAC;AAAmzC,SAASqJ,KAAG3J,IAAE;AAAC,SAAO,OAAO,KAAK,KAAK,UAAUA,EAAC,CAAC,EAAE,SAAS,QAAQ;AAAC;AAAC,SAAS4J,KAAG5J,IAAE;AAAC,SAAO,KAAK,MAAM,OAAO,KAAKA,IAAE,QAAQ,EAAE,SAAS,OAAO,CAAC;AAAC;AAAC,SAAS6J,KAAG7J,IAAE;AAAC,MAAG,CAACA,GAAE,OAAM,IAAI,MAAM,uCAAuC;AAAE,MAAG,CAACA,GAAE,IAAI,OAAM,IAAI,MAAM,yBAAyB;AAAE,QAAM,IAAE,OAAO,KAAKA,GAAE,GAAG;AAAE,MAAG,EAAE,KAAG,QAAM,EAAE,QAAQ,OAAM,IAAI,MAAM,sCAAsC;AAAE,IAAE,QAAQ,OAAG;AAAC,UAAMW,KAAEX,GAAE,IAAI,CAAC;AAAE,QAAG,MAAM,QAAQW,EAAC,EAAE,OAAM,IAAI,MAAM,+BAA+B,CAAC,EAAE;AAAE,QAAG,OAAOA,MAAG,SAAS,OAAM,IAAI,MAAM,+BAA+B,CAAC,EAAE;AAAE,QAAG,CAAC,OAAO,KAAKA,EAAC,EAAE,OAAO,OAAM,IAAI,MAAM,6BAA6B,CAAC,EAAE;AAAE,WAAO,KAAKA,EAAC,EAAE,QAAQ,CAAAkB,OAAG;AAAC,YAAMoC,KAAEtD,GAAEkB,EAAC;AAAE,UAAG,CAAC,MAAM,QAAQoC,EAAC,EAAE,OAAM,IAAI,MAAM,kBAAkBpC,EAAC,wCAAwCoC,EAAC,EAAE;AAAE,UAAG,CAACA,GAAE,OAAO,OAAM,IAAI,MAAM,YAAYpC,EAAC,gDAAgD;AAAE,MAAAoC,GAAE,QAAQ,CAAApD,OAAG;AAAC,YAAG,OAAOA,MAAG,SAAS,OAAM,IAAI,MAAM,mBAAmBgB,EAAC,yCAAyChB,EAAC,EAAE;AAAA,MAAC,CAAC;AAAA,IAAC,CAAC;AAAA,EAAC,CAAC;AAAC;AAAC,SAASiJ,KAAG9J,IAAE,GAAE,GAAEW,KAAE,IAAG;AAAC,SAAO,uBAAG,KAAK,CAACkB,IAAEoC,OAAIpC,GAAE,cAAcoC,EAAC,IAAG,EAAC,KAAI,EAAC,CAACjE,EAAC,GAAE+J,KAAG,GAAE,GAAEpJ,EAAC,EAAC,EAAC;AAAC;AAAqL,SAASoJ,KAAG/J,IAAE,GAAE,IAAE,CAAA,GAAG;AAAC,MAAE,uBAAG,KAAK,CAAC6B,IAAEoC,OAAIpC,GAAE,cAAcoC,EAAC;AAAG,QAAMtD,KAAE,EAAE,IAAI,CAAAkB,QAAI,EAAC,CAAC,GAAG7B,EAAC,IAAI6B,EAAC,EAAE,GAAE,CAAC,CAAC,EAAC,EAAE;AAAE,SAAO,OAAO,OAAO,CAAA,GAAG,GAAGlB,EAAC;AAAC;AAAC,SAASqJ,KAAGhK,IAAE;AAAC,SAAO6J,KAAG7J,EAAC,GAAE,aAAa2J,KAAG3J,EAAC,EAAE,QAAQ,MAAK,EAAE,CAAC;AAAE;AAAC,SAASyJ,KAAGzJ,IAAE;AAAC,QAAM,IAAE4J,KAAG5J,GAAE,QAAQ,cAAa,EAAE,CAAC;AAAE,SAAO6J,KAAG,CAAC,GAAE;AAAC;AAAC,SAAS,GAAG7J,IAAE,GAAE,GAAE;AAAC,QAAMW,KAAEmJ,KAAG9J,IAAE,GAAE,CAAC;AAAE,SAAOgK,KAAGrJ,EAAC;AAAC;AAAC,SAASsJ,KAAGjK,IAAE;AAAC,SAAOA,MAAGA,GAAE,SAAS,YAAY;AAAC;AAAC,SAAS,GAAGA,IAAE,GAAE;AAAC,QAAM,IAAEyJ,KAAGzJ,EAAC,GAAEW,KAAE8I,KAAG,CAAC,GAAE5H,KAAEqI,KAAG,GAAEvJ,EAAC;AAAE,SAAOqJ,KAAGnI,EAAC;AAAC;AAAC,SAASqI,KAAGlK,IAAE,GAAE;AAAC6J,OAAG7J,EAAC,GAAE6J,KAAG,CAAC;AAAE,QAAM,IAAE,OAAO,KAAK7J,GAAE,GAAG,EAAE,OAAO,OAAO,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC6B,IAAEoC,OAAIpC,GAAE,cAAcoC,EAAC,CAAC,GAAEtD,KAAE,EAAC,KAAI,GAAE;AAAE,SAAO,EAAE,QAAQ,CAAAkB,OAAG;AAAC,QAAIoC,IAAEpD;AAAE,WAAO,OAAOoD,KAAEjE,GAAE,QAAM,OAAK,SAAOiE,GAAEpC,EAAC,MAAI,EAAE,EAAE,OAAO,OAAO,OAAOhB,KAAE,EAAE,QAAM,OAAK,SAAOA,GAAEgB,EAAC,MAAI,CAAA,CAAE,CAAC,EAAE,KAAK,CAACjC,IAAEH,OAAIG,GAAE,cAAcH,EAAC,CAAC,EAAE,QAAQ,CAAAG,OAAG;AAAC,UAAIH,IAAEmC;AAAE,MAAAjB,GAAE,IAAIkB,EAAC,IAAEqH,KAAGD,KAAG,IAAGtI,GAAE,IAAIkB,EAAC,CAAC,GAAE,EAAC,CAACjC,EAAC,KAAIH,KAAEO,GAAE,IAAI6B,EAAC,MAAI,OAAK,SAAOpC,GAAEG,EAAC,QAAMgC,KAAE,EAAE,IAAIC,EAAC,MAAI,OAAK,SAAOD,GAAEhC,EAAC,GAAE,CAAC;AAAA,IAAC,CAAC;AAAA,EAAC,CAAC,GAAEe;AAAC;AAAC,SAAS+I,KAAG1J,KAAE,IAAG,GAAE;AAAC6J,OAAG,CAAC;AAAE,QAAM,IAAE;AAAqF,MAAG7J,GAAE,SAAS,CAAC,EAAE,QAAOA;AAAE,QAAMW,KAAE;AAAG,MAAIkB,KAAE;AAAE,SAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAAjC,OAAG;AAAC,UAAMH,KAAE,OAAO,KAAK,EAAE,IAAIG,EAAC,CAAC,EAAE,IAAI,CAAAsE,QAAI,EAAC,SAAQA,GAAE,MAAM,GAAG,EAAE,CAAC,GAAE,QAAOA,GAAE,MAAM,GAAG,EAAE,CAAC,EAAC,EAAE;AAAE,IAAAzE,GAAE,KAAK,CAACyE,IAAEnE,OAAImE,GAAE,OAAO,cAAcnE,GAAE,MAAM,CAAC;AAAE,UAAM6B,KAAE;AAAG,IAAAnC,GAAE,QAAQ,CAAAyE,OAAG;AAAC,MAAAtC,GAAEsC,GAAE,OAAO,MAAItC,GAAEsC,GAAE,OAAO,IAAE,KAAItC,GAAEsC,GAAE,OAAO,EAAE,KAAKA,GAAE,MAAM;AAAA,IAAC,CAAC;AAAE,UAAMrE,KAAE,OAAO,KAAK+B,EAAC,EAAE,IAAI,CAAAsC,QAAIrC,MAAI,IAAIA,EAAC,MAAMqC,EAAC,OAAOtC,GAAEsC,EAAC,EAAE,KAAK,MAAM,CAAC,UAAUtE,EAAC,KAAK;AAAE,IAAAe,GAAE,KAAKd,GAAE,KAAK,IAAI,EAAE,QAAQ,MAAK,GAAG,CAAC;AAAA,EAAC,CAAC;AAAE,QAAMoE,KAAEtD,GAAE,KAAK,GAAG,GAAEE,KAAE,GAAG,CAAC,GAAGoD,EAAC;AAAG,SAAM,GAAGjE,KAAEA,KAAE,MAAI,EAAE,GAAGa,EAAC;AAAE;AAAC,SAAS,GAAGb,IAAE;AAAC,MAAI;AAAE,QAAM,IAAEyJ,KAAGzJ,EAAC;AAAE6J,OAAG,CAAC;AAAE,QAAMlJ,MAAG,IAAE,EAAE,QAAM,OAAK,SAAO,EAAE;AAAO,SAAOA,KAAE,OAAO,KAAKA,EAAC,EAAE,IAAI,CAAAkB,OAAGA,GAAE,MAAM,GAAG,EAAE,CAAC,CAAC,IAAE;AAAE;AAAC,SAAS,GAAG7B,IAAE;AAAC,QAAM,IAAEyJ,KAAGzJ,EAAC;AAAE6J,OAAG,CAAC;AAAE,QAAM,IAAE,CAAA;AAAG,SAAO,OAAO,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAAlJ,OAAG;AAAC,WAAO,OAAOA,EAAC,EAAE,QAAQ,CAAAkB,OAAG;AAAC,UAAIoC;AAAE,OAACA,KAAEpC,MAAA,gBAAAA,GAAI,OAAK,QAAMoC,GAAE,UAAQ,EAAE,KAAKpC,GAAE,CAAC,EAAE,MAAM;AAAA,IAAC,CAAC;AAAA,EAAC,CAAC,GAAE,CAAC,GAAG,IAAI,IAAI,EAAE,KAAI,CAAE,CAAC;AAAC;AAAoE,SAAS2H,KAAGxJ,IAAE;AAAC,MAAG,CAACA,GAAE;AAAO,QAAM,IAAEA,MAAA,gBAAAA,GAAIA,GAAE,SAAO;AAAG,SAAOiK,KAAG,CAAC,IAAE,IAAE;AAAM;AAAC,SAASE,KAAGnK,IAAE;AAAC,MAAG,CAAC,OAAO,cAAcA,EAAC,KAAGA,KAAE,EAAE,OAAM,IAAI,MAAM,oCAAkCA,EAAC;AAAC;AAAC,SAASoK,KAAGpK,IAAE;AAAC,SAAOA,cAAa,cAAY,YAAY,OAAOA,EAAC,KAAGA,GAAE,YAAY,SAAO;AAAY;AAAC,SAAS,GAAGA,OAAK,GAAE;AAAC,MAAG,CAACoK,KAAGpK,EAAC,EAAE,OAAM,IAAI,MAAM,qBAAqB;AAAE,MAAG,EAAE,SAAO,KAAG,CAAC,EAAE,SAASA,GAAE,MAAM,EAAE,OAAM,IAAI,MAAM,mCAAiC,IAAE,kBAAgBA,GAAE,MAAM;AAAC;AAAC,SAASqK,KAAGrK,IAAE,IAAE,MAAG;AAAC,MAAGA,GAAE,UAAU,OAAM,IAAI,MAAM,kCAAkC;AAAE,MAAG,KAAGA,GAAE,SAAS,OAAM,IAAI,MAAM,uCAAuC;AAAC;AAAC,SAAS,GAAGA,IAAE,GAAE;AAAC,KAAGA,EAAC;AAAE,QAAM,IAAE,EAAE;AAAU,MAAGA,GAAE,SAAO,EAAE,OAAM,IAAI,MAAM,2DAAyD,CAAC;AAAC;AAAC,SAASsK,KAAGtK,IAAE;AAAC,MAAG,OAAOA,MAAG,UAAU,OAAM,IAAI,MAAM,yBAAyBA,EAAC,EAAE;AAAC;AAAC,MAAMuK,OAAG,CAAAvK,OAAG,IAAI,YAAYA,GAAE,QAAOA,GAAE,YAAW,KAAK,MAAMA,GAAE,aAAW,CAAC,CAAC,GAAE,KAAG,CAAAA,OAAG,IAAI,SAASA,GAAE,QAAOA,GAAE,YAAWA,GAAE,UAAU,GAAE,KAAG,IAAI,WAAW,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,MAAI;AAAG,IAAG,CAAC,GAAG,OAAM,IAAI,MAAM,6CAA6C;AAAE,SAAS,GAAGA,IAAE;AAAC,MAAG,OAAOA,MAAG,SAAS,OAAM,IAAI,MAAM,iBAAiB;AAAE,SAAO,IAAI,WAAW,IAAI,YAAW,EAAG,OAAOA,EAAC,CAAC;AAAC;AAAC,SAASwK,KAAGxK,IAAE;AAAC,MAAG,OAAOA,MAAG,SAAS,CAAAA,KAAE,GAAGA,EAAC;AAAA,WAAUoK,KAAGpK,EAAC,EAAE,CAAAA,KAAEyK,KAAGzK,EAAC;AAAA,MAAO,OAAM,IAAI,MAAM,8BAA4B,OAAOA,EAAC;AAAE,SAAOA;AAAC;AAAC,SAAS,GAAGA,IAAE,GAAE;AAAC,MAAG,KAAG,QAAM,OAAO,KAAG,SAAS,OAAM,IAAI,MAAM,yBAAyB;AAAE,SAAO,OAAO,OAAOA,IAAE,CAAC;AAAC;AAAC,SAAS0K,KAAG1K,IAAE,GAAE;AAAC,MAAGA,GAAE,WAAS,EAAE,OAAO,QAAM;AAAG,MAAI,IAAE;AAAE,WAAQW,KAAE,GAAEA,KAAEX,GAAE,QAAOW,KAAI,MAAGX,GAAEW,EAAC,IAAE,EAAEA,EAAC;AAAE,SAAO,MAAI;AAAC;AAAC,MAAM,KAAG,CAACX,IAAE,MAAI;AAAC,WAAS,EAAEW,OAAKkB,IAAE;AAAC,QAAG,GAAGlB,EAAC,GAAEX,GAAE,gBAAc,QAAO;AAAC,YAAMH,KAAEgC,GAAE,CAAC;AAAE,UAAG,CAAChC,GAAE,OAAM,IAAI,MAAM,qBAAqB;AAAE,MAAAG,GAAE,eAAa,GAAGH,EAAC,IAAE,GAAGA,IAAEG,GAAE,WAAW;AAAA,IAAC;AAAC,UAAMiE,KAAEjE,GAAE;AAAU,IAAAiE,MAAGpC,GAAE,CAAC,MAAI,UAAQ,GAAGA,GAAE,CAAC,CAAC;AAAE,UAAMhB,KAAE,EAAEF,IAAE,GAAGkB,EAAC,GAAEjC,KAAE,CAACC,IAAEqE,OAAI;AAAC,UAAGA,OAAI,QAAO;AAAC,YAAGrE,OAAI,EAAE,OAAM,IAAI,MAAM,6BAA6B;AAAE,WAAGqE,EAAC;AAAA,MAAC;AAAA,IAAC;AAAE,QAAIzE,KAAE;AAAG,WAAM,EAAC,QAAQI,IAAEqE,IAAE;AAAC,UAAGzE,GAAE,OAAM,IAAI,MAAM,8CAA8C;AAAE,aAAOA,KAAE,MAAG,GAAGI,EAAC,GAAED,GAAEiB,GAAE,QAAQ,QAAOqD,EAAC,GAAErD,GAAE,QAAQhB,IAAEqE,EAAC;AAAA,IAAC,GAAE,QAAQrE,IAAEqE,IAAE;AAAC,UAAG,GAAGrE,EAAC,GAAEoE,MAAGpE,GAAE,SAAOoE,GAAE,OAAM,IAAI,MAAM,uDAAqDA,EAAC;AAAE,aAAOrE,GAAEiB,GAAE,QAAQ,QAAOqD,EAAC,GAAErD,GAAE,QAAQhB,IAAEqE,EAAC;AAAA,IAAC,EAAC;AAAA,EAAC;AAAC,SAAO,OAAO,OAAO,GAAElE,EAAC,GAAE;AAAC;AAAE,SAAS2K,KAAG3K,IAAE,GAAE,IAAE,MAAG;AAAC,MAAG,MAAI,OAAO,QAAO,IAAI,WAAWA,EAAC;AAAE,MAAG,EAAE,WAASA,GAAE,OAAM,IAAI,MAAM,qCAAmCA,KAAE,YAAU,EAAE,MAAM;AAAE,MAAG,KAAG,CAAC4K,KAAG,CAAC,EAAE,OAAM,IAAI,MAAM,iCAAiC;AAAE,SAAO;AAAC;AAAC,SAASC,KAAG7K,IAAE,GAAE,GAAEW,IAAE;AAAC,MAAG,OAAOX,GAAE,gBAAc,WAAW,QAAOA,GAAE,aAAa,GAAE,GAAEW,EAAC;AAAE,QAAMkB,KAAE,OAAO,EAAE,GAAEoC,KAAE,OAAO,UAAU,GAAEpD,KAAE,OAAO,KAAGgB,KAAEoC,EAAC,GAAErE,KAAE,OAAO,IAAEqE,EAAC,GAAExE,KAAI,GAAImC,KAAI;AAAI,EAAA5B,GAAE,UAAU,IAAEP,IAAEoB,IAAEF,EAAC,GAAEX,GAAE,UAAU,IAAE4B,IAAEhC,IAAEe,EAAC;AAAC;AAAC,SAASiK,KAAG5K,IAAE;AAAC,SAAOA,GAAE,aAAW,MAAI;AAAC;AAAC,SAASyK,KAAGzK,IAAE;AAAC,SAAO,WAAW,KAAKA,EAAC;AAAC;AAAC,SAAS8K,QAAM9K,IAAE;AAAC,WAAQ,IAAE,GAAE,IAAEA,GAAE,QAAO,IAAI,CAAAA,GAAE,CAAC,EAAE,KAAK,CAAC;AAAC;AAAC,MAAM+K,OAAG,CAAA/K,OAAG,WAAW,KAAKA,GAAE,MAAM,EAAE,EAAE,IAAI,OAAG,EAAE,WAAW,CAAC,CAAC,CAAC,GAAEgL,OAAGD,KAAG,kBAAkB,GAAE,KAAGA,KAAG,kBAAkB,GAAEE,OAAGV,KAAGS,IAAE,GAAEE,OAAGX,KAAG,EAAE;AAAE,SAASY,IAAEnL,IAAE,GAAE;AAAC,SAAOA,MAAG,IAAEA,OAAI,KAAG;AAAC;AAAC,SAASoL,KAAGpL,IAAE;AAAC,SAAOA,GAAE,aAAW,MAAI;AAAC;AAAC,MAAMqL,OAAG,IAAG,KAAG,IAAGC,OAAG,KAAG,KAAG,GAAEC,OAAG,IAAI;AAAY,SAASC,KAAGxL,IAAE,GAAE,GAAEW,IAAEkB,IAAEoC,IAAEpD,IAAEjB,IAAE;AAAC,QAAMH,KAAEoC,GAAE,QAAOD,KAAE,IAAI,WAAWyJ,IAAE,GAAExL,KAAE0K,KAAG3I,EAAC,GAAEsC,KAAEkH,KAAGvJ,EAAC,KAAGuJ,KAAGnH,EAAC,GAAElE,KAAEmE,KAAEqG,KAAG1I,EAAC,IAAE0J,MAAGzL,KAAEoE,KAAEqG,KAAGtG,EAAC,IAAEsH;AAAG,WAAQ3C,KAAE,GAAEA,KAAEnJ,IAAEoB,MAAI;AAAC,QAAGb,GAAE,GAAE,GAAEW,IAAEd,IAAEgB,IAAEjB,EAAC,GAAEiB,MAAGyK,KAAG,OAAM,IAAI,MAAM,uBAAuB;AAAE,UAAMhL,KAAE,KAAK,IAAI+K,MAAG5L,KAAEmJ,EAAC;AAAE,QAAG1E,MAAG5D,OAAI+K,MAAG;AAAC,YAAMjK,KAAEwH,KAAE;AAAE,UAAGA,KAAE,MAAI,EAAE,OAAM,IAAI,MAAM,6BAA6B;AAAE,eAAQxI,KAAE,GAAEqL,IAAErL,KAAE,IAAGA,KAAI,CAAAqL,KAAErK,KAAEhB,IAAEN,GAAE2L,EAAC,IAAE1L,GAAE0L,EAAC,IAAE5L,GAAEO,EAAC;AAAE,MAAAwI,MAAGyC;AAAG;AAAA,IAAQ;AAAC,aAAQjK,KAAE,GAAEhB,IAAEgB,KAAEd,IAAEc,KAAI,CAAAhB,KAAEwI,KAAExH,IAAE6C,GAAE7D,EAAC,IAAEyB,GAAEzB,EAAC,IAAEwB,GAAER,EAAC;AAAE,IAAAwH,MAAGtI;AAAA,EAAC;AAAC;AAAC,SAASoL,KAAG1L,IAAE,GAAE;AAAC,QAAK,EAAC,gBAAe,GAAE,eAAcW,IAAE,eAAckB,IAAE,cAAaoC,IAAE,QAAOpD,GAAC,IAAE,GAAG,EAAC,gBAAe,OAAG,eAAc,GAAE,cAAa,OAAG,QAAO,GAAE,GAAE,CAAC;AAAE,MAAG,OAAOb,MAAG,WAAW,OAAM,IAAI,MAAM,yBAAyB;AAAE,SAAOmK,KAAGtI,EAAC,GAAEsI,KAAGtJ,EAAC,GAAEyJ,KAAGrG,EAAC,GAAEqG,KAAG,CAAC,GAAE,CAAC1K,IAAEH,IAAEmC,IAAE/B,IAAEqE,KAAE,MAAI;AAAC,OAAGtE,EAAC,GAAE,GAAGH,EAAC,GAAE,GAAGmC,EAAC;AAAE,UAAM7B,KAAE6B,GAAE;AAAO,QAAG/B,OAAI,WAASA,KAAE,IAAI,WAAWE,EAAC,IAAG,GAAGF,EAAC,GAAEsK,KAAGjG,EAAC,GAAEA,KAAE,KAAGA,MAAGoH,KAAG,OAAM,IAAI,MAAM,uBAAuB;AAAE,QAAGzL,GAAE,SAAOE,GAAE,OAAM,IAAI,MAAM,gBAAgBF,GAAE,MAAM,2BAA2BE,EAAC,GAAG;AAAE,UAAMD,KAAE,CAAA;AAAG,QAAI8I,KAAEhJ,GAAE,QAAOU,IAAEc;AAAE,QAAGwH,OAAI,GAAG,CAAA9I,GAAE,KAAKQ,KAAEmK,KAAG7K,EAAC,CAAC,GAAEwB,KAAE8J;AAAAA,aAAWtC,OAAI,MAAI,EAAE,CAAAtI,KAAE,IAAI,WAAW,EAAE,GAAEA,GAAE,IAAIV,EAAC,GAAEU,GAAE,IAAIV,IAAE,EAAE,GAAEwB,KAAE6J,MAAGnL,GAAE,KAAKQ,EAAC;AAAA,QAAO,OAAM,IAAI,MAAM,wCAAwCsI,EAAC,EAAE;AAAEwC,SAAG3L,EAAC,KAAGK,GAAE,KAAKL,KAAEgL,KAAGhL,EAAC,CAAC;AAAE,UAAMW,KAAEmK,KAAGjK,EAAC;AAAE,QAAGK,IAAE;AAAC,UAAGlB,GAAE,WAAS,GAAG,OAAM,IAAI,MAAM,sCAAsC;AAAE,MAAAkB,GAAES,IAAEhB,IAAEmK,KAAG9K,GAAE,SAAS,GAAE,EAAE,CAAC,GAAEW,EAAC,GAAEX,KAAEA,GAAE,SAAS,EAAE;AAAA,IAAC;AAAC,UAAMgM,KAAE,KAAG5J;AAAE,QAAG4J,OAAIhM,GAAE,OAAO,OAAM,IAAI,MAAM,sBAAsBgM,EAAC,cAAc;AAAE,QAAGA,OAAI,IAAG;AAAC,YAAME,KAAE,IAAI,WAAW,EAAE;AAAE,MAAAA,GAAE,IAAIlM,IAAEwE,KAAE,IAAE,KAAGxE,GAAE,MAAM,GAAEA,KAAEkM,IAAE7L,GAAE,KAAKL,EAAC;AAAA,IAAC;AAAC,UAAMmM,KAAErB,KAAG9K,EAAC;AAAE,WAAO+L,KAAGxL,IAAEoB,IAAEhB,IAAEwL,IAAEhK,IAAE/B,IAAEqE,IAAErD,EAAC,GAAEiK,KAAG,GAAGhL,EAAC,GAAED;AAAA,EAAC;AAAC;AAAC,MAAMgM,MAAE,CAAC7L,IAAE,MAAIA,GAAE,GAAG,IAAE,OAAKA,GAAE,GAAG,IAAE,QAAM;AAAE,MAAM,GAAE;AAAA,EAAC,YAAY,GAAE;AAAC,SAAK,WAAS,IAAG,KAAK,YAAU,IAAG,KAAK,SAAO,IAAI,WAAW,EAAE,GAAE,KAAK,IAAE,IAAI,YAAY,EAAE,GAAE,KAAK,IAAE,IAAI,YAAY,EAAE,GAAE,KAAK,MAAI,IAAI,YAAY,CAAC,GAAE,KAAK,MAAI,GAAE,KAAK,WAAS,OAAG,IAAEwK,KAAG,CAAC,GAAE,GAAG,GAAE,EAAE;AAAE,UAAM,IAAEqB,IAAE,GAAE,CAAC,GAAElL,KAAEkL,IAAE,GAAE,CAAC,GAAEhK,KAAEgK,IAAE,GAAE,CAAC,GAAE5H,KAAE4H,IAAE,GAAE,CAAC,GAAEhL,KAAEgL,IAAE,GAAE,CAAC,GAAEjM,KAAEiM,IAAE,GAAE,EAAE,GAAEpM,KAAEoM,IAAE,GAAE,EAAE,GAAEjK,KAAEiK,IAAE,GAAE,EAAE;AAAE,SAAK,EAAE,CAAC,IAAE,IAAE,MAAK,KAAK,EAAE,CAAC,KAAG,MAAI,KAAGlL,MAAG,KAAG,MAAK,KAAK,EAAE,CAAC,KAAGA,OAAI,KAAGkB,MAAG,KAAG,MAAK,KAAK,EAAE,CAAC,KAAGA,OAAI,IAAEoC,MAAG,KAAG,MAAK,KAAK,EAAE,CAAC,KAAGA,OAAI,IAAEpD,MAAG,MAAI,KAAI,KAAK,EAAE,CAAC,IAAEA,OAAI,IAAE,MAAK,KAAK,EAAE,CAAC,KAAGA,OAAI,KAAGjB,MAAG,KAAG,MAAK,KAAK,EAAE,CAAC,KAAGA,OAAI,KAAGH,MAAG,KAAG,MAAK,KAAK,EAAE,CAAC,KAAGA,OAAI,IAAEmC,MAAG,KAAG,MAAK,KAAK,EAAE,CAAC,IAAEA,OAAI,IAAE;AAAI,aAAQ/B,KAAE,GAAEA,KAAE,GAAEA,KAAI,MAAK,IAAIA,EAAC,IAAEgM,IAAE,GAAE,KAAG,IAAEhM,EAAC;AAAA,EAAC;AAAA,EAAC,QAAQ,GAAE,GAAEc,KAAE,OAAG;AAAC,UAAMkB,KAAElB,KAAE,IAAE,MAAK,EAAC,GAAEsD,IAAE,GAAEpD,GAAC,IAAE,MAAKjB,KAAEiB,GAAE,CAAC,GAAEpB,KAAEoB,GAAE,CAAC,GAAEe,KAAEf,GAAE,CAAC,GAAEhB,KAAEgB,GAAE,CAAC,GAAEqD,KAAErD,GAAE,CAAC,GAAEd,KAAEc,GAAE,CAAC,GAAEf,KAAEe,GAAE,CAAC,GAAE+H,KAAE/H,GAAE,CAAC,GAAEP,KAAEO,GAAE,CAAC,GAAEO,KAAEP,GAAE,CAAC,GAAET,KAAEyL,IAAE,GAAE,IAAE,CAAC,GAAEJ,KAAEI,IAAE,GAAE,IAAE,CAAC,GAAED,KAAEC,IAAE,GAAE,IAAE,CAAC,GAAEF,KAAEE,IAAE,GAAE,IAAE,CAAC,GAAEC,KAAED,IAAE,GAAE,IAAE,CAAC,GAAEE,KAAEF,IAAE,GAAE,IAAE,EAAE,GAAEG,KAAEH,IAAE,GAAE,IAAE,EAAE,GAAEI,KAAEJ,IAAE,GAAE,IAAE,EAAE;AAAE,QAAIK,KAAEjI,GAAE,CAAC,KAAG7D,KAAE,OAAM+L,KAAElI,GAAE,CAAC,MAAI7D,OAAI,KAAGqL,MAAG,KAAG,OAAMW,KAAEnI,GAAE,CAAC,MAAIwH,OAAI,KAAGG,MAAG,KAAG,OAAM,IAAE3H,GAAE,CAAC,MAAI2H,OAAI,IAAED,MAAG,KAAG,OAAMU,KAAEpI,GAAE,CAAC,MAAI0H,OAAI,IAAEG,MAAG,MAAI,OAAM,IAAE7H,GAAE,CAAC,KAAG6H,OAAI,IAAE,OAAMvL,KAAE0D,GAAE,CAAC,MAAI6H,OAAI,KAAGC,MAAG,KAAG,OAAMrM,KAAEuE,GAAE,CAAC,MAAI8H,OAAI,KAAGC,MAAG,KAAG,OAAMM,KAAErI,GAAE,CAAC,MAAI+H,OAAI,IAAEC,MAAG,KAAG,OAAMM,KAAEtI,GAAE,CAAC,KAAGgI,OAAI,IAAEpK,KAAG5B,KAAE,GAAEuM,KAAEvM,KAAEiM,KAAEtM,KAAEuM,MAAG,IAAE/K,MAAGgL,MAAG,IAAE9L,MAAG,KAAG,IAAEsI,MAAGyD,MAAG,IAAEvM;AAAG,IAAAG,KAAEuM,OAAI,IAAGA,MAAG,MAAKA,MAAG,KAAG,IAAEzM,MAAGQ,MAAG,IAAE2D,MAAGxE,MAAG,IAAEG,MAAGyM,MAAG,IAAE1K,MAAG2K,MAAG,IAAE9M,KAAGQ,MAAGuM,OAAI,IAAGA,MAAG;AAAK,QAAIC,KAAExM,KAAEiM,KAAEzM,KAAE0M,KAAEvM,KAAEwM,MAAG,IAAEhL,MAAG,KAAG,IAAEd,MAAG+L,MAAG,IAAEzD;AAAG,IAAA3I,KAAEwM,OAAI,IAAGA,MAAG,MAAKA,MAAG,KAAG,IAAE3M,MAAGS,MAAG,IAAER,MAAGL,MAAG,IAAEwE,MAAGoI,MAAG,IAAEzM,MAAG0M,MAAG,IAAE3K,KAAG3B,MAAGwM,OAAI,IAAGA,MAAG;AAAK,QAAI1K,KAAE9B,KAAEiM,KAAEtK,KAAEuK,KAAE1M,KAAE2M,KAAExM,KAAE,KAAG,IAAEwB,MAAGiL,MAAG,IAAE/L;AAAG,IAAAL,KAAE8B,OAAI,IAAGA,MAAG,MAAKA,MAAG,KAAG,IAAE6G,MAAGrI,MAAG,IAAET,MAAGJ,MAAG,IAAEK,MAAGuM,MAAG,IAAEpI,MAAGqI,MAAG,IAAE1M,KAAGI,MAAG8B,OAAI,IAAGA,MAAG;AAAK,QAAI2K,KAAEzM,KAAEiM,KAAErM,KAAEsM,KAAEvK,KAAEwK,KAAE3M,KAAE,IAAEG,KAAEyM,MAAG,IAAEjL;AAAG,IAAAnB,KAAEyM,OAAI,IAAGA,MAAG,MAAKA,MAAG,KAAG,IAAEpM,MAAGC,MAAG,IAAEqI,MAAGlJ,MAAG,IAAEI,MAAGwM,MAAG,IAAEvM,MAAGwM,MAAG,IAAErI,KAAGjE,MAAGyM,OAAI,IAAGA,MAAG;AAAK,QAAIC,KAAE1M,KAAEiM,KAAEhI,KAAEiI,KAAEtM,KAAEuM,KAAExK,KAAE,IAAEnC,KAAE4M,KAAEzM;AAAE,IAAAK,KAAE0M,OAAI,IAAGA,MAAG,MAAKA,MAAG,KAAG,IAAEvL,MAAGb,MAAG,IAAED,MAAGZ,MAAG,IAAEkJ,MAAG0D,MAAG,IAAExM,MAAGyM,MAAG,IAAExM,KAAGE,MAAG0M,OAAI,IAAGA,MAAG;AAAK,QAAIC,KAAE3M,KAAEiM,KAAEnM,KAAEoM,KAAEjI,KAAEkI,KAAEvM,KAAE,IAAE+B,KAAEyK,KAAE5M;AAAE,IAAAQ,KAAE2M,OAAI,IAAGA,MAAG,MAAKA,MAAG,IAAEhN,KAAEW,MAAG,IAAEa,MAAG1B,MAAG,IAAEY,MAAGgM,MAAG,IAAE1D,MAAG2D,MAAG,IAAEzM,KAAGG,MAAG2M,OAAI,IAAGA,MAAG;AAAK,QAAI,IAAE3M,KAAEiM,KAAEpM,KAAEqM,KAAEpM,KAAEqM,KAAElI,KAAE,IAAErE,KAAEwM,KAAEzK;AAAE,IAAA3B,KAAE,MAAI,IAAG,KAAG,MAAK,KAAG,IAAER,KAAEc,KAAEX,KAAEF,MAAG,IAAE0B,MAAGkL,MAAG,IAAEhM,MAAGiM,MAAG,IAAE3D,KAAG3I,MAAG,MAAI,IAAG,KAAG;AAAK,QAAIyB,MAAGzB,KAAEiM,KAAEtD,KAAEuD,KAAErM,KAAEsM,KAAErM,KAAE,IAAEmE,KAAEmI,KAAExM;AAAE,IAAAI,KAAEyB,QAAK,IAAGA,OAAI,MAAKA,OAAI,IAAEE,KAAErB,KAAEd,KAAEC,KAAEE,KAAE0M,MAAG,IAAElL,MAAGmL,MAAG,IAAEjM,KAAGL,MAAGyB,QAAK,IAAGA,OAAI;AAAK,QAAImL,KAAE5M,KAAEiM,KAAE5L,KAAE6L,KAAEvD,KAAEwD,KAAEtM,KAAE,IAAEC,KAAEsM,KAAEnI;AAAE,IAAAjE,KAAE4M,OAAI,IAAGA,MAAG,MAAKA,MAAG,IAAEhN,KAAEU,KAAEqB,KAAElC,KAAED,KAAE6M,KAAE1M,KAAE2M,MAAG,IAAEnL,KAAGnB,MAAG4M,OAAI,IAAGA,MAAG;AAAK,QAAIC,KAAE7M,KAAEiM,KAAE9K,KAAE+K,KAAE7L,KAAE8L,KAAExD,KAAE,IAAE9I,KAAEuM,KAAEtM;AAAE,IAAAE,KAAE6M,OAAI,IAAGA,MAAG,MAAKA,MAAG,IAAE5I,KAAE3D,KAAEV,KAAEH,KAAEkC,KAAE0K,KAAE7M,KAAE8M,KAAE3M,IAAEK,MAAG6M,OAAI,IAAGA,MAAG,MAAK7M,MAAGA,MAAG,KAAGA,KAAE,GAAEA,KAAEA,KAAEuM,KAAE,GAAEA,KAAEvM,KAAE,MAAKA,KAAEA,OAAI,IAAGwM,MAAGxM,IAAEgE,GAAE,CAAC,IAAEuI,IAAEvI,GAAE,CAAC,IAAEwI,IAAExI,GAAE,CAAC,IAAElC,IAAEkC,GAAE,CAAC,IAAEyI,IAAEzI,GAAE,CAAC,IAAE0I,IAAE1I,GAAE,CAAC,IAAE2I,IAAE3I,GAAE,CAAC,IAAE,GAAEA,GAAE,CAAC,IAAEvC,KAAGuC,GAAE,CAAC,IAAE4I,IAAE5I,GAAE,CAAC,IAAE6I;AAAA,EAAC;AAAA,EAAC,WAAU;AAAC,UAAK,EAAC,GAAE,GAAE,KAAI,EAAC,IAAE,MAAKnM,KAAE,IAAI,YAAY,EAAE;AAAE,QAAIkB,KAAE,EAAE,CAAC,MAAI;AAAG,MAAE,CAAC,KAAG;AAAK,aAAQjC,KAAE,GAAEA,KAAE,IAAGA,KAAI,GAAEA,EAAC,KAAGiC,IAAEA,KAAE,EAAEjC,EAAC,MAAI,IAAG,EAAEA,EAAC,KAAG;AAAK,MAAE,CAAC,KAAGiC,KAAE,GAAEA,KAAE,EAAE,CAAC,MAAI,IAAG,EAAE,CAAC,KAAG,MAAK,EAAE,CAAC,KAAGA,IAAEA,KAAE,EAAE,CAAC,MAAI,IAAG,EAAE,CAAC,KAAG,MAAK,EAAE,CAAC,KAAGA,IAAElB,GAAE,CAAC,IAAE,EAAE,CAAC,IAAE,GAAEkB,KAAElB,GAAE,CAAC,MAAI,IAAGA,GAAE,CAAC,KAAG;AAAK,aAAQf,KAAE,GAAEA,KAAE,IAAGA,KAAI,CAAAe,GAAEf,EAAC,IAAE,EAAEA,EAAC,IAAEiC,IAAEA,KAAElB,GAAEf,EAAC,MAAI,IAAGe,GAAEf,EAAC,KAAG;AAAK,IAAAe,GAAE,CAAC,KAAG;AAAK,QAAIsD,MAAGpC,KAAE,KAAG;AAAE,aAAQjC,KAAE,GAAEA,KAAE,IAAGA,KAAI,CAAAe,GAAEf,EAAC,KAAGqE;AAAE,IAAAA,KAAE,CAACA;AAAE,aAAQrE,KAAE,GAAEA,KAAE,IAAGA,KAAI,GAAEA,EAAC,IAAE,EAAEA,EAAC,IAAEqE,KAAEtD,GAAEf,EAAC;AAAE,MAAE,CAAC,KAAG,EAAE,CAAC,IAAE,EAAE,CAAC,KAAG,MAAI,OAAM,EAAE,CAAC,KAAG,EAAE,CAAC,MAAI,IAAE,EAAE,CAAC,KAAG,MAAI,OAAM,EAAE,CAAC,KAAG,EAAE,CAAC,MAAI,IAAE,EAAE,CAAC,KAAG,KAAG,OAAM,EAAE,CAAC,KAAG,EAAE,CAAC,MAAI,IAAE,EAAE,CAAC,KAAG,KAAG,OAAM,EAAE,CAAC,KAAG,EAAE,CAAC,MAAI,KAAG,EAAE,CAAC,KAAG,IAAE,EAAE,CAAC,KAAG,MAAI,OAAM,EAAE,CAAC,KAAG,EAAE,CAAC,MAAI,IAAE,EAAE,CAAC,KAAG,MAAI,OAAM,EAAE,CAAC,KAAG,EAAE,CAAC,MAAI,IAAE,EAAE,CAAC,KAAG,KAAG,OAAM,EAAE,CAAC,KAAG,EAAE,CAAC,MAAI,IAAE,EAAE,CAAC,KAAG,KAAG;AAAM,QAAIiB,KAAE,EAAE,CAAC,IAAE,EAAE,CAAC;AAAE,MAAE,CAAC,IAAEA,KAAE;AAAM,aAAQjB,KAAE,GAAEA,KAAE,GAAEA,KAAI,CAAAiB,MAAG,EAAEjB,EAAC,IAAE,EAAEA,EAAC,IAAE,MAAIiB,OAAI,MAAI,GAAE,EAAEjB,EAAC,IAAEiB,KAAE;AAAMiK,SAAGnK,EAAC;AAAA,EAAC;AAAA,EAAC,OAAO,GAAE;AAAC0J,SAAG,IAAI;AAAE,UAAK,EAAC,QAAO,GAAE,UAAS1J,GAAC,IAAE;AAAK,QAAE6J,KAAG,CAAC;AAAE,UAAM3I,KAAE,EAAE;AAAO,aAAQoC,KAAE,GAAEA,KAAEpC,MAAG;AAAC,YAAMhB,KAAE,KAAK,IAAIF,KAAE,KAAK,KAAIkB,KAAEoC,EAAC;AAAE,UAAGpD,OAAIF,IAAE;AAAC,eAAKA,MAAGkB,KAAEoC,IAAEA,MAAGtD,GAAE,MAAK,QAAQ,GAAEsD,EAAC;AAAE;AAAA,MAAQ;AAAC,QAAE,IAAI,EAAE,SAASA,IAAEA,KAAEpD,EAAC,GAAE,KAAK,GAAG,GAAE,KAAK,OAAKA,IAAEoD,MAAGpD,IAAE,KAAK,QAAMF,OAAI,KAAK,QAAQ,GAAE,GAAE,KAAE,GAAE,KAAK,MAAI;AAAA,IAAE;AAAC,WAAO;AAAA,EAAI;AAAA,EAAC,UAAS;AAACmK,SAAG,KAAK,GAAE,KAAK,GAAE,KAAK,QAAO,KAAK,GAAG;AAAA,EAAC;AAAA,EAAC,WAAW,GAAE;AAACT,SAAG,IAAI,GAAE,GAAG,GAAE,IAAI,GAAE,KAAK,WAAS;AAAG,UAAK,EAAC,QAAO,GAAE,GAAE1J,GAAC,IAAE;AAAK,QAAG,EAAC,KAAIkB,GAAC,IAAE;AAAK,QAAGA,IAAE;AAAC,WAAI,EAAEA,IAAG,IAAE,GAAEA,KAAE,IAAGA,KAAI,GAAEA,EAAC,IAAE;AAAE,WAAK,QAAQ,GAAE,GAAE,IAAE;AAAA,IAAC;AAAC,SAAK,SAAQ;AAAG,QAAIoC,KAAE;AAAE,aAAQpD,KAAE,GAAEA,KAAE,GAAEA,KAAI,GAAEoD,IAAG,IAAEtD,GAAEE,EAAC,MAAI,GAAE,EAAEoD,IAAG,IAAEtD,GAAEE,EAAC,MAAI;AAAE,WAAO;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,UAAK,EAAC,QAAO,GAAE,WAAU,EAAC,IAAE;AAAK,SAAK,WAAW,CAAC;AAAE,UAAMF,KAAE,EAAE,MAAM,GAAE,CAAC;AAAE,WAAO,KAAK,WAAUA;AAAA,EAAC;AAAC;AAAC,SAASoM,KAAG/M,IAAE;AAAC,QAAM,IAAE,CAACW,IAAEkB,OAAI7B,GAAE6B,EAAC,EAAE,OAAO2I,KAAG7J,EAAC,CAAC,EAAE,OAAM,GAAG,IAAEX,GAAE,IAAI,WAAW,EAAE,CAAC;AAAE,SAAO,EAAE,YAAU,EAAE,WAAU,EAAE,WAAS,EAAE,UAAS,EAAE,SAAO,CAAAW,OAAGX,GAAEW,EAAC,GAAE;AAAC;AAAC,MAAM,KAAGoM,KAAG,CAAA/M,OAAG,IAAI,GAAGA,EAAC,CAAC;AAAE,SAAS,GAAGA,IAAE,GAAE,GAAEW,IAAEkB,IAAEoC,KAAE,IAAG;AAAC,MAAIpD,KAAEb,GAAE,CAAC,GAAEJ,KAAEI,GAAE,CAAC,GAAEP,KAAEO,GAAE,CAAC,GAAE4B,KAAE5B,GAAE,CAAC,GAAEH,KAAE,EAAE,CAAC,GAAEqE,KAAE,EAAE,CAAC,GAAEnE,KAAE,EAAE,CAAC,GAAED,KAAE,EAAE,CAAC,GAAE8I,KAAE,EAAE,CAAC,GAAEtI,KAAE,EAAE,CAAC,GAAEc,KAAE,EAAE,CAAC,GAAEhB,KAAE,EAAE,CAAC,GAAEqL,KAAE5J,IAAE+J,KAAE,EAAE,CAAC,GAAED,KAAE,EAAE,CAAC,GAAEG,KAAE,EAAE,CAAC,GAAEC,KAAElL,IAAEmL,KAAEpM,IAAEqM,KAAExM,IAAEyM,KAAEtK,IAAEuK,KAAEtM,IAAEuM,KAAElI,IAAE,IAAEnE,IAAEsM,KAAEvM,IAAE,IAAE8I,IAAErI,KAAED,IAAEZ,KAAE0B,IAAEkL,KAAElM,IAAEmM,KAAEd,IAAExL,KAAE2L,IAAEY,KAAEb,IAAEc,KAAEX;AAAE,WAAQY,KAAE,GAAEA,KAAEzI,IAAEyI,MAAG,EAAE,CAAAX,KAAEA,KAAEI,KAAE,GAAEI,KAAEpB,IAAEoB,KAAER,IAAE,EAAE,GAAE,IAAE,IAAEQ,KAAE,GAAEJ,KAAEhB,IAAEgB,KAAE,GAAE,EAAE,GAAEJ,KAAEA,KAAEI,KAAE,GAAEI,KAAEpB,IAAEoB,KAAER,IAAE,CAAC,GAAE,IAAE,IAAEQ,KAAE,GAAEJ,KAAEhB,IAAEgB,KAAE,GAAE,CAAC,GAAEH,KAAEA,KAAEI,KAAE,GAAEnM,KAAEkL,IAAElL,KAAE+L,IAAE,EAAE,GAAEzL,KAAEA,KAAEN,KAAE,GAAEmM,KAAEjB,IAAEiB,KAAE7L,IAAE,EAAE,GAAEyL,KAAEA,KAAEI,KAAE,GAAEnM,KAAEkL,IAAElL,KAAE+L,IAAE,CAAC,GAAEzL,KAAEA,KAAEN,KAAE,GAAEmM,KAAEjB,IAAEiB,KAAE7L,IAAE,CAAC,GAAE0L,KAAEA,KAAE,IAAE,GAAEO,KAAErB,IAAEqB,KAAEP,IAAE,EAAE,GAAEvM,KAAEA,KAAE8M,KAAE,GAAE,IAAErB,IAAE,IAAEzL,IAAE,EAAE,GAAEuM,KAAEA,KAAE,IAAE,GAAEO,KAAErB,IAAEqB,KAAEP,IAAE,CAAC,GAAEvM,KAAEA,KAAE8M,KAAE,GAAE,IAAErB,IAAE,IAAEzL,IAAE,CAAC,GAAEwM,KAAEA,KAAEG,KAAE,GAAEI,KAAEtB,IAAEsB,KAAEP,IAAE,EAAE,GAAEI,KAAEA,KAAEG,KAAE,GAAEJ,KAAElB,IAAEkB,KAAEC,IAAE,EAAE,GAAEJ,KAAEA,KAAEG,KAAE,GAAEI,KAAEtB,IAAEsB,KAAEP,IAAE,CAAC,GAAEI,KAAEA,KAAEG,KAAE,GAAEJ,KAAElB,IAAEkB,KAAEC,IAAE,CAAC,GAAEP,KAAEA,KAAEK,KAAE,GAAEK,KAAEtB,IAAEsB,KAAEV,IAAE,EAAE,GAAErM,KAAEA,KAAE+M,KAAE,GAAEL,KAAEjB,IAAEiB,KAAE1M,IAAE,EAAE,GAAEqM,KAAEA,KAAEK,KAAE,GAAEK,KAAEtB,IAAEsB,KAAEV,IAAE,CAAC,GAAErM,KAAEA,KAAE+M,KAAE,GAAEL,KAAEjB,IAAEiB,KAAE1M,IAAE,CAAC,GAAEsM,KAAEA,KAAE,IAAE,GAAEO,KAAEpB,IAAEoB,KAAEP,IAAE,EAAE,GAAEM,KAAEA,KAAEC,KAAE,GAAE,IAAEpB,IAAE,IAAEmB,IAAE,EAAE,GAAEN,KAAEA,KAAE,IAAE,GAAEO,KAAEpB,IAAEoB,KAAEP,IAAE,CAAC,GAAEM,KAAEA,KAAEC,KAAE,GAAE,IAAEpB,IAAE,IAAEmB,IAAE,CAAC,GAAEL,KAAEA,KAAEI,KAAE,GAAEpM,KAAEkL,IAAElL,KAAEgM,IAAE,EAAE,GAAE,IAAE,IAAEhM,KAAE,GAAEoM,KAAElB,IAAEkB,KAAE,GAAE,EAAE,GAAEJ,KAAEA,KAAEI,KAAE,GAAEpM,KAAEkL,IAAElL,KAAEgM,IAAE,CAAC,GAAE,IAAE,IAAEhM,KAAE,GAAEoM,KAAElB,IAAEkB,KAAE,GAAE,CAAC,GAAEH,KAAEA,KAAEC,KAAE,GAAEK,KAAErB,IAAEqB,KAAEN,IAAE,EAAE,GAAE3L,KAAEA,KAAEiM,KAAE,GAAEL,KAAEhB,IAAEgB,KAAE5L,IAAE,EAAE,GAAE2L,KAAEA,KAAEC,KAAE,GAAEK,KAAErB,IAAEqB,KAAEN,IAAE,CAAC,GAAE3L,KAAEA,KAAEiM,KAAE,GAAEL,KAAEhB,IAAEgB,KAAE5L,IAAE,CAAC;AAAE,MAAIwB,KAAE;AAAE,EAAApB,GAAEoB,IAAG,IAAElB,KAAEkL,KAAE,GAAEpL,GAAEoB,IAAG,IAAEnC,KAAEoM,KAAE,GAAErL,GAAEoB,IAAG,IAAEtC,KAAEwM,KAAE,GAAEtL,GAAEoB,IAAG,IAAEH,KAAEsK,KAAE,GAAEvL,GAAEoB,IAAG,IAAElC,KAAEsM,KAAE,GAAExL,GAAEoB,IAAG,IAAEmC,KAAEkI,KAAE,GAAEzL,GAAEoB,IAAG,IAAEhC,KAAE,IAAE,GAAEY,GAAEoB,IAAG,IAAEjC,KAAEuM,KAAE,GAAE1L,GAAEoB,IAAG,IAAE6G,KAAE,IAAE,GAAEjI,GAAEoB,IAAG,IAAEzB,KAAEC,KAAE,GAAEI,GAAEoB,IAAG,IAAEX,KAAE1B,KAAE,GAAEiB,GAAEoB,IAAG,IAAE3B,KAAEkM,KAAE,GAAE3L,GAAEoB,IAAG,IAAE0J,KAAEc,KAAE,GAAE5L,GAAEoB,IAAG,IAAE6J,KAAE3L,KAAE,GAAEU,GAAEoB,IAAG,IAAE4J,KAAEa,KAAE,GAAE7L,GAAEoB,IAAG,IAAE+J,KAAEW,KAAE;AAAC;AAAC,MAAM,KAAGf,KAAG,IAAG,EAAC,cAAa,OAAG,eAAc,GAAE,gBAAe,MAAE,CAAC,GAAEsB,OAAG,IAAI,WAAW,EAAE,GAAEC,OAAG,CAACjN,IAAE,MAAI;AAAC,EAAAA,GAAE,OAAO,CAAC;AAAE,QAAM,IAAE,EAAE,SAAO;AAAG,OAAGA,GAAE,OAAOgN,KAAG,SAAS,CAAC,CAAC;AAAC,GAAE,KAAG,IAAI,WAAW,EAAE;AAAE,SAASE,KAAGlN,IAAE,GAAE,GAAEW,IAAEkB,IAAE;AAAC,QAAMoC,KAAEjE,GAAE,GAAE,GAAE,EAAE,GAAEa,KAAE,GAAG,OAAOoD,EAAC;AAAE,EAAApC,MAAGoL,KAAGpM,IAAEgB,EAAC,GAAEoL,KAAGpM,IAAEF,EAAC;AAAE,QAAMf,KAAE,IAAI,WAAW,EAAE,GAAEH,KAAE,GAAGG,EAAC;AAAEiL,OAAGpL,IAAE,GAAE,OAAOoC,KAAEA,GAAE,SAAO,CAAC,GAAE,IAAE,GAAEgJ,KAAGpL,IAAE,GAAE,OAAOkB,GAAE,MAAM,GAAE,IAAE,GAAEE,GAAE,OAAOjB,EAAC;AAAE,QAAMgC,KAAEf,GAAE,OAAM;AAAG,SAAOiK,KAAG7G,IAAErE,EAAC,GAAEgC;AAAC;AAAC,MAAMuL,OAAG,CAAAnN,OAAG,CAAC,GAAE,GAAEW,QAAK,EAAC,QAAQsD,IAAEpD,IAAE;AAAC,QAAMjB,KAAEqE,GAAE;AAAO,EAAApD,KAAE8J,KAAG/K,KAAE,IAAGiB,IAAE,KAAE,GAAEA,GAAE,IAAIoD,EAAC;AAAE,QAAMxE,KAAEoB,GAAE,SAAS,GAAE,GAAG;AAAE,EAAAb,GAAE,GAAE,GAAEP,IAAEA,IAAE,CAAC;AAAE,QAAMmC,KAAEsL,KAAGlN,IAAE,GAAE,GAAEP,IAAEkB,EAAC;AAAE,SAAOE,GAAE,IAAIe,IAAEhC,EAAC,GAAEkL,KAAGlJ,EAAC,GAAEf;AAAC,GAAE,QAAQoD,IAAEpD,IAAE;AAAC,EAAAA,KAAE8J,KAAG1G,GAAE,SAAO,IAAGpD,IAAE,KAAE;AAAE,QAAMjB,KAAEqE,GAAE,SAAS,GAAE,GAAG,GAAExE,KAAEwE,GAAE,SAAS,GAAG,GAAErC,KAAEsL,KAAGlN,IAAE,GAAE,GAAEJ,IAAEe,EAAC;AAAE,MAAG,CAAC+J,KAAGjL,IAAEmC,EAAC,EAAE,OAAM,IAAI,MAAM,aAAa;AAAE,SAAOf,GAAE,IAAIoD,GAAE,SAAS,GAAE,GAAG,CAAC,GAAEjE,GAAE,GAAE,GAAEa,IAAEA,IAAE,CAAC,GAAEiK,KAAGlJ,EAAC,GAAEf;AAAC,EAAC,IAAGuM,OAAG,GAAG,EAAC,WAAU,IAAG,aAAY,IAAG,WAAU,GAAE,GAAED,KAAG,EAAE,CAAC;AAAC,IAAA,OAAC,MAAM,WAAW9E,KAAE;AAAA,EAAC,YAAY,GAAE,GAAE;AAAC,UAAK,GAAG,KAAK,WAAS,OAAG,KAAK,YAAU,OAAGnC,KAAG,CAAC;AAAE,UAAMvF,KAAE0G,KAAG,CAAC;AAAE,QAAG,KAAK,QAAM,EAAE,OAAM,GAAG,OAAO,KAAK,MAAM,UAAQ,WAAW,OAAM,IAAI,MAAM,qDAAqD;AAAE,SAAK,WAAS,KAAK,MAAM,UAAS,KAAK,YAAU,KAAK,MAAM;AAAU,UAAMxF,KAAE,KAAK,UAASoC,KAAE,IAAI,WAAWpC,EAAC;AAAE,IAAAoC,GAAE,IAAItD,GAAE,SAAOkB,KAAE,EAAE,OAAM,EAAG,OAAOlB,EAAC,EAAE,OAAM,IAAGA,EAAC;AAAE,aAAQE,KAAE,GAAEA,KAAEoD,GAAE,QAAOpD,KAAI,CAAAoD,GAAEpD,EAAC,KAAG;AAAG,SAAK,MAAM,OAAOoD,EAAC,GAAE,KAAK,QAAM,EAAE,OAAM;AAAG,aAAQpD,KAAE,GAAEA,KAAEoD,GAAE,QAAOpD,KAAI,CAAAoD,GAAEpD,EAAC,KAAG;AAAI,SAAK,MAAM,OAAOoD,EAAC,GAAEA,GAAE,KAAK,CAAC;AAAA,EAAC;AAAA,EAAC,OAAO,GAAE;AAAC,WAAOkC,KAAG,IAAI,GAAE,KAAK,MAAM,OAAO,CAAC,GAAE;AAAA,EAAI;AAAA,EAAC,WAAW,GAAE;AAACA,SAAG,IAAI,GAAEF,KAAG,GAAE,KAAK,SAAS,GAAE,KAAK,WAAS,MAAG,KAAK,MAAM,WAAW,CAAC,GAAE,KAAK,MAAM,OAAO,CAAC,GAAE,KAAK,MAAM,WAAW,CAAC,GAAE,KAAK,QAAO;AAAA,EAAE;AAAA,EAAC,SAAQ;AAAC,UAAM,IAAE,IAAI,WAAW,KAAK,MAAM,SAAS;AAAE,WAAO,KAAK,WAAW,CAAC,GAAE;AAAA,EAAC;AAAA,EAAC,WAAW,GAAE;AAAC,UAAI,IAAE,OAAO,OAAO,OAAO,eAAe,IAAI,GAAE,EAAE;AAAG,UAAK,EAAC,OAAM,GAAE,OAAMtF,IAAE,UAASkB,IAAE,WAAUoC,IAAE,UAASpD,IAAE,WAAUjB,GAAC,IAAE;AAAK,WAAO,IAAE,GAAE,EAAE,WAASiC,IAAE,EAAE,YAAUoC,IAAE,EAAE,WAASpD,IAAE,EAAE,YAAUjB,IAAE,EAAE,QAAM,EAAE,WAAW,EAAE,KAAK,GAAE,EAAE,QAAMe,GAAE,WAAW,EAAE,KAAK,GAAE;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,SAAK,YAAU,MAAG,KAAK,MAAM,QAAO,GAAG,KAAK,MAAM,QAAO;AAAA,EAAE;AAAC;AAAC,MAAM0M,OAAG,CAACrN,IAAE,GAAE,MAAI,IAAIsN,KAAGtN,IAAE,CAAC,EAAE,OAAO,CAAC,EAAE;AAASqN,KAAG,SAAO,CAACrN,IAAE,MAAI,IAAIsN,KAAGtN,IAAE,CAAC;AAAE,SAASuN,KAAGvN,IAAE,GAAE,GAAE;AAAC,SAAOkG,KAAGlG,EAAC,GAAE,MAAI,WAAS,IAAE,IAAI,WAAWA,GAAE,SAAS,IAAGqN,KAAGrN,IAAEqH,KAAG,CAAC,GAAEA,KAAG,CAAC,CAAC;AAAC;AAAC,MAAMmG,OAAG,IAAI,WAAW,CAAC,CAAC,CAAC,GAAEC,OAAG,IAAI;AAAW,SAASC,KAAG1N,IAAE,GAAE,GAAEW,KAAE,IAAG;AAAC,MAAGuF,KAAGlG,EAAC,GAAE+F,KAAGpF,EAAC,GAAEA,KAAE,MAAIX,GAAE,UAAU,OAAM,IAAI,MAAM,iCAAiC;AAAE,QAAM6B,KAAE,KAAK,KAAKlB,KAAEX,GAAE,SAAS;AAAE,QAAI,WAAS,IAAEyN;AAAI,QAAMxJ,KAAE,IAAI,WAAWpC,KAAE7B,GAAE,SAAS,GAAEa,KAAEwM,KAAG,OAAOrN,IAAE,CAAC,GAAEJ,KAAEiB,GAAE,cAAapB,KAAE,IAAI,WAAWoB,GAAE,SAAS;AAAE,WAAQe,KAAE,GAAEA,KAAEC,IAAED,KAAI4L,MAAG,CAAC,IAAE5L,KAAE,GAAEhC,GAAE,OAAOgC,OAAI,IAAE6L,OAAGhO,EAAC,EAAE,OAAO,CAAC,EAAE,OAAO+N,IAAE,EAAE,WAAW/N,EAAC,GAAEwE,GAAE,IAAIxE,IAAEO,GAAE,YAAU4B,EAAC,GAAEf,GAAE,WAAWjB,EAAC;AAAE,SAAOiB,GAAE,WAAUjB,GAAE,QAAO,GAAGH,GAAE,KAAK,CAAC,GAAE+N,KAAG,KAAK,CAAC,GAAEvJ,GAAE,MAAM,GAAEtD,EAAC;AAAC;AAAC,MAAMgN,OAAG,CAAC3N,IAAE,GAAE,GAAEW,IAAEkB,OAAI6L,KAAG1N,IAAEuN,KAAGvN,IAAE,GAAE,CAAC,GAAEW,IAAEkB,EAAC;AAAE,SAAS+L,KAAG5N,IAAE,GAAE,GAAEW,IAAE;AAAC,MAAG,OAAOX,GAAE,gBAAc,WAAW,QAAOA,GAAE,aAAa,GAAE,GAAEW,EAAC;AAAE,QAAMkB,KAAE,OAAO,EAAE,GAAEoC,KAAE,OAAO,UAAU,GAAEpD,KAAE,OAAO,KAAGgB,KAAEoC,EAAC,GAAErE,KAAE,OAAO,IAAEqE,EAAC,GAAExE,KAAEkB,KAAE,IAAE,GAAEiB,KAAEjB,KAAE,IAAE;AAAE,EAAAX,GAAE,UAAU,IAAEP,IAAEoB,IAAEF,EAAC,GAAEX,GAAE,UAAU,IAAE4B,IAAEhC,IAAEe,EAAC;AAAC;AAAC,SAASkN,KAAG7N,IAAE,GAAE,GAAE;AAAC,SAAOA,KAAE,IAAE,CAACA,KAAE;AAAC;AAAC,SAAS,GAAGA,IAAE,GAAE,GAAE;AAAC,SAAOA,KAAE,IAAEA,KAAE,IAAE,IAAE;AAAC;AAAA,IAAA,OAAC,MAAM,WAAWqI,KAAE;AAAA,EAAC,YAAY,GAAE,GAAE1H,IAAEkB,IAAE;AAAC,UAAK,GAAG,KAAK,WAAS,GAAE,KAAK,YAAU,GAAE,KAAK,YAAUlB,IAAE,KAAK,OAAKkB,IAAE,KAAK,WAAS,OAAG,KAAK,SAAO,GAAE,KAAK,MAAI,GAAE,KAAK,YAAU,OAAG,KAAK,SAAO,IAAI,WAAW,CAAC,GAAE,KAAK,OAAKkF,KAAG,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,OAAO,GAAE;AAACZ,SAAG,IAAI;AAAE,UAAK,EAAC,MAAK,GAAE,QAAOxF,IAAE,UAASkB,GAAC,IAAE;AAAK,QAAEwF,KAAG,CAAC;AAAE,UAAMpD,KAAE,EAAE;AAAO,aAAQpD,KAAE,GAAEA,KAAEoD,MAAG;AAAC,YAAMrE,KAAE,KAAK,IAAIiC,KAAE,KAAK,KAAIoC,KAAEpD,EAAC;AAAE,UAAGjB,OAAIiC,IAAE;AAAC,cAAMpC,KAAEsH,KAAG,CAAC;AAAE,eAAKlF,MAAGoC,KAAEpD,IAAEA,MAAGgB,GAAE,MAAK,QAAQpC,IAAEoB,EAAC;AAAE;AAAA,MAAQ;AAAC,MAAAF,GAAE,IAAI,EAAE,SAASE,IAAEA,KAAEjB,EAAC,GAAE,KAAK,GAAG,GAAE,KAAK,OAAKA,IAAEiB,MAAGjB,IAAE,KAAK,QAAMiC,OAAI,KAAK,QAAQ,GAAE,CAAC,GAAE,KAAK,MAAI;AAAA,IAAE;AAAC,WAAO,KAAK,UAAQ,EAAE,QAAO,KAAK,WAAU,GAAG;AAAA,EAAI;AAAA,EAAC,WAAW,GAAE;AAACsE,SAAG,IAAI,GAAEC,KAAG,GAAE,IAAI,GAAE,KAAK,WAAS;AAAG,UAAK,EAAC,QAAO,GAAE,MAAKzF,IAAE,UAASkB,IAAE,MAAKoC,GAAC,IAAE;AAAK,QAAG,EAAC,KAAIpD,GAAC,IAAE;AAAK,MAAEA,IAAG,IAAE,KAAI,KAAK,OAAO,SAASA,EAAC,EAAE,KAAK,CAAC,GAAE,KAAK,YAAUgB,KAAEhB,OAAI,KAAK,QAAQF,IAAE,CAAC,GAAEE,KAAE;AAAG,aAAQqD,KAAErD,IAAEqD,KAAErC,IAAEqC,KAAI,GAAEA,EAAC,IAAE;AAAE0J,SAAGjN,IAAEkB,KAAE,GAAE,OAAO,KAAK,SAAO,CAAC,GAAEoC,EAAC,GAAE,KAAK,QAAQtD,IAAE,CAAC;AAAE,UAAMf,KAAEmH,KAAG,CAAC,GAAEtH,KAAE,KAAK;AAAU,QAAGA,KAAE,EAAE,OAAM,IAAI,MAAM,6CAA6C;AAAE,UAAMmC,KAAEnC,KAAE,GAAEI,KAAE,KAAK,IAAG;AAAG,QAAG+B,KAAE/B,GAAE,OAAO,OAAM,IAAI,MAAM,oCAAoC;AAAE,aAAQqE,KAAE,GAAEA,KAAEtC,IAAEsC,KAAI,CAAAtE,GAAE,UAAU,IAAEsE,IAAErE,GAAEqE,EAAC,GAAED,EAAC;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,UAAK,EAAC,QAAO,GAAE,WAAU,EAAC,IAAE;AAAK,SAAK,WAAW,CAAC;AAAE,UAAMtD,KAAE,EAAE,MAAM,GAAE,CAAC;AAAE,WAAO,KAAK,WAAUA;AAAA,EAAC;AAAA,EAAC,WAAW,GAAE;AAAC,UAAI,IAAE,IAAI,KAAK,gBAAa,EAAE,IAAI,GAAG,KAAK,KAAK;AAAE,UAAK,EAAC,UAAS,GAAE,QAAOA,IAAE,QAAOkB,IAAE,UAASoC,IAAE,WAAUpD,IAAE,KAAIjB,GAAC,IAAE;AAAK,WAAO,EAAE,SAAOiC,IAAE,EAAE,MAAIjC,IAAE,EAAE,WAASqE,IAAE,EAAE,YAAUpD,IAAEgB,KAAE,KAAG,EAAE,OAAO,IAAIlB,EAAC,GAAE;AAAA,EAAC;AAAC;AAAC,MAAM,KAAG,IAAI,YAAY,CAAC,YAAW,YAAW,YAAW,YAAW,WAAU,YAAW,YAAW,YAAW,YAAW,WAAU,WAAU,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,WAAU,WAAU,WAAU,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,WAAU,WAAU,WAAU,WAAU,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,WAAU,WAAU,WAAU,WAAU,WAAU,WAAU,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,UAAU,CAAC,GAAEmN,OAAG,IAAI,YAAY,CAAC,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,WAAU,UAAU,CAAC,GAAEC,OAAG,IAAI,YAAY,EAAE;AAAE,MAAM,WAAWC,KAAE;AAAA,EAAC,cAAa;AAAC,UAAM,IAAG,IAAG,GAAE,KAAE,GAAE,KAAK,IAAEF,KAAG,CAAC,IAAE,GAAE,KAAK,IAAEA,KAAG,CAAC,IAAE,GAAE,KAAK,IAAEA,KAAG,CAAC,IAAE,GAAE,KAAK,IAAEA,KAAG,CAAC,IAAE,GAAE,KAAK,IAAEA,KAAG,CAAC,IAAE,GAAE,KAAK,IAAEA,KAAG,CAAC,IAAE,GAAE,KAAK,IAAEA,KAAG,CAAC,IAAE,GAAE,KAAK,IAAEA,KAAG,CAAC,IAAE;AAAA,EAAC;AAAA,EAAC,MAAK;AAAC,UAAK,EAAC,GAAE,GAAE,GAAE,GAAE,GAAEnN,IAAE,GAAEkB,IAAE,GAAEoC,IAAE,GAAEpD,IAAE,GAAEjB,IAAE,GAAEH,GAAC,IAAE;AAAK,WAAM,CAAC,GAAE,GAAEkB,IAAEkB,IAAEoC,IAAEpD,IAAEjB,IAAEH,EAAC;AAAA,EAAC;AAAA,EAAC,IAAI,GAAE,GAAEkB,IAAEkB,IAAEoC,IAAEpD,IAAEjB,IAAEH,IAAE;AAAC,SAAK,IAAE,IAAE,GAAE,KAAK,IAAE,IAAE,GAAE,KAAK,IAAEkB,KAAE,GAAE,KAAK,IAAEkB,KAAE,GAAE,KAAK,IAAEoC,KAAE,GAAE,KAAK,IAAEpD,KAAE,GAAE,KAAK,IAAEjB,KAAE,GAAE,KAAK,IAAEH,KAAE;AAAA,EAAC;AAAA,EAAC,QAAQ,GAAE,GAAE;AAAC,aAAQyE,KAAE,GAAEA,KAAE,IAAGA,MAAI,KAAG,EAAE6J,MAAG7J,EAAC,IAAE,EAAE,UAAU,GAAE,KAAE;AAAE,aAAQA,KAAE,IAAGA,KAAE,IAAGA,MAAI;AAAC,YAAMnE,KAAEgO,KAAG7J,KAAE,EAAE,GAAEpE,KAAEiO,KAAG7J,KAAE,CAAC,GAAE0E,KAAE5B,KAAGjH,IAAE,CAAC,IAAEiH,KAAGjH,IAAE,EAAE,IAAEA,OAAI,GAAEO,KAAE0G,KAAGlH,IAAE,EAAE,IAAEkH,KAAGlH,IAAE,EAAE,IAAEA,OAAI;AAAGiO,WAAG7J,EAAC,IAAE5D,KAAEyN,KAAG7J,KAAE,CAAC,IAAE0E,KAAEmF,KAAG7J,KAAE,EAAE,IAAE;AAAA,IAAC;AAAC,QAAG,EAAC,GAAEvD,IAAE,GAAEkB,IAAE,GAAEoC,IAAE,GAAEpD,IAAE,GAAEjB,IAAE,GAAEH,IAAE,GAAEmC,IAAE,GAAE/B,GAAC,IAAE;AAAK,aAAQqE,KAAE,GAAEA,KAAE,IAAGA,MAAI;AAAC,YAAMnE,KAAEiH,KAAGpH,IAAE,CAAC,IAAEoH,KAAGpH,IAAE,EAAE,IAAEoH,KAAGpH,IAAE,EAAE,GAAEE,KAAED,KAAEE,KAAE8N,KAAGjO,IAAEH,IAAEmC,EAAC,IAAE,GAAGsC,EAAC,IAAE6J,KAAG7J,EAAC,IAAE,GAAE5D,MAAG0G,KAAGrG,IAAE,CAAC,IAAEqG,KAAGrG,IAAE,EAAE,IAAEqG,KAAGrG,IAAE,EAAE,KAAG,GAAGA,IAAEkB,IAAEoC,EAAC,IAAE;AAAE,MAAApE,KAAE+B,IAAEA,KAAEnC,IAAEA,KAAEG,IAAEA,KAAEiB,KAAEf,KAAE,GAAEe,KAAEoD,IAAEA,KAAEpC,IAAEA,KAAElB,IAAEA,KAAEb,KAAEQ,KAAE;AAAA,IAAC;AAAC,IAAAK,KAAEA,KAAE,KAAK,IAAE,GAAEkB,KAAEA,KAAE,KAAK,IAAE,GAAEoC,KAAEA,KAAE,KAAK,IAAE,GAAEpD,KAAEA,KAAE,KAAK,IAAE,GAAEjB,KAAEA,KAAE,KAAK,IAAE,GAAEH,KAAEA,KAAE,KAAK,IAAE,GAAEmC,KAAEA,KAAE,KAAK,IAAE,GAAE/B,KAAEA,KAAE,KAAK,IAAE,GAAE,KAAK,IAAIc,IAAEkB,IAAEoC,IAAEpD,IAAEjB,IAAEH,IAAEmC,IAAE/B,EAAC;AAAA,EAAC;AAAA,EAAC,aAAY;AAACkO,SAAG,KAAK,CAAC;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,SAAK,IAAI,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,CAAC,GAAE,KAAK,OAAO,KAAK,CAAC;AAAA,EAAC;AAAC;AAAC,MAAME,OAAG1G,KAAG,MAAI,IAAI,IAAE;AAAE;AAAsE,MAAM2G,OAAG,OAAO,CAAC,GAAEC,OAAG,OAAO,CAAC,GAAE,KAAG,OAAO,CAAC;AAAE,SAASC,KAAGpO,IAAE;AAAC,SAAOA,cAAa,cAAY,YAAY,OAAOA,EAAC,KAAGA,GAAE,YAAY,SAAO;AAAY;AAAC,SAASqO,KAAGrO,IAAE;AAAC,MAAG,CAACoO,KAAGpO,EAAC,EAAE,OAAM,IAAI,MAAM,qBAAqB;AAAC;AAAC,SAASsO,KAAGtO,IAAE,GAAE;AAAC,MAAG,OAAO,KAAG,UAAU,OAAM,IAAI,MAAMA,KAAE,4BAA0B,CAAC;AAAC;AAAC,MAAMuO,OAAG,MAAM,KAAK,EAAC,QAAO,IAAG,GAAE,CAACvO,IAAE,MAAI,EAAE,SAAS,EAAE,EAAE,SAAS,GAAE,GAAG,CAAC;AAAE,SAASwO,KAAGxO,IAAE;AAACqO,OAAGrO,EAAC;AAAE,MAAI,IAAE;AAAG,WAAQ,IAAE,GAAE,IAAEA,GAAE,QAAO,IAAI,MAAGuO,KAAGvO,GAAE,CAAC,CAAC;AAAE,SAAO;AAAC;AAAC,SAASyO,KAAGzO,IAAE;AAAC,QAAM,IAAEA,GAAE,SAAS,EAAE;AAAE,SAAO,EAAE,SAAO,IAAE,MAAI,IAAE;AAAC;AAAC,SAAS0O,KAAG1O,IAAE;AAAC,MAAG,OAAOA,MAAG,SAAS,OAAM,IAAI,MAAM,8BAA4B,OAAOA,EAAC;AAAE,SAAOA,OAAI,KAAGkO,OAAG,OAAO,OAAKlO,EAAC;AAAC;AAAC,MAAM2O,OAAG,EAAC,IAAG,IAAG,IAAG,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG;AAAE,SAASC,KAAG5O,IAAE;AAAC,MAAGA,MAAG2O,KAAG,MAAI3O,MAAG2O,KAAG,GAAG,QAAO3O,KAAE2O,KAAG;AAAG,MAAG3O,MAAG2O,KAAG,KAAG3O,MAAG2O,KAAG,EAAE,QAAO3O,MAAG2O,KAAG,IAAE;AAAI,MAAG3O,MAAG2O,KAAG,KAAG3O,MAAG2O,KAAG,EAAE,QAAO3O,MAAG2O,KAAG,IAAE;AAAG;AAAC,SAASE,KAAG7O,IAAE;AAAC,MAAG,OAAOA,MAAG,SAAS,OAAM,IAAI,MAAM,8BAA4B,OAAOA,EAAC;AAAE,QAAM,IAAEA,GAAE,QAAO,IAAE,IAAE;AAAE,MAAG,IAAE,EAAE,OAAM,IAAI,MAAM,qDAAmD,CAAC;AAAE,QAAMW,KAAE,IAAI,WAAW,CAAC;AAAE,WAAQkB,KAAE,GAAEoC,KAAE,GAAEpC,KAAE,GAAEA,MAAIoC,MAAG,GAAE;AAAC,UAAMpD,KAAE+N,KAAG5O,GAAE,WAAWiE,EAAC,CAAC,GAAErE,KAAEgP,KAAG5O,GAAE,WAAWiE,KAAE,CAAC,CAAC;AAAE,QAAGpD,OAAI,UAAQjB,OAAI,QAAO;AAAC,YAAMH,KAAEO,GAAEiE,EAAC,IAAEjE,GAAEiE,KAAE,CAAC;AAAE,YAAM,IAAI,MAAM,iDAA+CxE,KAAE,gBAAcwE,EAAC;AAAA,IAAC;AAAC,IAAAtD,GAAEkB,EAAC,IAAEhB,KAAE,KAAGjB;AAAA,EAAC;AAAC,SAAOe;AAAC;AAAC,SAASmO,KAAG9O,IAAE;AAAC,SAAO0O,KAAGF,KAAGxO,EAAC,CAAC;AAAC;AAAC,SAAS+O,KAAG/O,IAAE;AAAC,SAAOqO,KAAGrO,EAAC,GAAE0O,KAAGF,KAAG,WAAW,KAAKxO,EAAC,EAAE,SAAS,CAAC;AAAC;AAAC,SAASgP,KAAGhP,IAAE,GAAE;AAAC,SAAO6O,KAAG7O,GAAE,SAAS,EAAE,EAAE,SAAS,IAAE,GAAE,GAAG,CAAC;AAAC;AAAC,SAASiP,KAAGjP,IAAE,GAAE;AAAC,SAAOgP,KAAGhP,IAAE,CAAC,EAAE,QAAO;AAAE;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO6O,KAAGJ,KAAGzO,EAAC,CAAC;AAAC;AAAC,SAASkP,KAAGlP,IAAE,GAAE,GAAE;AAAC,MAAIW;AAAE,MAAG,OAAO,KAAG,SAAS,KAAG;AAAC,IAAAA,KAAEkO,KAAG,CAAC;AAAA,EAAC,SAAO5K,IAAE;AAAC,UAAM,IAAI,MAAMjE,KAAE,+CAA6CiE,EAAC;AAAA,EAAC;AAAA,WAASmK,KAAG,CAAC,EAAE,CAAAzN,KAAE,WAAW,KAAK,CAAC;AAAA,MAAO,OAAM,IAAI,MAAMX,KAAE,mCAAmC;AAAE,QAAM6B,KAAElB,GAAE;AAAO,MAAG,OAAO,KAAG,YAAUkB,OAAI,EAAE,OAAM,IAAI,MAAM7B,KAAE,gBAAc,IAAE,oBAAkB6B,EAAC;AAAE,SAAOlB;AAAC;AAAC,SAASwO,QAAMnP,IAAE;AAAC,MAAI,IAAE;AAAE,WAAQW,KAAE,GAAEA,KAAEX,GAAE,QAAOW,MAAI;AAAC,UAAMkB,KAAE7B,GAAEW,EAAC;AAAE0N,SAAGxM,EAAC,GAAE,KAAGA,GAAE;AAAA,EAAM;AAAC,QAAM,IAAE,IAAI,WAAW,CAAC;AAAE,WAAQlB,KAAE,GAAEkB,KAAE,GAAElB,KAAEX,GAAE,QAAOW,MAAI;AAAC,UAAMsD,KAAEjE,GAAEW,EAAC;AAAE,MAAE,IAAIsD,IAAEpC,EAAC,GAAEA,MAAGoC,GAAE;AAAA,EAAM;AAAC,SAAO;AAAC;AAAC,SAAS,GAAGjE,IAAE,GAAE;AAAC,MAAGA,GAAE,WAAS,EAAE,OAAO;AAAS,MAAI,IAAE;AAAE,WAAQW,KAAE,GAAEA,KAAEX,GAAE,QAAOW,KAAI,MAAGX,GAAEW,EAAC,IAAE,EAAEA,EAAC;AAAE,SAAO,MAAI;AAAC;AAAC,SAAS,GAAGX,IAAE;AAAC,MAAG,OAAOA,MAAG,SAAS,OAAM,IAAI,MAAM,iBAAiB;AAAE,SAAO,IAAI,WAAW,IAAI,YAAW,EAAG,OAAOA,EAAC,CAAC;AAAC;AAAC,MAAMoP,OAAG,CAAApP,OAAG,OAAOA,MAAG,YAAUkO,QAAIlO;AAAE,SAASqP,KAAGrP,IAAE,GAAE,GAAE;AAAC,SAAOoP,KAAGpP,EAAC,KAAGoP,KAAG,CAAC,KAAGA,KAAG,CAAC,KAAG,KAAGpP,MAAGA,KAAE;AAAC;AAAC,SAASsP,KAAGtP,IAAE,GAAE,GAAEW,IAAE;AAAC,MAAG,CAAC0O,KAAG,GAAE,GAAE1O,EAAC,EAAE,OAAM,IAAI,MAAM,oBAAkBX,KAAE,OAAK,IAAE,aAAWW,KAAE,WAAS,CAAC;AAAC;AAAC,SAAS4O,KAAGvP,IAAE;AAAC,MAAI;AAAE,OAAI,IAAE,GAAEA,KAAEkO,MAAGlO,OAAImO,MAAG,KAAG,EAAE;AAAC,SAAO;AAAC;AAAC,SAAS,GAAGnO,IAAE,GAAE;AAAC,SAAOA,MAAG,OAAO,CAAC,IAAEmO;AAAE;AAAC,SAAS,GAAGnO,IAAE,GAAE,GAAE;AAAC,SAAOA,MAAG,IAAEmO,OAAGD,SAAK,OAAO,CAAC;AAAC;AAAC,MAAMsB,OAAG,CAAAxP,QAAI,MAAI,OAAOA,KAAE,CAAC,KAAGmO,MAAGsB,OAAG,CAAAzP,OAAG,IAAI,WAAWA,EAAC,GAAE0P,OAAG,CAAA1P,OAAG,WAAW,KAAKA,EAAC;AAAE,SAAS2P,KAAG3P,IAAE,GAAE,GAAE;AAAC,MAAG,OAAOA,MAAG,YAAUA,KAAE,EAAE,OAAM,IAAI,MAAM,0BAA0B;AAAE,MAAG,OAAO,KAAG,YAAU,IAAE,EAAE,OAAM,IAAI,MAAM,2BAA2B;AAAE,MAAG,OAAO,KAAG,WAAW,OAAM,IAAI,MAAM,2BAA2B;AAAE,MAAIW,KAAE8O,KAAGzP,EAAC,GAAE6B,KAAE4N,KAAGzP,EAAC,GAAEiE,KAAE;AAAE,QAAMpD,KAAE,MAAI;AAAC,IAAAF,GAAE,KAAK,CAAC,GAAEkB,GAAE,KAAK,CAAC,GAAEoC,KAAE;AAAA,EAAC,GAAErE,KAAE,IAAIsE,OAAI,EAAErC,IAAElB,IAAE,GAAGuD,EAAC,GAAEzE,KAAE,CAACyE,KAAEuL,KAAE,MAAK;AAAC,IAAA5N,KAAEjC,GAAE8P,KAAG,CAAC,CAAC,CAAC,GAAExL,EAAC,GAAEvD,KAAEf,MAAIsE,GAAE,WAAS,MAAIrC,KAAEjC,GAAE8P,KAAG,CAAC,CAAC,CAAC,GAAExL,EAAC,GAAEvD,KAAEf,GAAC;AAAA,EAAG,GAAEgC,KAAE,MAAI;AAAC,QAAGqC,QAAK,IAAI,OAAM,IAAI,MAAM,yBAAyB;AAAE,QAAIC,KAAE;AAAE,UAAMnE,KAAE,CAAA;AAAG,WAAKmE,KAAE,KAAG;AAAC,MAAAvD,KAAEf,GAAC;AAAG,YAAME,KAAEa,GAAE,MAAK;AAAG,MAAAZ,GAAE,KAAKD,EAAC,GAAEoE,MAAGvD,GAAE;AAAA,IAAM;AAAC,WAAOwO,KAAG,GAAGpP,EAAC;AAAA,EAAC;AAAE,SAAM,CAACmE,IAAEnE,OAAI;AAAC,IAAAc,GAAC,GAAGpB,GAAEyE,EAAC;AAAE,QAAIpE;AAAE,WAAK,EAAEA,KAAEC,GAAE6B,GAAC,CAAE,KAAI,CAAAnC,GAAC;AAAG,WAAOoB,MAAIf;AAAA,EAAC;AAAC;AAAC,MAAM,KAAG,EAAC,QAAO,CAAAE,OAAG,OAAOA,MAAG,UAAS,UAAS,CAAAA,OAAG,OAAOA,MAAG,YAAW,SAAQ,CAAAA,OAAG,OAAOA,MAAG,WAAU,QAAO,CAAAA,OAAG,OAAOA,MAAG,UAAS,oBAAmB,CAAAA,OAAG,OAAOA,MAAG,YAAUoO,KAAGpO,EAAC,GAAE,eAAc,CAAAA,OAAG,OAAO,cAAcA,EAAC,GAAE,OAAM,CAAAA,OAAG,MAAM,QAAQA,EAAC,GAAE,OAAM,CAACA,IAAE,MAAI,EAAE,GAAG,QAAQA,EAAC,GAAE,MAAK,CAAAA,OAAG,OAAOA,MAAG,cAAY,OAAO,cAAcA,GAAE,SAAS,EAAC;AAAE,SAAS4P,KAAG5P,IAAE,GAAE,IAAE,CAAA,GAAG;AAAC,QAAMW,KAAE,CAACkB,IAAEoC,IAAEpD,OAAI;AAAC,UAAMjB,KAAE,GAAGqE,EAAC;AAAE,QAAG,OAAOrE,MAAG,WAAW,OAAM,IAAI,MAAM,4BAA4B;AAAE,UAAMH,KAAEO,GAAE6B,EAAC;AAAE,QAAG,EAAEhB,MAAGpB,OAAI,WAAS,CAACG,GAAEH,IAAEO,EAAC,EAAE,OAAM,IAAI,MAAM,WAAS,OAAO6B,EAAC,IAAE,2BAAyBoC,KAAE,WAASxE,EAAC;AAAA,EAAC;AAAE,aAAS,CAACoC,IAAEoC,EAAC,KAAI,OAAO,QAAQ,CAAC,EAAE,CAAAtD,GAAEkB,IAAEoC,IAAE,KAAE;AAAE,aAAS,CAACpC,IAAEoC,EAAC,KAAI,OAAO,QAAQ,CAAC,EAAE,CAAAtD,GAAEkB,IAAEoC,IAAE,IAAE;AAAE,SAAOjE;AAAC;AAAC,MAAM,KAAG,MAAI;AAAC,QAAM,IAAI,MAAM,iBAAiB;AAAC;AAAE,SAAS6P,KAAG7P,IAAE;AAAC,QAAM,IAAE,oBAAI;AAAQ,SAAM,CAAC,MAAKW,OAAI;AAAC,UAAMkB,KAAE,EAAE,IAAI,CAAC;AAAE,QAAGA,OAAI,OAAO,QAAOA;AAAE,UAAMoC,KAAEjE,GAAE,GAAE,GAAGW,EAAC;AAAE,WAAO,EAAE,IAAI,GAAEsD,EAAC,GAAEA;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,OAAO,EAAC,WAAU,MAAK,SAAQmK,MAAG,QAAOC,MAAG,OAAMC,MAAG,YAAWE,MAAG,qBAAoBC,MAAG,aAAYC,MAAG,YAAWG,MAAG,iBAAgBC,MAAG,iBAAgBC,MAAG,iBAAgBC,MAAG,iBAAgBC,MAAG,oBAAmB,IAAG,aAAYC,MAAG,aAAYC,MAAG,YAAW,IAAG,aAAY,IAAG,SAAQE,MAAG,UAASC,MAAG,QAAOC,MAAG,QAAO,IAAG,QAAO,IAAG,SAAQC,MAAG,gBAAeG,MAAG,gBAAeC,MAAG,gBAAe,IAAG,UAASC,KAAE,CAAC;AAAE,MAAM/N,MAAE,OAAO,CAAC,GAAEgO,MAAE,OAAO,CAAC,GAAEC,OAAG,OAAO,CAAC,GAAE,KAAG,OAAO,CAAC,GAAE,KAAG,OAAO,CAAC,GAAEC,OAAG,OAAO,CAAC,GAAEC,OAAG,OAAO,CAAC;AAAE,SAASC,IAAElQ,IAAE,GAAE;AAAC,QAAM,IAAEA,KAAE;AAAE,SAAO,KAAG8B,MAAE,IAAE,IAAE;AAAC;AAAC,SAASqO,KAAGnQ,IAAE,GAAE,GAAE;AAAC,MAAG,IAAE8B,IAAE,OAAM,IAAI,MAAM,yCAAyC;AAAE,MAAG,KAAGA,IAAE,OAAM,IAAI,MAAM,iBAAiB;AAAE,MAAG,MAAIgO,IAAE,QAAOhO;AAAE,MAAInB,KAAEmP;AAAE,SAAK,IAAEhO,MAAG,KAAEgO,QAAInP,KAAEA,KAAEX,KAAE,IAAGA,KAAEA,KAAEA,KAAE,GAAE,MAAI8P;AAAE,SAAOnP;AAAC;AAAC,SAASyP,KAAGpQ,IAAE,GAAE,GAAE;AAAC,MAAIW,KAAEX;AAAE,SAAK,MAAK8B,MAAG,CAAAnB,MAAGA,IAAEA,MAAG;AAAE,SAAOA;AAAC;AAAC,SAAS0P,KAAGrQ,IAAE,GAAE;AAAC,MAAGA,OAAI8B,IAAE,OAAM,IAAI,MAAM,kCAAkC;AAAE,MAAG,KAAGA,IAAE,OAAM,IAAI,MAAM,4CAA0C,CAAC;AAAE,MAAI,IAAEoO,IAAElQ,IAAE,CAAC,GAAEW,KAAE,GAAEkB,KAAEC,KAAEmC,KAAE6L;AAAE,SAAK,MAAIhO,OAAG;AAAC,UAAMlC,KAAEe,KAAE,GAAElB,KAAEkB,KAAE,GAAEiB,KAAEC,KAAEoC,KAAErE;AAAE,IAAAe,KAAE,GAAE,IAAElB,IAAEoC,KAAEoC,IAAEA,KAAErC;AAAA,EAAC;AAAC,MAAGjB,OAAImP,IAAE,OAAM,IAAI,MAAM,wBAAwB;AAAE,SAAOI,IAAErO,IAAE,CAAC;AAAC;AAAC,SAAS,GAAG7B,IAAE;AAAC,QAAM,KAAGA,KAAE8P,OAAGC;AAAG,MAAI,GAAEpP,IAAEkB;AAAE,OAAI,IAAE7B,KAAE8P,KAAEnP,KAAE,GAAE,IAAEoP,SAAKjO,KAAE,KAAGiO,MAAGpP,KAAI;AAAC,OAAIkB,KAAEkO,MAAGlO,KAAE7B,MAAGmQ,KAAGtO,IAAE,GAAE7B,EAAC,MAAIA,KAAE8P,KAAEjO,KAAI,KAAGA,KAAE,IAAI,OAAM,IAAI,MAAM,6CAA6C;AAAE,MAAGlB,OAAI,GAAE;AAAC,UAAME,MAAGb,KAAE8P,OAAG;AAAG,WAAO,SAASrQ,IAAEmC,IAAE;AAAC,YAAM/B,KAAEJ,GAAE,IAAImC,IAAEf,EAAC;AAAE,UAAG,CAACpB,GAAE,IAAIA,GAAE,IAAII,EAAC,GAAE+B,EAAC,EAAE,OAAM,IAAI,MAAM,yBAAyB;AAAE,aAAO/B;AAAA,IAAC;AAAA,EAAC;AAAC,QAAMoE,MAAG,IAAE6L,OAAGC;AAAG,SAAO,SAASnQ,IAAEH,IAAE;AAAC,QAAGG,GAAE,IAAIH,IAAE,CAAC,MAAIG,GAAE,IAAIA,GAAE,GAAG,EAAE,OAAM,IAAI,MAAM,yBAAyB;AAAE,QAAIgC,KAAEjB,IAAEd,KAAED,GAAE,IAAIA,GAAE,IAAIA,GAAE,KAAIiC,EAAC,GAAE,CAAC,GAAEqC,KAAEtE,GAAE,IAAIH,IAAEwE,EAAC,GAAElE,KAAEH,GAAE,IAAIH,IAAE,CAAC;AAAE,WAAK,CAACG,GAAE,IAAIG,IAAEH,GAAE,GAAG,KAAG;AAAC,UAAGA,GAAE,IAAIG,IAAEH,GAAE,IAAI,EAAE,QAAOA,GAAE;AAAK,UAAIE,KAAE;AAAE,eAAQQ,KAAEV,GAAE,IAAIG,EAAC,GAAED,KAAE8B,MAAG,CAAChC,GAAE,IAAIU,IAAEV,GAAE,GAAG,GAAEE,KAAI,CAAAQ,KAAEV,GAAE,IAAIU,EAAC;AAAE,YAAMsI,KAAEhJ,GAAE,IAAIC,IAAEiQ,OAAG,OAAOlO,KAAE9B,KAAE,CAAC,CAAC;AAAE,MAAAD,KAAED,GAAE,IAAIgJ,EAAC,GAAE1E,KAAEtE,GAAE,IAAIsE,IAAE0E,EAAC,GAAE7I,KAAEH,GAAE,IAAIG,IAAEF,EAAC,GAAE+B,KAAE9B;AAAA,IAAC;AAAC,WAAOoE;AAAA,EAAC;AAAC;AAAC,SAAS,GAAGlE,IAAE;AAAC,MAAGA,KAAE,OAAK,IAAG;AAAC,UAAM,KAAGA,KAAE8P,OAAG;AAAG,WAAO,SAASnP,IAAEkB,IAAE;AAAC,YAAMoC,KAAEtD,GAAE,IAAIkB,IAAE,CAAC;AAAE,UAAG,CAAClB,GAAE,IAAIA,GAAE,IAAIsD,EAAC,GAAEpC,EAAC,EAAE,OAAM,IAAI,MAAM,yBAAyB;AAAE,aAAOoC;AAAA,IAAC;AAAA,EAAC;AAAC,MAAGjE,KAAEiQ,SAAKD,MAAG;AAAC,UAAM,KAAGhQ,KAAEgQ,QAAIC;AAAG,WAAO,SAAStP,IAAEkB,IAAE;AAAC,YAAMoC,KAAEtD,GAAE,IAAIkB,IAAEkO,IAAE,GAAElP,KAAEF,GAAE,IAAIsD,IAAE,CAAC,GAAErE,KAAEe,GAAE,IAAIkB,IAAEhB,EAAC,GAAEpB,KAAEkB,GAAE,IAAIA,GAAE,IAAIf,IAAEmQ,IAAE,GAAElP,EAAC,GAAEe,KAAEjB,GAAE,IAAIf,IAAEe,GAAE,IAAIlB,IAAEkB,GAAE,GAAG,CAAC;AAAE,UAAG,CAACA,GAAE,IAAIA,GAAE,IAAIiB,EAAC,GAAEC,EAAC,EAAE,OAAM,IAAI,MAAM,yBAAyB;AAAE,aAAOD;AAAA,IAAC;AAAA,EAAC;AAAC,SAAO,GAAG5B,EAAC;AAAC;AAAC,MAAM,KAAG,CAAC,UAAS,WAAU,OAAM,OAAM,OAAM,QAAO,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,QAAO,QAAO,QAAO,MAAM;AAAE,SAAS,GAAGA,IAAE;AAAC,QAAM,IAAE,EAAC,OAAM,UAAS,MAAK,UAAS,OAAM,iBAAgB,MAAK,gBAAe,GAAE,IAAE,GAAG,OAAO,CAACW,IAAEkB,QAAKlB,GAAEkB,EAAC,IAAE,YAAWlB,KAAG,CAAC;AAAE,SAAOiP,KAAG5P,IAAE,CAAC;AAAC;AAAC,SAAS,GAAGA,IAAE,GAAE,GAAE;AAAC,MAAG,IAAE8B,IAAE,OAAM,IAAI,MAAM,yCAAyC;AAAE,MAAG,MAAIA,IAAE,QAAO9B,GAAE;AAAI,MAAG,MAAI8P,IAAE,QAAO;AAAE,MAAInP,KAAEX,GAAE,KAAI6B,KAAE;AAAE,SAAK,IAAEC,MAAG,KAAEgO,QAAInP,KAAEX,GAAE,IAAIW,IAAEkB,EAAC,IAAGA,KAAE7B,GAAE,IAAI6B,EAAC,GAAE,MAAIiO;AAAE,SAAOnP;AAAC;AAAC,SAAS,GAAGX,IAAE,GAAE;AAAC,QAAM,IAAE,IAAI,MAAM,EAAE,MAAM,GAAEW,KAAE,EAAE,OAAO,CAACsD,IAAEpD,IAAEjB,OAAII,GAAE,IAAIa,EAAC,IAAEoD,MAAG,EAAErE,EAAC,IAAEqE,IAAEjE,GAAE,IAAIiE,IAAEpD,EAAC,IAAGb,GAAE,GAAG,GAAE6B,KAAE7B,GAAE,IAAIW,EAAC;AAAE,SAAO,EAAE,YAAY,CAACsD,IAAEpD,IAAEjB,OAAII,GAAE,IAAIa,EAAC,IAAEoD,MAAG,EAAErE,EAAC,IAAEI,GAAE,IAAIiE,IAAE,EAAErE,EAAC,CAAC,GAAEI,GAAE,IAAIiE,IAAEpD,EAAC,IAAGgB,EAAC,GAAE;AAAC;AAAC,SAASyO,KAAGtQ,IAAE,GAAE;AAAC,QAAM,IAAE,MAAI,SAAO,IAAEA,GAAE,SAAS,CAAC,EAAE,QAAOW,KAAE,KAAK,KAAK,IAAE,CAAC;AAAE,SAAM,EAAC,YAAW,GAAE,aAAYA,GAAC;AAAC;AAAC,SAAS4P,KAAGvQ,IAAE,GAAE,IAAE,OAAGW,KAAE,CAAA,GAAG;AAAC,MAAGX,MAAG8B,IAAE,OAAM,IAAI,MAAM,4CAA0C9B,EAAC;AAAE,QAAK,EAAC,YAAW6B,IAAE,aAAYoC,GAAC,IAAEqM,KAAGtQ,IAAE,CAAC;AAAE,MAAGiE,KAAE,KAAK,OAAM,IAAI,MAAM,gDAAgD;AAAE,MAAIpD;AAAE,QAAMjB,KAAE,OAAO,OAAO,EAAC,OAAMI,IAAE,MAAK,GAAE,MAAK6B,IAAE,OAAMoC,IAAE,MAAKuL,KAAG3N,EAAC,GAAE,MAAKC,KAAE,KAAIgO,KAAE,QAAO,CAAArQ,OAAGyQ,IAAEzQ,IAAEO,EAAC,GAAE,SAAQ,CAAAP,OAAG;AAAC,QAAG,OAAOA,MAAG,SAAS,OAAM,IAAI,MAAM,iDAA+C,OAAOA,EAAC;AAAE,WAAOqC,OAAGrC,MAAGA,KAAEO;AAAA,EAAC,GAAE,KAAI,CAAAP,OAAGA,OAAIqC,KAAE,OAAM,CAAArC,QAAIA,KAAEqQ,SAAKA,KAAE,KAAI,CAAArQ,OAAGyQ,IAAE,CAACzQ,IAAEO,EAAC,GAAE,KAAI,CAACP,IAAEmC,OAAInC,OAAImC,IAAE,KAAI,CAAAnC,OAAGyQ,IAAEzQ,KAAEA,IAAEO,EAAC,GAAE,KAAI,CAACP,IAAEmC,OAAIsO,IAAEzQ,KAAEmC,IAAE5B,EAAC,GAAE,KAAI,CAACP,IAAEmC,OAAIsO,IAAEzQ,KAAEmC,IAAE5B,EAAC,GAAE,KAAI,CAACP,IAAEmC,OAAIsO,IAAEzQ,KAAEmC,IAAE5B,EAAC,GAAE,KAAI,CAACP,IAAEmC,OAAI,GAAGhC,IAAEH,IAAEmC,EAAC,GAAE,KAAI,CAACnC,IAAEmC,OAAIsO,IAAEzQ,KAAE4Q,KAAGzO,IAAE5B,EAAC,GAAEA,EAAC,GAAE,MAAK,CAAAP,OAAGA,KAAEA,IAAE,MAAK,CAACA,IAAEmC,OAAInC,KAAEmC,IAAE,MAAK,CAACnC,IAAEmC,OAAInC,KAAEmC,IAAE,MAAK,CAACnC,IAAEmC,OAAInC,KAAEmC,IAAE,KAAI,CAAAnC,OAAG4Q,KAAG5Q,IAAEO,EAAC,GAAE,MAAKW,GAAE,SAAO,CAAAlB,QAAIoB,OAAIA,KAAE,GAAGb,EAAC,IAAGa,GAAEjB,IAAEH,EAAC,KAAI,aAAY,CAAAA,OAAG,GAAGG,IAAEH,EAAC,GAAE,MAAK,CAACA,IAAEmC,IAAE/B,OAAIA,KAAE+B,KAAEnC,IAAE,SAAQ,CAAAA,OAAG,IAAEwP,KAAGxP,IAAEwE,EAAC,IAAE+K,KAAGvP,IAAEwE,EAAC,GAAE,WAAU,CAAAxE,OAAG;AAAC,QAAGA,GAAE,WAASwE,GAAE,OAAM,IAAI,MAAM,+BAA6BA,KAAE,iBAAexE,GAAE,MAAM;AAAE,WAAO,IAAEsP,KAAGtP,EAAC,IAAEqP,KAAGrP,EAAC;AAAA,EAAC,EAAC,CAAC;AAAE,SAAO,OAAO,OAAOG,EAAC;AAAC;AAAC,SAAS4Q,KAAGxQ,IAAE;AAAC,MAAG,OAAOA,MAAG,SAAS,OAAM,IAAI,MAAM,4BAA4B;AAAE,QAAM,IAAEA,GAAE,SAAS,CAAC,EAAE;AAAO,SAAO,KAAK,KAAK,IAAE,CAAC;AAAC;AAAC,SAASyQ,KAAGzQ,IAAE;AAAC,QAAM,IAAEwQ,KAAGxQ,EAAC;AAAE,SAAO,IAAE,KAAK,KAAK,IAAE,CAAC;AAAC;AAAC,SAAS,GAAGA,IAAE,GAAE,IAAE,OAAG;AAAC,QAAMW,KAAEX,GAAE,QAAO6B,KAAE2O,KAAG,CAAC,GAAEvM,KAAEwM,KAAG,CAAC;AAAE,MAAG9P,KAAE,MAAIA,KAAEsD,MAAGtD,KAAE,KAAK,OAAM,IAAI,MAAM,cAAYsD,KAAE,+BAA6BtD,EAAC;AAAE,QAAME,KAAE,IAAEkO,KAAG/O,EAAC,IAAE8O,KAAG9O,EAAC,GAAEJ,KAAEsQ,IAAErP,IAAE,IAAEiP,GAAC,IAAEA;AAAE,SAAO,IAAEb,KAAGrP,IAAEiC,EAAC,IAAEmN,KAAGpP,IAAEiC,EAAC;AAAC;AAAC,MAAM6O,OAAG,OAAO,CAAC,GAAEC,OAAG,OAAO,CAAC;AAAE,SAASC,KAAG5Q,IAAE,GAAE;AAAC,QAAM,IAAE,EAAE,OAAM;AAAG,SAAOA,KAAE,IAAE;AAAC;AAAC,SAAS6Q,KAAG7Q,IAAE,GAAE;AAAC,MAAG,CAAC,OAAO,cAAcA,EAAC,KAAGA,MAAG,KAAGA,KAAE,EAAE,OAAM,IAAI,MAAM,uCAAqC,IAAE,cAAYA,EAAC;AAAC;AAAC,SAAS8Q,KAAG9Q,IAAE,GAAE;AAAC6Q,OAAG7Q,IAAE,CAAC;AAAE,QAAM,IAAE,KAAK,KAAK,IAAEA,EAAC,IAAE,GAAEW,KAAE,MAAIX,KAAE;AAAG,SAAM,EAAC,SAAQ,GAAE,YAAWW,GAAC;AAAC;AAAC,SAAS,GAAGX,IAAE,GAAE;AAAC,MAAG,CAAC,MAAM,QAAQA,EAAC,EAAE,OAAM,IAAI,MAAM,gBAAgB;AAAE,EAAAA,GAAE,QAAQ,CAAC,GAAEW,OAAI;AAAC,QAAG,EAAE,aAAa,GAAG,OAAM,IAAI,MAAM,4BAA0BA,EAAC;AAAA,EAAC,CAAC;AAAC;AAAC,SAAS,GAAGX,IAAE,GAAE;AAAC,MAAG,CAAC,MAAM,QAAQA,EAAC,EAAE,OAAM,IAAI,MAAM,2BAA2B;AAAE,EAAAA,GAAE,QAAQ,CAAC,GAAEW,OAAI;AAAC,QAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAM,IAAI,MAAM,6BAA2BA,EAAC;AAAA,EAAC,CAAC;AAAC;AAAC,MAAMoQ,OAAG,oBAAI,WAAQC,OAAG,oBAAI;AAAQ,SAASC,KAAGjR,IAAE;AAAC,SAAOgR,KAAG,IAAIhR,EAAC,KAAG;AAAC;AAAC,SAAS,GAAGA,IAAE,GAAE;AAAC,SAAM,EAAC,iBAAgB4Q,MAAG,eAAe,GAAE;AAAC,WAAOK,KAAG,CAAC,MAAI;AAAA,EAAC,GAAE,aAAa,GAAEtQ,IAAEkB,KAAE7B,GAAE,MAAK;AAAC,QAAIiE,KAAE;AAAE,WAAKtD,KAAE+P,OAAI,CAAA/P,KAAEgQ,SAAK9O,KAAEA,GAAE,IAAIoC,EAAC,IAAGA,KAAEA,GAAE,OAAM,GAAGtD,OAAIgQ;AAAG,WAAO9O;AAAA,EAAC,GAAE,iBAAiB,GAAElB,IAAE;AAAC,UAAK,EAAC,SAAQkB,IAAE,YAAWoC,GAAC,IAAE6M,KAAGnQ,IAAE,CAAC,GAAEE,KAAE,CAAA;AAAG,QAAIjB,KAAE,GAAEH,KAAEG;AAAE,aAAQgC,KAAE,GAAEA,KAAEC,IAAED,MAAI;AAAC,MAAAnC,KAAEG,IAAEiB,GAAE,KAAKpB,EAAC;AAAE,eAAQI,KAAE,GAAEA,KAAEoE,IAAEpE,KAAI,CAAAJ,KAAEA,GAAE,IAAIG,EAAC,GAAEiB,GAAE,KAAKpB,EAAC;AAAE,MAAAG,KAAEH,GAAE;IAAQ;AAAC,WAAOoB;AAAA,EAAC,GAAE,KAAK,GAAEF,IAAEkB,IAAE;AAAC,UAAK,EAAC,SAAQoC,IAAE,YAAWpD,GAAC,IAAEiQ,KAAG,GAAE,CAAC;AAAE,QAAIlR,KAAEI,GAAE,MAAKP,KAAEO,GAAE;AAAK,UAAM4B,KAAE,OAAO,KAAG,IAAE,CAAC,GAAE/B,KAAE,KAAG,GAAEqE,KAAE,OAAO,CAAC;AAAE,aAAQnE,KAAE,GAAEA,KAAEkE,IAAElE,MAAI;AAAC,YAAMD,KAAEC,KAAEc;AAAE,UAAI+H,KAAE,OAAO/G,KAAED,EAAC;AAAE,MAAAC,OAAIqC,IAAE0E,KAAE/H,OAAI+H,MAAG/I,IAAEgC,MAAG8O;AAAI,YAAMrQ,KAAER,IAAEsB,KAAEtB,KAAE,KAAK,IAAI8I,EAAC,IAAE,GAAExI,KAAEL,KAAE,MAAI,GAAE0L,KAAE7C,KAAE;AAAE,MAAAA,OAAI,IAAEnJ,KAAEA,GAAE,IAAImR,KAAGxQ,IAAEO,GAAEL,EAAC,CAAC,CAAC,IAAEV,KAAEA,GAAE,IAAIgR,KAAGnF,IAAE9K,GAAES,EAAC,CAAC,CAAC;AAAA,IAAC;AAAC,WAAM,EAAC,GAAExB,IAAE,GAAEH,GAAC;AAAA,EAAC,GAAE,WAAW,GAAEkB,IAAEkB,IAAEoC,KAAEjE,GAAE,MAAK;AAAC,UAAK,EAAC,SAAQa,IAAE,YAAWjB,GAAC,IAAEkR,KAAG,GAAE,CAAC,GAAErR,KAAE,OAAO,KAAG,IAAE,CAAC,GAAEmC,KAAE,KAAG,GAAE/B,KAAE,OAAO,CAAC;AAAE,aAAQqE,KAAE,GAAEA,KAAErD,IAAEqD,MAAI;AAAC,YAAMnE,KAAEmE,KAAEtE;AAAE,UAAGiC,OAAI6O,KAAG;AAAM,UAAI5Q,KAAE,OAAO+B,KAAEpC,EAAC;AAAE,UAAGoC,OAAIhC,IAAEC,KAAEF,OAAIE,MAAG8B,IAAEC,MAAG8O,OAAI7Q,OAAI,EAAE;AAAS,UAAI8I,KAAEjI,GAAEZ,KAAE,KAAK,IAAID,EAAC,IAAE,CAAC;AAAE,MAAAA,KAAE,MAAI8I,KAAEA,GAAE,WAAU3E,KAAEA,GAAE,IAAI2E,EAAC;AAAA,IAAC;AAAC,WAAO3E;AAAA,EAAC,GAAE,eAAe,GAAEtD,IAAEkB,IAAE;AAAC,QAAIoC,KAAE8M,KAAG,IAAIpQ,EAAC;AAAE,WAAOsD,OAAIA,KAAE,KAAK,iBAAiBtD,IAAE,CAAC,GAAE,MAAI,KAAGoQ,KAAG,IAAIpQ,IAAEkB,GAAEoC,EAAC,CAAC,IAAGA;AAAA,EAAC,GAAE,WAAW,GAAEtD,IAAEkB,IAAE;AAAC,UAAMoC,KAAEgN,KAAG,CAAC;AAAE,WAAO,KAAK,KAAKhN,IAAE,KAAK,eAAeA,IAAE,GAAEpC,EAAC,GAAElB,EAAC;AAAA,EAAC,GAAE,iBAAiB,GAAEA,IAAEkB,IAAEoC,IAAE;AAAC,UAAMpD,KAAEoQ,KAAG,CAAC;AAAE,WAAOpQ,OAAI,IAAE,KAAK,aAAa,GAAEF,IAAEsD,EAAC,IAAE,KAAK,WAAWpD,IAAE,KAAK,eAAeA,IAAE,GAAEgB,EAAC,GAAElB,IAAEsD,EAAC;AAAA,EAAC,GAAE,cAAc,GAAEtD,IAAE;AAACkQ,SAAGlQ,IAAE,CAAC,GAAEqQ,KAAG,IAAI,GAAErQ,EAAC,GAAEoQ,KAAG,OAAO,CAAC;AAAA,EAAC,EAAC;AAAC;AAAC,SAAS,GAAG/Q,IAAE,GAAE,GAAEW,IAAE;AAAC,MAAG,GAAG,GAAEX,EAAC,GAAE,GAAGW,IAAE,CAAC,GAAE,EAAE,WAASA,GAAE,OAAO,OAAM,IAAI,MAAM,qDAAqD;AAAE,QAAMkB,KAAE7B,GAAE,MAAKiE,KAAEsL,KAAG,OAAO,EAAE,MAAM,CAAC,GAAE1O,KAAEoD,KAAE,KAAGA,KAAE,IAAEA,KAAE,IAAEA,KAAE,IAAEA,KAAE,IAAE,GAAErE,MAAG,KAAGiB,MAAG,GAAEpB,KAAE,IAAI,MAAMG,KAAE,CAAC,EAAE,KAAKiC,EAAC,GAAED,KAAE,KAAK,OAAO,EAAE,OAAK,KAAGf,EAAC,IAAEA;AAAE,MAAIhB,KAAEgC;AAAE,WAAQqC,KAAEtC,IAAEsC,MAAG,GAAEA,MAAGrD,IAAE;AAAC,IAAApB,GAAE,KAAKoC,EAAC;AAAE,aAAQ/B,KAAE,GAAEA,KAAEa,GAAE,QAAOb,MAAI;AAAC,YAAM8I,KAAEjI,GAAEb,EAAC,GAAEQ,KAAE,OAAOsI,MAAG,OAAO1E,EAAC,IAAE,OAAOtE,EAAC,CAAC;AAAE,MAAAH,GAAEa,EAAC,IAAEb,GAAEa,EAAC,EAAE,IAAI,EAAER,EAAC,CAAC;AAAA,IAAC;AAAC,QAAIC,KAAE8B;AAAE,aAAQ/B,KAAEL,GAAE,SAAO,GAAEmJ,KAAE/G,IAAE/B,KAAE,GAAEA,KAAI,CAAA8I,KAAEA,GAAE,IAAInJ,GAAEK,EAAC,CAAC,GAAEC,KAAEA,GAAE,IAAI6I,EAAC;AAAE,QAAG/I,KAAEA,GAAE,IAAIE,EAAC,GAAEmE,OAAI,EAAE,UAAQpE,KAAE,GAAEA,KAAEe,IAAEf,KAAI,CAAAD,KAAEA,GAAE,OAAM;AAAA,EAAE;AAAC,SAAOA;AAAC;AAAC,SAASqR,KAAGlR,IAAE;AAAC,SAAO,GAAGA,GAAE,EAAE,GAAE4P,KAAG5P,IAAE,EAAC,GAAE,UAAS,GAAE,UAAS,IAAG,SAAQ,IAAG,QAAO,GAAE,EAAC,YAAW,iBAAgB,aAAY,gBAAe,CAAC,GAAE,OAAO,OAAO,EAAC,GAAGsQ,KAAGtQ,GAAE,GAAEA,GAAE,UAAU,GAAE,GAAGA,IAAE,GAAEA,GAAE,GAAG,MAAK,CAAC;AAAC;AAAC,OAAO,CAAC,GAAE,OAAO,CAAC,GAAE,OAAO,CAAC,GAAE,OAAO,CAAC;AAAE,MAAMmR,OAAG,OAAO,CAAC,GAAEC,OAAG,OAAO,CAAC;AAAE,SAAS,GAAGpR,IAAE;AAAC,SAAO4P,KAAG5P,IAAE,EAAC,GAAE,SAAQ,GAAE,EAAC,gBAAe,iBAAgB,aAAY,iBAAgB,mBAAkB,YAAW,QAAO,YAAW,YAAW,YAAW,IAAG,SAAQ,CAAC,GAAE,OAAO,OAAO,EAAC,GAAGA,GAAC,CAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,QAAM,IAAE,GAAGA,EAAC,GAAE,EAAC,GAAE,EAAC,IAAE,GAAEW,KAAE,CAAA8K,OAAGyE,IAAEzE,IAAE,CAAC,GAAE5J,KAAE,EAAE,gBAAeoC,KAAE,KAAK,KAAKpC,KAAE,CAAC,GAAEhB,KAAE,EAAE,aAAYjB,KAAE,EAAE,sBAAoB,CAAA6L,OAAGA,KAAGhM,KAAE,EAAE,eAAa,CAAAgM,OAAG0E,KAAG1E,IAAE,IAAE,OAAO,CAAC,GAAE,CAAC;AAAG,WAAS7J,GAAE6J,IAAEG,IAAED,IAAE;AAAC,UAAMG,KAAEnL,GAAE8K,MAAGG,KAAED,GAAE;AAAE,WAAOC,KAAEjL,GAAEiL,KAAEE,EAAC,GAAEH,KAAEhL,GAAEgL,KAAEG,EAAC,GAAE,CAACF,IAAED,EAAC;AAAA,EAAC;AAAC,QAAM9L,MAAG,EAAE,IAAE,OAAO,CAAC,KAAG,OAAO,CAAC;AAAE,WAASqE,GAAEuH,IAAEG,IAAE;AAAC0D,SAAG,KAAI7D,IAAE0F,MAAG,CAAC,GAAE7B,KAAG,UAAS1D,IAAEuF,MAAG,CAAC;AAAE,UAAMxF,KAAEC,IAAEE,KAAEL;AAAE,QAAIM,KAAEqF,MAAGpF,KAAEmF,MAAGlF,KAAER,IAAES,KAAEkF,MAAGjF,KAAEgF,MAAG/E;AAAE,aAAQC,KAAE,OAAOxK,KAAE,CAAC,GAAEwK,MAAG8E,MAAG9E,MAAI;AAAC,YAAM,IAAEV,MAAGU,KAAE+E;AAAG,MAAAjF,MAAG,GAAEC,KAAExK,GAAEuK,IAAEJ,IAAEE,EAAC,GAAEF,KAAEK,GAAE,CAAC,GAAEH,KAAEG,GAAE,CAAC,GAAEA,KAAExK,GAAEuK,IAAEH,IAAEE,EAAC,GAAEF,KAAEI,GAAE,CAAC,GAAEF,KAAEE,GAAE,CAAC,GAAED,KAAE;AAAE,YAAM5L,KAAEwL,KAAEC,IAAEtM,KAAEiB,GAAEJ,KAAEA,EAAC,GAAE+L,KAAEP,KAAEC,IAAEO,KAAE5L,GAAE2L,KAAEA,EAAC,GAAErM,KAAEP,KAAE6M,IAAEC,KAAEP,KAAEC,IAAEO,KAAER,KAAEC,IAAEnK,KAAEpB,GAAE8L,KAAElM,EAAC,GAAEmM,KAAE/L,GAAE6L,KAAEF,EAAC,GAAEK,KAAE5K,KAAE2K,IAAEE,KAAE7K,KAAE2K;AAAE,MAAAT,KAAEtL,GAAEgM,KAAEA,EAAC,GAAET,KAAEvL,GAAEmL,KAAEnL,GAAEiM,KAAEA,EAAC,CAAC,GAAEb,KAAEpL,GAAEjB,KAAE6M,EAAC,GAAEP,KAAErL,GAAEV,MAAGP,KAAEiB,GAAEd,KAAEI,EAAC,EAAE;AAAA,IAAC;AAAC,IAAAmM,KAAExK,GAAEuK,IAAEJ,IAAEE,EAAC,GAAEF,KAAEK,GAAE,CAAC,GAAEH,KAAEG,GAAE,CAAC,GAAEA,KAAExK,GAAEuK,IAAEH,IAAEE,EAAC,GAAEF,KAAEI,GAAE,CAAC,GAAEF,KAAEE,GAAE,CAAC;AAAE,UAAM,IAAE3M,GAAEuM,EAAC;AAAE,WAAOrL,GAAEoL,KAAE,CAAC;AAAA,EAAC;AAAC,WAAShM,GAAE0L,IAAE;AAAC,WAAOwD,KAAGtO,GAAE8K,EAAC,GAAExH,EAAC;AAAA,EAAC;AAAC,WAASnE,GAAE2L,IAAE;AAAC,UAAMG,KAAEsD,KAAG,gBAAezD,IAAExH,EAAC;AAAE,WAAOpD,OAAI,OAAK+K,GAAE,EAAE,KAAG,MAAKmD,KAAGnD,EAAC;AAAA,EAAC;AAAC,WAAShD,GAAE6C,IAAE;AAAC,UAAMG,KAAEsD,KAAG,UAASzD,EAAC,GAAEE,KAAEC,GAAE;AAAO,QAAGD,OAAI1H,MAAG0H,OAAI9K,IAAE;AAAC,UAAIiL,KAAE,KAAG7H,KAAE,SAAOpD;AAAE,YAAM,IAAI,MAAM,8BAA4BiL,KAAE,iBAAeH,EAAC;AAAA,IAAC;AAAC,WAAOoD,KAAGnP,GAAEgM,EAAC,CAAC;AAAA,EAAC;AAAC,WAAStL,GAAEmL,IAAEG,IAAE;AAAC,UAAMD,KAAE7L,GAAE8L,EAAC,GAAEE,KAAElD,GAAE6C,EAAC,GAAEM,KAAE7H,GAAEyH,IAAEG,EAAC;AAAE,QAAGC,OAAIoF,KAAG,OAAM,IAAI,MAAM,wCAAwC;AAAE,WAAOpR,GAAEgM,EAAC;AAAA,EAAC;AAAC,QAAM3K,KAAErB,GAAE,EAAE,EAAE;AAAE,WAASK,GAAEqL,IAAE;AAAC,WAAOnL,GAAEmL,IAAErK,EAAC;AAAA,EAAC;AAAC,SAAM,EAAC,YAAWd,IAAE,gBAAeF,IAAE,iBAAgB,CAACqL,IAAEG,OAAItL,GAAEmL,IAAEG,EAAC,GAAE,cAAa,CAAAH,OAAGrL,GAAEqL,EAAC,GAAE,OAAM,EAAC,kBAAiB,MAAI,EAAE,YAAY,EAAE,WAAW,EAAC,GAAE,SAAQrK,GAAC;AAAC;AAAC,MAAMiQ,OAAG,OAAO,+EAA+E;AAAE,OAAO,CAAC;AAAE,MAAM,KAAG,OAAO,CAAC,GAAEC,OAAG,OAAO,CAAC,GAAE,KAAG,OAAO,CAAC,GAAE,KAAG,OAAO,CAAC;AAAE,OAAO,CAAC;AAAE,SAAS,GAAGtR,IAAE;AAAC,QAAM,IAAE,OAAO,EAAE,GAAE,IAAE,OAAO,EAAE,GAAEW,KAAE,OAAO,EAAE,GAAEkB,KAAE,OAAO,EAAE,GAAEoC,KAAEoN,MAAGzR,KAAEI,KAAEA,KAAEiE,KAAEjE,KAAEiE,IAAExE,KAAE2Q,KAAGxQ,IAAE0R,MAAGrN,EAAC,IAAErE,KAAEqE,IAAErC,KAAEwO,KAAG3Q,IAAE,IAAGwE,EAAC,IAAEjE,KAAEiE,IAAEpE,KAAEuQ,KAAGxO,IAAE,IAAGqC,EAAC,IAAErC,KAAEqC,IAAEC,KAAEkM,KAAGvQ,IAAE,GAAEoE,EAAC,IAAEpE,KAAEoE,IAAElE,KAAEqQ,KAAGlM,IAAE,GAAED,EAAC,IAAEC,KAAED,IAAEnE,KAAEsQ,KAAGrQ,IAAEY,IAAEsD,EAAC,IAAElE,KAAEkE,IAAE2E,KAAEwH,KAAGtQ,IAAE+B,IAAEoC,EAAC,IAAEnE,KAAEmE,IAAE3D,KAAE8P,KAAGxH,IAAE/G,IAAEoC,EAAC,IAAEnE,KAAEmE,IAAE7C,KAAEgP,KAAG9P,IAAE,GAAE2D,EAAC,IAAEpE,KAAEoE;AAAE,SAAM,EAAC,WAAUmM,KAAGhP,IAAEkQ,MAAGrN,EAAC,IAAEjE,KAAEiE,IAAE,IAAGrE,GAAC;AAAC;AAAC,SAAS,GAAGI,IAAE;AAAC,SAAOA,GAAE,CAAC,KAAG,KAAIA,GAAE,EAAE,KAAG,KAAIA,GAAE,EAAE,KAAG,IAAGA;AAAC;AAAC,MAAMuR,OAAG,GAAG,EAAC,GAAEF,MAAG,GAAE,OAAO,MAAM,GAAE,gBAAe,KAAI,aAAY,IAAG,IAAG,OAAO,CAAC,GAAE,YAAW,CAAArR,OAAG;AAAC,QAAM,IAAEqR,MAAG,EAAC,WAAU,GAAE,IAAG1Q,GAAC,IAAE,GAAGX,EAAC;AAAE,SAAOkQ,IAAEE,KAAG,GAAE,IAAG,CAAC,IAAEzP,IAAE,CAAC;AAAC,GAAE,mBAAkB,IAAG,aAAY6G,KAAE,CAAC;AAAE,SAASgK,KAAGxR,IAAE;AAAC,EAAAA,GAAE,SAAO,UAAQsO,KAAG,QAAOtO,GAAE,IAAI,GAAEA,GAAE,YAAU,UAAQsO,KAAG,WAAUtO,GAAE,OAAO;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,QAAM,IAAEkR,KAAGlR,EAAC;AAAE4P,OAAG,GAAE,EAAC,GAAE,SAAQ,GAAE,QAAO,GAAE,EAAC,0BAAyB,SAAQ,gBAAe,WAAU,eAAc,YAAW,eAAc,YAAW,oBAAmB,WAAU,WAAU,YAAW,SAAQ,WAAU,CAAC;AAAE,QAAK,EAAC,MAAK,GAAE,IAAGjP,IAAE,GAAEkB,GAAC,IAAE;AAAE,MAAG,GAAE;AAAC,QAAG,CAAClB,GAAE,IAAIkB,IAAElB,GAAE,IAAI,EAAE,OAAM,IAAI,MAAM,4EAA4E;AAAE,QAAG,OAAO,KAAG,YAAU,OAAO,EAAE,QAAM,YAAU,OAAO,EAAE,eAAa,WAAW,OAAM,IAAI,MAAM,uEAAuE;AAAA,EAAC;AAAC,SAAO,OAAO,OAAO,EAAC,GAAG,EAAC,CAAC;AAAC;AAAC,MAAK,EAAC,iBAAgB,IAAG,YAAW,GAAE,IAAE;AAAG,MAAM,WAAW,MAAK;AAAA,EAAC,YAAY,IAAE,IAAG;AAAC,UAAM,CAAC;AAAA,EAAC;AAAC;AAAC,MAAM8Q,OAAG,EAAC,KAAI,IAAG,MAAK,EAAC,QAAO,CAACzR,IAAE,MAAI;AAAC,QAAK,EAAC,KAAI,EAAC,IAAEyR;AAAG,MAAGzR,KAAE,KAAGA,KAAE,IAAI,OAAM,IAAI,EAAE,uBAAuB;AAAE,MAAG,EAAE,SAAO,EAAE,OAAM,IAAI,EAAE,2BAA2B;AAAE,QAAMW,KAAE,EAAE,SAAO,GAAEkB,KAAE4M,KAAG9N,EAAC;AAAE,MAAGkB,GAAE,SAAO,IAAE,IAAI,OAAM,IAAI,EAAE,sCAAsC;AAAE,QAAMoC,KAAEtD,KAAE,MAAI8N,KAAG5M,GAAE,SAAO,IAAE,GAAG,IAAE;AAAG,SAAO4M,KAAGzO,EAAC,IAAEiE,KAAEpC,KAAE;AAAC,GAAE,OAAO7B,IAAE,GAAE;AAAC,QAAK,EAAC,KAAI,EAAC,IAAEyR;AAAG,MAAI9Q,KAAE;AAAE,MAAGX,KAAE,KAAGA,KAAE,IAAI,OAAM,IAAI,EAAE,uBAAuB;AAAE,MAAG,EAAE,SAAO,KAAG,EAAEW,IAAG,MAAIX,GAAE,OAAM,IAAI,EAAE,uBAAuB;AAAE,QAAM6B,KAAE,EAAElB,IAAG,GAAEsD,KAAE,CAAC,EAAEpC,KAAE;AAAK,MAAIhB,KAAE;AAAE,MAAG,CAACoD,GAAE,CAAApD,KAAEgB;AAAA,OAAM;AAAC,UAAMpC,KAAEoC,KAAE;AAAI,QAAG,CAACpC,GAAE,OAAM,IAAI,EAAE,mDAAmD;AAAE,QAAGA,KAAE,EAAE,OAAM,IAAI,EAAE,0CAA0C;AAAE,UAAMmC,KAAE,EAAE,SAASjB,IAAEA,KAAElB,EAAC;AAAE,QAAGmC,GAAE,WAASnC,GAAE,OAAM,IAAI,EAAE,uCAAuC;AAAE,QAAGmC,GAAE,CAAC,MAAI,EAAE,OAAM,IAAI,EAAE,sCAAsC;AAAE,eAAU/B,MAAK+B,GAAE,CAAAf,KAAEA,MAAG,IAAEhB;AAAE,QAAGc,MAAGlB,IAAEoB,KAAE,IAAI,OAAM,IAAI,EAAE,wCAAwC;AAAA,EAAC;AAAC,QAAMjB,KAAE,EAAE,SAASe,IAAEA,KAAEE,EAAC;AAAE,MAAGjB,GAAE,WAASiB,GAAE,OAAM,IAAI,EAAE,gCAAgC;AAAE,SAAM,EAAC,GAAEjB,IAAE,GAAE,EAAE,SAASe,KAAEE,EAAC,EAAC;AAAC,EAAC,GAAE,MAAK,EAAC,OAAOb,IAAE;AAAC,QAAK,EAAC,KAAI,EAAC,IAAEyR;AAAG,MAAGzR,KAAE0R,KAAG,OAAM,IAAI,EAAE,4CAA4C;AAAE,MAAI,IAAEjD,KAAGzO,EAAC;AAAE,MAAG,OAAO,SAAS,EAAE,CAAC,GAAE,EAAE,IAAE,MAAI,IAAE,OAAK,IAAG,EAAE,SAAO,EAAE,OAAM,IAAI,EAAE,gDAAgD;AAAE,SAAO;AAAC,GAAE,OAAOA,IAAE;AAAC,QAAK,EAAC,KAAI,EAAC,IAAEyR;AAAG,MAAGzR,GAAE,CAAC,IAAE,IAAI,OAAM,IAAI,EAAE,qCAAqC;AAAE,MAAGA,GAAE,CAAC,MAAI,KAAG,EAAEA,GAAE,CAAC,IAAE,KAAK,OAAM,IAAI,EAAE,qDAAqD;AAAE,SAAO,GAAGA,EAAC;AAAC,EAAC,GAAE,MAAMA,IAAE;AAAC,QAAK,EAAC,KAAI,GAAE,MAAK,GAAE,MAAKW,GAAC,IAAE8Q,MAAG5P,KAAE,OAAO7B,MAAG,WAAS,GAAGA,EAAC,IAAEA;AAAEqO,OAAGxM,EAAC;AAAE,QAAK,EAAC,GAAEoC,IAAE,GAAEpD,GAAC,IAAEF,GAAE,OAAO,IAAGkB,EAAC;AAAE,MAAGhB,GAAE,OAAO,OAAM,IAAI,EAAE,6CAA6C;AAAE,QAAK,EAAC,GAAEjB,IAAE,GAAEH,GAAC,IAAEkB,GAAE,OAAO,GAAEsD,EAAC,GAAE,EAAC,GAAErC,IAAE,GAAA/B,GAAC,IAAEc,GAAE,OAAO,GAAElB,EAAC;AAAE,MAAGI,GAAE,OAAO,OAAM,IAAI,EAAE,6CAA6C;AAAE,SAAM,EAAC,GAAE,EAAE,OAAOD,EAAC,GAAE,GAAE,EAAE,OAAOgC,EAAC,EAAC;AAAC,GAAE,WAAW5B,IAAE;AAAC,QAAK,EAAC,MAAK,GAAE,MAAK,EAAC,IAAEyR,MAAG9Q,KAAE,EAAE,OAAO,GAAE,EAAE,OAAOX,GAAE,CAAC,CAAC,GAAE6B,KAAE,EAAE,OAAO,GAAE,EAAE,OAAO7B,GAAE,CAAC,CAAC,GAAEiE,KAAEtD,KAAEkB;AAAE,SAAO,EAAE,OAAO,IAAGoC,EAAC;AAAC,EAAC,GAAEyN,OAAG,OAAO,CAAC,GAAEC,MAAE,OAAO,CAAC;AAAE,OAAO,CAAC;AAAE,MAAMC,OAAG,OAAO,CAAC;AAAE,OAAO,CAAC;AAAE,SAAS,GAAG5R,IAAE;AAAC,QAAM,IAAE,GAAGA,EAAC,GAAE,EAAC,IAAG,EAAC,IAAE,GAAEW,KAAE4P,KAAG,EAAE,GAAE,EAAE,UAAU,GAAE1O,KAAE,EAAE,YAAU,CAACvB,IAAEc,IAAEhB,OAAI;AAAC,UAAMqL,KAAErK,GAAE,SAAQ;AAAG,WAAO+N,KAAG,WAAW,KAAK,CAAC,CAAC,CAAC,GAAE,EAAE,QAAQ1D,GAAE,CAAC,GAAE,EAAE,QAAQA,GAAE,CAAC,CAAC;AAAA,EAAC,IAAGxH,KAAE,EAAE,cAAY,CAAA3D,OAAG;AAAC,UAAMc,KAAEd,GAAE,SAAS,CAAC,GAAEF,KAAE,EAAE,UAAUgB,GAAE,SAAS,GAAE,EAAE,KAAK,CAAC,GAAEqK,KAAE,EAAE,UAAUrK,GAAE,SAAS,EAAE,OAAM,IAAE,EAAE,KAAK,CAAC;AAAE,WAAM,EAAC,GAAEhB,IAAE,GAAEqL,GAAC;AAAA,EAAC;AAAG,WAAS5K,GAAEP,IAAE;AAAC,UAAK,EAAC,GAAEc,IAAE,GAAEhB,GAAC,IAAE,GAAEqL,KAAE,EAAE,IAAInL,EAAC,GAAEsL,KAAE,EAAE,IAAIH,IAAEnL,EAAC;AAAE,WAAO,EAAE,IAAI,EAAE,IAAIsL,IAAE,EAAE,IAAItL,IAAEc,EAAC,CAAC,GAAEhB,EAAC;AAAA,EAAC;AAAC,MAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAES,GAAE,EAAE,EAAE,CAAC,EAAE,OAAM,IAAI,MAAM,6CAA6C;AAAE,WAASjB,GAAEU,IAAE;AAAC,WAAO+O,KAAG/O,IAAEqR,KAAE,EAAE,CAAC;AAAA,EAAC;AAAC,WAASlS,GAAEa,IAAE;AAAC,UAAK,EAAC,0BAAyBc,IAAE,aAAYhB,IAAE,gBAAeqL,IAAE,GAAEG,GAAC,IAAE;AAAE,QAAGxK,MAAG,OAAOd,MAAG,UAAS;AAAC,UAAG8N,KAAG9N,EAAC,MAAIA,KAAEkO,KAAGlO,EAAC,IAAG,OAAOA,MAAG,YAAU,CAACc,GAAE,SAASd,GAAE,MAAM,EAAE,OAAM,IAAI,MAAM,qBAAqB;AAAE,MAAAA,KAAEA,GAAE,SAASF,KAAE,GAAE,GAAG;AAAA,IAAC;AAAC,QAAIuL;AAAE,QAAG;AAAC,MAAAA,KAAE,OAAOrL,MAAG,WAASA,KAAEwO,KAAGI,KAAG,eAAc5O,IAAEF,EAAC,CAAC;AAAA,IAAC,QAAM;AAAC,YAAM,IAAI,MAAM,0CAAwCA,KAAE,iBAAe,OAAOE,EAAC;AAAA,IAAC;AAAC,WAAOmL,OAAIE,KAAEuE,IAAEvE,IAAEC,EAAC,IAAG0D,KAAG,eAAc3D,IAAEgG,KAAE/F,EAAC,GAAED;AAAA,EAAC;AAAC,WAAS/J,GAAEtB,IAAE;AAAC,QAAG,EAAEA,cAAaP,IAAG,OAAM,IAAI,MAAM,0BAA0B;AAAA,EAAC;AAAC,QAAMF,KAAEgQ,KAAG,CAACvP,IAAEc,OAAI;AAAC,UAAK,EAAC,IAAGhB,IAAE,IAAGqL,IAAE,IAAGG,GAAC,IAAEtL;AAAE,QAAG,EAAE,IAAIsL,IAAE,EAAE,GAAG,EAAE,QAAM,EAAC,GAAExL,IAAE,GAAEqL,GAAC;AAAE,UAAME,KAAErL,GAAE,IAAG;AAAG,IAAAc,MAAG,SAAOA,KAAEuK,KAAE,EAAE,MAAI,EAAE,IAAIC,EAAC;AAAG,UAAME,KAAE,EAAE,IAAI1L,IAAEgB,EAAC,GAAE2K,KAAE,EAAE,IAAIN,IAAErK,EAAC,GAAE4K,KAAE,EAAE,IAAIJ,IAAExK,EAAC;AAAE,QAAGuK,GAAE,QAAM,EAAC,GAAE,EAAE,MAAK,GAAE,EAAE,KAAI;AAAE,QAAG,CAAC,EAAE,IAAIK,IAAE,EAAE,GAAG,EAAE,OAAM,IAAI,MAAM,kBAAkB;AAAE,WAAM,EAAC,GAAEF,IAAE,GAAEC,GAAC;AAAA,EAAC,CAAC,GAAE7H,KAAE2L,KAAG,CAAAvP,OAAG;AAAC,QAAGA,GAAE,IAAG,GAAG;AAAC,UAAG,EAAE,sBAAoB,CAAC,EAAE,IAAIA,GAAE,EAAE,EAAE;AAAO,YAAM,IAAI,MAAM,iBAAiB;AAAA,IAAC;AAAC,UAAK,EAAC,GAAEc,IAAE,GAAEhB,GAAC,IAAEE,GAAE;AAAW,QAAG,CAAC,EAAE,QAAQc,EAAC,KAAG,CAAC,EAAE,QAAQhB,EAAC,EAAE,OAAM,IAAI,MAAM,0BAA0B;AAAE,UAAMqL,KAAE,EAAE,IAAIrL,EAAC,GAAEwL,KAAE/K,GAAEO,EAAC;AAAE,QAAG,CAAC,EAAE,IAAIqK,IAAEG,EAAC,EAAE,OAAM,IAAI,MAAM,mCAAmC;AAAE,QAAG,CAACtL,GAAE,cAAa,EAAG,OAAM,IAAI,MAAM,wCAAwC;AAAE,WAAM;AAAA,EAAE,CAAC;AAAA,EAAE,MAAMP,GAAC;AAAA,IAAC,YAAYqB,IAAEhB,IAAEqL,IAAE;AAAC,UAAG,KAAK,KAAGrK,IAAE,KAAK,KAAGhB,IAAE,KAAK,KAAGqL,IAAErK,MAAG,QAAM,CAAC,EAAE,QAAQA,EAAC,EAAE,OAAM,IAAI,MAAM,YAAY;AAAE,UAAGhB,MAAG,QAAM,CAAC,EAAE,QAAQA,EAAC,EAAE,OAAM,IAAI,MAAM,YAAY;AAAE,UAAGqL,MAAG,QAAM,CAAC,EAAE,QAAQA,EAAC,EAAE,OAAM,IAAI,MAAM,YAAY;AAAE,aAAO,OAAO,IAAI;AAAA,IAAC;AAAA,IAAC,OAAO,WAAWrK,IAAE;AAAC,YAAK,EAAC,GAAEhB,IAAE,GAAEqL,GAAC,IAAErK,MAAG;AAAG,UAAG,CAACA,MAAG,CAAC,EAAE,QAAQhB,EAAC,KAAG,CAAC,EAAE,QAAQqL,EAAC,EAAE,OAAM,IAAI,MAAM,sBAAsB;AAAE,UAAGrK,cAAarB,GAAE,OAAM,IAAI,MAAM,8BAA8B;AAAE,YAAM6L,KAAE,CAAAD,OAAG,EAAE,IAAIA,IAAE,EAAE,IAAI;AAAE,aAAOC,GAAExL,EAAC,KAAGwL,GAAEH,EAAC,IAAE1L,GAAE,OAAK,IAAIA,GAAEK,IAAEqL,IAAE,EAAE,GAAG;AAAA,IAAC;AAAA,IAAC,IAAI,IAAG;AAAC,aAAO,KAAK,SAAQ,EAAG;AAAA,IAAC;AAAA,IAAC,IAAI,IAAG;AAAC,aAAO,KAAK,SAAQ,EAAG;AAAA,IAAC;AAAA,IAAC,OAAO,WAAWrK,IAAE;AAAC,YAAMhB,KAAE,EAAE,YAAYgB,GAAE,IAAI,CAAAqK,OAAGA,GAAE,EAAE,CAAC;AAAE,aAAOrK,GAAE,IAAI,CAACqK,IAAEG,OAAIH,GAAE,SAASrL,GAAEwL,EAAC,CAAC,CAAC,EAAE,IAAI7L,GAAE,UAAU;AAAA,IAAC;AAAA,IAAC,OAAO,QAAQqB,IAAE;AAAC,YAAMhB,KAAEL,GAAE,WAAWkE,GAAEiL,KAAG,YAAW9N,EAAC,CAAC,CAAC;AAAE,aAAOhB,GAAE,kBAAiBA;AAAA,IAAC;AAAA,IAAC,OAAO,eAAegB,IAAE;AAAC,aAAOrB,GAAE,KAAK,SAASN,GAAE2B,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,OAAO,IAAIA,IAAEhB,IAAE;AAAC,aAAO,GAAGL,IAAEY,IAAES,IAAEhB,EAAC;AAAA,IAAC;AAAA,IAAC,eAAegB,IAAE;AAAC,MAAAwH,GAAE,cAAc,MAAKxH,EAAC;AAAA,IAAC;AAAA,IAAC,iBAAgB;AAAC,MAAA8C,GAAE,IAAI;AAAA,IAAC;AAAA,IAAC,WAAU;AAAC,YAAK,EAAC,GAAE9C,GAAC,IAAE,KAAK,SAAQ;AAAG,UAAG,EAAE,MAAM,QAAM,CAAC,EAAE,MAAMA,EAAC;AAAE,YAAM,IAAI,MAAM,6BAA6B;AAAA,IAAC;AAAA,IAAC,OAAOA,IAAE;AAAC,MAAAQ,GAAER,EAAC;AAAE,YAAK,EAAC,IAAGhB,IAAE,IAAGqL,IAAE,IAAGG,GAAC,IAAE,MAAK,EAAC,IAAGD,IAAE,IAAGG,IAAE,IAAGC,GAAC,IAAE3K,IAAE4K,KAAE,EAAE,IAAI,EAAE,IAAI5L,IAAE2L,EAAC,GAAE,EAAE,IAAIJ,IAAEC,EAAC,CAAC,GAAEK,KAAE,EAAE,IAAI,EAAE,IAAIR,IAAEM,EAAC,GAAE,EAAE,IAAID,IAAEF,EAAC,CAAC;AAAE,aAAOI,MAAGC;AAAA,IAAC;AAAA,IAAC,SAAQ;AAAC,aAAO,IAAIlM,GAAE,KAAK,IAAG,EAAE,IAAI,KAAK,EAAE,GAAE,KAAK,EAAE;AAAA,IAAC;AAAA,IAAC,SAAQ;AAAC,YAAK,EAAC,GAAEqB,IAAE,GAAEhB,GAAC,IAAE,GAAEqL,KAAE,EAAE,IAAIrL,IAAEwR,IAAE,GAAE,EAAC,IAAGhG,IAAE,IAAGD,IAAE,IAAGG,GAAC,IAAE;AAAK,UAAIC,KAAE,EAAE,MAAKC,KAAE,EAAE,MAAKC,KAAE,EAAE,MAAKC,KAAE,EAAE,IAAIN,IAAEA,EAAC,GAAEO,KAAE,EAAE,IAAIR,IAAEA,EAAC,GAAES,KAAE,EAAE,IAAIN,IAAEA,EAAC,GAAE,IAAE,EAAE,IAAIF,IAAED,EAAC;AAAE,aAAO,IAAE,EAAE,IAAI,GAAE,CAAC,GAAEM,KAAE,EAAE,IAAIL,IAAEE,EAAC,GAAEG,KAAE,EAAE,IAAIA,IAAEA,EAAC,GAAEF,KAAE,EAAE,IAAI3K,IAAE6K,EAAC,GAAED,KAAE,EAAE,IAAIP,IAAEW,EAAC,GAAEJ,KAAE,EAAE,IAAID,IAAEC,EAAC,GAAED,KAAE,EAAE,IAAII,IAAEH,EAAC,GAAEA,KAAE,EAAE,IAAIG,IAAEH,EAAC,GAAEA,KAAE,EAAE,IAAID,IAAEC,EAAC,GAAED,KAAE,EAAE,IAAI,GAAEA,EAAC,GAAEE,KAAE,EAAE,IAAIR,IAAEQ,EAAC,GAAEG,KAAE,EAAE,IAAIhL,IAAEgL,EAAC,GAAE,IAAE,EAAE,IAAIF,IAAEE,EAAC,GAAE,IAAE,EAAE,IAAIhL,IAAE,CAAC,GAAE,IAAE,EAAE,IAAI,GAAE6K,EAAC,GAAEA,KAAE,EAAE,IAAIC,IAAEA,EAAC,GAAEA,KAAE,EAAE,IAAID,IAAEC,EAAC,GAAEA,KAAE,EAAE,IAAIA,IAAEE,EAAC,GAAEF,KAAE,EAAE,IAAIA,IAAE,CAAC,GAAEF,KAAE,EAAE,IAAIA,IAAEE,EAAC,GAAEE,KAAE,EAAE,IAAIT,IAAEG,EAAC,GAAEM,KAAE,EAAE,IAAIA,IAAEA,EAAC,GAAEF,KAAE,EAAE,IAAIE,IAAE,CAAC,GAAEL,KAAE,EAAE,IAAIA,IAAEG,EAAC,GAAED,KAAE,EAAE,IAAIG,IAAED,EAAC,GAAEF,KAAE,EAAE,IAAIA,IAAEA,EAAC,GAAEA,KAAE,EAAE,IAAIA,IAAEA,EAAC,GAAE,IAAIlM,GAAEgM,IAAEC,IAAEC,EAAC;AAAA,IAAC;AAAA,IAAC,IAAI7K,IAAE;AAAC,MAAAQ,GAAER,EAAC;AAAE,YAAK,EAAC,IAAGhB,IAAE,IAAGqL,IAAE,IAAGG,GAAC,IAAE,MAAK,EAAC,IAAGD,IAAE,IAAGG,IAAE,IAAGC,GAAC,IAAE3K;AAAE,UAAI4K,KAAE,EAAE,MAAKC,KAAE,EAAE,MAAKC,KAAE,EAAE;AAAK,YAAMC,KAAE,EAAE,GAAEC,KAAE,EAAE,IAAI,EAAE,GAAEwF,IAAE;AAAE,UAAI,IAAE,EAAE,IAAIxR,IAAEuL,EAAC,GAAEU,KAAE,EAAE,IAAIZ,IAAEK,EAAC,GAAE,IAAE,EAAE,IAAIF,IAAEG,EAAC,GAAExL,KAAE,EAAE,IAAIH,IAAEqL,EAAC,GAAE/L,KAAE,EAAE,IAAIiM,IAAEG,EAAC;AAAE,MAAAvL,KAAE,EAAE,IAAIA,IAAEb,EAAC,GAAEA,KAAE,EAAE,IAAI,GAAE2M,EAAC,GAAE9L,KAAE,EAAE,IAAIA,IAAEb,EAAC,GAAEA,KAAE,EAAE,IAAIU,IAAEwL,EAAC;AAAE,UAAIU,KAAE,EAAE,IAAIX,IAAEI,EAAC;AAAE,aAAOrM,KAAE,EAAE,IAAIA,IAAE4M,EAAC,GAAEA,KAAE,EAAE,IAAI,GAAE,CAAC,GAAE5M,KAAE,EAAE,IAAIA,IAAE4M,EAAC,GAAEA,KAAE,EAAE,IAAIb,IAAEG,EAAC,GAAEI,KAAE,EAAE,IAAIF,IAAEC,EAAC,GAAEO,KAAE,EAAE,IAAIA,IAAEN,EAAC,GAAEA,KAAE,EAAE,IAAIK,IAAE,CAAC,GAAEC,KAAE,EAAE,IAAIA,IAAEN,EAAC,GAAEE,KAAE,EAAE,IAAIC,IAAEzM,EAAC,GAAEsM,KAAE,EAAE,IAAII,IAAE,CAAC,GAAEF,KAAE,EAAE,IAAIF,IAAEE,EAAC,GAAEF,KAAE,EAAE,IAAIK,IAAEH,EAAC,GAAEA,KAAE,EAAE,IAAIG,IAAEH,EAAC,GAAED,KAAE,EAAE,IAAID,IAAEE,EAAC,GAAEG,KAAE,EAAE,IAAI,GAAE,CAAC,GAAEA,KAAE,EAAE,IAAIA,IAAE,CAAC,GAAE,IAAE,EAAE,IAAIF,IAAE,CAAC,GAAEzM,KAAE,EAAE,IAAI0M,IAAE1M,EAAC,GAAE2M,KAAE,EAAE,IAAIA,IAAE,CAAC,GAAE,IAAE,EAAE,IAAI,GAAE,CAAC,GAAE,IAAE,EAAE,IAAIF,IAAE,CAAC,GAAEzM,KAAE,EAAE,IAAIA,IAAE,CAAC,GAAE,IAAE,EAAE,IAAI2M,IAAE3M,EAAC,GAAEuM,KAAE,EAAE,IAAIA,IAAE,CAAC,GAAE,IAAE,EAAE,IAAIK,IAAE5M,EAAC,GAAEsM,KAAE,EAAE,IAAIzL,IAAEyL,EAAC,GAAEA,KAAE,EAAE,IAAIA,IAAE,CAAC,GAAE,IAAE,EAAE,IAAIzL,IAAE8L,EAAC,GAAEH,KAAE,EAAE,IAAII,IAAEJ,EAAC,GAAEA,KAAE,EAAE,IAAIA,IAAE,CAAC,GAAE,IAAInM,GAAEiM,IAAEC,IAAEC,EAAC;AAAA,IAAC;AAAA,IAAC,SAAS9K,IAAE;AAAC,aAAO,KAAK,IAAIA,GAAE,OAAM,CAAE;AAAA,IAAC;AAAA,IAAC,MAAK;AAAC,aAAO,KAAK,OAAOrB,GAAE,IAAI;AAAA,IAAC;AAAA,IAAC,KAAKqB,IAAE;AAAC,aAAOwH,GAAE,WAAW,MAAKxH,IAAErB,GAAE,UAAU;AAAA,IAAC;AAAA,IAAC,eAAeqB,IAAE;AAAC,YAAK,EAAC,MAAKhB,IAAE,GAAEqL,GAAC,IAAE;AAAE6D,WAAG,UAASlO,IAAEsQ,MAAGjG,EAAC;AAAE,YAAMG,KAAE7L,GAAE;AAAK,UAAGqB,OAAIsQ,KAAG,QAAO9F;AAAE,UAAG,KAAK,IAAG,KAAIxK,OAAIuQ,IAAE,QAAO;AAAK,UAAG,CAACvR,MAAGwI,GAAE,eAAe,IAAI,EAAE,QAAOA,GAAE,iBAAiB,MAAKxH,IAAErB,GAAE,UAAU;AAAE,UAAG,EAAC,OAAM4L,IAAE,IAAGG,IAAE,OAAMC,IAAE,IAAGC,GAAC,IAAE5L,GAAE,YAAYgB,EAAC,GAAE6K,KAAEL,IAAEM,KAAEN,IAAEO,KAAE;AAAK,aAAKL,KAAE4F,QAAI1F,KAAE0F,OAAI,CAAA5F,KAAE6F,QAAI1F,KAAEA,GAAE,IAAIE,EAAC,IAAGH,KAAE2F,QAAIzF,KAAEA,GAAE,IAAIC,EAAC,IAAGA,KAAEA,GAAE,OAAM,GAAGL,OAAI6F,KAAE3F,OAAI2F;AAAE,aAAOhG,OAAIM,KAAEA,GAAE,OAAM,IAAIF,OAAIG,KAAEA,GAAE,OAAM,IAAIA,KAAE,IAAInM,GAAE,EAAE,IAAImM,GAAE,IAAG9L,GAAE,IAAI,GAAE8L,GAAE,IAAGA,GAAE,EAAE,GAAED,GAAE,IAAIC,EAAC;AAAA,IAAC;AAAA,IAAC,SAAS9K,IAAE;AAAC,YAAK,EAAC,MAAKhB,IAAE,GAAEqL,GAAC,IAAE;AAAE6D,WAAG,UAASlO,IAAEuQ,KAAElG,EAAC;AAAE,UAAIG,IAAED;AAAE,UAAGvL,IAAE;AAAC,cAAK,EAAC,OAAM0L,IAAE,IAAGC,IAAE,OAAMC,IAAE,IAAGC,GAAC,IAAE7L,GAAE,YAAYgB,EAAC;AAAE,YAAG,EAAC,GAAE8K,IAAE,GAAEC,GAAC,IAAE,KAAK,KAAKJ,EAAC,GAAE,EAAC,GAAEK,IAAE,GAAE,EAAC,IAAE,KAAK,KAAKH,EAAC;AAAE,QAAAC,KAAEtD,GAAE,gBAAgBkD,IAAEI,EAAC,GAAEE,KAAExD,GAAE,gBAAgBoD,IAAEI,EAAC,GAAEA,KAAE,IAAIrM,GAAE,EAAE,IAAIqM,GAAE,IAAGhM,GAAE,IAAI,GAAEgM,GAAE,IAAGA,GAAE,EAAE,GAAER,KAAEM,GAAE,IAAIE,EAAC,GAAET,KAAEQ,GAAE,IAAI,CAAC;AAAA,MAAC,OAAK;AAAC,cAAK,EAAC,GAAEL,IAAE,GAAEC,GAAC,IAAE,KAAK,KAAK3K,EAAC;AAAE,QAAAwK,KAAEE,IAAEH,KAAEI;AAAA,MAAC;AAAC,aAAOhM,GAAE,WAAW,CAAC6L,IAAED,EAAC,CAAC,EAAE,CAAC;AAAA,IAAC;AAAA,IAAC,qBAAqBvK,IAAEhB,IAAEqL,IAAE;AAAC,YAAMG,KAAE7L,GAAE,MAAK4L,KAAE,CAACI,IAAEC,OAAIA,OAAI0F,QAAI1F,OAAI2F,OAAG,CAAC5F,GAAE,OAAOH,EAAC,IAAEG,GAAE,eAAeC,EAAC,IAAED,GAAE,SAASC,EAAC,GAAEF,KAAEH,GAAE,MAAKvL,EAAC,EAAE,IAAIuL,GAAEvK,IAAEqK,EAAC,CAAC;AAAE,aAAOK,GAAE,IAAG,IAAG,SAAOA;AAAA,IAAC;AAAA,IAAC,SAAS1K,IAAE;AAAC,aAAOvB,GAAE,MAAKuB,EAAC;AAAA,IAAC;AAAA,IAAC,gBAAe;AAAC,YAAK,EAAC,GAAEA,IAAE,eAAchB,GAAC,IAAE;AAAE,UAAGgB,OAAIuQ,IAAE;AAAS,UAAGvR,GAAE,QAAOA,GAAEL,IAAE,IAAI;AAAE,YAAM,IAAI,MAAM,8DAA8D;AAAA,IAAC;AAAA,IAAC,gBAAe;AAAC,YAAK,EAAC,GAAEqB,IAAE,eAAchB,GAAC,IAAE;AAAE,aAAOgB,OAAIuQ,MAAE,OAAKvR,KAAEA,GAAEL,IAAE,IAAI,IAAE,KAAK,eAAe,EAAE,CAAC;AAAA,IAAC;AAAA,IAAC,WAAWqB,KAAE,MAAG;AAAC,aAAOkN,KAAG,gBAAelN,EAAC,GAAE,KAAK,eAAc,GAAGS,GAAE9B,IAAE,MAAKqB,EAAC;AAAA,IAAC;AAAA,IAAC,MAAMA,KAAE,MAAG;AAAC,aAAOkN,KAAG,gBAAelN,EAAC,GAAEoN,KAAG,KAAK,WAAWpN,EAAC,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC,EAAArB,GAAE,OAAK,IAAIA,GAAE,EAAE,IAAG,EAAE,IAAG,EAAE,GAAG,GAAEA,GAAE,OAAK,IAAIA,GAAE,EAAE,MAAK,EAAE,KAAI,EAAE,IAAI;AAAE,QAAMD,KAAE,EAAE,YAAW8I,KAAE,GAAG7I,IAAE,EAAE,OAAK,KAAK,KAAKD,KAAE,CAAC,IAAEA,EAAC;AAAE,SAAM,EAAC,OAAM,GAAE,iBAAgBC,IAAE,wBAAuBN,IAAE,qBAAoBoB,IAAE,oBAAmBjB,GAAC;AAAC;AAAC,SAAS,GAAGI,IAAE;AAAC,QAAM,IAAEkR,KAAGlR,EAAC;AAAE,SAAO4P,KAAG,GAAE,EAAC,MAAK,QAAO,MAAK,YAAW,aAAY,WAAU,GAAE,EAAC,UAAS,YAAW,eAAc,YAAW,MAAK,UAAS,CAAC,GAAE,OAAO,OAAO,EAAC,MAAK,MAAG,GAAG,EAAC,CAAC;AAAC;AAAC,SAAS,GAAG5P,IAAE;AAAC,QAAM,IAAE,GAAGA,EAAC,GAAE,EAAC,IAAG,GAAE,GAAEW,GAAC,IAAE,GAAEkB,KAAE,EAAE,QAAM,GAAEoC,KAAE,IAAE,EAAE,QAAM;AAAE,WAASpD,GAAE,GAAE;AAAC,WAAOqP,IAAE,GAAEvP,EAAC;AAAA,EAAC;AAAC,WAASf,GAAE,GAAE;AAAC,WAAOyQ,KAAG,GAAE1P,EAAC;AAAA,EAAC;AAAC,QAAK,EAAC,iBAAgBlB,IAAE,wBAAuBmC,IAAE,qBAAoB/B,IAAE,oBAAmBqE,GAAC,IAAE,GAAG,EAAC,GAAG,GAAE,QAAQ,GAAE3D,IAAEb,IAAE;AAAC,UAAM4M,KAAE/L,GAAE,SAAQ,GAAGgM,KAAE,EAAE,QAAQD,GAAE,CAAC,GAAErM,KAAEkP;AAAG,WAAOb,KAAG,gBAAe5O,EAAC,GAAEA,KAAEO,GAAE,WAAW,KAAK,CAACM,GAAE,SAAQ,IAAG,IAAE,CAAC,CAAC,GAAEgM,EAAC,IAAEtM,GAAE,WAAW,KAAK,CAAC,CAAC,CAAC,GAAEsM,IAAE,EAAE,QAAQD,GAAE,CAAC,CAAC;AAAA,EAAC,GAAE,UAAU,GAAE;AAAC,UAAM/L,KAAE,EAAE,QAAOb,KAAE,EAAE,CAAC,GAAE4M,KAAE,EAAE,SAAS,CAAC;AAAE,QAAG/L,OAAIsB,OAAInC,OAAI,KAAGA,OAAI,IAAG;AAAC,YAAM6M,KAAEuC,KAAGxC,EAAC;AAAE,UAAG,CAAC+C,KAAG9C,IAAEoF,KAAE,EAAE,KAAK,EAAE,OAAM,IAAI,MAAM,uBAAuB;AAAE,YAAM1R,KAAEJ,GAAE0M,EAAC;AAAE,UAAIC;AAAE,UAAG;AAAC,QAAAA,KAAE,EAAE,KAAKvM,EAAC;AAAA,MAAC,SAAOyM,IAAE;AAAC,cAAMC,KAAED,cAAa,QAAM,OAAKA,GAAE,UAAQ;AAAG,cAAM,IAAI,MAAM,0BAAwBC,EAAC;AAAA,MAAC;AAAC,YAAMF,MAAGD,KAAEmF,SAAKA;AAAE,cAAOjS,KAAE,OAAK,MAAI+M,OAAID,KAAE,EAAE,IAAIA,EAAC,IAAG,EAAC,GAAED,IAAE,GAAEC,GAAC;AAAA,IAAC,WAASjM,OAAI0D,MAAGvE,OAAI,GAAE;AAAC,YAAM6M,KAAE,EAAE,UAAUD,GAAE,SAAS,GAAE,EAAE,KAAK,CAAC,GAAErM,KAAE,EAAE,UAAUqM,GAAE,SAAS,EAAE,OAAM,IAAE,EAAE,KAAK,CAAC;AAAE,aAAM,EAAC,GAAEC,IAAE,GAAEtM,GAAC;AAAA,IAAC,OAAK;AAAC,YAAMsM,KAAE1K,IAAE5B,KAAEgE;AAAE,YAAM,IAAI,MAAM,uCAAqCsI,KAAE,uBAAqBtM,KAAE,WAASM,EAAC;AAAA,IAAC;AAAA,EAAC,EAAC,CAAC,GAAER,KAAE,OAAGyO,KAAGQ,KAAG,GAAE,EAAE,WAAW,CAAC;AAAE,WAASlP,GAAE,GAAE;AAAC,UAAMS,KAAEI,MAAGgR;AAAE,WAAO,IAAEpR;AAAA,EAAC;AAAC,WAASqI,GAAE,GAAE;AAAC,WAAO9I,GAAE,CAAC,IAAEe,GAAE,CAAC,CAAC,IAAE;AAAA,EAAC;AAAC,QAAMP,KAAE,CAAC,GAAEC,IAAEb,OAAIoP,KAAG,EAAE,MAAMvO,IAAEb,EAAC,CAAC;AAAA,EAAE,MAAM0B,GAAC;AAAA,IAAC,YAAYb,IAAEb,IAAE4M,IAAE;AAAC,WAAK,IAAE/L,IAAE,KAAK,IAAEb,IAAE,KAAK,WAAS4M,IAAE,KAAK,eAAc;AAAA,IAAE;AAAA,IAAC,OAAO,YAAY/L,IAAE;AAAC,YAAMb,KAAE,EAAE;AAAY,aAAOa,KAAE2O,KAAG,oBAAmB3O,IAAEb,KAAE,CAAC,GAAE,IAAI0B,GAAEd,GAAEC,IAAE,GAAEb,EAAC,GAAEY,GAAEC,IAAEb,IAAE,IAAEA,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,OAAO,QAAQa,IAAE;AAAC,YAAK,EAAC,GAAEb,IAAE,GAAE4M,GAAC,IAAEmF,KAAG,MAAMvC,KAAG,OAAM3O,EAAC,CAAC;AAAE,aAAO,IAAIa,GAAE1B,IAAE4M,EAAC;AAAA,IAAC;AAAA,IAAC,iBAAgB;AAACgD,WAAG,KAAI,KAAK,GAAEqC,KAAEhR,EAAC,GAAE2O,KAAG,KAAI,KAAK,GAAEqC,KAAEhR,EAAC;AAAA,IAAC;AAAA,IAAC,eAAeJ,IAAE;AAAC,aAAO,IAAIa,GAAE,KAAK,GAAE,KAAK,GAAEb,EAAC;AAAA,IAAC;AAAA,IAAC,iBAAiBA,IAAE;AAAC,YAAK,EAAC,GAAEb,IAAE,GAAE4M,IAAE,UAASC,GAAC,IAAE,MAAKtM,KAAE8L,GAAEmD,KAAG,WAAU3O,EAAC,CAAC;AAAE,UAAGgM,MAAG,QAAM,CAAC,CAAC,GAAE,GAAE,GAAE,CAAC,EAAE,SAASA,EAAC,EAAE,OAAM,IAAI,MAAM,qBAAqB;AAAE,YAAMC,KAAED,OAAI,KAAGA,OAAI,IAAE7M,KAAE,EAAE,IAAEA;AAAE,UAAG8M,MAAG,EAAE,MAAM,OAAM,IAAI,MAAM,4BAA4B;AAAE,YAAMC,MAAGF,KAAE,OAAK,IAAE,OAAK,MAAKxK,KAAEtC,GAAE,QAAQgN,KAAE1M,GAAEyM,EAAC,CAAC,GAAEE,KAAE9M,GAAE4M,EAAC,GAAEG,KAAE9L,GAAE,CAACZ,KAAEyM,EAAC,GAAEE,KAAE/L,GAAEyL,KAAEI,EAAC,GAAE,IAAEjN,GAAE,KAAK,qBAAqBsC,IAAE4K,IAAEC,EAAC;AAAE,UAAG,CAAC,EAAE,OAAM,IAAI,MAAM,mBAAmB;AAAE,aAAO,EAAE,eAAc,GAAG;AAAA,IAAC;AAAA,IAAC,WAAU;AAAC,aAAO9M,GAAE,KAAK,CAAC;AAAA,IAAC;AAAA,IAAC,aAAY;AAAC,aAAO,KAAK,SAAQ,IAAG,IAAIsB,GAAE,KAAK,GAAEP,GAAE,CAAC,KAAK,CAAC,GAAE,KAAK,QAAQ,IAAE;AAAA,IAAI;AAAA,IAAC,gBAAe;AAAC,aAAOgO,KAAG,KAAK,SAAQ,CAAE;AAAA,IAAC;AAAA,IAAC,WAAU;AAAC,aAAO4C,KAAG,WAAW,EAAC,GAAE,KAAK,GAAE,GAAE,KAAK,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,oBAAmB;AAAC,aAAO5C,KAAG,KAAK,cAAc;AAAA,IAAC;AAAA,IAAC,eAAc;AAAC,aAAO9O,GAAE,KAAK,CAAC,IAAEA,GAAE,KAAK,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC,QAAMK,KAAE,EAAC,kBAAkB,GAAE;AAAC,QAAG;AAAC,aAAOwB,GAAE,CAAC,GAAE;AAAA,IAAE,QAAM;AAAC,aAAM;AAAA,IAAE;AAAA,EAAC,GAAE,wBAAuBA,IAAE,kBAAiB,MAAI;AAAC,UAAM,IAAE6O,KAAG,EAAE,CAAC;AAAE,WAAO,GAAG,EAAE,YAAY,CAAC,GAAE,EAAE,CAAC;AAAA,EAAC,GAAE,WAAW,IAAE,GAAElQ,KAAEd,GAAE,MAAK;AAAC,WAAOc,GAAE,eAAe,CAAC,GAAEA,GAAE,SAAS,OAAO,CAAC,CAAC,GAAEA;AAAA,EAAC,EAAC;AAAE,WAASkL,GAAE,GAAElL,KAAE,MAAG;AAAC,WAAOd,GAAE,eAAe,CAAC,EAAE,WAAWc,EAAC;AAAA,EAAC;AAAC,WAASqL,GAAE,GAAE;AAAC,UAAMrL,KAAE6N,KAAG,CAAC,GAAE1O,KAAE,OAAO,KAAG,UAAS4M,MAAG/L,MAAGb,OAAI,EAAE;AAAO,WAAOa,KAAE+L,OAAIzK,MAAGyK,OAAIrI,KAAEvE,KAAE4M,OAAI,IAAEzK,MAAGyK,OAAI,IAAErI,KAAE,aAAaxE;AAAA,EAAC;AAAC,WAASkM,GAAE,GAAEpL,IAAEb,KAAE,MAAG;AAAC,QAAGkM,GAAE,CAAC,EAAE,OAAM,IAAI,MAAM,+BAA+B;AAAE,QAAG,CAACA,GAAErL,EAAC,EAAE,OAAM,IAAI,MAAM,+BAA+B;AAAE,WAAOd,GAAE,QAAQc,EAAC,EAAE,SAASqB,GAAE,CAAC,CAAC,EAAE,WAAWlC,EAAC;AAAA,EAAC;AAAC,QAAMoM,KAAE,EAAE,YAAU,SAAS,GAAE;AAAC,QAAG,EAAE,SAAO,KAAK,OAAM,IAAI,MAAM,oBAAoB;AAAE,UAAMvL,KAAEuO,KAAG,CAAC,GAAEpP,KAAE,EAAE,SAAO,IAAE,EAAE;AAAW,WAAOA,KAAE,IAAEa,MAAG,OAAOb,EAAC,IAAEa;AAAA,EAAC,GAAEwL,KAAE,EAAE,iBAAe,SAAS,GAAE;AAAC,WAAOlL,GAAEiL,GAAE,CAAC,CAAC;AAAA,EAAC,GAAEE,KAAEwD,KAAG,EAAE,UAAU;AAAE,WAASvD,GAAE,GAAE;AAAC,WAAOqD,KAAG,aAAW,EAAE,YAAW,GAAEoC,MAAG1F,EAAC,GAAEgD,KAAG,GAAE,EAAE,WAAW;AAAA,EAAC;AAAC,WAAS9C,GAAE,GAAE3L,IAAEb,KAAEyM,IAAE;AAAC,QAAG,CAAC,aAAY,WAAW,EAAE,KAAK,CAAAU,OAAGA,MAAKnN,EAAC,EAAE,OAAM,IAAI,MAAM,qCAAqC;AAAE,UAAK,EAAC,MAAK4M,IAAE,aAAYC,GAAC,IAAE;AAAE,QAAG,EAAC,MAAKtM,IAAE,SAAQuM,IAAE,cAAaC,GAAC,IAAE/M;AAAE,IAAAO,MAAG,SAAOA,KAAE,OAAI,IAAEiP,KAAG,WAAU,CAAC,GAAEsC,KAAG9R,EAAC,GAAE8M,OAAI,IAAE0C,KAAG,qBAAoB5C,GAAE,CAAC,CAAC;AAAG,UAAMvK,KAAEgK,GAAE,CAAC,GAAEW,KAAE9K,GAAErB,EAAC,GAAEoM,KAAE,CAACV,GAAES,EAAC,GAAET,GAAElK,EAAC,CAAC;AAAE,QAAG0K,MAAG,QAAMA,OAAI,OAAG;AAAC,YAAMI,KAAEJ,OAAI,OAAGF,GAAE,EAAE,KAAK,IAAEE;AAAE,MAAAE,GAAE,KAAKuC,KAAG,gBAAerC,EAAC,CAAC;AAAA,IAAC;AAAC,UAAMD,KAAEuC,KAAG,GAAGxC,EAAC,GAAE,IAAE5K;AAAE,aAASL,IAAGmL,IAAE;AAAC,YAAMC,KAAEhB,GAAEe,EAAC;AAAE,UAAG,CAAC3I,GAAE4I,EAAC,EAAE;AAAO,YAAM+E,MAAGjS,GAAEkN,EAAC,GAAEgF,MAAGrS,GAAE,KAAK,SAASqN,EAAC,EAAE,YAAWiF,MAAGlR,GAAEiR,IAAG,CAAC;AAAE,UAAGC,QAAKL,KAAG;AAAO,YAAMM,MAAGnR,GAAEgR,MAAGhR,GAAE,IAAEkR,MAAGrF,EAAC,CAAC;AAAE,UAAGsF,QAAKN,KAAG;AAAO,UAAIO,OAAIH,IAAG,MAAIC,MAAG,IAAE,KAAG,OAAOD,IAAG,IAAEH,GAAC,GAAEO,MAAGF;AAAG,aAAO/R,MAAGH,GAAEkS,GAAE,MAAIE,MAAGtJ,GAAEoJ,GAAE,GAAEC,OAAI,IAAG,IAAI7Q,GAAE2Q,KAAGG,KAAGD,GAAE;AAAA,IAAC;AAAC,WAAM,EAAC,MAAKrF,IAAE,OAAMlL,IAAE;AAAA,EAAC;AAAC,QAAMyK,KAAE,EAAC,MAAK,EAAE,MAAK,SAAQ,MAAE,GAAEC,KAAE,EAAC,MAAK,EAAE,MAAK,SAAQ,MAAE;AAAE,WAAS,EAAE,GAAE7L,IAAEb,KAAEyM,IAAE;AAAC,UAAK,EAAC,MAAKG,IAAE,OAAMC,GAAC,IAAEL,GAAE,GAAE3L,IAAEb,EAAC,GAAEO,KAAE;AAAE,WAAO0P,KAAG1P,GAAE,KAAK,WAAUA,GAAE,aAAYA,GAAE,IAAI,EAAEqM,IAAEC,EAAC;AAAA,EAAC;AAAC,EAAA9M,GAAE,KAAK,eAAe,CAAC;AAAE,WAAS4M,GAAE,GAAE9L,IAAEb,IAAE4M,KAAEF,IAAE;;AAAC,UAAMG,KAAE;AAAE,IAAAhM,KAAE2O,KAAG,WAAU3O,EAAC,GAAEb,KAAEwP,KAAG,aAAYxP,EAAC;AAAE,UAAK,EAAC,MAAKO,IAAE,SAAQuM,IAAE,QAAOC,GAAC,IAAEH;AAAE,QAAGkF,KAAGlF,EAAC,GAAE,YAAWA,GAAE,OAAM,IAAI,MAAM,oCAAoC;AAAE,QAAGG,OAAI,UAAQA,OAAI,aAAWA,OAAI,MAAM,OAAM,IAAI,MAAM,+BAA+B;AAAE,UAAM1K,KAAE,OAAOwK,MAAG,YAAU6B,KAAG7B,EAAC,GAAEG,KAAE,CAAC3K,MAAG,CAAC0K,MAAG,OAAOF,MAAG,YAAUA,OAAI,QAAM,OAAOA,GAAE,KAAG,YAAU,OAAOA,GAAE,KAAG;AAAS,QAAG,CAACxK,MAAG,CAAC2K,GAAE,OAAM,IAAI,MAAM,0EAA0E;AAAE,QAAIC,IAAEC;AAAE,QAAG;AAAC,UAAGF,OAAIC,KAAE,IAAIvL,GAAEmL,GAAE,GAAEA,GAAE,CAAC,IAAGxK,IAAE;AAAC,YAAG;AAAC,UAAA0K,OAAI,cAAYE,KAAEvL,GAAE,QAAQmL,EAAC;AAAA,QAAE,SAAO0F,KAAG;AAAC,cAAG,EAAEA,eAAcR,KAAG,KAAK,OAAMQ;AAAA,QAAE;AAAC,SAACtF,MAAGF,OAAI,UAAQE,KAAEvL,GAAE,YAAYmL,EAAC;AAAA,MAAE;AAAC,MAAAK,KAAEnN,GAAE,QAAQC,EAAC;AAAA,IAAC,QAAM;AAAC;IAAQ;AAAC,QAAG,CAACiN,MAAG1M,MAAG0M,GAAE,SAAQ,EAAG,QAAM;AAAG,IAAAH,OAAIjM,KAAE,EAAE,KAAKA,EAAC;AAAG,UAAK,EAAC,GAAE,GAAE,GAAEmB,IAAE,IAAEiL,IAAEE,KAAEd,GAAExL,EAAC,GAAEuM,KAAElN,GAAE8B,GAAE,GAAEmQ,MAAGhR,GAAEgM,KAAEC,EAAC,GAAEgF,MAAGjR,GAAE,IAAEiM,EAAC,GAAEiF,OAAG,KAAAtS,GAAE,KAAK,qBAAqBmN,IAAEiF,KAAGC,GAAE,MAAnC,mBAAsC;AAAW,WAAOC,MAAGlR,GAAEkR,IAAG,CAAC,MAAI,IAAE;AAAA,EAAE;AAAC,SAAM,EAAC,OAAM,GAAE,cAAatG,IAAE,iBAAgBE,IAAE,MAAK,GAAE,QAAOU,IAAE,iBAAgB5M,IAAE,WAAU2B,IAAE,OAAMhB,GAAC;AAAC;AAAC,SAAS,GAAGJ,IAAE;AAAC,SAAM,EAAC,MAAKA,IAAE,MAAK,CAAC,MAAK,MAAIqN,KAAGrN,IAAE,GAAEsH,KAAG,GAAG,CAAC,CAAC,GAAE,aAAYE,KAAE;AAAC;AAAC,SAAS,GAAGxH,IAAE,GAAE;AAAC,QAAM,IAAE,CAAAW,OAAG,GAAG,EAAC,GAAGX,IAAE,GAAG,GAAGW,EAAC,EAAC,CAAC;AAAE,SAAM,EAAC,GAAG,EAAE,CAAC,GAAE,QAAO,EAAC;AAAC;AAAC,MAAMY,OAAGgP,KAAG,OAAO,oEAAoE,CAAC,GAAE,KAAGhP,KAAG,OAAO,OAAO,IAAI,CAAC,GAAE,KAAG,OAAO,oEAAoE,GAAE,KAAG,GAAG,EAAC,GAAE,IAAG,GAAE,IAAG,IAAGA,MAAG,GAAE,OAAO,oEAAoE,GAAE,IAAG,OAAO,oEAAoE,GAAE,IAAG,OAAO,oEAAoE,GAAE,GAAE,OAAO,CAAC,GAAE,MAAK,MAAE,GAAE0M,IAAE,GAAEkE,OAAG,UAASC,MAAE,UAASC,OAAG,aAAYC,OAAG,aAAYC,OAAG,QAAOC,OAAG,GAAEC,OAAG,GAAEC,OAAG,GAAE,KAAG,GAAEC,OAAG,GAAEC,OAAG,IAAGC,OAAG;AAAG,SAAS,KAAI;AAAC,QAAM7S,KAAEuR,KAAG,MAAM,iBAAgB,GAAG,IAAEA,KAAG,aAAavR,EAAC;AAAE,SAAM,EAAC,YAAW8S,SAAE9S,IAAEoS,GAAC,GAAE,WAAUU,SAAE,GAAEV,GAAC,EAAC;AAAC;AAAC,SAAS,KAAI;AAAC,QAAMpS,KAAEwH,KAAGqL,IAAE;AAAE,SAAOC,SAAE9S,IAAEoS,GAAC;AAAC;AAAC,SAAS,GAAGpS,IAAE,GAAE;AAAC,QAAM,IAAEuR,KAAG,gBAAgBwB,WAAG/S,IAAEoS,GAAC,GAAEW,WAAG,GAAEX,GAAC,CAAC,GAAEzR,KAAEgN,KAAGM,MAAG,GAAE,QAAO,QAAO4E,IAAE;AAAE,SAAOC,SAAEnS,IAAEyR,GAAC;AAAC;AAAC,SAAS,GAAGpS,IAAE;AAAC,QAAM,IAAEiO,KAAG8E,WAAG/S,IAAEoS,GAAC,CAAC;AAAE,SAAOU,SAAE,GAAEV,GAAC;AAAC;AAAC,SAAS,GAAGpS,IAAE;AAAC,QAAM,IAAEiO,KAAG8E,WAAG/S,IAAEuS,IAAE,CAAC;AAAE,SAAOO,SAAE,GAAEV,GAAC;AAAC;AAAC,SAASY,KAAGhT,IAAE;AAAC,SAAO+S,WAAG,GAAG/S,EAAC,IAAGmS,IAAE;AAAC;AAAC,SAASc,KAAGjT,IAAE;AAAC,SAAO,OAAO8S,SAAE9S,IAAEmS,IAAE,CAAC;AAAC;AAAC,SAASe,KAAGlT,IAAE;AAAC,SAAOA,GAAE,QAAQ,OAAM,GAAG,EAAE,QAAQ,OAAM,GAAG,EAAE,QAAQ,MAAK,EAAE;AAAC;AAAC,SAASmT,KAAGnT,IAAE;AAAC,QAAM,IAAEA,GAAE,QAAQ,MAAK,GAAG,EAAE,QAAQ,MAAK,GAAG,GAAE,KAAG,IAAE,EAAE,SAAO,KAAG;AAAE,SAAO,IAAE,IAAI,OAAO,CAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,QAAM,IAAEgT,KAAG,OAAOhT,GAAE,OAAK,MAAIA,GAAE,OAAKwS,IAAE;AAAE,MAAGS,KAAG,CAAC,MAAIR,QAAI,OAAOzS,GAAE,kBAAgB,IAAI,OAAM,IAAI,MAAM,+CAA+C;AAAE,QAAM,IAAE,OAAOA,GAAE,kBAAgB,MAAI+S,WAAG/S,GAAE,iBAAgBoS,GAAC,IAAE,QAAOzR,KAAE,OAAOX,GAAE,KAAG,MAAI+S,WAAG/S,GAAE,IAAGoS,GAAC,IAAE5K,KAAGoL,IAAE,GAAE/Q,KAAEkR,WAAG/S,GAAE,QAAOoS,GAAC,GAAEnO,KAAEmJ,KAAGvL,IAAElB,EAAC,EAAE,QAAQoS,WAAG/S,GAAE,SAAQuS,IAAE,CAAC,GAAE1R,KAAEuS,KAAG,EAAC,MAAK,GAAE,QAAOnP,IAAE,IAAGtD,IAAE,iBAAgB,EAAC,CAAC;AAAE,SAAOX,GAAE,aAAWsS,OAAGY,KAAGrS,EAAC,IAAEA;AAAC;AAAC,SAAS,GAAGb,IAAE;AAAC,QAAM,IAAE+S,WAAG/S,GAAE,QAAOoS,GAAC,GAAE,EAAC,QAAO,GAAE,IAAGzR,GAAC,IAAE0S,KAAG,EAAC,SAAQrT,GAAE,SAAQ,UAASA,GAAE,SAAQ,CAAC,GAAE6B,KAAEuL,KAAG,GAAEzM,EAAC,EAAE,QAAQ,CAAC;AAAE,MAAGkB,OAAI,KAAK,OAAM,IAAI,MAAM,mBAAmB;AAAE,SAAOiR,SAAEjR,IAAE0Q,IAAE;AAAC;AAAC,SAAS,GAAGvS,IAAE,GAAE;AAAC,QAAM,IAAEgT,KAAGN,IAAE,GAAE/R,KAAE6G,KAAGoL,IAAE,GAAE/Q,KAAEkR,WAAG/S,IAAEuS,IAAE,GAAEtO,KAAEmP,KAAG,EAAC,MAAK,GAAE,QAAOvR,IAAE,IAAGlB,GAAC,CAAC;AAAE,SAAO,MAAI2R,OAAGY,KAAGjP,EAAC,IAAEA;AAAC;AAAC,SAAS,GAAGjE,IAAE,GAAE;AAAC,QAAK,EAAC,QAAO,EAAC,IAAEqT,KAAG,EAAC,SAAQrT,IAAE,UAAS,EAAC,CAAC;AAAE,SAAO8S,SAAE,GAAEP,IAAE;AAAC;AAAC,SAASa,KAAGpT,IAAE;AAAC,MAAGiT,KAAGjT,GAAE,IAAI,MAAI0S,KAAG,QAAOI,SAAEQ,OAAG,CAACtT,GAAE,MAAKA,GAAE,MAAM,CAAC,GAAEqS,IAAE;AAAE,MAAGY,KAAGjT,GAAE,IAAI,MAAIyS,MAAG;AAAC,QAAG,OAAOzS,GAAE,kBAAgB,IAAI,OAAM,IAAI,MAAM,+CAA+C;AAAE,WAAO8S,SAAEQ,OAAG,CAACtT,GAAE,MAAKA,GAAE,iBAAgBA,GAAE,IAAGA,GAAE,MAAM,CAAC,GAAEqS,IAAE;AAAA,EAAC;AAAC,SAAOS,SAAEQ,OAAG,CAACtT,GAAE,MAAKA,GAAE,IAAGA,GAAE,MAAM,CAAC,GAAEqS,IAAE;AAAC;AAAC,SAASgB,KAAGrT,IAAE;AAAC,QAAM,KAAGA,GAAE,YAAUqS,UAAMC,OAAGa,KAAGnT,GAAE,OAAO,IAAEA,GAAE,SAAQ,IAAE+S,WAAG,GAAEV,IAAE,GAAE1R,KAAE,EAAE,MAAM,IAAGgS,IAAE,GAAE9Q,KAAE8Q;AAAG,MAAGM,KAAGtS,EAAC,MAAI8R,MAAG;AAAC,UAAMhT,KAAEoC,KAAEgR,MAAGjR,KAAEnC,KAAEmT,MAAG/S,KAAE,EAAE,MAAMgC,IAAEpC,EAAC,GAAEyE,KAAE,EAAE,MAAMzE,IAAEmC,EAAC,GAAE7B,KAAE,EAAE,MAAM6B,EAAC;AAAE,WAAM,EAAC,MAAKjB,IAAE,QAAOZ,IAAE,IAAGmE,IAAE,iBAAgBrE,GAAC;AAAA,EAAC;AAAC,MAAGoT,KAAGtS,EAAC,MAAI+R,MAAG;AAAC,UAAMjT,KAAE,EAAE,MAAMoC,EAAC,GAAED,KAAE4F,KAAGoL,IAAE;AAAE,WAAM,EAAC,MAAKjS,IAAE,QAAOlB,IAAE,IAAGmC,GAAC;AAAA,EAAC;AAAC,QAAMqC,KAAEpC,KAAE+Q,MAAG/R,KAAE,EAAE,MAAMgB,IAAEoC,EAAC,GAAErE,KAAE,EAAE,MAAMqE,EAAC;AAAE,SAAM,EAAC,MAAKtD,IAAE,QAAOf,IAAE,IAAGiB,GAAC;AAAC;AAAC,SAAS,GAAGb,IAAE,GAAE;AAAC,QAAM,IAAEqT,KAAG,EAAC,SAAQrT,IAAE,UAAS,uBAAG,SAAQ,CAAC;AAAE,SAAOuT,KAAG,EAAC,MAAKN,KAAG,EAAE,IAAI,GAAE,iBAAgB,OAAO,EAAE,kBAAgB,MAAIH,SAAE,EAAE,iBAAgBV,GAAC,IAAE,QAAO,mBAAkB,uBAAG,kBAAiB,CAAC;AAAC;AAAC,SAASmB,KAAGvT,IAAE;AAAC,QAAM,KAAEA,MAAA,gBAAAA,GAAG,SAAMwS;AAAG,MAAG,MAAIC,MAAG;AAAC,QAAG,QAAOzS,MAAA,gBAAAA,GAAG,mBAAgB,IAAI,OAAM,IAAI,MAAM,2BAA2B;AAAE,QAAG,QAAOA,MAAA,gBAAAA,GAAG,qBAAkB,IAAI,OAAM,IAAI,MAAM,6BAA6B;AAAA,EAAC;AAAC,SAAM,EAAC,MAAK,GAAE,iBAAgBA,MAAA,gBAAAA,GAAG,iBAAgB,mBAAkBA,MAAA,gBAAAA,GAAG,kBAAiB;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAOA,GAAE,SAAOyS,QAAI,OAAOzS,GAAE,mBAAiB,YAAU,OAAOA,GAAE,qBAAmB;AAAQ;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAOA,GAAE,SAAO0S;AAAE;AAAC,SAASc,KAAGxT,IAAE;AAAC,QAAM,IAAE,OAAO,KAAKA,GAAE,GAAE,QAAQ,GAAE,IAAE,OAAO,KAAKA,GAAE,GAAE,QAAQ;AAAE,SAAOsT,OAAG,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAE,GAAE,CAAC,CAAC;AAAC;AAAC,SAAS,GAAGtT,IAAE,GAAE;AAAC,QAAK,CAAC,GAAEW,IAAEkB,EAAC,IAAE7B,GAAE,MAAM,GAAG,GAAEiE,KAAE,OAAO,KAAKkP,KAAGtR,EAAC,GAAE,QAAQ;AAAE,MAAGoC,GAAE,WAAS,GAAG,OAAM,IAAI,MAAM,0BAA0B;AAAE,QAAMpD,KAAEoD,GAAE,MAAM,GAAE,EAAE,GAAErE,KAAEqE,GAAE,MAAM,IAAG,EAAE,GAAExE,KAAE,GAAG,CAAC,IAAIkB,EAAC,IAAGiB,KAAEqM,KAAGxO,EAAC,GAAEI,KAAE2T,KAAG,CAAC;AAAE,MAAG,CAAC,GAAG,OAAOF,OAAG,CAACzS,IAAEjB,EAAC,CAAC,GAAEgC,IAAE/B,EAAC,EAAE,OAAM,IAAI,MAAM,mBAAmB;AAAE,SAAO4T,KAAGzT,EAAC,EAAE;AAAO;AAAC,MAAM0T,OAAG;AAAM,SAAS,GAAG1T,IAAE;AAAC,UAAOA,MAAA,gBAAAA,GAAG,UAAO,EAAC,UAAS0T,KAAE;AAAC;AAAC,SAAS,GAAG1T,IAAE;AAAC,QAAM,IAAE2T,IAAG3T,EAAC;AAAE,MAAG,OAAO,IAAE,IAAI,OAAM,IAAI,MAAM,iCAAiCA,EAAC,EAAE;AAAE,SAAO;AAAC;AAAC,SAAS4T,KAAG5T,IAAE,IAAE,KAAI;AAAC,QAAM,IAAE,CAAA,GAAGW,KAAE,UAAQ;AAAE,SAAO,OAAO,KAAKX,EAAC,EAAE,QAAQ,CAAA6B,OAAG;AAAC,QAAGA,GAAE,WAAWlB,EAAC,GAAE;AAAC,YAAMsD,KAAEpC,GAAE,QAAQlB,IAAE,EAAE,GAAEE,KAAEb,GAAE6B,EAAC;AAAE,QAAEoC,EAAC,IAAEpD;AAAA,IAAC;AAAA,EAAC,CAAC,GAAE;AAAC;AAAC,SAAS,GAAGb,IAAE;AAAC,MAAG,CAACA,GAAE,SAAS,KAAK,GAAE;AAAC,UAAM4B,KAAEiE,KAAG7F,EAAC;AAAE,IAAA4B,MAAG,QAAMA,GAAE,SAAS,KAAK,MAAI5B,KAAE4B;AAAA,EAAE;AAAC,EAAA5B,KAAEA,GAAE,SAAS,OAAO,IAAEA,GAAE,QAAQ,SAAQ,EAAE,IAAEA,IAAEA,KAAEA,GAAE,SAAS,KAAK,IAAEA,GAAE,QAAQ,OAAM,EAAE,IAAEA;AAAE,QAAM,IAAEA,GAAE,QAAQ,GAAG,GAAE,IAAEA,GAAE,QAAQ,GAAG,MAAI,KAAGA,GAAE,QAAQ,GAAG,IAAE,QAAOW,KAAEX,GAAE,UAAU,GAAE,CAAC,GAAE6B,KAAE7B,GAAE,UAAU,IAAE,GAAE,CAAC,EAAE,MAAM,GAAG,GAAEiE,KAAE,OAAO,IAAE,MAAIjE,GAAE,UAAU,CAAC,IAAE,IAAGa,KAAE,IAAI,gBAAgBoD,EAAC,GAAErE,KAAE,CAAA;AAAG,EAAAiB,GAAE,QAAQ,CAACe,IAAE/B,OAAI;AAAC,IAAAD,GAAEC,EAAC,IAAE+B;AAAA,EAAC,CAAC;AAAE,QAAMnC,KAAE,OAAOG,GAAE,WAAS,WAASA,GAAE,QAAQ,MAAM,GAAG,IAAE;AAAO,SAAM,EAAC,UAASe,IAAE,OAAMkT,KAAGhS,GAAE,CAAC,CAAC,GAAE,SAAQ,SAASA,GAAE,CAAC,GAAE,EAAE,GAAE,QAAOjC,GAAE,QAAO,OAAMgU,KAAGhU,EAAC,GAAE,SAAQH,IAAE,iBAAgBG,GAAE,kBAAgB,SAASA,GAAE,iBAAgB,EAAE,IAAE,OAAM;AAAC;AAAC,SAASiU,KAAG7T,IAAE;AAAC,SAAOA,GAAE,WAAW,IAAI,IAAEA,GAAE,UAAU,CAAC,IAAEA;AAAC;AAAC,SAAS8T,KAAG9T,IAAE,IAAE,KAAI;AAAC,QAAM,IAAE,SAAQW,KAAE,CAAA;AAAG,SAAO,OAAO,KAAKX,EAAC,EAAE,QAAQ,CAAA6B,OAAG;AAAC,UAAMoC,KAAEpC,IAAEhB,KAAE,IAAE,IAAEoD;AAAE,IAAAjE,GAAEiE,EAAC,MAAItD,GAAEE,EAAC,IAAEb,GAAEiE,EAAC;AAAA,EAAE,CAAC,GAAEtD;AAAC;AAAC,SAAS,GAAGX,IAAE;AAAC,QAAM,IAAE,IAAI,mBAAgB,IAAE8T,KAAG9T,GAAE,KAAK;AAAE,SAAO,KAAK,CAAC,EAAE,KAAI,EAAG,QAAQ,CAAA6B,OAAG;AAAC,MAAE,IAAIA,IAAE,EAAEA,EAAC,CAAC;AAAA,EAAC,CAAC,GAAE,EAAE,IAAI,UAAS7B,GAAE,MAAM,GAAEA,GAAE,mBAAiB,EAAE,IAAI,mBAAkBA,GAAE,gBAAgB,SAAQ,CAAE,GAAEA,GAAE,WAAS,EAAE,IAAI,WAAUA,GAAE,QAAQ,KAAK,GAAG,CAAC;AAAE,QAAMW,KAAE,EAAE,SAAQ;AAAG,SAAM,GAAGX,GAAE,QAAQ,IAAIA,GAAE,KAAK,IAAIA,GAAE,OAAO,IAAIW,EAAC;AAAE;AAAC,SAAS,GAAGX,IAAE,GAAE,GAAE;AAAC,SAAM,GAAGA,EAAC,UAAU,CAAC,UAAU,CAAC;AAAE;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,OAAO,kBAAiB,KAAG,OAAO,2BAA0B+T,OAAG,OAAO,uBAAsB,KAAG,OAAO,UAAU,gBAAe,KAAG,OAAO,UAAU,sBAAqBC,OAAG,CAAChU,IAAE,GAAE,MAAI,KAAKA,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAM,EAAC,CAAC,IAAEA,GAAE,CAAC,IAAE,GAAE,KAAG,CAACA,IAAE,MAAI;AAAC,WAAQ,KAAK,MAAI,IAAE,CAAA,GAAI,IAAG,KAAK,GAAE,CAAC,KAAGgU,KAAGhU,IAAE,GAAE,EAAE,CAAC,CAAC;AAAE,MAAG+T,KAAG,UAAQ,KAAKA,KAAG,CAAC,EAAE,IAAG,KAAK,GAAE,CAAC,KAAGC,KAAGhU,IAAE,GAAE,EAAE,CAAC,CAAC;AAAE,SAAOA;AAAC,GAAE,KAAG,CAACA,IAAE,MAAI,GAAGA,IAAE,GAAG,CAAC,CAAC;AAAE,SAASiU,KAAGjU,IAAE;AAAC,QAAM,IAAE;AAAG,SAAOA,GAAE,QAAQ,OAAG;AAAC,UAAK,CAACW,IAAEkB,EAAC,IAAE,EAAE,MAAM,GAAG;AAAE,MAAE,KAAK,GAAGlB,EAAC,IAAIkB,EAAC,EAAE;AAAA,EAAC,CAAC,GAAE;AAAC;AAAC,SAASqS,KAAGlU,IAAE;AAAC,QAAM,IAAE,CAAA;AAAG,SAAO,OAAO,OAAOA,EAAC,EAAE,QAAQ,OAAG;AAAC,MAAE,KAAK,GAAGiU,KAAG,EAAE,QAAQ,CAAC;AAAA,EAAC,CAAC,GAAE;AAAC;AAAC,SAASE,KAAGnU,IAAE,GAAE;AAAC,QAAM,IAAE,CAAA;AAAG,SAAO,OAAO,OAAOA,EAAC,EAAE,QAAQ,CAAAW,OAAG;AAACsT,SAAGtT,GAAE,QAAQ,EAAE,SAAS,CAAC,KAAG,EAAE,KAAK,GAAGA,GAAE,OAAO;AAAA,EAAC,CAAC,GAAE;AAAC;AAAC,SAASyT,KAAGpU,IAAE,GAAE;AAAC,QAAM,IAAE,CAAA;AAAG,SAAO,OAAO,OAAOA,EAAC,EAAE,QAAQ,CAAAW,OAAG;AAACsT,SAAGtT,GAAE,QAAQ,EAAE,SAAS,CAAC,KAAG,EAAE,KAAK,GAAGA,GAAE,MAAM;AAAA,EAAC,CAAC,GAAE;AAAC;AAAmxD,SAAS0T,KAAGrU,IAAE;AAAC,SAAOA,GAAE,SAAS,GAAG;AAAC;AAAC,SAASsU,KAAGtU,IAAE;AAAC,SAAOqU,KAAGrU,EAAC,IAAEA,GAAE,MAAM,GAAG,EAAE,CAAC,IAAEA;AAAC;AAAC,SAASuU,KAAGvU,IAAE;AAAC,MAAI,GAAE,GAAEW;AAAE,QAAMkB,KAAE,CAAA;AAAG,MAAG,CAAC2S,KAAGxU,EAAC,EAAE,QAAO6B;AAAE,aAAS,CAACoC,IAAEpD,EAAC,KAAI,OAAO,QAAQb,EAAC,GAAE;AAAC,UAAMJ,KAAEyU,KAAGpQ,EAAC,IAAE,CAACA,EAAC,IAAEpD,GAAE,QAAOpB,KAAEoB,GAAE,WAAS,IAAGe,KAAEf,GAAE,UAAQ,CAAA,GAAGhB,KAAEyU,KAAGrQ,EAAC;AAAE,IAAApC,GAAEhC,EAAC,IAAE,GAAG,GAAG,IAAGgC,GAAEhC,EAAC,CAAC,GAAE,EAAC,QAAOqF,KAAGtF,KAAG,IAAEiC,GAAEhC,EAAC,MAAI,OAAK,SAAO,EAAE,MAAM,GAAE,SAAQqF,KAAGzF,KAAG,IAAEoC,GAAEhC,EAAC,MAAI,OAAK,SAAO,EAAE,OAAO,GAAE,QAAOqF,KAAGtD,KAAGjB,KAAEkB,GAAEhC,EAAC,MAAI,OAAK,SAAOc,GAAE,MAAM,EAAC,CAAC;AAAA,EAAC;AAAC,SAAOkB;AAAC;AAAC,SAAS4S,KAAGzU,IAAE;AAAC,QAAM,IAAE,CAAA;AAAG,SAAOA,MAAA,gBAAAA,GAAG,QAAQ,OAAG;AAAC,QAAIW;AAAE,UAAK,CAACkB,IAAEoC,EAAC,IAAE,EAAE,MAAM,GAAG;AAAE,MAAEpC,EAAC,MAAI,EAAEA,EAAC,IAAE,EAAC,UAAS,CAAA,GAAG,QAAO,CAAA,GAAG,QAAO,IAAG,SAAQ,CAAA,EAAE,IAAG,EAAEA,EAAC,EAAE,SAAS,KAAK,CAAC,IAAGlB,KAAE,EAAEkB,EAAC,EAAE,WAAS,QAAMlB,GAAE,KAAK,GAAGkB,EAAC,IAAIoC,EAAC,EAAE;AAAA,EAAC,IAAG;AAAC;AAAC,SAAS,GAAGjE,IAAE,GAAE;AAAC,MAAE,EAAE,IAAI,CAAAW,OAAGA,GAAE,QAAQ,YAAW,EAAE,CAAC;AAAE,QAAM,IAAE8T,KAAG,CAAC;AAAE,aAAS,CAAC9T,IAAEkB,EAAC,KAAI,OAAO,QAAQ,CAAC,EAAE,CAAAA,GAAE,UAAQA,GAAE,UAAQqD,KAAGrD,GAAE,SAAQ7B,EAAC,IAAE6B,GAAE,UAAQ7B,IAAE6B,GAAE,SAAO,CAAC,gBAAe,iBAAiB;AAAE,SAAO;AAAC;AAAC,SAAS,GAAG7B,IAAE,GAAE;AAAC,MAAI,GAAEW,IAAEkB,IAAEoC,IAAEpD,IAAEjB;AAAE,QAAMH,KAAE8U,KAAGvU,EAAC,GAAE4B,KAAE2S,KAAG,CAAC,GAAE1U,KAAE,CAAA,GAAGqE,KAAE,OAAO,KAAKzE,EAAC,EAAE,OAAO,OAAO,KAAKmC,EAAC,CAAC;AAAE,aAAU7B,MAAKmE,GAAE,CAAArE,GAAEE,EAAC,IAAE,EAAC,QAAOmF,MAAI,IAAEzF,GAAEM,EAAC,MAAI,OAAK,SAAO,EAAE,SAAQY,KAAEiB,GAAE7B,EAAC,MAAI,OAAK,SAAOY,GAAE,MAAM,GAAE,SAAQuE,MAAIrD,KAAEpC,GAAEM,EAAC,MAAI,OAAK,SAAO8B,GAAE,UAASoC,KAAErC,GAAE7B,EAAC,MAAI,OAAK,SAAOkE,GAAE,OAAO,GAAE,QAAOiB,MAAIrE,KAAEpB,GAAEM,EAAC,MAAI,OAAK,SAAOc,GAAE,SAAQjB,KAAEgC,GAAE7B,EAAC,MAAI,OAAK,SAAOH,GAAE,MAAM,EAAC;AAAE,SAAOC;AAAC;AAAC,MAAM6U,OAAG,EAAC,gBAAe,EAAC,SAAQ,mBAAkB,MAAK,KAAI,GAAE,eAAc,EAAC,SAAQ,kBAAiB,MAAK,KAAI,GAAE,wBAAuB,EAAC,SAAQ,2BAA0B,MAAK,KAAI,GAAE,wBAAuB,EAAC,SAAQ,2BAA0B,MAAK,KAAI,GAAE,gCAA+B,EAAC,SAAQ,mCAAkC,MAAK,KAAI,GAAE,qBAAoB,EAAC,SAAQ,wBAAuB,MAAK,KAAI,GAAE,oBAAmB,EAAC,SAAQ,uBAAsB,MAAK,KAAI,GAAE,6BAA4B,EAAC,SAAQ,gCAA+B,MAAK,KAAI,GAAE,6BAA4B,EAAC,SAAQ,gCAA+B,MAAK,KAAI,GAAE,eAAc,EAAC,SAAQ,kBAAiB,MAAK,IAAG,GAAE,sBAAqB,EAAC,SAAQ,yBAAwB,MAAK,KAAI,GAAE,uBAAsB,EAAC,SAAQ,0BAAyB,MAAK,KAAI,GAAE,sBAAqB,EAAC,SAAQ,yBAAwB,MAAK,KAAI,GAAE,oBAAmB,EAAC,SAAQ,uBAAsB,MAAK,KAAI,GAAE,qBAAoB,EAAC,SAAQ,wBAAuB,MAAK,KAAI,GAAE,oBAAmB,EAAC,SAAQ,uBAAsB,MAAK,KAAI,GAAE,sBAAqB,EAAC,SAAQ,yBAAwB,MAAK,KAAI,GAAE,2BAA0B,EAAC,SAAQ,8BAA6B,MAAK,KAAI,GAAE,mBAAkB,EAAC,SAAQ,sBAAqB,MAAK,IAAG,GAAE,2BAA0B,EAAC,SAAQ,8BAA6B,MAAK,IAAG,GAAE,uBAAsB,EAAC,SAAQ,2BAA0B,MAAK,MAAK,EAAC,GAAEC,OAAG,EAAC,iBAAgB,EAAC,SAAQ,oBAAmB,MAAK,EAAC,GAAE,iBAAgB,EAAC,SAAQ,oBAAmB,MAAK,EAAC,GAAE,uBAAsB,EAAC,SAAQ,0BAAyB,MAAK,EAAC,GAAE,cAAa,EAAC,SAAQ,iBAAgB,MAAK,EAAC,GAAE,oBAAmB,EAAC,SAAQ,uBAAsB,MAAK,EAAC,GAAE,SAAQ,EAAC,SAAQ,YAAW,MAAK,EAAC,GAAE,cAAa,EAAC,SAAQ,iBAAgB,MAAK,EAAC,GAAE,kBAAiB,EAAC,SAAQ,qBAAoB,MAAK,EAAC,GAAE,2BAA0B,EAAC,SAAQ,8BAA6B,MAAK,EAAC,EAAC;AAAE,SAASC,KAAG5U,IAAE,GAAE;AAAC,QAAK,EAAC,SAAQ,GAAE,MAAKW,GAAC,IAAEgU,KAAG3U,EAAC;AAAE,SAAM,EAAC,SAAQ,IAAE,GAAG,CAAC,IAAI,CAAC,KAAG,GAAE,MAAKW,GAAC;AAAC;AAAC,SAASkU,KAAG7U,IAAE,GAAE;AAAC,QAAK,EAAC,SAAQ,GAAE,MAAKW,GAAC,IAAE+T,KAAG1U,EAAC;AAAE,SAAM,EAAC,SAAQ,IAAE,GAAG,CAAC,IAAI,CAAC,KAAG,GAAE,MAAKW,GAAC;AAAC;AAAC,SAASmU,KAAG9U,IAAE,GAAE;AAAC,SAAO,MAAM,QAAQA,EAAC,IAAoC,OAAG;AAAE;AAAC,SAASwU,KAAGxU,IAAE;AAAC,SAAO,OAAO,eAAeA,EAAC,MAAI,OAAO,aAAW,OAAO,KAAKA,EAAC,EAAE;AAAM;AAAC,SAAS+U,KAAG/U,IAAE;AAAC,SAAO,OAAOA,KAAE;AAAG;AAAC,SAASgV,KAAGhV,IAAE,GAAE;AAAC,SAAO,KAAG+U,KAAG/U,EAAC,IAAE,OAAG,OAAOA,MAAG,YAAU,CAAC,CAACA,GAAE,KAAI,EAAG;AAAM;AAAC,SAASiV,KAAGjV,IAAE,GAAE;AAAC,SAAO,KAAG+U,KAAG/U,EAAC,IAAE,OAAG,OAAOA,MAAG,YAAU,CAAC,MAAMA,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE,GAAE;AAAC,QAAK,EAAC,oBAAmB,EAAC,IAAE,GAAEW,KAAE,OAAO,KAAKX,GAAE,UAAU,GAAE6B,KAAE,OAAO,KAAK,CAAC;AAAE,MAAIoC,KAAE;AAAG,SAAOE,KAAGtC,IAAElB,EAAC,KAAGA,GAAE,QAAQ,CAAAE,OAAG;AAAC,UAAK,EAAC,UAASjB,IAAE,SAAQH,IAAE,QAAOmC,GAAC,IAAE5B,GAAE,WAAWa,EAAC,GAAEhB,KAAEoU,KAAGrU,EAAC,GAAEsE,KAAE,EAAErD,EAAC;AAAE,KAAC,CAACsD,KAAGjC,KAAGrB,IAAEqD,EAAC,GAAErE,EAAC,KAAG,CAACsE,KAAGD,GAAE,SAAQzE,EAAC,KAAG,CAAC0E,KAAGD,GAAE,QAAOtC,EAAC,OAAKqC,KAAE;AAAA,EAAG,CAAC,GAAEA,MAAG;AAAE;AAAC,SAASiR,KAAGlV,IAAE;AAAC,SAAOgV,KAAGhV,IAAE,KAAE,KAAGA,GAAE,SAAS,GAAG,IAAEA,GAAE,MAAM,GAAG,EAAE,WAAS,IAAE;AAAE;AAAC,SAASmV,KAAGnV,IAAE;AAAC,MAAGgV,KAAGhV,IAAE,KAAE,KAAGA,GAAE,SAAS,GAAG,GAAE;AAAC,UAAM,IAAEA,GAAE,MAAM,GAAG;AAAE,QAAG,EAAE,WAAS,GAAE;AAAC,YAAM,IAAE,EAAE,CAAC,IAAE,MAAI,EAAE,CAAC;AAAE,aAAM,CAAC,CAAC,EAAE,CAAC,KAAGkV,KAAG,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC,SAAM;AAAE;AAAC,SAAS,GAAGlV,IAAE;AAAC,WAAS,EAAE,GAAE;AAAC,QAAG;AAAC,aAAO,OAAO,IAAI,IAAI,CAAC,IAAE;AAAA,IAAG,QAAM;AAAC,aAAM;AAAA,IAAE;AAAA,EAAC;AAAC,MAAG;AAAC,QAAGgV,KAAGhV,IAAE,KAAE,GAAE;AAAC,UAAG,EAAEA,EAAC,EAAE,QAAM;AAAG,YAAM,IAAE6F,KAAG7F,EAAC;AAAE,aAAO,EAAE,CAAC;AAAA,IAAC;AAAA,EAAC,QAAM;AAAA,EAAC;AAAC,SAAM;AAAE;AAAC,SAAS,GAAGA,IAAE;AAAC,MAAI;AAAE,UAAO,IAAEA,MAAA,gBAAAA,GAAG,aAAW,OAAK,SAAO,EAAE;AAAS;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAOA,MAAA,gBAAAA,GAAG;AAAK;AAAC,SAAS,GAAGA,IAAE,GAAE;AAAC,MAAI,IAAE;AAAK,SAAOgV,KAAGhV,MAAA,gBAAAA,GAAG,WAAU,KAAE,MAAI,IAAE4U,KAAG,sBAAqB,GAAG,CAAC,2CAA2C,IAAG;AAAC;AAAC,SAASQ,KAAGpV,IAAE;AAAC,MAAI,IAAE;AAAG,SAAO8U,KAAG9U,EAAC,IAAEA,GAAE,WAAS,IAAEA,GAAE,MAAM,OAAGgV,KAAG,GAAE,KAAE,CAAC,KAAG,IAAE,OAAG;AAAC;AAAC,SAASK,KAAGrV,IAAE,GAAE,GAAE;AAAC,MAAIW,KAAE;AAAK,SAAOmU,KAAG,CAAC,KAAG,EAAE,SAAO,EAAE,QAAQ,CAAAjT,OAAG;AAAC,IAAAlB,MAAGuU,KAAGrT,EAAC,MAAIlB,KAAEkU,KAAG,sBAAqB,GAAG,CAAC,WAAWhT,EAAC,+DAA+D;AAAA,EAAE,CAAC,IAAEqT,KAAGlV,EAAC,MAAIW,KAAEkU,KAAG,sBAAqB,GAAG,CAAC,iLAAiL,IAAGlU;AAAC;AAAC,SAAS2U,KAAGtV,IAAE,GAAE,GAAE;AAAC,MAAIW,KAAE;AAAK,SAAO,OAAO,QAAQX,EAAC,EAAE,QAAQ,CAAC,CAAC6B,IAAEoC,EAAC,MAAI;AAAC,QAAGtD,GAAE;AAAO,UAAME,KAAEwU,KAAGxT,IAAEK,KAAGL,IAAEoC,EAAC,GAAE,GAAG,CAAC,IAAI,CAAC,EAAE;AAAE,IAAApD,OAAIF,KAAEE;AAAA,EAAE,CAAC,GAAEF;AAAC;AAAC,SAAS4U,KAAGvV,IAAE,GAAE;AAAC,MAAI,IAAE;AAAK,SAAO8U,KAAG9U,EAAC,IAAEA,GAAE,QAAQ,CAAAW,OAAG;AAAC,SAAGwU,KAAGxU,EAAC,MAAI,IAAEkU,KAAG,wBAAuB,GAAG,CAAC,aAAalU,EAAC,uEAAuE;AAAA,EAAE,CAAC,IAAE,IAAEkU,KAAG,wBAAuB,GAAG,CAAC,2FAA2F,GAAE;AAAC;AAAC,SAASW,KAAGxV,IAAE,GAAE;AAAC,MAAI,IAAE;AAAK,SAAO,OAAO,OAAOA,EAAC,EAAE,QAAQ,CAAAW,OAAG;AAAC,QAAG,EAAE;AAAO,UAAMkB,KAAE0T,KAAG5U,MAAA,gBAAAA,GAAG,UAAS,GAAG,CAAC,YAAY;AAAE,IAAAkB,OAAI,IAAEA;AAAA,EAAE,CAAC,GAAE;AAAC;AAAC,SAAS4T,KAAGzV,IAAE,GAAE;AAAC,MAAI,IAAE;AAAK,SAAOoV,KAAGpV,MAAA,gBAAAA,GAAG,OAAO,IAAEoV,KAAGpV,MAAA,gBAAAA,GAAG,MAAM,MAAI,IAAE6U,KAAG,sBAAqB,GAAG,CAAC,qEAAqE,KAAG,IAAEA,KAAG,uBAAsB,GAAG,CAAC,uEAAuE,GAAE;AAAC;AAAC,SAASa,KAAG1V,IAAE,GAAE;AAAC,MAAI,IAAE;AAAK,SAAO,OAAO,OAAOA,EAAC,EAAE,QAAQ,CAAAW,OAAG;AAAC,QAAG,EAAE;AAAO,UAAMkB,KAAE4T,KAAG9U,IAAE,GAAG,CAAC,aAAa;AAAE,IAAAkB,OAAI,IAAEA;AAAA,EAAE,CAAC,GAAE;AAAC;AAAC,SAAS,GAAG7B,IAAE,GAAE,GAAE;AAAC,MAAIW,KAAE;AAAK,MAAGX,MAAGwU,KAAGxU,EAAC,GAAE;AAAC,UAAM6B,KAAE6T,KAAG1V,IAAE,CAAC;AAAE,IAAA6B,OAAIlB,KAAEkB;AAAG,UAAMoC,KAAEqR,KAAGtV,IAAE,GAAE,CAAC;AAAE,IAAAiE,OAAItD,KAAEsD;AAAA,EAAE,MAAM,CAAAtD,KAAEiU,KAAG,sBAAqB,GAAG,CAAC,KAAK,CAAC,gCAAgC;AAAE,SAAOjU;AAAC;AAAC,SAASgV,KAAG3V,IAAE,GAAE;AAAC,MAAI,IAAE;AAAK,MAAGA,MAAGwU,KAAGxU,EAAC,GAAE;AAAC,UAAMW,KAAE+U,KAAG1V,IAAE,CAAC;AAAE,IAAAW,OAAI,IAAEA;AAAG,UAAMkB,KAAE2T,KAAGxV,IAAE,CAAC;AAAE,IAAA6B,OAAI,IAAEA;AAAA,EAAE,MAAM,KAAE+S,KAAG,sBAAqB,GAAG,CAAC,4CAA4C;AAAE,SAAO;AAAC;AAAC,SAASgB,KAAG5V,IAAE;AAAC,SAAOgV,KAAGhV,GAAE,UAAS,IAAE;AAAC;AAAC,SAAS,GAAGA,IAAE,GAAE;AAAC,MAAI,IAAE;AAAG,SAAU,CAACA,KAAE,IAAE,OAAGA,MAAG8U,KAAG9U,EAAC,KAAGA,GAAE,UAAQA,GAAE,QAAQ,CAAAW,OAAG;AAAC,QAAEiV,KAAGjV,EAAC;AAAA,EAAC,CAAC,GAAE;AAAC;AAAC,SAAS,GAAGX,IAAE;AAAC,SAAO,OAAOA,MAAG;AAAQ;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,OAAOA,KAAE,OAAK,OAAOA,OAAI;AAAI;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAM,EAAE,CAACA,MAAG,OAAOA,MAAG,YAAU,CAACA,GAAE,QAAM,CAACiV,KAAGjV,GAAE,MAAK,KAAE,KAAG,CAACA,GAAE,WAAS,CAACgV,KAAGhV,GAAE,SAAQ,KAAE;AAAE;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAM,EAAE+U,KAAG/U,EAAC,KAAG,CAACgV,KAAGhV,GAAE,QAAO,KAAE;AAAE;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAM,EAAE+U,KAAG/U,EAAC,KAAG+U,KAAG/U,GAAE,MAAM,KAAG+U,KAAG/U,GAAE,KAAK,KAAG,CAACiV,KAAGjV,GAAE,IAAG,KAAE,KAAG,CAACgV,KAAGhV,GAAE,SAAQ,KAAE;AAAE;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAM,EAAE+U,KAAG/U,EAAC,KAAG,CAACgV,KAAGhV,GAAE,MAAK,KAAE;AAAE;AAAC,SAAS,GAAGA,IAAE,GAAE;AAAC,SAAM,EAAE,CAACkV,KAAG,CAAC,KAAG,CAAChB,KAAGlU,EAAC,EAAE,SAAS,CAAC;AAAE;AAAC,SAAS,GAAGA,IAAE,GAAE,GAAE;AAAC,SAAOgV,KAAG,GAAE,KAAE,IAAEb,KAAGnU,IAAE,CAAC,EAAE,SAAS,CAAC,IAAE;AAAE;AAAC,SAAS,GAAGA,IAAE,GAAE,GAAE;AAAC,SAAOgV,KAAG,GAAE,KAAE,IAAEZ,KAAGpU,IAAE,CAAC,EAAE,SAAS,CAAC,IAAE;AAAE;AAAC,SAAS6V,KAAG7V,IAAE,GAAE,GAAE;AAAC,MAAIW,KAAE;AAAK,QAAMkB,KAAE,GAAG7B,EAAC,GAAEiE,KAAE,GAAG,CAAC,GAAEpD,KAAE,OAAO,KAAKgB,EAAC,GAAEjC,KAAE,OAAO,KAAKqE,EAAC,GAAExE,KAAEqW,KAAG,OAAO,KAAK9V,EAAC,CAAC,GAAE4B,KAAEkU,KAAG,OAAO,KAAK,CAAC,CAAC,GAAEjW,KAAEJ,GAAE,OAAO,CAAAyE,OAAG,CAACtC,GAAE,SAASsC,EAAC,CAAC;AAAE,SAAOrE,GAAE,WAASc,KAAEiU,KAAG,6BAA4B,GAAG,CAAC;AAAA,kBAC1i6D/U,GAAE,SAAQ,CAAE;AAAA,kBACZ,OAAO,KAAK,CAAC,EAAE,SAAQ,CAAE,EAAE,IAAGsE,KAAGtD,IAAEjB,EAAC,MAAIe,KAAEiU,KAAG,6BAA4B,GAAG,CAAC;AAAA,kBAC7E/T,GAAE,SAAQ,CAAE;AAAA,kBACZjB,GAAE,SAAQ,CAAE,EAAE,IAAG,OAAO,KAAK,CAAC,EAAE,QAAQ,CAAAsE,OAAG;AAAC,QAAG,CAACA,GAAE,SAAS,GAAG,KAAGvD,GAAE;AAAO,UAAMZ,KAAEkU,KAAG,EAAE/P,EAAC,EAAE,QAAQ;AAAE,IAAAnE,GAAE,SAASmE,EAAC,MAAIvD,KAAEiU,KAAG,6BAA4B,GAAG,CAAC,6DAA6D1Q,EAAC;AAAA,oBACrNA,EAAC;AAAA,oBACDnE,GAAE,SAAQ,CAAE,EAAE;AAAA,EAAE,CAAC,GAAEc,GAAE,QAAQ,CAAAqD,OAAG;AAAC,IAAAvD,OAAIwD,KAAGtC,GAAEqC,EAAC,EAAE,SAAQD,GAAEC,EAAC,EAAE,OAAO,IAAEC,KAAGtC,GAAEqC,EAAC,EAAE,QAAOD,GAAEC,EAAC,EAAE,MAAM,MAAIvD,KAAEiU,KAAG,6BAA4B,GAAG,CAAC,yDAAyD1Q,EAAC,EAAE,KAAGvD,KAAEiU,KAAG,6BAA4B,GAAG,CAAC,2DAA2D1Q,EAAC,EAAE;AAAA,EAAE,CAAC,GAAEvD;AAAC;AAAC,SAAS,GAAGX,IAAE;AAAC,QAAM,IAAE,CAAA;AAAG,SAAO,OAAO,KAAKA,EAAC,EAAE,QAAQ,OAAG;AAAC,QAAIW;AAAE,MAAE,SAAS,GAAG,IAAE,EAAE,CAAC,IAAEX,GAAE,CAAC,KAAGW,KAAEX,GAAE,CAAC,EAAE,WAAS,QAAMW,GAAE,QAAQ,CAAAkB,OAAG;AAAC,QAAEA,EAAC,IAAE,EAAC,SAAQ7B,GAAE,CAAC,EAAE,SAAQ,QAAOA,GAAE,CAAC,EAAE,OAAM;AAAA,IAAC,CAAC;AAAA,EAAC,CAAC,GAAE;AAAC;AAAC,SAAS8V,KAAG9V,IAAE;AAAC,SAAM,CAAC,GAAG,IAAI,IAAIA,GAAE,IAAI,OAAG,EAAE,SAAS,GAAG,IAAE,EAAE,MAAM,GAAG,EAAE,CAAC,IAAE,CAAC,CAAC,CAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,QAAM,IAAE,CAAA;AAAG,SAAO,OAAO,KAAKA,EAAC,EAAE,QAAQ,OAAG;AAAC,QAAG,EAAE,SAAS,GAAG,EAAE,GAAE,CAAC,IAAEA,GAAE,CAAC;AAAA,SAAM;AAAC,YAAMW,KAAEsT,KAAGjU,GAAE,CAAC,EAAE,QAAQ;AAAE,MAAAW,MAAA,gBAAAA,GAAG,QAAQ,CAAAkB,OAAG;AAAC,UAAEA,EAAC,IAAE,EAAC,UAAS7B,GAAE,CAAC,EAAE,SAAS,OAAO,CAAAiE,OAAGA,GAAE,SAAS,GAAGpC,EAAC,GAAG,CAAC,GAAE,SAAQ7B,GAAE,CAAC,EAAE,SAAQ,QAAOA,GAAE,CAAC,EAAE,OAAM;AAAA,MAAC;AAAA,IAAE;AAAA,EAAC,CAAC,GAAE;AAAC;AAAC,SAAS,GAAGA,IAAE,GAAE;AAAC,SAAOiV,KAAGjV,IAAE,KAAE,KAAGA,MAAG,EAAE,OAAKA,MAAG,EAAE;AAAG;AAAC,SAAS,KAAI;AAAC,QAAMA,KAAEqD,KAAE;AAAG,SAAO,IAAI,QAAQ,OAAG;AAAC,YAAOrD,IAAC;AAAA,MAAE,KAAK4C,IAAE;AAAQ,UAAEmT,KAAE,CAAE;AAAE;AAAA,MAAM,KAAKnT,IAAE;AAAY,UAAEoT,MAAI;AAAE;AAAA,MAAM,KAAKpT,IAAE;AAAK,UAAEqT,KAAE,CAAE;AAAE;AAAA,MAAM;AAAQ,UAAE,IAAE;AAAA,IAAC;AAAA,EAAC,CAAC;AAAC;AAAC,SAASF,OAAI;AAAC,SAAO3S,KAAE,MAAI,uCAAW;AAAM;AAAC,eAAe4S,OAAI;AAAC,MAAGjT,KAAE,KAAI,OAAO,SAAO,OAAK,UAAQ,QAAM,OAAO,SAAQ;AAAC,UAAM/C,KAAE,OAAM,UAAQ,OAAK,SAAO,OAAO,QAAQ,MAAK;AAAI,WAAOA,MAAA,gBAAAA,GAAG;AAAA,EAAW;AAAC;AAAQ;AAAC,SAASiW,OAAI;AAAC,SAAM;AAAE;AAAC,SAAS,GAAGjW,IAAE;AAAC,UAAOqD,KAAE,GAAE;AAAA,IAAE,KAAKT,IAAE;AAAQsT,WAAGlW,EAAC;AAAE;AAAA,IAAM,KAAK4C,IAAE;AAAYuT,WAAGnW,EAAC;AAAE;AAAA,EAAuB;AAAC;AAAC,SAASkW,KAAGlW,IAAE;AAAC,GAAC+C,KAAE,KAAIK,KAAE,MAAK,OAAO,iBAAiB,UAAS,MAAIpD,GAAE,IAAE,CAAC,GAAE,OAAO,iBAAiB,WAAU,MAAIA,GAAE,KAAE,CAAC;AAAE;AAAC,SAASmW,KAAGnW,IAAE;;AAAC+C,OAAE,KAAI,OAAO,SAAO,OAAK,UAAQ,QAAM,OAAO,aAAS,mCAAQ,QAAQ,iBAAiB,OAAG/C,GAAE,uBAAG,WAAW;AAAE;AAAC,SAAS,KAAI;AAAC,MAAIA;AAAE,SAAOoD,KAAE,KAAIJ,cAAE,MAAKhD,KAAEgD,oBAAO,OAAK,SAAOhD,GAAE,qBAAmB,YAAU;AAAE;AAAC,MAAMoW,OAAG,CAAA;AAAG,MAAM,GAAE;AAAA,EAAC,OAAO,IAAI,GAAE;AAAC,WAAOA,KAAG,CAAC;AAAA,EAAC;AAAA,EAAC,OAAO,IAAI,GAAE,GAAE;AAACA,SAAG,CAAC,IAAE;AAAA,EAAC;AAAA,EAAC,OAAO,OAAO,GAAE;AAAC,WAAOA,KAAG,CAAC;AAAA,EAAC;AAAC;ACTupB,MAAC5L,OAAG,MAAK6L,OAAG,GAAErM,OAAG,QAAO+B,MAAE,GAAGvB,IAAE,MAAMR,IAAE,KAAI+K,OAAG,EAAS,QAAO,QAAO,GAAEd,OAAG,EAAC,UAAS,WAAU,GAAE7Q,OAAG,UAASiF,OAAG,uBAAsB,KAAGkM,IAAAA,SAAG/F,OAAG,YAAWJ,OAAG,OAAM,KAAG,YAAWjI,OAAG,OAAMN,OAAGyQ,IAAAA,WAAG,KAAG,aAAYjT,OAAG,OAAM,KAAG,SAAQkT,OAAG,iCAAgC,KAAG,WAAU/J,MAAE,EAAC,SAAQ,mBAAkB,aAAY,uBAAsB,SAAQ,mBAAkB,YAAW,sBAAqB,OAAM,iBAAgB,oBAAmB,8BAA6B,kBAAiB,4BAA2B,SAAQ,kBAAiB,GAAEsF,OAAG,iBAAgB3F,MAAE,EAAC,SAAQ,WAAU,SAAQ,WAAU,YAAW,cAAa,OAAM,QAAO,GAAE3E,OAAG,KAA4B1E,OAAG,UAAgBgQ,MAAE,EAAC,WAAU,aAAY,OAAM,QAAO,GAAEzM,OAAG,EAAC,SAAQ,WAAU,UAAS,WAAU,GAAEoI,OAAG,OAAM3D,OAAG,2BAA0BX,OAAG,gCAA+B2B,MAAE,EAAC,SAAQ,wBAAuB,SAAQ,wBAAuB,SAAQ,wBAAuB,UAAS,yBAAwB,MAAK,qBAAoB,cAAa,4BAA2B,GAAQmG,OAAG,gBAAeQ,OAAG,OAAgBzD,OAAG,WAAUuD,OAAG,OAAYuC,OAAG,EAAC,kBAAiB,EAAC,KAAI,EAAC,KAAIP,IAAAA,SAAG,QAAO,OAAG,KAAI,IAAG,GAAE,KAAI,EAAC,KAAIA,IAAAA,SAAG,QAAO,OAAG,KAAI,KAAI,EAAC,GAAE,gBAAe,EAAC,KAAI,EAAC,KAAIlB,IAAAA,gBAAG,QAAO,OAAG,KAAI,KAAI,GAAE,KAAI,EAAC,KAAIA,IAAAA,gBAAG,QAAO,OAAG,KAAI,KAAI,EAAC,GAAE,qBAAoB,EAAC,KAAI,EAAC,KAAIkB,IAAAA,SAAG,QAAO,OAAG,KAAI,EAAC,GAAE,KAAI,EAAC,KAAIA,IAAAA,SAAG,QAAO,OAAG,KAAI,EAAC,EAAC,EAAC,GAAE7B,OAAG,EAAC,QAAO,kBAAiB,QAAO,kBAAiB,QAAO,kBAAiB,MAAK,eAAc,GAAE7G,MAAE,EAAC,SAAQ,mBAAkB,SAAQ,mBAAkB,SAAQ,mBAAkB,MAAK,eAAc,GAAEoH,OAAG,WAAUpE,OAAG,OAAMwD,OAAG,WAAU3F,MAAE,EAAC,SAAQ,mBAAkB,SAAQ,mBAAkB,SAAQ,mBAAkB,MAAK,eAAc,GAAE4G,OAAG,OAAYvN,OAAG,cAAa,KAAG,oCAAmC,KAAG,oCAAmC7D,OAAG,IAAGc,OAAG,GAAGd,IAAE,OAAM2F,OAAG,CAAC,IAAG,EAAE,GAAE5B,OAAG,QAAO+L,OAAG,kCAAmD,IAAE,EAAC,iBAAgB,mBAAkB,gCAA+B,kCAAiC,yBAAwB,2BAA0B,mBAAkB,qBAAoB,2BAA0B,6BAA4B,iCAAgC,mCAAkC,kBAAiB,oBAAmB,qBAAoB,uBAAsB,uBAAsB,yBAAwB,uBAAsB,yBAAwB,8BAA6B,+BAA8B,GAAEpP,MAAE,EAAC,mBAAkB,qBAAoB,wBAAuB,0BAAyB,uBAAsB,yBAAwB,+BAA8B,iCAAgC,iCAAgC,mCAAkC,iBAAgB,mBAAkB,kBAAiB,oBAAmB,6BAA4B,8BAA6B,GAAE,KAAG,EAAC,yBAAwB,2BAA0B,sBAAqB,wBAAuB,uCAAsC,yCAAwC,sBAAqB,wBAAuB,2BAA0B,6BAA4B,iCAAgC,mCAAkC,4BAA2B,8BAA6B,iCAAgC,mCAAkC,eAAc,iBAAgB,2BAA0B,6BAA4B,gCAA+B,iCAAgC,GAAE,KAAG,EAAC,wBAAuB,0BAAyB,mBAAkB,qBAAoB,kBAAiB,oBAAmB,iCAAgC,mCAAkC,iCAAgC,mCAAkC,gCAA+B,kCAAiC,8CAA6C,gDAA+C,oBAAmB,qBAAoB,GAAE,KAAG,EAAC,uCAAsC,yCAA0M,oCAAmC,sCAAqC,iBAAgB,mBAAkB,6BAA4B,+BAA8B,yCAAwC,2CAA0C,+CAA8C,iDAAgD,0CAAyC,2CAAwI,GAAE,KAAG,EAAC,wBAAuB,0BAAmV,eAAc,iBAAgB,+CAA8C,iDAAgD,+CAA8C,iDAAgD,iDAAgD,kDAAiD,GAAEqL,OAAG,KAAG,KAAG,gBAAe,KAAG,OAAM,KAAG;AAAwC,SAAS,GAAGtN,IAAE,GAAE;AAAC,MAAGA,GAAE,UAAQ,IAAI,OAAM,IAAI,UAAU,mBAAmB;AAAE,WAAQX,KAAE,IAAI,WAAW,GAAG,GAAEiE,KAAE,GAAEA,KAAEjE,GAAE,QAAOiE,KAAI,CAAAjE,GAAEiE,EAAC,IAAE;AAAI,WAAQpD,KAAE,GAAEA,KAAEF,GAAE,QAAOE,MAAI;AAAC,QAAI,IAAEF,GAAE,OAAOE,EAAC,GAAEgB,KAAE,EAAE,WAAW,CAAC;AAAE,QAAG7B,GAAE6B,EAAC,MAAI,IAAI,OAAM,IAAI,UAAU,IAAE,eAAe;AAAE,IAAA7B,GAAE6B,EAAC,IAAEhB;AAAA,EAAC;AAAC,MAAIpB,KAAEkB,GAAE,QAAOf,KAAEe,GAAE,OAAO,CAAC,GAAEZ,KAAE,KAAK,IAAIN,EAAC,IAAE,KAAK,IAAI,GAAG,GAAEI,KAAE,KAAK,IAAI,GAAG,IAAE,KAAK,IAAIJ,EAAC;AAAE,WAAS2B,GAAEQ,IAAE;AAAC,QAAGA,cAAa,eAAa,YAAY,OAAOA,EAAC,IAAEA,KAAE,IAAI,WAAWA,GAAE,QAAOA,GAAE,YAAWA,GAAE,UAAU,IAAE,MAAM,QAAQA,EAAC,MAAIA,KAAE,WAAW,KAAKA,EAAC,KAAI,EAAEA,cAAa,YAAY,OAAM,IAAI,UAAU,qBAAqB;AAAE,QAAGA,GAAE,WAAS,EAAE,QAAM;AAAG,aAAQlC,KAAE,GAAEO,KAAE,GAAEqM,KAAE,GAAEK,KAAE/K,GAAE,QAAO0K,OAAIK,MAAG/K,GAAE0K,EAAC,MAAI,IAAG,CAAAA,MAAI5M;AAAI,aAAQ2M,MAAGM,KAAEL,MAAGzM,KAAE,MAAI,GAAEoM,KAAE,IAAI,WAAWI,EAAC,GAAEC,OAAIK,MAAG;AAAC,eAAQ7K,KAAEF,GAAE0K,EAAC,GAAEQ,KAAE,GAAE6E,KAAEtF,KAAE,IAAGvK,OAAI,KAAGgL,KAAE7M,OAAI0R,OAAI,IAAGA,MAAI7E,KAAI,CAAAhL,MAAG,MAAImK,GAAE0F,EAAC,MAAI,GAAE1F,GAAE0F,EAAC,IAAE7P,KAAErC,OAAI,GAAEqC,KAAEA,KAAErC,OAAI;AAAE,UAAGqC,OAAI,EAAE,OAAM,IAAI,MAAM,gBAAgB;AAAE,MAAA7B,KAAE6M,IAAER;AAAA,IAAG;AAAC,aAAQwD,KAAEzD,KAAEpM,IAAE6P,OAAIzD,MAAGJ,GAAE6D,EAAC,MAAI,IAAG,CAAAA;AAAI,aAAQ5B,MAAGtO,GAAE,OAAOF,EAAC,GAAEoQ,KAAEzD,IAAE,EAAEyD,GAAE,CAAA5B,OAAIvN,GAAE,OAAOsL,GAAE6D,EAAC,CAAC;AAAE,WAAO5B;AAAA,EAAE;AAAC,WAAS,EAAEtM,IAAE;AAAC,QAAG,OAAOA,MAAG,SAAS,OAAM,IAAI,UAAU,iBAAiB;AAAE,QAAGA,GAAE,WAAS,EAAE,QAAO,IAAI;AAAW,QAAIlC,KAAE;AAAE,QAAGkC,GAAElC,EAAC,MAAI,KAAI;AAAC,eAAQO,KAAE,GAAEqM,KAAE,GAAE1K,GAAElC,EAAC,MAAIE,KAAG,CAAAK,MAAIP;AAAI,eAAQiN,MAAG/K,GAAE,SAAOlC,MAAGK,KAAE,MAAI,GAAEsM,KAAE,IAAI,WAAWM,EAAC,GAAE/K,GAAElC,EAAC,KAAG;AAAC,YAAIuM,KAAEjM,GAAE4B,GAAE,WAAWlC,EAAC,CAAC;AAAE,YAAGuM,OAAI,IAAI;AAAO,iBAAQnK,KAAE,GAAEgL,KAAEH,KAAE,IAAGV,OAAI,KAAGnK,KAAEwK,OAAIQ,OAAI,IAAGA,MAAIhL,KAAI,CAAAmK,MAAGxM,KAAE4M,GAAES,EAAC,MAAI,GAAET,GAAES,EAAC,IAAEb,KAAE,QAAM,GAAEA,KAAEA,KAAE,QAAM;AAAE,YAAGA,OAAI,EAAE,OAAM,IAAI,MAAM,gBAAgB;AAAE,QAAAK,KAAExK,IAAEpC;AAAA,MAAG;AAAC,UAAGkC,GAAElC,EAAC,MAAI,KAAI;AAAC,iBAAQiS,KAAEhF,KAAEL,IAAEqF,OAAIhF,MAAGN,GAAEsF,EAAC,MAAI,IAAG,CAAAA;AAAI,iBAAQ7B,KAAE,IAAI,WAAW7P,MAAG0M,KAAEgF,GAAE,GAAEzD,MAAGjO,IAAE0R,OAAIhF,KAAG,CAAAmD,GAAE5B,KAAI,IAAE7B,GAAEsF,IAAG;AAAE,eAAO7B;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC;AAAC,WAAS,EAAElO,IAAE;AAAC,QAAIlC,KAAE,EAAEkC,EAAC;AAAE,QAAGlC,GAAE,QAAOA;AAAE,UAAM,IAAI,MAAM,OAAO,CAAC,YAAY;AAAA,EAAC;AAAC,SAAM,EAAC,QAAO0B,IAAE,cAAa,GAAE,QAAO,EAAC;AAAC;AAAC,IAAI,KAAG,IAAG,KAAG;AAAG,MAAM,KAAG,CAAAT,OAAG;AAAC,MAAGA,cAAa,cAAYA,GAAE,YAAY,SAAO,aAAa,QAAOA;AAAE,MAAGA,cAAa,YAAY,QAAO,IAAI,WAAWA,EAAC;AAAE,MAAG,YAAY,OAAOA,EAAC,EAAE,QAAO,IAAI,WAAWA,GAAE,QAAOA,GAAE,YAAWA,GAAE,UAAU;AAAE,QAAM,IAAI,MAAM,mCAAmC;AAAC,GAAE,KAAG,CAAAA,OAAG,IAAI,YAAW,EAAG,OAAOA,EAAC,GAAE,KAAG,CAAAA,OAAG,IAAI,YAAW,EAAG,OAAOA,EAAC;AAAE,MAAM,GAAE;AAAA,EAAC,YAAY,GAAEX,IAAEiE,IAAE;AAAC,SAAK,OAAK,GAAE,KAAK,SAAOjE,IAAE,KAAK,aAAWiE;AAAA,EAAC;AAAA,EAAC,OAAO,GAAE;AAAC,QAAG,aAAa,WAAW,QAAM,GAAG,KAAK,MAAM,GAAG,KAAK,WAAW,CAAC,CAAC;AAAG,UAAM,MAAM,mCAAmC;AAAA,EAAC;AAAC;AAAC,MAAM,GAAE;AAAA,EAAC,YAAY,GAAEjE,IAAEiE,IAAE;AAAC,QAAG,KAAK,OAAK,GAAE,KAAK,SAAOjE,IAAEA,GAAE,YAAY,CAAC,MAAI,OAAO,OAAM,IAAI,MAAM,0BAA0B;AAAE,SAAK,kBAAgBA,GAAE,YAAY,CAAC,GAAE,KAAK,aAAWiE;AAAA,EAAC;AAAA,EAAC,OAAO,GAAE;AAAC,QAAG,OAAO,KAAG,UAAS;AAAC,UAAG,EAAE,YAAY,CAAC,MAAI,KAAK,gBAAgB,OAAM,MAAM,qCAAqC,KAAK,UAAU,CAAC,CAAC,KAAK,KAAK,IAAI,+CAA+C,KAAK,MAAM,EAAE;AAAE,aAAO,KAAK,WAAW,EAAE,MAAM,KAAK,OAAO,MAAM,CAAC;AAAA,IAAC,MAAM,OAAM,MAAM,mCAAmC;AAAA,EAAC;AAAA,EAAC,GAAG,GAAE;AAAC,WAAO,GAAG,MAAK,CAAC;AAAA,EAAC;AAAC;AAAC,MAAM,GAAE;AAAA,EAAC,YAAY,GAAE;AAAC,SAAK,WAAS;AAAA,EAAC;AAAA,EAAC,GAAG,GAAE;AAAC,WAAO,GAAG,MAAK,CAAC;AAAA,EAAC;AAAA,EAAC,OAAO,GAAE;AAAC,UAAMjE,KAAE,EAAE,CAAC,GAAEiE,KAAE,KAAK,SAASjE,EAAC;AAAE,QAAGiE,GAAE,QAAOA,GAAE,OAAO,CAAC;AAAE,UAAM,WAAW,qCAAqC,KAAK,UAAU,CAAC,CAAC,+BAA+B,OAAO,KAAK,KAAK,QAAQ,CAAC,gBAAgB;AAAA,EAAC;AAAC;AAAC,MAAM,KAAG,CAACtD,IAAE,MAAI,IAAI,GAAG,EAAC,GAAGA,GAAE,YAAU,EAAC,CAACA,GAAE,MAAM,GAAEA,GAAC,GAAE,GAAG,EAAE,YAAU,EAAC,CAAC,EAAE,MAAM,GAAE,EAAC,EAAC,CAAC;AAAE,MAAM,GAAE;AAAA,EAAC,YAAY,GAAEX,IAAEiE,IAAEpD,IAAE;AAAC,SAAK,OAAK,GAAE,KAAK,SAAOb,IAAE,KAAK,aAAWiE,IAAE,KAAK,aAAWpD,IAAE,KAAK,UAAQ,IAAI,GAAG,GAAEb,IAAEiE,EAAC,GAAE,KAAK,UAAQ,IAAI,GAAG,GAAEjE,IAAEa,EAAC;AAAA,EAAC;AAAA,EAAC,OAAO,GAAE;AAAC,WAAO,KAAK,QAAQ,OAAO,CAAC;AAAA,EAAC;AAAA,EAAC,OAAO,GAAE;AAAC,WAAO,KAAK,QAAQ,OAAO,CAAC;AAAA,EAAC;AAAC;AAAC,MAAMwO,OAAG,CAAC,EAAC,MAAK1O,IAAE,QAAO,GAAE,QAAOX,IAAE,QAAOiE,GAAC,MAAI,IAAI,GAAGtD,IAAE,GAAEX,IAAEiE,EAAC,GAAEkF,OAAG,CAAC,EAAC,QAAOxI,IAAE,MAAK,GAAE,UAASX,GAAC,MAAI;AAAC,QAAK,EAAC,QAAOiE,IAAE,QAAOpD,GAAC,IAAE,GAAGb,IAAE,CAAC;AAAE,SAAOqP,KAAG,EAAC,QAAO1O,IAAE,MAAK,GAAE,QAAOsD,IAAE,QAAO,OAAG,GAAGpD,GAAE,CAAC,CAAC,EAAC,CAAC;AAAC,GAAE,KAAG,CAACF,IAAE,GAAEX,IAAEiE,OAAI;AAAC,QAAMpD,KAAE;AAAG,WAAQhB,KAAE,GAAEA,KAAE,EAAE,QAAO,EAAEA,GAAE,CAAAgB,GAAE,EAAEhB,EAAC,CAAC,IAAEA;AAAE,MAAI,IAAEc,GAAE;AAAO,SAAKA,GAAE,IAAE,CAAC,MAAI,MAAK,GAAE;AAAE,QAAMkB,KAAE,IAAI,WAAW,IAAE7B,KAAE,IAAE,CAAC;AAAE,MAAIP,KAAE,GAAEG,KAAE,GAAEG,KAAE;AAAE,WAAQF,KAAE,GAAEA,KAAE,GAAE,EAAEA,IAAE;AAAC,UAAMuB,KAAEP,GAAEF,GAAEd,EAAC,CAAC;AAAE,QAAGuB,OAAI,OAAO,OAAM,IAAI,YAAY,OAAO6C,EAAC,YAAY;AAAE,IAAArE,KAAEA,MAAGI,KAAEoB,IAAE3B,MAAGO,IAAEP,MAAG,MAAIA,MAAG,GAAEoC,GAAE9B,IAAG,IAAE,MAAIH,MAAGH;AAAA,EAAE;AAAC,MAAGA,MAAGO,MAAG,MAAIJ,MAAG,IAAEH,GAAE,OAAM,IAAI,YAAY,wBAAwB;AAAE,SAAOoC;AAAC,GAAE,KAAG,CAAClB,IAAE,GAAEX,OAAI;AAAC,QAAMiE,KAAE,EAAE,EAAE,SAAO,CAAC,MAAI,KAAIpD,MAAG,KAAGb,MAAG;AAAE,MAAI,IAAE,IAAG6B,KAAE,GAAEpC,KAAE;AAAE,WAAQG,KAAE,GAAEA,KAAEe,GAAE,QAAO,EAAEf,GAAE,MAAIH,KAAEA,MAAG,IAAEkB,GAAEf,EAAC,GAAEiC,MAAG,GAAEA,KAAE7B,KAAG,CAAA6B,MAAG7B,IAAE,KAAG,EAAEa,KAAEpB,MAAGoC,EAAC;AAAE,MAAGA,OAAI,KAAG,EAAEhB,KAAEpB,MAAGO,KAAE6B,EAAC,IAAGoC,GAAE,QAAK,EAAE,SAAOjE,KAAE,IAAG,MAAG;AAAI,SAAO;AAAC,GAAEyM,KAAE,CAAC,EAAC,MAAK9L,IAAE,QAAO,GAAE,aAAYX,IAAE,UAASiE,GAAC,MAAIoL,KAAG,EAAC,QAAO,GAAE,MAAK1O,IAAE,OAAOE,IAAE;AAAC,SAAO,GAAGA,IAAEoD,IAAEjE,EAAC;AAAC,GAAE,OAAOa,IAAE;AAAC,SAAO,GAAGA,IAAEoD,IAAEjE,IAAEW,EAAC;AAAC,EAAC,CAAC,GAAE,KAAG0O,KAAG,EAAC,QAAO,MAAK,MAAK,YAAW,QAAO,CAAA1O,OAAG,GAAGA,EAAC,GAAE,QAAO,CAAAA,OAAG,GAAGA,EAAC,EAAC,CAAC;AAAE,IAAI,KAAG,OAAO,OAAO,EAAC,WAAU,MAAK,UAAS,GAAE,CAAC;AAAE,MAAM,KAAG8L,GAAE,EAAC,QAAO,KAAI,MAAK,SAAQ,UAAS,MAAK,aAAY,EAAC,CAAC;AAAE,IAAI,KAAG,OAAO,OAAO,EAAC,WAAU,MAAK,OAAM,GAAE,CAAC;AAAE,MAAM,KAAGA,GAAE,EAAC,QAAO,KAAI,MAAK,SAAQ,UAAS,YAAW,aAAY,EAAC,CAAC;AAAE,IAAI,KAAG,OAAO,OAAO,EAAC,WAAU,MAAK,OAAM,GAAE,CAAC;AAAE,MAAM,KAAGtD,KAAG,EAAC,QAAO,KAAI,MAAK,UAAS,UAAS,aAAY,CAAC;AAAE,IAAI,KAAG,OAAO,OAAO,EAAC,WAAU,MAAK,QAAO,GAAE,CAAC;AAAE,MAAM,KAAGsD,GAAE,EAAC,QAAO,KAAI,MAAK,UAAS,UAAS,oBAAmB,aAAY,EAAC,CAAC,GAAE,KAAGA,GAAE,EAAC,QAAO,KAAI,MAAK,eAAc,UAAS,oBAAmB,aAAY,EAAC,CAAC;AAAE,IAAI,KAAG,OAAO,OAAO,EAAC,WAAU,MAAK,QAAO,IAAG,aAAY,GAAE,CAAC;AAAE,MAAM,KAAGA,GAAE,EAAC,QAAO,KAAI,MAAK,UAAS,UAAS,oCAAmC,aAAY,EAAC,CAAC,GAAE,KAAGA,GAAE,EAAC,QAAO,KAAI,MAAK,eAAc,UAAS,oCAAmC,aAAY,EAAC,CAAC,GAAE,KAAGA,GAAE,EAAC,QAAO,KAAI,MAAK,aAAY,UAAS,qCAAoC,aAAY,EAAC,CAAC,GAAE,KAAGA,GAAE,EAAC,QAAO,KAAI,MAAK,kBAAiB,UAAS,qCAAoC,aAAY,EAAC,CAAC,GAAE,KAAGA,GAAE,EAAC,QAAO,KAAI,MAAK,aAAY,UAAS,oCAAmC,aAAY,EAAC,CAAC,GAAE,KAAGA,GAAE,EAAC,QAAO,KAAI,MAAK,kBAAiB,UAAS,oCAAmC,aAAY,EAAC,CAAC,GAAE,KAAGA,GAAE,EAAC,QAAO,KAAI,MAAK,gBAAe,UAAS,qCAAoC,aAAY,EAAC,CAAC,GAAE,KAAGA,GAAE,EAAC,QAAO,KAAI,MAAK,qBAAoB,UAAS,qCAAoC,aAAY,EAAC,CAAC,GAAE,KAAGA,GAAE,EAAC,QAAO,KAAI,MAAK,WAAU,UAAS,oCAAmC,aAAY,EAAC,CAAC;AAAE,IAAI,KAAG,OAAO,OAAO,EAAC,WAAU,MAAK,QAAO,IAAG,aAAY,IAAG,WAAU,IAAG,gBAAe,IAAG,WAAU,IAAG,gBAAe,IAAG,cAAa,IAAG,mBAAkB,IAAG,SAAQ,GAAE,CAAC;AAAE,MAAMa,MAAGnE,KAAG,EAAC,QAAO,KAAI,MAAK,UAAS,UAAS,uCAAsC,CAAC,GAAE,KAAGA,KAAG,EAAC,QAAO,KAAI,MAAK,eAAc,UAAS,uCAAsC,CAAC;AAAE,IAAI,KAAG,OAAO,OAAO,EAAC,WAAU,MAAK,QAAOmE,KAAG,aAAY,GAAE,CAAC;AAAE,MAAM,KAAGnE,KAAG,EAAC,MAAK,aAAY,QAAO,KAAI,UAAS,6DAA4D,CAAC,GAAE,KAAGA,KAAG,EAAC,MAAK,gBAAe,QAAO,KAAI,UAAS,6DAA4D,CAAC;AAAE,IAAI,KAAG,OAAO,OAAO,EAAC,WAAU,MAAK,WAAU,IAAG,cAAa,GAAE,CAAC;AAAE,MAAM,KAAGsD,GAAE,EAAC,QAAO,KAAI,MAAK,UAAS,UAAS,oEAAmE,aAAY,EAAC,CAAC,GAAE,KAAGA,GAAE,EAAC,QAAO,KAAI,MAAK,aAAY,UAAS,qEAAoE,aAAY,EAAC,CAAC,GAAE,KAAGA,GAAE,EAAC,QAAO,KAAI,MAAK,aAAY,UAAS,oEAAmE,aAAY,EAAC,CAAC,GAAE,KAAGA,GAAE,EAAC,QAAO,KAAI,MAAK,gBAAe,UAAS,qEAAoE,aAAY,EAAC,CAAC;AAAE,IAAI,KAAG,OAAO,OAAO,EAAC,WAAU,MAAK,QAAO,IAAG,WAAU,IAAG,WAAU,IAAG,cAAa,GAAE,CAAC;AAAE,MAAM,KAAG,MAAM,KAAK,weAAorE,GAAE,KAAG,GAAG,OAAO,CAAC9L,IAAE,GAAEX,QAAKW,GAAEX,EAAC,IAAE,GAAEW,KAAG,CAAA,CAAE,GAAE,KAAG,GAAG,OAAO,CAACA,IAAE,GAAEX,QAAKW,GAAE,EAAE,YAAY,CAAC,CAAC,IAAEX,IAAEW,KAAG,CAAA,CAAE;AAAE,SAAS,GAAGA,IAAE;AAAC,SAAOA,GAAE,OAAO,CAAC,GAAEX,QAAK,KAAG,GAAGA,EAAC,GAAE,IAAG,EAAE;AAAC;AAAC,SAAS,GAAGW,IAAE;AAAC,QAAM,IAAE,CAAA;AAAG,aAAUX,MAAKW,IAAE;AAAC,UAAMsD,KAAE,GAAGjE,GAAE,YAAY,CAAC,CAAC;AAAE,QAAGiE,OAAI,OAAO,OAAM,IAAI,MAAM,+BAA+BjE,EAAC,EAAE;AAAE,MAAE,KAAKiE,EAAC;AAAA,EAAC;AAAC,SAAO,IAAI,WAAW,CAAC;AAAC;AAAC,MAAM,KAAGoL,KAAG,EAAC,QAAO,MAAY,MAAK,gBAAe,QAAO,IAAG,QAAO,GAAE,CAAC;AAAK,IAAC,KAAG,OAAO,OAAO,EAAC,WAAU,MAAK,cAAa,GAAE,CAAC,GAAE,KAAG,IAAG,KAAG,KAAW,KAAG,MAAI,KAAG,KAAK,IAAI,GAAE,EAAE;AAAE,SAAS,GAAG1O,IAAE,GAAEX,IAAE;AAAC,MAAE,KAAG,CAAA,GAAGA,KAAEA,MAAG;AAAE,WAAQiE,KAAEjE,IAAEW,MAAG,KAAI,GAAEX,IAAG,IAAEW,KAAE,MAAI,IAAGA,MAAG;AAAI,SAAKA,KAAE,KAAI,GAAEX,IAAG,IAAEW,KAAE,MAAI,IAAGA,QAAK;AAAE,SAAO,EAAEX,EAAC,IAAEW,KAAE,GAAE,GAAG,QAAMX,KAAEiE,KAAE,GAAE;AAAC;AAAC,IAAI,KAAGgF,MAAG,KAAG,KAAI,KAAG;AAAI,SAASA,KAAGtI,IAAEsD,IAAE;AAAC,MAAIjE,KAAE,GAAEiE,KAAEA,MAAG,GAAEpD,KAAE,GAAE,IAAEoD,IAAEpC,IAAEpC,KAAEkB,GAAE;AAAO,KAAE;AAAC,QAAG,KAAGlB,GAAE,OAAMwJ,KAAG,QAAM,GAAE,IAAI,WAAW,yBAAyB;AAAE,IAAApH,KAAElB,GAAE,GAAG,GAAEX,MAAGa,KAAE,MAAIgB,KAAE,OAAKhB,MAAGgB,KAAE,MAAI,KAAK,IAAI,GAAEhB,EAAC,GAAEA,MAAG;AAAA,EAAC,SAAOgB,MAAG;AAAI,SAAOoH,KAAG,QAAM,IAAEhF,IAAEjE;AAAC;AAAC,IAAI,KAAG,KAAK,IAAI,GAAE,CAAC,GAAE,KAAG,KAAK,IAAI,GAAE,EAAE,GAAE,KAAG,KAAK,IAAI,GAAE,EAAE,GAAE,KAAG,KAAK,IAAI,GAAE,EAAE,GAAE,KAAG,KAAK,IAAI,GAAE,EAAE,GAAE,KAAG,KAAK,IAAI,GAAE,EAAE,GAAE,KAAG,KAAK,IAAI,GAAE,EAAE,GAAE,KAAG,KAAK,IAAI,GAAE,EAAE,GAAE,KAAG,KAAK,IAAI,GAAE,EAAE,GAAE,KAAG,SAASW,IAAE;AAAC,SAAOA,KAAE,KAAG,IAAEA,KAAE,KAAG,IAAEA,KAAE,KAAG,IAAEA,KAAE,KAAG,IAAEA,KAAE,KAAG,IAAEA,KAAE,KAAG,IAAEA,KAAE,KAAG,IAAEA,KAAE,KAAG,IAAEA,KAAE,KAAG,IAAE;AAAE,GAAE,KAAG,EAAC,QAAO,IAAG,QAAO,IAAG,gBAAe,GAAE,GAAE,KAAG;AAAG,MAAM,KAAG,CAACA,IAAE,GAAEX,KAAE,OAAK,GAAG,OAAOW,IAAE,GAAEX,EAAC,GAAE,IAAG,KAAG,CAAAW,OAAG,GAAG,eAAeA,EAAC,GAAE+I,OAAG,CAAC/I,IAAE,MAAI;AAAC,QAAMX,KAAE,EAAE,YAAWiE,KAAE,GAAGtD,EAAC,GAAEE,KAAEoD,KAAE,GAAGjE,EAAC,GAAE,IAAE,IAAI,WAAWa,KAAEb,EAAC;AAAE,SAAO,GAAGW,IAAE,GAAE,CAAC,GAAE,GAAGX,IAAE,GAAEiE,EAAC,GAAE,EAAE,IAAI,GAAEpD,EAAC,GAAE,IAAI,GAAGF,IAAEX,IAAE,GAAE,CAAC;AAAC;AAAE,MAAM,GAAE;AAAA,EAAC,YAAY,GAAEA,IAAEiE,IAAEpD,IAAE;AAAC,SAAK,OAAK,GAAE,KAAK,OAAKb,IAAE,KAAK,SAAOiE,IAAE,KAAK,QAAMpD;AAAA,EAAC;AAAC;AAAC,MAAM,KAAG,CAAC,EAAC,MAAKF,IAAE,MAAK,GAAE,QAAOX,GAAC,MAAI,IAAI,GAAGW,IAAE,GAAEX,EAAC;AAAE,MAAM,GAAE;AAAA,EAAC,YAAY,GAAEA,IAAEiE,IAAE;AAAC,SAAK,OAAK,GAAE,KAAK,OAAKjE,IAAE,KAAK,SAAOiE;AAAA,EAAC;AAAA,EAAC,OAAO,GAAE;AAAC,QAAG,aAAa,YAAW;AAAC,YAAMjE,KAAE,KAAK,OAAO,CAAC;AAAE,aAAOA,cAAa,aAAW0J,KAAG,KAAK,MAAK1J,EAAC,IAAEA,GAAE,KAAK,CAAAiE,OAAGyF,KAAG,KAAK,MAAKzF,EAAC,CAAC;AAAA,IAAC,MAAM,OAAM,MAAM,mCAAmC;AAAA,EAAC;AAAC;AAAC,MAAM,KAAG,CAAAtD,OAAG,OAAM,MAAG,IAAI,WAAW,MAAM,OAAO,OAAO,OAAOA,IAAE,CAAC,CAAC,GAAE,KAAG,GAAG,EAAC,MAAK,YAAW,MAAK,IAAG,QAAO,GAAG,SAAS,EAAC,CAAC,GAAE,KAAG,GAAG,EAAC,MAAK,YAAW,MAAK,IAAG,QAAO,GAAG,SAAS,EAAC,CAAC;AAAE,IAAI,KAAG,OAAO,OAAO,EAAC,WAAU,MAAK,QAAO,IAAG,QAAO,GAAE,CAAC;AAAE,MAAM,KAAG,GAAE,KAAG,YAAW,KAAG,IAAG2H,MAAG,CAAA3H,OAAG+I,KAAG,IAAG,GAAG/I,EAAC,CAAC,GAAE,KAAG,EAAC,MAAK,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO2H,IAAE;AAAE,IAAI,KAAG,OAAO,OAAO,EAAC,WAAU,MAAK,UAAS,GAAE,CAAC;AAAE,IAAI,eAAY,IAAI;AAAY,MAAM,KAAG,EAAC,GAAG,IAAG,GAAG,IAAG,GAAG,IAAG,GAAG,IAAG,GAAG,IAAG,GAAG,IAAG,GAAG,IAAG,GAAG,IAAG,GAAG,IAAG,GAAG,GAAE;AAAA,CAAG,EAAC,GAAG,IAAG,GAAG,GAAE;AAAG,SAAS,GAAG3H,KAAE,GAAE;AAAC,SAAO,WAAW,UAAQ,QAAM,WAAW,OAAO,eAAa,OAAK,WAAW,OAAO,YAAYA,EAAC,IAAE,IAAI,WAAWA,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE,GAAEX,IAAEiE,IAAE;AAAC,SAAM,EAAC,MAAKtD,IAAE,QAAO,GAAE,SAAQ,EAAC,MAAKA,IAAE,QAAO,GAAE,QAAOX,GAAC,GAAE,SAAQ,EAAC,QAAOiE,GAAC,EAAC;AAAC;AAAC,MAAM,KAAG,GAAG,QAAO,KAAI,CAAAtD,OAAG,MAAI,IAAI,YAAY,MAAM,EAAE,OAAOA,EAAC,GAAE,CAAAA,OAAG,IAAI,YAAW,EAAG,OAAOA,GAAE,UAAU,CAAC,CAAC,CAAC,GAAEkR,OAAG,GAAG,SAAQ,KAAI,CAAAlR,OAAG;AAAC,MAAI,IAAE;AAAI,WAAQX,KAAE,GAAEA,KAAEW,GAAE,QAAOX,KAAI,MAAG,OAAO,aAAaW,GAAEX,EAAC,CAAC;AAAE,SAAO;AAAC,GAAE,CAAAW,OAAG;AAAC,EAAAA,KAAEA,GAAE,UAAU,CAAC;AAAE,QAAM,IAAE,GAAGA,GAAE,MAAM;AAAE,WAAQX,KAAE,GAAEA,KAAEW,GAAE,QAAOX,KAAI,GAAEA,EAAC,IAAEW,GAAE,WAAWX,EAAC;AAAE,SAAO;AAAC,CAAC,GAAE,KAAG,EAAC,MAAK,IAAG,SAAQ,IAAG,KAAI,GAAG,QAAO,QAAO6R,MAAG,OAAMA,MAAG,QAAOA,MAAG,GAAG,GAAE;AAAE,SAAS,GAAGlR,IAAE,IAAE,QAAO;AAAC,QAAMX,KAAE,GAAG,CAAC;AAAE,MAAG,CAACA,GAAE,OAAM,IAAI,MAAM,yBAAyB,CAAC,GAAG;AAAE,UAAO,MAAI,UAAQ,MAAI,YAAU,WAAW,UAAQ,QAAM,WAAW,OAAO,QAAM,OAAK,WAAW,OAAO,KAAKW,IAAE,MAAM,IAAEX,GAAE,QAAQ,OAAO,GAAGA,GAAE,MAAM,GAAGW,EAAC,EAAE;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,CAACA,IAAE,GAAEX,OAAI,KAAKW,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAMX,GAAC,CAAC,IAAEW,GAAE,CAAC,IAAEX,IAAE6M,MAAE,CAAClM,IAAE,GAAEX,OAAI,GAAGW,IAAE,OAAO,KAAG,WAAS,IAAE,KAAG,GAAEX,EAAC;AAAE,MAAM,GAAE;AAAA,EAAC,YAAY,GAAEA,IAAE;AAAC,SAAK,OAAK,GAAE,KAAK,SAAOA,IAAE6M,IAAE,MAAK,YAAW,oBAAI,KAAG,GAAEA,IAAE,MAAK,QAAO2B,IAAE,GAAE3B,IAAE,MAAK,WAAUuB,IAAE,GAAEvB,IAAE,MAAK,eAAc,KAAE,GAAEA,IAAE,MAAK,iBAAgBd,GAAC,GAAEc,IAAE,MAAK,QAAO,YAAS;AAAC,UAAG,CAAC,KAAK,aAAY;AAAC,cAAM5I,KAAE,MAAM,KAAK,YAAW;AAAG,eAAOA,KAAE,QAAM,KAAK,WAASA,KAAG,KAAK,cAAY;AAAA,MAAE;AAAA,IAAC,CAAC,GAAE4I,IAAE,MAAK,OAAM,CAAA5I,QAAI,KAAK,cAAa,GAAG,KAAK,SAAS,IAAIA,EAAC,EAAE,GAAE4I,IAAE,MAAK,OAAM,OAAM5I,IAAEpD,OAAI;AAAC,WAAK,cAAa,GAAG,KAAK,SAAS,IAAIoD,IAAEpD,EAAC,GAAE,MAAM,KAAK,QAAO;AAAA,IAAE,CAAC,GAAEgM,IAAE,MAAK,OAAM,CAAA5I,OAAG;AAAC,WAAK;AAAgB,YAAMpD,KAAE,KAAK,SAAS,IAAIoD,EAAC;AAAE,UAAG,OAAOpD,KAAE,KAAI;AAAC,cAAK,EAAC,SAAQ,EAAC,IAAE4K,KAAE,mBAAkB,GAAG,KAAK,IAAI,KAAKxH,EAAC,EAAE;AAAE,cAAM,IAAI,MAAM,CAAC;AAAA,MAAC;AAAC,aAAOpD;AAAA,IAAC,CAAC,GAAEgM,IAAE,MAAK,OAAM,OAAM5I,OAAG;AAAC,WAAK,cAAa,GAAG,KAAK,SAAS,OAAOA,EAAC,GAAE,MAAM,KAAK,QAAO;AAAA,IAAE,CAAC,GAAE,KAAK,OAAK,GAAE,KAAK,SAAO0H,IAAE3L,IAAE,KAAK,IAAI;AAAA,EAAC;AAAA,EAAC,IAAI,UAAS;AAAC,WAAOoM,IAAE,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,IAAI,aAAY;AAAC,WAAO,KAAK,gBAAc,KAAK,UAAQ,KAAK,KAAK,sBAAoB,OAAK,KAAK;AAAA,EAAI;AAAA,EAAC,MAAM,YAAY,GAAE;AAAC,UAAM,KAAK,KAAK,QAAQ,QAAQ,KAAK,YAAWoI,KAAG,CAAC,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,cAAa;AAAC,UAAM,IAAE,MAAM,KAAK,KAAK,QAAQ,QAAQ,KAAK,UAAU;AAAE,WAAO,OAAO,IAAE,MAAIgC,KAAG,CAAC,IAAE;AAAA,EAAM;AAAA,EAAC,MAAM,UAAS;AAAC,UAAM,KAAK,YAAY,KAAK,QAAQ;AAAA,EAAC;AAAA,EAAC,gBAAe;AAAC,QAAG,CAAC,KAAK,aAAY;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAE/K,KAAE,mBAAkB,KAAK,IAAI;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,CAAC9K,IAAE,GAAEX,OAAI,KAAKW,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAMX,GAAC,CAAC,IAAEW,GAAE,CAAC,IAAEX,IAAEkM,MAAE,CAACvL,IAAE,GAAEX,OAAI,GAAGW,IAAE,OAAO,KAAG,WAAS,IAAE,KAAG,GAAEX,EAAC;AAAE,MAAM,GAAE;AAAA,EAAC,YAAY,GAAEA,IAAEiE,IAAE;AAAC,SAAK,OAAK,GAAE,KAAK,SAAOjE,IAAEkM,IAAE,MAAK,QAAO9I,IAAE,GAAE8I,IAAE,MAAK,UAAU,GAAEA,IAAE,MAAK,2BAA0B+I,GAAE,CAAE,GAAE/I,IAAE,MAAK,eAAc,KAAE,GAAEA,IAAE,MAAK,QAAO,YAAS;AAAC,WAAK,gBAAc,MAAM,KAAK,SAAS,QAAO,KAAK,cAAY;AAAA,IAAG,CAAC,GAAEA,IAAE,MAAK,WAAU,CAAArL,QAAI,KAAK,iBAAgB,KAAK,SAAS,IAAIA,EAAC,EAAE,GAAEqL,IAAE,MAAK,eAAc,YAAS;AAAC,WAAK,cAAa;AAAG,YAAMrL,KAAE,MAAM,KAAK,cAAa,GAAG,IAAE4V,KAAmB5V,EAAC;AAAE,aAAO6V,KAAa,EAAE,SAAS;AAAA,IAAC,CAAC,GAAExK,IAAE,MAAK,mBAAkB,MAAI;AAAC,WAAK,cAAa;AAAG,YAAMrL,KAAE8V,GAAE;AAAG,aAAO,KAAK,cAAc9V,GAAE,WAAUA,GAAE,UAAU;AAAA,IAAC,CAAC,GAAEqL,IAAE,MAAK,WAAU,OAAMrL,OAAG;AAAC,WAAK;AAAgB,YAAM,IAAE,MAAM,KAAK,cAAa,GAAGgB,KAAE4U,KAAmB,CAAC,GAAEhX,KAAE,KAAK,yBAAwBG,KAAE;AAAG,aAAO,MAAMgX,GAAWnX,IAAEoB,IAAEjB,IAAEiC,EAAC;AAAA,IAAC,CAAC,GAAEqK,IAAE,MAAK,qBAAoB,CAACrL,IAAE,GAAEgB,OAAI;AAAC,WAAK,cAAa;AAAG,YAAMpC,KAAE,KAAK,cAAcoB,EAAC,GAAEjB,KAAEiX,GAAGpX,IAAE,CAAC;AAAE,aAAO,KAAK,UAAUG,IAAEiC,EAAC;AAAA,IAAC,CAAC,GAAEqK,IAAE,MAAK,aAAY,OAAMrL,IAAE,MAAI;AAAC,WAAK,cAAa;AAAG,YAAMgB,KAAE,KAAGiV,GAAGjW,EAAC;AAAE,aAAO,MAAM,KAAK,SAAS,IAAIgB,IAAEhB,EAAC,GAAEgB;AAAA,IAAC,CAAC,GAAEqK,IAAE,MAAK,iBAAgB,OAAMrL,OAAG;AAAC,WAAK,iBAAgB,MAAM,KAAK,SAAS,IAAIA,EAAC;AAAA,IAAC,CAAC,GAAEqL,IAAE,MAAK,gBAAe,OAAMrL,OAAG;AAAC,WAAK,cAAa,GAAG,MAAM,KAAK,SAAS,IAAIA,EAAC;AAAA,IAAC,CAAC,GAAEqL,IAAE,MAAK,UAAS,OAAMrL,IAAE,GAAEgB,OAAI;AAAC,WAAK,cAAa;AAAG,YAAMpC,KAAEsX,KAAGlV,EAAC,GAAEjC,KAAEoX,kBAAG,CAAC;AAAE,UAAGhC,GAAGvV,EAAC,EAAE,QAAOwX,GAAGrX,IAAEiC,MAAA,gBAAAA,GAAG,QAAQ;AAAE,UAAGqD,GAAGzF,EAAC,GAAE;AAAC,cAAM,IAAEA,GAAE,iBAAgB,IAAEA,GAAE;AAAkB,QAAAoB,KAAE,MAAM,KAAK,kBAAkB,GAAE,CAAC;AAAA,MAAC;AAAC,YAAMd,KAAE,KAAK,UAAUc,EAAC,GAAE,EAAC,MAAKhB,IAAE,iBAAgBuB,GAAC,IAAE3B;AAAE,aAAOyX,GAAG,EAAC,MAAKrX,IAAE,QAAOE,IAAE,SAAQH,IAAE,iBAAgBwB,IAAE,UAASS,MAAA,gBAAAA,GAAG,SAAQ,CAAC;AAAA,IAAC,CAAC,GAAEqK,IAAE,MAAK,UAAS,OAAMrL,IAAE,GAAEgB,OAAI;AAAC,WAAK,cAAa;AAAG,YAAMpC,KAAEiL,GAAG,GAAE7I,EAAC;AAAE,UAAGmT,GAAGvV,EAAC,GAAE;AAAC,cAAMG,KAAEuX,GAAG,GAAEtV,MAAA,gBAAAA,GAAG,QAAQ;AAAE,eAAOH,cAAG9B,EAAC;AAAA,MAAC;AAAC,UAAGsF,GAAGzF,EAAC,GAAE;AAAC,cAAMG,KAAEH,GAAE,mBAAkBM,KAAEN,GAAE;AAAgB,QAAAoB,KAAE,MAAM,KAAK,kBAAkBjB,IAAEG,EAAC;AAAA,MAAC;AAAC,UAAG;AAAC,cAAMH,KAAE,KAAK,UAAUiB,EAAC,GAAEd,KAAEqX,GAAG,EAAC,QAAOxX,IAAE,SAAQ,GAAE,UAASiC,MAAA,gBAAAA,GAAG,SAAQ,CAAC;AAAE,eAAOH,cAAG3B,EAAC;AAAA,MAAC,SAAOH,IAAE;AAAC,aAAK,OAAO,MAAM,yCAAyCiB,EAAC,iBAAiB,MAAM,KAAK,YAAW,CAAE,GAAG,GAAE,KAAK,OAAO,MAAMjB,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAEsM,IAAE,MAAK,kBAAiB,CAACrL,IAAE,IAAEmG,SAAK;AAAC,YAAMnF,KAAEgI,KAAG,EAAC,SAAQhJ,IAAE,UAAS,EAAC,CAAC;AAAE,aAAOgN,KAAGhM,GAAE,IAAI;AAAA,IAAC,CAAC,GAAEqK,IAAE,MAAK,6BAA4B,CAACrL,IAAE,IAAEmG,SAAK;AAAC,YAAMnF,KAAEgI,KAAG,EAAC,SAAQhJ,IAAE,UAAS,EAAC,CAAC;AAAE,aAAOgB,GAAE,kBAAgBwV,SAAGxV,GAAE,iBAAgB+I,GAAE,IAAE;AAAA,IAAM,CAAC,GAAE,KAAK,OAAK,GAAE,KAAK,SAAOe,IAAE3L,IAAE,KAAK,IAAI,GAAE,KAAK,WAASiE,MAAG,IAAI,GAAG,KAAK,MAAK,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,IAAI,UAAS;AAAC,WAAOmI,IAAE,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,MAAM,cAAc,GAAEpM,IAAE;AAAC,WAAO,MAAM,KAAK,SAAS,IAAI,GAAEA,EAAC,GAAE;AAAA,EAAC;AAAA,EAAC,cAAc,GAAE;AAAC,WAAO,KAAK,SAAS,IAAI,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,gBAAe;AAAC,QAAI,IAAE;AAAG,QAAG;AAAC,UAAE,KAAK,SAAS,IAAIqI,IAAE;AAAA,IAAC,QAAM;AAAC,UAAE4M,GAAE,GAAG,MAAM,KAAK,SAAS,IAAI5M,MAAG,CAAC;AAAA,IAAC;AAAC,WAAO,GAAG,GAAE,QAAQ;AAAA,EAAC;AAAA,EAAC,UAAU,GAAE;AAAC,WAAO,KAAK,SAAS,IAAI,CAAC;AAAA,EAAC;AAAA,EAAC,gBAAe;AAAC,QAAG,CAAC,KAAK,aAAY;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAEoD,KAAE,mBAAkB,KAAK,IAAI;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,OAAO,kBAAiB,KAAG,OAAO,2BAA0B,KAAG,OAAO,uBAAsB,KAAG,OAAO,UAAU,gBAAe,KAAG,OAAO,UAAU,sBAAqBlD,OAAG,CAAC5H,IAAE,GAAEX,OAAI,KAAKW,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAMX,GAAC,CAAC,IAAEW,GAAE,CAAC,IAAEX,IAAE,KAAG,CAACW,IAAE,MAAI;AAAC,WAAQX,MAAK,MAAI,IAAE,CAAA,GAAI,IAAG,KAAK,GAAEA,EAAC,KAAGuI,KAAG5H,IAAEX,IAAE,EAAEA,EAAC,CAAC;AAAE,MAAG,GAAG,UAAQA,MAAK,GAAG,CAAC,EAAE,IAAG,KAAK,GAAEA,EAAC,KAAGuI,KAAG5H,IAAEX,IAAE,EAAEA,EAAC,CAAC;AAAE,SAAOW;AAAC,GAAE,KAAG,CAACA,IAAE,MAAI,GAAGA,IAAE,GAAG,CAAC,CAAC,GAAEoB,MAAE,CAACpB,IAAE,GAAEX,OAAIuI,KAAG5H,IAAE,OAAO,KAAG,WAAS,IAAE,KAAG,GAAEX,EAAC;AAAE,MAAM,WAAWsX,IAAE;AAAA,EAAC,YAAY,GAAEtX,IAAE;AAAC,UAAM,GAAEA,EAAC,GAAE,KAAK,SAAO,GAAE,KAAK,OAAKA,IAAE+B,IAAE,MAAK,YAAW,oBAAI,KAAG,GAAEA,IAAE,MAAK,4BAA2B,oBAAI,KAAG,GAAEA,IAAE,MAAK,QAAO,EAAE,GAAEA,IAAE,MAAK,WAAUoE,IAAE,GAAEpE,IAAE,MAAK,eAAc,KAAE,GAAEA,IAAE,MAAK,iBAAgBgK,GAAC,GAAEhK,IAAE,MAAK,QAAO,YAAS;AAAC,UAAG,CAAC,KAAK,aAAY;AAAC,aAAK,OAAO,MAAM,aAAa;AAAE,YAAG;AAAC,gBAAMkC,KAAE,MAAM,KAAK,mBAAkB;AAAG,iBAAOA,KAAE,QAAM,KAAK,WAASA;AAAG,gBAAMpD,KAAE,MAAM,KAAK;AAAqC,iBAAOA,KAAE,QAAM,KAAK,2BAAyBA,KAAG,KAAK,OAAO,MAAM,qCAAqC,KAAK,IAAI,EAAE,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,WAAU,MAAK,KAAK,SAAS,KAAI,CAAC;AAAA,QAAC,SAAOoD,IAAE;AAAC,eAAK,OAAO,MAAM,iCAAiC,KAAK,IAAI,EAAE,GAAE,KAAK,OAAO,MAAMA,EAAC;AAAA,QAAC,UAAC;AAAQ,eAAK,cAAY;AAAA,QAAE;AAAA,MAAC;AAAA,IAAC,CAAC,GAAElC,IAAE,MAAK,OAAM,OAAMkC,IAAEpD,IAAE,MAAI;AAAC,WAAK,cAAa;AAAG,YAAMgB,KAAE8O,GAAG9P,EAAC;AAAE,UAAIpB,KAAE,KAAK,SAAS,IAAIwE,EAAC;AAAE,UAAG,OAAOxE,KAAE,QAAMA,KAAE,CAAA,IAAI,OAAOA,GAAEoC,EAAC,IAAE,IAAI,QAAOA;AAAE,UAAGpC,GAAEoC,EAAC,IAAEhB,IAAE,KAAK,SAAS,IAAIoD,IAAExE,EAAC,GAAE,MAAI4G,KAAG,SAAQ;AAAC,cAAMzG,KAAE,KAAK,yBAAyB,IAAIqE,EAAC,KAAG,CAAA;AAAG,aAAK,yBAAyB,IAAIA,IAAE,GAAG,GAAG,CAAA,GAAGrE,EAAC,GAAE,EAAC,CAACiC,EAAC,GAAEhB,GAAC,CAAC,CAAC;AAAA,MAAC;AAAC,aAAO,MAAM,KAAK,QAAO,GAAGgB;AAAA,IAAC,CAAC,GAAEE,IAAE,MAAK,OAAM,CAAAkC,OAAG;AAAC,WAAK,cAAa;AAAG,UAAIpD,KAAE,KAAK,SAAS,IAAIoD,EAAC;AAAE,aAAO,OAAOpD,KAAE,QAAMA,KAAE,CAAA,IAAIA;AAAA,IAAC,CAAC,GAAEkB,IAAE,MAAK,iBAAgB,CAAAkC,OAAG;AAAC,WAAK,cAAa;AAAG,YAAMpD,KAAE,CAAA;AAAG,iBAAU,KAAKoD,IAAE;AAAC,cAAMpC,KAAE,KAAK,yBAAyB,IAAI,CAAC,KAAG,CAAA;AAAG,QAAAhB,GAAE,CAAC,IAAE,OAAO,OAAOgB,EAAC;AAAA,MAAC;AAAC,aAAOhB;AAAA,IAAC,CAAC,GAAEkB,IAAE,MAAK,OAAM,CAACkC,IAAEpD,OAAI;AAAC,WAAK,cAAa;AAAG,YAAM,IAAE,KAAK,IAAIoD,EAAC,GAAEpC,KAAE8O,GAAG9P,EAAC;AAAE,aAAO,OAAO,EAAEgB,EAAC,IAAE;AAAA,IAAG,CAAC,GAAEE,IAAE,MAAK,OAAM,OAAMkC,IAAEpD,OAAI;AAAC,WAAK,cAAa;AAAG,YAAM,IAAE,KAAK,yBAAyB,IAAIoD,EAAC;AAAE,UAAG,OAAO,IAAE,IAAI;AAAO,YAAMpC,KAAE8O,GAAG9P,EAAC;AAAE,aAAO,EAAEgB,EAAC,GAAE,OAAO,KAAK,CAAC,EAAE,WAAS,IAAE,KAAK,yBAAyB,OAAOoC,EAAC,IAAE,KAAK,yBAAyB,IAAIA,IAAE,CAAC,GAAE,MAAM,KAAK,QAAO;AAAA,IAAE,CAAC,GAAElC,IAAE,MAAK,OAAM,OAAMkC,OAAG;AAAC,WAAK,cAAa,GAAG,KAAK,SAAS,OAAOA,EAAC,GAAE,KAAK,yBAAyB,OAAOA,EAAC,GAAE,MAAM,KAAK,QAAO;AAAA,IAAE,CAAC,GAAE,KAAK,SAAO0H,IAAE,GAAE,KAAK,IAAI,GAAE,KAAK,OAAK3L;AAAA,EAAC;AAAA,EAAC,IAAI,UAAS;AAAC,WAAOoM,IAAE,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,IAAI,aAAY;AAAC,WAAO,KAAK,gBAAc,KAAK,UAAQ,KAAK,KAAK,sBAAoB,OAAK,KAAK;AAAA,EAAI;AAAA,EAAC,IAAI,6BAA4B;AAAC,WAAO,KAAK,gBAAc,KAAK,UAAQ,KAAK,KAAK,sBAAoB,OAAK,KAAK,OAAK;AAAA,EAAmB;AAAA,EAAC,MAAM,mBAAmB,GAAE;AAAC,UAAM,KAAK,KAAK,QAAQ,QAAQ,KAAK,YAAWoI,KAAG,CAAC,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,mCAAmC,GAAE;AAAC,UAAM,KAAK,KAAK,QAAQ,QAAQ,KAAK,4BAA2BA,KAAG,CAAC,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,qBAAoB;AAAC,UAAM,IAAE,MAAM,KAAK,KAAK,QAAQ,QAAQ,KAAK,UAAU;AAAE,WAAO,OAAO,IAAE,MAAIgC,KAAG,CAAC,IAAE;AAAA,EAAM;AAAA,EAAC,MAAM,qCAAoC;AAAC,UAAM,IAAE,MAAM,KAAK,KAAK,QAAQ,QAAQ,KAAK,0BAA0B;AAAE,WAAO,OAAO,IAAE,MAAIA,KAAG,CAAC,IAAE;AAAA,EAAM;AAAA,EAAC,MAAM,UAAS;AAAC,UAAM,KAAK,mBAAmB,KAAK,QAAQ,GAAE,MAAM,KAAK,mCAAmC,KAAK,wBAAwB;AAAA,EAAC;AAAA,EAAC,gBAAe;AAAC,QAAG,CAAC,KAAK,aAAY;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAE/K,KAAE,mBAAkB,KAAK,IAAI;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,OAAO,kBAAiB,KAAG,OAAO,2BAA0B,KAAG,OAAO,uBAAsB,KAAG,OAAO,UAAU,gBAAe,KAAG,OAAO,UAAU,sBAAqBxB,OAAG,CAACtJ,IAAE,GAAEX,OAAI,KAAKW,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAMX,GAAC,CAAC,IAAEW,GAAE,CAAC,IAAEX,IAAEwE,OAAG,CAAC7D,IAAE,MAAI;AAAC,WAAQX,MAAK,MAAI,IAAE,CAAA,GAAI,IAAG,KAAK,GAAEA,EAAC,KAAGiK,KAAGtJ,IAAEX,IAAE,EAAEA,EAAC,CAAC;AAAE,MAAG,GAAG,UAAQA,MAAK,GAAG,CAAC,EAAE,IAAG,KAAK,GAAEA,EAAC,KAAGiK,KAAGtJ,IAAEX,IAAE,EAAEA,EAAC,CAAC;AAAE,SAAOW;AAAC,GAAE6M,OAAG,CAAC7M,IAAE,MAAI,GAAGA,IAAE,GAAG,CAAC,CAAC,GAAEwK,MAAE,CAACxK,IAAE,GAAEX,OAAIiK,KAAGtJ,IAAE,OAAO,KAAG,WAAS,IAAE,KAAG,GAAEX,EAAC;AAAE,MAAM,WAAWuX,EAAE;AAAA,EAAC,YAAY,GAAEvX,IAAE;AAAC,UAAM,GAAEA,EAAC,GAAE,KAAK,UAAQ,GAAE,KAAK,SAAOA,IAAEmL,IAAE,MAAK,UAAS,IAAI4D,OAAAA,cAAE,GAAE5D,IAAE,MAAK,QAAO,EAAE,GAAEA,IAAE,MAAK,SAAQ,oBAAI,KAAG,GAAEA,IAAE,MAAK,kBAAiBoB,kBAAEiL,IAAAA,UAAE,CAAC,GAAErM,IAAE,MAAK,yBAAwBoB,IAAAA,cAAEkL,iBAAE,EAAE,CAAC,GAAEtM,IAAE,MAAK,yBAAwB,KAAE,GAAEA,IAAE,MAAK,WAAU,OAAMlH,IAAEpD,IAAE,MAAI;AAAC,UAAIgB;AAAE,WAAK,OAAO,MAAM,oBAAoB,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,WAAU,QAAO,EAAC,OAAMoC,IAAE,SAAQpD,IAAE,MAAK,EAAC,EAAC,CAAC;AAAE,YAAMpB,MAAE,uBAAG,QAAKoG,MAAGjG,KAAEuO,GAAG,CAAC,GAAEpO,MAAE,uBAAG,WAAQ,OAAGF,MAAE,uBAAG,QAAK,GAAEuB,MAAE,uBAAG,OAAImJ,eAAE,EAAG,SAAQ,GAAG,IAAE,EAAC,OAAMtG,IAAE,SAAQpD,IAAE,MAAK,EAAC,KAAIpB,IAAE,OAAMG,IAAE,QAAOG,IAAE,KAAIF,IAAE,IAAGuB,IAAE,aAAY,uBAAG,aAAY,KAAI,uBAAG,IAAG,EAAC,GAAE,IAAE,mDAAmDA,EAAC,QAAQvB,EAAC;AAAG,UAAG;AAAC,cAAM+B,KAAE,IAAI,QAAQ,OAAMlC,OAAG;AAAC,gBAAMO,KAAE,CAAC,EAAC,IAAG0M,GAAC,MAAI;AAAC,cAAE,KAAK,OAAKA,OAAI,KAAK,uBAAuBA,EAAC,GAAE,KAAK,QAAQ,OAAO,eAAeH,IAAE,SAAQvM,EAAC,GAAEP,GAAE,CAAC;AAAA,UAAE;AAAE,eAAK,QAAQ,OAAO,GAAG8M,IAAE,SAAQvM,EAAC;AAAE,gBAAMqM,KAAE4D,KAAE,IAAI,QAAQ,CAACvD,IAAEN,OAAI;AAAC,iBAAK,WAAW,EAAC,OAAMpI,IAAE,SAAQpD,IAAE,KAAIpB,IAAE,QAAOM,IAAE,KAAIF,IAAE,IAAGuB,IAAE,aAAY,uBAAG,aAAY,KAAI,uBAAG,IAAG,CAAC,EAAE,KAAKuL,EAAC,EAAE,MAAM,CAAAV,OAAG;AAAC,mBAAK,OAAO,KAAKA,IAAEA,MAAA,gBAAAA,GAAG,OAAO,GAAEI,GAAEJ,EAAC;AAAA,YAAC,CAAC;AAAA,UAAC,CAAC,GAAE,KAAK,uBAAsB,2CAA2C7K,EAAC,QAAQvB,EAAC,EAAE;AAAE,cAAG;AAAC,kBAAMyM,IAAE,KAAK,OAAO,eAAeE,IAAE,SAAQvM,EAAC;AAAA,UAAC,SAAO0M,IAAE;AAAC,iBAAK,MAAM,IAAIvL,IAAEoM,KAAGhJ,KAAG,CAAA,GAAG,CAAC,GAAE,EAAC,SAAQ,EAAC,CAAC,CAAC,GAAE,KAAK,OAAO,KAAKmI,IAAEA,MAAA,gBAAAA,GAAG,OAAO;AAAA,UAAC;AAAA,QAAC,CAAC;AAAE,aAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,WAAU,QAAO,EAAC,IAAGvL,IAAE,OAAM6C,IAAE,SAAQpD,IAAE,MAAK,EAAC,EAAC,CAAC,GAAE,MAAMqP,KAAEtO,IAAE,KAAK,gBAAe,CAAC;AAAA,MAAC,SAAOA,IAAE;AAAC,YAAG,KAAK,OAAO,MAAM,2BAA2B,GAAE,KAAK,OAAO,MAAMA,EAAC,IAAGC,KAAE,uBAAG,aAAW,QAAMA,GAAE,qBAAqB,OAAMD;AAAA,MAAC,UAAC;AAAQ,aAAK,MAAM,OAAOR,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE+J,IAAE,MAAK,MAAK,CAAClH,IAAEpD,OAAI;AAAC,WAAK,OAAO,GAAGoD,IAAEpD,EAAC;AAAA,IAAC,CAAC,GAAEsK,IAAE,MAAK,QAAO,CAAClH,IAAEpD,OAAI;AAAC,WAAK,OAAO,KAAKoD,IAAEpD,EAAC;AAAA,IAAC,CAAC,GAAEsK,IAAE,MAAK,OAAM,CAAClH,IAAEpD,OAAI;AAAC,WAAK,OAAO,IAAIoD,IAAEpD,EAAC;AAAA,IAAC,CAAC,GAAEsK,IAAE,MAAK,kBAAiB,CAAClH,IAAEpD,OAAI;AAAC,WAAK,OAAO,eAAeoD,IAAEpD,EAAC;AAAA,IAAC,CAAC,GAAE,KAAK,UAAQ,GAAE,KAAK,SAAO8K,IAAE3L,IAAE,KAAK,IAAI,GAAE,KAAK,uBAAsB;AAAA,EAAE;AAAA,EAAC,IAAI,UAAS;AAAC,WAAOoM,IAAE,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,MAAM,WAAW,GAAE;AAAC,QAAIpM,IAAEiE,IAAEpD,IAAE;AAAE,UAAK,EAAC,OAAMgB,IAAE,SAAQpC,IAAE,KAAIG,KAAEiG,MAAG,QAAO9F,IAAE,KAAIF,IAAE,IAAGuB,IAAE,aAAY,GAAE,KAAI,EAAC,IAAE,GAAEQ,KAAE,EAAC,QAAOgR,GAAGzE,GAAE,EAAG,QAAQ,EAAE,SAAQ,QAAO3J,KAAG,EAAC,OAAM3C,IAAE,SAAQpC,IAAE,KAAIG,IAAE,QAAOG,IAAE,KAAIF,IAAE,aAAY,EAAC,GAAE,CAAC,GAAE,IAAGuB,GAAC;AAAEkR,UAAItS,KAAE4B,GAAE,WAAS,OAAK,SAAO5B,GAAE,MAAM,OAAKiE,KAAErC,GAAE,WAAS,QAAM,OAAOqC,GAAE,SAAQqO,MAAIzR,KAAEe,GAAE,WAAS,OAAK,SAAOf,GAAE,GAAG,OAAK,IAAEe,GAAE,WAAS,QAAM,OAAO,EAAE,MAAK,KAAK,OAAO,MAAM,wBAAwB,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,WAAU,WAAU,YAAW,SAAQA,GAAC,CAAC;AAAE,UAAMlC,KAAE,MAAM,KAAK,QAAQ,QAAQkC,EAAC;AAAE,WAAO,KAAK,QAAQ,OAAO,KAAK4K,IAAE,SAAQ,CAAC,GAAE,KAAK,OAAO,MAAM,gCAAgC,GAAE9M;AAAA,EAAC;AAAA,EAAC,uBAAuB,GAAE;AAAC,SAAK,MAAM,OAAO,CAAC;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,SAAK,MAAM,QAAQ,OAAM,GAAEM,OAAI;AAAC,YAAMiE,KAAE,EAAE,UAAQ;AAAE,WAAK,MAAM,IAAIjE,IAAEwN,KAAGhJ,KAAG,CAAA,GAAG,CAAC,GAAE,EAAC,SAAQP,GAAC,CAAC,CAAC;AAAE,YAAK,EAAC,OAAMpD,IAAE,SAAQ,GAAE,MAAKgB,IAAE,aAAYpC,GAAC,IAAE;AAAE,WAAK,OAAO,KAAK,CAAA,GAAG,iCAAiC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,GAAG,cAAcwE,EAAC,EAAE,GAAE,MAAM,KAAK,WAAWuJ,KAAGhJ,KAAG,CAAA,GAAG,CAAC,GAAE,EAAC,OAAM3D,IAAE,SAAQ,GAAE,KAAIgB,GAAE,KAAI,QAAOA,GAAE,QAAO,KAAIA,GAAE,KAAI,IAAGA,GAAE,IAAG,aAAYpC,IAAE,KAAIoC,GAAE,IAAG,CAAC,CAAC,GAAE,KAAK,OAAO,KAAK,CAAA,GAAG,gCAAgC,EAAE,KAAK,EAAE,EAAE;AAAA,IAAC,CAAC;AAAA,EAAC;AAAA,EAAC,yBAAwB;AAAC,SAAK,QAAQ,KAAK,UAAU,GAAGwM,EAAG,OAAM,MAAI;AAAC,UAAG,KAAK,uBAAsB;AAAC,aAAK,wBAAsB,OAAG,KAAK,QAAQ,OAAO,KAAK7B,IAAE,kBAAkB;AAAE;AAAA,MAAM;AAAC,WAAK,WAAU;AAAA,IAAE,CAAC,GAAE,KAAK,QAAQ,GAAGA,IAAE,aAAY,OAAG;AAAC,WAAK,uBAAuB,EAAE,GAAG,UAAU;AAAA,IAAC,CAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,CAAC7L,IAAE,GAAEX,OAAI,KAAKW,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAMX,GAAC,CAAC,IAAEW,GAAE,CAAC,IAAEX,IAAEmP,OAAG,CAACxO,IAAE,GAAEX,OAAI,GAAGW,IAAE,OAAO,KAAG,WAAS,IAAE,KAAG,GAAEX,EAAC;AAAE,MAAM,GAAE;AAAA,EAAC,cAAa;AAACmP,SAAG,MAAK,OAAM,oBAAI,KAAG,GAAEA,KAAG,MAAK,OAAM,CAAC,GAAEnP,OAAI;AAAC,YAAMiE,KAAE,KAAK,IAAI,CAAC;AAAE,WAAK,OAAO,GAAEjE,EAAC,KAAG,KAAK,IAAI,IAAI,GAAE,CAAC,GAAGiE,IAAEjE,EAAC,CAAC;AAAA,IAAC,CAAC,GAAEmP,KAAG,MAAK,OAAM,OAAG,KAAK,IAAI,IAAI,CAAC,KAAG,CAAA,CAAE,GAAEA,KAAG,MAAK,UAAS,CAAC,GAAEnP,OAAI,KAAK,IAAI,CAAC,EAAE,SAASA,EAAC,CAAC,GAAEmP,KAAG,MAAK,UAAS,CAAC,GAAEnP,OAAI;AAAC,UAAG,OAAOA,KAAE,KAAI;AAAC,aAAK,IAAI,OAAO,CAAC;AAAE;AAAA,MAAM;AAAC,UAAG,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE;AAAO,YAAMiE,KAAE,KAAK,IAAI,CAAC;AAAE,UAAG,CAAC,KAAK,OAAO,GAAEjE,EAAC,EAAE;AAAO,YAAMa,KAAEoD,GAAE,OAAO,OAAG,MAAIjE,EAAC;AAAE,UAAG,CAACa,GAAE,QAAO;AAAC,aAAK,IAAI,OAAO,CAAC;AAAE;AAAA,MAAM;AAAC,WAAK,IAAI,IAAI,GAAEA,EAAC;AAAA,IAAC,CAAC,GAAEsO,KAAG,MAAK,SAAQ,MAAI;AAAC,WAAK,IAAI;IAAO,CAAC;AAAA,EAAC;AAAA,EAAC,IAAI,SAAQ;AAAC,WAAO,MAAM,KAAK,KAAK,IAAI,KAAI,CAAE;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,OAAO,kBAAiB,KAAG,OAAO,2BAA0B,KAAG,OAAO,uBAAsB,KAAG,OAAO,UAAU,gBAAe,KAAG,OAAO,UAAU,sBAAqBT,OAAG,CAAC/N,IAAE,GAAEX,OAAI,KAAKW,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAMX,GAAC,CAAC,IAAEW,GAAE,CAAC,IAAEX,IAAEqL,OAAG,CAAC1K,IAAE,MAAI;AAAC,WAAQX,MAAK,MAAI,IAAE,CAAA,GAAI,IAAG,KAAK,GAAEA,EAAC,KAAG0O,KAAG/N,IAAEX,IAAE,EAAEA,EAAC,CAAC;AAAE,MAAG,GAAG,UAAQA,MAAK,GAAG,CAAC,EAAE,IAAG,KAAK,GAAEA,EAAC,KAAG0O,KAAG/N,IAAEX,IAAE,EAAEA,EAAC,CAAC;AAAE,SAAOW;AAAC,GAAEoJ,OAAG,CAACpJ,IAAE,MAAI,GAAGA,IAAE,GAAG,CAAC,CAAC,GAAEuD,KAAE,CAACvD,IAAE,GAAEX,OAAI0O,KAAG/N,IAAE,OAAO,KAAG,WAAS,IAAE,KAAG,GAAEX,EAAC;AAAE,MAAM,WAAW0X,IAAE;AAAA,EAAC,YAAY,GAAE1X,IAAE;AAAC,UAAM,GAAEA,EAAC,GAAE,KAAK,UAAQ,GAAE,KAAK,SAAOA,IAAEkE,GAAE,MAAK,iBAAgB,oBAAI,KAAG,GAAEA,GAAE,MAAK,YAAW,IAAI,IAAE,GAAEA,GAAE,MAAK,UAAS,IAAI6K,OAAAA,cAAE,GAAE7K,GAAE,MAAK,QAAO+N,IAAE,GAAE/N,GAAE,MAAK,WAAUuO,IAAE,GAAEvO,GAAE,MAAK,WAAU,oBAAI,KAAG,GAAEA,GAAE,MAAK,UAAS,CAAA,CAAE,GAAEA,GAAE,MAAK,eAAc,KAAE,GAAEA,GAAE,MAAK,iBAAgB6H,GAAC,GAAE7H,GAAE,MAAK,oBAAmBqI,kBAAEiL,IAAAA,UAAE,CAAC,GAAEtT,GAAE,MAAK,2BAA0BqI,IAAAA,cAAEkL,IAAAA,aAAE,EAAE,CAAC,GAAEvT,GAAE,MAAK,UAAU,GAAEA,GAAE,MAAK,6BAA4B,GAAG,GAAEA,GAAE,MAAK,QAAO,YAAS;AAAC,WAAK,gBAAc,KAAK,OAAO,MAAM,aAAa,GAAE,KAAK,uBAAsB,GAAG,MAAM,KAAK,QAAO,IAAI,KAAK,cAAY;AAAA,IAAE,CAAC,GAAEA,GAAE,MAAK,aAAY,OAAMD,IAAEpD,OAAI;AAAC,WAAK,cAAa,GAAG,KAAK,OAAO,MAAM,mBAAmB,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,aAAY,QAAO,EAAC,OAAMoD,IAAE,MAAKpD,GAAC,EAAC,CAAC;AAAE,UAAG;AAAC,cAAM,IAAEsN,GAAGtN,EAAC,GAAEgB,KAAE,EAAC,OAAMoC,IAAE,OAAM,GAAE,eAAcpD,MAAA,gBAAAA,GAAG,cAAa;AAAE,aAAK,QAAQ,IAAIoD,IAAEpC,EAAC;AAAE,cAAMpC,KAAE,MAAM,KAAK,aAAawE,IAAE,GAAEpD,EAAC;AAAE,eAAO,OAAOpB,MAAG,aAAW,KAAK,YAAYA,IAAEoC,EAAC,GAAE,KAAK,OAAO,MAAM,+BAA+B,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,aAAY,QAAO,EAAC,OAAMoC,IAAE,MAAKpD,GAAC,EAAC,CAAC,IAAGpB;AAAA,MAAC,SAAO,GAAE;AAAC,cAAM,KAAK,OAAO,MAAM,2BAA2B,GAAE,KAAK,OAAO,MAAM,CAAC,GAAE;AAAA,MAAC;AAAA,IAAC,CAAC,GAAEyE,GAAE,MAAK,eAAc,OAAMD,IAAEpD,OAAI;AAAC,WAAK,cAAa,GAAG,QAAOA,MAAA,gBAAAA,GAAG,MAAG,MAAI,MAAM,KAAK,gBAAgBoD,IAAEpD,GAAE,IAAGA,EAAC,IAAE,MAAM,KAAK,mBAAmBoD,IAAEpD,EAAC;AAAA,IAAC,CAAC,GAAEqD,GAAE,MAAK,gBAAe,CAAAD,OAAG,IAAI,QAAQ,CAAApD,OAAG;AAAC,MAAAA,GAAE,KAAK,SAAS,OAAO,SAASoD,EAAC,CAAC;AAAA,IAAC,CAAC,CAAC,GAAEC,GAAE,MAAK,gBAAe,CAAAD,OAAG,IAAI,QAAQ,CAAApD,OAAG;AAAC,MAAAA,GAAE,KAAK,SAAS,OAAO,SAASoD,EAAC,KAAG,KAAK,QAAQ,IAAIA,EAAC,KAAG,KAAK,OAAO,KAAK,OAAG,EAAE,UAAQA,EAAC,CAAC;AAAA,IAAC,CAAC,CAAC,GAAEC,GAAE,MAAK,MAAK,CAACD,IAAEpD,OAAI;AAAC,WAAK,OAAO,GAAGoD,IAAEpD,EAAC;AAAA,IAAC,CAAC,GAAEqD,GAAE,MAAK,QAAO,CAACD,IAAEpD,OAAI;AAAC,WAAK,OAAO,KAAKoD,IAAEpD,EAAC;AAAA,IAAC,CAAC,GAAEqD,GAAE,MAAK,OAAM,CAACD,IAAEpD,OAAI;AAAC,WAAK,OAAO,IAAIoD,IAAEpD,EAAC;AAAA,IAAC,CAAC,GAAEqD,GAAE,MAAK,kBAAiB,CAACD,IAAEpD,OAAI;AAAC,WAAK,OAAO,eAAeoD,IAAEpD,EAAC;AAAA,IAAC,CAAC,GAAEqD,GAAE,MAAK,SAAQ,YAAS;AAAC,YAAM,KAAK,UAAS;AAAA,IAAE,CAAC,GAAEA,GAAE,MAAK,QAAO,YAAS;AAAC,YAAM,KAAK,aAAY;AAAA,IAAE,CAAC,GAAEA,GAAE,MAAK,WAAU,YAAS;AAAC,YAAM,KAAK,QAAO,GAAG,MAAM,KAAK,UAAS;AAAA,IAAE,CAAC,GAAEA,GAAE,MAAK,gBAAe,YAAS;AAAC,UAAG,KAAK,QAAQ,SAAO,MAAI,CAAC,KAAK,eAAa,CAAC,KAAK,QAAQ,WAAW;AAAO,YAAMD,KAAE,CAAA;AAAG,WAAK,QAAQ,QAAQ,CAAApD,OAAG;AAAC,QAAAoD,GAAE,KAAKpD,EAAC;AAAA,MAAC,CAAC,GAAE,MAAM,KAAK,eAAeoD,EAAC;AAAA,IAAC,CAAC,GAAEC,GAAE,MAAK,0BAAyB,MAAI;AAAC,WAAK,QAAQ,KAAK,UAAU,GAAGmK,EAAG,OAAM,YAAS;AAAC,cAAM,KAAK,aAAY;AAAA,MAAE,CAAC,GAAE,KAAK,OAAO,GAAGvC,IAAE,SAAQ,OAAM7H,OAAG;AAAC,cAAMpD,KAAEiL,IAAE;AAAQ,aAAK,OAAO,KAAK,YAAYjL,EAAC,EAAE,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,SAAQ,OAAMA,IAAE,MAAKoD,GAAC,CAAC,GAAE,MAAM,KAAK,QAAO;AAAA,MAAE,CAAC,GAAE,KAAK,OAAO,GAAG6H,IAAE,SAAQ,OAAM7H,OAAG;AAAC,cAAMpD,KAAEiL,IAAE;AAAQ,aAAK,OAAO,KAAK,YAAYjL,EAAC,EAAE,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,SAAQ,OAAMA,IAAE,MAAKoD,GAAC,CAAC,GAAE,MAAM,KAAK,QAAO;AAAA,MAAE,CAAC;AAAA,IAAC,CAAC,GAAE,KAAK,UAAQ,GAAE,KAAK,SAAO0H,IAAE3L,IAAE,KAAK,IAAI,GAAE,KAAK,WAAS;AAAA,EAAE;AAAA,EAAC,IAAI,UAAS;AAAC,WAAOoM,IAAE,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,IAAI,aAAY;AAAC,WAAO,KAAK,gBAAc,KAAK,UAAQ,KAAK,QAAQ,KAAK,sBAAoB,OAAK,KAAK;AAAA,EAAI;AAAA,EAAC,IAAI,SAAQ;AAAC,WAAO,KAAK,cAAc;AAAA,EAAI;AAAA,EAAC,IAAI,MAAK;AAAC,WAAO,MAAM,KAAK,KAAK,cAAc,KAAI,CAAE;AAAA,EAAC;AAAA,EAAC,IAAI,SAAQ;AAAC,WAAO,MAAM,KAAK,KAAK,cAAc,OAAM,CAAE;AAAA,EAAC;AAAA,EAAC,IAAI,SAAQ;AAAC,WAAO,KAAK,SAAS;AAAA,EAAM;AAAA,EAAC,IAAI,eAAc;AAAC,WAAO,KAAK,SAAS,OAAO,SAAO,KAAG,KAAK,QAAQ,OAAK,KAAG,KAAK,OAAO,SAAO,KAAG,KAAK,cAAc,OAAK;AAAA,EAAC;AAAA,EAAC,gBAAgB,GAAEpM,IAAE;AAAC,QAAIiE,KAAE;AAAG,QAAG;AAAC,MAAAA,KAAE,KAAK,gBAAgB,CAAC,EAAE,UAAQjE;AAAA,IAAC,QAAM;AAAA,IAAC;AAAC,WAAOiE;AAAA,EAAC;AAAA,EAAC,QAAO;AAAC,SAAK,SAAO,CAAA,GAAG,KAAK,cAAY;AAAA,EAAE;AAAA,EAAC,YAAW;AAAC,SAAK,OAAO,SAAO,MAAI,KAAK,SAAO,KAAK,SAAQ,KAAK,cAAc,MAAK,GAAG,KAAK,SAAS,MAAK;AAAA,EAAE;AAAA,EAAC,MAAM,mBAAmB,GAAEjE,IAAE;AAAC,UAAMiE,KAAE,KAAK,SAAS,IAAI,CAAC;AAAE,UAAM,QAAQ,IAAIA,GAAE,IAAI,OAAMpD,OAAG,MAAM,KAAK,gBAAgB,GAAEA,IAAEb,EAAC,CAAC,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,gBAAgB,GAAEA,IAAEiE,IAAE;AAAC,SAAK,OAAO,MAAM,qBAAqB,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,eAAc,QAAO,EAAC,OAAM,GAAE,IAAGjE,IAAE,MAAKiE,GAAC,EAAC,CAAC;AAAE,QAAG;AAAC,YAAMpD,KAAEsN,GAAGlK,EAAC;AAAE,YAAM,KAAK,kBAAkB,EAAC,OAAM,GAAE,IAAGjE,IAAE,OAAMa,GAAC,CAAC,GAAE,MAAM,KAAK,eAAe,GAAEb,IAAEa,EAAC;AAAE,YAAM,IAAEmB,KAAG,qBAAoB,GAAG,KAAK,IAAI,KAAK,CAAC,EAAE;AAAE,YAAM,KAAK,cAAc,GAAEhC,IAAE,CAAC,GAAE,KAAK,OAAO,MAAM,iCAAiC,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,eAAc,QAAO,EAAC,OAAM,GAAE,IAAGA,IAAE,MAAKiE,GAAC,EAAC,CAAC;AAAA,IAAC,SAAOpD,IAAE;AAAC,YAAM,KAAK,OAAO,MAAM,6BAA6B,GAAE,KAAK,OAAO,MAAMA,EAAC,GAAEA;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,MAAM,aAAa,GAAEb,IAAEiE,IAAE;AAAC,QAAIpD;AAAE,KAAC,CAACoD,OAAGA,MAAA,gBAAAA,GAAG,mBAAgB6O,IAAE,UAAQ,MAAM,KAAK,kBAAkB,EAAC,OAAM,GAAE,IAAG,GAAE,OAAM9S,GAAC,CAAC;AAAE,UAAM,IAAE,EAAC,QAAO4S,GAAG5S,GAAE,QAAQ,EAAE,WAAU,QAAO,EAAC,OAAM,EAAC,EAAC;AAAE,SAAK,OAAO,MAAM,wBAAwB,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,WAAU,WAAU,YAAW,SAAQ,EAAC,CAAC;AAAE,UAAM6B,MAAGhB,KAAEoD,MAAA,gBAAAA,GAAG,aAAW,OAAK,SAAOpD,GAAE;AAAqB,QAAG;AAAC,YAAMpB,KAAE,MAAM,KAAK,kBAAkB,CAAC;AAAE,WAAGwE,MAAA,gBAAAA,GAAG,mBAAgB6O,IAAE,UAAU,QAAO,WAAW,MAAI;AAAC,SAAC,KAAK,QAAQ,aAAW,KAAK,QAAQ,eAAa,KAAK,QAAQ,QAAQ,CAAC,EAAE,MAAM,CAAAjT,OAAG,KAAK,OAAO,KAAKA,EAAC,CAAC;AAAA,MAAC,GAAE0M,IAAAA,cAAEkL,IAAAA,UAAC,CAAC,GAAEhY;AAAE,YAAMG,KAAE,IAAI,QAAQ,OAAMC,OAAG;AAAC,cAAMuB,KAAE,OAAG;AAAC,YAAE,UAAQ,MAAI,KAAK,OAAO,eAAe0K,IAAE,SAAQ1K,EAAC,GAAEvB,GAAE,EAAE,EAAE;AAAA,QAAE;AAAE,aAAK,OAAO,GAAGiM,IAAE,SAAQ1K,EAAC;AAAE,YAAG;AAAC,gBAAM,IAAE,MAAM8O,KAAE,IAAI,QAAQ,CAAC,GAAEtO,OAAI;AAAC,iBAAK,QAAQ,QAAQ,CAAC,EAAE,MAAM,CAAAlC,OAAG;AAAC,mBAAK,OAAO,KAAKA,IAAEA,MAAA,gBAAAA,GAAG,OAAO,GAAEkC,GAAElC,EAAC;AAAA,YAAC,CAAC,EAAE,KAAK,CAAC;AAAA,UAAC,CAAC,GAAE,KAAK,yBAAwB,kBAAkB,CAAC,2BAA2B;AAAE,eAAK,OAAO,eAAeoM,IAAE,SAAQ1K,EAAC,GAAEvB,GAAE,CAAC;AAAA,QAAC,QAAM;AAAA,QAAC;AAAA,MAAC,CAAC,GAAEE,KAAE,MAAMmQ,KAAEtQ,IAAE,KAAK,kBAAiB,kBAAkB,CAAC,2BAA2B;AAAE,UAAG,CAACG,MAAG8B,GAAE,OAAM,IAAI,MAAM,kBAAkB,CAAC,2BAA2B;AAAE,aAAO9B,KAAEN,KAAE;AAAA,IAAI,SAAOA,IAAE;AAAC,UAAG,KAAK,OAAO,MAAM,0CAA0C,GAAE,KAAK,QAAQ,OAAO,KAAK+M,IAAE,kBAAkB,GAAE3K,GAAE,OAAMpC;AAAA,IAAC;AAAC,WAAO;AAAA,EAAI;AAAA,EAAC,MAAM,kBAAkB,GAAE;AAAC,QAAG,CAAC,EAAE,OAAO;AAAO,UAAMO,KAAE,EAAE,CAAC,EAAE,OAAMiE,KAAE,EAAC,QAAO2O,GAAG5S,GAAE,QAAQ,EAAE,gBAAe,QAAO,EAAC,QAAO,EAAE,IAAI,CAAAa,OAAGA,GAAE,KAAK,EAAC,EAAC;AAAE,SAAK,OAAO,MAAM,wBAAwB,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,WAAU,WAAU,YAAW,SAAQoD,GAAC,CAAC;AAAE,QAAG;AAAC,YAAM,MAAMiM,KAAE,IAAI,QAAQ,CAAArP,OAAG;AAAC,aAAK,QAAQ,QAAQoD,EAAC,EAAE,MAAM,OAAG,KAAK,OAAO,KAAK,CAAC,CAAC,EAAE,KAAKpD,EAAC;AAAA,MAAC,CAAC,GAAE,KAAK,kBAAiB,4CAA4C;AAAA,IAAC,QAAM;AAAC,WAAK,QAAQ,OAAO,KAAK2L,IAAE,kBAAkB;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,MAAM,sBAAsB,GAAE;AAAC,QAAG,CAAC,EAAE,OAAO;AAAO,UAAMxM,KAAE,EAAE,CAAC,EAAE,OAAMiE,KAAE,EAAC,QAAO2O,GAAG5S,GAAE,QAAQ,EAAE,oBAAmB,QAAO,EAAC,QAAO,EAAE,IAAI,OAAG,EAAE,KAAK,EAAC,EAAC;AAAE,SAAK,OAAO,MAAM,wBAAwB,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,WAAU,WAAU,YAAW,SAAQiE,GAAC,CAAC;AAAE,QAAIpD;AAAE,QAAG;AAAC,MAAAA,KAAE,MAAM,MAAMqP,KAAE,IAAI,QAAQ,CAAC,GAAErO,OAAI;AAAC,aAAK,QAAQ,QAAQoC,EAAC,EAAE,MAAM,CAAAxE,OAAG;AAAC,eAAK,OAAO,KAAKA,EAAC,GAAEoC,GAAEpC,EAAC;AAAA,QAAC,CAAC,EAAE,KAAK,CAAC;AAAA,MAAC,CAAC,GAAE,KAAK,kBAAiB,gDAAgD;AAAA,IAAC,QAAM;AAAC,WAAK,QAAQ,OAAO,KAAK+M,IAAE,kBAAkB;AAAA,IAAC;AAAC,WAAO3L;AAAA,EAAC;AAAA,EAAC,eAAe,GAAEb,IAAEiE,IAAE;AAAC,UAAMpD,KAAE,EAAC,QAAO+R,GAAG3O,GAAE,QAAQ,EAAE,aAAY,QAAO,EAAC,OAAM,GAAE,IAAGjE,GAAC,EAAC;AAAE,WAAO,KAAK,OAAO,MAAM,wBAAwB,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,WAAU,WAAU,YAAW,SAAQa,GAAC,CAAC,GAAE,KAAK,QAAQ,QAAQA,EAAC;AAAA,EAAC;AAAA,EAAC,YAAY,GAAEb,IAAE;AAAC,SAAK,gBAAgB,GAAE+J,KAAGsB,KAAG,CAAA,GAAGrL,EAAC,GAAE,EAAC,IAAG,EAAC,CAAC,CAAC,GAAE,KAAK,QAAQ,OAAOA,GAAE,KAAK;AAAA,EAAC;AAAA,EAAC,iBAAiB,GAAE;AAAC,MAAE,UAAQ,EAAE,QAAQ,CAAAA,OAAG;AAAC,WAAK,gBAAgBA,GAAE,IAAGqL,KAAG,CAAA,GAAGrL,EAAC,CAAC,GAAE,KAAK,QAAQ,OAAOA,GAAE,KAAK;AAAA,IAAC,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,cAAc,GAAEA,IAAEiE,IAAE;AAAC,SAAK,OAAO,mBAAmBjE,EAAC,GAAE,KAAK,gBAAgBA,IAAE,CAAC,KAAG,KAAK,mBAAmBA,IAAEiE,EAAC,GAAE,MAAM,KAAK,QAAQ,SAAS,IAAI,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,wBAAwB,GAAE;AAAC,UAAM,KAAK,QAAQ,KAAK,QAAQ,QAAQ,KAAK,YAAW,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,0BAAyB;AAAC,WAAO,MAAM,KAAK,QAAQ,KAAK,QAAQ,QAAQ,KAAK,UAAU;AAAA,EAAC;AAAA,EAAC,gBAAgB,GAAEjE,IAAE;AAAC,SAAK,OAAO,MAAM,sBAAsB,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,mBAAkB,IAAG,GAAE,cAAaA,GAAC,CAAC,GAAE,KAAK,gBAAgB,GAAEA,EAAC;AAAA,EAAC;AAAA,EAAC,gBAAgB,GAAEA,IAAE;AAAC,SAAK,cAAc,IAAI,GAAEqL,KAAG,CAAA,GAAGrL,EAAC,CAAC,GAAE,KAAK,SAAS,IAAIA,GAAE,OAAM,CAAC,GAAE,KAAK,OAAO,KAAK8L,IAAE,SAAQ9L,EAAC;AAAA,EAAC;AAAA,EAAC,gBAAgB,GAAE;AAAC,SAAK,OAAO,MAAM,sBAAsB,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,mBAAkB,IAAG,EAAC,CAAC;AAAE,UAAMA,KAAE,KAAK,cAAc,IAAI,CAAC;AAAE,QAAG,CAACA,IAAE;AAAC,YAAK,EAAC,SAAQiE,GAAC,IAAEwH,KAAE,mBAAkB,GAAG,KAAK,IAAI,KAAK,CAAC,EAAE;AAAE,YAAM,IAAI,MAAMxH,EAAC;AAAA,IAAC;AAAC,WAAOjE;AAAA,EAAC;AAAA,EAAC,mBAAmB,GAAEA,IAAE;AAAC,SAAK,OAAO,MAAM,uBAAuB,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,sBAAqB,IAAG,GAAE,QAAOA,GAAC,CAAC;AAAE,UAAMiE,KAAE,KAAK,gBAAgB,CAAC;AAAE,SAAK,cAAc,OAAO,CAAC,GAAE,KAAK,SAAS,OAAOA,GAAE,OAAM,CAAC,GAAE,KAAK,OAAO,KAAK6H,IAAE,SAAQ/B,KAAGsB,KAAG,CAAA,GAAGpH,EAAC,GAAE,EAAC,QAAOjE,GAAC,CAAC,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,UAAS;AAAC,UAAM,KAAK,wBAAwB,KAAK,MAAM,GAAE,KAAK,OAAO,KAAK8L,IAAE,IAAI;AAAA,EAAC;AAAA,EAAC,MAAM,YAAW;AAAC,QAAG,KAAK,OAAO,QAAO;AAAC,YAAM,IAAE,CAAC,GAAG,KAAK,MAAM,GAAE9L,KAAE,KAAK,KAAK,KAAK,OAAO,SAAO,KAAK,yBAAyB;AAAE,eAAQiE,KAAE,GAAEA,KAAEjE,IAAEiE,MAAI;AAAC,cAAMpD,KAAE,EAAE,OAAO,GAAE,KAAK,yBAAyB;AAAE,cAAM,KAAK,eAAeA,EAAC;AAAA,MAAC;AAAA,IAAC;AAAC,SAAK,OAAO,KAAKiL,IAAE,YAAY;AAAA,EAAC;AAAA,EAAC,MAAM,UAAS;AAAC,QAAG;AAAC,YAAM,IAAE,MAAM,KAAK,wBAAuB;AAAG,UAAG,OAAO,IAAE,OAAK,CAAC,EAAE,OAAO;AAAO,UAAG,KAAK,cAAc,MAAK;AAAC,cAAK,EAAC,SAAQ9L,GAAC,IAAEyL,KAAE,yBAAwB,KAAK,IAAI;AAAE,cAAM,KAAK,OAAO,MAAMzL,EAAC,GAAE,KAAK,OAAO,MAAM,GAAG,KAAK,IAAI,KAAK,KAAK,UAAU,KAAK,MAAM,CAAC,EAAE,GAAE,IAAI,MAAMA,EAAC;AAAA,MAAC;AAAC,WAAK,SAAO,GAAE,KAAK,OAAO,MAAM,2CAA2C,KAAK,IAAI,EAAE,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,WAAU,eAAc,KAAK,OAAM,CAAC;AAAA,IAAC,SAAO,GAAE;AAAC,WAAK,OAAO,MAAM,uCAAuC,KAAK,IAAI,EAAE,GAAE,KAAK,OAAO,MAAM,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,MAAM,eAAe,GAAE;AAAC,MAAE,WAAS,MAAM,KAAK,kBAAkB,CAAC,GAAE,KAAK,iBAAiB,MAAM,QAAQ,IAAI,EAAE,IAAI,OAAMA,OAAG+J,KAAGsB,KAAG,CAAA,GAAGrL,EAAC,GAAE,EAAC,IAAG,MAAM,KAAK,kBAAkBA,GAAE,KAAK,EAAC,CAAC,CAAC,CAAC,CAAC;AAAA,EAAE;AAAA,EAAC,MAAM,mBAAmB,GAAE;AAAC,QAAG,CAAC,EAAE,OAAO;AAAO,SAAK,OAAO,MAAM,+BAA+B,EAAE,MAAM,gBAAgB;AAAE,UAAMA,KAAE,MAAM,KAAK,sBAAsB,CAAC;AAAE,IAAAA,MAAGA,GAAE,aAAW,MAAM2X,KAAGpL,IAAAA,cAAEkL,IAAAA,UAAC,CAAC,GAAE,MAAM,KAAK,QAAQ,yBAAyBzX,GAAE,QAAQ;AAAA,EAAE;AAAA,EAAC,MAAM,YAAW;AAAC,UAAM,KAAK,QAAO,GAAG,KAAK,MAAK;AAAA,EAAE;AAAA,EAAC,eAAc;AAAC,SAAK,UAAS;AAAA,EAAE;AAAA,EAAC,gBAAe;AAAC,QAAG,CAAC,KAAK,aAAY;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAEyL,KAAE,mBAAkB,KAAK,IAAI;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,MAAM,kBAAkB,GAAE;AAAC,KAAC,KAAK,QAAQ,aAAW,CAAC,KAAK,QAAQ,eAAa,KAAK,OAAO,KAAK,CAAC,GAAE,MAAM,KAAK,QAAQ,cAAa;AAAA,EAAG;AAAA,EAAC,MAAM,cAAa;AAAC,WAAO,KAAK,aAAW,KAAK,WAAS,MAAM,KAAK,QAAQ,KAAK,OAAO,YAAW,IAAI,KAAK;AAAA,EAAQ;AAAA,EAAC,MAAM,kBAAkB,GAAE;AAAC,WAAOkF,GAAG,IAAE,MAAM,KAAK,YAAW,CAAE;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,OAAO,uBAAsB,KAAG,OAAO,UAAU,gBAAe,KAAG,OAAO,UAAU,sBAAqBvF,OAAG,CAACzK,IAAE,GAAEX,OAAI,KAAKW,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAMX,GAAC,CAAC,IAAEW,GAAE,CAAC,IAAEX,IAAE,KAAG,CAACW,IAAE,MAAI;AAAC,WAAQX,MAAK,MAAI,IAAE,CAAA,GAAI,IAAG,KAAK,GAAEA,EAAC,KAAGoL,KAAGzK,IAAEX,IAAE,EAAEA,EAAC,CAAC;AAAE,MAAG,GAAG,UAAQA,MAAK,GAAG,CAAC,EAAE,IAAG,KAAK,GAAEA,EAAC,KAAGoL,KAAGzK,IAAEX,IAAE,EAAEA,EAAC,CAAC;AAAE,SAAOW;AAAC,GAAEb,MAAE,CAACa,IAAE,GAAEX,OAAIoL,KAAGzK,IAAE,OAAO,KAAG,WAAS,IAAE,KAAG,GAAEX,EAAC;AAAE,MAAM,WAAW4X,IAAE;AAAA,EAAC,YAAY,GAAE;AAAC,UAAM,CAAC,GAAE9X,IAAE,MAAK,YAAW,IAAI,GAAEA,IAAE,MAAK,WAAU,CAAC,GAAEA,IAAE,MAAK,MAAM,GAAEA,IAAE,MAAK,QAAQ,GAAEA,IAAE,MAAK,UAAS,IAAIiP,qBAAE,GAAEjP,IAAE,MAAK,UAAU,GAAEA,IAAE,MAAK,UAAU,GAAEA,IAAE,MAAK,YAAY,GAAEA,IAAE,MAAK,WAAW,GAAEA,IAAE,MAAK,QAAO,EAAE,GAAEA,IAAE,MAAK,6BAA4B,KAAE,GAAEA,IAAE,MAAK,eAAc,KAAE,GAAEA,IAAE,MAAK,+BAA8B,KAAE,GAAEA,IAAE,MAAK,UAAU,GAAEA,IAAE,MAAK,WAAW,GAAEA,IAAE,MAAK,aAAa,GAAEA,IAAE,MAAK,UAAU,GAAEA,IAAE,MAAK,mCAAkC,KAAE,GAAEA,IAAE,MAAK,aAAa,GAAEA,IAAE,MAAK,oBAAmByM,IAAAA,cAAE8G,IAAAA,iBAAGtM,IAAAA,YAAE,CAAC,GAAEjH,IAAE,MAAK,kBAAkB,GAAEA,IAAE,MAAK,gBAAgB,GAAEA,IAAE,MAAK,uBAAsB,KAAE,GAAEA,IAAE,MAAK,oBAAmB,CAAA,CAAE,GAAEA,IAAE,MAAK,kBAAiByM,IAAAA,cAAEkL,IAAAA,aAAE,EAAE,CAAC,GAAE3X,IAAE,MAAK,WAAU,OAAME,OAAG;AAAC,UAAIiE,IAAEpD;AAAE,WAAK,OAAO,MAAM,4BAA4B;AAAE,YAAM,IAAEb,GAAE,MAAIuK,eAAE,EAAG,SAAQ;AAAG,YAAM,KAAK,sBAAqB;AAAG,UAAG;AAAC,aAAK,OAAO,MAAM,EAAC,IAAG,GAAE,QAAOvK,GAAE,QAAO,QAAOiE,KAAEjE,GAAE,WAAS,OAAK,SAAOiE,GAAE,MAAK,GAAE,iCAAiC;AAAE,cAAMpC,KAAE,GAAG,CAAC,MAAMhB,KAAEb,GAAE,WAAS,OAAK,SAAOa,GAAE,QAAM,EAAE;AAAG,aAAK,iBAAiB,KAAKgB,EAAC;AAAE,cAAMpC,KAAE,MAAM,KAAK,SAAS,QAAQO,EAAC;AAAE,eAAO,KAAK,mBAAiB,KAAK,iBAAiB,OAAO,CAAAJ,OAAGA,OAAIiC,EAAC,GAAEpC;AAAA,MAAC,SAAOoC,IAAE;AAAC,cAAM,KAAK,OAAO,MAAM,8BAA8B,CAAC,EAAE,GAAEA;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE/B,IAAE,MAAK,oBAAmB,MAAI;AAAC6O,WAAE,MAAK,aAAa,KAAK,WAAW,GAAE,KAAK,cAAY,WAAW,MAAI;AAAC,YAAI3O,IAAEiE,IAAEpD,IAAE;AAAE,YAAG;AAAC,eAAK,OAAO,MAAM,IAAG,iDAAiD,IAAG,KAAGA,MAAGoD,MAAGjE,KAAE,KAAK,aAAW,OAAK,SAAOA,GAAE,eAAa,OAAK,SAAOiE,GAAE,WAAS,OAAK,SAAOpD,GAAE,cAAY,QAAM,EAAE,KAAKA,EAAC;AAAA,QAAC,SAAOgB,IAAE;AAAC,eAAK,OAAO,KAAKA,IAAEA,MAAA,gBAAAA,GAAG,OAAO;AAAA,QAAC;AAAA,MAAC,GAAE,KAAK,gBAAgB;AAAA,IAAE,CAAC,GAAE/B,IAAE,MAAK,oBAAmB,CAAAE,OAAG;AAAC,WAAK,kBAAkBA,EAAC,GAAE,KAAK,iBAAgB;AAAA,IAAE,CAAC,GAAEF,IAAE,MAAK,oBAAmB,MAAI;AAAC,WAAK,OAAO,KAAK,CAAA,GAAG,sBAA6B,GAAE,KAAK,iBAAgB,GAAG,KAAK,OAAO,KAAK0M,IAAE,OAAO;AAAA,IAAC,CAAC,GAAE1M,IAAE,MAAK,uBAAsB,MAAI;AAAC,WAAK,OAAO,KAAK,IAAG,yBAAgC,GAAE,KAAK,mBAAiB,CAAA,GAAG,KAAK;IAAsB,CAAC,GAAEA,IAAE,MAAK,0BAAyB,CAAAE,OAAG;AAAC,WAAK,OAAO,MAAM,uBAAuBA,GAAE,OAAO,EAAE,GAAE,KAAK,OAAO,KAAKwM,IAAE,OAAMxM,EAAC,GAAE,KAAK,OAAO,MAAM,gDAAgD,GAAE,KAAK,eAAc;AAAA,IAAE,CAAC,GAAEF,IAAE,MAAK,6BAA4B,MAAI;AAAC,WAAK,SAAS,GAAGqM,IAAE,SAAQ,KAAK,gBAAgB,GAAE,KAAK,SAAS,GAAGA,IAAE,SAAQ,KAAK,gBAAgB,GAAE,KAAK,SAAS,GAAGA,IAAE,YAAW,KAAK,mBAAmB,GAAE,KAAK,SAAS,GAAGA,IAAE,OAAM,KAAK,sBAAsB;AAAA,IAAC,CAAC,GAAE,KAAK,OAAK,EAAE,MAAK,KAAK,SAAO,OAAO,EAAE,SAAO,OAAK,OAAO,EAAE,UAAQ,WAASR,IAAE,EAAE,QAAO,KAAK,IAAI,IAAEkM,KAAG3I,IAAG,EAAC,OAAM,EAAE,UAAQ,GAAE,CAAC,CAAC,GAAE,KAAK,WAAS,IAAI,GAAG,KAAK,QAAO,EAAE,IAAI,GAAE,KAAK,aAAW,IAAI,GAAG,MAAK,KAAK,MAAM,GAAE,KAAK,YAAU,IAAI,GAAG,MAAK,KAAK,MAAM,GAAE,KAAK,YAAS,uBAAG,aAAUqH,MAAG,KAAK,YAAU,EAAE,WAAUuB,KAAE,IAAG,KAAK,cAAYlD,KAAE,IAAGmD,KAAE,MAAK,KAAK,WAASnD,KAAE,IAAI,KAAK,WAAS,CAAA;AAAA,EAAE;AAAA,EAAC,MAAM,OAAM;AAAC,QAAG,KAAK,OAAO,MAAM,aAAa,GAAE,KAAK,0BAAyB,MAAM,QAAQ,IAAI,CAAC,KAAK,SAAS,KAAI,GAAG,KAAK,WAAW,KAAI,CAAE,CAAC,GAAE,KAAK,cAAY,MAAG,KAAK,WAAW,aAAa,KAAG;AAAC,YAAM,KAAK,cAAa;AAAA,IAAE,SAAO,GAAE;AAAC,WAAK,OAAO,KAAK,GAAE,uBAAG,OAAO;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,IAAI,UAAS;AAAC,WAAOxI,IAAE,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,IAAI,YAAW;AAAC,QAAI,GAAEpM,IAAEiE;AAAE,aAAQA,MAAGjE,MAAG,IAAE,KAAK,aAAW,OAAK,SAAO,EAAE,eAAa,OAAK,SAAOA,GAAE,WAAS,OAAK,SAAOiE,GAAE,gBAAc,KAAG;AAAA,EAAE;AAAA,EAAC,IAAI,aAAY;AAAC,QAAI,GAAEjE,IAAEiE;AAAE,aAAQA,MAAGjE,MAAG,IAAE,KAAK,aAAW,OAAK,SAAO,EAAE,eAAa,OAAK,SAAOA,GAAE,WAAS,OAAK,SAAOiE,GAAE,gBAAc,KAAG,KAAK,mBAAiB,UAAQ;AAAA,EAAE;AAAA,EAAC,MAAM,QAAQ,GAAEjE,IAAEiE,IAAE;AAAC,SAAK,iBAAgB,MAAM,KAAK,UAAU,QAAQ,GAAEjE,IAAEiE,EAAC,GAAE,MAAM,KAAK,mBAAmB,EAAC,OAAM,GAAE,SAAQjE,IAAE,aAAY,KAAK,OAAM,eAAc8S,IAAE,MAAK,GAAEzM,KAAG,QAAQ;AAAA,EAAC;AAAA,EAAC,MAAM,UAAU,GAAErG,IAAE;AAAC,QAAIiE,IAAEpD,IAAE;AAAE,SAAK,cAAa,IAAI,EAAEb,MAAG,QAAMA,GAAE,mBAAgBA,MAAA,gBAAAA,GAAG,mBAAgB,YAAU,MAAM,KAAK,sBAAqB;AAAG,UAAM6B,KAAE,SAAQoC,KAAEjE,MAAA,gBAAAA,GAAG,aAAW,OAAK,SAAOiE,GAAE,wBAAsB,MAAI,QAAIpD,KAAEb,MAAA,gBAAAA,GAAG,aAAW,OAAK,SAAOa,GAAE;AAAqB,QAAIpB,OAAI,IAAE,KAAK,WAAW,SAAS,IAAI,CAAC,MAAI,OAAK,SAAO,EAAE,CAAC,MAAI,IAAGG;AAAE,UAAMG,KAAE,CAAAF,OAAG;AAAC,MAAAA,GAAE,UAAQ,MAAI,KAAK,WAAW,IAAIiM,IAAE,SAAQ/L,EAAC,GAAEH,GAAC;AAAA,IAAG;AAAE,WAAO,MAAM,QAAQ,IAAI,CAAC,IAAI,QAAQ,CAAAC,OAAG;AAAC,MAAAD,KAAEC,IAAE,KAAK,WAAW,GAAGiM,IAAE,SAAQ/L,EAAC;AAAA,IAAC,CAAC,GAAE,IAAI,QAAQ,OAAMF,IAAEuB,OAAI;AAAC,MAAA3B,KAAE,MAAM,KAAK,WAAW,UAAU,GAAE,GAAG,EAAC,UAAS,EAAC,sBAAqBoC,GAAC,EAAC,GAAE7B,EAAC,CAAC,EAAE,MAAM,OAAG;AAAC,QAAA6B,MAAGT,GAAE,CAAC;AAAA,MAAC,CAAC,KAAG3B,IAAEI,GAAC;AAAA,IAAE,CAAC,CAAC,CAAC,GAAEJ;AAAA,EAAC;AAAA,EAAC,MAAM,YAAY,GAAEO,IAAE;AAAC,SAAK,cAAa,GAAG,MAAM,KAAK,WAAW,YAAY,GAAEA,EAAC;AAAA,EAAC;AAAA,EAAC,GAAG,GAAEA,IAAE;AAAC,SAAK,OAAO,GAAG,GAAEA,EAAC;AAAA,EAAC;AAAA,EAAC,KAAK,GAAEA,IAAE;AAAC,SAAK,OAAO,KAAK,GAAEA,EAAC;AAAA,EAAC;AAAA,EAAC,IAAI,GAAEA,IAAE;AAAC,SAAK,OAAO,IAAI,GAAEA,EAAC;AAAA,EAAC;AAAA,EAAC,eAAe,GAAEA,IAAE;AAAC,SAAK,OAAO,eAAe,GAAEA,EAAC;AAAA,EAAC;AAAA,EAAC,MAAM,sBAAqB;AAAC,SAAK,SAAS,eAAa,KAAK,mCAAiC,KAAK,aAAW,MAAMkQ,KAAE,KAAK,SAAS,cAAa,KAAI,uBAAuB,EAAE,MAAM,MAAI,KAAK,qBAAoB,CAAE,IAAE,KAAK,qBAAoB;AAAA,EAAE;AAAA,EAAC,MAAM,iBAAgB;AAAC,SAAK,4BAA0B,MAAG,MAAM,KAAK,oBAAmB;AAAA,EAAE;AAAA,EAAC,MAAM,cAAc,GAAE;AAAC,QAAG,CAAC,KAAK,WAAW,cAAa;AAAC,WAAK,OAAO,KAAK,+EAA+E;AAAE;AAAA,IAAM;AAAC,QAAG,KAAK,kBAAgB,KAAK,OAAO,MAAM,CAAA,GAAG,uDAAuD,GAAE,MAAM,KAAK,gBAAe,KAAK,OAAO,MAAM,CAAA,GAAG,sCAAsC,MAAI,KAAK,iBAAe,IAAI,QAAQ,OAAMlQ,IAAEiE,OAAI;AAAC,YAAM,KAAK,QAAQ,CAAC,EAAE,KAAKjE,EAAC,EAAE,MAAMiE,EAAC,EAAE,QAAQ,MAAI;AAAC,aAAK,iBAAe;AAAA,MAAM,CAAC;AAAA,IAAC,CAAC,GAAE,MAAM,KAAK,iBAAgB,CAAC,KAAK,UAAU,OAAM,IAAI,MAAM,6DAA6D,KAAK,QAAQ,EAAE;AAAA,EAAC;AAAA,EAAC,MAAM,iBAAiB,GAAE;AAAC,SAAK,OAAO,MAAM,CAAA,GAAG,yBAAyB,GAAE,CAAC,KAAK,gCAA8B,KAAK,WAAS,KAAG,KAAK,UAAS,MAAM,KAAK,0BAAyB,GAAG,MAAM,KAAK,eAAc,GAAG,MAAM,KAAK,cAAa;AAAA,EAAG;AAAA,EAAC,MAAM,4BAA2B;AAAC,QAAG,CAAC,MAAMwN,GAAE,EAAG,OAAM,IAAI,MAAM,6EAA6E;AAAA,EAAC;AAAA,EAAC,MAAM,yBAAyB,GAAE;AAAC,SAAG,uBAAG,YAAS,GAAE;AAAC,WAAK,OAAO,MAAM,4CAA4C;AAAE;AAAA,IAAM;AAAC,UAAMzR,KAAE,EAAE,KAAK,CAACiE,IAAEpD,OAAIoD,GAAE,cAAYpD,GAAE,WAAW;AAAE,SAAK,OAAO,MAAM,YAAYb,GAAE,MAAM,wBAAwB;AAAE,eAAUiE,MAAKjE,GAAE,KAAG;AAAC,YAAM,KAAK,eAAeiE,EAAC;AAAA,IAAC,SAAOpD,IAAE;AAAC,WAAK,OAAO,KAAKA,IAAE,kDAA+CA,MAAA,gBAAAA,GAAG,QAAO;AAAA,IAAC;AAAC,SAAK,OAAO,MAAM,YAAYb,GAAE,MAAM,2BAA2B;AAAA,EAAC;AAAA,EAAC,MAAM,mBAAmB,GAAEA,IAAE;AAAC,UAAK,EAAC,OAAMiE,GAAC,IAAE;AAAE,QAAG,CAACjE,GAAE,eAAc;AAAC,YAAMa,KAAEqU,KAAG8C,IAAAA,YAAE,GAAE,IAAE,EAAC,OAAM/T,IAAE,QAAOpD,IAAE,OAAM,EAAC,UAAS,MAAK,GAAE,QAAO,MAAE;AAAE,YAAM,KAAK,KAAK,QAAQ,SAAS,IAAIoD,IAAE,CAAC;AAAA,IAAC;AAAC,SAAK,OAAO,KAAKuI,IAAE,SAAQ,CAAC,GAAE,MAAM,KAAK,mBAAmB,GAAEnG,KAAG,OAAO;AAAA,EAAC;AAAA,EAAC,MAAM,QAAQ,GAAE;AAAC,UAAM,KAAK,0BAAyB,GAAG,KAAG,MAAI,KAAK,aAAW,KAAK,WAAS,GAAE,MAAM,KAAK,oBAAmB,IAAI,KAAK,8BAA4B,MAAG,KAAK,4BAA0B;AAAG,QAAIrG,KAAE;AAAE,WAAKA,KAAE,KAAG;AAAC,UAAG;AAAC,YAAG,KAAK,0BAA0B;AAAM,aAAK,OAAO,MAAM,CAAA,GAAG,iBAAiB,KAAK,QAAQ,cAAcA,EAAC,KAAK,GAAE,MAAM,KAAK,eAAc,GAAG,MAAM,IAAI,QAAQ,OAAMiE,IAAEpD,OAAI;AAAC,gBAAM,IAAE,MAAI;AAAC,YAAAA,GAAE,IAAI,MAAM,kDAAkD,CAAC;AAAA,UAAC;AAAE,eAAK,SAAS,KAAKsL,IAAE,YAAW,CAAC,GAAE,MAAM+D,KAAE,IAAI,QAAQ,CAACrO,IAAEpC,OAAI;AAAC,iBAAK,SAAS,QAAO,EAAG,KAAKoC,EAAC,EAAE,MAAMpC,EAAC;AAAA,UAAC,CAAC,GAAE,KAAK,gBAAe,4CAA4C,KAAK,QAAQ,EAAE,EAAE,MAAM,CAAAoC,OAAG;AAAC,YAAAhB,GAAEgB,EAAC;AAAA,UAAC,CAAC,EAAE,QAAQ,MAAI;AAAC,iBAAK,SAAS,IAAIsK,IAAE,YAAW,CAAC,GAAE,aAAa,KAAK,gBAAgB;AAAA,UAAC,CAAC,GAAE,MAAM,IAAI,QAAQ,OAAMtK,IAAEpC,OAAI;AAAC,kBAAMG,KAAE,MAAI;AAAC,cAAAH,GAAE,IAAI,MAAM,kDAAkD,CAAC;AAAA,YAAC;AAAE,iBAAK,SAAS,KAAK0M,IAAE,YAAWvM,EAAC,GAAE,MAAM,KAAK,WAAW,MAAK,EAAG,KAAKiC,EAAC,EAAE,MAAMpC,EAAC,EAAE,QAAQ,MAAI;AAAC,mBAAK,SAAS,IAAI0M,IAAE,YAAWvM,EAAC;AAAA,YAAC,CAAC;AAAA,UAAC,CAAC,GAAE,KAAK,kCAAgC,OAAGqE,GAAC;AAAA,QAAE,CAAC;AAAA,MAAC,SAAOA,IAAE;AAAC,cAAM,KAAK,WAAW,KAAI;AAAG,cAAMpD,KAAEoD;AAAE,aAAK,OAAO,KAAK,CAAA,GAAGpD,GAAE,OAAO,GAAE,KAAK,kCAAgC;AAAA,MAAE,UAAC;AAAQ,aAAK,8BAA4B;AAAA,MAAE;AAAC,UAAG,KAAK,WAAU;AAAC,aAAK,OAAO,MAAM,CAAA,GAAG,gBAAgB,KAAK,QAAQ,6BAA6Bb,EAAC,EAAE;AAAE;AAAA,MAAK;AAAC,YAAM,IAAI,QAAQ,CAAAiE,OAAG,WAAWA,IAAEsI,IAAAA,cAAEvM,KAAE,CAAC,CAAC,CAAC,GAAEA;AAAA,IAAG;AAAA,EAAC;AAAA,EAAC,mBAAkB;AAAC,QAAI,GAAEA,IAAEiE,IAAEpD,IAAE;AAAE,QAAG8N,KAAE,EAAG,KAAG;AAAC,OAAC3O,MAAG,IAAE,KAAK,aAAW,OAAK,SAAO,EAAE,eAAa,QAAMA,GAAE,YAAU,KAAGa,MAAGoD,KAAE,KAAK,aAAW,OAAK,SAAOA,GAAE,eAAa,OAAK,SAAOpD,GAAE,WAAS,QAAM,EAAE,GAAG,QAAO,MAAI;AAAC,aAAK,iBAAgB;AAAA,MAAE,CAAC,IAAG,KAAK,iBAAgB;AAAA,IAAE,SAAOgB,IAAE;AAAC,WAAK,OAAO,KAAKA,IAAEA,MAAA,gBAAAA,GAAG,OAAO;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,MAAM,iBAAgB;AAAC,SAAK,SAAS,cAAY,KAAK,4BAA2B;AAAG,UAAM,IAAE,MAAM,KAAK,KAAK,OAAO,QAAQ,KAAK,QAAQ;AAAE,SAAK,WAAS,IAAI+L,EAAG,IAAID,IAAGnC,KAAG,EAAC,YAAW1I,MAAG,UAAS,KAAK,UAAS,SAAQ,KAAK,SAAQ,UAAS,KAAK,UAAS,WAAU,KAAK,WAAU,MAAK,GAAE,iBAAgB,MAAG,UAAS,KAAK,UAAS,aAAY,KAAK,YAAW,CAAC,CAAC,CAAC,GAAE,KAAK,0BAAyB;AAAA,EAAE;AAAA,EAAC,MAAM,mBAAmB,GAAE9C,IAAE;AAAC,UAAK,EAAC,OAAMiE,IAAE,SAAQpD,GAAC,IAAE;AAAE,UAAM,KAAK,SAAS,IAAIoD,IAAEpD,IAAEb,EAAC;AAAA,EAAC;AAAA,EAAC,MAAM,yBAAyB,GAAE;AAAC,UAAK,EAAC,OAAMA,IAAE,SAAQiE,GAAC,IAAE;AAAE,QAAG,CAACA,MAAGA,GAAE,WAAS,EAAE,QAAO,KAAK,OAAO,KAAK,mCAAmCA,EAAC,EAAE,GAAE;AAAG,QAAG,CAAC,MAAM,KAAK,WAAW,aAAajE,EAAC,EAAE,QAAO,KAAK,OAAO,KAAK,sCAAsCA,EAAC,EAAE,GAAE;AAAG,UAAMa,KAAE,KAAK,SAAS,IAAIb,IAAEiE,EAAC;AAAE,WAAOpD,MAAG,KAAK,OAAO,KAAK,+BAA+BoD,EAAC,EAAE,GAAEpD;AAAA,EAAC;AAAA,EAAC,MAAM,kBAAkB,GAAE;AAAC,QAAG,KAAK,OAAO,MAAM,wBAAwB,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,WAAU,WAAU,YAAW,SAAQ,EAAC,CAAC,GAAEyO,iBAAG,CAAC,GAAE;AAAC,UAAG,CAAC,EAAE,OAAO,SAASwC,IAAE,EAAE;AAAO,YAAM9R,KAAE,EAAE,QAAO,EAAC,OAAMiE,IAAE,SAAQpD,IAAE,aAAY,GAAE,aAAYgB,GAAC,IAAE7B,GAAE,MAAKP,KAAE,EAAC,OAAMwE,IAAE,SAAQpD,IAAE,aAAY,GAAE,eAAciS,IAAE,OAAM,aAAYjR,GAAC;AAAE,WAAK,OAAO,MAAM,0BAA0B,GAAE,KAAK,OAAO,MAAM,GAAG,EAAC,MAAK,SAAQ,OAAM7B,GAAE,GAAE,GAAEP,EAAC,CAAC,GAAE,KAAK,OAAO,KAAKO,GAAE,IAAGP,EAAC,GAAE,MAAM,KAAK,mBAAmB,CAAC,GAAE,MAAM,KAAK,eAAeA,EAAC;AAAA,IAAC,MAAMmQ,mBAAG,CAAC,KAAG,KAAK,OAAO,KAAKpD,IAAE,aAAY,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,eAAe,GAAE;AAAC,UAAM,KAAK,yBAAyB,CAAC,MAAI,MAAM,KAAK,mBAAmB,GAAEnG,KAAG,OAAO,GAAE,KAAK,OAAO,KAAKmG,IAAE,SAAQ,CAAC;AAAA,EAAE;AAAA,EAAC,MAAM,mBAAmB,GAAE;AAAC,UAAMxM,KAAE+R,oBAAG,EAAE,IAAG,IAAE;AAAE,UAAM,KAAK,SAAS,WAAW,KAAK/R,EAAC;AAAA,EAAC;AAAA,EAAC,8BAA6B;AAAC,SAAK,SAAS,IAAImM,IAAE,SAAQ,KAAK,gBAAgB,GAAE,KAAK,SAAS,IAAIA,IAAE,SAAQ,KAAK,gBAAgB,GAAE,KAAK,SAAS,IAAIA,IAAE,YAAW,KAAK,mBAAmB,GAAE,KAAK,SAAS,IAAIA,IAAE,OAAM,KAAK,sBAAsB,GAAE,aAAa,KAAK,WAAW;AAAA,EAAC;AAAA,EAAC,MAAM,yBAAwB;AAAC,QAAI,IAAE,MAAMsF,GAAE;AAAG1E,OAAG,OAAM/M,OAAG;AAAC,YAAIA,OAAI,IAAEA,IAAEA,KAAE,MAAM,KAAK,gBAAgB,MAAM,CAAAiE,OAAG,KAAK,OAAO,MAAMA,IAAEA,MAAA,gBAAAA,GAAG,OAAO,CAAC,KAAG,KAAK,kCAAgC,MAAG,MAAM,KAAK,oBAAmB,GAAG,KAAK,4BAA0B;AAAA,IAAI,CAAC,GAAE,KAAK,KAAK,UAAU,GAAGoK,EAAG,OAAM,YAAS;AAAC,UAAG,CAAC,KAAK,6BAA2B,CAAC,KAAK,aAAWlB,GAAE,EAAG,KAAG;AAAC,cAAM,KAAK,0BAAyB,GAAG,MAAM,KAAK,cAAa;AAAA,MAAE,SAAOnN,IAAE;AAAC,aAAK,OAAO,KAAKA,IAAEA,MAAA,gBAAAA,GAAG,OAAO;AAAA,MAAC;AAAA,IAAC,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,uBAAsB;AAAC,iBAAa,KAAK,WAAW,GAAE,KAAK,OAAO,KAAKwM,IAAE,UAAU,GAAE,KAAK,8BAA4B,OAAG,CAAC,KAAK,wBAAsB,KAAK,sBAAoB,MAAG,MAAM,KAAK,WAAW,KAAI,GAAG,KAAK,WAAW,iBAAe,KAAK,8BAA4B,KAAK,mBAAiB,WAAW,YAAS;AAAC,YAAM,KAAK,gBAAgB,MAAM,OAAG,KAAK,OAAO,MAAM,GAAE,uBAAG,OAAO,CAAC,GAAE,KAAK,mBAAiB,QAAO,KAAK,sBAAoB;AAAA,IAAE,GAAED,IAAAA,cAAE/E,IAAE,CAAC;AAAA,EAAI;AAAA,EAAC,gBAAe;AAAC,QAAG,CAAC,KAAK,aAAY;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAEiE,KAAE,mBAAkB,KAAK,IAAI;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,MAAM,wBAAuB;AAAC,QAAG,MAAM,KAAK,0BAAyB,GAAG,CAAC,KAAK,WAAU;AAAC,UAAG,KAAK,gBAAe;AAAC,cAAM,KAAK;AAAe;AAAA,MAAM;AAAC,YAAM,KAAK,QAAO;AAAA,IAAE;AAAA,EAAC;AAAC;AAAC,SAAS,KAAI;AAAC;AAAC,SAAS,GAAG9K,IAAE;AAAC,MAAG,CAACA,MAAG,OAAOA,MAAG,SAAS,QAAM;AAAG,QAAM,IAAE,OAAO,eAAeA,EAAC;AAAE,SAAO,MAAI,QAAM,MAAI,OAAO,aAAW,OAAO,eAAe,CAAC,MAAI,OAAK,OAAO,UAAU,SAAS,KAAKA,EAAC,MAAI,oBAAkB;AAAE;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,OAAO,sBAAsBA,EAAC,EAAE,OAAO,OAAG,OAAO,UAAU,qBAAqB,KAAKA,IAAE,CAAC,CAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAOA,MAAG,OAAKA,OAAI,SAAO,uBAAqB,kBAAgB,OAAO,UAAU,SAAS,KAAKA,EAAC;AAAC;AAAC,MAAM,KAAG,mBAAkB,KAAG,mBAAkB,KAAG,mBAAkB,KAAG,oBAAmB,KAAG,sBAAqB,KAAG,mBAAkB,KAAG,iBAAgB,KAAG,gBAAe,KAAG,gBAAe,KAAG,kBAAiB,KAAG,qBAAoB,KAAG,wBAAuB6O,OAAG,mBAAkB,KAAG,kBAAiB,KAAG,qBAAoB,KAAG,uBAAsB,KAAG,8BAA6B,KAAG,wBAAuB,KAAG,wBAAuB,KAAG,2BAA0B,KAAG,sBAAqB,KAAG,uBAAsB,KAAG,uBAAsB,KAAG,0BAAyB,KAAG,yBAAwB,KAAG;AAAwB,SAAS,GAAG7O,IAAE,GAAE;AAAC,SAAOA,OAAI,KAAG,OAAO,MAAMA,EAAC,KAAG,OAAO,MAAM,CAAC;AAAC;AAAC,SAAS,GAAGA,IAAE,GAAEX,IAAE;AAAC,SAAOwJ,KAAG7I,IAAE,GAAE,QAAO,QAAO,QAAO,QAAOX,EAAC;AAAC;AAAC,SAASwJ,KAAG7I,IAAE,GAAEX,IAAEiE,IAAEpD,IAAE,GAAEgB,IAAE;AAAC,QAAMpC,KAAEoC,GAAElB,IAAE,GAAEX,IAAEiE,IAAEpD,IAAE,CAAC;AAAE,MAAGpB,OAAI,OAAO,QAAOA;AAAE,MAAG,OAAOkB,MAAG,OAAO,EAAE,SAAO,OAAOA,IAAC;AAAA,IAAE,KAAI;AAAA,IAAS,KAAI;AAAA,IAAS,KAAI;AAAA,IAAU,KAAI;AAAA,IAAS,KAAI;AAAY,aAAOA,OAAI;AAAA,IAAE,KAAI;AAAS,aAAOA,OAAI,KAAG,OAAO,GAAGA,IAAE,CAAC;AAAA,IAAE,KAAI;AAAW,aAAOA,OAAI;AAAA,IAAE,KAAI;AAAS,aAAO0M,KAAG1M,IAAE,GAAE,GAAEkB,EAAC;AAAA,EAAC;AAAC,SAAOwL,KAAG1M,IAAE,GAAE,GAAEkB,EAAC;AAAC;AAAC,SAASwL,KAAG1M,IAAE,GAAEX,IAAEiE,IAAE;AAAC,MAAG,OAAO,GAAGtD,IAAE,CAAC,EAAE,QAAM;AAAG,MAAIE,KAAE,GAAGF,EAAC,GAAE,IAAE,GAAG,CAAC;AAAE,MAAGE,OAAI,OAAKA,KAAE2O,OAAI,MAAI,OAAK,IAAEA,OAAI3O,OAAI,EAAE;AAAS,UAAOA,IAAC;AAAA,IAAE,KAAK;AAAG,aAAOF,GAAE,SAAQ,MAAK,EAAE,SAAQ;AAAA,IAAG,KAAK,IAAG;AAAC,YAAMf,KAAEe,GAAE,QAAO,GAAGZ,KAAE,EAAE,QAAO;AAAG,aAAO,GAAGH,IAAEG,EAAC;AAAA,IAAC;AAAA,IAAC,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAG,aAAO,OAAO,GAAGY,GAAE,QAAO,GAAG,EAAE,QAAO,CAAE;AAAA,IAAE,KAAK;AAAG,aAAOA,GAAE,WAAS,EAAE,UAAQA,GAAE,UAAQ,EAAE;AAAA,IAAM,KAAK;AAAG,aAAOA,OAAI;AAAA,EAAC;AAAC,EAAAX,KAAEA,MAAG,oBAAI;AAAI,QAAM6B,KAAE7B,GAAE,IAAIW,EAAC,GAAElB,KAAEO,GAAE,IAAI,CAAC;AAAE,MAAG6B,MAAG,QAAMpC,MAAG,KAAK,QAAOoC,OAAI;AAAE,EAAA7B,GAAE,IAAIW,IAAE,CAAC,GAAEX,GAAE,IAAI,GAAEW,EAAC;AAAE,MAAG;AAAC,YAAOE,IAAC;AAAA,MAAE,KAAK,IAAG;AAAC,YAAGF,GAAE,SAAO,EAAE,KAAK,QAAM;AAAG,mBAAS,CAACf,IAAEG,EAAC,KAAIY,GAAE,QAAO,EAAG,KAAG,CAAC,EAAE,IAAIf,EAAC,KAAG,CAAC4J,KAAGzJ,IAAE,EAAE,IAAIH,EAAC,GAAEA,IAAEe,IAAE,GAAEX,IAAEiE,EAAC,EAAE,QAAM;AAAG,eAAM;AAAA,MAAE;AAAA,MAAC,KAAK,IAAG;AAAC,YAAGtD,GAAE,SAAO,EAAE,KAAK,QAAM;AAAG,cAAMf,KAAE,MAAM,KAAKe,GAAE,OAAM,CAAE,GAAEZ,KAAE,MAAM,KAAK,EAAE,OAAM,CAAE;AAAE,iBAAQF,KAAE,GAAEA,KAAED,GAAE,QAAOC,MAAI;AAAC,gBAAMuB,KAAExB,GAAEC,EAAC,GAAE,IAAEE,GAAE,UAAU,OAAGyJ,KAAGpI,IAAE,GAAE,QAAOT,IAAE,GAAEX,IAAEiE,EAAC,CAAC;AAAE,cAAG,MAAI,GAAG,QAAM;AAAG,UAAAlE,GAAE,OAAO,GAAE,CAAC;AAAA,QAAC;AAAC,eAAM;AAAA,MAAE;AAAA,MAAC,KAAK;AAAA,MAAG,KAAK;AAAA,MAAG,KAAK;AAAA,MAAG,KAAK;AAAA,MAAG,KAAK;AAAA,MAAG,KAAK;AAAA,MAAG,KAAK;AAAA,MAAG,KAAK;AAAA,MAAG,KAAK;AAAA,MAAG,KAAK;AAAA,MAAG,KAAK;AAAA,MAAG,KAAK,IAAG;AAAC,YAAG,OAAO,SAAO,OAAK,OAAO,SAASY,EAAC,MAAI,OAAO,SAAS,CAAC,KAAGA,GAAE,WAAS,EAAE,OAAO,QAAM;AAAG,iBAAQf,KAAE,GAAEA,KAAEe,GAAE,QAAOf,KAAI,KAAG,CAAC4J,KAAG7I,GAAEf,EAAC,GAAE,EAAEA,EAAC,GAAEA,IAAEe,IAAE,GAAEX,IAAEiE,EAAC,EAAE,QAAM;AAAG,eAAM;AAAA,MAAE;AAAA,MAAC,KAAK;AAAG,eAAOtD,GAAE,eAAa,EAAE,aAAW,QAAG0M,KAAG,IAAI,WAAW1M,EAAC,GAAE,IAAI,WAAW,CAAC,GAAEX,IAAEiE,EAAC;AAAA,MAAE,KAAK;AAAG,eAAOtD,GAAE,eAAa,EAAE,cAAYA,GAAE,eAAa,EAAE,aAAW,QAAG0M,KAAG,IAAI,WAAW1M,EAAC,GAAE,IAAI,WAAW,CAAC,GAAEX,IAAEiE,EAAC;AAAA,MAAE,KAAK;AAAG,eAAOtD,GAAE,SAAO,EAAE,QAAMA,GAAE,YAAU,EAAE;AAAA,MAAQ,KAAK6O,MAAG;AAAC,YAAG,EAAEnC,KAAG1M,GAAE,aAAY,EAAE,aAAYX,IAAEiE,EAAC,KAAG,GAAGtD,EAAC,KAAG,GAAG,CAAC,GAAG,QAAM;AAAG,cAAMZ,KAAE,CAAC,GAAG,OAAO,KAAKY,EAAC,GAAE,GAAG,GAAGA,EAAC,CAAC,GAAEd,KAAE,CAAC,GAAG,OAAO,KAAK,CAAC,GAAE,GAAG,GAAG,CAAC,CAAC;AAAE,YAAGE,GAAE,WAASF,GAAE,OAAO,QAAM;AAAG,iBAAQuB,KAAE,GAAEA,KAAErB,GAAE,QAAOqB,MAAI;AAAC,gBAAM,IAAErB,GAAEqB,EAAC,GAAE,IAAET,GAAE,CAAC;AAAE,cAAG,CAAC,OAAO,OAAO,GAAE,CAAC,EAAE,QAAM;AAAG,gBAAMiB,KAAE,EAAE,CAAC;AAAE,cAAG,CAAC4H,KAAG,GAAE5H,IAAE,GAAEjB,IAAE,GAAEX,IAAEiE,EAAC,EAAE,QAAM;AAAA,QAAE;AAAC,eAAM;AAAA,MAAE;AAAA,MAAC;AAAQ,eAAM;AAAA,IAAE;AAAA,EAAC,UAAC;AAAQ,IAAAjE,GAAE,OAAOW,EAAC,GAAEX,GAAE,OAAO,CAAC;AAAA,EAAC;AAAC;AAAC,SAAS,GAAGW,IAAE,GAAE;AAAC,SAAO,GAAGA,IAAE,GAAE,EAAE;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,OAAO,uBAAsB,KAAG,OAAO,UAAU,gBAAe,KAAG,OAAO,UAAU,sBAAqByO,OAAG,CAACzO,IAAE,GAAEX,OAAI,KAAKW,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAMX,GAAC,CAAC,IAAEW,GAAE,CAAC,IAAEX,IAAE,KAAG,CAACW,IAAE,MAAI;AAAC,WAAQX,MAAK,MAAI,IAAE,CAAA,GAAI,IAAG,KAAK,GAAEA,EAAC,KAAGoP,KAAGzO,IAAEX,IAAE,EAAEA,EAAC,CAAC;AAAE,MAAG,GAAG,UAAQA,MAAK,GAAG,CAAC,EAAE,IAAG,KAAK,GAAEA,EAAC,KAAGoP,KAAGzO,IAAEX,IAAE,EAAEA,EAAC,CAAC;AAAE,SAAOW;AAAC,GAAE,IAAE,CAACA,IAAE,GAAEX,OAAIoP,KAAGzO,IAAE,OAAO,KAAG,WAAS,IAAE,KAAG,GAAEX,EAAC;AAAE,MAAM,WAAW8I,IAAE;AAAA,EAAC,YAAY,GAAE9I,IAAEiE,IAAEpD,KAAEkL,KAAE,IAAE,QAAO;AAAC,UAAM,GAAE/L,IAAEiE,IAAEpD,EAAC,GAAE,KAAK,OAAK,GAAE,KAAK,SAAOb,IAAE,KAAK,OAAKiE,IAAE,EAAE,MAAK,OAAM,oBAAI,KAAG,GAAE,EAAE,MAAK,WAAUwK,IAAE,GAAE,EAAE,MAAK,UAAS,CAAA,CAAE,GAAE,EAAE,MAAK,eAAc,KAAE,GAAE,EAAE,MAAK,QAAQ,GAAE,EAAE,MAAK,iBAAgB1C,GAAC,GAAE,EAAE,MAAK,mBAAkB,CAAA,CAAE,GAAE,EAAE,MAAK,wBAAuB,GAAG,GAAE,EAAE,MAAK,QAAO,YAAS;AAAC,WAAK,gBAAc,KAAK,OAAO,MAAM,aAAa,GAAE,MAAM,KAAK,QAAO,GAAG,KAAK,OAAO,QAAQ,CAAAlK,OAAG;AAAC,aAAK,UAAQA,OAAI,QAAM,CAACyQ,KAAGzQ,EAAC,IAAE,KAAK,IAAI,IAAI,KAAK,OAAOA,EAAC,GAAEA,EAAC,IAAE0L,GAAG1L,EAAC,IAAE,KAAK,IAAI,IAAIA,GAAE,IAAGA,EAAC,IAAEoW,GAAGpW,EAAC,KAAG,KAAK,IAAI,IAAIA,GAAE,OAAMA,EAAC;AAAA,MAAC,CAAC,GAAE,KAAK,SAAO,CAAA,GAAG,KAAK,cAAY;AAAA,IAAG,CAAC,GAAE,EAAE,MAAK,OAAM,OAAMA,IAAEpC,OAAI;AAAC,WAAK,cAAa,GAAG,KAAK,IAAI,IAAIoC,EAAC,IAAE,MAAM,KAAK,OAAOA,IAAEpC,EAAC,KAAG,KAAK,OAAO,MAAM,eAAe,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,OAAM,KAAIoC,IAAE,OAAMpC,GAAC,CAAC,GAAE,KAAK,IAAI,IAAIoC,IAAEpC,EAAC,GAAE,MAAM,KAAK,QAAO;AAAA,IAAG,CAAC,GAAE,EAAE,MAAK,OAAM,CAAAoC,QAAI,KAAK,cAAa,GAAG,KAAK,OAAO,MAAM,eAAe,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,OAAM,KAAIA,GAAC,CAAC,GAAE,KAAK,QAAQA,EAAC,EAAE,GAAE,EAAE,MAAK,UAAS,CAAAA,QAAI,KAAK,iBAAgBA,KAAE,KAAK,OAAO,OAAO,CAAApC,OAAG,OAAO,KAAKoC,EAAC,EAAE,MAAM,CAAAjC,OAAG,GAAGH,GAAEG,EAAC,GAAEiC,GAAEjC,EAAC,CAAC,CAAC,CAAC,IAAE,KAAK,OAAO,GAAE,EAAE,MAAK,UAAS,OAAMiC,IAAEpC,OAAI;AAAC,WAAK,cAAa,GAAG,KAAK,OAAO,MAAM,gBAAgB,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,UAAS,KAAIoC,IAAE,QAAOpC,GAAC,CAAC;AAAE,YAAMG,KAAE,GAAG,GAAG,CAAA,GAAG,KAAK,QAAQiC,EAAC,CAAC,GAAEpC,EAAC;AAAE,WAAK,IAAI,IAAIoC,IAAEjC,EAAC,GAAE,MAAM,KAAK,QAAO;AAAA,IAAE,CAAC,GAAE,EAAE,MAAK,UAAS,OAAMiC,IAAEpC,OAAI;AAAC,WAAK,cAAa,GAAG,KAAK,IAAI,IAAIoC,EAAC,MAAI,KAAK,OAAO,MAAM,gBAAgB,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,UAAS,KAAIA,IAAE,QAAOpC,GAAC,CAAC,GAAE,KAAK,IAAI,OAAOoC,EAAC,GAAE,KAAK,qBAAqBA,EAAC,GAAE,MAAM,KAAK,QAAO;AAAA,IAAG,CAAC,GAAE,KAAK,SAAO8J,IAAE3L,IAAE,KAAK,IAAI,GAAE,KAAK,gBAAca,IAAE,KAAK,SAAO;AAAA,EAAC;AAAA,EAAC,IAAI,UAAS;AAAC,WAAOuL,IAAE,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,IAAI,aAAY;AAAC,WAAO,KAAK,gBAAc,KAAK,UAAQ,KAAK,KAAK,sBAAoB,OAAK,KAAK;AAAA,EAAI;AAAA,EAAC,IAAI,SAAQ;AAAC,WAAO,KAAK,IAAI;AAAA,EAAI;AAAA,EAAC,IAAI,OAAM;AAAC,WAAO,MAAM,KAAK,KAAK,IAAI,KAAI,CAAE;AAAA,EAAC;AAAA,EAAC,IAAI,SAAQ;AAAC,WAAO,MAAM,KAAK,KAAK,IAAI,QAAQ;AAAA,EAAC;AAAA,EAAC,qBAAqB,GAAE;AAAC,SAAK,gBAAgB,KAAK,CAAC,GAAE,KAAK,gBAAgB,UAAQ,KAAK,wBAAsB,KAAK,gBAAgB,OAAO,GAAE,KAAK,uBAAqB,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,aAAa,GAAE;AAAC,UAAM,KAAK,KAAK,QAAQ,QAAQ,KAAK,YAAW,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,eAAc;AAAC,WAAO,MAAM,KAAK,KAAK,QAAQ,QAAQ,KAAK,UAAU;AAAA,EAAC;AAAA,EAAC,QAAQ,GAAE;AAAC,UAAMpM,KAAE,KAAK,IAAI,IAAI,CAAC;AAAE,QAAG,CAACA,IAAE;AAAC,UAAG,KAAK,gBAAgB,SAAS,CAAC,GAAE;AAAC,cAAK,EAAC,SAAQa,GAAC,IAAE4K,KAAE,sBAAqB,iCAAiC,KAAK,IAAI,KAAK,CAAC,EAAE;AAAE,cAAM,KAAK,OAAO,MAAM5K,EAAC,GAAE,IAAI,MAAMA,EAAC;AAAA,MAAC;AAAC,YAAK,EAAC,SAAQoD,GAAC,IAAEwH,KAAE,mBAAkB,GAAG,KAAK,IAAI,KAAK,CAAC,EAAE;AAAE,YAAM,KAAK,OAAO,MAAMxH,EAAC,GAAE,IAAI,MAAMA,EAAC;AAAA,IAAC;AAAC,WAAOjE;AAAA,EAAC;AAAA,EAAC,MAAM,UAAS;AAAC,UAAM,KAAK,aAAa,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,MAAM,UAAS;AAAC,QAAG;AAAC,YAAM,IAAE,MAAM,KAAK,aAAY;AAAG,UAAG,OAAO,IAAE,OAAK,CAAC,EAAE,OAAO;AAAO,UAAG,KAAK,IAAI,MAAK;AAAC,cAAK,EAAC,SAAQA,GAAC,IAAEyL,KAAE,yBAAwB,KAAK,IAAI;AAAE,cAAM,KAAK,OAAO,MAAMzL,EAAC,GAAE,IAAI,MAAMA,EAAC;AAAA,MAAC;AAAC,WAAK,SAAO,GAAE,KAAK,OAAO,MAAM,mCAAmC,KAAK,IAAI,EAAE,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,WAAU,OAAM,KAAK,OAAM,CAAC;AAAA,IAAC,SAAO,GAAE;AAAC,WAAK,OAAO,MAAM,+BAA+B,KAAK,IAAI,EAAE,GAAE,KAAK,OAAO,MAAM,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,gBAAe;AAAC,QAAG,CAAC,KAAK,aAAY;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAEyL,KAAE,mBAAkB,KAAK,IAAI;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,CAAC9K,IAAE,GAAEX,OAAI,KAAKW,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAMX,GAAC,CAAC,IAAEW,GAAE,CAAC,IAAEX,IAAE,IAAE,CAACW,IAAE,GAAEX,OAAI,GAAGW,IAAE,OAAO,KAAG,WAAS,IAAE,KAAG,GAAEX,EAAC;AAAE,MAAM,GAAE;AAAA,EAAC,YAAY,GAAEA,IAAE;AAAC,SAAK,OAAK,GAAE,KAAK,SAAOA,IAAE,EAAE,MAAK,QAAOgP,IAAE,GAAE,EAAE,MAAK,WAAUuD,IAAE,GAAE,EAAE,MAAK,UAAS,IAAI2F,MAAE,GAAE,EAAE,MAAK,UAAU,GAAE,EAAE,MAAK,eAAc,KAAE,GAAE,EAAE,MAAK,iBAAgBnM,GAAC,GAAE,EAAE,MAAK,uBAAsB,CAACoM,IAAE,CAAC,GAAE,EAAE,MAAK,qBAAoB,CAAA,CAAE,GAAE,EAAE,MAAK,QAAO,YAAS;AAAC,WAAK,gBAAc,MAAM,KAAK,SAAS,KAAI,GAAG,MAAM,KAAK,QAAO,GAAG,KAAK,yBAAwB,KAAK,sBAAqB,GAAG,KAAK,cAAY,MAAG,KAAK,OAAO,MAAM,aAAa;AAAA,IAAE,CAAC,GAAE,EAAE,MAAK,YAAW,CAAC,EAAC,SAAQlU,GAAC,MAAI;AAAC,WAAK,cAAa,GAAG,KAAK,oBAAkB,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,KAAK,mBAAkB,GAAGA,EAAC,CAAC,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,UAAS,OAAMA,OAAG;AAAC,WAAK,cAAa;AAAG,YAAMpD,KAAEoU,GAAE,GAAG,IAAE,MAAM,KAAK,KAAK,OAAO,UAAUpU,EAAC,GAAEgB,KAAEqT,KAAG8C,IAAAA,YAAE,GAAEvY,KAAE,EAAC,UAAS4D,KAAE,GAAEzD,KAAE,EAAC,OAAM,GAAE,QAAOiC,IAAE,OAAMpC,IAAE,QAAO,OAAG,SAAQwE,MAAA,gBAAAA,GAAG,QAAO,GAAElE,KAAE2R,GAAG,EAAC,UAAS,KAAK,KAAK,UAAS,SAAQ,KAAK,KAAK,SAAQ,OAAM,GAAE,QAAO7Q,IAAE,OAAMpB,IAAE,iBAAgBoC,IAAE,SAAQoC,MAAA,gBAAAA,GAAG,QAAO,CAAC;AAAE,aAAO,KAAK,OAAO,KAAKyO,KAAG,QAAO9S,EAAC,GAAE,KAAK,KAAK,QAAQ,IAAI,GAAEiC,EAAC,GAAE,MAAM,KAAK,SAAS,IAAI,GAAEjC,EAAC,GAAE,MAAM,KAAK,KAAK,QAAQ,UAAU,GAAE,EAAC,eAAcqE,MAAA,gBAAAA,GAAG,cAAa,CAAC,GAAE,EAAC,OAAM,GAAE,KAAIlE,GAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,QAAO,OAAMkE,OAAG;AAAC,WAAK,cAAa;AAAG,YAAMpD,KAAE,KAAK,KAAK,YAAY,YAAY,EAAC,YAAW,EAAC,OAAMoD,MAAA,gBAAAA,GAAG,KAAI,OAAM,CAAC,EAAE,eAAe,EAAC,EAAC,CAAC;AAAE,WAAK,YAAYA,IAAEpD,EAAC;AAAE,YAAK,EAAC,OAAM,GAAE,QAAOgB,IAAE,OAAMpC,IAAE,iBAAgBG,IAAE,SAAQG,GAAC,IAAEoE,GAAGF,GAAE,GAAG;AAAE,MAAApD,GAAE,MAAM,WAAW,QAAM,GAAEA,GAAE,SAAS,EAAE,8BAA8B,GAAEA,GAAE,SAAS,EAAE,uBAAuB;AAAE,UAAIhB;AAAE,UAAG,KAAK,SAAS,KAAK,SAAS,CAAC,GAAE;AAAC,YAAGA,KAAE,KAAK,SAAS,IAAI,CAAC,GAAEgB,GAAE,SAAS,EAAE,gBAAgB,GAAEhB,GAAE,OAAO,OAAMgB,GAAE,SAAS+B,IAAE,6BAA6B,GAAE,IAAI,MAAM,2BAA2B,CAAC,+CAA+C;AAAE,QAAA/B,GAAE,SAAS,EAAE,mBAAmB;AAAA,MAAC;AAAC,YAAMO,KAAExB,MAAGsV,KAAG8C,gBAAE,GAAE,IAAE,EAAC,OAAM,GAAE,OAAMvY,IAAE,QAAO2B,IAAE,QAAO,OAAG,SAAQrB,GAAC;AAAE,WAAK,KAAK,QAAQ,IAAI,GAAEqB,EAAC,GAAE,MAAM,KAAK,SAAS,IAAI,GAAE,CAAC,GAAEP,GAAE,SAAS,EAAE,iBAAiB,GAAEoD,GAAE,mBAAiB,MAAM,KAAK,SAAS,EAAC,OAAM,EAAC,CAAC,GAAE,KAAK,OAAO,KAAKyO,KAAG,QAAO,CAAC,GAAE7R,GAAE,SAAS,EAAE,qBAAqB,GAAE,KAAK,KAAK,OAAO,SAAS,IAAI,CAAC,KAAG,MAAM,KAAK,KAAK,OAAO,UAAUgB,IAAE,CAAC,GAAEhB,GAAE,SAAS,EAAE,yBAAyB;AAAE,UAAG;AAAC,cAAM,KAAK,KAAK,QAAQ,0BAAyB;AAAA,MAAE,QAAM;AAAC,QAAAA,GAAE,SAAS+B,IAAE,sBAAsB;AAAA,MAAC;AAAC,UAAG;AAAC,cAAM,KAAK,KAAK,QAAQ,UAAU,GAAE,EAAC,OAAMnD,GAAC,CAAC;AAAA,MAAC,SAAO,GAAE;AAAC,cAAMoB,GAAE,SAAS+B,IAAE,+BAA+B,GAAE;AAAA,MAAC;AAAC,aAAO/B,GAAE,SAAS,EAAE,+BAA+B,GAAE;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,YAAW,OAAM,EAAC,OAAMoD,GAAC,MAAI;AAAC,WAAK,cAAa;AAAG,YAAMpD,KAAEqU,KAAG8C,IAAAA,YAAE;AAAE,WAAK,KAAK,QAAQ,IAAI/T,IAAEpD,EAAC,GAAE,MAAM,KAAK,SAAS,OAAOoD,IAAE,EAAC,QAAO,MAAG,QAAOpD,GAAC,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,QAAO,OAAMoD,OAAG;AAAC,WAAK,cAAa,GAAG,MAAM,KAAK,YAAYA,EAAC,GAAE,KAAK,OAAO,KAAK,qEAAqE;AAAE,YAAK,EAAC,OAAMpD,GAAC,IAAEoD;AAAE,UAAG,KAAK,SAAS,KAAK,SAASpD,EAAC,GAAE;AAAC,cAAM,IAAE,MAAM,KAAK,YAAYA,IAAE,kBAAiB,CAAA,CAAE,GAAE,EAAC,MAAKgB,IAAE,SAAQpC,IAAE,QAAOG,GAAC,IAAEsL,KAAE;AAAG,aAAK,OAAO,KAAKjJ,KAAG,gBAAe,CAAC,GAAE,CAAC,EAAC,OAAMlC,GAAC,MAAI;AAAC,UAAAA,KAAEH,GAAEG,EAAC,IAAEN,GAAC;AAAA,QAAE,CAAC,GAAE,MAAMoC,GAAC;AAAA,MAAE;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,gBAAe,OAAM,EAAC,OAAMoC,IAAE,QAAOpD,GAAC,MAAI;AAAC,WAAK,cAAa,GAAG,MAAM,KAAK,SAAS,OAAOoD,IAAE,EAAC,QAAOpD,GAAC,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,kBAAiB,OAAM,EAAC,OAAMoD,IAAE,UAASpD,GAAC,MAAI;AAAC,WAAK,cAAa,GAAG,MAAM,KAAK,SAAS,OAAOoD,IAAE,EAAC,cAAapD,GAAC,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,eAAc,OAAK,KAAK,cAAa,GAAG,KAAK,SAAS,OAAO,GAAE,EAAE,MAAK,cAAa,OAAMoD,OAAG;AAAC,WAAK,cAAa,GAAG,MAAM,KAAK,kBAAkBA,EAAC;AAAE,YAAK,EAAC,OAAMpD,GAAC,IAAEoD;AAAE,WAAK,SAAS,KAAK,SAASpD,EAAC,MAAI,MAAM,KAAK,YAAYA,IAAE,oBAAmBmB,KAAG,mBAAmB,CAAC,GAAE,MAAM,KAAK,cAAcnB,EAAC;AAAA,IAAE,CAAC,GAAE,EAAE,MAAK,wBAAuB,CAAAoD,OAAG;AAAC,WAAK,cAAa;AAAG,YAAK,EAAC,OAAMpD,IAAE,OAAM,GAAE,QAAOgB,IAAE,SAAQpC,GAAC,IAAEwE,IAAErE,KAAE,KAAK,KAAK,OAAO,SAAS,IAAIiB,EAAC;AAAE,aAAO6Q,GAAG,EAAC,UAAS,KAAK,KAAK,UAAS,SAAQ,KAAK,KAAK,SAAQ,OAAM7Q,IAAE,QAAOjB,IAAE,OAAM,GAAE,iBAAgBiC,IAAE,SAAQpC,GAAC,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,eAAc,OAAMwE,IAAEpD,IAAE,MAAI;AAAC,YAAMgB,KAAEiM,qBAAGjN,IAAE,CAAC,GAAEpB,KAAE,MAAM,KAAK,KAAK,OAAO,OAAOwE,IAAEpC,EAAC,GAAEjC,KAAEkV,KAAGjU,EAAC,EAAE;AAAI,aAAO,KAAK,KAAK,QAAQ,IAAIoD,IAAEpC,EAAC,GAAE,KAAK,KAAK,QAAQ,QAAQoC,IAAExE,IAAEG,EAAC,GAAEiC,GAAE;AAAA,IAAE,CAAC,GAAE,EAAE,MAAK,cAAa,OAAMoC,IAAEpD,IAAE,MAAI;AAAC,YAAMgB,KAAEkQ,oBAAG9N,IAAE,CAAC,GAAExE,KAAE,MAAM,KAAK,KAAK,OAAO,OAAOoB,IAAEgB,EAAC,GAAEjC,MAAG,MAAM,KAAK,KAAK,QAAQ,IAAIiB,IAAEoD,EAAC,GAAG,QAAQ,QAAOlE,KAAE+U,KAAGlV,EAAC,EAAE;AAAI,YAAM,KAAK,KAAK,QAAQ,QAAQiB,IAAEpB,IAAEM,EAAC,GAAE,MAAM,KAAK,KAAK,QAAQ,QAAQ8B,EAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,aAAY,OAAMoC,IAAEpD,IAAE,MAAI;AAAC,YAAMgB,KAAEuW,mBAAGnU,IAAE,CAAC,GAAExE,KAAE,MAAM,KAAK,KAAK,OAAO,OAAOoB,IAAEgB,EAAC,GAAEjC,MAAG,MAAM,KAAK,KAAK,QAAQ,IAAIiB,IAAEoD,EAAC,GAAG,QAAQ,QAAOlE,KAAE+U,KAAGlV,EAAC,IAAEkV,KAAGlV,EAAC,EAAE,MAAIkV,KAAG,oBAAoB;AAAI,YAAM,KAAK,KAAK,QAAQ,QAAQjU,IAAEpB,IAAEM,EAAC,GAAE,MAAM,KAAK,KAAK,QAAQ,QAAQ8B,EAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,iBAAgB,OAAMoC,IAAEpD,OAAI;AAAC,YAAM,KAAK,KAAK,QAAQ,YAAYoD,EAAC,GAAE,MAAM,QAAQ,IAAI,CAAC,KAAK,SAAS,OAAOA,IAAEjC,KAAG,mBAAmB,CAAC,GAAE,KAAK,KAAK,OAAO,aAAaiC,EAAC,GAAEpD,KAAE,QAAQ,QAAO,IAAG,KAAK,KAAK,QAAQ,IAAIoD,EAAC,CAAC,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,WAAU,YAAS;AAAC,YAAMA,KAAE,KAAK,SAAS,OAAM,EAAG,OAAO,CAAApD,OAAGkC,KAAGlC,GAAE,MAAM,CAAC;AAAE,YAAM,QAAQ,IAAIoD,GAAE,IAAI,CAAApD,OAAG,KAAK,cAAcA,GAAE,KAAK,CAAC,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,uBAAsB,OAAMoD,OAAG;AAAC,YAAK,EAAC,OAAMpD,IAAE,SAAQ,EAAC,IAAEoD;AAAE,cAAO,EAAE,QAAM;AAAA,QAAE,KAAI;AAAiB,iBAAO,MAAM,KAAK,qBAAqBpD,IAAE,CAAC;AAAA,QAAE,KAAI;AAAmB,iBAAO,MAAM,KAAK,uBAAuBA,IAAE,CAAC;AAAA,QAAE;AAAQ,iBAAO,MAAM,KAAK,0BAA0BA,IAAE,CAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,wBAAuB,OAAMoD,OAAG;AAAC,YAAK,EAAC,OAAMpD,IAAE,SAAQ,EAAC,IAAEoD,IAAEpC,MAAG,MAAM,KAAK,KAAK,QAAQ,IAAIhB,IAAE,EAAE,EAAE,GAAG,QAAQ;AAAO,cAAOgB,IAAC;AAAA,QAAE,KAAI;AAAiB,iBAAO,KAAK,sBAAsBhB,IAAE,CAAC;AAAA,QAAE;AAAQ,iBAAO,KAAK,2BAA2BgB,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,wBAAuB,OAAMoC,IAAEpD,OAAI;AAAC,YAAK,EAAC,IAAG,EAAC,IAAEA;AAAE,UAAG;AAAC,aAAK,YAAY,EAAC,OAAMoD,GAAC,CAAC,GAAE,MAAM,KAAK,WAAW,GAAEA,IAAE,IAAE,GAAE,KAAK,OAAO,KAAKyO,KAAG,MAAK,EAAC,IAAG,GAAE,OAAMzO,GAAC,CAAC;AAAA,MAAC,SAAOpC,IAAE;AAAC,cAAM,KAAK,UAAU,GAAEoC,IAAEpC,EAAC,GAAE,KAAK,OAAO,MAAMA,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,yBAAwB,CAACoC,IAAEpD,OAAI;AAAC,YAAK,EAAC,IAAG,EAAC,IAAEA;AAAE,iBAAW,MAAI;AAACwX,wBAAGxX,EAAC,IAAE,KAAK,OAAO,KAAKoB,KAAG,gBAAe,CAAC,GAAE,CAAA,CAAE,IAAE4E,eAAGhG,EAAC,KAAG,KAAK,OAAO,KAAKoB,KAAG,gBAAe,CAAC,GAAE,EAAC,OAAMpB,GAAE,MAAK,CAAC;AAAA,MAAC,GAAE,GAAG;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,0BAAyB,OAAMoD,IAAEpD,OAAI;AAAC,YAAK,EAAC,IAAG,EAAC,IAAEA;AAAE,UAAG;AAAC,aAAK,kBAAkB,EAAC,OAAMoD,GAAC,CAAC,GAAE,MAAM,KAAK,cAAcA,EAAC,GAAE,KAAK,OAAO,KAAKyO,KAAG,QAAO,EAAC,IAAG,GAAE,OAAMzO,GAAC,CAAC;AAAA,MAAC,SAAOpC,IAAE;AAAC,cAAM,KAAK,UAAU,GAAEoC,IAAEpC,EAAC,GAAE,KAAK,OAAO,MAAMA,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,6BAA4B,OAAMoC,IAAEpD,OAAI;AAAC,YAAK,EAAC,IAAG,GAAE,QAAOgB,GAAC,IAAEhB;AAAE,UAAG;AAAC,YAAG,KAAK,kBAAkB,SAASgB,EAAC,EAAE;AAAO,cAAMpC,KAAEuC,KAAG,yBAAwBH,EAAC;AAAE,cAAM,KAAK,UAAU,GAAEoC,IAAExE,EAAC,GAAE,KAAK,OAAO,MAAMA,EAAC;AAAA,MAAC,SAAOA,IAAE;AAAC,cAAM,KAAK,UAAU,GAAEwE,IAAExE,EAAC,GAAE,KAAK,OAAO,MAAMA,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,8BAA6B,CAAAwE,OAAG;AAAC,WAAK,kBAAkB,SAASA,EAAC,KAAG,KAAK,OAAO,MAAMjC,KAAG,yBAAwBiC,EAAC,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,eAAc,CAACA,IAAEpD,OAAI;AAAC,UAAI;AAAE,UAAG,CAAC6D,GAAGT,EAAC,GAAE;AAAC,cAAK,EAAC,SAAQxE,GAAC,IAAEgM,KAAE,sBAAqB,kBAAkBxH,EAAC,EAAE;AAAE,cAAMpD,GAAE,SAAS+B,IAAE,qBAAqB,GAAE,IAAI,MAAMnD,EAAC;AAAA,MAAC;AAAC,UAAG,CAACuL,GAAG/G,GAAE,GAAG,GAAE;AAAC,cAAK,EAAC,SAAQxE,GAAC,IAAEgM,KAAE,sBAAqB,eAAexH,GAAE,GAAG,EAAE;AAAE,cAAMpD,GAAE,SAAS+B,IAAE,qBAAqB,GAAE,IAAI,MAAMnD,EAAC;AAAA,MAAC;AAAC,YAAMoC,KAAEsC,GAAGF,MAAA,gBAAAA,GAAG,GAAG;AAAE,UAAG,GAAG,IAAEpC,MAAA,gBAAAA,GAAG,UAAQ,QAAM,EAAE,WAAU;AAAC,cAAK,EAAC,SAAQpC,GAAC,IAAEgM,KAAE,sBAAqB,2BAA2B;AAAE,cAAM5K,GAAE,SAAS+B,IAAE,qBAAqB,GAAE,IAAI,MAAMnD,EAAC;AAAA,MAAC;AAAC,UAAG,EAAEoC,MAAG,QAAMA,GAAE,SAAQ;AAAC,cAAK,EAAC,SAAQpC,GAAC,IAAEgM,KAAE,sBAAqB,mBAAmB;AAAE,cAAM5K,GAAE,SAAS+B,IAAE,qBAAqB,GAAE,IAAI,MAAMnD,EAAC;AAAA,MAAC;AAAC,UAAGoC,MAAG,QAAMA,GAAE,mBAAiB0K,IAAAA,cAAE1K,MAAA,gBAAAA,GAAG,eAAe,IAAE,KAAK,IAAG,GAAG;AAAC,QAAAhB,GAAE,SAAS+B,IAAE,eAAe;AAAE,cAAK,EAAC,SAAQnD,GAAC,IAAEgM,KAAE,WAAU,qEAAqE;AAAE,cAAM,IAAI,MAAMhM,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,eAAc,OAAMwE,OAAG;AAAC,UAAG,CAACS,GAAGT,EAAC,GAAE;AAAC,cAAK,EAAC,SAAQ,EAAC,IAAEwH,KAAE,sBAAqB,kBAAkBxH,EAAC,EAAE;AAAE,cAAM,IAAI,MAAM,CAAC;AAAA,MAAC;AAAC,YAAK,EAAC,OAAMpD,GAAC,IAAEoD;AAAE,YAAM,KAAK,oBAAoBpD,EAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,qBAAoB,OAAMoD,OAAG;AAAC,UAAG,CAACS,GAAGT,EAAC,GAAE;AAAC,cAAK,EAAC,SAAQ,EAAC,IAAEwH,KAAE,sBAAqB,wBAAwBxH,EAAC,EAAE;AAAE,cAAM,IAAI,MAAM,CAAC;AAAA,MAAC;AAAC,YAAK,EAAC,OAAMpD,GAAC,IAAEoD;AAAE,YAAM,KAAK,oBAAoBpD,EAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,uBAAsB,OAAMoD,OAAG;AAAC,UAAG,CAACyH,KAAGzH,IAAE,KAAE,GAAE;AAAC,cAAK,EAAC,SAAQpD,GAAC,IAAE4K,KAAE,sBAAqB,qCAAqCxH,EAAC,EAAE;AAAE,cAAM,IAAI,MAAMpD,EAAC;AAAA,MAAC;AAAC,UAAG,CAAC,KAAK,SAAS,KAAK,SAASoD,EAAC,GAAE;AAAC,cAAK,EAAC,SAAQpD,GAAC,IAAE4K,KAAE,mBAAkB,gCAAgCxH,EAAC,EAAE;AAAE,cAAM,IAAI,MAAMpD,EAAC;AAAA,MAAC;AAAC,UAAGkC,KAAG,KAAK,SAAS,IAAIkB,EAAC,EAAE,MAAM,GAAE;AAAC,cAAM,KAAK,cAAcA,EAAC;AAAE,cAAK,EAAC,SAAQpD,GAAC,IAAE4K,KAAE,WAAU,kBAAkBxH,EAAC,EAAE;AAAE,cAAM,IAAI,MAAMpD,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,KAAK,OAAK,GAAE,KAAK,SAAO8K,IAAE3L,IAAE,KAAK,IAAI,GAAE,KAAK,WAAS,IAAI,GAAG,KAAK,MAAK,KAAK,QAAO,KAAK,MAAK,KAAK,aAAa;AAAA,EAAC;AAAA,EAAC,IAAI,UAAS;AAAC,WAAOoM,IAAE,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,gBAAe;AAAC,QAAG,CAAC,KAAK,aAAY;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAEX,KAAE,mBAAkB,KAAK,IAAI;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,wBAAuB;AAAC,SAAK,KAAK,QAAQ,GAAGe,IAAE,SAAQ,OAAM,MAAG;AAAC,YAAK,EAAC,OAAMxM,IAAE,SAAQiE,IAAE,eAAcpD,GAAC,IAAE;AAAE,UAAG,KAAK,SAAS,KAAK,SAASb,EAAC,KAAGa,OAAIiS,IAAE,aAAW,CAAC,KAAK,oBAAoB,SAAS,KAAK,KAAK,OAAO,eAAe7O,EAAC,CAAC,EAAE,KAAG;AAAC,cAAM,IAAE,MAAM,KAAK,KAAK,OAAO,OAAOjE,IAAEiE,EAAC;AAAEqL,yBAAG,CAAC,KAAG,KAAK,KAAK,QAAQ,IAAItP,IAAE,CAAC,GAAE,MAAM,KAAK,oBAAoB,EAAC,OAAMA,IAAE,SAAQ,EAAC,CAAC,KAAG4P,kBAAG,CAAC,MAAI,MAAM,KAAK,KAAK,QAAQ,QAAQ,CAAC,GAAE,MAAM,KAAK,qBAAqB,EAAC,OAAM5P,IAAE,SAAQ,EAAC,CAAC,GAAE,KAAK,KAAK,QAAQ,OAAOA,IAAE,EAAE,EAAE,IAAG,MAAM,KAAK,KAAK,QAAQ,SAAS,IAAIA,IAAEiE,EAAC;AAAA,MAAC,SAAO,GAAE;AAAC,aAAK,OAAO,MAAM,CAAC;AAAA,MAAC;AAAA,IAAC,CAAC;AAAA,EAAC;AAAA,EAAC,wBAAuB;AAAC,SAAK,KAAK,QAAQ,GAAGyI,IAAE,SAAQ,OAAM,MAAG;AAAC,YAAK,EAAC,OAAM1M,GAAC,IAAEiL,KAAG,EAAE,MAAM;AAAE,MAAAjL,MAAG,KAAK,SAAS,KAAK,SAASA,EAAC,MAAI,MAAM,KAAK,cAAcA,IAAE,IAAE,GAAE,KAAK,OAAO,KAAK0S,KAAG,QAAO,EAAC,OAAM1S,GAAC,CAAC;AAAA,IAAE,CAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,CAACW,IAAE,GAAEX,OAAI,KAAKW,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAMX,GAAC,CAAC,IAAEW,GAAE,CAAC,IAAEX,IAAE4L,MAAE,CAACjL,IAAE,GAAEX,OAAI,GAAGW,IAAE,OAAO,KAAG,WAAS,IAAE,KAAG,GAAEX,EAAC;AAAE,MAAM,WAAWsY,IAAE;AAAA,EAAC,YAAY,GAAEtY,IAAE;AAAC,UAAM,GAAEA,EAAC,GAAE,KAAK,OAAK,GAAE,KAAK,SAAOA,IAAE4L,IAAE,MAAK,WAAU,oBAAI,KAAG,GAAEA,IAAE,MAAK,UAAS,IAAImD,OAAAA,cAAE,GAAEnD,IAAE,MAAK,QAAOqH,IAAE,GAAErH,IAAE,MAAK,WAAUiD,IAAE,GAAEjD,IAAE,MAAK,UAAS,CAAA,CAAE,GAAEA,IAAE,MAAK,eAAc,KAAE,GAAEA,IAAE,MAAK,iBAAgBG,GAAC,GAAEH,IAAE,MAAK,QAAO,YAAS;AAAC,WAAK,gBAAc,KAAK,OAAO,MAAM,aAAa,GAAE,MAAM,KAAK,QAAO,GAAG,KAAK,OAAO,QAAQ,CAAA3H,OAAG,KAAK,QAAQ,IAAIA,GAAE,IAAGA,EAAC,CAAC,GAAE,KAAK,SAAO,IAAG,KAAK,uBAAsB,GAAG,KAAK,cAAY;AAAA,IAAG,CAAC,GAAE2H,IAAE,MAAK,OAAM,CAAC3H,IAAEpD,IAAE,MAAI;AAAC,UAAG,KAAK,cAAa,GAAG,KAAK,OAAO,MAAM,yCAAyC,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,OAAM,OAAMoD,IAAE,SAAQpD,IAAE,SAAQ,EAAC,CAAC,GAAE,KAAK,QAAQ,IAAIA,GAAE,EAAE,EAAE;AAAO,YAAMgB,KAAE,EAAC,IAAGhB,GAAE,IAAG,OAAMoD,IAAE,SAAQ,EAAC,QAAOpD,GAAE,QAAO,QAAOA,GAAE,UAAQ,KAAI,GAAE,SAAQ,GAAE,QAAOqU,KAAGhP,IAAAA,WAAE,EAAC;AAAE,WAAK,QAAQ,IAAIrE,GAAE,IAAGA,EAAC,GAAE,KAAK,QAAO,GAAG,KAAK,OAAO,KAAKgK,IAAE,SAAQhK,EAAC;AAAA,IAAC,CAAC,GAAE+J,IAAE,MAAK,WAAU,OAAM3H,OAAG;AAAC,UAAG,KAAK,cAAa,GAAG,KAAK,OAAO,MAAM,2CAA2C,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,UAAS,UAASA,GAAC,CAAC,GAAE,CAAC,KAAK,QAAQ,IAAIA,GAAE,EAAE,EAAE;AAAO,YAAMpD,KAAE,MAAM,KAAK,UAAUoD,GAAE,EAAE;AAAE,aAAOpD,GAAE,WAAS,QAAMA,GAAE,WAASgG,eAAG5C,EAAC,IAAE,EAAC,OAAMA,GAAE,MAAK,IAAE,EAAC,QAAOA,GAAE,OAAM,GAAE,KAAK,QAAQ,IAAIpD,GAAE,IAAGA,EAAC,GAAE,KAAK,QAAO,GAAG,KAAK,OAAO,KAAKgL,IAAE,SAAQhL,EAAC;AAAA,IAAE,CAAC,GAAE+K,IAAE,MAAK,OAAM,OAAM3H,IAAEpD,QAAK,KAAK,cAAa,GAAG,KAAK,OAAO,MAAM,gBAAgB,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,OAAM,OAAMoD,IAAE,IAAGpD,GAAC,CAAC,GAAE,MAAM,KAAK,UAAUA,EAAC,EAAE,GAAE+K,IAAE,MAAK,UAAS,CAAC3H,IAAEpD,OAAI;AAAC,WAAK,cAAa,GAAG,KAAK,OAAO,MAAM,iBAAiB,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,UAAS,IAAGA,GAAC,CAAC,GAAE,KAAK,OAAO,QAAQ,OAAG;AAAC,YAAG,EAAE,UAAQoD,IAAE;AAAC,cAAG,OAAOpD,KAAE,OAAK,EAAE,OAAKA,GAAE;AAAO,eAAK,QAAQ,OAAO,EAAE,EAAE,GAAE,KAAK,OAAO,KAAKgL,IAAE,SAAQ,CAAC;AAAA,QAAC;AAAA,MAAC,CAAC,GAAE,KAAK,QAAO;AAAA,IAAE,CAAC,GAAED,IAAE,MAAK,UAAS,OAAM3H,IAAEpD,QAAK,KAAK,iBAAgB,KAAK,QAAQ,IAAIA,EAAC,KAAG,MAAM,KAAK,UAAUA,EAAC,GAAG,UAAQoD,KAAE,MAAG,GAAE2H,IAAE,MAAK,MAAK,CAAC3H,IAAEpD,OAAI;AAAC,WAAK,OAAO,GAAGoD,IAAEpD,EAAC;AAAA,IAAC,CAAC,GAAE+K,IAAE,MAAK,QAAO,CAAC3H,IAAEpD,OAAI;AAAC,WAAK,OAAO,KAAKoD,IAAEpD,EAAC;AAAA,IAAC,CAAC,GAAE+K,IAAE,MAAK,OAAM,CAAC3H,IAAEpD,OAAI;AAAC,WAAK,OAAO,IAAIoD,IAAEpD,EAAC;AAAA,IAAC,CAAC,GAAE+K,IAAE,MAAK,kBAAiB,CAAC3H,IAAEpD,OAAI;AAAC,WAAK,OAAO,eAAeoD,IAAEpD,EAAC;AAAA,IAAC,CAAC,GAAE,KAAK,SAAO8K,IAAE3L,IAAE,KAAK,IAAI;AAAA,EAAC;AAAA,EAAC,IAAI,UAAS;AAAC,WAAOoM,IAAE,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,IAAI,aAAY;AAAC,WAAO,KAAK,gBAAc,KAAK,UAAQ,KAAK,KAAK,sBAAoB,OAAK,KAAK;AAAA,EAAI;AAAA,EAAC,IAAI,OAAM;AAAC,WAAO,KAAK,QAAQ;AAAA,EAAI;AAAA,EAAC,IAAI,OAAM;AAAC,WAAO,MAAM,KAAK,KAAK,QAAQ,KAAI,CAAE;AAAA,EAAC;AAAA,EAAC,IAAI,SAAQ;AAAC,WAAO,MAAM,KAAK,KAAK,QAAQ,OAAM,CAAE;AAAA,EAAC;AAAA,EAAC,IAAI,UAAS;AAAC,UAAM,IAAE;AAAG,WAAO,KAAK,OAAO,QAAQ,CAAApM,OAAG;AAAC,UAAG,OAAOA,GAAE,WAAS,IAAI;AAAO,YAAMiE,KAAE,EAAC,OAAMjE,GAAE,OAAM,SAAQ8N,qBAAG9N,GAAE,QAAQ,QAAOA,GAAE,QAAQ,QAAOA,GAAE,EAAE,GAAE,SAAQA,GAAE,QAAO;AAAE,aAAO,EAAE,KAAKiE,EAAC;AAAA,IAAC,CAAC,GAAE;AAAA,EAAC;AAAA,EAAC,MAAM,kBAAkB,GAAE;AAAC,UAAM,KAAK,KAAK,QAAQ,QAAQ,KAAK,YAAW,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,oBAAmB;AAAC,WAAO,MAAM,KAAK,KAAK,QAAQ,QAAQ,KAAK,UAAU;AAAA,EAAC;AAAA,EAAC,UAAU,GAAE;AAAC,SAAK,cAAa;AAAG,UAAMjE,KAAE,KAAK,QAAQ,IAAI,CAAC;AAAE,QAAG,CAACA,IAAE;AAAC,YAAK,EAAC,SAAQiE,GAAC,IAAEwH,KAAE,mBAAkB,GAAG,KAAK,IAAI,KAAK,CAAC,EAAE;AAAE,YAAM,IAAI,MAAMxH,EAAC;AAAA,IAAC;AAAC,WAAOjE;AAAA,EAAC;AAAA,EAAC,MAAM,UAAS;AAAC,UAAM,KAAK,kBAAkB,KAAK,MAAM,GAAE,KAAK,OAAO,KAAK6L,IAAE,IAAI;AAAA,EAAC;AAAA,EAAC,MAAM,UAAS;AAAC,QAAG;AAAC,YAAM,IAAE,MAAM,KAAK,kBAAiB;AAAG,UAAG,OAAO,IAAE,OAAK,CAAC,EAAE,OAAO;AAAO,UAAG,KAAK,QAAQ,MAAK;AAAC,cAAK,EAAC,SAAQ7L,GAAC,IAAEyL,KAAE,yBAAwB,KAAK,IAAI;AAAE,cAAM,KAAK,OAAO,MAAMzL,EAAC,GAAE,IAAI,MAAMA,EAAC;AAAA,MAAC;AAAC,WAAK,SAAO,GAAE,KAAK,OAAO,MAAM,qCAAqC,KAAK,IAAI,EAAE,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,WAAU,SAAQ,KAAK,OAAM,CAAC;AAAA,IAAC,SAAO,GAAE;AAAC,WAAK,OAAO,MAAM,iCAAiC,KAAK,IAAI,EAAE,GAAE,KAAK,OAAO,MAAM,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,yBAAwB;AAAC,SAAK,OAAO,GAAG6L,IAAE,SAAQ,OAAG;AAAC,YAAM7L,KAAE6L,IAAE;AAAQ,WAAK,OAAO,KAAK,YAAY7L,EAAC,EAAE,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,SAAQ,OAAMA,IAAE,QAAO,EAAC,CAAC;AAAA,IAAC,CAAC,GAAE,KAAK,OAAO,GAAG6L,IAAE,SAAQ,OAAG;AAAC,YAAM7L,KAAE6L,IAAE;AAAQ,WAAK,OAAO,KAAK,YAAY7L,EAAC,EAAE,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,SAAQ,OAAMA,IAAE,QAAO,EAAC,CAAC;AAAA,IAAC,CAAC,GAAE,KAAK,OAAO,GAAG6L,IAAE,SAAQ,OAAG;AAAC,YAAM7L,KAAE6L,IAAE;AAAQ,WAAK,OAAO,KAAK,YAAY7L,EAAC,EAAE,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,SAAQ,OAAMA,IAAE,QAAO,EAAC,CAAC;AAAA,IAAC,CAAC,GAAE,KAAK,KAAK,UAAU,GAAGqO,EAAG,OAAM,MAAI;AAAC,WAAK;IAAS,CAAC;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,QAAG;AAAC,WAAK,cAAa;AAAG,UAAI,IAAE;AAAG,WAAK,QAAQ,QAAQ,CAAArO,OAAG;AAACuM,0BAAEvM,GAAE,UAAQ,CAAC,IAAE,KAAK,IAAG,KAAI,MAAI,KAAK,OAAO,KAAK,iCAAiCA,GAAE,EAAE,EAAE,GAAE,KAAK,QAAQ,OAAOA,GAAE,EAAE,GAAE,KAAK,OAAO,KAAK6L,IAAE,SAAQ7L,IAAE,KAAE,GAAE,IAAE;AAAA,MAAG,CAAC,GAAE,KAAG,KAAK,QAAO;AAAA,IAAE,SAAO,GAAE;AAAC,WAAK,OAAO,KAAK,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,gBAAe;AAAC,QAAG,CAAC,KAAK,aAAY;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAEyL,KAAE,mBAAkB,KAAK,IAAI;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,CAAC9K,IAAE,GAAEX,OAAI,KAAKW,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAMX,GAAC,CAAC,IAAEW,GAAE,CAAC,IAAEX,IAAEgM,MAAE,CAACrL,IAAE,GAAEX,OAAI,GAAGW,IAAE,OAAO,KAAG,WAAS,IAAE,KAAG,GAAEX,EAAC;AAAE,MAAM,WAAWuY,IAAE;AAAA,EAAC,YAAY,GAAEvY,IAAE;AAAC,UAAM,GAAEA,EAAC,GAAE,KAAK,OAAK,GAAE,KAAK,SAAOA,IAAEgM,IAAE,MAAK,eAAc,oBAAI,KAAG,GAAEA,IAAE,MAAK,UAAS,IAAI+C,OAAAA,cAAE,GAAE/C,IAAE,MAAK,QAAOqG,IAAE,GAAErG,IAAE,MAAK,WAAUsH,IAAE,GAAEtH,IAAE,MAAK,UAAS,CAAA,CAAE,GAAEA,IAAE,MAAK,eAAc,KAAE,GAAEA,IAAE,MAAK,iBAAgBD,GAAC,GAAEC,IAAE,MAAK,QAAO,YAAS;AAAC,WAAK,gBAAc,KAAK,OAAO,MAAM,aAAa,GAAE,MAAM,KAAK,QAAO,GAAG,KAAK,OAAO,QAAQ,CAAA/H,OAAG,KAAK,YAAY,IAAIA,GAAE,QAAOA,EAAC,CAAC,GAAE,KAAK,SAAO,IAAG,KAAK,uBAAsB,GAAG,KAAK,cAAY;AAAA,IAAG,CAAC,GAAE+H,IAAE,MAAK,OAAM,CAAA/H,OAAG;AAAC,UAAG;AAAC,cAAMpD,KAAE,KAAK,aAAaoD,EAAC;AAAE,eAAO,OAAO,KAAK,cAAcpD,EAAC,IAAE;AAAA,MAAG,QAAM;AAAC,eAAM;AAAA,MAAE;AAAA,IAAC,CAAC,GAAEmL,IAAE,MAAK,OAAM,CAAC/H,IAAEpD,OAAI;AAAC,WAAK,cAAa;AAAG,YAAM,IAAE,KAAK,aAAaoD,EAAC,GAAEpC,KAAE,EAAC,QAAO,GAAE,QAAOhB,GAAC;AAAE,WAAK,YAAY,IAAI,GAAEgB,EAAC,GAAE,KAAK,YAAY,GAAEA,EAAC,GAAE,KAAK,OAAO,KAAK6K,IAAE,SAAQ,EAAC,QAAO,GAAE,YAAW7K,GAAC,CAAC;AAAA,IAAC,CAAC,GAAEmK,IAAE,MAAK,OAAM,CAAA/H,OAAG;AAAC,WAAK,cAAa;AAAG,YAAMpD,KAAE,KAAK,aAAaoD,EAAC;AAAE,aAAO,KAAK,cAAcpD,EAAC;AAAA,IAAC,CAAC,GAAEmL,IAAE,MAAK,OAAM,CAAA/H,OAAG;AAAC,UAAG,KAAK,cAAa,GAAG,KAAK,IAAIA,EAAC,GAAE;AAAC,cAAMpD,KAAE,KAAK,aAAaoD,EAAC,GAAE,IAAE,KAAK,cAAcpD,EAAC;AAAE,aAAK,YAAY,OAAOA,EAAC,GAAE,KAAK,OAAO,KAAK6L,IAAE,SAAQ,EAAC,QAAO7L,IAAE,YAAW,EAAC,CAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAEmL,IAAE,MAAK,MAAK,CAAC/H,IAAEpD,OAAI;AAAC,WAAK,OAAO,GAAGoD,IAAEpD,EAAC;AAAA,IAAC,CAAC,GAAEmL,IAAE,MAAK,QAAO,CAAC/H,IAAEpD,OAAI;AAAC,WAAK,OAAO,KAAKoD,IAAEpD,EAAC;AAAA,IAAC,CAAC,GAAEmL,IAAE,MAAK,OAAM,CAAC/H,IAAEpD,OAAI;AAAC,WAAK,OAAO,IAAIoD,IAAEpD,EAAC;AAAA,IAAC,CAAC,GAAEmL,IAAE,MAAK,kBAAiB,CAAC/H,IAAEpD,OAAI;AAAC,WAAK,OAAO,eAAeoD,IAAEpD,EAAC;AAAA,IAAC,CAAC,GAAE,KAAK,SAAO8K,IAAE3L,IAAE,KAAK,IAAI;AAAA,EAAC;AAAA,EAAC,IAAI,UAAS;AAAC,WAAOoM,IAAE,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,IAAI,aAAY;AAAC,WAAO,KAAK,gBAAc,KAAK,UAAQ,KAAK,KAAK,sBAAoB,OAAK,KAAK;AAAA,EAAI;AAAA,EAAC,IAAI,SAAQ;AAAC,WAAO,KAAK,YAAY;AAAA,EAAI;AAAA,EAAC,IAAI,OAAM;AAAC,WAAO,MAAM,KAAK,KAAK,YAAY,KAAI,CAAE;AAAA,EAAC;AAAA,EAAC,IAAI,SAAQ;AAAC,WAAO,MAAM,KAAK,KAAK,YAAY,OAAM,CAAE;AAAA,EAAC;AAAA,EAAC,aAAa,GAAE;AAAC,QAAG,OAAO,KAAG,SAAS,QAAOoM,KAAG,CAAC;AAAE,QAAG,OAAO,KAAG,SAAS,QAAOC,KAAG,CAAC;AAAE,UAAK,EAAC,SAAQzY,GAAC,IAAEyL,KAAE,gBAAe,gBAAgB,OAAO,CAAC,EAAE;AAAE,UAAM,IAAI,MAAMzL,EAAC;AAAA,EAAC;AAAA,EAAC,MAAM,eAAe,GAAE;AAAC,UAAM,KAAK,KAAK,QAAQ,QAAQ,KAAK,YAAW,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,iBAAgB;AAAC,WAAO,MAAM,KAAK,KAAK,QAAQ,QAAQ,KAAK,UAAU;AAAA,EAAC;AAAA,EAAC,MAAM,UAAS;AAAC,UAAM,KAAK,eAAe,KAAK,MAAM,GAAE,KAAK,OAAO,KAAK0M,IAAE,IAAI;AAAA,EAAC;AAAA,EAAC,MAAM,UAAS;AAAC,QAAG;AAAC,YAAM,IAAE,MAAM,KAAK,eAAc;AAAG,UAAG,OAAO,IAAE,OAAK,CAAC,EAAE,OAAO;AAAO,UAAG,KAAK,YAAY,MAAK;AAAC,cAAK,EAAC,SAAQ1M,GAAC,IAAEyL,KAAE,yBAAwB,KAAK,IAAI;AAAE,cAAM,KAAK,OAAO,MAAMzL,EAAC,GAAE,IAAI,MAAMA,EAAC;AAAA,MAAC;AAAC,WAAK,SAAO,GAAE,KAAK,OAAO,MAAM,yCAAyC,KAAK,IAAI,EAAE,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,WAAU,aAAY,KAAK,OAAM,CAAC;AAAA,IAAC,SAAO,GAAE;AAAC,WAAK,OAAO,MAAM,qCAAqC,KAAK,IAAI,EAAE,GAAE,KAAK,OAAO,MAAM,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,cAAc,GAAE;AAAC,UAAMA,KAAE,KAAK,YAAY,IAAI,CAAC;AAAE,QAAG,CAACA,IAAE;AAAC,YAAK,EAAC,SAAQiE,GAAC,IAAEwH,KAAE,mBAAkB,GAAG,KAAK,IAAI,KAAK,CAAC,EAAE;AAAE,YAAM,KAAK,OAAO,KAAKxH,EAAC,GAAE,IAAI,MAAMA,EAAC;AAAA,IAAC;AAAC,WAAOjE;AAAA,EAAC;AAAA,EAAC,YAAY,GAAEA,IAAE;AAAC,UAAK,EAAC,QAAOiE,GAAC,IAAEjE;AAAEuM,QAAAA,cAAEtI,EAAC,IAAE,KAAK,IAAG,KAAI,KAAG,KAAK,OAAO,GAAEjE,EAAC;AAAA,EAAC;AAAA,EAAC,OAAO,GAAEA,IAAE;AAAC,SAAK,YAAY,OAAO,CAAC,GAAE,KAAK,OAAO,KAAK0M,IAAE,SAAQ,EAAC,QAAO,GAAE,YAAW1M,GAAC,CAAC;AAAA,EAAC;AAAA,EAAC,mBAAkB;AAAC,SAAK,KAAK,QAAQ,aAAW,KAAK,YAAY,QAAQ,CAAC,GAAEA,OAAI,KAAK,YAAYA,IAAE,CAAC,CAAC;AAAA,EAAC;AAAA,EAAC,yBAAwB;AAAC,SAAK,KAAK,UAAU,GAAGqO,EAAG,OAAM,MAAI,KAAK,kBAAkB,GAAE,KAAK,OAAO,GAAG3B,IAAE,SAAQ,OAAG;AAAC,YAAM1M,KAAE0M,IAAE;AAAQ,WAAK,OAAO,KAAK,YAAY1M,EAAC,EAAE,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,SAAQ,OAAMA,IAAE,MAAK,EAAC,CAAC,GAAE,KAAK,QAAO;AAAA,IAAE,CAAC,GAAE,KAAK,OAAO,GAAG0M,IAAE,SAAQ,OAAG;AAAC,YAAM1M,KAAE0M,IAAE;AAAQ,WAAK,OAAO,KAAK,YAAY1M,EAAC,EAAE,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,SAAQ,OAAMA,IAAE,MAAK,EAAC,CAAC,GAAE,KAAK,QAAO;AAAA,IAAE,CAAC,GAAE,KAAK,OAAO,GAAG0M,IAAE,SAAQ,OAAG;AAAC,YAAM1M,KAAE0M,IAAE;AAAQ,WAAK,OAAO,KAAK,YAAY1M,EAAC,EAAE,GAAE,KAAK,OAAO,MAAM,EAAC,MAAK,SAAQ,OAAMA,IAAE,MAAK,EAAC,CAAC,GAAE,KAAK,QAAO;AAAA,IAAE,CAAC;AAAA,EAAC;AAAA,EAAC,gBAAe;AAAC,QAAG,CAAC,KAAK,aAAY;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAEyL,KAAE,mBAAkB,KAAK,IAAI;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,CAAC9K,IAAE,GAAEX,OAAI,KAAKW,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAMX,GAAC,CAAC,IAAEW,GAAE,CAAC,IAAEX,IAAE,IAAE,CAACW,IAAE,GAAEX,OAAI,GAAGW,IAAE,OAAO,KAAG,WAAS,IAAE,KAAG,GAAEX,EAAC;AAAE,MAAM,WAAW0Y,IAAE;AAAA,EAAC,YAAY,GAAE1Y,IAAEiE,IAAE;AAAC,UAAM,GAAEjE,IAAEiE,EAAC,GAAE,KAAK,OAAK,GAAE,KAAK,SAAOjE,IAAE,KAAK,QAAMiE,IAAE,EAAE,MAAK,QAAO8B,IAAE,GAAE,EAAE,MAAK,iBAAiB,GAAE,EAAE,MAAK,UAAU,GAAE,EAAE,MAAK,eAAc/C,IAAE,GAAE,EAAE,MAAK,iBAAgB+I,GAAC,GAAE,EAAE,MAAK,WAAUsK,IAAE,GAAE,EAAE,MAAK,WAAW,GAAE,EAAE,MAAK,cAAc,GAAE,EAAE,MAAK,QAAO,YAAS;AAAC,UAAIxV;AAAE,WAAK,aAAW,KAAK,YAAU,MAAM,KAAK,MAAM,QAAQ,KAAK,QAAQ,GAAE,KAAK,aAAW0L,IAAAA,eAAG1L,KAAE,KAAK,cAAY,OAAK,SAAOA,GAAE,SAAS,IAAE,KAAK,IAAG,MAAK,KAAK,OAAO,MAAM,8BAA8B,GAAE,MAAM,KAAK,gBAAe;AAAA,IAAI,CAAC,GAAE,EAAE,MAAK,YAAW,OAAMA,OAAG;AAAC,UAAG,CAACmM,KAAE,KAAI,KAAK,SAAS;AAAO,YAAM,IAAE,OAAO,SAAS,QAAO,EAAC,IAAGnL,IAAE,aAAYpC,GAAC,IAAEoB,IAAEjB,KAAE,GAAG,KAAK,WAAW,0BAA0B,KAAK,KAAK,SAAS,WAAW,CAAC,OAAOiC,EAAC,gBAAgBpC,EAAC;AAAG,UAAG;AAAC,cAAMM,KAAEiO,cAAE,GAAGnO,KAAE,KAAK,gBAAgB4X,IAAAA,aAAE,CAAC,GAAErW,KAAE,MAAM,IAAI,QAAQ,CAAC,GAAE,MAAI;AAAC,gBAAMQ,KAAE,MAAI;AAAC,mBAAO,oBAAoB,WAAU3B,EAAC,GAAEF,GAAE,KAAK,YAAYL,EAAC,GAAE,EAAE,qBAAqB;AAAA,UAAC;AAAE,eAAK,gBAAgB,OAAO,iBAAiB,SAAQkC,EAAC;AAAE,gBAAMlC,KAAEK,GAAE,cAAc,QAAQ;AAAE,UAAAL,GAAE,MAAIE,IAAEF,GAAE,MAAM,UAAQ,QAAOA,GAAE,iBAAiB,SAAQkC,IAAE,EAAC,QAAO,KAAK,gBAAgB,OAAM,CAAC;AAAE,gBAAM3B,KAAE,CAAAqM,OAAG;AAAC,gBAAGA,GAAE,QAAM,OAAOA,GAAE,QAAM,SAAS,KAAG;AAAC,oBAAMK,KAAE,KAAK,MAAML,GAAE,IAAI;AAAE,kBAAGK,GAAE,SAAO,sBAAqB;AAAC,oBAAGoG,KAAGpG,GAAE,WAAW,EAAE,QAAQ,OAAK9K,GAAE;AAAO,8BAAchC,EAAC,GAAEE,GAAE,KAAK,YAAYL,EAAC,GAAE,KAAK,gBAAgB,OAAO,oBAAoB,SAAQkC,EAAC,GAAE,OAAO,oBAAoB,WAAU3B,EAAC,GAAE,EAAE0M,GAAE,gBAAc,OAAK,KAAGA,GAAE,WAAW;AAAA,cAAC;AAAA,YAAC,SAAOA,IAAE;AAAC,mBAAK,OAAO,KAAKA,EAAC;AAAA,YAAC;AAAA,UAAC;AAAE,UAAA5M,GAAE,KAAK,YAAYL,EAAC,GAAE,OAAO,iBAAiB,WAAUO,IAAE,EAAC,QAAO,KAAK,gBAAgB,OAAM,CAAC;AAAA,QAAC,CAAC;AAAE,eAAO,KAAK,OAAO,MAAM,mBAAkBmB,EAAC,GAAEA;AAAA,MAAC,SAAOrB,IAAE;AAAC,aAAK,OAAO,KAAKA,EAAC;AAAA,MAAC;AAAC,aAAM;AAAA,IAAE,CAAC,GAAE,EAAE,MAAK,WAAU,OAAMc,OAAG;AAAC,UAAG,KAAK,SAAS,QAAM;AAAG,YAAK,EAAC,eAAc,GAAE,MAAKgB,IAAE,aAAYpC,GAAC,IAAEoB;AAAE,UAAG,MAAI,IAAG;AAAC,aAAK,OAAO,MAAM,2CAA2C;AAAE;AAAA,MAAM;AAAC,UAAG,GAAE;AAAC,YAAGkS,KAAG,CAAC,EAAE,QAAQ,OAAKtT,GAAE;AAAO,cAAMM,KAAE,MAAM,KAAK,sBAAsB,CAAC;AAAE,YAAGA,IAAE;AAAC,cAAG,CAACA,GAAE,YAAW;AAAC,iBAAK,OAAO,KAAK,mDAAmD;AAAE;AAAA,UAAM;AAAC,iBAAOA;AAAA,QAAC;AAAA,MAAC;AAAC,UAAG,CAAC8B,GAAE;AAAO,YAAMjC,KAAE,KAAK,aAAaiB,MAAA,gBAAAA,GAAG,SAAS;AAAE,aAAO,KAAK,iBAAiBgB,IAAEjC,EAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,oBAAmB,OAAMiB,IAAE,MAAI;AAAC,WAAK,OAAO,MAAM,0BAA0BA,EAAC,cAAc,CAAC,EAAE;AAAE,YAAMgB,KAAE,KAAK,gBAAgB4V,IAAAA,aAAE,CAAC,GAAEhY,KAAE,MAAM,MAAM,GAAG,CAAC,gBAAgBoB,EAAC,qBAAoB,EAAC,QAAO,KAAK,gBAAgB,OAAM,CAAC;AAAE,aAAO,aAAagB,EAAC,GAAEpC,GAAE,WAAS,MAAI,MAAMA,GAAE,KAAI,IAAG;AAAA,IAAM,CAAC,GAAE,EAAE,MAAK,gBAAe,CAAAoB,OAAG;AAAC,UAAI,IAAEA,MAAGqB;AAAG,aAAO2F,KAAG,SAAS,CAAC,MAAI,KAAK,OAAO,KAAK,eAAe,CAAC,sDAAsD3F,IAAE,EAAE,GAAE,IAAEA,OAAI;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,kBAAiB,YAAS;AAAC,UAAG;AAAC,aAAK,OAAO,MAAM,6BAA6B,KAAK,WAAW,EAAE;AAAE,cAAMrB,KAAE,KAAK,gBAAgBkG,IAAAA,YAAE,GAAE,IAAE,MAAM,MAAM,GAAG,KAAK,WAAW,eAAc,EAAC,QAAO,KAAK,gBAAgB,OAAM,CAAC;AAAE,eAAO,aAAalG,EAAC,GAAE,MAAM,EAAE,KAAI;AAAA,MAAE,SAAOA,IAAE;AAAC,aAAK,OAAO,KAAKA,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,oBAAmB,OAAMA,OAAG;AAAC,WAAK,OAAO,MAAM,0CAAyCA,EAAC,GAAE,MAAM,KAAK,MAAM,QAAQ,KAAK,UAASA,EAAC,GAAE,KAAK,YAAUA;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,mBAAkB,YAAS;AAAC,WAAK,OAAO,MAAM,4CAA4C,GAAE,MAAM,KAAK,MAAM,WAAW,KAAK,QAAQ,GAAE,KAAK,YAAU;AAAA,IAAM,CAAC,GAAE,EAAE,MAAK,yBAAwB,OAAMA,OAAG;AAAC,YAAM,IAAE,MAAM,KAAK,aAAY;AAAG,UAAG;AAAC,YAAG,EAAE,QAAO,KAAK,oBAAoBA,IAAE,CAAC;AAAA,MAAC,SAAOpB,IAAE;AAAC,aAAK,OAAO,MAAMA,EAAC,GAAE,KAAK,OAAO,KAAK,8BAA8B;AAAA,MAAC;AAAC,YAAMoC,KAAE,MAAM,KAAK,yBAAwB;AAAG,UAAG;AAAC,YAAGA,GAAE,QAAO,KAAK,oBAAoBhB,IAAEgB,EAAC;AAAA,MAAC,SAAOpC,IAAE;AAAC,aAAK,OAAO,MAAMA,EAAC,GAAE,KAAK,OAAO,KAAK,8BAA8B;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,gBAAe,YAAS,KAAK,YAAU,KAAK,YAAU,MAAM,KAAK,yBAAwB,CAAE,GAAE,EAAE,MAAK,4BAA2B,YAAS;AAAC,UAAG,KAAK,aAAa,QAAO,MAAM,KAAK,cAAa,KAAK;AAAU,WAAK,eAAa,IAAI,QAAQ,OAAM,MAAG;AAAC,cAAMoC,KAAE,MAAM,KAAK,eAAc;AAAG,QAAAA,OAAI,MAAM,KAAK,iBAAiBA,EAAC,GAAE,EAAEA,EAAC;AAAA,MAAE,CAAC;AAAE,YAAMhB,KAAE,MAAM,KAAK;AAAa,aAAO,KAAK,eAAa,QAAOA;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,uBAAsB,CAACA,IAAE,MAAI;AAAC,YAAMgB,KAAE6L,GAAG7M,IAAE,EAAE,SAAS,GAAEpB,KAAE,EAAC,YAAW8M,IAAAA,cAAE1K,GAAE,GAAG,IAAE,KAAK,IAAG,GAAG,SAAQA,GAAC;AAAE,UAAGpC,GAAE,WAAW,OAAM,KAAK,OAAO,KAAK,kCAAkC,GAAE,IAAI,MAAM,yBAAyB;AAAE,aAAM,EAAC,QAAOA,GAAE,QAAQ,QAAO,QAAOA,GAAE,QAAQ,QAAO,YAAWA,GAAE,QAAQ,WAAU;AAAA,IAAC,CAAC,GAAE,KAAK,SAAOkM,IAAE3L,IAAE,KAAK,IAAI,GAAE,KAAK,kBAAgB,IAAI,mBAAgB,KAAK,WAASyJ,KAAE,GAAG,KAAK;EAAM;AAAA,EAAC,IAAI,WAAU;AAAC,WAAO,KAAK,gBAAc,KAAK,UAAQ,KAAK,KAAK,sBAAoB;AAAA,EAAqB;AAAA,EAAC,IAAI,UAAS;AAAC,WAAO2C,IAAE,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,gBAAgB,GAAE;AAAC,WAAO,KAAK,kBAAgB,IAAI,mBAAgB,WAAW,MAAI,KAAK,gBAAgB,MAAK,GAAGG,IAAAA,cAAE,CAAC,CAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,CAAC5L,IAAE,GAAEX,OAAI,KAAKW,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAMX,GAAC,CAAC,IAAEW,GAAE,CAAC,IAAEX,IAAE,KAAG,CAACW,IAAE,GAAEX,OAAI,GAAGW,IAAE,OAAO,KAAG,WAAS,IAAE,KAAG,GAAEX,EAAC;AAAE,MAAM,WAAWyB,IAAE;AAAA,EAAC,YAAY,GAAEzB,IAAE;AAAC,UAAM,GAAEA,EAAC,GAAE,KAAK,YAAU,GAAE,KAAK,SAAOA,IAAE,GAAG,MAAK,WAAUiG,IAAE,GAAE,GAAG,MAAK,uBAAsB,OAAMhC,OAAG;AAAC,YAAK,EAAC,UAASpD,IAAE,OAAM,GAAE,kBAAiBgB,IAAE,iBAAgBpC,KAAE,MAAE,IAAEwE,IAAErE,KAAE,GAAGoS,IAAE,IAAI,KAAK,SAAS;AAAW,YAAM,MAAMpS,IAAE,EAAC,QAAO,QAAO,SAAQ,EAAC,gBAAe,mBAAkB,GAAE,MAAK,KAAK,UAAU,EAAC,WAAUiB,IAAE,MAAKgB,IAAE,OAAM,GAAE,YAAWpC,GAAC,CAAC,EAAC,CAAC;AAAA,IAAC,CAAC,GAAE,KAAK,SAAOkM,IAAE3L,IAAE,KAAK,OAAO;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,OAAO,uBAAsB,KAAG,OAAO,UAAU,gBAAe,KAAG,OAAO,UAAU,sBAAqByK,OAAG,CAAC9J,IAAE,GAAEX,OAAI,KAAKW,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAMX,GAAC,CAAC,IAAEW,GAAE,CAAC,IAAEX,IAAEiP,OAAG,CAACtO,IAAE,MAAI;AAAC,WAAQX,MAAK,MAAI,IAAE,CAAA,GAAI,IAAG,KAAK,GAAEA,EAAC,KAAGyK,KAAG9J,IAAEX,IAAE,EAAEA,EAAC,CAAC;AAAE,MAAG,GAAG,UAAQA,MAAK,GAAG,CAAC,EAAE,IAAG,KAAK,GAAEA,EAAC,KAAGyK,KAAG9J,IAAEX,IAAE,EAAEA,EAAC,CAAC;AAAE,SAAOW;AAAC,GAAEiI,MAAE,CAACjI,IAAE,GAAEX,OAAIyK,KAAG9J,IAAE,OAAO,KAAG,WAAS,IAAE,KAAG,GAAEX,EAAC;AAAE,MAAM,WAAW2Y,IAAE;AAAA,EAAC,YAAY,GAAE3Y,IAAEiE,KAAE,MAAG;AAAC,UAAM,GAAEjE,IAAEiE,EAAC,GAAE,KAAK,OAAK,GAAE,KAAK,SAAOjE,IAAE4I,IAAE,MAAK,WAAU,EAAE,GAAEA,IAAE,MAAK,iBAAgBmD,GAAC,GAAEnD,IAAE,MAAK,kBAAiBqF,IAAE,GAAErF,IAAE,MAAK,UAAS,oBAAI,KAAG,GAAEA,IAAE,MAAK,iBAAgB,KAAE,GAAEA,IAAE,MAAK,QAAO,YAAS;AAAC,UAAG,CAACa,KAAE,EAAG,KAAG;AAAC,cAAM5I,KAAE,EAAC,SAAQkN,KAAE,GAAG,WAAU,KAAK,IAAG,GAAG,QAAO,KAAK,aAAY,GAAG,OAAM,EAAC,OAAM,QAAO,MAAK,IAAG,YAAW,EAAC,WAAU,MAAM,KAAK,KAAK,OAAO,YAAW,GAAG,YAAW6K,KAAG,KAAK,KAAK,QAAQ,UAAS,KAAK,KAAK,QAAQ,SAAQ9V,IAAE,EAAC,EAAC,EAAC;AAAE,cAAM,KAAK,UAAU,CAACjC,EAAC,CAAC;AAAA,MAAC,SAAOA,IAAE;AAAC,aAAK,OAAO,KAAKA,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE+H,IAAE,MAAK,eAAc,CAAA/H,OAAG;AAAC,YAAK,EAAC,OAAM,IAAE,SAAQ,MAAKgB,KAAE,IAAG,YAAW,EAAC,OAAMpC,IAAE,OAAMG,GAAC,EAAC,IAAEiB,IAAEd,KAAEgO,QAAKlO,KAAE,KAAK,KAAK,aAAW,IAAGuB,KAAE,KAAK,IAAG,GAAG,IAAE6N,KAAG,EAAC,SAAQlP,IAAE,WAAUqB,IAAE,OAAM,EAAC,OAAM,GAAE,MAAKS,IAAE,YAAW,EAAC,OAAMpC,IAAE,OAAMG,GAAC,EAAC,GAAE,UAASC,IAAE,QAAO,KAAK,aAAY,EAAE,GAAE,KAAK,WAAWE,EAAC,CAAC;AAAE,aAAO,KAAK,qBAAmB,KAAK,OAAO,IAAIA,IAAE,CAAC,GAAE,KAAK,gBAAc,OAAI;AAAA,IAAC,CAAC,GAAE6I,IAAE,MAAK,YAAW,CAAA/H,OAAG;AAAC,YAAK,EAAC,SAAQ,GAAE,OAAMgB,GAAC,IAAEhB;AAAE,UAAG,EAAE,QAAO,KAAK,OAAO,IAAI,CAAC;AAAE,YAAMpB,KAAE,MAAM,KAAK,KAAK,OAAO,QAAQ,EAAE,KAAK,CAAAG,OAAGA,GAAE,MAAM,WAAW,UAAQiC,EAAC;AAAE,UAAGpC,GAAE,QAAOwP,KAAGA,KAAG,CAAA,GAAGxP,EAAC,GAAE,KAAK,WAAWA,GAAE,OAAO,CAAC;AAAA,IAAC,CAAC,GAAEmJ,IAAE,MAAK,eAAc,CAAA/H,OAAG;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAEA;AAAE,WAAK,OAAO,OAAO,CAAC,GAAE,KAAK,gBAAc;AAAA,IAAE,CAAC,GAAE+H,IAAE,MAAK,qBAAoB,MAAI;AAAC,WAAK,KAAK,UAAU,GAAGyF,EAAG,OAAM,YAAS;AAAC,aAAK,iBAAe,MAAM,KAAK,QAAO,GAAG,KAAK,OAAO,QAAQ,CAAAxN,OAAG;AAACuP,cAAAA,gBAAG,KAAK,IAAG,CAAE,IAAEA,IAAAA,gBAAGvP,GAAE,SAAS,IAAE,OAAK,KAAK,OAAO,OAAOA,GAAE,OAAO,GAAE,KAAK,gBAAc;AAAA,QAAG,CAAC;AAAA,MAAC,CAAC;AAAA,IAAC,CAAC,GAAE+H,IAAE,MAAK,cAAa,CAAA/H,QAAI,EAAC,UAAS,OAAG,KAAK,SAASA,IAAE,CAAC,GAAE,UAAS,OAAG,KAAK,SAASA,IAAE,CAAC,EAAC,EAAE,GAAE+H,IAAE,MAAK,YAAW,CAAC/H,IAAE,MAAI;AAAC,YAAMgB,KAAE,KAAK,OAAO,IAAIhB,EAAC;AAAE,MAAAgB,OAAIA,GAAE,MAAM,WAAW,MAAM,KAAK,CAAC,GAAE,KAAK,OAAO,IAAIhB,IAAEgB,EAAC,GAAE,KAAK,gBAAc;AAAA,IAAG,CAAC,GAAE+G,IAAE,MAAK,YAAW,CAAC/H,IAAE,MAAI;AAAC,YAAMgB,KAAE,KAAK,OAAO,IAAIhB,EAAC;AAAE,MAAAgB,OAAIA,GAAE,MAAM,OAAK,GAAEA,GAAE,YAAU,KAAK,IAAG,GAAG,KAAK,OAAO,IAAIhB,IAAEgB,EAAC,GAAE,KAAK,gBAAc;AAAA,IAAG,CAAC,GAAE+G,IAAE,MAAK,WAAU,YAAS;AAAC,YAAM,KAAK,KAAK,QAAQ,QAAQ,KAAK,YAAW,MAAM,KAAK,KAAK,OAAO,OAAM,CAAE,CAAC,GAAE,KAAK,gBAAc;AAAA,IAAE,CAAC,GAAEA,IAAE,MAAK,WAAU,YAAS;AAAC,UAAG;AAAC,cAAM/H,KAAE,MAAM,KAAK,KAAK,QAAQ,QAAQ,KAAK,UAAU,KAAG,CAAA;AAAG,YAAG,CAACA,GAAE,OAAO;AAAO,QAAAA,GAAE,QAAQ,OAAG;AAAC,eAAK,OAAO,IAAI,EAAE,SAAQoO,KAAGA,KAAG,CAAA,GAAG,CAAC,GAAE,KAAK,WAAW,EAAE,OAAO,CAAC,CAAC;AAAA,QAAC,CAAC;AAAA,MAAC,SAAOpO,IAAE;AAAC,aAAK,OAAO,KAAKA,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE+H,IAAE,MAAK,UAAS,YAAS;AAAC,UAAG,CAAC,KAAK,oBAAkB,KAAK,OAAO,SAAO,EAAE;AAAO,YAAM/H,KAAE,CAAA;AAAG,iBAAS,CAAC,GAAEgB,EAAC,KAAI,KAAK,OAAO,CAAAA,GAAE,MAAM,QAAMhB,GAAE,KAAKgB,EAAC;AAAE,UAAGhB,GAAE,WAAS,EAAE,KAAG;AAAC,aAAI,MAAM,KAAK,UAAUA,EAAC,GAAG,GAAG,YAAU,KAAKA,GAAE,MAAK,OAAO,OAAO,EAAE,OAAO,GAAE,KAAK,gBAAc;AAAA,MAAE,SAAO,GAAE;AAAC,aAAK,OAAO,KAAK,CAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE+H,IAAE,MAAK,aAAY,OAAM/H,OAAG;AAAC,YAAM,IAAE,KAAK,aAAY,IAAG,KAAG;AAAc,aAAO,MAAM,MAAM,GAAG,EAAE,cAAc,KAAK,KAAK,SAAS,wBAAwBiC,IAAE,GAAG,CAAC,IAAG,EAAC,QAAO,QAAO,MAAK,KAAK,UAAUjC,EAAC,EAAC,CAAC;AAAA,IAAC,CAAC,GAAE+H,IAAE,MAAK,gBAAe,MAAIiQ,KAAE,EAAG,GAAG,GAAE,KAAK,SAAOlN,IAAE3L,IAAE,KAAK,OAAO,GAAE,KAAK,mBAAiBiE,IAAEA,KAAE,KAAK,QAAO,EAAG,KAAK,YAAS;AAAC,YAAM,KAAK,OAAM,GAAG,KAAK,kBAAiB;AAAA,IAAE,CAAC,IAAE,KAAK,QAAO;AAAA,EAAE;AAAA,EAAC,IAAI,aAAY;AAAC,WAAO,KAAK,gBAAc,KAAK,iBAAe,KAAK,KAAK,sBAAoB,OAAK,KAAK;AAAA,EAAO;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,OAAO,uBAAsB,KAAG,OAAO,UAAU,gBAAe,KAAG,OAAO,UAAU,sBAAqBwL,OAAG,CAAC9O,IAAE,GAAEX,OAAI,KAAKW,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAMX,GAAC,CAAC,IAAEW,GAAE,CAAC,IAAEX,IAAE,KAAG,CAACW,IAAE,MAAI;AAAC,WAAQX,MAAK,MAAI,IAAE,CAAA,GAAI,IAAG,KAAK,GAAEA,EAAC,KAAGyP,KAAG9O,IAAEX,IAAE,EAAEA,EAAC,CAAC;AAAE,MAAG,GAAG,UAAQA,MAAK,GAAG,CAAC,EAAE,IAAG,KAAK,GAAEA,EAAC,KAAGyP,KAAG9O,IAAEX,IAAE,EAAEA,EAAC,CAAC;AAAE,SAAOW;AAAC,GAAEP,MAAE,CAACO,IAAE,GAAEX,OAAIyP,KAAG9O,IAAE,OAAO,KAAG,WAAS,IAAE,KAAG,GAAEX,EAAC;AAAC,IAAA,OAAC,MAAM,WAAW8Y,IAAE;AAAA,EAAC,YAAY,GAAE;AAAC,QAAI9Y;AAAE,UAAM,CAAC,GAAEI,IAAE,MAAK,YAAWoK,IAAE,GAAEpK,IAAE,MAAK,WAAUiW,IAAE,GAAEjW,IAAE,MAAK,QAAO4J,IAAE,GAAE5J,IAAE,MAAK,UAAU,GAAEA,IAAE,MAAK,WAAW,GAAEA,IAAE,MAAK,qBAAqB,GAAEA,IAAE,MAAK,UAAS,IAAI2O,OAAAA,cAAE,GAAE3O,IAAE,MAAK,QAAQ,GAAEA,IAAE,MAAK,WAAW,GAAEA,IAAE,MAAK,SAAS,GAAEA,IAAE,MAAK,QAAQ,GAAEA,IAAE,MAAK,SAAS,GAAEA,IAAE,MAAK,SAAS,GAAEA,IAAE,MAAK,SAAS,GAAEA,IAAE,MAAK,SAAS,GAAEA,IAAE,MAAK,QAAQ,GAAEA,IAAE,MAAK,YAAY,GAAEA,IAAE,MAAK,uBAAuB,GAAEA,IAAE,MAAK,aAAa,GAAEA,IAAE,MAAK,eAAc,KAAE,GAAEA,IAAE,MAAK,oBAAoB,GAAEA,IAAE,MAAK,MAAK,CAACX,IAAEG,OAAI,KAAK,OAAO,GAAGH,IAAEG,EAAC,CAAC,GAAEQ,IAAE,MAAK,QAAO,CAACX,IAAEG,OAAI,KAAK,OAAO,KAAKH,IAAEG,EAAC,CAAC,GAAEQ,IAAE,MAAK,OAAM,CAACX,IAAEG,OAAI,KAAK,OAAO,IAAIH,IAAEG,EAAC,CAAC,GAAEQ,IAAE,MAAK,kBAAiB,CAACX,IAAEG,OAAI,KAAK,OAAO,eAAeH,IAAEG,EAAC,CAAC,GAAEQ,IAAE,MAAK,oBAAmB,CAAC,EAAC,OAAMX,IAAE,SAAQG,IAAE,eAAcG,GAAC,MAAI;AAAC,UAAG,CAACN,MAAG,CAACG,GAAE;AAAO,YAAMC,KAAE,EAAC,OAAMJ,IAAE,SAAQG,IAAE,aAAY,KAAK,IAAG,GAAG,eAAckT,IAAE,UAAS;AAAE,WAAK,QAAQ,mBAAmBjT,IAAE,EAAC,eAAcE,GAAC,CAAC;AAAA,IAAC,CAAC;AAAE,UAAMkE,KAAE,KAAK,cAAc,uBAAG,mBAAmB;AAAE,QAAGA,GAAE,KAAG;AAAC,aAAO,KAAK,sBAAoBA,GAAE,qBAAoB,KAAK,SAAOA,GAAE,QAAO,KAAK,YAAUA,GAAE,WAAU,KAAK,SAAOA,GAAE,QAAO,KAAK,UAAQA,GAAE,SAAQ,KAAK,UAAQA,GAAE,SAAQ,KAAK,UAAQA,GAAE,SAAQ,KAAK,UAAQA,GAAE,SAAQ,KAAK,UAAQA,GAAE,SAAQ,KAAK,SAAOA,GAAE,QAAO,KAAK,aAAWA,GAAE,YAAW,KAAK,wBAAsBA,GAAE,uBAAsB,KAAK,cAAYA,GAAE,aAAY,KAAK,cAAYA,GAAE,aAAY,KAAK,qBAAmBA,GAAE,oBAAmBA;AAAA,IAAC,SAAOxE,IAAE;AAAC,cAAQ,KAAK,8BAA6BA,EAAC;AAAA,IAAC;AAAC,SAAK,YAAU,uBAAG,WAAU,KAAK,YAAS,uBAAG,aAAU8W,MAAG,KAAK,sBAAoB,KAAG,QAAM,EAAE,sBAAoB,IAAI,EAAE,mBAAmB,KAAG;AAAG,UAAM1V,KAAEqO,IAAG,EAAC,OAAM,QAAO,uBAAG,WAAQ,YAAU,EAAE,SAAO,EAAE,SAAO6F,KAAG,QAAO,MAAK/K,KAAE,CAAC,GAAE,EAAC,QAAO,GAAE,uBAAsBnI,GAAC,IAAEkX,IAAG,EAAC,MAAKlY,IAAE,gBAAe,uBAAG,uBAAsB,gBAAe,uBAAG,OAAM,CAAC;AAAE,SAAK,qBAAmBgB,KAAG7B,KAAE,KAAK,uBAAqB,QAAMA,GAAE,8BAA4B,OAAO,4BAA0B,YAAS;AAAC,UAAIP,IAAEG;AAAE,OAACH,KAAE,KAAK,uBAAqB,QAAMA,GAAE,+BAA6BG,KAAE,KAAK,uBAAqB,QAAMA,GAAE,0BAA0B,EAAC,UAAS,MAAM,KAAK,OAAO,YAAW,EAAE,CAAC;AAAA,IAAE,IAAG,KAAK,SAAO+L,IAAE,GAAE,KAAK,IAAI,GAAE,KAAK,YAAU,IAAIqN,OAAG,KAAK,SAAO,IAAI,GAAG,MAAK,KAAK,QAAO,uBAAG,QAAQ,GAAE,KAAK,UAAQ,IAAI,GAAG,MAAK,KAAK,MAAM,GAAE,KAAK,UAAQ,IAAI,GAAG,MAAK,KAAK,MAAM,GAAE,KAAK,UAAQ,KAAG,QAAM,EAAE,UAAQ,EAAE,UAAQ,IAAIC,IAAG,GAAG,GAAG,IAAGhF,IAAE,GAAE,uBAAG,cAAc,CAAC,GAAE,KAAK,UAAQ,IAAI,GAAG,EAAC,MAAK,MAAK,QAAO,KAAK,QAAO,UAAS,KAAK,UAAS,WAAU,KAAK,UAAS,CAAC,GAAE,KAAK,UAAQ,IAAI,GAAG,MAAK,KAAK,MAAM,GAAE,KAAK,SAAO,IAAI,GAAG,MAAK,KAAK,QAAO,KAAK,OAAO,GAAE,KAAK,aAAW,IAAI,GAAG,KAAK,aAAW,IAAG,KAAK,MAAM,GAAE,KAAK,wBAAsB,CAAA,GAAG,KAAK,cAAY,IAAI,GAAG,MAAK,KAAK,QAAO,uBAAG,gBAAgB,GAAE,KAAK,cAAc,IAAI;AAAA,EAAC;AAAA,EAAC,aAAa,KAAK,GAAE;AAAC,UAAMjU,KAAE,IAAI,GAAG,CAAC;AAAE,UAAMA,GAAE,WAAU;AAAG,UAAMiE,KAAE,MAAMjE,GAAE,OAAO,YAAW;AAAG,WAAO,MAAMA,GAAE,QAAQ,QAAQ8K,MAAG7G,EAAC,GAAEjE;AAAA,EAAC;AAAA,EAAC,IAAI,UAAS;AAAC,WAAOoM,IAAE,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,MAAM,QAAO;AAAC,SAAK,eAAa,MAAM,KAAK,WAAU;AAAA,EAAE;AAAA,EAAC,MAAM,cAAa;AAAC,QAAI;AAAE,YAAO,IAAE,KAAK,uBAAqB,OAAK,SAAO,EAAE,WAAW,EAAC,UAAS,MAAM,KAAK,OAAO,cAAa,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,wBAAwB,GAAE;AAAC,SAAK,sBAAsB,SAAS,CAAC,MAAI,KAAK,sBAAsB,KAAK,CAAC,GAAE,MAAM,KAAK,QAAQ,QAAQjC,MAAG,KAAK,qBAAqB;AAAA,EAAE;AAAA,EAAC,MAAM,aAAY;AAAC,SAAK,OAAO,MAAM,aAAa;AAAE,QAAG;AAAC,YAAM,KAAK,OAAO,QAAO,MAAM,KAAK,QAAQ,KAAI,GAAG,MAAM,KAAK,QAAQ,KAAI,GAAG,MAAM,KAAK,QAAQ,KAAI,GAAG,MAAM,KAAK,UAAU,KAAI,GAAG,MAAM,KAAK,QAAQ,KAAI,GAAG,KAAK,wBAAsB,MAAM,KAAK,QAAQ,QAAQA,IAAE,KAAG,CAAA,GAAG,KAAK,cAAY,MAAG,KAAK,OAAO,KAAK,6BAA6B;AAAA,IAAC,SAAO,GAAE;AAAC,YAAM,KAAK,OAAO,KAAK,wCAAwC,KAAK,IAAG,CAAE,IAAG,CAAC,GAAE,KAAK,OAAO,MAAM,EAAE,OAAO,GAAE;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,cAAc,IAAE,IAAG;AAAC,QAAG;AAAC,UAAG,KAAK,qBAAoB,EAAG;AAAO,YAAMnK,KAAE,sBAAsB,CAAC,IAAGiE,KAAE,GAAGjE,EAAC;AAAS,aAAO,WAAWiE,EAAC,KAAG,WAAWA,EAAC,KAAG,KAAG,GAAE,WAAWA,EAAC,IAAE,KAAG,QAAQ,KAAK,gIAAgI,WAAWA,EAAC,CAAC,SAAS,GAAE,WAAWjE,EAAC;AAAA,IAAC,SAAOA,IAAE;AAAC,cAAQ,KAAK,2CAA0CA,EAAC;AAAE;AAAA,IAAM;AAAA,EAAC;AAAA,EAAC,cAAc,GAAE;AAAC,QAAIA;AAAE,QAAG;AAAC,UAAG,KAAK,qBAAoB,EAAG;AAAO,YAAMiE,KAAE,wBAAwBjE,KAAE,EAAE,SAAO,OAAK,SAAOA,GAAE,wBAAsB,EAAE;AAAG,iBAAWiE,EAAC,IAAE;AAAA,IAAC,SAAOA,IAAE;AAAC,cAAQ,KAAK,2CAA0CA,EAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,uBAAsB;AAAC,QAAG;AAAC,aAAO,OAAO1E,YAAQ,OAAKA,UAAQ,IAAI,wBAAsB;AAAA,IAAM,QAAM;AAAC,aAAM;AAAA,IAAE;AAAA,EAAC;AAAC;AAAC,MAAM,KAAG2Z;ACApouF,MAAC5P,OAAG,MAAK+M,OAAG,GAAEhO,OAAG,UAAS8F,OAAG,GAAG7E,IAAE,IAAI+M,IAAE,IAAIhO,IAAE,KAAI6F,OAAG,EAAC,MAAK7F,MAAG,QAAO,QAA8D,GAA4eY,OAAG,iCAA6JlG,OAAG,YAAiB2B,OAAG,oBAAmBkQ,OAAG,WAAU9H,KAAE+E,gBAAGH,OAAG,UAAS/F,MAAE,EAAC,mBAAkB,EAAC,KAAI,EAAC,KAAIa,IAAAA,cAAE,QAAO,MAAG,KAAI,KAAI,GAAE,KAAI,EAAC,KAAIA,IAAAA,cAAE,QAAO,OAAG,KAAI,KAAI,GAAE,QAAO,EAAC,KAAIA,IAAAA,cAAE,QAAO,OAAG,KAAI,KAAI,GAAE,YAAW,EAAC,KAAIA,kBAAE,QAAO,OAAG,KAAI,KAAI,EAAC,GAAE,kBAAiB,EAAC,KAAI,EAAC,KAAIA,kBAAE,QAAO,OAAG,KAAI,KAAI,GAAE,KAAI,EAAC,KAAIA,IAAAA,cAAE,QAAO,OAAG,KAAI,KAAI,EAAC,GAAE,kBAAiB,EAAC,KAAI,EAAC,KAAIJ,IAAAA,SAAE,QAAO,OAAG,KAAI,KAAI,GAAE,KAAI,EAAC,KAAIA,IAAAA,SAAE,QAAO,OAAG,KAAI,KAAI,EAAC,GAAE,kBAAiB,EAAC,KAAI,EAAC,KAAIA,IAAAA,SAAE,QAAO,OAAG,KAAI,KAAI,GAAE,KAAI,EAAC,KAAIA,IAAAA,SAAE,QAAO,OAAG,KAAI,KAAI,EAAC,GAAE,mBAAkB,EAAC,KAAI,EAAC,KAAII,IAAAA,cAAE,QAAO,MAAG,KAAI,KAAI,GAAE,KAAI,EAAC,KAAIA,IAAAA,cAAE,QAAO,OAAG,KAAI,KAAI,EAAC,GAAE,iBAAgB,EAAC,KAAI,EAAC,KAAIA,IAAAA,cAAE,QAAO,MAAG,KAAI,KAAI,GAAE,KAAI,EAAC,KAAIA,kBAAE,QAAO,OAAG,KAAI,KAAI,EAAC,GAAE,kBAAiB,EAAC,KAAI,EAAC,KAAIJ,IAAAA,SAAE,QAAO,OAAG,KAAI,KAAI,GAAE,KAAI,EAAC,KAAIA,IAAAA,SAAE,QAAO,OAAG,KAAI,KAAI,EAAC,GAAE,gBAAe,EAAC,KAAI,EAAC,KAAIA,IAAAA,SAAE,QAAO,OAAG,KAAI,KAAI,GAAE,KAAI,EAAC,KAAIA,IAAAA,SAAE,QAAO,OAAG,KAAI,KAAI,EAAC,GAAE,wBAAuB,EAAC,KAAI,EAAC,KAAIsC,IAAAA,UAAG,QAAO,MAAG,KAAI,KAAI,GAAE,KAAI,EAAC,KAAIA,IAAAA,UAAG,QAAO,OAAG,KAAI,KAAI,GAAE,QAAO,EAAC,KAAIlC,kBAAE,QAAO,OAAG,KAAI,KAAI,GAAE,YAAW,EAAC,KAAIA,IAAAA,cAAE,QAAO,OAAG,KAAI,KAAI,EAAC,EAAC,GAAE1J,OAAG,EAAC,KAAI0J,IAAAA,cAAE,KAAIqF,IAAAA,WAAE,GAAE/F,MAAE,EAAC,MAAK,QAAO,QAAO,SAAQ,GAAEpC,OAAG,EAAC,qBAAoB,EAAC,KAAI,GAAE,GAAE,wBAAuB,EAAC,KAAI,GAAE,GAAE,kBAAiB,EAAC,KAAI,GAAE,GAAE,wBAAuB,EAAC,KAAI,YAAW,GAAE,4BAA2B,EAAC,KAAI,eAAc,GAAE,+BAA8B,EAAC,KAAI,YAAW,EAAC,GAAEiF,OAAG,WAAUxK,OAAG,CAAC,qBAAoB,qBAAoB,kBAAiB,wBAAwB,GAAEsF,OAAG,MAAYqE,OAAG,QAAOvD,OAAG,YAAW1D,OAAG,iBAAgB,KAAG,YAAW7E,OAAG,GAAGyH,IAAE,IAAI,GAAG,IAAIqE,IAAE,KAAIoH,OAAG,GAAGlT,IAAE;AAAW,IAAI,KAAG,OAAO,gBAAe,KAAG,OAAO,kBAAiB,KAAG,OAAO,2BAA0BsN,OAAG,OAAO,uBAAsBtB,MAAG,OAAO,UAAU,gBAAe,KAAG,OAAO,UAAU,sBAAqBuI,OAAG,CAACrK,IAAE,GAAE,MAAI,KAAKA,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAM,EAAC,CAAC,IAAEA,GAAE,CAAC,IAAE,GAAE,IAAE,CAACA,IAAE,MAAI;AAAC,WAAQ,KAAK,MAAI,IAAE,CAAA,GAAI,CAAA8B,IAAG,KAAK,GAAE,CAAC,KAAGuI,KAAGrK,IAAE,GAAE,EAAE,CAAC,CAAC;AAAE,MAAGoD,KAAG,UAAQ,KAAKA,KAAG,CAAC,EAAE,IAAG,KAAK,GAAE,CAAC,KAAGiH,KAAGrK,IAAE,GAAE,EAAE,CAAC,CAAC;AAAE,SAAOA;AAAC,GAAExM,MAAE,CAACwM,IAAE,MAAI,GAAGA,IAAE,GAAG,CAAC,CAAC,GAAE,IAAE,CAACA,IAAE,GAAE,MAAIqK,KAAGrK,IAAE,OAAO,KAAG,WAAS,IAAE,KAAG,GAAE,CAAC;AAAE,MAAM,WAAW0D,IAAE;AAAA,EAAC,YAAY,GAAE;AAAC,UAAM,CAAC,GAAE,EAAE,MAAK,QAAO8B,IAAE,GAAE,EAAE,MAAK,UAAS,IAAIuF,MAAE,GAAE,EAAE,MAAK,eAAc,KAAE,GAAE,EAAE,MAAK,gBAAe,EAAC,OAAMnL,IAAE,MAAK,OAAM,CAAA,EAAE,CAAC,GAAE,EAAE,MAAK,uBAAsB,EAAC,OAAMA,IAAE,MAAK,OAAM,CAAA,EAAE,CAAC,GAAE,EAAE,MAAK,qBAAoBrB,IAAAA,UAAE,GAAE,EAAE,MAAK,4BAA2B,oBAAI,KAAG,GAAE,EAAE,MAAK,sBAAqB,oBAAI,KAAG,GAAE,EAAE,MAAK,wBAAuB,GAAG,GAAE,EAAE,MAAK,qBAAoB,CAAA,CAAE,GAAE,EAAE,MAAK,mBAAkB,oBAAI,KAAG,GAAE,EAAE,MAAK,QAAO,YAAS;AAAC,WAAK,gBAAc,MAAM,KAAK,QAAO,GAAG,KAAK,sBAAqB,GAAG,KAAK,sBAAqB,GAAG,KAAK,sBAAqB,GAAG,MAAM,KAAK,6BAA4B,KAAK,OAAO,KAAK,QAAQ,SAAS,EAAC,SAAQ,OAAO,KAAKkB,GAAC,EAAC,CAAC,GAAE,KAAK,cAAY,MAAG,WAAW,YAAS;AAAC,cAAM,KAAK,4BAA2B,GAAG,KAAK,oBAAoB,QAAM,KAAK,0BAAyB,GAAG,KAAK,2BAA0B;AAAA,MAAE,GAAE6I,IAAAA,cAAG,KAAK,iBAAiB,CAAC;AAAA,IAAE,CAAC,GAAE,EAAE,MAAK,WAAU,OAAM,MAAG;AAAC,WAAK,cAAa,GAAG,MAAM,KAAK,0BAAyB;AAAG,YAAMxU,KAAEN,IAAE,EAAE,CAAA,GAAG,CAAC,GAAE,EAAC,oBAAmB,EAAE,sBAAoB,CAAA,GAAG,oBAAmB,EAAE,sBAAoB,CAAA,EAAE,CAAC;AAAE,YAAM,KAAK,eAAeM,EAAC,GAAEA,GAAE,qBAAmBuS,GAAGvS,GAAE,oBAAmBA,GAAE,kBAAkB,GAAEA,GAAE,qBAAmB,CAAA;AAAG,YAAK,EAAC,cAAaa,IAAE,oBAAmBoD,IAAE,oBAAmBtD,IAAE,mBAAkBkB,IAAE,kBAAiBpC,IAAE,QAAOI,GAAC,IAAEG;AAAE,UAAIM,KAAEO,IAAEd,IAAE6B,KAAE;AAAG,UAAG;AAAC,YAAGtB,IAAE;AAAC,gBAAM2L,KAAE,KAAK,OAAO,KAAK,QAAQ,SAAS,IAAI3L,EAAC;AAAE,eAAK,OAAO,OAAO,KAAK,oGAAoG,GAAEsB,KAAEqK,GAAE;AAAA,QAAM;AAAA,MAAC,SAAOA,IAAE;AAAC,cAAM,KAAK,OAAO,OAAO,MAAM,4BAA4B3L,EAAC,UAAU,GAAE2L;AAAA,MAAC;AAAC,UAAG,CAAC3L,MAAG,CAACsB,IAAE;AAAC,cAAK,EAAC,OAAMqK,IAAE,KAAI0F,GAAC,IAAE,MAAM,KAAK,OAAO,KAAK,QAAQ,OAAM;AAAG,QAAArR,KAAE2L,IAAElM,KAAE4R;AAAA,MAAC;AAAC,UAAG,CAACrR,IAAE;AAAC,cAAK,EAAC,SAAQ2L,GAAC,IAAEnM,KAAE,mBAAkB,4BAA4BQ,EAAC,EAAE;AAAE,cAAM,IAAI,MAAM2L,EAAC;AAAA,MAAC;AAAC,YAAM7K,KAAE,MAAM,KAAK,OAAO,KAAK,OAAO,gBAAe,GAAGb,KAAEoL,IAAE,kBAAkB,IAAI,OAAKa,IAAAA,cAAEf,KAAEN,KAAE5K,EAAC,GAAE2D,KAAExE,IAAE,EAAE,EAAE,EAAC,oBAAmBuE,IAAE,oBAAmBtD,IAAE,QAAOd,MAAG,CAAC,EAAC,UAASwS,KAAE,CAAC,GAAE,UAAS,EAAC,WAAUjR,IAAE,UAAS,KAAK,OAAO,SAAQ,GAAE,iBAAgBqK,IAAE,cAAanL,GAAC,GAAEuB,MAAG,EAAC,mBAAkBA,GAAC,CAAC,GAAEpC,MAAG,EAAC,kBAAiBA,GAAC,CAAC,GAAE,EAAC,IAAG2S,UAAC,EAAE,CAAC,GAAE,IAAE7F,KAAE,mBAAkBrI,GAAE,EAAE,GAAE,EAAC,QAAO,GAAE,SAAQ8H,IAAE,MAAKW,GAAC,IAAEoC,KAAGxO,IAAEmE,IAAE,GAAE4H,KAAE,CAAC,EAAC,IAAGL,GAAC,MAAI;AAAC,QAAAA,OAAI/H,GAAE,OAAK,KAAK,OAAO,OAAO,IAAI,mBAAkBoI,EAAC,GAAE,KAAK,gBAAgB,OAAOpI,GAAE,EAAE,GAAE,KAAK,OAAO,KAAK,GAAE,EAAC,OAAM,EAAC,SAAQQ,MAAG,MAAK,EAAC,EAAC,CAAC;AAAA,MAAE;AAAE,aAAO,KAAK,OAAO,OAAO,GAAG,mBAAkB4H,EAAC,GAAE,KAAK,OAAO,KAAK,GAAE,CAAC,EAAC,OAAML,IAAE,SAAQ0F,GAAC,MAAI;AAAC,aAAK,OAAO,OAAO,IAAI,mBAAkBrF,EAAC,GAAEL,KAAE,EAAEA,EAAC,IAAE0F,MAAG3F,GAAE2F,EAAC;AAAA,MAAC,CAAC,GAAE,MAAM,KAAK,YAAY,EAAC,OAAMrR,IAAE,QAAO,qBAAoB,QAAO4D,IAAE,sBAAqB,MAAG,aAAYA,GAAE,GAAE,CAAC,GAAE,MAAM,KAAK,YAAYA,GAAE,IAAGA,EAAC,GAAE,EAAC,KAAInE,IAAE,UAAS4M,GAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,QAAO,OAAM,MAAG;AAAC,WAAK,cAAa,GAAG,MAAM,KAAK,0BAAyB;AAAG,UAAG;AAAC,eAAO,MAAM,KAAK,OAAO,KAAK,QAAQ,KAAK,CAAC;AAAA,MAAC,SAAO3M,IAAE;AAAC,cAAM,KAAK,OAAO,OAAO,MAAM,eAAe,GAAEA;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,WAAU,OAAM,MAAG;AAAC,UAAIA,IAAEa,IAAEoD;AAAE,YAAMtD,KAAE,KAAK,OAAO,KAAK,YAAY,YAAY,EAAC,YAAW,EAAC,QAAOX,KAAE,uBAAG,OAAK,OAAK,SAAOA,GAAE,SAAQ,GAAG,OAAM,CAAC+B,GAAE,uBAAuB,EAAC,EAAC,CAAC;AAAE,UAAG;AAAC,aAAK,cAAa,GAAG,MAAM,KAAK,0BAAyB;AAAA,MAAE,SAAOD,IAAE;AAAC,cAAMnB,GAAE,SAASmP,GAAE,sBAAsB,GAAEhO;AAAA,MAAC;AAAC,UAAG;AAAC,cAAM,KAAK,kBAAkB,uBAAG,EAAE;AAAA,MAAC,SAAOA,IAAE;AAAC,cAAM,KAAK,OAAO,OAAO,MAAM,6BAA6B,uBAAG,EAAE,UAAU,GAAEnB,GAAE,SAASmP,GAAE,kBAAkB,GAAEhO;AAAA,MAAC;AAAC,UAAG;AAAC,cAAM,KAAK,eAAe,CAAC;AAAA,MAAC,SAAOA,IAAE;AAAC,cAAM,KAAK,OAAO,OAAO,MAAM,sCAAsC,GAAEnB,GAAE,SAASmP,GAAE,4CAA4C,GAAEhO;AAAA,MAAC;AAAC,YAAK,EAAC,IAAGD,IAAE,eAAcpC,IAAE,YAAWI,IAAE,mBAAkBS,IAAE,kBAAiBP,IAAE,eAAc6B,GAAC,IAAE,GAAER,KAAE,KAAK,OAAO,SAAS,IAAIS,EAAC;AAAE,WAAK,OAAO,KAAK,YAAY,YAAY,EAAC,SAAQlB,GAAE,QAAO,CAAC;AAAE,YAAK,EAAC,cAAaJ,IAAE,UAASkL,IAAE,oBAAmBvH,IAAE,oBAAmB,EAAC,IAAE9C;AAAE,UAAI,KAAGP,KAAE,KAAK,OAAO,KAAK,gBAAc,OAAK,SAAOA,GAAE,SAAS,EAAC,OAAMN,GAAC,CAAC;AAAE,YAAI,KAAG0D,KAAE,KAAK,OAAO,KAAK,gBAAc,OAAK,SAAOA,GAAE,YAAY,EAAC,MAAKlC,GAAE,yBAAwB,YAAW,EAAC,OAAMxB,IAAE,OAAM,CAACwB,GAAE,yBAAwBA,GAAE,qCAAqC,EAAC,EAAC,CAAC;AAAG,YAAMiK,KAAE,MAAM,KAAK,OAAO,KAAK,OAAO,gBAAe,GAAGW,KAAElB,GAAE,WAAUa,KAAE,MAAM,KAAK,OAAO,KAAK,OAAO,kBAAkBN,IAAEW,EAAC,GAAEV,KAAE,EAAE,EAAE,EAAE,EAAC,OAAM,EAAC,UAASxM,MAAG,MAAK,GAAE,YAAWI,IAAE,YAAW,EAAC,WAAUmM,IAAE,UAAS,KAAK,OAAO,SAAQ,GAAE,QAAOb,KAAE2B,EAAC,EAAC,GAAExM,MAAG,EAAC,mBAAkBA,GAAC,CAAC,GAAEP,MAAG,EAAC,kBAAiBA,GAAC,CAAC,GAAE6B,MAAG,EAAC,eAAcA,GAAC,CAAC,GAAE+P,KAAElF,IAAE;AAAM,QAAE,SAAS1K,GAAE,yBAAyB;AAAE,UAAG;AAAC,cAAM,KAAK,OAAO,KAAK,QAAQ,UAAUuK,IAAE,EAAC,eAAcqF,GAAC,CAAC;AAAA,MAAC,SAAO7P,IAAE;AAAC,cAAM,EAAE,SAASgO,GAAE,+BAA+B,GAAEhO;AAAA,MAAC;AAAC,QAAE,SAASC,GAAE,+BAA+B;AAAE,YAAMiW,MAAGtY,IAAE,EAAE,CAAA,GAAGuM,EAAC,GAAE,EAAC,OAAMK,IAAE,oBAAmBpI,IAAE,oBAAmB,GAAE,cAAa3D,IAAE,cAAa,OAAG,MAAK0L,GAAE,YAAW,MAAK,EAAC,WAAUR,GAAE,WAAU,UAASA,GAAE,SAAQ,GAAE,YAAWO,IAAE,eAAcS,IAAE,MAAK,CAAC;AAAE,YAAM,KAAK,OAAO,QAAQ,IAAIH,IAAE0L,GAAE,GAAE,EAAE,SAASjW,GAAE,aAAa;AAAE,UAAG;AAAC,UAAE,SAASA,GAAE,yBAAyB,GAAE,MAAM,KAAK,YAAY,EAAC,OAAMuK,IAAE,QAAO,oBAAmB,QAAOL,IAAE,sBAAqB,KAAE,CAAC,EAAE,MAAM,CAAAnK,OAAG;AAAC,gBAAM,uBAAG,SAASgO,GAAE,iCAAgChO;AAAA,QAAC,CAAC,GAAE,EAAE,SAASC,GAAE,8BAA8B,GAAE,EAAE,SAASA,GAAE,0BAA0B,GAAE,MAAM,KAAK,WAAW,EAAC,IAAGF,IAAE,OAAMtB,IAAE,QAAO,EAAC,OAAM,EAAC,UAASd,MAAG,MAAK,GAAE,oBAAmBuM,GAAC,GAAE,sBAAqB,KAAE,CAAC,EAAE,MAAM,CAAAlK,OAAG;AAAC,gBAAM,uBAAG,SAASgO,GAAE,kCAAiChO;AAAA,QAAC,CAAC,GAAE,EAAE,SAASC,GAAE,+BAA+B;AAAA,MAAC,SAAOD,IAAE;AAAC,cAAM,KAAK,OAAO,OAAO,MAAMA,EAAC,GAAE,KAAK,OAAO,QAAQ,OAAOwK,IAAEV,KAAE,mBAAmB,CAAC,GAAE,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAYU,EAAC,GAAExK;AAAA,MAAC;AAAC,aAAO,KAAK,OAAO,KAAK,YAAY,YAAY,EAAC,SAAQ,EAAE,QAAO,CAAC,GAAE,MAAM,KAAK,OAAO,KAAK,QAAQ,eAAe,EAAC,OAAMvB,IAAE,UAASkL,GAAE,SAAQ,CAAC,GAAE,MAAM,KAAK,OAAO,SAAS,OAAO5J,IAAE+J,KAAE,mBAAmB,CAAC,GAAE,MAAM,KAAK,OAAO,KAAK,QAAQ,SAAS,EAAC,OAAMrL,GAAC,CAAC,GAAE,MAAM,KAAK,UAAU+L,IAAEnB,KAAE2B,EAAC,CAAC,GAAE,EAAC,OAAMR,IAAE,cAAa,MAAI,QAAQ,QAAQ,KAAK,OAAO,QAAQ,IAAIA,EAAC,CAAC,EAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,UAAS,OAAM,MAAG;AAAC,WAAK,cAAa,GAAG,MAAM,KAAK,0BAAyB;AAAG,UAAG;AAAC,cAAM,KAAK,cAAc,CAAC;AAAA,MAAC,SAAO3L,IAAE;AAAC,cAAM,KAAK,OAAO,OAAO,MAAM,oCAAoC,GAAEA;AAAA,MAAC;AAAC,YAAK,EAAC,IAAGX,IAAE,QAAOa,GAAC,IAAE;AAAE,UAAIoD;AAAE,UAAG;AAAC,QAAAA,KAAE,KAAK,OAAO,SAAS,IAAIjE,EAAC,EAAE;AAAA,MAAY,SAAOW,IAAE;AAAC,cAAM,KAAK,OAAO,OAAO,MAAM,4BAA4BX,EAAC,UAAU,GAAEW;AAAA,MAAC;AAAC,MAAAsD,OAAI,MAAM,KAAK,UAAU,EAAC,IAAGjE,IAAE,OAAMiE,IAAE,OAAMpD,IAAE,SAAQ8K,IAAE,kBAAkB,OAAM,CAAC,GAAE,MAAM,KAAK,OAAO,SAAS,OAAO3L,IAAE4L,KAAE,mBAAmB,CAAC;AAAA,IAAE,CAAC,GAAE,EAAE,MAAK,UAAS,OAAM,MAAG;AAAC,WAAK,cAAa,GAAG,MAAM,KAAK,0BAAyB;AAAG,UAAG;AAAC,cAAM,KAAK,cAAc,CAAC;AAAA,MAAC,SAAO7L,IAAE;AAAC,cAAM,KAAK,OAAO,OAAO,MAAM,oCAAoC,GAAEA;AAAA,MAAC;AAAC,YAAK,EAAC,OAAMC,IAAE,YAAWa,GAAC,IAAE,GAAE,EAAC,MAAKoD,IAAE,SAAQtD,IAAE,QAAOkB,GAAC,IAAEkN,KAAE,GAAGtP,KAAE2S,UAAC,GAAGvS,KAAEwL,eAAE,EAAG,YAAW/K,KAAE,KAAK,OAAO,QAAQ,IAAIN,EAAC,EAAE;AAAW,aAAO,KAAK,OAAO,KAAKuM,KAAE,kBAAiB9M,EAAC,GAAE,CAAC,EAAC,OAAMM,GAAC,MAAI;AAAC,QAAAA,KAAE8B,GAAE9B,EAAC,IAAEY,GAAC;AAAA,MAAE,CAAC,GAAE,MAAM,KAAK,OAAO,QAAQ,OAAOX,IAAE,EAAC,YAAWa,GAAC,CAAC,GAAE,MAAM,KAAK,YAAY,EAAC,OAAMb,IAAE,QAAO,oBAAmB,QAAO,EAAC,YAAWa,GAAC,GAAE,sBAAqB,MAAG,aAAYpB,IAAE,YAAWI,GAAC,CAAC,EAAE,MAAM,CAAAE,OAAG;AAAC,aAAK,OAAO,OAAO,MAAMA,EAAC,GAAE,KAAK,OAAO,QAAQ,OAAOC,IAAE,EAAC,YAAWM,GAAC,CAAC,GAAEuB,GAAE9B,EAAC;AAAA,MAAC,CAAC,GAAE,EAAC,cAAakE,GAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,UAAS,OAAM,MAAG;AAAC,WAAK,cAAa,GAAG,MAAM,KAAK,0BAAyB;AAAG,UAAG;AAAC,cAAM,KAAK,cAAc,CAAC;AAAA,MAAC,SAAOxE,IAAE;AAAC,cAAM,KAAK,OAAO,OAAO,MAAM,oCAAoC,GAAEA;AAAA,MAAC;AAAC,YAAK,EAAC,OAAMO,GAAC,IAAE,GAAEa,KAAEuR,aAAI,EAAC,MAAKnO,IAAE,SAAQtD,IAAE,QAAOkB,GAAC,IAAEkN,KAAE;AAAG,aAAO,KAAK,OAAO,KAAKxC,KAAE,kBAAiB1L,EAAC,GAAE,CAAC,EAAC,OAAMpB,GAAC,MAAI;AAAC,QAAAA,KAAEoC,GAAEpC,EAAC,IAAEkB,GAAC;AAAA,MAAE,CAAC,GAAE,MAAM,KAAK,UAAUX,IAAEmL,KAAE2B,EAAC,CAAC,GAAE,KAAK,YAAY,EAAC,OAAM9M,IAAE,QAAO,oBAAmB,QAAO,CAAA,GAAG,aAAYa,IAAE,sBAAqB,KAAE,CAAC,EAAE,MAAM,CAAApB,OAAG;AAAC,QAAAoC,GAAEpC,EAAC;AAAA,MAAC,CAAC,GAAE,EAAC,cAAawE,GAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,WAAU,OAAM,MAAG;AAAC,WAAK,cAAa;AAAG,UAAG;AAAC,cAAM,KAAK,eAAe,CAAC;AAAA,MAAC,SAAO,GAAE;AAAC,cAAM,KAAK,OAAO,OAAO,MAAM,sCAAsC,GAAE;AAAA,MAAC;AAAC,YAAK,EAAC,SAAQjE,IAAE,SAAQa,IAAE,OAAMoD,IAAE,QAAOtD,KAAEgL,IAAE,kBAAkB,IAAI,IAAG,IAAE,GAAE9J,KAAE,KAAK,OAAO,QAAQ,IAAIoC,EAAC;AAAE,OAAApC,MAAA,gBAAAA,GAAG,mBAAgB4K,IAAE,SAAO,MAAM,KAAK,0BAAyB;AAAG,YAAMhN,KAAE2S,UAAC,GAAGvS,KAAEwL,eAAE,EAAG,YAAW,EAAC,MAAK/K,IAAE,SAAQP,IAAE,QAAO6B,GAAC,IAAEmN,KAAGpO,IAAE,oCAAoC;AAAE,WAAK,OAAO,KAAK4L,KAAE,mBAAkB9M,EAAC,GAAE,CAAC,EAAC,OAAM,GAAE,QAAO,EAAC,MAAI;AAAC,YAAEmC,GAAE,CAAC,IAAE7B,GAAE,CAAC;AAAA,MAAC,CAAC;AAAE,YAAMqB,KAAE,qBAAoBb,KAAE,KAAK,oBAAoBsB,GAAE,KAAK,UAASA,GAAE,aAAa;AAAE,UAAGtB,GAAE,QAAO,MAAM,KAAK,YAAY,EAAC,aAAYd,IAAE,YAAWI,IAAE,OAAMoE,IAAE,QAAO7C,IAAE,QAAO,EAAC,SAAQ1B,IAAE,EAAE,CAAA,GAAGmB,EAAC,GAAE,EAAC,iBAAgBsK,KAAExK,EAAC,EAAC,CAAC,GAAE,SAAQX,GAAC,GAAE,QAAOW,IAAE,sBAAqB,MAAG,SAAQJ,GAAC,CAAC,EAAE,MAAM,OAAGqB,GAAE,CAAC,CAAC,GAAE,KAAK,OAAO,OAAO,KAAK,wBAAuB,EAAC,OAAMqC,IAAE,SAAQpD,IAAE,SAAQb,IAAE,IAAGP,GAAC,CAAC,GAAE,MAAMa,GAAC;AAAG,YAAMmL,KAAE,EAAC,SAAQ/L,IAAE,EAAE,CAAA,GAAGmB,EAAC,GAAE,EAAC,iBAAgBsK,KAAExK,EAAC,EAAC,CAAC,GAAE,SAAQX,GAAC,GAAEkE,KAAE,KAAK,aAAa9C,IAAEqK,EAAC;AAAE,aAAO,MAAM,QAAQ,IAAI,CAAC,IAAI,QAAQ,OAAM,MAAG;AAAC,cAAM,KAAK,YAAY,EAAE,EAAC,aAAYhM,IAAE,YAAWI,IAAE,OAAMoE,IAAE,QAAO7C,IAAE,QAAOqK,IAAE,QAAO9K,IAAE,sBAAqB,KAAE,GAAEuD,MAAG,EAAC,KAAI,KAAK,aAAazE,IAAEgM,EAAC,EAAC,CAAC,CAAC,EAAE,MAAM,OAAG7J,GAAE,CAAC,CAAC,GAAE,KAAK,OAAO,OAAO,KAAK,wBAAuB,EAAC,OAAMqC,IAAE,SAAQpD,IAAE,SAAQb,IAAE,IAAGP,GAAC,CAAC,GAAE,EAAC;AAAA,MAAE,CAAC,GAAE,IAAI,QAAQ,OAAM,MAAG;AAAC,YAAI;AAAE,YAAG,GAAG,IAAEoC,GAAE,kBAAgB,QAAM,EAAE,kBAAiB;AAAC,gBAAMmK,KAAE,MAAMiG,KAAG,KAAK,OAAO,KAAK,SAAQhJ,IAAE;AAAE,gBAAMqK,KAAG,EAAC,IAAG7T,IAAE,OAAMwE,IAAE,YAAW+H,GAAC,CAAC;AAAA,QAAC;AAAC,UAAC;AAAA,MAAE,CAAC,GAAE1L,GAAC,CAAE,CAAC,EAAE,KAAK,OAAG,EAAE,CAAC,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,WAAU,OAAM,MAAG;AAAC,WAAK,cAAa,GAAG,MAAM,KAAK,eAAe,CAAC;AAAE,YAAK,EAAC,OAAMN,IAAE,UAASa,GAAC,IAAE,GAAE,EAAC,IAAGoD,GAAC,IAAEpD,IAAEF,KAAE,KAAK,OAAO,QAAQ,IAAIX,EAAC;AAAE,MAAAW,GAAE,kBAAgB8L,IAAE,SAAO,MAAM,KAAK,0BAAyB;AAAG,YAAM5K,KAAE,KAAK,oBAAoBlB,GAAE,KAAK,UAASA,GAAE,aAAa;AAAE0L,sBAAExL,EAAC,IAAE,MAAM,KAAK,WAAW,EAAC,IAAGoD,IAAE,OAAMjE,IAAE,QAAOa,GAAE,QAAO,sBAAqB,MAAG,SAAQgB,GAAC,CAAC,IAAEgK,eAAEhL,EAAC,KAAG,MAAM,KAAK,UAAU,EAAC,IAAGoD,IAAE,OAAMjE,IAAE,OAAMa,GAAE,OAAM,SAAQgB,GAAC,CAAC,GAAE,KAAK,qBAAqB,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,QAAO,OAAM,MAAG;AAAC,WAAK,cAAa,GAAG,MAAM,KAAK,0BAAyB;AAAG,UAAG;AAAC,cAAM,KAAK,YAAY,CAAC;AAAA,MAAC,SAAOhB,IAAE;AAAC,cAAM,KAAK,OAAO,OAAO,MAAM,gCAAgC,GAAEA;AAAA,MAAC;AAAC,YAAK,EAAC,OAAMb,GAAC,IAAE;AAAE,UAAG,KAAK,OAAO,QAAQ,KAAK,SAASA,EAAC,GAAE;AAAC,cAAMa,KAAEuR,UAAC,GAAGnO,KAAEoH,eAAE,EAAG,SAAQ,GAAG,EAAC,MAAK1K,IAAE,SAAQkB,IAAE,QAAOpC,GAAC,IAAEsP,KAAE;AAAG,aAAK,OAAO,KAAKxC,KAAE,gBAAe1L,EAAC,GAAE,CAAC,EAAC,OAAMhB,GAAC,MAAI;AAAC,UAAAA,KAAEJ,GAAEI,EAAC,IAAEgC,GAAC;AAAA,QAAE,CAAC,GAAE,MAAM,QAAQ,IAAI,CAAC,KAAK,YAAY,EAAC,OAAM7B,IAAE,QAAO,kBAAiB,QAAO,CAAA,GAAG,sBAAqB,MAAG,aAAYa,IAAE,YAAWoD,GAAC,CAAC,GAAEtD,GAAC,CAAE,CAAC;AAAA,MAAC,MAAM,MAAK,OAAO,KAAK,QAAQ,SAAS,KAAK,SAASX,EAAC,MAAI,KAAK,OAAO,OAAO,KAAK,sFAAsF,GAAE,MAAM,KAAK,OAAO,KAAK,QAAQ,KAAK,EAAC,OAAMA,GAAC,CAAC;AAAA,IAAE,CAAC,GAAE,EAAE,MAAK,QAAO,OAAM,MAAG;AAAC,WAAK,cAAa,GAAG,MAAM,KAAK,0BAAyB,GAAG,MAAM,KAAK,YAAY,CAAC;AAAE,YAAK,EAAC,OAAMA,IAAE,OAAMa,IAAE,SAAQoD,GAAC,IAAE,GAAEtD,KAAE0K,eAAE,EAAG,SAAQ,GAAGxJ,KAAEuQ,UAAC;AAAG,YAAM,KAAK,YAAY,EAAC,OAAMpS,IAAE,QAAO,mBAAkB,QAAO,EAAC,OAAMa,IAAE,SAAQoD,GAAC,GAAE,sBAAqB,MAAG,YAAWtD,IAAE,aAAYkB,GAAC,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,cAAa,OAAM,MAAG;AAAC,WAAK,cAAa,GAAG,MAAM,KAAK,0BAAyB,GAAG,MAAM,KAAK,kBAAkB,CAAC;AAAE,YAAK,EAAC,OAAM7B,GAAC,IAAE;AAAE,UAAG,KAAK,OAAO,QAAQ,KAAK,SAASA,EAAC,EAAE,OAAM,KAAK,YAAY,EAAC,OAAMA,IAAE,QAAO,oBAAmB,QAAO4L,KAAE,mBAAmB,GAAE,sBAAqB,KAAE,CAAC,GAAE,MAAM,KAAK,cAAc,EAAC,OAAM5L,IAAE,WAAU,MAAE,CAAC;AAAA,eAAU,KAAK,OAAO,KAAK,QAAQ,SAAS,KAAK,SAASA,EAAC,EAAE,OAAM,KAAK,OAAO,KAAK,QAAQ,WAAW,EAAC,OAAMA,GAAC,CAAC;AAAA,WAAM;AAAC,cAAK,EAAC,SAAQa,GAAC,IAAEf,KAAE,oBAAmB,uCAAuCE,EAAC,EAAE;AAAE,cAAM,IAAI,MAAMa,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,QAAO,QAAI,KAAK,cAAa,GAAG,KAAK,OAAO,QAAQ,OAAM,EAAG,OAAO,CAAAb,OAAG8K,GAAG9K,IAAE,CAAC,CAAC,EAAE,GAAE,EAAE,MAAK,6BAA4B,MAAI,KAAK,OAAO,eAAe,OAAM,CAAE,GAAE,EAAE,MAAK,gBAAe,OAAM,GAAEA,OAAI;AAAC,UAAIa;AAAE,WAAK,cAAa,GAAG,KAAK,oBAAoB,CAAC;AAAE,YAAMoD,KAAEjE,MAAG,KAAK,OAAO,KAAK,sBAAsB,SAASA,EAAC,OAAKa,KAAE,KAAK,OAAO,SAAS,aAAW,OAAK,SAAOA,GAAE,WAAUF,KAAEsD,KAAEwI,IAAE,YAAUA,IAAE;AAAM,MAAA9L,OAAI8L,IAAE,SAAO,MAAM,KAAK,0BAAyB;AAAG,YAAK,EAAC,QAAO5K,IAAE,WAAUpC,KAAE,IAAG,KAAII,IAAE,QAAOS,IAAE,OAAMP,IAAE,MAAK6B,IAAE,KAAIR,IAAE,KAAIb,IAAE,SAAQkL,KAAE,CAAA,GAAG,QAAOvH,GAAC,IAAE,GAAE,IAAE,CAAC,GAAG,EAAE,aAAW,CAAA,CAAE,GAAE,EAAC,OAAM,GAAE,KAAI8H,GAAC,IAAE,MAAM,KAAK,OAAO,KAAK,QAAQ,OAAO,EAAC,SAAQ,CAAC,wBAAwB,GAAE,eAAcrL,GAAC,CAAC;AAAE,WAAK,OAAO,OAAO,KAAK,EAAC,SAAQ,yBAAwB,SAAQ,EAAC,OAAM,GAAE,KAAIqL,GAAC,EAAC,CAAC;AAAE,YAAMW,KAAE,MAAM,KAAK,OAAO,KAAK,OAAO,mBAAkBL,KAAE2C,GAAGtC,EAAC;AAAE,UAAG,MAAM,QAAQ,IAAI,CAAC,KAAK,OAAO,KAAK,SAAS,IAAIuI,MAAG,EAAC,eAAc5I,IAAE,WAAUK,GAAC,CAAC,GAAE,KAAK,OAAO,KAAK,cAAc,IAAIL,IAAE,EAAC,OAAMA,IAAE,cAAa,EAAC,CAAC,CAAC,CAAC,GAAE,MAAM,KAAK,OAAO,KAAK,QAAQ,UAAUA,IAAE,EAAC,eAAc3L,GAAC,CAAC,GAAE,KAAK,OAAO,OAAO,KAAK,yCAAyC,CAAC,EAAE,GAAE8K,GAAE,SAAO,GAAE;AAAC,cAAK,EAAC,WAAUxL,GAAC,IAAEgV,KAAGpT,GAAE,CAAC,CAAC;AAAE,YAAIsK,KAAEsG,GAAGxS,IAAE,WAAUwL,EAAC;AAAE6G,aAAG,CAAC,MAAInG,KAAE8B,GAAG9B,IAAE,EAAE,IAAG,CAAE,IAAG,EAAE,KAAKA,EAAC;AAAA,MAAC;AAAC,YAAMF,KAAE/H,MAAGA,KAAEyH,IAAE,uBAAuB,IAAI,MAAIzH,KAAEyH,IAAE,uBAAuB,IAAI,KAAIgG,KAAE,EAAC,aAAY,EAAC,MAAK/P,MAAG,WAAU,QAAOC,IAAE,WAAUpC,IAAE,KAAII,IAAE,QAAOS,IAAE,SAAQ,KAAI,OAAMP,IAAE,MAAI,oBAAI,KAAI,GAAG,YAAW,GAAG,KAAIqB,IAAE,KAAIb,IAAE,WAAU,EAAC,GAAE,WAAU,EAAC,WAAUoM,IAAE,UAAS,KAAK,OAAO,SAAQ,GAAE,iBAAgBxB,KAAEc,EAAC,EAAC,GAAE+L,MAAG,EAAC,QAAO,EAAC,QAAOnW,IAAE,SAAQ,CAAC,GAAG,oBAAI,IAAI,CAAC,iBAAgB,GAAG4J,EAAC,CAAC,CAAC,GAAE,QAAO,CAAC,gBAAe,iBAAiB,EAAC,EAAC,GAAE3J,KAAE,EAAC,oBAAmB,CAAA,GAAG,oBAAmBkW,KAAG,QAAO,CAAC,EAAC,UAAS,MAAK,CAAC,GAAE,cAAa,GAAE,UAAS,EAAC,WAAUrL,IAAE,UAAS,KAAK,OAAO,SAAQ,GAAE,iBAAgBxB,KAAEQ,IAAE,kBAAkB,IAAI,GAAG,GAAE,IAAGyG,UAAC,EAAE,GAAE,EAAC,MAAKjM,KAAG,SAAQN,KAAG,QAAOwN,IAAE,IAAEtE,KAAG9C,IAAE,iBAAiB,GAAEoC,MAAG+D,UAAC,GAAG/L,MAAGkG,KAAE,mBAAkBzK,GAAE,EAAE,GAAE0U,MAAGjK,KAAE,mBAAkB8B,GAAE,GAAE7E,MAAG,OAAM,EAAC,OAAMvJ,IAAE,SAAQkM,GAAC,MAAI;AAAC,aAAK,OAAO,IAAIqK,KAAG7F,GAAE,GAAE1Q,KAAEoT,IAAGpT,EAAC,IAAEkM,MAAGtG,IAAG,EAAC,SAAQsG,GAAC,CAAC;AAAA,MAAC,GAAEwE,MAAG,OAAM1Q,OAAG;AAAC,YAAIkM,IAAEhC,KAAGsF;AAAG,YAAG,MAAM,KAAK,yBAAyBpB,KAAG,EAAC,SAAQ,aAAY,MAAK,EAAC,CAAC,GAAEpO,GAAE,OAAM;AAAC,gBAAMsU,MAAG3I,KAAE,yBAAwB,wBAAwB;AAAE,iBAAO3L,GAAE,MAAM,SAAOsU,IAAG,OAAK,UAAQ,KAAK,OAAO,IAAIlO,KAAGmD,GAAE,GAAE6J,IAAGpT,GAAE,MAAM,OAAO;AAAA,QAAE;AAAC,cAAM,KAAK,eAAe6B,GAAE,EAAE,GAAE,KAAK,OAAO,IAAIuE,KAAGmD,GAAE;AAAE,cAAK,EAAC,QAAOO,KAAG,WAAU+I,GAAC,IAAE7S,GAAE,QAAOiZ,MAAG,CAAA,GAAG1O,MAAG,CAAA;AAAG,mBAAU+J,OAAMxK,KAAG;AAAC,gBAAMmF,GAAG,EAAC,OAAMqF,KAAG,WAAU,KAAK,OAAO,KAAK,UAAS,CAAC,MAAI,KAAK,OAAO,OAAO,MAAMA,KAAG,+BAA+B,GAAElB,IAAGzH,KAAE,6BAA4B,+BAA+B,CAAC;AAAG,gBAAK,EAAC,GAAE3B,IAAE,IAAEsK,KAAGxN,MAAGuL,KAAGrI,IAAG,SAAS,GAAEmB,MAAG,CAACoM,KAAGvN,IAAG,GAAG,CAAC,GAAE8H,MAAGrQ,KAAGuI,IAAG,GAAG;AAAE,cAAGlD,KAAG;AAAC,kBAAM9E,MAAGmO,GAAGrJ,GAAE,GAAEkN,MAAGlB,GAAGhM,GAAE;AAAE,YAAAmS,IAAG,KAAK,GAAGjX,GAAE,GAAEmJ,IAAG,KAAK,GAAG6I,GAAE;AAAA,UAAC;AAAC,qBAAUhS,OAAMmJ,IAAG,CAAAZ,IAAG,KAAK,GAAGvI,GAAE,IAAI8P,GAAE,EAAE;AAAA,QAAC;AAAC,cAAM+C,MAAG,MAAM,KAAK,OAAO,KAAK,OAAO,kBAAkBnI,IAAEmG,GAAE,SAAS;AAAE,YAAI9I;AAAG,QAAAkP,IAAG,SAAO,MAAIlP,MAAG,EAAC,OAAM8K,KAAG,cAAa,MAAG,MAAK,EAAC,WAAUnI,IAAE,UAAS,KAAK,OAAO,SAAQ,GAAE,MAAKmG,IAAE,YAAWA,GAAE,WAAU,QAAO3H,KAAE2B,EAAC,GAAE,oBAAmB,IAAG,oBAAmB,CAAA,GAAG,OAAM,EAAC,UAAS,MAAK,GAAE,cAAa,GAAE,YAAWkI,GAAG,CAAC,GAAG,IAAI,IAAIkE,GAAE,CAAC,GAAE,CAAC,GAAG,IAAI,IAAI1O,GAAE,CAAC,CAAC,GAAE,eAAc7J,GAAC,GAAE,MAAM,KAAK,OAAO,KAAK,QAAQ,UAAUmU,KAAG,EAAC,eAAcnU,GAAC,CAAC,GAAE,MAAM,KAAK,OAAO,QAAQ,IAAImU,KAAG9K,GAAE,GAAE,KAAG,MAAM,KAAK,OAAO,KAAK,QAAQ,eAAe,EAAC,OAAM,GAAE,UAAS8I,GAAE,SAAQ,CAAC,GAAE9I,MAAG,KAAK,OAAO,QAAQ,IAAI8K,GAAE,KAAI3I,KAAE,KAAK,OAAO,SAAS,aAAW,QAAMA,GAAE,aAAWhC,MAAG2I,GAAE,SAAS,aAAW,QAAM3I,IAAG,aAAWsF,MAAGqD,GAAE,SAAS,aAAW,QAAMrD,IAAG,aAAWzP,OAAI,KAAK,OAAO,KAAK,wBAAwB8S,GAAE,SAAS,SAAS,SAAS,GAAE,KAAK,OAAO,QAAQ,OAAOgC,KAAG,EAAC,eAAcrI,IAAE,UAAS,CAAC,IAAG5G,IAAG,EAAC,OAAMkE,KAAG,SAAQC,IAAE,CAAC;AAAA,MAAC;AAAE,WAAK,OAAO,KAAK3D,KAAGmD,GAAE,GAAE,KAAK,OAAO,KAAKgN,KAAG7F,GAAE;AAAE,UAAInM;AAAG,UAAG;AAAC,YAAGP,IAAE;AAAC,gBAAMhE,KAAEoN,qBAAG,0BAAyBsE,IAAEtD,GAAE;AAAE,eAAK,OAAO,KAAK,QAAQ,IAAI,GAAEpO,EAAC;AAAE,gBAAMkM,KAAE,MAAM,KAAK,OAAO,KAAK,OAAO,OAAO,IAAGlM,IAAE,EAAC,MAAKkR,MAAG,UAAShC,KAAE,CAAC;AAAE,UAAA3K,MAAGtC,GAAGlC,IAAE,GAAEmM,EAAC;AAAA,QAAC,MAAM,OAAM,QAAQ,IAAI,CAAC,KAAK,YAAY,EAAC,OAAM,GAAE,QAAO,0BAAyB,QAAOwF,IAAE,QAAO,EAAE,QAAO,sBAAqB,MAAG,aAAYtD,IAAE,CAAC,GAAE,KAAK,YAAY,EAAC,OAAM,GAAE,QAAO,qBAAoB,QAAOvM,IAAE,QAAO6J,IAAE,kBAAkB,IAAI,KAAI,sBAAqB,MAAG,aAAY7J,GAAE,GAAE,CAAC,CAAC,CAAC;AAAA,MAAC,SAAO7B,IAAE;AAAC,cAAM,KAAK,OAAO,IAAIoG,KAAGmD,GAAE,GAAE,KAAK,OAAO,IAAIgN,KAAG7F,GAAE,GAAE1Q;AAAA,MAAC;AAAC,aAAO,MAAM,KAAK,YAAY6B,GAAE,IAAGA,EAAC,GAAE,MAAM,KAAK,eAAeuM,KAAG,EAAC,SAAQ3O,IAAE,EAAE,CAAA,GAAGiS,EAAC,GAAE,EAAC,eAAc,CAAA,EAAE,CAAC,GAAE,cAAa,GAAE,eAAchR,GAAC,CAAC,GAAE,EAAC,KAAI6D,OAAIwH,IAAE,UAAS7F,IAAE;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,8BAA6B,OAAM,MAAG;AAAC,YAAK,EAAC,IAAGnG,IAAE,OAAMa,GAAC,IAAE,GAAEoD,KAAE,KAAK,OAAO,KAAK,YAAY,YAAY,EAAC,YAAW,EAAC,OAAMjE,GAAE,SAAQ,GAAG,OAAM,CAAC4M,GAAE,qCAAqC,EAAC,EAAC,CAAC;AAAE,UAAG;AAAC,aAAK,cAAa;AAAA,MAAE,SAAO1I,IAAE;AAAC,cAAMD,GAAE,SAASyO,GAAG,sBAAsB,GAAExO;AAAA,MAAC;AAAC,YAAMvD,KAAE,KAAK,sBAAsBX,EAAC;AAAE,UAAG,CAACW,GAAE,OAAMsD,GAAE,SAASyO,GAAG,+CAA+C,GAAE,IAAI,MAAM,+CAA+C1S,EAAC,EAAE;AAAE,YAAM6B,KAAElB,GAAE,iBAAe8L,IAAE;AAAM,MAAA5K,OAAI4K,IAAE,SAAO,MAAM,KAAK,0BAAyB;AAAG,YAAMhN,KAAEkB,GAAE,UAAU,WAAUd,KAAE,MAAM,KAAK,OAAO,KAAK,OAAO,gBAAe,GAAGS,KAAE2O,GAAGxP,EAAC,GAAEM,KAAE,EAAC,MAAKwI,MAAG,mBAAkB9I,IAAE,iBAAgBI,GAAC,GAAE+B,KAAE,CAAA,GAAGR,KAAE;AAAG,iBAAU8C,MAAKrD,IAAE;AAAC,YAAG,CAAC,MAAMqO,GAAG,EAAC,OAAMhL,IAAE,WAAU,KAAK,OAAO,KAAK,UAAS,CAAC,GAAE;AAAC,UAAAD,GAAE,SAASyO,GAAG,aAAa;AAAE,gBAAMpG,KAAEV,KAAE,6BAA4B,+BAA+B;AAAE,gBAAM,MAAM,KAAK,UAAU,EAAC,IAAG5L,IAAE,OAAMM,IAAE,OAAMgM,IAAE,YAAWvM,GAAC,CAAC,GAAE,IAAI,MAAMuM,GAAE,OAAO;AAAA,QAAC;AAAC,QAAArI,GAAE,SAAS2I,GAAE,eAAe;AAAE,cAAK,EAAC,GAAE,EAAC,IAAE1I,IAAE,IAAEoO,KAAG,EAAE,SAAS,GAAEtG,KAAE,CAACwL,KAAG,EAAE,GAAG,CAAC,GAAE7K,KAAEjL,KAAG,EAAE,GAAG;AAAE,YAAG,GAAE;AAAC,gBAAM4K,KAAE8D,GAAG,CAAC,GAAEnE,KAAE8G,GAAG,CAAC;AAAE,UAAAnR,GAAE,KAAK,GAAG0K,EAAC,GAAEN,GAAE,KAAK,GAAGC,EAAC;AAAA,QAAC;AAAC,mBAAUK,MAAKN,GAAE,CAAA5K,GAAE,KAAK,GAAGkL,EAAC,IAAIK,EAAC,EAAE;AAAA,MAAC;AAAC,YAAMpM,KAAE,MAAM,KAAK,OAAO,KAAK,OAAO,kBAAkBV,IAAEJ,EAAC;AAAE,MAAAwE,GAAE,SAAS2I,GAAE,kCAAkC;AAAE,UAAInB;AAAE,WAAG7J,MAAA,gBAAAA,GAAG,UAAO,GAAE;AAAC,QAAA6J,KAAE,EAAC,OAAMlL,IAAE,cAAa,MAAG,MAAK,EAAC,WAAUV,IAAE,UAAS,KAAK,OAAO,SAAQ,GAAE,MAAK,EAAC,WAAUJ,IAAE,UAASkB,GAAE,UAAU,SAAQ,GAAE,YAAWlB,IAAE,QAAO0L,KAAE2B,EAAC,GAAE,gBAAejM,IAAE,oBAAmB,CAAA,GAAG,oBAAmB,CAAA,GAAG,OAAM,EAAC,UAAS,MAAK,GAAE,cAAaF,GAAE,cAAa,YAAWqU,GAAG,CAAC,GAAG,IAAI,IAAIpT,EAAC,CAAC,GAAE,CAAC,GAAG,IAAI,IAAIR,EAAC,CAAC,CAAC,GAAE,eAAcS,GAAC,GAAEoC,GAAE,SAAS2I,GAAE,uCAAuC;AAAE,YAAG;AAAC,gBAAM,KAAK,OAAO,KAAK,QAAQ,UAAUrM,IAAE,EAAC,eAAcsB,GAAC,CAAC;AAAA,QAAC,SAAOqC,IAAE;AAAC,gBAAMD,GAAE,SAASyO,GAAG,6CAA6C,GAAExO;AAAA,QAAC;AAAC,QAAAD,GAAE,SAAS2I,GAAE,6CAA6C,GAAE,MAAM,KAAK,OAAO,QAAQ,IAAIrM,IAAEkL,EAAC,GAAExH,GAAE,SAAS2I,GAAE,2BAA2B,GAAE,MAAM,KAAK,OAAO,KAAK,QAAQ,eAAe,EAAC,OAAMjM,GAAE,cAAa,UAASA,GAAE,UAAU,SAAQ,CAAC;AAAA,MAAC;AAAC,MAAAsD,GAAE,SAAS2I,GAAE,wCAAwC;AAAE,UAAG;AAAC,cAAM,KAAK,WAAW,EAAC,OAAMtM,IAAE,IAAGN,IAAE,QAAO,EAAC,QAAOa,IAAE,WAAU,EAAC,WAAUhB,IAAE,UAAS,KAAK,OAAO,SAAQ,EAAC,GAAE,YAAWE,IAAE,sBAAqB,MAAG,SAAQ,KAAK,oBAAoBY,GAAE,UAAU,UAASkB,EAAC,EAAC,CAAC;AAAA,MAAC,SAAOqC,IAAE;AAAC,cAAMD,GAAE,SAASyO,GAAG,6CAA6C,GAAExO;AAAA,MAAC;AAAC,aAAO,MAAM,KAAK,OAAO,KAAK,SAAS,OAAOlE,IAAE,EAAC,SAAQ,aAAY,MAAK,EAAC,CAAC,GAAE,MAAM,KAAK,OAAO,KAAK,QAAQ,SAAS,EAAC,OAAMW,GAAE,aAAY,CAAC,GAAE,KAAK,OAAO,KAAK,YAAY,YAAY,EAAC,SAAQsD,GAAE,QAAO,CAAC,GAAE,EAAC,SAAQwH,GAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,6BAA4B,OAAM,MAAG;AAAC,WAAK,cAAa;AAAG,YAAK,EAAC,IAAGzL,IAAE,QAAOa,GAAC,IAAE,GAAEoD,KAAE,KAAK,sBAAsBjE,EAAC;AAAE,UAAG,CAACiE,GAAE,OAAM,IAAI,MAAM,+CAA+CjE,EAAC,EAAE;AAAE,MAAAiE,GAAE,kBAAgBwI,IAAE,SAAO,MAAM,KAAK,0BAAyB;AAAG,YAAM9L,KAAEsD,GAAE,UAAU,WAAUpC,KAAE,MAAM,KAAK,OAAO,KAAK,OAAO,gBAAe,GAAGpC,KAAEwP,GAAGtO,EAAC,GAAEd,KAAE,EAAC,MAAK0I,MAAG,mBAAkB5H,IAAE,iBAAgBkB,GAAC;AAAE,YAAM,KAAK,UAAU,EAAC,IAAG7B,IAAE,OAAMP,IAAE,OAAMoB,IAAE,YAAWhB,IAAE,SAAQ8L,IAAE,uBAAuB,QAAO,SAAQ,KAAK,oBAAoB1H,GAAE,UAAU,UAASA,GAAE,aAAa,EAAC,CAAC,GAAE,MAAM,KAAK,OAAO,KAAK,SAAS,OAAOjE,IAAE,EAAC,SAAQ,YAAW,MAAK,EAAC,CAAC,GAAE,MAAM,KAAK,OAAO,SAAS,OAAOA,IAAE4L,KAAE,mBAAmB,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,qBAAoB,OAAG;AAAC,WAAK,cAAa;AAAG,YAAK,EAAC,SAAQ5L,IAAE,KAAIa,GAAC,IAAE;AAAE,aAAOiR,KAAG9R,IAAEa,EAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,4BAA2B,MAAI;AAAC,iBAAW,YAAS;AAAC,YAAG,KAAK,kBAAkB,WAAS,EAAE,QAAK,KAAK,kBAAkB,SAAO,IAAG,KAAG;AAAC,gBAAM,IAAE,KAAK,kBAAkB,MAAK;AAAG,eAAG,MAAM,KAAK,eAAe,CAAC;AAAA,QAAC,SAAO,GAAE;AAAC,eAAK,OAAO,OAAO,MAAM,CAAC;AAAA,QAAC;AAAA,MAAC,GAAE,EAAE;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,4BAA2B,OAAM,MAAG;AAAC,UAAG,EAAE,aAAa,KAAG;AAAC,cAAMb,KAAE,KAAK,OAAO,KAAK,QAAQ,SAAS,IAAI,EAAE,YAAY,GAAEa,KAAE,KAAK,OAAO,KAAK,QAAQ,SAAS,OAAM,EAAG,OAAO,CAAAoD,OAAG;AAAC,cAAItD,IAAEkB;AAAE,mBAAQlB,KAAEsD,GAAE,iBAAe,OAAK,SAAOtD,GAAE,UAAQkB,KAAEoC,GAAE,iBAAe,OAAK,SAAOpC,GAAE,SAAO,EAAE,KAAK,SAAS,OAAKoC,GAAE,SAAOA,GAAE,UAAQjE,GAAE;AAAA,QAAK,CAAC;AAAE,YAAGa,GAAE,WAAS,EAAE;AAAO,aAAK,OAAO,OAAO,KAAK,eAAeA,GAAE,MAAM,uBAAuB,GAAE,MAAM,QAAQ,IAAIA,GAAE,IAAI,CAAAoD,OAAG,KAAK,OAAO,KAAK,QAAQ,WAAW,EAAC,OAAMA,GAAE,MAAK,CAAC,CAAC,CAAC,GAAE,KAAK,OAAO,OAAO,KAAK,sCAAsC;AAAA,MAAC,SAAOjE,IAAE;AAAC,aAAK,OAAO,OAAO,MAAMA,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,iBAAgB,OAAM,MAAG;AAAC,UAAIA;AAAE,YAAK,EAAC,OAAMa,IAAE,mBAAkBoD,KAAE,OAAG,WAAUtD,KAAE,MAAG,IAAGkB,KAAE,EAAC,IAAE,GAAE,EAAC,MAAKpC,GAAC,IAAE,KAAK,OAAO,QAAQ,IAAIoB,EAAC;AAAE,YAAM,KAAK,OAAO,KAAK,QAAQ,YAAYA,EAAC,GAAE,MAAM,KAAK,OAAO,QAAQ,OAAOA,IAAE+K,KAAE,mBAAmB,CAAC,GAAE,KAAK,qBAAqB/K,IAAE,SAAS,GAAE,KAAK,OAAO,KAAK,OAAO,SAAS,IAAIpB,GAAE,SAAS,KAAG,MAAM,KAAK,OAAO,KAAK,OAAO,cAAcA,GAAE,SAAS,GAAE,KAAK,OAAO,KAAK,OAAO,SAAS,IAAIoB,EAAC,KAAG,MAAM,KAAK,OAAO,KAAK,OAAO,aAAaA,EAAC,GAAEoD,MAAG,KAAK,OAAO,KAAK,QAAQ,IAAIpD,EAAC,GAAE,KAAK,OAAO,KAAK,QAAQ,WAAWoI,IAAE,EAAE,MAAM,CAAApJ,OAAG,KAAK,OAAO,OAAO,KAAKA,EAAC,CAAC,GAAE,KAAK,0BAAyB,EAAG,QAAQ,CAAAA,OAAG;AAAC,QAAAA,GAAE,UAAQgB,MAAG,KAAK,4BAA4BhB,GAAE,IAAG+L,KAAE,mBAAmB,CAAC;AAAA,MAAC,CAAC,GAAE/K,SAAMb,KAAE,KAAK,oBAAoB,MAAM,CAAC,MAAI,OAAK,SAAOA,GAAE,WAAS,KAAK,oBAAoB,QAAM8L,IAAE,OAAMnL,MAAG,KAAK,OAAO,OAAO,KAAK,kBAAiB,EAAC,IAAGkB,IAAE,OAAMhB,GAAC,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,kBAAiB,OAAM,GAAEb,OAAI;AAAC,UAAGA,GAAE,KAAG;AAAC,cAAMa,KAAE,KAAK,OAAO,SAAS,IAAI,CAAC,GAAEoD,KAAE,KAAK,OAAO,KAAK,YAAY,SAAS,EAAC,OAAMpD,GAAE,aAAY,CAAC;AAAE,QAAAoD,MAAA,gBAAAA,GAAG,SAAS6L,GAAE;AAAA,MAAiB,QAAM;AAAA,MAAC;AAAC,YAAM,QAAQ,IAAI,CAAC,KAAK,OAAO,SAAS,OAAO,GAAElE,KAAE,mBAAmB,CAAC,GAAE5L,KAAE,QAAQ,YAAU,KAAK,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAE,KAAK,qBAAqB,GAAE,UAAU;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,+BAA8B,OAAM,GAAEA,IAAEa,KAAE,UAAK;AAAC,YAAM,QAAQ,IAAI,CAAC,KAAK,OAAO,eAAe,OAAO,GAAEb,EAAC,GAAEa,KAAE,QAAQ,QAAO,IAAG,KAAK,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAE,KAAK,qBAAqB,GAAE,SAAS,GAAE,KAAK,oBAAoB,QAAM,KAAK,oBAAoB,MAAM,OAAO,CAAAoD,OAAGA,GAAE,OAAK,CAAC,GAAEpD,OAAI,KAAK,oBAAoB,QAAMiL,IAAE,MAAK,KAAK,OAAO,OAAO,KAAK,0BAAyB,EAAC,IAAG,EAAC,CAAC;AAAA,IAAE,CAAC,GAAE,EAAE,MAAK,4BAA2B,OAAM,GAAE9L,IAAEa,KAAE,UAAK;AAAC,YAAM,QAAQ,IAAI,CAAC,KAAK,OAAO,KAAK,SAAS,OAAO,GAAEb,EAAC,GAAEa,KAAE,QAAQ,QAAO,IAAG,KAAK,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,aAAY,OAAM,GAAEb,OAAI;AAAC,WAAK,OAAO,QAAQ,KAAK,SAAS,CAAC,MAAI,KAAK,OAAO,KAAK,QAAQ,IAAI,GAAEA,EAAC,GAAE,MAAM,KAAK,OAAO,QAAQ,OAAO,GAAE,EAAC,QAAOA,GAAC,CAAC;AAAA,IAAE,CAAC,GAAE,EAAE,MAAK,eAAc,OAAM,GAAEA,OAAI;AAAC,WAAK,OAAO,KAAK,QAAQ,IAAI,GAAEmL,KAAEQ,IAAE,kBAAkB,IAAI,GAAG,CAAC,GAAE,MAAM,KAAK,OAAO,SAAS,IAAI,GAAE3L,EAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,kBAAiB,OAAM,GAAEA,OAAI;AAAC,YAAK,EAAC,SAAQa,IAAE,cAAaoD,IAAE,eAActD,KAAE8L,IAAE,MAAK,IAAEzM;AAAE,WAAK,OAAO,KAAK,QAAQ,IAAI,GAAEa,GAAE,eAAe,GAAE,MAAM,KAAK,OAAO,KAAK,SAAS,IAAI,GAAE,EAAC,aAAYA,GAAE,aAAY,WAAUA,GAAE,WAAU,iBAAgBA,GAAE,iBAAgB,IAAG,GAAE,cAAaoD,IAAE,eAAcpD,GAAE,eAAc,eAAcF,GAAC,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,4BAA2B,OAAM,MAAG;AAAC,YAAK,EAAC,IAAGX,IAAE,OAAMa,IAAE,QAAOoD,IAAE,eAActD,GAAC,IAAE,GAAEkB,KAAEoC,GAAE,QAAQ,mBAAiBkH,KAAEQ,IAAE,kBAAkB,IAAI,GAAG;AAAE,WAAK,OAAO,KAAK,QAAQ,IAAI3L,IAAE6B,EAAC,GAAE,MAAM,KAAK,OAAO,eAAe,IAAI7B,IAAE,EAAC,IAAGA,IAAE,OAAMa,IAAE,QAAOoD,IAAE,eAActD,GAAC,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,eAAc,OAAM,MAAG;AAAC,YAAK,EAAC,OAAMX,IAAE,QAAOa,IAAE,QAAOoD,IAAE,QAAOtD,IAAE,YAAWkB,IAAE,aAAYpC,IAAE,sBAAqBI,IAAE,SAAQS,IAAE,KAAIP,GAAC,IAAE,GAAE6B,KAAEyL,qBAAGxM,IAAEoD,IAAExE,EAAC;AAAE,UAAI2B;AAAE,YAAMb,KAAE,CAAC,CAACD;AAAE,UAAG;AAAC,cAAM,IAAEC,KAAE4O,OAAGhG;AAAG,QAAA/H,KAAE,MAAM,KAAK,OAAO,KAAK,OAAO,OAAOpB,IAAE4B,IAAE,EAAC,UAAS,EAAC,CAAC;AAAA,MAAC,SAAO,GAAE;AAAC,cAAM,MAAM,KAAK,QAAO,GAAG,KAAK,OAAO,OAAO,MAAM,mDAAmD5B,EAAC,SAAS,GAAE;AAAA,MAAC;AAAC,UAAIyL;AAAE,UAAGtH,KAAG,SAAStD,EAAC,GAAE;AAAC,cAAM,IAAEgM,GAAE,KAAK,UAAUjL,EAAC,CAAC,GAAE,IAAEiL,GAAEzL,EAAC;AAAE,QAAAqK,KAAE,MAAM,KAAK,OAAO,KAAK,OAAO,SAAS,EAAC,IAAG,GAAE,aAAY,EAAC,CAAC;AAAA,MAAC;AAAC,YAAMvH,KAAEyH,IAAE9K,EAAC,EAAE;AAAI,UAAGqD,GAAE,cAAYuH,IAAE9K,OAAIuD,GAAE,MAAIvD,KAAGkB,OAAIqC,GAAE,KAAGrC,KAAG,KAAK,OAAO,KAAK,QAAQ,IAAI7B,IAAE4B,EAAC,GAAErB,IAAE;AAAC,cAAM,IAAE2B,GAAG5B,IAAEN,IAAEoB,EAAC;AAAE,cAAM,OAAO,QAAQ,QAAQ,GAAE,KAAK,OAAO,IAAI;AAAA,MAAC,OAAK;AAAC,cAAM,IAAEuK,IAAE9K,EAAC,EAAE;AAAI,QAAAF,OAAI,EAAE,MAAIA,KAAGkB,OAAI,EAAE,KAAGA,KAAG,EAAE,MAAInC,IAAE,EAAE,CAAA,GAAGK,EAAC,GAAE,EAAC,eAAc6B,GAAE,GAAE,CAAC,GAAE/B,MAAG,EAAE,WAASH,IAAE,EAAE,CAAA,GAAG,EAAE,QAAQ,GAAE,EAAC,sBAAqB,KAAE,CAAC,GAAE,MAAM,KAAK,OAAO,KAAK,QAAQ,QAAQM,IAAEoB,IAAE,CAAC,KAAG,KAAK,OAAO,KAAK,QAAQ,QAAQpB,IAAEoB,IAAE,CAAC,EAAE,MAAM,OAAG,KAAK,OAAO,OAAO,MAAM,CAAC,CAAC;AAAA,MAAC;AAAC,aAAOQ,GAAE;AAAA,IAAE,CAAC,GAAE,EAAE,MAAK,cAAa,OAAM,MAAG;AAAC,YAAK,EAAC,IAAG5B,IAAE,OAAMa,IAAE,QAAOoD,IAAE,sBAAqBtD,IAAE,YAAWkB,IAAE,SAAQpC,GAAC,IAAE,GAAEI,KAAEkX,oBAAG/W,IAAEiE,EAAC;AAAE,UAAI3D;AAAE,YAAMP,KAAEN,MAAG,QAAO,UAAQ,OAAK,SAAO,OAAO,WAAS;AAAI,UAAG;AAAC,cAAMc,KAAER,KAAEoP,OAAGhG;AAAG,QAAA7I,KAAE,MAAM,KAAK,OAAO,KAAK,OAAO,OAAOO,IAAEhB,IAAEH,IAAE,EAAE,CAAA,GAAGmC,MAAG,CAAA,CAAE,GAAE,EAAC,UAAStB,GAAC,CAAC,CAAC;AAAA,MAAC,SAAOA,IAAE;AAAC,cAAM,MAAM,KAAK,QAAO,GAAG,KAAK,OAAO,OAAO,MAAM,kDAAkDM,EAAC,SAAS,GAAEN;AAAA,MAAC;AAAC,UAAIqB,IAAER;AAAE,UAAG;AAAC,QAAAQ,KAAE,MAAM,KAAK,OAAO,KAAK,QAAQ,IAAIf,IAAEb,EAAC;AAAE,cAAMO,KAAEqB,GAAE;AAAQ,YAAG;AAAC,eAAK,aAAarB,GAAE,QAAOA,GAAE,MAAM,MAAIa,KAAE,KAAK,aAAapB,IAAEO,GAAE,QAAO0D,EAAC;AAAA,QAAE,SAAOwH,IAAE;AAAC,eAAK,OAAO,OAAO,KAAK,yCAAwCA,EAAC;AAAA,QAAC;AAAA,MAAC,SAAOlL,IAAE;AAAC,cAAM,KAAK,OAAO,OAAO,MAAM,+BAA+BM,EAAC,KAAKb,EAAC,UAAU,GAAEO;AAAA,MAAC;AAAC,UAAGR,IAAE;AAAC,cAAMQ,KAAE2B,GAAGzC,IAAEoB,IAAEP,EAAC;AAAE,cAAM,OAAO,QAAQ,QAAQC,IAAE,KAAK,OAAO,IAAI;AAAA,MAAC,OAAK;AAAC,cAAMA,KAAEqB,GAAE,QAAQ,QAAO6J,KAAEE,IAAEpL,EAAC,EAAE;AAAI,QAAAkL,GAAE,MAAI/L,IAAE,EAAE,CAAA,GAAG0B,EAAC,GAAE,EAAC,eAAcpB,GAAC,CAAC,GAAEW,MAAG8K,GAAE,WAAS/L,IAAE,EAAE,CAAA,GAAG+L,GAAE,QAAQ,GAAE,EAAC,sBAAqB,KAAE,CAAC,GAAE,MAAM,KAAK,OAAO,KAAK,QAAQ,QAAQ5K,IAAEP,IAAEmL,EAAC,KAAG,KAAK,OAAO,KAAK,QAAQ,QAAQ5K,IAAEP,IAAEmL,EAAC,EAAE,MAAM,CAAAvH,OAAG,KAAK,OAAO,OAAO,MAAMA,EAAC,CAAC;AAAA,MAAC;AAAC,YAAM,KAAK,OAAO,KAAK,QAAQ,QAAQrE,EAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,aAAY,OAAM,MAAG;AAAC,YAAK,EAAC,IAAGG,IAAE,OAAMa,IAAE,OAAMoD,IAAE,YAAWtD,IAAE,SAAQkB,IAAE,SAAQpC,GAAC,IAAE,GAAEI,KAAEqX,mBAAGlX,IAAEiE,EAAC;AAAE,UAAI3D;AAAE,YAAMP,KAAEN,MAAG,QAAO,UAAQ,OAAK,SAAO,OAAO,WAAS;AAAI,UAAG;AAAC,cAAM2B,KAAErB,KAAEoP,OAAGhG;AAAG,QAAA7I,KAAE,MAAM,KAAK,OAAO,KAAK,OAAO,OAAOO,IAAEhB,IAAEH,IAAE,EAAE,CAAA,GAAGiB,MAAG,CAAA,CAAE,GAAE,EAAC,UAASS,GAAC,CAAC,CAAC;AAAA,MAAC,SAAOA,IAAE;AAAC,cAAM,MAAM,KAAK,QAAO,GAAG,KAAK,OAAO,OAAO,MAAM,iDAAiDP,EAAC,SAAS,GAAEO;AAAA,MAAC;AAAC,UAAIQ;AAAE,UAAG;AAAC,QAAAA,KAAE,MAAM,KAAK,OAAO,KAAK,QAAQ,IAAIf,IAAEb,EAAC;AAAA,MAAC,SAAOoB,IAAE;AAAC,cAAM,KAAK,OAAO,OAAO,MAAM,8BAA8BP,EAAC,KAAKb,EAAC,UAAU,GAAEoB;AAAA,MAAC;AAAC,UAAGrB,IAAE;AAAC,cAAMqB,KAAEc,GAAGzC,IAAEoB,IAAEP,EAAC;AAAE,cAAM,OAAO,QAAQ,QAAQc,IAAE,KAAK,OAAO,IAAI;AAAA,MAAC,OAAK;AAAC,cAAMA,KAAEQ,GAAE,QAAQ,QAAOrB,KAAEsB,MAAG8J,IAAEvK,EAAC,EAAE;AAAI,aAAK,OAAO,KAAK,QAAQ,QAAQP,IAAEP,IAAEC,EAAC;AAAA,MAAC;AAAC,YAAM,KAAK,OAAO,KAAK,QAAQ,QAAQV,EAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,WAAU,YAAS;AAAC,YAAM,IAAE,CAAA,GAAGG,KAAE,CAAA;AAAG,WAAK,OAAO,QAAQ,OAAM,EAAG,QAAQ,CAAAa,OAAG;AAAC,YAAIoD,KAAE;AAAGwT,aAAE5W,GAAE,MAAM,MAAIoD,KAAE,OAAI,KAAK,OAAO,KAAK,OAAO,SAAS,IAAIpD,GAAE,KAAK,MAAIoD,KAAE,OAAIA,MAAG,EAAE,KAAKpD,GAAE,KAAK;AAAA,MAAC,CAAC,GAAE,KAAK,OAAO,SAAS,OAAM,EAAG,QAAQ,CAAAA,OAAG;AAAC4W,aAAE5W,GAAE,eAAe,KAAGb,GAAE,KAAKa,GAAE,EAAE;AAAA,MAAC,CAAC,GAAE,MAAM,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,CAAAA,OAAG,KAAK,cAAc,EAAC,OAAMA,GAAC,CAAC,CAAC,GAAE,GAAGb,GAAE,IAAI,CAAAa,OAAG,KAAK,eAAeA,EAAC,CAAC,CAAC,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,0BAAyB,OAAM,MAAG;AAAC,OAAC,KAAK,eAAa,KAAK,kBAAkB,SAAO,IAAE,KAAK,kBAAkB,KAAK,CAAC,IAAE,MAAM,KAAK,eAAe,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,uBAAsB,OAAM,MAAG;AAAC,WAAK,aAAa,MAAM,KAAK,CAAC,GAAE,MAAM,KAAK,qBAAoB;AAAA,IAAE,CAAC,GAAE,EAAE,MAAK,wBAAuB,YAAS;AAAC,UAAG,KAAK,aAAa,UAAQiL,IAAE,QAAO;AAAC,aAAK,OAAO,OAAO,KAAK,2CAA2C;AAAE;AAAA,MAAM;AAAC,WAAI,KAAK,OAAO,OAAO,KAAK,+BAA+B,KAAK,aAAa,MAAM,MAAM,WAAW,GAAE,KAAK,aAAa,MAAM,SAAO,KAAG;AAAC,aAAK,aAAa,QAAMA,IAAE;AAAO,cAAM,IAAE,KAAK,aAAa,MAAM,MAAK;AAAG,YAAG,EAAE,KAAG;AAAC,gBAAM,KAAK,eAAe,CAAC;AAAA,QAAC,SAAO9L,IAAE;AAAC,eAAK,OAAO,OAAO,KAAKA,EAAC;AAAA,QAAC;AAAA,MAAC;AAAC,WAAK,aAAa,QAAM8L,IAAE;AAAA,IAAI,CAAC,GAAE,EAAE,MAAK,kBAAiB,OAAM,MAAG;AAAC,YAAK,EAAC,OAAM9L,IAAE,SAAQa,IAAE,aAAYoD,IAAE,eAActD,IAAE,aAAYkB,GAAC,IAAE,GAAEpC,KAAEoB,GAAE;AAAO,UAAG,CAAC,KAAK,2BAA2B,EAAC,OAAMb,IAAE,eAAcP,GAAC,CAAC,EAAE,SAAOA,IAAC;AAAA,QAAE,KAAI;AAAoB,iBAAO,MAAM,KAAK,wBAAwB,EAAC,OAAMO,IAAE,SAAQa,IAAE,aAAYoD,IAAE,aAAYpC,GAAC,CAAC;AAAA,QAAE,KAAI;AAAmB,iBAAO,MAAM,KAAK,uBAAuB7B,IAAEa,EAAC;AAAA,QAAE,KAAI;AAAmB,iBAAO,MAAM,KAAK,uBAAuBb,IAAEa,EAAC;AAAA,QAAE,KAAI;AAAmB,iBAAO,MAAM,KAAK,uBAAuBb,IAAEa,EAAC;AAAA,QAAE,KAAI;AAAiB,iBAAO,MAAM,KAAK,qBAAqBb,IAAEa,EAAC;AAAA,QAAE,KAAI;AAAmB,iBAAO,MAAM,KAAK,uBAAuBb,IAAEa,EAAC;AAAA,QAAE,KAAI;AAAoB,iBAAO,MAAM,KAAK,iBAAiB,EAAC,OAAMb,IAAE,SAAQa,IAAE,aAAYoD,IAAE,aAAYpC,IAAE,eAAclB,GAAC,CAAC;AAAA,QAAE,KAAI;AAAkB,iBAAO,MAAM,KAAK,sBAAsBX,IAAEa,EAAC;AAAA,QAAE,KAAI;AAAyB,iBAAO,MAAM,KAAK,6BAA6B,EAAC,OAAMb,IAAE,SAAQa,IAAE,aAAYoD,IAAE,aAAYpC,IAAE,eAAclB,GAAC,CAAC;AAAA,QAAE;AAAQ,iBAAO,KAAK,OAAO,OAAO,KAAK,8BAA8BlB,EAAC,EAAE;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,wBAAuB,OAAM,MAAG;AAAC,YAAK,EAAC,OAAMO,IAAE,SAAQa,IAAE,eAAcoD,GAAC,IAAE,GAAEtD,MAAG,MAAM,KAAK,OAAO,KAAK,QAAQ,IAAIX,IAAEa,GAAE,EAAE,GAAG,QAAQ;AAAO,cAAOF,IAAC;AAAA,QAAE,KAAI;AAAoB,iBAAO,KAAK,yBAAyBX,IAAEa,IAAEoD,EAAC;AAAA,QAAE,KAAI;AAAmB,iBAAO,KAAK,wBAAwBjE,IAAEa,EAAC;AAAA,QAAE,KAAI;AAAmB,iBAAO,KAAK,wBAAwBb,IAAEa,EAAC;AAAA,QAAE,KAAI;AAAmB,iBAAO,KAAK,wBAAwBb,IAAEa,EAAC;AAAA,QAAE,KAAI;AAAiB,iBAAO,KAAK,sBAAsBb,IAAEa,EAAC;AAAA,QAAE,KAAI;AAAoB,iBAAO,KAAK,yBAAyBb,IAAEa,EAAC;AAAA,QAAE,KAAI;AAAyB,iBAAO,KAAK,8BAA8Bb,IAAEa,EAAC;AAAA,QAAE;AAAQ,iBAAO,KAAK,OAAO,OAAO,KAAK,+BAA+BF,EAAC,EAAE;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,8BAA6B,OAAG;AAAC,YAAK,EAAC,OAAMX,GAAC,IAAE,GAAE,EAAC,SAAQa,GAAC,IAAEf,KAAE,sBAAqB,4BAA4BE,EAAC,2DAA2D;AAAE,YAAM,IAAI,MAAMa,EAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,8BAA6B,OAAG;AAAC,YAAK,EAAC,OAAMb,IAAE,eAAca,GAAC,IAAE,GAAEoD,KAAE,KAAK,yBAAyB,IAAIjE,EAAC;AAAE,aAAM,CAACiE,MAAGA,GAAE,SAASpD,EAAC,IAAE,QAAG,CAAC,EAAEoD,GAAE,SAAS,wBAAwB,KAAG,KAAK,OAAO,OAAO,cAAc,sBAAsB,IAAE;AAAA,IAAE,CAAC,GAAE,EAAE,MAAK,2BAA0B,OAAM,MAAG;AAAC,YAAK,EAAC,OAAMjE,IAAE,SAAQa,IAAE,aAAYoD,IAAE,aAAYtD,GAAC,IAAE,GAAE,EAAC,QAAOkB,IAAE,IAAGpC,GAAC,IAAEoB;AAAE,UAAG;AAAC,cAAMhB,KAAE,KAAK,OAAO,KAAK,YAAY,SAAS,EAAC,OAAMG,GAAC,CAAC;AAAE,aAAK,OAAO,OAAO,cAAc,kBAAkB,MAAI,MAAI,QAAQ,KAAK,wCAAwC,GAAEH,MAAA,gBAAAA,GAAG,SAAS2O,IAAG,+BAA8B,KAAK,eAAe,EAAE,IAAG3N,GAAE,MAAM,CAAC;AAAE,cAAMP,KAAEuB,GAAE,mBAAiBsJ,KAAEQ,IAAE,kBAAkB,IAAI,GAAG,GAAE5L,KAAE,EAAE,EAAC,IAAGN,IAAE,cAAaO,IAAE,iBAAgBM,GAAC,GAAEuB,EAAC;AAAE,cAAM,KAAK,YAAYpC,IAAEM,EAAC;AAAE,cAAM6B,KAAE,MAAM,KAAK,iBAAiB,EAAC,eAAcqC,IAAE,MAAK4I,GAAE,KAAK,UAAUhM,EAAC,CAAC,GAAE,aAAYF,IAAE,UAASZ,GAAE,SAAS,SAAQ,CAAC;AAAE,QAAAF,MAAA,gBAAAA,GAAG,SAASgV,EAAG,wBAAuB,KAAK,OAAO,OAAO,KAAK,oBAAmB,EAAC,IAAGpV,IAAE,QAAOM,IAAE,eAAc6B,GAAC,CAAC;AAAA,MAAC,SAAO/B,IAAE;AAAC,cAAM,KAAK,UAAU,EAAC,IAAGJ,IAAE,OAAMO,IAAE,OAAMH,IAAE,SAAQ8L,IAAE,kBAAkB,WAAU,CAAC,GAAE,KAAK,OAAO,OAAO,MAAM9L,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,4BAA2B,OAAM,GAAEG,IAAEa,OAAI;AAAC,YAAK,EAAC,IAAGoD,GAAC,IAAEjE;AAAE,UAAGqM,gBAAErM,EAAC,GAAE;AAAC,cAAK,EAAC,QAAOW,GAAC,IAAEX;AAAE,aAAK,OAAO,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,4BAA2B,QAAOW,GAAC,CAAC;AAAE,cAAMkB,KAAE,KAAK,OAAO,SAAS,IAAIoC,EAAC;AAAE,aAAK,OAAO,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,4BAA2B,UAASpC,GAAC,CAAC;AAAE,cAAMpC,KAAEoC,GAAE,SAAS;AAAU,aAAK,OAAO,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,4BAA2B,eAAcpC,GAAC,CAAC;AAAE,cAAMI,KAAEc,GAAE;AAAmB,aAAK,OAAO,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,4BAA2B,eAAcd,GAAC,CAAC;AAAE,cAAMS,KAAE,MAAM,KAAK,OAAO,KAAK,OAAO,kBAAkBb,IAAEI,EAAC;AAAE,aAAK,gBAAgB,IAAIoE,IAAE,EAAC,cAAa3D,IAAE,cAAa,GAAE,YAAW2D,IAAE,WAAUxE,GAAC,CAAC;AAAE,cAAMM,KAAE,MAAM,KAAK,OAAO,KAAK,QAAQ,UAAUO,IAAE,EAAC,eAAcO,GAAC,CAAC;AAAE,aAAK,OAAO,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,4BAA2B,gBAAed,GAAC,CAAC,GAAE,MAAM,KAAK,OAAO,KAAK,QAAQ,SAAS,EAAC,OAAM,EAAC,CAAC;AAAA,MAAC,WAAS8L,eAAE7L,EAAC,GAAE;AAAC,cAAM,KAAK,OAAO,SAAS,OAAOiE,IAAE2H,KAAE,mBAAmB,CAAC;AAAE,cAAMjL,KAAE4L,KAAE,mBAAkBtI,EAAC;AAAE,YAAG,KAAK,OAAO,cAActD,EAAC,MAAI,EAAE,OAAM,IAAI,MAAM,YAAYA,EAAC,6BAA6B;AAAE,aAAK,OAAO,KAAKA,IAAE,EAAC,OAAMX,GAAE,MAAK,CAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,0BAAyB,OAAM,GAAEA,OAAI;AAAC,YAAK,EAAC,IAAGa,IAAE,QAAOoD,GAAC,IAAEjE;AAAE,UAAG;AAAC,aAAK,4BAA4BiE,EAAC;AAAE,cAAK,EAAC,OAAMtD,IAAE,YAAWkB,IAAE,QAAOpC,IAAE,YAAWI,IAAE,mBAAkBS,IAAE,kBAAiBP,IAAE,eAAc6B,GAAC,IAAE5B,GAAE,QAAOoB,KAAE,CAAC,GAAG,KAAK,gBAAgB,OAAM,CAAE,EAAE,KAAK,CAAA8C,OAAGA,GAAE,iBAAe,CAAC;AAAE,YAAG,CAAC9C,GAAE,QAAO,KAAK,OAAO,OAAO,MAAM,uCAAuC,CAAC,EAAE;AAAE,cAAMb,KAAE,KAAK,OAAO,SAAS,IAAIa,GAAE,UAAU,GAAEqK,KAAE/L,IAAE,EAAE,EAAE,EAAE,EAAC,OAAM,GAAE,OAAMiB,IAAE,QAAOlB,IAAE,YAAWI,IAAE,cAAa,MAAG,cAAauB,GAAE,cAAa,oBAAmBb,GAAE,oBAAmB,oBAAmBA,GAAE,oBAAmB,YAAWsB,GAAE,WAAU,MAAK,EAAC,WAAUT,GAAE,WAAU,UAAS,KAAK,OAAO,SAAQ,GAAE,MAAK,EAAC,WAAUS,GAAE,WAAU,UAASA,GAAE,SAAQ,EAAC,GAAEvB,MAAG,EAAC,mBAAkBA,GAAC,CAAC,GAAEP,MAAG,EAAC,kBAAiBA,GAAC,CAAC,GAAE6B,MAAG,EAAC,eAAcA,GAAC,CAAC,GAAE,EAAC,eAAc6K,IAAE,MAAK,CAAC;AAAE,cAAM,KAAK,OAAO,QAAQ,IAAIhB,GAAE,OAAMA,EAAC,GAAE,MAAM,KAAK,UAAUA,GAAE,OAAMA,GAAE,MAAM,GAAE,MAAM,KAAK,OAAO,KAAK,QAAQ,eAAe,EAAC,OAAMrK,GAAE,cAAa,UAASqK,GAAE,KAAK,SAAQ,CAAC,GAAE,KAAK,OAAO,OAAO,KAAK,mBAAkB,EAAC,SAAQA,GAAC,CAAC,GAAE,KAAK,OAAO,KAAKc,KAAE,mBAAkBnL,GAAE,UAAU,GAAE,EAAC,SAAQqK,GAAC,CAAC,GAAE,KAAK,gBAAgB,OAAOrK,GAAE,UAAU,GAAE,KAAK,eAAeA,GAAE,YAAW,KAAE,GAAE,KAAK,yBAAyBqK,EAAC,GAAE,MAAM,KAAK,WAAW,EAAC,IAAGzL,GAAE,IAAG,OAAM,GAAE,QAAO,MAAG,sBAAqB,KAAE,CAAC;AAAA,MAAC,SAAOW,IAAE;AAAC,cAAM,KAAK,UAAU,EAAC,IAAGE,IAAE,OAAM,GAAE,OAAMF,GAAC,CAAC,GAAE,KAAK,OAAO,OAAO,MAAMA,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,2BAA0B,OAAM,GAAEX,OAAI;AAAC,YAAK,EAAC,IAAGa,GAAC,IAAEb;AAAEqM,sBAAErM,EAAC,KAAG,MAAM,KAAK,OAAO,QAAQ,OAAO,GAAE,EAAC,cAAa,KAAE,CAAC,GAAE,KAAK,OAAO,KAAKuM,KAAE,mBAAkB1L,EAAC,GAAE,CAAA,CAAE,KAAGgL,eAAE7L,EAAC,MAAI,MAAM,KAAK,OAAO,QAAQ,OAAO,GAAE4L,KAAE,mBAAmB,CAAC,GAAE,KAAK,OAAO,KAAKW,KAAE,mBAAkB1L,EAAC,GAAE,EAAC,OAAMb,GAAE,MAAK,CAAC;AAAA,IAAE,CAAC,GAAE,EAAE,MAAK,0BAAyB,OAAM,GAAEA,OAAI;AAAC,YAAK,EAAC,QAAOa,IAAE,IAAGoD,GAAC,IAAEjE;AAAE,UAAG;AAAC,cAAMW,KAAE,GAAG,CAAC,mBAAkBkB,KAAE+Q,GAAG,IAAIjS,EAAC;AAAE,YAAGkB,MAAG,KAAK,mBAAmBA,IAAEoC,EAAC,GAAE;AAAC,eAAK,OAAO,OAAO,KAAK,oCAAoCA,EAAC,EAAE,GAAE,KAAK,UAAU,EAAC,IAAGA,IAAE,OAAM,GAAE,OAAM2H,KAAE,wBAAwB,EAAC,CAAC;AAAE;AAAA,QAAM;AAAC,aAAK,cAAc,EAAE,EAAC,OAAM,EAAC,GAAE/K,EAAC,CAAC;AAAE,YAAG;AAAC+R,aAAG,IAAIjS,IAAEsD,EAAC,GAAE,MAAM,KAAK,OAAO,QAAQ,OAAO,GAAE,EAAC,YAAWpD,GAAE,WAAU,CAAC,GAAE,MAAM,KAAK,WAAW,EAAC,IAAGoD,IAAE,OAAM,GAAE,QAAO,MAAG,sBAAqB,KAAE,CAAC;AAAA,QAAC,SAAOxE,IAAE;AAAC,gBAAMmT,GAAG,OAAOjS,EAAC,GAAElB;AAAA,QAAC;AAAC,aAAK,OAAO,OAAO,KAAK,kBAAiB,EAAC,IAAGwE,IAAE,OAAM,GAAE,QAAOpD,GAAC,CAAC;AAAA,MAAC,SAAOF,IAAE;AAAC,cAAM,KAAK,UAAU,EAAC,IAAGsD,IAAE,OAAM,GAAE,OAAMtD,GAAC,CAAC,GAAE,KAAK,OAAO,OAAO,MAAMA,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,sBAAqB,CAAC,GAAEX,OAAIA,GAAE,WAAW,MAAM,GAAE,EAAE,IAAE,EAAE,SAAQ,EAAG,MAAM,GAAE,EAAE,CAAC,GAAE,EAAE,MAAK,2BAA0B,CAAC,GAAEA,OAAI;AAAC,YAAK,EAAC,IAAGa,GAAC,IAAEb,IAAEiE,KAAEsI,KAAE,kBAAiB1L,EAAC;AAAE,UAAG,KAAK,OAAO,cAAcoD,EAAC,MAAI,EAAE,OAAM,IAAI,MAAM,YAAYA,EAAC,wBAAwB;AAAEoI,sBAAErM,EAAC,IAAE,KAAK,OAAO,KAAKuM,KAAE,kBAAiB1L,EAAC,GAAE,EAAE,IAAEgL,eAAE7L,EAAC,KAAG,KAAK,OAAO,KAAKuM,KAAE,kBAAiB1L,EAAC,GAAE,EAAC,OAAMb,GAAE,MAAK,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,0BAAyB,OAAM,GAAEA,OAAI;AAAC,YAAK,EAAC,IAAGa,GAAC,IAAEb;AAAE,UAAG;AAAC,aAAK,cAAc,EAAC,OAAM,EAAC,CAAC,GAAE,MAAM,KAAK,UAAU,GAAEmL,KAAE2B,EAAC,CAAC,GAAE,MAAM,KAAK,WAAW,EAAC,IAAGjM,IAAE,OAAM,GAAE,QAAO,MAAG,sBAAqB,KAAE,CAAC,GAAE,KAAK,OAAO,OAAO,KAAK,kBAAiB,EAAC,IAAGA,IAAE,OAAM,EAAC,CAAC;AAAA,MAAC,SAAOoD,IAAE;AAAC,cAAM,KAAK,UAAU,EAAC,IAAGpD,IAAE,OAAM,GAAE,OAAMoD,GAAC,CAAC,GAAE,KAAK,OAAO,OAAO,MAAMA,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,2BAA0B,CAAC,GAAEjE,OAAI;AAAC,YAAK,EAAC,IAAGa,GAAC,IAAEb,IAAEiE,KAAEsI,KAAE,kBAAiB1L,EAAC;AAAE,UAAG,KAAK,OAAO,cAAcoD,EAAC,MAAI,EAAE,OAAM,IAAI,MAAM,YAAYA,EAAC,wBAAwB;AAAEoI,sBAAErM,EAAC,IAAE,KAAK,OAAO,KAAKuM,KAAE,kBAAiB1L,EAAC,GAAE,CAAA,CAAE,IAAEgL,eAAE7L,EAAC,KAAG,KAAK,OAAO,KAAKuM,KAAE,kBAAiB1L,EAAC,GAAE,EAAC,OAAMb,GAAE,MAAK,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,wBAAuB,OAAM,GAAEA,OAAI;AAAC,YAAK,EAAC,IAAGa,GAAC,IAAEb;AAAE,UAAG;AAAC,aAAK,YAAY,EAAC,OAAM,EAAC,CAAC,GAAE,MAAM,KAAK,WAAW,EAAC,IAAGa,IAAE,OAAM,GAAE,QAAO,MAAG,sBAAqB,KAAE,CAAC,GAAE,KAAK,OAAO,OAAO,KAAK,gBAAe,EAAC,IAAGA,IAAE,OAAM,EAAC,CAAC;AAAA,MAAC,SAAOoD,IAAE;AAAC,cAAM,KAAK,UAAU,EAAC,IAAGpD,IAAE,OAAM,GAAE,OAAMoD,GAAC,CAAC,GAAE,KAAK,OAAO,OAAO,MAAMA,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,yBAAwB,CAAC,GAAEjE,OAAI;AAAC,YAAK,EAAC,IAAGa,GAAC,IAAEb,IAAEiE,KAAEsI,KAAE,gBAAe1L,EAAC;AAAE,iBAAW,MAAI;AAAC,YAAG,KAAK,OAAO,cAAcoD,EAAC,MAAI,EAAE,OAAM,IAAI,MAAM,YAAYA,EAAC,6BAA6B;AAAEoI,wBAAErM,EAAC,IAAE,KAAK,OAAO,KAAKuM,KAAE,gBAAe1L,EAAC,GAAE,CAAA,CAAE,IAAEgL,eAAE7L,EAAC,KAAG,KAAK,OAAO,KAAKuM,KAAE,gBAAe1L,EAAC,GAAE,EAAC,OAAMb,GAAE,MAAK,CAAC;AAAA,MAAC,GAAE,GAAG;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,0BAAyB,OAAM,GAAEA,OAAI;AAAC,YAAK,EAAC,IAAGa,GAAC,IAAEb;AAAE,UAAG;AAAC,aAAK,kBAAkB,EAAC,OAAM,GAAE,QAAOA,GAAE,OAAM,CAAC,GAAE,QAAQ,IAAI,CAAC,IAAI,QAAQ,CAAAiE,OAAG;AAAC,eAAK,OAAO,KAAK,QAAQ,KAAKmL,IAAG,SAAQ,YAAS;AAAC,YAAAnL,GAAE,MAAM,KAAK,cAAc,EAAC,OAAM,GAAE,IAAGpD,GAAC,CAAC,CAAC;AAAA,UAAC,CAAC;AAAA,QAAC,CAAC,GAAE,KAAK,WAAW,EAAC,IAAGA,IAAE,OAAM,GAAE,QAAO,MAAG,sBAAqB,KAAE,CAAC,GAAE,KAAK,mCAAmC,EAAC,OAAM,GAAE,OAAM+K,KAAE,mBAAmB,EAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAA3H,OAAG,KAAK,OAAO,OAAO,MAAMA,EAAC,CAAC;AAAA,MAAC,SAAOA,IAAE;AAAC,aAAK,OAAO,OAAO,MAAMA,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,oBAAmB,OAAM,MAAG;AAAC,UAAIjE,IAAEa,IAAEoD;AAAE,YAAK,EAAC,OAAMtD,IAAE,SAAQkB,IAAE,aAAYpC,IAAE,aAAYI,IAAE,eAAcS,GAAC,IAAE,GAAE,EAAC,IAAGP,IAAE,QAAO6B,GAAC,IAAEC;AAAE,UAAG;AAAC,cAAM,KAAK,eAAe,EAAE,EAAC,OAAMlB,GAAC,GAAEiB,EAAC,CAAC;AAAE,cAAMR,KAAE,KAAK,OAAO,QAAQ,IAAIT,EAAC,GAAEJ,KAAE,MAAM,KAAK,iBAAiB,EAAC,eAAcd,IAAE,MAAKoN,GAAE,KAAK,UAAUQ,qBAAG,qBAAoBzL,IAAE7B,EAAC,CAAC,CAAC,GAAE,aAAYF,IAAE,UAASuB,GAAE,KAAK,UAAS,eAAcd,GAAC,CAAC,GAAEmL,KAAE,EAAC,IAAG1L,IAAE,OAAMY,IAAE,QAAOiB,IAAE,eAAcrB,GAAC;AAAE,cAAM,KAAK,yBAAyBkL,EAAC,GAAEnL,OAAImM,IAAE,cAAYzM,KAAEoB,GAAE,KAAK,SAAS,aAAW,QAAMpB,GAAE,aAAW,KAAK,OAAO,KAAK,yBAAyBa,KAAEO,GAAE,KAAK,SAAS,aAAW,OAAK,SAAOP,GAAE,SAAS,IAAGoD,KAAE,KAAK,OAAO,eAAa,QAAMA,GAAE,sBAAoB,KAAK,mBAAmBwH,EAAC,KAAG,KAAK,uCAAuCA,EAAC,GAAE,KAAK,2BAA0B;AAAA,MAAG,SAAOrK,IAAE;AAAC,cAAM,KAAK,UAAU,EAAC,IAAGrB,IAAE,OAAMY,IAAE,OAAMS,GAAC,CAAC,GAAE,KAAK,OAAO,OAAO,MAAMA,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,4BAA2B,CAAC,GAAEpB,OAAI;AAAC,YAAK,EAAC,IAAGa,GAAC,IAAEb,IAAEiE,KAAEsI,KAAE,mBAAkB1L,EAAC;AAAE,UAAG,KAAK,OAAO,cAAcoD,EAAC,MAAI,EAAE,OAAM,IAAI,MAAM,YAAYA,EAAC,wBAAwB;AAAEoI,sBAAErM,EAAC,IAAE,KAAK,OAAO,KAAKuM,KAAE,mBAAkB1L,EAAC,GAAE,EAAC,QAAOb,GAAE,OAAM,CAAC,IAAE6L,eAAE7L,EAAC,KAAG,KAAK,OAAO,KAAKuM,KAAE,mBAAkB1L,EAAC,GAAE,EAAC,OAAMb,GAAE,MAAK,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,yBAAwB,OAAM,GAAEA,OAAI;AAAC,YAAK,EAAC,IAAGa,IAAE,QAAOoD,GAAC,IAAEjE;AAAE,UAAG;AAAC,cAAMW,KAAE,GAAG,CAAC,kBAAkBsD,GAAE,MAAM,IAAI,IAAGpC,KAAE+Q,GAAG,IAAIjS,EAAC;AAAE,YAAGkB,MAAG,KAAK,mBAAmBA,IAAEhB,EAAC,GAAE;AAAC,eAAK,OAAO,OAAO,KAAK,oCAAoCA,EAAC,EAAE;AAAE;AAAA,QAAM;AAAC,aAAK,YAAY,EAAE,EAAC,OAAM,EAAC,GAAEoD,EAAC,CAAC,GAAE,KAAK,OAAO,OAAO,KAAK,iBAAgB,EAAC,IAAGpD,IAAE,OAAM,GAAE,QAAOoD,GAAC,CAAC,GAAE2O,GAAG,IAAIjS,IAAEE,EAAC;AAAA,MAAC,SAAOF,IAAE;AAAC,cAAM,KAAK,UAAU,EAAC,IAAGE,IAAE,OAAM,GAAE,OAAMF,GAAC,CAAC,GAAE,KAAK,OAAO,OAAO,MAAMA,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,iCAAgC,CAAC,GAAEX,OAAI;AAAC,YAAK,EAAC,IAAGa,GAAC,IAAEb;AAAE,WAAK,OAAO,OAAO,MAAM,EAAC,MAAK,UAAS,QAAO,iCAAgC,OAAM,GAAE,SAAQA,GAAC,CAAC,GAAEqM,gBAAErM,EAAC,IAAE,KAAK,OAAO,KAAKuM,KAAE,mBAAkB1L,EAAC,GAAE,EAAC,QAAOb,GAAE,OAAM,CAAC,IAAE6L,eAAE7L,EAAC,KAAG,KAAK,OAAO,KAAKuM,KAAE,mBAAkB1L,EAAC,GAAE,EAAC,OAAMb,GAAE,MAAK,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,gCAA+B,OAAM,MAAG;AAAC,UAAIA;AAAE,YAAK,EAAC,OAAMa,IAAE,SAAQoD,IAAE,aAAYtD,IAAE,aAAYkB,IAAE,eAAcpC,GAAC,IAAE;AAAE,UAAG;AAAC,cAAK,EAAC,WAAUI,IAAE,aAAYS,IAAE,iBAAgBP,GAAC,IAAEkE,GAAE,QAAOrC,KAAE,MAAM,KAAK,iBAAiB,EAAC,eAAcjB,IAAE,MAAKkM,GAAE,KAAK,UAAU5I,EAAC,CAAC,GAAE,aAAYpC,IAAE,UAAShC,GAAE,UAAS,eAAcJ,GAAC,CAAC,GAAE2B,KAAE,EAAC,WAAUvB,IAAE,cAAagB,IAAE,IAAGoD,GAAE,IAAG,aAAY3D,IAAE,eAAcsB,IAAE,iBAAgB7B,GAAC;AAAE,cAAM,KAAK,eAAekE,GAAE,IAAG,EAAC,SAAQ7C,IAAE,cAAaP,IAAE,eAAcpB,GAAC,CAAC,GAAEA,OAAIgN,IAAE,cAAYzM,KAAEH,GAAE,SAAS,aAAW,QAAMG,GAAE,aAAW,KAAK,OAAO,KAAK,wBAAwBH,GAAE,SAAS,SAAS,SAAS,GAAE,KAAK,OAAO,OAAO,KAAK,wBAAuB,EAAC,OAAMgB,IAAE,QAAOoD,GAAE,QAAO,IAAGA,GAAE,IAAG,eAAcrC,GAAC,CAAC;AAAA,MAAC,SAAO/B,IAAE;AAAC,aAAK,OAAO,OAAO,MAAMA,EAAC;AAAE,cAAMS,KAAE2D,GAAE,OAAO,UAAU,WAAUlE,KAAE,MAAM,KAAK,OAAO,KAAK,OAAO,gBAAe,GAAG6B,KAAE,KAAK,oBAAoBqC,GAAE,OAAO,UAAU,UAASxE,EAAC,GAAE2B,KAAE,EAAC,MAAKmH,MAAG,mBAAkBjI,IAAE,iBAAgBP,GAAC;AAAE,cAAM,KAAK,UAAU,EAAC,IAAGkE,GAAE,IAAG,OAAMpD,IAAE,OAAMhB,IAAE,YAAWuB,IAAE,SAAQuK,IAAE,uBAAuB,YAAW,SAAQ/J,GAAC,CAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,0CAAyC,OAAG;AAAC,WAAK,oBAAoB,MAAM,KAAK,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,wBAAuB,OAAG;AAAC,WAAK,4BAA4B,EAAE,SAAS,IAAG,EAAC,SAAQ,aAAY,MAAK,EAAC,CAAC,GAAE,WAAW,MAAI;AAAC,aAAK,oBAAoB,QAAMkK,IAAE,MAAK,KAAK,2BAA0B;AAAA,MAAE,GAAE0I,IAAAA,cAAG,KAAK,iBAAiB,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,sCAAqC,CAAC,EAAC,OAAM,GAAE,OAAMxU,GAAC,MAAI;AAAC,YAAMa,KAAE,KAAK,OAAO,KAAK,QAAQ;AAAQ,MAAAA,GAAE,SAAO,KAAGA,GAAE,OAAO,CAAAoD,OAAGA,GAAE,UAAQ,KAAGA,GAAE,QAAQ,WAAS,mBAAmB,EAAE,QAAQ,CAAAA,OAAG;AAAC,cAAMtD,KAAEsD,GAAE,QAAQ,IAAGpC,KAAE0K,KAAE,mBAAkB5L,EAAC;AAAE,YAAG,KAAK,OAAO,cAAckB,EAAC,MAAI,EAAE,OAAM,IAAI,MAAM,YAAYA,EAAC,wBAAwB;AAAE,aAAK,OAAO,KAAK0K,KAAE,mBAAkBtI,GAAE,QAAQ,EAAE,GAAE,EAAC,OAAMjE,GAAC,CAAC;AAAA,MAAC,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,8BAA6B,MAAI;AAAC,UAAG,KAAK,oBAAoB,UAAQ8L,IAAE,QAAO;AAAC,aAAK,OAAO,OAAO,KAAK,0CAA0C;AAAE;AAAA,MAAM;AAAC,YAAM,IAAE,KAAK,oBAAoB,MAAM,CAAC;AAAE,UAAG,CAAC,GAAE;AAAC,aAAK,OAAO,OAAO,KAAK,iCAAiC;AAAE;AAAA,MAAM;AAAC,UAAG;AAAC,aAAK,oBAAoB,QAAMA,IAAE,QAAO,KAAK,mBAAmB,CAAC;AAAA,MAAC,SAAO9L,IAAE;AAAC,aAAK,OAAO,OAAO,MAAMA,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,sBAAqB,OAAG;AAAC,WAAK,OAAO,OAAO,KAAK,mBAAkB,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,oBAAmB,OAAG;AAAC,UAAG,EAAE,WAAS,KAAK,yBAAyB,IAAI,EAAE,OAAM,EAAE,OAAO,GAAE,EAAE,OAAO;AAAO,YAAMA,KAAE,KAAK,OAAO,SAAS,SAAS,KAAK,CAAAa,OAAGA,GAAE,iBAAe,EAAE,KAAK;AAAE,MAAAb,MAAG,KAAK,wBAAwB,EAAC,OAAM,EAAE,OAAM,SAAQqN,qBAAG,qBAAoB3N,IAAE,EAAE,CAAA,GAAGM,EAAC,GAAE,EAAC,oBAAmBA,GAAE,oBAAmB,oBAAmBA,GAAE,oBAAmB,QAAOA,GAAE,QAAO,UAASA,GAAE,UAAS,mBAAkBA,GAAE,mBAAkB,kBAAiBA,GAAE,iBAAgB,CAAC,GAAEA,GAAE,EAAE,EAAC,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,kBAAiB,OAAM,MAAG;AAAC,UAAG,CAAC0M,GAAE,CAAC,GAAE;AAAC,cAAK,EAAC,SAAQ7M,GAAC,IAAEC,KAAE,sBAAqB,qBAAqB,KAAK,UAAU,CAAC,CAAC,EAAE;AAAE,cAAM,IAAI,MAAMD,EAAC;AAAA,MAAC;AAAC,YAAK,EAAC,cAAaG,IAAE,oBAAmBa,IAAE,oBAAmBoD,IAAE,mBAAkBtD,IAAE,kBAAiBkB,IAAE,QAAOpC,GAAC,IAAE;AAAE,UAAGyQ,KAAElQ,EAAC,KAAG,MAAM,KAAK,oBAAoBA,EAAC,GAAE,CAACgD,GAAGvD,EAAI,GAAE;AAAC,cAAK,EAAC,SAAQI,GAAC,IAAEC,KAAE,sBAAqB,qBAAqBL,EAAC,EAAE;AAAE,cAAM,IAAI,MAAMI,EAAC;AAAA,MAAC;AAAC,UAAG,CAACqQ,KAAErP,EAAC,KAAGqE,KAAGrE,EAAC,MAAI,GAAE;AAAC,cAAMhB,KAAE;AAAyF,SAAC,SAAQ,SAAQ,QAAQ,EAAE,SAAS,KAAK,OAAO,OAAO,KAAK,IAAE,QAAQ,KAAKA,EAAC,IAAE,KAAK,OAAO,OAAO,KAAKA,EAAC,GAAE,KAAK,mBAAmBgB,IAAE,oBAAoB;AAAA,MAAC;AAAC,UAAG,CAACqP,KAAEjM,EAAC,KAAGiB,KAAGjB,EAAC,MAAI,KAAG,KAAK,mBAAmBA,IAAE,oBAAoB,GAAEiM,KAAEvP,EAAC,KAAG,KAAK,qBAAqBA,IAAE,mBAAmB,GAAE,CAACuP,KAAErO,EAAC,GAAE;AAAC,aAAK,qBAAqBA,IAAE,kBAAkB;AAAE,cAAMhC,KAAE,OAAO,KAAKgB,MAAG,EAAE,EAAE,OAAO,OAAO,KAAKoD,MAAG,CAAA,CAAE,CAAC;AAAE,YAAG,CAAC,OAAO,KAAKpC,EAAC,EAAE,MAAM,CAAAvB,OAAGT,GAAE,SAASS,EAAC,CAAC,EAAE,OAAM,IAAI,MAAM,iFAAiF,KAAK,UAAUuB,EAAC,CAAC,mCAAmC,KAAK,UAAUhC,EAAC,CAAC,EAAE;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,sBAAqB,CAAC,GAAEG,OAAI;AAAC,YAAMa,KAAEoF,GAAG,GAAE,aAAYjG,EAAC;AAAE,UAAGa,GAAE,OAAM,IAAI,MAAMA,GAAE,OAAO;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,kBAAiB,OAAM,MAAG;AAAC,UAAG,CAAC6L,GAAE,CAAC,EAAE,OAAM,IAAI,MAAM5M,KAAE,sBAAqB,qBAAqB,CAAC,EAAE,EAAE,OAAO;AAAE,YAAK,EAAC,IAAGE,IAAE,YAAWa,IAAE,eAAcoD,IAAE,mBAAkBtD,IAAE,kBAAiBkB,GAAC,IAAE;AAAE,WAAK,qBAAqB7B,EAAC,GAAE,MAAM,KAAK,kBAAkBA,EAAC;AAAE,YAAMP,KAAE,KAAK,OAAO,SAAS,IAAIO,EAAC,GAAEH,KAAEqG,KAAGrF,IAAE,WAAW;AAAE,UAAGhB,GAAE,OAAM,IAAI,MAAMA,GAAE,OAAO;AAAE,YAAMS,KAAEuJ,KAAGpK,GAAE,oBAAmBoB,IAAE,WAAW;AAAE,UAAGP,GAAE,OAAM,IAAI,MAAMA,GAAE,OAAO;AAAE,UAAG,CAACsC,KAAEqB,IAAE,IAAE,GAAE;AAAC,cAAK,EAAC,SAAQlE,GAAC,IAAED,KAAE,sBAAqB,4BAA4BmE,EAAC,EAAE;AAAE,cAAM,IAAI,MAAMlE,EAAC;AAAA,MAAC;AAAC,UAAGmQ,KAAEvP,EAAC,KAAG,KAAK,qBAAqBA,IAAE,mBAAmB,GAAE,CAACuP,KAAErO,EAAC,GAAE;AAAC,aAAK,qBAAqBA,IAAE,kBAAkB;AAAE,cAAM9B,KAAE,IAAI,IAAI,OAAO,KAAKc,EAAC,CAAC;AAAE,YAAG,CAAC,OAAO,KAAKgB,EAAC,EAAE,MAAM,CAAAD,OAAG7B,GAAE,IAAI6B,EAAC,CAAC,EAAE,OAAM,IAAI,MAAM,wEAAwE,KAAK,UAAUC,EAAC,CAAC,0BAA0B,MAAM,KAAK9B,EAAC,EAAE,KAAK,IAAI,CAAC,EAAE;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,iBAAgB,OAAM,MAAG;AAAC,UAAG,CAAC2M,GAAE,CAAC,GAAE;AAAC,cAAK,EAAC,SAAQzI,GAAC,IAAEnE,KAAE,sBAAqB,oBAAoB,CAAC,EAAE;AAAE,cAAM,IAAI,MAAMmE,EAAC;AAAA,MAAC;AAAC,YAAK,EAAC,IAAGjE,IAAE,QAAOa,GAAC,IAAE;AAAE,UAAG,KAAK,qBAAqBb,EAAC,GAAE,MAAM,KAAK,kBAAkBA,EAAC,GAAE,CAAC6H,GAAGhH,EAAC,GAAE;AAAC,cAAK,EAAC,SAAQoD,GAAC,IAAEnE,KAAE,sBAAqB,oBAAoB,KAAK,UAAUe,EAAC,CAAC,EAAE;AAAE,cAAM,IAAI,MAAMoD,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,+BAA8B,OAAG;AAAC,UAAG,CAACyI,GAAE,CAAC,GAAE;AAAC,cAAK,EAAC,SAAQ7M,GAAC,IAAEC,KAAE,sBAAqB,oCAAoC,CAAC,EAAE;AAAE,cAAM,IAAI,MAAMD,EAAC;AAAA,MAAC;AAAC,YAAK,EAAC,OAAMG,IAAE,YAAWa,IAAE,YAAWoD,IAAE,QAAOtD,GAAC,IAAE;AAAE,UAAG,CAACsS,KAAGjT,EAAC,GAAE;AAAC,cAAK,EAAC,SAAQH,GAAC,IAAEC,KAAE,sBAAqB,4DAA4D;AAAE,cAAM,IAAI,MAAMD,EAAC;AAAA,MAAC;AAAC,YAAMgC,KAAEkE,GAAGlF,IAAE,0BAA0B;AAAE,UAAGgB,GAAE,OAAM,IAAI,MAAMA,GAAE,OAAO;AAAE,YAAMpC,KAAEyG,KAAGjC,IAAE,0BAA0B;AAAE,UAAGxE,GAAE,OAAM,IAAI,MAAMA,GAAE,OAAO;AAAE,UAAGgY,KAAE9W,EAAC,GAAE;AAAC,cAAK,EAAC,SAAQd,GAAC,IAAEC,KAAE,WAAU,0BAA0B;AAAE,cAAM,IAAI,MAAMD,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,iBAAgB,OAAM,MAAG;AAAC,UAAG,CAAC6M,GAAE,CAAC,GAAE;AAAC,cAAK,EAAC,SAAQjN,GAAC,IAAEK,KAAE,sBAAqB,oBAAoB,CAAC,EAAE;AAAE,cAAM,IAAI,MAAML,EAAC;AAAA,MAAC;AAAC,YAAK,EAAC,OAAMO,IAAE,YAAWa,GAAC,IAAE;AAAE,WAAK,qBAAqBb,EAAC,GAAE,MAAM,KAAK,oBAAoBA,EAAC;AAAE,YAAMiE,KAAE,KAAK,OAAO,QAAQ,IAAIjE,EAAC,GAAEW,KAAEuF,KAAGrF,IAAE,UAAU;AAAE,UAAGF,GAAE,OAAM,IAAI,MAAMA,GAAE,OAAO;AAAE,YAAMkB,KAAEgI,KAAG5F,GAAE,oBAAmBpD,IAAE,UAAU;AAAE,UAAGgB,GAAE,OAAM,IAAI,MAAMA,GAAE,OAAO;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,iBAAgB,OAAM,MAAG;AAAC,UAAG,CAAC6K,GAAE,CAAC,GAAE;AAAC,cAAK,EAAC,SAAQ7L,GAAC,IAAEf,KAAE,sBAAqB,oBAAoB,CAAC,EAAE;AAAE,cAAM,IAAI,MAAMe,EAAC;AAAA,MAAC;AAAC,YAAK,EAAC,OAAMb,GAAC,IAAE;AAAE,WAAK,qBAAqBA,EAAC,GAAE,MAAM,KAAK,oBAAoBA,EAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,kBAAiB,OAAM,MAAG;AAAC,UAAG,CAAC0M,GAAE,CAAC,GAAE;AAAC,cAAK,EAAC,SAAQjN,GAAC,IAAEK,KAAE,sBAAqB,qBAAqB,CAAC,EAAE;AAAE,cAAM,IAAI,MAAML,EAAC;AAAA,MAAC;AAAC,YAAK,EAAC,OAAMO,IAAE,SAAQa,IAAE,SAAQoD,IAAE,QAAOtD,GAAC,IAAE;AAAE,WAAK,qBAAqBX,EAAC,GAAE,MAAM,KAAK,oBAAoBA,EAAC;AAAE,YAAK,EAAC,YAAW6B,GAAC,IAAE,KAAK,OAAO,QAAQ,IAAI7B,EAAC;AAAE,UAAG,CAACgH,GAAGnF,IAAEoC,EAAC,GAAE;AAAC,cAAK,EAAC,SAAQxE,GAAC,IAAEK,KAAE,sBAAqB,sBAAsBmE,EAAC,EAAE;AAAE,cAAM,IAAI,MAAMxE,EAAC;AAAA,MAAC;AAAC,UAAG,CAACuS,GAAGnR,EAAC,GAAE;AAAC,cAAK,EAAC,SAAQpB,GAAC,IAAEK,KAAE,sBAAqB,aAAa,KAAK,UAAUe,EAAC,CAAC,EAAE;AAAE,cAAM,IAAI,MAAMpB,EAAC;AAAA,MAAC;AAAC,UAAG,CAACmY,GAAG/V,IAAEoC,IAAEpD,GAAE,MAAM,GAAE;AAAC,cAAK,EAAC,SAAQpB,GAAC,IAAEK,KAAE,sBAAqB,qBAAqBe,GAAE,MAAM,EAAE;AAAE,cAAM,IAAI,MAAMpB,EAAC;AAAA,MAAC;AAAC,UAAGkB,MAAG,CAACmI,GAAGnI,IAAEmC,IAAE,GAAE;AAAC,cAAK,EAAC,SAAQrD,GAAC,IAAEK,KAAE,sBAAqB,qBAAqBa,EAAC,kDAAkDmC,KAAG,GAAG,QAAQA,KAAG,GAAG,EAAE;AAAE,cAAM,IAAI,MAAMrD,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,kBAAiB,OAAM,MAAG;AAAC,UAAIO;AAAE,UAAG,CAAC0M,GAAE,CAAC,GAAE;AAAC,cAAK,EAAC,SAAQ/L,GAAC,IAAEb,KAAE,sBAAqB,qBAAqB,CAAC,EAAE;AAAE,cAAM,IAAI,MAAMa,EAAC;AAAA,MAAC;AAAC,YAAK,EAAC,OAAME,IAAE,UAASoD,GAAC,IAAE;AAAE,UAAG;AAAC,cAAM,KAAK,oBAAoBpD,EAAC;AAAA,MAAC,SAAOF,IAAE;AAAC,eAAMX,KAAE,uBAAG,aAAW,QAAMA,GAAE,MAAI,KAAK,qBAAqB,CAAC,GAAEW;AAAA,MAAC;AAAC,UAAG,CAAC4X,GAAGtU,EAAC,GAAE;AAAC,cAAK,EAAC,SAAQtD,GAAC,IAAEb,KAAE,sBAAqB,uBAAuB,KAAK,UAAUmE,EAAC,CAAC,EAAE;AAAE,cAAM,IAAI,MAAMtD,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,eAAc,OAAM,MAAG;AAAC,UAAG,CAAC+L,GAAE,CAAC,GAAE;AAAC,cAAK,EAAC,SAAQ7L,GAAC,IAAEf,KAAE,sBAAqB,kBAAkB,CAAC,EAAE;AAAE,cAAM,IAAI,MAAMe,EAAC;AAAA,MAAC;AAAC,YAAK,EAAC,OAAMb,GAAC,IAAE;AAAE,YAAM,KAAK,6BAA6BA,EAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,eAAc,OAAM,MAAG;AAAC,UAAG,CAAC0M,GAAE,CAAC,GAAE;AAAC,cAAK,EAAC,SAAQ7K,GAAC,IAAE/B,KAAE,sBAAqB,kBAAkB,CAAC,EAAE;AAAE,cAAM,IAAI,MAAM+B,EAAC;AAAA,MAAC;AAAC,YAAK,EAAC,OAAM7B,IAAE,OAAMa,IAAE,SAAQoD,GAAC,IAAE;AAAE,YAAM,KAAK,oBAAoBjE,EAAC;AAAE,YAAK,EAAC,YAAWW,GAAC,IAAE,KAAK,OAAO,QAAQ,IAAIX,EAAC;AAAE,UAAG,CAACgH,GAAGrG,IAAEsD,EAAC,GAAE;AAAC,cAAK,EAAC,SAAQpC,GAAC,IAAE/B,KAAE,sBAAqB,mBAAmBmE,EAAC,EAAE;AAAE,cAAM,IAAI,MAAMpC,EAAC;AAAA,MAAC;AAAC,UAAG,CAACyW,GAAGzX,EAAC,GAAE;AAAC,cAAK,EAAC,SAAQgB,GAAC,IAAE/B,KAAE,sBAAqB,iBAAiB,KAAK,UAAUe,EAAC,CAAC,EAAE;AAAE,cAAM,IAAI,MAAMgB,EAAC;AAAA,MAAC;AAAC,UAAG,CAAC6W,GAAG/X,IAAEsD,IAAEpD,GAAE,IAAI,GAAE;AAAC,cAAK,EAAC,SAAQgB,GAAC,IAAE/B,KAAE,sBAAqB,iBAAiB,KAAK,UAAUe,EAAC,CAAC,EAAE;AAAE,cAAM,IAAI,MAAMgB,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,qBAAoB,OAAM,MAAG;AAAC,UAAG,CAAC6K,GAAE,CAAC,GAAE;AAAC,cAAK,EAAC,SAAQ7L,GAAC,IAAEf,KAAE,sBAAqB,wBAAwB,CAAC,EAAE;AAAE,cAAM,IAAI,MAAMe,EAAC;AAAA,MAAC;AAAC,YAAK,EAAC,OAAMb,GAAC,IAAE;AAAE,YAAM,KAAK,6BAA6BA,EAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,uBAAsB,OAAG;AAAC,YAAK,EAAC,QAAOA,IAAE,KAAIa,IAAE,QAAOoD,IAAE,OAAMtD,GAAC,IAAE;AAAE,UAAG,CAAC,MAAM,QAAQX,EAAC,KAAGA,GAAE,WAAS,EAAE,OAAM,IAAI,MAAM,kDAAkD;AAAE,UAAG,CAAC4C,KAAE/B,IAAE,KAAE,EAAE,OAAM,IAAI,MAAM,2BAA2B;AAAE,UAAG,CAAC+B,KAAEqB,IAAE,KAAE,EAAE,OAAM,IAAI,MAAM,8BAA8B;AAAE,UAAG,CAACrB,KAAEjC,IAAE,KAAE,EAAE,OAAM,IAAI,MAAM,6BAA6B;AAAE,UAAG,CAAC,GAAG,IAAI,IAAIX,GAAE,IAAI,CAAAP,OAAGwV,KAAGxV,EAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAO,EAAE,OAAM,IAAI,MAAM,mFAAmF;AAAE,YAAK,EAAC,WAAUoC,GAAC,IAAEoT,KAAGjV,GAAE,CAAC,CAAC;AAAE,UAAG6B,OAAI,SAAS,OAAM,IAAI,MAAM,6GAA6G;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,oBAAmB,OAAM,MAAG;AAAC,YAAK,EAAC,eAAc7B,IAAE,MAAKa,IAAE,aAAYoD,IAAE,UAAStD,IAAE,eAAckB,GAAC,IAAE,GAAEpC,KAAE,EAAC,UAAS,EAAC,WAAUkB,GAAE,aAAWmO,MAAG,YAAW,WAAU,QAAOnO,GAAE,OAAK,GAAE,EAAC;AAAE,UAAG;AAAC,YAAGkB,OAAI4K,IAAE,WAAU;AAAC,gBAAMnM,KAAE,KAAK,oBAAoBK,IAAEkB,EAAC;AAAE,iBAAOpC,GAAE,SAAS,aAAWa,MAAG,IAAI,IAAIA,EAAC,EAAE,WAAS,IAAI,IAAIK,GAAE,GAAG,EAAE,SAAO,UAAQ,WAAUlB;AAAA,QAAC;AAAC,cAAMI,KAAE,MAAM,KAAK,OAAO,KAAK,OAAO,QAAQ,EAAC,eAAcG,IAAE,MAAKa,IAAE,aAAYoD,IAAE,WAAUtD,GAAE,UAAS,CAAC;AAAE,QAAAd,OAAIJ,GAAE,SAAS,SAAOI,GAAE,QAAOJ,GAAE,SAAS,SAAOI,GAAE,QAAOJ,GAAE,SAAS,aAAWI,GAAE,WAAS,IAAI,IAAIc,GAAE,GAAG,EAAE,SAAO,UAAQ;AAAA,MAAU,SAAOd,IAAE;AAAC,aAAK,OAAO,OAAO,KAAKA,EAAC;AAAA,MAAC;AAAC,aAAO,KAAK,OAAO,OAAO,MAAM,mBAAmB,KAAK,UAAUJ,EAAC,CAAC,EAAE,GAAEA;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,wBAAuB,CAAC,GAAEO,OAAI;AAAC,aAAO,OAAO,CAAC,EAAE,QAAQ,CAACa,IAAEoD,OAAI;AAAC,YAAGpD,MAAG,MAAK;AAAC,gBAAK,EAAC,SAAQF,GAAC,IAAEb,KAAE,sBAAqB,GAAGE,EAAC,2DAA2Da,EAAC,YAAY,OAAO,KAAK,CAAC,EAAEoD,EAAC,CAAC,EAAE;AAAE,gBAAM,IAAI,MAAMtD,EAAC;AAAA,QAAC;AAAA,MAAC,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,yBAAwB,OAAG;AAAC,YAAMX,KAAE,KAAK,OAAO,KAAK,SAAS,IAAI,CAAC;AAAE,aAAO,OAAOA,MAAG,WAASA,KAAE;AAAA,IAAM,CAAC,GAAE,EAAE,MAAK,wBAAuB,CAAC,GAAEA,OAAI;AAAC,UAAG,KAAK,mBAAmB,IAAI,GAAEA,EAAC,GAAE,KAAK,mBAAmB,QAAM,KAAK,sBAAqB;AAAC,YAAIa,KAAE;AAAE,cAAMoD,KAAE,KAAK,uBAAqB;AAAE,mBAAUtD,MAAK,KAAK,mBAAmB,KAAI,GAAG;AAAC,cAAGE,QAAKoD,GAAE;AAAM,eAAK,mBAAmB,OAAOtD,EAAC;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,wBAAuB,OAAG;AAAC,YAAMX,KAAE,KAAK,mBAAmB,IAAI,CAAC;AAAE,UAAGA,IAAE;AAAC,cAAK,EAAC,SAAQa,GAAC,IAAEf,KAAE,sBAAqB,iCAAiCE,EAAC,KAAK,CAAC,EAAE;AAAE,cAAM,IAAI,MAAMa,EAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,qBAAoB,CAAC,GAAEb,OAAI;AAAC,UAAIa,IAAEoD,IAAEtD,IAAEkB,IAAEpC,IAAEI,IAAES,IAAEP,IAAE6B;AAAE,aAAM,CAAC,KAAG5B,OAAIyM,IAAE,YAAU,UAAKxI,MAAGpD,KAAE,KAAK,OAAO,aAAW,OAAK,SAAOA,GAAE,aAAW,OAAK,SAAOoD,GAAE,cAAY,UAAMpC,MAAGlB,KAAE,KAAK,OAAO,aAAW,OAAK,SAAOA,GAAE,aAAW,OAAK,SAAOkB,GAAE,eAAa,YAAUhC,MAAGJ,KAAE,KAAK,OAAO,aAAW,OAAK,SAAOA,GAAE,aAAW,OAAK,SAAOI,GAAE,eAAa,QAAMS,KAAE,uBAAG,aAAW,OAAK,SAAOA,GAAE,eAAa,YAAUP,KAAE,uBAAG,aAAW,OAAK,SAAOA,GAAE,eAAa,QAAM6B,KAAE,uBAAG,aAAW,OAAK,SAAOA,GAAE,cAAY,QAAI,KAAK,OAAO,KAAK,sBAAsB,SAAS,EAAE,SAAS,SAAS,KAAG,QAAO,UAAQ,OAAK,SAAO,OAAO,WAAS;AAAA,IAAG,CAAC,GAAE,EAAE,MAAK,uBAAsB,CAAC,GAAE5B,OAAI;AAAC,UAAIa;AAAE,aAAO,KAAK,kBAAkB,GAAEb,EAAC,KAAGa,KAAE,uBAAG,aAAW,OAAK,SAAOA,GAAE,YAAU;AAAA,IAAM,CAAC,GAAE,EAAE,MAAK,yBAAwB,CAAC,EAAC,KAAI,EAAC,MAAI;AAAC,UAAG,CAAC,KAAG,CAAC,EAAE,SAAS,OAAO,KAAG,CAAC,EAAE,SAAS,OAAO,EAAE;AAAO,YAAMb,KAAEyR,KAAG,GAAE,OAAO,KAAG,IAAG5Q,KAAE,mBAAmB4Q,KAAG,GAAE,OAAO,KAAG,EAAE,GAAExN,KAAE,KAAK,OAAO,QAAQ,KAAK,SAASjE,EAAC;AAAE,MAAAiE,MAAG,KAAK,OAAO,QAAQ,OAAOjE,IAAE,EAAC,eAAcyM,IAAE,UAAS,CAAC,GAAE,KAAK,OAAO,KAAK,iBAAiB,EAAC,OAAMzM,IAAE,SAAQa,IAAE,eAAcoD,GAAC,CAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,6BAA4B,YAAS;AAAC,UAAI;AAAE,UAAGxC,KAAE,KAAIkX,KAAE,MAAK,IAAE,KAAK,OAAO,SAAS,aAAW,QAAM,EAAE,UAAS;AAAC,cAAM3Y,KAAE,UAAQ,OAAK,SAAO,OAAO;AAAQ,YAAG,OAAOA,KAAE,KAAI;AAAC,UAAAA,GAAE,iBAAiB,OAAM,KAAK,uBAAsB,KAAK,OAAO,IAAI;AAAE,gBAAMa,KAAE,MAAMb,GAAE;AAAgB,UAAAa,MAAG,WAAW,MAAI;AAAC,iBAAK,sBAAsB,EAAC,KAAIA,GAAC,CAAC;AAAA,UAAC,GAAE,EAAE;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,gBAAe,CAAC,GAAEb,OAAI;AAAC,UAAG,CAACA,MAAG,MAAI,oBAAoB,QAAM;AAAG,YAAK,EAAC,SAAQa,GAAC,IAAEb;AAAE,aAAO,OAAO,KAAK0J,IAAE,EAAE,SAAS7I,GAAE,MAAM;AAAA,IAAC,CAAC,GAAE,EAAE,MAAK,gBAAe,CAAC,GAAEb,IAAEa,OAAI;AAAC,UAAIoD,IAAEtD;AAAE,UAAG;AAAC,cAAMkB,KAAE7B,GAAE,QAAQ,QAAOP,KAAE,KAAK,0BAA0BoC,IAAEhB,EAAC;AAAE,eAAOnB,IAAE,EAAE,EAAC,eAAc,GAAE,YAAW,CAACmC,EAAC,GAAE,SAAQ7B,GAAE,QAAO,GAAE,KAAK,oBAAoBA,GAAE,QAAQ,MAAM,KAAG,EAAC,mBAAkB,EAAEW,MAAGsD,KAAEjE,GAAE,QAAQ,WAAS,OAAK,SAAOiE,GAAE,CAAC,MAAI,OAAK,SAAOtD,GAAE,EAAE,EAAC,CAAC,GAAE,EAAC,UAASlB,GAAC,CAAC;AAAA,MAAC,SAAOoC,IAAE;AAAC,aAAK,OAAO,OAAO,KAAK,4BAA2BA,EAAC;AAAA,MAAC;AAAC,aAAM;IAAE,CAAC,GAAE,EAAE,MAAK,uBAAsB,OAAG;AAAC,UAAI7B;AAAE,UAAG,CAAC,EAAE,QAAM;AAAG,UAAG;AAAC,cAAMa,MAAE,uBAAG,WAAQb,KAAE,uBAAI,OAAK,OAAK,SAAOA,GAAE;AAAM,YAAG,CAACa,GAAE,WAAW,IAAI,EAAE,QAAM;AAAG,cAAMoD,KAAEpD,GAAE,MAAM,CAAC;AAAE,eAAM,iBAAiB,KAAKoD,EAAC,IAAEA,GAAE,SAAO,MAAI,IAAE;AAAA,MAAE,QAAM;AAAA,MAAC;AAAC,aAAM;AAAA,IAAE,CAAC,GAAE,EAAE,MAAK,6BAA4B,CAAC,GAAEjE,OAAI;AAAC,UAAG;AAAC,cAAMa,KAAE6I,KAAG,CAAC;AAAE,YAAG,OAAO1J,MAAG,SAAS,QAAM,CAACA,EAAC;AAAE,cAAMiE,KAAEjE,GAAEa,GAAE,GAAG;AAAE,YAAGiY,KAAG7U,EAAC,EAAE,QAAO,MAAI,+BAA6BA,GAAE,IAAI,CAAAtD,OAAG2V,GAAG3V,EAAC,CAAC,IAAEsD;AAAE,YAAG,OAAOA,MAAG,SAAS,QAAM,CAACA,EAAC;AAAA,MAAC,SAAOpD,IAAE;AAAC,aAAK,OAAO,OAAO,KAAK,0CAAyCA,EAAC;AAAA,MAAC;AAAC,aAAM,CAAA;AAAA,IAAE,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,8BAA6B;AAAC,QAAG;AAAC,YAAM,IAAE,KAAK,OAAO,QAAQ,MAAK,IAAE,KAAK,OAAO,KAAK,QAAQ,SAAS,cAAc,CAAC;AAAE,iBAAS,CAACb,IAAEa,EAAC,KAAI,OAAO,QAAQ,CAAC,EAAE,YAAUoD,MAAKpD,GAAE,KAAG;AAAC,cAAM,KAAK,uBAAuB,EAAC,OAAMb,IAAE,SAAQiE,IAAE,aAAY,KAAK,IAAG,EAAE,CAAC;AAAA,MAAC,QAAM;AAAC,aAAK,OAAO,OAAO,KAAK,qDAAqDjE,EAAC,cAAciE,EAAC,EAAE;AAAA,MAAC;AAAA,IAAC,SAAO,GAAE;AAAC,WAAK,OAAO,OAAO,KAAK,sCAAqC,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,gBAAe;AAAC,QAAG,CAAC,KAAK,aAAY;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAEnE,KAAE,mBAAkB,KAAK,IAAI;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,MAAM,4BAA2B;AAAC,UAAM,KAAK,OAAO,KAAK,QAAQ,0BAAyB;AAAA,EAAE;AAAA,EAAC,wBAAuB;AAAC,SAAK,OAAO,KAAK,QAAQ,GAAGsP,IAAG,SAAQ,OAAG;AAAC,WAAK,uBAAuB,CAAC;AAAA,IAAC,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,eAAe,GAAE;AAAC,UAAK,EAAC,OAAM,GAAE,SAAQpP,IAAE,aAAYa,IAAE,eAAcoD,GAAC,IAAE,GAAE,EAAC,WAAUtD,GAAC,IAAE,KAAK,OAAO,KAAK,SAAS,KAAK,SAASuU,IAAE,IAAE,KAAK,OAAO,KAAK,SAAS,IAAIA,IAAE,IAAE,EAAsB,WAAU,OAAM;AAAE,QAAG;AAAC,YAAMrT,KAAE,MAAM,KAAK,OAAO,KAAK,OAAO,OAAO,GAAE7B,IAAE,EAAC,mBAAkBW,IAAE,UAASsD,OAAIwI,IAAE,YAAU0C,OAAGhG,KAAE,CAAC;AAAE2N,uBAAGjV,EAAC,KAAG,KAAK,OAAO,KAAK,QAAQ,IAAI,GAAEA,EAAC,GAAE,MAAM,KAAK,oBAAoB,EAAC,OAAM,GAAE,SAAQA,IAAE,aAAYhB,IAAE,eAAcoD,IAAE,aAAY4I,GAAE7M,EAAC,EAAC,CAAC,KAAG6W,kBAAGhV,EAAC,KAAG,MAAM,KAAK,OAAO,KAAK,QAAQ,QAAQA,EAAC,GAAE,MAAM,KAAK,qBAAqB,EAAC,OAAM,GAAE,SAAQA,IAAE,eAAcoC,GAAC,CAAC,GAAE,KAAK,OAAO,KAAK,QAAQ,OAAO,GAAEpC,GAAE,EAAE,KAAG,MAAM,KAAK,2BAA2B,EAAC,OAAM,GAAE,SAAQA,IAAE,eAAcoC,GAAC,CAAC,GAAE,MAAM,KAAK,OAAO,KAAK,QAAQ,SAAS,IAAI,GAAEjE,EAAC;AAAA,IAAC,SAAO6B,IAAE;AAAC,WAAK,OAAO,OAAO,MAAMA,EAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,wBAAuB;AAAC,SAAK,OAAO,KAAK,QAAQ,GAAGuB,IAAG,SAAQ,OAAM,MAAG;AAAC,YAAK,EAAC,OAAM,GAAE,IAAGpD,GAAC,IAAEgP,KAAG,EAAE,MAAM;AAAE,UAAGhP,MAAG,KAAK,OAAO,eAAe,KAAK,SAASA,EAAC,EAAE,QAAO,MAAM,KAAK,4BAA4BA,IAAEF,KAAE,SAAS,GAAE,IAAE;AAAE,UAAGE,MAAG,KAAK,OAAO,KAAK,SAAS,KAAK,SAASA,EAAC,EAAE,QAAO,MAAM,KAAK,yBAAyBA,IAAEF,KAAE,SAAS,GAAE,IAAE;AAAE,UAAE,KAAK,OAAO,QAAQ,KAAK,SAAS,CAAC,MAAI,MAAM,KAAK,cAAc,EAAC,OAAM,GAAE,mBAAkB,KAAE,CAAC,GAAE,KAAK,OAAO,OAAO,KAAK,kBAAiB,EAAC,OAAM,EAAC,CAAC,KAAGE,OAAI,MAAM,KAAK,eAAeA,IAAE,IAAE,GAAE,KAAK,OAAO,OAAO,KAAK,mBAAkB,EAAC,IAAGA,GAAC,CAAC;AAAA,IAAE,CAAC;AAAA,EAAC;AAAA,EAAC,wBAAuB;AAAC,SAAK,OAAO,KAAK,QAAQ,OAAO,GAAGwP,KAAG,QAAO,OAAG,KAAK,iBAAiB,CAAC,CAAC,GAAE,KAAK,OAAO,KAAK,QAAQ,OAAO,GAAGA,KAAG,QAAO,OAAG;AAAC,WAAK,qBAAqB,EAAE,OAAM,SAAS;AAAA,IAAC,CAAC;AAAA,EAAC;AAAA,EAAC,oBAAoB,GAAE;AAAC,QAAG,CAAC5M,KAAE,GAAE,KAAE,GAAE;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAE9C,KAAE,sBAAqB,qCAAqC,CAAC,EAAE;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC;AAAC,QAAG,CAAC,KAAK,OAAO,KAAK,QAAQ,SAAS,KAAK,SAAS,CAAC,GAAE;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAEA,KAAE,mBAAkB,gCAAgC,CAAC,EAAE;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC;AAAC,QAAG2X,KAAE,KAAK,OAAO,KAAK,QAAQ,SAAS,IAAI,CAAC,EAAE,MAAM,GAAE;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAE3X,KAAE,WAAU,kBAAkB,CAAC,EAAE;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,MAAM,oBAAoB,GAAE;AAAC,QAAG,CAAC8C,KAAE,GAAE,KAAE,GAAE;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAE9C,KAAE,sBAAqB,qCAAqC,CAAC,EAAE;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC;AAAC,QAAG,KAAK,qBAAqB,CAAC,GAAE,CAAC,KAAK,OAAO,QAAQ,KAAK,SAAS,CAAC,GAAE;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAEA,KAAE,mBAAkB,gCAAgC,CAAC,EAAE;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC;AAAC,QAAG2X,KAAE,KAAK,OAAO,QAAQ,IAAI,CAAC,EAAE,MAAM,GAAE;AAAC,YAAM,KAAK,cAAc,EAAC,OAAM,EAAC,CAAC;AAAE,YAAK,EAAC,SAAQ,EAAC,IAAE3X,KAAE,WAAU,kBAAkB,CAAC,EAAE;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC;AAAC,QAAG,CAAC,KAAK,OAAO,KAAK,OAAO,SAAS,IAAI,CAAC,GAAE;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAEA,KAAE,sBAAqB,6CAA6C,CAAC,EAAE;AAAE,YAAM,MAAM,KAAK,cAAc,EAAC,OAAM,EAAC,CAAC,GAAE,IAAI,MAAM,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,MAAM,6BAA6B,GAAE;AAAC,QAAG,KAAK,qBAAqB,CAAC,GAAE,KAAK,OAAO,QAAQ,KAAK,SAAS,CAAC,EAAE,OAAM,KAAK,oBAAoB,CAAC;AAAA,aAAU,KAAK,OAAO,KAAK,QAAQ,SAAS,KAAK,SAAS,CAAC,EAAE,MAAK,oBAAoB,CAAC;AAAA,aAAU8C,KAAE,GAAE,KAAE,GAAE;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAE9C,KAAE,mBAAkB,2CAA2C,CAAC,EAAE;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC,OAAK;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAEA,KAAE,sBAAqB,gDAAgD,CAAC,EAAE;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,MAAM,kBAAkB,GAAE;AAAC,QAAG,CAACuH,GAAG,CAAC,GAAE;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAEvH,KAAE,sBAAqB,mCAAmC,CAAC,EAAE;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC;AAAC,QAAG,CAAC,KAAK,OAAO,SAAS,KAAK,SAAS,CAAC,GAAE;AAAC,YAAK,EAAC,SAAQ,EAAC,IAAEA,KAAE,mBAAkB,8BAA8B,CAAC,EAAE;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC;AAAC,QAAG2X,KAAE,KAAK,OAAO,SAAS,IAAI,CAAC,EAAE,eAAe,GAAE;AAAC,YAAM,KAAK,eAAe,CAAC;AAAE,YAAK,EAAC,SAAQ,EAAC,IAAE3X,KAAE,WAAU,gBAAgB,CAAC,EAAE;AAAE,YAAM,IAAI,MAAM,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC;AAAC,MAAM,WAAWiM,GAAC;AAAA,EAAC,YAAY,GAAE,GAAE;AAAC,UAAM,GAAE,GAAEhJ,MAAGoL,IAAE,GAAE,KAAK,OAAK,GAAE,KAAK,SAAO;AAAA,EAAC;AAAC;AAAA,IAAA,OAAC,MAAM,WAAWpC,GAAC;AAAA,EAAC,YAAY,GAAE,GAAE;AAAC,UAAM,GAAE,GAAE6I,MAAGzG,IAAE,GAAE,KAAK,OAAK,GAAE,KAAK,SAAO;AAAA,EAAC;AAAC;AAAC,MAAM,WAAWpC,GAAC;AAAA,EAAC,YAAY,GAAE,GAAE;AAAC,UAAM,GAAE,GAAE4C,MAAGR,MAAG,CAAAnO,OAAGA,GAAE,EAAE,GAAE,KAAK,OAAK,GAAE,KAAK,SAAO;AAAA,EAAC;AAAC;AAAC,MAAM,WAAW+L,GAAC;AAAA,EAAC,YAAY,GAAE,GAAE;AAAC,UAAM,GAAE,GAAExB,MAAGvI,MAAG,MAAIkT,IAAE,GAAE,KAAK,OAAK,GAAE,KAAK,SAAO;AAAA,EAAC;AAAC;AAAC,MAAM,WAAWnJ,GAAC;AAAA,EAAC,YAAY,GAAE,GAAE;AAAC,UAAM,GAAE,GAAElF,MAAG7E,IAAE,GAAE,KAAK,OAAK,GAAE,KAAK,SAAO;AAAA,EAAC;AAAC;AAAC,MAAM,WAAW+J,GAAC;AAAA,EAAC,YAAY,GAAE,GAAE;AAAC,UAAM,GAAE,GAAE,IAAG/J,MAAG,CAAAhC,OAAGA,GAAE,EAAE,GAAE,KAAK,OAAK,GAAE,KAAK,SAAO;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,CAACkM,IAAE,GAAE,MAAI,KAAKA,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAM,EAAC,CAAC,IAAEA,GAAE,CAAC,IAAE,GAAEsB,OAAG,CAACtB,IAAE,GAAE,MAAI,GAAGA,IAAE,OAAO,KAAG,WAAS,IAAE,KAAG,GAAE,CAAC;AAAE,MAAM,GAAE;AAAA,EAAC,YAAY,GAAE,GAAE;AAAC,SAAK,OAAK,GAAE,KAAK,SAAO,GAAEsB,KAAG,MAAK,UAAU,GAAEA,KAAG,MAAK,eAAe,GAAEA,KAAG,MAAK,UAAU,GAAE,KAAK,WAAS,IAAI,GAAG,KAAK,MAAK,KAAK,MAAM,GAAE,KAAK,gBAAc,IAAI,GAAG,KAAK,MAAK,KAAK,MAAM,GAAE,KAAK,WAAS,IAAI,GAAG,KAAK,MAAK,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,MAAM,OAAM;AAAC,UAAM,KAAK,SAAS,KAAI,GAAG,MAAM,KAAK,cAAc,KAAI,GAAG,MAAM,KAAK,SAAS,KAAI;AAAA,EAAE;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,CAACtB,IAAE,GAAE,MAAI,KAAKA,KAAE,GAAGA,IAAE,GAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAM,EAAC,CAAC,IAAEA,GAAE,CAAC,IAAE,GAAEtD,MAAE,CAACsD,IAAE,GAAE,MAAI,GAAGA,IAAE,OAAO,KAAG,WAAS,IAAE,KAAG,GAAE,CAAC;WAAE,MAAM,WAAW1E,IAAE;AAAA,EAAC,YAAY,GAAE;AAAC,UAAM,CAAC,GAAEoB,IAAE,MAAK,YAAWU,IAAE,GAAEV,IAAE,MAAK,WAAUyN,IAAE,GAAEzN,IAAE,MAAK,QAAOsF,KAAG,IAAI,GAAEtF,IAAE,MAAK,UAAU,GAAEA,IAAE,MAAK,MAAM,GAAEA,IAAE,MAAK,QAAQ,GAAEA,IAAE,MAAK,UAAS,IAAIoO,OAAAA,cAAE,GAAEpO,IAAE,MAAK,QAAQ,GAAEA,IAAE,MAAK,SAAS,GAAEA,IAAE,MAAK,UAAU,GAAEA,IAAE,MAAK,gBAAgB,GAAEA,IAAE,MAAK,MAAM,GAAEA,IAAE,MAAK,YAAY,GAAEA,IAAE,MAAK,MAAK,CAAC5I,IAAEa,OAAI,KAAK,OAAO,GAAGb,IAAEa,EAAC,CAAC,GAAE+H,IAAE,MAAK,QAAO,CAAC5I,IAAEa,OAAI,KAAK,OAAO,KAAKb,IAAEa,EAAC,CAAC,GAAE+H,IAAE,MAAK,OAAM,CAAC5I,IAAEa,OAAI,KAAK,OAAO,IAAIb,IAAEa,EAAC,CAAC,GAAE+H,IAAE,MAAK,kBAAiB,CAAC5I,IAAEa,OAAI,KAAK,OAAO,eAAeb,IAAEa,EAAC,CAAC,GAAE+H,IAAE,MAAK,sBAAqB,CAAA5I,OAAG,KAAK,OAAO,mBAAmBA,EAAC,CAAC,GAAE4I,IAAE,MAAK,WAAU,OAAM5I,OAAG;AAAC,UAAG;AAAC,eAAO,MAAM,KAAK,OAAO,QAAQA,EAAC;AAAA,MAAC,SAAOa,IAAE;AAAC,cAAM,KAAK,OAAO,MAAMA,GAAE,OAAO,GAAEA;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE+H,IAAE,MAAK,QAAO,OAAM5I,OAAG;AAAC,UAAG;AAAC,eAAO,MAAM,KAAK,OAAO,KAAKA,EAAC;AAAA,MAAC,SAAOa,IAAE;AAAC,cAAM,KAAK,OAAO,MAAMA,GAAE,OAAO,GAAEA;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE+H,IAAE,MAAK,WAAU,OAAM5I,OAAG;AAAC,UAAG;AAAC,eAAO,MAAM,KAAK,OAAO,QAAQA,EAAC;AAAA,MAAC,SAAOa,IAAE;AAAC,cAAM,KAAK,OAAO,MAAMA,GAAE,OAAO,GAAEA;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE+H,IAAE,MAAK,UAAS,OAAM5I,OAAG;AAAC,UAAG;AAAC,eAAO,MAAM,KAAK,OAAO,OAAOA,EAAC;AAAA,MAAC,SAAOa,IAAE;AAAC,cAAM,KAAK,OAAO,MAAMA,GAAE,OAAO,GAAEA;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE+H,IAAE,MAAK,UAAS,OAAM5I,OAAG;AAAC,UAAG;AAAC,eAAO,MAAM,KAAK,OAAO,OAAOA,EAAC;AAAA,MAAC,SAAOa,IAAE;AAAC,cAAM,KAAK,OAAO,MAAMA,GAAE,OAAO,GAAEA;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE+H,IAAE,MAAK,UAAS,OAAM5I,OAAG;AAAC,UAAG;AAAC,eAAO,MAAM,KAAK,OAAO,OAAOA,EAAC;AAAA,MAAC,SAAOa,IAAE;AAAC,cAAM,KAAK,OAAO,MAAMA,GAAE,OAAO,GAAEA;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE+H,IAAE,MAAK,WAAU,OAAM5I,OAAG;AAAC,UAAG;AAAC,eAAO,MAAM,KAAK,OAAO,QAAQA,EAAC;AAAA,MAAC,SAAOa,IAAE;AAAC,cAAM,KAAK,OAAO,MAAMA,GAAE,OAAO,GAAEA;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE+H,IAAE,MAAK,WAAU,OAAM5I,OAAG;AAAC,UAAG;AAAC,eAAO,MAAM,KAAK,OAAO,QAAQA,EAAC;AAAA,MAAC,SAAOa,IAAE;AAAC,cAAM,KAAK,OAAO,MAAMA,GAAE,OAAO,GAAEA;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE+H,IAAE,MAAK,QAAO,OAAM5I,OAAG;AAAC,UAAG;AAAC,eAAO,MAAM,KAAK,OAAO,KAAKA,EAAC;AAAA,MAAC,SAAOa,IAAE;AAAC,cAAM,KAAK,OAAO,MAAMA,GAAE,OAAO,GAAEA;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE+H,IAAE,MAAK,QAAO,OAAM5I,OAAG;AAAC,UAAG;AAAC,eAAO,MAAM,KAAK,OAAO,KAAKA,EAAC;AAAA,MAAC,SAAOa,IAAE;AAAC,cAAM,KAAK,OAAO,MAAMA,GAAE,OAAO,GAAEA;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE+H,IAAE,MAAK,cAAa,OAAM5I,OAAG;AAAC,UAAG;AAAC,eAAO,MAAM,KAAK,OAAO,WAAWA,EAAC;AAAA,MAAC,SAAOa,IAAE;AAAC,cAAM,KAAK,OAAO,MAAMA,GAAE,OAAO,GAAEA;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE+H,IAAE,MAAK,QAAO,CAAA5I,OAAG;AAAC,UAAG;AAAC,eAAO,KAAK,OAAO,KAAKA,EAAC;AAAA,MAAC,SAAOa,IAAE;AAAC,cAAM,KAAK,OAAO,MAAMA,GAAE,OAAO,GAAEA;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE+H,IAAE,MAAK,6BAA4B,MAAI;AAAC,UAAG;AAAC,eAAO,KAAK,OAAO,0BAAyB;AAAA,MAAE,SAAO5I,IAAE;AAAC,cAAM,KAAK,OAAO,MAAMA,GAAE,OAAO,GAAEA;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE4I,IAAE,MAAK,gBAAe,OAAM5I,IAAEa,OAAI;AAAC,UAAG;AAAC,eAAO,MAAM,KAAK,OAAO,aAAab,IAAEa,EAAC;AAAA,MAAC,SAAOoD,IAAE;AAAC,cAAM,KAAK,OAAO,MAAMA,GAAE,OAAO,GAAEA;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE2E,IAAE,MAAK,qBAAoB,CAAA5I,OAAG;AAAC,UAAG;AAAC,eAAO,KAAK,OAAO,kBAAkBA,EAAC;AAAA,MAAC,SAAOa,IAAE;AAAC,cAAM,KAAK,OAAO,MAAMA,GAAE,OAAO,GAAEA;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE+H,IAAE,MAAK,8BAA6B,OAAM5I,OAAG;AAAC,UAAG;AAAC,eAAO,MAAM,KAAK,OAAO,2BAA2BA,EAAC;AAAA,MAAC,SAAOa,IAAE;AAAC,cAAM,KAAK,OAAO,MAAMA,GAAE,OAAO,GAAEA;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE+H,IAAE,MAAK,6BAA4B,OAAM5I,OAAG;AAAC,UAAG;AAAC,eAAO,MAAM,KAAK,OAAO,0BAA0BA,EAAC;AAAA,MAAC,SAAOa,IAAE;AAAC,cAAM,KAAK,OAAO,MAAMA,GAAE,OAAO,GAAEA;AAAA,MAAC;AAAA,IAAC,CAAC,GAAE,KAAK,QAAK,uBAAG,SAAMqN,KAAG,MAAK,KAAK,WAASyI,KAAG,uBAAG,QAAQ,GAAE,KAAK,aAAW,uBAAG;AAAW,UAAM,IAAE,QAAO,uBAAG,UAAO,OAAK,QAAO,uBAAG,WAAQ,WAAS,EAAE,SAAO5G,KAAG1M,IAAG,EAAC,QAAM,uBAAG,WAAQ6K,KAAG,OAAM,CAAC,CAAC;AAAE,SAAK,QAAK,uBAAG,SAAM,IAAIH,GAAG,CAAC,GAAE,KAAK,SAAOO,IAAG,GAAE,KAAK,IAAI,GAAE,KAAK,UAAQ,IAAIF,KAAG,KAAK,MAAK,KAAK,MAAM,GAAE,KAAK,WAAS,IAAI,GAAG,KAAK,MAAK,KAAK,MAAM,GAAE,KAAK,iBAAe,IAAI,GAAG,KAAK,MAAK,KAAK,MAAM,GAAE,KAAK,SAAO,IAAI,GAAG,IAAI,GAAE,KAAK,OAAK,IAAI,GAAG,KAAK,MAAK,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,aAAa,KAAK,GAAE;AAAC,UAAM,IAAE,IAAI,GAAG,CAAC;AAAE,WAAO,MAAM,EAAE,cAAa;AAAA,EAAC;AAAA,EAAC,IAAI,UAAS;AAAC,WAAOS,IAAG,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,IAAI,UAAS;AAAC,WAAO,KAAK,KAAK,QAAQ;AAAA,EAAQ;AAAA,EAAC,MAAM,aAAY;AAAC,SAAK,OAAO,MAAM,aAAa;AAAE,QAAG;AAAC,YAAM,KAAK,KAAK,SAAQ,MAAM,KAAK,QAAQ,KAAI,GAAG,MAAM,KAAK,SAAS,KAAI,GAAG,MAAM,KAAK,eAAe,KAAI,GAAG,MAAM,KAAK,KAAK,KAAI,GAAG,MAAM,KAAK,OAAO,QAAO,KAAK,OAAO,KAAK,mCAAmC,GAAE,WAAW,MAAI;AAAC,aAAK,OAAO;MAA0B,GAAE2F,IAAAA,cAAG/J,cAAE,CAAC;AAAA,IAAC,SAAO,GAAE;AAAC,YAAM,KAAK,OAAO,KAAK,mCAAmC,GAAE,KAAK,OAAO,MAAM,EAAE,OAAO,GAAE;AAAA,IAAC;AAAA,EAAC;AAAC;ACAl17D,MAAM,KAAG,SAAQ2D,MAAG,iCAAgC,KAAG,MAAK,KAAG,sBAAqB,IAAE,GAAG,EAAE,MAAM,EAAE,KAAI,KAAG,qCAAoC9B,KAAE,WAAU,KAAG,GAAG,EAAE,WAAU,IAAE,EAAC,uBAAsB,wBAAuB;AAAE,SAAS,KAAI;AAAC;AAAC,SAAS,EAAEzL,IAAE;AAAC,SAAOA,MAAG,QAAM,OAAOA,MAAG,YAAU,OAAOA,MAAG;AAAU;AAAC,SAAS,EAAEA,IAAE;AAAC,SAAO,YAAY,OAAOA,EAAC,KAAG,EAAEA,cAAa;AAAS;AAAC,SAAS,GAAGA,IAAE;AAAC,MAAG,EAAEA,EAAC,EAAE,QAAOA;AAAE,MAAG,MAAM,QAAQA,EAAC,KAAG,EAAEA,EAAC,KAAGA,cAAa,eAAa,OAAO,oBAAkB,OAAKA,cAAa,kBAAkB,QAAOA,GAAE,MAAM,CAAC;AAAE,QAAMb,KAAE,OAAO,eAAea,EAAC,GAAE,IAAEb,GAAE;AAAY,MAAGa,cAAa,QAAMA,cAAa,OAAKA,cAAa,IAAI,QAAO,IAAI,EAAEA,EAAC;AAAE,MAAGA,cAAa,QAAO;AAAC,UAAMoD,KAAE,IAAI,EAAEpD,EAAC;AAAE,WAAOoD,GAAE,YAAUpD,GAAE,WAAUoD;AAAA,EAAC;AAAC,MAAGpD,cAAa,SAAS,QAAO,IAAI,EAAEA,GAAE,OAAO,MAAM,CAAC,CAAC;AAAE,MAAGA,cAAa,OAAM;AAAC,UAAMoD,KAAE,IAAI,EAAEpD,GAAE,OAAO;AAAE,WAAOoD,GAAE,QAAMpD,GAAE,OAAMoD,GAAE,OAAKpD,GAAE,MAAKoD,GAAE,QAAMpD,GAAE,OAAMoD;AAAA,EAAC;AAAC,MAAG,OAAO,OAAK,OAAKpD,cAAa,KAAK,QAAO,IAAI,EAAE,CAACA,EAAC,GAAEA,GAAE,MAAK,EAAC,MAAKA,GAAE,MAAK,cAAaA,GAAE,aAAY,CAAC;AAAE,MAAG,OAAOA,MAAG,UAAS;AAAC,UAAMoD,KAAE,OAAO,OAAOjE,EAAC;AAAE,WAAO,OAAO,OAAOiE,IAAEpD,EAAC;AAAA,EAAC;AAAC,SAAOA;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,OAAOA,MAAG,YAAUA,OAAI;AAAI;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,OAAO,sBAAsBA,EAAC,EAAE,OAAO,CAAAb,OAAG,OAAO,UAAU,qBAAqB,KAAKa,IAAEb,EAAC,CAAC;AAAC;AAAC,SAAS,GAAGa,IAAE;AAAC,SAAOA,MAAG,OAAKA,OAAI,SAAO,uBAAqB,kBAAgB,OAAO,UAAU,SAAS,KAAKA,EAAC;AAAC;AAAC,MAAM,KAAG,mBAAkB,KAAG,mBAAkB,KAAG,mBAAkB,KAAG,oBAAmB,KAAG,sBAAqB,KAAG,mBAAkB,KAAG,iBAAgB,KAAG,gBAAe,KAAG,gBAAe,KAAG,kBAAiB,KAAG,wBAAuB,KAAG,mBAAkB,KAAG,qBAAoB,KAAG,uBAAsB,KAAG,8BAA6B,KAAG,wBAAuB,KAAG,wBAAuB,KAAG,sBAAqB,KAAG,uBAAsB,KAAG,uBAAsB,KAAG,yBAAwB,KAAG;AAAwB,SAAS,GAAGA,IAAEb,IAAE;AAAC,SAAO,EAAEa,IAAE,QAAOA,IAAE,oBAAI,OAAIb,EAAC;AAAC;AAAC,SAAS,EAAEa,IAAEb,IAAE,GAAEiE,KAAE,oBAAI,OAAI,IAAE,QAAO;AAAC,QAAMxE,KAAE,uBAAIoB,IAAEb,IAAE,GAAEiE;AAAG,MAAGxE,MAAG,KAAK,QAAOA;AAAE,MAAG,EAAEoB,EAAC,EAAE,QAAOA;AAAE,MAAGoD,GAAE,IAAIpD,EAAC,EAAE,QAAOoD,GAAE,IAAIpD,EAAC;AAAE,MAAG,MAAM,QAAQA,EAAC,GAAE;AAAC,UAAMF,KAAE,IAAI,MAAME,GAAE,MAAM;AAAE,IAAAoD,GAAE,IAAIpD,IAAEF,EAAC;AAAE,aAAQf,KAAE,GAAEA,KAAEiB,GAAE,QAAOjB,KAAI,CAAAe,GAAEf,EAAC,IAAE,EAAEiB,GAAEjB,EAAC,GAAEA,IAAE,GAAEqE,IAAE,CAAC;AAAE,WAAO,OAAO,OAAOpD,IAAE,OAAO,MAAIF,GAAE,QAAME,GAAE,QAAO,OAAO,OAAOA,IAAE,OAAO,MAAIF,GAAE,QAAME,GAAE,QAAOF;AAAA,EAAC;AAAC,MAAGE,cAAa,KAAK,QAAO,IAAI,KAAKA,GAAE,SAAS;AAAE,MAAGA,cAAa,QAAO;AAAC,UAAMF,KAAE,IAAI,OAAOE,GAAE,QAAOA,GAAE,KAAK;AAAE,WAAOF,GAAE,YAAUE,GAAE,WAAUF;AAAA,EAAC;AAAC,MAAGE,cAAa,KAAI;AAAC,UAAMF,KAAE,oBAAI;AAAI,IAAAsD,GAAE,IAAIpD,IAAEF,EAAC;AAAE,eAAS,CAACf,IAAEiC,EAAC,KAAIhB,GAAE,CAAAF,GAAE,IAAIf,IAAE,EAAEiC,IAAEjC,IAAE,GAAEqE,IAAE,CAAC,CAAC;AAAE,WAAOtD;AAAA,EAAC;AAAC,MAAGE,cAAa,KAAI;AAAC,UAAMF,KAAE,oBAAI;AAAI,IAAAsD,GAAE,IAAIpD,IAAEF,EAAC;AAAE,eAAUf,MAAKiB,GAAE,CAAAF,GAAE,IAAI,EAAEf,IAAE,QAAO,GAAEqE,IAAE,CAAC,CAAC;AAAE,WAAOtD;AAAA,EAAC;AAAC,MAAG,OAAO,SAAO,OAAK,OAAO,SAASE,EAAC,EAAE,QAAOA,GAAE,SAAQ;AAAG,MAAG,EAAEA,EAAC,GAAE;AAAC,UAAMF,KAAE,KAAI,OAAO,eAAeE,EAAC,GAAG,YAAYA,GAAE,MAAM;AAAE,IAAAoD,GAAE,IAAIpD,IAAEF,EAAC;AAAE,aAAQf,KAAE,GAAEA,KAAEiB,GAAE,QAAOjB,KAAI,CAAAe,GAAEf,EAAC,IAAE,EAAEiB,GAAEjB,EAAC,GAAEA,IAAE,GAAEqE,IAAE,CAAC;AAAE,WAAOtD;AAAA,EAAC;AAAC,MAAGE,cAAa,eAAa,OAAO,oBAAkB,OAAKA,cAAa,kBAAkB,QAAOA,GAAE,MAAM,CAAC;AAAE,MAAGA,cAAa,UAAS;AAAC,UAAMF,KAAE,IAAI,SAASE,GAAE,OAAO,MAAM,CAAC,GAAEA,GAAE,YAAWA,GAAE,UAAU;AAAE,WAAOoD,GAAE,IAAIpD,IAAEF,EAAC,GAAEb,GAAEa,IAAEE,IAAE,GAAEoD,IAAE,CAAC,GAAEtD;AAAA,EAAC;AAAC,MAAG,OAAO,OAAK,OAAKE,cAAa,MAAK;AAAC,UAAMF,KAAE,IAAI,KAAK,CAACE,EAAC,GAAEA,GAAE,MAAK,EAAC,MAAKA,GAAE,KAAI,CAAC;AAAE,WAAOoD,GAAE,IAAIpD,IAAEF,EAAC,GAAEb,GAAEa,IAAEE,IAAE,GAAEoD,IAAE,CAAC,GAAEtD;AAAA,EAAC;AAAC,MAAGE,cAAa,MAAK;AAAC,UAAMF,KAAE,IAAI,KAAK,CAACE,EAAC,GAAE,EAAC,MAAKA,GAAE,KAAI,CAAC;AAAE,WAAOoD,GAAE,IAAIpD,IAAEF,EAAC,GAAEb,GAAEa,IAAEE,IAAE,GAAEoD,IAAE,CAAC,GAAEtD;AAAA,EAAC;AAAC,MAAGE,cAAa,OAAM;AAAC,UAAMF,KAAE,IAAIE,GAAE;AAAY,WAAOoD,GAAE,IAAIpD,IAAEF,EAAC,GAAEA,GAAE,UAAQE,GAAE,SAAQF,GAAE,OAAKE,GAAE,MAAKF,GAAE,QAAME,GAAE,OAAMF,GAAE,QAAME,GAAE,OAAMf,GAAEa,IAAEE,IAAE,GAAEoD,IAAE,CAAC,GAAEtD;AAAA,EAAC;AAAC,MAAG,OAAOE,MAAG,YAAU,GAAGA,EAAC,GAAE;AAAC,UAAMF,KAAE,OAAO,OAAO,OAAO,eAAeE,EAAC,CAAC;AAAE,WAAOoD,GAAE,IAAIpD,IAAEF,EAAC,GAAEb,GAAEa,IAAEE,IAAE,GAAEoD,IAAE,CAAC,GAAEtD;AAAA,EAAC;AAAC,SAAOE;AAAC;AAAC,SAASf,GAAEe,IAAEb,IAAE,IAAEa,IAAEoD,IAAE,GAAE;AAAC,QAAMxE,KAAE,CAAC,GAAG,OAAO,KAAKO,EAAC,GAAE,GAAG,GAAGA,EAAC,CAAC;AAAE,WAAQW,KAAE,GAAEA,KAAElB,GAAE,QAAOkB,MAAI;AAAC,UAAMf,KAAEH,GAAEkB,EAAC,GAAEkB,KAAE,OAAO,yBAAyBhB,IAAEjB,EAAC;AAAE,KAACiC,MAAG,QAAMA,GAAE,cAAYhB,GAAEjB,EAAC,IAAE,EAAEI,GAAEJ,EAAC,GAAEA,IAAE,GAAEqE,IAAE,CAAC;AAAA,EAAE;AAAC;AAAC,SAAS,GAAGpD,IAAE;AAAC,UAAO,GAAGA,EAAC,GAAC;AAAA,IAAE,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAG,aAAM;AAAA,IAAG;AAAQ,aAAM;AAAA,EAAE;AAAC;AAAC,SAAS,GAAGA,IAAEb,IAAE;AAAC,SAAO,GAAGa,IAAE,CAAC,GAAEoD,IAAE,GAAExE,OAAI;AAA0C,QAAG,OAAOoB,MAAG,SAAS,SAAO,OAAO,UAAU,SAAS,KAAKA,EAAC,GAAC;AAAA,MAAE,KAAK;AAAA,MAAG,KAAK;AAAA,MAAG,KAAK,IAAG;AAAC,cAAMjB,KAAE,IAAIiB,GAAE,YAAYA,MAAA,gBAAAA,GAAG,SAAS;AAAE,eAAOf,GAAEF,IAAEiB,EAAC,GAAEjB;AAAA,MAAC;AAAA,MAAC,KAAK,IAAG;AAAC,cAAMA,KAAE,CAAA;AAAG,eAAOE,GAAEF,IAAEiB,EAAC,GAAEjB,GAAE,SAAOiB,GAAE,QAAOjB,GAAE,OAAO,QAAQ,IAAEiB,GAAE,OAAO,QAAQ,GAAEjB;AAAA,MAAC;AAAA,MAAC;AAAQ;AAAA,IAAM;AAAA,EAAC,CAAC;AAAC;AAAC,SAAS,GAAGiB,IAAE;AAAC,SAAO,GAAGA,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAOA,OAAI,QAAM,OAAOA,MAAG,YAAU,GAAGA,EAAC,MAAI;AAAoB;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,EAAEA,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;;AAAC,MAAG,OAAOA,MAAG,YAAUA,MAAG,KAAK,QAAM;AAAG,MAAG,OAAO,eAAeA,EAAC,MAAI,KAAK,QAAM;AAAG,MAAG,OAAO,UAAU,SAAS,KAAKA,EAAC,MAAI,mBAAkB;AAAC,UAAM,IAAEA,GAAE,OAAO,WAAW;AAAE,WAAO,KAAG,QAAM,GAAC,YAAO,yBAAyBA,IAAE,OAAO,WAAW,MAApD,mBAAuD,YAAS,QAAGA,GAAE,SAAQ,MAAK,WAAW,CAAC;AAAA,EAAG;AAAC,MAAIb,KAAEa;AAAE,SAAK,OAAO,eAAeb,EAAC,MAAI,OAAM,CAAAA,KAAE,OAAO,eAAeA,EAAC;AAAE,SAAO,OAAO,eAAea,EAAC,MAAIb;AAAC;AAAC,SAAS,GAAGa,OAAKb,IAAE;AAAC,QAAM,IAAEA,GAAE,MAAM,GAAE,EAAE,GAAEiE,KAAEjE,GAAEA,GAAE,SAAO,CAAC;AAAE,MAAI,IAAEa;AAAE,WAAQpB,KAAE,GAAEA,KAAE,EAAE,QAAOA,MAAI;AAAC,UAAMkB,KAAE,EAAElB,EAAC;AAAE,QAAE,EAAE,GAAEkB,IAAEsD,IAAE,oBAAI,KAAG;AAAA,EAAC;AAAC,SAAO;AAAC;AAAC,SAAS,EAAEpD,IAAEb,IAAE,GAAEiE,IAAE;AAAC,MAAG,EAAEpD,EAAC,MAAIA,KAAE,OAAOA,EAAC,IAAGb,MAAG,QAAM,OAAOA,MAAG,SAAS,QAAOa;AAAE,MAAGoD,GAAE,IAAIjE,EAAC,EAAE,QAAO,GAAGiE,GAAE,IAAIjE,EAAC,CAAC;AAAE,MAAGiE,GAAE,IAAIjE,IAAEa,EAAC,GAAE,MAAM,QAAQb,EAAC,GAAE;AAAC,IAAAA,KAAEA,GAAE,MAAK;AAAG,aAAQP,KAAE,GAAEA,KAAEO,GAAE,QAAOP,KAAI,CAAAO,GAAEP,EAAC,IAAEO,GAAEP,EAAC,KAAG;AAAA,EAAM;AAAC,QAAM,IAAE,CAAC,GAAG,OAAO,KAAKO,EAAC,GAAE,GAAG,GAAGA,EAAC,CAAC;AAAE,WAAQP,KAAE,GAAEA,KAAE,EAAE,QAAOA,MAAI;AAAC,UAAMkB,KAAE,EAAElB,EAAC;AAAE,QAAIG,KAAEI,GAAEW,EAAC,GAAEkB,KAAEhB,GAAEF,EAAC;AAAE,QAAG,GAAGf,EAAC,MAAIA,KAAE,EAAC,GAAGA,GAAC,IAAG,GAAGiC,EAAC,MAAIA,KAAE,EAAC,GAAGA,GAAC,IAAG,OAAO,SAAO,OAAK,OAAO,SAASjC,EAAC,MAAIA,KAAE,GAAGA,EAAC,IAAG,MAAM,QAAQA,EAAC,EAAE,KAAG,OAAOiC,MAAG,YAAUA,MAAG,MAAK;AAAC,YAAMtB,KAAE,CAAA,GAAGH,KAAE,QAAQ,QAAQyB,EAAC;AAAE,eAAQ4K,KAAE,GAAEA,KAAErM,GAAE,QAAOqM,MAAI;AAAC,cAAMnM,KAAEF,GAAEqM,EAAC;AAAE,QAAAlM,GAAED,EAAC,IAAEuB,GAAEvB,EAAC;AAAA,MAAC;AAAC,MAAAuB,KAAEtB;AAAA,IAAC,MAAM,CAAAsB,KAAE,CAAA;AAAG,UAAM4J,KAAE,EAAE5J,IAAEjC,IAAEe,IAAEE,IAAEb,IAAEiE,EAAC;AAAE,IAAAwH,MAAG,OAAK5K,GAAEF,EAAC,IAAE8K,KAAE,MAAM,QAAQ7L,EAAC,KAAG,GAAGiC,EAAC,KAAG,GAAGjC,EAAC,IAAEiB,GAAEF,EAAC,IAAE,EAAEkB,IAAEjC,IAAE,GAAEqE,EAAC,IAAEpC,MAAG,QAAM,GAAGjC,EAAC,IAAEiB,GAAEF,EAAC,IAAE,EAAE,CAAA,GAAGf,IAAE,GAAEqE,EAAC,IAAEpC,MAAG,QAAM,GAAGjC,EAAC,IAAEiB,GAAEF,EAAC,IAAE,GAAGf,EAAC,KAAGiC,OAAI,UAAQjC,OAAI,YAAUiB,GAAEF,EAAC,IAAEf;AAAA,EAAE;AAAC,SAAOiB;AAAC;AAAC,SAAS,GAAGA,OAAKb,IAAE;AAAC,SAAO,GAAGa,IAAE,GAAGb,IAAE,EAAE;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,OAAO,kBAAiB,KAAG,OAAO,2BAA0B,KAAG,OAAO,uBAAsB,KAAG,OAAO,UAAU,gBAAe,KAAG,OAAO,UAAU,sBAAqB,KAAG,CAACa,IAAEb,IAAE,MAAIA,MAAKa,KAAE,GAAGA,IAAEb,IAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAM,EAAC,CAAC,IAAEa,GAAEb,EAAC,IAAE,GAAE,IAAE,CAACa,IAAEb,OAAI;AAAC,WAAQ,KAAKA,OAAIA,KAAE,CAAA,GAAI,IAAG,KAAKA,IAAE,CAAC,KAAG,GAAGa,IAAE,GAAEb,GAAE,CAAC,CAAC;AAAE,MAAG,GAAG,UAAQ,KAAK,GAAGA,EAAC,EAAE,IAAG,KAAKA,IAAE,CAAC,KAAG,GAAGa,IAAE,GAAEb,GAAE,CAAC,CAAC;AAAE,SAAOa;AAAC,GAAE,KAAG,CAACA,IAAEb,OAAI,GAAGa,IAAE,GAAGb,EAAC,CAAC;AAAE,SAASoB,GAAEP,IAAEb,IAAE,GAAE;AAAC,MAAIiE;AAAE,QAAM,IAAEgI,KAAEpL,EAAC;AAAE,WAAQoD,KAAEjE,GAAE,WAAS,OAAK,SAAOiE,GAAE,EAAE,SAAS,MAAI,GAAG,EAAE,YAAY,EAAE,SAAS,IAAI,EAAE,SAAS,cAAc,CAAC;AAAE;AAAC,SAAS,EAAEpD,IAAE;AAAC,SAAOA,GAAE,SAAS,GAAG,IAAEA,GAAE,MAAM,GAAG,EAAE,CAAC,IAAEA;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAOA,GAAE,IAAI,CAAAb,OAAG,GAAGA,GAAE,MAAM,GAAG,EAAE,CAAC,CAAC,IAAIA,GAAE,MAAM,GAAG,EAAE,CAAC,CAAC,EAAE;AAAC;AAAC,SAAS,GAAGa,IAAEb,IAAE;AAAC,QAAM,IAAE,OAAO,KAAKA,GAAE,UAAU,EAAE,OAAO,OAAG,EAAE,SAASa,EAAC,CAAC;AAAE,MAAG,CAAC,EAAE,OAAO,QAAM,CAAA;AAAG,QAAMoD,KAAE,CAAA;AAAG,SAAO,EAAE,QAAQ,OAAG;AAAC,UAAMxE,KAAEO,GAAE,WAAW,CAAC,EAAE;AAAS,IAAAiE,GAAE,KAAK,GAAGxE,EAAC;AAAA,EAAC,CAAC,GAAEwE;AAAC;AAAC,SAASyI,GAAE7L,KAAE,CAAA,GAAGb,KAAE,CAAA,GAAG;AAAC,QAAM,IAAE,GAAGa,EAAC,GAAEoD,KAAE,GAAGjE,EAAC;AAAE,SAAO,GAAG,GAAEiE,EAAC;AAAC;AAAC,SAAS,GAAGpD,IAAE;AAAC,MAAIb,IAAE,GAAEiE,IAAE,GAAExE;AAAE,QAAMkB,KAAE,CAAA;AAAG,MAAG,CAACyR,KAAEvR,EAAC,EAAE,QAAOF;AAAE,aAAS,CAACf,IAAEiC,EAAC,KAAI,OAAO,QAAQhB,EAAC,GAAE;AAAC,UAAM4K,KAAEgM,KAAE7X,EAAC,IAAE,CAACA,EAAC,IAAEiC,GAAE,QAAOtB,KAAEsB,GAAE,WAAS,CAAA,GAAGzB,KAAEyB,GAAE,UAAQ,CAAA,GAAG4K,KAAE5K,GAAE,UAAQ,IAAGvB,KAAE6Y,KAAEvZ,EAAC;AAAE,IAAAe,GAAEL,EAAC,IAAE,GAAG,EAAE,EAAE,CAAA,GAAGK,GAAEL,EAAC,CAAC,GAAEuB,EAAC,GAAE,EAAC,QAAOiL,KAAErB,KAAGzL,KAAEW,GAAEL,EAAC,MAAI,OAAK,SAAON,GAAE,MAAM,GAAE,SAAQ8M,KAAEvM,KAAG,IAAEI,GAAEL,EAAC,MAAI,OAAK,SAAO,EAAE,OAAO,GAAE,QAAOwM,KAAE1M,KAAG6D,KAAEtD,GAAEL,EAAC,MAAI,OAAK,SAAO2D,GAAE,MAAM,EAAC,CAAC,IAAGmO,KAAE3F,EAAC,KAAG2F,OAAI,IAAEzR,GAAEL,EAAC,MAAI,OAAK,SAAO,EAAE,WAAS,EAAE,OAAKK,GAAEL,EAAC,EAAE,SAAO,EAAE,EAAE,IAAGmM,EAAC,IAAGhN,KAAEkB,GAAEL,EAAC,MAAI,OAAK,SAAOb,GAAE,MAAM;AAAA,EAAE;AAAC,SAAOkB;AAAC;AAAC,SAAS,GAAGE,IAAE;AAAC,SAAOA,GAAE,SAAS,GAAG,IAAEA,GAAE,MAAM,GAAG,EAAE,CAAC,IAAEA;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,QAAMb,KAAE,CAAA;AAAG,aAAS,CAAC,GAAEiE,EAAC,KAAI,OAAO,QAAQpD,EAAC,GAAE;AAAC,UAAM,IAAEoD,GAAE,WAAS,CAAA,GAAGxE,KAAEwE,GAAE,UAAQ,IAAGtD,KAAEsD,GAAE,YAAU,CAAA,GAAGrE,KAAE6X,KAAE,CAAC,IAAE,CAAC,CAAC,IAAExT,GAAE,SAAOA,GAAE,SAAO,GAAGA,GAAE,QAAQ;AAAE,IAAAjE,GAAE,CAAC,IAAE,EAAC,QAAOJ,IAAE,SAAQ,GAAE,QAAOH,IAAE,UAASkB,GAAC;AAAA,EAAC;AAAC,SAAOX;AAAC;AAAC,SAAS,EAAEa,IAAE;AAAC,SAAO,OAAOA,MAAG,WAASA,KAAEA,GAAE,SAAS,IAAI,IAAE,SAASA,IAAE,EAAE,KAAGA,KAAEA,GAAE,SAAS,GAAG,IAAEA,GAAE,MAAM,GAAG,EAAE,CAAC,IAAEA,IAAE,MAAM,OAAOA,EAAC,CAAC,IAAEA,KAAE,OAAOA,EAAC;AAAE;AAAC,MAAM,KAAG,CAAA,GAAGd,KAAE,CAAAc,OAAG,GAAGA,EAAC,GAAEsK,KAAE,CAACtK,IAAEb,OAAI;AAAC,KAAGa,EAAC,IAAEb;AAAC;AAAE,IAAI,KAAG,OAAO,gBAAe,KAAG,CAACa,IAAEb,IAAE,MAAIA,MAAKa,KAAE,GAAGA,IAAEb,IAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAM,EAAC,CAAC,IAAEa,GAAEb,EAAC,IAAE,GAAE4L,KAAE,CAAC/K,IAAEb,IAAE,MAAI,GAAGa,IAAE,OAAOb,MAAG,WAASA,KAAE,KAAGA,IAAE,CAAC;AAAE,MAAM,GAAE;AAAA,EAAC,YAAYA,IAAE;AAAC,IAAA4L,GAAE,MAAK,QAAO,UAAU,GAAEA,GAAE,MAAK,QAAQ,GAAEA,GAAE,MAAK,eAAe,GAAEA,GAAE,MAAK,QAAQ,GAAEA,GAAE,MAAK,WAAW,GAAEA,GAAE,MAAK,SAAS,GAAE,KAAK,YAAU5L,GAAE,WAAU,KAAK,SAAOD,GAAE,QAAQ,GAAE,KAAK,SAAOA,GAAE,QAAQ,GAAE,KAAK,UAAQ,KAAK,gBAAe,GAAG,KAAK,gBAAc,KAAK;EAAqB;AAAA,EAAC,gBAAgBC,IAAE;AAAC,SAAK,YAAU,OAAO,OAAO,KAAK,WAAUA,EAAC;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,WAAO,KAAK,YAAW;AAAA,EAAE;AAAA,EAAC,kBAAiB;AAAC,QAAG,KAAK,QAAQ,QAAO,KAAK;AAAQ,QAAG,KAAK,UAAU,aAAa,QAAO,KAAK,UAAU;AAAa,UAAMA,KAAE,KAAK,UAAU,OAAO,CAAC;AAAE,QAAG,CAACA,GAAE,OAAM,IAAI,MAAM,mBAAmB;AAAE,WAAOA,GAAE,MAAM,GAAG,EAAE,CAAC;AAAA,EAAC;AAAA,EAAC,QAAQA,IAAE;AAAC,WAAO,KAAK,UAAU,QAAQ,SAASA,GAAE,QAAQ,MAAM,IAAE,KAAK,OAAO,QAAQA,EAAC,IAAE,KAAK,gBAAe,EAAG,QAAQA,GAAE,OAAO;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,SAAK,cAAcA,EAAC,KAAG,KAAK,gBAAgBA,IAAE,CAAC,GAAE,KAAK,UAAQA,IAAE,KAAK,OAAO,KAAK,EAAE,uBAAsB,GAAG,KAAK,IAAI,IAAIA,EAAC,EAAE;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,UAAMA,KAAE,KAAK,UAAU;AAAS,WAAOA,KAAEA,GAAE,OAAO,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,MAAI,KAAK,QAAQ,SAAQ,CAAE,EAAE,IAAI,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,KAAG,CAAA,IAAG,CAAA;AAAA,EAAE;AAAA,EAAC,sBAAqB;AAAC,UAAMA,KAAE,CAAA;AAAG,WAAO,KAAK,UAAU,OAAO,QAAQ,OAAG;AAAC,UAAIiE;AAAE,YAAM,IAAE,EAAE,CAAC;AAAE,MAAAjE,GAAE,CAAC,IAAE,KAAK,mBAAmB,IAAGiE,KAAE,KAAK,UAAU,WAAS,OAAK,SAAOA,GAAE,CAAC,CAAC;AAAA,IAAC,CAAC,GAAEjE;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,UAAMA,KAAE,GAAG,KAAK,IAAI,IAAI,KAAK,OAAO,IAAG,IAAE,KAAK,cAAcA,EAAC;AAAE,QAAG,OAAO,IAAE,IAAI,OAAM,IAAI,MAAM,yBAAyBA,EAAC,YAAY;AAAE,WAAO;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAK,mBAAmBjE,IAAE,CAAC;AAAE,IAAAiE,OAAI,KAAK,cAAcjE,EAAC,IAAEiE;AAAA,EAAE;AAAA,EAAC,mBAAmBjE,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAG7C,GAAEpB,IAAE,KAAK,WAAU,KAAK,OAAO,KAAK,SAAS;AAAE,QAAG,CAACiE,GAAE,OAAM,IAAI,MAAM,oCAAoCjE,EAAC,EAAE;AAAE,WAAO,IAAIkE,EAAE,IAAIkV,IAAEnV,IAAElE,GAAE,qBAAqB,CAAC,CAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,OAAO,kBAAiB,KAAG,OAAO,2BAA0B,KAAG,OAAO,uBAAsB,KAAG,OAAO,UAAU,gBAAe,KAAG,OAAO,UAAU,sBAAqB,IAAE,CAACc,IAAEb,IAAE,MAAIA,MAAKa,KAAE,GAAGA,IAAEb,IAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAM,EAAC,CAAC,IAAEa,GAAEb,EAAC,IAAE,GAAE,KAAG,CAACa,IAAEb,OAAI;AAAC,WAAQ,KAAKA,OAAIA,KAAE,CAAA,GAAI,IAAG,KAAKA,IAAE,CAAC,KAAG,EAAEa,IAAE,GAAEb,GAAE,CAAC,CAAC;AAAE,MAAG,GAAG,UAAQ,KAAK,GAAGA,EAAC,EAAE,IAAG,KAAKA,IAAE,CAAC,KAAG,EAAEa,IAAE,GAAEb,GAAE,CAAC,CAAC;AAAE,SAAOa;AAAC,GAAE,KAAG,CAACA,IAAEb,OAAI,GAAGa,IAAE,GAAGb,EAAC,CAAC,GAAE,IAAE,CAACa,IAAEb,IAAE,MAAI,EAAEa,IAAE,OAAOb,MAAG,WAASA,KAAE,KAAGA,IAAE,CAAC;AAAE,MAAM,GAAE;AAAA,EAAC,YAAYA,IAAE;AAAC,MAAE,MAAK,QAAO,QAAQ,GAAE,EAAE,MAAK,QAAQ,GAAE,EAAE,MAAK,SAAS,GAAE,EAAE,MAAK,WAAW,GAAE,EAAE,MAAK,eAAe,GAAE,EAAE,MAAK,QAAQ,GAAE,KAAK,YAAUA,GAAE,WAAU,KAAK,SAAOD,GAAE,QAAQ,GAAE,KAAK,SAAOA,GAAE,QAAQ,GAAE,KAAK,gBAAc,KAAK,uBAAsB,KAAK,UAAQ,SAAS,KAAK,gBAAe,CAAE;AAAA,EAAC;AAAA,EAAC,MAAM,QAAQC,IAAE;AAAC,YAAOA,GAAE,QAAQ,QAAM;AAAA,MAAE,KAAI;AAAsB,eAAO,KAAK,YAAW;AAAA,MAAG,KAAI;AAAe,eAAO,KAAK;MAAc,KAAI;AAA6B,eAAO,MAAM,KAAK,kBAAkBA,EAAC;AAAA,MAAE,KAAI;AAAc,eAAO,SAAS,KAAK,gBAAe,CAAE;AAAA,MAAE,KAAI;AAAyB,eAAO,MAAM,KAAK,gBAAgBA,EAAC;AAAA,MAAE,KAAI;AAAwB,eAAO,MAAM,KAAK,cAAcA,EAAC;AAAA,IAAC;AAAC,WAAO,KAAK,UAAU,QAAQ,SAASA,GAAE,QAAQ,MAAM,IAAE,MAAM,KAAK,OAAO,QAAQA,EAAC,IAAE,KAAK,kBAAkB,QAAQA,GAAE,OAAO;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE;AAAC,SAAK,YAAU,OAAO,OAAO,KAAK,WAAUA,EAAC;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,SAAK,cAAcA,EAAC,KAAG,KAAK,gBAAgB,SAASA,EAAC,GAAE,CAAC,GAAE,KAAK,UAAQ,SAASA,EAAC,GAAE,KAAK,OAAO,KAAK,EAAE,uBAAsB,GAAG,KAAK,IAAI,IAAIA,EAAC,EAAE;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,WAAO,KAAK,YAAW;AAAA,EAAE;AAAA,EAAC,kBAAiB;AAAC,QAAG,KAAK,QAAQ,QAAO,KAAK,QAAQ,SAAQ;AAAG,QAAG,KAAK,UAAU,aAAa,QAAO,KAAK,UAAU;AAAa,UAAMA,KAAE,KAAK,UAAU,OAAO,CAAC;AAAE,QAAG,CAACA,GAAE,OAAM,IAAI,MAAM,mBAAmB;AAAE,WAAOA,GAAE,MAAM,GAAG,EAAE,CAAC;AAAA,EAAC;AAAA,EAAC,mBAAmBA,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAG7C,GAAE,GAAG,KAAK,IAAI,IAAIpB,EAAC,IAAG,KAAK,WAAU,KAAK,OAAO,KAAK,SAAS;AAAE,QAAG,CAACiE,GAAE,OAAM,IAAI,MAAM,oCAAoCjE,EAAC,EAAE;AAAE,WAAO,IAAIkE,EAAE,IAAIoK,IAAGrK,IAAElE,GAAE,qBAAqB,CAAC,CAAC;AAAA,EAAC;AAAA,EAAC,gBAAgBC,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAK,mBAAmBjE,IAAE,CAAC;AAAE,IAAAiE,OAAI,KAAK,cAAcjE,EAAC,IAAEiE;AAAA,EAAE;AAAA,EAAC,sBAAqB;AAAC,UAAMjE,KAAE,CAAA;AAAG,WAAO,KAAK,UAAU,OAAO,QAAQ,OAAG;AAAC,UAAIiE;AAAE,YAAM,IAAE,SAAS,EAAE,CAAC,CAAC;AAAE,MAAAjE,GAAE,CAAC,IAAE,KAAK,mBAAmB,IAAGiE,KAAE,KAAK,UAAU,WAAS,OAAK,SAAOA,GAAE,CAAC,CAAC;AAAA,IAAC,CAAC,GAAEjE;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,UAAMA,KAAE,KAAK,UAAU;AAAS,WAAOA,KAAE,CAAC,GAAG,IAAI,IAAIA,GAAE,OAAO,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,MAAI,KAAK,QAAQ,SAAQ,CAAE,EAAE,IAAI,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAE,CAAA;AAAA,EAAE;AAAA,EAAC,kBAAiB;AAAC,UAAMA,KAAE,KAAK,SAAQ,IAAE,KAAK,cAAcA,EAAC;AAAE,QAAG,OAAO,IAAE,IAAI,OAAM,IAAI,MAAM,yBAAyBA,EAAC,YAAY;AAAE,WAAO;AAAA,EAAC;AAAA,EAAC,MAAM,kBAAkBA,IAAE;AAAC,QAAI,GAAEiE;AAAE,QAAI,IAAEjE,GAAE,QAAQ,UAAQ,IAAEA,GAAE,QAAQ,OAAO,CAAC,MAAI,OAAK,SAAO,EAAE,UAAQ;AAAM,QAAE,EAAE,WAAW,IAAI,IAAE,IAAE,KAAK,CAAC;AAAG,UAAMP,KAAE,SAAS,GAAE,EAAE;AAAE,QAAG,KAAK,gBAAgBA,EAAC,EAAE,MAAK,gBAAgB,GAAGA,EAAC,EAAE;AAAA,aAAU,KAAK,UAAU,QAAQ,SAAS,4BAA4B,EAAE,OAAM,KAAK,OAAO,QAAQ,EAAC,OAAMO,GAAE,OAAM,SAAQ,EAAC,QAAOA,GAAE,QAAQ,QAAO,QAAO,CAAC,EAAC,SAAQ,EAAC,CAAC,EAAC,GAAE,UAASiE,KAAE,KAAK,UAAU,WAAS,OAAK,SAAOA,GAAE,CAAC,EAAC,CAAC,GAAE,KAAK,gBAAgB,GAAGxE,EAAC,EAAE;AAAA,QAAO,OAAM,IAAI,MAAM,qCAAqCA,EAAC,kGAAkG;AAAE,WAAO;AAAA,EAAI;AAAA,EAAC,gBAAgBO,IAAE;AAAC,WAAO,KAAK,UAAU,OAAO,SAAS,GAAG,KAAK,IAAI,IAAIA,EAAC,EAAE;AAAA,EAAC;AAAA,EAAC,MAAM,gBAAgBA,IAAE;AAAC,QAAI,GAAEiE,IAAE,GAAExE,IAAEkB;AAAE,UAAMf,MAAGqE,MAAG,IAAEjE,GAAE,YAAU,OAAK,SAAO,EAAE,WAAS,OAAK,SAAOiE,GAAE,CAAC,GAAEpC,OAAIpC,MAAG,IAAEO,GAAE,YAAU,OAAK,SAAO,EAAE,WAAS,OAAK,SAAOP,GAAE,CAAC,MAAI,CAAA,GAAGgM,KAAE,GAAG7L,EAAC,GAAGiC,GAAE,KAAK,GAAG,CAAC;AAAG,QAAG,CAACjC,GAAE,OAAM,IAAI,MAAM,+DAA+D;AAAE,UAAMW,KAAE,KAAK,OAAO,QAAQ,IAAIP,GAAE,KAAK,GAAEI,OAAIO,KAAEJ,MAAA,gBAAAA,GAAG,sBAAoB,OAAK,SAAOI,GAAE,iBAAe,CAAA;AAAG,QAAGP,MAAG,QAAMA,GAAEqL,EAAC,EAAE,QAAOrL,MAAA,gBAAAA,GAAIqL;AAAG,UAAMgB,KAAE,MAAM,KAAK,OAAO,QAAQzM,EAAC;AAAE,QAAG;AAAC,YAAM,KAAK,OAAO,QAAQ,OAAOA,GAAE,OAAM,EAAC,mBAAkB,GAAG,GAAG,CAAA,GAAGO,GAAE,qBAAmB,CAAA,CAAE,GAAE,EAAC,cAAa,GAAG,GAAG,CAAA,GAAGH,MAAG,CAAA,CAAE,GAAE,EAAC,CAACqL,EAAC,GAAEgB,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC;AAAA,IAAC,SAAOnM,IAAE;AAAC,cAAQ,KAAK,8CAA6CA,EAAC;AAAA,IAAC;AAAC,WAAOmM;AAAA,EAAC;AAAA,EAAC,MAAM,cAAczM,IAAE;AAAC,QAAI,GAAEiE;AAAE,UAAM,IAAE,KAAK,OAAO,QAAQ,IAAIjE,GAAE,KAAK,GAAEP,MAAG,IAAE,EAAE,sBAAoB,OAAK,SAAO,EAAE;AAAa,QAAGA,IAAE;AAAC,YAAMG,KAAE,KAAK,cAAcI,GAAE,SAAQP,EAAC;AAAE,UAAG;AAAC,eAAO,MAAM,KAAK,wBAAwBG,IAAEI,EAAC;AAAA,MAAC,SAAO6B,IAAE;AAAC,gBAAQ,KAAK,4CAA2CA,IAAEjC,EAAC;AAAA,MAAC;AAAA,IAAC;AAAC,UAAMe,MAAGsD,KAAE,EAAE,sBAAoB,OAAK,SAAOA,GAAE;AAAY,QAAGtD,GAAE,KAAG;AAAC,aAAO,MAAM,KAAK,wBAAwBA,IAAEX,EAAC;AAAA,IAAC,SAAOJ,IAAE;AAAC,cAAQ,KAAK,mDAAkDA,IAAEe,EAAC;AAAA,IAAC;AAAC,QAAG,KAAK,UAAU,QAAQ,SAASX,GAAE,QAAQ,MAAM,EAAE,QAAO,MAAM,KAAK,OAAO,QAAQA,EAAC;AAAE,UAAM,IAAI,MAAM,kDAAkD;AAAA,EAAC;AAAA,EAAC,MAAM,wBAAwBA,IAAE,GAAE;AAAC,QAAIiE;AAAE,UAAM,IAAE,IAAI,IAAIjE,EAAC,GAAEP,KAAE,MAAM,MAAM,GAAE,EAAC,QAAO,QAAO,SAAQ,EAAC,gBAAe,mBAAkB,GAAE,MAAK,KAAK,UAAU0R,qBAAG,+BAA8B,EAAElN,KAAE,EAAE,QAAQ,WAAS,OAAK,SAAOA,GAAE,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;AAAE,QAAG,CAACxE,GAAE,GAAG,OAAM,IAAI,MAAM,4CAA4CA,GAAE,MAAM,EAAE;AAAE,WAAO,MAAMA,GAAE,KAAI;AAAA,EAAE;AAAA,EAAC,cAAcO,IAAE,GAAE;AAAC,WAAM,GAAG,EAAE,cAAc,KAAK,OAAO,KAAK,SAAS,YAAYA,EAAC,YAAY,CAAC;AAAA,EAAE;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,CAACa,IAAEb,IAAE,MAAIA,MAAKa,KAAE,GAAGA,IAAEb,IAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAM,EAAC,CAAC,IAAEa,GAAEb,EAAC,IAAE,GAAE,IAAE,CAACa,IAAEb,IAAE,MAAI,GAAGa,IAAE,OAAOb,MAAG,WAASA,KAAE,KAAGA,IAAE,CAAC;AAAE,MAAM,GAAE;AAAA,EAAC,YAAYA,IAAE;AAAC,MAAE,MAAK,QAAO,QAAQ,GAAE,EAAE,MAAK,QAAQ,GAAE,EAAE,MAAK,eAAe,GAAE,EAAE,MAAK,QAAQ,GAAE,EAAE,MAAK,WAAW,GAAE,EAAE,MAAK,SAAS,GAAE,KAAK,YAAUA,GAAE,WAAU,KAAK,SAAOD,GAAE,QAAQ,GAAE,KAAK,SAAOA,GAAE,QAAQ,GAAE,KAAK,UAAQ,KAAK,gBAAe,GAAG,KAAK,gBAAc,KAAK,oBAAmB;AAAA,EAAE;AAAA,EAAC,gBAAgBC,IAAE;AAAC,SAAK,YAAU,OAAO,OAAO,KAAK,WAAUA,EAAC;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,WAAO,KAAK,YAAW;AAAA,EAAE;AAAA,EAAC,QAAQA,IAAE;AAAC,WAAO,KAAK,UAAU,QAAQ,SAASA,GAAE,QAAQ,MAAM,IAAE,KAAK,OAAO,QAAQA,EAAC,IAAE,KAAK,gBAAe,EAAG,QAAQA,GAAE,OAAO;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,SAAK,cAAcA,EAAC,KAAG,KAAK,gBAAgBA,IAAE,CAAC,GAAE,KAAK,UAAQA,IAAE,KAAK,OAAO,KAAK,EAAE,uBAAsB,GAAG,KAAK,IAAI,IAAIA,EAAC,EAAE;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,QAAG,KAAK,QAAQ,QAAO,KAAK;AAAQ,QAAG,KAAK,UAAU,aAAa,QAAO,KAAK,UAAU;AAAa,UAAMA,KAAE,KAAK,UAAU,OAAO,CAAC;AAAE,QAAG,CAACA,GAAE,OAAM,IAAI,MAAM,mBAAmB;AAAE,WAAOA,GAAE,MAAM,GAAG,EAAE,CAAC;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,UAAMA,KAAE,KAAK,UAAU;AAAS,WAAOA,KAAE,CAAC,GAAG,IAAI,IAAIA,GAAE,OAAO,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,MAAI,KAAK,QAAQ,SAAQ,CAAE,EAAE,IAAI,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAE,CAAA;AAAA,EAAE;AAAA,EAAC,sBAAqB;AAAC,UAAMA,KAAE,CAAA;AAAG,WAAO,KAAK,UAAU,OAAO,QAAQ,OAAG;AAAC,UAAIiE;AAAE,YAAM,IAAE,EAAE,CAAC;AAAE,MAAAjE,GAAE,CAAC,IAAE,KAAK,mBAAmB,IAAGiE,KAAE,KAAK,UAAU,WAAS,OAAK,SAAOA,GAAE,CAAC,CAAC;AAAA,IAAC,CAAC,GAAEjE;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,UAAMA,KAAE,GAAG,KAAK,IAAI,IAAI,KAAK,OAAO,IAAG,IAAE,KAAK,cAAcA,EAAC;AAAE,QAAG,OAAO,IAAE,IAAI,OAAM,IAAI,MAAM,yBAAyBA,EAAC,YAAY;AAAE,WAAO;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAK,mBAAmBjE,IAAE,CAAC;AAAE,IAAAiE,OAAI,KAAK,cAAcjE,EAAC,IAAEiE;AAAA,EAAE;AAAA,EAAC,mBAAmBjE,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAG7C,GAAEpB,IAAE,KAAK,WAAU,KAAK,OAAO,KAAK,SAAS;AAAE,QAAG,CAACiE,GAAE,OAAM,IAAI,MAAM,oCAAoCjE,EAAC,EAAE;AAAE,WAAO,IAAIkE,EAAE,IAAIkV,IAAEnV,IAAElE,GAAE,qBAAqB,CAAC,CAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,CAACc,IAAEb,IAAE,MAAIA,MAAKa,KAAE,GAAGA,IAAEb,IAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAM,EAAC,CAAC,IAAEa,GAAEb,EAAC,IAAE,GAAE,IAAE,CAACa,IAAEb,IAAE,MAAI,GAAGa,IAAE,OAAOb,MAAG,WAASA,KAAE,KAAGA,IAAE,CAAC;AAAE,MAAMqP,IAAE;AAAA,EAAC,YAAYrP,IAAE;AAAC,MAAE,MAAK,QAAO,QAAQ,GAAE,EAAE,MAAK,QAAQ,GAAE,EAAE,MAAK,eAAe,GAAE,EAAE,MAAK,QAAQ,GAAE,EAAE,MAAK,WAAW,GAAE,EAAE,MAAK,SAAS,GAAE,KAAK,YAAUA,GAAE,WAAU,KAAK,SAAOD,GAAE,QAAQ,GAAE,KAAK,SAAOA,GAAE,QAAQ,GAAE,KAAK,UAAQ,KAAK,gBAAe,GAAG,KAAK,gBAAc,KAAK,oBAAmB;AAAA,EAAE;AAAA,EAAC,gBAAgBC,IAAE;AAAC,SAAK,YAAU,OAAO,OAAO,KAAK,WAAUA,EAAC;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,WAAO,KAAK,YAAW;AAAA,EAAE;AAAA,EAAC,kBAAiB;AAAC,QAAG,KAAK,QAAQ,QAAO,KAAK;AAAQ,QAAG,KAAK,UAAU,aAAa,QAAO,KAAK,UAAU;AAAa,UAAMA,KAAE,KAAK,UAAU,OAAO,CAAC;AAAE,QAAG,CAACA,GAAE,OAAM,IAAI,MAAM,mBAAmB;AAAE,WAAOA,GAAE,MAAM,GAAG,EAAE,CAAC;AAAA,EAAC;AAAA,EAAC,QAAQA,IAAE;AAAC,WAAO,KAAK,UAAU,QAAQ,SAASA,GAAE,QAAQ,MAAM,IAAE,KAAK,OAAO,QAAQA,EAAC,IAAE,KAAK,kBAAkB,QAAQA,GAAE,OAAO;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,SAAK,cAAcA,EAAC,KAAG,KAAK,gBAAgBA,IAAE,CAAC,GAAE,KAAK,UAAQA,IAAE,KAAK,OAAO,KAAK,EAAE,uBAAsB,GAAG,KAAK,IAAI,IAAI,KAAK,OAAO,EAAE;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,UAAMA,KAAE,KAAK,UAAU;AAAS,WAAOA,KAAE,CAAC,GAAG,IAAI,IAAIA,GAAE,OAAO,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,MAAI,KAAK,QAAQ,SAAQ,CAAE,EAAE,IAAI,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAE,CAAA;AAAA,EAAE;AAAA,EAAC,sBAAqB;AAAC,UAAMA,KAAE,CAAA;AAAG,WAAO,KAAK,UAAU,OAAO,QAAQ,OAAG;AAAC,UAAIiE;AAAE,YAAM,IAAE,EAAE,CAAC;AAAE,MAAAjE,GAAE,CAAC,IAAE,KAAK,mBAAmB,IAAGiE,KAAE,KAAK,UAAU,WAAS,OAAK,SAAOA,GAAE,CAAC,CAAC;AAAA,IAAC,CAAC,GAAEjE;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,UAAMA,KAAE,GAAG,KAAK,IAAI,IAAI,KAAK,OAAO,IAAG,IAAE,KAAK,cAAcA,EAAC;AAAE,QAAG,OAAO,IAAE,IAAI,OAAM,IAAI,MAAM,yBAAyBA,EAAC,YAAY;AAAE,WAAO;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAK,mBAAmBjE,IAAE,CAAC;AAAE,IAAAiE,OAAI,KAAK,cAAcjE,EAAC,IAAEiE;AAAA,EAAE;AAAA,EAAC,mBAAmBjE,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAG7C,GAAEpB,IAAE,KAAK,WAAU,KAAK,OAAO,KAAK,SAAS;AAAE,QAAG,CAACiE,GAAE,OAAM,IAAI,MAAM,oCAAoCjE,EAAC,EAAE;AAAE,WAAO,IAAIkE,EAAE,IAAIkV,IAAEnV,IAAElE,GAAE,qBAAqB,CAAC,CAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,CAACc,IAAEb,IAAE,MAAIA,MAAKa,KAAE,GAAGA,IAAEb,IAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAM,EAAC,CAAC,IAAEa,GAAEb,EAAC,IAAE,GAAE,IAAE,CAACa,IAAEb,IAAE,MAAI,GAAGa,IAAE,OAAOb,MAAG,WAASA,KAAE,KAAGA,IAAE,CAAC;AAAE,MAAM,GAAE;AAAA,EAAC,YAAYA,IAAE;AAAC,MAAE,MAAK,QAAO,UAAU,GAAE,EAAE,MAAK,QAAQ,GAAE,EAAE,MAAK,eAAe,GAAE,EAAE,MAAK,QAAQ,GAAE,EAAE,MAAK,WAAW,GAAE,EAAE,MAAK,SAAS,GAAE,KAAK,YAAUA,GAAE,WAAU,KAAK,SAAOD,GAAE,QAAQ,GAAE,KAAK,SAAOA,GAAE,QAAQ,GAAE,KAAK,UAAQ,KAAK,gBAAe,GAAG,KAAK,gBAAc,KAAK,oBAAmB;AAAA,EAAE;AAAA,EAAC,gBAAgBC,IAAE;AAAC,SAAK,YAAU,OAAO,OAAO,KAAK,WAAUA,EAAC;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,WAAO,KAAK,YAAW;AAAA,EAAE;AAAA,EAAC,QAAQA,IAAE;AAAC,WAAO,KAAK,UAAU,QAAQ,SAASA,GAAE,QAAQ,MAAM,IAAE,KAAK,OAAO,QAAQA,EAAC,IAAE,KAAK,gBAAe,EAAG,QAAQA,GAAE,OAAO;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,QAAG,CAAC,KAAK,cAAcA,EAAC,GAAE;AAAC,YAAMiE,KAAE,KAAG7C,GAAE,GAAG,KAAK,IAAI,IAAIpB,EAAC,IAAG,KAAK,WAAU,KAAK,OAAO,KAAK,SAAS;AAAE,UAAG,CAACiE,GAAE,OAAM,IAAI,MAAM,oCAAoCjE,EAAC,EAAE;AAAE,WAAK,gBAAgBA,IAAEiE,EAAC;AAAA,IAAC;AAAC,SAAK,UAAQjE,IAAE,KAAK,OAAO,KAAK,EAAE,uBAAsB,GAAG,KAAK,IAAI,IAAI,KAAK,OAAO,EAAE;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,QAAG,KAAK,QAAQ,QAAO,KAAK;AAAQ,QAAG,KAAK,UAAU,aAAa,QAAO,KAAK,UAAU;AAAa,UAAMA,KAAE,KAAK,UAAU,OAAO,CAAC;AAAE,QAAG,CAACA,GAAE,OAAM,IAAI,MAAM,mBAAmB;AAAE,WAAOA,GAAE,MAAM,GAAG,EAAE,CAAC;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,UAAMA,KAAE,KAAK,UAAU;AAAS,WAAOA,KAAE,CAAC,GAAG,IAAI,IAAIA,GAAE,OAAO,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,MAAI,KAAK,QAAQ,SAAQ,CAAE,EAAE,IAAI,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAE,CAAA;AAAA,EAAE;AAAA,EAAC,sBAAqB;AAAC,UAAMA,KAAE,CAAA;AAAG,WAAO,KAAK,UAAU,OAAO,QAAQ,OAAG;AAAC,UAAIiE;AAAE,MAAAjE,GAAE,CAAC,IAAE,KAAK,mBAAmB,IAAGiE,KAAE,KAAK,UAAU,WAAS,OAAK,SAAOA,GAAE,CAAC,CAAC;AAAA,IAAC,CAAC,GAAEjE;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,UAAMA,KAAE,GAAG,KAAK,IAAI,IAAI,KAAK,OAAO,IAAG,IAAE,KAAK,cAAcA,EAAC;AAAE,QAAG,OAAO,IAAE,IAAI,OAAM,IAAI,MAAM,yBAAyBA,EAAC,YAAY;AAAE,WAAO;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAK,mBAAmBjE,IAAE,CAAC;AAAE,IAAAiE,OAAI,KAAK,cAAcjE,EAAC,IAAEiE;AAAA,EAAE;AAAA,EAAC,mBAAmBjE,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAG7C,GAAEpB,IAAE,KAAK,WAAU,KAAK,OAAO,KAAK,SAAS;AAAE,WAAO,OAAOiE,KAAE,MAAI,SAAO,IAAIC,EAAE,IAAIkV,IAAEnV,IAAElE,GAAE,qBAAqB,CAAC,CAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,CAACc,IAAEb,IAAE,MAAIA,MAAKa,KAAE,GAAGA,IAAEb,IAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAM,EAAC,CAAC,IAAEa,GAAEb,EAAC,IAAE,GAAE,IAAE,CAACa,IAAEb,IAAE,MAAI,GAAGa,IAAE,OAAOb,MAAG,WAASA,KAAE,KAAGA,IAAE,CAAC;AAAE,MAAM,GAAE;AAAA,EAAC,YAAYA,IAAE;AAAC,MAAE,MAAK,QAAO,OAAO,GAAE,EAAE,MAAK,QAAQ,GAAE,EAAE,MAAK,eAAe,GAAE,EAAE,MAAK,QAAQ,GAAE,EAAE,MAAK,WAAW,GAAE,EAAE,MAAK,SAAS,GAAE,KAAK,YAAUA,GAAE,WAAU,KAAK,SAAOD,GAAE,QAAQ,GAAE,KAAK,SAAOA,GAAE,QAAQ,GAAE,KAAK,UAAQ,KAAK,gBAAe,GAAG,KAAK,gBAAc,KAAK;EAAqB;AAAA,EAAC,gBAAgBC,IAAE;AAAC,SAAK,YAAU,OAAO,OAAO,KAAK,WAAUA,EAAC;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,WAAO,KAAK;EAAa;AAAA,EAAC,kBAAiB;AAAC,QAAG,KAAK,QAAQ,QAAO,KAAK;AAAQ,QAAG,KAAK,UAAU,aAAa,QAAO,KAAK,UAAU;AAAa,UAAMA,KAAE,KAAK,UAAU,OAAO,CAAC;AAAE,QAAG,CAACA,GAAE,OAAM,IAAI,MAAM,mBAAmB;AAAE,WAAOA,GAAE,MAAM,GAAG,EAAE,CAAC;AAAA,EAAC;AAAA,EAAC,QAAQA,IAAE;AAAC,WAAO,KAAK,UAAU,QAAQ,SAASA,GAAE,QAAQ,MAAM,IAAE,KAAK,OAAO,QAAQA,EAAC,IAAE,KAAK,gBAAe,EAAG,QAAQA,GAAE,OAAO;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,SAAK,cAAcA,EAAC,KAAG,KAAK,gBAAgBA,IAAE,CAAC,GAAE,KAAK,UAAQA,IAAE,KAAK,OAAO,KAAK,EAAE,uBAAsB,GAAG,KAAK,IAAI,IAAI,KAAK,OAAO,EAAE;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,UAAMA,KAAE,KAAK,UAAU;AAAS,WAAOA,KAAE,CAAC,GAAG,IAAI,IAAIA,GAAE,OAAO,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,MAAI,KAAK,QAAQ,UAAU,EAAE,IAAI,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAE,CAAA;AAAA,EAAE;AAAA,EAAC,sBAAqB;AAAC,UAAMA,KAAE,CAAA;AAAG,WAAO,KAAK,UAAU,OAAO,QAAQ,OAAG;AAAC,YAAMiE,KAAE,KAAK,iBAAiB,CAAC,GAAE,IAAE,EAAE,CAAC;AAAE,MAAAjE,GAAE,CAAC,IAAE,KAAK,mBAAmB,GAAEiE,EAAC;AAAA,IAAC,CAAC,GAAEjE;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,UAAMA,KAAE,GAAG,KAAK,IAAI,IAAI,KAAK,OAAO,IAAG,IAAE,KAAK,cAAcA,EAAC;AAAE,QAAG,OAAO,IAAE,IAAI,OAAM,IAAI,MAAM,yBAAyBA,EAAC,YAAY;AAAE,WAAO;AAAA,EAAC;AAAA,EAAC,iBAAiBA,IAAE;AAAC,UAAM,IAAE,KAAK,UAAU;AAAO,QAAG,EAAE,QAAO,EAAEA,EAAC;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAK,mBAAmBjE,IAAE,CAAC;AAAE,IAAAiE,OAAI,KAAK,cAAcjE,EAAC,IAAEiE;AAAA,EAAE;AAAA,EAAC,mBAAmBjE,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAG,KAAK,iBAAiBjE,EAAC;AAAE,QAAG,CAACiE,GAAE,OAAM,IAAI,MAAM,oCAAoCjE,EAAC,EAAE;AAAE,WAAO,IAAIkE,EAAE,IAAIkV,IAAEnV,IAAElE,GAAE,qBAAqB,CAAC,CAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,CAACc,IAAEb,IAAE,MAAIA,MAAKa,KAAE,GAAGA,IAAEb,IAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAM,EAAC,CAAC,IAAEa,GAAEb,EAAC,IAAE,GAAEkM,KAAE,CAACrL,IAAEb,IAAE,MAAI,GAAGa,IAAE,OAAOb,MAAG,WAASA,KAAE,KAAGA,IAAE,CAAC;AAAE,MAAM,GAAE;AAAA,EAAC,YAAYA,IAAE;AAAC,IAAAkM,GAAE,MAAK,QAAO,QAAQ,GAAEA,GAAE,MAAK,QAAQ,GAAEA,GAAE,MAAK,eAAe,GAAEA,GAAE,MAAK,QAAQ,GAAEA,GAAE,MAAK,WAAW,GAAEA,GAAE,MAAK,SAAS,GAAE,KAAK,YAAUlM,GAAE,WAAU,KAAK,SAAOD,GAAE,QAAQ,GAAE,KAAK,SAAOA,GAAE,QAAQ,GAAE,KAAK,UAAQ,KAAK,gBAAe,GAAG,KAAK,gBAAc,KAAK,oBAAmB;AAAA,EAAE;AAAA,EAAC,gBAAgBC,IAAE;AAAC,SAAK,YAAU,OAAO,OAAO,KAAK,WAAUA,EAAC;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,WAAO,KAAK,YAAW;AAAA,EAAE;AAAA,EAAC,QAAQA,IAAE;AAAC,WAAO,KAAK,UAAU,QAAQ,SAASA,GAAE,QAAQ,MAAM,IAAE,KAAK,OAAO,QAAQA,EAAC,IAAE,KAAK,gBAAe,EAAG,QAAQA,GAAE,OAAO;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,SAAK,cAAcA,EAAC,KAAG,KAAK,gBAAgBA,IAAE,CAAC,GAAE,KAAK,UAAQA,IAAE,KAAK,OAAO,KAAK,EAAE,uBAAsB,GAAG,KAAK,IAAI,IAAIA,EAAC,EAAE;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,QAAG,KAAK,QAAQ,QAAO,KAAK;AAAQ,QAAG,KAAK,UAAU,aAAa,QAAO,KAAK,UAAU;AAAa,UAAMA,KAAE,KAAK,UAAU,OAAO,CAAC;AAAE,QAAG,CAACA,GAAE,OAAM,IAAI,MAAM,mBAAmB;AAAE,WAAOA,GAAE,MAAM,GAAG,EAAE,CAAC;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,UAAMA,KAAE,KAAK,UAAU;AAAS,WAAOA,KAAE,CAAC,GAAG,IAAI,IAAIA,GAAE,OAAO,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,MAAI,KAAK,QAAQ,SAAQ,CAAE,EAAE,IAAI,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAE,CAAA;AAAA,EAAE;AAAA,EAAC,sBAAqB;AAAC,UAAMA,KAAE,CAAA;AAAG,WAAO,KAAK,UAAU,OAAO,QAAQ,OAAG;AAAC,UAAIiE;AAAE,YAAM,IAAE,EAAE,CAAC;AAAE,MAAAjE,GAAE,CAAC,IAAE,KAAK,mBAAmB,IAAGiE,KAAE,KAAK,UAAU,WAAS,OAAK,SAAOA,GAAE,CAAC,CAAC;AAAA,IAAC,CAAC,GAAEjE;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,UAAMA,KAAE,GAAG,KAAK,IAAI,IAAI,KAAK,OAAO,IAAG,IAAE,KAAK,cAAcA,EAAC;AAAE,QAAG,OAAO,IAAE,IAAI,OAAM,IAAI,MAAM,yBAAyBA,EAAC,YAAY;AAAE,WAAO;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAK,mBAAmBjE,IAAE,CAAC;AAAE,IAAAiE,OAAI,KAAK,cAAcjE,EAAC,IAAEiE;AAAA,EAAE;AAAA,EAAC,mBAAmBjE,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAG7C,GAAEpB,IAAE,KAAK,WAAU,KAAK,OAAO,KAAK,SAAS;AAAE,QAAG,CAACiE,GAAE,OAAM,IAAI,MAAM,oCAAoCjE,EAAC,EAAE;AAAE,WAAO,IAAIkE,EAAE,IAAIkV,IAAEnV,IAAElE,GAAE,qBAAqB,CAAC,CAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,CAACc,IAAEb,IAAE,MAAIA,MAAKa,KAAE,GAAGA,IAAEb,IAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAM,EAAC,CAAC,IAAEa,GAAEb,EAAC,IAAE,GAAE,IAAE,CAACa,IAAEb,IAAE,MAAI,GAAGa,IAAE,OAAOb,MAAG,WAASA,KAAE,KAAGA,IAAE,CAAC;AAAE,MAAM,GAAE;AAAA,EAAC,YAAYA,IAAE;AAAC,MAAE,MAAK,QAAO,YAAY,GAAE,EAAE,MAAK,QAAQ,GAAE,EAAE,MAAK,eAAe,GAAE,EAAE,MAAK,QAAQ,GAAE,EAAE,MAAK,WAAW,GAAE,EAAE,MAAK,SAAS,GAAE,KAAK,YAAUA,GAAE,WAAU,KAAK,SAAOD,GAAE,QAAQ,GAAE,KAAK,SAAOA,GAAE,QAAQ,GAAE,KAAK,UAAQ,KAAK,gBAAe,GAAG,KAAK,gBAAc,KAAK,oBAAmB;AAAA,EAAE;AAAA,EAAC,gBAAgBC,IAAE;AAAC,SAAK,YAAU,OAAO,OAAO,KAAK,WAAUA,EAAC;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,WAAO,KAAK,YAAW;AAAA,EAAE;AAAA,EAAC,QAAQA,IAAE;AAAC,WAAO,KAAK,UAAU,QAAQ,SAASA,GAAE,QAAQ,MAAM,IAAE,KAAK,OAAO,QAAQA,EAAC,IAAE,KAAK,gBAAe,EAAG,QAAQA,GAAE,OAAO;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,SAAK,cAAcA,EAAC,KAAG,KAAK,gBAAgBA,IAAE,CAAC,GAAE,KAAK,UAAQA,IAAE,KAAK,OAAO,KAAK,EAAE,uBAAsB,GAAG,KAAK,IAAI,IAAIA,EAAC,EAAE;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,QAAG,KAAK,QAAQ,QAAO,KAAK;AAAQ,QAAG,KAAK,UAAU,aAAa,QAAO,KAAK,UAAU;AAAa,UAAMA,KAAE,KAAK,UAAU,OAAO,CAAC;AAAE,QAAG,CAACA,GAAE,OAAM,IAAI,MAAM,mBAAmB;AAAE,WAAOA,GAAE,MAAM,GAAG,EAAE,CAAC;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,UAAMA,KAAE,KAAK,UAAU;AAAS,WAAOA,KAAE,CAAC,GAAG,IAAI,IAAIA,GAAE,OAAO,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,MAAI,KAAK,QAAQ,SAAQ,CAAE,EAAE,IAAI,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAE,CAAA;AAAA,EAAE;AAAA,EAAC,sBAAqB;AAAC,UAAMA,KAAE,CAAA;AAAG,WAAO,KAAK,UAAU,OAAO,QAAQ,OAAG;AAAC,UAAIiE;AAAE,YAAM,IAAE,EAAE,CAAC;AAAE,MAAAjE,GAAE,CAAC,IAAE,KAAK,mBAAmB,IAAGiE,KAAE,KAAK,UAAU,WAAS,OAAK,SAAOA,GAAE,CAAC,CAAC;AAAA,IAAC,CAAC,GAAEjE;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,UAAMA,KAAE,GAAG,KAAK,IAAI,IAAI,KAAK,OAAO,IAAG,IAAE,KAAK,cAAcA,EAAC;AAAE,QAAG,OAAO,IAAE,IAAI,OAAM,IAAI,MAAM,yBAAyBA,EAAC,YAAY;AAAE,WAAO;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAK,mBAAmBjE,IAAE,CAAC;AAAE,IAAAiE,OAAI,KAAK,cAAcjE,EAAC,IAAEiE;AAAA,EAAE;AAAA,EAAC,mBAAmBjE,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAG7C,GAAEpB,IAAE,KAAK,WAAU,KAAK,OAAO,KAAK,SAAS;AAAE,QAAG,CAACiE,GAAE,OAAM,IAAI,MAAM,oCAAoCjE,EAAC,EAAE;AAAE,WAAO,IAAIkE,EAAE,IAAIkV,IAAEnV,IAAElE,GAAE,qBAAqB,CAAC,CAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,CAACc,IAAEb,IAAE,MAAIA,MAAKa,KAAE,GAAGA,IAAEb,IAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAM,EAAC,CAAC,IAAEa,GAAEb,EAAC,IAAE,GAAE,IAAE,CAACa,IAAEb,IAAE,MAAI,GAAGa,IAAE,OAAOb,MAAG,WAASA,KAAE,KAAGA,IAAE,CAAC;AAAE,MAAM,GAAE;AAAA,EAAC,YAAYA,IAAE;AAAC,MAAE,MAAK,QAAO,MAAM,GAAE,EAAE,MAAK,QAAQ,GAAE,EAAE,MAAK,eAAe,GAAE,EAAE,MAAK,QAAQ,GAAE,EAAE,MAAK,WAAW,GAAE,EAAE,MAAK,SAAS,GAAE,KAAK,YAAUA,GAAE,WAAU,KAAK,SAAOD,GAAE,QAAQ,GAAE,KAAK,SAAOA,GAAE,QAAQ,GAAE,KAAK,UAAQ,KAAK,gBAAe,GAAG,KAAK,gBAAc,KAAK,oBAAmB;AAAA,EAAE;AAAA,EAAC,gBAAgBC,IAAE;AAAC,SAAK,YAAU,OAAO,OAAO,KAAK,WAAUA,EAAC;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,WAAO,KAAK,YAAW;AAAA,EAAE;AAAA,EAAC,kBAAiB;AAAC,QAAG,KAAK,QAAQ,QAAO,KAAK;AAAQ,QAAG,KAAK,UAAU,aAAa,QAAO,KAAK,UAAU;AAAa,UAAMA,KAAE,KAAK,UAAU,OAAO,CAAC;AAAE,QAAG,CAACA,GAAE,OAAM,IAAI,MAAM,mBAAmB;AAAE,WAAOA,GAAE,MAAM,GAAG,EAAE,CAAC;AAAA,EAAC;AAAA,EAAC,QAAQA,IAAE;AAAC,WAAO,KAAK,UAAU,QAAQ,SAASA,GAAE,QAAQ,MAAM,IAAE,KAAK,OAAO,QAAQA,EAAC,IAAE,KAAK,kBAAkB,QAAQA,GAAE,OAAO;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,QAAG,KAAK,UAAQA,IAAE,CAAC,KAAK,cAAcA,EAAC,GAAE;AAAC,YAAMiE,KAAE,KAAG7C,GAAE,GAAG,KAAK,IAAI,IAAIpB,EAAC,IAAG,KAAK,SAAS;AAAE,UAAG,CAACiE,GAAE,OAAM,IAAI,MAAM,oCAAoCjE,EAAC,EAAE;AAAE,WAAK,gBAAgBA,IAAEiE,EAAC;AAAA,IAAC;AAAC,SAAK,OAAO,KAAK,EAAE,uBAAsB,GAAG,KAAK,IAAI,IAAI,KAAK,OAAO,EAAE;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,UAAMjE,KAAE,KAAK,UAAU;AAAS,WAAOA,KAAEA,GAAE,OAAO,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,MAAI,KAAK,QAAQ,SAAQ,CAAE,EAAE,IAAI,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,KAAG,CAAA,IAAG,CAAA;AAAA,EAAE;AAAA,EAAC,sBAAqB;AAAC,UAAMA,KAAE,CAAA;AAAG,WAAO,KAAK,UAAU,OAAO,QAAQ,OAAG;AAAC,UAAIiE;AAAE,MAAAjE,GAAE,CAAC,IAAE,KAAK,mBAAmB,IAAGiE,KAAE,KAAK,UAAU,WAAS,OAAK,SAAOA,GAAE,CAAC,CAAC;AAAA,IAAC,CAAC,GAAEjE;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,UAAMA,KAAE,GAAG,KAAK,IAAI,IAAI,KAAK,OAAO,IAAG,IAAE,KAAK,cAAcA,EAAC;AAAE,QAAG,OAAO,IAAE,IAAI,OAAM,IAAI,MAAM,yBAAyBA,EAAC,YAAY;AAAE,WAAO;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAK,mBAAmBjE,IAAE,CAAC;AAAE,IAAAiE,OAAI,KAAK,cAAcjE,EAAC,IAAEiE;AAAA,EAAE;AAAA,EAAC,mBAAmBjE,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAG7C,GAAEpB,IAAE,KAAK,SAAS;AAAE,WAAO,OAAOiE,KAAE,MAAI,SAAO,IAAIC,EAAE,IAAIkV,IAAEnV,IAAElE,GAAE,qBAAqB,CAAC,CAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAesI,MAAG,CAACxH,IAAEb,IAAE,MAAIA,MAAKa,KAAE,GAAGA,IAAEb,IAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAM,EAAC,CAAC,IAAEa,GAAEb,EAAC,IAAE,GAAE,IAAE,CAACa,IAAEb,IAAE,MAAIqI,IAAGxH,IAAE,OAAOb,MAAG,WAASA,KAAE,KAAGA,IAAE,CAAC;AAAE,MAAM,GAAE;AAAA,EAAC,YAAYA,IAAE;AAAC,MAAE,MAAK,QAAO,OAAO,GAAE,EAAE,MAAK,QAAQ,GAAE,EAAE,MAAK,eAAe,GAAE,EAAE,MAAK,QAAQ,GAAE,EAAE,MAAK,WAAW,GAAE,EAAE,MAAK,SAAS,GAAE,KAAK,YAAUA,GAAE,WAAU,KAAK,SAAOD,GAAE,QAAQ,GAAE,KAAK,SAAOA,GAAE,QAAQ,GAAE,KAAK,UAAQ,KAAK,gBAAe,GAAG,KAAK,gBAAc,KAAK,oBAAmB;AAAA,EAAE;AAAA,EAAC,gBAAgBC,IAAE;AAAC,SAAK,YAAU,OAAO,OAAO,KAAK,WAAUA,EAAC;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,WAAO,KAAK,YAAW;AAAA,EAAE;AAAA,EAAC,kBAAiB;AAAC,QAAG,KAAK,QAAQ,QAAO,KAAK;AAAQ,QAAG,KAAK,UAAU,aAAa,QAAO,KAAK,UAAU;AAAa,UAAMA,KAAE,KAAK,UAAU,OAAO,CAAC;AAAE,QAAG,CAACA,GAAE,OAAM,IAAI,MAAM,mBAAmB;AAAE,WAAOA,GAAE,MAAM,GAAG,EAAE,CAAC;AAAA,EAAC;AAAA,EAAC,QAAQA,IAAE;AAAC,WAAO,KAAK,UAAU,QAAQ,SAASA,GAAE,QAAQ,MAAM,IAAE,KAAK,OAAO,QAAQA,EAAC,IAAE,KAAK,gBAAe,EAAG,QAAQA,GAAE,OAAO;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,QAAG,KAAK,UAAQA,IAAE,CAAC,KAAK,cAAcA,EAAC,GAAE;AAAC,YAAMiE,KAAE,KAAG7C,GAAE,GAAG,KAAK,IAAI,IAAIpB,EAAC,IAAG,KAAK,SAAS;AAAE,UAAG,CAACiE,GAAE,OAAM,IAAI,MAAM,oCAAoCjE,EAAC,EAAE;AAAE,WAAK,gBAAgBA,IAAEiE,EAAC;AAAA,IAAC;AAAC,SAAK,OAAO,KAAK,EAAE,uBAAsB,GAAG,KAAK,IAAI,IAAI,KAAK,OAAO,EAAE;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,UAAMjE,KAAE,KAAK,UAAU;AAAS,WAAOA,KAAEA,GAAE,OAAO,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,MAAI,KAAK,QAAQ,UAAU,EAAE,IAAI,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,KAAG,CAAA,IAAG,CAAA;AAAA,EAAE;AAAA,EAAC,sBAAqB;AAAC,UAAMA,KAAE,CAAA;AAAG,WAAO,KAAK,UAAU,OAAO,QAAQ,OAAG;AAAC,MAAAA,GAAE,CAAC,IAAE,KAAK,mBAAmB,CAAC;AAAA,IAAC,CAAC,GAAEA;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,UAAMA,KAAE,GAAG,KAAK,IAAI,IAAI,KAAK,OAAO,IAAG,IAAE,KAAK,cAAcA,EAAC;AAAE,QAAG,OAAO,IAAE,IAAI,OAAM,IAAI,MAAM,yBAAyBA,EAAC,YAAY;AAAE,WAAO;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAK,mBAAmBjE,IAAE,CAAC;AAAE,IAAAiE,OAAI,KAAK,cAAcjE,EAAC,IAAEiE;AAAA,EAAE;AAAA,EAAC,mBAAmBjE,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAG7C,GAAEpB,IAAE,KAAK,SAAS;AAAE,WAAO,OAAOiE,KAAE,MAAI,SAAO,IAAIC,EAAE,IAAIkV,IAAEnV,EAAC,CAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,CAACpD,IAAEb,IAAE,MAAIA,MAAKa,KAAE,GAAGA,IAAEb,IAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAM,EAAC,CAAC,IAAEa,GAAEb,EAAC,IAAE,GAAEuM,KAAE,CAAC1L,IAAEb,IAAE,MAAI,GAAGa,IAAE,OAAOb,MAAG,WAASA,KAAE,KAAGA,IAAE,CAAC;AAAE,MAAM,GAAE;AAAA,EAAC,YAAYA,IAAE;AAAC,IAAAuM,GAAE,MAAK,QAAOD,EAAC,GAAEC,GAAE,MAAK,QAAQ,GAAEA,GAAE,MAAK,eAAe,GAAEA,GAAE,MAAK,QAAQ,GAAEA,GAAE,MAAK,WAAW,GAAEA,GAAE,MAAK,SAAS,GAAE,KAAK,YAAUvM,GAAE,WAAU,KAAK,SAAOD,GAAE,QAAQ,GAAE,KAAK,SAAOA,GAAE,QAAQ,GAAE,KAAK,UAAQ,KAAK,mBAAkB,KAAK,gBAAc,KAAK,oBAAmB;AAAA,EAAE;AAAA,EAAC,gBAAgBC,IAAE;AAAC,SAAK,UAAU,SAAO,CAAC,GAAG,IAAI,KAAK,KAAK,UAAU,UAAQ,CAAA,GAAI,OAAOA,GAAE,UAAQ,CAAA,CAAE,CAAC,CAAC,GAAE,KAAK,UAAU,WAAS,CAAC,GAAG,IAAI,KAAK,KAAK,UAAU,YAAU,CAAA,GAAI,OAAOA,GAAE,YAAU,CAAA,CAAE,CAAC,CAAC,GAAE,KAAK,UAAU,UAAQ,CAAC,GAAG,IAAI,KAAK,KAAK,UAAU,WAAS,CAAA,GAAI,OAAOA,GAAE,WAAS,CAAA,CAAE,CAAC,CAAC,GAAE,KAAK,UAAU,SAAO,CAAC,GAAG,IAAI,KAAK,KAAK,UAAU,UAAQ,CAAA,GAAI,OAAOA,GAAE,UAAQ,CAAA,CAAE,CAAC,CAAC,GAAE,KAAK,gBAAc,KAAK,oBAAmB;AAAA,EAAE;AAAA,EAAC,kBAAiB;AAAC,WAAO,KAAK,YAAW;AAAA,EAAE;AAAA,EAAC,QAAQA,IAAE;AAAC,WAAO,KAAK,UAAU,QAAQ,SAASA,GAAE,QAAQ,MAAM,IAAE,KAAK,OAAO,QAAQA,EAAC,IAAE,KAAK,gBAAgBA,GAAE,OAAO,EAAE,QAAQA,GAAE,OAAO;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,SAAK,cAAcA,EAAC,KAAG,KAAK,gBAAgBA,IAAE,CAAC,GAAE,KAAK,UAAQA,IAAE,KAAK,OAAO,KAAK,EAAE,uBAAsB,GAAG,KAAK,IAAI,IAAIA,EAAC,EAAE;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,QAAG,KAAK,QAAQ,QAAO,KAAK;AAAQ,QAAG,KAAK,UAAU,aAAa,QAAO,KAAK,UAAU;AAAa,UAAMA,KAAE,KAAK,UAAU,OAAO,CAAC;AAAE,QAAG,CAACA,GAAE,OAAM,IAAI,MAAM,mBAAmB;AAAE,WAAOA,GAAE,MAAM,GAAG,EAAE,CAAC;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,UAAMA,KAAE,KAAK,UAAU;AAAS,WAAOA,KAAE,CAAC,GAAG,IAAI,IAAIA,GAAE,OAAO,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,MAAI,KAAK,QAAQ,SAAQ,CAAE,EAAE,IAAI,OAAG,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAE,CAAA;AAAA,EAAE;AAAA,EAAC,sBAAqB;AAAC,QAAIA,IAAE;AAAE,UAAMiE,KAAE,CAAA;AAAG,YAAO,KAAGjE,KAAE,KAAK,cAAY,OAAK,SAAOA,GAAE,aAAW,QAAM,EAAE,QAAQ,OAAG;AAAC,YAAMP,KAAEwM,KAAE,CAAC;AAAE,MAAAhI,GAAE,GAAGxE,GAAE,SAAS,IAAIA,GAAE,SAAS,EAAE,IAAE,KAAK,mBAAmB,CAAC;AAAA,IAAC,CAAC,GAAEwE;AAAA,EAAC;AAAA,EAAC,gBAAgBjE,IAAE;AAAC,UAAM,IAAE,KAAK,cAAcA,EAAC;AAAE,QAAG,OAAO,IAAE,IAAI,OAAM,IAAI,MAAM,yBAAyBA,EAAC,YAAY;AAAE,WAAO;AAAA,EAAC;AAAA,EAAC,gBAAgBA,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAK,mBAAmBjE,IAAE,CAAC;AAAE,IAAAiE,OAAI,KAAK,cAAcjE,EAAC,IAAEiE;AAAA,EAAE;AAAA,EAAC,mBAAmBjE,IAAE,GAAE;AAAC,UAAMiE,KAAE,KAAG7C,GAAEpB,IAAE,KAAK,WAAU,KAAK,OAAO,KAAK,SAAS;AAAE,QAAG,CAACiE,GAAE,OAAM,IAAI,MAAM,oCAAoCjE,EAAC,EAAE;AAAE,WAAO,IAAIkE,EAAE,IAAIkV,IAAEnV,IAAElE,GAAE,qBAAqB,CAAC,CAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,gBAAe,KAAG,OAAO,kBAAiB,KAAG,OAAO,2BAA0B,KAAG,OAAO,uBAAsBmZ,MAAG,OAAO,UAAU,gBAAe,KAAG,OAAO,UAAU,sBAAqB,IAAE,CAACrY,IAAEb,IAAE,MAAIA,MAAKa,KAAE,GAAGA,IAAEb,IAAE,EAAC,YAAW,MAAG,cAAa,MAAG,UAAS,MAAG,OAAM,EAAC,CAAC,IAAEa,GAAEb,EAAC,IAAE,GAAE,IAAE,CAACa,IAAEb,OAAI;AAAC,WAAQ,KAAKA,OAAIA,KAAE,CAAA,GAAI,CAAAkZ,IAAG,KAAKlZ,IAAE,CAAC,KAAG,EAAEa,IAAE,GAAEb,GAAE,CAAC,CAAC;AAAE,MAAG,GAAG,UAAQ,KAAK,GAAGA,EAAC,EAAE,IAAG,KAAKA,IAAE,CAAC,KAAG,EAAEa,IAAE,GAAEb,GAAE,CAAC,CAAC;AAAE,SAAOa;AAAC,GAAE,IAAE,CAACA,IAAEb,OAAI,GAAGa,IAAE,GAAGb,EAAC,CAAC,GAAE,IAAE,CAACa,IAAEb,IAAE,MAAI,EAAEa,IAAE,OAAOb,MAAG,WAASA,KAAE,KAAGA,IAAE,CAAC;AAAE,MAAM,EAAC;AAAA,EAAC,YAAYA,IAAE;AAAC,MAAE,MAAK,QAAQ,GAAE,EAAE,MAAK,YAAY,GAAE,EAAE,MAAK,oBAAoB,GAAE,EAAE,MAAK,mBAAmB,GAAE,EAAE,MAAK,kBAAkB,GAAE,EAAE,MAAK,UAAS,IAAI6U,MAAE,GAAE,EAAE,MAAK,gBAAe,EAAE,GAAE,EAAE,MAAK,SAAS,GAAE,EAAE,MAAK,cAAc,GAAE,EAAE,MAAK,QAAQ,GAAE,EAAE,MAAK,KAAK,GAAE,EAAE,MAAK,uBAAsB,KAAE,GAAE,KAAK,eAAa7U,IAAE,KAAK,SAAO,QAAOA,MAAA,gBAAAA,GAAG,UAAO,OAAK,QAAOA,MAAA,gBAAAA,GAAG,WAAQ,WAASA,GAAE,SAAO8O,KAAGiB,IAAG,EAAC,QAAM/P,MAAA,gBAAAA,GAAG,WAAQ,GAAE,CAAC,CAAC,GAAE,KAAK,uBAAoBA,MAAA,gBAAAA,GAAG,wBAAqB;AAAA,EAAE;AAAA,EAAC,aAAa,KAAKA,IAAE;AAAC,UAAM,IAAE,IAAI,EAAEA,EAAC;AAAE,WAAO,MAAM,EAAE,cAAa;AAAA,EAAC;AAAA,EAAC,MAAM,QAAQA,IAAE,GAAEiE,IAAE;AAAC,UAAK,CAAC,GAAExE,EAAC,IAAE,KAAK,cAAc,CAAC;AAAE,QAAG,CAAC,KAAK,QAAQ,OAAM,IAAI,MAAM,wCAAwC;AAAE,WAAO,MAAM,KAAK,YAAY,CAAC,EAAE,QAAQ,EAAC,SAAQ,EAAE,CAAA,GAAGO,EAAC,GAAE,SAAQ,GAAG,CAAC,IAAIP,EAAC,IAAG,OAAM,KAAK,QAAQ,OAAM,QAAOwE,GAAC,CAAC;AAAA,EAAC;AAAA,EAAC,UAAUjE,IAAE,GAAEiE,IAAE,GAAE;AAAC,UAAMxE,MAAE,oBAAI,KAAI,GAAG,QAAO;AAAG,SAAK,QAAQO,IAAEiE,IAAE,CAAC,EAAE,KAAK,CAAAtD,OAAG,EAAE,MAAKoU,oBAAGtV,IAAEkB,EAAC,CAAC,CAAC,EAAE,MAAM,CAAAA,OAAG,EAAEA,IAAE,MAAM,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,SAAQ;AAAC,QAAG,CAAC,KAAK,OAAO,OAAM,IAAI,MAAM,6BAA6B;AAAE,WAAO,KAAK,WAAS,MAAM,KAAK,QAAQ,EAAC,YAAW,KAAK,YAAW,oBAAmB,KAAK,oBAAmB,mBAAkB,KAAK,mBAAkB,kBAAiB,KAAK,iBAAgB,CAAC,GAAE,MAAM,KAAK,gBAAe;AAAA,EAAE;AAAA,EAAC,MAAM,aAAY;AAAC,QAAIX;AAAE,QAAG,CAAC,KAAK,QAAQ,OAAM,IAAI,MAAM,uCAAuC;AAAE,UAAM,KAAK,OAAO,WAAW,EAAC,QAAOA,KAAE,KAAK,YAAU,OAAK,SAAOA,GAAE,OAAM,QAAOwX,KAAG,mBAAmB,EAAC,CAAC,GAAE,MAAM,KAAK,QAAO;AAAA,EAAE;AAAA,EAAC,MAAM,QAAQxX,IAAE;AAAC,QAAG,CAAC,KAAK,OAAO,OAAM,IAAI,MAAM,6BAA6B;AAAE,QAAG,KAAK,cAAcA,EAAC,GAAE,MAAM,KAAK,uBAAsB,GAAG,CAACA,GAAE,YAAY,QAAO,MAAM,KAAK,KAAKA,GAAE,YAAY;AAAA,EAAC;AAAA,EAAC,MAAM,aAAaA,IAAE,GAAE;AAAC,QAAG,CAAC,KAAK,OAAO,OAAM,IAAI,MAAM,6BAA6B;AAAE,SAAK,cAAcA,EAAC,GAAE,MAAM,KAAK,uBAAsB;AAAG,UAAK,EAAC,KAAIiE,IAAE,UAAS,EAAC,IAAE,MAAM,KAAK,OAAO,aAAajE,IAAE,CAAC;AAAE,IAAAiE,OAAI,KAAK,MAAIA,IAAE,KAAK,OAAO,KAAK,eAAcA,EAAC;AAAG,UAAMxE,KAAE,MAAM,EAAC;AAAG,QAAG,KAAK,UAAQA,GAAE,SAAQ,KAAK,SAAQ;AAAC,YAAMkB,KAAE,GAAG,KAAK,QAAQ,UAAU;AAAE,WAAK,aAAW+L,GAAE,KAAK,YAAW/L,EAAC,GAAE,MAAM,KAAK,QAAQ,cAAa,KAAK,UAAU,GAAE,KAAK,UAAS;AAAA,IAAE;AAAC,WAAOlB;AAAA,EAAC;AAAA,EAAC,GAAGO,IAAE,GAAE;AAAC,SAAK,OAAO,GAAGA,IAAE,CAAC;AAAA,EAAC;AAAA,EAAC,KAAKA,IAAE,GAAE;AAAC,SAAK,OAAO,KAAKA,IAAE,CAAC;AAAA,EAAC;AAAA,EAAC,eAAeA,IAAE,GAAE;AAAC,SAAK,OAAO,eAAeA,IAAE,CAAC;AAAA,EAAC;AAAA,EAAC,IAAIA,IAAE,GAAE;AAAC,SAAK,OAAO,IAAIA,IAAE,CAAC;AAAA,EAAC;AAAA,EAAC,IAAI,kBAAiB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,MAAM,KAAKA,IAAE;AAAC,UAAK,EAAC,KAAI,GAAE,UAASiE,GAAC,IAAE,MAAM,KAAK,OAAO,QAAQ,EAAC,cAAajE,IAAE,oBAAmB,KAAK,YAAW,oBAAmB,KAAK,oBAAmB,mBAAkB,KAAK,mBAAkB,kBAAiB,KAAK,iBAAgB,CAAC;AAAE,UAAI,KAAK,MAAI,GAAE,KAAK,OAAO,KAAK,eAAc,CAAC;AAAG,UAAM,IAAE,MAAMiE,GAAC;AAAG,SAAK,UAAQ;AAAE,UAAMxE,KAAE,GAAG,EAAE,UAAU;AAAE,WAAO,KAAK,aAAWiN,GAAE,KAAK,YAAWjN,EAAC,GAAE,MAAM,KAAK,QAAQ,cAAa,KAAK,UAAU,GAAE,MAAM,KAAK,QAAQ,sBAAqB,KAAK,kBAAkB,GAAE,KAAK,UAAS,GAAG,KAAK;AAAA,EAAO;AAAA,EAAC,gBAAgBO,IAAE,GAAE;AAAC,QAAG;AAAC,UAAG,CAAC,KAAK,QAAQ;AAAO,YAAK,CAACiE,IAAE,CAAC,IAAE,KAAK,cAAcjE,EAAC,GAAEP,KAAE,KAAK,YAAYwE,EAAC;AAAE,MAAAxE,GAAE,SAAO6M,KAAE7M,GAAE,gBAAgB,GAAGwE,EAAC,IAAI,CAAC,IAAG,CAAC,IAAExE,GAAE,gBAAgB,GAAE,CAAC;AAAA,IAAC,SAAOwE,IAAE;AAAC,UAAG,CAAC,sBAAsB,KAAKA,GAAE,OAAO,EAAE,OAAMA;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,MAAM,uBAAuBjE,KAAE,CAAA,GAAG;AAAC,SAAK,OAAO,KAAK,kCAAkC;AAAE,UAAM,IAAE,KAAK,OAAO,QAAQ,OAAM;AAAG,QAAG4M,KAAE,CAAC,GAAE;AAAC,iBAAU3I,MAAK,EAAE,CAAAjE,GAAE,iBAAe,KAAK,OAAO,KAAK,QAAQ,IAAIiE,GAAE,OAAM,CAAC,IAAE,MAAM,KAAK,OAAO,KAAK,QAAQ,WAAW,YAAYA,GAAE,KAAK;AAAE,WAAK,OAAO,KAAK,8BAA8B,EAAE,MAAM,EAAE;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,sBAAqB;AAAC,SAAK,OAAO,KAAK,yDAAyD;AAAA,EAAC;AAAA,EAAC,MAAM,eAAc;AAAC,SAAK,aAAW,MAAM,KAAK,aAAa,YAAY,KAAG,CAAA,GAAG,KAAK,qBAAmB,MAAM,KAAK,aAAa,oBAAoB,KAAG,CAAA,GAAG,KAAK,WAAS,KAAK,gBAAe;AAAA,EAAE;AAAA,EAAC,MAAM,aAAY;AAAC,SAAK,OAAO,MAAM,aAAa,GAAE,MAAM,KAAK,aAAY,GAAG,MAAM,KAAK,aAAY,GAAG,KAAK;EAAwB;AAAA,EAAC,MAAM,eAAc;AAAC,QAAIjE,IAAE;AAAE,QAAG,KAAK,SAAO,KAAK,aAAa,UAAQ,MAAMqH,KAAG,KAAK,EAAC,MAAK,KAAK,aAAa,MAAK,QAAO,KAAK,aAAa,UAAQ,IAAG,UAAS,KAAK,aAAa,YAAU+G,KAAG,WAAU,KAAK,aAAa,WAAU,UAAS,KAAK,aAAa,UAAS,gBAAe,KAAK,aAAa,gBAAe,SAAQ,KAAK,aAAa,SAAQ,MAAK,KAAK,aAAa,MAAK,qBAAoB,KAAK,aAAa,qBAAoB,kBAAiB,KAAK,aAAa,iBAAgB,CAAC,GAAE,KAAK,aAAa,QAAQ,KAAG;AAAC,WAAK,UAAQ,KAAK,OAAO,QAAQ,IAAI,KAAK,aAAa,QAAQ,KAAK;AAAA,IAAC,SAAOnK,IAAE;AAAC,YAAM,KAAK,OAAO,MAAM,yBAAwBA,EAAC,GAAE,IAAI,MAAM,0BAA0B,KAAGjE,KAAE,KAAK,iBAAe,OAAK,SAAOA,GAAE,YAAU,OAAK,SAAO,EAAE,KAAK,mCAAmC;AAAA,IAAC;AAAA,SAAK;AAAC,YAAMiE,KAAE,KAAK,OAAO,QAAQ,OAAM;AAAG,WAAK,UAAQA,GAAE,CAAC;AAAA,IAAC;AAAC,SAAK,OAAO,MAAM,wBAAwB;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,QAAG,CAAC,KAAK,OAAO,OAAM,IAAI,MAAM,6BAA6B;AAAE,QAAG,CAAC,KAAK,QAAQ,OAAM,IAAI,MAAM,gEAAgE;AAAE,UAAMjE,KAAE,CAAC,GAAG,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,UAAU,EAAE,IAAI,OAAGmZ,KAAE,CAAC,CAAC,CAAC,CAAC;AAAE,IAAAhO,GAAE,UAAS,KAAK,MAAM,GAAEA,GAAE,UAAS,KAAK,MAAM,GAAEA,GAAE,uBAAsB,KAAK,mBAAmB,GAAEnL,GAAE,QAAQ,OAAG;AAAC,UAAG,CAAC,KAAK,QAAQ;AAAO,YAAMiE,KAAE,GAAG,GAAE,KAAK,OAAO,GAAE,IAAE,GAAGA,EAAC,GAAExE,KAAEiN,GAAE,KAAK,YAAW,KAAK,kBAAkB,GAAE/L,KAAE,EAAE,EAAE,IAAGlB,GAAE,CAAC,CAAC,GAAE,EAAC,UAASwE,IAAE,QAAO,EAAC,CAAC;AAAE,cAAO,GAAC;AAAA,QAAE,KAAI;AAAS,eAAK,aAAa,CAAC,IAAE,IAAI,GAAG,EAAC,WAAUtD,GAAC,CAAC;AAAE;AAAA,QAAM,KAAI;AAAW,eAAK,aAAa,CAAC,IAAE,IAAI,GAAG,EAAC,WAAUA,GAAC,CAAC;AAAE;AAAA,QAAM,KAAI;AAAS,eAAK,aAAa,CAAC,IAAE,IAAI,GAAG,EAAC,WAAUA,GAAC,CAAC;AAAE;AAAA,QAAM,KAAI;AAAS,eAAK,aAAa,CAAC,IAAE,IAAI0O,IAAG,EAAC,WAAU1O,GAAC,CAAC;AAAE;AAAA,QAAM,KAAI;AAAW,eAAK,aAAa,CAAC,IAAE,IAAI,GAAG,EAAC,WAAUA,GAAC,CAAC;AAAE;AAAA,QAAM,KAAI;AAAQ,eAAK,aAAa,CAAC,IAAE,IAAI,GAAG,EAAC,WAAUA,GAAC,CAAC;AAAE;AAAA,QAAM,KAAI;AAAS,eAAK,aAAa,CAAC,IAAE,IAAI,GAAG,EAAC,WAAUA,GAAC,CAAC;AAAE;AAAA,QAAM,KAAI;AAAa,eAAK,aAAa,CAAC,IAAE,IAAI,GAAG,EAAC,WAAUA,GAAC,CAAC;AAAE;AAAA,QAAM,KAAI;AAAO,eAAK,aAAa,CAAC,IAAE,IAAI,GAAG,EAAC,WAAUA,GAAC,CAAC;AAAE;AAAA,QAAM,KAAI;AAAQ,eAAK,aAAa,CAAC,IAAE,IAAI,GAAG,EAAC,WAAUA,GAAC,CAAC;AAAE;AAAA,QAAM;AAAQ,eAAK,aAAa2L,EAAC,IAAE,KAAK,aAAaA,EAAC,EAAE,gBAAgB3L,EAAC,IAAE,KAAK,aAAa2L,EAAC,IAAE,IAAI,GAAG,EAAC,WAAU3L,GAAC,CAAC;AAAA,MAAC;AAAA,IAAC,CAAC;AAAA,EAAC;AAAA,EAAC,yBAAwB;AAAC,QAAG,OAAO,KAAK,SAAO,IAAI,OAAM,IAAI,MAAM,gCAAgC;AAAE,SAAK,OAAO,GAAG,gBAAe,CAAAX,OAAG;AAAC,UAAI;AAAE,YAAK,EAAC,OAAMiE,GAAC,IAAEjE;AAAE,MAAAiE,SAAM,IAAE,KAAK,YAAU,OAAK,SAAO,EAAE,UAAQ,KAAK,OAAO,KAAK,gBAAejE,EAAC;AAAA,IAAC,CAAC,GAAE,KAAK,OAAO,GAAG,iBAAgB,CAAAA,OAAG;AAAC,UAAI;AAAE,YAAK,EAAC,QAAOiE,IAAE,OAAM,EAAC,IAAEjE;AAAE,UAAG,QAAM,IAAE,KAAK,YAAU,OAAK,SAAO,EAAE,OAAO;AAAO,YAAK,EAAC,OAAMP,GAAC,IAAEwE;AAAE,UAAGxE,GAAE,SAAO,mBAAkB;AAAC,cAAMkB,KAAElB,GAAE;AAAK,QAAAkB,MAAGiM,KAAEjM,EAAC,KAAG,KAAK,OAAO,KAAK,mBAAkBA,GAAE,IAAI,EAAE,CAAC;AAAA,MAAC,WAASlB,GAAE,SAAO,gBAAe;AAAC,cAAMkB,KAAEsD,GAAE,SAAQrE,KAAEqE,GAAE,MAAM,MAAKpC,KAAEsX,KAAExY,EAAC,GAAE8K,KAAE,EAAE9K,EAAC,MAAI,EAAEf,EAAC,IAAE,GAAGiC,EAAC,IAAI,EAAEjC,EAAC,CAAC,KAAGe;AAAE,aAAK,eAAe8K,EAAC;AAAA,MAAC,MAAM,MAAK,OAAO,KAAKhM,GAAE,MAAKA,GAAE,IAAI;AAAE,WAAK,OAAO,KAAK,iBAAgBO,EAAC;AAAA,IAAC,CAAC,GAAE,KAAK,OAAO,GAAG,kBAAiB,CAAC,EAAC,OAAMA,IAAE,QAAO,EAAC,MAAI;AAAC,UAAIiE,IAAE;AAAE,UAAGjE,SAAMiE,KAAE,KAAK,YAAU,OAAK,SAAOA,GAAE,OAAO;AAAO,YAAK,EAAC,YAAWxE,GAAC,IAAE,GAAEkB,MAAG,IAAE,KAAK,WAAS,OAAK,SAAO,EAAE,QAAQ,IAAIX,EAAC;AAAE,WAAK,UAAQ,EAAE,EAAE,CAAA,GAAGW,EAAC,GAAE,EAAC,YAAWlB,GAAC,CAAC,GAAE,KAAK,mBAAkB,KAAK,OAAO,KAAK,kBAAiB,EAAC,OAAMO,IAAE,QAAO,EAAC,CAAC;AAAA,IAAC,CAAC,GAAE,KAAK,OAAO,GAAG,kBAAiB,OAAMA,OAAG;AAAC,UAAI;AAAE,MAAAA,GAAE,YAAU,IAAE,KAAK,YAAU,OAAK,SAAO,EAAE,WAAS,MAAM,KAAK,QAAO,GAAG,KAAK,OAAO,KAAK,kBAAiBA,EAAC,GAAE,KAAK,OAAO,KAAK,cAAa,EAAE,EAAE,IAAGwX,KAAG,mBAAmB,CAAC,GAAE,EAAC,MAAKxX,GAAE,MAAK,CAAC,CAAC;AAAA,IAAE,CAAC,GAAE,KAAK,GAAG,EAAE,uBAAsB,CAAAA,OAAG;AAAC,WAAK,eAAeA,IAAE,IAAE;AAAA,IAAC,CAAC;AAAA,EAAC;AAAA,EAAC,YAAYA,IAAE;AAAC,WAAO,KAAK,aAAaA,EAAC,KAAG,KAAK,aAAasM,EAAC;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,WAAO,KAAK,KAAK,YAAY,EAAE,QAAQ,CAAAtM,OAAG;AAAC,UAAI;AAAE,WAAK,YAAYA,EAAC,EAAE,iBAAiB,IAAE,KAAK,YAAU,OAAK,SAAO,EAAE,WAAWA,EAAC,CAAC;AAAA,IAAC,CAAC;AAAA,EAAC;AAAA,EAAC,cAAcA,IAAE;AAAC,UAAK,EAAC,YAAW,IAAE,CAAA,GAAG,oBAAmBiE,KAAE,CAAA,GAAG,mBAAkB,GAAE,kBAAiBxE,GAAC,IAAEO;AAAE,SAAK,qBAAmB0M,GAAE,GAAEzI,EAAC,GAAE,KAAK,oBAAkB,GAAE,KAAK,mBAAiBxE;AAAA,EAAC;AAAA,EAAC,cAAcO,IAAE;AAAC,UAAK,CAAC,GAAEiE,EAAC,KAAEjE,MAAA,gBAAAA,GAAG,MAAM,SAAM,CAAC,IAAG,EAAE;AAAE,QAAG,CAAC,KAAK,cAAY,CAAC,OAAO,KAAK,KAAK,UAAU,EAAE,OAAO,QAAM,CAAC,GAAEiE,EAAC;AAAE,QAAG,KAAG,CAAC,OAAO,KAAK,KAAK,cAAY,CAAA,CAAE,EAAE,IAAI,CAAAtD,OAAGwY,KAAExY,EAAC,CAAC,EAAE,SAAS,CAAC,EAAE,OAAM,IAAI,MAAM,cAAc,CAAC,yEAAyE;AAAE,QAAG,KAAGsD,GAAE,QAAM,CAAC,GAAEA,EAAC;AAAE,UAAM,IAAEkV,KAAE,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC,CAAC,GAAE1Z,KAAE,KAAK,aAAa,CAAC,EAAE,gBAAe;AAAG,WAAM,CAAC,GAAEA,EAAC;AAAA,EAAC;AAAA,EAAC,MAAM,kBAAiB;AAAC,UAAK,CAACO,EAAC,IAAE,KAAK,cAAa;AAAG,WAAO,MAAM,KAAK,YAAYA,EAAC,EAAE,gBAAe;AAAA,EAAE;AAAA,EAAC,MAAM,eAAeA,IAAE,IAAE,OAAG;AAAC,QAAG,CAAC,KAAK,WAAW;AAAO,UAAK,CAACiE,IAAE,CAAC,IAAE,KAAK,cAAcjE,EAAC;AAAE,QAAG,CAAC,EAAE;AAAO,SAAK,qBAAqBiE,IAAE,CAAC,GAAE,KAAK,OAAO,KAAK,gBAAe,CAAC;AAAE,UAAMxE,KAAE,KAAK,YAAYwE,EAAC,EAAE;AAAkB,SAAG,KAAK,YAAYA,EAAC,EAAE,gBAAgB,CAAC,GAAE,KAAK,iCAAiC,EAAC,WAAUA,IAAE,iBAAgBxE,IAAE,YAAWO,GAAC,CAAC,GAAE,MAAM,KAAK,QAAQ,cAAa,KAAK,UAAU;AAAA,EAAC;AAAA,EAAC,iCAAiC,EAAC,WAAUA,IAAE,iBAAgB,GAAE,YAAWiE,GAAC,GAAE;AAAC,QAAI,GAAExE;AAAE,QAAG;AAAC,UAAG,MAAIwE,GAAE;AAAO,YAAMtD,MAAGlB,MAAG,IAAE,KAAK,YAAU,OAAK,SAAO,EAAE,WAAWO,EAAC,MAAI,OAAK,SAAOP,GAAE;AAAS,UAAG,CAACkB,GAAE;AAAO,YAAMf,KAAEe,GAAE,OAAO,CAAAkB,OAAGA,GAAE,SAAS,GAAGoC,EAAC,GAAG,CAAC,EAAE,IAAI,EAAE;AAAE,UAAG,CAAC2I,KAAEhN,EAAC,EAAE;AAAO,WAAK,OAAO,KAAK,mBAAkBA,EAAC;AAAA,IAAC,SAAOe,IAAE;AAAC,WAAK,OAAO,KAAK,kDAAiDA,EAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,qBAAqBX,IAAE,GAAE;AAAC,QAAG,CAAC,KAAK,WAAW;AAAO,UAAMiE,KAAE,KAAK,WAAWjE,EAAC,IAAEA,KAAE,GAAGA,EAAC,IAAI,CAAC,IAAG,IAAE,EAAC,QAAO,CAAA,GAAG,SAAQ,IAAG,QAAO,CAAA,GAAG,cAAa,EAAC;AAAE,SAAK,WAAWiE,EAAC,IAAE,KAAK,WAAWA,EAAC,MAAI,KAAK,WAAWA,EAAC,EAAE,eAAa,KAAG,KAAK,WAAWA,EAAC,IAAE;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,SAAK,gBAAe,GAAG,KAAK,OAAO,KAAK,WAAU,EAAC,SAAQ,KAAK,QAAO,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,UAAS;AAAC,SAAK,aAAW,QAAO,KAAK,qBAAmB,QAAO,KAAK,oBAAkB,QAAO,MAAM,KAAK,gBAAgB,YAAY,GAAE,MAAM,KAAK,gBAAgB,oBAAoB,GAAE,MAAM,KAAK,gBAAgB,mBAAmB,GAAE,KAAK,UAAQ,QAAO,MAAM,KAAK,uBAAuB,EAAC,gBAAe,KAAE,CAAC,GAAE,MAAM,KAAK,eAAc;AAAA,EAAE;AAAA,EAAC,MAAM,QAAQjE,IAAE,GAAE;AAAC,QAAIiE;AAAE,UAAM,MAAIA,KAAE,KAAK,YAAU,OAAK,SAAOA,GAAE,UAAQ;AAAG,UAAM,KAAK,OAAO,KAAK,QAAQ,QAAQ,GAAG,CAAC,IAAIjE,EAAC,GAAG,CAAC,IAAG,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,aAAaA,IAAE;AAAC,QAAI;AAAE,UAAMiE,OAAI,IAAE,KAAK,YAAU,OAAK,SAAO,EAAE,UAAQ;AAAG,WAAO,MAAM,KAAK,OAAO,KAAK,QAAQ,QAAQ,GAAG,CAAC,IAAIjE,EAAC,GAAGiE,EAAC,EAAE;AAAA,EAAC;AAAA,EAAC,MAAM,gBAAgBjE,IAAE;AAAC,QAAI;AAAE,UAAMiE,OAAI,IAAE,KAAK,YAAU,OAAK,SAAO,EAAE,UAAQ;AAAG,UAAM,KAAK,OAAO,KAAK,QAAQ,WAAW,GAAG,CAAC,IAAIjE,EAAC,GAAGiE,EAAC,EAAE;AAAA,EAAC;AAAA,EAAC,MAAM,iBAAgB;AAAC,QAAIjE;AAAE,QAAG;AAAC,YAAKA,KAAE,KAAK,WAAS,OAAK,SAAOA,GAAE,QAAQ,UAAQ,EAAE;AAAO,YAAM,IAAE,MAAM,KAAK,OAAO,KAAK,QAAQ,QAAO;AAAG,iBAAUiE,MAAK,EAAE,CAAAA,GAAE,WAAW,CAAC,KAAG,MAAM,KAAK,OAAO,KAAK,QAAQ,WAAWA,EAAC;AAAA,IAAC,SAAO,GAAE;AAAC,WAAK,OAAO,KAAK,6BAA4B,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC;ACgBztzC,MAAC,WAAW;AAAA,EACpB,UAAU;AACN,WAAO,kBAAkB,MAAM;AAAA,EACnC;AAAA,EACA,MAAM,sBAAsB;;AACxB,UAAM,OAAO,kBAAkB,MAAM;AACrC,UAAM,cAAc,gBAAgB,qBAAoB;AACxD,QAAI,EAAE,QAAQ,cAAc;AACxB;AAAA,IACJ;AACA,UAAM,CAAC,WAAW,SAAS,OAAO,IAAI,YAAY,MAAM,GAAG;AAC3D,QAAI,CAAC,gBAAgB,wBAAwB,SAAS,GAAG;AACrD;AAAA,IACJ;AACA,QAAI;AACA,YAAM,WAAW,MAAM,KAAK,YAAY,GAAG,SAAS,IAAI,OAAO,IAAI,OAAO;AAC1E,UAAI,SAAS,QAAQ;AACjB;AAAA,MACJ;AACA,YAAM,gBAAgB,KAAK;AAAA,QACvB,MAAM;AAAA,MACtB,CAAa;AAAA,IACL,SACO,OAAO;AAEV,cAAQ,MAAM,gCAAgC,KAAK;AACnD,uBAAiB,UAAU;AAAA,QACvB,MAAM;AAAA,QACN,OAAO;AAAA,QACP,YAAY,KAAK,uBAAsB;AAAA,MACvD,CAAa;AAED,cAAM,0BAAqB,iBAArB,mBAAmC,aAAa,MAAM,QAAQ;AACpE,uBAAiB,MAAM,SAAS;AAChC,sBAAgB,UAAU,2DAA2D;AAAA,IACzF;AAAA,EACJ;AAAA,EACA,MAAM,qBAAqB;AACvB,UAAM,OAAO,kBAAkB,MAAM;AACrC,UAAM,UAAU,eAAe,gBAAgB,gBAAgB,qBAAoB,CAAE;AACrF,UAAM,UAAU,gBAAgB,qBAAoB;AACpD,UAAM,SAAS,qBAAqB,WAAU;AAC9C,QAAI,CAAC,MAAM;AACP,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACzC;AACA,QAAI,CAAC,SAAS;AACV,YAAM,IAAI,MAAM,4BAA4B;AAAA,IAChD;AACA,QAAI,CAAC,SAAS;AACV,YAAM,IAAI,MAAM,sCAAsC;AAAA,IAC1D;AACA,QAAI,CAAC,QAAQ;AACT,YAAM,IAAI,MAAM,sCAAsC;AAAA,IAC1D;AACA,QAAI;AACA,YAAM,cAAc,MAAM,KAAK,cAAc;AAAA,QACzC,SAAS,QAAQ;AAAA,QACjB,gBAAgB;AAAA,MAChC,CAAa;AACD,YAAM,UAAU,YAAY,SAAQ;AACpC,YAAM,cAAc,oBAAoB,eAAe,QAAQ,cAAc;AAC7E,UAAI,gBAAgBzC,gBAAoB,aAAa,MAAM;AACvD,yBAAiB,qBAAqB,EAAE;AAAA,MAC5C;AACA,YAAM,YAAY,MAAM,OAAO,YAAY,OAAO;AAClD,YAAM,KAAK,WAAW;AAAA,QAClB,MAAM;AAAA,QACN;AAAA,QACA;AAAA,MAChB,CAAa;AACD,sBAAgB,MAAK;AACrB,uBAAiB,UAAU;AAAA,QACvB,MAAM;AAAA,QACN,OAAO;AAAA,QACP,YAAY,KAAK,uBAAsB;AAAA,MACvD,CAAa;AAAA,IACL,SACO,OAAO;AACV,YAAM,aAAa,KAAK,uBAAsB;AAC9C,UAAI,CAAC,gBAAgB,MAAM,QAAQ,iBAAiB,MAAM,SAAS,sBAAsB;AACrF,cAAM,gBAAgB,KAAK;AAAA,UACvB,MAAM;AAAA,QAC1B,CAAiB;AAAA,MACL;AACA,UAAI,WAAW,gBAAgB;AAC3B,wBAAgB,UAAU,mDAAmD;AAAA,MACjF,OACK;AACD,wBAAgB,UAAU,oBAAoB;AAAA,MAClD;AACA,uBAAiB,UAAU;AAAA,QACvB,MAAM;AAAA,QACN,OAAO;AAAA,QACP;AAAA,MAChB,CAAa;AAED,cAAQ,MAAM,+BAA+B,KAAK;AAAA,IACtD;AAAA,EACJ;AAAA,EACA,MAAM,oBAAoB;;AACtB,QAAI;AACA,YAAM,OAAO,KAAK,QAAO;AACzB,YAAM,cAAa,kCAAM,gBAAN;AACnB,UAAI,YAAY;AACZ,cAAM,qBAAqB,WAAU;AAAA,MACzC,OACK;AACD,wBAAgB,MAAK;AAAA,MACzB;AACA,uBAAiB,MAAM,SAAS;AAChC,uBAAiB,UAAU;AAAA,QACvB,OAAO;AAAA,QACP,MAAM;AAAA,QACN,YAAY,KAAK,uBAAsB;AAAA,MACvD,CAAa;AAAA,IACL,SACO,OAAO;AAEV,cAAQ,MAAM,8BAA8B,KAAK;AAAA,IACrD;AAAA,EACJ;AAAA,EACA,MAAM,cAAc;AAChB,UAAM,OAAO,kBAAkB,MAAM;AACrC,UAAM,UAAU,eAAe,gBAAgB,gBAAgB,qBAAoB,CAAE;AACrF,UAAM,UAAU,gBAAgB,qBAAoB;AACpD,QAAI,EAAE,QAAQ,WAAW,UAAU;AAC/B,aAAO,CAAA;AAAA,IACX;AACA,WAAO,KAAK,YAAY,QAAQ,eAAe,OAAO;AAAA,EAC1D;AAAA,EACA,MAAM,sBAAsB;;AACxB,UAAM,OAAO,KAAK,QAAO;AACzB,QAAI,MAAM;AACN,YAAM,sBAAsB,iBAAiB,MAAM,SAAS;AAC5D,YAAM,oBAAoB,iBAAiB,MAAM,SAAS;AAC1D,UAAI,uBAAuB,mBAAmB;AAC1C,iBAAO,UAAK,gBAAL,mCAAyB,MAAM,KAAK,YAAW,GAAI,WAAW;AAAA,MACzE;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAAA,EACA,MAAM,8BAA8B,EAAE,mBAAmB,QAAQ,QAAO,GAAI;;AACxE,UAAM,OAAO,SAAS,QAAO;AAC7B,UAAM,aAAa,IAAI,IAAI,OAAO,IAAI,WAAS,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AACnE,QAAI,CAAC,QAAQ,WAAW,SAAS,KAAK,CAAC,WAAW,IAAI,QAAQ,GAAG;AAC7D,aAAO;AAAA,IACX;AAEA,UAAM,cAAc,MAAM,KAAK,cAAc;AAAA,MACzC,WAAS,qBAAgB,qBAAoB,MAApC,mBAAwC,kBAAiB;AAAA,MAClE,gBAAgB;AAAA,IAC5B,CAAS;AACD,UAAM,SAAS,MAAM,kBAAkB,aAAa;AAAA,MAChD,OAAO,YAAY;AAAA,MACnB,QAAQ,YAAY;AAAA,MACpB,KAAK,YAAY;AAAA,MACjB,KAAK,YAAY;AAAA,MACjB,KAAK,YAAY;AAAA,MACjB,KAAK,YAAY;AAAA,MACjB,WAAW,YAAY;AAAA,MACvB,SAAS,YAAY;AAAA,MACrB,WAAW,YAAY;AAAA,MACvB,WAAW,YAAY;AAAA,MACvB,SAAS,YAAY;AAAA,MACrB;AAAA;AAAA,MAEA,QAAQ,CAAC,YAAY,SAAS,GAAG,OAAO,OAAO,WAAS,UAAU,YAAY,OAAO,CAAC;AAAA,IAClG,CAAS;AACD,oBAAgB,YAAY,qBAAqB,EAAE,WAAW,MAAK,CAAE;AACrE,sBAAkB,uBAAuB;AAAA,MACrC,GAAG,OAAO,QAAQ,KAAK;AAAA,MACvB,MAAM,OAAO,QAAQ,KAAK,SAAS;AAAA,MACnC,OAAM,YAAO,QAAQ,KAAK,SAAS,UAA7B,mBAAqC;AAAA,MAC3C,MAAM;AAAA,IAClB,GAAW,MAAM,KAAK,UAAU,EAAE,CAAC,CAAC;AAC5B,SAAIf,MAAA,iCAAQ,UAAR,gBAAAA,IAAe,QAAQ;AACvB,YAAM,WAAW,OAAO,MAAM,IAAI,WAAS;AACvC,cAAM,UAAU,kBAAkB,OAAO,kBAAkB;AAAA,UACvD,SAAS,MAAM;AAAA,UACf,KAAK,MAAM,EAAE;AAAA,QACjC,CAAiB;AACD,eAAO;AAAA,UACH,MAAM;AAAA,YACF,GAAG,MAAM;AAAA,YACT,gBAAgB,MAAM,EAAE,IAAI,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE;AAAA,YACxD,SAAS,MAAM,EAAE,IAAI,MAAM,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG;AAAA,YACpD,KAAK,MAAM,EAAE;AAAA,YACb,SAAS,MAAM,EAAE,WAAW,YAAY;AAAA,YACxC,gBAAgB,MAAM,EAAE;AAAA,YACxB,UAAU,MAAM,EAAE;AAAA,YAClB,WAAW,MAAM,EAAE;AAAA,UAC3C;AAAA,UACoB;AAAA,UACA,WAAW,MAAM,EAAE;AAAA,UACnB;AAAA,QACpB;AAAA,MACY,CAAC;AACD,UAAI;AACA,cAAM,KAAK,YAAY,QAAQ;AAC/B,yBAAiB,UAAU;AAAA,UACvB,MAAM;AAAA,UACN,OAAO;AAAA,UACP,YAAY,SAAS,uBAAsB;AAAA,QAC/D,CAAiB;AAAA,MACL,SACO,OAAO;AAEV,gBAAQ,MAAM,uDAAuD,KAAK;AAC1E,yBAAiB,UAAU;AAAA,UACvB,MAAM;AAAA,UACN,OAAO;AAAA,UACP,YAAY,SAAS,uBAAsB;AAAA,QAC/D,CAAiB;AAED,cAAM,kBAAkB,WAAU,EAAG,MAAM,QAAQ,KAAK;AACxD,cAAM;AAAA,MACV,UACZ;AACgB,wBAAgB,KAAI;AAAA,MACxB;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAAA,EACA,yBAAyB;;AACrB,UAAM,uBAAuB,gBAAgB,MAAM;AACnD,WAAO;AAAA,MACH,WAAS,qBAAgB,MAAM,sBAAtB,mBAAyC,kBAAiB;AAAA,MACnE,kBAAgB,uBAAkB,MAAM,0BAAxB,mBAAgD,2BAC5D,qBAAqB,cAAc;AAAA,IACnD;AAAA,EACI;AAAA,EACA,MAAM,gBAAgB;AAClB,UAAM,OAAO,KAAK,QAAO;AACzB,QAAI,MAAM;AACN,YAAM,KAAK,YAAY,EAAE;AAAA,IAC7B;AAAA,EACJ;AACJ;ACtPO,SAAS,0BAA0B,WAAW,aAAa;AAC9D,SAAO,oBAAoB,eAAe,SAAS,MAAM;AAC7D;ACAO,SAAS,sBAAsB,WAAW;AAC7C,QAAM,aAAa,MAAM,KAAK,gBAAgB,MAAM,OAAO,MAAM;AACjE,MAAI,SAAS,CAAA;AACb,MAAI,WAAW;AACX,WAAO,KAAK,CAAC,WAAW,gBAAgB,MAAM,OAAO,IAAI,SAAS,CAAC,CAAC;AACpE,QAAI,0BAA0B,WAAWe,gBAAoB,aAAa,cAAc,GAAG;AACvF,iBAAW,QAAQ,CAAAC,QAAM;AACrB,YAAIA,QAAO,aACP,0BAA0BA,KAAID,gBAAoB,aAAa,cAAc,GAAG;AAChF,iBAAO,KAAK,CAACC,KAAI,gBAAgB,MAAM,OAAO,IAAIA,GAAE,CAAC,CAAC;AAAA,QAC1D;AAAA,MACJ,CAAC;AAAA,IACL,WACS,0BAA0B,WAAWD,gBAAoB,aAAa,IAAI,GAAG;AAClF,iBAAW,QAAQ,CAAAC,QAAM;AACrB,YAAIA,QAAO,aACP,0BAA0BA,KAAID,gBAAoB,aAAa,IAAI,GAAG;AACtE,iBAAO,KAAK,CAACC,KAAI,gBAAgB,MAAM,OAAO,IAAIA,GAAE,CAAC,CAAC;AAAA,QAC1D;AAAA,MACJ,CAAC;AAAA,IACL;AAAA,EACJ,OACK;AACD,aAAS,MAAM,KAAK,gBAAgB,MAAM,OAAO,SAAS;AAAA,EAC9D;AACA,SAAO;AACX;ACnCO,MAAMnC,kBAAgB;AAAA,EAYzB,QAAQ;AAAA,EASR,+BAA+B;AAAA,EAC/B,yBAAyB;AAAA,EACzB,0BAA0B;AAI9B;ACzBO,MAAM,cAAc;AAAA,EAmBvB,iBAAiB;AAAA,IACb,GAAG;AAAA,IACH,OAAO;AAAA,IACP,OAAO;AAAA,IACP,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,KAAM;AAAA,IACN,KAAK;AAAA,IACL,UAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,KAAK;AAAA,IACL,OAAQ;AAAA,IACR,KAAK;AAAA,IACL,MAAM;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,IACP,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,oCAAoC;AAAA,IACpC,oCAAoC;AAAA,IACpC,kCAAkC;AAAA,IAClC,oCAAoC;AAAA,IACpC,oCAAoC;AAAA,EAC5C;AAAA,EACI,mBAAmB;AAAA,IACf,CAACkC,gBAAoB,aAAa,QAAQ,GAAG;AAAA,IAC7C,CAACA,gBAAoB,aAAa,YAAY,GAAG;AAAA,IACjD,CAACA,gBAAoB,aAAa,IAAI,GAAG;AAAA,IACzC,CAACA,gBAAoB,aAAa,MAAM,GAAG;AAAA,IAC3C,CAACA,gBAAoB,aAAa,cAAc,GAAG;AAAA,IACnD,CAACA,gBAAoB,aAAa,QAAQ,GAAG;AAAA,EACrD;AAAA,EACI,mBAAmB;AAAA,IACf,CAACA,gBAAoB,aAAa,QAAQ,GAAG;AAAA,IAC7C,CAACA,gBAAoB,aAAa,cAAc,GAAG;AAAA,IACnD,CAACA,gBAAoB,aAAa,QAAQ,GAAG;AAAA,IAC7C,CAACA,gBAAoB,aAAa,YAAY,GAAG;AAAA,IACjD,CAACA,gBAAoB,aAAa,MAAM,GAAG;AAAA,IAC3C,CAACA,gBAAoB,aAAa,IAAI,GAAG;AAAA,EACjD;AAgCA;ACxGO,MAAM,cAAc;AAAA,EACvB,cAAc,QAAQ;AAClB,QAAI,CAAC,QAAQ;AACT,aAAO;AAAA,IACX;AACA,UAAM,aAAa,CAAA;AACnB,WAAO,QAAQ,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,KAAK,MAAM;AAC5C,iBAAW,GAAGlC,gBAAc,MAAM,IAAI,EAAE,EAAE,IAAI;AAAA,IAClD,CAAC;AACD,WAAO;AAAA,EACX;AAAA,EACA,iBAAiB,MAAM,MAAM;AACzB,YAAO,6BAAM,oBAAkB,6BAAM;AAAA,EACzC;AACJ;ACfwB,IAAI,gBAAe;AACpC,MAAM,YAAY;AAAA,EAErB,yBAAyB;AAAA,IACrB,iCAAiC;AAAA,MAC7B,SAAS;AAAA,MACT,eAAe;AAAA,IAC3B;AAAA,IACQ,sBAAsB;AAAA,MAClB,SAAS;AAAA,MACT,eAAe;AAAA,IAC3B;AAAA,IACQ,aAAa;AAAA,MACT,SAAS;AAAA,MACT,eAAe;AAAA,IAC3B;AAAA,EACA;AAAA,EACI,cAAc;AAAA,IACV,0BAA0B;AAAA,MACtB,cAAc;AAAA,MACd,aAAa;AAAA,IACzB;AAAA,IACQ,2BAA2B;AAAA,MACvB,cAAc;AAAA,MACd,aAAa,MAAM,UAAU,OAAM,IAAK,OAAO,SAAS,SAAS;AAAA,IAC7E;AAAA,IACQ,oBAAoB;AAAA,MAChB,cAAc;AAAA,MACd,aAAa,MAAM;AAAA,IAC/B;AAAA,IACQ,wBAAwB;AAAA,MACpB,cAAc;AAAA,MACd,aAAa,MAAM;AAAA,IAC/B;AAAA,IACQ,mBAAmB;AAAA,MACf,cAAc;AAAA,MACd,aAAa,MAAM;AAAA,IAC/B;AAAA,IACQ,qBAAqB;AAAA,MACjB,cAAc;AAAA,MACd,aAAa;AAAA,IACzB;AAAA,IACQ,oBAAoB;AAAA,MAChB,cAAc;AAAA,MACd,aAAa;AAAA,IACzB;AAAA,IACQ,2BAA2B;AAAA,MACvB,cAAc;AAAA,MACd,aAAa;AAAA,IACzB;AAAA,EACA;AACA;AACA,SAAS,SAAS;AACd,SAAO,OAAO,WAAW;AAC7B;ACrDO,MAAM,aAAa;AAAA,EACtB,aAAa,SAAS,QAAQ,SAAS;AACnC,UAAM,gBAAgB+Z,IAAwB;AAAA,MAC1C;AAAA,IACZ,CAAS;AACD,UAAM,EAAE,OAAM,IAAKC,IAAuB;AAAA,MACtC,MAAM;AAAA,IAClB,CAAS;AACD,WAAO,QAAQ,IAAI,SAAS;AACxB,iBAAW,OAAO,MAAM;AACpB,YAAI,eAAe,OAAO;AACtB,kBAAQ,KAAK,GAAG,IAAI;AACpB;AAAA,QACJ;AAAA,MACJ;AACA,cAAQ,QAAW,GAAG,IAAI;AAAA,IAC9B;AACA,WAAO;AAAA,EACX;AACJ;AChBA,MAAM,eAAe;AACd,SAAS,uBAAuB,eAAe,WAAW;AAC7D,QAAM,MAAM,IAAI,IAAI,mCAAmC;AACvD,MAAI,aAAa,IAAI,WAAW,aAAa;AAC7C,MAAI,aAAa,IAAI,aAAa,SAAS;AAC3C,SAAO,IAAI,SAAQ;AACvB;AACA,MAAM,+BAA+B;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ;AACO,MAAM,mBAAmB;AAAA,EAC5B,0BAA0B,QAAQ,WAAW;AACzC,QAAI,aAAa;AACjB,QAAI;AACA,YAAM,MAAM,IAAI,IAAI,MAAM;AAC1B,mBAAa,IAAI,SAAS;AAAA,IAC9B,SACO,GAAG;AACN,mBAAa;AAAA,IACjB;AACA,QAAI,YAAY;AACZ,YAAM,MAAM,IAAI,IAAI,MAAM;AAC1B,UAAI,CAAC,IAAI,aAAa,IAAI,WAAW,GAAG;AACpC,YAAI,aAAa,IAAI,aAAa,SAAS;AAAA,MAC/C;AACA,aAAO,IAAI,SAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACX;AAAA,EACA,cAAc,SAAS;AACnB,WAAO,oBAAoB,WAAW,mBAAmB;AAAA,EAC7D;AAAA,EACA,kBAAkB,SAAS;AACvB,QAAI,KAAK,cAAc,OAAO,GAAG;AAC7B,aAAO,QAAQ;AAAA,IACnB;AACA,WAAOha,gBAAc,MAAM;AAAA,EAC/B;AAAA,EACA,iBAAiB,SAAS;AACtB,QAAI,KAAK,cAAc,OAAO,GAAG;AAC7B,aAAO,QAAQ;AAAA,IACnB;AACA,WAAO,GAAGA,gBAAc,MAAM,GAAG,IAAI,QAAQ,EAAE;AAAA,EACnD;AAAA,EACA,iBAAiB,aAAa,eAAe,WAAW;;AACpD,UAAM,iBAAgBmB,OAAA,uBAAY,YAAZ,mBAAqB,YAArB,mBAA8B,SAA9B,gBAAAA,IAAqC;AAC3D,QAAI,6BAA6B,SAAS,aAAa,GAAG;AACtD,aAAO,uBAAuB,eAAe,SAAS;AAAA,IAC1D;AACA,WAAO,iBAAiB;AAAA,EAC5B;AAAA,EACA,kBAAkB,aAAa,EAAE,wBAAwB,WAAW,cAAa,GAAI;;AACjF,UAAM,iBAAiB,KAAK,kBAAkB,WAAW;AACzD,UAAM,gBAAgB,KAAK,iBAAiB,WAAW;AACvD,UAAM,wBAAuB,iBAAY,QAAQ,QAAQ,SAA5B,mBAAmC;AAChE,UAAM,cAAc,KAAK,iBAAiB,aAAa,eAAe,SAAS;AAC/E,UAAM,uBAAqB,MAAAA,OAAA,gDAAa,YAAb,mBAAuB,oBAAvB,gBAAAA,IAAwC,SAAxC,mBAA+C,OAAM;AAChF,UAAM,2BAAyBqC,MAAA,+CAAgB,mBAAhB,gBAAAA,IAAgC,IAAI,CAAAmB,OAAKA,GAAE,SAAQ,CAAA;AAClF,UAAM,UAAU,CAAC,GAAG,wBAAwB,WAAW;AACvD,UAAM,sBAAsB,CAAC,GAAG,sBAAsB;AACtD,QAAI,sBAAsB,CAAC,oBAAoB,SAAS,kBAAkB,GAAG;AACzE,0BAAoB,KAAK,kBAAkB;AAAA,IAC/C;AACA,WAAO;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,QACJ,SAAS,YAAY,gBAAgB,YAAY,EAAE;AAAA,QACnD,UAAU,iEAAyB,YAAY;AAAA,MAC/D;AAAA,MACY,SAAS;AAAA,QACL,GAAG,YAAY;AAAA,QACf,SAAS;AAAA,UACL,MAAM;AAAA,QAC1B;AAAA,QACgB,cAAc;AAAA,UACV,MAAM;AAAA,QAC1B;AAAA,MACA;AAAA,IACA;AAAA,EACI;AAAA,EACA,mBAAmB,cAAc,EAAE,wBAAwB,WAAW,cAAa,GAAI;AACnF,WAAO,aAAa,IAAI,iBAAe,iBAAiB,kBAAkB,aAAa;AAAA,MACnF;AAAA,MACA;AAAA,MACA;AAAA,IACZ,CAAS,CAAC;AAAA,EACN;AAAA,EACA,iBAAiB,aAAa,WAAW,eAAe;;AACpD,UAAM,aAAa,CAAA;AACnB,mDAAe,QAAQ,YAAU;AAC7B,iBAAW,KAAK,KAAK,OAAO,KAAK,OAAO,MAAM,CAAC;AAAA,IACnD;AACA,QAAI,6BAA6B,SAAS,YAAY,aAAa,GAAG;AAClE,iBAAW,KAAK,KAAK,uBAAuB,YAAY,eAAe,SAAS,GAAG;AAAA,QAC/E,cAAc;AAAA,UACV,SAAS;AAAA,YACL,gBAAgB;AAAA,UACxC;AAAA,QACA;AAAA,MACA,CAAa,CAAC;AAAA,IACN;AACA,KAAAxD,OAAA,sDAAa,YAAb,mBAAsB,YAAtB,mBAA+B,SAA/B,gBAAAA,IAAqC,QAAQ,YAAU;AACnD,iBAAW,KAAK,KAAK,MAAM,CAAC;AAAA,IAChC;AACA,WAAO,SAAS,UAAU;AAAA,EAC9B;AAAA,EACA,sBAAsB,aAAa,WAAW,WAAW;AACrD,QAAI,6BAA6B,SAAS,YAAY,aAAa,GAAG;AAClE,YAAM,cAAc,KAAK,iBAAiB,aAAa,YAAY,eAAe,SAAS;AAC3F,aAAO,SAAS,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;AAAA,IAClD;AACA,WAAO;AAAA,EACX;AAAA,EACA,sBAAsB,eAAe;AACjC,WAAO;AAAA,MACH,IAAI,cAAc,MAAM,GAAG,EAAE,CAAC;AAAA,MAC9B;AAAA,MACA,MAAMnB,gBAAc;AAAA,MACpB,gBAAgB,cAAc,MAAM,GAAG,EAAE,CAAC;AAAA,MAC1C,gBAAgB;AAAA,QACZ,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACxB;AAAA,MACY,SAAS;AAAA,QACL,SAAS;AAAA,UACL,MAAM,CAAA;AAAA,QAC1B;AAAA,MACA;AAAA,IACA;AAAA,EACI;AAAA,EACA,0BAA0B,oBAAoB;;AAC1C,UAAM,2BAA2B,YAAY,uBAAsB;AACnE,UAAM,eAAe,gBAAgB,4BAA2B;AAChE,UAAM,sBAAsB,MAAM,OAAK,qBAAgB,MAAM,WAAtB,mBAA8B,WAAU,EAAE;AACjF,UAAM,YAAY,qEAA0B,MAAM,KAAK;AACvD,UAAM,uBAAuB,YAAY,oBAAoB,SAAS,SAAS,IAAI;AACnF,UAAM,cAAc,6CAAc,KAAK,CAAA2R,QAAMA,IAAG,kBAAkB;AAClE,UAAM,uBAAuB,wBAAwB,CAAC,eAAe;AACrE,QAAI,sBAAsB;AACtB,aAAO,KAAK,sBAAsB,wBAAwB;AAAA,IAC9D;AACA,QAAI,aAAa;AACb,aAAO;AAAA,IACX;AACA,QAAI,oBAAoB;AACpB,aAAO;AAAA,IACX;AACA,WAAO,6CAAe;AAAA,EAC1B;AACJ;AC/LA,MAAM,wBAAwB;AAAA,EAC1B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,QAAQ;AACZ;AACA,MAAM,QAAQ,MAAM;AAAA,EAChB,WAAW,EAAE,GAAG,sBAAqB;AAAA,EACrC,aAAa,EAAE,GAAG,sBAAqB;AAC3C,CAAC;AACM,MAAM,eAAe;AAAA,EACxB;AAAA,EACA,aAAa,KAAK,UAAU;AACxB,WAAOlQ,aAAO,OAAO,KAAK,QAAQ;AAAA,EACtC;AAAA,EACA,UAAU,UAAU;AAChB,WAAO,UAAU,OAAO,MAAM;AAC1B,eAAS,KAAK;AAAA,IAClB,CAAC;AAAA,EACL;AAAA,EACA,mBAAmB,UAAU;AACzB,WAAO,UAAU,MAAM,WAAW,MAAM,SAAS,MAAM,SAAS,CAAC;AAAA,EACrE;AAAA,EACA,YAAY,gBAAgB,UAAU;AAClC,QAAI,UAAU;AACV,YAAM,UAAU,cAAc,IAAI,IAAI,QAAQ;AAAA,IAClD;AAAA,EACJ;AAAA,EACA,YAAY,gBAAgB;AACxB,WAAO,MAAM,UAAU,cAAc;AAAA,EACzC;AAAA,EACA,cAAc,gBAAgB,YAAY;AACtC,QAAI,YAAY;AACZ,YAAM,YAAY,cAAc,IAAI;AAAA,IACxC;AAAA,EACJ;AAAA,EACA,cAAc,gBAAgB;AAC1B,QAAI,CAAC,gBAAgB;AACjB,aAAO;AAAA,IACX;AACA,WAAO,MAAM,YAAY,cAAc;AAAA,EAC3C;AAAA,EACA,QAAQ;AACJ,UAAM,YAAY,EAAE,GAAG,sBAAqB;AAC5C,UAAM,cAAc,EAAE,GAAG,sBAAqB;AAAA,EAClD;AAAA,EACA,WAAW,gBAAgB;AACvB,UAAM,UAAU,cAAc,IAAI;AAClC,UAAM,YAAY,cAAc,IAAI;AAAA,EACxC;AACJ;ACrDY,MAAC,gBAAgB;AAAA,EAEzB,qBAAqB,OAAOxB,cAAY,eAAe,OAAOA,UAAQ,QAAQ,cACxEA,UAAQ,IAAI,gCAAgC,IAC5C,WAAc;AAAA,EACpB,gBAAgB;AAAA,IACZ,MAAM;AAAA,IACN,MAAM;AAAA,EACd;AAAA,EACI,8BAA8B,CAAC,SAAS,UAAU,QAAQ;AAAA,EAC1D,qBAAqB;AAAA,IACjB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,gBAAgB;AAAA,EACxB;AACA;ACXY,MAAC,aAAa;AAAA,EACtB,0BAA0B,SAAS;AAC/B,UAAM,aAAa,kBAAkB,MAAM,gBACrC,oBAAoB,MAAM,aAC1B,CAAA;AACN,UAAM,SAAS,YAAY,iBAAgB;AAC3C,UAAM,iBAAiB,WAClB,IAAI,eAAS;;AAAI,6BAAU,SAAV,mBAAgB;AAAA,KAAI,EACrC,OAAO,OAAO;AACnB,UAAM,cAAc,OAAO,IAAI,YAAU,OAAO,IAAI,EAAE,OAAO,OAAO;AACpE,UAAM,WAAW,eAAe,OAAO,WAAW;AAClD,QAAI,SAAS,SAAS,oBAAoB,KAAK,eAAe,SAAQ,GAAI;AACtE,YAAM,QAAQ,SAAS,QAAQ,oBAAoB;AACnD,eAAS,KAAK,IAAI;AAAA,IACtB;AACA,UAAM,WAAW,QAAQ,OAAO,YAAU,CAAC,SAAS,SAAS,OAAO,iCAAQ,IAAI,CAAC,CAAC;AAClF,WAAO;AAAA,EACX;AAAA,EACA,yBAAyB,SAAS;AAC9B,UAAM,aAAa,oBAAoB,MAAM,WAAW,OAAO,eAAa,UAAU,SAAS,eAAe,UAAU,SAAS,UAAU;AAC3I,UAAM,SAAS,YAAY,iBAAgB;AAC3C,UAAM,eAAe,WAAW,IAAI,eAAa,UAAU,UAAU;AACrE,UAAM,YAAY,OAAO,IAAI,YAAU,OAAO,EAAE;AAChD,UAAM,SAAS,aAAa,OAAO,SAAS;AAC5C,UAAM,WAAW,QAAQ,OAAO,YAAU,CAAC,OAAO,SAAS,iCAAQ,EAAE,CAAC;AACtE,WAAO;AAAA,EACX;AAAA,EACA,0BAA0B,SAAS;AAC/B,UAAM,eAAe,KAAK,0BAA0B,OAAO;AAC3D,UAAM,gBAAgB,KAAK,yBAAyB,YAAY;AAChE,WAAO;AAAA,EACX;AAAA,EACA,uBAAuB,SAAS;AAC5B,UAAM,EAAE,eAAe,oBAAoB;AAC3C,UAAM,EAAE,sBAAsB,kBAAkB;AAChD,UAAM,yBAAyB,WAC1B,OAAO,eAAa,UAAU,SAAS,WAAW,EAClD,OAAO,CAAC,SAAS,cAAc;;AAChC,UAAI,GAAC,eAAU,SAAV,mBAAgB,OAAM;AACvB,eAAO;AAAA,MACX;AACA,cAAQ,UAAU,KAAK,IAAI,IAAI;AAC/B,aAAO;AAAA,IACX,GAAG,CAAA,CAAE;AACL,UAAM,gCAAgC,QAAQ,IAAI,aAAW;AAAA,MACzD,GAAG;AAAA,MACH,WAAW,QAAQ,OAAO,IAAI,KAAK,QAAQ,uBAAuB,OAAO,QAAQ,EAAE,CAAC;AAAA,IAChG,EAAU;AACF,UAAM,gBAAgB,8BAA8B,KAAK,CAAC,SAAS,YAAY;AAC3E,YAAM,yBAAyB,OAAO,QAAQ,SAAS,IAAI,OAAO,QAAQ,SAAS;AACnF,UAAI,2BAA2B,GAAG;AAC9B,eAAO;AAAA,MACX;AACA,UAAI,uDAAmB,QAAQ;AAC3B,cAAM,uBAAuB,kBAAkB,QAAQ,QAAQ,EAAE;AACjE,cAAM,uBAAuB,kBAAkB,QAAQ,QAAQ,EAAE;AACjE,YAAI,yBAAyB,MAAM,yBAAyB,IAAI;AAC5D,iBAAO,uBAAuB;AAAA,QAClC;AACA,YAAI,yBAAyB,IAAI;AAC7B,iBAAO;AAAA,QACX;AACA,YAAI,yBAAyB,IAAI;AAC7B,iBAAO;AAAA,QACX;AAAA,MACJ;AACA,aAAO;AAAA,IACX,CAAC;AACD,WAAO;AAAA,EACX;AAAA,EACA,sBAAsB,WAAW,aAAa;;AAC1C,UAAM,sBAAqB,uCAAW,0BAAuB,uBAAkB,MAAM,aAAxB,mBAAkC;AAC/F,UAAM,aAAa,eAAe,oBAAoB,MAAM;AAC5D,QAAI,oBAAoB;AACpB,aAAO;AAAA,IACX;AACA,UAAM,EAAE,UAAU,cAAc,cAAc,oBAAoB,YAAY,cAAc,MAAM,aAAa,cAAc,MAAM,QAAQ;AAC3I,UAAM,gBAAgB,SAAS,OAAO,cAAc,aAAa;AACjE,UAAM,iBAAiB,UAAU,OAAO,cAAc,aAAa;AACnE,QAAI,cAAc,UAAU,eAAe,QAAQ;AAC/C,aAAO,CAAC,UAAU,SAAS,QAAQ;AAAA,IACvC;AACA,WAAO,cAAc;AAAA,EACzB;AAAA,EACA,WAAW,QAAQ;AACf,UAAM,iBAAiB,QAAQ,OAAO,IAAI,KAAK,cAAc,MAAM,gBAAgB,KAAK,CAAAgB,OAAKA,GAAE,SAAS,OAAO,IAAI;AACnH,UAAM,iBAAiB,QAAQ,OAAO,IAAI,KACtC,cAAc,MAAM,gBAAgB,KAAK,CAAAA,OAAK,YAAY,iBAAiBA,GAAE,MAAM,OAAO,IAAI,CAAC;AACnG,WAAO,kBAAkB;AAAA,EAC7B;AACJ;AC1FY,MAAC,gBAAgB;AAAA,EACzB,oBAAoB,YAAY,aAAa,UAAU;AACnD,UAAM,EAAE,kBAAkB,kBAAkB;AAC5C,UAAM,SAAS,YAAY,iBAAgB;AAC3C,UAAM,sBAAsB,WAAW,0BAA0B,WAAW;AAC5E,UAAM,mBAAmB,WAAW,0BAA0B,QAAQ;AACtE,UAAM,aAAa,WAAW,OAAO,eAAa,UAAU,SAAS,aAAa;AAClF,UAAM,YAAY,WAAW,OAAO,eAAa,UAAU,SAAS,WAAW;AAC/E,UAAM,WAAW,WAAW,OAAO,eAAa,UAAU,SAAS,UAAU;AAC7E,UAAM,WAAW,WAAW,OAAO,eAAa,UAAU,SAAS,UAAU;AAC7E,WAAO;AAAA,MACH,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,aAAa;AAAA,MACb,UAAU;AAAA,IACtB;AAAA,EACI;AAAA,EACA,cAAc,WAAW;;AACrB,UAAM,QAAO,eAAU,SAAV,mBAAgB;AAC7B,UAAM,iBAAiB,QAAQ,IAAI,KAC/B,cAAc,MAAM,gBAAgB,KAAK,YAAU,QAAQ,OAAO,IAAI,KAAK,OAAO,SAAS,IAAI;AACnG,UAAM,iBAAiB,QAAQ,UAAU,IAAI,KACzC,cAAc,MAAM,gBAAgB,KAAK,YAAU,YAAY,iBAAiB,OAAO,MAAM,UAAU,IAAI,CAAC;AAChH,QAAI,UAAU,SAAS,YAAY;AAC/B,YAAM,kBAAkB,UAAU,SAAS;AAC3C,UAAI,iBAAiB;AACjB,YAAI,CAAC,eAAe,YAAY;AAC5B,iBAAO;AAAA,QACX;AACA,YAAI,eAAe,cAAc,CAAC,QAAQ,CAAC,qBAAqB,kBAAkB;AAC9E,iBAAO;AAAA,QACX;AAAA,MACJ;AACA,UAAI,kBAAkB,gBAAgB;AAClC,eAAO;AAAA,MACX;AAAA,IACJ;AACA,SAAK,UAAU,SAAS,eAAe,UAAU,SAAS,gBACrD,kBAAkB,iBAAiB;AACpC,aAAO;AAAA,IACX;AACA,WAAO;AAAA,EACX;AAAA,EACA,uBAAuB;AACnB,UAAM,SAAS,MAAM,KAAK,gBAAgB,MAAM,OAAO,QAAQ;AAC/D,UAAM,oBAAoB,OAAO,KAAK,WAAS;AAC3C,YAAM,cAAc,oBAAoB,eAAe,MAAM,SAAS;AACtE,aAAO,gBAAgBjB,gBAAc,aAAa;AAAA,IACtD,CAAC;AACD,WAAO;AAAA,EACX;AAAA,EACA,sBAAsB,EAAE,aAAa,UAAU,QAAQ,QAAQ,WAAW,UAAU,YAAY,UAAU,wBAAuB,gCAAkB,MAAM,aAAxB,mBAAkC,yBAAsB,CAAA,KAAM;AAC3L,UAAM,oBAAoB,cAAc,qBAAoB;AAC5D,UAAM,cAAc,kBAAkB,MAAM;AAC5C,UAAM,gBAAgB;AAAA,MAClB,EAAE,MAAM,iBAAiB,WAAW,eAAe,CAAC,kBAAiB;AAAA,MACrE,EAAE,MAAM,UAAU,WAAW,OAAO,SAAS,EAAC;AAAA,MAC9C,EAAE,MAAM,YAAY,WAAW,CAAC,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,EAAE,SAAS,EAAC;AAAA,MACpF,EAAE,MAAM,YAAY,WAAW,SAAS,SAAS,EAAC;AAAA,MAClD,EAAE,MAAM,UAAU,WAAW,UAAU,OAAO,SAAS,EAAC;AAAA,MACxD,EAAE,MAAM,YAAY,WAAW,SAAS,SAAS,EAAC;AAAA,MAClD,EAAE,MAAM,eAAe,WAAW,YAAY,SAAS,EAAC;AAAA,IACpE;AACQ,UAAM,oBAAoB,cAAc,OAAO,YAAU,OAAO,SAAS;AACzE,UAAM,wBAAwB,IAAI,IAAI,kBAAkB,IAAI,YAAU,OAAO,IAAI,CAAC;AAClF,UAAM,wBAAwB,qBACzB,OAAO,UAAQ,sBAAsB,IAAI,IAAI,CAAC,EAC9C,IAAI,WAAS,EAAE,MAAM,WAAW,KAAI,EAAG;AAC5C,UAAM,sBAAsB,kBAAkB,OAAO,CAAC,EAAE,MAAM,2BAA2B;AACrF,YAAM,0BAA0B,sBAAsB,KAAK,CAAC,EAAE,MAAM,yBAAwB,MAAO,6BAA6B,oBAAoB;AACpJ,aAAO,CAAC;AAAA,IACZ,CAAC;AACD,WAAO,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,uBAAuB,GAAG,mBAAmB,EAAE,IAAI,CAAC,EAAE,KAAI,MAAO,IAAI,CAAC,CAAC;AAAA,EACzG;AACJ;AChFA,IAAI,WAAW;AACf,IAAI,cAAc;AAClB,IAAI,eAAe;AACZ,SAAS,kBAAkB,gBAAgB,WAAW;AACzD,aAAW,SAAS,cAAc,OAAO;AACzC,gBAAc,SAAS,cAAc,OAAO;AAC5C,iBAAe,SAAS,cAAc,OAAO;AAC7C,WAAS,cAAc,iBAAiB,cAAc,EAAE,KAAK;AAC7D,cAAY,cAAc,iBAAiB,cAAc,EAAE,KAAK;AAChE,eAAa,cAAc,iBAAiB,cAAc,EAAE,MAAM;AAClE,WAAS,KAAK,YAAY,QAAQ;AAClC,WAAS,KAAK,YAAY,WAAW;AACrC,WAAS,KAAK,YAAY,YAAY;AACtC,gBAAc,SAAS;AAC3B;AACO,SAAS,cAAc,WAAW;AACrC,MAAI,eAAe,cAAc;AAC7B,QAAI,cAAc,SAAS;AACvB,kBAAY,gBAAgB,OAAO;AACnC,mBAAa,QAAQ;AAAA,IACzB,OACK;AACD,mBAAa,gBAAgB,OAAO;AACpC,kBAAY,QAAQ;AAAA,IACxB;AAAA,EACJ;AACJ;AACO,SAAS,kBAAkB,gBAAgB;AAC9C,MAAI,YAAY,eAAe,cAAc;AACzC,aAAS,cAAc,iBAAiB,cAAc,EAAE,KAAK;AAC7D,gBAAY,cAAc,iBAAiB,cAAc,EAAE,KAAK;AAChE,iBAAa,cAAc,iBAAiB,cAAc,EAAE,MAAM;AAAA,EACtE;AACJ;AACA,SAAS,iBAAiB,gBAAgB;AACtC,SAAO;AAAA,IACH,MAAMia;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,oCAoDsBC,KAAU,iDAAiB,+BACjD,GAAG,eAAe,0BAA0B,CAAC,MAC7C,IAAI,CAAC;AAAA,6BACUA,KAAU,iDAAiB,yBAC5C,wGAAwG,CAAC;AAAA,kCACnFA,KAAU,iDAAiB,8BAA6B,MAAM,CAAC;AAAA,sCAC3DA,KAAU,iDAAiB,kCAAiC,KAAK,CAAC;AAAA,yBAC/EA,KAAU,iDAAiB,qBAAoB,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79]}