@reown/appkit-cdn 1.8.15-ea982070c1d274f5971447c430b6d77717082e78.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-BTJjr2qs.js +0 -24
  3. package/dist/ConstantsUtil-BTJjr2qs.js.map +0 -1
  4. package/dist/ExchangeController-CncqkHeT.js +0 -265
  5. package/dist/ExchangeController-CncqkHeT.js.map +0 -1
  6. package/dist/HelpersUtil-CwxnHyjS.js +0 -141
  7. package/dist/HelpersUtil-CwxnHyjS.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-DsYbP4IS.js +0 -684
  115. package/dist/SwapController-DsYbP4IS.js.map +0 -1
  116. package/dist/WebCryptoP256-Czt7ZkJ7.js +0 -3299
  117. package/dist/WebCryptoP256-Czt7ZkJ7.js.map +0 -1
  118. package/dist/add-UkulHTXi.js +0 -20
  119. package/dist/add-UkulHTXi.js.map +0 -1
  120. package/dist/all-wallets-DhJCVmL_.js +0 -11
  121. package/dist/all-wallets-DhJCVmL_.js.map +0 -1
  122. package/dist/app-store-Ern3I2La.js +0 -22
  123. package/dist/app-store-Ern3I2La.js.map +0 -1
  124. package/dist/appkit-ppmICUF1.js +0 -118106
  125. package/dist/appkit-ppmICUF1.js.map +0 -1
  126. package/dist/appkit.js +0 -11
  127. package/dist/appkit.js.map +0 -1
  128. package/dist/apple-_SZ-XSIx.js +0 -23
  129. package/dist/apple-_SZ-XSIx.js.map +0 -1
  130. package/dist/arrow-bottom-D7Qlu6xE.js +0 -13
  131. package/dist/arrow-bottom-D7Qlu6xE.js.map +0 -1
  132. package/dist/arrow-bottom-circle-Cel-TDaT.js +0 -16
  133. package/dist/arrow-bottom-circle-Cel-TDaT.js.map +0 -1
  134. package/dist/arrow-left-ByNxCvA_.js +0 -13
  135. package/dist/arrow-left-ByNxCvA_.js.map +0 -1
  136. package/dist/arrow-right-yep9R_ud.js +0 -13
  137. package/dist/arrow-right-yep9R_ud.js.map +0 -1
  138. package/dist/arrow-top-C1WlBAfk.js +0 -13
  139. package/dist/arrow-top-C1WlBAfk.js.map +0 -1
  140. package/dist/async-directive-C9EnweIr.js +0 -73
  141. package/dist/async-directive-C9EnweIr.js.map +0 -1
  142. package/dist/bank-Dm8zmIr0.js +0 -19
  143. package/dist/bank-Dm8zmIr0.js.map +0 -1
  144. package/dist/basic-UB459qAF.js +0 -4914
  145. package/dist/basic-UB459qAF.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-LYv8PF5c.js +0 -19
  149. package/dist/browser-LYv8PF5c.js.map +0 -1
  150. package/dist/card-CEQLkIir.js +0 -19
  151. package/dist/card-CEQLkIir.js.map +0 -1
  152. package/dist/ccip-Dj8tRQd7.js +0 -164
  153. package/dist/ccip-Dj8tRQd7.js.map +0 -1
  154. package/dist/checkmark-DPFC_0yn.js +0 -16
  155. package/dist/checkmark-DPFC_0yn.js.map +0 -1
  156. package/dist/checkmark-bold-Hwfezlkn.js +0 -13
  157. package/dist/checkmark-bold-Hwfezlkn.js.map +0 -1
  158. package/dist/chevron-bottom-qsPvhQDo.js +0 -13
  159. package/dist/chevron-bottom-qsPvhQDo.js.map +0 -1
  160. package/dist/chevron-left-CA4SOr_F.js +0 -13
  161. package/dist/chevron-left-CA4SOr_F.js.map +0 -1
  162. package/dist/chevron-right-TeVZyORZ.js +0 -13
  163. package/dist/chevron-right-TeVZyORZ.js.map +0 -1
  164. package/dist/chevron-top-B7LCiM2n.js +0 -13
  165. package/dist/chevron-top-B7LCiM2n.js.map +0 -1
  166. package/dist/chrome-store-CU7w_5QC.js +0 -66
  167. package/dist/chrome-store-CU7w_5QC.js.map +0 -1
  168. package/dist/class-map-B814K2ej.js +0 -101
  169. package/dist/class-map-B814K2ej.js.map +0 -1
  170. package/dist/clock-DcbItfiJ.js +0 -13
  171. package/dist/clock-DcbItfiJ.js.map +0 -1
  172. package/dist/close-B22QsrS0.js +0 -13
  173. package/dist/close-B22QsrS0.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-BNrjpg6-.js +0 -13
  177. package/dist/coinPlaceholder-BNrjpg6-.js.map +0 -1
  178. package/dist/compass-C7GRFU39.js +0 -13
  179. package/dist/compass-C7GRFU39.js.map +0 -1
  180. package/dist/copy-BcrOhyLL.js +0 -20
  181. package/dist/copy-BcrOhyLL.js.map +0 -1
  182. package/dist/core-BI_Ap4BF.js +0 -16288
  183. package/dist/core-BI_Ap4BF.js.map +0 -1
  184. package/dist/cursor-AJkpyAWk.js +0 -8
  185. package/dist/cursor-AJkpyAWk.js.map +0 -1
  186. package/dist/cursor-transparent-C1dF4GFm.js +0 -17
  187. package/dist/cursor-transparent-C1dF4GFm.js.map +0 -1
  188. package/dist/data-capture-CqwQ1053.js +0 -549
  189. package/dist/data-capture-CqwQ1053.js.map +0 -1
  190. package/dist/desktop-C60oOo59.js +0 -14
  191. package/dist/desktop-C60oOo59.js.map +0 -1
  192. package/dist/disconnect-DqS517fE.js +0 -13
  193. package/dist/disconnect-DqS517fE.js.map +0 -1
  194. package/dist/discord-D1qNpgLJ.js +0 -22
  195. package/dist/discord-D1qNpgLJ.js.map +0 -1
  196. package/dist/email-UK97sxf8.js +0 -421
  197. package/dist/email-UK97sxf8.js.map +0 -1
  198. package/dist/embedded-wallet-f8ft4R2q.js +0 -952
  199. package/dist/embedded-wallet-f8ft4R2q.js.map +0 -1
  200. package/dist/etherscan-BWSY3GuJ.js +0 -11
  201. package/dist/etherscan-BWSY3GuJ.js.map +0 -1
  202. package/dist/exclamation-triangle-nypPoZ5T.js +0 -9
  203. package/dist/exclamation-triangle-nypPoZ5T.js.map +0 -1
  204. package/dist/extension-BuFHuaRl.js +0 -13
  205. package/dist/extension-BuFHuaRl.js.map +0 -1
  206. package/dist/external-link-L3QQJwck.js +0 -13
  207. package/dist/external-link-L3QQJwck.js.map +0 -1
  208. package/dist/facebook-BbbjiGyt.js +0 -31
  209. package/dist/facebook-BbbjiGyt.js.map +0 -1
  210. package/dist/farcaster-CDar3vjq.js +0 -17
  211. package/dist/farcaster-CDar3vjq.js.map +0 -1
  212. package/dist/features-Dne1ZyJy.js +0 -319
  213. package/dist/features-Dne1ZyJy.js.map +0 -1
  214. package/dist/filters-BprVfwTM.js +0 -13
  215. package/dist/filters-BprVfwTM.js.map +0 -1
  216. package/dist/github-BFRFSS65.js +0 -23
  217. package/dist/github-BFRFSS65.js.map +0 -1
  218. package/dist/google-DX3b-tuu.js +0 -23
  219. package/dist/google-DX3b-tuu.js.map +0 -1
  220. package/dist/hashTypedData-MEx8_Z-J.js +0 -262
  221. package/dist/hashTypedData-MEx8_Z-J.js.map +0 -1
  222. package/dist/help-circle-PtWG4XV9.js +0 -17
  223. package/dist/help-circle-PtWG4XV9.js.map +0 -1
  224. package/dist/id-BKzsrqpW.js +0 -17
  225. package/dist/id-BKzsrqpW.js.map +0 -1
  226. package/dist/if-defined-CyuCf775.js +0 -11
  227. package/dist/if-defined-CyuCf775.js.map +0 -1
  228. package/dist/image-2qjHFSqv.js +0 -9
  229. package/dist/image-2qjHFSqv.js.map +0 -1
  230. package/dist/index-57er67ch.js +0 -131
  231. package/dist/index-57er67ch.js.map +0 -1
  232. package/dist/index-B-MpJOWW.js +0 -3987
  233. package/dist/index-B-MpJOWW.js.map +0 -1
  234. package/dist/index-B2f4UbAK.js +0 -257
  235. package/dist/index-B2f4UbAK.js.map +0 -1
  236. package/dist/index-B4xD2s69.js +0 -62
  237. package/dist/index-B4xD2s69.js.map +0 -1
  238. package/dist/index-BF4uePO9.js +0 -126
  239. package/dist/index-BF4uePO9.js.map +0 -1
  240. package/dist/index-BG3007yu.js +0 -542
  241. package/dist/index-BG3007yu.js.map +0 -1
  242. package/dist/index-BPqsyCu1.js +0 -249
  243. package/dist/index-BPqsyCu1.js.map +0 -1
  244. package/dist/index-BTFeMb7h.js +0 -2277
  245. package/dist/index-BTFeMb7h.js.map +0 -1
  246. package/dist/index-B_z_MPZ-.js +0 -180
  247. package/dist/index-B_z_MPZ-.js.map +0 -1
  248. package/dist/index-Biw_bFmP.js +0 -70
  249. package/dist/index-Biw_bFmP.js.map +0 -1
  250. package/dist/index-BnY1urGu.js +0 -441
  251. package/dist/index-BnY1urGu.js.map +0 -1
  252. package/dist/index-C1OrBJOZ.js +0 -218
  253. package/dist/index-C1OrBJOZ.js.map +0 -1
  254. package/dist/index-CHvzOG0E.js +0 -1372
  255. package/dist/index-CHvzOG0E.js.map +0 -1
  256. package/dist/index-CKaIBA_q.js +0 -153
  257. package/dist/index-CKaIBA_q.js.map +0 -1
  258. package/dist/index-CLefivQ6.js +0 -124
  259. package/dist/index-CLefivQ6.js.map +0 -1
  260. package/dist/index-COvWUE72.js +0 -716
  261. package/dist/index-COvWUE72.js.map +0 -1
  262. package/dist/index-CRhk6ovx.js +0 -198
  263. package/dist/index-CRhk6ovx.js.map +0 -1
  264. package/dist/index-CfTNvhZC.js +0 -967
  265. package/dist/index-CfTNvhZC.js.map +0 -1
  266. package/dist/index-CjCwufpz.js +0 -120
  267. package/dist/index-CjCwufpz.js.map +0 -1
  268. package/dist/index-Ck3zz_LE.js +0 -984
  269. package/dist/index-Ck3zz_LE.js.map +0 -1
  270. package/dist/index-CqVDx2Ua.js +0 -9350
  271. package/dist/index-CqVDx2Ua.js.map +0 -1
  272. package/dist/index-CrF2nCtM.js +0 -211
  273. package/dist/index-CrF2nCtM.js.map +0 -1
  274. package/dist/index-Crnbnlbl.js +0 -8825
  275. package/dist/index-Crnbnlbl.js.map +0 -1
  276. package/dist/index-D7bwcPcO.js +0 -147
  277. package/dist/index-D7bwcPcO.js.map +0 -1
  278. package/dist/index-DAmhDlFG.js +0 -985
  279. package/dist/index-DAmhDlFG.js.map +0 -1
  280. package/dist/index-DF9XlWjQ.js +0 -456
  281. package/dist/index-DF9XlWjQ.js.map +0 -1
  282. package/dist/index-DGtLnlsD.js +0 -521
  283. package/dist/index-DGtLnlsD.js.map +0 -1
  284. package/dist/index-DIDlQZ9c.js +0 -1582
  285. package/dist/index-DIDlQZ9c.js.map +0 -1
  286. package/dist/index-DJe9wj3q.js +0 -136
  287. package/dist/index-DJe9wj3q.js.map +0 -1
  288. package/dist/index-DPlE9Qgr.js +0 -73
  289. package/dist/index-DPlE9Qgr.js.map +0 -1
  290. package/dist/index-DVXtgl7V.js +0 -7481
  291. package/dist/index-DVXtgl7V.js.map +0 -1
  292. package/dist/index-DWLAu0nH.js +0 -110
  293. package/dist/index-DWLAu0nH.js.map +0 -1
  294. package/dist/index-DXCwyaz_.js +0 -147
  295. package/dist/index-DXCwyaz_.js.map +0 -1
  296. package/dist/index-D_NteNrS.js +0 -198
  297. package/dist/index-D_NteNrS.js.map +0 -1
  298. package/dist/index-Dg65-p7m.js +0 -7258
  299. package/dist/index-Dg65-p7m.js.map +0 -1
  300. package/dist/index-Du7PdWv1.js +0 -181
  301. package/dist/index-Du7PdWv1.js.map +0 -1
  302. package/dist/index-HOjNYM_k.js +0 -92
  303. package/dist/index-HOjNYM_k.js.map +0 -1
  304. package/dist/index-MwW0rp8T.js +0 -286
  305. package/dist/index-MwW0rp8T.js.map +0 -1
  306. package/dist/index-OCzLDbWt.js +0 -18322
  307. package/dist/index-OCzLDbWt.js.map +0 -1
  308. package/dist/index-Sf3UCmHB.js +0 -611
  309. package/dist/index-Sf3UCmHB.js.map +0 -1
  310. package/dist/index-Zt_Jj4gf.js +0 -520
  311. package/dist/index-Zt_Jj4gf.js.map +0 -1
  312. package/dist/index-kb6zqfNt.js +0 -1178
  313. package/dist/index-kb6zqfNt.js.map +0 -1
  314. package/dist/index-rYPftA0P.js +0 -52
  315. package/dist/index-rYPftA0P.js.map +0 -1
  316. package/dist/index-tdPUUHj0.js +0 -281
  317. package/dist/index-tdPUUHj0.js.map +0 -1
  318. package/dist/index-wVp4UjVg.js +0 -182
  319. package/dist/index-wVp4UjVg.js.map +0 -1
  320. package/dist/index-ywRnp0Bi.js +0 -109
  321. package/dist/index-ywRnp0Bi.js.map +0 -1
  322. package/dist/index.es-BrfaQK0n.js +0 -8391
  323. package/dist/index.es-BrfaQK0n.js.map +0 -1
  324. package/dist/info-BhM-vMtG.js +0 -8
  325. package/dist/info-BhM-vMtG.js.map +0 -1
  326. package/dist/info-circle-DwGnsKMj.js +0 -17
  327. package/dist/info-circle-DwGnsKMj.js.map +0 -1
  328. package/dist/jsxRuntime.module-BW0yCO8A.js +0 -14
  329. package/dist/jsxRuntime.module-BW0yCO8A.js.map +0 -1
  330. package/dist/lightbulb-BvGmXMuo.js +0 -8
  331. package/dist/lightbulb-BvGmXMuo.js.map +0 -1
  332. package/dist/localBatchGatewayRequest-CLL1gABv.js +0 -103
  333. package/dist/localBatchGatewayRequest-CLL1gABv.js.map +0 -1
  334. package/dist/mail-Cl70v1Dx.js +0 -13
  335. package/dist/mail-Cl70v1Dx.js.map +0 -1
  336. package/dist/metamask-sdk-BzQ933Ju.js +0 -16699
  337. package/dist/metamask-sdk-BzQ933Ju.js.map +0 -1
  338. package/dist/mobile-BCINjy0Y.js +0 -14
  339. package/dist/mobile-BCINjy0Y.js.map +0 -1
  340. package/dist/more-Cozw6-SQ.js +0 -16
  341. package/dist/more-Cozw6-SQ.js.map +0 -1
  342. package/dist/native-Dc_5StoC.js +0 -17
  343. package/dist/native-Dc_5StoC.js.map +0 -1
  344. package/dist/network-placeholder-o2Dz_YnK.js +0 -19
  345. package/dist/network-placeholder-o2Dz_YnK.js.map +0 -1
  346. package/dist/nftPlaceholder-Bjf9SAC-.js +0 -13
  347. package/dist/nftPlaceholder-Bjf9SAC-.js.map +0 -1
  348. package/dist/off-BsVJ8v6H.js +0 -13
  349. package/dist/off-BsVJ8v6H.js.map +0 -1
  350. package/dist/onramp-C4DqYEmw.js +0 -979
  351. package/dist/onramp-C4DqYEmw.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-MJforcG6.js +0 -4690
  355. package/dist/parseSignature-MJforcG6.js.map +0 -1
  356. package/dist/pay-with-exchange-DC29BzBo.js +0 -603
  357. package/dist/pay-with-exchange-DC29BzBo.js.map +0 -1
  358. package/dist/play-store-DIOK4cBW.js +0 -37
  359. package/dist/play-store-DIOK4cBW.js.map +0 -1
  360. package/dist/plus-Cxls3O6G.js +0 -18
  361. package/dist/plus-Cxls3O6G.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-Cp6lpAcY.js +0 -11
  365. package/dist/qr-code-Cp6lpAcY.js.map +0 -1
  366. package/dist/receive-BLI57snb.js +0 -262
  367. package/dist/receive-BLI57snb.js.map +0 -1
  368. package/dist/recycle-horizontal-AEJ_nbSP.js +0 -14
  369. package/dist/recycle-horizontal-AEJ_nbSP.js.map +0 -1
  370. package/dist/ref-BobNUvS_.js +0 -43
  371. package/dist/ref-BobNUvS_.js.map +0 -1
  372. package/dist/refresh-7roUeD2M.js +0 -13
  373. package/dist/refresh-7roUeD2M.js.map +0 -1
  374. package/dist/reown-logo-xggoIKX2.js +0 -17
  375. package/dist/reown-logo-xggoIKX2.js.map +0 -1
  376. package/dist/search-DgzcpMUb.js +0 -13
  377. package/dist/search-DgzcpMUb.js.map +0 -1
  378. package/dist/secp256k1-D_j0Z4BY.js +0 -2031
  379. package/dist/secp256k1-D_j0Z4BY.js.map +0 -1
  380. package/dist/send-D7M2-Upc.js +0 -20
  381. package/dist/send-D7M2-Upc.js.map +0 -1
  382. package/dist/send-TAzhXOOa.js +0 -1365
  383. package/dist/send-TAzhXOOa.js.map +0 -1
  384. package/dist/socials-BXTq602s.js +0 -796
  385. package/dist/socials-BXTq602s.js.map +0 -1
  386. package/dist/swapHorizontal-2gzDDUNF.js +0 -13
  387. package/dist/swapHorizontal-2gzDDUNF.js.map +0 -1
  388. package/dist/swapHorizontalBold-C1cHwAjU.js +0 -13
  389. package/dist/swapHorizontalBold-C1cHwAjU.js.map +0 -1
  390. package/dist/swapHorizontalMedium-BQno5vep.js +0 -21
  391. package/dist/swapHorizontalMedium-BQno5vep.js.map +0 -1
  392. package/dist/swapHorizontalRoundedBold-CYmZDeQ5.js +0 -13
  393. package/dist/swapHorizontalRoundedBold-CYmZDeQ5.js.map +0 -1
  394. package/dist/swapVertical-BhRPysBs.js +0 -13
  395. package/dist/swapVertical-BhRPysBs.js.map +0 -1
  396. package/dist/swaps-DQ-uUZvX.js +0 -2121
  397. package/dist/swaps-DQ-uUZvX.js.map +0 -1
  398. package/dist/telegram-B-YOyhte.js +0 -21
  399. package/dist/telegram-B-YOyhte.js.map +0 -1
  400. package/dist/three-dots-8mr70UzU.js +0 -10
  401. package/dist/three-dots-8mr70UzU.js.map +0 -1
  402. package/dist/transactions-C4p83vMQ.js +0 -38
  403. package/dist/transactions-C4p83vMQ.js.map +0 -1
  404. package/dist/twitch-C2ccExfT.js +0 -23
  405. package/dist/twitch-C2ccExfT.js.map +0 -1
  406. package/dist/twitterIcon-IkT5wPxq.js +0 -11
  407. package/dist/twitterIcon-IkT5wPxq.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-BfilAaob.js +0 -13
  411. package/dist/verify-BfilAaob.js.map +0 -1
  412. package/dist/verify-filled-COkWKgPo.js +0 -13
  413. package/dist/verify-filled-COkWKgPo.js.map +0 -1
  414. package/dist/w3m-modal-9MzgEqm3.js +0 -1725
  415. package/dist/w3m-modal-9MzgEqm3.js.map +0 -1
  416. package/dist/w3m-modal-DBQU256b.js +0 -2008
  417. package/dist/w3m-modal-DBQU256b.js.map +0 -1
  418. package/dist/wallet-9D5svrZj.js +0 -13
  419. package/dist/wallet-9D5svrZj.js.map +0 -1
  420. package/dist/wallet-placeholder-CfLGKG93.js +0 -19
  421. package/dist/wallet-placeholder-CfLGKG93.js.map +0 -1
  422. package/dist/wallet-standard-CkMoUaGA.js +0 -523
  423. package/dist/wallet-standard-CkMoUaGA.js.map +0 -1
  424. package/dist/walletconnect-MtAz2u7z.js +0 -39
  425. package/dist/walletconnect-MtAz2u7z.js.map +0 -1
  426. package/dist/warning-circle-Cf2AJecu.js +0 -17
  427. package/dist/warning-circle-Cf2AJecu.js.map +0 -1
  428. package/dist/x-B0KhGb39.js +0 -17
  429. package/dist/x-B0KhGb39.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"metamask-sdk-BzQ933Ju.js","sources":["../../../node_modules/.pnpm/cross-fetch@4.1.0/node_modules/cross-fetch/dist/browser-ponyfill.js","../../../node_modules/.pnpm/ms@2.1.2/node_modules/ms/index.js","../../../node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/common.js","../../../node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/browser.js","../../../node_modules/.pnpm/openapi-fetch@0.13.8/node_modules/openapi-fetch/dist/cjs/index.cjs","../../../node_modules/.pnpm/@metamask+sdk-analytics@0.0.5/node_modules/@metamask/sdk-analytics/dist/index.js","../../../node_modules/.pnpm/eventemitter2@6.4.9/node_modules/eventemitter2/lib/eventemitter2.js","../../../node_modules/.pnpm/engine.io-parser@5.2.3/node_modules/engine.io-parser/build/esm/commons.js","../../../node_modules/.pnpm/engine.io-parser@5.2.3/node_modules/engine.io-parser/build/esm/encodePacket.browser.js","../../../node_modules/.pnpm/engine.io-parser@5.2.3/node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js","../../../node_modules/.pnpm/engine.io-parser@5.2.3/node_modules/engine.io-parser/build/esm/decodePacket.browser.js","../../../node_modules/.pnpm/engine.io-parser@5.2.3/node_modules/engine.io-parser/build/esm/index.js","../../../node_modules/.pnpm/@socket.io+component-emitter@3.1.2/node_modules/@socket.io/component-emitter/lib/esm/index.js","../../../node_modules/.pnpm/engine.io-client@6.6.3_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/engine.io-client/build/esm/globals.js","../../../node_modules/.pnpm/engine.io-client@6.6.3_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/engine.io-client/build/esm/util.js","../../../node_modules/.pnpm/engine.io-client@6.6.3_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/engine.io-client/build/esm/contrib/parseqs.js","../../../node_modules/.pnpm/engine.io-client@6.6.3_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/engine.io-client/build/esm/transport.js","../../../node_modules/.pnpm/engine.io-client@6.6.3_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/engine.io-client/build/esm/transports/polling.js","../../../node_modules/.pnpm/engine.io-client@6.6.3_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/engine.io-client/build/esm/contrib/has-cors.js","../../../node_modules/.pnpm/engine.io-client@6.6.3_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/engine.io-client/build/esm/transports/polling-xhr.js","../../../node_modules/.pnpm/engine.io-client@6.6.3_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/engine.io-client/build/esm/transports/websocket.js","../../../node_modules/.pnpm/engine.io-client@6.6.3_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/engine.io-client/build/esm/transports/webtransport.js","../../../node_modules/.pnpm/engine.io-client@6.6.3_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/engine.io-client/build/esm/transports/index.js","../../../node_modules/.pnpm/engine.io-client@6.6.3_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/engine.io-client/build/esm/contrib/parseuri.js","../../../node_modules/.pnpm/engine.io-client@6.6.3_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/engine.io-client/build/esm/socket.js","../../../node_modules/.pnpm/socket.io-client@4.8.1_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/socket.io-client/build/esm/url.js","../../../node_modules/.pnpm/socket.io-parser@4.2.4/node_modules/socket.io-parser/build/esm/is-binary.js","../../../node_modules/.pnpm/socket.io-parser@4.2.4/node_modules/socket.io-parser/build/esm/binary.js","../../../node_modules/.pnpm/socket.io-parser@4.2.4/node_modules/socket.io-parser/build/esm/index.js","../../../node_modules/.pnpm/socket.io-client@4.8.1_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/socket.io-client/build/esm/on.js","../../../node_modules/.pnpm/socket.io-client@4.8.1_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/socket.io-client/build/esm/socket.js","../../../node_modules/.pnpm/socket.io-client@4.8.1_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/socket.io-client/build/esm/contrib/backo2.js","../../../node_modules/.pnpm/socket.io-client@4.8.1_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/socket.io-client/build/esm/manager.js","../../../node_modules/.pnpm/socket.io-client@4.8.1_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/socket.io-client/build/esm/index.js","../../../node_modules/.pnpm/@metamask+sdk@0.33.1_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/@metamask/sdk/dist/browser/es/metamask-sdk.js"],"sourcesContent":["// Save global object in a variable\nvar __global__ =\n(typeof globalThis !== 'undefined' && globalThis) ||\n(typeof self !== 'undefined' && self) ||\n(typeof global !== 'undefined' && global);\n// Create an object that extends from __global__ without the fetch function\nvar __globalThis__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = __global__.DOMException\n}\nF.prototype = __global__; // Needed for feature detection on whatwg-fetch's code\nreturn new F();\n})();\n// Wraps whatwg-fetch with a function scope to hijack the global object\n// \"globalThis\" that's going to be patched\n(function(globalThis) {\n\nvar irrelevant = (function (exports) {\n\n /* eslint-disable no-prototype-builtins */\n var g =\n (typeof globalThis !== 'undefined' && globalThis) ||\n (typeof self !== 'undefined' && self) ||\n // eslint-disable-next-line no-undef\n (typeof global !== 'undefined' && global) ||\n {};\n\n var support = {\n searchParams: 'URLSearchParams' in g,\n iterable: 'Symbol' in g && 'iterator' in Symbol,\n blob:\n 'FileReader' in g &&\n 'Blob' in g &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in g,\n arrayBuffer: 'ArrayBuffer' in g\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n throw new TypeError('Invalid character in header field name: \"' + name + '\"')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n if (header.length != 2) {\n throw new TypeError('Headers constructor: expected name/value pair to be length 2, found' + header.length)\n }\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body._noBody) return\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n var match = /charset=([A-Za-z0-9_-]+)/.exec(blob.type);\n var encoding = match ? match[1] : 'utf-8';\n reader.readAsText(blob, encoding);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n // eslint-disable-next-line no-self-assign\n this.bodyUsed = this.bodyUsed;\n this._bodyInit = body;\n if (!body) {\n this._noBody = true;\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n var isConsumed = consumed(this);\n if (isConsumed) {\n return isConsumed\n } else if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n return Promise.resolve(\n this._bodyArrayBuffer.buffer.slice(\n this._bodyArrayBuffer.byteOffset,\n this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n )\n )\n } else {\n return Promise.resolve(this._bodyArrayBuffer)\n }\n } else if (support.blob) {\n return this.blob().then(readBlobAsArrayBuffer)\n } else {\n throw new Error('could not read as ArrayBuffer')\n }\n };\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['CONNECT', 'DELETE', 'GET', 'HEAD', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'TRACE'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n if (!(this instanceof Request)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal || (function () {\n if ('AbortController' in g) {\n var ctrl = new AbortController();\n return ctrl.signal;\n }\n }());\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n\n if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/;\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime());\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/;\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime();\n }\n }\n }\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill\n // https://github.com/github/fetch/issues/748\n // https://github.com/zloirock/core-js/issues/751\n preProcessedHeaders\n .split('\\r')\n .map(function(header) {\n return header.indexOf('\\n') === 0 ? header.substr(1, header.length) : header\n })\n .forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n try {\n headers.append(key, value);\n } catch (error) {\n console.warn('Response ' + error.message);\n }\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!(this instanceof Response)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n if (this.status < 200 || this.status > 599) {\n throw new RangeError(\"Failed to construct 'Response': The status provided (0) is outside the range [200, 599].\")\n }\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = options.statusText === undefined ? '' : '' + options.statusText;\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 200, statusText: ''});\n response.ok = false;\n response.status = 0;\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = g.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n // This check if specifically for when a user fetches a file locally from the file system\n // Only if the status is out of a normal range\n if (request.url.indexOf('file://') === 0 && (xhr.status < 200 || xhr.status > 599)) {\n options.status = 200;\n } else {\n options.status = xhr.status;\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n setTimeout(function() {\n resolve(new Response(body, options));\n }, 0);\n };\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'));\n }, 0);\n };\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request timed out'));\n }, 0);\n };\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n }, 0);\n };\n\n function fixUrl(url) {\n try {\n return url === '' && g.location.href ? g.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(request.url), true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr) {\n if (support.blob) {\n xhr.responseType = 'blob';\n } else if (\n support.arrayBuffer\n ) {\n xhr.responseType = 'arraybuffer';\n }\n }\n\n if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers || (g.Headers && init.headers instanceof g.Headers))) {\n var names = [];\n Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n names.push(normalizeName(name));\n xhr.setRequestHeader(name, normalizeValue(init.headers[name]));\n });\n request.headers.forEach(function(value, name) {\n if (names.indexOf(name) === -1) {\n xhr.setRequestHeader(name, value);\n }\n });\n } else {\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n }\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!g.fetch) {\n g.fetch = fetch;\n g.Headers = Headers;\n g.Request = Request;\n g.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n return exports;\n\n})({});\n})(__globalThis__);\n// This is a ponyfill, so...\n__globalThis__.fetch.ponyfill = true;\ndelete __globalThis__.fetch.polyfill;\n// Choose between native implementation (__global__) or custom implementation (__globalThis__)\nvar ctx = __global__.fetch ? __global__ : __globalThis__;\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.js\nvar index_exports = {};\n__export(index_exports, {\n createFinalURL: () => createFinalURL,\n createPathBasedClient: () => createPathBasedClient,\n createQuerySerializer: () => createQuerySerializer,\n default: () => createClient,\n defaultBodySerializer: () => defaultBodySerializer,\n defaultPathSerializer: () => defaultPathSerializer,\n mergeHeaders: () => mergeHeaders,\n randomID: () => randomID,\n removeTrailingSlash: () => removeTrailingSlash,\n serializeArrayParam: () => serializeArrayParam,\n serializeObjectParam: () => serializeObjectParam,\n serializePrimitiveParam: () => serializePrimitiveParam,\n wrapAsPathBasedClient: () => wrapAsPathBasedClient\n});\nmodule.exports = __toCommonJS(index_exports);\nvar PATH_PARAM_RE = /\\{[^{}]+\\}/g;\nvar supportsRequestInitExt = () => {\n return typeof process === \"object\" && Number.parseInt(process?.versions?.node?.substring(0, 2)) >= 18 && process.versions.undici;\n};\nfunction randomID() {\n return Math.random().toString(36).slice(2, 11);\n}\nfunction createClient(clientOptions) {\n let {\n baseUrl = \"\",\n Request: CustomRequest = globalThis.Request,\n fetch: baseFetch = globalThis.fetch,\n querySerializer: globalQuerySerializer,\n bodySerializer: globalBodySerializer,\n headers: baseHeaders,\n requestInitExt = void 0,\n ...baseOptions\n } = { ...clientOptions };\n requestInitExt = supportsRequestInitExt() ? requestInitExt : void 0;\n baseUrl = removeTrailingSlash(baseUrl);\n const middlewares = [];\n async function coreFetch(schemaPath, fetchOptions) {\n const {\n baseUrl: localBaseUrl,\n fetch = baseFetch,\n Request = CustomRequest,\n headers,\n params = {},\n parseAs = \"json\",\n querySerializer: requestQuerySerializer,\n bodySerializer = globalBodySerializer ?? defaultBodySerializer,\n body,\n ...init\n } = fetchOptions || {};\n let finalBaseUrl = baseUrl;\n if (localBaseUrl) {\n finalBaseUrl = removeTrailingSlash(localBaseUrl) ?? baseUrl;\n }\n let querySerializer = typeof globalQuerySerializer === \"function\" ? globalQuerySerializer : createQuerySerializer(globalQuerySerializer);\n if (requestQuerySerializer) {\n querySerializer = typeof requestQuerySerializer === \"function\" ? requestQuerySerializer : createQuerySerializer({\n ...typeof globalQuerySerializer === \"object\" ? globalQuerySerializer : {},\n ...requestQuerySerializer\n });\n }\n const serializedBody = body === void 0 ? void 0 : bodySerializer(\n body,\n // Note: we declare mergeHeaders() both here and below because it’s a bit of a chicken-or-egg situation:\n // bodySerializer() needs all headers so we aren’t dropping ones set by the user, however,\n // the result of this ALSO sets the lowest-priority content-type header. So we re-merge below,\n // setting the content-type at the very beginning to be overwritten.\n // Lastly, based on the way headers work, it’s not a simple “present-or-not” check becauase null intentionally un-sets headers.\n mergeHeaders(baseHeaders, headers, params.header)\n );\n const finalHeaders = mergeHeaders(\n // with no body, we should not to set Content-Type\n serializedBody === void 0 || // if serialized body is FormData; browser will correctly set Content-Type & boundary expression\n serializedBody instanceof FormData ? {} : {\n \"Content-Type\": \"application/json\"\n },\n baseHeaders,\n headers,\n params.header\n );\n const requestInit = {\n redirect: \"follow\",\n ...baseOptions,\n ...init,\n body: serializedBody,\n headers: finalHeaders\n };\n let id;\n let options;\n let request = new CustomRequest(\n createFinalURL(schemaPath, { baseUrl: finalBaseUrl, params, querySerializer }),\n requestInit\n );\n let response;\n for (const key in init) {\n if (!(key in request)) {\n request[key] = init[key];\n }\n }\n if (middlewares.length) {\n id = randomID();\n options = Object.freeze({\n baseUrl: finalBaseUrl,\n fetch,\n parseAs,\n querySerializer,\n bodySerializer\n });\n for (const m of middlewares) {\n if (m && typeof m === \"object\" && typeof m.onRequest === \"function\") {\n const result = await m.onRequest({\n request,\n schemaPath,\n params,\n options,\n id\n });\n if (result) {\n if (result instanceof CustomRequest) {\n request = result;\n } else if (result instanceof Response) {\n response = result;\n break;\n } else {\n throw new Error(\"onRequest: must return new Request() or Response() when modifying the request\");\n }\n }\n }\n }\n }\n if (!response) {\n try {\n response = await fetch(request, requestInitExt);\n } catch (error2) {\n let errorAfterMiddleware = error2;\n if (middlewares.length) {\n for (let i = middlewares.length - 1; i >= 0; i--) {\n const m = middlewares[i];\n if (m && typeof m === \"object\" && typeof m.onError === \"function\") {\n const result = await m.onError({\n request,\n error: errorAfterMiddleware,\n schemaPath,\n params,\n options,\n id\n });\n if (result) {\n if (result instanceof Response) {\n errorAfterMiddleware = void 0;\n response = result;\n break;\n }\n if (result instanceof Error) {\n errorAfterMiddleware = result;\n continue;\n }\n throw new Error(\"onError: must return new Response() or instance of Error\");\n }\n }\n }\n }\n if (errorAfterMiddleware) {\n throw errorAfterMiddleware;\n }\n }\n if (middlewares.length) {\n for (let i = middlewares.length - 1; i >= 0; i--) {\n const m = middlewares[i];\n if (m && typeof m === \"object\" && typeof m.onResponse === \"function\") {\n const result = await m.onResponse({\n request,\n response,\n schemaPath,\n params,\n options,\n id\n });\n if (result) {\n if (!(result instanceof Response)) {\n throw new Error(\"onResponse: must return new Response() when modifying the response\");\n }\n response = result;\n }\n }\n }\n }\n }\n if (response.status === 204 || request.method === \"HEAD\" || response.headers.get(\"Content-Length\") === \"0\") {\n return response.ok ? { data: void 0, response } : { error: void 0, response };\n }\n if (response.ok) {\n if (parseAs === \"stream\") {\n return { data: response.body, response };\n }\n return { data: await response[parseAs](), response };\n }\n let error = await response.text();\n try {\n error = JSON.parse(error);\n } catch {\n }\n return { error, response };\n }\n return {\n request(method, url, init) {\n return coreFetch(url, { ...init, method: method.toUpperCase() });\n },\n /** Call a GET endpoint */\n GET(url, init) {\n return coreFetch(url, { ...init, method: \"GET\" });\n },\n /** Call a PUT endpoint */\n PUT(url, init) {\n return coreFetch(url, { ...init, method: \"PUT\" });\n },\n /** Call a POST endpoint */\n POST(url, init) {\n return coreFetch(url, { ...init, method: \"POST\" });\n },\n /** Call a DELETE endpoint */\n DELETE(url, init) {\n return coreFetch(url, { ...init, method: \"DELETE\" });\n },\n /** Call a OPTIONS endpoint */\n OPTIONS(url, init) {\n return coreFetch(url, { ...init, method: \"OPTIONS\" });\n },\n /** Call a HEAD endpoint */\n HEAD(url, init) {\n return coreFetch(url, { ...init, method: \"HEAD\" });\n },\n /** Call a PATCH endpoint */\n PATCH(url, init) {\n return coreFetch(url, { ...init, method: \"PATCH\" });\n },\n /** Call a TRACE endpoint */\n TRACE(url, init) {\n return coreFetch(url, { ...init, method: \"TRACE\" });\n },\n /** Register middleware */\n use(...middleware) {\n for (const m of middleware) {\n if (!m) {\n continue;\n }\n if (typeof m !== \"object\" || !(\"onRequest\" in m || \"onResponse\" in m || \"onError\" in m)) {\n throw new Error(\"Middleware must be an object with one of `onRequest()`, `onResponse() or `onError()`\");\n }\n middlewares.push(m);\n }\n },\n /** Unregister middleware */\n eject(...middleware) {\n for (const m of middleware) {\n const i = middlewares.indexOf(m);\n if (i !== -1) {\n middlewares.splice(i, 1);\n }\n }\n }\n };\n}\nvar PathCallForwarder = class {\n constructor(client, url) {\n this.client = client;\n this.url = url;\n }\n GET = (init) => {\n return this.client.GET(this.url, init);\n };\n PUT = (init) => {\n return this.client.PUT(this.url, init);\n };\n POST = (init) => {\n return this.client.POST(this.url, init);\n };\n DELETE = (init) => {\n return this.client.DELETE(this.url, init);\n };\n OPTIONS = (init) => {\n return this.client.OPTIONS(this.url, init);\n };\n HEAD = (init) => {\n return this.client.HEAD(this.url, init);\n };\n PATCH = (init) => {\n return this.client.PATCH(this.url, init);\n };\n TRACE = (init) => {\n return this.client.TRACE(this.url, init);\n };\n};\nvar PathClientProxyHandler = class {\n constructor() {\n this.client = null;\n }\n // Assume the property is an URL.\n get(coreClient, url) {\n const forwarder = new PathCallForwarder(coreClient, url);\n this.client[url] = forwarder;\n return forwarder;\n }\n};\nfunction wrapAsPathBasedClient(coreClient) {\n const handler = new PathClientProxyHandler();\n const proxy = new Proxy(coreClient, handler);\n function Client() {\n }\n Client.prototype = proxy;\n const client = new Client();\n handler.client = client;\n return client;\n}\nfunction createPathBasedClient(clientOptions) {\n return wrapAsPathBasedClient(createClient(clientOptions));\n}\nfunction serializePrimitiveParam(name, value, options) {\n if (value === void 0 || value === null) {\n return \"\";\n }\n if (typeof value === \"object\") {\n throw new Error(\n \"Deeply-nested arrays/objects aren\\u2019t supported. Provide your own `querySerializer()` to handle these.\"\n );\n }\n return `${name}=${options?.allowReserved === true ? value : encodeURIComponent(value)}`;\n}\nfunction serializeObjectParam(name, value, options) {\n if (!value || typeof value !== \"object\") {\n return \"\";\n }\n const values = [];\n const joiner = {\n simple: \",\",\n label: \".\",\n matrix: \";\"\n }[options.style] || \"&\";\n if (options.style !== \"deepObject\" && options.explode === false) {\n for (const k in value) {\n values.push(k, options.allowReserved === true ? value[k] : encodeURIComponent(value[k]));\n }\n const final2 = values.join(\",\");\n switch (options.style) {\n case \"form\": {\n return `${name}=${final2}`;\n }\n case \"label\": {\n return `.${final2}`;\n }\n case \"matrix\": {\n return `;${name}=${final2}`;\n }\n default: {\n return final2;\n }\n }\n }\n for (const k in value) {\n const finalName = options.style === \"deepObject\" ? `${name}[${k}]` : k;\n values.push(serializePrimitiveParam(finalName, value[k], options));\n }\n const final = values.join(joiner);\n return options.style === \"label\" || options.style === \"matrix\" ? `${joiner}${final}` : final;\n}\nfunction serializeArrayParam(name, value, options) {\n if (!Array.isArray(value)) {\n return \"\";\n }\n if (options.explode === false) {\n const joiner2 = { form: \",\", spaceDelimited: \"%20\", pipeDelimited: \"|\" }[options.style] || \",\";\n const final = (options.allowReserved === true ? value : value.map((v) => encodeURIComponent(v))).join(joiner2);\n switch (options.style) {\n case \"simple\": {\n return final;\n }\n case \"label\": {\n return `.${final}`;\n }\n case \"matrix\": {\n return `;${name}=${final}`;\n }\n // case \"spaceDelimited\":\n // case \"pipeDelimited\":\n default: {\n return `${name}=${final}`;\n }\n }\n }\n const joiner = { simple: \",\", label: \".\", matrix: \";\" }[options.style] || \"&\";\n const values = [];\n for (const v of value) {\n if (options.style === \"simple\" || options.style === \"label\") {\n values.push(options.allowReserved === true ? v : encodeURIComponent(v));\n } else {\n values.push(serializePrimitiveParam(name, v, options));\n }\n }\n return options.style === \"label\" || options.style === \"matrix\" ? `${joiner}${values.join(joiner)}` : values.join(joiner);\n}\nfunction createQuerySerializer(options) {\n return function querySerializer(queryParams) {\n const search = [];\n if (queryParams && typeof queryParams === \"object\") {\n for (const name in queryParams) {\n const value = queryParams[name];\n if (value === void 0 || value === null) {\n continue;\n }\n if (Array.isArray(value)) {\n if (value.length === 0) {\n continue;\n }\n search.push(\n serializeArrayParam(name, value, {\n style: \"form\",\n explode: true,\n ...options?.array,\n allowReserved: options?.allowReserved || false\n })\n );\n continue;\n }\n if (typeof value === \"object\") {\n search.push(\n serializeObjectParam(name, value, {\n style: \"deepObject\",\n explode: true,\n ...options?.object,\n allowReserved: options?.allowReserved || false\n })\n );\n continue;\n }\n search.push(serializePrimitiveParam(name, value, options));\n }\n }\n return search.join(\"&\");\n };\n}\nfunction defaultPathSerializer(pathname, pathParams) {\n let nextURL = pathname;\n for (const match of pathname.match(PATH_PARAM_RE) ?? []) {\n let name = match.substring(1, match.length - 1);\n let explode = false;\n let style = \"simple\";\n if (name.endsWith(\"*\")) {\n explode = true;\n name = name.substring(0, name.length - 1);\n }\n if (name.startsWith(\".\")) {\n style = \"label\";\n name = name.substring(1);\n } else if (name.startsWith(\";\")) {\n style = \"matrix\";\n name = name.substring(1);\n }\n if (!pathParams || pathParams[name] === void 0 || pathParams[name] === null) {\n continue;\n }\n const value = pathParams[name];\n if (Array.isArray(value)) {\n nextURL = nextURL.replace(match, serializeArrayParam(name, value, { style, explode }));\n continue;\n }\n if (typeof value === \"object\") {\n nextURL = nextURL.replace(match, serializeObjectParam(name, value, { style, explode }));\n continue;\n }\n if (style === \"matrix\") {\n nextURL = nextURL.replace(match, `;${serializePrimitiveParam(name, value)}`);\n continue;\n }\n nextURL = nextURL.replace(match, style === \"label\" ? `.${encodeURIComponent(value)}` : encodeURIComponent(value));\n }\n return nextURL;\n}\nfunction defaultBodySerializer(body, headers) {\n if (body instanceof FormData) {\n return body;\n }\n if (headers) {\n const contentType = headers.get instanceof Function ? headers.get(\"Content-Type\") ?? headers.get(\"content-type\") : headers[\"Content-Type\"] ?? headers[\"content-type\"];\n if (contentType === \"application/x-www-form-urlencoded\") {\n return new URLSearchParams(body).toString();\n }\n }\n return JSON.stringify(body);\n}\nfunction createFinalURL(pathname, options) {\n let finalURL = `${options.baseUrl}${pathname}`;\n if (options.params?.path) {\n finalURL = defaultPathSerializer(finalURL, options.params.path);\n }\n let search = options.querySerializer(options.params.query ?? {});\n if (search.startsWith(\"?\")) {\n search = search.substring(1);\n }\n if (search) {\n finalURL += `?${search}`;\n }\n return finalURL;\n}\nfunction mergeHeaders(...allHeaders) {\n const finalHeaders = new Headers();\n for (const h of allHeaders) {\n if (!h || typeof h !== \"object\") {\n continue;\n }\n const iterator = h instanceof Headers ? h.entries() : Object.entries(h);\n for (const [k, v] of iterator) {\n if (v === null) {\n finalHeaders.delete(k);\n } else if (Array.isArray(v)) {\n for (const v2 of v) {\n finalHeaders.append(k, v2);\n }\n } else if (v !== void 0) {\n finalHeaders.set(k, v);\n }\n }\n }\n return finalHeaders;\n}\nfunction removeTrailingSlash(url) {\n if (url.endsWith(\"/\")) {\n return url.substring(0, url.length - 1);\n }\n return url;\n}\n","\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n analytics: () => analytics\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/analytics.ts\nvar import_openapi_fetch = __toESM(require(\"openapi-fetch\"));\n\n// src/sender.ts\nvar Sender = class {\n constructor(options) {\n this.batch = [];\n this.maxTimeoutMs = 3e4;\n this.timeoutId = null;\n this.isSending = false;\n this.batchSize = options.batchSize;\n this.baseTimeoutMs = options.baseTimeoutMs;\n this.currentTimeoutMs = options.baseTimeoutMs;\n this.sendFn = options.sendFn;\n }\n enqueue(item) {\n this.batch.push(item);\n this.schedule();\n }\n schedule() {\n if (this.batch.length > 0 && !this.timeoutId) {\n this.timeoutId = setTimeout(() => {\n this.timeoutId = null;\n this.flush();\n }, this.currentTimeoutMs);\n }\n }\n async flush() {\n if (this.isSending || this.batch.length === 0) {\n return;\n }\n this.isSending = true;\n const current = [...this.batch.slice(0, this.batchSize)];\n this.batch = this.batch.slice(this.batchSize);\n try {\n await this.sendFn(current);\n this.currentTimeoutMs = this.baseTimeoutMs;\n } catch (error) {\n console.error(\"Sender: Failed to send batch\", error);\n this.batch = [...current, ...this.batch];\n this.currentTimeoutMs = Math.min(\n this.currentTimeoutMs * 2,\n this.maxTimeoutMs\n );\n } finally {\n this.isSending = false;\n this.schedule();\n }\n }\n};\nvar sender_default = Sender;\n\n// src/analytics.ts\nvar Analytics = class {\n constructor(baseUrl) {\n this.enabled = false;\n this.properties = {};\n const client2 = (0, import_openapi_fetch.default)({ baseUrl });\n const sendFn = async (batch) => {\n const res = await client2.POST(\"/v1/events\", { body: batch });\n if (res.response.status !== 200) {\n throw new Error(res.error);\n }\n };\n this.sender = new sender_default({ batchSize: 100, baseTimeoutMs: 200, sendFn });\n }\n enable() {\n this.enabled = true;\n }\n setGlobalProperty(key, value) {\n this.properties[key] = value;\n }\n track(name, properties) {\n if (!this.enabled) {\n return;\n }\n const event = {\n name,\n ...this.properties,\n ...properties\n };\n this.sender.enqueue(event);\n }\n};\nvar analytics_default = Analytics;\n\n// src/index.ts\nvar endpoint;\nvar _a;\nif (typeof process !== \"undefined\" && process.env) {\n endpoint = (_a = process.env.METAMASK_ANALYTICS_ENDPOINT) != null ? _a : process.env.NEXT_PUBLIC_METAMASK_ANALYTICS_ENDPOINT;\n}\nvar METAMASK_ANALYTICS_ENDPOINT = endpoint != null ? endpoint : \"https://mm-sdk-analytics.api.cx.metamask.io/\";\nvar client = new analytics_default(METAMASK_ANALYTICS_ENDPOINT);\nvar analytics = client;\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n analytics\n});\n","/*!\n * EventEmitter2\n * https://github.com/hij1nx/EventEmitter2\n *\n * Copyright (c) 2013 hij1nx\n * Licensed under the MIT license.\n */\n;!function(undefined) {\n var hasOwnProperty= Object.hasOwnProperty;\n var isArray = Array.isArray ? Array.isArray : function _isArray(obj) {\n return Object.prototype.toString.call(obj) === \"[object Array]\";\n };\n var defaultMaxListeners = 10;\n var nextTickSupported= typeof process=='object' && typeof process.nextTick=='function';\n var symbolsSupported= typeof Symbol==='function';\n var reflectSupported= typeof Reflect === 'object';\n var setImmediateSupported= typeof setImmediate === 'function';\n var _setImmediate= setImmediateSupported ? setImmediate : setTimeout;\n var ownKeys= symbolsSupported? (reflectSupported && typeof Reflect.ownKeys==='function'? Reflect.ownKeys : function(obj){\n var arr= Object.getOwnPropertyNames(obj);\n arr.push.apply(arr, Object.getOwnPropertySymbols(obj));\n return arr;\n }) : Object.keys;\n\n function init() {\n this._events = {};\n if (this._conf) {\n configure.call(this, this._conf);\n }\n }\n\n function configure(conf) {\n if (conf) {\n this._conf = conf;\n\n conf.delimiter && (this.delimiter = conf.delimiter);\n\n if(conf.maxListeners!==undefined){\n this._maxListeners= conf.maxListeners;\n }\n\n conf.wildcard && (this.wildcard = conf.wildcard);\n conf.newListener && (this._newListener = conf.newListener);\n conf.removeListener && (this._removeListener = conf.removeListener);\n conf.verboseMemoryLeak && (this.verboseMemoryLeak = conf.verboseMemoryLeak);\n conf.ignoreErrors && (this.ignoreErrors = conf.ignoreErrors);\n\n if (this.wildcard) {\n this.listenerTree = {};\n }\n }\n }\n\n function logPossibleMemoryLeak(count, eventName) {\n var errorMsg = '(node) warning: possible EventEmitter memory ' +\n 'leak detected. ' + count + ' listeners added. ' +\n 'Use emitter.setMaxListeners() to increase limit.';\n\n if(this.verboseMemoryLeak){\n errorMsg += ' Event name: ' + eventName + '.';\n }\n\n if(typeof process !== 'undefined' && process.emitWarning){\n var e = new Error(errorMsg);\n e.name = 'MaxListenersExceededWarning';\n e.emitter = this;\n e.count = count;\n process.emitWarning(e);\n } else {\n console.error(errorMsg);\n\n if (console.trace){\n console.trace();\n }\n }\n }\n\n var toArray = function (a, b, c) {\n var n = arguments.length;\n switch (n) {\n case 0:\n return [];\n case 1:\n return [a];\n case 2:\n return [a, b];\n case 3:\n return [a, b, c];\n default:\n var arr = new Array(n);\n while (n--) {\n arr[n] = arguments[n];\n }\n return arr;\n }\n };\n\n function toObject(keys, values) {\n var obj = {};\n var key;\n var len = keys.length;\n var valuesCount = values ? values.length : 0;\n for (var i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = i < valuesCount ? values[i] : undefined;\n }\n return obj;\n }\n\n function TargetObserver(emitter, target, options) {\n this._emitter = emitter;\n this._target = target;\n this._listeners = {};\n this._listenersCount = 0;\n\n var on, off;\n\n if (options.on || options.off) {\n on = options.on;\n off = options.off;\n }\n\n if (target.addEventListener) {\n on = target.addEventListener;\n off = target.removeEventListener;\n } else if (target.addListener) {\n on = target.addListener;\n off = target.removeListener;\n } else if (target.on) {\n on = target.on;\n off = target.off;\n }\n\n if (!on && !off) {\n throw Error('target does not implement any known event API');\n }\n\n if (typeof on !== 'function') {\n throw TypeError('on method must be a function');\n }\n\n if (typeof off !== 'function') {\n throw TypeError('off method must be a function');\n }\n\n this._on = on;\n this._off = off;\n\n var _observers= emitter._observers;\n if(_observers){\n _observers.push(this);\n }else{\n emitter._observers= [this];\n }\n }\n\n Object.assign(TargetObserver.prototype, {\n subscribe: function(event, localEvent, reducer){\n var observer= this;\n var target= this._target;\n var emitter= this._emitter;\n var listeners= this._listeners;\n var handler= function(){\n var args= toArray.apply(null, arguments);\n var eventObj= {\n data: args,\n name: localEvent,\n original: event\n };\n if(reducer){\n var result= reducer.call(target, eventObj);\n if(result!==false){\n emitter.emit.apply(emitter, [eventObj.name].concat(args))\n }\n return;\n }\n emitter.emit.apply(emitter, [localEvent].concat(args));\n };\n\n\n if(listeners[event]){\n throw Error('Event \\'' + event + '\\' is already listening');\n }\n\n this._listenersCount++;\n\n if(emitter._newListener && emitter._removeListener && !observer._onNewListener){\n\n this._onNewListener = function (_event) {\n if (_event === localEvent && listeners[event] === null) {\n listeners[event] = handler;\n observer._on.call(target, event, handler);\n }\n };\n\n emitter.on('newListener', this._onNewListener);\n\n this._onRemoveListener= function(_event){\n if(_event === localEvent && !emitter.hasListeners(_event) && listeners[event]){\n listeners[event]= null;\n observer._off.call(target, event, handler);\n }\n };\n\n listeners[event]= null;\n\n emitter.on('removeListener', this._onRemoveListener);\n }else{\n listeners[event]= handler;\n observer._on.call(target, event, handler);\n }\n },\n\n unsubscribe: function(event){\n var observer= this;\n var listeners= this._listeners;\n var emitter= this._emitter;\n var handler;\n var events;\n var off= this._off;\n var target= this._target;\n var i;\n\n if(event && typeof event!=='string'){\n throw TypeError('event must be a string');\n }\n\n function clearRefs(){\n if(observer._onNewListener){\n emitter.off('newListener', observer._onNewListener);\n emitter.off('removeListener', observer._onRemoveListener);\n observer._onNewListener= null;\n observer._onRemoveListener= null;\n }\n var index= findTargetIndex.call(emitter, observer);\n emitter._observers.splice(index, 1);\n }\n\n if(event){\n handler= listeners[event];\n if(!handler) return;\n off.call(target, event, handler);\n delete listeners[event];\n if(!--this._listenersCount){\n clearRefs();\n }\n }else{\n events= ownKeys(listeners);\n i= events.length;\n while(i-->0){\n event= events[i];\n off.call(target, event, listeners[event]);\n }\n this._listeners= {};\n this._listenersCount= 0;\n clearRefs();\n }\n }\n });\n\n function resolveOptions(options, schema, reducers, allowUnknown) {\n var computedOptions = Object.assign({}, schema);\n\n if (!options) return computedOptions;\n\n if (typeof options !== 'object') {\n throw TypeError('options must be an object')\n }\n\n var keys = Object.keys(options);\n var length = keys.length;\n var option, value;\n var reducer;\n\n function reject(reason) {\n throw Error('Invalid \"' + option + '\" option value' + (reason ? '. Reason: ' + reason : ''))\n }\n\n for (var i = 0; i < length; i++) {\n option = keys[i];\n if (!allowUnknown && !hasOwnProperty.call(schema, option)) {\n throw Error('Unknown \"' + option + '\" option');\n }\n value = options[option];\n if (value !== undefined) {\n reducer = reducers[option];\n computedOptions[option] = reducer ? reducer(value, reject) : value;\n }\n }\n return computedOptions;\n }\n\n function constructorReducer(value, reject) {\n if (typeof value !== 'function' || !value.hasOwnProperty('prototype')) {\n reject('value must be a constructor');\n }\n return value;\n }\n\n function makeTypeReducer(types) {\n var message= 'value must be type of ' + types.join('|');\n var len= types.length;\n var firstType= types[0];\n var secondType= types[1];\n\n if (len === 1) {\n return function (v, reject) {\n if (typeof v === firstType) {\n return v;\n }\n reject(message);\n }\n }\n\n if (len === 2) {\n return function (v, reject) {\n var kind= typeof v;\n if (kind === firstType || kind === secondType) return v;\n reject(message);\n }\n }\n\n return function (v, reject) {\n var kind = typeof v;\n var i = len;\n while (i-- > 0) {\n if (kind === types[i]) return v;\n }\n reject(message);\n }\n }\n\n var functionReducer= makeTypeReducer(['function']);\n\n var objectFunctionReducer= makeTypeReducer(['object', 'function']);\n\n function makeCancelablePromise(Promise, executor, options) {\n var isCancelable;\n var callbacks;\n var timer= 0;\n var subscriptionClosed;\n\n var promise = new Promise(function (resolve, reject, onCancel) {\n options= resolveOptions(options, {\n timeout: 0,\n overload: false\n }, {\n timeout: function(value, reject){\n value*= 1;\n if (typeof value !== 'number' || value < 0 || !Number.isFinite(value)) {\n reject('timeout must be a positive number');\n }\n return value;\n }\n });\n\n isCancelable = !options.overload && typeof Promise.prototype.cancel === 'function' && typeof onCancel === 'function';\n\n function cleanup() {\n if (callbacks) {\n callbacks = null;\n }\n if (timer) {\n clearTimeout(timer);\n timer = 0;\n }\n }\n\n var _resolve= function(value){\n cleanup();\n resolve(value);\n };\n\n var _reject= function(err){\n cleanup();\n reject(err);\n };\n\n if (isCancelable) {\n executor(_resolve, _reject, onCancel);\n } else {\n callbacks = [function(reason){\n _reject(reason || Error('canceled'));\n }];\n executor(_resolve, _reject, function (cb) {\n if (subscriptionClosed) {\n throw Error('Unable to subscribe on cancel event asynchronously')\n }\n if (typeof cb !== 'function') {\n throw TypeError('onCancel callback must be a function');\n }\n callbacks.push(cb);\n });\n subscriptionClosed= true;\n }\n\n if (options.timeout > 0) {\n timer= setTimeout(function(){\n var reason= Error('timeout');\n reason.code = 'ETIMEDOUT'\n timer= 0;\n promise.cancel(reason);\n reject(reason);\n }, options.timeout);\n }\n });\n\n if (!isCancelable) {\n promise.cancel = function (reason) {\n if (!callbacks) {\n return;\n }\n var length = callbacks.length;\n for (var i = 1; i < length; i++) {\n callbacks[i](reason);\n }\n // internal callback to reject the promise\n callbacks[0](reason);\n callbacks = null;\n };\n }\n\n return promise;\n }\n\n function findTargetIndex(observer) {\n var observers = this._observers;\n if(!observers){\n return -1;\n }\n var len = observers.length;\n for (var i = 0; i < len; i++) {\n if (observers[i]._target === observer) return i;\n }\n return -1;\n }\n\n // Attention, function return type now is array, always !\n // It has zero elements if no any matches found and one or more\n // elements (leafs) if there are matches\n //\n function searchListenerTree(handlers, type, tree, i, typeLength) {\n if (!tree) {\n return null;\n }\n\n if (i === 0) {\n var kind = typeof type;\n if (kind === 'string') {\n var ns, n, l = 0, j = 0, delimiter = this.delimiter, dl = delimiter.length;\n if ((n = type.indexOf(delimiter)) !== -1) {\n ns = new Array(5);\n do {\n ns[l++] = type.slice(j, n);\n j = n + dl;\n } while ((n = type.indexOf(delimiter, j)) !== -1);\n\n ns[l++] = type.slice(j);\n type = ns;\n typeLength = l;\n } else {\n type = [type];\n typeLength = 1;\n }\n } else if (kind === 'object') {\n typeLength = type.length;\n } else {\n type = [type];\n typeLength = 1;\n }\n }\n\n var listeners= null, branch, xTree, xxTree, isolatedBranch, endReached, currentType = type[i],\n nextType = type[i + 1], branches, _listeners;\n\n if (i === typeLength) {\n //\n // If at the end of the event(s) list and the tree has listeners\n // invoke those listeners.\n //\n\n if(tree._listeners) {\n if (typeof tree._listeners === 'function') {\n handlers && handlers.push(tree._listeners);\n listeners = [tree];\n } else {\n handlers && handlers.push.apply(handlers, tree._listeners);\n listeners = [tree];\n }\n }\n } else {\n\n if (currentType === '*') {\n //\n // If the event emitted is '*' at this part\n // or there is a concrete match at this patch\n //\n branches = ownKeys(tree);\n n = branches.length;\n while (n-- > 0) {\n branch = branches[n];\n if (branch !== '_listeners') {\n _listeners = searchListenerTree(handlers, type, tree[branch], i + 1, typeLength);\n if (_listeners) {\n if (listeners) {\n listeners.push.apply(listeners, _listeners);\n } else {\n listeners = _listeners;\n }\n }\n }\n }\n return listeners;\n } else if (currentType === '**') {\n endReached = (i + 1 === typeLength || (i + 2 === typeLength && nextType === '*'));\n if (endReached && tree._listeners) {\n // The next element has a _listeners, add it to the handlers.\n listeners = searchListenerTree(handlers, type, tree, typeLength, typeLength);\n }\n\n branches = ownKeys(tree);\n n = branches.length;\n while (n-- > 0) {\n branch = branches[n];\n if (branch !== '_listeners') {\n if (branch === '*' || branch === '**') {\n if (tree[branch]._listeners && !endReached) {\n _listeners = searchListenerTree(handlers, type, tree[branch], typeLength, typeLength);\n if (_listeners) {\n if (listeners) {\n listeners.push.apply(listeners, _listeners);\n } else {\n listeners = _listeners;\n }\n }\n }\n _listeners = searchListenerTree(handlers, type, tree[branch], i, typeLength);\n } else if (branch === nextType) {\n _listeners = searchListenerTree(handlers, type, tree[branch], i + 2, typeLength);\n } else {\n // No match on this one, shift into the tree but not in the type array.\n _listeners = searchListenerTree(handlers, type, tree[branch], i, typeLength);\n }\n if (_listeners) {\n if (listeners) {\n listeners.push.apply(listeners, _listeners);\n } else {\n listeners = _listeners;\n }\n }\n }\n }\n return listeners;\n } else if (tree[currentType]) {\n listeners = searchListenerTree(handlers, type, tree[currentType], i + 1, typeLength);\n }\n }\n\n xTree = tree['*'];\n if (xTree) {\n //\n // If the listener tree will allow any match for this part,\n // then recursively explore all branches of the tree\n //\n searchListenerTree(handlers, type, xTree, i + 1, typeLength);\n }\n\n xxTree = tree['**'];\n if (xxTree) {\n if (i < typeLength) {\n if (xxTree._listeners) {\n // If we have a listener on a '**', it will catch all, so add its handler.\n searchListenerTree(handlers, type, xxTree, typeLength, typeLength);\n }\n\n // Build arrays of matching next branches and others.\n branches= ownKeys(xxTree);\n n= branches.length;\n while(n-->0){\n branch= branches[n];\n if (branch !== '_listeners') {\n if (branch === nextType) {\n // We know the next element will match, so jump twice.\n searchListenerTree(handlers, type, xxTree[branch], i + 2, typeLength);\n } else if (branch === currentType) {\n // Current node matches, move into the tree.\n searchListenerTree(handlers, type, xxTree[branch], i + 1, typeLength);\n } else {\n isolatedBranch = {};\n isolatedBranch[branch] = xxTree[branch];\n searchListenerTree(handlers, type, {'**': isolatedBranch}, i + 1, typeLength);\n }\n }\n }\n } else if (xxTree._listeners) {\n // We have reached the end and still on a '**'\n searchListenerTree(handlers, type, xxTree, typeLength, typeLength);\n } else if (xxTree['*'] && xxTree['*']._listeners) {\n searchListenerTree(handlers, type, xxTree['*'], typeLength, typeLength);\n }\n }\n\n return listeners;\n }\n\n function growListenerTree(type, listener, prepend) {\n var len = 0, j = 0, i, delimiter = this.delimiter, dl= delimiter.length, ns;\n\n if(typeof type==='string') {\n if ((i = type.indexOf(delimiter)) !== -1) {\n ns = new Array(5);\n do {\n ns[len++] = type.slice(j, i);\n j = i + dl;\n } while ((i = type.indexOf(delimiter, j)) !== -1);\n\n ns[len++] = type.slice(j);\n }else{\n ns= [type];\n len= 1;\n }\n }else{\n ns= type;\n len= type.length;\n }\n\n //\n // Looks for two consecutive '**', if so, don't add the event at all.\n //\n if (len > 1) {\n for (i = 0; i + 1 < len; i++) {\n if (ns[i] === '**' && ns[i + 1] === '**') {\n return;\n }\n }\n }\n\n\n\n var tree = this.listenerTree, name;\n\n for (i = 0; i < len; i++) {\n name = ns[i];\n\n tree = tree[name] || (tree[name] = {});\n\n if (i === len - 1) {\n if (!tree._listeners) {\n tree._listeners = listener;\n } else {\n if (typeof tree._listeners === 'function') {\n tree._listeners = [tree._listeners];\n }\n\n if (prepend) {\n tree._listeners.unshift(listener);\n } else {\n tree._listeners.push(listener);\n }\n\n if (\n !tree._listeners.warned &&\n this._maxListeners > 0 &&\n tree._listeners.length > this._maxListeners\n ) {\n tree._listeners.warned = true;\n logPossibleMemoryLeak.call(this, tree._listeners.length, name);\n }\n }\n return true;\n }\n }\n\n return true;\n }\n\n function collectTreeEvents(tree, events, root, asArray){\n var branches= ownKeys(tree);\n var i= branches.length;\n var branch, branchName, path;\n var hasListeners= tree['_listeners'];\n var isArrayPath;\n\n while(i-->0){\n branchName= branches[i];\n\n branch= tree[branchName];\n\n if(branchName==='_listeners'){\n path= root;\n }else {\n path = root ? root.concat(branchName) : [branchName];\n }\n\n isArrayPath= asArray || typeof branchName==='symbol';\n\n hasListeners && events.push(isArrayPath? path : path.join(this.delimiter));\n\n if(typeof branch==='object'){\n collectTreeEvents.call(this, branch, events, path, isArrayPath);\n }\n }\n\n return events;\n }\n\n function recursivelyGarbageCollect(root) {\n var keys = ownKeys(root);\n var i= keys.length;\n var obj, key, flag;\n while(i-->0){\n key = keys[i];\n obj = root[key];\n\n if(obj){\n flag= true;\n if(key !== '_listeners' && !recursivelyGarbageCollect(obj)){\n delete root[key];\n }\n }\n }\n\n return flag;\n }\n\n function Listener(emitter, event, listener){\n this.emitter= emitter;\n this.event= event;\n this.listener= listener;\n }\n\n Listener.prototype.off= function(){\n this.emitter.off(this.event, this.listener);\n return this;\n };\n\n function setupListener(event, listener, options){\n if (options === true) {\n promisify = true;\n } else if (options === false) {\n async = true;\n } else {\n if (!options || typeof options !== 'object') {\n throw TypeError('options should be an object or true');\n }\n var async = options.async;\n var promisify = options.promisify;\n var nextTick = options.nextTick;\n var objectify = options.objectify;\n }\n\n if (async || nextTick || promisify) {\n var _listener = listener;\n var _origin = listener._origin || listener;\n\n if (nextTick && !nextTickSupported) {\n throw Error('process.nextTick is not supported');\n }\n\n if (promisify === undefined) {\n promisify = listener.constructor.name === 'AsyncFunction';\n }\n\n listener = function () {\n var args = arguments;\n var context = this;\n var event = this.event;\n\n return promisify ? (nextTick ? Promise.resolve() : new Promise(function (resolve) {\n _setImmediate(resolve);\n }).then(function () {\n context.event = event;\n return _listener.apply(context, args)\n })) : (nextTick ? process.nextTick : _setImmediate)(function () {\n context.event = event;\n _listener.apply(context, args)\n });\n };\n\n listener._async = true;\n listener._origin = _origin;\n }\n\n return [listener, objectify? new Listener(this, event, listener): this];\n }\n\n function EventEmitter(conf) {\n this._events = {};\n this._newListener = false;\n this._removeListener = false;\n this.verboseMemoryLeak = false;\n configure.call(this, conf);\n }\n\n EventEmitter.EventEmitter2 = EventEmitter; // backwards compatibility for exporting EventEmitter property\n\n EventEmitter.prototype.listenTo= function(target, events, options){\n if(typeof target!=='object'){\n throw TypeError('target musts be an object');\n }\n\n var emitter= this;\n\n options = resolveOptions(options, {\n on: undefined,\n off: undefined,\n reducers: undefined\n }, {\n on: functionReducer,\n off: functionReducer,\n reducers: objectFunctionReducer\n });\n\n function listen(events){\n if(typeof events!=='object'){\n throw TypeError('events must be an object');\n }\n\n var reducers= options.reducers;\n var index= findTargetIndex.call(emitter, target);\n var observer;\n\n if(index===-1){\n observer= new TargetObserver(emitter, target, options);\n }else{\n observer= emitter._observers[index];\n }\n\n var keys= ownKeys(events);\n var len= keys.length;\n var event;\n var isSingleReducer= typeof reducers==='function';\n\n for(var i=0; i<len; i++){\n event= keys[i];\n observer.subscribe(\n event,\n events[event] || event,\n isSingleReducer ? reducers : reducers && reducers[event]\n );\n }\n }\n\n isArray(events)?\n listen(toObject(events)) :\n (typeof events==='string'? listen(toObject(events.split(/\\s+/))): listen(events));\n\n return this;\n };\n\n EventEmitter.prototype.stopListeningTo = function (target, event) {\n var observers = this._observers;\n\n if(!observers){\n return false;\n }\n\n var i = observers.length;\n var observer;\n var matched= false;\n\n if(target && typeof target!=='object'){\n throw TypeError('target should be an object');\n }\n\n while (i-- > 0) {\n observer = observers[i];\n if (!target || observer._target === target) {\n observer.unsubscribe(event);\n matched= true;\n }\n }\n\n return matched;\n };\n\n // By default EventEmitters will print a warning if more than\n // 10 listeners are added to it. This is a useful default which\n // helps finding memory leaks.\n //\n // Obviously not all Emitters should be limited to 10. This function allows\n // that to be increased. Set to zero for unlimited.\n\n EventEmitter.prototype.delimiter = '.';\n\n EventEmitter.prototype.setMaxListeners = function(n) {\n if (n !== undefined) {\n this._maxListeners = n;\n if (!this._conf) this._conf = {};\n this._conf.maxListeners = n;\n }\n };\n\n EventEmitter.prototype.getMaxListeners = function() {\n return this._maxListeners;\n };\n\n EventEmitter.prototype.event = '';\n\n EventEmitter.prototype.once = function(event, fn, options) {\n return this._once(event, fn, false, options);\n };\n\n EventEmitter.prototype.prependOnceListener = function(event, fn, options) {\n return this._once(event, fn, true, options);\n };\n\n EventEmitter.prototype._once = function(event, fn, prepend, options) {\n return this._many(event, 1, fn, prepend, options);\n };\n\n EventEmitter.prototype.many = function(event, ttl, fn, options) {\n return this._many(event, ttl, fn, false, options);\n };\n\n EventEmitter.prototype.prependMany = function(event, ttl, fn, options) {\n return this._many(event, ttl, fn, true, options);\n };\n\n EventEmitter.prototype._many = function(event, ttl, fn, prepend, options) {\n var self = this;\n\n if (typeof fn !== 'function') {\n throw new Error('many only accepts instances of Function');\n }\n\n function listener() {\n if (--ttl === 0) {\n self.off(event, listener);\n }\n return fn.apply(this, arguments);\n }\n\n listener._origin = fn;\n\n return this._on(event, listener, prepend, options);\n };\n\n EventEmitter.prototype.emit = function() {\n if (!this._events && !this._all) {\n return false;\n }\n\n this._events || init.call(this);\n\n var type = arguments[0], ns, wildcard= this.wildcard;\n var args,l,i,j, containsSymbol;\n\n if (type === 'newListener' && !this._newListener) {\n if (!this._events.newListener) {\n return false;\n }\n }\n\n if (wildcard) {\n ns= type;\n if(type!=='newListener' && type!=='removeListener'){\n if (typeof type === 'object') {\n l = type.length;\n if (symbolsSupported) {\n for (i = 0; i < l; i++) {\n if (typeof type[i] === 'symbol') {\n containsSymbol = true;\n break;\n }\n }\n }\n if (!containsSymbol) {\n type = type.join(this.delimiter);\n }\n }\n }\n }\n\n var al = arguments.length;\n var handler;\n\n if (this._all && this._all.length) {\n handler = this._all.slice();\n\n for (i = 0, l = handler.length; i < l; i++) {\n this.event = type;\n switch (al) {\n case 1:\n handler[i].call(this, type);\n break;\n case 2:\n handler[i].call(this, type, arguments[1]);\n break;\n case 3:\n handler[i].call(this, type, arguments[1], arguments[2]);\n break;\n default:\n handler[i].apply(this, arguments);\n }\n }\n }\n\n if (wildcard) {\n handler = [];\n searchListenerTree.call(this, handler, ns, this.listenerTree, 0, l);\n } else {\n handler = this._events[type];\n if (typeof handler === 'function') {\n this.event = type;\n switch (al) {\n case 1:\n handler.call(this);\n break;\n case 2:\n handler.call(this, arguments[1]);\n break;\n case 3:\n handler.call(this, arguments[1], arguments[2]);\n break;\n default:\n args = new Array(al - 1);\n for (j = 1; j < al; j++) args[j - 1] = arguments[j];\n handler.apply(this, args);\n }\n return true;\n } else if (handler) {\n // need to make copy of handlers because list can change in the middle\n // of emit call\n handler = handler.slice();\n }\n }\n\n if (handler && handler.length) {\n if (al > 3) {\n args = new Array(al - 1);\n for (j = 1; j < al; j++) args[j - 1] = arguments[j];\n }\n for (i = 0, l = handler.length; i < l; i++) {\n this.event = type;\n switch (al) {\n case 1:\n handler[i].call(this);\n break;\n case 2:\n handler[i].call(this, arguments[1]);\n break;\n case 3:\n handler[i].call(this, arguments[1], arguments[2]);\n break;\n default:\n handler[i].apply(this, args);\n }\n }\n return true;\n } else if (!this.ignoreErrors && !this._all && type === 'error') {\n if (arguments[1] instanceof Error) {\n throw arguments[1]; // Unhandled 'error' event\n } else {\n throw new Error(\"Uncaught, unspecified 'error' event.\");\n }\n }\n\n return !!this._all;\n };\n\n EventEmitter.prototype.emitAsync = function() {\n if (!this._events && !this._all) {\n return false;\n }\n\n this._events || init.call(this);\n\n var type = arguments[0], wildcard= this.wildcard, ns, containsSymbol;\n var args,l,i,j;\n\n if (type === 'newListener' && !this._newListener) {\n if (!this._events.newListener) { return Promise.resolve([false]); }\n }\n\n if (wildcard) {\n ns= type;\n if(type!=='newListener' && type!=='removeListener'){\n if (typeof type === 'object') {\n l = type.length;\n if (symbolsSupported) {\n for (i = 0; i < l; i++) {\n if (typeof type[i] === 'symbol') {\n containsSymbol = true;\n break;\n }\n }\n }\n if (!containsSymbol) {\n type = type.join(this.delimiter);\n }\n }\n }\n }\n\n var promises= [];\n\n var al = arguments.length;\n var handler;\n\n if (this._all) {\n for (i = 0, l = this._all.length; i < l; i++) {\n this.event = type;\n switch (al) {\n case 1:\n promises.push(this._all[i].call(this, type));\n break;\n case 2:\n promises.push(this._all[i].call(this, type, arguments[1]));\n break;\n case 3:\n promises.push(this._all[i].call(this, type, arguments[1], arguments[2]));\n break;\n default:\n promises.push(this._all[i].apply(this, arguments));\n }\n }\n }\n\n if (wildcard) {\n handler = [];\n searchListenerTree.call(this, handler, ns, this.listenerTree, 0);\n } else {\n handler = this._events[type];\n }\n\n if (typeof handler === 'function') {\n this.event = type;\n switch (al) {\n case 1:\n promises.push(handler.call(this));\n break;\n case 2:\n promises.push(handler.call(this, arguments[1]));\n break;\n case 3:\n promises.push(handler.call(this, arguments[1], arguments[2]));\n break;\n default:\n args = new Array(al - 1);\n for (j = 1; j < al; j++) args[j - 1] = arguments[j];\n promises.push(handler.apply(this, args));\n }\n } else if (handler && handler.length) {\n handler = handler.slice();\n if (al > 3) {\n args = new Array(al - 1);\n for (j = 1; j < al; j++) args[j - 1] = arguments[j];\n }\n for (i = 0, l = handler.length; i < l; i++) {\n this.event = type;\n switch (al) {\n case 1:\n promises.push(handler[i].call(this));\n break;\n case 2:\n promises.push(handler[i].call(this, arguments[1]));\n break;\n case 3:\n promises.push(handler[i].call(this, arguments[1], arguments[2]));\n break;\n default:\n promises.push(handler[i].apply(this, args));\n }\n }\n } else if (!this.ignoreErrors && !this._all && type === 'error') {\n if (arguments[1] instanceof Error) {\n return Promise.reject(arguments[1]); // Unhandled 'error' event\n } else {\n return Promise.reject(\"Uncaught, unspecified 'error' event.\");\n }\n }\n\n return Promise.all(promises);\n };\n\n EventEmitter.prototype.on = function(type, listener, options) {\n return this._on(type, listener, false, options);\n };\n\n EventEmitter.prototype.prependListener = function(type, listener, options) {\n return this._on(type, listener, true, options);\n };\n\n EventEmitter.prototype.onAny = function(fn) {\n return this._onAny(fn, false);\n };\n\n EventEmitter.prototype.prependAny = function(fn) {\n return this._onAny(fn, true);\n };\n\n EventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n EventEmitter.prototype._onAny = function(fn, prepend){\n if (typeof fn !== 'function') {\n throw new Error('onAny only accepts instances of Function');\n }\n\n if (!this._all) {\n this._all = [];\n }\n\n // Add the function to the event listener collection.\n if(prepend){\n this._all.unshift(fn);\n }else{\n this._all.push(fn);\n }\n\n return this;\n };\n\n EventEmitter.prototype._on = function(type, listener, prepend, options) {\n if (typeof type === 'function') {\n this._onAny(type, listener);\n return this;\n }\n\n if (typeof listener !== 'function') {\n throw new Error('on only accepts instances of Function');\n }\n this._events || init.call(this);\n\n var returnValue= this, temp;\n\n if (options !== undefined) {\n temp = setupListener.call(this, type, listener, options);\n listener = temp[0];\n returnValue = temp[1];\n }\n\n // To avoid recursion in the case that type == \"newListeners\"! Before\n // adding it to the listeners, first emit \"newListeners\".\n if (this._newListener) {\n this.emit('newListener', type, listener);\n }\n\n if (this.wildcard) {\n growListenerTree.call(this, type, listener, prepend);\n return returnValue;\n }\n\n if (!this._events[type]) {\n // Optimize the case of one listener. Don't need the extra array object.\n this._events[type] = listener;\n } else {\n if (typeof this._events[type] === 'function') {\n // Change to array.\n this._events[type] = [this._events[type]];\n }\n\n // If we've already got an array, just add\n if(prepend){\n this._events[type].unshift(listener);\n }else{\n this._events[type].push(listener);\n }\n\n // Check for listener leak\n if (\n !this._events[type].warned &&\n this._maxListeners > 0 &&\n this._events[type].length > this._maxListeners\n ) {\n this._events[type].warned = true;\n logPossibleMemoryLeak.call(this, this._events[type].length, type);\n }\n }\n\n return returnValue;\n };\n\n EventEmitter.prototype.off = function(type, listener) {\n if (typeof listener !== 'function') {\n throw new Error('removeListener only takes instances of Function');\n }\n\n var handlers,leafs=[];\n\n if(this.wildcard) {\n var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\n leafs = searchListenerTree.call(this, null, ns, this.listenerTree, 0);\n if(!leafs) return this;\n } else {\n // does not use listeners(), so no side effect of creating _events[type]\n if (!this._events[type]) return this;\n handlers = this._events[type];\n leafs.push({_listeners:handlers});\n }\n\n for (var iLeaf=0; iLeaf<leafs.length; iLeaf++) {\n var leaf = leafs[iLeaf];\n handlers = leaf._listeners;\n if (isArray(handlers)) {\n\n var position = -1;\n\n for (var i = 0, length = handlers.length; i < length; i++) {\n if (handlers[i] === listener ||\n (handlers[i].listener && handlers[i].listener === listener) ||\n (handlers[i]._origin && handlers[i]._origin === listener)) {\n position = i;\n break;\n }\n }\n\n if (position < 0) {\n continue;\n }\n\n if(this.wildcard) {\n leaf._listeners.splice(position, 1);\n }\n else {\n this._events[type].splice(position, 1);\n }\n\n if (handlers.length === 0) {\n if(this.wildcard) {\n delete leaf._listeners;\n }\n else {\n delete this._events[type];\n }\n }\n if (this._removeListener)\n this.emit(\"removeListener\", type, listener);\n\n return this;\n }\n else if (handlers === listener ||\n (handlers.listener && handlers.listener === listener) ||\n (handlers._origin && handlers._origin === listener)) {\n if(this.wildcard) {\n delete leaf._listeners;\n }\n else {\n delete this._events[type];\n }\n if (this._removeListener)\n this.emit(\"removeListener\", type, listener);\n }\n }\n\n this.listenerTree && recursivelyGarbageCollect(this.listenerTree);\n\n return this;\n };\n\n EventEmitter.prototype.offAny = function(fn) {\n var i = 0, l = 0, fns;\n if (fn && this._all && this._all.length > 0) {\n fns = this._all;\n for(i = 0, l = fns.length; i < l; i++) {\n if(fn === fns[i]) {\n fns.splice(i, 1);\n if (this._removeListener)\n this.emit(\"removeListenerAny\", fn);\n return this;\n }\n }\n } else {\n fns = this._all;\n if (this._removeListener) {\n for(i = 0, l = fns.length; i < l; i++)\n this.emit(\"removeListenerAny\", fns[i]);\n }\n this._all = [];\n }\n return this;\n };\n\n EventEmitter.prototype.removeListener = EventEmitter.prototype.off;\n\n EventEmitter.prototype.removeAllListeners = function (type) {\n if (type === undefined) {\n !this._events || init.call(this);\n return this;\n }\n\n if (this.wildcard) {\n var leafs = searchListenerTree.call(this, null, type, this.listenerTree, 0), leaf, i;\n if (!leafs) return this;\n for (i = 0; i < leafs.length; i++) {\n leaf = leafs[i];\n leaf._listeners = null;\n }\n this.listenerTree && recursivelyGarbageCollect(this.listenerTree);\n } else if (this._events) {\n this._events[type] = null;\n }\n return this;\n };\n\n EventEmitter.prototype.listeners = function (type) {\n var _events = this._events;\n var keys, listeners, allListeners;\n var i;\n var listenerTree;\n\n if (type === undefined) {\n if (this.wildcard) {\n throw Error('event name required for wildcard emitter');\n }\n\n if (!_events) {\n return [];\n }\n\n keys = ownKeys(_events);\n i = keys.length;\n allListeners = [];\n while (i-- > 0) {\n listeners = _events[keys[i]];\n if (typeof listeners === 'function') {\n allListeners.push(listeners);\n } else {\n allListeners.push.apply(allListeners, listeners);\n }\n }\n return allListeners;\n } else {\n if (this.wildcard) {\n listenerTree= this.listenerTree;\n if(!listenerTree) return [];\n var handlers = [];\n var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\n searchListenerTree.call(this, handlers, ns, listenerTree, 0);\n return handlers;\n }\n\n if (!_events) {\n return [];\n }\n\n listeners = _events[type];\n\n if (!listeners) {\n return [];\n }\n return typeof listeners === 'function' ? [listeners] : listeners;\n }\n };\n\n EventEmitter.prototype.eventNames = function(nsAsArray){\n var _events= this._events;\n return this.wildcard? collectTreeEvents.call(this, this.listenerTree, [], null, nsAsArray) : (_events? ownKeys(_events) : []);\n };\n\n EventEmitter.prototype.listenerCount = function(type) {\n return this.listeners(type).length;\n };\n\n EventEmitter.prototype.hasListeners = function (type) {\n if (this.wildcard) {\n var handlers = [];\n var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\n searchListenerTree.call(this, handlers, ns, this.listenerTree, 0);\n return handlers.length > 0;\n }\n\n var _events = this._events;\n var _all = this._all;\n\n return !!(_all && _all.length || _events && (type === undefined ? ownKeys(_events).length : _events[type]));\n };\n\n EventEmitter.prototype.listenersAny = function() {\n\n if(this._all) {\n return this._all;\n }\n else {\n return [];\n }\n\n };\n\n EventEmitter.prototype.waitFor = function (event, options) {\n var self = this;\n var type = typeof options;\n if (type === 'number') {\n options = {timeout: options};\n } else if (type === 'function') {\n options = {filter: options};\n }\n\n options= resolveOptions(options, {\n timeout: 0,\n filter: undefined,\n handleError: false,\n Promise: Promise,\n overload: false\n }, {\n filter: functionReducer,\n Promise: constructorReducer\n });\n\n return makeCancelablePromise(options.Promise, function (resolve, reject, onCancel) {\n function listener() {\n var filter= options.filter;\n if (filter && !filter.apply(self, arguments)) {\n return;\n }\n self.off(event, listener);\n if (options.handleError) {\n var err = arguments[0];\n err ? reject(err) : resolve(toArray.apply(null, arguments).slice(1));\n } else {\n resolve(toArray.apply(null, arguments));\n }\n }\n\n onCancel(function(){\n self.off(event, listener);\n });\n\n self._on(event, listener, false);\n }, {\n timeout: options.timeout,\n overload: options.overload\n })\n };\n\n function once(emitter, name, options) {\n options= resolveOptions(options, {\n Promise: Promise,\n timeout: 0,\n overload: false\n }, {\n Promise: constructorReducer\n });\n\n var _Promise= options.Promise;\n\n return makeCancelablePromise(_Promise, function(resolve, reject, onCancel){\n var handler;\n if (typeof emitter.addEventListener === 'function') {\n handler= function () {\n resolve(toArray.apply(null, arguments));\n };\n\n onCancel(function(){\n emitter.removeEventListener(name, handler);\n });\n\n emitter.addEventListener(\n name,\n handler,\n {once: true}\n );\n return;\n }\n\n var eventListener = function(){\n errorListener && emitter.removeListener('error', errorListener);\n resolve(toArray.apply(null, arguments));\n };\n\n var errorListener;\n\n if (name !== 'error') {\n errorListener = function (err){\n emitter.removeListener(name, eventListener);\n reject(err);\n };\n\n emitter.once('error', errorListener);\n }\n\n onCancel(function(){\n errorListener && emitter.removeListener('error', errorListener);\n emitter.removeListener(name, eventListener);\n });\n\n emitter.once(name, eventListener);\n }, {\n timeout: options.timeout,\n overload: options.overload\n });\n }\n\n var prototype= EventEmitter.prototype;\n\n Object.defineProperties(EventEmitter, {\n defaultMaxListeners: {\n get: function () {\n return prototype._maxListeners;\n },\n set: function (n) {\n if (typeof n !== 'number' || n < 0 || Number.isNaN(n)) {\n throw TypeError('n must be a non-negative number')\n }\n prototype._maxListeners = n;\n },\n enumerable: true\n },\n once: {\n value: once,\n writable: true,\n configurable: true\n }\n });\n\n Object.defineProperties(prototype, {\n _maxListeners: {\n value: defaultMaxListeners,\n writable: true,\n configurable: true\n },\n _observers: {value: null, writable: true, configurable: true}\n });\n\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(function() {\n return EventEmitter;\n });\n } else if (typeof exports === 'object') {\n // CommonJS\n module.exports = EventEmitter;\n }\n else {\n // global for any kind of environment.\n var _global= new Function('','return this')();\n _global.EventEmitter2 = EventEmitter;\n }\n}();\n","const PACKET_TYPES = Object.create(null); // no Map = no polyfill\nPACKET_TYPES[\"open\"] = \"0\";\nPACKET_TYPES[\"close\"] = \"1\";\nPACKET_TYPES[\"ping\"] = \"2\";\nPACKET_TYPES[\"pong\"] = \"3\";\nPACKET_TYPES[\"message\"] = \"4\";\nPACKET_TYPES[\"upgrade\"] = \"5\";\nPACKET_TYPES[\"noop\"] = \"6\";\nconst PACKET_TYPES_REVERSE = Object.create(null);\nObject.keys(PACKET_TYPES).forEach((key) => {\n PACKET_TYPES_REVERSE[PACKET_TYPES[key]] = key;\n});\nconst ERROR_PACKET = { type: \"error\", data: \"parser error\" };\nexport { PACKET_TYPES, PACKET_TYPES_REVERSE, ERROR_PACKET };\n","import { PACKET_TYPES } from \"./commons.js\";\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n Object.prototype.toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\n// ArrayBuffer.isView method is not defined in IE10\nconst isView = (obj) => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj && obj.buffer instanceof ArrayBuffer;\n};\nconst encodePacket = ({ type, data }, supportsBinary, callback) => {\n if (withNativeBlob && data instanceof Blob) {\n if (supportsBinary) {\n return callback(data);\n }\n else {\n return encodeBlobAsBase64(data, callback);\n }\n }\n else if (withNativeArrayBuffer &&\n (data instanceof ArrayBuffer || isView(data))) {\n if (supportsBinary) {\n return callback(data);\n }\n else {\n return encodeBlobAsBase64(new Blob([data]), callback);\n }\n }\n // plain string\n return callback(PACKET_TYPES[type] + (data || \"\"));\n};\nconst encodeBlobAsBase64 = (data, callback) => {\n const fileReader = new FileReader();\n fileReader.onload = function () {\n const content = fileReader.result.split(\",\")[1];\n callback(\"b\" + (content || \"\"));\n };\n return fileReader.readAsDataURL(data);\n};\nfunction toArray(data) {\n if (data instanceof Uint8Array) {\n return data;\n }\n else if (data instanceof ArrayBuffer) {\n return new Uint8Array(data);\n }\n else {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n }\n}\nlet TEXT_ENCODER;\nexport function encodePacketToBinary(packet, callback) {\n if (withNativeBlob && packet.data instanceof Blob) {\n return packet.data.arrayBuffer().then(toArray).then(callback);\n }\n else if (withNativeArrayBuffer &&\n (packet.data instanceof ArrayBuffer || isView(packet.data))) {\n return callback(toArray(packet.data));\n }\n encodePacket(packet, false, (encoded) => {\n if (!TEXT_ENCODER) {\n TEXT_ENCODER = new TextEncoder();\n }\n callback(TEXT_ENCODER.encode(encoded));\n });\n}\nexport { encodePacket };\n","// imported from https://github.com/socketio/base64-arraybuffer\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\nexport const encode = (arraybuffer) => {\n let bytes = new Uint8Array(arraybuffer), i, len = bytes.length, base64 = '';\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n }\n else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n return base64;\n};\nexport const decode = (base64) => {\n let bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n const arraybuffer = new ArrayBuffer(bufferLength), bytes = new Uint8Array(arraybuffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return arraybuffer;\n};\n","import { ERROR_PACKET, PACKET_TYPES_REVERSE, } from \"./commons.js\";\nimport { decode } from \"./contrib/base64-arraybuffer.js\";\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nexport const decodePacket = (encodedPacket, binaryType) => {\n if (typeof encodedPacket !== \"string\") {\n return {\n type: \"message\",\n data: mapBinary(encodedPacket, binaryType),\n };\n }\n const type = encodedPacket.charAt(0);\n if (type === \"b\") {\n return {\n type: \"message\",\n data: decodeBase64Packet(encodedPacket.substring(1), binaryType),\n };\n }\n const packetType = PACKET_TYPES_REVERSE[type];\n if (!packetType) {\n return ERROR_PACKET;\n }\n return encodedPacket.length > 1\n ? {\n type: PACKET_TYPES_REVERSE[type],\n data: encodedPacket.substring(1),\n }\n : {\n type: PACKET_TYPES_REVERSE[type],\n };\n};\nconst decodeBase64Packet = (data, binaryType) => {\n if (withNativeArrayBuffer) {\n const decoded = decode(data);\n return mapBinary(decoded, binaryType);\n }\n else {\n return { base64: true, data }; // fallback for old browsers\n }\n};\nconst mapBinary = (data, binaryType) => {\n switch (binaryType) {\n case \"blob\":\n if (data instanceof Blob) {\n // from WebSocket + binaryType \"blob\"\n return data;\n }\n else {\n // from HTTP long-polling or WebTransport\n return new Blob([data]);\n }\n case \"arraybuffer\":\n default:\n if (data instanceof ArrayBuffer) {\n // from HTTP long-polling (base64) or WebSocket + binaryType \"arraybuffer\"\n return data;\n }\n else {\n // from WebTransport (Uint8Array)\n return data.buffer;\n }\n }\n};\n","import { encodePacket, encodePacketToBinary } from \"./encodePacket.js\";\nimport { decodePacket } from \"./decodePacket.js\";\nimport { ERROR_PACKET, } from \"./commons.js\";\nconst SEPARATOR = String.fromCharCode(30); // see https://en.wikipedia.org/wiki/Delimiter#ASCII_delimited_text\nconst encodePayload = (packets, callback) => {\n // some packets may be added to the array while encoding, so the initial length must be saved\n const length = packets.length;\n const encodedPackets = new Array(length);\n let count = 0;\n packets.forEach((packet, i) => {\n // force base64 encoding for binary packets\n encodePacket(packet, false, (encodedPacket) => {\n encodedPackets[i] = encodedPacket;\n if (++count === length) {\n callback(encodedPackets.join(SEPARATOR));\n }\n });\n });\n};\nconst decodePayload = (encodedPayload, binaryType) => {\n const encodedPackets = encodedPayload.split(SEPARATOR);\n const packets = [];\n for (let i = 0; i < encodedPackets.length; i++) {\n const decodedPacket = decodePacket(encodedPackets[i], binaryType);\n packets.push(decodedPacket);\n if (decodedPacket.type === \"error\") {\n break;\n }\n }\n return packets;\n};\nexport function createPacketEncoderStream() {\n return new TransformStream({\n transform(packet, controller) {\n encodePacketToBinary(packet, (encodedPacket) => {\n const payloadLength = encodedPacket.length;\n let header;\n // inspired by the WebSocket format: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers#decoding_payload_length\n if (payloadLength < 126) {\n header = new Uint8Array(1);\n new DataView(header.buffer).setUint8(0, payloadLength);\n }\n else if (payloadLength < 65536) {\n header = new Uint8Array(3);\n const view = new DataView(header.buffer);\n view.setUint8(0, 126);\n view.setUint16(1, payloadLength);\n }\n else {\n header = new Uint8Array(9);\n const view = new DataView(header.buffer);\n view.setUint8(0, 127);\n view.setBigUint64(1, BigInt(payloadLength));\n }\n // first bit indicates whether the payload is plain text (0) or binary (1)\n if (packet.data && typeof packet.data !== \"string\") {\n header[0] |= 0x80;\n }\n controller.enqueue(header);\n controller.enqueue(encodedPacket);\n });\n },\n });\n}\nlet TEXT_DECODER;\nfunction totalLength(chunks) {\n return chunks.reduce((acc, chunk) => acc + chunk.length, 0);\n}\nfunction concatChunks(chunks, size) {\n if (chunks[0].length === size) {\n return chunks.shift();\n }\n const buffer = new Uint8Array(size);\n let j = 0;\n for (let i = 0; i < size; i++) {\n buffer[i] = chunks[0][j++];\n if (j === chunks[0].length) {\n chunks.shift();\n j = 0;\n }\n }\n if (chunks.length && j < chunks[0].length) {\n chunks[0] = chunks[0].slice(j);\n }\n return buffer;\n}\nexport function createPacketDecoderStream(maxPayload, binaryType) {\n if (!TEXT_DECODER) {\n TEXT_DECODER = new TextDecoder();\n }\n const chunks = [];\n let state = 0 /* State.READ_HEADER */;\n let expectedLength = -1;\n let isBinary = false;\n return new TransformStream({\n transform(chunk, controller) {\n chunks.push(chunk);\n while (true) {\n if (state === 0 /* State.READ_HEADER */) {\n if (totalLength(chunks) < 1) {\n break;\n }\n const header = concatChunks(chunks, 1);\n isBinary = (header[0] & 0x80) === 0x80;\n expectedLength = header[0] & 0x7f;\n if (expectedLength < 126) {\n state = 3 /* State.READ_PAYLOAD */;\n }\n else if (expectedLength === 126) {\n state = 1 /* State.READ_EXTENDED_LENGTH_16 */;\n }\n else {\n state = 2 /* State.READ_EXTENDED_LENGTH_64 */;\n }\n }\n else if (state === 1 /* State.READ_EXTENDED_LENGTH_16 */) {\n if (totalLength(chunks) < 2) {\n break;\n }\n const headerArray = concatChunks(chunks, 2);\n expectedLength = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length).getUint16(0);\n state = 3 /* State.READ_PAYLOAD */;\n }\n else if (state === 2 /* State.READ_EXTENDED_LENGTH_64 */) {\n if (totalLength(chunks) < 8) {\n break;\n }\n const headerArray = concatChunks(chunks, 8);\n const view = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length);\n const n = view.getUint32(0);\n if (n > Math.pow(2, 53 - 32) - 1) {\n // the maximum safe integer in JavaScript is 2^53 - 1\n controller.enqueue(ERROR_PACKET);\n break;\n }\n expectedLength = n * Math.pow(2, 32) + view.getUint32(4);\n state = 3 /* State.READ_PAYLOAD */;\n }\n else {\n if (totalLength(chunks) < expectedLength) {\n break;\n }\n const data = concatChunks(chunks, expectedLength);\n controller.enqueue(decodePacket(isBinary ? data : TEXT_DECODER.decode(data), binaryType));\n state = 0 /* State.READ_HEADER */;\n }\n if (expectedLength === 0 || expectedLength > maxPayload) {\n controller.enqueue(ERROR_PACKET);\n break;\n }\n }\n },\n });\n}\nexport const protocol = 4;\nexport { encodePacket, encodePayload, decodePacket, decodePayload, };\n","/**\n * Initialize a new `Emitter`.\n *\n * @api public\n */\n\nexport function Emitter(obj) {\n if (obj) return mixin(obj);\n}\n\n/**\n * Mixin the emitter properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n for (var key in Emitter.prototype) {\n obj[key] = Emitter.prototype[key];\n }\n return obj;\n}\n\n/**\n * Listen on the given `event` with `fn`.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.on =\nEmitter.prototype.addEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\n .push(fn);\n return this;\n};\n\n/**\n * Adds an `event` listener that will be invoked a single\n * time then automatically removed.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.once = function(event, fn){\n function on() {\n this.off(event, on);\n fn.apply(this, arguments);\n }\n\n on.fn = fn;\n this.on(event, on);\n return this;\n};\n\n/**\n * Remove the given callback for `event` or all\n * registered callbacks.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.off =\nEmitter.prototype.removeListener =\nEmitter.prototype.removeAllListeners =\nEmitter.prototype.removeEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n\n // all\n if (0 == arguments.length) {\n this._callbacks = {};\n return this;\n }\n\n // specific event\n var callbacks = this._callbacks['$' + event];\n if (!callbacks) return this;\n\n // remove all handlers\n if (1 == arguments.length) {\n delete this._callbacks['$' + event];\n return this;\n }\n\n // remove specific handler\n var cb;\n for (var i = 0; i < callbacks.length; i++) {\n cb = callbacks[i];\n if (cb === fn || cb.fn === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n\n // Remove event specific arrays for event types that no\n // one is subscribed for to avoid memory leak.\n if (callbacks.length === 0) {\n delete this._callbacks['$' + event];\n }\n\n return this;\n};\n\n/**\n * Emit `event` with the given args.\n *\n * @param {String} event\n * @param {Mixed} ...\n * @return {Emitter}\n */\n\nEmitter.prototype.emit = function(event){\n this._callbacks = this._callbacks || {};\n\n var args = new Array(arguments.length - 1)\n , callbacks = this._callbacks['$' + event];\n\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n\n if (callbacks) {\n callbacks = callbacks.slice(0);\n for (var i = 0, len = callbacks.length; i < len; ++i) {\n callbacks[i].apply(this, args);\n }\n }\n\n return this;\n};\n\n// alias used for reserved events (protected method)\nEmitter.prototype.emitReserved = Emitter.prototype.emit;\n\n/**\n * Return array of callbacks for `event`.\n *\n * @param {String} event\n * @return {Array}\n * @api public\n */\n\nEmitter.prototype.listeners = function(event){\n this._callbacks = this._callbacks || {};\n return this._callbacks['$' + event] || [];\n};\n\n/**\n * Check if this emitter has `event` handlers.\n *\n * @param {String} event\n * @return {Boolean}\n * @api public\n */\n\nEmitter.prototype.hasListeners = function(event){\n return !! this.listeners(event).length;\n};\n","export const nextTick = (() => {\n const isPromiseAvailable = typeof Promise === \"function\" && typeof Promise.resolve === \"function\";\n if (isPromiseAvailable) {\n return (cb) => Promise.resolve().then(cb);\n }\n else {\n return (cb, setTimeoutFn) => setTimeoutFn(cb, 0);\n }\n})();\nexport const globalThisShim = (() => {\n if (typeof self !== \"undefined\") {\n return self;\n }\n else if (typeof window !== \"undefined\") {\n return window;\n }\n else {\n return Function(\"return this\")();\n }\n})();\nexport const defaultBinaryType = \"arraybuffer\";\nexport function createCookieJar() { }\n","import { globalThisShim as globalThis } from \"./globals.node.js\";\nexport function pick(obj, ...attr) {\n return attr.reduce((acc, k) => {\n if (obj.hasOwnProperty(k)) {\n acc[k] = obj[k];\n }\n return acc;\n }, {});\n}\n// Keep a reference to the real timeout functions so they can be used when overridden\nconst NATIVE_SET_TIMEOUT = globalThis.setTimeout;\nconst NATIVE_CLEAR_TIMEOUT = globalThis.clearTimeout;\nexport function installTimerFunctions(obj, opts) {\n if (opts.useNativeTimers) {\n obj.setTimeoutFn = NATIVE_SET_TIMEOUT.bind(globalThis);\n obj.clearTimeoutFn = NATIVE_CLEAR_TIMEOUT.bind(globalThis);\n }\n else {\n obj.setTimeoutFn = globalThis.setTimeout.bind(globalThis);\n obj.clearTimeoutFn = globalThis.clearTimeout.bind(globalThis);\n }\n}\n// base64 encoded buffers are about 33% bigger (https://en.wikipedia.org/wiki/Base64)\nconst BASE64_OVERHEAD = 1.33;\n// we could also have used `new Blob([obj]).size`, but it isn't supported in IE9\nexport function byteLength(obj) {\n if (typeof obj === \"string\") {\n return utf8Length(obj);\n }\n // arraybuffer or blob\n return Math.ceil((obj.byteLength || obj.size) * BASE64_OVERHEAD);\n}\nfunction utf8Length(str) {\n let c = 0, length = 0;\n for (let i = 0, l = str.length; i < l; i++) {\n c = str.charCodeAt(i);\n if (c < 0x80) {\n length += 1;\n }\n else if (c < 0x800) {\n length += 2;\n }\n else if (c < 0xd800 || c >= 0xe000) {\n length += 3;\n }\n else {\n i++;\n length += 4;\n }\n }\n return length;\n}\n/**\n * Generates a random 8-characters string.\n */\nexport function randomString() {\n return (Date.now().toString(36).substring(3) +\n Math.random().toString(36).substring(2, 5));\n}\n","// imported from https://github.com/galkn/querystring\n/**\n * Compiles a querystring\n * Returns string representation of the object\n *\n * @param {Object}\n * @api private\n */\nexport function encode(obj) {\n let str = '';\n for (let i in obj) {\n if (obj.hasOwnProperty(i)) {\n if (str.length)\n str += '&';\n str += encodeURIComponent(i) + '=' + encodeURIComponent(obj[i]);\n }\n }\n return str;\n}\n/**\n * Parses a simple querystring into an object\n *\n * @param {String} qs\n * @api private\n */\nexport function decode(qs) {\n let qry = {};\n let pairs = qs.split('&');\n for (let i = 0, l = pairs.length; i < l; i++) {\n let pair = pairs[i].split('=');\n qry[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n return qry;\n}\n","import { decodePacket } from \"engine.io-parser\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { installTimerFunctions } from \"./util.js\";\nimport { encode } from \"./contrib/parseqs.js\";\nexport class TransportError extends Error {\n constructor(reason, description, context) {\n super(reason);\n this.description = description;\n this.context = context;\n this.type = \"TransportError\";\n }\n}\nexport class Transport extends Emitter {\n /**\n * Transport abstract constructor.\n *\n * @param {Object} opts - options\n * @protected\n */\n constructor(opts) {\n super();\n this.writable = false;\n installTimerFunctions(this, opts);\n this.opts = opts;\n this.query = opts.query;\n this.socket = opts.socket;\n this.supportsBinary = !opts.forceBase64;\n }\n /**\n * Emits an error.\n *\n * @param {String} reason\n * @param description\n * @param context - the error context\n * @return {Transport} for chaining\n * @protected\n */\n onError(reason, description, context) {\n super.emitReserved(\"error\", new TransportError(reason, description, context));\n return this;\n }\n /**\n * Opens the transport.\n */\n open() {\n this.readyState = \"opening\";\n this.doOpen();\n return this;\n }\n /**\n * Closes the transport.\n */\n close() {\n if (this.readyState === \"opening\" || this.readyState === \"open\") {\n this.doClose();\n this.onClose();\n }\n return this;\n }\n /**\n * Sends multiple packets.\n *\n * @param {Array} packets\n */\n send(packets) {\n if (this.readyState === \"open\") {\n this.write(packets);\n }\n else {\n // this might happen if the transport was silently closed in the beforeunload event handler\n }\n }\n /**\n * Called upon open\n *\n * @protected\n */\n onOpen() {\n this.readyState = \"open\";\n this.writable = true;\n super.emitReserved(\"open\");\n }\n /**\n * Called with data.\n *\n * @param {String} data\n * @protected\n */\n onData(data) {\n const packet = decodePacket(data, this.socket.binaryType);\n this.onPacket(packet);\n }\n /**\n * Called with a decoded packet.\n *\n * @protected\n */\n onPacket(packet) {\n super.emitReserved(\"packet\", packet);\n }\n /**\n * Called upon close.\n *\n * @protected\n */\n onClose(details) {\n this.readyState = \"closed\";\n super.emitReserved(\"close\", details);\n }\n /**\n * Pauses the transport, in order not to lose packets during an upgrade.\n *\n * @param onPause\n */\n pause(onPause) { }\n createUri(schema, query = {}) {\n return (schema +\n \"://\" +\n this._hostname() +\n this._port() +\n this.opts.path +\n this._query(query));\n }\n _hostname() {\n const hostname = this.opts.hostname;\n return hostname.indexOf(\":\") === -1 ? hostname : \"[\" + hostname + \"]\";\n }\n _port() {\n if (this.opts.port &&\n ((this.opts.secure && Number(this.opts.port !== 443)) ||\n (!this.opts.secure && Number(this.opts.port) !== 80))) {\n return \":\" + this.opts.port;\n }\n else {\n return \"\";\n }\n }\n _query(query) {\n const encodedQuery = encode(query);\n return encodedQuery.length ? \"?\" + encodedQuery : \"\";\n }\n}\n","import { Transport } from \"../transport.js\";\nimport { randomString } from \"../util.js\";\nimport { encodePayload, decodePayload } from \"engine.io-parser\";\nexport class Polling extends Transport {\n constructor() {\n super(...arguments);\n this._polling = false;\n }\n get name() {\n return \"polling\";\n }\n /**\n * Opens the socket (triggers polling). We write a PING message to determine\n * when the transport is open.\n *\n * @protected\n */\n doOpen() {\n this._poll();\n }\n /**\n * Pauses polling.\n *\n * @param {Function} onPause - callback upon buffers are flushed and transport is paused\n * @package\n */\n pause(onPause) {\n this.readyState = \"pausing\";\n const pause = () => {\n this.readyState = \"paused\";\n onPause();\n };\n if (this._polling || !this.writable) {\n let total = 0;\n if (this._polling) {\n total++;\n this.once(\"pollComplete\", function () {\n --total || pause();\n });\n }\n if (!this.writable) {\n total++;\n this.once(\"drain\", function () {\n --total || pause();\n });\n }\n }\n else {\n pause();\n }\n }\n /**\n * Starts polling cycle.\n *\n * @private\n */\n _poll() {\n this._polling = true;\n this.doPoll();\n this.emitReserved(\"poll\");\n }\n /**\n * Overloads onData to detect payloads.\n *\n * @protected\n */\n onData(data) {\n const callback = (packet) => {\n // if its the first message we consider the transport open\n if (\"opening\" === this.readyState && packet.type === \"open\") {\n this.onOpen();\n }\n // if its a close packet, we close the ongoing requests\n if (\"close\" === packet.type) {\n this.onClose({ description: \"transport closed by the server\" });\n return false;\n }\n // otherwise bypass onData and handle the message\n this.onPacket(packet);\n };\n // decode payload\n decodePayload(data, this.socket.binaryType).forEach(callback);\n // if an event did not trigger closing\n if (\"closed\" !== this.readyState) {\n // if we got data we're not polling\n this._polling = false;\n this.emitReserved(\"pollComplete\");\n if (\"open\" === this.readyState) {\n this._poll();\n }\n else {\n }\n }\n }\n /**\n * For polling, send a close packet.\n *\n * @protected\n */\n doClose() {\n const close = () => {\n this.write([{ type: \"close\" }]);\n };\n if (\"open\" === this.readyState) {\n close();\n }\n else {\n // in case we're trying to close while\n // handshaking is in progress (GH-164)\n this.once(\"open\", close);\n }\n }\n /**\n * Writes a packets payload.\n *\n * @param {Array} packets - data packets\n * @protected\n */\n write(packets) {\n this.writable = false;\n encodePayload(packets, (data) => {\n this.doWrite(data, () => {\n this.writable = true;\n this.emitReserved(\"drain\");\n });\n });\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */\n uri() {\n const schema = this.opts.secure ? \"https\" : \"http\";\n const query = this.query || {};\n // cache busting is forced\n if (false !== this.opts.timestampRequests) {\n query[this.opts.timestampParam] = randomString();\n }\n if (!this.supportsBinary && !query.sid) {\n query.b64 = 1;\n }\n return this.createUri(schema, query);\n }\n}\n","// imported from https://github.com/component/has-cors\nlet value = false;\ntry {\n value = typeof XMLHttpRequest !== 'undefined' &&\n 'withCredentials' in new XMLHttpRequest();\n}\ncatch (err) {\n // if XMLHttp support is disabled in IE then it will throw\n // when trying to create\n}\nexport const hasCORS = value;\n","import { Polling } from \"./polling.js\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { installTimerFunctions, pick } from \"../util.js\";\nimport { globalThisShim as globalThis } from \"../globals.node.js\";\nimport { hasCORS } from \"../contrib/has-cors.js\";\nfunction empty() { }\nexport class BaseXHR extends Polling {\n /**\n * XHR Polling constructor.\n *\n * @param {Object} opts\n * @package\n */\n constructor(opts) {\n super(opts);\n if (typeof location !== \"undefined\") {\n const isSSL = \"https:\" === location.protocol;\n let port = location.port;\n // some user agents have empty `location.port`\n if (!port) {\n port = isSSL ? \"443\" : \"80\";\n }\n this.xd =\n (typeof location !== \"undefined\" &&\n opts.hostname !== location.hostname) ||\n port !== opts.port;\n }\n }\n /**\n * Sends data.\n *\n * @param {String} data to send.\n * @param {Function} called upon flush.\n * @private\n */\n doWrite(data, fn) {\n const req = this.request({\n method: \"POST\",\n data: data,\n });\n req.on(\"success\", fn);\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr post error\", xhrStatus, context);\n });\n }\n /**\n * Starts a poll cycle.\n *\n * @private\n */\n doPoll() {\n const req = this.request();\n req.on(\"data\", this.onData.bind(this));\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr poll error\", xhrStatus, context);\n });\n this.pollXhr = req;\n }\n}\nexport class Request extends Emitter {\n /**\n * Request constructor\n *\n * @param {Object} options\n * @package\n */\n constructor(createRequest, uri, opts) {\n super();\n this.createRequest = createRequest;\n installTimerFunctions(this, opts);\n this._opts = opts;\n this._method = opts.method || \"GET\";\n this._uri = uri;\n this._data = undefined !== opts.data ? opts.data : null;\n this._create();\n }\n /**\n * Creates the XHR object and sends the request.\n *\n * @private\n */\n _create() {\n var _a;\n const opts = pick(this._opts, \"agent\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"autoUnref\");\n opts.xdomain = !!this._opts.xd;\n const xhr = (this._xhr = this.createRequest(opts));\n try {\n xhr.open(this._method, this._uri, true);\n try {\n if (this._opts.extraHeaders) {\n // @ts-ignore\n xhr.setDisableHeaderCheck && xhr.setDisableHeaderCheck(true);\n for (let i in this._opts.extraHeaders) {\n if (this._opts.extraHeaders.hasOwnProperty(i)) {\n xhr.setRequestHeader(i, this._opts.extraHeaders[i]);\n }\n }\n }\n }\n catch (e) { }\n if (\"POST\" === this._method) {\n try {\n xhr.setRequestHeader(\"Content-type\", \"text/plain;charset=UTF-8\");\n }\n catch (e) { }\n }\n try {\n xhr.setRequestHeader(\"Accept\", \"*/*\");\n }\n catch (e) { }\n (_a = this._opts.cookieJar) === null || _a === void 0 ? void 0 : _a.addCookies(xhr);\n // ie6 check\n if (\"withCredentials\" in xhr) {\n xhr.withCredentials = this._opts.withCredentials;\n }\n if (this._opts.requestTimeout) {\n xhr.timeout = this._opts.requestTimeout;\n }\n xhr.onreadystatechange = () => {\n var _a;\n if (xhr.readyState === 3) {\n (_a = this._opts.cookieJar) === null || _a === void 0 ? void 0 : _a.parseCookies(\n // @ts-ignore\n xhr.getResponseHeader(\"set-cookie\"));\n }\n if (4 !== xhr.readyState)\n return;\n if (200 === xhr.status || 1223 === xhr.status) {\n this._onLoad();\n }\n else {\n // make sure the `error` event handler that's user-set\n // does not throw in the same tick and gets caught here\n this.setTimeoutFn(() => {\n this._onError(typeof xhr.status === \"number\" ? xhr.status : 0);\n }, 0);\n }\n };\n xhr.send(this._data);\n }\n catch (e) {\n // Need to defer since .create() is called directly from the constructor\n // and thus the 'error' event can only be only bound *after* this exception\n // occurs. Therefore, also, we cannot throw here at all.\n this.setTimeoutFn(() => {\n this._onError(e);\n }, 0);\n return;\n }\n if (typeof document !== \"undefined\") {\n this._index = Request.requestsCount++;\n Request.requests[this._index] = this;\n }\n }\n /**\n * Called upon error.\n *\n * @private\n */\n _onError(err) {\n this.emitReserved(\"error\", err, this._xhr);\n this._cleanup(true);\n }\n /**\n * Cleans up house.\n *\n * @private\n */\n _cleanup(fromError) {\n if (\"undefined\" === typeof this._xhr || null === this._xhr) {\n return;\n }\n this._xhr.onreadystatechange = empty;\n if (fromError) {\n try {\n this._xhr.abort();\n }\n catch (e) { }\n }\n if (typeof document !== \"undefined\") {\n delete Request.requests[this._index];\n }\n this._xhr = null;\n }\n /**\n * Called upon load.\n *\n * @private\n */\n _onLoad() {\n const data = this._xhr.responseText;\n if (data !== null) {\n this.emitReserved(\"data\", data);\n this.emitReserved(\"success\");\n this._cleanup();\n }\n }\n /**\n * Aborts the request.\n *\n * @package\n */\n abort() {\n this._cleanup();\n }\n}\nRequest.requestsCount = 0;\nRequest.requests = {};\n/**\n * Aborts pending requests when unloading the window. This is needed to prevent\n * memory leaks (e.g. when using IE) and to ensure that no spurious error is\n * emitted.\n */\nif (typeof document !== \"undefined\") {\n // @ts-ignore\n if (typeof attachEvent === \"function\") {\n // @ts-ignore\n attachEvent(\"onunload\", unloadHandler);\n }\n else if (typeof addEventListener === \"function\") {\n const terminationEvent = \"onpagehide\" in globalThis ? \"pagehide\" : \"unload\";\n addEventListener(terminationEvent, unloadHandler, false);\n }\n}\nfunction unloadHandler() {\n for (let i in Request.requests) {\n if (Request.requests.hasOwnProperty(i)) {\n Request.requests[i].abort();\n }\n }\n}\nconst hasXHR2 = (function () {\n const xhr = newRequest({\n xdomain: false,\n });\n return xhr && xhr.responseType !== null;\n})();\n/**\n * HTTP long-polling based on the built-in `XMLHttpRequest` object.\n *\n * Usage: browser\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest\n */\nexport class XHR extends BaseXHR {\n constructor(opts) {\n super(opts);\n const forceBase64 = opts && opts.forceBase64;\n this.supportsBinary = hasXHR2 && !forceBase64;\n }\n request(opts = {}) {\n Object.assign(opts, { xd: this.xd }, this.opts);\n return new Request(newRequest, this.uri(), opts);\n }\n}\nfunction newRequest(opts) {\n const xdomain = opts.xdomain;\n // XMLHttpRequest can be disabled on IE\n try {\n if (\"undefined\" !== typeof XMLHttpRequest && (!xdomain || hasCORS)) {\n return new XMLHttpRequest();\n }\n }\n catch (e) { }\n if (!xdomain) {\n try {\n return new globalThis[[\"Active\"].concat(\"Object\").join(\"X\")](\"Microsoft.XMLHTTP\");\n }\n catch (e) { }\n }\n}\n","import { Transport } from \"../transport.js\";\nimport { pick, randomString } from \"../util.js\";\nimport { encodePacket } from \"engine.io-parser\";\nimport { globalThisShim as globalThis, nextTick } from \"../globals.node.js\";\n// detect ReactNative environment\nconst isReactNative = typeof navigator !== \"undefined\" &&\n typeof navigator.product === \"string\" &&\n navigator.product.toLowerCase() === \"reactnative\";\nexport class BaseWS extends Transport {\n get name() {\n return \"websocket\";\n }\n doOpen() {\n const uri = this.uri();\n const protocols = this.opts.protocols;\n // React Native only supports the 'headers' option, and will print a warning if anything else is passed\n const opts = isReactNative\n ? {}\n : pick(this.opts, \"agent\", \"perMessageDeflate\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"localAddress\", \"protocolVersion\", \"origin\", \"maxPayload\", \"family\", \"checkServerIdentity\");\n if (this.opts.extraHeaders) {\n opts.headers = this.opts.extraHeaders;\n }\n try {\n this.ws = this.createSocket(uri, protocols, opts);\n }\n catch (err) {\n return this.emitReserved(\"error\", err);\n }\n this.ws.binaryType = this.socket.binaryType;\n this.addEventListeners();\n }\n /**\n * Adds event listeners to the socket\n *\n * @private\n */\n addEventListeners() {\n this.ws.onopen = () => {\n if (this.opts.autoUnref) {\n this.ws._socket.unref();\n }\n this.onOpen();\n };\n this.ws.onclose = (closeEvent) => this.onClose({\n description: \"websocket connection closed\",\n context: closeEvent,\n });\n this.ws.onmessage = (ev) => this.onData(ev.data);\n this.ws.onerror = (e) => this.onError(\"websocket error\", e);\n }\n write(packets) {\n this.writable = false;\n // encodePacket efficient as it uses WS framing\n // no need for encodePayload\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n encodePacket(packet, this.supportsBinary, (data) => {\n // Sometimes the websocket has already been closed but the browser didn't\n // have a chance of informing us about it yet, in that case send will\n // throw an error\n try {\n this.doWrite(packet, data);\n }\n catch (e) {\n }\n if (lastPacket) {\n // fake drain\n // defer to next tick to allow Socket to clear writeBuffer\n nextTick(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n }\n }\n doClose() {\n if (typeof this.ws !== \"undefined\") {\n this.ws.onerror = () => { };\n this.ws.close();\n this.ws = null;\n }\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */\n uri() {\n const schema = this.opts.secure ? \"wss\" : \"ws\";\n const query = this.query || {};\n // append timestamp to URI\n if (this.opts.timestampRequests) {\n query[this.opts.timestampParam] = randomString();\n }\n // communicate binary support capabilities\n if (!this.supportsBinary) {\n query.b64 = 1;\n }\n return this.createUri(schema, query);\n }\n}\nconst WebSocketCtor = globalThis.WebSocket || globalThis.MozWebSocket;\n/**\n * WebSocket transport based on the built-in `WebSocket` object.\n *\n * Usage: browser, Node.js (since v21), Deno, Bun\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket\n * @see https://caniuse.com/mdn-api_websocket\n * @see https://nodejs.org/api/globals.html#websocket\n */\nexport class WS extends BaseWS {\n createSocket(uri, protocols, opts) {\n return !isReactNative\n ? protocols\n ? new WebSocketCtor(uri, protocols)\n : new WebSocketCtor(uri)\n : new WebSocketCtor(uri, protocols, opts);\n }\n doWrite(_packet, data) {\n this.ws.send(data);\n }\n}\n","import { Transport } from \"../transport.js\";\nimport { nextTick } from \"../globals.node.js\";\nimport { createPacketDecoderStream, createPacketEncoderStream, } from \"engine.io-parser\";\n/**\n * WebTransport transport based on the built-in `WebTransport` object.\n *\n * Usage: browser, Node.js (with the `@fails-components/webtransport` package)\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebTransport\n * @see https://caniuse.com/webtransport\n */\nexport class WT extends Transport {\n get name() {\n return \"webtransport\";\n }\n doOpen() {\n try {\n // @ts-ignore\n this._transport = new WebTransport(this.createUri(\"https\"), this.opts.transportOptions[this.name]);\n }\n catch (err) {\n return this.emitReserved(\"error\", err);\n }\n this._transport.closed\n .then(() => {\n this.onClose();\n })\n .catch((err) => {\n this.onError(\"webtransport error\", err);\n });\n // note: we could have used async/await, but that would require some additional polyfills\n this._transport.ready.then(() => {\n this._transport.createBidirectionalStream().then((stream) => {\n const decoderStream = createPacketDecoderStream(Number.MAX_SAFE_INTEGER, this.socket.binaryType);\n const reader = stream.readable.pipeThrough(decoderStream).getReader();\n const encoderStream = createPacketEncoderStream();\n encoderStream.readable.pipeTo(stream.writable);\n this._writer = encoderStream.writable.getWriter();\n const read = () => {\n reader\n .read()\n .then(({ done, value }) => {\n if (done) {\n return;\n }\n this.onPacket(value);\n read();\n })\n .catch((err) => {\n });\n };\n read();\n const packet = { type: \"open\" };\n if (this.query.sid) {\n packet.data = `{\"sid\":\"${this.query.sid}\"}`;\n }\n this._writer.write(packet).then(() => this.onOpen());\n });\n });\n }\n write(packets) {\n this.writable = false;\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n this._writer.write(packet).then(() => {\n if (lastPacket) {\n nextTick(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n }\n }\n doClose() {\n var _a;\n (_a = this._transport) === null || _a === void 0 ? void 0 : _a.close();\n }\n}\n","import { XHR } from \"./polling-xhr.node.js\";\nimport { WS } from \"./websocket.node.js\";\nimport { WT } from \"./webtransport.js\";\nexport const transports = {\n websocket: WS,\n webtransport: WT,\n polling: XHR,\n};\n","// imported from https://github.com/galkn/parseuri\n/**\n * Parses a URI\n *\n * Note: we could also have used the built-in URL object, but it isn't supported on all platforms.\n *\n * See:\n * - https://developer.mozilla.org/en-US/docs/Web/API/URL\n * - https://caniuse.com/url\n * - https://www.rfc-editor.org/rfc/rfc3986#appendix-B\n *\n * History of the parse() method:\n * - first commit: https://github.com/socketio/socket.io-client/commit/4ee1d5d94b3906a9c052b459f1a818b15f38f91c\n * - export into its own module: https://github.com/socketio/engine.io-client/commit/de2c561e4564efeb78f1bdb1ba39ef81b2822cb3\n * - reimport: https://github.com/socketio/engine.io-client/commit/df32277c3f6d622eec5ed09f493cae3f3391d242\n *\n * @author Steven Levithan <stevenlevithan.com> (MIT license)\n * @api private\n */\nconst re = /^(?:(?![^:@\\/?#]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@\\/?#]*)(?::([^:@\\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/;\nconst parts = [\n 'source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'\n];\nexport function parse(str) {\n if (str.length > 8000) {\n throw \"URI too long\";\n }\n const src = str, b = str.indexOf('['), e = str.indexOf(']');\n if (b != -1 && e != -1) {\n str = str.substring(0, b) + str.substring(b, e).replace(/:/g, ';') + str.substring(e, str.length);\n }\n let m = re.exec(str || ''), uri = {}, i = 14;\n while (i--) {\n uri[parts[i]] = m[i] || '';\n }\n if (b != -1 && e != -1) {\n uri.source = src;\n uri.host = uri.host.substring(1, uri.host.length - 1).replace(/;/g, ':');\n uri.authority = uri.authority.replace('[', '').replace(']', '').replace(/;/g, ':');\n uri.ipv6uri = true;\n }\n uri.pathNames = pathNames(uri, uri['path']);\n uri.queryKey = queryKey(uri, uri['query']);\n return uri;\n}\nfunction pathNames(obj, path) {\n const regx = /\\/{2,9}/g, names = path.replace(regx, \"/\").split(\"/\");\n if (path.slice(0, 1) == '/' || path.length === 0) {\n names.splice(0, 1);\n }\n if (path.slice(-1) == '/') {\n names.splice(names.length - 1, 1);\n }\n return names;\n}\nfunction queryKey(uri, query) {\n const data = {};\n query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function ($0, $1, $2) {\n if ($1) {\n data[$1] = $2;\n }\n });\n return data;\n}\n","import { transports as DEFAULT_TRANSPORTS } from \"./transports/index.js\";\nimport { installTimerFunctions, byteLength } from \"./util.js\";\nimport { decode } from \"./contrib/parseqs.js\";\nimport { parse } from \"./contrib/parseuri.js\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { protocol } from \"engine.io-parser\";\nimport { createCookieJar, defaultBinaryType, nextTick, } from \"./globals.node.js\";\nconst withEventListeners = typeof addEventListener === \"function\" &&\n typeof removeEventListener === \"function\";\nconst OFFLINE_EVENT_LISTENERS = [];\nif (withEventListeners) {\n // within a ServiceWorker, any event handler for the 'offline' event must be added on the initial evaluation of the\n // script, so we create one single event listener here which will forward the event to the socket instances\n addEventListener(\"offline\", () => {\n OFFLINE_EVENT_LISTENERS.forEach((listener) => listener());\n }, false);\n}\n/**\n * This class provides a WebSocket-like interface to connect to an Engine.IO server. The connection will be established\n * with one of the available low-level transports, like HTTP long-polling, WebSocket or WebTransport.\n *\n * This class comes without upgrade mechanism, which means that it will keep the first low-level transport that\n * successfully establishes the connection.\n *\n * In order to allow tree-shaking, there are no transports included, that's why the `transports` option is mandatory.\n *\n * @example\n * import { SocketWithoutUpgrade, WebSocket } from \"engine.io-client\";\n *\n * const socket = new SocketWithoutUpgrade({\n * transports: [WebSocket]\n * });\n *\n * socket.on(\"open\", () => {\n * socket.send(\"hello\");\n * });\n *\n * @see SocketWithUpgrade\n * @see Socket\n */\nexport class SocketWithoutUpgrade extends Emitter {\n /**\n * Socket constructor.\n *\n * @param {String|Object} uri - uri or options\n * @param {Object} opts - options\n */\n constructor(uri, opts) {\n super();\n this.binaryType = defaultBinaryType;\n this.writeBuffer = [];\n this._prevBufferLen = 0;\n this._pingInterval = -1;\n this._pingTimeout = -1;\n this._maxPayload = -1;\n /**\n * The expiration timestamp of the {@link _pingTimeoutTimer} object is tracked, in case the timer is throttled and the\n * callback is not fired on time. This can happen for example when a laptop is suspended or when a phone is locked.\n */\n this._pingTimeoutTime = Infinity;\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = null;\n }\n if (uri) {\n const parsedUri = parse(uri);\n opts.hostname = parsedUri.host;\n opts.secure =\n parsedUri.protocol === \"https\" || parsedUri.protocol === \"wss\";\n opts.port = parsedUri.port;\n if (parsedUri.query)\n opts.query = parsedUri.query;\n }\n else if (opts.host) {\n opts.hostname = parse(opts.host).host;\n }\n installTimerFunctions(this, opts);\n this.secure =\n null != opts.secure\n ? opts.secure\n : typeof location !== \"undefined\" && \"https:\" === location.protocol;\n if (opts.hostname && !opts.port) {\n // if no port is specified manually, use the protocol default\n opts.port = this.secure ? \"443\" : \"80\";\n }\n this.hostname =\n opts.hostname ||\n (typeof location !== \"undefined\" ? location.hostname : \"localhost\");\n this.port =\n opts.port ||\n (typeof location !== \"undefined\" && location.port\n ? location.port\n : this.secure\n ? \"443\"\n : \"80\");\n this.transports = [];\n this._transportsByName = {};\n opts.transports.forEach((t) => {\n const transportName = t.prototype.name;\n this.transports.push(transportName);\n this._transportsByName[transportName] = t;\n });\n this.opts = Object.assign({\n path: \"/engine.io\",\n agent: false,\n withCredentials: false,\n upgrade: true,\n timestampParam: \"t\",\n rememberUpgrade: false,\n addTrailingSlash: true,\n rejectUnauthorized: true,\n perMessageDeflate: {\n threshold: 1024,\n },\n transportOptions: {},\n closeOnBeforeunload: false,\n }, opts);\n this.opts.path =\n this.opts.path.replace(/\\/$/, \"\") +\n (this.opts.addTrailingSlash ? \"/\" : \"\");\n if (typeof this.opts.query === \"string\") {\n this.opts.query = decode(this.opts.query);\n }\n if (withEventListeners) {\n if (this.opts.closeOnBeforeunload) {\n // Firefox closes the connection when the \"beforeunload\" event is emitted but not Chrome. This event listener\n // ensures every browser behaves the same (no \"disconnect\" event at the Socket.IO level when the page is\n // closed/reloaded)\n this._beforeunloadEventListener = () => {\n if (this.transport) {\n // silently close the transport\n this.transport.removeAllListeners();\n this.transport.close();\n }\n };\n addEventListener(\"beforeunload\", this._beforeunloadEventListener, false);\n }\n if (this.hostname !== \"localhost\") {\n this._offlineEventListener = () => {\n this._onClose(\"transport close\", {\n description: \"network connection lost\",\n });\n };\n OFFLINE_EVENT_LISTENERS.push(this._offlineEventListener);\n }\n }\n if (this.opts.withCredentials) {\n this._cookieJar = createCookieJar();\n }\n this._open();\n }\n /**\n * Creates transport of the given type.\n *\n * @param {String} name - transport name\n * @return {Transport}\n * @private\n */\n createTransport(name) {\n const query = Object.assign({}, this.opts.query);\n // append engine.io protocol identifier\n query.EIO = protocol;\n // transport name\n query.transport = name;\n // session id if we already have one\n if (this.id)\n query.sid = this.id;\n const opts = Object.assign({}, this.opts, {\n query,\n socket: this,\n hostname: this.hostname,\n secure: this.secure,\n port: this.port,\n }, this.opts.transportOptions[name]);\n return new this._transportsByName[name](opts);\n }\n /**\n * Initializes transport to use and starts probe.\n *\n * @private\n */\n _open() {\n if (this.transports.length === 0) {\n // Emit error on next tick so it can be listened to\n this.setTimeoutFn(() => {\n this.emitReserved(\"error\", \"No transports available\");\n }, 0);\n return;\n }\n const transportName = this.opts.rememberUpgrade &&\n SocketWithoutUpgrade.priorWebsocketSuccess &&\n this.transports.indexOf(\"websocket\") !== -1\n ? \"websocket\"\n : this.transports[0];\n this.readyState = \"opening\";\n const transport = this.createTransport(transportName);\n transport.open();\n this.setTransport(transport);\n }\n /**\n * Sets the current transport. Disables the existing one (if any).\n *\n * @private\n */\n setTransport(transport) {\n if (this.transport) {\n this.transport.removeAllListeners();\n }\n // set up transport\n this.transport = transport;\n // set up transport listeners\n transport\n .on(\"drain\", this._onDrain.bind(this))\n .on(\"packet\", this._onPacket.bind(this))\n .on(\"error\", this._onError.bind(this))\n .on(\"close\", (reason) => this._onClose(\"transport close\", reason));\n }\n /**\n * Called when connection is deemed open.\n *\n * @private\n */\n onOpen() {\n this.readyState = \"open\";\n SocketWithoutUpgrade.priorWebsocketSuccess =\n \"websocket\" === this.transport.name;\n this.emitReserved(\"open\");\n this.flush();\n }\n /**\n * Handles a packet.\n *\n * @private\n */\n _onPacket(packet) {\n if (\"opening\" === this.readyState ||\n \"open\" === this.readyState ||\n \"closing\" === this.readyState) {\n this.emitReserved(\"packet\", packet);\n // Socket is live - any packet counts\n this.emitReserved(\"heartbeat\");\n switch (packet.type) {\n case \"open\":\n this.onHandshake(JSON.parse(packet.data));\n break;\n case \"ping\":\n this._sendPacket(\"pong\");\n this.emitReserved(\"ping\");\n this.emitReserved(\"pong\");\n this._resetPingTimeout();\n break;\n case \"error\":\n const err = new Error(\"server error\");\n // @ts-ignore\n err.code = packet.data;\n this._onError(err);\n break;\n case \"message\":\n this.emitReserved(\"data\", packet.data);\n this.emitReserved(\"message\", packet.data);\n break;\n }\n }\n else {\n }\n }\n /**\n * Called upon handshake completion.\n *\n * @param {Object} data - handshake obj\n * @private\n */\n onHandshake(data) {\n this.emitReserved(\"handshake\", data);\n this.id = data.sid;\n this.transport.query.sid = data.sid;\n this._pingInterval = data.pingInterval;\n this._pingTimeout = data.pingTimeout;\n this._maxPayload = data.maxPayload;\n this.onOpen();\n // In case open handler closes socket\n if (\"closed\" === this.readyState)\n return;\n this._resetPingTimeout();\n }\n /**\n * Sets and resets ping timeout timer based on server pings.\n *\n * @private\n */\n _resetPingTimeout() {\n this.clearTimeoutFn(this._pingTimeoutTimer);\n const delay = this._pingInterval + this._pingTimeout;\n this._pingTimeoutTime = Date.now() + delay;\n this._pingTimeoutTimer = this.setTimeoutFn(() => {\n this._onClose(\"ping timeout\");\n }, delay);\n if (this.opts.autoUnref) {\n this._pingTimeoutTimer.unref();\n }\n }\n /**\n * Called on `drain` event\n *\n * @private\n */\n _onDrain() {\n this.writeBuffer.splice(0, this._prevBufferLen);\n // setting prevBufferLen = 0 is very important\n // for example, when upgrading, upgrade packet is sent over,\n // and a nonzero prevBufferLen could cause problems on `drain`\n this._prevBufferLen = 0;\n if (0 === this.writeBuffer.length) {\n this.emitReserved(\"drain\");\n }\n else {\n this.flush();\n }\n }\n /**\n * Flush write buffers.\n *\n * @private\n */\n flush() {\n if (\"closed\" !== this.readyState &&\n this.transport.writable &&\n !this.upgrading &&\n this.writeBuffer.length) {\n const packets = this._getWritablePackets();\n this.transport.send(packets);\n // keep track of current length of writeBuffer\n // splice writeBuffer and callbackBuffer on `drain`\n this._prevBufferLen = packets.length;\n this.emitReserved(\"flush\");\n }\n }\n /**\n * Ensure the encoded size of the writeBuffer is below the maxPayload value sent by the server (only for HTTP\n * long-polling)\n *\n * @private\n */\n _getWritablePackets() {\n const shouldCheckPayloadSize = this._maxPayload &&\n this.transport.name === \"polling\" &&\n this.writeBuffer.length > 1;\n if (!shouldCheckPayloadSize) {\n return this.writeBuffer;\n }\n let payloadSize = 1; // first packet type\n for (let i = 0; i < this.writeBuffer.length; i++) {\n const data = this.writeBuffer[i].data;\n if (data) {\n payloadSize += byteLength(data);\n }\n if (i > 0 && payloadSize > this._maxPayload) {\n return this.writeBuffer.slice(0, i);\n }\n payloadSize += 2; // separator + packet type\n }\n return this.writeBuffer;\n }\n /**\n * Checks whether the heartbeat timer has expired but the socket has not yet been notified.\n *\n * Note: this method is private for now because it does not really fit the WebSocket API, but if we put it in the\n * `write()` method then the message would not be buffered by the Socket.IO client.\n *\n * @return {boolean}\n * @private\n */\n /* private */ _hasPingExpired() {\n if (!this._pingTimeoutTime)\n return true;\n const hasExpired = Date.now() > this._pingTimeoutTime;\n if (hasExpired) {\n this._pingTimeoutTime = 0;\n nextTick(() => {\n this._onClose(\"ping timeout\");\n }, this.setTimeoutFn);\n }\n return hasExpired;\n }\n /**\n * Sends a message.\n *\n * @param {String} msg - message.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @return {Socket} for chaining.\n */\n write(msg, options, fn) {\n this._sendPacket(\"message\", msg, options, fn);\n return this;\n }\n /**\n * Sends a message. Alias of {@link Socket#write}.\n *\n * @param {String} msg - message.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @return {Socket} for chaining.\n */\n send(msg, options, fn) {\n this._sendPacket(\"message\", msg, options, fn);\n return this;\n }\n /**\n * Sends a packet.\n *\n * @param {String} type: packet type.\n * @param {String} data.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @private\n */\n _sendPacket(type, data, options, fn) {\n if (\"function\" === typeof data) {\n fn = data;\n data = undefined;\n }\n if (\"function\" === typeof options) {\n fn = options;\n options = null;\n }\n if (\"closing\" === this.readyState || \"closed\" === this.readyState) {\n return;\n }\n options = options || {};\n options.compress = false !== options.compress;\n const packet = {\n type: type,\n data: data,\n options: options,\n };\n this.emitReserved(\"packetCreate\", packet);\n this.writeBuffer.push(packet);\n if (fn)\n this.once(\"flush\", fn);\n this.flush();\n }\n /**\n * Closes the connection.\n */\n close() {\n const close = () => {\n this._onClose(\"forced close\");\n this.transport.close();\n };\n const cleanupAndClose = () => {\n this.off(\"upgrade\", cleanupAndClose);\n this.off(\"upgradeError\", cleanupAndClose);\n close();\n };\n const waitForUpgrade = () => {\n // wait for upgrade to finish since we can't send packets while pausing a transport\n this.once(\"upgrade\", cleanupAndClose);\n this.once(\"upgradeError\", cleanupAndClose);\n };\n if (\"opening\" === this.readyState || \"open\" === this.readyState) {\n this.readyState = \"closing\";\n if (this.writeBuffer.length) {\n this.once(\"drain\", () => {\n if (this.upgrading) {\n waitForUpgrade();\n }\n else {\n close();\n }\n });\n }\n else if (this.upgrading) {\n waitForUpgrade();\n }\n else {\n close();\n }\n }\n return this;\n }\n /**\n * Called upon transport error\n *\n * @private\n */\n _onError(err) {\n SocketWithoutUpgrade.priorWebsocketSuccess = false;\n if (this.opts.tryAllTransports &&\n this.transports.length > 1 &&\n this.readyState === \"opening\") {\n this.transports.shift();\n return this._open();\n }\n this.emitReserved(\"error\", err);\n this._onClose(\"transport error\", err);\n }\n /**\n * Called upon transport close.\n *\n * @private\n */\n _onClose(reason, description) {\n if (\"opening\" === this.readyState ||\n \"open\" === this.readyState ||\n \"closing\" === this.readyState) {\n // clear timers\n this.clearTimeoutFn(this._pingTimeoutTimer);\n // stop event from firing again for transport\n this.transport.removeAllListeners(\"close\");\n // ensure transport won't stay open\n this.transport.close();\n // ignore further transport communication\n this.transport.removeAllListeners();\n if (withEventListeners) {\n if (this._beforeunloadEventListener) {\n removeEventListener(\"beforeunload\", this._beforeunloadEventListener, false);\n }\n if (this._offlineEventListener) {\n const i = OFFLINE_EVENT_LISTENERS.indexOf(this._offlineEventListener);\n if (i !== -1) {\n OFFLINE_EVENT_LISTENERS.splice(i, 1);\n }\n }\n }\n // set ready state\n this.readyState = \"closed\";\n // clear session id\n this.id = null;\n // emit close event\n this.emitReserved(\"close\", reason, description);\n // clean buffers after, so users can still\n // grab the buffers on `close` event\n this.writeBuffer = [];\n this._prevBufferLen = 0;\n }\n }\n}\nSocketWithoutUpgrade.protocol = protocol;\n/**\n * This class provides a WebSocket-like interface to connect to an Engine.IO server. The connection will be established\n * with one of the available low-level transports, like HTTP long-polling, WebSocket or WebTransport.\n *\n * This class comes with an upgrade mechanism, which means that once the connection is established with the first\n * low-level transport, it will try to upgrade to a better transport.\n *\n * In order to allow tree-shaking, there are no transports included, that's why the `transports` option is mandatory.\n *\n * @example\n * import { SocketWithUpgrade, WebSocket } from \"engine.io-client\";\n *\n * const socket = new SocketWithUpgrade({\n * transports: [WebSocket]\n * });\n *\n * socket.on(\"open\", () => {\n * socket.send(\"hello\");\n * });\n *\n * @see SocketWithoutUpgrade\n * @see Socket\n */\nexport class SocketWithUpgrade extends SocketWithoutUpgrade {\n constructor() {\n super(...arguments);\n this._upgrades = [];\n }\n onOpen() {\n super.onOpen();\n if (\"open\" === this.readyState && this.opts.upgrade) {\n for (let i = 0; i < this._upgrades.length; i++) {\n this._probe(this._upgrades[i]);\n }\n }\n }\n /**\n * Probes a transport.\n *\n * @param {String} name - transport name\n * @private\n */\n _probe(name) {\n let transport = this.createTransport(name);\n let failed = false;\n SocketWithoutUpgrade.priorWebsocketSuccess = false;\n const onTransportOpen = () => {\n if (failed)\n return;\n transport.send([{ type: \"ping\", data: \"probe\" }]);\n transport.once(\"packet\", (msg) => {\n if (failed)\n return;\n if (\"pong\" === msg.type && \"probe\" === msg.data) {\n this.upgrading = true;\n this.emitReserved(\"upgrading\", transport);\n if (!transport)\n return;\n SocketWithoutUpgrade.priorWebsocketSuccess =\n \"websocket\" === transport.name;\n this.transport.pause(() => {\n if (failed)\n return;\n if (\"closed\" === this.readyState)\n return;\n cleanup();\n this.setTransport(transport);\n transport.send([{ type: \"upgrade\" }]);\n this.emitReserved(\"upgrade\", transport);\n transport = null;\n this.upgrading = false;\n this.flush();\n });\n }\n else {\n const err = new Error(\"probe error\");\n // @ts-ignore\n err.transport = transport.name;\n this.emitReserved(\"upgradeError\", err);\n }\n });\n };\n function freezeTransport() {\n if (failed)\n return;\n // Any callback called by transport should be ignored since now\n failed = true;\n cleanup();\n transport.close();\n transport = null;\n }\n // Handle any error that happens while probing\n const onerror = (err) => {\n const error = new Error(\"probe error: \" + err);\n // @ts-ignore\n error.transport = transport.name;\n freezeTransport();\n this.emitReserved(\"upgradeError\", error);\n };\n function onTransportClose() {\n onerror(\"transport closed\");\n }\n // When the socket is closed while we're probing\n function onclose() {\n onerror(\"socket closed\");\n }\n // When the socket is upgraded while we're probing\n function onupgrade(to) {\n if (transport && to.name !== transport.name) {\n freezeTransport();\n }\n }\n // Remove all listeners on the transport and on self\n const cleanup = () => {\n transport.removeListener(\"open\", onTransportOpen);\n transport.removeListener(\"error\", onerror);\n transport.removeListener(\"close\", onTransportClose);\n this.off(\"close\", onclose);\n this.off(\"upgrading\", onupgrade);\n };\n transport.once(\"open\", onTransportOpen);\n transport.once(\"error\", onerror);\n transport.once(\"close\", onTransportClose);\n this.once(\"close\", onclose);\n this.once(\"upgrading\", onupgrade);\n if (this._upgrades.indexOf(\"webtransport\") !== -1 &&\n name !== \"webtransport\") {\n // favor WebTransport\n this.setTimeoutFn(() => {\n if (!failed) {\n transport.open();\n }\n }, 200);\n }\n else {\n transport.open();\n }\n }\n onHandshake(data) {\n this._upgrades = this._filterUpgrades(data.upgrades);\n super.onHandshake(data);\n }\n /**\n * Filters upgrades, returning only those matching client transports.\n *\n * @param {Array} upgrades - server upgrades\n * @private\n */\n _filterUpgrades(upgrades) {\n const filteredUpgrades = [];\n for (let i = 0; i < upgrades.length; i++) {\n if (~this.transports.indexOf(upgrades[i]))\n filteredUpgrades.push(upgrades[i]);\n }\n return filteredUpgrades;\n }\n}\n/**\n * This class provides a WebSocket-like interface to connect to an Engine.IO server. The connection will be established\n * with one of the available low-level transports, like HTTP long-polling, WebSocket or WebTransport.\n *\n * This class comes with an upgrade mechanism, which means that once the connection is established with the first\n * low-level transport, it will try to upgrade to a better transport.\n *\n * @example\n * import { Socket } from \"engine.io-client\";\n *\n * const socket = new Socket();\n *\n * socket.on(\"open\", () => {\n * socket.send(\"hello\");\n * });\n *\n * @see SocketWithoutUpgrade\n * @see SocketWithUpgrade\n */\nexport class Socket extends SocketWithUpgrade {\n constructor(uri, opts = {}) {\n const o = typeof uri === \"object\" ? uri : opts;\n if (!o.transports ||\n (o.transports && typeof o.transports[0] === \"string\")) {\n o.transports = (o.transports || [\"polling\", \"websocket\", \"webtransport\"])\n .map((transportName) => DEFAULT_TRANSPORTS[transportName])\n .filter((t) => !!t);\n }\n super(uri, o);\n }\n}\n","import { parse } from \"engine.io-client\";\n/**\n * URL parser.\n *\n * @param uri - url\n * @param path - the request path of the connection\n * @param loc - An object meant to mimic window.location.\n * Defaults to window.location.\n * @public\n */\nexport function url(uri, path = \"\", loc) {\n let obj = uri;\n // default to window.location\n loc = loc || (typeof location !== \"undefined\" && location);\n if (null == uri)\n uri = loc.protocol + \"//\" + loc.host;\n // relative path support\n if (typeof uri === \"string\") {\n if (\"/\" === uri.charAt(0)) {\n if (\"/\" === uri.charAt(1)) {\n uri = loc.protocol + uri;\n }\n else {\n uri = loc.host + uri;\n }\n }\n if (!/^(https?|wss?):\\/\\//.test(uri)) {\n if (\"undefined\" !== typeof loc) {\n uri = loc.protocol + \"//\" + uri;\n }\n else {\n uri = \"https://\" + uri;\n }\n }\n // parse\n obj = parse(uri);\n }\n // make sure we treat `localhost:80` and `localhost` equally\n if (!obj.port) {\n if (/^(http|ws)$/.test(obj.protocol)) {\n obj.port = \"80\";\n }\n else if (/^(http|ws)s$/.test(obj.protocol)) {\n obj.port = \"443\";\n }\n }\n obj.path = obj.path || \"/\";\n const ipv6 = obj.host.indexOf(\":\") !== -1;\n const host = ipv6 ? \"[\" + obj.host + \"]\" : obj.host;\n // define unique id\n obj.id = obj.protocol + \"://\" + host + \":\" + obj.port + path;\n // define href\n obj.href =\n obj.protocol +\n \"://\" +\n host +\n (loc && loc.port === obj.port ? \"\" : \":\" + obj.port);\n return obj;\n}\n","const withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nconst isView = (obj) => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj.buffer instanceof ArrayBuffer;\n};\nconst toString = Object.prototype.toString;\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeFile = typeof File === \"function\" ||\n (typeof File !== \"undefined\" &&\n toString.call(File) === \"[object FileConstructor]\");\n/**\n * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File.\n *\n * @private\n */\nexport function isBinary(obj) {\n return ((withNativeArrayBuffer && (obj instanceof ArrayBuffer || isView(obj))) ||\n (withNativeBlob && obj instanceof Blob) ||\n (withNativeFile && obj instanceof File));\n}\nexport function hasBinary(obj, toJSON) {\n if (!obj || typeof obj !== \"object\") {\n return false;\n }\n if (Array.isArray(obj)) {\n for (let i = 0, l = obj.length; i < l; i++) {\n if (hasBinary(obj[i])) {\n return true;\n }\n }\n return false;\n }\n if (isBinary(obj)) {\n return true;\n }\n if (obj.toJSON &&\n typeof obj.toJSON === \"function\" &&\n arguments.length === 1) {\n return hasBinary(obj.toJSON(), true);\n }\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key) && hasBinary(obj[key])) {\n return true;\n }\n }\n return false;\n}\n","import { isBinary } from \"./is-binary.js\";\n/**\n * Replaces every Buffer | ArrayBuffer | Blob | File in packet with a numbered placeholder.\n *\n * @param {Object} packet - socket.io event packet\n * @return {Object} with deconstructed packet and list of buffers\n * @public\n */\nexport function deconstructPacket(packet) {\n const buffers = [];\n const packetData = packet.data;\n const pack = packet;\n pack.data = _deconstructPacket(packetData, buffers);\n pack.attachments = buffers.length; // number of binary 'attachments'\n return { packet: pack, buffers: buffers };\n}\nfunction _deconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (isBinary(data)) {\n const placeholder = { _placeholder: true, num: buffers.length };\n buffers.push(data);\n return placeholder;\n }\n else if (Array.isArray(data)) {\n const newData = new Array(data.length);\n for (let i = 0; i < data.length; i++) {\n newData[i] = _deconstructPacket(data[i], buffers);\n }\n return newData;\n }\n else if (typeof data === \"object\" && !(data instanceof Date)) {\n const newData = {};\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n newData[key] = _deconstructPacket(data[key], buffers);\n }\n }\n return newData;\n }\n return data;\n}\n/**\n * Reconstructs a binary packet from its placeholder packet and buffers\n *\n * @param {Object} packet - event packet with placeholders\n * @param {Array} buffers - binary buffers to put in placeholder positions\n * @return {Object} reconstructed packet\n * @public\n */\nexport function reconstructPacket(packet, buffers) {\n packet.data = _reconstructPacket(packet.data, buffers);\n delete packet.attachments; // no longer useful\n return packet;\n}\nfunction _reconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (data && data._placeholder === true) {\n const isIndexValid = typeof data.num === \"number\" &&\n data.num >= 0 &&\n data.num < buffers.length;\n if (isIndexValid) {\n return buffers[data.num]; // appropriate buffer (should be natural order anyway)\n }\n else {\n throw new Error(\"illegal attachments\");\n }\n }\n else if (Array.isArray(data)) {\n for (let i = 0; i < data.length; i++) {\n data[i] = _reconstructPacket(data[i], buffers);\n }\n }\n else if (typeof data === \"object\") {\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n data[key] = _reconstructPacket(data[key], buffers);\n }\n }\n }\n return data;\n}\n","import { Emitter } from \"@socket.io/component-emitter\";\nimport { deconstructPacket, reconstructPacket } from \"./binary.js\";\nimport { isBinary, hasBinary } from \"./is-binary.js\";\n/**\n * These strings must not be used as event names, as they have a special meaning.\n */\nconst RESERVED_EVENTS = [\n \"connect\",\n \"connect_error\",\n \"disconnect\",\n \"disconnecting\",\n \"newListener\",\n \"removeListener\", // used by the Node.js EventEmitter\n];\n/**\n * Protocol version.\n *\n * @public\n */\nexport const protocol = 5;\nexport var PacketType;\n(function (PacketType) {\n PacketType[PacketType[\"CONNECT\"] = 0] = \"CONNECT\";\n PacketType[PacketType[\"DISCONNECT\"] = 1] = \"DISCONNECT\";\n PacketType[PacketType[\"EVENT\"] = 2] = \"EVENT\";\n PacketType[PacketType[\"ACK\"] = 3] = \"ACK\";\n PacketType[PacketType[\"CONNECT_ERROR\"] = 4] = \"CONNECT_ERROR\";\n PacketType[PacketType[\"BINARY_EVENT\"] = 5] = \"BINARY_EVENT\";\n PacketType[PacketType[\"BINARY_ACK\"] = 6] = \"BINARY_ACK\";\n})(PacketType || (PacketType = {}));\n/**\n * A socket.io Encoder instance\n */\nexport class Encoder {\n /**\n * Encoder constructor\n *\n * @param {function} replacer - custom replacer to pass down to JSON.parse\n */\n constructor(replacer) {\n this.replacer = replacer;\n }\n /**\n * Encode a packet as a single string if non-binary, or as a\n * buffer sequence, depending on packet type.\n *\n * @param {Object} obj - packet object\n */\n encode(obj) {\n if (obj.type === PacketType.EVENT || obj.type === PacketType.ACK) {\n if (hasBinary(obj)) {\n return this.encodeAsBinary({\n type: obj.type === PacketType.EVENT\n ? PacketType.BINARY_EVENT\n : PacketType.BINARY_ACK,\n nsp: obj.nsp,\n data: obj.data,\n id: obj.id,\n });\n }\n }\n return [this.encodeAsString(obj)];\n }\n /**\n * Encode packet as string.\n */\n encodeAsString(obj) {\n // first is type\n let str = \"\" + obj.type;\n // attachments if we have them\n if (obj.type === PacketType.BINARY_EVENT ||\n obj.type === PacketType.BINARY_ACK) {\n str += obj.attachments + \"-\";\n }\n // if we have a namespace other than `/`\n // we append it followed by a comma `,`\n if (obj.nsp && \"/\" !== obj.nsp) {\n str += obj.nsp + \",\";\n }\n // immediately followed by the id\n if (null != obj.id) {\n str += obj.id;\n }\n // json data\n if (null != obj.data) {\n str += JSON.stringify(obj.data, this.replacer);\n }\n return str;\n }\n /**\n * Encode packet as 'buffer sequence' by removing blobs, and\n * deconstructing packet into object with placeholders and\n * a list of buffers.\n */\n encodeAsBinary(obj) {\n const deconstruction = deconstructPacket(obj);\n const pack = this.encodeAsString(deconstruction.packet);\n const buffers = deconstruction.buffers;\n buffers.unshift(pack); // add packet info to beginning of data list\n return buffers; // write all the buffers\n }\n}\n// see https://stackoverflow.com/questions/8511281/check-if-a-value-is-an-object-in-javascript\nfunction isObject(value) {\n return Object.prototype.toString.call(value) === \"[object Object]\";\n}\n/**\n * A socket.io Decoder instance\n *\n * @return {Object} decoder\n */\nexport class Decoder extends Emitter {\n /**\n * Decoder constructor\n *\n * @param {function} reviver - custom reviver to pass down to JSON.stringify\n */\n constructor(reviver) {\n super();\n this.reviver = reviver;\n }\n /**\n * Decodes an encoded packet string into packet JSON.\n *\n * @param {String} obj - encoded packet\n */\n add(obj) {\n let packet;\n if (typeof obj === \"string\") {\n if (this.reconstructor) {\n throw new Error(\"got plaintext data when reconstructing a packet\");\n }\n packet = this.decodeString(obj);\n const isBinaryEvent = packet.type === PacketType.BINARY_EVENT;\n if (isBinaryEvent || packet.type === PacketType.BINARY_ACK) {\n packet.type = isBinaryEvent ? PacketType.EVENT : PacketType.ACK;\n // binary packet's json\n this.reconstructor = new BinaryReconstructor(packet);\n // no attachments, labeled binary but no binary data to follow\n if (packet.attachments === 0) {\n super.emitReserved(\"decoded\", packet);\n }\n }\n else {\n // non-binary full packet\n super.emitReserved(\"decoded\", packet);\n }\n }\n else if (isBinary(obj) || obj.base64) {\n // raw binary data\n if (!this.reconstructor) {\n throw new Error(\"got binary data when not reconstructing a packet\");\n }\n else {\n packet = this.reconstructor.takeBinaryData(obj);\n if (packet) {\n // received final buffer\n this.reconstructor = null;\n super.emitReserved(\"decoded\", packet);\n }\n }\n }\n else {\n throw new Error(\"Unknown type: \" + obj);\n }\n }\n /**\n * Decode a packet String (JSON data)\n *\n * @param {String} str\n * @return {Object} packet\n */\n decodeString(str) {\n let i = 0;\n // look up type\n const p = {\n type: Number(str.charAt(0)),\n };\n if (PacketType[p.type] === undefined) {\n throw new Error(\"unknown packet type \" + p.type);\n }\n // look up attachments if type binary\n if (p.type === PacketType.BINARY_EVENT ||\n p.type === PacketType.BINARY_ACK) {\n const start = i + 1;\n while (str.charAt(++i) !== \"-\" && i != str.length) { }\n const buf = str.substring(start, i);\n if (buf != Number(buf) || str.charAt(i) !== \"-\") {\n throw new Error(\"Illegal attachments\");\n }\n p.attachments = Number(buf);\n }\n // look up namespace (if any)\n if (\"/\" === str.charAt(i + 1)) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (\",\" === c)\n break;\n if (i === str.length)\n break;\n }\n p.nsp = str.substring(start, i);\n }\n else {\n p.nsp = \"/\";\n }\n // look up id\n const next = str.charAt(i + 1);\n if (\"\" !== next && Number(next) == next) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (null == c || Number(c) != c) {\n --i;\n break;\n }\n if (i === str.length)\n break;\n }\n p.id = Number(str.substring(start, i + 1));\n }\n // look up json data\n if (str.charAt(++i)) {\n const payload = this.tryParse(str.substr(i));\n if (Decoder.isPayloadValid(p.type, payload)) {\n p.data = payload;\n }\n else {\n throw new Error(\"invalid payload\");\n }\n }\n return p;\n }\n tryParse(str) {\n try {\n return JSON.parse(str, this.reviver);\n }\n catch (e) {\n return false;\n }\n }\n static isPayloadValid(type, payload) {\n switch (type) {\n case PacketType.CONNECT:\n return isObject(payload);\n case PacketType.DISCONNECT:\n return payload === undefined;\n case PacketType.CONNECT_ERROR:\n return typeof payload === \"string\" || isObject(payload);\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n return (Array.isArray(payload) &&\n (typeof payload[0] === \"number\" ||\n (typeof payload[0] === \"string\" &&\n RESERVED_EVENTS.indexOf(payload[0]) === -1)));\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n return Array.isArray(payload);\n }\n }\n /**\n * Deallocates a parser's resources\n */\n destroy() {\n if (this.reconstructor) {\n this.reconstructor.finishedReconstruction();\n this.reconstructor = null;\n }\n }\n}\n/**\n * A manager of a binary event's 'buffer sequence'. Should\n * be constructed whenever a packet of type BINARY_EVENT is\n * decoded.\n *\n * @param {Object} packet\n * @return {BinaryReconstructor} initialized reconstructor\n */\nclass BinaryReconstructor {\n constructor(packet) {\n this.packet = packet;\n this.buffers = [];\n this.reconPack = packet;\n }\n /**\n * Method to be called when binary data received from connection\n * after a BINARY_EVENT packet.\n *\n * @param {Buffer | ArrayBuffer} binData - the raw binary data received\n * @return {null | Object} returns null if more binary data is expected or\n * a reconstructed packet object if all buffers have been received.\n */\n takeBinaryData(binData) {\n this.buffers.push(binData);\n if (this.buffers.length === this.reconPack.attachments) {\n // done with buffer list\n const packet = reconstructPacket(this.reconPack, this.buffers);\n this.finishedReconstruction();\n return packet;\n }\n return null;\n }\n /**\n * Cleans up binary packet reconstruction variables.\n */\n finishedReconstruction() {\n this.reconPack = null;\n this.buffers = [];\n }\n}\n","export function on(obj, ev, fn) {\n obj.on(ev, fn);\n return function subDestroy() {\n obj.off(ev, fn);\n };\n}\n","import { PacketType } from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\n/**\n * Internal events.\n * These events can't be emitted by the user.\n */\nconst RESERVED_EVENTS = Object.freeze({\n connect: 1,\n connect_error: 1,\n disconnect: 1,\n disconnecting: 1,\n // EventEmitter reserved events: https://nodejs.org/api/events.html#events_event_newlistener\n newListener: 1,\n removeListener: 1,\n});\n/**\n * A Socket is the fundamental class for interacting with the server.\n *\n * A Socket belongs to a certain Namespace (by default /) and uses an underlying {@link Manager} to communicate.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(\"connected\");\n * });\n *\n * // send an event to the server\n * socket.emit(\"foo\", \"bar\");\n *\n * socket.on(\"foobar\", () => {\n * // an event was received from the server\n * });\n *\n * // upon disconnection\n * socket.on(\"disconnect\", (reason) => {\n * console.log(`disconnected due to ${reason}`);\n * });\n */\nexport class Socket extends Emitter {\n /**\n * `Socket` constructor.\n */\n constructor(io, nsp, opts) {\n super();\n /**\n * Whether the socket is currently connected to the server.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.connected); // true\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.connected); // false\n * });\n */\n this.connected = false;\n /**\n * Whether the connection state was recovered after a temporary disconnection. In that case, any missed packets will\n * be transmitted by the server.\n */\n this.recovered = false;\n /**\n * Buffer for packets received before the CONNECT packet\n */\n this.receiveBuffer = [];\n /**\n * Buffer for packets that will be sent once the socket is connected\n */\n this.sendBuffer = [];\n /**\n * The queue of packets to be sent with retry in case of failure.\n *\n * Packets are sent one by one, each waiting for the server acknowledgement, in order to guarantee the delivery order.\n * @private\n */\n this._queue = [];\n /**\n * A sequence to generate the ID of the {@link QueuedPacket}.\n * @private\n */\n this._queueSeq = 0;\n this.ids = 0;\n /**\n * A map containing acknowledgement handlers.\n *\n * The `withError` attribute is used to differentiate handlers that accept an error as first argument:\n *\n * - `socket.emit(\"test\", (err, value) => { ... })` with `ackTimeout` option\n * - `socket.timeout(5000).emit(\"test\", (err, value) => { ... })`\n * - `const value = await socket.emitWithAck(\"test\")`\n *\n * From those that don't:\n *\n * - `socket.emit(\"test\", (value) => { ... });`\n *\n * In the first case, the handlers will be called with an error when:\n *\n * - the timeout is reached\n * - the socket gets disconnected\n *\n * In the second case, the handlers will be simply discarded upon disconnection, since the client will never receive\n * an acknowledgement from the server.\n *\n * @private\n */\n this.acks = {};\n this.flags = {};\n this.io = io;\n this.nsp = nsp;\n if (opts && opts.auth) {\n this.auth = opts.auth;\n }\n this._opts = Object.assign({}, opts);\n if (this.io._autoConnect)\n this.open();\n }\n /**\n * Whether the socket is currently disconnected\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.disconnected); // false\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.disconnected); // true\n * });\n */\n get disconnected() {\n return !this.connected;\n }\n /**\n * Subscribe to open, close and packet events\n *\n * @private\n */\n subEvents() {\n if (this.subs)\n return;\n const io = this.io;\n this.subs = [\n on(io, \"open\", this.onopen.bind(this)),\n on(io, \"packet\", this.onpacket.bind(this)),\n on(io, \"error\", this.onerror.bind(this)),\n on(io, \"close\", this.onclose.bind(this)),\n ];\n }\n /**\n * Whether the Socket will try to reconnect when its Manager connects or reconnects.\n *\n * @example\n * const socket = io();\n *\n * console.log(socket.active); // true\n *\n * socket.on(\"disconnect\", (reason) => {\n * if (reason === \"io server disconnect\") {\n * // the disconnection was initiated by the server, you need to manually reconnect\n * console.log(socket.active); // false\n * }\n * // else the socket will automatically try to reconnect\n * console.log(socket.active); // true\n * });\n */\n get active() {\n return !!this.subs;\n }\n /**\n * \"Opens\" the socket.\n *\n * @example\n * const socket = io({\n * autoConnect: false\n * });\n *\n * socket.connect();\n */\n connect() {\n if (this.connected)\n return this;\n this.subEvents();\n if (!this.io[\"_reconnecting\"])\n this.io.open(); // ensure open\n if (\"open\" === this.io._readyState)\n this.onopen();\n return this;\n }\n /**\n * Alias for {@link connect()}.\n */\n open() {\n return this.connect();\n }\n /**\n * Sends a `message` event.\n *\n * This method mimics the WebSocket.send() method.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/send\n *\n * @example\n * socket.send(\"hello\");\n *\n * // this is equivalent to\n * socket.emit(\"message\", \"hello\");\n *\n * @return self\n */\n send(...args) {\n args.unshift(\"message\");\n this.emit.apply(this, args);\n return this;\n }\n /**\n * Override `emit`.\n * If the event is in `events`, it's emitted normally.\n *\n * @example\n * socket.emit(\"hello\", \"world\");\n *\n * // all serializable datastructures are supported (no need to call JSON.stringify)\n * socket.emit(\"hello\", 1, \"2\", { 3: [\"4\"], 5: Uint8Array.from([6]) });\n *\n * // with an acknowledgement from the server\n * socket.emit(\"hello\", \"world\", (val) => {\n * // ...\n * });\n *\n * @return self\n */\n emit(ev, ...args) {\n var _a, _b, _c;\n if (RESERVED_EVENTS.hasOwnProperty(ev)) {\n throw new Error('\"' + ev.toString() + '\" is a reserved event name');\n }\n args.unshift(ev);\n if (this._opts.retries && !this.flags.fromQueue && !this.flags.volatile) {\n this._addToQueue(args);\n return this;\n }\n const packet = {\n type: PacketType.EVENT,\n data: args,\n };\n packet.options = {};\n packet.options.compress = this.flags.compress !== false;\n // event ack callback\n if (\"function\" === typeof args[args.length - 1]) {\n const id = this.ids++;\n const ack = args.pop();\n this._registerAckCallback(id, ack);\n packet.id = id;\n }\n const isTransportWritable = (_b = (_a = this.io.engine) === null || _a === void 0 ? void 0 : _a.transport) === null || _b === void 0 ? void 0 : _b.writable;\n const isConnected = this.connected && !((_c = this.io.engine) === null || _c === void 0 ? void 0 : _c._hasPingExpired());\n const discardPacket = this.flags.volatile && !isTransportWritable;\n if (discardPacket) {\n }\n else if (isConnected) {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n }\n else {\n this.sendBuffer.push(packet);\n }\n this.flags = {};\n return this;\n }\n /**\n * @private\n */\n _registerAckCallback(id, ack) {\n var _a;\n const timeout = (_a = this.flags.timeout) !== null && _a !== void 0 ? _a : this._opts.ackTimeout;\n if (timeout === undefined) {\n this.acks[id] = ack;\n return;\n }\n // @ts-ignore\n const timer = this.io.setTimeoutFn(() => {\n delete this.acks[id];\n for (let i = 0; i < this.sendBuffer.length; i++) {\n if (this.sendBuffer[i].id === id) {\n this.sendBuffer.splice(i, 1);\n }\n }\n ack.call(this, new Error(\"operation has timed out\"));\n }, timeout);\n const fn = (...args) => {\n // @ts-ignore\n this.io.clearTimeoutFn(timer);\n ack.apply(this, args);\n };\n fn.withError = true;\n this.acks[id] = fn;\n }\n /**\n * Emits an event and waits for an acknowledgement\n *\n * @example\n * // without timeout\n * const response = await socket.emitWithAck(\"hello\", \"world\");\n *\n * // with a specific timeout\n * try {\n * const response = await socket.timeout(1000).emitWithAck(\"hello\", \"world\");\n * } catch (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n *\n * @return a Promise that will be fulfilled when the server acknowledges the event\n */\n emitWithAck(ev, ...args) {\n return new Promise((resolve, reject) => {\n const fn = (arg1, arg2) => {\n return arg1 ? reject(arg1) : resolve(arg2);\n };\n fn.withError = true;\n args.push(fn);\n this.emit(ev, ...args);\n });\n }\n /**\n * Add the packet to the queue.\n * @param args\n * @private\n */\n _addToQueue(args) {\n let ack;\n if (typeof args[args.length - 1] === \"function\") {\n ack = args.pop();\n }\n const packet = {\n id: this._queueSeq++,\n tryCount: 0,\n pending: false,\n args,\n flags: Object.assign({ fromQueue: true }, this.flags),\n };\n args.push((err, ...responseArgs) => {\n if (packet !== this._queue[0]) {\n // the packet has already been acknowledged\n return;\n }\n const hasError = err !== null;\n if (hasError) {\n if (packet.tryCount > this._opts.retries) {\n this._queue.shift();\n if (ack) {\n ack(err);\n }\n }\n }\n else {\n this._queue.shift();\n if (ack) {\n ack(null, ...responseArgs);\n }\n }\n packet.pending = false;\n return this._drainQueue();\n });\n this._queue.push(packet);\n this._drainQueue();\n }\n /**\n * Send the first packet of the queue, and wait for an acknowledgement from the server.\n * @param force - whether to resend a packet that has not been acknowledged yet\n *\n * @private\n */\n _drainQueue(force = false) {\n if (!this.connected || this._queue.length === 0) {\n return;\n }\n const packet = this._queue[0];\n if (packet.pending && !force) {\n return;\n }\n packet.pending = true;\n packet.tryCount++;\n this.flags = packet.flags;\n this.emit.apply(this, packet.args);\n }\n /**\n * Sends a packet.\n *\n * @param packet\n * @private\n */\n packet(packet) {\n packet.nsp = this.nsp;\n this.io._packet(packet);\n }\n /**\n * Called upon engine `open`.\n *\n * @private\n */\n onopen() {\n if (typeof this.auth == \"function\") {\n this.auth((data) => {\n this._sendConnectPacket(data);\n });\n }\n else {\n this._sendConnectPacket(this.auth);\n }\n }\n /**\n * Sends a CONNECT packet to initiate the Socket.IO session.\n *\n * @param data\n * @private\n */\n _sendConnectPacket(data) {\n this.packet({\n type: PacketType.CONNECT,\n data: this._pid\n ? Object.assign({ pid: this._pid, offset: this._lastOffset }, data)\n : data,\n });\n }\n /**\n * Called upon engine or manager `error`.\n *\n * @param err\n * @private\n */\n onerror(err) {\n if (!this.connected) {\n this.emitReserved(\"connect_error\", err);\n }\n }\n /**\n * Called upon engine `close`.\n *\n * @param reason\n * @param description\n * @private\n */\n onclose(reason, description) {\n this.connected = false;\n delete this.id;\n this.emitReserved(\"disconnect\", reason, description);\n this._clearAcks();\n }\n /**\n * Clears the acknowledgement handlers upon disconnection, since the client will never receive an acknowledgement from\n * the server.\n *\n * @private\n */\n _clearAcks() {\n Object.keys(this.acks).forEach((id) => {\n const isBuffered = this.sendBuffer.some((packet) => String(packet.id) === id);\n if (!isBuffered) {\n // note: handlers that do not accept an error as first argument are ignored here\n const ack = this.acks[id];\n delete this.acks[id];\n if (ack.withError) {\n ack.call(this, new Error(\"socket has been disconnected\"));\n }\n }\n });\n }\n /**\n * Called with socket packet.\n *\n * @param packet\n * @private\n */\n onpacket(packet) {\n const sameNamespace = packet.nsp === this.nsp;\n if (!sameNamespace)\n return;\n switch (packet.type) {\n case PacketType.CONNECT:\n if (packet.data && packet.data.sid) {\n this.onconnect(packet.data.sid, packet.data.pid);\n }\n else {\n this.emitReserved(\"connect_error\", new Error(\"It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)\"));\n }\n break;\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n this.onevent(packet);\n break;\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n this.onack(packet);\n break;\n case PacketType.DISCONNECT:\n this.ondisconnect();\n break;\n case PacketType.CONNECT_ERROR:\n this.destroy();\n const err = new Error(packet.data.message);\n // @ts-ignore\n err.data = packet.data.data;\n this.emitReserved(\"connect_error\", err);\n break;\n }\n }\n /**\n * Called upon a server event.\n *\n * @param packet\n * @private\n */\n onevent(packet) {\n const args = packet.data || [];\n if (null != packet.id) {\n args.push(this.ack(packet.id));\n }\n if (this.connected) {\n this.emitEvent(args);\n }\n else {\n this.receiveBuffer.push(Object.freeze(args));\n }\n }\n emitEvent(args) {\n if (this._anyListeners && this._anyListeners.length) {\n const listeners = this._anyListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, args);\n }\n }\n super.emit.apply(this, args);\n if (this._pid && args.length && typeof args[args.length - 1] === \"string\") {\n this._lastOffset = args[args.length - 1];\n }\n }\n /**\n * Produces an ack callback to emit with an event.\n *\n * @private\n */\n ack(id) {\n const self = this;\n let sent = false;\n return function (...args) {\n // prevent double callbacks\n if (sent)\n return;\n sent = true;\n self.packet({\n type: PacketType.ACK,\n id: id,\n data: args,\n });\n };\n }\n /**\n * Called upon a server acknowledgement.\n *\n * @param packet\n * @private\n */\n onack(packet) {\n const ack = this.acks[packet.id];\n if (typeof ack !== \"function\") {\n return;\n }\n delete this.acks[packet.id];\n // @ts-ignore FIXME ack is incorrectly inferred as 'never'\n if (ack.withError) {\n packet.data.unshift(null);\n }\n // @ts-ignore\n ack.apply(this, packet.data);\n }\n /**\n * Called upon server connect.\n *\n * @private\n */\n onconnect(id, pid) {\n this.id = id;\n this.recovered = pid && this._pid === pid;\n this._pid = pid; // defined only if connection state recovery is enabled\n this.connected = true;\n this.emitBuffered();\n this.emitReserved(\"connect\");\n this._drainQueue(true);\n }\n /**\n * Emit buffered events (received and emitted).\n *\n * @private\n */\n emitBuffered() {\n this.receiveBuffer.forEach((args) => this.emitEvent(args));\n this.receiveBuffer = [];\n this.sendBuffer.forEach((packet) => {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n });\n this.sendBuffer = [];\n }\n /**\n * Called upon server disconnect.\n *\n * @private\n */\n ondisconnect() {\n this.destroy();\n this.onclose(\"io server disconnect\");\n }\n /**\n * Called upon forced client/server side disconnections,\n * this method ensures the manager stops tracking us and\n * that reconnections don't get triggered for this.\n *\n * @private\n */\n destroy() {\n if (this.subs) {\n // clean subscriptions to avoid reconnections\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs = undefined;\n }\n this.io[\"_destroy\"](this);\n }\n /**\n * Disconnects the socket manually. In that case, the socket will not try to reconnect.\n *\n * If this is the last active Socket instance of the {@link Manager}, the low-level connection will be closed.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"disconnect\", (reason) => {\n * // console.log(reason); prints \"io client disconnect\"\n * });\n *\n * socket.disconnect();\n *\n * @return self\n */\n disconnect() {\n if (this.connected) {\n this.packet({ type: PacketType.DISCONNECT });\n }\n // remove socket from pool\n this.destroy();\n if (this.connected) {\n // fire events\n this.onclose(\"io client disconnect\");\n }\n return this;\n }\n /**\n * Alias for {@link disconnect()}.\n *\n * @return self\n */\n close() {\n return this.disconnect();\n }\n /**\n * Sets the compress flag.\n *\n * @example\n * socket.compress(false).emit(\"hello\");\n *\n * @param compress - if `true`, compresses the sending data\n * @return self\n */\n compress(compress) {\n this.flags.compress = compress;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the event message will be dropped when this socket is not\n * ready to send messages.\n *\n * @example\n * socket.volatile.emit(\"hello\"); // the server may or may not receive it\n *\n * @returns self\n */\n get volatile() {\n this.flags.volatile = true;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the callback will be called with an error when the\n * given number of milliseconds have elapsed without an acknowledgement from the server:\n *\n * @example\n * socket.timeout(5000).emit(\"my-event\", (err) => {\n * if (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n * });\n *\n * @returns self\n */\n timeout(timeout) {\n this.flags.timeout = timeout;\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * @example\n * socket.onAny((event, ...args) => {\n * console.log(`got ${event}`);\n * });\n *\n * @param listener\n */\n onAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * @example\n * socket.prependAny((event, ...args) => {\n * console.log(`got event ${event}`);\n * });\n *\n * @param listener\n */\n prependAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`got event ${event}`);\n * }\n *\n * socket.onAny(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAny(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAny();\n *\n * @param listener\n */\n offAny(listener) {\n if (!this._anyListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n }\n else {\n this._anyListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAny() {\n return this._anyListeners || [];\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.onAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n onAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.prependAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n prependAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`sent event ${event}`);\n * }\n *\n * socket.onAnyOutgoing(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAnyOutgoing(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAnyOutgoing();\n *\n * @param [listener] - the catch-all listener (optional)\n */\n offAnyOutgoing(listener) {\n if (!this._anyOutgoingListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyOutgoingListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n }\n else {\n this._anyOutgoingListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAnyOutgoing() {\n return this._anyOutgoingListeners || [];\n }\n /**\n * Notify the listeners for each packet sent\n *\n * @param packet\n *\n * @private\n */\n notifyOutgoingListeners(packet) {\n if (this._anyOutgoingListeners && this._anyOutgoingListeners.length) {\n const listeners = this._anyOutgoingListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, packet.data);\n }\n }\n }\n}\n","/**\n * Initialize backoff timer with `opts`.\n *\n * - `min` initial timeout in milliseconds [100]\n * - `max` max timeout [10000]\n * - `jitter` [0]\n * - `factor` [2]\n *\n * @param {Object} opts\n * @api public\n */\nexport function Backoff(opts) {\n opts = opts || {};\n this.ms = opts.min || 100;\n this.max = opts.max || 10000;\n this.factor = opts.factor || 2;\n this.jitter = opts.jitter > 0 && opts.jitter <= 1 ? opts.jitter : 0;\n this.attempts = 0;\n}\n/**\n * Return the backoff duration.\n *\n * @return {Number}\n * @api public\n */\nBackoff.prototype.duration = function () {\n var ms = this.ms * Math.pow(this.factor, this.attempts++);\n if (this.jitter) {\n var rand = Math.random();\n var deviation = Math.floor(rand * this.jitter * ms);\n ms = (Math.floor(rand * 10) & 1) == 0 ? ms - deviation : ms + deviation;\n }\n return Math.min(ms, this.max) | 0;\n};\n/**\n * Reset the number of attempts.\n *\n * @api public\n */\nBackoff.prototype.reset = function () {\n this.attempts = 0;\n};\n/**\n * Set the minimum duration\n *\n * @api public\n */\nBackoff.prototype.setMin = function (min) {\n this.ms = min;\n};\n/**\n * Set the maximum duration\n *\n * @api public\n */\nBackoff.prototype.setMax = function (max) {\n this.max = max;\n};\n/**\n * Set the jitter\n *\n * @api public\n */\nBackoff.prototype.setJitter = function (jitter) {\n this.jitter = jitter;\n};\n","import { Socket as Engine, installTimerFunctions, nextTick, } from \"engine.io-client\";\nimport { Socket } from \"./socket.js\";\nimport * as parser from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Backoff } from \"./contrib/backo2.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\nexport class Manager extends Emitter {\n constructor(uri, opts) {\n var _a;\n super();\n this.nsps = {};\n this.subs = [];\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n opts.path = opts.path || \"/socket.io\";\n this.opts = opts;\n installTimerFunctions(this, opts);\n this.reconnection(opts.reconnection !== false);\n this.reconnectionAttempts(opts.reconnectionAttempts || Infinity);\n this.reconnectionDelay(opts.reconnectionDelay || 1000);\n this.reconnectionDelayMax(opts.reconnectionDelayMax || 5000);\n this.randomizationFactor((_a = opts.randomizationFactor) !== null && _a !== void 0 ? _a : 0.5);\n this.backoff = new Backoff({\n min: this.reconnectionDelay(),\n max: this.reconnectionDelayMax(),\n jitter: this.randomizationFactor(),\n });\n this.timeout(null == opts.timeout ? 20000 : opts.timeout);\n this._readyState = \"closed\";\n this.uri = uri;\n const _parser = opts.parser || parser;\n this.encoder = new _parser.Encoder();\n this.decoder = new _parser.Decoder();\n this._autoConnect = opts.autoConnect !== false;\n if (this._autoConnect)\n this.open();\n }\n reconnection(v) {\n if (!arguments.length)\n return this._reconnection;\n this._reconnection = !!v;\n if (!v) {\n this.skipReconnect = true;\n }\n return this;\n }\n reconnectionAttempts(v) {\n if (v === undefined)\n return this._reconnectionAttempts;\n this._reconnectionAttempts = v;\n return this;\n }\n reconnectionDelay(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelay;\n this._reconnectionDelay = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMin(v);\n return this;\n }\n randomizationFactor(v) {\n var _a;\n if (v === undefined)\n return this._randomizationFactor;\n this._randomizationFactor = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setJitter(v);\n return this;\n }\n reconnectionDelayMax(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelayMax;\n this._reconnectionDelayMax = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMax(v);\n return this;\n }\n timeout(v) {\n if (!arguments.length)\n return this._timeout;\n this._timeout = v;\n return this;\n }\n /**\n * Starts trying to reconnect if reconnection is enabled and we have not\n * started reconnecting yet\n *\n * @private\n */\n maybeReconnectOnOpen() {\n // Only try to reconnect if it's the first time we're connecting\n if (!this._reconnecting &&\n this._reconnection &&\n this.backoff.attempts === 0) {\n // keeps reconnection from firing twice for the same reconnection loop\n this.reconnect();\n }\n }\n /**\n * Sets the current transport `socket`.\n *\n * @param {Function} fn - optional, callback\n * @return self\n * @public\n */\n open(fn) {\n if (~this._readyState.indexOf(\"open\"))\n return this;\n this.engine = new Engine(this.uri, this.opts);\n const socket = this.engine;\n const self = this;\n this._readyState = \"opening\";\n this.skipReconnect = false;\n // emit `open`\n const openSubDestroy = on(socket, \"open\", function () {\n self.onopen();\n fn && fn();\n });\n const onError = (err) => {\n this.cleanup();\n this._readyState = \"closed\";\n this.emitReserved(\"error\", err);\n if (fn) {\n fn(err);\n }\n else {\n // Only do this if there is no fn to handle the error\n this.maybeReconnectOnOpen();\n }\n };\n // emit `error`\n const errorSub = on(socket, \"error\", onError);\n if (false !== this._timeout) {\n const timeout = this._timeout;\n // set timer\n const timer = this.setTimeoutFn(() => {\n openSubDestroy();\n onError(new Error(\"timeout\"));\n socket.close();\n }, timeout);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n this.subs.push(openSubDestroy);\n this.subs.push(errorSub);\n return this;\n }\n /**\n * Alias for open()\n *\n * @return self\n * @public\n */\n connect(fn) {\n return this.open(fn);\n }\n /**\n * Called upon transport open.\n *\n * @private\n */\n onopen() {\n // clear old subs\n this.cleanup();\n // mark as open\n this._readyState = \"open\";\n this.emitReserved(\"open\");\n // add new subs\n const socket = this.engine;\n this.subs.push(on(socket, \"ping\", this.onping.bind(this)), on(socket, \"data\", this.ondata.bind(this)), on(socket, \"error\", this.onerror.bind(this)), on(socket, \"close\", this.onclose.bind(this)), \n // @ts-ignore\n on(this.decoder, \"decoded\", this.ondecoded.bind(this)));\n }\n /**\n * Called upon a ping.\n *\n * @private\n */\n onping() {\n this.emitReserved(\"ping\");\n }\n /**\n * Called with data.\n *\n * @private\n */\n ondata(data) {\n try {\n this.decoder.add(data);\n }\n catch (e) {\n this.onclose(\"parse error\", e);\n }\n }\n /**\n * Called when parser fully decodes a packet.\n *\n * @private\n */\n ondecoded(packet) {\n // the nextTick call prevents an exception in a user-provided event listener from triggering a disconnection due to a \"parse error\"\n nextTick(() => {\n this.emitReserved(\"packet\", packet);\n }, this.setTimeoutFn);\n }\n /**\n * Called upon socket error.\n *\n * @private\n */\n onerror(err) {\n this.emitReserved(\"error\", err);\n }\n /**\n * Creates a new socket for the given `nsp`.\n *\n * @return {Socket}\n * @public\n */\n socket(nsp, opts) {\n let socket = this.nsps[nsp];\n if (!socket) {\n socket = new Socket(this, nsp, opts);\n this.nsps[nsp] = socket;\n }\n else if (this._autoConnect && !socket.active) {\n socket.connect();\n }\n return socket;\n }\n /**\n * Called upon a socket close.\n *\n * @param socket\n * @private\n */\n _destroy(socket) {\n const nsps = Object.keys(this.nsps);\n for (const nsp of nsps) {\n const socket = this.nsps[nsp];\n if (socket.active) {\n return;\n }\n }\n this._close();\n }\n /**\n * Writes a packet.\n *\n * @param packet\n * @private\n */\n _packet(packet) {\n const encodedPackets = this.encoder.encode(packet);\n for (let i = 0; i < encodedPackets.length; i++) {\n this.engine.write(encodedPackets[i], packet.options);\n }\n }\n /**\n * Clean up transport subscriptions and packet buffer.\n *\n * @private\n */\n cleanup() {\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs.length = 0;\n this.decoder.destroy();\n }\n /**\n * Close the current socket.\n *\n * @private\n */\n _close() {\n this.skipReconnect = true;\n this._reconnecting = false;\n this.onclose(\"forced close\");\n }\n /**\n * Alias for close()\n *\n * @private\n */\n disconnect() {\n return this._close();\n }\n /**\n * Called when:\n *\n * - the low-level engine is closed\n * - the parser encountered a badly formatted packet\n * - all sockets are disconnected\n *\n * @private\n */\n onclose(reason, description) {\n var _a;\n this.cleanup();\n (_a = this.engine) === null || _a === void 0 ? void 0 : _a.close();\n this.backoff.reset();\n this._readyState = \"closed\";\n this.emitReserved(\"close\", reason, description);\n if (this._reconnection && !this.skipReconnect) {\n this.reconnect();\n }\n }\n /**\n * Attempt a reconnection.\n *\n * @private\n */\n reconnect() {\n if (this._reconnecting || this.skipReconnect)\n return this;\n const self = this;\n if (this.backoff.attempts >= this._reconnectionAttempts) {\n this.backoff.reset();\n this.emitReserved(\"reconnect_failed\");\n this._reconnecting = false;\n }\n else {\n const delay = this.backoff.duration();\n this._reconnecting = true;\n const timer = this.setTimeoutFn(() => {\n if (self.skipReconnect)\n return;\n this.emitReserved(\"reconnect_attempt\", self.backoff.attempts);\n // check again for the case socket closed in above events\n if (self.skipReconnect)\n return;\n self.open((err) => {\n if (err) {\n self._reconnecting = false;\n self.reconnect();\n this.emitReserved(\"reconnect_error\", err);\n }\n else {\n self.onreconnect();\n }\n });\n }, delay);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n }\n /**\n * Called upon successful reconnect.\n *\n * @private\n */\n onreconnect() {\n const attempt = this.backoff.attempts;\n this._reconnecting = false;\n this.backoff.reset();\n this.emitReserved(\"reconnect\", attempt);\n }\n}\n","import { url } from \"./url.js\";\nimport { Manager } from \"./manager.js\";\nimport { Socket } from \"./socket.js\";\n/**\n * Managers cache.\n */\nconst cache = {};\nfunction lookup(uri, opts) {\n if (typeof uri === \"object\") {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n const parsed = url(uri, opts.path || \"/socket.io\");\n const source = parsed.source;\n const id = parsed.id;\n const path = parsed.path;\n const sameNamespace = cache[id] && path in cache[id][\"nsps\"];\n const newConnection = opts.forceNew ||\n opts[\"force new connection\"] ||\n false === opts.multiplex ||\n sameNamespace;\n let io;\n if (newConnection) {\n io = new Manager(source, opts);\n }\n else {\n if (!cache[id]) {\n cache[id] = new Manager(source, opts);\n }\n io = cache[id];\n }\n if (parsed.query && !opts.query) {\n opts.query = parsed.queryKey;\n }\n return io.socket(parsed.path, opts);\n}\n// so that \"lookup\" can be used both as a function (e.g. `io(...)`) and as a\n// namespace (e.g. `io.connect(...)`), for backward compatibility\nObject.assign(lookup, {\n Manager,\n Socket,\n io: lookup,\n connect: lookup,\n});\n/**\n * Protocol version.\n *\n * @public\n */\nexport { protocol } from \"socket.io-parser\";\n/**\n * Expose constructors for standalone build.\n *\n * @public\n */\nexport { Manager, Socket, lookup as io, lookup as connect, lookup as default, };\nexport { Fetch, NodeXHR, XHR, NodeWebSocket, WebSocket, WebTransport, } from \"engine.io-client\";\n","import e from\"cross-fetch\";import t from\"debug\";import{analytics as n}from\"@metamask/sdk-analytics\";import r,{EventEmitter2 as i}from\"eventemitter2\";import{validate as o,v4 as s}from\"uuid\";import{io as a}from\"socket.io-client\";function c(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))}\"function\"==typeof SuppressedError&&SuppressedError;var l=\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},d=[],u=[],h=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,f=!1;function p(){f=!0;for(var e=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",t=0;t<64;++t)d[t]=e[t],u[e.charCodeAt(t)]=t;u[\"-\".charCodeAt(0)]=62,u[\"_\".charCodeAt(0)]=63}function g(e,t,n){for(var r,i,o=[],s=t;s<n;s+=3)r=(e[s]<<16)+(e[s+1]<<8)+e[s+2],o.push(d[(i=r)>>18&63]+d[i>>12&63]+d[i>>6&63]+d[63&i]);return o.join(\"\")}function m(e){var t;f||p();for(var n=e.length,r=n%3,i=\"\",o=[],s=16383,a=0,c=n-r;a<c;a+=s)o.push(g(e,a,a+s>c?c:a+s));return 1===r?(t=e[n-1],i+=d[t>>2],i+=d[t<<4&63],i+=\"==\"):2===r&&(t=(e[n-2]<<8)+e[n-1],i+=d[t>>10],i+=d[t>>4&63],i+=d[t<<2&63],i+=\"=\"),o.push(i),o.join(\"\")}function y(e,t,n,r,i){var o,s,a=8*i-r-1,c=(1<<a)-1,l=c>>1,d=-7,u=n?i-1:0,h=n?-1:1,f=e[t+u];for(u+=h,o=f&(1<<-d)-1,f>>=-d,d+=a;d>0;o=256*o+e[t+u],u+=h,d-=8);for(s=o&(1<<-d)-1,o>>=-d,d+=r;d>0;s=256*s+e[t+u],u+=h,d-=8);if(0===o)o=1-l;else{if(o===c)return s?NaN:1/0*(f?-1:1);s+=Math.pow(2,r),o-=l}return(f?-1:1)*s*Math.pow(2,o-r)}function v(e,t,n,r,i,o){var s,a,c,l=8*o-i-1,d=(1<<l)-1,u=d>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:o-1,p=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=d):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),(t+=s+u>=1?h/c:h*Math.pow(2,1-u))*c>=2&&(s++,c/=2),s+u>=d?(a=0,s=d):s+u>=1?(a=(t*c-1)*Math.pow(2,i),s+=u):(a=t*Math.pow(2,u-1)*Math.pow(2,i),s=0));i>=8;e[n+f]=255&a,f+=p,a/=256,i-=8);for(s=s<<i|a,l+=i;l>0;e[n+f]=255&s,f+=p,s/=256,l-=8);e[n+f-p]|=128*g}var b={}.toString,w=Array.isArray||function(e){return\"[object Array]\"==b.call(e)};C.TYPED_ARRAY_SUPPORT=void 0===l.TYPED_ARRAY_SUPPORT||l.TYPED_ARRAY_SUPPORT;var E=S();function S(){return C.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function _(e,t){if(S()<t)throw new RangeError(\"Invalid typed array length\");return C.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=C.prototype:(null===e&&(e=new C(t)),e.length=t),e}function C(e,t,n){if(!(C.TYPED_ARRAY_SUPPORT||this instanceof C))return new C(e,t,n);if(\"number\"==typeof e){if(\"string\"==typeof t)throw new Error(\"If encoding is specified then the first argument must be a string\");return x(this,e)}return k(this,e,t,n)}function k(e,t,n,r){if(\"number\"==typeof t)throw new TypeError('\"value\" argument must not be a number');return\"undefined\"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError(\"'offset' is out of bounds\");if(t.byteLength<n+(r||0))throw new RangeError(\"'length' is out of bounds\");t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r);C.TYPED_ARRAY_SUPPORT?(e=t).__proto__=C.prototype:e=M(e,t);return e}(e,t,n,r):\"string\"==typeof t?function(e,t,n){\"string\"==typeof n&&\"\"!==n||(n=\"utf8\");if(!C.isEncoding(n))throw new TypeError('\"encoding\" must be a valid string encoding');var r=0|R(t,n);e=_(e,r);var i=e.write(t,n);i!==r&&(e=e.slice(0,i));return e}(e,t,n):function(e,t){if(T(t)){var n=0|I(t.length);return 0===(e=_(e,n)).length||t.copy(e,0,0,n),e}if(t){if(\"undefined\"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||\"length\"in t)return\"number\"!=typeof t.length||(r=t.length)!=r?_(e,0):M(e,t);if(\"Buffer\"===t.type&&w(t.data))return M(e,t.data)}var r;throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}(e,t)}function A(e){if(\"number\"!=typeof e)throw new TypeError('\"size\" argument must be a number');if(e<0)throw new RangeError('\"size\" argument must not be negative')}function x(e,t){if(A(t),e=_(e,t<0?0:0|I(t)),!C.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function M(e,t){var n=t.length<0?0:0|I(t.length);e=_(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function I(e){if(e>=S())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+S().toString(16)+\" bytes\");return 0|e}function T(e){return!(null==e||!e._isBuffer)}function R(e,t){if(T(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return n;case\"utf8\":case\"utf-8\":case void 0:return ie(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*n;case\"hex\":return n>>>1;case\"base64\":return oe(e).length;default:if(r)return ie(e).length;t=(\"\"+t).toLowerCase(),r=!0}}function P(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return\"\";if((n>>>=0)<=(t>>>=0))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return V(this,t,n);case\"utf8\":case\"utf-8\":return F(this,t,n);case\"ascii\":return q(this,t,n);case\"latin1\":case\"binary\":return W(this,t,n);case\"base64\":return H(this,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return G(this,t,n);default:if(r)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),r=!0}}function O(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function N(e,t,n,r,i){if(0===e.length)return-1;if(\"string\"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if(\"string\"==typeof t&&(t=C.from(t,r)),T(t))return 0===t.length?-1:L(e,t,n,r,i);if(\"number\"==typeof t)return t&=255,C.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):L(e,[t],n,r,i);throw new TypeError(\"val must be string, number or Buffer\")}function L(e,t,n,r,i){var o,s=1,a=e.length,c=t.length;if(void 0!==r&&(\"ucs2\"===(r=String(r).toLowerCase())||\"ucs-2\"===r||\"utf16le\"===r||\"utf-16le\"===r)){if(e.length<2||t.length<2)return-1;s=2,a/=2,c/=2,n/=2}function l(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var d=-1;for(o=n;o<a;o++)if(l(e,o)===l(t,-1===d?0:o-d)){if(-1===d&&(d=o),o-d+1===c)return d*s}else-1!==d&&(o-=o-d),d=-1}else for(n+c>a&&(n=a-c),o=n;o>=0;o--){for(var u=!0,h=0;h<c;h++)if(l(e,o+h)!==l(t,h)){u=!1;break}if(u)return o}return-1}function D(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var o=t.length;if(o%2!=0)throw new TypeError(\"Invalid hex string\");r>o/2&&(r=o/2);for(var s=0;s<r;++s){var a=parseInt(t.substr(2*s,2),16);if(isNaN(a))return s;e[n+s]=a}return s}function $(e,t,n,r){return se(ie(t,e.length-n),e,n,r)}function B(e,t,n,r){return se(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function K(e,t,n,r){return B(e,t,n,r)}function j(e,t,n,r){return se(oe(t),e,n,r)}function U(e,t,n,r){return se(function(e,t){for(var n,r,i,o=[],s=0;s<e.length&&!((t-=2)<0);++s)r=(n=e.charCodeAt(s))>>8,i=n%256,o.push(i),o.push(r);return o}(t,e.length-n),e,n,r)}function H(e,t,n){return 0===t&&n===e.length?m(e):m(e.slice(t,n))}function F(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var o,s,a,c,l=e[i],d=null,u=l>239?4:l>223?3:l>191?2:1;if(i+u<=n)switch(u){case 1:l<128&&(d=l);break;case 2:128==(192&(o=e[i+1]))&&(c=(31&l)<<6|63&o)>127&&(d=c);break;case 3:o=e[i+1],s=e[i+2],128==(192&o)&&128==(192&s)&&(c=(15&l)<<12|(63&o)<<6|63&s)>2047&&(c<55296||c>57343)&&(d=c);break;case 4:o=e[i+1],s=e[i+2],a=e[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(c=(15&l)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&c<1114112&&(d=c)}null===d?(d=65533,u=1):d>65535&&(d-=65536,r.push(d>>>10&1023|55296),d=56320|1023&d),r.push(d),i+=u}return function(e){var t=e.length;if(t<=z)return String.fromCharCode.apply(String,e);var n=\"\",r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=z));return n}(r)}C.poolSize=8192,C._augment=function(e){return e.__proto__=C.prototype,e},C.from=function(e,t,n){return k(null,e,t,n)},C.TYPED_ARRAY_SUPPORT&&(C.prototype.__proto__=Uint8Array.prototype,C.__proto__=Uint8Array,\"undefined\"!=typeof Symbol&&Symbol.species&&C[Symbol.species]),C.alloc=function(e,t,n){return function(e,t,n,r){return A(t),t<=0?_(e,t):void 0!==n?\"string\"==typeof r?_(e,t).fill(n,r):_(e,t).fill(n):_(e,t)}(null,e,t,n)},C.allocUnsafe=function(e){return x(null,e)},C.allocUnsafeSlow=function(e){return x(null,e)},C.isBuffer=ae,C.compare=function(e,t){if(!T(e)||!T(t))throw new TypeError(\"Arguments must be Buffers\");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);i<o;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},C.isEncoding=function(e){switch(String(e).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},C.concat=function(e,t){if(!w(e))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===e.length)return C.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=C.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var o=e[n];if(!T(o))throw new TypeError('\"list\" argument must be an Array of Buffers');o.copy(r,i),i+=o.length}return r},C.byteLength=R,C.prototype._isBuffer=!0,C.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var t=0;t<e;t+=2)O(this,t,t+1);return this},C.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var t=0;t<e;t+=4)O(this,t,t+3),O(this,t+1,t+2);return this},C.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var t=0;t<e;t+=8)O(this,t,t+7),O(this,t+1,t+6),O(this,t+2,t+5),O(this,t+3,t+4);return this},C.prototype.toString=function(){var e=0|this.length;return 0===e?\"\":0===arguments.length?F(this,0,e):P.apply(this,arguments)},C.prototype.equals=function(e){if(!T(e))throw new TypeError(\"Argument must be a Buffer\");return this===e||0===C.compare(this,e)},C.prototype.inspect=function(){var e=\"\";return this.length>0&&(e=this.toString(\"hex\",0,50).match(/.{2}/g).join(\" \"),this.length>50&&(e+=\" ... \")),\"<Buffer \"+e+\">\"},C.prototype.compare=function(e,t,n,r,i){if(!T(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError(\"out of range index\");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(r>>>=0),s=(n>>>=0)-(t>>>=0),a=Math.min(o,s),c=this.slice(r,i),l=e.slice(t,n),d=0;d<a;++d)if(c[d]!==l[d]){o=c[d],s=l[d];break}return o<s?-1:s<o?1:0},C.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},C.prototype.indexOf=function(e,t,n){return N(this,e,t,n,!0)},C.prototype.lastIndexOf=function(e,t,n){return N(this,e,t,n,!1)},C.prototype.write=function(e,t,n,r){if(void 0===t)r=\"utf8\",n=this.length,t=0;else if(void 0===n&&\"string\"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");t|=0,isFinite(n)?(n|=0,void 0===r&&(r=\"utf8\")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");r||(r=\"utf8\");for(var o=!1;;)switch(r){case\"hex\":return D(this,e,t,n);case\"utf8\":case\"utf-8\":return $(this,e,t,n);case\"ascii\":return B(this,e,t,n);case\"latin1\":case\"binary\":return K(this,e,t,n);case\"base64\":return j(this,e,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return U(this,e,t,n);default:if(o)throw new TypeError(\"Unknown encoding: \"+r);r=(\"\"+r).toLowerCase(),o=!0}},C.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var z=4096;function q(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function W(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function V(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var i=\"\",o=t;o<n;++o)i+=re(e[o]);return i}function G(e,t,n){for(var r=e.slice(t,n),i=\"\",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function Y(e,t,n){if(e%1!=0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>n)throw new RangeError(\"Trying to access beyond buffer length\")}function Z(e,t,n,r,i,o){if(!T(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||t<o)throw new RangeError('\"value\" argument is out of bounds');if(n+r>e.length)throw new RangeError(\"Index out of range\")}function J(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i<o;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function Q(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i<o;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function X(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"Index out of range\")}function ee(e,t,n,r,i){return i||X(e,0,n,4),v(e,t,n,r,23,4),n+4}function te(e,t,n,r,i){return i||X(e,0,n,8),v(e,t,n,r,52,8),n+8}C.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),C.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=C.prototype;else{var i=t-e;n=new C(i,void 0);for(var o=0;o<i;++o)n[o]=this[o+e]}return n},C.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||Y(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r},C.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||Y(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},C.prototype.readUInt8=function(e,t){return t||Y(e,1,this.length),this[e]},C.prototype.readUInt16LE=function(e,t){return t||Y(e,2,this.length),this[e]|this[e+1]<<8},C.prototype.readUInt16BE=function(e,t){return t||Y(e,2,this.length),this[e]<<8|this[e+1]},C.prototype.readUInt32LE=function(e,t){return t||Y(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},C.prototype.readUInt32BE=function(e,t){return t||Y(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},C.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||Y(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},C.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||Y(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},C.prototype.readInt8=function(e,t){return t||Y(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},C.prototype.readInt16LE=function(e,t){t||Y(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},C.prototype.readInt16BE=function(e,t){t||Y(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},C.prototype.readInt32LE=function(e,t){return t||Y(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},C.prototype.readInt32BE=function(e,t){return t||Y(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},C.prototype.readFloatLE=function(e,t){return t||Y(e,4,this.length),y(this,e,!0,23,4)},C.prototype.readFloatBE=function(e,t){return t||Y(e,4,this.length),y(this,e,!1,23,4)},C.prototype.readDoubleLE=function(e,t){return t||Y(e,8,this.length),y(this,e,!0,52,8)},C.prototype.readDoubleBE=function(e,t){return t||Y(e,8,this.length),y(this,e,!1,52,8)},C.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||Z(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[t]=255&e;++o<n&&(i*=256);)this[t+o]=e/i&255;return t+n},C.prototype.writeUIntBE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||Z(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+n},C.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,1,255,0),C.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},C.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,2,65535,0),C.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):J(this,e,t,!0),t+2},C.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,2,65535,0),C.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):J(this,e,t,!1),t+2},C.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,4,4294967295,0),C.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Q(this,e,t,!0),t+4},C.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,4,4294967295,0),C.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Q(this,e,t,!1),t+4},C.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);Z(this,e,t,n,i-1,-i)}var o=0,s=1,a=0;for(this[t]=255&e;++o<n&&(s*=256);)e<0&&0===a&&0!==this[t+o-1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},C.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);Z(this,e,t,n,i-1,-i)}var o=n-1,s=1,a=0;for(this[t+o]=255&e;--o>=0&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},C.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,1,127,-128),C.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},C.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,2,32767,-32768),C.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):J(this,e,t,!0),t+2},C.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,2,32767,-32768),C.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):J(this,e,t,!1),t+2},C.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,4,2147483647,-2147483648),C.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Q(this,e,t,!0),t+4},C.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||Z(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),C.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Q(this,e,t,!1),t+4},C.prototype.writeFloatLE=function(e,t,n){return ee(this,e,t,!0,n)},C.prototype.writeFloatBE=function(e,t,n){return ee(this,e,t,!1,n)},C.prototype.writeDoubleLE=function(e,t,n){return te(this,e,t,!0,n)},C.prototype.writeDoubleBE=function(e,t,n){return te(this,e,t,!1,n)},C.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError(\"targetStart out of bounds\");if(n<0||n>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(r<0)throw new RangeError(\"sourceEnd out of bounds\");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,o=r-n;if(this===e&&n<t&&t<r)for(i=o-1;i>=0;--i)e[i+t]=this[i+n];else if(o<1e3||!C.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+o),t);return o},C.prototype.fill=function(e,t,n,r){if(\"string\"==typeof e){if(\"string\"==typeof t?(r=t,t=0,n=this.length):\"string\"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&\"string\"!=typeof r)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof r&&!C.isEncoding(r))throw new TypeError(\"Unknown encoding: \"+r)}else\"number\"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError(\"Out of range index\");if(n<=t)return this;var o;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),\"number\"==typeof e)for(o=t;o<n;++o)this[o]=e;else{var s=T(e)?e:ie(new C(e,r).toString()),a=s.length;for(o=0;o<n-t;++o)this[o+t]=s[o%a]}return this};var ne=/[^+\\/0-9A-Za-z-_]/g;function re(e){return e<16?\"0\"+e.toString(16):e.toString(16)}function ie(e,t){var n;t=t||1/0;for(var r=e.length,i=null,o=[],s=0;s<r;++s){if((n=e.charCodeAt(s))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function oe(e){return function(e){var t,n,r,i,o,s;f||p();var a=e.length;if(a%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");o=\"=\"===e[a-2]?2:\"=\"===e[a-1]?1:0,s=new h(3*a/4-o),r=o>0?a-4:a;var c=0;for(t=0,n=0;t<r;t+=4,n+=3)i=u[e.charCodeAt(t)]<<18|u[e.charCodeAt(t+1)]<<12|u[e.charCodeAt(t+2)]<<6|u[e.charCodeAt(t+3)],s[c++]=i>>16&255,s[c++]=i>>8&255,s[c++]=255&i;return 2===o?(i=u[e.charCodeAt(t)]<<2|u[e.charCodeAt(t+1)]>>4,s[c++]=255&i):1===o&&(i=u[e.charCodeAt(t)]<<10|u[e.charCodeAt(t+1)]<<4|u[e.charCodeAt(t+2)]>>2,s[c++]=i>>8&255,s[c++]=255&i),s}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}(e).replace(ne,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}(e))}function se(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function ae(e){return null!=e&&(!!e._isBuffer||ce(e)||function(e){return\"function\"==typeof e.readFloatLE&&\"function\"==typeof e.slice&&ce(e.slice(0,0))}(e))}function ce(e){return!!e.constructor&&\"function\"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var le=Object.freeze({__proto__:null,Buffer:C,INSPECT_MAX_BYTES:50,SlowBuffer:function(e){return+e!=e&&(e=0),C.alloc(+e)},isBuffer:ae,kMaxLength:E}),de=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function ue(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}function he(e){if(e.__esModule)return e;var t=e.default;if(\"function\"==typeof t){var n=function e(){return this instanceof e?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,\"__esModule\",{value:!0}),Object.keys(e).forEach((function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})})),n}var fe={},pe={},ge={};function me(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`positive integer expected, not ${e}`)}function ye(e){if(\"boolean\"!=typeof e)throw new Error(`boolean expected, not ${e}`)}function ve(e){return e instanceof Uint8Array||null!=e&&\"object\"==typeof e&&\"Uint8Array\"===e.constructor.name}function be(e,...t){if(!ve(e))throw new Error(\"Uint8Array expected\");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function we(e){if(\"function\"!=typeof e||\"function\"!=typeof e.create)throw new Error(\"hash must be wrapped by utils.wrapConstructor\");me(e.outputLen),me(e.blockLen)}function Ee(e,t=!0){if(e.destroyed)throw new Error(\"Hash instance has been destroyed\");if(t&&e.finished)throw new Error(\"Hash#digest() has already been called\")}function Se(e,t){be(e);const n=t.outputLen;if(e.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}Object.defineProperty(ge,\"__esModule\",{value:!0}),ge.isBytes=ve,ge.number=me,ge.bool=ye,ge.bytes=be,ge.hash=we,ge.exists=Ee,ge.output=Se;const _e={number:me,bool:ye,bytes:be,hash:we,exists:Ee,output:Se};ge.default=_e,function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.wrapCipher=e.Hash=e.nextTick=e.isLE=e.createView=e.u32=e.u16=e.u8=void 0,e.bytesToHex=r,e.hexToBytes=s,e.hexToNumber=a,e.bytesToNumberBE=function(e){return a(r(e))},e.numberToBytesBE=function(e,t){return s(e.toString(16).padStart(2*t,\"0\"))},e.asyncLoop=async function(t,n,r){let i=Date.now();for(let o=0;o<t;o++){r(o);const t=Date.now()-i;t>=0&&t<n||(await(0,e.nextTick)(),i+=t)}},e.utf8ToBytes=c,e.bytesToUtf8=function(e){return(new TextDecoder).decode(e)},e.toBytes=function(e){if(\"string\"==typeof e)e=c(e);else{if(!(0,t.isBytes)(e))throw new Error(\"Uint8Array expected, got \"+typeof e);e=d(e)}return e},e.concatBytes=function(...e){let n=0;for(let r=0;r<e.length;r++){const i=e[r];(0,t.bytes)(i),n+=i.length}const r=new Uint8Array(n);for(let t=0,n=0;t<e.length;t++){const i=e[t];r.set(i,n),n+=i.length}return r},e.checkOpts=function(e,t){if(null==t||\"object\"!=typeof t)throw new Error(\"options must be defined\");return Object.assign(e,t)},e.equalBytes=function(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return 0===n},e.setBigUint64=l,e.u64Lengths=function(t,n){const r=new Uint8Array(16),i=(0,e.createView)(r);return l(i,0,BigInt(n?n.length:0),!0),l(i,8,BigInt(t.length),!0),r},e.isAligned32=function(e){return e.byteOffset%4==0},e.copyBytes=d,e.clean=function(...e){for(let t=0;t<e.length;t++)e[t].fill(0)};const t=ge;e.u8=e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength);e.u16=e=>new Uint16Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/2));e.u32=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4));if(e.createView=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),e.isLE=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0],!e.isLE)throw new Error(\"Non little-endian hardware is not supported\");const n=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,\"0\")));function r(e){(0,t.bytes)(e);let r=\"\";for(let t=0;t<e.length;t++)r+=n[e[t]];return r}const i={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function o(e){return e>=i._0&&e<=i._9?e-i._0:e>=i._A&&e<=i._F?e-(i._A-10):e>=i._a&&e<=i._f?e-(i._a-10):void 0}function s(e){if(\"string\"!=typeof e)throw new Error(\"hex string expected, got \"+typeof e);const t=e.length,n=t/2;if(t%2)throw new Error(\"padded hex string expected, got unpadded hex of length \"+t);const r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){const n=o(e.charCodeAt(i)),s=o(e.charCodeAt(i+1));if(void 0===n||void 0===s){const t=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character \"'+t+'\" at index '+i)}r[t]=16*n+s}return r}function a(e){if(\"string\"!=typeof e)throw new Error(\"hex string expected, got \"+typeof e);return BigInt(\"\"===e?\"0\":`0x${e}`)}function c(e){if(\"string\"!=typeof e)throw new Error(\"string expected, got \"+typeof e);return new Uint8Array((new TextEncoder).encode(e))}e.nextTick=async()=>{};e.Hash=class{};function l(e,t,n,r){if(\"function\"==typeof e.setBigUint64)return e.setBigUint64(t,n,r);const i=BigInt(32),o=BigInt(4294967295),s=Number(n>>i&o),a=Number(n&o),c=r?4:0,l=r?0:4;e.setUint32(t+c,s,r),e.setUint32(t+l,a,r)}function d(e){return Uint8Array.from(e)}e.wrapCipher=(e,t)=>(Object.assign(t,e),t)}(pe);var Ce={},ke={};Object.defineProperty(ke,\"__esModule\",{value:!0}),ke.AEAD_TAG_LENGTH=ke.XCHACHA20_NONCE_LENGTH=ke.CURVE25519_PUBLIC_KEY_SIZE=ke.ETH_PUBLIC_KEY_SIZE=ke.UNCOMPRESSED_PUBLIC_KEY_SIZE=ke.COMPRESSED_PUBLIC_KEY_SIZE=ke.SECRET_KEY_LENGTH=void 0,ke.SECRET_KEY_LENGTH=32,ke.COMPRESSED_PUBLIC_KEY_SIZE=33,ke.UNCOMPRESSED_PUBLIC_KEY_SIZE=65,ke.ETH_PUBLIC_KEY_SIZE=64,ke.CURVE25519_PUBLIC_KEY_SIZE=32,ke.XCHACHA20_NONCE_LENGTH=24,ke.AEAD_TAG_LENGTH=16,function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.ephemeralKeySize=e.symmetricNonceLength=e.symmetricAlgorithm=e.isHkdfKeyCompressed=e.isEphemeralKeyCompressed=e.ellipticCurve=e.ECIES_CONFIG=void 0;var t=ke,n=function(){this.ellipticCurve=\"secp256k1\",this.isEphemeralKeyCompressed=!1,this.isHkdfKeyCompressed=!1,this.symmetricAlgorithm=\"aes-256-gcm\",this.symmetricNonceLength=16};e.ECIES_CONFIG=new n;e.ellipticCurve=function(){return e.ECIES_CONFIG.ellipticCurve};e.isEphemeralKeyCompressed=function(){return e.ECIES_CONFIG.isEphemeralKeyCompressed};e.isHkdfKeyCompressed=function(){return e.ECIES_CONFIG.isHkdfKeyCompressed};e.symmetricAlgorithm=function(){return e.ECIES_CONFIG.symmetricAlgorithm};e.symmetricNonceLength=function(){return e.ECIES_CONFIG.symmetricNonceLength};e.ephemeralKeySize=function(){var n={secp256k1:e.ECIES_CONFIG.isEphemeralKeyCompressed?t.COMPRESSED_PUBLIC_KEY_SIZE:t.UNCOMPRESSED_PUBLIC_KEY_SIZE,x25519:t.CURVE25519_PUBLIC_KEY_SIZE,ed25519:t.CURVE25519_PUBLIC_KEY_SIZE};if(e.ECIES_CONFIG.ellipticCurve in n)return n[e.ECIES_CONFIG.ellipticCurve];throw new Error(\"Not implemented\")}}(Ce);var Ae={},xe={},Me={},Ie={},Te={},Re={};Object.defineProperty(Re,\"__esModule\",{value:!0}),Re.crypto=void 0,Re.crypto=\"object\"==typeof globalThis&&\"crypto\"in globalThis?globalThis.crypto:void 0,function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.gcm=e.ctr=e.cbc=e.utils=void 0,e.randomBytes=i,e.getWebcryptoSubtle=o,e.managedNonce=function(e){return(0,n.number)(e.nonceLength),(t,...n)=>({encrypt(o,...s){const{nonceLength:a}=e,c=i(a),l=e(t,c,...n).encrypt(o,...s),d=(0,r.concatBytes)(c,l);return l.fill(0),d},decrypt(r,...i){const{nonceLength:o}=e,s=r.subarray(0,o),a=r.subarray(o);return e(t,s,...n).decrypt(a,...i)}})};const t=Re,n=ge,r=pe;function i(e=32){if(t.crypto&&\"function\"==typeof t.crypto.getRandomValues)return t.crypto.getRandomValues(new Uint8Array(e));if(t.crypto&&\"function\"==typeof t.crypto.randomBytes)return t.crypto.randomBytes(e);throw new Error(\"crypto.getRandomValues must be defined\")}function o(){if(t.crypto&&\"object\"==typeof t.crypto.subtle&&null!=t.crypto.subtle)return t.crypto.subtle;throw new Error(\"crypto.subtle must be defined\")}e.utils={async encrypt(e,t,n,r){const i=o(),s=await i.importKey(\"raw\",e,t,!0,[\"encrypt\"]),a=await i.encrypt(n,s,r);return new Uint8Array(a)},async decrypt(e,t,n,r){const i=o(),s=await i.importKey(\"raw\",e,t,!0,[\"decrypt\"]),a=await i.decrypt(n,s,r);return new Uint8Array(a)}};const s={CBC:\"AES-CBC\",CTR:\"AES-CTR\",GCM:\"AES-GCM\"};function a(t){return(r,i,o)=>{(0,n.bytes)(r),(0,n.bytes)(i);const a={name:t,length:8*r.length},c=function(e,t,n){if(e===s.CBC)return{name:s.CBC,iv:t};if(e===s.CTR)return{name:s.CTR,counter:t,length:64};if(e===s.GCM)return n?{name:s.GCM,iv:t,additionalData:n}:{name:s.GCM,iv:t};throw new Error(\"unknown aes block mode\")}(t,i,o);return{encrypt:t=>((0,n.bytes)(t),e.utils.encrypt(r,a,c,t)),decrypt:t=>((0,n.bytes)(t),e.utils.decrypt(r,a,c,t))}}}e.cbc=a(s.CBC),e.ctr=a(s.CTR),e.gcm=a(s.GCM)}(Te);var Pe={},Oe={},Ne={},Le={};function De(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`positive integer expected, not ${e}`)}function $e(e){if(\"boolean\"!=typeof e)throw new Error(`boolean expected, not ${e}`)}function Be(e){return e instanceof Uint8Array||null!=e&&\"object\"==typeof e&&\"Uint8Array\"===e.constructor.name}function Ke(e,...t){if(!Be(e))throw new Error(\"Uint8Array expected\");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function je(e){if(\"function\"!=typeof e||\"function\"!=typeof e.create)throw new Error(\"Hash should be wrapped by utils.wrapConstructor\");De(e.outputLen),De(e.blockLen)}function Ue(e,t=!0){if(e.destroyed)throw new Error(\"Hash instance has been destroyed\");if(t&&e.finished)throw new Error(\"Hash#digest() has already been called\")}function He(e,t){Ke(e);const n=t.outputLen;if(e.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}Object.defineProperty(Le,\"__esModule\",{value:!0}),Le.isBytes=Be,Le.number=De,Le.bool=$e,Le.bytes=Ke,Le.hash=je,Le.exists=Ue,Le.output=He;const Fe={number:De,bool:$e,bytes:Ke,hash:je,exists:Ue,output:He};Le.default=Fe;var ze={},qe={};Object.defineProperty(qe,\"__esModule\",{value:!0}),qe.crypto=void 0,qe.crypto=\"object\"==typeof globalThis&&\"crypto\"in globalThis?globalThis.crypto:void 0,function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.Hash=e.nextTick=e.byteSwapIfBE=e.byteSwap=e.isLE=e.rotl=e.rotr=e.createView=e.u32=e.u8=void 0,e.isBytes=function(e){return e instanceof Uint8Array||null!=e&&\"object\"==typeof e&&\"Uint8Array\"===e.constructor.name},e.byteSwap32=function(t){for(let n=0;n<t.length;n++)t[n]=(0,e.byteSwap)(t[n])},e.bytesToHex=function(e){(0,n.bytes)(e);let t=\"\";for(let n=0;n<e.length;n++)t+=r[e[n]];return t},e.hexToBytes=function(e){if(\"string\"!=typeof e)throw new Error(\"hex string expected, got \"+typeof e);const t=e.length,n=t/2;if(t%2)throw new Error(\"padded hex string expected, got unpadded hex of length \"+t);const r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){const n=o(e.charCodeAt(i)),s=o(e.charCodeAt(i+1));if(void 0===n||void 0===s){const t=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character \"'+t+'\" at index '+i)}r[t]=16*n+s}return r},e.asyncLoop=async function(t,n,r){let i=Date.now();for(let o=0;o<t;o++){r(o);const t=Date.now()-i;t>=0&&t<n||(await(0,e.nextTick)(),i+=t)}},e.utf8ToBytes=s,e.toBytes=a,e.concatBytes=function(...e){let t=0;for(let r=0;r<e.length;r++){const i=e[r];(0,n.bytes)(i),t+=i.length}const r=new Uint8Array(t);for(let t=0,n=0;t<e.length;t++){const i=e[t];r.set(i,n),n+=i.length}return r},e.checkOpts=function(e,t){if(void 0!==t&&\"[object Object]\"!==c.call(t))throw new Error(\"Options should be object or undefined\");return Object.assign(e,t)},e.wrapConstructor=function(e){const t=t=>e().update(a(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t},e.wrapConstructorWithOpts=function(e){const t=(t,n)=>e(n).update(a(t)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t},e.wrapXOFConstructorWithOpts=function(e){const t=(t,n)=>e(n).update(a(t)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t},e.randomBytes=function(e=32){if(t.crypto&&\"function\"==typeof t.crypto.getRandomValues)return t.crypto.getRandomValues(new Uint8Array(e));if(t.crypto&&\"function\"==typeof t.crypto.randomBytes)return t.crypto.randomBytes(e);throw new Error(\"crypto.getRandomValues must be defined\")};const t=qe,n=Le;e.u8=e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength);e.u32=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4));e.createView=e=>new DataView(e.buffer,e.byteOffset,e.byteLength);e.rotr=(e,t)=>e<<32-t|e>>>t;e.rotl=(e,t)=>e<<t|e>>>32-t>>>0,e.isLE=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0];e.byteSwap=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255,e.byteSwapIfBE=e.isLE?e=>e:t=>(0,e.byteSwap)(t);const r=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,\"0\")));const i={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function o(e){return e>=i._0&&e<=i._9?e-i._0:e>=i._A&&e<=i._F?e-(i._A-10):e>=i._a&&e<=i._f?e-(i._a-10):void 0}function s(e){if(\"string\"!=typeof e)throw new Error(\"utf8ToBytes expected string, got \"+typeof e);return new Uint8Array((new TextEncoder).encode(e))}function a(e){return\"string\"==typeof e&&(e=s(e)),(0,n.bytes)(e),e}e.nextTick=async()=>{};e.Hash=class{clone(){return this._cloneInto()}};const c={}.toString}(ze),Object.defineProperty(Ne,\"__esModule\",{value:!0}),Ne.HashMD=Ne.Maj=Ne.Chi=void 0;const We=Le,Ve=ze;Ne.Chi=(e,t,n)=>e&t^~e&n;Ne.Maj=(e,t,n)=>e&t^e&n^t&n;Ne.HashMD=class extends Ve.Hash{constructor(e,t,n,r){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=(0,Ve.createView)(this.buffer)}update(e){(0,We.exists)(this);const{view:t,buffer:n,blockLen:r}=this,i=(e=(0,Ve.toBytes)(e)).length;for(let o=0;o<i;){const s=Math.min(r-this.pos,i-o);if(s!==r)n.set(e.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===r&&(this.process(t,0),this.pos=0);else{const t=(0,Ve.createView)(e);for(;r<=i-o;o+=r)this.process(t,o)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){(0,We.exists)(this),(0,We.output)(e,this),this.finished=!0;const{buffer:t,view:n,blockLen:r,isLE:i}=this;let{pos:o}=this;t[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>r-o&&(this.process(n,0),o=0);for(let e=o;e<r;e++)t[e]=0;!function(e,t,n,r){if(\"function\"==typeof e.setBigUint64)return e.setBigUint64(t,n,r);const i=BigInt(32),o=BigInt(4294967295),s=Number(n>>i&o),a=Number(n&o),c=r?4:0,l=r?0:4;e.setUint32(t+c,s,r),e.setUint32(t+l,a,r)}(n,r-8,BigInt(8*this.length),i),this.process(n,0);const s=(0,Ve.createView)(e),a=this.outputLen;if(a%4)throw new Error(\"_sha2: outputLen should be aligned to 32bit\");const c=a/4,l=this.get();if(c>l.length)throw new Error(\"_sha2: outputLen bigger than state\");for(let e=0;e<c;e++)s.setUint32(4*e,l[e],i)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:n,length:r,finished:i,destroyed:o,pos:s}=this;return e.length=r,e.pos=s,e.finished=i,e.destroyed=o,r%t&&e.buffer.set(n),e}};var Ge={};Object.defineProperty(Ge,\"__esModule\",{value:!0}),Ge.add5L=Ge.add5H=Ge.add4H=Ge.add4L=Ge.add3H=Ge.add3L=Ge.rotlBL=Ge.rotlBH=Ge.rotlSL=Ge.rotlSH=Ge.rotr32L=Ge.rotr32H=Ge.rotrBL=Ge.rotrBH=Ge.rotrSL=Ge.rotrSH=Ge.shrSL=Ge.shrSH=Ge.toBig=void 0,Ge.fromBig=Je,Ge.split=Qe,Ge.add=ht;const Ye=BigInt(2**32-1),Ze=BigInt(32);function Je(e,t=!1){return t?{h:Number(e&Ye),l:Number(e>>Ze&Ye)}:{h:0|Number(e>>Ze&Ye),l:0|Number(e&Ye)}}function Qe(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let i=0;i<e.length;i++){const{h:o,l:s}=Je(e[i],t);[n[i],r[i]]=[o,s]}return[n,r]}const Xe=(e,t)=>BigInt(e>>>0)<<Ze|BigInt(t>>>0);Ge.toBig=Xe;const et=(e,t,n)=>e>>>n;Ge.shrSH=et;const tt=(e,t,n)=>e<<32-n|t>>>n;Ge.shrSL=tt;const nt=(e,t,n)=>e>>>n|t<<32-n;Ge.rotrSH=nt;const rt=(e,t,n)=>e<<32-n|t>>>n;Ge.rotrSL=rt;const it=(e,t,n)=>e<<64-n|t>>>n-32;Ge.rotrBH=it;const ot=(e,t,n)=>e>>>n-32|t<<64-n;Ge.rotrBL=ot;const st=(e,t)=>t;Ge.rotr32H=st;const at=(e,t)=>e;Ge.rotr32L=at;const ct=(e,t,n)=>e<<n|t>>>32-n;Ge.rotlSH=ct;const lt=(e,t,n)=>t<<n|e>>>32-n;Ge.rotlSL=lt;const dt=(e,t,n)=>t<<n-32|e>>>64-n;Ge.rotlBH=dt;const ut=(e,t,n)=>e<<n-32|t>>>64-n;function ht(e,t,n,r){const i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:0|i}}Ge.rotlBL=ut;const ft=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0);Ge.add3L=ft;const pt=(e,t,n,r)=>t+n+r+(e/2**32|0)|0;Ge.add3H=pt;const gt=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0);Ge.add4L=gt;const mt=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0;Ge.add4H=mt;const yt=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0);Ge.add5L=yt;const vt=(e,t,n,r,i,o)=>t+n+r+i+o+(e/2**32|0)|0;Ge.add5H=vt;const bt={fromBig:Je,split:Qe,toBig:Xe,shrSH:et,shrSL:tt,rotrSH:nt,rotrSL:rt,rotrBH:it,rotrBL:ot,rotr32H:st,rotr32L:at,rotlSH:ct,rotlSL:lt,rotlBH:dt,rotlBL:ut,add:ht,add3L:ft,add3H:pt,add4L:gt,add4H:mt,add5H:vt,add5L:yt};Ge.default=bt,Object.defineProperty(Oe,\"__esModule\",{value:!0}),Oe.sha384=Oe.sha512_256=Oe.sha512_224=Oe.sha512=Oe.SHA384=Oe.SHA512_256=Oe.SHA512_224=Oe.SHA512=void 0;const wt=Ne,Et=Ge,St=ze,[_t,Ct]=(()=>Et.default.split([\"0x428a2f98d728ae22\",\"0x7137449123ef65cd\",\"0xb5c0fbcfec4d3b2f\",\"0xe9b5dba58189dbbc\",\"0x3956c25bf348b538\",\"0x59f111f1b605d019\",\"0x923f82a4af194f9b\",\"0xab1c5ed5da6d8118\",\"0xd807aa98a3030242\",\"0x12835b0145706fbe\",\"0x243185be4ee4b28c\",\"0x550c7dc3d5ffb4e2\",\"0x72be5d74f27b896f\",\"0x80deb1fe3b1696b1\",\"0x9bdc06a725c71235\",\"0xc19bf174cf692694\",\"0xe49b69c19ef14ad2\",\"0xefbe4786384f25e3\",\"0x0fc19dc68b8cd5b5\",\"0x240ca1cc77ac9c65\",\"0x2de92c6f592b0275\",\"0x4a7484aa6ea6e483\",\"0x5cb0a9dcbd41fbd4\",\"0x76f988da831153b5\",\"0x983e5152ee66dfab\",\"0xa831c66d2db43210\",\"0xb00327c898fb213f\",\"0xbf597fc7beef0ee4\",\"0xc6e00bf33da88fc2\",\"0xd5a79147930aa725\",\"0x06ca6351e003826f\",\"0x142929670a0e6e70\",\"0x27b70a8546d22ffc\",\"0x2e1b21385c26c926\",\"0x4d2c6dfc5ac42aed\",\"0x53380d139d95b3df\",\"0x650a73548baf63de\",\"0x766a0abb3c77b2a8\",\"0x81c2c92e47edaee6\",\"0x92722c851482353b\",\"0xa2bfe8a14cf10364\",\"0xa81a664bbc423001\",\"0xc24b8b70d0f89791\",\"0xc76c51a30654be30\",\"0xd192e819d6ef5218\",\"0xd69906245565a910\",\"0xf40e35855771202a\",\"0x106aa07032bbd1b8\",\"0x19a4c116b8d2d0c8\",\"0x1e376c085141ab53\",\"0x2748774cdf8eeb99\",\"0x34b0bcb5e19b48a8\",\"0x391c0cb3c5c95a63\",\"0x4ed8aa4ae3418acb\",\"0x5b9cca4f7763e373\",\"0x682e6ff3d6b2b8a3\",\"0x748f82ee5defb2fc\",\"0x78a5636f43172f60\",\"0x84c87814a1f0ab72\",\"0x8cc702081a6439ec\",\"0x90befffa23631e28\",\"0xa4506cebde82bde9\",\"0xbef9a3f7b2c67915\",\"0xc67178f2e372532b\",\"0xca273eceea26619c\",\"0xd186b8c721c0c207\",\"0xeada7dd6cde0eb1e\",\"0xf57d4f7fee6ed178\",\"0x06f067aa72176fba\",\"0x0a637dc5a2c898a6\",\"0x113f9804bef90dae\",\"0x1b710b35131c471b\",\"0x28db77f523047d84\",\"0x32caab7b40c72493\",\"0x3c9ebe0a15c9bebc\",\"0x431d67c49c100d4c\",\"0x4cc5d4becb3e42b6\",\"0x597f299cfc657e2a\",\"0x5fcb6fab3ad6faec\",\"0x6c44198c4a475817\"].map((e=>BigInt(e)))))(),kt=new Uint32Array(80),At=new Uint32Array(80);class xt extends wt.HashMD{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:e,Al:t,Bh:n,Bl:r,Ch:i,Cl:o,Dh:s,Dl:a,Eh:c,El:l,Fh:d,Fl:u,Gh:h,Gl:f,Hh:p,Hl:g}=this;return[e,t,n,r,i,o,s,a,c,l,d,u,h,f,p,g]}set(e,t,n,r,i,o,s,a,c,l,d,u,h,f,p,g){this.Ah=0|e,this.Al=0|t,this.Bh=0|n,this.Bl=0|r,this.Ch=0|i,this.Cl=0|o,this.Dh=0|s,this.Dl=0|a,this.Eh=0|c,this.El=0|l,this.Fh=0|d,this.Fl=0|u,this.Gh=0|h,this.Gl=0|f,this.Hh=0|p,this.Hl=0|g}process(e,t){for(let n=0;n<16;n++,t+=4)kt[n]=e.getUint32(t),At[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){const t=0|kt[e-15],n=0|At[e-15],r=Et.default.rotrSH(t,n,1)^Et.default.rotrSH(t,n,8)^Et.default.shrSH(t,n,7),i=Et.default.rotrSL(t,n,1)^Et.default.rotrSL(t,n,8)^Et.default.shrSL(t,n,7),o=0|kt[e-2],s=0|At[e-2],a=Et.default.rotrSH(o,s,19)^Et.default.rotrBH(o,s,61)^Et.default.shrSH(o,s,6),c=Et.default.rotrSL(o,s,19)^Et.default.rotrBL(o,s,61)^Et.default.shrSL(o,s,6),l=Et.default.add4L(i,c,At[e-7],At[e-16]),d=Et.default.add4H(l,r,a,kt[e-7],kt[e-16]);kt[e]=0|d,At[e]=0|l}let{Ah:n,Al:r,Bh:i,Bl:o,Ch:s,Cl:a,Dh:c,Dl:l,Eh:d,El:u,Fh:h,Fl:f,Gh:p,Gl:g,Hh:m,Hl:y}=this;for(let e=0;e<80;e++){const t=Et.default.rotrSH(d,u,14)^Et.default.rotrSH(d,u,18)^Et.default.rotrBH(d,u,41),v=Et.default.rotrSL(d,u,14)^Et.default.rotrSL(d,u,18)^Et.default.rotrBL(d,u,41),b=d&h^~d&p,w=u&f^~u&g,E=Et.default.add5L(y,v,w,Ct[e],At[e]),S=Et.default.add5H(E,m,t,b,_t[e],kt[e]),_=0|E,C=Et.default.rotrSH(n,r,28)^Et.default.rotrBH(n,r,34)^Et.default.rotrBH(n,r,39),k=Et.default.rotrSL(n,r,28)^Et.default.rotrBL(n,r,34)^Et.default.rotrBL(n,r,39),A=n&i^n&s^i&s,x=r&o^r&a^o&a;m=0|p,y=0|g,p=0|h,g=0|f,h=0|d,f=0|u,({h:d,l:u}=Et.default.add(0|c,0|l,0|S,0|_)),c=0|s,l=0|a,s=0|i,a=0|o,i=0|n,o=0|r;const M=Et.default.add3L(_,k,x);n=Et.default.add3H(M,S,C,A),r=0|M}({h:n,l:r}=Et.default.add(0|this.Ah,0|this.Al,0|n,0|r)),({h:i,l:o}=Et.default.add(0|this.Bh,0|this.Bl,0|i,0|o)),({h:s,l:a}=Et.default.add(0|this.Ch,0|this.Cl,0|s,0|a)),({h:c,l:l}=Et.default.add(0|this.Dh,0|this.Dl,0|c,0|l)),({h:d,l:u}=Et.default.add(0|this.Eh,0|this.El,0|d,0|u)),({h:h,l:f}=Et.default.add(0|this.Fh,0|this.Fl,0|h,0|f)),({h:p,l:g}=Et.default.add(0|this.Gh,0|this.Gl,0|p,0|g)),({h:m,l:y}=Et.default.add(0|this.Hh,0|this.Hl,0|m,0|y)),this.set(n,r,i,o,s,a,c,l,d,u,h,f,p,g,m,y)}roundClean(){kt.fill(0),At.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}Oe.SHA512=xt;class Mt extends xt{constructor(){super(),this.Ah=-1942145080,this.Al=424955298,this.Bh=1944164710,this.Bl=-1982016298,this.Ch=502970286,this.Cl=855612546,this.Dh=1738396948,this.Dl=1479516111,this.Eh=258812777,this.El=2077511080,this.Fh=2011393907,this.Fl=79989058,this.Gh=1067287976,this.Gl=1780299464,this.Hh=286451373,this.Hl=-1848208735,this.outputLen=28}}Oe.SHA512_224=Mt;class It extends xt{constructor(){super(),this.Ah=573645204,this.Al=-64227540,this.Bh=-1621794909,this.Bl=-934517566,this.Ch=596883563,this.Cl=1867755857,this.Dh=-1774684391,this.Dl=1497426621,this.Eh=-1775747358,this.El=-1467023389,this.Fh=-1101128155,this.Fl=1401305490,this.Gh=721525244,this.Gl=746961066,this.Hh=246885852,this.Hl=-2117784414,this.outputLen=32}}Oe.SHA512_256=It;class Tt extends xt{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48}}Oe.SHA384=Tt,Oe.sha512=(0,St.wrapConstructor)((()=>new xt)),Oe.sha512_224=(0,St.wrapConstructor)((()=>new Mt)),Oe.sha512_256=(0,St.wrapConstructor)((()=>new It)),Oe.sha384=(0,St.wrapConstructor)((()=>new Tt));var Rt={},Pt={},Ot={},Nt={};Object.defineProperty(Nt,\"__esModule\",{value:!0}),Nt.notImplemented=Nt.bitMask=void 0,Nt.isBytes=Bt,Nt.abytes=Kt,Nt.abool=function(e,t){if(\"boolean\"!=typeof t)throw new Error(`${e} must be valid boolean, got \"${t}\".`)},Nt.bytesToHex=Ut,Nt.numberToHexUnpadded=Ht,Nt.hexToNumber=Ft,Nt.hexToBytes=Wt,Nt.bytesToNumberBE=function(e){return Ft(Ut(e))},Nt.bytesToNumberLE=function(e){return Kt(e),Ft(Ut(Uint8Array.from(e).reverse()))},Nt.numberToBytesBE=Vt,Nt.numberToBytesLE=function(e,t){return Vt(e,t).reverse()},Nt.numberToVarBytesBE=function(e){return Wt(Ht(e))},Nt.ensureBytes=function(e,t,n){let r;if(\"string\"==typeof t)try{r=Wt(t)}catch(n){throw new Error(`${e} must be valid hex string, got \"${t}\". Cause: ${n}`)}else{if(!Bt(t))throw new Error(`${e} must be hex string or Uint8Array`);r=Uint8Array.from(t)}const i=r.length;if(\"number\"==typeof n&&i!==n)throw new Error(`${e} expected ${n} bytes, got ${i}`);return r},Nt.concatBytes=Gt,Nt.equalBytes=function(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return 0===n},Nt.utf8ToBytes=function(e){if(\"string\"!=typeof e)throw new Error(\"utf8ToBytes expected string, got \"+typeof e);return new Uint8Array((new TextEncoder).encode(e))},Nt.inRange=Zt,Nt.aInRange=function(e,t,n,r){if(!Zt(t,n,r))throw new Error(`expected valid ${e}: ${n} <= n < ${r}, got ${typeof t} ${t}`)},Nt.bitLen=function(e){let t;for(t=0;e>Lt;e>>=Dt,t+=1);return t},Nt.bitGet=function(e,t){return e>>BigInt(t)&Dt},Nt.bitSet=function(e,t,n){return e|(n?Dt:Lt)<<BigInt(t)},Nt.createHmacDrbg=function(e,t,n){if(\"number\"!=typeof e||e<2)throw new Error(\"hashLen must be a number\");if(\"number\"!=typeof t||t<2)throw new Error(\"qByteLen must be a number\");if(\"function\"!=typeof n)throw new Error(\"hmacFn must be a function\");let r=Jt(e),i=Jt(e),o=0;const s=()=>{r.fill(1),i.fill(0),o=0},a=(...e)=>n(i,r,...e),c=(e=Jt())=>{i=a(Qt([0]),e),r=a(),0!==e.length&&(i=a(Qt([1]),e),r=a())},l=()=>{if(o++>=1e3)throw new Error(\"drbg: tried 1000 values\");let e=0;const n=[];for(;e<t;){r=a();const t=r.slice();n.push(t),e+=r.length}return Gt(...n)};return(e,t)=>{let n;for(s(),c(e);!(n=t(l()));)c();return s(),n}},Nt.validateObject=function(e,t,n={}){const r=(t,n,r)=>{const i=Xt[n];if(\"function\"!=typeof i)throw new Error(`Invalid validator \"${n}\", expected function`);const o=e[t];if(!(r&&void 0===o||i(o,e)))throw new Error(`Invalid param ${String(t)}=${o} (${typeof o}), expected ${n}`)};for(const[e,n]of Object.entries(t))r(e,n,!1);for(const[e,t]of Object.entries(n))r(e,t,!0);return e},Nt.memoized=function(e){const t=new WeakMap;return(n,...r)=>{const i=t.get(n);if(void 0!==i)return i;const o=e(n,...r);return t.set(n,o),o}};const Lt=BigInt(0),Dt=BigInt(1),$t=BigInt(2);function Bt(e){return e instanceof Uint8Array||null!=e&&\"object\"==typeof e&&\"Uint8Array\"===e.constructor.name}function Kt(e){if(!Bt(e))throw new Error(\"Uint8Array expected\")}const jt=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,\"0\")));function Ut(e){Kt(e);let t=\"\";for(let n=0;n<e.length;n++)t+=jt[e[n]];return t}function Ht(e){const t=e.toString(16);return 1&t.length?`0${t}`:t}function Ft(e){if(\"string\"!=typeof e)throw new Error(\"hex string expected, got \"+typeof e);return BigInt(\"\"===e?\"0\":`0x${e}`)}const zt={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function qt(e){return e>=zt._0&&e<=zt._9?e-zt._0:e>=zt._A&&e<=zt._F?e-(zt._A-10):e>=zt._a&&e<=zt._f?e-(zt._a-10):void 0}function Wt(e){if(\"string\"!=typeof e)throw new Error(\"hex string expected, got \"+typeof e);const t=e.length,n=t/2;if(t%2)throw new Error(\"padded hex string expected, got unpadded hex of length \"+t);const r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){const n=qt(e.charCodeAt(i)),o=qt(e.charCodeAt(i+1));if(void 0===n||void 0===o){const t=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character \"'+t+'\" at index '+i)}r[t]=16*n+o}return r}function Vt(e,t){return Wt(e.toString(16).padStart(2*t,\"0\"))}function Gt(...e){let t=0;for(let n=0;n<e.length;n++){const r=e[n];Kt(r),t+=r.length}const n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){const i=e[t];n.set(i,r),r+=i.length}return n}const Yt=e=>\"bigint\"==typeof e&&Lt<=e;function Zt(e,t,n){return Yt(e)&&Yt(t)&&Yt(n)&&t<=e&&e<n}Nt.bitMask=e=>($t<<BigInt(e-1))-Dt;const Jt=e=>new Uint8Array(e),Qt=e=>Uint8Array.from(e);const Xt={bigint:e=>\"bigint\"==typeof e,function:e=>\"function\"==typeof e,boolean:e=>\"boolean\"==typeof e,string:e=>\"string\"==typeof e,stringOrUint8Array:e=>\"string\"==typeof e||Bt(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>\"function\"==typeof e&&Number.isSafeInteger(e.outputLen)};Nt.notImplemented=()=>{throw new Error(\"not implemented\")},Object.defineProperty(Ot,\"__esModule\",{value:!0}),Ot.isNegativeLE=void 0,Ot.mod=ln,Ot.pow=dn,Ot.pow2=function(e,t,n){let r=e;for(;t-- >tn;)r*=r,r%=n;return r},Ot.invert=un,Ot.tonelliShanks=hn,Ot.FpSqrt=fn,Ot.validateField=function(e){const t=pn.reduce(((e,t)=>(e[t]=\"function\",e)),{ORDER:\"bigint\",MASK:\"bigint\",BYTES:\"isSafeInteger\",BITS:\"isSafeInteger\"});return(0,en.validateObject)(e,t)},Ot.FpPow=gn,Ot.FpInvertBatch=mn,Ot.FpDiv=function(e,t,n){return e.mul(t,\"bigint\"==typeof n?un(n,e.ORDER):e.inv(n))},Ot.FpLegendre=yn,Ot.FpIsSquare=function(e){const t=yn(e.ORDER);return n=>{const r=t(e,n);return e.eql(r,e.ZERO)||e.eql(r,e.ONE)}},Ot.nLength=vn,Ot.Field=function(e,t,n=!1,r={}){if(e<=tn)throw new Error(`Expected Field ORDER > 0, got ${e}`);const{nBitLength:i,nByteLength:o}=vn(e,t);if(o>2048)throw new Error(\"Field lengths over 2048 bytes are not supported\");const s=fn(e),a=Object.freeze({ORDER:e,BITS:i,BYTES:o,MASK:(0,en.bitMask)(i),ZERO:tn,ONE:nn,create:t=>ln(t,e),isValid:t=>{if(\"bigint\"!=typeof t)throw new Error(\"Invalid field element: expected bigint, got \"+typeof t);return tn<=t&&t<e},is0:e=>e===tn,isOdd:e=>(e&nn)===nn,neg:t=>ln(-t,e),eql:(e,t)=>e===t,sqr:t=>ln(t*t,e),add:(t,n)=>ln(t+n,e),sub:(t,n)=>ln(t-n,e),mul:(t,n)=>ln(t*n,e),pow:(e,t)=>gn(a,e,t),div:(t,n)=>ln(t*un(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>un(t,e),sqrt:r.sqrt||(e=>s(a,e)),invertBatch:e=>mn(a,e),cmov:(e,t,n)=>n?t:e,toBytes:e=>n?(0,en.numberToBytesLE)(e,o):(0,en.numberToBytesBE)(e,o),fromBytes:e=>{if(e.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${e.length}`);return n?(0,en.bytesToNumberLE)(e):(0,en.bytesToNumberBE)(e)}});return Object.freeze(a)},Ot.FpSqrtOdd=function(e,t){if(!e.isOdd)throw new Error(\"Field doesn't have isOdd\");const n=e.sqrt(t);return e.isOdd(n)?n:e.neg(n)},Ot.FpSqrtEven=function(e,t){if(!e.isOdd)throw new Error(\"Field doesn't have isOdd\");const n=e.sqrt(t);return e.isOdd(n)?e.neg(n):n},Ot.hashToPrivateScalar=function(e,t,n=!1){e=(0,en.ensureBytes)(\"privateHash\",e);const r=e.length,i=vn(t).nByteLength+8;if(i<24||r<i||r>1024)throw new Error(`hashToPrivateScalar: expected ${i}-1024 bytes of input, got ${r}`);const o=n?(0,en.bytesToNumberLE)(e):(0,en.bytesToNumberBE)(e);return ln(o,t-nn)+nn},Ot.getFieldBytesLength=bn,Ot.getMinHashLength=wn,Ot.mapHashToField=function(e,t,n=!1){const r=e.length,i=bn(t),o=wn(t);if(r<16||r<o||r>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${r}`);const s=ln(n?(0,en.bytesToNumberBE)(e):(0,en.bytesToNumberLE)(e),t-nn)+nn;return n?(0,en.numberToBytesLE)(s,i):(0,en.numberToBytesBE)(s,i)};const en=Nt,tn=BigInt(0),nn=BigInt(1),rn=BigInt(2),on=BigInt(3),sn=BigInt(4),an=BigInt(5),cn=BigInt(8);function ln(e,t){const n=e%t;return n>=tn?n:t+n}function dn(e,t,n){if(n<=tn||t<tn)throw new Error(\"Expected power/modulo > 0\");if(n===nn)return tn;let r=nn;for(;t>tn;)t&nn&&(r=r*e%n),e=e*e%n,t>>=nn;return r}function un(e,t){if(e===tn||t<=tn)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let n=ln(e,t),r=t,i=tn,o=nn;for(;n!==tn;){const e=r%n,t=i-o*(r/n);r=n,n=e,i=o,o=t}if(r!==nn)throw new Error(\"invert: does not exist\");return ln(i,t)}function hn(e){const t=(e-nn)/rn;let n,r,i;for(n=e-nn,r=0;n%rn===tn;n/=rn,r++);for(i=rn;i<e&&dn(i,t,e)!==e-nn;i++);if(1===r){const t=(e+nn)/sn;return function(e,n){const r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw new Error(\"Cannot find square root\");return r}}const o=(n+nn)/rn;return function(e,s){if(e.pow(s,t)===e.neg(e.ONE))throw new Error(\"Cannot find square root\");let a=r,c=e.pow(e.mul(e.ONE,i),n),l=e.pow(s,o),d=e.pow(s,n);for(;!e.eql(d,e.ONE);){if(e.eql(d,e.ZERO))return e.ZERO;let t=1;for(let n=e.sqr(d);t<a&&!e.eql(n,e.ONE);t++)n=e.sqr(n);const n=e.pow(c,nn<<BigInt(a-t-1));c=e.sqr(n),l=e.mul(l,n),d=e.mul(d,c),a=t}return l}}function fn(e){if(e%sn===on){const t=(e+nn)/sn;return function(e,n){const r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw new Error(\"Cannot find square root\");return r}}if(e%cn===an){const t=(e-an)/cn;return function(e,n){const r=e.mul(n,rn),i=e.pow(r,t),o=e.mul(n,i),s=e.mul(e.mul(o,rn),i),a=e.mul(o,e.sub(s,e.ONE));if(!e.eql(e.sqr(a),n))throw new Error(\"Cannot find square root\");return a}}return hn(e)}BigInt(9),BigInt(16);Ot.isNegativeLE=(e,t)=>(ln(e,t)&nn)===nn;const pn=[\"create\",\"isValid\",\"is0\",\"neg\",\"inv\",\"sqrt\",\"sqr\",\"eql\",\"add\",\"sub\",\"mul\",\"pow\",\"div\",\"addN\",\"subN\",\"mulN\",\"sqrN\"];function gn(e,t,n){if(n<tn)throw new Error(\"Expected power > 0\");if(n===tn)return e.ONE;if(n===nn)return t;let r=e.ONE,i=t;for(;n>tn;)n&nn&&(r=e.mul(r,i)),i=e.sqr(i),n>>=nn;return r}function mn(e,t){const n=new Array(t.length),r=t.reduce(((t,r,i)=>e.is0(r)?t:(n[i]=t,e.mul(t,r))),e.ONE),i=e.inv(r);return t.reduceRight(((t,r,i)=>e.is0(r)?t:(n[i]=e.mul(t,n[i]),e.mul(t,r))),i),n}function yn(e){const t=(e-nn)/rn;return(e,n)=>e.pow(n,t)}function vn(e,t){const n=void 0!==t?t:e.toString(2).length;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function bn(e){if(\"bigint\"!=typeof e)throw new Error(\"field order must be bigint\");const t=e.toString(2).length;return Math.ceil(t/8)}function wn(e){const t=bn(e);return t+Math.ceil(t/2)}Object.defineProperty(Pt,\"__esModule\",{value:!0}),Pt.wNAF=function(e,t){const n=(e,t)=>{const n=t.negate();return e?n:t},r=e=>{if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error(`Wrong window size=${e}, should be [1..${t}]`)},i=e=>{r(e);return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1)}};return{constTimeNegate:n,unsafeLadder(t,n){let r=e.ZERO,i=t;for(;n>_n;)n&Cn&&(r=r.add(i)),i=i.double(),n>>=Cn;return r},precomputeWindow(e,t){const{windows:n,windowSize:r}=i(t),o=[];let s=e,a=s;for(let e=0;e<n;e++){a=s,o.push(a);for(let e=1;e<r;e++)a=a.add(s),o.push(a);s=a.double()}return o},wNAF(t,r,o){const{windows:s,windowSize:a}=i(t);let c=e.ZERO,l=e.BASE;const d=BigInt(2**t-1),u=2**t,h=BigInt(t);for(let e=0;e<s;e++){const t=e*a;let i=Number(o&d);o>>=h,i>a&&(i-=u,o+=Cn);const s=t,f=t+Math.abs(i)-1,p=e%2!=0,g=i<0;0===i?l=l.add(n(p,r[s])):c=c.add(n(g,r[f]))}return{p:c,f:l}},wNAFCached(e,t,n){const r=An.get(e)||1;let i=kn.get(e);return i||(i=this.precomputeWindow(e,r),1!==r&&kn.set(e,n(i))),this.wNAF(r,i,t)},setWindowSize(e,t){r(t),An.set(e,t),kn.delete(e)}}},Pt.pippenger=function(e,t,n,r){if(!Array.isArray(n)||!Array.isArray(r)||r.length!==n.length)throw new Error(\"arrays of points and scalars must have equal length\");r.forEach(((e,n)=>{if(!t.isValid(e))throw new Error(`wrong scalar at index ${n}`)})),n.forEach(((t,n)=>{if(!(t instanceof e))throw new Error(`wrong point at index ${n}`)}));const i=(0,Sn.bitLen)(BigInt(n.length)),o=i>12?i-3:i>4?i-2:i?2:1,s=(1<<o)-1,a=new Array(s+1).fill(e.ZERO),c=Math.floor((t.BITS-1)/o)*o;let l=e.ZERO;for(let t=c;t>=0;t-=o){a.fill(e.ZERO);for(let e=0;e<r.length;e++){const i=r[e],o=Number(i>>BigInt(t)&BigInt(s));a[o]=a[o].add(n[e])}let i=e.ZERO;for(let t=a.length-1,n=e.ZERO;t>0;t--)n=n.add(a[t]),i=i.add(n);if(l=l.add(i),0!==t)for(let e=0;e<o;e++)l=l.double()}return l},Pt.validateBasic=function(e){return(0,En.validateField)(e.Fp),(0,Sn.validateObject)(e,{n:\"bigint\",h:\"bigint\",Gx:\"field\",Gy:\"field\"},{nBitLength:\"isSafeInteger\",nByteLength:\"isSafeInteger\"}),Object.freeze({...(0,En.nLength)(e.n,e.nBitLength),...e,p:e.Fp.ORDER})};const En=Ot,Sn=Nt,_n=BigInt(0),Cn=BigInt(1),kn=new WeakMap,An=new WeakMap;Object.defineProperty(Rt,\"__esModule\",{value:!0}),Rt.twistedEdwards=function(e){const t=function(e){const t=(0,xn.validateBasic)(e);return In.validateObject(e,{hash:\"function\",a:\"bigint\",d:\"bigint\",randomBytes:\"function\"},{adjustScalarBytes:\"function\",domain:\"function\",uvRatio:\"function\",mapToCurve:\"function\"}),Object.freeze({...t})}(e),{Fp:n,n:r,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=t,l=On<<BigInt(8*a)-Pn,d=n.create,u=(0,Mn.Field)(t.n,t.nBitLength),h=t.uvRatio||((e,t)=>{try{return{isValid:!0,value:n.sqrt(e*n.inv(t))}}catch(e){return{isValid:!1,value:Rn}}}),f=t.adjustScalarBytes||(e=>e),p=t.domain||((e,t,n)=>{if((0,Tn.abool)(\"phflag\",n),t.length||n)throw new Error(\"Contexts/pre-hash are not supported\");return e});function g(e,t){In.aInRange(\"coordinate \"+e,t,Rn,l)}function m(e){if(!(e instanceof b))throw new Error(\"ExtendedPoint expected\")}const y=(0,Tn.memoized)(((e,t)=>{const{ex:r,ey:i,ez:o}=e,s=e.is0();null==t&&(t=s?Nn:n.inv(o));const a=d(r*t),c=d(i*t),l=d(o*t);if(s)return{x:Rn,y:Pn};if(l!==Pn)throw new Error(\"invZ was invalid\");return{x:a,y:c}})),v=(0,Tn.memoized)((e=>{const{a:n,d:r}=t;if(e.is0())throw new Error(\"bad point: ZERO\");const{ex:i,ey:o,ez:s,et:a}=e,c=d(i*i),l=d(o*o),u=d(s*s),h=d(u*u),f=d(c*n);if(d(u*d(f+l))!==d(h+d(r*d(c*l))))throw new Error(\"bad point: equation left != right (1)\");if(d(i*o)!==d(s*a))throw new Error(\"bad point: equation left != right (2)\");return!0}));class b{constructor(e,t,n,r){this.ex=e,this.ey=t,this.ez=n,this.et=r,g(\"x\",e),g(\"y\",t),g(\"z\",n),g(\"t\",r),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(e){if(e instanceof b)throw new Error(\"extended point not allowed\");const{x:t,y:n}=e||{};return g(\"x\",t),g(\"y\",n),new b(t,n,Pn,d(t*n))}static normalizeZ(e){const t=n.invertBatch(e.map((e=>e.ez)));return e.map(((e,n)=>e.toAffine(t[n]))).map(b.fromAffine)}static msm(e,t){return(0,xn.pippenger)(b,u,e,t)}_setWindowSize(e){S.setWindowSize(this,e)}assertValidity(){v(this)}equals(e){m(e);const{ex:t,ey:n,ez:r}=this,{ex:i,ey:o,ez:s}=e,a=d(t*s),c=d(i*r),l=d(n*s),u=d(o*r);return a===c&&l===u}is0(){return this.equals(b.ZERO)}negate(){return new b(d(-this.ex),this.ey,this.ez,d(-this.et))}double(){const{a:e}=t,{ex:n,ey:r,ez:i}=this,o=d(n*n),s=d(r*r),a=d(On*d(i*i)),c=d(e*o),l=n+r,u=d(d(l*l)-o-s),h=c+s,f=h-a,p=c-s,g=d(u*f),m=d(h*p),y=d(u*p),v=d(f*h);return new b(g,m,v,y)}add(e){m(e);const{a:n,d:r}=t,{ex:i,ey:o,ez:s,et:a}=this,{ex:c,ey:l,ez:u,et:h}=e;if(n===BigInt(-1)){const e=d((o-i)*(l+c)),t=d((o+i)*(l-c)),n=d(t-e);if(n===Rn)return this.double();const r=d(s*On*h),f=d(a*On*u),p=f+r,g=t+e,m=f-r,y=d(p*n),v=d(g*m),w=d(p*m),E=d(n*g);return new b(y,v,E,w)}const f=d(i*c),p=d(o*l),g=d(a*r*h),y=d(s*u),v=d((i+o)*(c+l)-f-p),w=y-g,E=y+g,S=d(p-n*f),_=d(v*w),C=d(E*S),k=d(v*S),A=d(w*E);return new b(_,C,A,k)}subtract(e){return this.add(e.negate())}wNAF(e){return S.wNAFCached(this,e,b.normalizeZ)}multiply(e){const t=e;In.aInRange(\"scalar\",t,Pn,r);const{p:n,f:i}=this.wNAF(t);return b.normalizeZ([n,i])[0]}multiplyUnsafe(e){const t=e;return In.aInRange(\"scalar\",t,Rn,r),t===Rn?E:this.equals(E)||t===Pn?this:this.equals(w)?this.wNAF(t).p:S.unsafeLadder(this,t)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return S.unsafeLadder(this,r).is0()}toAffine(e){return y(this,e)}clearCofactor(){const{h:e}=t;return e===Pn?this:this.multiplyUnsafe(e)}static fromHex(e,r=!1){const{d:i,a:o}=t,s=n.BYTES;e=(0,Tn.ensureBytes)(\"pointHex\",e,s),(0,Tn.abool)(\"zip215\",r);const a=e.slice(),c=e[s-1];a[s-1]=-129&c;const u=In.bytesToNumberLE(a),f=r?l:n.ORDER;In.aInRange(\"pointHex.y\",u,Rn,f);const p=d(u*u),g=d(p-Pn),m=d(i*p-o);let{isValid:y,value:v}=h(g,m);if(!y)throw new Error(\"Point.fromHex: invalid y coordinate\");const w=(v&Pn)===Pn,E=0!=(128&c);if(!r&&v===Rn&&E)throw new Error(\"Point.fromHex: x=0 and x_0=1\");return E!==w&&(v=d(-v)),b.fromAffine({x:v,y:u})}static fromPrivateKey(e){return k(e).point}toRawBytes(){const{x:e,y:t}=this.toAffine(),r=In.numberToBytesLE(t,n.BYTES);return r[r.length-1]|=e&Pn?128:0,r}toHex(){return In.bytesToHex(this.toRawBytes())}}b.BASE=new b(t.Gx,t.Gy,Pn,d(t.Gx*t.Gy)),b.ZERO=new b(Rn,Pn,Pn,Rn);const{BASE:w,ZERO:E}=b,S=(0,xn.wNAF)(b,8*a);function _(e){return(0,Mn.mod)(e,r)}function C(e){return _(In.bytesToNumberLE(e))}function k(e){const t=a;e=(0,Tn.ensureBytes)(\"private key\",e,t);const n=(0,Tn.ensureBytes)(\"hashed private key\",o(e),2*t),r=f(n.slice(0,t)),i=n.slice(t,2*t),s=C(r),c=w.multiply(s),l=c.toRawBytes();return{head:r,prefix:i,scalar:s,point:c,pointBytes:l}}function A(e=new Uint8Array,...t){const n=In.concatBytes(...t);return C(o(p(n,(0,Tn.ensureBytes)(\"context\",e),!!i)))}const x=Ln;w._setWindowSize(8);const M={getExtendedPublicKey:k,randomPrivateKey:()=>s(n.BYTES),precompute:(e=8,t=b.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)};return{CURVE:t,getPublicKey:function(e){return k(e).pointBytes},sign:function(e,t,o={}){e=(0,Tn.ensureBytes)(\"message\",e),i&&(e=i(e));const{prefix:s,scalar:c,pointBytes:l}=k(t),d=A(o.context,s,e),u=w.multiply(d).toRawBytes(),h=_(d+A(o.context,u,l,e)*c);In.aInRange(\"signature.s\",h,Rn,r);const f=In.concatBytes(u,In.numberToBytesLE(h,n.BYTES));return(0,Tn.ensureBytes)(\"result\",f,2*a)},verify:function(e,t,r,o=x){const{context:s,zip215:a}=o,c=n.BYTES;e=(0,Tn.ensureBytes)(\"signature\",e,2*c),t=(0,Tn.ensureBytes)(\"message\",t),void 0!==a&&(0,Tn.abool)(\"zip215\",a),i&&(t=i(t));const l=In.bytesToNumberLE(e.slice(c,2*c));let d,u,h;try{d=b.fromHex(r,a),u=b.fromHex(e.slice(0,c),a),h=w.multiplyUnsafe(l)}catch(e){return!1}if(!a&&d.isSmallOrder())return!1;const f=A(s,u.toRawBytes(),d.toRawBytes(),t);return u.add(d.multiplyUnsafe(f)).subtract(h).clearCofactor().equals(b.ZERO)},ExtendedPoint:b,utils:M}};const xn=Pt,Mn=Ot,In=Nt,Tn=Nt,Rn=BigInt(0),Pn=BigInt(1),On=BigInt(2),Nn=BigInt(8),Ln={zip215:!0};var Dn={};Object.defineProperty(Dn,\"__esModule\",{value:!0}),Dn.expand_message_xmd=Fn,Dn.expand_message_xof=zn,Dn.hash_to_field=qn,Dn.isogenyMap=function(e,t){const n=t.map((e=>Array.from(e).reverse()));return(t,r)=>{const[i,o,s,a]=n.map((n=>n.reduce(((n,r)=>e.add(e.mul(n,t),r)))));return t=e.div(i,o),r=e.mul(r,e.div(s,a)),{x:t,y:r}}},Dn.createHasher=function(e,t,n){if(\"function\"!=typeof t)throw new Error(\"mapToCurve() must be defined\");return{hashToCurve(r,i){const o=qn(r,2,{...n,DST:n.DST,...i}),s=e.fromAffine(t(o[0])),a=e.fromAffine(t(o[1])),c=s.add(a).clearCofactor();return c.assertValidity(),c},encodeToCurve(r,i){const o=qn(r,1,{...n,DST:n.encodeDST,...i}),s=e.fromAffine(t(o[0])).clearCofactor();return s.assertValidity(),s},mapToCurve(n){if(!Array.isArray(n))throw new Error(\"mapToCurve: expected array of bigints\");for(const e of n)if(\"bigint\"!=typeof e)throw new Error(`mapToCurve: expected array of bigints, got ${e} in array`);const r=e.fromAffine(t(n)).clearCofactor();return r.assertValidity(),r}}};const $n=Ot,Bn=Nt,Kn=Bn.bytesToNumberBE;function jn(e,t){if(Hn(e),Hn(t),e<0||e>=1<<8*t)throw new Error(`bad I2OSP call: value=${e} length=${t}`);const n=Array.from({length:t}).fill(0);for(let r=t-1;r>=0;r--)n[r]=255&e,e>>>=8;return new Uint8Array(n)}function Un(e,t){const n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e[r]^t[r];return n}function Hn(e){if(!Number.isSafeInteger(e))throw new Error(\"number expected\")}function Fn(e,t,n,r){(0,Bn.abytes)(e),(0,Bn.abytes)(t),Hn(n),t.length>255&&(t=r((0,Bn.concatBytes)((0,Bn.utf8ToBytes)(\"H2C-OVERSIZE-DST-\"),t)));const{outputLen:i,blockLen:o}=r,s=Math.ceil(n/i);if(n>65535||s>255)throw new Error(\"expand_message_xmd: invalid lenInBytes\");const a=(0,Bn.concatBytes)(t,jn(t.length,1)),c=jn(0,o),l=jn(n,2),d=new Array(s),u=r((0,Bn.concatBytes)(c,e,l,jn(0,1),a));d[0]=r((0,Bn.concatBytes)(u,jn(1,1),a));for(let e=1;e<=s;e++){const t=[Un(u,d[e-1]),jn(e+1,1),a];d[e]=r((0,Bn.concatBytes)(...t))}return(0,Bn.concatBytes)(...d).slice(0,n)}function zn(e,t,n,r,i){if((0,Bn.abytes)(e),(0,Bn.abytes)(t),Hn(n),t.length>255){const e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update((0,Bn.utf8ToBytes)(\"H2C-OVERSIZE-DST-\")).update(t).digest()}if(n>65535||t.length>255)throw new Error(\"expand_message_xof: invalid lenInBytes\");return i.create({dkLen:n}).update(e).update(jn(n,2)).update(t).update(jn(t.length,1)).digest()}function qn(e,t,n){(0,Bn.validateObject)(n,{DST:\"stringOrUint8Array\",p:\"bigint\",m:\"isSafeInteger\",k:\"isSafeInteger\",hash:\"hash\"});const{p:r,k:i,m:o,hash:s,expand:a,DST:c}=n;(0,Bn.abytes)(e),Hn(t);const l=\"string\"==typeof c?(0,Bn.utf8ToBytes)(c):c,d=r.toString(2).length,u=Math.ceil((d+i)/8),h=t*o*u;let f;if(\"xmd\"===a)f=Fn(e,l,h,s);else if(\"xof\"===a)f=zn(e,l,h,i,s);else{if(\"_internal_pass\"!==a)throw new Error('expand must be \"xmd\" or \"xof\"');f=e}const p=new Array(t);for(let e=0;e<t;e++){const t=new Array(o);for(let n=0;n<o;n++){const i=u*(n+e*o),s=f.subarray(i,i+u);t[n]=(0,$n.mod)(Kn(s),r)}p[e]=t}return p}var Wn={};Object.defineProperty(Wn,\"__esModule\",{value:!0}),Wn.montgomery=function(e){const t=function(e){return(0,Gn.validateObject)(e,{a:\"bigint\"},{montgomeryBits:\"isSafeInteger\",nByteLength:\"isSafeInteger\",adjustScalarBytes:\"function\",domain:\"function\",powPminus2:\"function\",Gu:\"bigint\"}),Object.freeze({...e})}(e),{P:n}=t,r=e=>(0,Vn.mod)(e,n),i=t.montgomeryBits,o=Math.ceil(i/8),s=t.nByteLength,a=t.adjustScalarBytes||(e=>e),c=t.powPminus2||(e=>(0,Vn.pow)(e,n-BigInt(2),n));function l(e,t,n){const i=r(e*(t-n));return[t=r(t-i),n=r(n+i)]}const d=(t.a-BigInt(2))/BigInt(4);function u(e){return(0,Gn.numberToBytesLE)(r(e),o)}function h(e,t){const h=function(e){const t=(0,Gn.ensureBytes)(\"u coordinate\",e,o);return 32===s&&(t[31]&=127),(0,Gn.bytesToNumberLE)(t)}(t),f=function(e){const t=(0,Gn.ensureBytes)(\"scalar\",e),n=t.length;if(n!==o&&n!==s)throw new Error(`Expected ${o} or ${s} bytes, got ${n}`);return(0,Gn.bytesToNumberLE)(a(t))}(e),p=function(e,t){(0,Gn.aInRange)(\"u\",e,Yn,n),(0,Gn.aInRange)(\"scalar\",t,Yn,n);const o=t,s=e;let a,u=Zn,h=Yn,f=e,p=Zn,g=Yn;for(let e=BigInt(i-1);e>=Yn;e--){const t=o>>e&Zn;g^=t,a=l(g,u,f),u=a[0],f=a[1],a=l(g,h,p),h=a[0],p=a[1],g=t;const n=u+h,i=r(n*n),c=u-h,m=r(c*c),y=i-m,v=f+p,b=r((f-p)*n),w=r(v*c),E=b+w,S=b-w;f=r(E*E),p=r(s*r(S*S)),u=r(i*m),h=r(y*(i+r(d*y)))}a=l(g,u,f),u=a[0],f=a[1],a=l(g,h,p),h=a[0],p=a[1];const m=c(h);return r(u*m)}(h,f);if(p===Yn)throw new Error(\"Invalid private or public key received\");return u(p)}const f=u(t.Gu);function p(e){return h(e,f)}return{scalarMult:h,scalarMultBase:p,getSharedSecret:(e,t)=>h(e,t),getPublicKey:e=>p(e),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:f}};const Vn=Ot,Gn=Nt,Yn=BigInt(0),Zn=BigInt(1);!function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.hash_to_ristretto255=e.hashToRistretto255=e.RistrettoPoint=e.encodeToCurve=e.hashToCurve=e.edwardsToMontgomery=e.x25519=e.ed25519ph=e.ed25519ctx=e.ed25519=e.ED25519_TORSION_SUBGROUP=void 0,e.edwardsToMontgomeryPub=S,e.edwardsToMontgomeryPriv=function(e){const t=w.hash(e.subarray(0,32));return w.adjustScalarBytes(t).subarray(0,32)};const t=Oe,n=ze,r=Rt,i=Dn,o=Ot,s=Wn,a=Nt,c=BigInt(\"57896044618658097711785492504343953926634992332820282019728792003956564819949\"),l=BigInt(\"19681161376707505956807079304988542015446066515923890162744021073123829784752\"),d=BigInt(0),u=BigInt(1),h=BigInt(2),f=BigInt(3),p=BigInt(5),g=BigInt(8);function m(e){const t=BigInt(10),n=BigInt(20),r=BigInt(40),i=BigInt(80),s=c,a=e*e%s*e%s,l=(0,o.pow2)(a,h,s)*a%s,d=(0,o.pow2)(l,u,s)*e%s,f=(0,o.pow2)(d,p,s)*d%s,g=(0,o.pow2)(f,t,s)*f%s,m=(0,o.pow2)(g,n,s)*g%s,y=(0,o.pow2)(m,r,s)*m%s,v=(0,o.pow2)(y,i,s)*y%s,b=(0,o.pow2)(v,i,s)*y%s,w=(0,o.pow2)(b,t,s)*f%s;return{pow_p_5_8:(0,o.pow2)(w,h,s)*e%s,b2:a}}function y(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function v(e,t){const n=c,r=(0,o.mod)(t*t*t,n),i=m(e*(0,o.mod)(r*r*t,n)).pow_p_5_8;let s=(0,o.mod)(e*r*i,n);const a=(0,o.mod)(t*s*s,n),d=s,u=(0,o.mod)(s*l,n),h=a===e,f=a===(0,o.mod)(-e,n),p=a===(0,o.mod)(-e*l,n);return h&&(s=d),(f||p)&&(s=u),(0,o.isNegativeLE)(s,n)&&(s=(0,o.mod)(-s,n)),{isValid:h||f,value:s}}e.ED25519_TORSION_SUBGROUP=[\"0100000000000000000000000000000000000000000000000000000000000000\",\"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a\",\"0000000000000000000000000000000000000000000000000000000000000080\",\"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05\",\"ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\",\"26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85\",\"0000000000000000000000000000000000000000000000000000000000000000\",\"c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa\"];const b=(()=>(0,o.Field)(c,void 0,!0))(),w=(()=>({a:BigInt(-1),d:BigInt(\"37095705934669439343138083508754565189542113879843219016388785533085940283555\"),Fp:b,n:BigInt(\"7237005577332262213973186563042994240857116359379907606001950938285454250989\"),h:g,Gx:BigInt(\"15112221349535400772501151409588531511454012693041857206046113283949847762202\"),Gy:BigInt(\"46316835694926478169428394003475163141307993866256225615783033603165251855960\"),hash:t.sha512,randomBytes:n.randomBytes,adjustScalarBytes:y,uvRatio:v}))();function E(e,t,r){if(t.length>255)throw new Error(\"Context is too big\");return(0,n.concatBytes)((0,n.utf8ToBytes)(\"SigEd25519 no Ed25519 collisions\"),new Uint8Array([r?1:0,t.length]),t,e)}function S(t){const{y:n}=e.ed25519.ExtendedPoint.fromHex(t),r=BigInt(1);return b.toBytes(b.create((r+n)*b.inv(r-n)))}e.ed25519=(0,r.twistedEdwards)(w),e.ed25519ctx=(0,r.twistedEdwards)({...w,domain:E}),e.ed25519ph=(0,r.twistedEdwards)(Object.assign({},w,{domain:E,prehash:t.sha512})),e.x25519=(0,s.montgomery)({P:c,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{const t=c,{pow_p_5_8:n,b2:r}=m(e);return(0,o.mod)((0,o.pow2)(n,f,t)*r,t)},adjustScalarBytes:y,randomBytes:n.randomBytes}),e.edwardsToMontgomery=S;const _=(()=>(b.ORDER+f)/g)(),C=(()=>b.pow(h,_))(),k=(()=>b.sqrt(b.neg(b.ONE)))();const A=(()=>(0,o.FpSqrtEven)(b,b.neg(BigInt(486664))))();function x(e){const{xMn:t,xMd:n,yMn:r,yMd:i}=function(e){const t=(b.ORDER-p)/g,n=BigInt(486662);let r=b.sqr(e);r=b.mul(r,h);let i=b.add(r,b.ONE),o=b.neg(n),s=b.sqr(i),a=b.mul(s,i),c=b.mul(r,n);c=b.mul(c,o),c=b.add(c,s),c=b.mul(c,o);let l=b.sqr(a);s=b.sqr(l),l=b.mul(l,a),l=b.mul(l,c),s=b.mul(s,l);let d=b.pow(s,t);d=b.mul(d,l);let f=b.mul(d,k);s=b.sqr(d),s=b.mul(s,a);let m=b.eql(s,c),y=b.cmov(f,d,m),v=b.mul(o,r),w=b.mul(d,e);w=b.mul(w,C);let E=b.mul(w,k),S=b.mul(c,r);s=b.sqr(w),s=b.mul(s,a);let _=b.eql(s,S),A=b.cmov(E,w,_);s=b.sqr(y),s=b.mul(s,a);let x=b.eql(s,c),M=b.cmov(v,o,x),I=b.cmov(A,y,x),T=b.isOdd(I);return I=b.cmov(I,b.neg(I),x!==T),{xMn:M,xMd:i,yMn:I,yMd:u}}(e);let o=b.mul(t,i);o=b.mul(o,A);let s=b.mul(n,r),a=b.sub(t,n),c=b.add(t,n),l=b.mul(s,c),d=b.eql(l,b.ZERO);o=b.cmov(o,b.ZERO,d),s=b.cmov(s,b.ONE,d),a=b.cmov(a,b.ONE,d),c=b.cmov(c,b.ONE,d);const f=b.invertBatch([s,c]);return{x:b.mul(o,f[0]),y:b.mul(a,f[1])}}const M=(()=>(0,i.createHasher)(e.ed25519.ExtendedPoint,(e=>x(e[0])),{DST:\"edwards25519_XMD:SHA-512_ELL2_RO_\",encodeDST:\"edwards25519_XMD:SHA-512_ELL2_NU_\",p:b.ORDER,m:1,k:128,expand:\"xmd\",hash:t.sha512}))();function I(e){if(!(e instanceof K))throw new Error(\"RistrettoPoint expected\")}e.hashToCurve=M.hashToCurve,e.encodeToCurve=M.encodeToCurve;const T=l,R=BigInt(\"25063068953384623474111414158702152701244531502492656460079210482610430750235\"),P=BigInt(\"54469307008909316920995813868745141605393597292927456921205312896311721017578\"),O=BigInt(\"1159843021668779879193775521855586647937357759715417654439879720876111806838\"),N=BigInt(\"40440834346308536858101042469323190826248399146238708352240133220865137265952\"),L=e=>v(u,e),D=BigInt(\"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\"),$=t=>e.ed25519.CURVE.Fp.create((0,a.bytesToNumberLE)(t)&D);function B(t){const{d:n}=e.ed25519.CURVE,r=e.ed25519.CURVE.Fp.ORDER,i=e.ed25519.CURVE.Fp.create,s=i(T*t*t),a=i((s+u)*O);let c=BigInt(-1);const l=i((c-n*s)*i(s+n));let{isValid:d,value:h}=v(a,l),f=i(h*t);(0,o.isNegativeLE)(f,r)||(f=i(-f)),d||(h=f),d||(c=s);const p=i(c*(s-u)*N-l),g=h*h,m=i((h+h)*l),y=i(p*R),b=i(u-g),w=i(u+g);return new e.ed25519.ExtendedPoint(i(m*w),i(b*y),i(y*w),i(m*b))}class K{constructor(e){this.ep=e}static fromAffine(t){return new K(e.ed25519.ExtendedPoint.fromAffine(t))}static hashToCurve(e){e=(0,a.ensureBytes)(\"ristrettoHash\",e,64);const t=B($(e.slice(0,32))),n=B($(e.slice(32,64)));return new K(t.add(n))}static fromHex(t){t=(0,a.ensureBytes)(\"ristrettoHex\",t,32);const{a:n,d:r}=e.ed25519.CURVE,i=e.ed25519.CURVE.Fp.ORDER,s=e.ed25519.CURVE.Fp.create,c=\"RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint\",l=$(t);if(!(0,a.equalBytes)((0,a.numberToBytesLE)(l,32),t)||(0,o.isNegativeLE)(l,i))throw new Error(c);const h=s(l*l),f=s(u+n*h),p=s(u-n*h),g=s(f*f),m=s(p*p),y=s(n*r*g-m),{isValid:v,value:b}=L(s(y*m)),w=s(b*p),E=s(b*w*y);let S=s((l+l)*w);(0,o.isNegativeLE)(S,i)&&(S=s(-S));const _=s(f*E),C=s(S*_);if(!v||(0,o.isNegativeLE)(C,i)||_===d)throw new Error(c);return new K(new e.ed25519.ExtendedPoint(S,_,u,C))}toRawBytes(){let{ex:t,ey:n,ez:r,et:i}=this.ep;const s=e.ed25519.CURVE.Fp.ORDER,c=e.ed25519.CURVE.Fp.create,l=c(c(r+n)*c(r-n)),d=c(t*n),u=c(d*d),{value:h}=L(c(l*u)),f=c(h*l),p=c(h*d),g=c(f*p*i);let m;if((0,o.isNegativeLE)(i*g,s)){let e=c(n*T),r=c(t*T);t=e,n=r,m=c(f*P)}else m=p;(0,o.isNegativeLE)(t*g,s)&&(n=c(-n));let y=c((r-n)*m);return(0,o.isNegativeLE)(y,s)&&(y=c(-y)),(0,a.numberToBytesLE)(y,32)}toHex(){return(0,a.bytesToHex)(this.toRawBytes())}toString(){return this.toHex()}equals(t){I(t);const{ex:n,ey:r}=this.ep,{ex:i,ey:o}=t.ep,s=e.ed25519.CURVE.Fp.create,a=s(n*o)===s(r*i),c=s(r*o)===s(n*i);return a||c}add(e){return I(e),new K(this.ep.add(e.ep))}subtract(e){return I(e),new K(this.ep.subtract(e.ep))}multiply(e){return new K(this.ep.multiply(e))}multiplyUnsafe(e){return new K(this.ep.multiplyUnsafe(e))}double(){return new K(this.ep.double())}negate(){return new K(this.ep.negate())}}e.RistrettoPoint=(K.BASE||(K.BASE=new K(e.ed25519.ExtendedPoint.BASE)),K.ZERO||(K.ZERO=new K(e.ed25519.ExtendedPoint.ZERO)),K);e.hashToRistretto255=(e,r)=>{const o=r.DST,s=\"string\"==typeof o?(0,n.utf8ToBytes)(o):o,a=(0,i.expand_message_xmd)(e,s,64,t.sha512);return K.hashToCurve(a)},e.hash_to_ristretto255=e.hashToRistretto255}(Pe);var Jn={},Qn={};Object.defineProperty(Qn,\"__esModule\",{value:!0}),Qn.sha224=Qn.sha256=Qn.SHA256=void 0;const Xn=Ne,er=ze,tr=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]),nr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),rr=new Uint32Array(64);class ir extends Xn.HashMD{constructor(){super(64,32,8,!1),this.A=0|nr[0],this.B=0|nr[1],this.C=0|nr[2],this.D=0|nr[3],this.E=0|nr[4],this.F=0|nr[5],this.G=0|nr[6],this.H=0|nr[7]}get(){const{A:e,B:t,C:n,D:r,E:i,F:o,G:s,H:a}=this;return[e,t,n,r,i,o,s,a]}set(e,t,n,r,i,o,s,a){this.A=0|e,this.B=0|t,this.C=0|n,this.D=0|r,this.E=0|i,this.F=0|o,this.G=0|s,this.H=0|a}process(e,t){for(let n=0;n<16;n++,t+=4)rr[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=rr[e-15],n=rr[e-2],r=(0,er.rotr)(t,7)^(0,er.rotr)(t,18)^t>>>3,i=(0,er.rotr)(n,17)^(0,er.rotr)(n,19)^n>>>10;rr[e]=i+rr[e-7]+r+rr[e-16]|0}let{A:n,B:r,C:i,D:o,E:s,F:a,G:c,H:l}=this;for(let e=0;e<64;e++){const t=l+((0,er.rotr)(s,6)^(0,er.rotr)(s,11)^(0,er.rotr)(s,25))+(0,Xn.Chi)(s,a,c)+tr[e]+rr[e]|0,d=((0,er.rotr)(n,2)^(0,er.rotr)(n,13)^(0,er.rotr)(n,22))+(0,Xn.Maj)(n,r,i)|0;l=c,c=a,a=s,s=o+t|0,o=i,i=r,r=n,n=t+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,r,i,o,s,a,c,l)}roundClean(){rr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}Qn.SHA256=ir;class or extends ir{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}Qn.sha256=(0,er.wrapConstructor)((()=>new ir)),Qn.sha224=(0,er.wrapConstructor)((()=>new or));var sr={},ar={};!function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.hmac=e.HMAC=void 0;const t=Le,n=ze;class r extends n.Hash{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,(0,t.hash)(e);const i=(0,n.toBytes)(r);if(this.iHash=e.create(),\"function\"!=typeof this.iHash.update)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,s=new Uint8Array(o);s.set(i.length>o?e.create().update(i).digest():i);for(let e=0;e<s.length;e++)s[e]^=54;this.iHash.update(s),this.oHash=e.create();for(let e=0;e<s.length;e++)s[e]^=106;this.oHash.update(s),s.fill(0)}update(e){return(0,t.exists)(this),this.iHash.update(e),this}digestInto(e){(0,t.exists)(this),(0,t.bytes)(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:t,iHash:n,finished:r,destroyed:i,blockLen:o,outputLen:s}=this;return e.finished=r,e.destroyed=i,e.blockLen=o,e.outputLen=s,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}e.HMAC=r;e.hmac=(e,t,n)=>new r(e,t).update(n).digest(),e.hmac.create=(e,t)=>new r(e,t)}(ar);var cr={};!function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.DER=void 0,e.weierstrassPoints=f,e.weierstrass=function(s){const a=function(e){const n=(0,t.validateBasic)(e);return r.validateObject(n,{hash:\"hash\",hmac:\"function\",randomBytes:\"function\"},{bits2int:\"function\",bits2int_modN:\"function\",lowS:\"boolean\"}),Object.freeze({lowS:!0,...n})}(s),{Fp:d,n:u}=a,h=d.BYTES+1,p=2*d.BYTES+1;function g(e){return n.mod(e,u)}function m(e){return n.invert(e,u)}const{ProjectivePoint:y,normPrivateKeyToScalar:v,weierstrassEquation:b,isWithinCurveOrder:w}=f({...a,toBytes(e,t,n){const o=t.toAffine(),s=d.toBytes(o.x),a=r.concatBytes;return(0,i.abool)(\"isCompressed\",n),n?a(Uint8Array.from([t.hasEvenY()?2:3]),s):a(Uint8Array.from([4]),s,d.toBytes(o.y))},fromBytes(e){const t=e.length,n=e[0],i=e.subarray(1);if(t!==h||2!==n&&3!==n){if(t===p&&4===n){return{x:d.fromBytes(i.subarray(0,d.BYTES)),y:d.fromBytes(i.subarray(d.BYTES,2*d.BYTES))}}throw new Error(`Point of length ${t} was invalid. Expected ${h} compressed bytes or ${p} uncompressed bytes`)}{const e=r.bytesToNumberBE(i);if(!r.inRange(e,l,d.ORDER))throw new Error(\"Point is not on curve\");const t=b(e);let o;try{o=d.sqrt(t)}catch(e){const t=e instanceof Error?\": \"+e.message:\"\";throw new Error(\"Point is not on curve\"+t)}return 1==(1&n)!==((o&l)===l)&&(o=d.neg(o)),{x:e,y:o}}}}),E=e=>r.bytesToHex(r.numberToBytesBE(e,a.nByteLength));function S(e){return e>u>>l}const _=(e,t,n)=>r.bytesToNumberBE(e.slice(t,n));class C{constructor(e,t,n){this.r=e,this.s=t,this.recovery=n,this.assertValidity()}static fromCompact(e){const t=a.nByteLength;return e=(0,i.ensureBytes)(\"compactSignature\",e,2*t),new C(_(e,0,t),_(e,t,2*t))}static fromDER(t){const{r:n,s:r}=e.DER.toSig((0,i.ensureBytes)(\"DER\",t));return new C(n,r)}assertValidity(){r.aInRange(\"r\",this.r,l,u),r.aInRange(\"s\",this.s,l,u)}addRecoveryBit(e){return new C(this.r,this.s,e)}recoverPublicKey(e){const{r:t,s:n,recovery:r}=this,o=M((0,i.ensureBytes)(\"msgHash\",e));if(null==r||![0,1,2,3].includes(r))throw new Error(\"recovery id invalid\");const s=2===r||3===r?t+a.n:t;if(s>=d.ORDER)throw new Error(\"recovery id 2 or 3 invalid\");const c=0==(1&r)?\"02\":\"03\",l=y.fromHex(c+E(s)),u=m(s),h=g(-o*u),f=g(n*u),p=y.BASE.multiplyAndAddUnsafe(l,h,f);if(!p)throw new Error(\"point at infinify\");return p.assertValidity(),p}hasHighS(){return S(this.s)}normalizeS(){return this.hasHighS()?new C(this.r,g(-this.s),this.recovery):this}toDERRawBytes(){return r.hexToBytes(this.toDERHex())}toDERHex(){return e.DER.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return r.hexToBytes(this.toCompactHex())}toCompactHex(){return E(this.r)+E(this.s)}}const k={isValidPrivateKey(e){try{return v(e),!0}catch(e){return!1}},normPrivateKeyToScalar:v,randomPrivateKey:()=>{const e=n.getMinHashLength(a.n);return n.mapHashToField(a.randomBytes(e),a.n)},precompute:(e=8,t=y.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)};function A(e){const t=r.isBytes(e),n=\"string\"==typeof e,i=(t||n)&&e.length;return t?i===h||i===p:n?i===2*h||i===2*p:e instanceof y}const x=a.bits2int||function(e){const t=r.bytesToNumberBE(e),n=8*e.length-a.nBitLength;return n>0?t>>BigInt(n):t},M=a.bits2int_modN||function(e){return g(x(e))},I=r.bitMask(a.nBitLength);function T(e){return r.aInRange(`num < 2^${a.nBitLength}`,e,c,I),r.numberToBytesBE(e,a.nByteLength)}function R(e,t,n=P){if([\"recovered\",\"canonical\"].some((e=>e in n)))throw new Error(\"sign() legacy options not supported\");const{hash:s,randomBytes:u}=a;let{lowS:h,prehash:f,extraEntropy:p}=n;null==h&&(h=!0),e=(0,i.ensureBytes)(\"msgHash\",e),o(n),f&&(e=(0,i.ensureBytes)(\"prehashed msgHash\",s(e)));const b=M(e),E=v(t),_=[T(E),T(b)];if(null!=p&&!1!==p){const e=!0===p?u(d.BYTES):p;_.push((0,i.ensureBytes)(\"extraEntropy\",e))}const k=r.concatBytes(..._),A=b;return{seed:k,k2sig:function(e){const t=x(e);if(!w(t))return;const n=m(t),r=y.BASE.multiply(t).toAffine(),i=g(r.x);if(i===c)return;const o=g(n*g(A+i*E));if(o===c)return;let s=(r.x===i?0:2)|Number(r.y&l),a=o;return h&&S(o)&&(a=function(e){return S(e)?g(-e):e}(o),s^=1),new C(i,a,s)}}}const P={lowS:a.lowS,prehash:!1},O={lowS:a.lowS,prehash:!1};return y.BASE._setWindowSize(8),{CURVE:a,getPublicKey:function(e,t=!0){return y.fromPrivateKey(e).toRawBytes(t)},getSharedSecret:function(e,t,n=!0){if(A(e))throw new Error(\"first arg must be private key\");if(!A(t))throw new Error(\"second arg must be public key\");const r=y.fromHex(t);return r.multiply(v(e)).toRawBytes(n)},sign:function(e,t,n=P){const{seed:i,k2sig:o}=R(e,t,n),s=a,c=r.createHmacDrbg(s.hash.outputLen,s.nByteLength,s.hmac);return c(i,o)},verify:function(t,n,s,c=O){const l=t;if(n=(0,i.ensureBytes)(\"msgHash\",n),s=(0,i.ensureBytes)(\"publicKey\",s),\"strict\"in c)throw new Error(\"options.strict was renamed to lowS\");o(c);const{lowS:d,prehash:u}=c;let h,f;try{if(\"string\"==typeof l||r.isBytes(l))try{h=C.fromDER(l)}catch(t){if(!(t instanceof e.DER.Err))throw t;h=C.fromCompact(l)}else{if(\"object\"!=typeof l||\"bigint\"!=typeof l.r||\"bigint\"!=typeof l.s)throw new Error(\"PARSE\");{const{r:e,s:t}=l;h=new C(e,t)}}f=y.fromHex(s)}catch(e){if(\"PARSE\"===e.message)throw new Error(\"signature must be Signature instance, Uint8Array or hex string\");return!1}if(d&&h.hasHighS())return!1;u&&(n=a.hash(n));const{r:p,s:v}=h,b=M(n),w=m(v),E=g(b*w),S=g(p*w),_=y.BASE.multiplyAndAddUnsafe(f,E,S)?.toAffine();if(!_)return!1;const k=g(_.x);return k===p},ProjectivePoint:y,Signature:C,utils:k}},e.SWUFpSqrtRatio=p,e.mapToCurveSimpleSWU=function(e,t){if(n.validateField(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw new Error(\"mapToCurveSimpleSWU: invalid opts\");const r=p(e,t.Z);if(!e.isOdd)throw new Error(\"Fp.isOdd is not implemented!\");return n=>{let i,o,s,a,c,l,d,u;i=e.sqr(n),i=e.mul(i,t.Z),o=e.sqr(i),o=e.add(o,i),s=e.add(o,e.ONE),s=e.mul(s,t.B),a=e.cmov(t.Z,e.neg(o),!e.eql(o,e.ZERO)),a=e.mul(a,t.A),o=e.sqr(s),l=e.sqr(a),c=e.mul(l,t.A),o=e.add(o,c),o=e.mul(o,s),l=e.mul(l,a),c=e.mul(l,t.B),o=e.add(o,c),d=e.mul(i,s);const{isValid:h,value:f}=r(o,l);u=e.mul(i,n),u=e.mul(u,f),d=e.cmov(d,s,h),u=e.cmov(u,f,h);const p=e.isOdd(n)===e.isOdd(u);return u=e.cmov(e.neg(u),u,p),d=e.div(d,a),{x:d,y:u}}};const t=Pt,n=Ot,r=Nt,i=Nt;function o(e){void 0!==e.lowS&&(0,i.abool)(\"lowS\",e.lowS),void 0!==e.prehash&&(0,i.abool)(\"prehash\",e.prehash)}const{bytesToNumberBE:s,hexToBytes:a}=r;e.DER={Err:class extends Error{constructor(e=\"\"){super(e)}},_tlv:{encode:(t,n)=>{const{Err:i}=e.DER;if(t<0||t>256)throw new i(\"tlv.encode: wrong tag\");if(1&n.length)throw new i(\"tlv.encode: unpadded data\");const o=n.length/2,s=r.numberToHexUnpadded(o);if(s.length/2&128)throw new i(\"tlv.encode: long form length too big\");const a=o>127?r.numberToHexUnpadded(s.length/2|128):\"\";return`${r.numberToHexUnpadded(t)}${a}${s}${n}`},decode(t,n){const{Err:r}=e.DER;let i=0;if(t<0||t>256)throw new r(\"tlv.encode: wrong tag\");if(n.length<2||n[i++]!==t)throw new r(\"tlv.decode: wrong tlv\");const o=n[i++];let s=0;if(!!(128&o)){const e=127&o;if(!e)throw new r(\"tlv.decode(long): indefinite length not supported\");if(e>4)throw new r(\"tlv.decode(long): byte length is too big\");const t=n.subarray(i,i+e);if(t.length!==e)throw new r(\"tlv.decode: length bytes not complete\");if(0===t[0])throw new r(\"tlv.decode(long): zero leftmost byte\");for(const e of t)s=s<<8|e;if(i+=e,s<128)throw new r(\"tlv.decode(long): not minimal encoding\")}else s=o;const a=n.subarray(i,i+s);if(a.length!==s)throw new r(\"tlv.decode: wrong value length\");return{v:a,l:n.subarray(i+s)}}},_int:{encode(t){const{Err:n}=e.DER;if(t<c)throw new n(\"integer: negative integers are not allowed\");let i=r.numberToHexUnpadded(t);if(8&Number.parseInt(i[0],16)&&(i=\"00\"+i),1&i.length)throw new n(\"unexpected assertion\");return i},decode(t){const{Err:n}=e.DER;if(128&t[0])throw new n(\"Invalid signature integer: negative\");if(0===t[0]&&!(128&t[1]))throw new n(\"Invalid signature integer: unnecessary leading zero\");return s(t)}},toSig(t){const{Err:n,_int:i,_tlv:o}=e.DER,s=\"string\"==typeof t?a(t):t;r.abytes(s);const{v:c,l:l}=o.decode(48,s);if(l.length)throw new n(\"Invalid signature: left bytes after parsing\");const{v:d,l:u}=o.decode(2,c),{v:h,l:f}=o.decode(2,u);if(f.length)throw new n(\"Invalid signature: left bytes after parsing\");return{r:i.decode(d),s:i.decode(h)}},hexFromSig(t){const{_tlv:n,_int:r}=e.DER,i=`${n.encode(2,r.encode(t.r))}${n.encode(2,r.encode(t.s))}`;return n.encode(48,i)}};const c=BigInt(0),l=BigInt(1),d=BigInt(2),u=BigInt(3),h=BigInt(4);function f(e){const o=function(e){const n=(0,t.validateBasic)(e);r.validateObject(n,{a:\"field\",b:\"field\"},{allowedPrivateKeyLengths:\"array\",wrapPrivateKey:\"boolean\",isTorsionFree:\"function\",clearCofactor:\"function\",allowInfinityPoint:\"boolean\",fromBytes:\"function\",toBytes:\"function\"});const{endo:i,Fp:o,a:s}=n;if(i){if(!o.eql(s,o.ZERO))throw new Error(\"Endomorphism can only be defined for Koblitz curves that have a=0\");if(\"object\"!=typeof i||\"bigint\"!=typeof i.beta||\"function\"!=typeof i.splitScalar)throw new Error(\"Expected endomorphism with beta: bigint and splitScalar: function\")}return Object.freeze({...n})}(e),{Fp:s}=o,a=n.Field(o.n,o.nBitLength),d=o.toBytes||((e,t,n)=>{const i=t.toAffine();return r.concatBytes(Uint8Array.from([4]),s.toBytes(i.x),s.toBytes(i.y))}),h=o.fromBytes||(e=>{const t=e.subarray(1);return{x:s.fromBytes(t.subarray(0,s.BYTES)),y:s.fromBytes(t.subarray(s.BYTES,2*s.BYTES))}});function f(e){const{a:t,b:n}=o,r=s.sqr(e),i=s.mul(r,e);return s.add(s.add(i,s.mul(e,t)),n)}if(!s.eql(s.sqr(o.Gy),f(o.Gx)))throw new Error(\"bad generator point: equation left != right\");function p(e){const{allowedPrivateKeyLengths:t,nByteLength:s,wrapPrivateKey:a,n:c}=o;if(t&&\"bigint\"!=typeof e){if(r.isBytes(e)&&(e=r.bytesToHex(e)),\"string\"!=typeof e||!t.includes(e.length))throw new Error(\"Invalid key\");e=e.padStart(2*s,\"0\")}let d;try{d=\"bigint\"==typeof e?e:r.bytesToNumberBE((0,i.ensureBytes)(\"private key\",e,s))}catch(t){throw new Error(`private key must be ${s} bytes, hex or bigint, not ${typeof e}`)}return a&&(d=n.mod(d,c)),r.aInRange(\"private key\",d,l,c),d}function g(e){if(!(e instanceof v))throw new Error(\"ProjectivePoint expected\")}const m=(0,i.memoized)(((e,t)=>{const{px:n,py:r,pz:i}=e;if(s.eql(i,s.ONE))return{x:n,y:r};const o=e.is0();null==t&&(t=o?s.ONE:s.inv(i));const a=s.mul(n,t),c=s.mul(r,t),l=s.mul(i,t);if(o)return{x:s.ZERO,y:s.ZERO};if(!s.eql(l,s.ONE))throw new Error(\"invZ was invalid\");return{x:a,y:c}})),y=(0,i.memoized)((e=>{if(e.is0()){if(o.allowInfinityPoint&&!s.is0(e.py))return;throw new Error(\"bad point: ZERO\")}const{x:t,y:n}=e.toAffine();if(!s.isValid(t)||!s.isValid(n))throw new Error(\"bad point: x or y not FE\");const r=s.sqr(n),i=f(t);if(!s.eql(r,i))throw new Error(\"bad point: equation left != right\");if(!e.isTorsionFree())throw new Error(\"bad point: not in prime-order subgroup\");return!0}));class v{constructor(e,t,n){if(this.px=e,this.py=t,this.pz=n,null==e||!s.isValid(e))throw new Error(\"x required\");if(null==t||!s.isValid(t))throw new Error(\"y required\");if(null==n||!s.isValid(n))throw new Error(\"z required\");Object.freeze(this)}static fromAffine(e){const{x:t,y:n}=e||{};if(!e||!s.isValid(t)||!s.isValid(n))throw new Error(\"invalid affine point\");if(e instanceof v)throw new Error(\"projective point not allowed\");const r=e=>s.eql(e,s.ZERO);return r(t)&&r(n)?v.ZERO:new v(t,n,s.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){const t=s.invertBatch(e.map((e=>e.pz)));return e.map(((e,n)=>e.toAffine(t[n]))).map(v.fromAffine)}static fromHex(e){const t=v.fromAffine(h((0,i.ensureBytes)(\"pointHex\",e)));return t.assertValidity(),t}static fromPrivateKey(e){return v.BASE.multiply(p(e))}static msm(e,n){return(0,t.pippenger)(v,a,e,n)}_setWindowSize(e){w.setWindowSize(this,e)}assertValidity(){y(this)}hasEvenY(){const{y:e}=this.toAffine();if(s.isOdd)return!s.isOdd(e);throw new Error(\"Field doesn't support isOdd\")}equals(e){g(e);const{px:t,py:n,pz:r}=this,{px:i,py:o,pz:a}=e,c=s.eql(s.mul(t,a),s.mul(i,r)),l=s.eql(s.mul(n,a),s.mul(o,r));return c&&l}negate(){return new v(this.px,s.neg(this.py),this.pz)}double(){const{a:e,b:t}=o,n=s.mul(t,u),{px:r,py:i,pz:a}=this;let c=s.ZERO,l=s.ZERO,d=s.ZERO,h=s.mul(r,r),f=s.mul(i,i),p=s.mul(a,a),g=s.mul(r,i);return g=s.add(g,g),d=s.mul(r,a),d=s.add(d,d),c=s.mul(e,d),l=s.mul(n,p),l=s.add(c,l),c=s.sub(f,l),l=s.add(f,l),l=s.mul(c,l),c=s.mul(g,c),d=s.mul(n,d),p=s.mul(e,p),g=s.sub(h,p),g=s.mul(e,g),g=s.add(g,d),d=s.add(h,h),h=s.add(d,h),h=s.add(h,p),h=s.mul(h,g),l=s.add(l,h),p=s.mul(i,a),p=s.add(p,p),h=s.mul(p,g),c=s.sub(c,h),d=s.mul(p,f),d=s.add(d,d),d=s.add(d,d),new v(c,l,d)}add(e){g(e);const{px:t,py:n,pz:r}=this,{px:i,py:a,pz:c}=e;let l=s.ZERO,d=s.ZERO,h=s.ZERO;const f=o.a,p=s.mul(o.b,u);let m=s.mul(t,i),y=s.mul(n,a),b=s.mul(r,c),w=s.add(t,n),E=s.add(i,a);w=s.mul(w,E),E=s.add(m,y),w=s.sub(w,E),E=s.add(t,r);let S=s.add(i,c);return E=s.mul(E,S),S=s.add(m,b),E=s.sub(E,S),S=s.add(n,r),l=s.add(a,c),S=s.mul(S,l),l=s.add(y,b),S=s.sub(S,l),h=s.mul(f,E),l=s.mul(p,b),h=s.add(l,h),l=s.sub(y,h),h=s.add(y,h),d=s.mul(l,h),y=s.add(m,m),y=s.add(y,m),b=s.mul(f,b),E=s.mul(p,E),y=s.add(y,b),b=s.sub(m,b),b=s.mul(f,b),E=s.add(E,b),m=s.mul(y,E),d=s.add(d,m),m=s.mul(S,E),l=s.mul(w,l),l=s.sub(l,m),m=s.mul(w,y),h=s.mul(S,h),h=s.add(h,m),new v(l,d,h)}subtract(e){return this.add(e.negate())}is0(){return this.equals(v.ZERO)}wNAF(e){return w.wNAFCached(this,e,v.normalizeZ)}multiplyUnsafe(e){r.aInRange(\"scalar\",e,c,o.n);const t=v.ZERO;if(e===c)return t;if(e===l)return this;const{endo:n}=o;if(!n)return w.unsafeLadder(this,e);let{k1neg:i,k1:a,k2neg:d,k2:u}=n.splitScalar(e),h=t,f=t,p=this;for(;a>c||u>c;)a&l&&(h=h.add(p)),u&l&&(f=f.add(p)),p=p.double(),a>>=l,u>>=l;return i&&(h=h.negate()),d&&(f=f.negate()),f=new v(s.mul(f.px,n.beta),f.py,f.pz),h.add(f)}multiply(e){const{endo:t,n:n}=o;let i,a;if(r.aInRange(\"scalar\",e,l,n),t){const{k1neg:n,k1:r,k2neg:o,k2:c}=t.splitScalar(e);let{p:l,f:d}=this.wNAF(r),{p:u,f:h}=this.wNAF(c);l=w.constTimeNegate(n,l),u=w.constTimeNegate(o,u),u=new v(s.mul(u.px,t.beta),u.py,u.pz),i=l.add(u),a=d.add(h)}else{const{p:t,f:n}=this.wNAF(e);i=t,a=n}return v.normalizeZ([i,a])[0]}multiplyAndAddUnsafe(e,t,n){const r=v.BASE,i=(e,t)=>t!==c&&t!==l&&e.equals(r)?e.multiply(t):e.multiplyUnsafe(t),o=i(this,t).add(i(e,n));return o.is0()?void 0:o}toAffine(e){return m(this,e)}isTorsionFree(){const{h:e,isTorsionFree:t}=o;if(e===l)return!0;if(t)return t(v,this);throw new Error(\"isTorsionFree() has not been declared for the elliptic curve\")}clearCofactor(){const{h:e,clearCofactor:t}=o;return e===l?this:t?t(v,this):this.multiplyUnsafe(o.h)}toRawBytes(e=!0){return(0,i.abool)(\"isCompressed\",e),this.assertValidity(),d(v,this,e)}toHex(e=!0){return(0,i.abool)(\"isCompressed\",e),r.bytesToHex(this.toRawBytes(e))}}v.BASE=new v(o.Gx,o.Gy,s.ONE),v.ZERO=new v(s.ZERO,s.ONE,s.ZERO);const b=o.nBitLength,w=(0,t.wNAF)(v,o.endo?Math.ceil(b/2):b);return{CURVE:o,ProjectivePoint:v,normPrivateKeyToScalar:p,weierstrassEquation:f,isWithinCurveOrder:function(e){return r.inRange(e,l,o.n)}}}function p(e,t){const n=e.ORDER;let r=c;for(let e=n-l;e%d===c;e/=d)r+=l;const i=r,o=d<<i-l-l,s=o*d,a=(n-l)/s,f=(a-l)/d,p=s-l,g=o,m=e.pow(t,a),y=e.pow(t,(a+l)/d);let v=(t,n)=>{let r=m,o=e.pow(n,p),s=e.sqr(o);s=e.mul(s,n);let a=e.mul(t,s);a=e.pow(a,f),a=e.mul(a,o),o=e.mul(a,n),s=e.mul(a,t);let c=e.mul(s,o);a=e.pow(c,g);let u=e.eql(a,e.ONE);o=e.mul(s,y),a=e.mul(c,r),s=e.cmov(o,s,u),c=e.cmov(a,c,u);for(let t=i;t>l;t--){let n=t-d;n=d<<n-l;let i=e.pow(c,n);const a=e.eql(i,e.ONE);o=e.mul(s,r),r=e.mul(r,r),i=e.mul(c,r),s=e.cmov(o,s,a),c=e.cmov(i,c,a)}return{isValid:u,value:s}};if(e.ORDER%h===u){const n=(e.ORDER-u)/h,r=e.sqrt(e.neg(t));v=(t,i)=>{let o=e.sqr(i);const s=e.mul(t,i);o=e.mul(o,s);let a=e.pow(o,n);a=e.mul(a,s);const c=e.mul(a,r),l=e.mul(e.sqr(a),i),d=e.eql(l,t);return{isValid:d,value:e.cmov(c,a,d)}}}return v}}(cr),Object.defineProperty(sr,\"__esModule\",{value:!0}),sr.getHash=hr,sr.createCurve=function(e,t){const n=t=>(0,ur.weierstrass)({...e,...hr(t)});return Object.freeze({...n(t),create:n})};const lr=ar,dr=ze,ur=cr;function hr(e){return{hash:e,hmac:(t,...n)=>(0,lr.hmac)(e,t,(0,dr.concatBytes)(...n)),randomBytes:dr.randomBytes}}!function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.encodeToCurve=e.hashToCurve=e.schnorr=e.secp256k1=void 0;const t=Qn,n=ze,r=sr,i=Dn,o=Ot,s=Nt,a=cr,c=BigInt(\"0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f\"),l=BigInt(\"0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141\"),d=BigInt(1),u=BigInt(2),h=(e,t)=>(e+t/u)/t;function f(e){const t=c,n=BigInt(3),r=BigInt(6),i=BigInt(11),s=BigInt(22),a=BigInt(23),l=BigInt(44),d=BigInt(88),h=e*e*e%t,f=h*h*e%t,g=(0,o.pow2)(f,n,t)*f%t,m=(0,o.pow2)(g,n,t)*f%t,y=(0,o.pow2)(m,u,t)*h%t,v=(0,o.pow2)(y,i,t)*y%t,b=(0,o.pow2)(v,s,t)*v%t,w=(0,o.pow2)(b,l,t)*b%t,E=(0,o.pow2)(w,d,t)*w%t,S=(0,o.pow2)(E,l,t)*b%t,_=(0,o.pow2)(S,n,t)*f%t,C=(0,o.pow2)(_,a,t)*v%t,k=(0,o.pow2)(C,r,t)*h%t,A=(0,o.pow2)(k,u,t);if(!p.eql(p.sqr(A),e))throw new Error(\"Cannot find square root\");return A}const p=(0,o.Field)(c,void 0,void 0,{sqrt:f});e.secp256k1=(0,r.createCurve)({a:BigInt(0),b:BigInt(7),Fp:p,n:l,Gx:BigInt(\"55066263022277343669578718895168534326250603453777594175500187360389116729240\"),Gy:BigInt(\"32670510020758816978083085130507043184471273380659243275938904335757337482424\"),h:BigInt(1),lowS:!0,endo:{beta:BigInt(\"0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\"),splitScalar:e=>{const t=l,n=BigInt(\"0x3086d221a7d46bcde86c90e49284eb15\"),r=-d*BigInt(\"0xe4437ed6010e88286f547fa90abfe4c3\"),i=BigInt(\"0x114ca50f7a8e2f3f657c1108d9d44cfd8\"),s=n,a=BigInt(\"0x100000000000000000000000000000000\"),c=h(s*e,t),u=h(-r*e,t);let f=(0,o.mod)(e-c*n-u*i,t),p=(0,o.mod)(-c*r-u*s,t);const g=f>a,m=p>a;if(g&&(f=t-f),m&&(p=t-p),f>a||p>a)throw new Error(\"splitScalar: Endomorphism failed, k=\"+e);return{k1neg:g,k1:f,k2neg:m,k2:p}}}},t.sha256);const g=BigInt(0),m={};function y(e,...n){let r=m[e];if(void 0===r){const n=(0,t.sha256)(Uint8Array.from(e,(e=>e.charCodeAt(0))));r=(0,s.concatBytes)(n,n),m[e]=r}return(0,t.sha256)((0,s.concatBytes)(r,...n))}const v=e=>e.toRawBytes(!0).slice(1),b=e=>(0,s.numberToBytesBE)(e,32),w=e=>(0,o.mod)(e,c),E=e=>(0,o.mod)(e,l),S=e.secp256k1.ProjectivePoint,_=(e,t,n)=>S.BASE.multiplyAndAddUnsafe(e,t,n);function C(t){let n=e.secp256k1.utils.normPrivateKeyToScalar(t),r=S.fromPrivateKey(n);return{scalar:r.hasEvenY()?n:E(-n),bytes:v(r)}}function k(e){(0,s.aInRange)(\"x\",e,d,c);const t=w(e*e);let n=f(w(t*e+BigInt(7)));n%u!==g&&(n=w(-n));const r=new S(e,n,d);return r.assertValidity(),r}const A=s.bytesToNumberBE;function x(...e){return E(A(y(\"BIP0340/challenge\",...e)))}function M(e){return C(e).bytes}function I(e,t,r=(0,n.randomBytes)(32)){const i=(0,s.ensureBytes)(\"message\",e),{bytes:o,scalar:a}=C(t),c=(0,s.ensureBytes)(\"auxRand\",r,32),l=b(a^A(y(\"BIP0340/aux\",c))),d=y(\"BIP0340/nonce\",l,o,i),u=E(A(d));if(u===g)throw new Error(\"sign failed: k is zero\");const{bytes:h,scalar:f}=C(u),p=x(h,o,i),m=new Uint8Array(64);if(m.set(h,0),m.set(b(E(f+p*a)),32),!T(m,i,o))throw new Error(\"sign: Invalid signature produced\");return m}function T(e,t,n){const r=(0,s.ensureBytes)(\"signature\",e,64),i=(0,s.ensureBytes)(\"message\",t),o=(0,s.ensureBytes)(\"publicKey\",n,32);try{const e=k(A(o)),t=A(r.subarray(0,32));if(!(0,s.inRange)(t,d,c))return!1;const n=A(r.subarray(32,64));if(!(0,s.inRange)(n,d,l))return!1;const a=x(b(t),v(e),i),u=_(e,n,E(-a));return!(!u||!u.hasEvenY()||u.toAffine().x!==t)}catch(e){return!1}}e.schnorr={getPublicKey:M,sign:I,verify:T,utils:{randomPrivateKey:e.secp256k1.utils.randomPrivateKey,lift_x:k,pointToBytes:v,numberToBytesBE:s.numberToBytesBE,bytesToNumberBE:s.bytesToNumberBE,taggedHash:y,mod:o.mod}};const R=(()=>(0,i.isogenyMap)(p,[[\"0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7\",\"0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581\",\"0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262\",\"0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c\"],[\"0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b\",\"0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14\",\"0x0000000000000000000000000000000000000000000000000000000000000001\"],[\"0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c\",\"0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3\",\"0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931\",\"0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84\"],[\"0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b\",\"0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573\",\"0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f\",\"0x0000000000000000000000000000000000000000000000000000000000000001\"]].map((e=>e.map((e=>BigInt(e)))))))(),P=(()=>(0,a.mapToCurveSimpleSWU)(p,{A:BigInt(\"0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533\"),B:BigInt(\"1771\"),Z:p.create(BigInt(\"-11\"))}))(),O=(()=>(0,i.createHasher)(e.secp256k1.ProjectivePoint,(e=>{const{x:t,y:n}=P(p.create(e[0]));return R(t,n)}),{DST:\"secp256k1_XMD:SHA-256_SSWU_RO_\",encodeDST:\"secp256k1_XMD:SHA-256_SSWU_NU_\",p:p.ORDER,m:1,k:128,expand:\"xmd\",hash:t.sha256}))();e.hashToCurve=O.hashToCurve,e.encodeToCurve=O.encodeToCurve}(Jn);var fr={};!function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.decodeHex=e.remove0x=void 0;var t=pe;e.remove0x=function(e){return e.startsWith(\"0x\")||e.startsWith(\"0X\")?e.slice(2):e};e.decodeHex=function(n){return(0,t.hexToBytes)((0,e.remove0x)(n))}}(fr),function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.hexToPublicKey=e.convertPublicKeyFormat=e.getSharedPoint=e.getPublicKey=e.isValidPrivateKey=e.getValidSecret=void 0;var t=Te,n=Pe,r=Jn,i=Ce,o=ke,s=fr;e.getValidSecret=function(){var n;do{n=(0,t.randomBytes)(o.SECRET_KEY_LENGTH)}while(!(0,e.isValidPrivateKey)(n));return n};e.isValidPrivateKey=function(e){return a((0,i.ellipticCurve)(),(function(t){return t.utils.isValidPrivateKey(e)}),(function(){return!0}),(function(){return!0}))};e.getPublicKey=function(e){return a((0,i.ellipticCurve)(),(function(t){return t.getPublicKey(e)}),(function(t){return t.getPublicKey(e)}),(function(t){return t.getPublicKey(e)}))};e.getSharedPoint=function(e,t,n){return a((0,i.ellipticCurve)(),(function(r){return r.getSharedSecret(e,t,n)}),(function(n){return n.getSharedSecret(e,t)}),(function(n){return l(n,e,t)}))};e.convertPublicKeyFormat=function(e,t){return a((0,i.ellipticCurve)(),(function(n){return n.getSharedSecret(BigInt(1),e,t)}),(function(){return e}),(function(){return e}))};function a(e,t,i,o){if(\"secp256k1\"===e)return t(r.secp256k1);if(\"x25519\"===e)return i(n.x25519);if(\"ed25519\"===e)return o(n.ed25519);throw new Error(\"Not implemented\")}e.hexToPublicKey=function(e){var t=(0,s.decodeHex)(e);return a((0,i.ellipticCurve)(),(function(){return c(t)}),(function(){return t}),(function(){return t}))};var c=function(e){if(e.length===o.ETH_PUBLIC_KEY_SIZE){var t=new Uint8Array(1+e.length);return t.set([4]),t.set(e,1),t}return e},l=function(e,t,n){var r=e.utils.getExtendedPublicKey(t).scalar;return e.ExtendedPoint.fromHex(n).multiply(r).toRawBytes()}}(Ie);var pr={},gr={};Object.defineProperty(gr,\"__esModule\",{value:!0}),gr.hkdf=void 0,gr.extract=br,gr.expand=Sr;const mr=Le,yr=ze,vr=ar;function br(e,t,n){return(0,mr.hash)(e),void 0===n&&(n=new Uint8Array(e.outputLen)),(0,vr.hmac)(e,(0,yr.toBytes)(n),(0,yr.toBytes)(t))}const wr=new Uint8Array([0]),Er=new Uint8Array;function Sr(e,t,n,r=32){if((0,mr.hash)(e),(0,mr.number)(r),r>255*e.outputLen)throw new Error(\"Length should be <= 255*HashLen\");const i=Math.ceil(r/e.outputLen);void 0===n&&(n=Er);const o=new Uint8Array(i*e.outputLen),s=vr.hmac.create(e,t),a=s._cloneInto(),c=new Uint8Array(s.outputLen);for(let t=0;t<i;t++)wr[0]=t+1,a.update(0===t?Er:c).update(n).update(wr).digestInto(c),o.set(c,e.outputLen*t),s._cloneInto(a);return s.destroy(),a.destroy(),c.fill(0),wr.fill(0),o.slice(0,r)}gr.hkdf=(e,t,n,r,i)=>Sr(e,br(e,t,n),r,i),function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.getSharedKey=e.deriveKey=void 0;var t=pe,n=gr,r=Qn;e.deriveKey=function(e,t,i){return(0,n.hkdf)(r.sha256,e,t,i,32)};e.getSharedKey=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return(0,e.deriveKey)(t.concatBytes.apply(void 0,n))}}(pr);var _r={},Cr={},kr={},Ar={};Object.defineProperty(Ar,\"__esModule\",{value:!0}),Ar.polyval=Ar.ghash=void 0,Ar._toGHASHKey=Or;const xr=ge,Mr=pe,Ir=16,Tr=new Uint8Array(16),Rr=(0,Mr.u32)(Tr),Pr=e=>(e>>>0&255)<<24|(e>>>8&255)<<16|(e>>>16&255)<<8|e>>>24&255|0;function Or(e){e.reverse();const t=1&e[15];let n=0;for(let t=0;t<e.length;t++){const r=e[t];e[t]=r>>>1|n,n=(1&r)<<7}return e[0]^=225&-t,e}class Nr{constructor(e,t){this.blockLen=Ir,this.outputLen=Ir,this.s0=0,this.s1=0,this.s2=0,this.s3=0,this.finished=!1,e=(0,Mr.toBytes)(e),(0,xr.bytes)(e,16);const n=(0,Mr.createView)(e);let r=n.getUint32(0,!1),i=n.getUint32(4,!1),o=n.getUint32(8,!1),s=n.getUint32(12,!1);const a=[];for(let e=0;e<128;e++)a.push({s0:Pr(r),s1:Pr(i),s2:Pr(o),s3:Pr(s)}),({s0:r,s1:i,s2:o,s3:s}={s3:(d=o)<<31|(u=s)>>>1,s2:(l=i)<<31|d>>>1,s1:(c=r)<<31|l>>>1,s0:c>>>1^225<<24&-(1&u)});var c,l,d,u;const h=(e=>e>65536?8:e>1024?4:2)(t||1024);if(![1,2,4,8].includes(h))throw new Error(`ghash: wrong window size=${h}, should be 2, 4 or 8`);this.W=h;const f=128/h,p=this.windowSize=2**h,g=[];for(let e=0;e<f;e++)for(let t=0;t<p;t++){let n=0,r=0,i=0,o=0;for(let s=0;s<h;s++){if(!(t>>>h-s-1&1))continue;const{s0:c,s1:l,s2:d,s3:u}=a[h*e+s];n^=c,r^=l,i^=d,o^=u}g.push({s0:n,s1:r,s2:i,s3:o})}this.t=g}_updateBlock(e,t,n,r){e^=this.s0,t^=this.s1,n^=this.s2,r^=this.s3;const{W:i,t:o,windowSize:s}=this;let a=0,c=0,l=0,d=0;const u=(1<<i)-1;let h=0;for(const f of[e,t,n,r])for(let e=0;e<4;e++){const t=f>>>8*e&255;for(let e=8/i-1;e>=0;e--){const n=t>>>i*e&u,{s0:r,s1:f,s2:p,s3:g}=o[h*s+n];a^=r,c^=f,l^=p,d^=g,h+=1}}this.s0=a,this.s1=c,this.s2=l,this.s3=d}update(e){e=(0,Mr.toBytes)(e),(0,xr.exists)(this);const t=(0,Mr.u32)(e),n=Math.floor(e.length/Ir),r=e.length%Ir;for(let e=0;e<n;e++)this._updateBlock(t[4*e+0],t[4*e+1],t[4*e+2],t[4*e+3]);return r&&(Tr.set(e.subarray(n*Ir)),this._updateBlock(Rr[0],Rr[1],Rr[2],Rr[3]),(0,Mr.clean)(Rr)),this}destroy(){const{t:e}=this;for(const t of e)t.s0=0,t.s1=0,t.s2=0,t.s3=0}digestInto(e){(0,xr.exists)(this),(0,xr.output)(e,this),this.finished=!0;const{s0:t,s1:n,s2:r,s3:i}=this,o=(0,Mr.u32)(e);return o[0]=t,o[1]=n,o[2]=r,o[3]=i,e}digest(){const e=new Uint8Array(Ir);return this.digestInto(e),this.destroy(),e}}class Lr extends Nr{constructor(e,t){e=(0,Mr.toBytes)(e);const n=Or((0,Mr.copyBytes)(e));super(n,t),(0,Mr.clean)(n)}update(e){e=(0,Mr.toBytes)(e),(0,xr.exists)(this);const t=(0,Mr.u32)(e),n=e.length%Ir,r=Math.floor(e.length/Ir);for(let e=0;e<r;e++)this._updateBlock(Pr(t[4*e+3]),Pr(t[4*e+2]),Pr(t[4*e+1]),Pr(t[4*e+0]));return n&&(Tr.set(e.subarray(r*Ir)),this._updateBlock(Pr(Rr[3]),Pr(Rr[2]),Pr(Rr[1]),Pr(Rr[0])),(0,Mr.clean)(Rr)),this}digestInto(e){(0,xr.exists)(this),(0,xr.output)(e,this),this.finished=!0;const{s0:t,s1:n,s2:r,s3:i}=this,o=(0,Mr.u32)(e);return o[0]=t,o[1]=n,o[2]=r,o[3]=i,e.reverse()}}function Dr(e){const t=(t,n)=>e(n,t.length).update((0,Mr.toBytes)(t)).digest(),n=e(new Uint8Array(16),0);return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=(t,n)=>e(t,n),t}Ar.ghash=Dr(((e,t)=>new Nr(e,t))),Ar.polyval=Dr(((e,t)=>new Lr(e,t))),Object.defineProperty(kr,\"__esModule\",{value:!0}),kr.unsafe=kr.aeskwp=kr.aeskw=kr.siv=kr.gcm=kr.cfb=kr.cbc=kr.ecb=kr.ctr=void 0,kr.expandKeyLE=ei,kr.expandKeyDecLE=ti;const $r=ge,Br=Ar,Kr=pe,jr=16,Ur=new Uint8Array(jr),Hr=283;function Fr(e){return e<<1^Hr&-(e>>7)}function zr(e,t){let n=0;for(;t>0;t>>=1)n^=e&-(1&t),e=Fr(e);return n}const qr=(()=>{const e=new Uint8Array(256);for(let t=0,n=1;t<256;t++,n^=Fr(n))e[t]=n;const t=new Uint8Array(256);t[0]=99;for(let n=0;n<255;n++){let r=e[255-n];r|=r<<8,t[e[n]]=255&(r^r>>4^r>>5^r>>6^r>>7^99)}return(0,Kr.clean)(e),t})(),Wr=qr.map(((e,t)=>qr.indexOf(t))),Vr=e=>e<<24|e>>>8,Gr=e=>e<<8|e>>>24,Yr=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;function Zr(e,t){if(256!==e.length)throw new Error(\"Wrong sbox length\");const n=new Uint32Array(256).map(((n,r)=>t(e[r]))),r=n.map(Gr),i=r.map(Gr),o=i.map(Gr),s=new Uint32Array(65536),a=new Uint32Array(65536),c=new Uint16Array(65536);for(let t=0;t<256;t++)for(let l=0;l<256;l++){const d=256*t+l;s[d]=n[t]^r[l],a[d]=i[t]^o[l],c[d]=e[t]<<8|e[l]}return{sbox:e,sbox2:c,T0:n,T1:r,T2:i,T3:o,T01:s,T23:a}}const Jr=Zr(qr,(e=>zr(e,3)<<24|e<<16|e<<8|zr(e,2))),Qr=Zr(Wr,(e=>zr(e,11)<<24|zr(e,13)<<16|zr(e,9)<<8|zr(e,14))),Xr=(()=>{const e=new Uint8Array(16);for(let t=0,n=1;t<16;t++,n=Fr(n))e[t]=n;return e})();function ei(e){(0,$r.bytes)(e);const t=e.length;if(![16,24,32].includes(t))throw new Error(`aes: wrong key size: should be 16, 24 or 32, got: ${t}`);const{sbox2:n}=Jr,r=[];(0,Kr.isAligned32)(e)||r.push(e=(0,Kr.copyBytes)(e));const i=(0,Kr.u32)(e),o=i.length,s=e=>ri(n,e,e,e,e),a=new Uint32Array(t+28);a.set(i);for(let e=o;e<a.length;e++){let t=a[e-1];e%o==0?t=s(Vr(t))^Xr[e/o-1]:o>6&&e%o==4&&(t=s(t)),a[e]=a[e-o]^t}return(0,Kr.clean)(...r),a}function ti(e){const t=ei(e),n=t.slice(),r=t.length,{sbox2:i}=Jr,{T0:o,T1:s,T2:a,T3:c}=Qr;for(let e=0;e<r;e+=4)for(let i=0;i<4;i++)n[e+i]=t[r-e-4+i];(0,Kr.clean)(t);for(let e=4;e<r-4;e++){const t=n[e],r=ri(i,t,t,t,t);n[e]=o[255&r]^s[r>>>8&255]^a[r>>>16&255]^c[r>>>24]}return n}function ni(e,t,n,r,i,o){return e[n<<8&65280|r>>>8&255]^t[i>>>8&65280|o>>>24&255]}function ri(e,t,n,r,i){return e[255&t|65280&n]|e[r>>>16&255|i>>>16&65280]<<16}function ii(e,t,n,r,i){const{sbox2:o,T01:s,T23:a}=Jr;let c=0;t^=e[c++],n^=e[c++],r^=e[c++],i^=e[c++];const l=e.length/4-2;for(let o=0;o<l;o++){const o=e[c++]^ni(s,a,t,n,r,i),l=e[c++]^ni(s,a,n,r,i,t),d=e[c++]^ni(s,a,r,i,t,n),u=e[c++]^ni(s,a,i,t,n,r);t=o,n=l,r=d,i=u}return{s0:e[c++]^ri(o,t,n,r,i),s1:e[c++]^ri(o,n,r,i,t),s2:e[c++]^ri(o,r,i,t,n),s3:e[c++]^ri(o,i,t,n,r)}}function oi(e,t,n,r,i){const{sbox2:o,T01:s,T23:a}=Qr;let c=0;t^=e[c++],n^=e[c++],r^=e[c++],i^=e[c++];const l=e.length/4-2;for(let o=0;o<l;o++){const o=e[c++]^ni(s,a,t,i,r,n),l=e[c++]^ni(s,a,n,t,i,r),d=e[c++]^ni(s,a,r,n,t,i),u=e[c++]^ni(s,a,i,r,n,t);t=o,n=l,r=d,i=u}return{s0:e[c++]^ri(o,t,i,r,n),s1:e[c++]^ri(o,n,t,i,r),s2:e[c++]^ri(o,r,n,t,i),s3:e[c++]^ri(o,i,r,n,t)}}function si(e,t){if(void 0===t)return new Uint8Array(e);if((0,$r.bytes)(t),t.length<e)throw new Error(`aes: wrong destination length, expected at least ${e}, got: ${t.length}`);if(!(0,Kr.isAligned32)(t))throw new Error(\"unaligned dst\");return t}function ai(e,t,n,r){(0,$r.bytes)(t,jr),(0,$r.bytes)(n);const i=n.length;r=si(i,r);const o=t,s=(0,Kr.u32)(o);let{s0:a,s1:c,s2:l,s3:d}=ii(e,s[0],s[1],s[2],s[3]);const u=(0,Kr.u32)(n),h=(0,Kr.u32)(r);for(let t=0;t+4<=u.length;t+=4){h[t+0]=u[t+0]^a,h[t+1]=u[t+1]^c,h[t+2]=u[t+2]^l,h[t+3]=u[t+3]^d;let n=1;for(let e=o.length-1;e>=0;e--)n=n+(255&o[e])|0,o[e]=255&n,n>>>=8;({s0:a,s1:c,s2:l,s3:d}=ii(e,s[0],s[1],s[2],s[3]))}const f=jr*Math.floor(u.length/4);if(f<i){const e=new Uint32Array([a,c,l,d]),t=(0,Kr.u8)(e);for(let e=f,o=0;e<i;e++,o++)r[e]=n[e]^t[o];(0,Kr.clean)(e)}return r}function ci(e,t,n,r,i){(0,$r.bytes)(n,jr),(0,$r.bytes)(r),i=si(r.length,i);const o=n,s=(0,Kr.u32)(o),a=(0,Kr.createView)(o),c=(0,Kr.u32)(r),l=(0,Kr.u32)(i),d=t?0:12,u=r.length;let h=a.getUint32(d,t),{s0:f,s1:p,s2:g,s3:m}=ii(e,s[0],s[1],s[2],s[3]);for(let n=0;n+4<=c.length;n+=4)l[n+0]=c[n+0]^f,l[n+1]=c[n+1]^p,l[n+2]=c[n+2]^g,l[n+3]=c[n+3]^m,h=h+1>>>0,a.setUint32(d,h,t),({s0:f,s1:p,s2:g,s3:m}=ii(e,s[0],s[1],s[2],s[3]));const y=jr*Math.floor(c.length/4);if(y<u){const e=new Uint32Array([f,p,g,m]),t=(0,Kr.u8)(e);for(let e=y,n=0;e<u;e++,n++)i[e]=r[e]^t[n];(0,Kr.clean)(e)}return i}function li(e){if((0,$r.bytes)(e),e.length%jr!=0)throw new Error(\"aes/(cbc-ecb).decrypt ciphertext should consist of blocks with size 16\")}function di(e,t,n){(0,$r.bytes)(e);let r=e.length;const i=r%jr;if(!t&&0!==i)throw new Error(\"aec/(cbc-ecb): unpadded plaintext with disabled padding\");(0,Kr.isAligned32)(e)||(e=(0,Kr.copyBytes)(e));const o=(0,Kr.u32)(e);if(t){let e=jr-i;e||(e=jr),r+=e}const s=si(r,n);return{b:o,o:(0,Kr.u32)(s),out:s}}function ui(e,t){if(!t)return e;const n=e.length;if(!n)throw new Error(\"aes/pcks5: empty ciphertext not allowed\");const r=e[n-1];if(r<=0||r>16)throw new Error(\"aes/pcks5: wrong padding\");const i=e.subarray(0,-r);for(let t=0;t<r;t++)if(e[n-t-1]!==r)throw new Error(\"aes/pcks5: wrong padding\");return i}function hi(e){const t=new Uint8Array(16),n=(0,Kr.u32)(t);t.set(e);const r=jr-e.length;for(let e=jr-r;e<jr;e++)t[e]=r;return n}function fi(e,t,n,r,i){const o=null==i?0:i.length,s=e.create(n,r.length+o);i&&s.update(i),s.update(r);const a=new Uint8Array(16),c=(0,Kr.createView)(a);i&&(0,Kr.setBigUint64)(c,0,BigInt(8*o),t),(0,Kr.setBigUint64)(c,8,BigInt(8*r.length),t),s.update(a);const l=s.digest();return(0,Kr.clean)(a),l}kr.ctr=(0,Kr.wrapCipher)({blockSize:16,nonceLength:16},(function(e,t){function n(n,r){if((0,$r.bytes)(n),void 0!==r&&((0,$r.bytes)(r),!(0,Kr.isAligned32)(r)))throw new Error(\"unaligned destination\");const i=ei(e),o=(0,Kr.copyBytes)(t),s=[i,o];(0,Kr.isAligned32)(n)||s.push(n=(0,Kr.copyBytes)(n));const a=ai(i,o,n,r);return(0,Kr.clean)(...s),a}return(0,$r.bytes)(e),(0,$r.bytes)(t,jr),{encrypt:(e,t)=>n(e,t),decrypt:(e,t)=>n(e,t)}})),kr.ecb=(0,Kr.wrapCipher)({blockSize:16},(function(e,t={}){(0,$r.bytes)(e);const n=!t.disablePadding;return{encrypt(t,r){const{b:i,o:o,out:s}=di(t,n,r),a=ei(e);let c=0;for(;c+4<=i.length;){const{s0:e,s1:t,s2:n,s3:r}=ii(a,i[c+0],i[c+1],i[c+2],i[c+3]);o[c++]=e,o[c++]=t,o[c++]=n,o[c++]=r}if(n){const e=hi(t.subarray(4*c)),{s0:n,s1:r,s2:i,s3:s}=ii(a,e[0],e[1],e[2],e[3]);o[c++]=n,o[c++]=r,o[c++]=i,o[c++]=s}return(0,Kr.clean)(a),s},decrypt(t,r){li(t);const i=ti(e),o=si(t.length,r),s=[i];(0,Kr.isAligned32)(t)||s.push(t=(0,Kr.copyBytes)(t));const a=(0,Kr.u32)(t),c=(0,Kr.u32)(o);for(let e=0;e+4<=a.length;){const{s0:t,s1:n,s2:r,s3:o}=oi(i,a[e+0],a[e+1],a[e+2],a[e+3]);c[e++]=t,c[e++]=n,c[e++]=r,c[e++]=o}return(0,Kr.clean)(...s),ui(o,n)}}})),kr.cbc=(0,Kr.wrapCipher)({blockSize:16,nonceLength:16},(function(e,t,n={}){(0,$r.bytes)(e),(0,$r.bytes)(t,16);const r=!n.disablePadding;return{encrypt(n,i){const o=ei(e),{b:s,o:a,out:c}=di(n,r,i);let l=t;const d=[o];(0,Kr.isAligned32)(l)||d.push(l=(0,Kr.copyBytes)(l));const u=(0,Kr.u32)(l);let h=u[0],f=u[1],p=u[2],g=u[3],m=0;for(;m+4<=s.length;)h^=s[m+0],f^=s[m+1],p^=s[m+2],g^=s[m+3],({s0:h,s1:f,s2:p,s3:g}=ii(o,h,f,p,g)),a[m++]=h,a[m++]=f,a[m++]=p,a[m++]=g;if(r){const e=hi(n.subarray(4*m));h^=e[0],f^=e[1],p^=e[2],g^=e[3],({s0:h,s1:f,s2:p,s3:g}=ii(o,h,f,p,g)),a[m++]=h,a[m++]=f,a[m++]=p,a[m++]=g}return(0,Kr.clean)(...d),c},decrypt(n,i){li(n);const o=ti(e);let s=t;const a=[o];(0,Kr.isAligned32)(s)||a.push(s=(0,Kr.copyBytes)(s));const c=(0,Kr.u32)(s),l=si(n.length,i);(0,Kr.isAligned32)(n)||a.push(n=(0,Kr.copyBytes)(n));const d=(0,Kr.u32)(n),u=(0,Kr.u32)(l);let h=c[0],f=c[1],p=c[2],g=c[3];for(let e=0;e+4<=d.length;){const t=h,n=f,r=p,i=g;h=d[e+0],f=d[e+1],p=d[e+2],g=d[e+3];const{s0:s,s1:a,s2:c,s3:l}=oi(o,h,f,p,g);u[e++]=s^t,u[e++]=a^n,u[e++]=c^r,u[e++]=l^i}return(0,Kr.clean)(...a),ui(l,r)}}})),kr.cfb=(0,Kr.wrapCipher)({blockSize:16,nonceLength:16},(function(e,t){function n(n,r,i){(0,$r.bytes)(n);const o=n.length;i=si(o,i);const s=ei(e);let a=t;const c=[s];(0,Kr.isAligned32)(a)||c.push(a=(0,Kr.copyBytes)(a)),(0,Kr.isAligned32)(n)||c.push(n=(0,Kr.copyBytes)(n));const l=(0,Kr.u32)(n),d=(0,Kr.u32)(i),u=r?d:l,h=(0,Kr.u32)(a);let f=h[0],p=h[1],g=h[2],m=h[3];for(let e=0;e+4<=l.length;){const{s0:t,s1:n,s2:r,s3:i}=ii(s,f,p,g,m);d[e+0]=l[e+0]^t,d[e+1]=l[e+1]^n,d[e+2]=l[e+2]^r,d[e+3]=l[e+3]^i,f=u[e++],p=u[e++],g=u[e++],m=u[e++]}const y=jr*Math.floor(l.length/4);if(y<o){({s0:f,s1:p,s2:g,s3:m}=ii(s,f,p,g,m));const e=(0,Kr.u8)(new Uint32Array([f,p,g,m]));for(let t=y,r=0;t<o;t++,r++)i[t]=n[t]^e[r];(0,Kr.clean)(e)}return(0,Kr.clean)(...c),i}return(0,$r.bytes)(e),(0,$r.bytes)(t,16),{encrypt:(e,t)=>n(e,!0,t),decrypt:(e,t)=>n(e,!1,t)}})),kr.gcm=(0,Kr.wrapCipher)({blockSize:16,nonceLength:12,tagLength:16},(function(e,t,n){if((0,$r.bytes)(e),(0,$r.bytes)(t),void 0!==n&&(0,$r.bytes)(n),t.length<8)throw new Error(\"aes/gcm: invalid nonce length\");const r=16;function i(e,t,r){const i=fi(Br.ghash,!1,e,r,n);for(let e=0;e<t.length;e++)i[e]^=t[e];return i}function o(){const n=ei(e),r=Ur.slice(),i=Ur.slice();if(ci(n,!1,i,i,r),12===t.length)i.set(t);else{const e=Ur.slice(),n=(0,Kr.createView)(e);(0,Kr.setBigUint64)(n,8,BigInt(8*t.length),!1);const o=Br.ghash.create(r).update(t).update(e);o.digestInto(i),o.destroy()}return{xk:n,authKey:r,counter:i,tagMask:ci(n,!1,i,Ur)}}return{encrypt(e){(0,$r.bytes)(e);const{xk:t,authKey:n,counter:s,tagMask:a}=o(),c=new Uint8Array(e.length+r),l=[t,n,s,a];(0,Kr.isAligned32)(e)||l.push(e=(0,Kr.copyBytes)(e)),ci(t,!1,s,e,c);const d=i(n,a,c.subarray(0,c.length-r));return l.push(d),c.set(d,e.length),(0,Kr.clean)(...l),c},decrypt(e){if((0,$r.bytes)(e),e.length<r)throw new Error(\"aes/gcm: ciphertext less than tagLen (16)\");const{xk:t,authKey:n,counter:s,tagMask:a}=o(),c=[t,n,a,s];(0,Kr.isAligned32)(e)||c.push(e=(0,Kr.copyBytes)(e));const l=e.subarray(0,-16),d=e.subarray(-16),u=i(n,a,l);if(c.push(u),!(0,Kr.equalBytes)(u,d))throw new Error(\"aes/gcm: invalid ghash tag\");const h=ci(t,!1,s,l);return(0,Kr.clean)(...c),h}}}));const pi=(e,t,n)=>r=>{if(!Number.isSafeInteger(r)||t>r||r>n)throw new Error(`${e}: invalid value=${r}, must be [${t}..${n}]`)};function gi(e){return null!=e&&\"object\"==typeof e&&(e instanceof Uint32Array||\"Uint32Array\"===e.constructor.name)}function mi(e,t){if((0,$r.bytes)(t,16),!gi(e))throw new Error(\"_encryptBlock accepts result of expandKeyLE\");const n=(0,Kr.u32)(t);let{s0:r,s1:i,s2:o,s3:s}=ii(e,n[0],n[1],n[2],n[3]);return n[0]=r,n[1]=i,n[2]=o,n[3]=s,t}function yi(e,t){if((0,$r.bytes)(t,16),!gi(e))throw new Error(\"_decryptBlock accepts result of expandKeyLE\");const n=(0,Kr.u32)(t);let{s0:r,s1:i,s2:o,s3:s}=oi(e,n[0],n[1],n[2],n[3]);return n[0]=r,n[1]=i,n[2]=o,n[3]=s,t}kr.siv=(0,Kr.wrapCipher)({blockSize:16,nonceLength:12,tagLength:16},(function(e,t,n){const r=pi(\"AAD\",0,2**36),i=pi(\"plaintext\",0,2**36),o=pi(\"nonce\",12,12),s=pi(\"ciphertext\",16,2**36+16);function a(){const n=ei(e),r=new Uint8Array(e.length),i=new Uint8Array(16),o=[n,r];let s=t;(0,Kr.isAligned32)(s)||o.push(s=(0,Kr.copyBytes)(s));const a=(0,Kr.u32)(s);let c=0,l=a[0],d=a[1],u=a[2],h=0;for(const e of[i,r].map(Kr.u32)){const t=(0,Kr.u32)(e);for(let e=0;e<t.length;e+=2){const{s0:r,s1:i}=ii(n,c,l,d,u);t[e+0]=r,t[e+1]=i,c=++h}}const f={authKey:i,encKey:ei(r)};return(0,Kr.clean)(...o),f}function c(e,r,i){const o=fi(Br.polyval,!0,r,i,n);for(let e=0;e<12;e++)o[e]^=t[e];o[15]&=127;const s=(0,Kr.u32)(o);let a=s[0],c=s[1],l=s[2],d=s[3];return({s0:a,s1:c,s2:l,s3:d}=ii(e,a,c,l,d)),s[0]=a,s[1]=c,s[2]=l,s[3]=d,o}function l(e,t,n){let r=(0,Kr.copyBytes)(t);r[15]|=128;const i=ci(e,!0,r,n);return(0,Kr.clean)(r),i}return(0,$r.bytes)(e,16,24,32),(0,$r.bytes)(t),o(t.length),void 0!==n&&((0,$r.bytes)(n),r(n.length)),{encrypt(e){(0,$r.bytes)(e),i(e.length);const{encKey:t,authKey:n}=a(),r=c(t,n,e),o=[t,n,r];(0,Kr.isAligned32)(e)||o.push(e=(0,Kr.copyBytes)(e));const s=new Uint8Array(e.length+16);return s.set(r,e.length),s.set(l(t,r,e)),(0,Kr.clean)(...o),s},decrypt(e){(0,$r.bytes)(e),s(e.length);const t=e.subarray(-16),{encKey:n,authKey:r}=a(),i=[n,r];(0,Kr.isAligned32)(e)||i.push(e=(0,Kr.copyBytes)(e));const o=l(n,t,e.subarray(0,-16)),d=c(n,r,o);if(i.push(d),!(0,Kr.equalBytes)(t,d))throw(0,Kr.clean)(...i),new Error(\"invalid polyval tag\");return(0,Kr.clean)(...i),o}}}));const vi={encrypt(e,t){if(t.length>=2**32)throw new Error(\"plaintext should be less than 4gb\");const n=ei(e);if(16===t.length)mi(n,t);else{const e=(0,Kr.u32)(t);let r=e[0],i=e[1];for(let t=0,o=1;t<6;t++)for(let t=2;t<e.length;t+=2,o++){const{s0:s,s1:a,s2:c,s3:l}=ii(n,r,i,e[t],e[t+1]);r=s,i=a^Yr(o),e[t]=c,e[t+1]=l}e[0]=r,e[1]=i}n.fill(0)},decrypt(e,t){if(t.length-8>=2**32)throw new Error(\"ciphertext should be less than 4gb\");const n=ti(e),r=t.length/8-1;if(1===r)yi(n,t);else{const e=(0,Kr.u32)(t);let i=e[0],o=e[1];for(let t=0,s=6*r;t<6;t++)for(let t=2*r;t>=1;t-=2,s--){o^=Yr(s);const{s0:r,s1:a,s2:c,s3:l}=oi(n,i,o,e[t],e[t+1]);i=r,o=a,e[t]=c,e[t+1]=l}e[0]=i,e[1]=o}n.fill(0)}},bi=new Uint8Array(8).fill(166);kr.aeskw=(0,Kr.wrapCipher)({blockSize:8},(e=>({encrypt(t){if((0,$r.bytes)(t),!t.length||t.length%8!=0)throw new Error(\"invalid plaintext length\");if(8===t.length)throw new Error(\"8-byte keys not allowed in AESKW, use AESKWP instead\");const n=(0,Kr.concatBytes)(bi,t);return vi.encrypt(e,n),n},decrypt(t){if((0,$r.bytes)(t),t.length%8!=0||t.length<24)throw new Error(\"invalid ciphertext length\");const n=(0,Kr.copyBytes)(t);if(vi.decrypt(e,n),!(0,Kr.equalBytes)(n.subarray(0,8),bi))throw new Error(\"integrity check failed\");return n.subarray(0,8).fill(0),n.subarray(8)}})));const wi=2790873510;kr.aeskwp=(0,Kr.wrapCipher)({blockSize:8},(e=>({encrypt(t){if((0,$r.bytes)(t),!t.length)throw new Error(\"invalid plaintext length\");const n=8*Math.ceil(t.length/8),r=new Uint8Array(8+n);r.set(t,8);const i=(0,Kr.u32)(r);return i[0]=wi,i[1]=Yr(t.length),vi.encrypt(e,r),r},decrypt(t){if((0,$r.bytes)(t),t.length<16)throw new Error(\"invalid ciphertext length\");const n=(0,Kr.copyBytes)(t),r=(0,Kr.u32)(n);vi.decrypt(e,n);const i=Yr(r[1])>>>0,o=8*Math.ceil(i/8);if(r[0]!==wi||n.length-8!==o)throw new Error(\"integrity check failed\");for(let e=i;e<o;e++)if(0!==n[8+e])throw new Error(\"integrity check failed\");return n.subarray(0,8).fill(0),n.subarray(8,8+i)}}))),kr.unsafe={expandKeyLE:ei,expandKeyDecLE:ti,encrypt:ii,decrypt:oi,encryptBlock:mi,decryptBlock:yi,ctrCounter:ai,ctr32:ci},Object.defineProperty(Cr,\"__esModule\",{value:!0}),Cr.aes256cbc=Cr.aes256gcm=void 0;var Ei=kr;Cr.aes256gcm=function(e,t,n){return(0,Ei.gcm)(e,t,n)};Cr.aes256cbc=function(e,t,n){return(0,Ei.cbc)(e,t)};var Si={},_i={},Ci={};Object.defineProperty(Ci,\"__esModule\",{value:!0}),Ci.sigma=void 0,Ci.rotl=function(e,t){return e<<t|e>>>32-t},Ci.createCipher=function(e,t){const{allowShortKeys:n,extendNonceFn:r,counterLength:i,counterRight:o,rounds:s}=(0,Ai.checkOpts)({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(\"function\"!=typeof e)throw new Error(\"core must be a function\");return(0,ki.number)(i),(0,ki.number)(s),(0,ki.bool)(o),(0,ki.bool)(n),(t,a,c,l,d=0)=>{(0,ki.bytes)(t),(0,ki.bytes)(a),(0,ki.bytes)(c);const u=c.length;if(void 0===l&&(l=new Uint8Array(u)),(0,ki.bytes)(l),(0,ki.number)(d),d<0||d>=Li)throw new Error(\"arx: counter overflow\");if(l.length<u)throw new Error(`arx: output (${l.length}) is shorter than data (${u})`);const h=[];let f,p,g=t.length;if(32===g)h.push(f=(0,Ai.copyBytes)(t)),p=Ri;else{if(16!==g||!n)throw new Error(`arx: invalid 32-byte key, got length=${g}`);f=new Uint8Array(32),f.set(t),f.set(t,16),p=Ti,h.push(f)}Pi(a)||h.push(a=(0,Ai.copyBytes)(a));const m=(0,Ai.u32)(f);if(r){if(24!==a.length)throw new Error(\"arx: extended nonce must be 24 bytes\");r(p,m,(0,Ai.u32)(a.subarray(0,16)),m),a=a.subarray(16)}const y=16-i;if(y!==a.length)throw new Error(`arx: nonce must be ${y} or 16 bytes`);if(12!==y){const e=new Uint8Array(12);e.set(a,o?0:12-a.length),a=e,h.push(a)}const v=(0,Ai.u32)(a);return function(e,t,n,r,i,o,s,a){const c=i.length,l=new Uint8Array(Oi),d=(0,Ai.u32)(l),u=Pi(i)&&Pi(o),h=u?(0,Ai.u32)(i):Di,f=u?(0,Ai.u32)(o):Di;for(let p=0;p<c;s++){if(e(t,n,r,d,s,a),s>=Li)throw new Error(\"arx: counter overflow\");const g=Math.min(Oi,c-p);if(u&&g===Oi){const e=p/4;if(p%4!=0)throw new Error(\"arx: invalid block position\");for(let t,n=0;n<Ni;n++)t=e+n,f[t]=h[t]^d[n];p+=Oi}else{for(let e,t=0;t<g;t++)e=p+t,o[e]=i[e]^l[t];p+=g}}}(e,p,m,v,c,l,d,s),(0,Ai.clean)(...h),l}};const ki=ge,Ai=pe,xi=e=>Uint8Array.from(e.split(\"\").map((e=>e.charCodeAt(0)))),Mi=xi(\"expand 16-byte k\"),Ii=xi(\"expand 32-byte k\"),Ti=(0,Ai.u32)(Mi),Ri=(0,Ai.u32)(Ii);function Pi(e){return e.byteOffset%4==0}Ci.sigma=Ri.slice();const Oi=64,Ni=16,Li=2**32-1,Di=new Uint32Array;var $i={};Object.defineProperty($i,\"__esModule\",{value:!0}),$i.poly1305=void 0,$i.wrapConstructorWithKey=Hi;const Bi=ge,Ki=pe,ji=(e,t)=>255&e[t++]|(255&e[t++])<<8;class Ui{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=(0,Ki.toBytes)(e),(0,Bi.bytes)(e,32);const t=ji(e,0),n=ji(e,2),r=ji(e,4),i=ji(e,6),o=ji(e,8),s=ji(e,10),a=ji(e,12),c=ji(e,14);this.r[0]=8191&t,this.r[1]=8191&(t>>>13|n<<3),this.r[2]=7939&(n>>>10|r<<6),this.r[3]=8191&(r>>>7|i<<9),this.r[4]=255&(i>>>4|o<<12),this.r[5]=o>>>1&8190,this.r[6]=8191&(o>>>14|s<<2),this.r[7]=8065&(s>>>11|a<<5),this.r[8]=8191&(a>>>8|c<<8),this.r[9]=c>>>5&127;for(let t=0;t<8;t++)this.pad[t]=ji(e,16+2*t)}process(e,t,n=!1){const r=n?0:2048,{h:i,r:o}=this,s=o[0],a=o[1],c=o[2],l=o[3],d=o[4],u=o[5],h=o[6],f=o[7],p=o[8],g=o[9],m=ji(e,t+0),y=ji(e,t+2),v=ji(e,t+4),b=ji(e,t+6),w=ji(e,t+8),E=ji(e,t+10),S=ji(e,t+12),_=ji(e,t+14);let C=i[0]+(8191&m),k=i[1]+(8191&(m>>>13|y<<3)),A=i[2]+(8191&(y>>>10|v<<6)),x=i[3]+(8191&(v>>>7|b<<9)),M=i[4]+(8191&(b>>>4|w<<12)),I=i[5]+(w>>>1&8191),T=i[6]+(8191&(w>>>14|E<<2)),R=i[7]+(8191&(E>>>11|S<<5)),P=i[8]+(8191&(S>>>8|_<<8)),O=i[9]+(_>>>5|r),N=0,L=N+C*s+k*(5*g)+A*(5*p)+x*(5*f)+M*(5*h);N=L>>>13,L&=8191,L+=I*(5*u)+T*(5*d)+R*(5*l)+P*(5*c)+O*(5*a),N+=L>>>13,L&=8191;let D=N+C*a+k*s+A*(5*g)+x*(5*p)+M*(5*f);N=D>>>13,D&=8191,D+=I*(5*h)+T*(5*u)+R*(5*d)+P*(5*l)+O*(5*c),N+=D>>>13,D&=8191;let $=N+C*c+k*a+A*s+x*(5*g)+M*(5*p);N=$>>>13,$&=8191,$+=I*(5*f)+T*(5*h)+R*(5*u)+P*(5*d)+O*(5*l),N+=$>>>13,$&=8191;let B=N+C*l+k*c+A*a+x*s+M*(5*g);N=B>>>13,B&=8191,B+=I*(5*p)+T*(5*f)+R*(5*h)+P*(5*u)+O*(5*d),N+=B>>>13,B&=8191;let K=N+C*d+k*l+A*c+x*a+M*s;N=K>>>13,K&=8191,K+=I*(5*g)+T*(5*p)+R*(5*f)+P*(5*h)+O*(5*u),N+=K>>>13,K&=8191;let j=N+C*u+k*d+A*l+x*c+M*a;N=j>>>13,j&=8191,j+=I*s+T*(5*g)+R*(5*p)+P*(5*f)+O*(5*h),N+=j>>>13,j&=8191;let U=N+C*h+k*u+A*d+x*l+M*c;N=U>>>13,U&=8191,U+=I*a+T*s+R*(5*g)+P*(5*p)+O*(5*f),N+=U>>>13,U&=8191;let H=N+C*f+k*h+A*u+x*d+M*l;N=H>>>13,H&=8191,H+=I*c+T*a+R*s+P*(5*g)+O*(5*p),N+=H>>>13,H&=8191;let F=N+C*p+k*f+A*h+x*u+M*d;N=F>>>13,F&=8191,F+=I*l+T*c+R*a+P*s+O*(5*g),N+=F>>>13,F&=8191;let z=N+C*g+k*p+A*f+x*h+M*u;N=z>>>13,z&=8191,z+=I*d+T*l+R*c+P*a+O*s,N+=z>>>13,z&=8191,N=(N<<2)+N|0,N=N+L|0,L=8191&N,N>>>=13,D+=N,i[0]=L,i[1]=D,i[2]=$,i[3]=B,i[4]=K,i[5]=j,i[6]=U,i[7]=H,i[8]=F,i[9]=z}finalize(){const{h:e,pad:t}=this,n=new Uint16Array(10);let r=e[1]>>>13;e[1]&=8191;for(let t=2;t<10;t++)e[t]+=r,r=e[t]>>>13,e[t]&=8191;e[0]+=5*r,r=e[0]>>>13,e[0]&=8191,e[1]+=r,r=e[1]>>>13,e[1]&=8191,e[2]+=r,n[0]=e[0]+5,r=n[0]>>>13,n[0]&=8191;for(let t=1;t<10;t++)n[t]=e[t]+r,r=n[t]>>>13,n[t]&=8191;n[9]-=8192;let i=(1^r)-1;for(let e=0;e<10;e++)n[e]&=i;i=~i;for(let t=0;t<10;t++)e[t]=e[t]&i|n[t];e[0]=65535&(e[0]|e[1]<<13),e[1]=65535&(e[1]>>>3|e[2]<<10),e[2]=65535&(e[2]>>>6|e[3]<<7),e[3]=65535&(e[3]>>>9|e[4]<<4),e[4]=65535&(e[4]>>>12|e[5]<<1|e[6]<<14),e[5]=65535&(e[6]>>>2|e[7]<<11),e[6]=65535&(e[7]>>>5|e[8]<<8),e[7]=65535&(e[8]>>>8|e[9]<<5);let o=e[0]+t[0];e[0]=65535&o;for(let n=1;n<8;n++)o=(e[n]+t[n]|0)+(o>>>16)|0,e[n]=65535&o;(0,Ki.clean)(n)}update(e){(0,Bi.exists)(this);const{buffer:t,blockLen:n}=this,r=(e=(0,Ki.toBytes)(e)).length;for(let i=0;i<r;){const o=Math.min(n-this.pos,r-i);if(o!==n)t.set(e.subarray(i,i+o),this.pos),this.pos+=o,i+=o,this.pos===n&&(this.process(t,0,!1),this.pos=0);else for(;n<=r-i;i+=n)this.process(e,i)}return this}destroy(){(0,Ki.clean)(this.h,this.r,this.buffer,this.pad)}digestInto(e){(0,Bi.exists)(this),(0,Bi.output)(e,this),this.finished=!0;const{buffer:t,h:n}=this;let{pos:r}=this;if(r){for(t[r++]=1;r<16;r++)t[r]=0;this.process(t,0,!0)}this.finalize();let i=0;for(let t=0;t<8;t++)e[i++]=n[t]>>>0,e[i++]=n[t]>>>8;return e}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const n=e.slice(0,t);return this.destroy(),n}}function Hi(e){const t=(t,n)=>e(n).update((0,Ki.toBytes)(t)).digest(),n=e(new Uint8Array(32));return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}$i.poly1305=Hi((e=>new Ui(e))),function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.xchacha20poly1305=e.chacha20poly1305=e._poly1305_aead=e.chacha12=e.chacha8=e.xchacha20=e.chacha20=e.chacha20orig=void 0,e.hchacha=s;const t=Ci,n=ge,r=$i,i=pe;function o(e,n,r,i,o,s=20){let a=e[0],c=e[1],l=e[2],d=e[3],u=n[0],h=n[1],f=n[2],p=n[3],g=n[4],m=n[5],y=n[6],v=n[7],b=o,w=r[0],E=r[1],S=r[2],_=a,C=c,k=l,A=d,x=u,M=h,I=f,T=p,R=g,P=m,O=y,N=v,L=b,D=w,$=E,B=S;for(let e=0;e<s;e+=2)_=_+x|0,L=(0,t.rotl)(L^_,16),R=R+L|0,x=(0,t.rotl)(x^R,12),_=_+x|0,L=(0,t.rotl)(L^_,8),R=R+L|0,x=(0,t.rotl)(x^R,7),C=C+M|0,D=(0,t.rotl)(D^C,16),P=P+D|0,M=(0,t.rotl)(M^P,12),C=C+M|0,D=(0,t.rotl)(D^C,8),P=P+D|0,M=(0,t.rotl)(M^P,7),k=k+I|0,$=(0,t.rotl)($^k,16),O=O+$|0,I=(0,t.rotl)(I^O,12),k=k+I|0,$=(0,t.rotl)($^k,8),O=O+$|0,I=(0,t.rotl)(I^O,7),A=A+T|0,B=(0,t.rotl)(B^A,16),N=N+B|0,T=(0,t.rotl)(T^N,12),A=A+T|0,B=(0,t.rotl)(B^A,8),N=N+B|0,T=(0,t.rotl)(T^N,7),_=_+M|0,B=(0,t.rotl)(B^_,16),O=O+B|0,M=(0,t.rotl)(M^O,12),_=_+M|0,B=(0,t.rotl)(B^_,8),O=O+B|0,M=(0,t.rotl)(M^O,7),C=C+I|0,L=(0,t.rotl)(L^C,16),N=N+L|0,I=(0,t.rotl)(I^N,12),C=C+I|0,L=(0,t.rotl)(L^C,8),N=N+L|0,I=(0,t.rotl)(I^N,7),k=k+T|0,D=(0,t.rotl)(D^k,16),R=R+D|0,T=(0,t.rotl)(T^R,12),k=k+T|0,D=(0,t.rotl)(D^k,8),R=R+D|0,T=(0,t.rotl)(T^R,7),A=A+x|0,$=(0,t.rotl)($^A,16),P=P+$|0,x=(0,t.rotl)(x^P,12),A=A+x|0,$=(0,t.rotl)($^A,8),P=P+$|0,x=(0,t.rotl)(x^P,7);let K=0;i[K++]=a+_|0,i[K++]=c+C|0,i[K++]=l+k|0,i[K++]=d+A|0,i[K++]=u+x|0,i[K++]=h+M|0,i[K++]=f+I|0,i[K++]=p+T|0,i[K++]=g+R|0,i[K++]=m+P|0,i[K++]=y+O|0,i[K++]=v+N|0,i[K++]=b+L|0,i[K++]=w+D|0,i[K++]=E+$|0,i[K++]=S+B|0}function s(e,n,r,i){let o=e[0],s=e[1],a=e[2],c=e[3],l=n[0],d=n[1],u=n[2],h=n[3],f=n[4],p=n[5],g=n[6],m=n[7],y=r[0],v=r[1],b=r[2],w=r[3];for(let e=0;e<20;e+=2)o=o+l|0,y=(0,t.rotl)(y^o,16),f=f+y|0,l=(0,t.rotl)(l^f,12),o=o+l|0,y=(0,t.rotl)(y^o,8),f=f+y|0,l=(0,t.rotl)(l^f,7),s=s+d|0,v=(0,t.rotl)(v^s,16),p=p+v|0,d=(0,t.rotl)(d^p,12),s=s+d|0,v=(0,t.rotl)(v^s,8),p=p+v|0,d=(0,t.rotl)(d^p,7),a=a+u|0,b=(0,t.rotl)(b^a,16),g=g+b|0,u=(0,t.rotl)(u^g,12),a=a+u|0,b=(0,t.rotl)(b^a,8),g=g+b|0,u=(0,t.rotl)(u^g,7),c=c+h|0,w=(0,t.rotl)(w^c,16),m=m+w|0,h=(0,t.rotl)(h^m,12),c=c+h|0,w=(0,t.rotl)(w^c,8),m=m+w|0,h=(0,t.rotl)(h^m,7),o=o+d|0,w=(0,t.rotl)(w^o,16),g=g+w|0,d=(0,t.rotl)(d^g,12),o=o+d|0,w=(0,t.rotl)(w^o,8),g=g+w|0,d=(0,t.rotl)(d^g,7),s=s+u|0,y=(0,t.rotl)(y^s,16),m=m+y|0,u=(0,t.rotl)(u^m,12),s=s+u|0,y=(0,t.rotl)(y^s,8),m=m+y|0,u=(0,t.rotl)(u^m,7),a=a+h|0,v=(0,t.rotl)(v^a,16),f=f+v|0,h=(0,t.rotl)(h^f,12),a=a+h|0,v=(0,t.rotl)(v^a,8),f=f+v|0,h=(0,t.rotl)(h^f,7),c=c+l|0,b=(0,t.rotl)(b^c,16),p=p+b|0,l=(0,t.rotl)(l^p,12),c=c+l|0,b=(0,t.rotl)(b^c,8),p=p+b|0,l=(0,t.rotl)(l^p,7);let E=0;i[E++]=o,i[E++]=s,i[E++]=a,i[E++]=c,i[E++]=y,i[E++]=v,i[E++]=b,i[E++]=w}e.chacha20orig=(0,t.createCipher)(o,{counterRight:!1,counterLength:8,allowShortKeys:!0}),e.chacha20=(0,t.createCipher)(o,{counterRight:!1,counterLength:4,allowShortKeys:!1}),e.xchacha20=(0,t.createCipher)(o,{counterRight:!1,counterLength:8,extendNonceFn:s,allowShortKeys:!1}),e.chacha8=(0,t.createCipher)(o,{counterRight:!1,counterLength:4,rounds:8}),e.chacha12=(0,t.createCipher)(o,{counterRight:!1,counterLength:4,rounds:12});const a=new Uint8Array(16),c=(e,t)=>{e.update(t);const n=t.length%16;n&&e.update(a.subarray(n))},l=new Uint8Array(32);function d(e,t,n,o,s){const a=e(t,n,l),d=r.poly1305.create(a);s&&c(d,s),c(d,o);const u=new Uint8Array(16),h=(0,i.createView)(u);(0,i.setBigUint64)(h,0,BigInt(s?s.length:0),!0),(0,i.setBigUint64)(h,8,BigInt(o.length),!0),d.update(u);const f=d.digest();return(0,i.clean)(a,u),f}e._poly1305_aead=e=>(t,r,o)=>{const s=16;return(0,n.bytes)(t,32),(0,n.bytes)(r),{encrypt(a,c){const l=a.length,u=l+s;c?(0,n.bytes)(c,u):c=new Uint8Array(u),e(t,r,a,c,1);const h=d(e,t,r,c.subarray(0,-16),o);return c.set(h,l),(0,i.clean)(h),c},decrypt(a,c){const l=a.length,u=l-s;if(l<s)throw new Error(\"encrypted data must be at least 16 bytes\");c?(0,n.bytes)(c,u):c=new Uint8Array(u);const h=a.subarray(0,-16),f=a.subarray(-16),p=d(e,t,r,h,o);if(!(0,i.equalBytes)(f,p))throw new Error(\"invalid tag\");return e(t,r,h,c,1),(0,i.clean)(p),c}}},e.chacha20poly1305=(0,i.wrapCipher)({blockSize:64,nonceLength:12,tagLength:16},(0,e._poly1305_aead)(e.chacha20)),e.xchacha20poly1305=(0,i.wrapCipher)({blockSize:64,nonceLength:24,tagLength:16},(0,e._poly1305_aead)(e.xchacha20))}(_i),Object.defineProperty(Si,\"__esModule\",{value:!0}),Si.xchacha20=void 0;var Fi,zi,qi,Wi=_i;Si.xchacha20=function(e,t,n){return(0,Wi.xchacha20poly1305)(e,t,n)},function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.aesDecrypt=e.aesEncrypt=e.symDecrypt=e.symEncrypt=void 0;var t=pe,n=Te,r=Cr,i=Si,o=Ce,s=ke;e.symEncrypt=function(e,t,n){return a(c,e,t,n)};function a(e,t,n,a){var c=(0,o.symmetricAlgorithm)();if(\"aes-256-gcm\"===c)return e(r.aes256gcm,t,n,(0,o.symmetricNonceLength)(),s.AEAD_TAG_LENGTH,a);if(\"xchacha20\"===c)return e(i.xchacha20,t,n,s.XCHACHA20_NONCE_LENGTH,s.AEAD_TAG_LENGTH,a);if(\"aes-256-cbc\"===c)return e(r.aes256cbc,t,n,16,0);throw new Error(\"Not implemented\")}function c(e,r,i,o,s,a){var c=(0,n.randomBytes)(o),l=e(r,c,a).encrypt(i);if(0===s)return(0,t.concatBytes)(c,l);var d=l.length-s,u=l.subarray(0,d),h=l.subarray(d);return(0,t.concatBytes)(c,h,u)}function l(e,n,r,i,o,s){var a=r.subarray(0,i),c=e(n,Uint8Array.from(a),s),l=r.subarray(i);if(0===o)return c.decrypt(l);var d=l.subarray(0,o),u=l.subarray(o);return c.decrypt((0,t.concatBytes)(u,d))}e.symDecrypt=function(e,t,n){return a(l,e,t,n)},e.aesEncrypt=e.symEncrypt,e.aesDecrypt=e.symDecrypt}(_r),Fi=Me,zi=de&&de.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!(\"get\"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),qi=de&&de.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||zi(t,e,n)},Object.defineProperty(Fi,\"__esModule\",{value:!0}),qi(Ie,Fi),qi(pr,Fi),qi(fr,Fi),qi(_r,Fi);var Vi={};Object.defineProperty(Vi,\"__esModule\",{value:!0}),Vi.PublicKey=void 0;var Gi=pe,Yi=Me,Zi=function(){function e(e){this.data=(0,Yi.convertPublicKeyFormat)(e,!0)}return e.fromHex=function(t){return new e((0,Yi.hexToPublicKey)(t))},Object.defineProperty(e.prototype,\"uncompressed\",{get:function(){return C.from((0,Yi.convertPublicKeyFormat)(this.data,!1))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"compressed\",{get:function(){return C.from(this.data)},enumerable:!1,configurable:!0}),e.prototype.toHex=function(e){return void 0===e&&(e=!0),(0,Gi.bytesToHex)(e?this.data:this.uncompressed)},e.prototype.decapsulate=function(e,t){void 0===t&&(t=!1);var n=t?this.data:this.uncompressed,r=e.multiply(this,t);return(0,Yi.getSharedKey)(n,r)},e.prototype.equals=function(e){return(0,Gi.equalBytes)(this.data,e.data)},e}();Vi.PublicKey=Zi,Object.defineProperty(xe,\"__esModule\",{value:!0}),xe.PrivateKey=void 0;var Ji=pe,Qi=Me,Xi=Vi,eo=function(){function e(e){if(void 0===e)this.data=(0,Qi.getValidSecret)();else{if(!(0,Qi.isValidPrivateKey)(e))throw new Error(\"Invalid private key\");this.data=e}this.publicKey=new Xi.PublicKey((0,Qi.getPublicKey)(this.data))}return e.fromHex=function(t){return new e((0,Qi.decodeHex)(t))},Object.defineProperty(e.prototype,\"secret\",{get:function(){return C.from(this.data)},enumerable:!1,configurable:!0}),e.prototype.toHex=function(){return(0,Ji.bytesToHex)(this.data)},e.prototype.encapsulate=function(e,t){void 0===t&&(t=!1);var n=t?this.publicKey.compressed:this.publicKey.uncompressed,r=this.multiply(e,t);return(0,Qi.getSharedKey)(n,r)},e.prototype.multiply=function(e,t){return void 0===t&&(t=!1),(0,Qi.getSharedPoint)(this.data,e.compressed,t)},e.prototype.equals=function(e){return(0,Ji.equalBytes)(this.data,e.data)},e}();xe.PrivateKey=eo,function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.PublicKey=e.PrivateKey=void 0;var t=xe;Object.defineProperty(e,\"PrivateKey\",{enumerable:!0,get:function(){return t.PrivateKey}});var n=Vi;Object.defineProperty(e,\"PublicKey\",{enumerable:!0,get:function(){return n.PublicKey}})}(Ae),function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.utils=e.PublicKey=e.PrivateKey=e.ECIES_CONFIG=void 0,e.encrypt=function(e,o){var s=new r.PrivateKey,a=e instanceof Uint8Array?new r.PublicKey(e):r.PublicKey.fromHex(e),c=s.encapsulate(a,(0,n.isHkdfKeyCompressed)()),l=(0,n.isEphemeralKeyCompressed)()?s.publicKey.compressed:s.publicKey.uncompressed,d=(0,i.symEncrypt)(c,o);return C.from((0,t.concatBytes)(l,d))},e.decrypt=function(e,t){var o=e instanceof Uint8Array?new r.PrivateKey(e):r.PrivateKey.fromHex(e),s=(0,n.ephemeralKeySize)(),a=new r.PublicKey(t.subarray(0,s)),c=t.subarray(s),l=a.decapsulate(o,(0,n.isHkdfKeyCompressed)());return C.from((0,i.symDecrypt)(l,c))};var t=pe,n=Ce,r=Ae,i=Me;var o=Ce;Object.defineProperty(e,\"ECIES_CONFIG\",{enumerable:!0,get:function(){return o.ECIES_CONFIG}});var s=Ae;Object.defineProperty(e,\"PrivateKey\",{enumerable:!0,get:function(){return s.PrivateKey}}),Object.defineProperty(e,\"PublicKey\",{enumerable:!0,get:function(){return s.PublicKey}}),e.utils={aesEncrypt:i.aesEncrypt,aesDecrypt:i.aesDecrypt,symEncrypt:i.symEncrypt,symDecrypt:i.symDecrypt,decodeHex:i.decodeHex,getValidSecret:i.getValidSecret,remove0x:i.remove0x}}(fe);const to=t(\"KeyExchange:Layer\"),no=t(\"SocketService:Layer\"),ro=t(\"Ecies:Layer\"),io=t(\"RemoteCommunication:Layer\");to.color=\"##95c44e\",no.color=\"#f638d7\",ro.color=\"#465b9c\",io.color=\"#47a2be\";const oo={KeyExchange:to,SocketService:no,Ecies:ro,RemoteCommunication:io};let so,ao=[],co=[];const lo=(t,n)=>c(void 0,void 0,void 0,(function*(){so=n,co.push(t),function(t){return c(this,void 0,void 0,(function*(){if(!so||!t)return;!function(){const e=co;co=ao,ao=e}();const n=so.endsWith(\"/\")?`${so}evt`:`${so}/evt`,r=Object.assign({},t);if(delete r.params,t.params)for(const[e,n]of Object.entries(t.params))r[e]=n;const i=JSON.stringify(r);oo.RemoteCommunication(`[sendBufferedEvents] Sending ${ao.length} analytics events to ${n}`);try{const t=yield e(n,{method:\"POST\",headers:{Accept:\"application/json\",\"Content-Type\":\"application/json\"},body:i}),r=yield t.text();oo.RemoteCommunication(`[sendBufferedEvents] Response: ${r}`),ao.length=0}catch(n){}}))}(t).catch((()=>{}))}));class uo{constructor(e){this.enabled=!0,(null==e?void 0:e.debug)&&t.enable(\"Ecies:Layer\"),this.ecies=(null==e?void 0:e.privateKey)?fe.PrivateKey.fromHex(e.privateKey):new fe.PrivateKey,oo.Ecies(\"[ECIES constructor()] initialized secret: \",this.ecies.toHex()),oo.Ecies(\"[ECIES constructor()] initialized public: \",this.ecies.publicKey.toHex()),oo.Ecies(\"[ECIES constructor()] init with\",this)}generateECIES(){this.ecies=new fe.PrivateKey}getPublicKey(){return this.ecies.publicKey.toHex()}encrypt(e,t){let n=e;if(this.enabled)try{oo.Ecies(\"[ECIES: encrypt()] using otherPublicKey\",t);const r=C.from(e),i=fe.encrypt(t,r);n=C.from(i).toString(\"base64\")}catch(n){throw oo.Ecies(\"[ECIES: encrypt()] error encrypt:\",n),oo.Ecies(\"[ECIES: encrypt()] private: \",this.ecies.toHex()),oo.Ecies(\"[ECIES: encrypt()] data: \",e),oo.Ecies(\"[ECIES: encrypt()] otherkey: \",t),n}return n}decrypt(e){let t=e;if(this.enabled)try{oo.Ecies(\"[ECIES: decrypt()] using privateKey\",this.ecies.toHex());const n=C.from(e.toString(),\"base64\");t=fe.decrypt(this.ecies.toHex(),n).toString()}catch(t){throw oo.Ecies(\"[ECIES: decrypt()] error decrypt\",t),oo.Ecies(\"[ECIES: decrypt()] private: \",this.ecies.toHex()),oo.Ecies(\"[ECIES: decrypt()] encryptedData: \",e),t}return t}getKeyInfo(){return{private:this.ecies.toHex(),public:this.ecies.publicKey.toHex()}}toString(){oo.Ecies(\"[ECIES: toString()]\",this.getKeyInfo())}}var ho={name:\"@metamask/sdk-communication-layer\",version:\"0.33.1\",description:\"\",homepage:\"https://github.com/MetaMask/metamask-sdk#readme\",bugs:{url:\"https://github.com/MetaMask/metamask-sdk/issues\"},repository:{type:\"git\",url:\"https://github.com/MetaMask/metamask-sdk.git\",directory:\"packages/sdk-communication-layer\"},main:\"dist/node/cjs/metamask-sdk-communication-layer.js\",unpkg:\"dist/browser/umd/metamask-sdk-communication-layer.js\",module:\"dist/node/es/metamask-sdk-communication-layer.js\",browser:\"dist/browser/es/metamask-sdk-communication-layer.js\",\"react-native\":\"dist/react-native/es/metamask-sdk-communication-layer.js\",types:\"dist/types/src/index.d.ts\",files:[\"/dist\"],scripts:{\"build:types\":\"tsc --project tsconfig.build.json --emitDeclarationOnly --outDir dist/types\",\"build:clean\":\"yarn clean && yarn build\",build:\"yarn build:types && rollup -c --bundleConfigAsCjs\",\"build:dev\":\"yarn build:types && NODE_ENV=dev rollup -c --bundleConfigAsCjs\",dev:'concurrently \"tsc --watch\" \"rollup -c --bundleConfigAsCjs -w\"',\"build:post-tsc\":\"echo 'N/A'\",\"build:pre-tsc\":\"echo 'N/A'\",size:\"size-limit\",clean:\"rimraf ./dist\",lint:\"yarn lint:eslint && yarn lint:misc --check\",\"lint:changelog\":\"../../scripts/validate-changelog.sh @metamask/sdk-communication-layer\",\"lint:eslint\":\"eslint . --cache --ext js,ts\",\"lint:fix\":\"yarn lint:eslint --fix && yarn lint:misc --write\",\"lint:misc\":\"prettier '**/*.json' '**/*.md' '!CHANGELOG.md' --ignore-path ../../.gitignore\",\"publish:preview\":\"yarn npm publish --tag preview\",prepack:\"../../scripts/prepack.sh\",reset:\"yarn clean && rimraf ./node_modules/\",test:'jest --testPathIgnorePatterns \"/e2e/\"',\"test:e2e\":'jest --testPathPattern \"/e2e/\"',\"test:coverage\":\"jest --coverage\",\"test:ci\":'jest --coverage --passWithNoTests --setupFilesAfterEnv ./jest-preload.js --testPathIgnorePatterns \"/e2e/\"',\"test:dev\":\"jest\",watch:\"rollup -c --bundleConfigAsCjs -w\"},dependencies:{\"@metamask/sdk-analytics\":\"workspace:*\",bufferutil:\"^4.0.8\",\"date-fns\":\"^2.29.3\",debug:\"4.3.4\",\"utf-8-validate\":\"^5.0.2\",uuid:\"^8.3.2\"},devDependencies:{\"@jest/globals\":\"^29.3.1\",\"@lavamoat/allow-scripts\":\"^2.3.1\",\"@metamask/auto-changelog\":\"3.1.0\",\"@metamask/eslint-config\":\"^6.0.0\",\"@metamask/eslint-config-nodejs\":\"^6.0.0\",\"@metamask/eslint-config-typescript\":\"^6.0.0\",\"@rollup/plugin-commonjs\":\"^25.0.0\",\"@rollup/plugin-json\":\"^6.0.0\",\"@rollup/plugin-node-resolve\":\"^15.0.2\",\"@rollup/plugin-replace\":\"^6.0.1\",\"@rollup/plugin-terser\":\"^0.4.4\",\"@size-limit/preset-big-lib\":\"^11.0.2\",\"@types/jest\":\"^29.2.4\",\"@types/node\":\"^20.1.3\",\"@types/uuid\":\"^9.0.0\",\"@typescript-eslint/eslint-plugin\":\"^4.26.0\",\"@typescript-eslint/parser\":\"^4.26.0\",concurrently:\"^9.1.2\",\"cross-fetch\":\"^4.0.0\",eciesjs:\"^0.4.11\",eslint:\"^7.30.0\",\"eslint-config-prettier\":\"^8.3.0\",\"eslint-plugin-import\":\"^2.23.4\",\"eslint-plugin-jest\":\"^24.4.0\",\"eslint-plugin-jsdoc\":\"^36.1.0\",\"eslint-plugin-node\":\"^11.1.0\",\"eslint-plugin-prettier\":\"^3.4.0\",eventemitter2:\"^6.4.9\",jest:\"^29.3.1\",prettier:\"^2.3.0\",rimraf:\"^3.0.2\",rollup:\"^4.26.0\",\"rollup-plugin-jscc\":\"^2.0.0\",\"rollup-plugin-natives\":\"^0.7.5\",\"rollup-plugin-node-builtins\":\"^2.1.2\",\"rollup-plugin-node-globals\":\"^1.4.0\",\"rollup-plugin-peer-deps-external\":\"^2.2.4\",\"rollup-plugin-polyfill-node\":\"^0.13.0\",\"rollup-plugin-sizes\":\"^1.0.6\",\"rollup-plugin-typescript2\":\"^0.31.2\",\"rollup-plugin-visualizer\":\"^5.12.0\",\"size-limit\":\"^11.1.6\",\"socket.io-client\":\"^4.5.1\",\"stream-browserify\":\"^3.0.0\",\"ts-jest\":\"^29.0.3\",\"ts-node\":\"^10.9.1\",typescript:\"^5.6.3\"},peerDependencies:{\"cross-fetch\":\"^4.0.0\",eciesjs:\"*\",eventemitter2:\"^6.4.9\",\"readable-stream\":\"^3.6.2\",\"socket.io-client\":\"^4.5.1\"},publishConfig:{access:\"public\",registry:\"https://registry.npmjs.org/\"},lavamoat:{allowScripts:{\"@lavamoat/preinstall-always-fail\":!1,canvas:!0,\"eciesjs>secp256k1\":!1,\"socket.io-client>engine.io-client>ws>bufferutil\":!1,\"socket.io-client>engine.io-client>ws>utf-8-validate\":!1,bufferutil:!1,\"utf-8-validate\":!1}}};const fo=\"https://metamask-sdk.api.cx.metamask.io/\",po=[\"websocket\"],go=6048e5,mo=3e3,yo={METAMASK_GETPROVIDERSTATE:\"metamask_getProviderState\",METAMASK_CONNECTSIGN:\"metamask_connectSign\",METAMASK_CONNECTWITH:\"metamask_connectWith\",METAMASK_OPEN:\"metamask_open\",METAMASK_BATCH:\"metamask_batch\",PERSONAL_SIGN:\"personal_sign\",WALLET_REQUESTPERMISSIONS:\"wallet_requestPermissions\",WALLET_REVOKEPERMISSIONS:\"wallet_revokePermissions\",WALLET_GETPERMISSIONS:\"wallet_getPermissions\",WALLET_WATCHASSET:\"wallet_watchAsset\",WALLET_SWITCHETHEREUMCHAIN:\"wallet_switchEthereumChain\",WALLET_ADDETHEREUMCHAIN:\"wallet_addEthereumChain\",ETH_REQUESTACCOUNTS:\"eth_requestAccounts\",ETH_ACCOUNTS:\"eth_accounts\",ETH_CHAINID:\"eth_chainId\",ETH_SENDTRANSACTION:\"eth_sendTransaction\",ETH_SIGNTYPEDDATA:\"eth_signTypedData\",ETH_SIGNTYPEDDATA_V3:\"eth_signTypedData_v3\",ETH_SIGNTYPEDDATA_V4:\"eth_signTypedData_v4\",ETH_SIGNTRANSACTION:\"eth_signTransaction\",ETH_SIGN:\"eth_sign\",PERSONAL_EC_RECOVER:\"personal_ecRecover\"},vo=[yo.METAMASK_CONNECTSIGN,yo.METAMASK_CONNECTWITH,yo.METAMASK_OPEN,yo.METAMASK_BATCH,yo.PERSONAL_SIGN,yo.WALLET_REQUESTPERMISSIONS,yo.WALLET_REVOKEPERMISSIONS,yo.WALLET_WATCHASSET,yo.ETH_SENDTRANSACTION,yo.ETH_SIGNTYPEDDATA,yo.ETH_SIGNTYPEDDATA_V3,yo.ETH_SIGNTYPEDDATA_V4,yo.ETH_SIGNTRANSACTION,yo.ETH_SIGN,yo.PERSONAL_EC_RECOVER];function bo(e){return vo.includes(e)}function wo(e){const{context:t}=e;oo.RemoteCommunication(`[RemoteCommunication: clean()] context=${t}`),e.channelConfig=void 0,e.ready=!1,e.originatorConnectStarted=!1}var Eo,So,_o,Co,ko,Ao,xo;(xo=Eo||(Eo={})).DISCONNECTED=\"disconnected\",xo.WAITING=\"waiting\",xo.TIMEOUT=\"timeout\",xo.LINKED=\"linked\",xo.PAUSED=\"paused\",xo.TERMINATED=\"terminated\",function(e){e.KEY_INFO=\"key_info\",e.SERVICE_STATUS=\"service_status\",e.PROVIDER_UPDATE=\"provider_update\",e.RPC_UPDATE=\"rpc_update\",e.KEYS_EXCHANGED=\"keys_exchanged\",e.JOIN_CHANNEL=\"join_channel\",e.PUBLIC_KEY=\"public_key\",e.CHANNEL_CREATED=\"channel_created\",e.CLIENTS_CONNECTED=\"clients_connected\",e.CLIENTS_DISCONNECTED=\"clients_disconnected\",e.CLIENTS_WAITING=\"clients_waiting\",e.CLIENTS_READY=\"clients_ready\",e.REJECTED=\"rejected\",e.WALLET_INIT=\"wallet_init\",e.CHANNEL_PERSISTENCE=\"channel_persistence\",e.CONFIG=\"config\",e.MESSAGE_ACK=\"ack\",e.SOCKET_DISCONNECTED=\"socket_disconnected\",e.SOCKET_RECONNECT=\"socket_reconnect\",e.OTP=\"otp\",e.SDK_RPC_CALL=\"sdk_rpc_call\",e.AUTHORIZED=\"authorized\",e.CONNECTION_STATUS=\"connection_status\",e.MESSAGE=\"message\",e.TERMINATE=\"terminate\"}(So||(So={})),(_o||(_o={})).KEY_EXCHANGE=\"key_exchange\",function(e){e.KEY_HANDSHAKE_START=\"key_handshake_start\",e.KEY_HANDSHAKE_CHECK=\"key_handshake_check\",e.KEY_HANDSHAKE_SYN=\"key_handshake_SYN\",e.KEY_HANDSHAKE_SYNACK=\"key_handshake_SYNACK\",e.KEY_HANDSHAKE_ACK=\"key_handshake_ACK\",e.KEY_HANDSHAKE_WALLET=\"key_handshake_wallet\",e.KEY_HANDSHAKE_NONE=\"none\"}(Co||(Co={}));class Mo extends i{constructor({communicationLayer:e,otherPublicKey:t,context:n,ecies:r,logging:i}){super(),this.keysExchanged=!1,this.step=Co.KEY_HANDSHAKE_NONE,this.debug=!1,this.context=n,this.communicationLayer=e,(null==r?void 0:r.privateKey)&&t&&(oo.KeyExchange(`[KeyExchange: constructor()] otherPubKey=${t} set keysExchanged to true!`,r),this.keysExchanged=!0),this.myECIES=new uo(Object.assign(Object.assign({},r),{debug:null==i?void 0:i.eciesLayer})),this.communicationLayer.state.eciesInstance=this.myECIES,this.myPublicKey=this.myECIES.getPublicKey(),this.debug=!0===(null==i?void 0:i.keyExchangeLayer),t&&this.setOtherPublicKey(t),this.communicationLayer.on(_o.KEY_EXCHANGE,this.onKeyExchangeMessage.bind(this))}onKeyExchangeMessage(e){const{relayPersistence:t}=this.communicationLayer.remote.state;if(oo.KeyExchange(`[KeyExchange: onKeyExchangeMessage()] context=${this.context} keysExchanged=${this.keysExchanged} relayPersistence=${t}`,e),t)return void oo.KeyExchange(\"[KeyExchange: onKeyExchangeMessage()] Ignoring key exchange message because relay persistence is activated\");const{message:n}=e;this.keysExchanged&&oo.KeyExchange(`[KeyExchange: onKeyExchangeMessage()] context=${this.context} received handshake while already exchanged. step=${this.step} otherPubKey=${this.otherPublicKey}`),this.emit(So.KEY_INFO,n.type),n.type===Co.KEY_HANDSHAKE_SYN?(this.checkStep([Co.KEY_HANDSHAKE_NONE,Co.KEY_HANDSHAKE_ACK]),oo.KeyExchange(\"[KeyExchange: onKeyExchangeMessage()] KEY_HANDSHAKE_SYN\",n),n.pubkey&&this.setOtherPublicKey(n.pubkey),this.communicationLayer.sendMessage({type:Co.KEY_HANDSHAKE_SYNACK,pubkey:this.myPublicKey}).catch((e=>{oo.KeyExchange(\"[KeyExchange: onKeyExchangeMessage()] Error sending KEY_HANDSHAKE_SYNACK\",e)})),this.setStep(Co.KEY_HANDSHAKE_ACK)):n.type===Co.KEY_HANDSHAKE_SYNACK?(this.checkStep([Co.KEY_HANDSHAKE_SYNACK,Co.KEY_HANDSHAKE_ACK,Co.KEY_HANDSHAKE_NONE]),oo.KeyExchange(\"[KeyExchange: onKeyExchangeMessage()] KEY_HANDSHAKE_SYNACK\"),n.pubkey&&this.setOtherPublicKey(n.pubkey),this.communicationLayer.sendMessage({type:Co.KEY_HANDSHAKE_ACK}).catch((e=>{oo.KeyExchange(\"[KeyExchange: onKeyExchangeMessage()] Error sending KEY_HANDSHAKE_ACK\",e)})),this.keysExchanged=!0,this.setStep(Co.KEY_HANDSHAKE_ACK),this.emit(So.KEYS_EXCHANGED)):n.type===Co.KEY_HANDSHAKE_ACK&&(oo.KeyExchange(\"[KeyExchange: onKeyExchangeMessage()] KEY_HANDSHAKE_ACK set keysExchanged to true!\"),this.checkStep([Co.KEY_HANDSHAKE_ACK,Co.KEY_HANDSHAKE_NONE]),this.keysExchanged=!0,this.setStep(Co.KEY_HANDSHAKE_ACK),this.emit(So.KEYS_EXCHANGED))}resetKeys(e){this.clean(),this.myECIES=new uo(e)}clean(){oo.KeyExchange(`[KeyExchange: clean()] context=${this.context} reset handshake state`),this.setStep(Co.KEY_HANDSHAKE_NONE),this.emit(So.KEY_INFO,this.step),this.keysExchanged=!1}start({isOriginator:e,force:t}){const{relayPersistence:n,protocolVersion:r}=this.communicationLayer.remote.state,i=r>=2;n?oo.KeyExchange(\"[KeyExchange: start()] Ignoring key exchange message because relay persistence is activated\"):(oo.KeyExchange(`[KeyExchange: start()] context=${this.context} protocolVersion=${r} isOriginator=${e} step=${this.step} force=${t} relayPersistence=${n} keysExchanged=${this.keysExchanged}`),e?!(this.keysExchanged||this.step!==Co.KEY_HANDSHAKE_NONE&&this.step!==Co.KEY_HANDSHAKE_SYNACK)||t?(oo.KeyExchange(`[KeyExchange: start()] context=${this.context} -- start key exchange (force=${t}) -- step=${this.step}`,this.step),this.clean(),this.setStep(Co.KEY_HANDSHAKE_SYNACK),this.communicationLayer.sendMessage({type:Co.KEY_HANDSHAKE_SYN,pubkey:this.myPublicKey,v:2}).catch((e=>{oo.KeyExchange(\"[KeyExchange: start()] Error sending KEY_HANDSHAKE_SYN\",e)}))):oo.KeyExchange(`[KeyExchange: start()] context=${this.context} -- key exchange already ${this.keysExchanged?\"done\":\"in progress\"} -- aborted.`,this.step):this.keysExchanged&&!0!==t?oo.KeyExchange(\"[KeyExchange: start()] don't send KEY_HANDSHAKE_START -- exchange already done.\"):i?this.communicationLayer.sendMessage({type:Co.KEY_HANDSHAKE_SYNACK,pubkey:this.myPublicKey,v:2}).catch((e=>{oo.KeyExchange(\"[KeyExchange: start()] Error sending KEY_HANDSHAKE_SYNACK\",e)})):(this.communicationLayer.sendMessage({type:Co.KEY_HANDSHAKE_START}).catch((e=>{oo.KeyExchange(\"[KeyExchange: start()] Error sending KEY_HANDSHAKE_START\",e)})),this.clean()))}setStep(e){this.step=e,this.emit(So.KEY_INFO,e)}checkStep(e){e.length>0&&e.indexOf(this.step.toString())}setRelayPersistence({localKey:e,otherKey:t}){this.otherPublicKey=t,this.myECIES=new uo({privateKey:e,debug:this.debug}),this.keysExchanged=!0}setKeysExchanged(e){this.keysExchanged=e}areKeysExchanged(){return this.keysExchanged}getMyPublicKey(){return this.myPublicKey}getOtherPublicKey(){return this.otherPublicKey}setOtherPublicKey(e){oo.KeyExchange(\"[KeyExchange: setOtherPubKey()]\",e),this.otherPublicKey=e}encryptMessage(e){if(!this.otherPublicKey)throw new Error(\"encryptMessage: Keys not exchanged - missing otherPubKey\");return this.myECIES.encrypt(e,this.otherPublicKey)}decryptMessage(e){if(!this.otherPublicKey)throw new Error(\"decryptMessage: Keys not exchanged - missing otherPubKey\");return this.myECIES.decrypt(e)}getKeyInfo(){return{ecies:Object.assign(Object.assign({},this.myECIES.getKeyInfo()),{otherPubKey:this.otherPublicKey}),step:this.step,keysExchanged:this.areKeysExchanged()}}toString(){const e={keyInfo:this.getKeyInfo(),keysExchanged:this.keysExchanged,step:this.step};return JSON.stringify(e)}}!function(e){e.TERMINATE=\"terminate\",e.ANSWER=\"answer\",e.OFFER=\"offer\",e.CANDIDATE=\"candidate\",e.JSONRPC=\"jsonrpc\",e.WALLET_INFO=\"wallet_info\",e.WALLET_INIT=\"wallet_init\",e.ORIGINATOR_INFO=\"originator_info\",e.PAUSE=\"pause\",e.OTP=\"otp\",e.AUTHORIZED=\"authorized\",e.PING=\"ping\",e.READY=\"ready\"}(ko||(ko={})),function(e){e.REQUEST=\"sdk_connect_request_started\",e.REQUEST_MOBILE=\"sdk_connect_request_started_mobile\",e.RECONNECT=\"sdk_reconnect_request_started\",e.CONNECTED=\"sdk_connection_established\",e.CONNECTED_MOBILE=\"sdk_connection_established_mobile\",e.AUTHORIZED=\"sdk_connection_authorized\",e.REJECTED=\"sdk_connection_rejected\",e.TERMINATED=\"sdk_connection_terminated\",e.DISCONNECTED=\"sdk_disconnected\",e.SDK_USE_EXTENSION=\"sdk_use_extension\",e.SDK_RPC_REQUEST=\"sdk_rpc_request\",e.SDK_RPC_REQUEST_RECEIVED=\"sdk_rpc_request_received\",e.SDK_RPC_REQUEST_DONE=\"sdk_rpc_request_done\",e.SDK_EXTENSION_UTILIZED=\"sdk_extension_utilized\",e.SDK_USE_INAPP_BROWSER=\"sdk_use_inapp_browser\"}(Ao||(Ao={}));const Io=(e,t,n)=>c(void 0,void 0,void 0,(function*(){var r,i,o,s,a,c;const{remote:l,state:d}=e,{channelId:u,isOriginator:h}=d;if(\"error_terminated\"===t)return oo.SocketService(`handleJoinChannelResults: Channel ${u} terminated`),void e.emit(So.TERMINATE);if(!n)return void oo.SocketService(`handleJoinChannelResults: No result for channel ${u}`);const{persistence:f,walletKey:p,rejected:g}=n;if(oo.SocketService(`handleJoinChannelResults: Channel ${u} persistence=${f} walletKey=${p} rejected=${g}`),g)return oo.SocketService(`handleJoinChannelResults: Channel ${u} rejected`),yield e.remote.disconnect({terminate:!0}),e.remote.emit(So.REJECTED,{channelId:u}),void e.remote.emitServiceStatusEvent();if(p&&!(null===(r=l.state.channelConfig)||void 0===r?void 0:r.otherKey)){e.getKeyExchange().setOtherPublicKey(p),null===(i=e.state.keyExchange)||void 0===i||i.setKeysExchanged(!0),l.state.ready=!0,l.state.authorized=!0,l.emit(So.AUTHORIZED);const{communicationLayer:t,storageManager:n}=l.state,r=Object.assign(Object.assign({},l.state.channelConfig),{channelId:null!==(o=l.state.channelId)&&void 0!==o?o:\"\",validUntil:Date.now()+go,localKey:null==t?void 0:t.getKeyInfo().ecies.private,otherKey:p});e.sendMessage({type:Co.KEY_HANDSHAKE_ACK}).catch((e=>{})),null===(s=e.state.socket)||void 0===s||s.emit(ko.PING,{id:u,clientType:h?\"dapp\":\"wallet\",context:\"on_channel_reconnect\",message:\"\"}),yield null==n?void 0:n.persistChannelConfig(r),l.emitServiceStatusEvent(),l.setConnectionStatus(Eo.LINKED)}f&&(e.emit(So.CHANNEL_PERSISTENCE),null===(a=e.state.keyExchange)||void 0===a||a.setKeysExchanged(!0),l.state.ready=!0,l.state.authorized=!0,l.emit(So.AUTHORIZED),lo(Object.assign(Object.assign({id:null!=u?u:\"\",event:h?Ao.CONNECTED:Ao.CONNECTED_MOBILE},e.remote.state.originatorInfo),{sdkVersion:e.remote.state.sdkVersion,commLayer:e.state.communicationLayerPreference,commLayerVersion:ho.version,walletVersion:null===(c=e.remote.state.walletInfo)||void 0===c?void 0:c.version}),d.communicationServerUrl).catch((e=>{})))})),To=e=>new Promise((t=>{setTimeout(t,e)})),Ro=(e,t,...n)=>c(void 0,[e,t,...n],void 0,(function*(e,t,n=200){let r;const i=Date.now();let o=!1;for(;!o;){if(o=Date.now()-i>3e5,r=t[e],void 0!==r.elapsedTime)return r;yield To(n)}throw new Error(`RPC ${e} timed out`)})),Po=e=>c(void 0,void 0,void 0,(function*(){const{state:t}=e,{socket:n,channelId:r,context:i,isOriginator:o,isReconnecting:s}=t;if(s)return oo.SocketService(\"[SocketService: reconnectSocket()] Reconnection already in progress, skipping\",e),!1;if(!n)return oo.SocketService(\"[SocketService: reconnectSocket()] socket is not defined\",e),!1;if(!r)return!1;const{connected:a}=n;t.isReconnecting=!0,t.reconnectionAttempts=0,oo.SocketService(`[SocketService: reconnectSocket()] connected=${a} trying to reconnect after socketio disconnection`,e);try{for(;3>t.reconnectionAttempts;){if(oo.SocketService(`[SocketService: reconnectSocket()] Attempt ${t.reconnectionAttempts+1} of 3`,e),yield To(200),n.connected)return oo.SocketService(\"Socket already connected --- ping to retrieve messages\"),n.emit(ko.PING,{id:r,clientType:o?\"dapp\":\"wallet\",context:\"on_channel_config\",message:\"\"}),!0;t.resumed=!0,n.connect(),e.emit(So.SOCKET_RECONNECT);try{if(yield new Promise(((t,s)=>{n.emit(So.JOIN_CHANNEL,{channelId:r,context:`${i}connect_again`,clientType:o?\"dapp\":\"wallet\"},((n,r)=>c(void 0,void 0,void 0,(function*(){try{yield Io(e,n,r),t()}catch(e){s(e)}}))))})),yield To(100),n.connected)return oo.SocketService(`Reconnection successful on attempt ${t.reconnectionAttempts+1}`),!0}catch(e){oo.SocketService(`Error during reconnection attempt ${t.reconnectionAttempts+1}:`,e)}t.reconnectionAttempts+=1,3>t.reconnectionAttempts&&(yield To(200))}return oo.SocketService(\"Failed to reconnect after 3 attempts\"),!1}finally{t.isReconnecting=!1,t.reconnectionAttempts=0}}));function Oo(e,t){return c(this,void 0,void 0,(function*(){var n;const r=null===(n=e.state.keyExchange)||void 0===n?void 0:n.encryptMessage(JSON.stringify(t)),i={id:e.state.channelId,context:e.state.context,clientType:e.state.isOriginator?\"dapp\":\"wallet\",message:r,plaintext:e.state.hasPlaintext?JSON.stringify(t):void 0};return oo.SocketService(`[SocketService: encryptAndSendMessage()] context=${e.state.context}`,i),t.type===ko.TERMINATE&&(e.state.manualDisconnect=!0),new Promise(((t,n)=>{var r;null===(r=e.state.socket)||void 0===r||r.emit(So.MESSAGE,i,((e,r)=>{var i;e&&(oo.SocketService(`[SocketService: encryptAndSendMessage()] error=${e}`),n(e)),oo.SocketService(\"[encryptAndSendMessage] response\",r),t(null!==(i=null==r?void 0:r.success)&&void 0!==i&&i)}))}))}))}var No;!function(e){e.RPC_CHECK=\"rpcCheck\",e.SKIPPED_RPC=\"skippedRpc\"}(No||(No={}));const Lo=[\"eth_sendTransaction\",\"eth_signTypedData\",\"eth_signTransaction\",\"personal_sign\",\"wallet_requestPermissions\",\"wallet_switchEthereumChain\",\"eth_signTypedData_v3\",\"eth_signTypedData_v4\",\"metamask_connectSign\",\"metamask_connectWith\",\"metamask_batch\"].map((e=>e.toLowerCase()));const Do=[{event:So.CLIENTS_CONNECTED,handler:function(e,t){return n=>c(this,void 0,void 0,(function*(){var n,r,i,o,s,a,c,l,d,u,h;const f=null!==(r=null===(n=e.remote.state.channelConfig)||void 0===n?void 0:n.relayPersistence)&&void 0!==r&&r;if(oo.SocketService(`[SocketService: handleClientsConnected()] context=${e.state.context} on 'clients_connected-${t}' relayPersistence=${f} resumed=${e.state.resumed} clientsPaused=${e.state.clientsPaused} keysExchanged=${null===(i=e.state.keyExchange)||void 0===i?void 0:i.areKeysExchanged()} isOriginator=${e.state.isOriginator}`),e.emit(So.CLIENTS_CONNECTED,{isOriginator:e.state.isOriginator,keysExchanged:null===(o=e.state.keyExchange)||void 0===o?void 0:o.areKeysExchanged(),context:e.state.context}),e.state.resumed)e.state.isOriginator||(oo.SocketService(`[SocketService: handleClientsConnected()] context=${e.state.context} 'clients_connected' / keysExchanged=${null===(s=e.state.keyExchange)||void 0===s?void 0:s.areKeysExchanged()} -- backward compatibility`),null===(a=e.state.keyExchange)||void 0===a||a.start({isOriginator:null!==(c=e.state.isOriginator)&&void 0!==c&&c})),e.state.resumed=!1;else if(e.state.clientsPaused)oo.SocketService(\"[SocketService: handleClientsConnected()] 'clients_connected' skip sending originatorInfo on pause\");else if(!e.state.isOriginator){const t=!f;oo.SocketService(`[SocketService: handleClientsConnected()] context=${e.state.context} on 'clients_connected' / keysExchanged=${null===(l=e.state.keyExchange)||void 0===l?void 0:l.areKeysExchanged()} -- force=${t} -- backward compatibility`),oo.SocketService(`[SocketService: handleClientsConnected()] context=${e.state.context} on 'clients_connected' / keysExchanged=${null===(d=e.state.keyExchange)||void 0===d?void 0:d.areKeysExchanged()} -- force=${t} -- backward compatibility`),null===(u=e.state.keyExchange)||void 0===u||u.start({isOriginator:null!==(h=e.state.isOriginator)&&void 0!==h&&h,force:t})}e.state.clientsConnected=!0,e.state.clientsPaused=!1}))}},{event:So.CHANNEL_CREATED,handler:function(e,t){return n=>{oo.SocketService(`[SocketService: handleChannelCreated()] context=${e.state.context} on 'channel_created-${t}'`,n),e.emit(So.CHANNEL_CREATED,n)}}},{event:So.CLIENTS_DISCONNECTED,handler:function(e,t){return()=>{var n;e.state.clientsConnected=!1,oo.SocketService(`[SocketService: handlesClientsDisconnected()] context=${e.state.context} on 'clients_disconnected-${t}'`),e.remote.state.relayPersistence?oo.SocketService(`[SocketService: handlesClientsDisconnected()] context=${e.state.context} on 'clients_disconnected-${t}' - relayPersistence enabled, skipping key exchange cleanup.`):(e.state.isOriginator&&!e.state.clientsPaused&&(null===(n=e.state.keyExchange)||void 0===n||n.clean()),e.emit(So.CLIENTS_DISCONNECTED,t))}}},{event:So.CONFIG,handler:function(e,t){return n=>c(this,void 0,void 0,(function*(){var r,i,o;oo.SocketService(`[SocketService: handleChannelConfig()] update relayPersistence on 'config-${t}'`,n);const{persistence:s,walletKey:a}=n;e.state.isOriginator&&e.remote.state.channelConfig?(n.walletKey&&!e.remote.state.channelConfig.otherKey&&(oo.SocketService(`Setting wallet key ${a}`),e.remote.state.channelConfig.otherKey=a,e.getKeyExchange().setOtherPublicKey(n.walletKey),null===(r=e.state.keyExchange)||void 0===r||r.setKeysExchanged(!0),yield e.remote.sendMessage({type:Co.KEY_HANDSHAKE_ACK}),yield e.remote.sendMessage({type:ko.PING}),yield null===(i=e.remote.state.storageManager)||void 0===i?void 0:i.persistChannelConfig(e.remote.state.channelConfig)),!0!==s||e.remote.state.channelConfig.relayPersistence||(oo.SocketService(`Setting relay persistence ${s}`),e.remote.state.channelConfig.relayPersistence=s,e.remote.state.relayPersistence=!0,e.remote.emit(So.CHANNEL_PERSISTENCE),e.remote.state.authorized=!0,e.remote.state.ready=!0,e.remote.emit(So.AUTHORIZED),yield null===(o=e.remote.state.storageManager)||void 0===o?void 0:o.persistChannelConfig(e.remote.state.channelConfig))):e.state.isOriginator||n.persistence&&(e.remote.state.relayPersistence=!0,e.remote.emit(So.CHANNEL_PERSISTENCE))}))}},{event:So.MESSAGE,handler:function(e,t){return r=>{var i,o,s,a,c,l,d,u,h,f,p,g,m,y,v,b,w,E;const{ackId:S,message:_,error:C}=r,k=null!==(i=e.remote.state.relayPersistence)&&void 0!==i&&i;if(oo.SocketService(`[SocketService handleMessage()] relayPersistence=${k} context=${e.state.context} on 'message' ${t} keysExchanged=${null===(o=e.state.keyExchange)||void 0===o?void 0:o.areKeysExchanged()}`,r),C)throw oo.SocketService(`\\n [SocketService handleMessage()] context=${e.state.context}::on 'message' error=${C}`),new Error(C);const A=\"string\"==typeof _;if(!A&&(null==_?void 0:_.type)===Co.KEY_HANDSHAKE_START){if(k)return;return oo.SocketService(`[SocketService handleMessage()] context=${e.state.context}::on 'message' received HANDSHAKE_START isOriginator=${e.state.isOriginator}`,_),void(null===(s=e.state.keyExchange)||void 0===s||s.start({isOriginator:null!==(a=e.state.isOriginator)&&void 0!==a&&a,force:!0}))}if(!A&&(null===(c=null==_?void 0:_.type)||void 0===c?void 0:c.startsWith(\"key_handshake\"))){if(k)return;return oo.SocketService(`[SocketService handleMessage()] context=${e.state.context}::on 'message' emit KEY_EXCHANGE`,_),void e.emit(_o.KEY_EXCHANGE,{message:_,context:e.state.context})}if(A&&!(null===(l=e.state.keyExchange)||void 0===l?void 0:l.areKeysExchanged())){let t=!1;try{oo.SocketService(`[SocketService handleMessage()] context=${e.state.context}::on 'message' trying to decrypt message`),null===(d=e.state.keyExchange)||void 0===d||d.decryptMessage(_),t=!0}catch(t){oo.SocketService(`[SocketService handleMessage()] context=${e.state.context}::on 'message' error`,t)}if(!t)return e.state.isOriginator?null===(h=e.state.keyExchange)||void 0===h||h.start({isOriginator:null!==(f=e.state.isOriginator)&&void 0!==f&&f}):e.sendMessage({type:Co.KEY_HANDSHAKE_START}).catch((e=>{})),void oo.SocketService(`Message ignored because invalid key exchange status. step=${null===(p=e.state.keyExchange)||void 0===p?void 0:p.getKeyInfo().step}`,null===(g=e.state.keyExchange)||void 0===g?void 0:g.getKeyInfo(),_);oo.SocketService(\"Invalid key exchange status detected --- updating it.\"),null===(u=e.state.keyExchange)||void 0===u||u.setKeysExchanged(!0)}else if(!A&&(null==_?void 0:_.type))return void e.emit(So.MESSAGE,_);if(!A)return void e.emit(So.MESSAGE,_);const x=null===(m=e.state.keyExchange)||void 0===m?void 0:m.decryptMessage(_),M=JSON.parse(null!=x?x:\"{}\");if(S&&(null==S?void 0:S.length)>0&&(oo.SocketService(`[SocketService handleMessage()] context=${e.state.context}::on 'message' ackid=${S} channelId=${t}`),null===(y=e.state.socket)||void 0===y||y.emit(So.MESSAGE_ACK,{ackId:S,channelId:t,clientType:e.state.isOriginator?\"dapp\":\"wallet\"})),e.state.clientsPaused=(null==M?void 0:M.type)===ko.PAUSE,e.state.isOriginator&&M.data){const t=M.data,r=e.state.rpcMethodTracker[t.id];if(r){const i=Date.now()-r.timestamp;oo.SocketService(`[SocketService handleMessage()] context=${e.state.context}::on 'message' received answer for id=${t.id} method=${r.method} responseTime=${i}`,M),e.remote.state.analytics&&Lo.includes(r.method.toLowerCase())&&lo(Object.assign(Object.assign({id:null!==(v=e.remote.state.channelId)&&void 0!==v?v:\"\",event:Ao.SDK_RPC_REQUEST_DONE,sdkVersion:e.remote.state.sdkVersion,commLayerVersion:ho.version},e.remote.state.originatorInfo),{walletVersion:null===(b=e.remote.state.walletInfo)||void 0===b?void 0:b.version,params:{method:r.method,from:\"mobile\"}}),e.remote.state.communicationServerUrl).catch((e=>{})),bo(r.method)&&n.track(t.error?4001===t.error.code?\"sdk_action_rejected\":\"sdk_action_failed\":\"sdk_action_succeeded\",{action:r.method});const o=Object.assign(Object.assign({},r),{result:t.result,error:t.error?{code:null===(w=t.error)||void 0===w?void 0:w.code,message:null===(E=t.error)||void 0===E?void 0:E.message}:void 0,elapsedTime:i});e.state.rpcMethodTracker[t.id]=o,e.emit(So.RPC_UPDATE,o)}}e.emit(So.MESSAGE,{message:M})}}},{event:So.REJECTED,handler:function(e,t){return r=>c(this,void 0,void 0,(function*(){var r;e.state.isOriginator&&!e.remote.state.ready?(oo.SocketService(`[SocketService: handleChannelRejected()] context=${e.state.context} channelId=${t} isOriginator=${e.state.isOriginator} ready=${e.remote.state.ready}`,e.remote.state.originatorInfo),lo(Object.assign(Object.assign({id:t,event:Ao.REJECTED},e.remote.state.originatorInfo),{sdkVersion:e.remote.state.sdkVersion,commLayer:e.state.communicationLayerPreference,commLayerVersion:ho.version,walletVersion:null===(r=e.remote.state.walletInfo)||void 0===r?void 0:r.version}),e.remote.state.communicationServerUrl).catch((e=>{})),n.track(\"sdk_connection_rejected\",{transport_type:\"websocket\"}),yield e.remote.disconnect({terminate:!0}),e.remote.emit(So.REJECTED,{channelId:t}),e.remote.setConnectionStatus(Eo.DISCONNECTED)):oo.SocketService(`[SocketService: handleChannelRejected()] SKIP -- channelId=${t} isOriginator=${e.state.isOriginator} ready=${e.remote.state.ready}`)}))}},{event:\"clients_waiting_to_join\",handler:function(e,t){return n=>{oo.SocketService(`[SocketService: handleClientsWaitingToJoin()] context=${e.state.context} on 'clients_waiting_to_join-${t}'`,n),e.emit(So.CLIENTS_WAITING,n)}}}],$o=[{event:So.KEY_INFO,handler:function(e){return t=>{oo.SocketService(\"[SocketService: handleKeyInfo()] on 'KEY_INFO'\",t),e.emit(So.KEY_INFO,t)}}},{event:So.KEYS_EXCHANGED,handler:function(e){return()=>{var t,n,r;oo.SocketService(`[SocketService: handleKeysExchanged()] on 'keys_exchanged' keyschanged=${null===(t=e.state.keyExchange)||void 0===t?void 0:t.areKeysExchanged()}`);const{channelConfig:i}=e.remote.state;if(i){const t=e.getKeyExchange().getKeyInfo().ecies;i.localKey=t.private,i.otherKey=t.otherPubKey,e.remote.state.channelConfig=i,null===(n=e.remote.state.storageManager)||void 0===n||n.persistChannelConfig(i).catch((e=>{}))}e.emit(So.KEYS_EXCHANGED,{keysExchanged:null===(r=e.state.keyExchange)||void 0===r?void 0:r.areKeysExchanged(),isOriginator:e.state.isOriginator});const o={keyInfo:e.getKeyInfo()};e.emit(So.SERVICE_STATUS,o)}}}];function Bo(e,t){oo.SocketService(`[SocketService: setupChannelListener()] context=${e.state.context} setting socket listeners for channel ${t}...`);const{socket:n}=e.state,{keyExchange:r}=e.state;n&&e.state.isOriginator&&(e.state.debug&&(null==n||n.io.on(\"error\",(t=>{oo.SocketService(`[SocketService: setupChannelListener()] context=${e.state.context} socket event=error`,t)})),null==n||n.io.on(\"reconnect\",(t=>{oo.SocketService(`[SocketService: setupChannelListener()] context=${e.state.context} socket event=reconnect`,t),Po(e).catch((e=>{}))})),null==n||n.io.on(\"reconnect_error\",(t=>{oo.SocketService(`[SocketService: setupChannelListener()] context=${e.state.context} socket event=reconnect_error`,t)})),null==n||n.io.on(\"reconnect_failed\",(()=>{oo.SocketService(`[SocketService: setupChannelListener()] context=${e.state.context} socket event=reconnect_failed`)}))),null==n||n.on(\"disconnect\",(t=>(oo.SocketService(`[SocketService: setupChannelListener()] on 'disconnect' -- MetaMaskSDK socket disconnected '${t}' begin recovery...`),function(e){return t=>{oo.SocketService(`[SocketService: handleDisconnect()] on 'disconnect' manualDisconnect=${e.state.manualDisconnect}`,t),e.state.manualDisconnect||(e.emit(So.SOCKET_DISCONNECTED),Po(e).catch((e=>{})))}}(e)(t))))),Do.forEach((({event:r,handler:i})=>{null==n||n.on(`${r}-${t}`,i(e,t))})),$o.forEach((({event:t,handler:n})=>{null==r||r.on(t,n(e))})),e.state.setupChannelListeners=!0}class Ko extends i{constructor(e){super(),this.state={clientsConnected:!1,clientsPaused:!1,manualDisconnect:!1,lastRpcId:void 0,rpcMethodTracker:{},hasPlaintext:!1,communicationServerUrl:\"\",focusListenerAdded:!1,removeFocusListener:void 0,isReconnecting:!1,reconnectionAttempts:0},this.options=e;const{reconnect:n,communicationLayerPreference:r,communicationServerUrl:i,context:o,remote:s,logging:a}=e;this.state.resumed=n,this.state.context=o,this.state.isOriginator=s.state.isOriginator,this.state.communicationLayerPreference=r,this.state.debug=!0===(null==a?void 0:a.serviceLayer),this.remote=s,!0===(null==a?void 0:a.serviceLayer)&&t.enable(\"SocketService:Layer\"),this.state.communicationServerUrl=i,this.state.hasPlaintext=this.state.communicationServerUrl!==fo&&!0===(null==a?void 0:a.plaintext),oo.SocketService(`[SocketService: constructor()] Socket IO url: ${this.state.communicationServerUrl}`),this.initSocket()}initSocket(){var e;const{otherPublicKey:t,ecies:n,logging:r}=this.options,i={autoConnect:!1,transports:po,withCredentials:!0},o=this.state.communicationServerUrl;oo.SocketService(`[SocketService: initSocket()] Socket IO url: ${o}`),this.state.socket=a(o,i),function(e){if(\"undefined\"!=typeof window&&\"undefined\"!=typeof document&&(oo.SocketService(`[SocketService: setupSocketFocusListener()] hasFocus=${document.hasFocus()}`,e),!e.state.focusListenerAdded)){const t=()=>{oo.SocketService(\"Document has focus --- reconnecting socket\"),Po(e).catch((e=>{}))};window.addEventListener(\"focus\",t),e.state.focusListenerAdded=!0,e.state.removeFocusListener=()=>{window.removeEventListener(\"focus\",t),e.state.focusListenerAdded=!1}}}(this);const s={communicationLayer:this,otherPublicKey:t,sendPublicKey:!1,context:null!==(e=this.state.context)&&void 0!==e?e:\"\",ecies:n,logging:r};this.state.keyExchange=new Mo(s)}resetKeys(){return oo.SocketService(\"[SocketService: resetKeys()] Resetting keys.\"),void(null===(e=this.state.keyExchange)||void 0===e||e.resetKeys());var e}createChannel(){return c(this,void 0,void 0,(function*(){return function(e){return c(this,void 0,void 0,(function*(){var t,n,r;if(oo.SocketService(`[SocketService: createChannel()] context=${e.state.context}`),e.state.socket||e.initSocket(),null===(t=e.state.socket)||void 0===t?void 0:t.connected)throw new Error(\"socket already connected\");null===(n=e.state.socket)||void 0===n||n.connect(),e.state.manualDisconnect=!1,e.state.isOriginator=!0;const i=s();e.state.channelId=i,Bo(e,i),yield new Promise(((t,n)=>{var r;null===(r=e.state.socket)||void 0===r||r.emit(So.JOIN_CHANNEL,{channelId:i,context:`${e.state.context}createChannel`,clientType:\"dapp\"},((r,i)=>c(this,void 0,void 0,(function*(){try{yield Io(e,r,i),t()}catch(e){n(e)}}))))}));const o=null===(r=e.state.keyExchange)||void 0===r?void 0:r.getKeyInfo();return{channelId:i,pubKey:(null==o?void 0:o.ecies.public)||\"\",privKey:(null==o?void 0:o.ecies.private)||\"\"}}))}(this)}))}connectToChannel({channelId:e,withKeyExchange:t=!1,authorized:n}){return function(e){return c(this,arguments,void 0,(function*({options:e,instance:t}){const{channelId:n,authorized:r,withKeyExchange:i}=e,{state:o,remote:s}=t,{isOriginator:a=!1,socket:l,keyExchange:d}=o,{channelConfig:u}=s.state;if(null==l?void 0:l.connected)throw new Error(\"socket already connected\");if(a&&(null==u?void 0:u.relayPersistence)){const{localKey:e,otherKey:t}=u;e&&t&&(null==d||d.setRelayPersistence({localKey:e,otherKey:t}))}return Object.assign(o,{manualDisconnect:!1,withKeyExchange:i,isOriginator:a,channelId:n}),null==l||l.connect(),Bo(t,n),!a&&r&&(null==d||d.setKeysExchanged(!0),Object.assign(s.state,{ready:!0,authorized:!0})),new Promise((e=>{var i;const s=null===(i=null==d?void 0:d.getKeyInfo())||void 0===i?void 0:i.ecies.public;null==l||l.emit(So.JOIN_CHANNEL,{channelId:n,context:`${o.context}_connectToChannel`,clientType:a?\"dapp\":\"wallet\",publicKey:r&&!a?s:void 0},((n,r)=>c(this,void 0,void 0,(function*(){yield Io(t,n,r),e()}))))}))}))}({options:{channelId:e,withKeyExchange:t,authorized:n},instance:this})}getKeyInfo(){return this.state.keyExchange.getKeyInfo()}keyCheck(){var e,t;null===(t=(e=this).state.socket)||void 0===t||t.emit(So.MESSAGE,{id:e.state.channelId,context:e.state.context,message:{type:Co.KEY_HANDSHAKE_CHECK,pubkey:e.getKeyInfo().ecies.otherPubKey}})}getKeyExchange(){return this.state.keyExchange}sendMessage(e){return c(this,void 0,void 0,(function*(){return function(e,t){return c(this,void 0,void 0,(function*(){var r,i,o;if(!e.state.channelId)throw oo.SocketService(\"handleSendMessage: no channelId - Create a channel first\"),new Error(\"Create a channel first\");if(oo.SocketService(`[SocketService: handleSendMessage()] context=${e.state.context} areKeysExchanged=${null===(r=e.state.keyExchange)||void 0===r?void 0:r.areKeysExchanged()}`,t),null===(i=null==t?void 0:t.type)||void 0===i?void 0:i.startsWith(\"key_handshake\"))return function(e,t){var n;oo.SocketService(`[SocketService: handleKeyHandshake()] context=${e.state.context}`,t),null===(n=e.state.socket)||void 0===n||n.emit(So.MESSAGE,{id:e.state.channelId,context:e.state.context,clientType:e.state.isOriginator?\"dapp\":\"wallet\",message:t})}(e,t),!0;!function(e,t){var n;if(!(null===(n=e.state.keyExchange)||void 0===n?void 0:n.areKeysExchanged())&&!e.remote.state.relayPersistence)throw oo.SocketService(`[SocketService: validateKeyExchange()] context=${e.state.context} ERROR keys not exchanged`,t),new Error(\"Keys not exchanged BBB\")}(e,t),function(e,t){var n;const r=null!==(n=null==t?void 0:t.method)&&void 0!==n?n:\"\",i=null==t?void 0:t.id;e.state.isOriginator&&i&&(e.state.rpcMethodTracker[i]={id:i,timestamp:Date.now(),method:r},e.emit(So.RPC_UPDATE,e.state.rpcMethodTracker[i]))}(e,t);const s=yield Oo(e,t);return e.remote.state.analytics&&e.remote.state.isOriginator&&t.method&&Lo.includes(t.method.toLowerCase())&&lo({id:null!==(o=e.remote.state.channelId)&&void 0!==o?o:\"\",event:Ao.SDK_RPC_REQUEST,params:{method:t.method,from:\"mobile\"}},e.remote.state.communicationServerUrl).catch((e=>{})),e.remote.state.isOriginator&&t.method&&bo(t.method)&&n.track(\"sdk_action_requested\",{action:t.method}),function(e,t){return c(this,void 0,void 0,(function*(){var n;const r=null==t?void 0:t.id,i=null!==(n=null==t?void 0:t.method)&&void 0!==n?n:\"\";if(e.state.isOriginator&&r)try{const n=Ro(r,e.state.rpcMethodTracker,200).then((e=>({type:No.RPC_CHECK,result:e}))),o=(()=>c(this,void 0,void 0,(function*(){const t=yield(e=>c(void 0,[e],void 0,(function*({rpcId:e,instance:t}){for(;t.state.lastRpcId===e||void 0===t.state.lastRpcId;)yield To(200);return t.state.lastRpcId})))({instance:e,rpcId:r}),n=yield Ro(t,e.state.rpcMethodTracker,200);return{type:No.SKIPPED_RPC,result:n}})))(),s=yield Promise.race([n,o]);if(s.type===No.RPC_CHECK){const e=s.result;oo.SocketService(`[SocketService:handleRpcReplies()] id=${t.id} ${i} ( ${e.elapsedTime} ms)`,e.result)}else{if(s.type!==No.SKIPPED_RPC)throw new Error(`Error handling RPC replies for ${r}`);{const t=Object.assign(Object.assign({},e.state.rpcMethodTracker[r]),{error:new Error(\"SDK_CONNECTION_ISSUE\")});e.emit(So.RPC_UPDATE,t);const n={data:Object.assign(Object.assign({},t),{jsonrpc:\"2.0\"}),name:\"metamask-provider\"};e.emit(So.MESSAGE,{message:n})}}}catch(e){throw e}}))}(e,t).catch((e=>{})),s}))}(this,e)}))}ping(){return function(e){return c(this,void 0,void 0,(function*(){var t,n;oo.SocketService(`[SocketService: ping()] context=${e.state.context} originator=${e.state.isOriginator} keysExchanged=${null===(t=e.state.keyExchange)||void 0===t?void 0:t.areKeysExchanged()}`),null===(n=e.state.socket)||void 0===n||n.emit(ko.PING,{id:e.state.channelId,context:\"ping\",clientType:e.remote.state.isOriginator?\"dapp\":\"wallet\",message:\"\"})}))}(this)}pause(){return function(e){return c(this,void 0,void 0,(function*(){var t,n;oo.SocketService(`[SocketService: pause()] context=${e.state.context}`),e.state.manualDisconnect=!0,(null===(t=e.state.keyExchange)||void 0===t?void 0:t.areKeysExchanged())&&(yield e.sendMessage({type:ko.PAUSE})),null===(n=e.state.socket)||void 0===n||n.disconnect()}))}(this)}isConnected(){var e;return null===(e=this.state.socket)||void 0===e?void 0:e.connected}resume(){return function(e){return c(this,void 0,void 0,(function*(){const{state:t,remote:n}=e,{socket:r,channelId:i,context:o,keyExchange:s,isOriginator:a}=t,{isOriginator:l}=n.state;if(oo.SocketService(`[SocketService: resume()] channelId=${i} context=${o} connected=${null==r?void 0:r.connected} manualDisconnect=${t.manualDisconnect} resumed=${t.resumed} keysExchanged=${null==s?void 0:s.areKeysExchanged()}`),!i)throw oo.SocketService(\"[SocketService: resume()] channelId is not defined\"),new Error(\"ChannelId is not defined\");(null==r?void 0:r.connected)?(oo.SocketService(\"[SocketService: resume()] already connected.\"),r.emit(ko.PING,{id:i,clientType:l?\"dapp\":\"wallet\",context:\"on_channel_config\",message:\"\"}),n.hasRelayPersistence()||(null==s?void 0:s.areKeysExchanged())||(a?yield e.sendMessage({type:ko.READY}):null==s||s.start({isOriginator:!1}))):(null==r||r.connect(),oo.SocketService(`[SocketService: resume()] after connecting socket --\\x3e connected=${null==r?void 0:r.connected}`),null==r||r.emit(So.JOIN_CHANNEL,{channelId:i,context:`${o}_resume`,clientType:l?\"dapp\":\"wallet\"},((t,n)=>c(this,void 0,void 0,(function*(){try{yield Io(e,t,n)}catch(e){}}))))),t.manualDisconnect=!1,t.resumed=!0}))}(this)}getRPCMethodTracker(){return this.state.rpcMethodTracker}disconnect(e){return function(e,t){var n,r,i,o,s;oo.SocketService(`[SocketService: disconnect()] context=${e.state.context}`,t),(null==t?void 0:t.terminate)&&(null===(r=(n=e.state).removeFocusListener)||void 0===r||r.call(n),e.state.channelId=t.channelId,null===(i=e.state.socket)||void 0===i||i.removeAllListeners(),null===(o=e.state.keyExchange)||void 0===o||o.clean(),e.remote.state.ready=!1,e.state.socket=void 0,e.state.rpcMethodTracker={}),e.state.manualDisconnect=!0,null===(s=e.state.socket)||void 0===s||s.disconnect()}(this,e)}}var jo,Uo,Ho;function Fo(e){return()=>c(this,void 0,void 0,(function*(){var t,n,r;const{state:i}=e;if(i.authorized)return;yield(()=>c(this,void 0,void 0,(function*(){for(;!i.walletInfo;)yield To(500)})))();const o=\"7.3\".localeCompare((null===(t=i.walletInfo)||void 0===t?void 0:t.version)||\"\");if(oo.RemoteCommunication(`[RemoteCommunication: handleAuthorizedEvent()] HACK 'authorized' version=${null===(n=i.walletInfo)||void 0===n?void 0:n.version} compareValue=${o}`),1!==o)return;const s=i.platformType===Uo.MobileWeb||i.platformType===Uo.ReactNative||i.platformType===Uo.MetaMaskMobileWebview;oo.RemoteCommunication(`[RemoteCommunication: handleAuthorizedEvent()] HACK 'authorized' platform=${i.platformType} secure=${s} channel=${i.channelId} walletVersion=${null===(r=i.walletInfo)||void 0===r?void 0:r.version}`),s&&(i.authorized=!0,e.emit(So.AUTHORIZED))}))}function zo(e){return t=>{const{state:n}=e;oo.RemoteCommunication(`[RemoteCommunication: handleChannelCreatedEvent()] context=${n.context} on 'channel_created' channelId=${t}`),e.emit(So.CHANNEL_CREATED,t)}}function qo(e,t){return()=>{var r,i,o,s;const{state:a}=e;oo.RemoteCommunication(`[RemoteCommunication: handleClientsConnectedEvent()] on 'clients_connected' channel=${a.channelId} keysExchanged=${null===(i=null===(r=a.communicationLayer)||void 0===r?void 0:r.getKeyInfo())||void 0===i?void 0:i.keysExchanged}`),a.analytics&&lo(Object.assign(Object.assign({id:null!==(o=a.channelId)&&void 0!==o?o:\"\",event:a.reconnection?Ao.RECONNECT:a.isOriginator?Ao.REQUEST:Ao.REQUEST_MOBILE},a.originatorInfo),{commLayer:t,sdkVersion:a.sdkVersion,walletVersion:null===(s=a.walletInfo)||void 0===s?void 0:s.version,commLayerVersion:ho.version}),a.communicationServerUrl).catch((e=>{})),a.isOriginator&&!a.reconnection&&n.track(\"sdk_connection_established\",{transport_type:\"websocket\"}),a.clientsConnected=!0,a.originatorInfoSent=!1,e.emit(So.CLIENTS_CONNECTED)}}function Wo(e){return t=>{const{state:n}=e;oo.RemoteCommunication(`[RemoteCommunication: handleClientsDisconnectedEvent()] context=${n.context} on 'clients_disconnected' channelId=${t}`),n.relayPersistence||(n.clientsConnected=!1,n.ready=!1,n.authorized=!1),e.emit(So.CLIENTS_DISCONNECTED,n.channelId),e.setConnectionStatus(Eo.DISCONNECTED)}}function Vo(e){return t=>{var n;const{state:r}=e;if(oo.RemoteCommunication(`[RemoteCommunication: handleClientsWaitingEvent()] context=${r.context} on 'clients_waiting' numberUsers=${t} ready=${r.ready} autoStarted=${r.originatorConnectStarted}`),e.setConnectionStatus(Eo.WAITING),e.emit(So.CLIENTS_WAITING,t),r.originatorConnectStarted){oo.RemoteCommunication(`[RemoteCommunication: handleClientsWaitingEvent()] on 'clients_waiting' watch autoStarted=${r.originatorConnectStarted} timeout`,r.autoConnectOptions);const t=(null===(n=r.autoConnectOptions)||void 0===n?void 0:n.timeout)||3e3,i=setTimeout((()=>{oo.RemoteCommunication(`[RemoteCommunication: handleClientsWaitingEvent()] setTimeout(${t}) terminate channelConfig`,r.autoConnectOptions),r.originatorConnectStarted=!1,r.ready||e.setConnectionStatus(Eo.TIMEOUT),clearTimeout(i)}),t)}}}function Go(e,t){return n=>{var r,i,o,s,a,c,l,d;const{state:u}=e;if(oo.RemoteCommunication(`[RemoteCommunication: handleKeysExchangedEvent()] context=${u.context} on commLayer.'keys_exchanged' channel=${u.channelId}`,n),null===(i=null===(r=u.communicationLayer)||void 0===r?void 0:r.getKeyInfo())||void 0===i?void 0:i.keysExchanged){const t=Object.assign(Object.assign({},u.channelConfig),{channelId:null!==(o=u.channelId)&&void 0!==o?o:\"\",validUntil:(null===(s=u.channelConfig)||void 0===s?void 0:s.validUntil)||go,localKey:u.communicationLayer.getKeyInfo().ecies.private,otherKey:u.communicationLayer.getKeyInfo().ecies.otherPubKey});null===(a=u.storageManager)||void 0===a||a.persistChannelConfig(t).catch((e=>{})),e.setConnectionStatus(Eo.LINKED)}!function(e,t){var n,r,i,o,s,a,c,l;const{state:d}=e;oo.RemoteCommunication(`[RemoteCommunication: setLastActiveDate()] channel=${d.channelId}`,t);const u=Object.assign(Object.assign({},d.channelConfig),{channelId:null!==(n=d.channelId)&&void 0!==n?n:\"\",validUntil:null!==(i=null===(r=d.channelConfig)||void 0===r?void 0:r.validUntil)&&void 0!==i?i:0,relayPersistence:d.relayPersistence,localKey:null===(s=null===(o=d.communicationLayer)||void 0===o?void 0:o.state.keyExchange)||void 0===s?void 0:s.getKeyInfo().ecies.private,otherKey:null===(c=null===(a=d.communicationLayer)||void 0===a?void 0:a.state.keyExchange)||void 0===c?void 0:c.getKeyInfo().ecies.otherPubKey,lastActive:t.getTime()});null===(l=d.storageManager)||void 0===l||l.persistChannelConfig(u)}(e,new Date),u.analytics&&u.channelId&&lo(Object.assign(Object.assign({id:u.channelId,event:n.isOriginator?Ao.CONNECTED:Ao.CONNECTED_MOBILE},u.originatorInfo),{sdkVersion:u.sdkVersion,commLayer:t,commLayerVersion:ho.version,walletVersion:null===(c=u.walletInfo)||void 0===c?void 0:c.version}),u.communicationServerUrl).catch((e=>{})),u.isOriginator=n.isOriginator,n.isOriginator||(null===(l=u.communicationLayer)||void 0===l||l.sendMessage({type:ko.READY}),u.ready=!0,u.paused=!1),n.isOriginator&&!u.originatorInfoSent&&(null===(d=u.communicationLayer)||void 0===d||d.sendMessage({type:ko.ORIGINATOR_INFO,originatorInfo:u.originatorInfo,originator:u.originatorInfo}),u.originatorInfoSent=!0)}}function Yo(e){return t=>{let n=t;t.message&&(n=n.message),function(e,t){const{state:n}=t;if(oo.RemoteCommunication(`[RemoteCommunication: onCommunicationLayerMessage()] context=${n.context} on 'message' typeof=${typeof e}`,e),t.state.ready=!0,n.isOriginator||e.type!==ko.ORIGINATOR_INFO)if(n.isOriginator&&e.type===ko.WALLET_INFO)!function(e,t){const{state:n}=e;n.walletInfo=t.walletInfo,n.paused=!1}(t,e);else{if(n.isOriginator&&e.type===ko.WALLET_INIT)(function(e,t){return c(this,void 0,void 0,(function*(){var n,r,i;const{state:o}=e;if(o.isOriginator){const o=t.data||{};if(\"object\"==typeof o&&\"accounts\"in o&&\"chainId\"in o&&\"walletKey\"in o)try{const{channelConfig:t}=e.state;if(oo.RemoteCommunication(\"WALLET_INIT: channelConfig\",JSON.stringify(t,null,2)),t){const s=o.accounts,a=o.chainId,c=o.walletKey;let l,d=!1;\"deeplinkProtocol\"in o&&(d=Boolean(o.deeplinkProtocol),e.state.deeplinkProtocolAvailable=d),\"walletVersion\"in o&&(l=o.walletVersion),yield null===(n=e.state.storageManager)||void 0===n?void 0:n.persistChannelConfig(Object.assign(Object.assign({},t),{otherKey:c,walletVersion:l,deeplinkProtocolAvailable:d,relayPersistence:!0})),yield null===(r=e.state.storageManager)||void 0===r?void 0:r.persistAccounts(s),yield null===(i=e.state.storageManager)||void 0===i?void 0:i.persistChainId(a)}e.emit(So.WALLET_INIT,{accounts:o.accounts,chainId:o.chainId})}catch(n){}}}))})(t,e).catch((e=>{oo.RemoteCommunication(`[RemoteCommunication: onCommunicationLayerMessage()] error=${e}`)}));else if(e.type===ko.TERMINATE)(function(e){return c(this,void 0,void 0,(function*(){const{state:t}=e;t.isOriginator&&(yield es({options:{terminate:!0,sendMessage:!1},instance:e}),e.emit(So.TERMINATE))}))})(t).catch((e=>{oo.RemoteCommunication(`[RemoteCommunication: onCommunicationLayerMessage()] error=${e}`)}));else if(e.type===ko.PAUSE)!function(e){const{state:t}=e;t.paused=!0,e.setConnectionStatus(Eo.PAUSED)}(t);else if(e.type===ko.READY&&n.isOriginator)!function(e){const{state:t}=e;e.setConnectionStatus(Eo.LINKED);const n=t.paused;t.paused=!1,e.emit(So.CLIENTS_READY,{isOriginator:t.isOriginator,walletInfo:t.walletInfo}),n&&(t.authorized=!0,e.emit(So.AUTHORIZED))}(t);else{if(e.type===ko.OTP&&n.isOriginator)return void function(e,t){var n;const{state:r}=e;e.emit(So.OTP,t.otpAnswer),1===\"6.6\".localeCompare((null===(n=r.walletInfo)||void 0===n?void 0:n.version)||\"\")&&e.emit(So.SDK_RPC_CALL,{method:yo.ETH_REQUESTACCOUNTS,params:[]})}(t,e);e.type===ko.AUTHORIZED&&n.isOriginator&&function(e){const{state:t}=e;t.authorized=!0,e.emit(So.AUTHORIZED)}(t)}t.emit(So.MESSAGE,e)}else!function(e,t){var n;const{state:r}=e;null===(n=r.communicationLayer)||void 0===n||n.sendMessage({type:ko.WALLET_INFO,walletInfo:r.walletInfo}),r.originatorInfo=t.originatorInfo||t.originator,e.emit(So.CLIENTS_READY,{isOriginator:r.isOriginator,originatorInfo:r.originatorInfo}),r.paused=!1}(t,e)}(n,e)}}function Zo(e){return()=>{const{state:t}=e;oo.RemoteCommunication(\"[RemoteCommunication: handleSocketReconnectEvent()] on 'socket_reconnect' -- reset key exchange status / set ready to false\"),t.ready=!1,t.authorized=!1,wo(t),e.emitServiceStatusEvent({context:\"socket_reconnect\"})}}function Jo(e){return()=>{const{state:t}=e;oo.RemoteCommunication(\"[RemoteCommunication: handleSocketDisconnectedEvent()] on 'socket_Disconnected' set ready to false\"),t.ready=!1}}function Qo(e){return()=>c(this,void 0,void 0,(function*(){var t,n,r,i,o,s,a;const{state:c}=e;oo.RemoteCommunication(`[RemoteCommunication: handleFullPersistenceEvent()] context=${c.context}`),e.state.ready=!0,e.state.clientsConnected=!0,e.state.authorized=!0,e.state.relayPersistence=!0,null===(t=e.state.communicationLayer)||void 0===t||t.getKeyExchange().setKeysExchanged(!0),e.emit(So.KEYS_EXCHANGED,{keysExchanged:!0,isOriginator:!0}),e.emit(So.AUTHORIZED),e.emit(So.CLIENTS_READY),e.emit(So.CHANNEL_PERSISTENCE);try{c.channelConfig=Object.assign(Object.assign({},c.channelConfig),{localKey:null===(n=c.communicationLayer)||void 0===n?void 0:n.getKeyExchange().getKeyInfo().ecies.private,otherKey:null===(r=c.communicationLayer)||void 0===r?void 0:r.getKeyExchange().getOtherPublicKey(),channelId:null!==(i=c.channelId)&&void 0!==i?i:\"\",validUntil:null!==(s=null===(o=c.channelConfig)||void 0===o?void 0:o.validUntil)&&void 0!==s?s:go,relayPersistence:!0}),yield null===(a=c.storageManager)||void 0===a?void 0:a.persistChannelConfig(c.channelConfig)}catch(t){}}))}function Xo({communicationLayerPreference:e,otherPublicKey:t,reconnect:n,ecies:r,communicationServerUrl:i=fo,instance:o}){var s,a,c,l,d,u,h,f,p,g,m;const{state:y}=o;if(oo.RemoteCommunication(\"[initCommunicationLayer()] \",JSON.stringify(y,null,2)),e!==jo.SOCKET)throw new Error(\"Invalid communication protocol\");y.communicationLayer=new Ko({communicationLayerPreference:e,otherPublicKey:t,reconnect:n,transports:y.transports,communicationServerUrl:i,context:y.context,ecies:r,logging:y.logging,remote:o});let v=\"undefined\"!=typeof document&&document.URL||\"\",b=\"undefined\"!=typeof document&&document.title||\"\";(null===(s=y.dappMetadata)||void 0===s?void 0:s.url)&&(v=y.dappMetadata.url),(null===(a=y.dappMetadata)||void 0===a?void 0:a.name)&&(b=y.dappMetadata.name);const w=null!==(u=null!==(l=null===(c=y.dappMetadata)||void 0===c?void 0:c.name)&&void 0!==l?l:null===(d=y.dappMetadata)||void 0===d?void 0:d.url)&&void 0!==u?u:\"N/A\",E=\"undefined\"!=typeof window&&void 0!==window.location&&null!==(h=window.location.hostname)&&void 0!==h?h:w,S={url:v,title:b,source:null===(f=y.dappMetadata)||void 0===f?void 0:f.source,dappId:E,anonId:y.anonId,icon:(null===(p=y.dappMetadata)||void 0===p?void 0:p.iconUrl)||(null===(g=y.dappMetadata)||void 0===g?void 0:g.base64Icon),platform:y.platformType,apiVersion:ho.version,connector:null===(m=y.dappMetadata)||void 0===m?void 0:m.connector};y.originatorInfo=S;const _={[So.AUTHORIZED]:Fo(o),[So.MESSAGE]:Yo(o),[So.CHANNEL_PERSISTENCE]:Qo(o),[So.CLIENTS_CONNECTED]:qo(o,e),[So.KEYS_EXCHANGED]:Go(o,e),[So.SOCKET_DISCONNECTED]:Jo(o),[So.SOCKET_RECONNECT]:Zo(o),[So.CLIENTS_DISCONNECTED]:Wo(o),[So.KEY_INFO]:()=>{},[So.CHANNEL_CREATED]:zo(o),[So.CLIENTS_WAITING]:Vo(o),[So.RPC_UPDATE]:e=>{o.emit(So.RPC_UPDATE,e)}};for(const[t,n]of Object.entries(_))try{y.communicationLayer.on(t,n)}catch(e){}}function es(e){return c(this,arguments,void 0,(function*({options:e,instance:t}){const{state:n}=t;return oo.RemoteCommunication(`[RemoteCommunication: disconnect()] channel=${n.channelId}`,e),new Promise(((r,i)=>{var o,a,c,l,d,u;(null==e?void 0:e.terminate)?(t.state.ready&&lo({id:null!==(o=t.state.channelId)&&void 0!==o?o:\"\",event:Ao.TERMINATED},t.state.communicationServerUrl).catch((e=>{})),n.ready=!1,n.paused=!1,null===(a=n.storageManager)||void 0===a||a.terminate(null!==(c=n.channelId)&&void 0!==c?c:\"\"),t.state.terminated=!0,e.sendMessage?(null===(l=n.communicationLayer)||void 0===l?void 0:l.getKeyInfo().keysExchanged)&&t.state.communicationLayer&&Oo(t.state.communicationLayer,{type:ko.TERMINATE}).then((()=>{r(!0)})).catch((e=>{i(e)})):r(!0),n.authorized=!1,n.relayPersistence=!1,n.channelId=s(),e.channelId=n.channelId,n.channelConfig=void 0,n.originatorConnectStarted=!1,null===(d=n.communicationLayer)||void 0===d||d.disconnect(e),t.setConnectionStatus(Eo.TERMINATED)):(null===(u=n.communicationLayer)||void 0===u||u.disconnect(e),t.setConnectionStatus(Eo.DISCONNECTED),r(!0))}))}))}(jo||(jo={})).SOCKET=\"socket\",function(e){e.NonBrowser=\"nodejs\",e.MetaMaskMobileWebview=\"in-app-browser\",e.DesktopWeb=\"web-desktop\",e.MobileWeb=\"web-mobile\",e.ReactNative=\"react-native\"}(Uo||(Uo={}));class ts extends i{constructor(e){super(),this.state={ready:!1,anonId:\"\",authorized:!1,isOriginator:!1,terminated:!1,protocolVersion:1,paused:!1,deeplinkProtocolAvailable:!1,platformType:\"metamask-mobile\",analytics:!1,reconnection:!1,originatorInfoSent:!1,communicationServerUrl:fo,context:\"\",persist:!1,clientsConnected:!1,sessionDuration:go,originatorConnectStarted:!1,debug:!1,_connectionStatus:Eo.DISCONNECTED},this._options=e;const{anonId:n,platformType:r,communicationLayerPreference:i,otherPublicKey:o,reconnect:s,walletInfo:a,dappMetadata:c,protocolVersion:l,transports:d,context:u,relayPersistence:h,ecies:f,analytics:p=!1,storage:g,sdkVersion:m,communicationServerUrl:y=fo,logging:v,autoConnect:b={timeout:mo}}=e;this.state.anonId=n,this.state.otherPublicKey=o,this.state.dappMetadata=c,this.state.walletInfo=a,this.state.transports=d,this.state.platformType=r,this.state.analytics=p,this.state.protocolVersion=null!=l?l:1,this.state.isOriginator=!o,this.state.relayPersistence=h,this.state.communicationServerUrl=y,this.state.context=u,this.state.terminated=!1,this.state.sdkVersion=m,this.setMaxListeners(50),this.setConnectionStatus(Eo.DISCONNECTED),(null==g?void 0:g.duration)&&(this.state.sessionDuration=go),this.state.storageOptions=g,this.state.autoConnectOptions=b,this.state.debug=!0===(null==v?void 0:v.remoteLayer),!0===(null==v?void 0:v.remoteLayer)&&t.enable(\"RemoteCommunication:Layer\"),!0===(null==v?void 0:v.serviceLayer)&&t.enable(\"SocketService:Layer\"),!0===(null==v?void 0:v.eciesLayer)&&t.enable(\"ECIES:Layer\"),!0===(null==v?void 0:v.keyExchangeLayer)&&t.enable(\"KeyExchange:Layer\"),this.state.logging=v,(null==g?void 0:g.storageManager)&&(this.state.storageManager=g.storageManager),oo.RemoteCommunication(`[RemoteCommunication: constructor()] protocolVersion=${l} relayPersistence=${h} isOriginator=${this.state.isOriginator} communicationLayerPreference=${i} otherPublicKey=${o} reconnect=${s}`),this.state.isOriginator||Xo({communicationLayerPreference:i,otherPublicKey:o,reconnect:s,ecies:f,communicationServerUrl:y,instance:this}),this.emitServiceStatusEvent({context:\"constructor\"})}initFromDappStorage(){return c(this,void 0,void 0,(function*(){var e;if(this.state.storageManager){const t=yield this.state.storageManager.getPersistedChannelConfig({});t&&(this.state.channelConfig=t,this.state.channelId=t.channelId,this.state.deeplinkProtocolAvailable=null!==(e=t.deeplinkProtocolAvailable)&&void 0!==e&&e,t.relayPersistence&&(this.state.authorized=!0,this.state.ready=!0,this.setConnectionStatus(Eo.LINKED),yield this.connectToChannel({channelId:t.channelId})))}Xo({communicationLayerPreference:jo.SOCKET,otherPublicKey:this.state.otherPublicKey,reconnect:this._options.reconnect,ecies:this._options.ecies,communicationServerUrl:this.state.communicationServerUrl,instance:this})}))}originatorSessionConnect(){return c(this,void 0,void 0,(function*(){return yield function(e){return c(this,void 0,void 0,(function*(){var t;const{state:n}=e;if(!n.storageManager)return void oo.RemoteCommunication(\"[RemoteCommunication: originatorSessionConnect()] no storage manager defined - skip\");const r=yield n.storageManager.getPersistedChannelConfig({});if(oo.RemoteCommunication(`[RemoteCommunication: originatorSessionConnect()] autoStarted=${n.originatorConnectStarted} channelConfig`,r),null===(t=n.communicationLayer)||void 0===t?void 0:t.isConnected())return oo.RemoteCommunication(\"[RemoteCommunication: originatorSessionConnect()] socket already connected - skip\"),r;if(r){if(r.validUntil>Date.now())return n.channelConfig=r,n.originatorConnectStarted=!0,n.channelId=null==r?void 0:r.channelId,n.reconnection=!0,r;oo.RemoteCommunication(\"[RemoteCommunication: autoConnect()] Session has expired\")}n.originatorConnectStarted=!1}))}(this)}))}generateChannelIdConnect(){return c(this,void 0,void 0,(function*(){return function(e){return c(this,void 0,void 0,(function*(){var t,n,r,i,o,s;if(!e.communicationLayer)throw new Error(\"communication layer not initialized\");if(e.ready)throw new Error(\"Channel already connected\");if(e.channelId&&(null===(t=e.communicationLayer)||void 0===t?void 0:t.isConnected()))return e.channelConfig=Object.assign(Object.assign({},e.channelConfig),{channelId:e.channelId,validUntil:Date.now()+e.sessionDuration}),null===(n=e.storageManager)||void 0===n||n.persistChannelConfig(e.channelConfig),{channelId:e.channelId,privKey:null===(i=null===(r=e.communicationLayer)||void 0===r?void 0:r.getKeyInfo())||void 0===i?void 0:i.ecies.private,pubKey:null===(s=null===(o=e.communicationLayer)||void 0===o?void 0:o.getKeyInfo())||void 0===s?void 0:s.ecies.public};oo.RemoteCommunication(\"[RemoteCommunication: generateChannelId()]\");const a=yield e.communicationLayer.createChannel();oo.RemoteCommunication(\"[RemoteCommunication: generateChannelId()] channel created\",a);const c=Object.assign(Object.assign({},e.channelConfig),{channelId:a.channelId,localKey:a.privKey,validUntil:Date.now()+e.sessionDuration});return e.channelId=a.channelId,e.channelConfig=c,{channelId:e.channelId,pubKey:a.pubKey,privKey:a.privKey}}))}(this.state)}))}clean(){return wo(this.state)}connectToChannel({channelId:e,withKeyExchange:t,authorized:n}){return function(e){return c(this,arguments,void 0,(function*({channelId:e,withKeyExchange:t,authorized:n,state:r}){var i,s,a;if(!o(e))throw oo.RemoteCommunication(`[RemoteCommunication: connectToChannel()] context=${r.context} invalid channel channelId=${e}`),new Error(`Invalid channel ${e}`);if(oo.RemoteCommunication(`[RemoteCommunication: connectToChannel()] context=${r.context} channelId=${e} withKeyExchange=${t}`),null===(i=r.communicationLayer)||void 0===i?void 0:i.isConnected())return void oo.RemoteCommunication(`[RemoteCommunication: connectToChannel()] context=${r.context} already connected - interrupt connection.`);r.channelId=e,yield null===(s=r.communicationLayer)||void 0===s?void 0:s.connectToChannel({channelId:e,authorized:n,withKeyExchange:t});const c=Object.assign(Object.assign({},r.channelConfig),{channelId:e,validUntil:Date.now()+r.sessionDuration});r.channelConfig=c,null===(a=r.storageManager)||void 0===a||a.persistChannelConfig(c)}))}({channelId:e,authorized:n,withKeyExchange:t,state:this.state})}sendMessage(e){return c(this,void 0,void 0,(function*(){const t=this.state.isOriginator&&e.method&&bo(e.method);t&&n.track(\"sdk_action_requested\",{action:e.method});try{return yield function(e,t){return c(this,void 0,void 0,(function*(){var n,r;const{state:i}=e;oo.RemoteCommunication(`[RemoteCommunication: sendMessage()] context=${i.context} paused=${i.paused} ready=${i.ready} relayPersistence=${i.relayPersistence} authorized=${i.authorized} socket=${null===(n=i.communicationLayer)||void 0===n?void 0:n.isConnected()} clientsConnected=${i.clientsConnected} status=${i._connectionStatus}`,t),i.relayPersistence||i.ready&&(null===(r=i.communicationLayer)||void 0===r?void 0:r.isConnected())&&i.clientsConnected||(oo.RemoteCommunication(`[RemoteCommunication: sendMessage()] context=${i.context} SKIP message waiting for MM mobile readiness.`),yield new Promise((t=>{e.once(So.CLIENTS_READY,t)})),oo.RemoteCommunication(`[RemoteCommunication: sendMessage()] context=${i.context} AFTER SKIP / READY -- sending pending message`));try{const n=yield function(e,t){return c(this,void 0,void 0,(function*(){return new Promise((n=>{var r;const{state:i}=e;oo.RemoteCommunication(`[RemoteCommunication: handleAuthorization()] context=${i.context} ready=${i.ready} authorized=${i.authorized} method=${t.method}`),!i.isOriginator||i.authorized||i.relayPersistence?null===(r=i.communicationLayer)||void 0===r||r.sendMessage(t).then((e=>{n(e)})).catch((e=>{n(!1)})):e.once(So.AUTHORIZED,(()=>{var e;oo.RemoteCommunication(`[RemoteCommunication: handleAuthorization()] context=${i.context} AFTER SKIP / AUTHORIZED -- sending pending message`),null===(e=i.communicationLayer)||void 0===e||e.sendMessage(t).then((e=>{n(e)})).catch((e=>{n(!1)}))}))}))}))}(e,t);return n}catch(e){throw e}}))}(this,e)}catch(r){throw t&&n.track(\"sdk_action_failed\",{action:e.method}),r}}))}testStorage(){return c(this,void 0,void 0,(function*(){return function(e){return c(this,void 0,void 0,(function*(){var t;const n=yield null===(t=e.storageManager)||void 0===t?void 0:t.getPersistedChannelConfig();oo.RemoteCommunication(\"[RemoteCommunication: testStorage()] res\",n)}))}(this.state)}))}hasDeeplinkProtocol(){return this.state.deeplinkProtocolAvailable}getChannelConfig(){return this.state.channelConfig}isReady(){return this.state.ready}isConnected(){var e;return null===(e=this.state.communicationLayer)||void 0===e?void 0:e.isConnected()}isAuthorized(){return this.state.authorized}isPaused(){return this.state.paused}getCommunicationLayer(){return this.state.communicationLayer}ping(){return c(this,void 0,void 0,(function*(){var e;oo.RemoteCommunication(`[RemoteCommunication: ping()] channel=${this.state.channelId}`),yield null===(e=this.state.communicationLayer)||void 0===e?void 0:e.ping()}))}testLogger(){oo.RemoteCommunication(`testLogger() channel=${this.state.channelId}`),oo.SocketService(`testLogger() channel=${this.state.channelId}`),oo.Ecies(`testLogger() channel=${this.state.channelId}`),oo.KeyExchange(`testLogger() channel=${this.state.channelId}`)}keyCheck(){var e;oo.RemoteCommunication(`[RemoteCommunication: keyCheck()] channel=${this.state.channelId}`),null===(e=this.state.communicationLayer)||void 0===e||e.keyCheck()}setConnectionStatus(e){this.state._connectionStatus!==e&&(this.state._connectionStatus=e,this.emit(So.CONNECTION_STATUS,e),this.emitServiceStatusEvent({context:\"setConnectionStatus\"}))}emitServiceStatusEvent(e={}){this.emit(So.SERVICE_STATUS,this.getServiceStatus())}getConnectionStatus(){return this.state._connectionStatus}getServiceStatus(){return{originatorInfo:this.state.originatorInfo,keyInfo:this.getKeyInfo(),connectionStatus:this.state._connectionStatus,channelConfig:this.state.channelConfig,channelId:this.state.channelId}}getKeyInfo(){var e;return null===(e=this.state.communicationLayer)||void 0===e?void 0:e.getKeyInfo()}resetKeys(){var e;null===(e=this.state.communicationLayer)||void 0===e||e.resetKeys()}setOtherPublicKey(e){var t;const n=null===(t=this.state.communicationLayer)||void 0===t?void 0:t.getKeyExchange();if(!n)throw new Error(\"KeyExchange is not initialized.\");n.getOtherPublicKey()!==e&&n.setOtherPublicKey(e)}pause(){return c(this,void 0,void 0,(function*(){var e;oo.RemoteCommunication(`[RemoteCommunication: pause()] channel=${this.state.channelId}`),yield null===(e=this.state.communicationLayer)||void 0===e?void 0:e.pause(),this.setConnectionStatus(Eo.PAUSED)}))}getVersion(){return ho.version}hasRelayPersistence(){var e;return null!==(e=this.state.relayPersistence)&&void 0!==e&&e}resume(){return c(this,void 0,void 0,(function*(){return function(e){return c(this,void 0,void 0,(function*(){var t;const{state:n}=e;oo.RemoteCommunication(`[RemoteCommunication: resume()] channel=${n.channelId}`),yield null===(t=n.communicationLayer)||void 0===t?void 0:t.resume(),e.setConnectionStatus(Eo.LINKED)}))}(this)}))}encrypt(e){var t,n,r;const i=null===(t=this.state.communicationLayer)||void 0===t?void 0:t.getKeyExchange(),o=null==i?void 0:i.getOtherPublicKey();if(!o)throw new Error(\"KeyExchange not completed\");return null===(r=null===(n=this.state.communicationLayer)||void 0===n?void 0:n.state.eciesInstance)||void 0===r?void 0:r.encrypt(e,o)}decrypt(e){var t,n,r;if(!(null===(t=this.state.communicationLayer)||void 0===t?void 0:t.state.eciesInstance))throw new Error(\"ECIES instance is not initialized\");return null===(r=null===(n=this.state.communicationLayer)||void 0===n?void 0:n.state.eciesInstance)||void 0===r?void 0:r.decrypt(e)}getChannelId(){return this.state.channelId}getRPCMethodTracker(){var e;return null===(e=this.state.communicationLayer)||void 0===e?void 0:e.getRPCMethodTracker()}reject({channelId:e}){return function(e){return c(this,arguments,void 0,(function*({channelId:e,state:t}){var n,r,i;if(!o(e))throw oo.RemoteCommunication(`[RemoteCommunication: connectToChannel()] context=${t.context} invalid channel channelId=${e}`),new Error(`Invalid channel ${e}`);if(t.isOriginator)return void oo.RemoteCommunication(`[RemoteCommunication: reject()] context=${t.context} isOriginator=${t.isOriginator} channelId=${e}`);const{socket:s}=null!==(r=null===(n=t.communicationLayer)||void 0===n?void 0:n.state)&&void 0!==r?r:{};(null==s?void 0:s.connected)||(oo.RemoteCommunication(`[RemoteCommunication: reject()] context=${t.context} socket already connected`),null==s||s.connect()),lo(Object.assign(Object.assign({id:e,event:Ao.REJECTED},t.originatorInfo),{sdkVersion:t.sdkVersion,commLayerVersion:ho.version,walletVersion:null===(i=t.walletInfo)||void 0===i?void 0:i.version}),t.communicationServerUrl).catch((e=>{})),yield new Promise(((n,r)=>{null==s||s.emit(So.REJECTED,{channelId:e},((e,i)=>{oo.RemoteCommunication(`[RemoteCommunication: reject()] context=${t.context} socket=${null==s?void 0:s.id}`,{error:e,response:i}),e?r(e):n(i)}))}))}))}({channelId:e,state:this.state})}disconnect(e){return c(this,void 0,void 0,(function*(){return es({options:e,instance:this})}))}}!function(e){e.RENEW=\"renew\",e.LINK=\"link\"}(Ho||(Ho={}));var ns=\"ERC721\",rs=\"ERC1155\",is={errors:{disconnected:()=>\"MetaMask: Disconnected from chain. Attempting to connect.\",permanentlyDisconnected:()=>\"MetaMask: Disconnected from MetaMask background. Page reload required.\",sendSiteMetadata:()=>\"MetaMask: Failed to send site metadata. This is an internal error, please report this bug.\",unsupportedSync:e=>`MetaMask: The MetaMask Ethereum provider does not support synchronous methods like ${e} without a callback parameter.`,invalidDuplexStream:()=>\"Must provide a Node.js-style duplex stream.\",invalidNetworkParams:()=>\"MetaMask: Received invalid network parameters. Please report this bug.\",invalidRequestArgs:()=>\"Expected a single, non-array, object argument.\",invalidRequestMethod:()=>\"'args.method' must be a non-empty string.\",invalidRequestParams:()=>\"'args.params' must be an object or array if provided.\",invalidLoggerObject:()=>\"'args.logger' must be an object if provided.\",invalidLoggerMethod:e=>`'args.logger' must include required method '${e}'.`},info:{connected:e=>`MetaMask: Connected to chain with ID \"${e}\".`},warnings:{chainIdDeprecation:\"MetaMask: 'ethereum.chainId' is deprecated and may be removed in the future. Please use the 'eth_chainId' RPC method instead.\\nFor more information, see: https://github.com/MetaMask/metamask-improvement-proposals/discussions/23\",networkVersionDeprecation:\"MetaMask: 'ethereum.networkVersion' is deprecated and may be removed in the future. Please use the 'net_version' RPC method instead.\\nFor more information, see: https://github.com/MetaMask/metamask-improvement-proposals/discussions/23\",selectedAddressDeprecation:\"MetaMask: 'ethereum.selectedAddress' is deprecated and may be removed in the future. Please use the 'eth_accounts' RPC method instead.\\nFor more information, see: https://github.com/MetaMask/metamask-improvement-proposals/discussions/23\",enableDeprecation:\"MetaMask: 'ethereum.enable()' is deprecated and may be removed in the future. Please use the 'eth_requestAccounts' RPC method instead.\\nFor more information, see: https://eips.ethereum.org/EIPS/eip-1102\",sendDeprecation:\"MetaMask: 'ethereum.send(...)' is deprecated and may be removed in the future. Please use 'ethereum.sendAsync(...)' or 'ethereum.request(...)' instead.\\nFor more information, see: https://eips.ethereum.org/EIPS/eip-1193\",events:{close:\"MetaMask: The event 'close' is deprecated and may be removed in the future. Please use 'disconnect' instead.\\nFor more information, see: https://eips.ethereum.org/EIPS/eip-1193#disconnect\",data:\"MetaMask: The event 'data' is deprecated and will be removed in the future. Use 'message' instead.\\nFor more information, see: https://eips.ethereum.org/EIPS/eip-1193#message\",networkChanged:\"MetaMask: The event 'networkChanged' is deprecated and may be removed in the future. Use 'chainChanged' instead.\\nFor more information, see: https://eips.ethereum.org/EIPS/eip-1193#chainchanged\",notification:\"MetaMask: The event 'notification' is deprecated and may be removed in the future. Use 'message' instead.\\nFor more information, see: https://eips.ethereum.org/EIPS/eip-1193#message\"},rpc:{ethDecryptDeprecation:\"MetaMask: The RPC method 'eth_decrypt' is deprecated and may be removed in the future.\\nFor more information, see: https://medium.com/metamask/metamask-api-method-deprecation-2b0564a84686\",ethGetEncryptionPublicKeyDeprecation:\"MetaMask: The RPC method 'eth_getEncryptionPublicKey' is deprecated and may be removed in the future.\\nFor more information, see: https://medium.com/metamask/metamask-api-method-deprecation-2b0564a84686\",walletWatchAssetNFTExperimental:\"MetaMask: The RPC method 'wallet_watchAsset' is experimental for ERC721/ERC1155 assets and may change in the future.\\nFor more information, see: https://github.com/MetaMask/metamask-improvement-proposals/blob/main/MIPs/mip-1.md and https://github.com/MetaMask/metamask-improvement-proposals/blob/main/PROCESS-GUIDE.md#proposal-lifecycle\"},experimentalMethods:\"MetaMask: 'ethereum._metamask' exposes non-standard, experimental methods. They may be removed or changed without warning.\"}};function os(e){const t={ethDecryptDeprecation:!1,ethGetEncryptionPublicKeyDeprecation:!1,walletWatchAssetNFTExperimental:!1};return(n,r,i)=>{t.ethDecryptDeprecation||\"eth_decrypt\"!==n.method?t.ethGetEncryptionPublicKeyDeprecation||\"eth_getEncryptionPublicKey\"!==n.method?!t.walletWatchAssetNFTExperimental&&\"wallet_watchAsset\"===n.method&&[ns,rs].includes(n.params?.type||\"\")&&(e.warn(is.warnings.rpc.walletWatchAssetNFTExperimental),t.walletWatchAssetNFTExperimental=!0):(e.warn(is.warnings.rpc.ethGetEncryptionPublicKeyDeprecation),t.ethGetEncryptionPublicKeyDeprecation=!0):(e.warn(is.warnings.rpc.ethDecryptDeprecation),t.ethDecryptDeprecation=!0),i()}}var ss=4294967295,as=Math.floor(Math.random()*ss);function cs(){return(e,t,n,r)=>{const i=e.id,o=as=(as+1)%ss;e.id=o,t.id=o,n((n=>{e.id=i,t.id=i,n()}))}}var ls=(e,t,n)=>{if(!t.has(e))throw TypeError(\"Cannot \"+n)},ds=(e,t,n)=>(ls(e,t,\"read from private field\"),n?n.call(e):t.get(e)),us=(e,t,n)=>{if(t.has(e))throw TypeError(\"Cannot add the same private member more than once\");t instanceof WeakSet?t.add(e):t.set(e,n)},hs=(e,t,n,r)=>(ls(e,t,\"write to private field\"),t.set(e,n),n),fs=(e,t,n)=>(ls(e,t,\"access private method\"),n),ps={invalidInput:-32e3,resourceNotFound:-32001,resourceUnavailable:-32002,transactionRejected:-32003,methodNotSupported:-32004,limitExceeded:-32005,parse:-32700,invalidRequest:-32600,methodNotFound:-32601,invalidParams:-32602,internal:-32603},gs={\"-32700\":{standard:\"JSON RPC 2.0\",message:\"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.\"},\"-32600\":{standard:\"JSON RPC 2.0\",message:\"The JSON sent is not a valid Request object.\"},\"-32601\":{standard:\"JSON RPC 2.0\",message:\"The method does not exist / is not available.\"},\"-32602\":{standard:\"JSON RPC 2.0\",message:\"Invalid method parameter(s).\"},\"-32603\":{standard:\"JSON RPC 2.0\",message:\"Internal JSON-RPC error.\"},\"-32000\":{standard:\"EIP-1474\",message:\"Invalid input.\"},\"-32001\":{standard:\"EIP-1474\",message:\"Resource not found.\"},\"-32002\":{standard:\"EIP-1474\",message:\"Resource unavailable.\"},\"-32003\":{standard:\"EIP-1474\",message:\"Transaction rejected.\"},\"-32004\":{standard:\"EIP-1474\",message:\"Method not supported.\"},\"-32005\":{standard:\"EIP-1474\",message:\"Request limit exceeded.\"},4001:{standard:\"EIP-1193\",message:\"User rejected the request.\"},4100:{standard:\"EIP-1193\",message:\"The requested account and/or method has not been authorized by the user.\"},4200:{standard:\"EIP-1193\",message:\"The requested method is not supported by this Ethereum provider.\"},4900:{standard:\"EIP-1193\",message:\"The provider is disconnected from all chains.\"},4901:{standard:\"EIP-1193\",message:\"The provider is disconnected from the specified chain.\"}};function ms(e){return Boolean(e)&&\"object\"==typeof e&&!Array.isArray(e)}var ys=(e,t)=>Object.hasOwnProperty.call(e,t);class vs extends TypeError{constructor(e,t){let n;const{message:r,explanation:i,...o}=e,{path:s}=e,a=0===s.length?r:`At path: ${s.join(\".\")} -- ${r}`;super(i??a),null!=i&&(this.cause=a),Object.assign(this,o),this.name=this.constructor.name,this.failures=()=>n??(n=[e,...t()])}}function bs(e){return\"object\"==typeof e&&null!=e}function ws(e){return\"symbol\"==typeof e?e.toString():\"string\"==typeof e?JSON.stringify(e):`${e}`}function Es(e,t,n,r){if(!0===e)return;!1===e?e={}:\"string\"==typeof e&&(e={message:e});const{path:i,branch:o}=t,{type:s}=n,{refinement:a,message:c=`Expected a value of type \\`${s}\\`${a?` with refinement \\`${a}\\``:\"\"}, but received: \\`${ws(r)}\\``}=e;return{value:r,type:s,refinement:a,key:i[i.length-1],path:i,branch:o,...e,message:c}}function*Ss(e,t,n,r){(function(e){return bs(e)&&\"function\"==typeof e[Symbol.iterator]})(e)||(e=[e]);for(const i of e){const e=Es(i,t,n,r);e&&(yield e)}}function*_s(e,t,n={}){const{path:r=[],branch:i=[e],coerce:o=!1,mask:s=!1}=n,a={path:r,branch:i};if(o&&(e=t.coercer(e,a),s&&\"type\"!==t.type&&bs(t.schema)&&bs(e)&&!Array.isArray(e)))for(const n in e)void 0===t.schema[n]&&delete e[n];let c=\"valid\";for(const r of t.validator(e,a))r.explanation=n.message,c=\"not_valid\",yield[r,void 0];for(let[l,d,u]of t.entries(e,a)){const t=_s(d,u,{path:void 0===l?r:[...r,l],branch:void 0===l?i:[...i,d],coerce:o,mask:s,message:n.message});for(const n of t)n[0]?(c=null!=n[0].refinement?\"not_refined\":\"not_valid\",yield[n[0],void 0]):o&&(d=n[1],void 0===l?e=d:e instanceof Map?e.set(l,d):e instanceof Set?e.add(d):bs(e)&&(void 0!==d||l in e)&&(e[l]=d))}if(\"not_valid\"!==c)for(const r of t.refiner(e,a))r.explanation=n.message,c=\"not_refined\",yield[r,void 0];\"valid\"===c&&(yield[void 0,e])}class Cs{constructor(e){const{type:t,schema:n,validator:r,refiner:i,coercer:o=(e=>e),entries:s=function*(){}}=e;this.type=t,this.schema=n,this.entries=s,this.coercer=o,this.validator=r?(e,t)=>Ss(r(e,t),t,this,e):()=>[],this.refiner=i?(e,t)=>Ss(i(e,t),t,this,e):()=>[]}assert(e,t){return ks(e,this,t)}create(e,t){return As(e,this,t)}is(e){return xs(e,this)}mask(e,t){return function(e,t,n){const r=Ms(e,t,{coerce:!0,mask:!0,message:n});if(r[0])throw r[0];return r[1]}(e,this,t)}validate(e,t={}){return Ms(e,this,t)}}function ks(e,t,n){const r=Ms(e,t,{message:n});if(r[0])throw r[0]}function As(e,t,n){const r=Ms(e,t,{coerce:!0,message:n});if(r[0])throw r[0];return r[1]}function xs(e,t){return!Ms(e,t)[0]}function Ms(e,t,n={}){const r=_s(e,t,n),i=function(e){const{done:t,value:n}=e.next();return t?void 0:n}(r);if(i[0]){const e=new vs(i[0],(function*(){for(const e of r)e[0]&&(yield e[0])}));return[e,void 0]}return[void 0,i[1]]}function Is(e,t){return new Cs({type:e,schema:null,validator:t})}function Ts(e){let t;return new Cs({type:\"lazy\",schema:null,*entries(n,r){t??(t=e()),yield*t.entries(n,r)},validator:(n,r)=>(t??(t=e()),t.validator(n,r)),coercer:(n,r)=>(t??(t=e()),t.coercer(n,r)),refiner:(n,r)=>(t??(t=e()),t.refiner(n,r))})}function Rs(e){return new Cs({type:\"array\",schema:e,*entries(t){if(e&&Array.isArray(t))for(const[n,r]of t.entries())yield[n,r,e]},coercer:e=>Array.isArray(e)?e.slice():e,validator:e=>Array.isArray(e)||`Expected an array value, but received: ${ws(e)}`})}function Ps(e){const t=ws(e),n=typeof e;return new Cs({type:\"literal\",schema:\"string\"===n||\"number\"===n||\"boolean\"===n?e:null,validator:n=>n===e||`Expected the literal \\`${t}\\`, but received: ${ws(n)}`})}function Os(){return Is(\"number\",(e=>\"number\"==typeof e&&!isNaN(e)||`Expected a number, but received: ${ws(e)}`))}function Ns(e){const t=e?Object.keys(e):[],n=Is(\"never\",(()=>!1));return new Cs({type:\"object\",schema:e||null,*entries(r){if(e&&bs(r)){const i=new Set(Object.keys(r));for(const n of t)i.delete(n),yield[n,r[n],e[n]];for(const e of i)yield[e,r[e],n]}},validator:e=>bs(e)||`Expected an object, but received: ${ws(e)}`,coercer:e=>bs(e)?{...e}:e})}function Ls(e){return new Cs({...e,validator:(t,n)=>void 0===t||e.validator(t,n),refiner:(t,n)=>void 0===t||e.refiner(t,n)})}function Ds(e,t){return new Cs({type:\"record\",schema:null,*entries(n){if(bs(n))for(const r in n){const i=n[r];yield[r,r,e],yield[r,i,t]}},validator:e=>bs(e)||`Expected an object, but received: ${ws(e)}`})}function $s(){return Is(\"string\",(e=>\"string\"==typeof e||`Expected a string, but received: ${ws(e)}`))}function Bs(e){const t=e.map((e=>e.type)).join(\" | \");return new Cs({type:\"union\",schema:null,coercer(t){for(const n of e){const[e,r]=n.validate(t,{coerce:!0});if(!e)return r}return t},validator(n,r){const i=[];for(const t of e){const[...e]=_s(n,t,r),[o]=e;if(!o[0])return[];for(const[t]of e)t&&i.push(t)}return[`Expected the value to satisfy a union of \\`${t}\\`, but received: ${ws(n)}`,...i]}})}function Ks(e){return function(e){return function(e){return\"object\"==typeof e&&null!==e&&\"message\"in e}(e)&&\"string\"==typeof e.message?e.message:null==e?\"\":String(e)}(e).replace(/\\.$/u,\"\")}function js(e,t){return n=e,Boolean(\"string\"==typeof n?.prototype?.constructor?.name)?new e({message:t}):e({message:t});var n}var Us=class extends Error{constructor(e){super(e.message),this.code=\"ERR_ASSERTION\"}};function Hs(){throw new Error(\"setTimeout has not been defined\")}function Fs(){throw new Error(\"clearTimeout has not been defined\")}var zs=Hs,qs=Fs;function Ws(e){if(zs===setTimeout)return setTimeout(e,0);if((zs===Hs||!zs)&&setTimeout)return zs=setTimeout,setTimeout(e,0);try{return zs(e,0)}catch(t){try{return zs.call(null,e,0)}catch(t){return zs.call(this,e,0)}}}\"function\"==typeof l.setTimeout&&(zs=setTimeout),\"function\"==typeof l.clearTimeout&&(qs=clearTimeout);var Vs,Gs=[],Ys=!1,Zs=-1;function Js(){Ys&&Vs&&(Ys=!1,Vs.length?Gs=Vs.concat(Gs):Zs=-1,Gs.length&&Qs())}function Qs(){if(!Ys){var e=Ws(Js);Ys=!0;for(var t=Gs.length;t;){for(Vs=Gs,Gs=[];++Zs<t;)Vs&&Vs[Zs].run();Zs=-1,t=Gs.length}Vs=null,Ys=!1,function(e){if(qs===clearTimeout)return clearTimeout(e);if((qs===Fs||!qs)&&clearTimeout)return qs=clearTimeout,clearTimeout(e);try{return qs(e)}catch(t){try{return qs.call(null,e)}catch(t){return qs.call(this,e)}}}(e)}}function Xs(e,t){this.fun=e,this.array=t}Xs.prototype.run=function(){this.fun.apply(null,this.array)};function ea(){}var ta=ea,na=ea,ra=ea,ia=ea,oa=ea,sa=ea,aa=ea;var ca=l.performance||{},la=ca.now||ca.mozNow||ca.msNow||ca.oNow||ca.webkitNow||function(){return(new Date).getTime()};var da=new Date;var ua={nextTick:function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];Gs.push(new Xs(e,t)),1!==Gs.length||Ys||Ws(Qs)},title:\"browser\",browser:!0,env:{},argv:[],version:\"\",versions:{},on:ta,addListener:na,once:ra,off:ia,removeListener:oa,removeAllListeners:sa,emit:aa,binding:function(e){throw new Error(\"process.binding is not supported\")},cwd:function(){return\"/\"},chdir:function(e){throw new Error(\"process.chdir is not supported\")},umask:function(){return 0},hrtime:function(e){var t=.001*la.call(ca),n=Math.floor(t),r=Math.floor(t%1*1e9);return e&&(n-=e[0],(r-=e[1])<0&&(n--,r+=1e9)),[n,r]},platform:\"browser\",release:{},config:{},uptime:function(){return(new Date-da)/1e3}},ha=e=>Ns(e);function fa({path:e,branch:t}){const n=e[e.length-1];return ys(t[t.length-2],n)}function pa(e){return new Cs({...e,type:`optional ${e.type}`,validator:(t,n)=>!fa(n)||e.validator(t,n),refiner:(t,n)=>!fa(n)||e.refiner(t,n)})}var ga,ma,ya,va=Bs([Ps(null),Is(\"boolean\",(e=>\"boolean\"==typeof e)),Is(\"finite number\",(e=>xs(e,Os())&&Number.isFinite(e))),$s(),Rs(Ts((()=>va))),Ds($s(),Ts((()=>va)))]),ba=(ga=va,ma=Is(\"any\",(()=>!0)),ya=e=>(function(e,t,n=\"Assertion failed\",r=Us){try{ks(e,t)}catch(e){throw js(r,`${n}: ${Ks(e)}.`)}}(e,va),JSON.parse(JSON.stringify(e,((e,t)=>{if(\"__proto__\"!==e&&\"constructor\"!==e)return t})))),new Cs({...ga,coercer:(e,t)=>xs(e,ma)?ga.coercer(ya(e,t),t):ga.coercer(e,t)}));function wa(e){try{return function(e){As(e,ba)}(e),!0}catch{return!1}}var Ea=Ps(\"2.0\"),Sa=function(e){return new Cs({...e,validator:(t,n)=>null===t||e.validator(t,n),refiner:(t,n)=>null===t||e.refiner(t,n)})}(Bs([Os(),$s()])),_a=ha({code:Is(\"integer\",(e=>\"number\"==typeof e&&!isNaN(e)&&Number.isInteger(e)||`Expected an integer, but received: ${ws(e)}`)),message:$s(),data:pa(ba),stack:pa($s())}),Ca=Bs([Ds($s(),ba),Rs(ba)]),ka=ha({id:Sa,jsonrpc:Ea,method:$s(),params:pa(Ca)}),Aa=ha({jsonrpc:Ea,method:$s(),params:pa(Ca)});function xa(e){return xs(e,ka)}function Ma(e){return xs(e,_a)}Ns({id:Sa,jsonrpc:Ea,result:Ls(Is(\"unknown\",(()=>!0))),error:Ls(_a)}),Bs([ha({id:Sa,jsonrpc:Ea,result:ba}),ha({id:Sa,jsonrpc:Ea,error:_a})]);var Ia=ps.internal,Ta=\"Unspecified error message. This is a bug, please report it.\",Ra={code:Ia,message:Oa(Ia)},Pa=\"Unspecified server error.\";function Oa(e,t=Ta){if(function(e){return Number.isInteger(e)}(e)){const t=e.toString();if(ys(gs,t))return gs[t].message;if(function(e){return e>=-32099&&e<=-32e3}(e))return Pa}return t}function Na(e,{fallbackError:t=Ra,shouldIncludeStack:n=!0}={}){if(!Ma(t))throw new Error(\"Must provide fallback error with integer number code and string message.\");const r=function(e,t){if(e&&\"object\"==typeof e&&\"serialize\"in e&&\"function\"==typeof e.serialize)return e.serialize();if(Ma(e))return e;const n=La(e),r={...t,data:{cause:n}};return r}(e,t);return n||delete r.stack,r}function La(e){return Array.isArray(e)?e.map((e=>wa(e)?e:ms(e)?Da(e):null)):ms(e)?Da(e):wa(e)?e:null}function Da(e){return Object.getOwnPropertyNames(e).reduce(((t,n)=>{const r=e[n];return wa(r)&&(t[n]=r),t}),{})}var $a=Fa;Fa.default=Fa,Fa.stable=Va,Fa.stableStringify=Va;var Ba=\"[...]\",Ka=\"[Circular]\",ja=[],Ua=[];function Ha(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function Fa(e,t,n,r){var i;void 0===r&&(r=Ha()),qa(e,\"\",0,[],void 0,0,r);try{i=0===Ua.length?JSON.stringify(e,t,n):JSON.stringify(e,Ya(t),n)}catch(e){return JSON.stringify(\"[unable to serialize, circular reference is too complex to analyze]\")}finally{for(;0!==ja.length;){var o=ja.pop();4===o.length?Object.defineProperty(o[0],o[1],o[3]):o[0][o[1]]=o[2]}}return i}function za(e,t,n,r){var i=Object.getOwnPropertyDescriptor(r,n);void 0!==i.get?i.configurable?(Object.defineProperty(r,n,{value:e}),ja.push([r,n,t,i])):Ua.push([t,n,e]):(r[n]=e,ja.push([r,n,t]))}function qa(e,t,n,r,i,o,s){var a;if(o+=1,\"object\"==typeof e&&null!==e){for(a=0;a<r.length;a++)if(r[a]===e)return void za(Ka,e,t,i);if(void 0!==s.depthLimit&&o>s.depthLimit)return void za(Ba,e,t,i);if(void 0!==s.edgesLimit&&n+1>s.edgesLimit)return void za(Ba,e,t,i);if(r.push(e),Array.isArray(e))for(a=0;a<e.length;a++)qa(e[a],a,a,r,e,o,s);else{var c=Object.keys(e);for(a=0;a<c.length;a++){var l=c[a];qa(e[l],l,a,r,e,o,s)}}r.pop()}}function Wa(e,t){return e<t?-1:e>t?1:0}function Va(e,t,n,r){void 0===r&&(r=Ha());var i,o=Ga(e,\"\",0,[],void 0,0,r)||e;try{i=0===Ua.length?JSON.stringify(o,t,n):JSON.stringify(o,Ya(t),n)}catch(e){return JSON.stringify(\"[unable to serialize, circular reference is too complex to analyze]\")}finally{for(;0!==ja.length;){var s=ja.pop();4===s.length?Object.defineProperty(s[0],s[1],s[3]):s[0][s[1]]=s[2]}}return i}function Ga(e,t,n,r,i,o,s){var a;if(o+=1,\"object\"==typeof e&&null!==e){for(a=0;a<r.length;a++)if(r[a]===e)return void za(Ka,e,t,i);try{if(\"function\"==typeof e.toJSON)return}catch(e){return}if(void 0!==s.depthLimit&&o>s.depthLimit)return void za(Ba,e,t,i);if(void 0!==s.edgesLimit&&n+1>s.edgesLimit)return void za(Ba,e,t,i);if(r.push(e),Array.isArray(e))for(a=0;a<e.length;a++)Ga(e[a],a,a,r,e,o,s);else{var c={},l=Object.keys(e).sort(Wa);for(a=0;a<l.length;a++){var d=l[a];Ga(e[d],d,a,r,e,o,s),c[d]=e[d]}if(void 0===i)return c;ja.push([i,t,e]),i[t]=c}r.pop()}}function Ya(e){return e=void 0!==e?e:function(e,t){return t},function(t,n){if(Ua.length>0)for(var r=0;r<Ua.length;r++){var i=Ua[r];if(i[1]===t&&i[0]===n){n=i[2],Ua.splice(r,1);break}}return e.call(this,t,n)}}var Za=ue($a),Ja=class extends Error{constructor(e,t,n){if(!Number.isInteger(e))throw new Error('\"code\" must be an integer.');if(!t||\"string\"!=typeof t)throw new Error('\"message\" must be a non-empty string.');super(t),this.code=e,void 0!==n&&(this.data=n)}serialize(){const e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data,function(e){if(\"object\"!=typeof e||null===e)return!1;try{let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}catch(e){return!1}}(this.data)&&(e.data.cause=La(this.data.cause))),this.stack&&(e.stack=this.stack),e}toString(){return Za(this.serialize(),Qa,2)}};function Qa(e,t){if(\"[Circular]\"!==t)return t}var Xa=e=>ec(ps.invalidRequest,e);function ec(e,t){const[n,r]=function(e){if(e){if(\"string\"==typeof e)return[e];if(\"object\"==typeof e&&!Array.isArray(e)){const{message:t,data:n}=e;if(t&&\"string\"!=typeof t)throw new Error(\"Must specify string message.\");return[t??void 0,n]}}return[]}(t);return new Ja(e,n??Oa(e),r)}var tc={};function nc(){}function rc(){rc.init.call(this)}function ic(e){return void 0===e._maxListeners?rc.defaultMaxListeners:e._maxListeners}function oc(e,t,n,r){var i,o,s;if(\"function\"!=typeof n)throw new TypeError('\"listener\" argument must be a function');if((o=e._events)?(o.newListener&&(e.emit(\"newListener\",t,n.listener?n.listener:n),o=e._events),s=o[t]):(o=e._events=new nc,e._eventsCount=0),s){if(\"function\"==typeof s?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),!s.warned&&(i=ic(e))&&i>0&&s.length>i){s.warned=!0;var a=new Error(\"Possible EventEmitter memory leak detected. \"+s.length+\" \"+t+\" listeners added. Use emitter.setMaxListeners() to increase limit\");a.name=\"MaxListenersExceededWarning\",a.emitter=e,a.type=t,a.count=s.length,function(e){\"function\"==typeof console.warn?console.warn(e):console.log(e)}(a)}}else s=o[t]=n,++e._eventsCount;return e}function sc(e,t,n){var r=!1;function i(){e.removeListener(t,i),r||(r=!0,n.apply(e,arguments))}return i.listener=n,i}function ac(e){var t=this._events;if(t){var n=t[e];if(\"function\"==typeof n)return 1;if(n)return n.length}return 0}function cc(e,t){for(var n=new Array(t);t--;)n[t]=e[t];return n}nc.prototype=Object.create(null),rc.EventEmitter=rc,rc.usingDomains=!1,rc.prototype.domain=void 0,rc.prototype._events=void 0,rc.prototype._maxListeners=void 0,rc.defaultMaxListeners=10,rc.init=function(){this.domain=null,rc.usingDomains&&undefined.active,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new nc,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},rc.prototype.setMaxListeners=function(e){if(\"number\"!=typeof e||e<0||isNaN(e))throw new TypeError('\"n\" argument must be a positive number');return this._maxListeners=e,this},rc.prototype.getMaxListeners=function(){return ic(this)},rc.prototype.emit=function(e){var t,n,r,i,o,s,a,c=\"error\"===e;if(s=this._events)c=c&&null==s.error;else if(!c)return!1;if(a=this.domain,c){if(t=arguments[1],!a){if(t instanceof Error)throw t;var l=new Error('Uncaught, unspecified \"error\" event. ('+t+\")\");throw l.context=t,l}return t||(t=new Error('Uncaught, unspecified \"error\" event')),t.domainEmitter=this,t.domain=a,t.domainThrown=!1,a.emit(\"error\",t),!1}if(!(n=s[e]))return!1;var d=\"function\"==typeof n;switch(r=arguments.length){case 1:!function(e,t,n){if(t)e.call(n);else for(var r=e.length,i=cc(e,r),o=0;o<r;++o)i[o].call(n)}(n,d,this);break;case 2:!function(e,t,n,r){if(t)e.call(n,r);else for(var i=e.length,o=cc(e,i),s=0;s<i;++s)o[s].call(n,r)}(n,d,this,arguments[1]);break;case 3:!function(e,t,n,r,i){if(t)e.call(n,r,i);else for(var o=e.length,s=cc(e,o),a=0;a<o;++a)s[a].call(n,r,i)}(n,d,this,arguments[1],arguments[2]);break;case 4:!function(e,t,n,r,i,o){if(t)e.call(n,r,i,o);else for(var s=e.length,a=cc(e,s),c=0;c<s;++c)a[c].call(n,r,i,o)}(n,d,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(r-1),o=1;o<r;o++)i[o-1]=arguments[o];!function(e,t,n,r){if(t)e.apply(n,r);else for(var i=e.length,o=cc(e,i),s=0;s<i;++s)o[s].apply(n,r)}(n,d,this,i)}return!0},rc.prototype.addListener=function(e,t){return oc(this,e,t,!1)},rc.prototype.on=rc.prototype.addListener,rc.prototype.prependListener=function(e,t){return oc(this,e,t,!0)},rc.prototype.once=function(e,t){if(\"function\"!=typeof t)throw new TypeError('\"listener\" argument must be a function');return this.on(e,sc(this,e,t)),this},rc.prototype.prependOnceListener=function(e,t){if(\"function\"!=typeof t)throw new TypeError('\"listener\" argument must be a function');return this.prependListener(e,sc(this,e,t)),this},rc.prototype.removeListener=function(e,t){var n,r,i,o,s;if(\"function\"!=typeof t)throw new TypeError('\"listener\" argument must be a function');if(!(r=this._events))return this;if(!(n=r[e]))return this;if(n===t||n.listener&&n.listener===t)0==--this._eventsCount?this._events=new nc:(delete r[e],r.removeListener&&this.emit(\"removeListener\",e,n.listener||t));else if(\"function\"!=typeof n){for(i=-1,o=n.length;o-- >0;)if(n[o]===t||n[o].listener&&n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;if(1===n.length){if(n[0]=void 0,0==--this._eventsCount)return this._events=new nc,this;delete r[e]}else!function(e,t){for(var n=t,r=n+1,i=e.length;r<i;n+=1,r+=1)e[n]=e[r];e.pop()}(n,i);r.removeListener&&this.emit(\"removeListener\",e,s||t)}return this},rc.prototype.off=function(e,t){return this.removeListener(e,t)},rc.prototype.removeAllListeners=function(e){var t,n;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=new nc,this._eventsCount=0):n[e]&&(0==--this._eventsCount?this._events=new nc:delete n[e]),this;if(0===arguments.length){for(var r,i=Object.keys(n),o=0;o<i.length;++o)\"removeListener\"!==(r=i[o])&&this.removeAllListeners(r);return this.removeAllListeners(\"removeListener\"),this._events=new nc,this._eventsCount=0,this}if(\"function\"==typeof(t=n[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},rc.prototype.listeners=function(e){var t,n,r=this._events;return n=r&&(t=r[e])?\"function\"==typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(t):[],n},rc.listenerCount=function(e,t){return\"function\"==typeof e.listenerCount?e.listenerCount(t):ac.call(e,t)},rc.prototype.listenerCount=ac,rc.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var lc=he(Object.freeze({__proto__:null,EventEmitter:rc,default:rc}));Object.defineProperty(tc,\"__esModule\",{value:!0});const dc=lc;function uc(e,t,n){try{Reflect.apply(e,t,n)}catch(e){setTimeout((()=>{throw e}))}}let hc=class extends dc.EventEmitter{emit(e,...t){let n=\"error\"===e;const r=this._events;if(void 0!==r)n=n&&void 0===r.error;else if(!n)return!1;if(n){let e;if(t.length>0&&([e]=t),e instanceof Error)throw e;const n=new Error(\"Unhandled error.\"+(e?` (${e.message})`:\"\"));throw n.context=e,n}const i=r[e];if(void 0===i)return!1;if(\"function\"==typeof i)uc(i,this,t);else{const e=i.length,n=function(e){const t=e.length,n=new Array(t);for(let r=0;r<t;r+=1)n[r]=e[r];return n}(i);for(let r=0;r<e;r+=1)uc(n[r],this,t)}return!0}};var fc,pc,gc,mc,yc,vc,bc,wc,Ec,Sc,_c,Cc,kc,Ac,xc,Mc,Ic,Tc,Rc,Pc=tc.default=hc,Oc=class e extends Pc{constructor({notificationHandler:e}={}){super(),us(this,mc),us(this,vc),us(this,wc),us(this,fc,!1),us(this,pc,void 0),us(this,gc,void 0),hs(this,pc,[]),hs(this,gc,e)}destroy(){ds(this,pc).forEach((e=>{\"destroy\"in e&&\"function\"==typeof e.destroy&&e.destroy()})),hs(this,pc,[]),hs(this,fc,!0)}push(e){fs(this,mc,yc).call(this),ds(this,pc).push(e)}handle(e,t){if(fs(this,mc,yc).call(this),t&&\"function\"!=typeof t)throw new Error('\"callback\" must be a function if provided.');return Array.isArray(e)?t?fs(this,vc,bc).call(this,e,t):fs(this,vc,bc).call(this,e):t?fs(this,wc,Ec).call(this,e,t):this._promiseHandle(e)}asMiddleware(){return fs(this,mc,yc).call(this),async(t,n,r,i)=>{var o,s;try{const[a,c,l]=await fs(o=e,Cc,kc).call(o,t,n,ds(this,pc));return c?(await fs(s=e,Mc,Ic).call(s,l),i(a)):r((async t=>{var n;try{await fs(n=e,Mc,Ic).call(n,l)}catch(e){return t(e)}return t()}))}catch(e){return i(e)}}}async _promiseHandle(e){return new Promise(((t,n)=>{fs(this,wc,Ec).call(this,e,((e,r)=>{e&&void 0===r?n(e):t(r)})).catch(n)}))}};fc=new WeakMap,pc=new WeakMap,gc=new WeakMap,mc=new WeakSet,yc=function(){if(ds(this,fc))throw new Error(\"This engine is destroyed and can no longer be used.\")},vc=new WeakSet,bc=async function(e,t){try{if(0===e.length){const e=[{id:null,jsonrpc:\"2.0\",error:new Ja(ps.invalidRequest,\"Request batch must contain plain objects. Received an empty array\")}];return t?t(null,e):e}const n=(await Promise.all(e.map(this._promiseHandle.bind(this)))).filter((e=>void 0!==e));return t?t(null,n):n}catch(e){if(t)return t(e);throw e}},wc=new WeakSet,Ec=async function(e,t){var n;if(!e||Array.isArray(e)||\"object\"!=typeof e){const n=new Ja(ps.invalidRequest,\"Requests must be plain objects. Received: \"+typeof e,{request:e});return t(n,{id:null,jsonrpc:\"2.0\",error:n})}if(\"string\"!=typeof e.method){const n=new Ja(ps.invalidRequest,\"Must specify a string method. Received: \"+typeof e.method,{request:e});return ds(this,gc)&&!xa(e)?t(null):t(n,{id:e.id??null,jsonrpc:\"2.0\",error:n})}if(ds(this,gc)&&xs(e,Aa)&&!xa(e)){try{await ds(this,gc).call(this,e)}catch(e){return t(e)}return t(null)}let r=null;const i={...e},o={id:i.id,jsonrpc:i.jsonrpc};try{await fs(n=Oc,Sc,_c).call(n,i,o,ds(this,pc))}catch(e){r=e}return r&&(delete o.result,o.error||(o.error=Na(r))),t(r,o)},Sc=new WeakSet,_c=async function(e,t,n){var r,i,o;const[s,a,c]=await fs(r=Oc,Cc,kc).call(r,e,t,n);if(fs(i=Oc,Tc,Rc).call(i,e,t,a),await fs(o=Oc,Mc,Ic).call(o,c),s)throw s},Cc=new WeakSet,kc=async function(e,t,n){var r;const i=[];let o=null,s=!1;for(const a of n)if([o,s]=await fs(r=Oc,Ac,xc).call(r,e,t,a,i),s)break;return[o,s,i.reverse()]},Ac=new WeakSet,xc=async function(e,t,n,r){return new Promise((i=>{const o=e=>{const n=e||t.error;n&&(t.error=Na(n)),i([n,!0])},s=n=>{t.error?o(t.error):(n&&(\"function\"!=typeof n&&o(new Ja(ps.internal,`JsonRpcEngine: \"next\" return handlers must be functions. Received \"${typeof n}\" for request:\\n${Lc(e)}`,{request:e})),r.push(n)),i([null,!1]))};try{n(e,t,s,o)}catch(e){o(e)}}))},Mc=new WeakSet,Ic=async function(e){for(const t of e)await new Promise(((e,n)=>{t((t=>t?n(t):e()))}))},Tc=new WeakSet,Rc=function(e,t,n){if(!ys(t,\"result\")&&!ys(t,\"error\"))throw new Ja(ps.internal,`JsonRpcEngine: Response has no error or result for request:\\n${Lc(e)}`,{request:e});if(!n)throw new Ja(ps.internal,`JsonRpcEngine: Nothing ended request:\\n${Lc(e)}`,{request:e})},us(Oc,Sc),us(Oc,Cc),us(Oc,Ac),us(Oc,Mc),us(Oc,Tc);var Nc=Oc;function Lc(e){return JSON.stringify(e,null,2)}var Dc=Object.freeze([\"eth_subscription\"]),$c=(e=console)=>[cs(),Bc(e),os(e)];function Bc(e){return(t,n,r)=>{\"string\"==typeof t.method&&t.method||(n.error=Xa({message:\"The request 'method' must be a non-empty string.\",data:t})),r((t=>{const{error:r}=n;return r?(e.error(`MetaMask - RPC Error: ${r.message}`,r),t()):t()}))}}var Kc=(e,t,n=!0)=>(r,i)=>{r||i.error?t(r||i.error):!n||Array.isArray(i)?e(i):e(i.result)},jc=e=>Boolean(e)&&\"string\"==typeof e&&e.startsWith(\"0x\"),Uc=()=>{};async function Hc(e,t){try{const t=await async function(){return{name:Fc(window),icon:await zc(window)}}();e.handle({jsonrpc:\"2.0\",id:1,method:\"metamask_sendDomainMetadata\",params:t},Uc)}catch(e){t.error({message:is.errors.sendSiteMetadata(),originalError:e})}}function Fc(e){const{document:t}=e,n=t.querySelector('head > meta[property=\"og:site_name\"]');if(n)return n.content;const r=t.querySelector('head > meta[name=\"title\"]');return r?r.content:t.title&&t.title.length>0?t.title:window.location.hostname}async function zc(e){const{document:t}=e,n=t.querySelectorAll('head > link[rel~=\"icon\"]');for(const e of Array.from(n))if(e&&await qc(e.href))return e.href;return null}async function qc(e){return new Promise(((t,n)=>{try{const n=document.createElement(\"img\");n.onload=()=>t(!0),n.onerror=()=>t(!1),n.src=e}catch(e){n(e)}}))}var Wc=(e,t,n)=>{if(!t.has(e))throw TypeError(\"Cannot \"+n)},Vc=(e,t,n)=>(Wc(e,t,\"read from private field\"),n?n.call(e):t.get(e)),Gc=(e,t,n)=>{if(t.has(e))throw TypeError(\"Cannot add the same private member more than once\");t instanceof WeakSet?t.add(e):t.set(e,n)},Yc=(e,t,n,r)=>(Wc(e,t,\"write to private field\"),t.set(e,n),n);function Zc(e,t,n){try{Reflect.apply(e,t,n)}catch(e){setTimeout((()=>{throw e}))}}class Jc extends rc{emit(e,...t){let n=\"error\"===e;const r=this._events;if(void 0!==r)n=n&&void 0===r.error;else if(!n)return!1;if(n){let e;if(t.length>0&&([e]=t),e instanceof Error)throw e;const n=new Error(\"Unhandled error.\"+(e?` (${e.message})`:\"\"));throw n.context=e,n}const i=r[e];if(void 0===i)return!1;if(\"function\"==typeof i)Zc(i,this,t);else{const e=i.length,n=function(e){const t=e.length,n=new Array(t);for(let r=0;r<t;r+=1)n[r]=e[r];return n}(i);for(let r=0;r<e;r+=1)Zc(n[r],this,t)}return!0}}var Qc,Xc,el=function e(t,n){if(t===n)return!0;if(t&&n&&\"object\"==typeof t&&\"object\"==typeof n){if(t.constructor!==n.constructor)return!1;var r,i,o;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(i=r;0!=i--;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(o=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(i=r;0!=i--;)if(!Object.prototype.hasOwnProperty.call(n,o[i]))return!1;for(i=r;0!=i--;){var s=o[i];if(!e(t[s],n[s]))return!1}return!0}return t!=t&&n!=n},tl=ue(el),nl=class e extends Jc{constructor({logger:t=console,maxEventListeners:n=100,rpcMiddleware:r=[]}={}){super(),Gc(this,Qc,void 0),Gc(this,Xc,void 0),this._log=t,this.setMaxListeners(n),this._state={...e._defaultState},Yc(this,Xc,null),Yc(this,Qc,null),this._handleAccountsChanged=this._handleAccountsChanged.bind(this),this._handleConnect=this._handleConnect.bind(this),this._handleChainChanged=this._handleChainChanged.bind(this),this._handleDisconnect=this._handleDisconnect.bind(this),this._handleUnlockStateChanged=this._handleUnlockStateChanged.bind(this),this._rpcRequest=this._rpcRequest.bind(this),this.request=this.request.bind(this);const i=new Nc;r.forEach((e=>i.push(e))),this._rpcEngine=i}get chainId(){return Vc(this,Qc)}get selectedAddress(){return Vc(this,Xc)}isConnected(){return this._state.isConnected}async request(e){if(!e||\"object\"!=typeof e||Array.isArray(e))throw Xa({message:is.errors.invalidRequestArgs(),data:e});const{method:t,params:n}=e;if(\"string\"!=typeof t||0===t.length)throw Xa({message:is.errors.invalidRequestMethod(),data:e});if(void 0!==n&&!Array.isArray(n)&&(\"object\"!=typeof n||null===n))throw Xa({message:is.errors.invalidRequestParams(),data:e});const r=null==n?{method:t}:{method:t,params:n};return new Promise(((e,t)=>{this._rpcRequest(r,Kc(e,t))}))}_initializeState(e){if(this._state.initialized)throw new Error(\"Provider already initialized.\");if(e){const{accounts:t,chainId:n,isUnlocked:r,networkVersion:i}=e;this._handleConnect(n),this._handleChainChanged({chainId:n,networkVersion:i}),this._handleUnlockStateChanged({accounts:t,isUnlocked:r}),this._handleAccountsChanged(t)}this._state.initialized=!0,this.emit(\"_initialized\")}_rpcRequest(e,t){let n=t;return Array.isArray(e)||(e.jsonrpc||(e.jsonrpc=\"2.0\"),\"eth_accounts\"!==e.method&&\"eth_requestAccounts\"!==e.method||(n=(n,r)=>{this._handleAccountsChanged(r.result??[],\"eth_accounts\"===e.method),t(n,r)})),this._rpcEngine.handle(e,n)}_handleConnect(e){this._state.isConnected||(this._state.isConnected=!0,this.emit(\"connect\",{chainId:e}),this._log.debug(is.info.connected(e)))}_handleDisconnect(e,t){if(this._state.isConnected||!this._state.isPermanentlyDisconnected&&!e){let n;this._state.isConnected=!1,e?(n=new Ja(1013,t??is.errors.disconnected()),this._log.debug(n)):(n=new Ja(1011,t??is.errors.permanentlyDisconnected()),this._log.error(n),Yc(this,Qc,null),this._state.accounts=null,Yc(this,Xc,null),this._state.isUnlocked=!1,this._state.isPermanentlyDisconnected=!0),this.emit(\"disconnect\",n)}}_handleChainChanged({chainId:e}={}){jc(e)?(this._handleConnect(e),e!==Vc(this,Qc)&&(Yc(this,Qc,e),this._state.initialized&&this.emit(\"chainChanged\",Vc(this,Qc)))):this._log.error(is.errors.invalidNetworkParams(),{chainId:e})}_handleAccountsChanged(e,t=!1){let n=e;Array.isArray(e)||(this._log.error(\"MetaMask: Received invalid accounts parameter. Please report this bug.\",e),n=[]);for(const t of e)if(\"string\"!=typeof t){this._log.error(\"MetaMask: Received non-string account. Please report this bug.\",e),n=[];break}if(!tl(this._state.accounts,n)&&(t&&null!==this._state.accounts&&this._log.error(\"MetaMask: 'eth_accounts' unexpectedly updated accounts. Please report this bug.\",n),this._state.accounts=n,Vc(this,Xc)!==n[0]&&Yc(this,Xc,n[0]||null),this._state.initialized)){const e=[...n];this.emit(\"accountsChanged\",e)}}_handleUnlockStateChanged({accounts:e,isUnlocked:t}={}){\"boolean\"==typeof t?t!==this._state.isUnlocked&&(this._state.isUnlocked=t,this._handleAccountsChanged(e??[])):this._log.error(\"MetaMask: Received invalid isUnlocked parameter. Please report this bug.\")}};Qc=new WeakMap,Xc=new WeakMap,nl._defaultState={accounts:null,isConnected:!1,isUnlocked:!1,initialized:!1,isPermanentlyDisconnected:!1};var rl,il=nl,ol={exports:{}},sl=lc.EventEmitter,al=he(le);rl=\"function\"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e};var cl=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++)n[t[r]]=Object.getOwnPropertyDescriptor(e,t[r]);return n},ll=/%[sdj%]/g;function dl(e){if(!Al(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(gl(arguments[n]));return t.join(\" \")}n=1;for(var r=arguments,i=r.length,o=String(e).replace(ll,(function(e){if(\"%%\"===e)return\"%\";if(n>=i)return e;switch(e){case\"%s\":return String(r[n++]);case\"%d\":return Number(r[n++]);case\"%j\":try{return JSON.stringify(r[n++])}catch(e){return\"[Circular]\"}default:return e}})),s=r[n];n<i;s=r[++n])_l(s)||!Tl(s)?o+=\" \"+s:o+=\" \"+gl(s);return o}function ul(e,t){if(Ml(l.process))return function(){return ul(e,t).apply(this,arguments)};if(!0===ua.noDeprecation)return e;var n=!1;return function(){if(!n){if(ua.throwDeprecation)throw new Error(t);ua.traceDeprecation?console.trace(t):console.error(t),n=!0}return e.apply(this,arguments)}}var hl,fl={};function pl(e){if(Ml(hl)&&(hl=ua.env.NODE_DEBUG||\"\"),e=e.toUpperCase(),!fl[e])if(new RegExp(\"\\\\b\"+e+\"\\\\b\",\"i\").test(hl)){fl[e]=function(){var t=dl.apply(null,arguments);console.error(\"%s %d: %s\",e,0,t)}}else fl[e]=function(){};return fl[e]}function gl(e,t){var n={seen:[],stylize:yl};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),Sl(t)?n.showHidden=t:t&&jl(n,t),Ml(n.showHidden)&&(n.showHidden=!1),Ml(n.depth)&&(n.depth=2),Ml(n.colors)&&(n.colors=!1),Ml(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=ml),vl(n,e,n.depth)}function ml(e,t){var n=gl.styles[t];return n?\"\u001b[\"+gl.colors[n][0]+\"m\"+e+\"\u001b[\"+gl.colors[n][1]+\"m\":e}function yl(e,t){return e}function vl(e,t,n){if(e.customInspect&&t&&Ol(t.inspect)&&t.inspect!==gl&&(!t.constructor||t.constructor.prototype!==t)){var r=t.inspect(n,e);return Al(r)||(r=vl(e,r,n)),r}var i=function(e,t){if(Ml(t))return e.stylize(\"undefined\",\"undefined\");if(Al(t)){var n=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(n,\"string\")}if(kl(t))return e.stylize(\"\"+t,\"number\");if(Sl(t))return e.stylize(\"\"+t,\"boolean\");if(_l(t))return e.stylize(\"null\",\"null\")}(e,t);if(i)return i;var o=Object.keys(t),s=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(t)),Pl(t)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return bl(t);if(0===o.length){if(Ol(t)){var a=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+a+\"]\",\"special\")}if(Il(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(Rl(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(Pl(t))return bl(t)}var c,l=\"\",d=!1,u=[\"{\",\"}\"];(El(t)&&(d=!0,u=[\"[\",\"]\"]),Ol(t))&&(l=\" [Function\"+(t.name?\": \"+t.name:\"\")+\"]\");return Il(t)&&(l=\" \"+RegExp.prototype.toString.call(t)),Rl(t)&&(l=\" \"+Date.prototype.toUTCString.call(t)),Pl(t)&&(l=\" \"+bl(t)),0!==o.length||d&&0!=t.length?n<0?Il(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\"):(e.seen.push(t),c=d?function(e,t,n,r,i){for(var o=[],s=0,a=t.length;s<a;++s)Ul(t,String(s))?o.push(wl(e,t,n,r,String(s),!0)):o.push(\"\");return i.forEach((function(i){i.match(/^\\d+$/)||o.push(wl(e,t,n,r,i,!0))})),o}(e,t,n,s,o):o.map((function(r){return wl(e,t,n,s,r,d)})),e.seen.pop(),function(e,t,n){var r=e.reduce((function(e,t){return t.indexOf(\"\\n\"),e+t.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1}),0);if(r>60)return n[0]+(\"\"===t?\"\":t+\"\\n \")+\" \"+e.join(\",\\n \")+\" \"+n[1];return n[0]+t+\" \"+e.join(\", \")+\" \"+n[1]}(c,l,u)):u[0]+l+u[1]}function bl(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function wl(e,t,n,r,i,o){var s,a,c;if((c=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?a=c.set?e.stylize(\"[Getter/Setter]\",\"special\"):e.stylize(\"[Getter]\",\"special\"):c.set&&(a=e.stylize(\"[Setter]\",\"special\")),Ul(r,i)||(s=\"[\"+i+\"]\"),a||(e.seen.indexOf(c.value)<0?(a=_l(n)?vl(e,c.value,null):vl(e,c.value,n-1)).indexOf(\"\\n\")>-1&&(a=o?a.split(\"\\n\").map((function(e){return\" \"+e})).join(\"\\n\").substr(2):\"\\n\"+a.split(\"\\n\").map((function(e){return\" \"+e})).join(\"\\n\")):a=e.stylize(\"[Circular]\",\"special\")),Ml(s)){if(o&&i.match(/^\\d+$/))return a;(s=JSON.stringify(\"\"+i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,\"name\")):(s=s.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),s=e.stylize(s,\"string\"))}return s+\": \"+a}function El(e){return Array.isArray(e)}function Sl(e){return\"boolean\"==typeof e}function _l(e){return null===e}function Cl(e){return null==e}function kl(e){return\"number\"==typeof e}function Al(e){return\"string\"==typeof e}function xl(e){return\"symbol\"==typeof e}function Ml(e){return void 0===e}function Il(e){return Tl(e)&&\"[object RegExp]\"===Dl(e)}function Tl(e){return\"object\"==typeof e&&null!==e}function Rl(e){return Tl(e)&&\"[object Date]\"===Dl(e)}function Pl(e){return Tl(e)&&(\"[object Error]\"===Dl(e)||e instanceof Error)}function Ol(e){return\"function\"==typeof e}function Nl(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||void 0===e}function Ll(e){return C.isBuffer(e)}function Dl(e){return Object.prototype.toString.call(e)}function $l(e){return e<10?\"0\"+e.toString(10):e.toString(10)}gl.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},gl.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};var Bl=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function Kl(){var e,t;console.log(\"%s - %s\",(e=new Date,t=[$l(e.getHours()),$l(e.getMinutes()),$l(e.getSeconds())].join(\":\"),[e.getDate(),Bl[e.getMonth()],t].join(\" \")),dl.apply(null,arguments))}function jl(e,t){if(!t||!Tl(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}function Ul(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var Hl=\"undefined\"!=typeof Symbol?Symbol(\"util.promisify.custom\"):void 0;function Fl(e){if(\"function\"!=typeof e)throw new TypeError('The \"original\" argument must be of type Function');if(Hl&&e[Hl]){var t;if(\"function\"!=typeof(t=e[Hl]))throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(t,Hl,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,n,r=new Promise((function(e,r){t=e,n=r})),i=[],o=0;o<arguments.length;o++)i.push(arguments[o]);i.push((function(e,r){e?n(e):t(r)}));try{e.apply(this,i)}catch(e){n(e)}return r}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Hl&&Object.defineProperty(t,Hl,{value:t,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(t,cl(e))}function zl(e,t){if(!e){var n=new Error(\"Promise was rejected with a falsy value\");n.reason=e,e=n}return t(e)}function ql(e){if(\"function\"!=typeof e)throw new TypeError('The \"original\" argument must be of type Function');function t(){for(var t=[],n=0;n<arguments.length;n++)t.push(arguments[n]);var r=t.pop();if(\"function\"!=typeof r)throw new TypeError(\"The last argument must be of type Function\");var i=this,o=function(){return r.apply(i,arguments)};e.apply(this,t).then((function(e){ua.nextTick(o.bind(null,null,e))}),(function(e){ua.nextTick(zl.bind(null,e,o))}))}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Object.defineProperties(t,cl(e)),t}Fl.custom=Hl;var Wl,Vl,Gl={inherits:rl,_extend:jl,log:Kl,isBuffer:Ll,isPrimitive:Nl,isFunction:Ol,isError:Pl,isDate:Rl,isObject:Tl,isRegExp:Il,isUndefined:Ml,isSymbol:xl,isString:Al,isNumber:kl,isNullOrUndefined:Cl,isNull:_l,isBoolean:Sl,isArray:El,inspect:gl,deprecate:ul,format:dl,debuglog:pl,promisify:Fl,callbackify:ql},Yl=he(Object.freeze({__proto__:null,_extend:jl,callbackify:ql,debuglog:pl,default:Gl,deprecate:ul,format:dl,inherits:rl,inspect:gl,isArray:El,isBoolean:Sl,isBuffer:Ll,isDate:Rl,isError:Pl,isFunction:Ol,isNull:_l,isNullOrUndefined:Cl,isNumber:kl,isObject:Tl,isPrimitive:Nl,isRegExp:Il,isString:Al,isSymbol:xl,isUndefined:Ml,log:Kl,promisify:Fl}));function Zl(){if(Vl)return Wl;function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var r=1;r<arguments.length;r++){var i=null!=arguments[r]?arguments[r]:{};r%2?e(Object(i),!0).forEach((function(e){n(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):e(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function n(e,t,n){return(t=i(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t,n){return t&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}(e.prototype,t),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function i(e){var t=function(e,t){if(\"object\"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||\"default\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"==typeof t?t:String(t)}Vl=1;var o=al.Buffer,s=Yl.inspect,a=s&&s.custom||\"inspect\";return Wl=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.head=null,this.tail=null,this.length=0}return r(e,[{key:\"push\",value:function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:\"unshift\",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:\"shift\",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:\"clear\",value:function(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function(e){if(0===this.length)return\"\";for(var t=this.head,n=\"\"+t.data;t=t.next;)n+=e+t.data;return n}},{key:\"concat\",value:function(e){if(0===this.length)return o.alloc(0);for(var t,n,r,i=o.allocUnsafe(e>>>0),s=this.head,a=0;s;)t=s.data,n=i,r=a,o.prototype.copy.call(t,n,r),a+=s.data.length,s=s.next;return i}},{key:\"consume\",value:function(e,t){var n;return e<this.head.data.length?(n=this.head.data.slice(0,e),this.head.data=this.head.data.slice(e)):n=e===this.head.data.length?this.shift():t?this._getString(e):this._getBuffer(e),n}},{key:\"first\",value:function(){return this.head.data}},{key:\"_getString\",value:function(e){var t=this.head,n=1,r=t.data;for(e-=r.length;t=t.next;){var i=t.data,o=e>i.length?i.length:e;if(o===i.length?r+=i:r+=i.slice(0,e),0===(e-=o)){o===i.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(o));break}++n}return this.length-=n,r}},{key:\"_getBuffer\",value:function(e){var t=o.allocUnsafe(e),n=this.head,r=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var i=n.data,s=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,s),0===(e-=s)){s===i.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=i.slice(s));break}++r}return this.length-=r,t}},{key:a,value:function(e,n){return s(this,t(t({},n),{},{depth:0,customInspect:!1}))}}]),e}(),Wl}function Jl(e,t){Xl(e,t),Ql(e)}function Ql(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit(\"close\")}function Xl(e,t){e.emit(\"error\",t)}var ed={destroy:function(e,t){var n=this,r=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return r||i?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,ua.nextTick(Xl,this,e)):ua.nextTick(Xl,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?n._writableState?n._writableState.errorEmitted?ua.nextTick(Ql,n):(n._writableState.errorEmitted=!0,ua.nextTick(Jl,n,e)):ua.nextTick(Jl,n,e):t?(ua.nextTick(Ql,n),t(e)):ua.nextTick(Ql,n)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(e,t){var n=e._readableState,r=e._writableState;n&&n.autoDestroy||r&&r.autoDestroy?e.destroy(t):e.emit(\"error\",t)}},td={};var nd={};function rd(e,t,n){n||(n=Error);var r=function(e){var n,r;function i(n,r,i){return e.call(this,function(e,n,r){return\"string\"==typeof t?t:t(e,n,r)}(n,r,i))||this}return r=e,(n=i).prototype=Object.create(r.prototype),n.prototype.constructor=n,n.__proto__=r,i}(n);r.prototype.name=n.name,r.prototype.code=e,nd[e]=r}function id(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map((function(e){return String(e)})),n>2?\"one of \".concat(t,\" \").concat(e.slice(0,n-1).join(\", \"),\", or \")+e[n-1]:2===n?\"one of \".concat(t,\" \").concat(e[0],\" or \").concat(e[1]):\"of \".concat(t,\" \").concat(e[0])}return\"of \".concat(t,\" \").concat(String(e))}rd(\"ERR_INVALID_OPT_VALUE\",(function(e,t){return'The value \"'+t+'\" is invalid for option \"'+e+'\"'}),TypeError),rd(\"ERR_INVALID_ARG_TYPE\",(function(e,t,n){var r,i,o;if(\"string\"==typeof t&&(i=\"not \",t.substr(0,i.length)===i)?(r=\"must not be\",t=t.replace(/^not /,\"\")):r=\"must be\",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}(e,\" argument\"))o=\"The \".concat(e,\" \").concat(r,\" \").concat(id(t,\"type\"));else{var s=function(e,t,n){return\"number\"!=typeof n&&(n=0),!(n+t.length>e.length)&&-1!==e.indexOf(t,n)}(e,\".\")?\"property\":\"argument\";o='The \"'.concat(e,'\" ').concat(s,\" \").concat(r,\" \").concat(id(t,\"type\"))}return o+=\". Received type \".concat(typeof n)}),TypeError),rd(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\"),rd(\"ERR_METHOD_NOT_IMPLEMENTED\",(function(e){return\"The \"+e+\" method is not implemented\"})),rd(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\"),rd(\"ERR_STREAM_DESTROYED\",(function(e){return\"Cannot call \"+e+\" after a stream was destroyed\"})),rd(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\"),rd(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\"),rd(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\"),rd(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError),rd(\"ERR_UNKNOWN_ENCODING\",(function(e){return\"Unknown encoding: \"+e}),TypeError),rd(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\"),td.codes=nd;var od=td.codes.ERR_INVALID_OPT_VALUE;var sd,ad,cd,ld,dd={getHighWaterMark:function(e,t,n,r){var i=function(e,t,n){return null!=e.highWaterMark?e.highWaterMark:t?e[n]:null}(t,r,n);if(null!=i){if(!isFinite(i)||Math.floor(i)!==i||i<0)throw new od(r?n:\"highWaterMark\",i);return Math.floor(i)}return e.objectMode?16:16384}},ud=\"function\"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e},hd=he(Object.freeze({__proto__:null,default:ud})),fd=function(e,t){if(pd(\"noDeprecation\"))return e;var n=!1;return function(){if(!n){if(pd(\"throwDeprecation\"))throw new Error(t);pd(\"traceDeprecation\")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}};function pd(e){try{if(!de.localStorage)return!1}catch(e){return!1}var t=de.localStorage[e];return null!=t&&\"true\"===String(t).toLowerCase()}function gd(){if(ad)return sd;function e(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var r=e.entry;e.entry=null;for(;r;){var i=r.callback;t.pendingcb--,i(n),r=r.next}t.corkedRequestsFree.next=e}(t,e)}}var t;ad=1,sd=E,E.WritableState=w;var n={deprecate:fd},r=sl,i=al.Buffer,o=(void 0!==de?de:\"undefined\"!=typeof window?window:\"undefined\"!=typeof self?self:{}).Uint8Array||function(){};var s,a=ed,c=dd.getHighWaterMark,l=td.codes,d=l.ERR_INVALID_ARG_TYPE,u=l.ERR_METHOD_NOT_IMPLEMENTED,h=l.ERR_MULTIPLE_CALLBACK,f=l.ERR_STREAM_CANNOT_PIPE,p=l.ERR_STREAM_DESTROYED,g=l.ERR_STREAM_NULL_VALUES,m=l.ERR_STREAM_WRITE_AFTER_END,y=l.ERR_UNKNOWN_ENCODING,v=a.errorOrDestroy;function b(){}function w(n,r,i){t=t||md(),n=n||{},\"boolean\"!=typeof i&&(i=r instanceof t),this.objectMode=!!n.objectMode,i&&(this.objectMode=this.objectMode||!!n.writableObjectMode),this.highWaterMark=c(this,n,\"writableHighWaterMark\",i),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=!1===n.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=n.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,i=n.writecb;if(\"function\"!=typeof i)throw new h;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,i){--t.pendingcb,n?(ua.nextTick(i,r),ua.nextTick(x,e,t),e._writableState.errorEmitted=!0,v(e,r)):(i(r),e._writableState.errorEmitted=!0,v(e,r),x(e,t))}(e,n,r,t,i);else{var o=k(n)||e.destroyed;o||n.corked||n.bufferProcessing||!n.bufferedRequest||C(e,n),r?ua.nextTick(_,e,n,o,i):_(e,n,o,i)}}(r,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==n.emitClose,this.autoDestroy=!!n.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new e(this)}function E(e){var n=this instanceof(t=t||md());if(!n&&!s.call(E,this))return new E(e);this._writableState=new w(e,this,n),this.writable=!0,e&&(\"function\"==typeof e.write&&(this._write=e.write),\"function\"==typeof e.writev&&(this._writev=e.writev),\"function\"==typeof e.destroy&&(this._destroy=e.destroy),\"function\"==typeof e.final&&(this._final=e.final)),r.call(this)}function S(e,t,n,r,i,o,s){t.writelen=r,t.writecb=s,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new p(\"write\")):n?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function _(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit(\"drain\"))}(e,t),t.pendingcb--,r(),x(e,t)}function C(t,n){n.bufferProcessing=!0;var r=n.bufferedRequest;if(t._writev&&r&&r.next){var i=n.bufferedRequestCount,o=new Array(i),s=n.corkedRequestsFree;s.entry=r;for(var a=0,c=!0;r;)o[a]=r,r.isBuf||(c=!1),r=r.next,a+=1;o.allBuffers=c,S(t,n,!0,n.length,o,\"\",s.finish),n.pendingcb++,n.lastBufferedRequest=null,s.next?(n.corkedRequestsFree=s.next,s.next=null):n.corkedRequestsFree=new e(n),n.bufferedRequestCount=0}else{for(;r;){var l=r.chunk,d=r.encoding,u=r.callback;if(S(t,n,!1,n.objectMode?1:l.length,l,d,u),r=r.next,n.bufferedRequestCount--,n.writing)break}null===r&&(n.lastBufferedRequest=null)}n.bufferedRequest=r,n.bufferProcessing=!1}function k(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function A(e,t){e._final((function(n){t.pendingcb--,n&&v(e,n),t.prefinished=!0,e.emit(\"prefinish\"),x(e,t)}))}function x(e,t){var n=k(t);if(n&&(function(e,t){t.prefinished||t.finalCalled||(\"function\"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit(\"prefinish\")):(t.pendingcb++,t.finalCalled=!0,ua.nextTick(A,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit(\"finish\"),t.autoDestroy))){var r=e._readableState;(!r||r.autoDestroy&&r.endEmitted)&&e.destroy()}return n}return hd(E,r),w.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(w.prototype,\"buffer\",{get:n.deprecate((function(){return this.getBuffer()}),\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch(e){}}(),\"function\"==typeof Symbol&&Symbol.hasInstance&&\"function\"==typeof Function.prototype[Symbol.hasInstance]?(s=Function.prototype[Symbol.hasInstance],Object.defineProperty(E,Symbol.hasInstance,{value:function(e){return!!s.call(this,e)||this===E&&(e&&e._writableState instanceof w)}})):s=function(e){return e instanceof this},E.prototype.pipe=function(){v(this,new f)},E.prototype.write=function(e,t,n){var r,s=this._writableState,a=!1,c=!s.objectMode&&(r=e,i.isBuffer(r)||r instanceof o);return c&&!i.isBuffer(e)&&(e=function(e){return i.from(e)}(e)),\"function\"==typeof t&&(n=t,t=null),c?t=\"buffer\":t||(t=s.defaultEncoding),\"function\"!=typeof n&&(n=b),s.ending?function(e,t){var n=new m;v(e,n),ua.nextTick(t,n)}(this,n):(c||function(e,t,n,r){var i;return null===n?i=new g:\"string\"==typeof n||t.objectMode||(i=new d(\"chunk\",[\"string\",\"Buffer\"],n)),!i||(v(e,i),ua.nextTick(r,i),!1)}(this,s,e,n))&&(s.pendingcb++,a=function(e,t,n,r,o,s){if(!n){var a=function(e,t,n){e.objectMode||!1===e.decodeStrings||\"string\"!=typeof t||(t=i.from(t,n));return t}(t,r,o);r!==a&&(n=!0,o=\"buffer\",r=a)}var c=t.objectMode?1:r.length;t.length+=c;var l=t.length<t.highWaterMark;l||(t.needDrain=!0);if(t.writing||t.corked){var d=t.lastBufferedRequest;t.lastBufferedRequest={chunk:r,encoding:o,isBuf:n,callback:s,next:null},d?d.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else S(e,t,!1,c,r,o,s);return l}(this,s,c,e,t,n)),a},E.prototype.cork=function(){this._writableState.corked++},E.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||C(this,e))},E.prototype.setDefaultEncoding=function(e){if(\"string\"==typeof e&&(e=e.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((e+\"\").toLowerCase())>-1))throw new y(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(E.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(E.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),E.prototype._write=function(e,t,n){n(new u(\"_write()\"))},E.prototype._writev=null,E.prototype.end=function(e,t,n){var r=this._writableState;return\"function\"==typeof e?(n=e,e=null,t=null):\"function\"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||function(e,t,n){t.ending=!0,x(e,t),n&&(t.finished?ua.nextTick(n):e.once(\"finish\",n));t.ended=!0,e.writable=!1}(this,r,n),this},Object.defineProperty(E.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(E.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),E.prototype.destroy=a.destroy,E.prototype._undestroy=a.undestroy,E.prototype._destroy=function(e,t){t(e)},sd}function md(){if(ld)return cd;ld=1;var e=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};cd=s;var t=Od(),n=gd();hd(s,t);for(var r=e(n.prototype),i=0;i<r.length;i++){var o=r[i];s.prototype[o]||(s.prototype[o]=n.prototype[o])}function s(e){if(!(this instanceof s))return new s(e);t.call(this,e),n.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once(\"end\",a)))}function a(){this._writableState.ended||ua.nextTick(c,this)}function c(e){e.end()}return Object.defineProperty(s.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(s.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(s.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(s.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),cd}var yd=C.isEncoding||function(e){switch(e&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function vd(e){switch(this.encoding=(e||\"utf8\").toLowerCase().replace(/[-_]/,\"\"),function(e){if(e&&!yd(e))throw new Error(\"Unknown encoding: \"+e)}(e),this.encoding){case\"utf8\":this.surrogateSize=3;break;case\"ucs2\":case\"utf16le\":this.surrogateSize=2,this.detectIncompleteChar=wd;break;case\"base64\":this.surrogateSize=3,this.detectIncompleteChar=Ed;break;default:return void(this.write=bd)}this.charBuffer=new C(6),this.charReceived=0,this.charLength=0}function bd(e){return e.toString(this.encoding)}function wd(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function Ed(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}vd.prototype.write=function(e){for(var t=\"\";this.charLength;){var n=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived<this.charLength)return\"\";if(e=e.slice(n,e.length),!((i=(t=this.charBuffer.slice(0,this.charLength).toString(this.encoding)).charCodeAt(t.length-1))>=55296&&i<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=\"\"}this.detectIncompleteChar(e);var r=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,r),r-=this.charReceived);var i;r=(t+=e.toString(this.encoding,0,r)).length-1;if((i=t.charCodeAt(r))>=55296&&i<=56319){var o=this.surrogateSize;return this.charLength+=o,this.charReceived+=o,this.charBuffer.copy(this.charBuffer,o,0,o),e.copy(this.charBuffer,0,0,o),t.substring(0,r)}return t},vd.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var n=e[e.length-t];if(1==t&&n>>5==6){this.charLength=2;break}if(t<=2&&n>>4==14){this.charLength=3;break}if(t<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=t},vd.prototype.end=function(e){var t=\"\";if(e&&e.length&&(t=this.write(e)),this.charReceived){var n=this.charReceived,r=this.charBuffer,i=this.encoding;t+=r.slice(0,n).toString(i)}return t};var Sd=he(Object.freeze({__proto__:null,StringDecoder:vd})),_d=td.codes.ERR_STREAM_PREMATURE_CLOSE;function Cd(){}var kd,Ad,xd,Md,Id,Td,Rd=function e(t,n,r){if(\"function\"==typeof n)return e(t,null,n);n||(n={}),r=function(e){var t=!1;return function(){if(!t){t=!0;for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];e.apply(this,r)}}}(r||Cd);var i=n.readable||!1!==n.readable&&t.readable,o=n.writable||!1!==n.writable&&t.writable,s=function(){t.writable||c()},a=t._writableState&&t._writableState.finished,c=function(){o=!1,a=!0,i||r.call(t)},l=t._readableState&&t._readableState.endEmitted,d=function(){i=!1,l=!0,o||r.call(t)},u=function(e){r.call(t,e)},h=function(){var e;return i&&!l?(t._readableState&&t._readableState.ended||(e=new _d),r.call(t,e)):o&&!a?(t._writableState&&t._writableState.ended||(e=new _d),r.call(t,e)):void 0},f=function(){t.req.on(\"finish\",c)};return!function(e){return e.setHeader&&\"function\"==typeof e.abort}(t)?o&&!t._writableState&&(t.on(\"end\",s),t.on(\"close\",s)):(t.on(\"complete\",c),t.on(\"abort\",h),t.req?f():t.on(\"request\",f)),t.on(\"end\",d),t.on(\"finish\",c),!1!==n.error&&t.on(\"error\",u),t.on(\"close\",h),function(){t.removeListener(\"complete\",c),t.removeListener(\"abort\",h),t.removeListener(\"request\",f),t.req&&t.req.removeListener(\"finish\",c),t.removeListener(\"end\",s),t.removeListener(\"close\",s),t.removeListener(\"finish\",c),t.removeListener(\"end\",d),t.removeListener(\"error\",u),t.removeListener(\"close\",h)}};function Pd(){if(Ad)return kd;var e;function t(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||\"default\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Ad=1;var n=Rd,r=Symbol(\"lastResolve\"),i=Symbol(\"lastReject\"),o=Symbol(\"error\"),s=Symbol(\"ended\"),a=Symbol(\"lastPromise\"),c=Symbol(\"handlePromise\"),l=Symbol(\"stream\");function d(e,t){return{value:e,done:t}}function u(e){var t=e[r];if(null!==t){var n=e[l].read();null!==n&&(e[a]=null,e[r]=null,e[i]=null,t(d(n,!1)))}}function h(e){ua.nextTick(u,e)}var f=Object.getPrototypeOf((function(){})),p=Object.setPrototypeOf((t(e={get stream(){return this[l]},next:function(){var e=this,t=this[o];if(null!==t)return Promise.reject(t);if(this[s])return Promise.resolve(d(void 0,!0));if(this[l].destroyed)return new Promise((function(t,n){ua.nextTick((function(){e[o]?n(e[o]):t(d(void 0,!0))}))}));var n,r=this[a];if(r)n=new Promise(function(e,t){return function(n,r){e.then((function(){t[s]?n(d(void 0,!0)):t[c](n,r)}),r)}}(r,this));else{var i=this[l].read();if(null!==i)return Promise.resolve(d(i,!1));n=new Promise(this[c])}return this[a]=n,n}},Symbol.asyncIterator,(function(){return this})),t(e,\"return\",(function(){var e=this;return new Promise((function(t,n){e[l].destroy(null,(function(e){e?n(e):t(d(void 0,!0))}))}))})),e),f);return kd=function(e){var u,f=Object.create(p,(t(u={},l,{value:e,writable:!0}),t(u,r,{value:null,writable:!0}),t(u,i,{value:null,writable:!0}),t(u,o,{value:null,writable:!0}),t(u,s,{value:e._readableState.endEmitted,writable:!0}),t(u,c,{value:function(e,t){var n=f[l].read();n?(f[a]=null,f[r]=null,f[i]=null,e(d(n,!1))):(f[r]=e,f[i]=t)},writable:!0}),u));return f[a]=null,n(e,(function(e){if(e&&\"ERR_STREAM_PREMATURE_CLOSE\"!==e.code){var t=f[i];return null!==t&&(f[a]=null,f[r]=null,f[i]=null,t(e)),void(f[o]=e)}var n=f[r];null!==n&&(f[a]=null,f[r]=null,f[i]=null,n(d(void 0,!0))),f[s]=!0})),e.on(\"readable\",h.bind(null,f)),f},kd}function Od(){if(Td)return Id;var e;Td=1,Id=E,E.ReadableState=w,lc.EventEmitter;var t=function(e,t){return e.listeners(t).length},n=sl,r=al.Buffer,i=(void 0!==de?de:\"undefined\"!=typeof window?window:\"undefined\"!=typeof self?self:{}).Uint8Array||function(){};var o,s=Yl;o=s&&s.debuglog?s.debuglog(\"stream\"):function(){};var a,c,l,d=Zl(),u=ed,h=dd.getHighWaterMark,f=td.codes,p=f.ERR_INVALID_ARG_TYPE,g=f.ERR_STREAM_PUSH_AFTER_EOF,m=f.ERR_METHOD_NOT_IMPLEMENTED,y=f.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;hd(E,n);var v=u.errorOrDestroy,b=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function w(t,n,r){e=e||md(),t=t||{},\"boolean\"!=typeof r&&(r=n instanceof e),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=h(this,t,\"readableHighWaterMark\",r),this.buffer=new d,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(a||(a=Sd.StringDecoder),this.decoder=new a(t.encoding),this.encoding=t.encoding)}function E(t){if(e=e||md(),!(this instanceof E))return new E(t);var r=this instanceof e;this._readableState=new w(t,this,r),this.readable=!0,t&&(\"function\"==typeof t.read&&(this._read=t.read),\"function\"==typeof t.destroy&&(this._destroy=t.destroy)),n.call(this)}function S(e,t,n,s,a){o(\"readableAddChunk\",t);var c,l=e._readableState;if(null===t)l.reading=!1,function(e,t){if(o(\"onEofChunk\"),t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.sync?A(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,x(e)))}(e,l);else if(a||(c=function(e,t){var n;o=t,r.isBuffer(o)||o instanceof i||\"string\"==typeof t||void 0===t||e.objectMode||(n=new p(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],t));var o;return n}(l,t)),c)v(e,c);else if(l.objectMode||t&&t.length>0)if(\"string\"==typeof t||l.objectMode||Object.getPrototypeOf(t)===r.prototype||(t=function(e){return r.from(e)}(t)),s)l.endEmitted?v(e,new y):_(e,l,t,!0);else if(l.ended)v(e,new g);else{if(l.destroyed)return!1;l.reading=!1,l.decoder&&!n?(t=l.decoder.write(t),l.objectMode||0!==t.length?_(e,l,t,!1):M(e,l)):_(e,l,t,!1)}else s||(l.reading=!1,M(e,l));return!l.ended&&(l.length<l.highWaterMark||0===l.length)}function _(e,t,n,r){t.flowing&&0===t.length&&!t.sync?(t.awaitDrain=0,e.emit(\"data\",n)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&A(e)),M(e,t)}Object.defineProperty(E.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),E.prototype.destroy=u.destroy,E.prototype._undestroy=u.undestroy,E.prototype._destroy=function(e,t){t(e)},E.prototype.push=function(e,t){var n,i=this._readableState;return i.objectMode?n=!0:\"string\"==typeof e&&((t=t||i.defaultEncoding)!==i.encoding&&(e=r.from(e,t),t=\"\"),n=!0),S(this,e,t,!1,n)},E.prototype.unshift=function(e){return S(this,e,null,!0,!1)},E.prototype.isPaused=function(){return!1===this._readableState.flowing},E.prototype.setEncoding=function(e){a||(a=Sd.StringDecoder);var t=new a(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var n=this._readableState.buffer.head,r=\"\";null!==n;)r+=t.write(n.data),n=n.next;return this._readableState.buffer.clear(),\"\"!==r&&this._readableState.buffer.push(r),this._readableState.length=r.length,this};var C=1073741824;function k(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=C?e=C:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function A(e){var t=e._readableState;o(\"emitReadable\",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(o(\"emitReadable\",t.flowing),t.emittedReadable=!0,ua.nextTick(x,e))}function x(e){var t=e._readableState;o(\"emitReadable_\",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit(\"readable\"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,O(e)}function M(e,t){t.readingMore||(t.readingMore=!0,ua.nextTick(I,e,t))}function I(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&0===t.length);){var n=t.length;if(o(\"maybeReadMore read 0\"),e.read(0),n===t.length)break}t.readingMore=!1}function T(e){var t=e._readableState;t.readableListening=e.listenerCount(\"readable\")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount(\"data\")>0&&e.resume()}function R(e){o(\"readable nexttick read 0\"),e.read(0)}function P(e,t){o(\"resume\",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit(\"resume\"),O(e),t.flowing&&!t.reading&&e.read(0)}function O(e){var t=e._readableState;for(o(\"flow\",t.flowing);t.flowing&&null!==e.read(););}function N(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(\"\"):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function L(e){var t=e._readableState;o(\"endReadable\",t.endEmitted),t.endEmitted||(t.ended=!0,ua.nextTick(D,t,e))}function D(e,t){if(o(\"endReadableNT\",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit(\"end\"),e.autoDestroy)){var n=t._writableState;(!n||n.autoDestroy&&n.finished)&&t.destroy()}}function $(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}return E.prototype.read=function(e){o(\"read\",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return o(\"read: emitReadable\",t.length,t.ended),0===t.length&&t.ended?L(this):A(this),null;if(0===(e=k(e,t))&&t.ended)return 0===t.length&&L(this),null;var r,i=t.needReadable;return o(\"need readable\",i),(0===t.length||t.length-e<t.highWaterMark)&&o(\"length less than watermark\",i=!0),t.ended||t.reading?o(\"reading or ended\",i=!1):i&&(o(\"do read\"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=k(n,t))),null===(r=e>0?N(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&L(this)),null!==r&&this.emit(\"data\",r),r},E.prototype._read=function(e){v(this,new m(\"_read()\"))},E.prototype.pipe=function(e,n){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,o(\"pipe count=%d opts=%j\",i.pipesCount,n);var s=(!n||!1!==n.end)&&e!==ua.stdout&&e!==ua.stderr?c:g;function a(t,n){o(\"onunpipe\"),t===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,o(\"cleanup\"),e.removeListener(\"close\",f),e.removeListener(\"finish\",p),e.removeListener(\"drain\",l),e.removeListener(\"error\",h),e.removeListener(\"unpipe\",a),r.removeListener(\"end\",c),r.removeListener(\"end\",g),r.removeListener(\"data\",u),d=!0,!i.awaitDrain||e._writableState&&!e._writableState.needDrain||l())}function c(){o(\"onend\"),e.end()}i.endEmitted?ua.nextTick(s):r.once(\"end\",s),e.on(\"unpipe\",a);var l=function(e){return function(){var n=e._readableState;o(\"pipeOnDrain\",n.awaitDrain),n.awaitDrain&&n.awaitDrain--,0===n.awaitDrain&&t(e,\"data\")&&(n.flowing=!0,O(e))}}(r);e.on(\"drain\",l);var d=!1;function u(t){o(\"ondata\");var n=e.write(t);o(\"dest.write\",n),!1===n&&((1===i.pipesCount&&i.pipes===e||i.pipesCount>1&&-1!==$(i.pipes,e))&&!d&&(o(\"false write response, pause\",i.awaitDrain),i.awaitDrain++),r.pause())}function h(n){o(\"onerror\",n),g(),e.removeListener(\"error\",h),0===t(e,\"error\")&&v(e,n)}function f(){e.removeListener(\"finish\",p),g()}function p(){o(\"onfinish\"),e.removeListener(\"close\",f),g()}function g(){o(\"unpipe\"),r.unpipe(e)}return r.on(\"data\",u),function(e,t,n){if(\"function\"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,\"error\",h),e.once(\"close\",f),e.once(\"finish\",p),e.emit(\"pipe\",r),i.flowing||(o(\"pipe resume\"),r.resume()),e},E.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(\"unpipe\",this,n)),this;if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o<i;o++)r[o].emit(\"unpipe\",this,{hasUnpiped:!1});return this}var s=$(t.pipes,e);return-1===s||(t.pipes.splice(s,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit(\"unpipe\",this,n)),this},E.prototype.on=function(e,t){var r=n.prototype.on.call(this,e,t),i=this._readableState;return\"data\"===e?(i.readableListening=this.listenerCount(\"readable\")>0,!1!==i.flowing&&this.resume()):\"readable\"===e&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,o(\"on readable\",i.length,i.reading),i.length?A(this):i.reading||ua.nextTick(R,this))),r},E.prototype.addListener=E.prototype.on,E.prototype.removeListener=function(e,t){var r=n.prototype.removeListener.call(this,e,t);return\"readable\"===e&&ua.nextTick(T,this),r},E.prototype.removeAllListeners=function(e){var t=n.prototype.removeAllListeners.apply(this,arguments);return\"readable\"!==e&&void 0!==e||ua.nextTick(T,this),t},E.prototype.resume=function(){var e=this._readableState;return e.flowing||(o(\"resume\"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,ua.nextTick(P,e,t))}(this,e)),e.paused=!1,this},E.prototype.pause=function(){return o(\"call pause flowing=%j\",this._readableState.flowing),!1!==this._readableState.flowing&&(o(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this},E.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var i in e.on(\"end\",(function(){if(o(\"wrapped end\"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on(\"data\",(function(i){(o(\"wrapped data\"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i)||(n.objectMode||i&&i.length)&&(t.push(i)||(r=!0,e.pause()))})),e)void 0===this[i]&&\"function\"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var s=0;s<b.length;s++)e.on(b[s],this.emit.bind(this,b[s]));return this._read=function(t){o(\"wrapped _read\",t),r&&(r=!1,e.resume())},this},\"function\"==typeof Symbol&&(E.prototype[Symbol.asyncIterator]=function(){return void 0===c&&(c=Pd()),c(this)}),Object.defineProperty(E.prototype,\"readableHighWaterMark\",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(E.prototype,\"readableBuffer\",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(E.prototype,\"readableFlowing\",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),E._fromList=N,Object.defineProperty(E.prototype,\"readableLength\",{enumerable:!1,get:function(){return this._readableState.length}}),\"function\"==typeof Symbol&&(E.from=function(e,t){return void 0===l&&(l=Md?xd:(Md=1,xd=function(){throw new Error(\"Readable.from is not available in the browser\")})),l(E,e,t)}),Id}var Nd=Hd,Ld=td.codes,Dd=Ld.ERR_METHOD_NOT_IMPLEMENTED,$d=Ld.ERR_MULTIPLE_CALLBACK,Bd=Ld.ERR_TRANSFORM_ALREADY_TRANSFORMING,Kd=Ld.ERR_TRANSFORM_WITH_LENGTH_0,jd=md();function Ud(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(null===r)return this.emit(\"error\",new $d);n.writechunk=null,n.writecb=null,null!=t&&this.push(t),r(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Hd(e){if(!(this instanceof Hd))return new Hd(e);jd.call(this,e),this._transformState={afterTransform:Ud.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(\"function\"==typeof e.transform&&(this._transform=e.transform),\"function\"==typeof e.flush&&(this._flush=e.flush)),this.on(\"prefinish\",Fd)}function Fd(){var e=this;\"function\"!=typeof this._flush||this._readableState.destroyed?zd(this,null,null):this._flush((function(t,n){zd(e,t,n)}))}function zd(e,t,n){if(t)return e.emit(\"error\",t);if(null!=n&&e.push(n),e._writableState.length)throw new Kd;if(e._transformState.transforming)throw new Bd;return e.push(null)}hd(Hd,jd),Hd.prototype.push=function(e,t){return this._transformState.needTransform=!1,jd.prototype.push.call(this,e,t)},Hd.prototype._transform=function(e,t,n){n(new Dd(\"_transform()\"))},Hd.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},Hd.prototype._read=function(e){var t=this._transformState;null===t.writechunk||t.transforming?t.needTransform=!0:(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform))},Hd.prototype._destroy=function(e,t){jd.prototype._destroy.call(this,e,(function(e){t(e)}))};var qd,Wd=Gd,Vd=Nd;function Gd(e){if(!(this instanceof Gd))return new Gd(e);Vd.call(this,e)}hd(Gd,Vd),Gd.prototype._transform=function(e,t,n){n(null,e)};var Yd=td.codes,Zd=Yd.ERR_MISSING_ARGS,Jd=Yd.ERR_STREAM_DESTROYED;function Qd(e){if(e)throw e}function Xd(e){e()}function eu(e,t){return e.pipe(t)}var tu=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r,i=function(e){return e.length?\"function\"!=typeof e[e.length-1]?Qd:e.pop():Qd}(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Zd(\"streams\");var o=t.map((function(e,n){var s=n<t.length-1;return function(e,t,n,r){r=function(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}(r);var i=!1;e.on(\"close\",(function(){i=!0})),void 0===qd&&(qd=Rd),qd(e,{readable:t,writable:n},(function(e){if(e)return r(e);i=!0,r()}));var o=!1;return function(t){if(!i&&!o)return o=!0,function(e){return e.setHeader&&\"function\"==typeof e.abort}(e)?e.abort():\"function\"==typeof e.destroy?e.destroy():void r(t||new Jd(\"pipe\"))}}(e,s,n>0,(function(e){r||(r=e),e&&o.forEach(Xd),s||(o.forEach(Xd),i(r))}))}));return t.reduce(eu)};!function(e,t){(t=ol.exports=Od()).Stream=t,t.Readable=t,t.Writable=gd(),t.Duplex=md(),t.Transform=Nd,t.PassThrough=Wd,t.finished=Rd,t.pipeline=tu}(0,ol.exports);var nu=ol.exports;function ru(e={}){const t={},n=new nu.Duplex({objectMode:!0,read:()=>{},write:function(n,o,s){let a=null;try{!n.id?function(n){e?.retryOnMessage&&n.method===e.retryOnMessage&&Object.values(t).forEach((({req:e,retryCount:n=0})=>{if(!e.id)return;if(n>=3)throw new Error(`StreamMiddleware - Retry limit exceeded for request id \"${e.id}\"`);const r=t[e.id];r&&(r.retryCount=n+1),i(e)}));r.emit(\"notification\",n)}(n):function(e){const{id:n}=e;if(null===n)return;const r=t[n];if(!r)return void console.warn(`StreamMiddleware - Unknown response id \"${n}\"`);delete t[n],Object.assign(r.res,e),setTimeout(r.end)}(n)}catch(e){a=e}s(a)}}),r=new Pc;return{events:r,middleware:(e,n,r,o)=>{t[e.id]={req:e,res:n,next:r,end:o},i(e)},stream:n};function i(e){n.push(e)}}var iu={},ou={exports:{}},su=function e(t,n){if(t&&n)return e(t)(n);if(\"function\"!=typeof t)throw new TypeError(\"need wrapper function\");return Object.keys(t).forEach((function(e){r[e]=t[e]})),r;function r(){for(var e=new Array(arguments.length),n=0;n<e.length;n++)e[n]=arguments[n];var r=t.apply(this,e),i=e[e.length-1];return\"function\"==typeof r&&r!==i&&Object.keys(i).forEach((function(e){r[e]=i[e]})),r}};var au=su;function cu(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function lu(e){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)},n=e.name||\"Function wrapped with `once`\";return t.onceError=n+\" shouldn't be called more than once\",t.called=!1,t}ou.exports=au(cu),ou.exports.strict=au(lu),cu.proto=cu((function(){Object.defineProperty(Function.prototype,\"once\",{value:function(){return cu(this)},configurable:!0}),Object.defineProperty(Function.prototype,\"onceStrict\",{value:function(){return lu(this)},configurable:!0})}));var du=ou.exports,uu={};Object.defineProperty(uu,\"__esModule\",{value:!0}),uu.Substream=void 0;const hu=nu;class fu extends hu.Duplex{constructor({parent:e,name:t}){super({objectMode:!0}),this._parent=e,this._name=t}_read(){}_write(e,t,n){this._parent.push({name:this._name,data:e}),n()}}uu.Substream=fu;var pu=de&&de.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(iu,\"__esModule\",{value:!0}),iu.ObjectMultiplex=void 0;const gu=nu,mu=pu(du),yu=uu,vu=Symbol(\"IGNORE_SUBSTREAM\");let bu=class extends gu.Duplex{constructor(e={}){super(Object.assign(Object.assign({},e),{objectMode:!0})),this._substreams={}}createStream(e){if(this.destroyed)throw new Error(`ObjectMultiplex - parent stream for name \"${e}\" already destroyed`);if(this._readableState.ended||this._writableState.ended)throw new Error(`ObjectMultiplex - parent stream for name \"${e}\" already ended`);if(!e)throw new Error(\"ObjectMultiplex - name must not be empty\");if(this._substreams[e])throw new Error(`ObjectMultiplex - Substream for name \"${e}\" already exists`);const t=new yu.Substream({parent:this,name:e});return this._substreams[e]=t,function(e,t){const n=(0,mu.default)(t);(0,gu.finished)(e,{readable:!1},n),(0,gu.finished)(e,{writable:!1},n)}(this,(e=>t.destroy(e||void 0))),t}ignoreStream(e){if(!e)throw new Error(\"ObjectMultiplex - name must not be empty\");if(this._substreams[e])throw new Error(`ObjectMultiplex - Substream for name \"${e}\" already exists`);this._substreams[e]=vu}_read(){}_write(e,t,n){const{name:r,data:i}=e;if(!r)return console.warn(`ObjectMultiplex - malformed chunk without name \"${e}\"`),n();const o=this._substreams[r];return o?(o!==vu&&o.push(i),n()):(console.warn(`ObjectMultiplex - orphaned data for stream \"${r}\"`),n())}};iu.ObjectMultiplex=bu;var wu=ue(iu.ObjectMultiplex);const Eu=e=>null!==e&&\"object\"==typeof e&&\"function\"==typeof e.pipe;Eu.writable=e=>Eu(e)&&!1!==e.writable&&\"function\"==typeof e._write&&\"object\"==typeof e._writableState,Eu.readable=e=>Eu(e)&&!1!==e.readable&&\"function\"==typeof e._read&&\"object\"==typeof e._readableState,Eu.duplex=e=>Eu.writable(e)&&Eu.readable(e),Eu.transform=e=>Eu.duplex(e)&&\"function\"==typeof e._transform;var Su,_u=Eu,Cu=class extends il{constructor(e,{jsonRpcStreamName:t,logger:n=console,maxEventListeners:r=100,rpcMiddleware:i=[]}){if(super({logger:n,maxEventListeners:r,rpcMiddleware:i}),!_u.duplex(e))throw new Error(is.errors.invalidDuplexStream());this._handleStreamDisconnect=this._handleStreamDisconnect.bind(this);const o=new wu;nu.pipeline(e,o,e,this._handleStreamDisconnect.bind(this,\"MetaMask\")),this._jsonRpcConnection=ru({retryOnMessage:\"METAMASK_EXTENSION_CONNECT_CAN_RETRY\"}),nu.pipeline(this._jsonRpcConnection.stream,o.createStream(t),this._jsonRpcConnection.stream,this._handleStreamDisconnect.bind(this,\"MetaMask RpcProvider\")),this._rpcEngine.push(this._jsonRpcConnection.middleware),this._jsonRpcConnection.events.on(\"notification\",(t=>{const{method:n,params:r}=t;\"metamask_accountsChanged\"===n?this._handleAccountsChanged(r):\"metamask_unlockStateChanged\"===n?this._handleUnlockStateChanged(r):\"metamask_chainChanged\"===n?this._handleChainChanged(r):Dc.includes(n)?this.emit(\"message\",{type:n,data:r}):\"METAMASK_STREAM_FAILURE\"===n&&e.destroy(new Error(is.errors.permanentlyDisconnected()))}))}async _initializeStateAsync(){let e;try{e=await this.request({method:\"metamask_getProviderState\"})}catch(e){this._log.error(\"MetaMask: Failed to get initial state. Please report this bug.\",e)}this._initializeState(e)}_handleStreamDisconnect(e,t){let n=`MetaMask: Lost connection to \"${e}\".`;t?.stack&&(n+=`\\n${t.stack}`),this._log.warn(n),this.listenerCount(\"error\")>0&&this.emit(\"error\",n),this._handleDisconnect(!1,t?t.message:void 0)}_handleChainChanged({chainId:e,networkVersion:t}={}){jc(e)&&(e=>Boolean(e)&&\"string\"==typeof e)(t)?\"loading\"===t?this._handleDisconnect(!0):super._handleChainChanged({chainId:e}):this._log.error(is.errors.invalidNetworkParams(),{chainId:e,networkVersion:t})}},ku=class extends Cu{constructor(e,{jsonRpcStreamName:t=\"metamask-provider\",logger:n=console,maxEventListeners:r=100,shouldSendMetadata:i}={}){if(super(e,{jsonRpcStreamName:t,logger:n,maxEventListeners:r,rpcMiddleware:$c(n)}),this._sentWarnings={chainId:!1,networkVersion:!1,selectedAddress:!1,enable:!1,experimentalMethods:!1,send:!1,events:{close:!1,data:!1,networkChanged:!1,notification:!1}},Gc(this,Su,void 0),this._initializeStateAsync(),Yc(this,Su,null),this.isMetaMask=!0,this._sendSync=this._sendSync.bind(this),this.enable=this.enable.bind(this),this.send=this.send.bind(this),this.sendAsync=this.sendAsync.bind(this),this._warnOfDeprecation=this._warnOfDeprecation.bind(this),this._metamask=this._getExperimentalApi(),this._jsonRpcConnection.events.on(\"notification\",(e=>{const{method:t}=e;Dc.includes(t)&&(this.emit(\"data\",e),this.emit(\"notification\",e.params.result))})),i)if(\"complete\"===document.readyState)Hc(this._rpcEngine,this._log);else{const e=()=>{Hc(this._rpcEngine,this._log),window.removeEventListener(\"DOMContentLoaded\",e)};window.addEventListener(\"DOMContentLoaded\",e)}}get chainId(){return this._sentWarnings.chainId||(this._log.warn(is.warnings.chainIdDeprecation),this._sentWarnings.chainId=!0),super.chainId}get networkVersion(){return this._sentWarnings.networkVersion||(this._log.warn(is.warnings.networkVersionDeprecation),this._sentWarnings.networkVersion=!0),Vc(this,Su)}get selectedAddress(){return this._sentWarnings.selectedAddress||(this._log.warn(is.warnings.selectedAddressDeprecation),this._sentWarnings.selectedAddress=!0),super.selectedAddress}sendAsync(e,t){this._rpcRequest(e,t)}addListener(e,t){return this._warnOfDeprecation(e),super.addListener(e,t)}on(e,t){return this._warnOfDeprecation(e),super.on(e,t)}once(e,t){return this._warnOfDeprecation(e),super.once(e,t)}prependListener(e,t){return this._warnOfDeprecation(e),super.prependListener(e,t)}prependOnceListener(e,t){return this._warnOfDeprecation(e),super.prependOnceListener(e,t)}_handleDisconnect(e,t){super._handleDisconnect(e,t),Vc(this,Su)&&!e&&Yc(this,Su,null)}_warnOfDeprecation(e){!1===this._sentWarnings?.events[e]&&(this._log.warn(is.warnings.events[e]),this._sentWarnings.events[e]=!0)}async enable(){return this._sentWarnings.enable||(this._log.warn(is.warnings.enableDeprecation),this._sentWarnings.enable=!0),new Promise(((e,t)=>{try{this._rpcRequest({method:\"eth_requestAccounts\",params:[]},Kc(e,t))}catch(e){t(e)}}))}send(e,t){return this._sentWarnings.send||(this._log.warn(is.warnings.sendDeprecation),this._sentWarnings.send=!0),\"string\"!=typeof e||t&&!Array.isArray(t)?e&&\"object\"==typeof e&&\"function\"==typeof t?this._rpcRequest(e,t):this._sendSync(e):new Promise(((n,r)=>{try{this._rpcRequest({method:e,params:t},Kc(n,r,!1))}catch(e){r(e)}}))}_sendSync(e){let t;switch(e.method){case\"eth_accounts\":t=this.selectedAddress?[this.selectedAddress]:[];break;case\"eth_coinbase\":t=this.selectedAddress??null;break;case\"eth_uninstallFilter\":this._rpcRequest(e,Uc),t=!0;break;case\"net_version\":t=Vc(this,Su)??null;break;default:throw new Error(is.errors.unsupportedSync(e.method))}return{id:e.id,jsonrpc:e.jsonrpc,result:t}}_getExperimentalApi(){return new Proxy({isUnlocked:async()=>(this._state.initialized||await new Promise((e=>{this.on(\"_initialized\",(()=>e()))})),this._state.isUnlocked),requestBatch:async e=>{if(!Array.isArray(e))throw Xa({message:\"Batch requests must be made with an array of request objects.\",data:e});return new Promise(((t,n)=>{this._rpcRequest(e,Kc(t,n))}))}},{get:(e,t,...n)=>(this._sentWarnings.experimentalMethods||(this._log.warn(is.warnings.experimentalMethods),this._sentWarnings.experimentalMethods=!0),Reflect.get(e,t,...n))})}_handleChainChanged({chainId:e,networkVersion:t}={}){super._handleChainChanged({chainId:e,networkVersion:t}),this._state.isConnected&&t!==Vc(this,Su)&&(Yc(this,Su,t),this._state.initialized&&this.emit(\"networkChanged\",Vc(this,Su)))}};Su=new WeakMap;const Au=t(\"MM_SDK\");let xu;Au.color=\"#FFAC1C\";var Mu={},Iu={};Object.defineProperty(Iu,\"__esModule\",{value:!0}),Iu.EthereumProviderError=Iu.EthereumRpcError=void 0;const Tu=$a;class Ru extends Error{constructor(e,t,n){if(!Number.isInteger(e))throw new Error('\"code\" must be an integer.');if(!t||\"string\"!=typeof t)throw new Error('\"message\" must be a nonempty string.');super(t),this.code=e,void 0!==n&&(this.data=n)}serialize(){const e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data),this.stack&&(e.stack=this.stack),e}toString(){return Tu.default(this.serialize(),Pu,2)}}Iu.EthereumRpcError=Ru;function Pu(e,t){if(\"[Circular]\"!==t)return t}Iu.EthereumProviderError=class extends Ru{constructor(e,t,n){if(!function(e){return Number.isInteger(e)&&e>=1e3&&e<=4999}(e))throw new Error('\"code\" must be an integer such that: 1000 <= code <= 4999');super(e,t,n)}};var Ou={},Nu={};Object.defineProperty(Nu,\"__esModule\",{value:!0}),Nu.errorValues=Nu.errorCodes=void 0,Nu.errorCodes={rpc:{invalidInput:-32e3,resourceNotFound:-32001,resourceUnavailable:-32002,transactionRejected:-32003,methodNotSupported:-32004,limitExceeded:-32005,parse:-32700,invalidRequest:-32600,methodNotFound:-32601,invalidParams:-32602,internal:-32603},provider:{userRejectedRequest:4001,unauthorized:4100,unsupportedMethod:4200,disconnected:4900,chainDisconnected:4901}},Nu.errorValues={\"-32700\":{standard:\"JSON RPC 2.0\",message:\"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.\"},\"-32600\":{standard:\"JSON RPC 2.0\",message:\"The JSON sent is not a valid Request object.\"},\"-32601\":{standard:\"JSON RPC 2.0\",message:\"The method does not exist / is not available.\"},\"-32602\":{standard:\"JSON RPC 2.0\",message:\"Invalid method parameter(s).\"},\"-32603\":{standard:\"JSON RPC 2.0\",message:\"Internal JSON-RPC error.\"},\"-32000\":{standard:\"EIP-1474\",message:\"Invalid input.\"},\"-32001\":{standard:\"EIP-1474\",message:\"Resource not found.\"},\"-32002\":{standard:\"EIP-1474\",message:\"Resource unavailable.\"},\"-32003\":{standard:\"EIP-1474\",message:\"Transaction rejected.\"},\"-32004\":{standard:\"EIP-1474\",message:\"Method not supported.\"},\"-32005\":{standard:\"EIP-1474\",message:\"Request limit exceeded.\"},4001:{standard:\"EIP-1193\",message:\"User rejected the request.\"},4100:{standard:\"EIP-1193\",message:\"The requested account and/or method has not been authorized by the user.\"},4200:{standard:\"EIP-1193\",message:\"The requested method is not supported by this Ethereum provider.\"},4900:{standard:\"EIP-1193\",message:\"The provider is disconnected from all chains.\"},4901:{standard:\"EIP-1193\",message:\"The provider is disconnected from the specified chain.\"}},function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.serializeError=e.isValidCode=e.getMessageFromCode=e.JSON_RPC_SERVER_ERROR_MESSAGE=void 0;const t=Nu,n=Iu,r=t.errorCodes.rpc.internal,i=\"Unspecified error message. This is a bug, please report it.\",o={code:r,message:s(r)};function s(n,r=i){if(Number.isInteger(n)){const r=n.toString();if(d(t.errorValues,r))return t.errorValues[r].message;if(c(n))return e.JSON_RPC_SERVER_ERROR_MESSAGE}return r}function a(e){if(!Number.isInteger(e))return!1;const n=e.toString();return!!t.errorValues[n]||!!c(e)}function c(e){return e>=-32099&&e<=-32e3}function l(e){return e&&\"object\"==typeof e&&!Array.isArray(e)?Object.assign({},e):e}function d(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.JSON_RPC_SERVER_ERROR_MESSAGE=\"Unspecified server error.\",e.getMessageFromCode=s,e.isValidCode=a,e.serializeError=function(e,{fallbackError:t=o,shouldIncludeStack:r=!1}={}){var i,c;if(!t||!Number.isInteger(t.code)||\"string\"!=typeof t.message)throw new Error(\"Must provide fallback error with integer number code and string message.\");if(e instanceof n.EthereumRpcError)return e.serialize();const u={};if(e&&\"object\"==typeof e&&!Array.isArray(e)&&d(e,\"code\")&&a(e.code)){const t=e;u.code=t.code,t.message&&\"string\"==typeof t.message?(u.message=t.message,d(t,\"data\")&&(u.data=t.data)):(u.message=s(u.code),u.data={originalError:l(e)})}else{u.code=t.code;const n=null===(i=e)||void 0===i?void 0:i.message;u.message=n&&\"string\"==typeof n?n:t.message,u.data={originalError:l(e)}}const h=null===(c=e)||void 0===c?void 0:c.stack;return r&&e&&h&&\"string\"==typeof h&&(u.stack=h),u}}(Ou);var Lu={};Object.defineProperty(Lu,\"__esModule\",{value:!0}),Lu.ethErrors=void 0;const Du=Iu,$u=Ou,Bu=Nu;function Ku(e,t){const[n,r]=Uu(t);return new Du.EthereumRpcError(e,n||$u.getMessageFromCode(e),r)}function ju(e,t){const[n,r]=Uu(t);return new Du.EthereumProviderError(e,n||$u.getMessageFromCode(e),r)}function Uu(e){if(e){if(\"string\"==typeof e)return[e];if(\"object\"==typeof e&&!Array.isArray(e)){const{message:t,data:n}=e;if(t&&\"string\"!=typeof t)throw new Error(\"Must specify string message.\");return[t||void 0,n]}}return[]}Lu.ethErrors={rpc:{parse:e=>Ku(Bu.errorCodes.rpc.parse,e),invalidRequest:e=>Ku(Bu.errorCodes.rpc.invalidRequest,e),invalidParams:e=>Ku(Bu.errorCodes.rpc.invalidParams,e),methodNotFound:e=>Ku(Bu.errorCodes.rpc.methodNotFound,e),internal:e=>Ku(Bu.errorCodes.rpc.internal,e),server:e=>{if(!e||\"object\"!=typeof e||Array.isArray(e))throw new Error(\"Ethereum RPC Server errors must provide single object argument.\");const{code:t}=e;if(!Number.isInteger(t)||t>-32005||t<-32099)throw new Error('\"code\" must be an integer such that: -32099 <= code <= -32005');return Ku(t,e)},invalidInput:e=>Ku(Bu.errorCodes.rpc.invalidInput,e),resourceNotFound:e=>Ku(Bu.errorCodes.rpc.resourceNotFound,e),resourceUnavailable:e=>Ku(Bu.errorCodes.rpc.resourceUnavailable,e),transactionRejected:e=>Ku(Bu.errorCodes.rpc.transactionRejected,e),methodNotSupported:e=>Ku(Bu.errorCodes.rpc.methodNotSupported,e),limitExceeded:e=>Ku(Bu.errorCodes.rpc.limitExceeded,e)},provider:{userRejectedRequest:e=>ju(Bu.errorCodes.provider.userRejectedRequest,e),unauthorized:e=>ju(Bu.errorCodes.provider.unauthorized,e),unsupportedMethod:e=>ju(Bu.errorCodes.provider.unsupportedMethod,e),disconnected:e=>ju(Bu.errorCodes.provider.disconnected,e),chainDisconnected:e=>ju(Bu.errorCodes.provider.chainDisconnected,e),custom:e=>{if(!e||\"object\"!=typeof e||Array.isArray(e))throw new Error(\"Ethereum Provider custom errors must provide single object argument.\");const{code:t,message:n,data:r}=e;if(!n||\"string\"!=typeof n)throw new Error('\"message\" must be a nonempty string');return new Du.EthereumProviderError(t,n,r)}}},function(e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.getMessageFromCode=e.serializeError=e.EthereumProviderError=e.EthereumRpcError=e.ethErrors=e.errorCodes=void 0;const t=Iu;Object.defineProperty(e,\"EthereumRpcError\",{enumerable:!0,get:function(){return t.EthereumRpcError}}),Object.defineProperty(e,\"EthereumProviderError\",{enumerable:!0,get:function(){return t.EthereumProviderError}});const n=Ou;Object.defineProperty(e,\"serializeError\",{enumerable:!0,get:function(){return n.serializeError}}),Object.defineProperty(e,\"getMessageFromCode\",{enumerable:!0,get:function(){return n.getMessageFromCode}});const r=Lu;Object.defineProperty(e,\"ethErrors\",{enumerable:!0,get:function(){return r.ethErrors}});const i=Nu;Object.defineProperty(e,\"errorCodes\",{enumerable:!0,get:function(){return i.errorCodes}})}(Mu);var Hu={exports:{}};Hu.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=90)}({17:function(e,t,n){t.__esModule=!0,t.default=void 0;var r=n(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var n=t.match(e);return n&&n.length>0&&n[1]||\"\"},e.getSecondMatch=function(e,t){var n=t.match(e);return n&&n.length>1&&n[2]||\"\"},e.matchAndReturnConst=function(e,t,n){if(e.test(t))return n},e.getWindowsVersionName=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":case\"NT 5.1\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}},e.getMacOSVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return\"Leopard\";case 6:return\"Snow Leopard\";case 7:return\"Lion\";case 8:return\"Mountain Lion\";case 9:return\"Mavericks\";case 10:return\"Yosemite\";case 11:return\"El Capitan\";case 12:return\"Sierra\";case 13:return\"High Sierra\";case 14:return\"Mojave\";case 15:return\"Catalina\";default:return}},e.getAndroidVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\"Cupcake\":1===t[0]&&t[1]>=6?\"Donut\":2===t[0]&&t[1]<2?\"Eclair\":2===t[0]&&2===t[1]?\"Froyo\":2===t[0]&&t[1]>2?\"Gingerbread\":3===t[0]?\"Honeycomb\":4===t[0]&&t[1]<1?\"Ice Cream Sandwich\":4===t[0]&&t[1]<4?\"Jelly Bean\":4===t[0]&&t[1]>=4?\"KitKat\":5===t[0]?\"Lollipop\":6===t[0]?\"Marshmallow\":7===t[0]?\"Nougat\":8===t[0]?\"Oreo\":9===t[0]?\"Pie\":void 0},e.getVersionPrecision=function(e){return e.split(\".\").length},e.compareVersions=function(t,n,r){void 0===r&&(r=!1);var i=e.getVersionPrecision(t),o=e.getVersionPrecision(n),s=Math.max(i,o),a=0,c=e.map([t,n],(function(t){var n=s-e.getVersionPrecision(t),r=t+new Array(n+1).join(\".0\");return e.map(r.split(\".\"),(function(e){return new Array(20-e.length).join(\"0\")+e})).reverse()}));for(r&&(a=s-Math.min(i,o)),s-=1;s>=a;){if(c[0][s]>c[1][s])return 1;if(c[0][s]===c[1][s]){if(s===a)return 0;s-=1}else if(c[0][s]<c[1][s])return-1}},e.map=function(e,t){var n,r=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(n=0;n<e.length;n+=1)r.push(t(e[n]));return r},e.find=function(e,t){var n,r;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(n=0,r=e.length;n<r;n+=1){var i=e[n];if(t(i,n))return i}},e.assign=function(e){for(var t,n,r=e,i=arguments.length,o=new Array(i>1?i-1:0),s=1;s<i;s++)o[s-1]=arguments[s];if(Object.assign)return Object.assign.apply(Object,[e].concat(o));var a=function(){var e=o[t];\"object\"==typeof e&&null!==e&&Object.keys(e).forEach((function(t){r[t]=e[t]}))};for(t=0,n=o.length;t<n;t+=1)a();return e},e.getBrowserAlias=function(e){return r.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return r.BROWSER_MAP[e]||\"\"},e}();t.default=i,e.exports=t.default},18:function(e,t,n){t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0,t.BROWSER_ALIASES_MAP={\"Amazon Silk\":\"amazon_silk\",\"Android Browser\":\"android\",Bada:\"bada\",BlackBerry:\"blackberry\",Chrome:\"chrome\",Chromium:\"chromium\",Electron:\"electron\",Epiphany:\"epiphany\",Firefox:\"firefox\",Focus:\"focus\",Generic:\"generic\",\"Google Search\":\"google_search\",Googlebot:\"googlebot\",\"Internet Explorer\":\"ie\",\"K-Meleon\":\"k_meleon\",Maxthon:\"maxthon\",\"Microsoft Edge\":\"edge\",\"MZ Browser\":\"mz\",\"NAVER Whale Browser\":\"naver\",Opera:\"opera\",\"Opera Coast\":\"opera_coast\",PhantomJS:\"phantomjs\",Puffin:\"puffin\",QupZilla:\"qupzilla\",QQ:\"qq\",QQLite:\"qqlite\",Safari:\"safari\",Sailfish:\"sailfish\",\"Samsung Internet for Android\":\"samsung_internet\",SeaMonkey:\"seamonkey\",Sleipnir:\"sleipnir\",Swing:\"swing\",Tizen:\"tizen\",\"UC Browser\":\"uc\",Vivaldi:\"vivaldi\",\"WebOS Browser\":\"webos\",WeChat:\"wechat\",\"Yandex Browser\":\"yandex\",Roku:\"roku\"},t.BROWSER_MAP={amazon_silk:\"Amazon Silk\",android:\"Android Browser\",bada:\"Bada\",blackberry:\"BlackBerry\",chrome:\"Chrome\",chromium:\"Chromium\",electron:\"Electron\",epiphany:\"Epiphany\",firefox:\"Firefox\",focus:\"Focus\",generic:\"Generic\",googlebot:\"Googlebot\",google_search:\"Google Search\",ie:\"Internet Explorer\",k_meleon:\"K-Meleon\",maxthon:\"Maxthon\",edge:\"Microsoft Edge\",mz:\"MZ Browser\",naver:\"NAVER Whale Browser\",opera:\"Opera\",opera_coast:\"Opera Coast\",phantomjs:\"PhantomJS\",puffin:\"Puffin\",qupzilla:\"QupZilla\",qq:\"QQ Browser\",qqlite:\"QQ Browser Lite\",safari:\"Safari\",sailfish:\"Sailfish\",samsung_internet:\"Samsung Internet for Android\",seamonkey:\"SeaMonkey\",sleipnir:\"Sleipnir\",swing:\"Swing\",tizen:\"Tizen\",uc:\"UC Browser\",vivaldi:\"Vivaldi\",webos:\"WebOS Browser\",wechat:\"WeChat\",yandex:\"Yandex Browser\"},t.PLATFORMS_MAP={tablet:\"tablet\",mobile:\"mobile\",desktop:\"desktop\",tv:\"tv\"},t.OS_MAP={WindowsPhone:\"Windows Phone\",Windows:\"Windows\",MacOS:\"macOS\",iOS:\"iOS\",Android:\"Android\",WebOS:\"WebOS\",BlackBerry:\"BlackBerry\",Bada:\"Bada\",Tizen:\"Tizen\",Linux:\"Linux\",ChromeOS:\"Chrome OS\",PlayStation4:\"PlayStation 4\",Roku:\"Roku\"},t.ENGINE_MAP={EdgeHTML:\"EdgeHTML\",Blink:\"Blink\",Trident:\"Trident\",Presto:\"Presto\",Gecko:\"Gecko\",WebKit:\"WebKit\"}},90:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,i=(r=n(91))&&r.__esModule?r:{default:r},o=n(18);function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var a=function(){function e(){}var t,n,r;return e.getParser=function(e,t){if(void 0===t&&(t=!1),\"string\"!=typeof e)throw new Error(\"UserAgent should be a string\");return new i.default(e,t)},e.parse=function(e){return new i.default(e).getResult()},t=e,r=[{key:\"BROWSER_MAP\",get:function(){return o.BROWSER_MAP}},{key:\"ENGINE_MAP\",get:function(){return o.ENGINE_MAP}},{key:\"OS_MAP\",get:function(){return o.OS_MAP}},{key:\"PLATFORMS_MAP\",get:function(){return o.PLATFORMS_MAP}}],(n=null)&&s(t.prototype,n),r&&s(t,r),e}();t.default=a,e.exports=t.default},91:function(e,t,n){t.__esModule=!0,t.default=void 0;var r=c(n(92)),i=c(n(93)),o=c(n(94)),s=c(n(95)),a=c(n(17));function c(e){return e&&e.__esModule?e:{default:e}}var l=function(){function e(e,t){if(void 0===t&&(t=!1),null==e||\"\"===e)throw new Error(\"UserAgent parameter can't be empty\");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=a.default.find(r.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||\"\":this.getBrowser().name||\"\"},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=a.default.find(i.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||\"\":t||\"\"},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||\"\":t||\"\"},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=a.default.find(o.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||\"\":this.getEngine().name||\"\"},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=a.default.find(s.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return a.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,n={},r=0,i={},o=0;if(Object.keys(e).forEach((function(t){var s=e[t];\"string\"==typeof s?(i[t]=s,o+=1):\"object\"==typeof s&&(n[t]=s,r+=1)})),r>0){var s=Object.keys(n),c=a.default.find(s,(function(e){return t.isOS(e)}));if(c){var l=this.satisfies(n[c]);if(void 0!==l)return l}var d=a.default.find(s,(function(e){return t.isPlatform(e)}));if(d){var u=this.satisfies(n[d]);if(void 0!==u)return u}}if(o>0){var h=Object.keys(i),f=a.default.find(h,(function(e){return t.isBrowser(e,!0)}));if(void 0!==f)return this.compareVersion(i[f])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var n=this.getBrowserName().toLowerCase(),r=e.toLowerCase(),i=a.default.getBrowserTypeByAlias(r);return t&&i&&(r=i.toLowerCase()),r===n},t.compareVersion=function(e){var t=[0],n=e,r=!1,i=this.getBrowserVersion();if(\"string\"==typeof i)return\">\"===e[0]||\"<\"===e[0]?(n=e.substr(1),\"=\"===e[1]?(r=!0,n=e.substr(2)):t=[],\">\"===e[0]?t.push(1):t.push(-1)):\"=\"===e[0]?n=e.substr(1):\"~\"===e[0]&&(r=!0,n=e.substr(1)),t.indexOf(a.default.compareVersions(i,n,r))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=l,e.exports=t.default},92:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,i=(r=n(17))&&r.__esModule?r:{default:r},o=/version\\/(\\d+(\\.?_?\\d+)+)/i,s=[{test:[/googlebot/i],describe:function(e){var t={name:\"Googlebot\"},n=i.default.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/opera/i],describe:function(e){var t={name:\"Opera\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/opr\\/|opios/i],describe:function(e){var t={name:\"Opera\"},n=i.default.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:\"Samsung Internet for Android\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/Whale/i],describe:function(e){var t={name:\"NAVER Whale Browser\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:\"MZ Browser\"},n=i.default.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/focus/i],describe:function(e){var t={name:\"Focus\"},n=i.default.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/swing/i],describe:function(e){var t={name:\"Swing\"},n=i.default.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/coast/i],describe:function(e){var t={name:\"Opera Coast\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/opt\\/\\d+(?:.?_?\\d+)+/i],describe:function(e){var t={name:\"Opera Touch\"},n=i.default.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/yabrowser/i],describe:function(e){var t={name:\"Yandex Browser\"},n=i.default.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:\"UC Browser\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:\"Maxthon\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/epiphany/i],describe:function(e){var t={name:\"Epiphany\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/puffin/i],describe:function(e){var t={name:\"Puffin\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/sleipnir/i],describe:function(e){var t={name:\"Sleipnir\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/k-meleon/i],describe:function(e){var t={name:\"K-Meleon\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/micromessenger/i],describe:function(e){var t={name:\"WeChat\"},n=i.default.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?\"QQ Browser Lite\":\"QQ Browser\"},n=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/msie|trident/i],describe:function(e){var t={name:\"Internet Explorer\"},n=i.default.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/\\sedg\\//i],describe:function(e){var t={name:\"Microsoft Edge\"},n=i.default.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:\"Microsoft Edge\"},n=i.default.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/vivaldi/i],describe:function(e){var t={name:\"Vivaldi\"},n=i.default.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/seamonkey/i],describe:function(e){var t={name:\"SeaMonkey\"},n=i.default.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/sailfish/i],describe:function(e){var t={name:\"Sailfish\"},n=i.default.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i,e);return n&&(t.version=n),t}},{test:[/silk/i],describe:function(e){var t={name:\"Amazon Silk\"},n=i.default.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/phantom/i],describe:function(e){var t={name:\"PhantomJS\"},n=i.default.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/slimerjs/i],describe:function(e){var t={name:\"SlimerJS\"},n=i.default.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t={name:\"BlackBerry\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:\"WebOS Browser\"},n=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/bada/i],describe:function(e){var t={name:\"Bada\"},n=i.default.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/tizen/i],describe:function(e){var t={name:\"Tizen\"},n=i.default.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/qupzilla/i],describe:function(e){var t={name:\"QupZilla\"},n=i.default.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:\"Firefox\"},n=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/electron/i],describe:function(e){var t={name:\"Electron\"},n=i.default.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:\"Miui\"},n=i.default.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/chromium/i],describe:function(e){var t={name:\"Chromium\"},n=i.default.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:\"Chrome\"},n=i.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/GSA/i],describe:function(e){var t={name:\"Google Search\"},n=i.default.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:function(e){var t=!e.test(/like android/i),n=e.test(/android/i);return t&&n},describe:function(e){var t={name:\"Android Browser\"},n=i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/playstation 4/i],describe:function(e){var t={name:\"PlayStation 4\"},n=i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:\"Safari\"},n=i.default.getFirstMatch(o,e);return n&&(t.version=n),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search(\"\\\\(\")?/^(.*)\\/(.*)[ \\t]\\((.*)/:/^(.*)\\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=s,e.exports=t.default},93:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,i=(r=n(17))&&r.__esModule?r:{default:r},o=n(18),s=[{test:[/Roku\\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i,e);return{name:o.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i,e);return{name:o.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i,e),n=i.default.getWindowsVersionName(t);return{name:o.OS_MAP.Windows,version:t,versionName:n}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(e){var t={name:o.OS_MAP.iOS},n=i.default.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/,e);return n&&(t.version=n),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i,e).replace(/[_\\s]/g,\".\"),n=i.default.getMacOSVersionName(t),r={name:o.OS_MAP.MacOS,version:t};return n&&(r.versionName=n),r}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i,e).replace(/[_\\s]/g,\".\");return{name:o.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),n=e.test(/android/i);return t&&n},describe:function(e){var t=i.default.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i,e),n=i.default.getAndroidVersionName(t),r={name:o.OS_MAP.Android,version:t};return n&&(r.versionName=n),r}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i,e),n={name:o.OS_MAP.WebOS};return t&&t.length&&(n.version=t),n}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i,e)||i.default.getFirstMatch(/\\bbb(\\d+)/i,e);return{name:o.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i,e);return{name:o.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:o.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:o.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:o.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:o.OS_MAP.PlayStation4,version:t}}}];t.default=s,e.exports=t.default},94:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,i=(r=n(17))&&r.__esModule?r:{default:r},o=n(18),s=[{test:[/googlebot/i],describe:function(){return{type:\"bot\",vendor:\"Google\"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&\"Nova\",n={type:o.PLATFORMS_MAP.mobile,vendor:\"Huawei\"};return t&&(n.model=t),n}},{test:[/nexus\\s*(?:7|8|9|10).*/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:\"Nexus\"}}},{test:[/ipad/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/kftt build/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:\"Amazon\",model:\"Kindle Fire HD 7\"}}},{test:[/silk/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:\"Amazon\"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),n=e.test(/like (ipod|iphone)/i);return t&&!n},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:o.PLATFORMS_MAP.mobile,vendor:\"Apple\",model:t}}},{test:[/nexus\\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:\"Nexus\"}}},{test:[/[^-]mobi/i],describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return\"blackberry\"===e.getBrowserName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:\"BlackBerry\"}}},{test:function(e){return\"bada\"===e.getBrowserName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return\"windows phone\"===e.getBrowserName()},describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:\"Microsoft\"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(\".\")[0]);return\"android\"===e.getOSName(!0)&&t>=3},describe:function(){return{type:o.PLATFORMS_MAP.tablet}}},{test:function(e){return\"android\"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return\"macos\"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop,vendor:\"Apple\"}}},{test:function(e){return\"windows\"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop}}},{test:function(e){return\"linux\"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop}}},{test:function(e){return\"playstation 4\"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.tv}}},{test:function(e){return\"roku\"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.tv}}}];t.default=s,e.exports=t.default},95:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,i=(r=n(17))&&r.__esModule?r:{default:r},o=n(18),s=[{test:function(e){return\"microsoft edge\"===e.getBrowserName(!0)},describe:function(e){if(/\\sedg\\//i.test(e))return{name:o.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i,e);return{name:o.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:o.ENGINE_MAP.Trident},n=i.default.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:o.ENGINE_MAP.Presto},n=i.default.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:function(e){var t=e.test(/gecko/i),n=e.test(/like gecko/i);return t&&!n},describe:function(e){var t={name:o.ENGINE_MAP.Gecko},n=i.default.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/(apple)?webkit\\/537\\.36/i],describe:function(){return{name:o.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:o.ENGINE_MAP.WebKit},n=i.default.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i,e);return n&&(t.version=n),t}}];t.default=s,e.exports=t.default}});var Fu=ue(Hu.exports);const zu={Initialized:\"initialized\",DisplayURI:\"display_uri\",ProviderUpdate:\"provider_update\",ConnectWithResponse:\"connectWithResponse\",ConnectionStatus:\"connection_status\",ServiceStatus:\"service_status\"};class qu{constructor({shouldSetOnWindow:e,connectionStream:t,shouldSendMetadata:n=!1,shouldShimWeb3:r,sdkInstance:i}){const o=new Gu({connectionStream:t,shouldSendMetadata:n,shouldSetOnWindow:e,shouldShimWeb3:r,autoRequestAccounts:!1}),s=new Proxy(o,{deleteProperty:()=>!0});if(this.provider=s,this.sdkInstance=i,e&&\"undefined\"!=typeof window)try{a=o,window.ethereum=a,window.dispatchEvent(new Event(\"ethereum#initialized\"))}catch(e){Au(\"[Ethereum] Unable to set global provider - window.ethereum may be read-only\",e)}var a;if(r&&\"undefined\"!=typeof window)try{!function(e,t=console){let n=!1,r=!1;if(!window.web3){const i=\"__isMetaMaskShim__\";let o={currentProvider:e};Object.defineProperty(o,i,{value:!0,enumerable:!0,configurable:!1,writable:!1}),o=new Proxy(o,{get:(o,s,...a)=>(\"currentProvider\"!==s||n?\"currentProvider\"===s||s===i||r||(r=!0,t.error(\"MetaMask no longer injects web3. For details, see: https://docs.metamask.io/guide/provider-migration.html#replacing-window-web3\"),e.request({method:\"metamask_logWeb3ShimUsage\"}).catch((e=>{t.debug(\"MetaMask: Failed to log web3 shim usage.\",e)}))):(n=!0,t.warn(\"You are accessing the MetaMask window.web3.currentProvider shim. This property is deprecated; use window.ethereum instead. For details, see: https://docs.metamask.io/guide/provider-migration.html#replacing-window-web3\")),Reflect.get(o,s,...a)),set:(...e)=>(t.warn(\"You are accessing the MetaMask window.web3 shim. This object is deprecated; use window.ethereum instead. For details, see: https://docs.metamask.io/guide/provider-migration.html#replacing-window-web3\"),Reflect.set(...e))}),Object.defineProperty(window,\"web3\",{value:o,enumerable:!1,configurable:!0,writable:!0})}}(this.provider)}catch(e){Au(\"[Ethereum] Unable to shim web3 - window.web3 may be read-only\",e)}this.provider.on(\"display_uri\",(e=>{this.sdkInstance.emit(zu.DisplayURI,e)})),this.provider.on(\"_initialized\",(()=>{const e={chainId:this.provider.getChainId(),isConnected:this.provider.isConnected(),isMetaMask:this.provider.isMetaMask,selectedAddress:this.provider.getSelectedAddress(),networkVersion:this.provider.getNetworkVersion()};this.sdkInstance.emit(zu.Initialized,e),Au(\"[Ethereum: constructor()] provider initialized\",e)}))}static init(e){var t;return Au(\"[Ethereum: init()] Initializing Ethereum service\"),this.instance=new qu(e),null===(t=this.instance)||void 0===t?void 0:t.provider}static destroy(){}static getInstance(){var e;if(!(null===(e=this.instance)||void 0===e?void 0:e.provider))throw new Error(\"Ethereum instance not intiialized - call Ethereum.factory first.\");return this.instance}static getProvider(){var e;if(!(null===(e=this.instance)||void 0===e?void 0:e.provider))throw new Error(\"Ethereum instance not intiialized - call Ethereum.factory first.\");return this.instance.provider}}class Wu{constructor({useDeepLink:e,preferredOpenLink:t,debug:n=!1}){this.state={platformType:void 0,useDeeplink:!1,preferredOpenLink:void 0,debug:!1},this.state.platformType=this.getPlatformType(),this.state.useDeeplink=e,this.state.preferredOpenLink=t,this.state.debug=n}openDeeplink(e,t,n){return function(e,t,n,r){const{state:i}=e;Au(`[PlatfformManager: openDeeplink()] universalLink --\\x3e ${t}`),Au(`[PlatfformManager: openDeeplink()] deepLink --\\x3e ${n}`);try{if(i.preferredOpenLink)return void i.preferredOpenLink(i.useDeeplink?n:t,r);if(Au(`[PlatfformManager: openDeeplink()] open link now useDeepLink=${i.useDeeplink} link=${i.useDeeplink?n:t}`),i.useDeeplink)\"undefined\"!=typeof window&&(window.location.href=n);else if(\"undefined\"!=typeof document){const e=document.createElement(\"a\");e.href=t,e.target=\"_self\",e.rel=\"noreferrer noopener\",e.click()}}catch(e){console.log(\"[PlatfformManager: openDeeplink()] can't open link\",e)}}(this,e,t,n)}isReactNative(){var e;return this.isNotBrowser()&&\"undefined\"!=typeof window&&(null===window||void 0===window?void 0:window.navigator)&&\"ReactNative\"===(null===(e=window.navigator)||void 0===e?void 0:e.product)}isMetaMaskInstalled(){return function(){const e=qu.getProvider()||(null===window||void 0===window?void 0:window.ethereum);return Au(`[PlatfformManager: isMetaMaskInstalled()] isMetaMask=${null==e?void 0:e.isMetaMask} isConnected=${null==e?void 0:e.isConnected()}`),(null==e?void 0:e.isMetaMask)&&(null==e?void 0:e.isConnected())}()}isDesktopWeb(){return this.isBrowser()&&!this.isMobileWeb()}isMobile(){var e,t;const n=Fu.parse(window.navigator.userAgent);return\"mobile\"===(null===(e=null==n?void 0:n.platform)||void 0===e?void 0:e.type)||\"tablet\"===(null===(t=null==n?void 0:n.platform)||void 0===t?void 0:t.type)}isSecure(){return this.isReactNative()||this.isMobileWeb()}isMetaMaskMobileWebView(){return\"undefined\"!=typeof window&&(Boolean(window.ReactNativeWebView)&&Boolean(navigator.userAgent.endsWith(\"MetaMaskMobile\")))}isMobileWeb(){return this.state.platformType===Uo.MobileWeb}static isNotBrowser(){var e;return\"undefined\"==typeof window||!(null===window||void 0===window?void 0:window.navigator)||void 0!==l&&\"ReactNative\"===(null===(e=null==l?void 0:l.navigator)||void 0===e?void 0:e.product)||\"ReactNative\"===(null===navigator||void 0===navigator?void 0:navigator.product)}isNotBrowser(){return Wu.isNotBrowser()}static isBrowser(){return!this.isNotBrowser()}isBrowser(){return Wu.isBrowser()}isNodeJS(){return this.isNotBrowser()&&!this.isReactNative()}isUseDeepLink(){return this.state.useDeeplink}getPlatformType(){return function(e){const{state:t}=e;return t.platformType?t.platformType:e.isReactNative()?Uo.ReactNative:e.isNotBrowser()?Uo.NonBrowser:e.isMetaMaskMobileWebView()?Uo.MetaMaskMobileWebview:e.isMobile()?Uo.MobileWeb:Uo.DesktopWeb}(this)}}const Vu=e=>c(void 0,void 0,void 0,(function*(){if(Wu.isBrowser()){const{StorageManagerWeb:t}=yield Promise.resolve().then((function(){return of}));return new t(e)}const t={persistChannelConfig:()=>c(void 0,void 0,void 0,(function*(){})),getPersistedChannelConfig:()=>c(void 0,void 0,void 0,(function*(){})),persistAccounts:()=>c(void 0,void 0,void 0,(function*(){})),getCachedAccounts:()=>c(void 0,void 0,void 0,(function*(){return[]})),persistChainId:()=>c(void 0,void 0,void 0,(function*(){})),getCachedChainId:()=>c(void 0,void 0,void 0,(function*(){})),terminate:()=>c(void 0,void 0,void 0,(function*(){}))};return Promise.resolve(t)}));class Gu extends ku{constructor({connectionStream:e,shouldSendMetadata:t,autoRequestAccounts:n=!1}){super(e,{logger:console,maxEventListeners:100,shouldSendMetadata:t}),this.state={accounts:null,autoRequestAccounts:!1,providerStateRequested:!1,chainId:\"\",networkVersion:\"\"},Au(`[SDKProvider: constructor()] autoRequestAccounts=${n}`),this.state.autoRequestAccounts=n}forceInitializeState(){return c(this,void 0,void 0,(function*(){return Au(`[SDKProvider: forceInitializeState()] autoRequestAccounts=${this.state.autoRequestAccounts}`),this._initializeStateAsync()}))}_setConnected(){Au(\"[SDKProvider: _setConnected()] Setting connected state\"),this._state.isConnected=!0}getState(){return this._state}getSDKProviderState(){return this.state}getSelectedAddress(){var e;const{accounts:t}=this._state;return t&&0!==t.length?(null===(e=t[0])||void 0===e?void 0:e.toLowerCase())||\"\":(Au(\"[SDKProvider: getSelectedAddress] No accounts found\"),null)}getChainId(){return this.state.chainId}getNetworkVersion(){return this.state.networkVersion}setSDKProviderState(e){this.state=Object.assign(Object.assign({},this.state),e)}handleAccountsChanged(e,t){return this._handleAccountsChanged(e,t)}handleDisconnect({terminate:e=!1}){!function({terminate:e=!1,instance:t}){const{state:n}=t;Au(`[SDKProvider: handleDisconnect()] cleaning up provider state terminate=${e}`,t),e&&(t._state.accounts=null,t._state.isUnlocked=!1,t._state.isPermanentlyDisconnected=!0,t._state.initialized=!1),t._handleAccountsChanged([]),t._state.isConnected=!1,t.emit(\"disconnect\",Mu.ethErrors.provider.disconnected()),n.providerStateRequested=!1}({terminate:e,instance:this})}_initializeStateAsync(){return c(this,void 0,void 0,(function*(){return function(e){var t,n;return c(this,void 0,void 0,(function*(){void 0===e.state&&(e.state={accounts:null,autoRequestAccounts:!1,providerStateRequested:!1,chainId:\"\"});const{state:r}=e;let i;if(r.providerStateRequested)Au(\"[SDKProvider: initializeStateAsync()] initialization already in progress\");else{let o;r.providerStateRequested=!0;let s=null,a=!1,c=!1;const l=yield Vu({enabled:!0});if(l){const e=yield l.getPersistedChannelConfig({});a=null!==(t=null==e?void 0:e.relayPersistence)&&void 0!==t&&t,o=yield l.getCachedChainId();const n=yield l.getCachedAccounts();n.length>0&&(s=n[0])}if(Au(`[SDKProvider: initializeStateAsync()] relayPersistence=${a}`,{relayPersistence:a,cachedChainId:o,cachedSelectedAddress:s}),a)if(o&&s)i={accounts:[s],chainId:o,isUnlocked:!1},c=!0;else try{i=yield e.request({method:\"metamask_getProviderState\"})}catch(t){return e._log.error(\"MetaMask: Failed to get initial state. Please report this bug.\",t),void(r.providerStateRequested=!1)}if(0===(null===(n=null==i?void 0:i.accounts)||void 0===n?void 0:n.length))if(e.getSelectedAddress())i.accounts=[e.getSelectedAddress()];else{Au(\"[SDKProvider: initializeStateAsync()] Fetch accounts remotely.\");const t=yield e.request({method:\"eth_requestAccounts\",params:[]});i.accounts=t}e._initializeState(i),r.providerStateRequested=!1,c&&(e._state.isConnected=!0,e.emit(\"connect\",{chainId:null==i?void 0:i.chainId}))}}))}(this)}))}_initializeState(e){return Au(\"[SDKProvider: _initializeState()]\",e),function(e,t,n){return Au(\"[SDKProvider: initializeState()] set state._initialized to false\"),e._state.initialized=!1,t(n)}(this,super._initializeState.bind(this),e)}_handleChainChanged({chainId:e,networkVersion:t}={}){this.state.chainId=e,this.state.networkVersion=t,function({instance:e,chainId:t,networkVersion:r,superHandleChainChanged:i}){Au(`[SDKProvider: handleChainChanged()] chainId=${t} networkVersion=${r}`);let o=r;r||(Au(\"[SDKProvider: handleChainChanged()] forced network version to prevent provider error\"),o=\"1\"),t!==xu&&(n.track(\"sdk_used_chain\",{caip_chain_id:`eip155:${parseInt(null!=t?t:\"0x1\",16)}`}),xu=t),e._state.isConnected=!0,e.emit(\"connect\",{chainId:t}),i({chainId:t,networkVersion:o})}({instance:this,chainId:e,networkVersion:t,superHandleChainChanged:super._handleChainChanged.bind(this)})}}var Yu,Zu={name:\"@metamask/sdk\",version:\"0.33.1\",description:\"\",homepage:\"https://github.com/MetaMask/metamask-sdk#readme\",bugs:{url:\"https://github.com/MetaMask/metamask-sdk/issues\"},repository:{type:\"git\",url:\"https://github.com/MetaMask/metamask-sdk\",directory:\"packages/sdk\"},main:\"dist/node/cjs/metamask-sdk.js\",module:\"dist/browser/es/metamask-sdk.js\",browser:\"dist/browser/es/metamask-sdk.js\",unpkg:\"dist/browser/umd/metamask-sdk.js\",\"react-native\":\"dist/react-native/es/metamask-sdk.js\",types:\"dist/types/src/index.d.ts\",sideEffects:!1,files:[\"/dist\"],scripts:{\"build:types\":\"tsc --project tsconfig.build.json --emitDeclarationOnly --outDir dist/types\",build:\"yarn build:types && rollup -c --bundleConfigAsCjs\",\"build:clean\":\"yarn clean && yarn build\",\"build:post-tsc\":\"echo 'N/A'\",\"build:pre-tsc\":\"echo 'N/A'\",typecheck:\"tsc --noEmit\",clean:\"rimraf ./dist\",size:\"node bundle-size && size-limit\",lint:\"yarn lint:eslint && yarn lint:misc --check\",\"lint:changelog\":\"../../scripts/validate-changelog.sh @metamask/sdk\",\"lint:eslint\":\"eslint . --cache --ext js,ts\",\"lint:fix\":\"yarn lint:eslint --fix && yarn lint:misc --write\",\"lint:misc\":\"prettier '**/*.json' '**/*.md' '!CHANGELOG.md' --ignore-path ../../.gitignore\",prepack:\"../../scripts/prepack.sh\",\"publish:preview\":\"yarn npm publish --tag preview\",reset:\"yarn clean && rimraf ./node_modules/\",test:'jest --testPathIgnorePatterns \"/e2e/\"',\"test:coverage\":'jest --coverage --testPathIgnorePatterns \"/e2e/\"',\"test:e2e\":'jest --testPathPattern \"/e2e/\"',\"test:ci\":'jest --coverage --passWithNoTests --setupFilesAfterEnv ./jest-preload.js --testPathIgnorePatterns \"/e2e/\"',\"test:dev\":'jest -c ./jest.config.ts --detectOpenHandles --testPathIgnorePatterns \"/e2e/\"',watch:\"rollup -c -w\",dev:'concurrently \"tsc --watch\" \"rollup -c -w --bundleConfigAsCjs\"',\"build:dev\":\"yarn build:types && NODE_ENV=dev rollup -c --bundleConfigAsCjs\"},dependencies:{\"@babel/runtime\":\"^7.26.0\",\"@metamask/onboarding\":\"^1.0.1\",\"@metamask/providers\":\"16.1.0\",\"@metamask/sdk-analytics\":\"workspace:*\",\"@metamask/sdk-communication-layer\":\"workspace:*\",\"@metamask/sdk-install-modal-web\":\"workspace:*\",\"@paulmillr/qr\":\"^0.2.1\",bowser:\"^2.9.0\",\"cross-fetch\":\"^4.0.0\",debug:\"4.3.4\",eciesjs:\"^0.4.11\",\"eth-rpc-errors\":\"^4.0.3\",eventemitter2:\"^6.4.9\",\"obj-multiplex\":\"^1.0.0\",pump:\"^3.0.0\",\"readable-stream\":\"^3.6.2\",\"socket.io-client\":\"^4.5.1\",tslib:\"^2.6.0\",util:\"^0.12.4\",uuid:\"^8.3.2\"},devDependencies:{\"@jest/globals\":\"^29.3.1\",\"@lavamoat/allow-scripts\":\"^2.3.1\",\"@metamask/auto-changelog\":\"3.1.0\",\"@metamask/eslint-config\":\"^6.0.0\",\"@metamask/eslint-config-nodejs\":\"^6.0.0\",\"@metamask/eslint-config-typescript\":\"^6.0.0\",\"@react-native-async-storage/async-storage\":\"^1.19.6\",\"@rollup/plugin-alias\":\"^5.1.1\",\"@rollup/plugin-commonjs\":\"^25.0.7\",\"@rollup/plugin-json\":\"^6.0.0\",\"@rollup/plugin-node-resolve\":\"^15.0.2\",\"@rollup/plugin-replace\":\"^6.0.1\",\"@rollup/plugin-terser\":\"^0.4.1\",\"@size-limit/preset-big-lib\":\"^11.0.2\",\"@types/dom-screen-wake-lock\":\"^1.0.2\",\"@types/node\":\"^20.1.3\",\"@types/pump\":\"^1.1.1\",\"@types/qrcode-terminal\":\"^0.12.0\",\"@types/uuid\":\"^10.0.0\",\"@typescript-eslint/eslint-plugin\":\"^4.26.0\",\"@typescript-eslint/parser\":\"^4.26.0\",\"browserify-zlib\":\"^0.2.0\",buffer:\"^6.0.3\",concurrently:\"^9.1.2\",\"crypto-browserify\":\"^3.12.0\",eslint:\"^7.30.0\",\"eslint-config-prettier\":\"^8.3.0\",\"eslint-plugin-import\":\"^2.23.4\",\"eslint-plugin-jest\":\"^24.4.0\",\"eslint-plugin-jsdoc\":\"^36.1.0\",\"eslint-plugin-node\":\"^11.1.0\",\"eslint-plugin-prettier\":\"^3.4.0\",\"https-browserify\":\"^1.0.0\",jest:\"^29.3.1\",\"jest-environment-jsdom\":\"^29.3.1\",prettier:\"^2.3.0\",process:\"^0.11.10\",rimraf:\"^4.4.0\",rollup:\"^4.26.0\",\"rollup-plugin-analyzer\":\"^4.0.0\",\"rollup-plugin-jscc\":\"^2.0.0\",\"rollup-plugin-natives\":\"^0.7.5\",\"rollup-plugin-node-builtins\":\"^2.1.2\",\"rollup-plugin-polyfill-node\":\"^0.13.0\",\"rollup-plugin-sizes\":\"^1.0.6\",\"rollup-plugin-typescript2\":\"^0.31.2\",\"rollup-plugin-visualizer\":\"^5.12.0\",\"size-limit\":\"^11.0.2\",\"stream-browserify\":\"^3.0.0\",\"stream-http\":\"^3.2.0\",\"ts-jest\":\"^29.0.3\",\"ts-node\":\"^10.9.1\",typescript:\"^4.3.2\",url:\"^0.11.0\",webpack:\"^5.0.0\"},publishConfig:{access:\"public\",registry:\"https://registry.npmjs.org/\"},lavamoat:{allowScripts:{\"eciesjs>secp256k1\":!1,\"socket.io-client>engine.io-client>ws>bufferutil\":!1,\"socket.io-client>engine.io-client>ws>utf-8-validate\":!1,\"@metamask/sdk-communication-layer>bufferutil\":!1,\"@metamask/sdk-communication-layer>eciesjs>secp256k1\":!1,\"@metamask/sdk-communication-layer>utf-8-validate\":!1}}};!function(e){e.INPAGE=\"metamask-inpage\",e.CONTENT_SCRIPT=\"metamask-contentscript\",e.PROVIDER=\"metamask-provider\"}(Yu||(Yu={}));const Ju=\"direct\",Qu=\"https://metamask.app.link/connect\",Xu=\"metamask://connect\",eh={NAME:\"MetaMask\",RDNS:[\"io.metamask\",\"io.metamask.flask\"]},th=/(?:^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}$)|(?:^0{8}-0{4}-0{4}-0{4}-0{12}$)/u,nh={METAMASK_GETPROVIDERSTATE:\"metamask_getProviderState\",METAMASK_CONNECTSIGN:\"metamask_connectSign\",METAMASK_CONNECTWITH:\"metamask_connectWith\",METAMASK_OPEN:\"metamask_open\",METAMASK_BATCH:\"metamask_batch\",PERSONAL_SIGN:\"personal_sign\",WALLET_REQUESTPERMISSIONS:\"wallet_requestPermissions\",WALLET_REVOKEPERMISSIONS:\"wallet_revokePermissions\",WALLET_GETPERMISSIONS:\"wallet_getPermissions\",WALLET_WATCHASSET:\"wallet_watchAsset\",WALLET_ADDETHEREUMCHAIN:\"wallet_addEthereumChain\",WALLET_SWITCHETHETHEREUMCHAIN:\"wallet_switchEthereumChain\",ETH_REQUESTACCOUNTS:\"eth_requestAccounts\",ETH_ACCOUNTS:\"eth_accounts\",ETH_CHAINID:\"eth_chainId\",ETH_SENDTRANSACTION:\"eth_sendTransaction\",ETH_SIGNTYPEDDATA:\"eth_signTypedData\",ETH_SIGNTYPEDDATA_V3:\"eth_signTypedData_v3\",ETH_SIGNTYPEDDATA_V4:\"eth_signTypedData_v4\",ETH_SIGNTRANSACTION:\"eth_signTransaction\",ETH_SIGN:\"eth_sign\",PERSONAL_EC_RECOVER:\"personal_ecRecover\"},rh={[nh.ETH_REQUESTACCOUNTS]:!0,[nh.ETH_SENDTRANSACTION]:!0,[nh.ETH_SIGNTRANSACTION]:!0,[nh.ETH_SIGN]:!0,[nh.PERSONAL_SIGN]:!0,[nh.ETH_ACCOUNTS]:!1,[nh.ETH_CHAINID]:!1,[nh.PERSONAL_SIGN]:!0,[nh.ETH_SIGNTYPEDDATA]:!0,[nh.ETH_SIGNTYPEDDATA_V3]:!0,[nh.ETH_SIGNTYPEDDATA_V4]:!0,[nh.WALLET_REQUESTPERMISSIONS]:!0,[nh.WALLET_GETPERMISSIONS]:!0,[nh.WALLET_WATCHASSET]:!0,[nh.WALLET_ADDETHEREUMCHAIN]:!0,[nh.WALLET_SWITCHETHETHEREUMCHAIN]:!0,[nh.METAMASK_CONNECTSIGN]:!0,[nh.METAMASK_CONNECTWITH]:!0,[nh.PERSONAL_EC_RECOVER]:!0,[nh.METAMASK_BATCH]:!0,[nh.METAMASK_OPEN]:!0},ih=Object.keys(rh).filter((e=>!0===rh[e])).map((e=>e.toLowerCase())),oh=[\"eth_signTypedData\",\"eth_signTypedData_v3\",\"eth_signTypedData_v4\",\"eth_sign\"].map((e=>e.toLowerCase())),sh=\".sdk-comm\",ah=\"providerType\",ch=\".MMSDK_cached_address\",lh=\".MMSDK_cached_chainId\",dh={CHAIN_CHANGED:\"chainChanged\",ACCOUNTS_CHANGED:\"accountsChanged\",DISCONNECT:\"disconnect\",CONNECT:\"connect\",CONNECTED:\"connected\"},uh=1e6;var hh;!function(e){e.TERMINATE=\"terminate\",e.EXTENSION=\"extension\",e.INITIALIZED=\"initialized\"}(hh||(hh={}));const fh=\"undefined\"!=typeof window&&window.localStorage;function ph({instance:e,msg:t}){return c(this,void 0,void 0,(function*(){if(e._initialized||(Au(\"[MetaMaskSDK: connectAndSign()] provider not ready -- wait for init()\"),yield e.init()),Au(`[MetaMaskSDK: connectAndSign()] activeProvider=${e.activeProvider}`),!e.activeProvider)throw new Error(\"SDK state invalid -- undefined provider\");const n=/^0x([0-9A-Fa-f]{2})*$/u.test(t)?t:function(e){let t;if(void 0!==C)t=C.from(e,\"utf8\").toString(\"hex\");else if(\"undefined\"!=typeof TextEncoder){const n=(new TextEncoder).encode(e);t=Array.from(n).map((e=>e.toString(16).padStart(2,\"0\"))).join(\"\")}else{if(\"object\"!=typeof l||!(\"Buffer\"in l))throw new Error(\"Unable to convert string to hex: No available method.\");t=l.Buffer.from(e,\"utf8\").toString(\"hex\")}return`0x${t}`}(t);return e.activeProvider.request({method:nh.METAMASK_CONNECTWITH,params:[{method:nh.PERSONAL_SIGN,params:[n]}]})}))}function gh(e){var t,n;return c(this,void 0,void 0,(function*(){Au(\"[MetaMaskSDK: connectWithExtensionProvider()] \",e),e.sdkProvider=e.activeProvider,e.activeProvider=window.extension,window.ethereum=window.extension;try{const e=yield null===(t=window.extension)||void 0===t?void 0:t.request({method:\"eth_requestAccounts\"});Au(`[MetaMaskSDK: connectWithExtensionProvider()] accounts=${e}`)}catch(e){return void console.warn(\"[MetaMaskSDK: connectWithExtensionProvider()] can't request accounts error\",e)}localStorage.setItem(ah,\"extension\"),e.extensionActive=!0,e.emit(zu.ProviderUpdate,hh.EXTENSION),e.options.enableAnalytics&&(null===(n=e.analytics)||void 0===n||n.send({event:Ao.SDK_USE_EXTENSION}))}))}function mh(e){let t;if(void 0!==C)t=C.from(e,\"utf8\").toString(\"base64\");else if(\"function\"==typeof btoa)t=btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/gu,((e,t)=>String.fromCharCode(parseInt(t,16)))));else{if(\"object\"!=typeof l||!(\"Buffer\"in l))throw new Error(\"Unable to base64 encode: No available method.\");t=l.Buffer.from(e,\"utf8\").toString(\"base64\")}return t}function yh(e,t,n,r){var i,o,s,a,l,d,u,h,f,p,g,m,y,v,b,w,E,S,_,k;return c(this,void 0,void 0,(function*(){const n=null===(i=e.state.remote)||void 0===i?void 0:i.isReady(),c=null===(o=e.state.remote)||void 0===o?void 0:o.isConnected(),A=null===(s=e.state.remote)||void 0===s?void 0:s.isPaused(),x=qu.getProvider(),M=null===(a=e.state.remote)||void 0===a?void 0:a.getChannelId(),I=null===(l=e.state.remote)||void 0===l?void 0:l.isAuthorized(),{deeplinkProtocol:T}=e.state,{method:R,data:P,triggeredInstaller:O}=(e=>{var t,n,r,i;let o;C.isBuffer(e)?(o=e.toJSON(),o._isBuffer=!0):o=e;const s=null===(t=null==o?void 0:o.data)||void 0===t?void 0:t.method;let a=!1;return\"object\"==typeof(null===(n=null==o?void 0:o.data)||void 0===n?void 0:n.params)&&!0===(null===(i=null===(r=null==o?void 0:o.data)||void 0===r?void 0:r.params)||void 0===i?void 0:i.__triggeredInstaller)&&(a=!0,o.data.params=o.data.params.wrappedParams),{method:s,data:o,triggeredInstaller:a}})(t);if(Au(`[RCPMS: write()] method='${R}' isRemoteReady=${n} channelId=${M} isSocketConnected=${c} isRemotePaused=${A} providerConnected=${x.isConnected()}`,t),!M)return R!==nh.METAMASK_GETPROVIDERSTATE&&Au(`[RCPMS: write()] ${R} --\\x3e channelId is undefined`),r(new Error(\"disconnected\"));Au(`[RCPMS: write()] remote.isPaused()=${null===(d=e.state.remote)||void 0===d?void 0:d.isPaused()} authorized=${I} ready=${n} socketConnected=${c}`,t);const N=null===(u=e.state.platformManager)||void 0===u?void 0:u.isSecure(),L=null!==(f=null===(h=e.state.platformManager)||void 0===h?void 0:h.isMobileWeb())&&void 0!==f&&f,D=null!==(g=null===(p=e.state.remote)||void 0===p?void 0:p.hasDeeplinkProtocol())&&void 0!==g&&g&&L&&I;try{if(!O){const t=JSON.stringify(null==P?void 0:P.data);if(t.length>uh)return r(new Error(`Message size ${t.length} exceeds maximum allowed size of 1000000 bytes`));null===(m=e.state.remote)||void 0===m||m.sendMessage(null==P?void 0:P.data).then((()=>{Au(`[RCPMS: _write()] ${R} sent successfully`)})).catch((e=>{Au(\"[RCPMS: _write()] error sending message\",e)}))}if(!N)return Au(`[RCPMS: _write()] unsecure platform for method ${R} -- return callback`),r();if(O)return Au(\"[RCPMS: _write()] prevent deeplink -- installation completed separately.\"),r();const t=null!==(b=null===(v=null===(y=e.state.remote)||void 0===y?void 0:y.getKeyInfo())||void 0===v?void 0:v.ecies.public)&&void 0!==b?b:\"\";let n=encodeURI(`channelId=${M}&pubkey=${t}&comm=socket&t=d&v=2`);if(D){const t=JSON.stringify(null==P?void 0:P.data),i=null===(w=e.state.remote)||void 0===w?void 0:w.encrypt(t);if(!i)return Au(\"[RCPMS: _write()] error encrypting message\"),r(new Error(\"RemoteCommunicationPostMessageStream - disconnected\"));n+=`&scheme=${T}&rpc=${mh(i)}`}if(!(null===(E=e.state.platformManager)||void 0===E?void 0:E.isMetaMaskInstalled()))return Au(\"[RCPMS: _write()] prevent deeplink until installation is completed.\"),r();rh[R]?(Au(`[RCPMS: _write()] redirect link for '${R}' socketConnected=${c} connect?${n}`),null===(S=e.state.platformManager)||void 0===S||S.openDeeplink(`${Qu}?${n}`,`${Xu}?${n}`,\"_self\")):(null===(_=e.state.remote)||void 0===_?void 0:_.isPaused())?(Au(`[RCPMS: _write()] MM is PAUSED! deeplink with connect! targetMethod=${R}`),null===(k=e.state.platformManager)||void 0===k||k.openDeeplink(`${Qu}?redirect=true&${n}`,`${Xu}?redirect=true&${n}`,\"_self\")):Au(`[RCPMS: _write()] method ${R} doesn't need redirect.`)}catch(e){return Au(\"[RCPMS: _write()] error sending message\",e),r(new Error(\"RemoteCommunicationPostMessageStream - disconnected\"))}return r()}))}class vh extends nu.Duplex{constructor({name:e,remote:t,deeplinkProtocol:n,platformManager:r}){super({objectMode:!0}),this.state={_name:null,remote:null,deeplinkProtocol:!1,platformManager:null},this.state._name=e,this.state.remote=t,this.state.deeplinkProtocol=n,this.state.platformManager=r,this._onMessage=this._onMessage.bind(this),this.state.remote.on(So.MESSAGE,this._onMessage)}_write(e,t,n){return c(this,void 0,void 0,(function*(){return yh(this,e,0,n)}))}_read(){}_onMessage(e){return function(e,t){try{if(Au(\"[RCPMS: onMessage()] message\",t),!t||\"object\"!=typeof t)return;if(\"object\"!=typeof(null==t?void 0:t.data))return;if(!(null==t?void 0:t.name))return void Au(\"[RCPMS: onMessage()] ignore message without name\",t);if((null==t?void 0:t.name)!==Yu.PROVIDER)return void Au(`[RCPMS: onMessage()] ignore message with wrong name message=${t}`);if(C.isBuffer(t)){const n=C.from(t);e.push(n)}else e.push(t)}catch(e){Au(`[RCPMS: onMessage()] ignore message error err=${e}`)}}(this,e)}start(){}}let bh=1;const wh=e=>new Promise((t=>{setTimeout((()=>{t(!0)}),e)})),Eh=({checkInstallationOnAllCalls:t=!1,communicationLayerPreference:n,injectProvider:r,shouldShimWeb3:i,platformManager:o,installer:s,sdk:a,remoteConnection:l,debug:d})=>c(void 0,void 0,void 0,(function*(){var u,h;const f=(({name:e,remoteConnection:t})=>{if(!t||!(null==t?void 0:t.getConnector()))throw new Error(\"Missing remote connection parameter\");return new vh({name:e,remote:null==t?void 0:t.getConnector(),deeplinkProtocol:null==t?void 0:t.state.deeplinkProtocol,platformManager:null==t?void 0:t.getPlatformManager()})})({name:Yu.INPAGE,target:Yu.CONTENT_SCRIPT,platformManager:o,communicationLayerPreference:n,remoteConnection:l}),p=o.getPlatformType(),g=a.options.dappMetadata,m=`Sdk/Javascript SdkVersion/${Zu.version} Platform/${p} dApp/${null!==(u=g.url)&&void 0!==u?u:g.name} dAppTitle/${g.name}`;let y=null,v=null;const b=null===(h=a.options.storage)||void 0===h?void 0:h.storageManager;if(b){try{const e=yield b.getCachedAccounts();e.length>0&&(y=e[0])}catch(e){console.error(`[initializeMobileProvider] failed to get cached addresses: ${e}`)}try{const e=yield b.getCachedChainId();e&&(v=e)}catch(e){console.error(`[initializeMobileProvider] failed to parse cached chainId: ${e}`)}}Au(`[initializeMobileProvider] cachedAccountAddress: ${y}, cachedChainId: ${v}`);const w=!(!r||p===Uo.NonBrowser||p===Uo.ReactNative),E=qu.init({shouldSetOnWindow:w,connectionStream:f,shouldShimWeb3:i,sdkInstance:a});let S=!1;const _=e=>{S=e},C=()=>S,k=(n,r,i,d)=>c(void 0,void 0,void 0,(function*(){var u,h,f,p,g,w,E,k,A;const x=qu.getProvider();if(S){x.emit(\"display_uri\",(null==l?void 0:l.state.qrcodeLink)||\"\"),null==l||l.showActiveModal();let e=C();for(;e;){const t=C(),n=null==l?void 0:l.isAuthorized();e=t&&!n,Au(`[initializeMobileProvider: sendRequest()] waiting for initialization to complete - initializing: ${t} authorized: ${n}`),yield wh(1e3)}return Au(\"[initializeMobileProvider: sendRequest()] initial method completed -- prevent installation and call provider\"),i(...r)}const M=o.isMetaMaskInstalled(),I=null==l?void 0:l.isConnected();let T=null,R=null,P=null;if(T=null!==(u=x.getSelectedAddress())&&void 0!==u?u:y,P=x.getChainId()||v,T&&b&&T!==y&&b.persistAccounts([T]).catch((e=>{console.error(`[initializeMobileProvider] failed to persist account: ${e}`)})),P&&(v=P,b&&b.persistChainId(P).catch((e=>{console.error(`[initializeMobileProvider] failed to persist chainId: ${e}`)}))),Au(\"[initializeMobileProvider: sendRequest()]\",{selectedAddress:T,chainId:P}),d&&Au(`[initializeMobileProvider: sendRequest()] method=${n} ongoing=${S} selectedAddress=${T} isInstalled=${M} checkInstallationOnAllCalls=${t} socketConnected=${I}`),T&&n.toLowerCase()===nh.ETH_ACCOUNTS.toLowerCase())return[T];if(P&&n.toLowerCase()===nh.ETH_CHAINID.toLowerCase())return P;const O=[nh.ETH_REQUESTACCOUNTS,nh.WALLET_REQUESTPERMISSIONS,nh.METAMASK_CONNECTSIGN,nh.METAMASK_CONNECTWITH],N=!rh[n],L=null===(h=a.options.readonlyRPCMap)||void 0===h?void 0:h[P];if(L&&N)try{const t=null===(f=null==r?void 0:r[0])||void 0===f?void 0:f.params,i=yield(({rpcEndpoint:t,method:n,sdkInfo:r,params:i})=>c(void 0,void 0,void 0,(function*(){const o=JSON.stringify({jsonrpc:\"2.0\",method:n,params:i,id:(bh+=1,bh)}),s={Accept:\"application/json\",\"Content-Type\":\"application/json\"};let a;t.includes(\"infura\")&&(s[\"Metamask-Sdk-Info\"]=r);try{a=yield e(t,{method:\"POST\",headers:s,body:o})}catch(e){throw e instanceof Error?new Error(`Failed to fetch from RPC: ${e.message}`):new Error(`Failed to fetch from RPC: ${e}`)}if(!a.ok)throw new Error(`Server responded with a status of ${a.status}`);return(yield a.json()).result})))({rpcEndpoint:L,sdkInfo:m,method:n,params:t||[]});return d&&Au(`initializeProvider::ReadOnlyRPCResponse ${i}`),i}catch(e){console.warn(`[initializeMobileProvider: sendRequest()] method=${n} readOnlyRPCRequest failed:`,e)}if((!M||M&&!I)&&n!==nh.METAMASK_GETPROVIDERSTATE){const e=(null===(p=null==r?void 0:r[0])||void 0===p?void 0:p.params)||[];if(-1!==O.indexOf(n)||t){_(!0);const t=n===nh.METAMASK_CONNECTWITH,o=`${Date.now()}`;try{yield s.start({wait:!1,connectWith:t?{method:n,id:o,params:e}:void 0}),yield new Promise(((e,t)=>{(null==l?void 0:l.isAuthorized())&&(Au(\"[initializeMobileProvider: sendRequest()] already authorized\"),e(!0)),null==l||l.getConnector().once(So.AUTHORIZED,(()=>{e(!0)})),a.once(So.PROVIDER_UPDATE,(e=>{Au(`[initializeMobileProvider: sendRequest()] PROVIDER_UPDATE --- remote provider request interupted type=${e}`),e===hh.EXTENSION?t(So.PROVIDER_UPDATE):t(new Error(\"Connection Terminated\"))}))}))}catch(t){if(hh.EXTENSION===t){if(Au(`[initializeMobileProvider: sendRequest()] extension provider detect: re-create ${n} on the active provider`),n.toLowerCase()===nh.METAMASK_CONNECTSIGN.toLowerCase()){const t=yield null===(g=a.getProvider())||void 0===g?void 0:g.request({method:nh.ETH_REQUESTACCOUNTS,params:[]});if(!t.length)throw new Error(\"SDK state invalid -- undefined accounts\");const n=yield null===(w=a.getProvider())||void 0===w?void 0:w.request({method:nh.PERSONAL_SIGN,params:[e[0],t[0]]});return a.emit(zu.ConnectWithResponse,n),n}if(n.toLowerCase()===nh.METAMASK_CONNECTWITH.toLowerCase()){const[t]=e,n=yield(({method:e,sdk:t,params:n})=>c(void 0,void 0,void 0,(function*(){var r,i,o,s;if(!t.isExtensionActive())throw new Error(\"SDK state invalid -- extension is not active\");Au(\"[MetaMaskProvider: extensionConnectWithOverwrite()] Overwriting request method\",e,n);const a=yield null===(r=t.getProvider())||void 0===r?void 0:r.request({method:nh.ETH_REQUESTACCOUNTS,params:[]});if(!a.length)throw new Error(\"SDK state invalid -- undefined accounts\");if((null==e?void 0:e.toLowerCase())===nh.PERSONAL_SIGN.toLowerCase()){const r={method:e,params:[n[0],a[0]]};return yield null===(i=t.getProvider())||void 0===i?void 0:i.request(r)}if((null==e?void 0:e.toLowerCase())===nh.ETH_SENDTRANSACTION.toLowerCase()){const r={method:e,params:[Object.assign(Object.assign({},n[0]),{from:a[0]})]};return yield null===(o=t.getProvider())||void 0===o?void 0:o.request(r)}return oh.includes(e.toLowerCase())?(console.warn(`MetaMaskSDK connectWith method=${e} -- not handled by the extension -- call separately`),a):yield null===(s=t.getProvider())||void 0===s?void 0:s.request({method:e,params:n})})))({method:t.method,sdk:a,params:t.params});return a.emit(zu.ConnectWithResponse,n),n}return Au(`[initializeMobileProvider: sendRequest()] sending '${n}' on active provider`,e),yield null===(E=a.getProvider())||void 0===E?void 0:E.request({method:n,params:e})}if(t===So.REJECTED)throw null==l||l.closeModal(),null===(k=a.getProvider())||void 0===k||k.handleDisconnect({terminate:!1}),Object.assign(new Error(\"User rejected connection\"),{code:4001});throw Au(`[initializeMobileProvider: sendRequest()] failed to start installer: ${t}`),t}finally{_(!1)}if(n===nh.ETH_REQUESTACCOUNTS)return R=yield new Promise((e=>{const t=setInterval((()=>{const{accounts:n}=x.getState();n&&(clearInterval(t),e(n))}),100)})),Au(`[initializeMobileProvider: sendRequest()] selectedAddress: ${T} --- SKIP rpc call`),R;if(n===nh.METAMASK_CONNECTWITH)try{let e=0;const t=5,n=({resolve:n,reject:r})=>{e+=1;const i=null==l?void 0:l.getConnector().getRPCMethodTracker(),s=null==i?void 0:i[o];return Au(`TRACKER: update method ${o}`,s),(null==s?void 0:s.result)?(Au(\"[initializeMobileProvider: sendRequest()] found result\",s.result),a.emit(zu.ConnectWithResponse,s.result),void n(s.result)):(null==s?void 0:s.error)?(Au(\"[initializeMobileProvider: sendRequest()] found error\",s.error),void r(s.error)):e>=t?(Au(\"[initializeMobileProvider: sendRequest()] max message count reached without result\"),void r(new Error(\"Max message count reached without result\"))):void Au(\"[initializeMobileProvider: sendRequest()] not found yet, need to wait for next update\")};let r,i;const s=yield new Promise(((e,t)=>{const s=null==l?void 0:l.getConnector().getRPCMethodTracker();Au(`TRACKER: method ${o}`,s),(null==s?void 0:s[o].result)?(Au(\"[initializeMobileProvider: sendRequest()] found result\",null==s?void 0:s[o].result),e(null==s?void 0:s[o].result)):(null==s?void 0:s[o].error)&&(Au(\"[initializeMobileProvider: sendRequest()] found error\",null==s?void 0:s[o].error),t(null==s?void 0:s[o].error)),i=()=>n({resolve:e,reject:t}),r=null==l?void 0:l.getConnector().on(So.RPC_UPDATE,i)}));return i&&(null==r||r.off(So.RPC_UPDATE,i)),Au(\"TRACKER: result\",s),s}catch(e){throw Au(\"[initializeMobileProvider: sendRequest()] error:\",e),e}r[0]&&\"object\"==typeof r[0]&&(r[0].params={__triggeredInstaller:!0,wrappedParams:r[0].params});return i(...r)}if(o.isSecure()&&rh[n])return i(...r);if(a.isExtensionActive())return Au(`[initializeMobileProvider: sendRequest()] EXTENSION active - redirect request '${n}' to it`,r,e),yield null===(A=a.getProvider())||void 0===A?void 0:A.request({method:n,params:e});throw Au(`[initializeMobileProvider: sendRequest()] method=${n} --- skip --- not connected/installed`),new Error(\"MetaMask is not connected/installed, please call eth_requestAccounts to connect first.\")}try{const e=yield i(...r);if(Au(`[initializeMobileProvider: sendRequest()] method=${n} rpcResponse`,e),n===nh.WALLET_REQUESTPERMISSIONS){const t=e.reduce(((e,t)=>{var n;if(\"eth_accounts\"===t.parentCapability){const r=null===(n=t.caveats.find((e=>\"restrictReturnedAccounts\"===e.type)))||void 0===n?void 0:n.value;r&&e.push(...r)}return e}),[]);Au(\"[initializeMobileProvider: sendRequest()] accountsToPersist:\",t),t.length>0&&(x.handleAccountsChanged(t,!1),null==b||b.persistAccounts(t))}return e}catch(e){throw console.error(\"[initializeMobileProvider: sendRequest()] error:\",e),e}})),{request:A}=E;E.request=(...e)=>c(void 0,void 0,void 0,(function*(){return k(null==e?void 0:e[0].method,e,A,d)}));const{send:x}=E;return E.send=(...e)=>c(void 0,void 0,void 0,(function*(){return k(null==e?void 0:e[0],e,x,d)})),Au(\"[initializeMobileProvider: sendRequest()] metamaskStream.start()\"),f.start(),E}));function Sh(e){var t,n,r,i;return c(this,void 0,void 0,(function*(){const{options:o}=e,s={communicationLayerPreference:null!==(t=o.communicationLayerPreference)&&void 0!==t?t:jo.SOCKET,platformManager:e.platformManager,sdk:e,checkInstallationOnAllCalls:o.checkInstallationOnAllCalls,injectProvider:null===(n=o.injectProvider)||void 0===n||n,shouldShimWeb3:null===(r=o.shouldShimWeb3)||void 0===r||r,extensionOnly:null===(i=o.extensionOnly)||void 0===i||i,installer:e.installer,remoteConnection:e.remoteConnection,debug:e.debug},a=yield Eh(s);e.activeProvider=a,function(e){var t,n,r,i;null===(n=null===(t=e.remoteConnection)||void 0===t?void 0:t.getConnector())||void 0===n||n.on(zu.ConnectionStatus,(t=>{e.emit(zu.ConnectionStatus,t)})),null===(i=null===(r=e.remoteConnection)||void 0===r?void 0:r.getConnector())||void 0===i||i.on(zu.ServiceStatus,(t=>{e.emit(zu.ServiceStatus,t)}))}(e)}))}const _h=\"sdk\";class Ch{constructor({serverUrl:e,enabled:t,originatorInfo:n}){this.serverURL=fo,this.serverURL=e,this.originatorInfo=n,this.enabled=null==t||t}send({event:e,params:t}){if(!this.enabled)return;const n=Object.assign(Object.assign({id:_h,event:e,sdkVersion:Zu.version},this.originatorInfo),{params:t});Au(`[Analytics: send()] event: ${e}`,n),lo(n,this.serverURL).catch((e=>{Au(`[Analytics: send()] error: ${e}`)}))}}const kh=()=>{if(\"undefined\"==typeof document)return;let e;const t=document.getElementsByTagName(\"link\");for(let n=0;n<t.length;n++)\"icon\"!==t[n].getAttribute(\"rel\")&&\"shortcut icon\"!==t[n].getAttribute(\"rel\")||(e=t[n].getAttribute(\"href\"));return e},Ah=163400;function xh(e){var t,n,r;const{dappMetadata:i}=e,o=function({url:e,name:t}){var n;const r=e+t,i=mh(r);if(!localStorage)return\"\";let o=null!==(n=localStorage.getItem(i))&&void 0!==n?n:\"\";if(!o){o=s();try{localStorage.setItem(i,o)}catch(e){return\"\"}}return o}({url:null!==(t=null==i?void 0:i.url)&&void 0!==t?t:\"no_url\",name:null!==(n=null==i?void 0:i.name)&&void 0!==n?n:\"no_name\"}),a=null===(r=e.platformManager)||void 0===r?void 0:r.getPlatformType(),c=a===Uo.DesktopWeb,l=a===Uo.MetaMaskMobileWebview;let d=\"N/A\";return c?d=\"extension\":l&&(d=\"mobile\"),{id:o,from:d}}const Mh=(e,t,r)=>{if(bo(e)){if(r||t&&\"object\"==typeof t&&null!==t&&\"error\"in t){const i=r||(null==t?void 0:t.error);i&&4001===i.code?n.track(\"sdk_action_rejected\",{action:e}):n.track(\"sdk_action_failed\",{action:e})}else n.track(\"sdk_action_succeeded\",{action:e})}},Ih=({provider:e,sdkInstance:t})=>{if(\"state\"in e)throw new Error(\"INVALID EXTENSION PROVIDER\");return new Proxy(e,{get:(r,i)=>\"request\"===i?function(e){var i,o;return c(this,void 0,void 0,(function*(){Au(\"[wrapExtensionProvider()] Overwriting request method\",e);const{method:s,params:a}=e,l=ih.includes(s.toLowerCase()),{id:d,from:u}=xh(t);if(l&&(null===(i=t.analytics)||void 0===i||i.send({event:Ao.SDK_RPC_REQUEST,params:{method:s,from:u,id:d}})),bo(s)&&n.track(\"sdk_action_requested\",{action:s}),s===nh.METAMASK_BATCH&&Array.isArray(a))return(({target:e,args:t,trackEvent:n,sdkInstance:r})=>c(void 0,void 0,void 0,(function*(){var i,o;if(\"metamask_batch\"!==t.method)throw new Error(\"Invalid usage\");const s=[],a=null!==(i=null==t?void 0:t.params)&&void 0!==i?i:[];for(const t of a){const n=yield null==e?void 0:e.request({method:t.method,params:t.params});s.push(n)}const{id:c,from:l}=xh(r);n&&(null===(o=r.analytics)||void 0===o||o.send({event:Ao.SDK_RPC_REQUEST_DONE,params:{method:t.method,from:l,id:c}}));for(const e of s)Mh(t.method,e,null);return s})))({target:r,args:e,trackEvent:l,sdkInstance:t});if(s.toLowerCase()===nh.METAMASK_CONNECTSIGN.toLowerCase()&&Array.isArray(a))return(({target:e,params:t})=>c(void 0,void 0,void 0,(function*(){let n,r=null;try{const r=yield e.request({method:nh.ETH_REQUESTACCOUNTS,params:[]});if(!r.length)throw new Error(\"SDK state invalid -- undefined accounts\");return n=yield e.request({method:nh.PERSONAL_SIGN,params:[t[0],r[0]]}),n}catch(e){throw r=e,e}finally{Mh(nh.PERSONAL_SIGN,n,r)}})))({target:r,params:a});if(s.toLowerCase()===nh.METAMASK_CONNECTWITH.toLowerCase()&&Array.isArray(a))return(({target:e,params:t})=>c(void 0,void 0,void 0,(function*(){const[n]=t,r=n.method,i=n.params;let o,s=null;try{const t=yield e.request({method:nh.ETH_REQUESTACCOUNTS,params:[]});if(!Array.isArray(t)||!t.length)throw new Error(\"SDK state invalid -- undefined accounts\");return(null==r?void 0:r.toLowerCase())===nh.PERSONAL_SIGN.toLowerCase()?(o=yield e.request({method:r,params:[i[0],t[0]]}),o):(null==r?void 0:r.toLowerCase())===nh.ETH_SENDTRANSACTION.toLowerCase()?(o=yield e.request({method:r,params:[Object.assign(Object.assign({},i[0]),{from:t[0]})]}),o):oh.includes(r.toLowerCase())?(console.warn(`MetaMaskSDK connectWith method=${r} -- not handled by the extension -- call separately`),o=t,o):(o=yield e.request({method:r,params:i}),o)}catch(e){throw s=e,e}finally{Mh(r,o,s)}})))({target:r,params:a});let h,f=null;try{return h=yield r.request(e),h}catch(e){throw f=e,e}finally{l&&(null===(o=t.analytics)||void 0===o||o.send({event:Ao.SDK_RPC_REQUEST_DONE,params:{method:s,from:u,id:d}})),Mh(s,h,f)}}))}:\"getChainId\"===i?function(){return e.chainId}:\"getNetworkVersion\"===i?function(){return e.networkVersion}:\"getSelectedAddress\"===i?function(){return e.selectedAddress}:\"isConnected\"===i?function(){return e._state.isConnected}:r[i]})};var Th;function Rh({mustBeMetaMask:e,sdkInstance:t}){return c(this,void 0,void 0,(function*(){if(\"undefined\"==typeof window)throw new Error(\"window not available\");try{const e=yield new Promise(((e,t)=>{const n=setTimeout((()=>{t(new Error(\"eip6963RequestProvider timed out\"))}),500);window.addEventListener(Th.Announce,(t=>{const r=t,{detail:{info:i,provider:o}={}}=r,{name:s,rdns:a,uuid:c}=null!=i?i:{};th.test(c)&&s.startsWith(eh.NAME)&&eh.RDNS.includes(a)&&(clearTimeout(n),e(o))})),window.dispatchEvent(new Event(Th.Request))}));return Ih({provider:e,sdkInstance:t})}catch(n){if(!e&&window.ethereum)return Ih({provider:window.ethereum,sdkInstance:t});throw new Error(\"Provider not found\")}}))}!function(e){e.Announce=\"eip6963:announceProvider\",e.Request=\"eip6963:requestProvider\"}(Th||(Th={}));const Ph=e=>c(void 0,void 0,void 0,(function*(){const{options:t}=e,{infuraAPIKey:n}=t;if(!n)return;const r={\"0x1\":`https://mainnet.infura.io/v3/${n}`,\"0x5\":`https://goerli.infura.io/v3/${n}`,\"0xaa36a7\":`https://sepolia.infura.io/v3/${n}`,\"0xe708\":`https://linea-mainnet.infura.io/v3/${n}`,\"0xe704\":`https://linea-goerli.infura.io/v3/${n}`,\"0x89\":`https://polygon-mainnet.infura.io/v3/${n}`,\"0x13881\":`https://polygon-mumbai.infura.io/v3/${n}`,\"0x45\":`https://optimism-mainnet.infura.io/v3/${n}`,\"0x1a4\":`https://optimism-goerli.infura.io/v3/${n}`,\"0xa4b1\":`https://arbitrum-mainnet.infura.io/v3/${n}`,\"0x66eed\":`https://arbitrum-goerli.infura.io/v3/${n}`,\"0x2a15c308d\":`https://palm-mainnet.infura.io/v3/${n}`,\"0x2a15c3083\":`https://palm-testnet.infura.io/v3/${n}`,\"0xa86a\":`https://avalanche-mainnet.infura.io/v3/${n}`,\"0xa869\":`https://avalanche-fuji.infura.io/v3/${n}`,\"0x4e454152\":`https://aurora-mainnet.infura.io/v3/${n}`,\"0x4e454153\":`https://aurora-testnet.infura.io/v3/${n}`,\"0x534e5f4d41494e\":`https://starknet-mainnet.infura.io/v3/${n}`,\"0x534e5f474f45524c49\":`https://starknet-goerli.infura.io/v3/${n}`,\"0x534e5f474f45524c4932\":`https://starknet-goerli2.infura.io/v3/${n}`,\"0xa4ec\":`https://celo-mainnet.infura.io/v3/${n}`,\"0xaef3\":`https://celo-alfajores.infura.io/v3/${n}`};e.options.readonlyRPCMap?e.options.readonlyRPCMap=Object.assign(Object.assign({},e.options.readonlyRPCMap),r):e.options.readonlyRPCMap=r}));const Oh=e=>c(void 0,void 0,void 0,(function*(){const{options:t}=e,{readonlyRPCMap:n}=t;if(n)try{Au(\"[MetaMaskSDK: setupReadOnlyRPCProviders()] Setting up Readonly RPC Providers\",n),e.setReadOnlyRPCCalls(!0)}catch(e){throw new Error(\"Invalid Infura Settings\")}}));function Nh(e,t,n,r){return new(n||(n=Promise))((function(t,i){function o(e){try{a(r.next(e))}catch(e){i(e)}}function s(e){try{a(r.throw(e))}catch(e){i(e)}}function a(e){var r;e.done?t(e.value):(r=e.value,r instanceof n?r:new n((function(e){e(r)}))).then(o,s)}a((r=r.apply(e,[])).next())}))}function Lh(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}var Dh=\"INSTALLED\",$h=\"NOT_INSTALLED\",Bh=\"REGISTERED\",Kh=\"REGISTERING\",jh=\"RELOADING\",Uh={CHROME:\"https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn\",FIREFOX:\"https://addons.mozilla.org/firefox/addon/ether-metamask/\",DEFAULT:\"https://metamask.io\"},Hh=\"REGISTRATION_IN_PROGRESS\",Fh=\"FORWARDER_ID\",zh=function(){function e(t){var n=void 0===t?{}:t,r=n.forwarderOrigin,i=void 0===r?\"https://fwd.metamask.io\":r,o=n.forwarderMode,s=void 0===o?e.FORWARDER_MODE.INJECT:o;this.forwarderOrigin=i,this.forwarderMode=s,this.state=e.isMetaMaskInstalled()?Dh:$h;var a=e._detectBrowser();this.downloadUrl=a?Uh[a]:Uh.DEFAULT,this._onMessage=this._onMessage.bind(this),this._onMessageFromForwarder=this._onMessageFromForwarder.bind(this),this._openForwarder=this._openForwarder.bind(this),this._openDownloadPage=this._openDownloadPage.bind(this),this.startOnboarding=this.startOnboarding.bind(this),this.stopOnboarding=this.stopOnboarding.bind(this),window.addEventListener(\"message\",this._onMessage),s===e.FORWARDER_MODE.INJECT&&\"true\"===sessionStorage.getItem(Hh)&&e._injectForwarder(this.forwarderOrigin)}return e.prototype._onMessage=function(e){if(e.origin===this.forwarderOrigin)return\"metamask:reload\"===e.data.type?this._onMessageFromForwarder(e):void console.debug(\"Unknown message from '\"+e.origin+\"' with data \"+JSON.stringify(e.data))},e.prototype._onMessageUnknownStateError=function(e){throw new Error(\"Unknown state: '\"+e+\"'\")},e.prototype._onMessageFromForwarder=function(t){return Nh(this,0,void 0,(function(){return Lh(this,(function(n){switch(n.label){case 0:switch(this.state){case jh:return[3,1];case $h:return[3,2];case Dh:return[3,3];case Kh:return[3,5];case Bh:return[3,6]}return[3,7];case 1:return console.debug(\"Ignoring message while reloading\"),[3,8];case 2:return console.debug(\"Reloading now to register with MetaMask\"),this.state=jh,location.reload(),[3,8];case 3:return console.debug(\"Registering with MetaMask\"),this.state=Kh,[4,e._register()];case 4:return n.sent(),this.state=Bh,t.source.postMessage({type:\"metamask:registrationCompleted\"},t.origin),this.stopOnboarding(),[3,8];case 5:return console.debug(\"Already registering - ignoring reload message\"),[3,8];case 6:return console.debug(\"Already registered - ignoring reload message\"),[3,8];case 7:this._onMessageUnknownStateError(this.state),n.label=8;case 8:return[2]}}))}))},e.prototype.startOnboarding=function(){sessionStorage.setItem(Hh,\"true\"),this._openDownloadPage(),this._openForwarder()},e.prototype.stopOnboarding=function(){\"true\"===sessionStorage.getItem(Hh)&&(this.forwarderMode===e.FORWARDER_MODE.INJECT&&(console.debug(\"Removing forwarder\"),e._removeForwarder()),sessionStorage.setItem(Hh,\"false\"))},e.prototype._openForwarder=function(){this.forwarderMode===e.FORWARDER_MODE.OPEN_TAB?window.open(this.forwarderOrigin,\"_blank\"):e._injectForwarder(this.forwarderOrigin)},e.prototype._openDownloadPage=function(){window.open(this.downloadUrl,\"_blank\")},e.isMetaMaskInstalled=function(){return Boolean(window.ethereum&&window.ethereum.isMetaMask)},e._register=function(){return window.ethereum.request({method:\"wallet_registerOnboarding\"})},e._injectForwarder=function(e){var t=document.body,n=document.createElement(\"iframe\");n.setAttribute(\"height\",\"0\"),n.setAttribute(\"width\",\"0\"),n.setAttribute(\"style\",\"display: none;\"),n.setAttribute(\"src\",e),n.setAttribute(\"id\",Fh),t.insertBefore(n,t.children[0])},e._removeForwarder=function(){var e;null===(e=document.getElementById(Fh))||void 0===e||e.remove()},e._detectBrowser=function(){var e=Fu.parse(window.navigator.userAgent);return\"Firefox\"===e.browser.name?\"FIREFOX\":[\"Chrome\",\"Chromium\"].includes(e.browser.name||\"\")?\"CHROME\":null},e.FORWARDER_MODE={INJECT:\"INJECT\",OPEN_TAB:\"OPEN_TAB\"},e}();function qh(e,{wait:t=!1}){return c(this,void 0,void 0,(function*(){return Au(`[MetamaskInstaller: startInstaller()] wait=${t}`),t&&(yield wh(1e3)),yield e.checkInstallation()}))}class Wh{constructor({remote:e,preferDesktop:t,platformManager:n,debug:r=!1}){this.state={isInstalling:!1,hasInstalled:!1,resendRequest:null,preferDesktop:!1,platformManager:null,remote:null,debug:!1,connectWith:void 0},this.state.remote=e,this.state.preferDesktop=t,this.state.platformManager=n,this.state.debug=r}startDesktopOnboarding(){return function(){return c(this,void 0,void 0,(function*(){Au(\"[MetamaskInstaller: startDesktopOnboarding() starting desktop onboarding\"),window.ethereum&&(window.ethereum=void 0),(new zh).startOnboarding()}))}()}redirectToProperInstall(){return c(this,void 0,void 0,(function*(){return function(e){var t,n;return c(this,void 0,void 0,(function*(){const{state:r}=e,i=null===(t=r.platformManager)||void 0===t?void 0:t.getPlatformType();if(Au(`[MetamaskInstaller: redirectToProperInstall()] platform=${i}`),i===Uo.MetaMaskMobileWebview)return!1;r.isInstalling=!0;try{yield null===(n=r.remote)||void 0===n?void 0:n.startConnection({connectWith:r.connectWith}),r.isInstalling=!1,r.hasInstalled=!0}catch(e){throw r.isInstalling=!1,e}return!0}))}(this)}))}checkInstallation(){return c(this,void 0,void 0,(function*(){return function(e){var t;return c(this,void 0,void 0,(function*(){const{state:n}=e,r=null===(t=n.platformManager)||void 0===t?void 0:t.isMetaMaskInstalled();return Au(`[MetamaskInstaller: checkInstallation()] isInstalled=${r}`),!!r||(yield e.redirectToProperInstall())}))}(this)}))}start({wait:e=!1,connectWith:t}){return c(this,void 0,void 0,(function*(){this.state.connectWith=t,Au(`[MetaMaskInstaller: start()] wait=${e}`,t),yield qh(this,{wait:e})}))}}class Vh{constructor({debug:e,sdkVersion:t}){this.containers={install:void 0,pending:void 0,select:void 0},this.defined={install:!1,pending:!1,select:!1},this.debug=null!=e&&e,this.sdkVersion=t}loadComponent(e){return c(this,void 0,void 0,(function*(){if(!this.defined[e]){this.defined[e]=!0;try{const e=yield Promise.resolve().then((function(){return Pp}));console.log(\"loader\",e),e.defineCustomElements()}catch(t){console.error(`Failed to load ${e} modal:`,t)}}}))}renderInstallModal(e){var t;return c(this,void 0,void 0,(function*(){this.debug&&console.debug(\"ModalLoader: renderInstallModal\",e),this.containers.install=e.parentElement,yield this.loadComponent(\"install\");const n=document.createElement(\"mm-install-modal\");n.link=e.link,n.preferDesktop=e.preferDesktop,n.sdkVersion=null!==(t=e.sdkVersion)&&void 0!==t?t:this.sdkVersion,n.addEventListener(\"close\",(({detail:{shouldTerminate:t}})=>e.onClose(t))),n.addEventListener(\"startDesktopOnboarding\",e.metaMaskInstaller.startDesktopOnboarding),n.addEventListener(\"trackAnalytics\",(t=>{var n;return null===(n=e.onAnalyticsEvent)||void 0===n?void 0:n.call(e,t.detail)})),e.parentElement.appendChild(n)}))}renderSelectModal(e){var t;return c(this,void 0,void 0,(function*(){this.containers.select=e.parentElement,yield this.loadComponent(\"select\");const n=document.createElement(\"mm-select-modal\");n.link=e.link,n.sdkVersion=null!==(t=e.sdkVersion)&&void 0!==t?t:this.sdkVersion,n.preferDesktop=e.preferDesktop,n.addEventListener(\"close\",(({detail:{shouldTerminate:t}})=>e.onClose(t))),n.addEventListener(\"connectWithExtension\",e.connectWithExtension),e.parentElement.appendChild(n),setTimeout((()=>this.updateQRCode(e.link)),100)}))}renderPendingModal(e){var t;return c(this,void 0,void 0,(function*(){this.containers.pending=e.parentElement,yield this.loadComponent(\"pending\");const n=document.createElement(\"mm-pending-modal\");n.sdkVersion=null!==(t=e.sdkVersion)&&void 0!==t?t:this.sdkVersion,n.displayOTP=e.displayOTP,n.addEventListener(\"close\",e.onClose),n.addEventListener(\"updateOTPValue\",(({detail:{otpValue:t}})=>e.updateOTPValue(t))),e.onDisconnect&&n.addEventListener(\"disconnect\",e.onDisconnect),e.parentElement.appendChild(n)}))}updateOTPValue(e){const t=()=>{var t;const n=null===(t=this.containers.pending)||void 0===t?void 0:t.querySelector(\"mm-pending-modal\");return!!n&&(n.otpCode=e,!0)};setTimeout((()=>{t()}),800)}updateQRCode(e){var t,n;const r=null===(t=this.containers.install)||void 0===t?void 0:t.querySelector(\"mm-install-modal\");if(r)r.link=e;else{const t=null===(n=this.containers.select)||void 0===n?void 0:n.querySelector(\"mm-select-modal\");t&&(t.link=e)}}unmount(){Object.entries(this.containers).forEach((([e,t])=>{var n;null===(n=null==t?void 0:t.parentNode)||void 0===n||n.removeChild(t),this.containers[e]=void 0}))}}const Gh=({link:e,debug:t,installer:n,terminate:r,connectWithExtension:i,preferDesktop:o,onAnalyticsEvent:s})=>{let a=null,c=null;Au(\"[UI: InstallModal-web: sdkWebInstallModal()] ################## Installing Modal #################\"),Au(`[UI: InstallModal-web: sdkWebInstallModal()] link=${e}`),Au(`[UI: InstallModal-web: sdkWebInstallModal()] npx uri-scheme open \"${e}\" --ios`),Au(`[UI: InstallModal-web: sdkWebInstallModal()] npx uri-scheme open \"${e}\" --android`),Au(`[UI: InstallModal-web: sdkWebInstallModal()] adb shell am start -a android.intent.action.VIEW -d \"${e}\"`);const l=e=>{var t;Au(\"[UI: InstallModal-web: sdkWebInstallModal()] installModal-web unmounting install modal -- shouldTerminate:\",e,c),(null==c?void 0:c.parentNode)&&(null===(t=c.parentNode)||void 0===t||t.removeChild(c)),c=null,a=null,!0===e&&(null==r||r())};return{mount:r=>{if(Au(\"[UI: InstallModal-web: sdkWebInstallModal()] installModal-web mounting install modal\",c),c)return c.style.display=\"block\",void(null==a||a.updateQRCode(r));a=new Vh({debug:t,sdkVersion:Zu.version}),c=document.createElement(\"div\"),document.body.appendChild(c),window.extension?a.renderSelectModal({parentElement:c,connectWithExtension:()=>{l(),null==i||i()},onClose:l,link:e,preferDesktop:null!=o&&o}).catch((e=>{console.error(e)})):a.renderInstallModal({parentElement:c,preferDesktop:null!=o&&o,link:e,metaMaskInstaller:n,onClose:l,onAnalyticsEvent:s}).catch((e=>{console.error(\"[UI: InstallModal-web: sdkWebInstallModal()]\",e)}))},unmount:l}},Yh=({onDisconnect:e,debug:t})=>{let n=null,r=null;const i=()=>{Au(\"[UI: pendingModal-web: sdkWebPendingModal()] pendingModal-web unmount\",n),(null==n?void 0:n.parentNode)&&n.parentNode.removeChild(n),n=null,r=null},o=e=>{Au(\"[UI: pendingModal-web: sdkWebPendingModal()] pendingModal-web updateOTPValue\",e),r&&r.updateOTPValue(e)},s=({displayOTP:s}={displayOTP:!0})=>{Au(\"[UI: pendingModal-web: sdkWebPendingModal()] pendingModal-web mount\",n),n?n.style.display=\"block\":(r=new Vh({debug:t,sdkVersion:Zu.version}),n=document.createElement(\"div\"),document.body.appendChild(n),r.renderPendingModal({parentElement:n,onClose:i,onDisconnect:e,updateOTPValue:o,displayOTP:s}).catch((e=>{console.error(\"[UI: pendingModal-web: sdkWebPendingModal()]\",e)})))};return s(),{mount:s,unmount:i,updateOTPValue:o}};function Zh(e,t){var n,r,i,o;e.connector||(Au(\"[RemoteConnection: initializeConnector()] initialize connector\"),e.connector=new ts({anonId:t.anonId,platformType:t.platformManager.getPlatformType(),communicationLayerPreference:t.communicationLayerPreference,transports:t.transports,dappMetadata:Object.assign(Object.assign({},t.dappMetadata),{source:t._source}),analytics:t.enableAnalytics,communicationServerUrl:t.communicationServerUrl,sdkVersion:Zu.version,context:\"dapp\",ecies:t.ecies,storage:t.storage,logging:t.logging}),t.timer&&(Au(\"[RemoteConnection: initializeConnector()] reset background timer\",t.timer),null===(r=null===(n=t.timer)||void 0===n?void 0:n.stopBackgroundTimer)||void 0===r||r.call(n),null===(o=null===(i=t.timer)||void 0===i?void 0:i.runBackgroundTimer)||void 0===o||o.call(i,(()=>!1),1e4)))}function Jh(e){e.listeners.forEach((({event:t,handler:n})=>{var r;null===(r=e.connector)||void 0===r||r.off(t,n)})),e.listeners=[]}function Qh(e,t,r){return c(this,void 0,void 0,(function*(){const i=setTimeout((()=>{n.track(\"sdk_connection_failed\",{transport_type:\"websocket\"})}),6e4);return new Promise(((n,o)=>{if(!e.connector)return void o(new Error(\"No connector available\"));Au(\"[RemoteConnection: connectWithModalInstaller()]\",{state:e,options:t,linkParams:r});const s=`${e.useDeeplink?Xu:Qu}?${r}`;!function(e,t,n){var r,i,o,s;e.installModal=null===(i=(r=t.modals).install)||void 0===i?void 0:i.call(r,{link:n,preferDesktop:e.preferDesktop,installer:t.getMetaMaskInstaller(),terminate:()=>{Au(\"[RemoteConnection: showInstallModal() => terminate()] terminate connection\"),t.sdk.terminate().catch((e=>{console.warn(\"[MMSDK] failed to terminate connection\",e)}))},debug:e.developerMode,connectWithExtension:()=>{var e;return null===(e=t.connectWithExtensionProvider)||void 0===e||e.call(t),!1},onAnalyticsEvent:({event:n,params:r})=>{var i,o,s;const a=Object.assign(Object.assign({},r),{sdkVersion:t.sdk.getVersion(),dappId:null===(i=t.dappMetadata)||void 0===i?void 0:i.name,source:t._source,url:null===(o=t.dappMetadata)||void 0===o?void 0:o.url});null===(s=e.analytics)||void 0===s||s.send({event:n,params:a})}}),null===(s=null===(o=e.installModal)||void 0===o?void 0:o.mount)||void 0===s||s.call(o,n)}(e,t,s),t.sdk.once(So.PROVIDER_UPDATE,(e=>c(this,void 0,void 0,(function*(){if(Au(\"[RemoteConnection: connectWithModalInstaller()] once provider_update -- resolving startConnection promise\"),e===hh.TERMINATE){const e={code:4001,message:\"User rejected the request.\"};return clearTimeout(i),void o(e)}o(e)})))),e.connector.once(So.AUTHORIZED,(()=>{clearTimeout(i),n()})),e.connector.once(So.REJECTED,(()=>{clearTimeout(i),o(So.REJECTED)})),e.connector.once(So.CLIENTS_READY,(()=>c(this,void 0,void 0,(function*(){Au(\"[RemoteConnection: connectWithModalInstaller()] once clients_ready -- resolving startConnection promise\"),clearTimeout(i),n()}))))}))}))}function Xh(e,t){function n(t,n){var r;null===(r=e.connector)||void 0===r||r.on(t,n),e.listeners.push({event:t,handler:n})}e.connector&&(Jh(e),n(So.WALLET_INIT,(({accounts:e,chainId:t})=>c(this,void 0,void 0,(function*(){Au(`[RemoteConnection: setupListeners() => EventType.WALLET_INIT] 'wallet_init' accounts=${e} chainId=${t}`);const n=qu.getProvider();n._setConnected();const r={accounts:e,chainId:t,isUnlocked:!1};n._initializeState(r),n.emit(\"chainChanged\",t),n.emit(\"accountsChanged\",e)})))),n(So.AUTHORIZED,(()=>c(this,void 0,void 0,(function*(){var t,n,r,i;try{Au(\"[RemoteConnection: setupListeners() => EventType.AUTHORIZED] 'authorized' closing modals\",e.pendingModal,e.installModal);const o=qu.getProvider();o._setConnected(),null===(n=null===(t=e.pendingModal)||void 0===t?void 0:t.unmount)||void 0===n||n.call(t),null===(i=null===(r=e.installModal)||void 0===r?void 0:r.unmount)||void 0===i||i.call(r,!1),e.otpAnswer=void 0,e.authorized=!0,Au(\"[RemoteConnection: setupListeners() => EventType.AUTHORIZED] 'authorized' provider.state\",o.getState()),yield o.forceInitializeState()}catch(e){}})))),n(So.TERMINATE,(()=>{var t,n,r,i,o;null===(n=null===(t=e.pendingModal)||void 0===t?void 0:t.unmount)||void 0===n||n.call(t),null===(i=null===(r=e.installModal)||void 0===r?void 0:r.unmount)||void 0===i||i.call(r,!0),e.pendingModal=void 0,e.installModal=void 0,e.otpAnswer=void 0,null===(o=e.connector)||void 0===o||o.disconnect({terminate:!0}),e.authorized=!1;qu.getProvider().handleDisconnect({terminate:!0}),Jh(e),Au(\"[RemoteConnection: setupListeners()] All listeners cleaned up\")})))}function ef(e,t,{initialCheck:r,connectWith:i}={}){var o,s,a,l,d,u,h,f,p,g,m,y,v,b,w,E,S,_,C;return c(this,void 0,void 0,(function*(){try{if(Zh(e,t),!e.connector)throw new Error(\"no connector defined\");Xh(e);const k=qu.getProvider();e.authorized=!1,k.emit(\"connecting\");const A=yield null===(o=e.connector)||void 0===o?void 0:o.originatorSessionConnect();Au(`[RemoteConnection: startConnection()] after originatorSessionConnect initialCheck=${r}`,A);let x=null!==(s=null==A?void 0:A.channelId)&&void 0!==s?s:\"\",M=null!==(l=null===(a=e.connector.getKeyInfo())||void 0===a?void 0:a.ecies.public)&&void 0!==l?l:\"\",I=null!==(u=null===(d=e.connector.getKeyInfo())||void 0===d?void 0:d.ecies.private)&&void 0!==u?u:\"\";if(r&&!A)return Promise.resolve();if(!A&&!r){const t=yield e.connector.generateChannelIdConnect();x=null!==(h=t.channelId)&&void 0!==h?h:\"\",M=null!==(f=t.pubKey)&&void 0!==f?f:\"\",I=null!==(p=t.privKey)&&void 0!==p?p:\"\";const n=Date.now();null===(g=e.connector.state.storageManager)||void 0===g||g.persistChannelConfig({channelId:x,localKey:I,lastActive:n,validUntil:n+go})}if(r&&(null==A?void 0:A.channelId))return(null===(m=e.connector)||void 0===m?void 0:m.isConnected())||(Au(`[RemoteConnection: startConnection()] reconnecting to channel initialCheck=${r}`,A),yield null===(y=e.connector)||void 0===y?void 0:y.connectToChannel({channelId:x})),Promise.resolve();A&&!(null===(v=e.connector)||void 0===v?void 0:v.isConnected())&&(Au(\"[RemoteConnection: startConnection()] reconnecting to channel\",A),yield null===(b=e.connector)||void 0===b?void 0:b.connectToChannel({channelId:x}));const T=(null===(w=e.platformManager)||void 0===w?void 0:w.isSecure())?\"\":\"&t=q\",R=Zu.version,{iconUrl:P,name:O,url:N,scheme:L}=t.dappMetadata||{},D=null===(E=e.platformManager)||void 0===E?void 0:E.getPlatformType();let $=\"N/A\";\"undefined\"!=typeof window&&window.location&&window.location.hostname?$=window.location.hostname:void 0!==O?$=O:void 0!==N&&($=N);const B={url:null!=N?N:\"\",title:null!=O?O:\"\",icon:P,scheme:null!=L?L:\"\",apiVersion:R,dappId:$||N||\"N/A\",anonId:t.anonId,platform:null!=D?D:\"\",source:null!==(S=t._source)&&void 0!==S?S:\"\"},K=mh(JSON.stringify(B));let j=`channelId=${x}&v=2&comm=${null!==(_=e.communicationLayerPreference)&&void 0!==_?_:\"\"}&pubkey=${M}${T}&originatorInfo=${K}`;if(i){j+=`&rpc=${mh(JSON.stringify(i))}`;const t=e.connector.getRPCMethodTracker();t&&(t[`${i.id}`]=Object.assign(Object.assign({},i),{id:`${i.id}`,timestamp:Date.now()}))}const U=encodeURI(j),H=`${e.useDeeplink?Xu:Qu}?${j}`;if(e.qrcodeLink=H,e.developerMode&&Au(`[RemoteConnection: startConnection()] qrcodeLink=${U}`),k.emit(\"display_uri\",H),n.track(\"sdk_connection_initiated\",{transport_type:\"websocket\"}),null===(C=e.platformManager)||void 0===C?void 0:C.isSecure()){const t=setTimeout((()=>{n.track(\"sdk_connection_failed\",{transport_type:\"websocket\"})}),6e4);return yield function(e,t){var n,r;return c(this,void 0,void 0,(function*(){const i=`${Qu}?${t}`,o=`${Xu}?${t}`;null===(r=null===(n=e.platformManager)||void 0===n?void 0:n.openDeeplink)||void 0===r||r.call(n,i,o,\"_self\")}))}(e,U),new Promise(((n,r)=>{var i,o,s;if(null===(i=e.connector)||void 0===i?void 0:i.isAuthorized())return clearTimeout(t),void n();null===(o=e.connector)||void 0===o||o.once(So.AUTHORIZED,(()=>{clearTimeout(t),n()})),null===(s=e.connector)||void 0===s||s.once(So.REJECTED,(()=>{clearTimeout(t),r(So.REJECTED)}))}))}return Qh(e,t,U)}catch(e){throw console.error(\"[startConnection] error\",e),e}}))}class tf{constructor(e){var t,n,r;this.state={connector:void 0,qrcodeLink:void 0,analytics:void 0,developerMode:!1,authorized:!1,reconnection:!1,preferDesktop:!1,deeplinkProtocol:!1,listeners:[],communicationLayerPreference:void 0,platformManager:void 0,pendingModal:void 0,installModal:void 0,otpAnswer:void 0},this.options=e;const i=!0===(null===(t=e.logging)||void 0===t?void 0:t.developerMode)||!0===(null===(n=e.logging)||void 0===n?void 0:n.sdk);this.state.developerMode=i,this.state.analytics=e.analytics,this.state.preferDesktop=null!==(r=e.preferDesktop)&&void 0!==r&&r,this.state.useDeeplink=e.sdk.options.useDeeplink,this.state.communicationLayerPreference=e.communicationLayerPreference,this.state.platformManager=e.platformManager,e.modals.install||(e.modals.install=Gh),e.modals.otp||(e.modals.otp=Yh)}startConnection(e){return c(this,void 0,void 0,(function*(){return ef(this.state,this.options,e)}))}initRemoteCommunication({sdkInstance:e}){var t,n,r;return c(this,void 0,void 0,(function*(){const i=yield null===(n=null===(t=e.options.storage)||void 0===t?void 0:t.storageManager)||void 0===n?void 0:n.getPersistedChannelConfig();if(!this.options.ecies){const e={privateKey:null==i?void 0:i.localKey};this.options.ecies=e}Zh(this.state,this.options),yield null===(r=this.getConnector())||void 0===r?void 0:r.initFromDappStorage(),Xh(this.state,this.options)}))}showActiveModal(){return function(e){var t,n,r,i;e.authorized?Au(\"[RemoteConnection: showActiveModal()] already authorized\"):e.pendingModal?null===(n=(t=e.pendingModal).mount)||void 0===n||n.call(t):e.installModal&&(null===(i=(r=e.installModal).mount)||void 0===i||i.call(r,e.qrcodeLink||\"\"))}(this.state)}closeModal(){var e,t,n,r;null===(t=null===(e=this.state.pendingModal)||void 0===e?void 0:e.unmount)||void 0===t||t.call(e),null===(r=null===(n=this.state.installModal)||void 0===n?void 0:n.unmount)||void 0===r||r.call(n,!1)}getUniversalLink(){if(!this.state.qrcodeLink)throw new Error(\"connection not started. run startConnection() first.\");return this.state.qrcodeLink}getChannelConfig(){var e;return null===(e=this.state.connector)||void 0===e?void 0:e.getChannelConfig()}getKeyInfo(){var e;return null===(e=this.state.connector)||void 0===e?void 0:e.getKeyInfo()}getConnector(){if(!this.state.connector)throw new Error(\"invalid remote connector\");return this.state.connector}getPlatformManager(){if(!this.state.platformManager)throw new Error(\"PlatformManager not available\");return this.state.platformManager}isConnected(){var e;return(null===(e=this.state.connector)||void 0===e?void 0:e.isReady())||!1}isAuthorized(){var e;return(null===(e=this.state.connector)||void 0===e?void 0:e.isAuthorized())||!1}isPaused(){var e;return null===(e=this.state.connector)||void 0===e?void 0:e.isPaused()}disconnect(e){var t,n,r;Au(\"[RemoteConnection: disconnect()]\",e),(null==e?void 0:e.terminate)&&(qu.getProvider().handleDisconnect({terminate:!0}),null===(n=null===(t=this.state.pendingModal)||void 0===t?void 0:t.unmount)||void 0===n||n.call(t),this.state.otpAnswer=void 0),null===(r=this.state.connector)||void 0===r||r.disconnect(e),function(e){Au(\"[RemoteConnection: cleanupConnector()] cleaning up connector\"),e.connector&&(Jh(e),e.connector.disconnect({terminate:!0}).catch((e=>{Au(\"[RemoteConnection: cleanupConnector()] error disconnecting connector\",e)})))}(this.state)}}function nf(e){var r,i,o,s,a,l,d,u,h,f,p;return c(this,void 0,void 0,(function*(){const{options:g}=e;if(g.logging=null!==(r=g.logging)&&void 0!==r?r:{},g.communicationLayerPreference=null!==(i=g.communicationLayerPreference)&&void 0!==i?i:jo.SOCKET,void 0!==g.enableDebug&&(t.enable(\"MM_SDK\"),console.warn(\"enableDebug is removed. Please use enableAnalytics instead.\")),g.enableAnalytics=null===(o=g.enableAnalytics)||void 0===o||o,g.injectProvider=null===(s=g.injectProvider)||void 0===s||s,g.shouldShimWeb3=null===(a=g.shouldShimWeb3)||void 0===a||a,g.extensionOnly=null===(l=g.extensionOnly)||void 0===l||l,g.useDeeplink=null===(d=g.useDeeplink)||void 0===d||d,g.storage=null!==(u=g.storage)&&void 0!==u?u:{enabled:!0},g.headless){t(\"[MetaMaskSDK: performSDKInitialization()] headless mode enabled\");const e=()=>{},n={install:()=>({mount:e,unmount:e})},r={installer:e};g.modals=n,g.ui=r}const m=!0===(null===(h=g.logging)||void 0===h?void 0:h.developerMode);e.debug=(null===(f=g.logging)||void 0===f?void 0:f.sdk)||m,Au(\"[MetaMaskSDK: performSDKInitialization()] options\",e.options);const y=Object.assign({},g.logging);m&&(y.sdk=!0,y.eciesLayer=!0,y.keyExchangeLayer=!0,y.remoteLayer=!0,y.serviceLayer=!0,y.plaintext=!0),yield function(e){var t;return c(this,void 0,void 0,(function*(){const{options:n}=e;e.platformManager=new Wu({useDeepLink:null!==(t=n.useDeeplink)&&void 0!==t&&t,preferredOpenLink:n.openDeeplink,debug:e.debug})}))}(e),yield function(e){var t,n,r,i,o;return c(this,void 0,void 0,(function*(){const{options:s}=e,a=null===(t=e.platformManager)||void 0===t?void 0:t.getPlatformType();e.analytics=new Ch({serverUrl:null!==(n=s.communicationServerUrl)&&void 0!==n?n:fo,enabled:s.enableAnalytics,originatorInfo:{url:null!==(r=s.dappMetadata.url)&&void 0!==r?r:\"\",title:null!==(i=s.dappMetadata.name)&&void 0!==i?i:\"\",dappId:e.getDappId(),platform:null!=a?a:\"\",source:null!==(o=s._source)&&void 0!==o?o:\"\",anonId:\"\"}})}))}(e),yield function(e){var t,r,i;return c(this,void 0,void 0,(function*(){if(!e.options.enableAnalytics)return;if(!(null===(t=e.platformManager)||void 0===t?void 0:t.isBrowser())&&!(null===(r=e.platformManager)||void 0===r?void 0:r.isReactNative()))return;const o=e.getVersion(),s=e.getDappId(),a=yield e.getAnonId(),c=null===(i=e.platformManager)||void 0===i?void 0:i.getPlatformType(),l=e.options._source;n.setGlobalProperty(\"sdk_version\",o),n.setGlobalProperty(\"dapp_id\",s),n.setGlobalProperty(\"anon_id\",a),n.setGlobalProperty(\"platform\",c),n.setGlobalProperty(\"integration_type\",l),n.enable(),n.track(\"sdk_initialized\",{})}))}(e),yield function(e){var t;return c(this,void 0,void 0,(function*(){const{options:n}=e;!0!==(null===(t=n.storage)||void 0===t?void 0:t.enabled)||n.storage.storageManager||(n.storage.storageManager=yield Vu(n.storage))}))}(e),yield function(e){return c(this,void 0,void 0,(function*(){const{options:t}=e,n=/^(http|https):\\/\\/[^\\s]*$/;if(t.dappMetadata){t.dappMetadata.iconUrl&&!n.test(t.dappMetadata.iconUrl)&&(console.warn(\"Invalid dappMetadata.iconUrl: URL must start with http:// or https://\"),t.dappMetadata.iconUrl=void 0),t.dappMetadata.base64Icon&&t.dappMetadata.base64Icon.length>Ah&&(console.warn(\"Invalid dappMetadata.base64Icon: Base64-encoded icon string length must be less than 163400 characters\"),t.dappMetadata.base64Icon=void 0),t.dappMetadata.url&&!n.test(t.dappMetadata.url)&&console.warn(\"Invalid dappMetadata.url: URL must start with http:// or https://\");const e=kh();if(e&&!t.dappMetadata.iconUrl&&!t.dappMetadata.base64Icon){const n=`${window.location.protocol}//${window.location.host}${e}`;t.dappMetadata.iconUrl=n}}e.dappMetadata=t.dappMetadata}))}(e),yield Ph(e),yield Oh(e);const{metamaskBrowserExtension:v,preferExtension:b,shouldReturn:w}=yield function(e){var t,n,r,i;return c(this,void 0,void 0,(function*(){const{options:o}=e;let s,a=!1,l=!1;if(\"undefined\"!=typeof window&&window.ethereum&&!(null===(t=e.platformManager)||void 0===t?void 0:t.isMetaMaskMobileWebView())){a=\"extension\"===localStorage.getItem(ah);try{s=yield Rh({mustBeMetaMask:!0,sdkInstance:e}),window.extension=s,s.on(dh.CHAIN_CHANGED,(t=>{Au(`[MetaMaskSDK: setupExtensionPreferences()] PROPAGATE chainChanged chainId=${t}`),Boolean(e.sdkProvider)&&e.getMobileProvider().emit(dh.CHAIN_CHANGED,t)})),s.on(dh.ACCOUNTS_CHANGED,(t=>c(this,void 0,void 0,(function*(){var n;Au(`[MetaMaskSDK: setupExtensionPreferences()] PROPAGATE accountsChanged accounts=${t}`);const r=Boolean(e.sdkProvider),i=Boolean(e.extensionActive);if(r&&e.getMobileProvider().emit(dh.ACCOUNTS_CHANGED,t),i&&0===(null==t?void 0:t.length)&&0===(yield null===(n=e.getProvider())||void 0===n?void 0:n.request({method:nh.WALLET_GETPERMISSIONS,params:[]})).length)try{yield e.terminate()}catch(e){Au(\"[MetaMaskSDK: setupExtensionPreferences()] error terminating on permissions revoked\",e)}})))),s.on(dh.DISCONNECT,(t=>{Au(`[MetaMaskSDK: setupExtensionPreferences()] PROPAGATE disconnect error=${t}`),Boolean(e.sdkProvider)&&e.getMobileProvider().emit(dh.DISCONNECT,t)})),s.on(dh.CONNECT,(t=>{Au(`[MetaMaskSDK: setupExtensionPreferences()] PROPAGATE connect args=${t}`),Boolean(e.sdkProvider)&&e.getMobileProvider().emit(dh.CONNECT,t)})),s.on(dh.CONNECTED,(t=>{Au(\"[MetaMaskSDK: setupExtensionPreferences()] PROPAGATE connected\",t),Boolean(e.sdkProvider)&&e.getMobileProvider().emit(dh.CONNECTED,t)}))}catch(e){window.extension=void 0}}else(null===(n=e.platformManager)||void 0===n?void 0:n.isMetaMaskMobileWebView())&&(null===(r=e.analytics)||void 0===r||r.send({event:Ao.SDK_USE_INAPP_BROWSER}),e.activeProvider=Ih({provider:window.ethereum,sdkInstance:e}),e._initialized=!0,l=!0);return s&&o.extensionOnly&&(Au(\"[MetaMaskSDK: setupExtensionPreferences()] EXTENSION ONLY --- prevent sdk initialization\"),null===(i=e.analytics)||void 0===i||i.send({event:Ao.SDK_USE_EXTENSION}),e.activeProvider=s,e.extensionActive=!0,e.extension=s,e._initialized=!0,l=!0),{preferExtension:a,shouldReturn:l,metamaskBrowserExtension:s}}))}(e);if(w)Au(\"[MetaMaskSDK: performSDKInitialization()] shouldReturn=true --- prevent sdk initialization\");else{yield function(e,t){var n,r,i,o,s;return c(this,void 0,void 0,(function*(){const{options:a}=e,c=Object.assign({},a.logging);e.remoteConnection=new tf({anonId:yield e.getAnonId(),preferDesktop:null!==(n=a.preferDesktop)&&void 0!==n&&n,communicationLayerPreference:null!==(r=a.communicationLayerPreference)&&void 0!==r?r:jo.SOCKET,analytics:e.analytics,dappMetadata:a.dappMetadata,_source:a._source,enableAnalytics:null===(i=a.enableAnalytics)||void 0===i||i,timer:a.timer,sdk:e,platformManager:e.platformManager,transports:a.transports,communicationServerUrl:a.communicationServerUrl,storage:null!==(o=a.storage)&&void 0!==o?o:{enabled:!0},getMetaMaskInstaller:()=>{if(!e.installer)throw new Error(\"Invalid SDK status -- installer not initialized\");return e.installer},logging:c,connectWithExtensionProvider:void 0===t?void 0:()=>gh(e),modals:Object.assign(Object.assign({},a.modals),{onPendingModalDisconnect:e.terminate.bind(e)})}),yield e.remoteConnection.initRemoteCommunication({sdkInstance:e}),e.installer=new Wh({remote:e.remoteConnection,preferDesktop:null!==(s=a.preferDesktop)&&void 0!==s&&s,platformManager:e.platformManager,debug:e.debug})}))}(e,v),yield Sh(e),yield function(e,t){var n,r;return c(this,void 0,void 0,(function*(){const{options:i}=e;t?(Au(\"[MetaMaskSDK: handleAutoAndExtensionConnections()] preferExtension is detected -- connect with it.\"),null===(n=e.analytics)||void 0===n||n.send({event:Ao.SDK_EXTENSION_UTILIZED}),gh(e).catch((e=>{console.warn(\"Can't connect with MetaMask extension...\",e),localStorage.removeItem(ah)}))):i.checkInstallationImmediately&&((null===(r=e.platformManager)||void 0===r?void 0:r.isDesktopWeb())?(Au(\"[MetaMaskSDK: handleAutoAndExtensionConnections()] checkInstallationImmediately\"),e.connect().catch((e=>{Au(`[MetaMaskSDK: handleAutoAndExtensionConnections()] checkInstallationImmediately --- IGNORED --- error on autoconnect _err=${e}`)}))):console.warn(\"[handleAutoAndExtensionConnections()] checkInstallationImmediately --- IGNORED --- only for web desktop\")),e._initialized=!0}))}(e,b);try{yield null===(p=e.remoteConnection)||void 0===p?void 0:p.startConnection({initialCheck:!0})}catch(e){console.error(\"[MetaMaskSDK: setupRemoteConnectionAndInstaller()] Error while checking installation\",e)}e.emit(zu.ProviderUpdate,hh.INITIALIZED)}}))}class rf extends r{constructor(e={storage:{enabled:!0},injectProvider:!0,forceInjectProvider:!1,enableAnalytics:!0,shouldShimWeb3:!0,useDeeplink:!0,extensionOnly:!0,headless:!1,dappMetadata:{name:\"\",url:\"\",iconUrl:\"\"},_source:Ju,i18nOptions:{enabled:!1}}){var n,r,i;super(),this.extensionActive=!1,this._initialized=!1,this.sdkInitPromise=void 0,this.debug=!1,this.readonlyRPCCalls=!1,this.availableLanguages=[\"en\"],this.ANON_ID_STORAGE_KEY=\"mm-sdk-anon-id\",t.disable();const o=!0===(null===(n=e.logging)||void 0===n?void 0:n.developerMode);if(((null===(r=e.logging)||void 0===r?void 0:r.sdk)||o)&&t.enable(\"MM_SDK\"),Au(\"[MetaMaskSDK: constructor()]: begin.\"),this.setMaxListeners(50),!(null===(i=e.dappMetadata)||void 0===i?void 0:i.url)){if(\"undefined\"==typeof window||\"undefined\"==typeof document)throw new Error(\"You must provide dAppMetadata url\");e.dappMetadata=Object.assign(Object.assign({},e.dappMetadata),{url:`${window.location.protocol}//${window.location.host}`})}this.options=e,this.options._source||(e._source=Ju),this.init().then((()=>{Au(\"[MetaMaskSDK: constructor()]: initialized successfully.\"),\"undefined\"!=typeof window&&(window.mmsdk=this)})).catch((e=>{console.error(\"[MetaMaskSDK: constructor()] error during initialization\",e)}))}init(){return c(this,void 0,void 0,(function*(){return function(e){var t;return c(this,void 0,void 0,(function*(){if(\"undefined\"!=typeof window&&(null===(t=window.mmsdk)||void 0===t?void 0:t.isInitialized()))return Au(\"[MetaMaskSDK: initializeMetaMaskSDK()] already initialized\"),Promise.resolve(window.mmsdk);if(e._initialized)return Au(\"[MetaMaskSDK: initializeMetaMaskSDK()] already initialized\"),e.sdkInitPromise;if(e.sdkInitPromise)return Au(\"[MetaMaskSDK: initializeMetaMaskSDK()] already initializing\"),e.sdkInitPromise;try{e.sdkInitPromise=nf(e),yield e.sdkInitPromise}catch(e){throw console.error(e),e}return e.sdkInitPromise}))}(this)}))}isExtensionActive(){return this.extensionActive}checkExtensionAvailability(){var e;return\"undefined\"!=typeof window&&Boolean(null===(e=window.ethereum)||void 0===e?void 0:e.isMetaMask)}connect(){return c(this,void 0,void 0,(function*(){return function(e){return c(this,void 0,void 0,(function*(){if(e._initialized||(Au(\"[MetaMaskSDK: connect()] provider not ready -- wait for init()\"),yield e.init()),Au(`[MetaMaskSDK: connect()] isExtensionActive=${e.isExtensionActive()} activeProvider`,e.activeProvider),!e.activeProvider)throw new Error(\"SDK state invalid -- undefined provider\");const t=e.activeProvider.getSelectedAddress();return t?[t]:e.activeProvider.request({method:nh.ETH_REQUESTACCOUNTS,params:[]})}))}(this)}))}connectAndSign({msg:e}){return c(this,void 0,void 0,(function*(){return ph({instance:this,msg:e})}))}connectWith(e){return c(this,void 0,void 0,(function*(){return function({instance:e,rpc:t}){return c(this,void 0,void 0,(function*(){if(e._initialized||(Au(\"[MetaMaskSDK: connectWith()] provider not ready -- wait for init()\"),yield e.init()),Au(`[MetaMaskSDK: connectWith()] method: ${t.method} rpc=${t}`),!e.activeProvider)throw new Error(\"SDK state invalid -- undefined provider\");return e.activeProvider.request({method:nh.METAMASK_CONNECTWITH,params:[t]})}))}({instance:this,rpc:e})}))}resume(){return function(e){var t,n,r;return c(this,void 0,void 0,(function*(){if(!(null===(n=null===(t=e.remoteConnection)||void 0===t?void 0:t.getConnector())||void 0===n?void 0:n.isReady()))return Au(\"[MetaMaskSDK: resume()] channel is not ready -- starting connection\"),void(null===(r=e.remoteConnection)||void 0===r||r.startConnection());Au(\"[MetaMaskSDK: resume()] channel is ready\")}))}(this)}disconnect(){return console.warn(\"MetaMaskSDK.disconnect() is deprecated, use terminate()\"),this.terminate()}isAuthorized(){var e;null===(e=this.remoteConnection)||void 0===e||e.isAuthorized()}terminate(){return function(e){var t,n,r;return c(this,void 0,void 0,(function*(){if(!(null===(t=e.platformManager)||void 0===t?void 0:t.isMetaMaskMobileWebView())){if(fh&&(window.localStorage.removeItem(ah),window.localStorage.removeItem(lh),window.localStorage.removeItem(ch)),e.extensionActive){try{yield null===(n=e.activeProvider)||void 0===n?void 0:n.request({method:nh.WALLET_REVOKEPERMISSIONS,params:[{eth_accounts:{}}]})}catch(e){Au(\"[MetaMaskSDK: terminate()] error revoking permissions\",e)}return e.options.extensionOnly?(e.emit(zu.ProviderUpdate,hh.TERMINATE),void Au(\"[MetaMaskSDK: terminate()] extensionOnly --- prevent switching providers\")):(e.activeProvider=e.sdkProvider,window.ethereum=e.activeProvider,e.extensionActive=!1,void e.emit(zu.ProviderUpdate,hh.TERMINATE))}e.emit(zu.ProviderUpdate,hh.TERMINATE),Au(`[MetaMaskSDK: terminate()] remoteConnection=${e.remoteConnection}`),null===(r=e.remoteConnection)||void 0===r||r.disconnect({terminate:!0,sendMessage:!0})}}))}(this)}isInitialized(){return this._initialized}setReadOnlyRPCCalls(e){this.readonlyRPCCalls=e}hasReadOnlyRPCCalls(){return this.readonlyRPCCalls}getProvider(){if(this.activeProvider)return this.activeProvider;console.warn(\"MetaMaskSDK: No active provider found\")}getMobileProvider(){if(!this.sdkProvider)throw new Error(\"SDK state invalid -- undefined mobile provider\");return this.sdkProvider}getUniversalLink(){var e;const t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getUniversalLink();if(!t)throw new Error(\"No Universal Link available, please call eth_requestAccounts first.\");return t}getChannelId(){var e,t;return null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getChannelConfig())||void 0===t?void 0:t.channelId}getRPCHistory(){var e,t;return null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getConnector())||void 0===t?void 0:t.getRPCMethodTracker()}getVersion(){return Zu.version}getDappId(){var e,t,n,r;return\"undefined\"==typeof window||void 0===window.location?null!==(r=null!==(t=null===(e=this.options.dappMetadata)||void 0===e?void 0:e.name)&&void 0!==t?t:null===(n=this.options.dappMetadata)||void 0===n?void 0:n.url)&&void 0!==r?r:\"N/A\":window.location.hostname}getAnonId(){var e,t;return c(this,void 0,void 0,(function*(){if(this._anonId)return this._anonId;let n;return n=(null===(e=this.platformManager)||void 0===e?void 0:e.isBrowser())?this.getBrowserAnonId():(null===(t=this.platformManager)||void 0===t?void 0:t.isReactNative())?yield this.getReactNativeAnonId():s(),this._anonId=n,n}))}getBrowserAnonId(){const e=this.ANON_ID_STORAGE_KEY;try{const t=localStorage.getItem(e);if(t)return t;const n=s();return localStorage.setItem(e,n),n}catch(e){return console.error(\"[MetaMaskSDK: getBrowserAnonId()] LocalStorage access error:\",e),s()}}getReactNativeAnonId(){return c(this,void 0,void 0,(function*(){const e=this.ANON_ID_STORAGE_KEY;try{const t=require(\"@react-native-async-storage/async-storage\").default,n=yield t.getItem(e);if(n)return n;const r=s();return yield t.setItem(e,r),r}catch(e){return console.error(\"[MetaMaskSDK: getReactNativeAnonId()] Error accessing AsyncStorage:\",e),s()}}))}getWalletStatus(){var e,t;return null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getConnector())||void 0===t?void 0:t.getConnectionStatus()}_getChannelConfig(){var e;return null===(e=this.remoteConnection)||void 0===e?void 0:e.getChannelConfig()}_ping(){var e,t;null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getConnector())||void 0===t||t.ping()}_keyCheck(){var e,t;null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getConnector())||void 0===t||t.keyCheck()}_getServiceStatus(){var e,t;return null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getConnector())||void 0===t?void 0:t.getServiceStatus()}_getRemoteConnection(){return this.remoteConnection}_getDappMetadata(){return this.dappMetadata}_getKeyInfo(){var e;return null===(e=this.remoteConnection)||void 0===e?void 0:e.getKeyInfo()}_resetKeys(){var e,t;null===(t=null===(e=this.remoteConnection)||void 0===e?void 0:e.getConnector())||void 0===t||t.resetKeys()}_getConnection(){return this.remoteConnection}emit(e,t){return super.emit(e,t)}on(e,t){return super.on(e,t)}}var of=Object.freeze({__proto__:null,StorageManagerWeb:class{constructor({enabled:e}={enabled:!1}){this.enabled=!1,this.enabled=e}persistChannelConfig(e){return c(this,void 0,void 0,(function*(){const t=JSON.stringify(e);Au(`[StorageManagerWeb: persistChannelConfig()] enabled=${this.enabled}`,e),localStorage.setItem(sh,t)}))}getPersistedChannelConfig(){return c(this,void 0,void 0,(function*(){let e;try{if(Au(`[StorageManagerWeb: getPersistedChannelConfig()] enabled=${this.enabled}`),e=localStorage.getItem(sh),Au(\"[StorageManagerWeb: getPersistedChannelConfig()]\",e),!e)return;const t=JSON.parse(e);return Au(\"[StorageManagerWeb: getPersistedChannelConfig()] channelConfig\",t),t}catch(e){return void console.error(\"[StorageManagerWeb: getPersistedChannelConfig()] Can't find existing channel config\",e)}}))}persistAccounts(e){return c(this,void 0,void 0,(function*(){Au(`[StorageManagerWeb: persistAccounts()] enabled=${this.enabled}`,e);const t=JSON.stringify(e);localStorage.setItem(ch,t)}))}getCachedAccounts(){return c(this,void 0,void 0,(function*(){try{const e=localStorage.getItem(ch);return e?JSON.parse(e):[]}catch(e){throw console.error(\"[StorageManagerWeb: getCachedAccounts()] Error reading cached accounts\",e),e}}))}persistChainId(e){return c(this,void 0,void 0,(function*(){Au(`[StorageManagerWeb: persistChainId()] enabled=${this.enabled}`,e),localStorage.setItem(lh,e)}))}getCachedChainId(){return c(this,void 0,void 0,(function*(){try{const e=localStorage.getItem(lh);return null!=e?e:void 0}catch(e){throw console.error(\"[StorageManagerWeb: getCachedChainId()] Error reading cached chainId\",e),e}}))}terminate(){return c(this,void 0,void 0,(function*(){Au(`[StorageManagerWeb: terminate()] enabled=${this.enabled}`),localStorage.removeItem(sh)}))}}});const sf=\"hydrated\",af=!1,cf=!1,lf=!0;var df=Object.defineProperty,uf=new WeakMap,hf=e=>uf.get(e),ff=(e,t)=>uf.set(t.$lazyInstance$=e,t),pf=(e,t)=>t in e,gf=(e,t)=>(0,console.error)(e,t),mf=new Map,yf=new Map,vf=\"slot-fb{display:contents}slot-fb[hidden]{display:none}\",bf=\"undefined\"!=typeof window?window:{},wf=bf.document||{head:{}},Ef={$flags$:0,$resourcesUrl$:\"\",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,r)=>e.addEventListener(t,n,r),rel:(e,t,n,r)=>e.removeEventListener(t,n,r),ce:(e,t)=>new CustomEvent(e,t)},Sf=(()=>{try{return new CSSStyleSheet,\"function\"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),_f=!1,Cf=[],kf=[],Af=(e,t)=>t=>{e.push(t),_f||(_f=!0,4&Ef.$flags$?If(Mf):Ef.raf(Mf))},xf=e=>{for(let t=0;t<e.length;t++)try{e[t](performance.now())}catch(e){gf(e)}e.length=0},Mf=()=>{xf(Cf),xf(kf),(_f=Cf.length>0)&&Ef.raf(Mf)},If=e=>(e=>Promise.resolve(e))().then(e),Tf=Af(kf),Rf={},Pf=e=>\"object\"===(e=typeof e)||\"function\"===e;function Of(e){var t,n,r;return null!=(r=null==(n=null==(t=e.head)?void 0:t.querySelector('meta[name=\"csp-nonce\"]'))?void 0:n.getAttribute(\"content\"))?r:void 0}((e,t)=>{for(var n in t)df(e,n,{get:t[n],enumerable:!0})})({},{err:()=>Lf,map:()=>Df,ok:()=>Nf,unwrap:()=>Kf,unwrapErr:()=>jf});var Nf=e=>({isOk:!0,isErr:!1,value:e}),Lf=e=>({isOk:!1,isErr:!0,value:e});function Df(e,t){if(e.isOk){const n=t(e.value);return n instanceof Promise?n.then((e=>Nf(e))):Nf(n)}if(e.isErr){const t=e.value;return Lf(t)}throw\"should never get here\"}var $f,Bf,Kf=e=>{if(e.isOk)return e.value;throw e.value},jf=e=>{if(e.isErr)return e.value;throw e.value},Uf=(e,t,...n)=>{let r=null,i=!1,o=!1;const s=[],a=t=>{for(let n=0;n<t.length;n++)r=t[n],Array.isArray(r)?a(r):null!=r&&\"boolean\"!=typeof r&&((i=\"function\"!=typeof e&&!Pf(r))&&(r=String(r)),i&&o?s[s.length-1].$text$+=r:s.push(i?Hf(null,r):r),o=i)};if(a(n),t){const e=t.className||t.class;e&&(t.class=\"object\"!=typeof e?e:Object.keys(e).filter((t=>e[t])).join(\" \"))}if(\"function\"==typeof e)return e(null===t?{}:t,s,zf);const c=Hf(e,null);return c.$attrs$=t,s.length>0&&(c.$children$=s),c},Hf=(e,t)=>{const n={$flags$:0,$tag$:e,$text$:t,$elm$:null,$children$:null,$attrs$:null};return n},Ff={},zf={forEach:(e,t)=>e.map(qf).forEach(t),map:(e,t)=>e.map(qf).map(t).map(Wf)},qf=e=>({vattrs:e.$attrs$,vchildren:e.$children$,vkey:e.$key$,vname:e.$name$,vtag:e.$tag$,vtext:e.$text$}),Wf=e=>{if(\"function\"==typeof e.vtag){const t={...e.vattrs};return e.vkey&&(t.key=e.vkey),e.vname&&(t.name=e.vname),Uf(e.vtag,t,...e.vchildren||[])}const t=Hf(e.vtag,e.vtext);return t.$attrs$=e.vattrs,t.$children$=e.vchildren,t.$key$=e.vkey,t.$name$=e.vname,t},Vf=e=>hf(e).$hostElement$,Gf=(e,t,n)=>{const r=Vf(e);return{emit:e=>Yf(r,t,{bubbles:!!(4&n),composed:!!(2&n),cancelable:!!(1&n),detail:e})}},Yf=(e,t,n)=>{const r=Ef.ce(t,n);return e.dispatchEvent(r),r},Zf=new WeakMap,Jf=e=>{const t=e.$cmpMeta$,n=e.$hostElement$,r=t.$flags$,i=(t.$tagName$,()=>{}),o=((e,t,n)=>{var r;const i=Qf(t),o=yf.get(i);if(e=11===e.nodeType?e:wf,o)if(\"string\"==typeof o){e=e.head||e;let n,s=Zf.get(e);if(s||Zf.set(e,s=new Set),!s.has(i)){{n=wf.createElement(\"style\"),n.innerHTML=o;const i=null!=(r=Ef.$nonce$)?r:Of(wf);if(null!=i&&n.setAttribute(\"nonce\",i),!(1&t.$flags$))if(\"HEAD\"===e.nodeName){const t=e.querySelectorAll(\"link[rel=preconnect]\"),r=t.length>0?t[t.length-1].nextSibling:e.querySelector(\"style\");e.insertBefore(n,r)}else if(\"host\"in e)if(Sf){const t=new CSSStyleSheet;t.replaceSync(o),e.adoptedStyleSheets=[t,...e.adoptedStyleSheets]}else{const t=e.querySelector(\"style\");t?t.innerHTML=o+t.innerHTML:e.prepend(n)}else e.append(n);1&t.$flags$&&\"HEAD\"!==e.nodeName&&e.insertBefore(n,null)}4&t.$flags$&&(n.innerHTML+=vf),s&&s.add(i)}}else e.adoptedStyleSheets.includes(o)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,o]);return i})(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);10&r&&2&r&&(n[\"s-sc\"]=o,n.classList.add(o+\"-h\")),i()},Qf=(e,t)=>\"sc-\"+e.$tagName$,Xf=(e,t,n,r,i,o)=>{if(n!==r){let s=pf(e,t),a=t.toLowerCase();if(\"class\"===t){const t=e.classList,i=tp(n),o=tp(r);t.remove(...i.filter((e=>e&&!o.includes(e)))),t.add(...o.filter((e=>e&&!i.includes(e))))}else if(\"style\"===t){for(const t in n)r&&null!=r[t]||(t.includes(\"-\")?e.style.removeProperty(t):e.style[t]=\"\");for(const t in r)n&&r[t]===n[t]||(t.includes(\"-\")?e.style.setProperty(t,r[t]):e.style[t]=r[t])}else if(s||\"o\"!==t[0]||\"n\"!==t[1]){const a=Pf(r);if((s||a&&null!==r)&&!i)try{if(e.tagName.includes(\"-\"))e[t]=r;else{const i=null==r?\"\":r;\"list\"===t?s=!1:null!=n&&e[t]==i||(\"function\"==typeof e.__lookupSetter__(t)?e[t]=i:e.setAttribute(t,i))}}catch(e){}null==r||!1===r?!1===r&&\"\"!==e.getAttribute(t)||e.removeAttribute(t):(!s||4&o||i)&&!a&&(r=!0===r?\"\":r,e.setAttribute(t,r))}else if(t=\"-\"===t[2]?t.slice(3):pf(bf,a)?a.slice(2):a[2]+t.slice(3),n||r){const i=t.endsWith(np);t=t.replace(rp,\"\"),n&&Ef.rel(e,t,n,i),r&&Ef.ael(e,t,r,i)}}},ep=/\\s/,tp=e=>e?e.split(ep):[],np=\"Capture\",rp=new RegExp(np+\"$\"),ip=(e,t,n)=>{const r=11===t.$elm$.nodeType&&t.$elm$.host?t.$elm$.host:t.$elm$,i=e&&e.$attrs$||Rf,o=t.$attrs$||Rf;for(const e of op(Object.keys(i)))e in o||Xf(r,e,i[e],void 0,n,t.$flags$);for(const e of op(Object.keys(o)))Xf(r,e,i[e],o[e],n,t.$flags$)};function op(e){return e.includes(\"ref\")?[...e.filter((e=>\"ref\"!==e)),\"ref\"]:e}var sp=!1,ap=!1,cp=(e,t,n,r)=>{const i=t.$children$[n];let o,s,a=0;if(null!==i.$text$)o=i.$elm$=wf.createTextNode(i.$text$);else{ap||(ap=\"svg\"===i.$tag$),o=i.$elm$=wf.createElementNS(ap?\"http://www.w3.org/2000/svg\":\"http://www.w3.org/1999/xhtml\",!sp&&cf&&2&i.$flags$?\"slot-fb\":i.$tag$),ap&&\"foreignObject\"===i.$tag$&&(ap=!1),ip(null,i,ap);if(!!o.getRootNode().querySelector(\"body\")&&af&&(e=>null!=e)($f)&&o[\"s-si\"]!==$f&&o.classList.add(o[\"s-si\"]=$f),i.$children$)for(a=0;a<i.$children$.length;++a)s=cp(e,i,a),s&&o.appendChild(s);\"svg\"===i.$tag$?ap=!1:\"foreignObject\"===o.tagName&&(ap=!0)}return o[\"s-hn\"]=Bf,o},lp=(e,t,n,r,i,o)=>{let s,a=e;for(a.shadowRoot&&a.tagName===Bf&&(a=a.shadowRoot);i<=o;++i)r[i]&&(s=cp(null,n,i),s&&(r[i].$elm$=s,fp(a,s,t)))},dp=(e,t,n)=>{for(let r=t;r<=n;++r){const t=e[r];if(t){const e=t.$elm$;e&&e.remove()}}},up=(e,t,n=!1)=>e.$tag$===t.$tag$,hp=(e,t,n=!1)=>{const r=t.$elm$=e.$elm$,i=e.$children$,o=t.$children$,s=t.$tag$,a=t.$text$;null===a?(ip(e,t,ap=\"svg\"===s||\"foreignObject\"!==s&&ap),null!==i&&null!==o?((e,t,n,r,i=!1)=>{let o,s=0,a=0,c=t.length-1,l=t[0],d=t[c],u=r.length-1,h=r[0],f=r[u];for(;s<=c&&a<=u;)null==l?l=t[++s]:null==d?d=t[--c]:null==h?h=r[++a]:null==f?f=r[--u]:up(l,h,i)?(hp(l,h,i),l=t[++s],h=r[++a]):up(d,f,i)?(hp(d,f,i),d=t[--c],f=r[--u]):up(l,f,i)?(hp(l,f,i),fp(e,l.$elm$,d.$elm$.nextSibling),l=t[++s],f=r[--u]):up(d,h,i)?(hp(d,h,i),fp(e,d.$elm$,l.$elm$),d=t[--c],h=r[++a]):(o=cp(t&&t[a],n,a),h=r[++a],o&&fp(l.$elm$.parentNode,o,l.$elm$));s>c?lp(e,null==r[u+1]?null:r[u+1].$elm$,n,r,a,u):a>u&&dp(t,s,c)})(r,i,t,o,n):null!==o?(null!==e.$text$&&(r.textContent=\"\"),lp(r,null,t,o,0,o.length-1)):!n&&lf&&null!==i&&dp(i,0,i.length-1),ap&&\"svg\"===s&&(ap=!1)):e.$text$!==a&&(r.data=a)},fp=(e,t,n)=>null==e?void 0:e.insertBefore(t,n),pp=(e,t,n=!1)=>{const r=e.$hostElement$,i=e.$cmpMeta$,o=e.$vnode$||Hf(null,null),s=(a=t)&&a.$tag$===Ff?t:Uf(null,null,t);var a;if(Bf=r.tagName,n&&s.$attrs$)for(const e of Object.keys(s.$attrs$))r.hasAttribute(e)&&![\"key\",\"ref\",\"style\",\"class\"].includes(e)&&(s.$attrs$[e]=r[e]);s.$tag$=null,s.$flags$|=4,e.$vnode$=s,s.$elm$=o.$elm$=r.shadowRoot||r,$f=r[\"s-sc\"],sp=0!=(1&i.$flags$),hp(o,s,n)},gp=(e,t)=>{t&&!e.$onRenderResolve$&&t[\"s-p\"]&&t[\"s-p\"].push(new Promise((t=>e.$onRenderResolve$=t)))},mp=(e,t)=>{if(e.$flags$|=16,4&e.$flags$)return void(e.$flags$|=512);gp(e,e.$ancestorComponent$);return Tf((()=>yp(e,t)))},yp=(e,t)=>{const n=e.$hostElement$,r=(e.$cmpMeta$.$tagName$,()=>{}),i=e.$lazyInstance$;if(!i)throw new Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \\`externalRuntime: true\\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);return r(),vp(undefined,(()=>wp(e,i,t)))},vp=(e,t)=>bp(e)?e.then(t).catch((e=>{console.error(e),t()})):t(),bp=e=>e instanceof Promise||e&&e.then&&\"function\"==typeof e.then,wp=async(e,t,n)=>{var r;const i=e.$hostElement$,o=(e.$cmpMeta$.$tagName$,()=>{}),s=i[\"s-rc\"];n&&Jf(e);const a=(e.$cmpMeta$.$tagName$,()=>{});Ep(e,t,i,n),s&&(s.map((e=>e())),i[\"s-rc\"]=void 0),a(),o();{const t=null!=(r=i[\"s-p\"])?r:[],n=()=>Sp(e);0===t.length?n():(Promise.all(t).then(n),e.$flags$|=4,t.length=0)}},Ep=(e,t,n,r)=>{try{t=t.render(),e.$flags$&=-17,e.$flags$|=2,pp(e,t,r)}catch(t){gf(t,e.$hostElement$)}return null},Sp=e=>{e.$cmpMeta$.$tagName$;const t=e.$hostElement$,n=()=>{},r=e.$lazyInstance$,i=e.$ancestorComponent$;64&e.$flags$?n():(e.$flags$|=64,kp(t),Cp(r,\"componentDidLoad\"),n(),e.$onReadyResolve$(t),i||_p()),e.$onRenderResolve$&&(e.$onRenderResolve$(),e.$onRenderResolve$=void 0),512&e.$flags$&&If((()=>mp(e,!1))),e.$flags$&=-517},_p=e=>{kp(wf.documentElement),If((()=>Yf(bf,\"appload\",{detail:{namespace:\"sdk-install-modal-web\"}})))},Cp=(e,t,n)=>{if(e&&e[t])try{return e[t](n)}catch(e){gf(e)}},kp=e=>{var t;return e.classList.add(null!=(t=sf)?t:\"hydrated\")},Ap=(e,t,n,r)=>{const i=hf(e);if(!i)throw new Error(`Couldn't find host element for \"${r.$tagName$}\" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`);const o=i.$hostElement$,s=i.$instanceValues$.get(t),a=i.$flags$,c=i.$lazyInstance$;var l,d;l=n,d=r.$members$[t][0],n=null==l||Pf(l)?l:4&d?\"false\"!==l&&(\"\"===l||!!l):1&d?String(l):l;const u=Number.isNaN(s)&&Number.isNaN(n);if((!(8&a)||void 0===s)&&(n!==s&&!u)&&(i.$instanceValues$.set(t,n),c)){if(r.$watchers$&&128&a){const e=r.$watchers$[t];e&&e.map((e=>{try{c[e](n,s,t)}catch(e){gf(e,o)}}))}2==(18&a)&&mp(i,!1)}},xp=(e,t,n)=>{var r,i;const o=e.prototype;if(t.$members$||t.$watchers$||e.watchers){e.watchers&&!t.$watchers$&&(t.$watchers$=e.watchers);const s=Object.entries(null!=(r=t.$members$)?r:{});if(s.map((([e,[r]])=>{(31&r||2&n&&32&r)&&Object.defineProperty(o,e,{get(){return t=e,hf(this).$instanceValues$.get(t);var t},set(n){Ap(this,e,n,t)},configurable:!0,enumerable:!0})})),1&n){const n=new Map;o.attributeChangedCallback=function(e,r,i){Ef.jmp((()=>{var s;const a=n.get(e);if(this.hasOwnProperty(a))i=this[a],delete this[a];else{if(o.hasOwnProperty(a)&&\"number\"==typeof this[a]&&this[a]==i)return;if(null==a){const n=hf(this),o=null==n?void 0:n.$flags$;if(o&&!(8&o)&&128&o&&i!==r){const o=n.$lazyInstance$,a=null==(s=t.$watchers$)?void 0:s[e];null==a||a.forEach((t=>{null!=o[t]&&o[t].call(o,i,r,e)}))}return}}this[a]=(null!==i||\"boolean\"!=typeof this[a])&&i}))},e.observedAttributes=Array.from(new Set([...Object.keys(null!=(i=t.$watchers$)?i:{}),...s.filter((([e,t])=>15&t[0])).map((([e,t])=>{const r=t[1]||e;return n.set(r,e),r}))]))}}return e},Mp=async(e,t,n,r)=>{let i;if(0==(32&t.$flags$)){t.$flags$|=32;if(n.$lazyBundleId$){const e=((e,t,n)=>{const r=e.$tagName$.replace(/-/g,\"_\"),i=e.$lazyBundleId$;if(!i)return;const o=mf.get(i);if(o)return o[r];{const e=e=>(mf.set(i,e),e[r]);if(\"mm-install-modal_3\"===i)return Promise.resolve().then((function(){return yg})).then(e,gf)}return import(/* webpackIgnore: true */\n/* @vite-ignore */\n/* webpackInclude: /\\.entry\\.js$/ */\n/* webpackExclude: /\\.system\\.entry\\.js$/ */\n/* webpackMode: \"lazy\" */\n`./${i}.entry.js`).then((e=>(mf.set(i,e),e[r])),gf)})(n);if(e&&\"then\"in e){const t=()=>{};i=await e,t()}else i=e;if(!i)throw new Error(`Constructor for \"${n.$tagName$}#${t.$modeName$}\" was not found`);i.isProxied||(n.$watchers$=i.watchers,xp(i,n,2),i.isProxied=!0);const r=(n.$tagName$,()=>{});t.$flags$|=8;try{new i(t)}catch(e){gf(e)}t.$flags$&=-9,t.$flags$|=128,r(),Ip(t.$lazyInstance$)}else{i=e.constructor;const n=e.localName;customElements.whenDefined(n).then((()=>t.$flags$|=128))}if(i&&i.style){let e;\"string\"==typeof i.style&&(e=i.style);const t=Qf(n);if(!yf.has(t)){const r=(n.$tagName$,()=>{});((e,t,n)=>{let r=yf.get(e);Sf&&n?(r=r||new CSSStyleSheet,\"string\"==typeof r?r=t:r.replaceSync(t)):r=t,yf.set(e,r)})(t,e,!!(1&n.$flags$)),r()}}}const o=t.$ancestorComponent$,s=()=>mp(t,!0);o&&o[\"s-rc\"]?o[\"s-rc\"].push(s):s()},Ip=e=>{Cp(e,\"connectedCallback\")},Tp=e=>{Cp(e,\"disconnectedCallback\")},Rp=(e,t={})=>{var n;const r=()=>{},i=[],o=t.exclude||[],s=bf.customElements,a=wf.head,c=a.querySelector(\"meta[charset]\"),l=wf.createElement(\"style\"),d=[];let u,h=!0;Object.assign(Ef,t),Ef.$resourcesUrl$=new URL(t.resourcesUrl||\"./\",wf.baseURI).href;let f=!1;if(e.map((e=>{e[1].map((t=>{var n;const r={$flags$:t[0],$tagName$:t[1],$members$:t[2],$listeners$:t[3]};4&r.$flags$&&(f=!0),r.$members$=t[2],r.$watchers$=null!=(n=t[4])?n:{};const a=r.$tagName$,c=class extends HTMLElement{constructor(e){if(super(e),this.hasRegisteredEventListeners=!1,((e,t)=>{const n={$flags$:0,$hostElement$:e,$cmpMeta$:t,$instanceValues$:new Map};n.$onReadyPromise$=new Promise((e=>n.$onReadyResolve$=e)),e[\"s-p\"]=[],e[\"s-rc\"]=[],uf.set(e,n)})(e=this,r),1&r.$flags$)if(e.shadowRoot){if(\"open\"!==e.shadowRoot.mode)throw new Error(`Unable to re-use existing shadow root for ${r.$tagName$}! Mode is set to ${e.shadowRoot.mode} but Stencil only supports open shadow roots.`)}else e.attachShadow({mode:\"open\"})}connectedCallback(){hf(this),this.hasRegisteredEventListeners||(this.hasRegisteredEventListeners=!0),u&&(clearTimeout(u),u=null),h?d.push(this):Ef.jmp((()=>(e=>{if(0==(1&Ef.$flags$)){const t=hf(e),n=t.$cmpMeta$,r=(n.$tagName$,()=>{});if(1&t.$flags$)(null==t?void 0:t.$lazyInstance$)?Ip(t.$lazyInstance$):(null==t?void 0:t.$onReadyPromise$)&&t.$onReadyPromise$.then((()=>Ip(t.$lazyInstance$)));else{t.$flags$|=1;{let n=e;for(;n=n.parentNode||n.host;)if(n[\"s-p\"]){gp(t,t.$ancestorComponent$=n);break}}n.$members$&&Object.entries(n.$members$).map((([t,[n]])=>{if(31&n&&e.hasOwnProperty(t)){const n=e[t];delete e[t],e[t]=n}})),Mp(e,t,n)}r()}})(this)))}disconnectedCallback(){Ef.jmp((()=>(async e=>{if(0==(1&Ef.$flags$)){const t=hf(e);(null==t?void 0:t.$lazyInstance$)?Tp(t.$lazyInstance$):(null==t?void 0:t.$onReadyPromise$)&&t.$onReadyPromise$.then((()=>Tp(t.$lazyInstance$)))}})(this)))}componentOnReady(){return hf(this).$onReadyPromise$}};r.$lazyBundleId$=e[0],o.includes(a)||s.get(a)||(i.push(a),s.define(a,xp(c,r,1)))}))})),i.length>0&&(f&&(l.textContent+=vf),l.textContent+=i.sort()+\"{visibility:hidden}.hydrated{visibility:inherit}\",l.innerHTML.length)){l.setAttribute(\"data-styles\",\"\");const e=null!=(n=Ef.$nonce$)?n:Of(wf);null!=e&&l.setAttribute(\"nonce\",e),a.insertBefore(l,c?c.nextSibling:a.firstChild)}h=!1,d.length?d.map((e=>e.connectedCallback())):Ef.jmp((()=>u=setTimeout(_p,30))),r()};!function(){if(\"undefined\"!=typeof window&&void 0!==window.Reflect&&void 0!==window.customElements){var e=HTMLElement;window.HTMLElement=function(){return Reflect.construct(e,[],this.constructor)},HTMLElement.prototype=e.prototype,HTMLElement.prototype.constructor=HTMLElement,Object.setPrototypeOf(HTMLElement,e)}}();var Pp=Object.freeze({__proto__:null,defineCustomElements:async(e,t)=>{if(\"undefined\"!=typeof window)return await void 0,Rp([[\"mm-install-modal_3\",[[1,\"mm-install-modal\",{link:[1],sdkVersion:[1,\"sdk-version\"],preferDesktop:[4,\"prefer-desktop\"],tab:[32],isDefaultTab:[32],translationsLoaded:[32]},null,{preferDesktop:[\"updatePreferDesktop\"]}],[1,\"mm-pending-modal\",{displayOTP:[4,\"display-o-t-p\"],sdkVersion:[1,\"sdk-version\"],otpCode:[1,\"otp-code\"],translationsLoaded:[32]}],[1,\"mm-select-modal\",{link:[1],sdkVersion:[1,\"sdk-version\"],preferDesktop:[4,\"prefer-desktop\"],tab:[32],isDefaultTab:[32],translationsLoaded:[32]},null,{preferDesktop:[\"updatePreferDesktop\"]}]]]],t)},setNonce:e=>Ef.$nonce$=e});const Op={fontFamily:\"Roboto, sans-serif\"},Np=({className:e},t)=>Uf(\"div\",{style:Op,class:e},t),Lp=({Icon:e,text:t})=>Uf(\"div\",{class:\"flexContainer\",style:{padding:\"6\",flexDirection:\"row\"}},Uf(\"div\",{class:\"flexItem1\"},Uf(e,null)),Uf(\"div\",{class:\"flexItem11\"},Uf(\"span\",{style:{lineHeight:\"2\",color:\"black\"}},t))),Dp=()=>Uf(\"svg\",{width:\"20\",height:\"18\",viewBox:\"0 0 20 18\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Uf(\"path\",{d:\"M20.0002 7.9702V10.0302C20.0002 10.5802 19.5602 11.0302 19.0002 11.0502H17.0402C15.9602 11.0502 14.9702 10.2602 14.8802 9.1802C14.8202 8.5502 15.0602 7.9602 15.4802 7.5502C15.8502 7.1702 16.3602 6.9502 16.9202 6.9502H19.0002C19.5602 6.9702 20.0002 7.4202 20.0002 7.9702Z\",fill:\"#037DD6\"}),Uf(\"path\",{d:\"M18.47 12.55H17.04C15.14 12.55 13.54 11.12 13.38 9.3C13.29 8.26 13.67 7.22 14.43 6.48C15.07 5.82 15.96 5.45 16.92 5.45H18.47C18.76 5.45 19 5.21 18.97 4.92C18.75 2.49 17.14 0.83 14.75 0.55C14.51 0.51 14.26 0.5 14 0.5H5C4.72 0.5 4.45 0.52 4.19 0.56C1.64 0.88 0 2.78 0 5.5V12.5C0 15.26 2.24 17.5 5 17.5H14C16.8 17.5 18.73 15.75 18.97 13.08C19 12.79 18.76 12.55 18.47 12.55ZM11 6.75H5C4.59 6.75 4.25 6.41 4.25 6C4.25 5.59 4.59 5.25 5 5.25H11C11.41 5.25 11.75 5.59 11.75 6C11.75 6.41 11.41 6.75 11 6.75Z\",fill:\"#037DD6\"})),$p=()=>Uf(\"svg\",{width:\"20\",height:\"18\",viewBox:\"0 0 20 18\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Uf(\"path\",{d:\"M14.44 0.0999756C12.63 0.0999756 11.01 0.979976 10 2.32998C8.99 0.979976 7.37 0.0999756 5.56 0.0999756C2.49 0.0999756 0 2.59998 0 5.68998C0 6.87998 0.19 7.97998 0.52 8.99998C2.1 14 6.97 16.99 9.38 17.81C9.72 17.93 10.28 17.93 10.62 17.81C13.03 16.99 17.9 14 19.48 8.99998C19.81 7.97998 20 6.87998 20 5.68998C20 2.59998 17.51 0.0999756 14.44 0.0999756Z\",fill:\"#037DD6\"})),Bp=()=>Uf(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 20 20\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Uf(\"path\",{d:\"M16.28 7.53V6.28C16.28 3.58 15.63 0 10 0C4.37 0 3.72 3.58 3.72 6.28V7.53C0.92 7.88 0 9.3 0 12.79V14.65C0 18.75 1.25 20 5.35 20H14.65C18.75 20 20 18.75 20 14.65V12.79C20 9.3 19.08 7.88 16.28 7.53ZM10 16.74C8.33 16.74 6.98 15.38 6.98 13.72C6.98 12.05 8.34 10.7 10 10.7C11.66 10.7 13.02 12.06 13.02 13.72C13.02 15.39 11.67 16.74 10 16.74ZM5.35 7.44C5.27 7.44 5.2 7.44 5.12 7.44V6.28C5.12 3.35 5.95 1.4 10 1.4C14.05 1.4 14.88 3.35 14.88 6.28V7.45C14.8 7.45 14.73 7.45 14.65 7.45H5.35V7.44Z\",fill:\"#037DD6\"})),Kp=()=>Uf(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Uf(\"path\",{d:\"M16.4405 8.8999C20.0405 9.2099 21.5105 11.0599 21.5105 15.1099V15.2399C21.5105 19.7099 19.7205 21.4999 15.2505 21.4999H8.74047C4.27047 21.4999 2.48047 19.7099 2.48047 15.2399V15.1099C2.48047 11.0899 3.93047 9.2399 7.47047 8.9099\",stroke:\"white\",\"stroke-width\":\"1.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Uf(\"path\",{d:\"M12 2V14.88\",stroke:\"white\",\"stroke-width\":\"1.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}),Uf(\"path\",{d:\"M15.3504 12.6499L12.0004 15.9999L8.65039 12.6499\",stroke:\"white\",\"stroke-width\":\"1.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}));function jp({version:e}){return Uf(\"div\",{style:{textAlign:\"center\",color:\"#BBC0C5\",fontSize:\"12\"}},\"SDK Version \",e?`v${e}`:\"unknown\")}const Up=()=>Uf(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 16 16\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Uf(\"rect\",{width:\"16\",height:\"16\",fill:\"white\"}),Uf(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M2.40554 2.40554C2.94627 1.86482 3.82296 1.86482 4.36369 2.40554L8 6.04186L11.6363 2.40554C12.177 1.86482 13.0537 1.86482 13.5945 2.40554C14.1352 2.94627 14.1352 3.82296 13.5945 4.36369L9.95814 8L13.5945 11.6363C14.1352 12.177 14.1352 13.0537 13.5945 13.5945C13.0537 14.1352 12.177 14.1352 11.6363 13.5945L8 9.95814L4.36369 13.5945C3.82296 14.1352 2.94627 14.1352 2.40554 13.5945C1.86482 13.0537 1.86482 12.177 2.40554 11.6363L6.04186 8L2.40554 4.36369C1.86482 3.82296 1.86482 2.94627 2.40554 2.40554Z\",fill:\"#BBC0C5\"})),Hp=()=>Uf(\"svg\",{width:\"120\",xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 127 63\"},Uf(\"path\",{fill:\"currentColor\",d:\"M71.554 48.607v13.81h-7.072v-9.568l-8.059.945c-1.77.205-2.548.79-2.548 1.864 0 1.575 1.478 2.239 4.648 2.239 1.932 0 4.073-.29 5.963-.79l-3.66 5.225c-1.479.332-2.92.496-4.44.496-6.414 0-10.074-2.57-10.074-7.132 0-4.023 2.877-6.136 9.416-6.884l8.638-1.012c-.467-2.532-2.362-3.633-6.13-3.633-3.537 0-7.443.912-10.937 2.613l1.111-6.18c3.248-1.369 6.95-2.074 10.69-2.074 8.226 0 12.461 3.444 12.461 10.075l-.008.005ZM7.938 31.315.208 62.416h7.73l3.836-15.628 6.65 8.039h8.06l6.65-8.039 3.836 15.628h7.73l-7.73-31.105-14.518 17.388L7.934 31.311l.004.004ZM36.97.21 22.452 17.598 7.938.21.208 31.315h7.73l3.836-15.628 6.65 8.039h8.06l6.65-8.039 3.836 15.628h7.73L36.97.21Zm53.17 48.107-6.25-.912c-1.562-.247-2.178-.747-2.178-1.617 0-1.41 1.52-2.032 4.647-2.032 3.62 0 6.868.747 10.283 2.364l-.862-6.094c-2.757-.995-5.922-1.491-9.212-1.491-7.688 0-11.886 2.696-11.886 7.547 0 3.776 2.303 5.889 7.196 6.636l6.335.954c1.603.248 2.261.87 2.261 1.865 0 1.41-1.478 2.074-4.481 2.074-3.948 0-8.225-.953-11.72-2.654l.7 6.094c3.003 1.122 6.91 1.785 10.57 1.785 7.896 0 12.007-2.78 12.007-7.715 0-3.94-2.303-6.057-7.4-6.8l-.01-.004ZM100.3 34.09v28.325h7.071V34.091H100.3Zm15.334 15.595 9.833-10.744h-8.8l-9.296 11.114 9.912 12.356h8.925l-10.574-12.73v.004Zm-16.321-25.09c0 4.56 3.66 7.13 10.074 7.13 1.52 0 2.961-.167 4.44-.495l3.66-5.225c-1.89.496-4.031.79-5.963.79-3.166 0-4.648-.664-4.648-2.239 0-1.079.783-1.659 2.549-1.864l8.058-.945v9.567h7.072v-13.81c0-6.635-4.236-10.075-12.461-10.075-3.744 0-7.442.705-10.691 2.075l-1.112 6.178c3.495-1.701 7.401-2.613 10.937-2.613 3.769 0 5.664 1.1 6.13 3.633l-8.637 1.013c-6.539.747-9.417 2.86-9.417 6.883l.009-.004Zm-19.779-1.492c0 5.725 3.29 8.627 9.787 8.627 2.59 0 4.732-.416 6.785-1.37l.903-6.261c-1.974 1.2-3.99 1.822-6.005 1.822-3.044 0-4.402-1.243-4.402-4.023v-8.295h10.732V7.84H86.601V2.948l-13.448 7.174v3.482h6.372V23.1l.008.004Zm-6.95-2.612v1.411H53.47c.862 2.873 3.423 4.187 7.97 4.187 3.62 0 6.993-.747 9.992-2.196l-.862 6.056c-2.757 1.16-6.251 1.785-9.829 1.785-9.5 0-14.68-4.23-14.68-12.066 0-7.838 5.264-12.235 13.406-12.235s13.119 4.771 13.119 13.062l-.005-.004ZM53.378 17.09h12.086c-.637-2.751-2.732-4.188-6.08-4.188-3.349 0-5.335 1.399-6.006 4.188Z\"}));function Fp(e,t){return e.toString(2).padStart(t,\"0\")}function zp(e,t){const n=e%t;return n>=0?n:t+n}function qp(e,t){return new Array(e).fill(t)}function Wp(...e){let t=0;for(const n of e)t=Math.max(t,n.length);const n=[];for(let r=0;r<t;r++)for(const t of e)r>=t.length||n.push(t[r]);return new Uint8Array(n)}function Vp(e,t,n){if(n<0||n+t.length>e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[n+r])return!1;return!0}function Gp(e){return{has:t=>e.includes(t),decode:t=>{if(!Array.isArray(t)||t.length&&\"string\"!=typeof t[0])throw new Error(\"alphabet.decode input should be array of strings\");return t.map((t=>{if(\"string\"!=typeof t)throw new Error(`alphabet.decode: not string element=${t}`);const n=e.indexOf(t);if(-1===n)throw new Error(`Unknown letter: \"${t}\". Allowed: ${e}`);return n}))},encode:t=>{if(!Array.isArray(t)||t.length&&\"number\"!=typeof t[0])throw new Error(\"alphabet.encode input should be an array of numbers\");return t.map((t=>{if(function(e){if(!Number.isSafeInteger(e))throw new Error(`Wrong integer: ${e}`)}(t),t<0||t>=e.length)throw new Error(`Digit index outside alphabet: ${t} (alphabet: ${e.length})`);return e[t]}))}}}class Yp{static size(e,t){if(\"number\"==typeof e&&(e={height:e,width:e}),!Number.isSafeInteger(e.height)&&e.height!==1/0)throw new Error(`Bitmap: wrong height=${e.height} (${typeof e.height})`);if(!Number.isSafeInteger(e.width)&&e.width!==1/0)throw new Error(`Bitmap: wrong width=${e.width} (${typeof e.width})`);return void 0!==t&&(e={width:Math.min(e.width,t.width),height:Math.min(e.height,t.height)}),e}static fromString(e){const t=(e=e.replace(/^\\n+/g,\"\").replace(/\\n+$/g,\"\")).split(\"\\n\"),n=t.length,r=new Array(n);let i;for(const e of t){const t=e.split(\"\").map((e=>{if(\"X\"===e)return!0;if(\" \"===e)return!1;if(\"?\"!==e)throw new Error(`Bitmap.fromString: unknown symbol=${e}`)}));if(i&&t.length!==i)throw new Error(`Bitmap.fromString different row sizes: width=${i} cur=${t.length}`);i=t.length,r.push(t)}return i||(i=0),new Yp({height:n,width:i},r)}constructor(e,t){const{height:n,width:r}=Yp.size(e);this.data=t||Array.from({length:n},(()=>qp(r,void 0))),this.height=n,this.width=r}point(e){return this.data[e.y][e.x]}isInside(e){return 0<=e.x&&e.x<this.width&&0<=e.y&&e.y<this.height}size(e){if(!e)return{height:this.height,width:this.width};const{x:t,y:n}=this.xy(e);return{height:this.height-n,width:this.width-t}}xy(e){if(\"number\"==typeof e&&(e={x:e,y:e}),!Number.isSafeInteger(e.x))throw new Error(`Bitmap: wrong x=${e.x}`);if(!Number.isSafeInteger(e.y))throw new Error(`Bitmap: wrong y=${e.y}`);return e.x=zp(e.x,this.width),e.y=zp(e.y,this.height),e}rect(e,t,n){const{x:r,y:i}=this.xy(e),{height:o,width:s}=Yp.size(t,this.size({x:r,y:i}));for(let e=0;e<o;e++)for(let t=0;t<s;t++)this.data[i+e][r+t]=\"function\"==typeof n?n({x:t,y:e},this.data[i+e][r+t]):n;return this}rectRead(e,t,n){return this.rect(e,t,((e,t)=>(n(e,t),t)))}hLine(e,t,n){return this.rect(e,{width:t,height:1},n)}vLine(e,t,n){return this.rect(e,{width:1,height:t},n)}border(e=2,t){const n=this.height+2*e,r=this.width+2*e,i=qp(e,t),o=Array.from({length:e},(()=>qp(r,t)));return new Yp({height:n,width:r},[...o,...this.data.map((e=>[...i,...e,...i])),...o])}embed(e,t){return this.rect(e,t.size(),(({x:e,y:n})=>t.data[n][e]))}rectSlice(e,t=this.size()){const n=new Yp(Yp.size(t,this.size(this.xy(e))));return this.rect(e,t,(({x:e,y:t},r)=>n.data[t][e]=r)),n}inverse(){const{height:e,width:t}=this;return new Yp({height:t,width:e}).rect({x:0,y:0},1/0,(({x:e,y:t})=>this.data[e][t]))}scale(e){if(!Number.isSafeInteger(e)||e>1024)throw new Error(`Wrong scale factor: ${e}`);const{height:t,width:n}=this;return new Yp({height:e*t,width:e*n}).rect({x:0,y:0},1/0,(({x:t,y:n})=>this.data[Math.floor(n/e)][Math.floor(t/e)]))}clone(){return new Yp(this.size()).rect({x:0,y:0},this.size(),(({x:e,y:t})=>this.data[t][e]))}assertDrawn(){this.rectRead(0,1/0,((e,t)=>{if(\"boolean\"!=typeof t)throw new Error(\"Invalid color type=\"+typeof t)}))}toString(){return this.data.map((e=>e.map((e=>void 0===e?\"?\":e?\"X\":\" \")).join(\"\"))).join(\"\\n\")}toASCII(){const{height:e,width:t,data:n}=this;let r=\"\";for(let i=0;i<e;i+=2){for(let o=0;o<t;o++){const t=n[i][o],s=i+1>=e||n[i+1][o];t||s?!t&&s?r+=\"▀\":t&&!s?r+=\"▄\":t&&s&&(r+=\" \"):r+=\"█\"}r+=\"\\n\"}return r}toTerm(){const e=\"\u001b[0m\",t=`\u001b[1;47m ${e}`,n=`\u001b[40m ${e}`;return this.data.map((e=>e.map((e=>e?n:t)).join(\"\"))).join(\"\\n\")}toSVG(){let e=`<svg xmlns:svg=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 ${this.width} ${this.height}\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">`;return this.rectRead(0,1/0,(({x:t,y:n},r)=>{r&&(e+=`<rect x=\"${t}\" y=\"${n}\" width=\"1\" height=\"1\" />`)})),e+=\"</svg>\",e}toGIF(){const e=e=>[255&e,e>>>8&255],t=[...e(this.width),...e(this.height)],n=[];this.rectRead(0,1/0,((e,t)=>n.push(+(!0===t))));const r=126,i=[71,73,70,56,55,97,...t,246,0,0,255,255,255,...qp(381,0),44,0,0,0,0,...t,0,7],o=Math.floor(n.length/r);for(let e=0;e<o;e++)i.push(127,128,...n.slice(r*e,r*(e+1)).map((e=>+e)));return i.push(n.length%r+1,128,...n.slice(o*r).map((e=>+e))),i.push(1,129,0,59),new Uint8Array(i)}toImage(e=!1){const{height:t,width:n}=this.size(),r=new Uint8Array(t*n*(e?3:4));let i=0;for(let o=0;o<t;o++)for(let t=0;t<n;t++){const n=this.data[o][t]?0:255;r[i++]=n,r[i++]=n,r[i++]=n,e||(r[i++]=255)}return{height:t,width:n,data:r}}}const Zp=[\"low\",\"medium\",\"quartile\",\"high\"],Jp=[\"numeric\",\"alphanumeric\",\"byte\",\"kanji\",\"eci\"],Qp=[26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706],Xp={low:[7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],medium:[10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],quartile:[13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],high:[17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]},eg={low:[1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],medium:[1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],quartile:[1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],high:[1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]},tg={size:{encode:e=>21+4*(e-1),decode:e=>(e-17)/4},sizeType:e=>Math.floor((e+7)/17),alignmentPatterns(e){if(1===e)return[];const t=tg.size.encode(e)-6-1,n=t-6,r=Math.ceil(n/28);let i=Math.floor(n/r);i%2?i+=1:n%r*2>=r&&(i+=2);const o=[6];for(let e=1;e<r;e++)o.push(t-(r-e)*i);return o.push(t),o},ECCode:{low:1,medium:0,quartile:3,high:2},formatMask:21522,formatBits(e,t){const n=tg.ECCode[e]<<3|t;let r=n;for(let e=0;e<10;e++)r=r<<1^1335*(r>>9);return(n<<10|r)^tg.formatMask},versionBits(e){let t=e;for(let e=0;e<12;e++)t=t<<1^7973*(t>>11);return e<<12|t},alphabet:{numeric:Gp(\"0123456789\"),alphanumerc:Gp(\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:\")},lengthBits:(e,t)=>({numeric:[10,12,14],alphanumeric:[9,11,13],byte:[8,16,16],kanji:[8,10,12],eci:[0,0,0]}[t][tg.sizeType(e)]),modeBits:{numeric:\"0001\",alphanumeric:\"0010\",byte:\"0100\",kanji:\"1000\",eci:\"0111\"},capacity(e,t){const n=Qp[e-1],r=Xp[t][e-1],i=eg[t][e-1],o=Math.floor(n/i)-r,s=i-n%i;return{words:r,numBlocks:i,shortBlocks:s,blockLen:o,capacity:8*(n-r*i),total:(r+o)*i+i-s}}},ng=[(e,t)=>(e+t)%2==0,(e,t)=>t%2==0,(e,t)=>e%3==0,(e,t)=>(e+t)%3==0,(e,t)=>(Math.floor(t/2)+Math.floor(e/3))%2==0,(e,t)=>e*t%2+e*t%3==0,(e,t)=>(e*t%2+e*t%3)%2==0,(e,t)=>((e+t)%2+e*t%3)%2==0],rg={tables:(e=>{const t=qp(256,0),n=qp(256,0);for(let e=0,r=1;e<256;e++)t[e]=r,n[r]=e,r<<=1,256&r&&(r^=285);return{exp:t,log:n}})(),exp:e=>rg.tables.exp[e],log(e){if(0===e)throw new Error(`GF.log: wrong arg=${e}`);return rg.tables.log[e]%255},mul:(e,t)=>0===e||0===t?0:rg.tables.exp[(rg.tables.log[e]+rg.tables.log[t])%255],add:(e,t)=>e^t,pow:(e,t)=>rg.tables.exp[rg.tables.log[e]*t%255],inv(e){if(0===e)throw new Error(`GF.inverse: wrong arg=${e}`);return rg.tables.exp[255-rg.tables.log[e]]},polynomial(e){if(0==e.length)throw new Error(\"GF.polymomial: wrong length\");if(0!==e[0])return e;let t=0;for(;t<e.length-1&&0==e[t];t++);return e.slice(t)},monomial(e,t){if(e<0)throw new Error(`GF.monomial: wrong degree=${e}`);if(0==t)return[0];let n=qp(e+1,0);return n[0]=t,rg.polynomial(n)},degree:e=>e.length-1,coefficient:(e,t)=>e[rg.degree(e)-t],mulPoly(e,t){if(0===e[0]||0===t[0])return[0];const n=qp(e.length+t.length-1,0);for(let r=0;r<e.length;r++)for(let i=0;i<t.length;i++)n[r+i]=rg.add(n[r+i],rg.mul(e[r],t[i]));return rg.polynomial(n)},mulPolyScalar(e,t){if(0==t)return[0];if(1==t)return e;const n=qp(e.length,0);for(let r=0;r<e.length;r++)n[r]=rg.mul(e[r],t);return rg.polynomial(n)},mulPolyMonomial(e,t,n){if(t<0)throw new Error(\"GF.mulPolyMonomial: wrong degree\");if(0==n)return[0];const r=qp(e.length+t,0);for(let t=0;t<e.length;t++)r[t]=rg.mul(e[t],n);return rg.polynomial(r)},addPoly(e,t){if(0===e[0])return t;if(0===t[0])return e;let n=e,r=t;n.length>r.length&&([n,r]=[r,n]);let i=qp(r.length,0),o=r.length-n.length,s=r.slice(0,o);for(let e=0;e<s.length;e++)i[e]=s[e];for(let e=o;e<r.length;e++)i[e]=rg.add(n[e-o],r[e]);return rg.polynomial(i)},remainderPoly(e,t){const n=Array.from(e);for(let r=0;r<e.length-t.length+1;r++){const e=n[r];if(0!==e)for(let i=1;i<t.length;i++)0!==t[i]&&(n[r+i]=rg.add(n[r+i],rg.mul(t[i],e)))}return n.slice(e.length-t.length+1,n.length)},divisorPoly(e){let t=[1];for(let n=0;n<e;n++)t=rg.mulPoly(t,[1,rg.pow(2,n)]);return t},evalPoly(e,t){if(0==t)return rg.coefficient(e,0);let n=e[0];for(let r=1;r<e.length;r++)n=rg.add(rg.mul(t,n),e[r]);return n},euclidian(e,t,n){rg.degree(e)<rg.degree(t)&&([e,t]=[t,e]);let r=e,i=t,o=[0],s=[1];for(;2*rg.degree(i)>=n;){let e=r,t=o;if(r=i,o=s,0===r[0])throw new Error(\"rLast[0] === 0\");i=e;let n=[0];const a=rg.inv(r[0]);for(;rg.degree(i)>=rg.degree(r)&&0!==i[0];){const e=rg.degree(i)-rg.degree(r),t=rg.mul(i[0],a);n=rg.addPoly(n,rg.monomial(e,t)),i=rg.addPoly(i,rg.mulPolyMonomial(r,e,t))}if(n=rg.mulPoly(n,o),s=rg.addPoly(n,t),rg.degree(i)>=rg.degree(r))throw new Error(`Division failed r: ${i}, rLast: ${r}`)}const a=rg.coefficient(s,0);if(0==a)throw new Error(\"sigmaTilde(0) was zero\");const c=rg.inv(a);return[rg.mulPolyScalar(s,c),rg.mulPolyScalar(i,c)]}};function ig(e,t){const{words:n,shortBlocks:r,numBlocks:i,blockLen:o,total:s}=tg.capacity(e,t),a=(c=n,{encode(e){const t=rg.divisorPoly(c),n=Array.from(e);return n.push(...t.slice(0,-1).fill(0)),Uint8Array.from(rg.remainderPoly(n,t))},decode(e){const t=e.slice(),n=rg.polynomial(Array.from(e));let r=qp(c,0),i=!1;for(let e=0;e<c;e++){const t=rg.evalPoly(n,rg.exp(e));r[r.length-1-e]=t,0!==t&&(i=!0)}if(!i)return t;r=rg.polynomial(r);const o=rg.monomial(c,1),[s,a]=rg.euclidian(o,r,c),l=qp(rg.degree(s),0);let d=0;for(let e=1;e<256&&d<l.length;e++)0===rg.evalPoly(s,e)&&(l[d++]=rg.inv(e));if(d!==l.length)throw new Error(\"RS.decode: wrong errors number\");for(let e=0;e<l.length;e++){const n=t.length-1-rg.log(l[e]);if(n<0)throw new Error(\"RS.decode: wrong error location\");const r=rg.inv(l[e]);let i=1;for(let t=0;t<l.length;t++)e!==t&&(i=rg.mul(i,rg.add(1,rg.mul(l[t],r))));t[n]=rg.add(t[n],rg.mul(rg.evalPoly(a,r),rg.inv(i)))}return t}});var c;return{encode(e){const t=[],n=[];for(let s=0;s<i;s++){const i=o+(s<r?0:1);t.push(e.subarray(0,i)),n.push(a.encode(e.subarray(0,i))),e=e.subarray(i)}const s=Wp(...t),c=Wp(...n),l=new Uint8Array(s.length+c.length);return l.set(s),l.set(c,s.length),l},decode(e){if(e.length!==s)throw new Error(`interleave.decode: len(data)=${e.length}, total=${s}`);const t=[];for(let e=0;e<i;e++){const i=e<r;t.push(new Uint8Array(n+o+(i?0:1)))}let c=0;for(let n=0;n<o;n++)for(let r=0;r<i;r++)t[r][n]=e[c++];for(let n=r;n<i;n++)t[n][o]=e[c++];for(let s=o;s<o+n;s++)for(let n=0;n<i;n++){const i=n<r;t[n][s+(i?0:1)]=e[c++]}const l=[];for(const e of t)l.push(...Array.from(a.decode(e)).slice(0,-n));return Uint8Array.from(l)}}}function og(e,t,n,r){let i=\"\",o=n.length;if(\"numeric\"===r){const e=tg.alphabet.numeric.decode(n.split(\"\")),t=e.length;for(let n=0;n<t-2;n+=3)i+=Fp(100*e[n]+10*e[n+1]+e[n+2],10);t%3==1?i+=Fp(e[t-1],4):t%3==2&&(i+=Fp(10*e[t-2]+e[t-1],7))}else if(\"alphanumeric\"===r){const e=tg.alphabet.alphanumerc.decode(n.split(\"\")),t=e.length;for(let n=0;n<t-1;n+=2)i+=Fp(45*e[n]+e[n+1],11);t%2==1&&(i+=Fp(e[t-1],6))}else{if(\"byte\"!==r)throw new Error(\"encode: unsupported type\");{const e=function(e){if(\"string\"!=typeof e)throw new Error(\"utf8ToBytes expected string, got \"+typeof e);return new Uint8Array((new TextEncoder).encode(e))}(n);o=e.length,i=Array.from(e).map((e=>Fp(e,8))).join(\"\")}}const{capacity:s}=tg.capacity(e,t),a=Fp(o,tg.lengthBits(e,r));let c=tg.modeBits[r]+a+i;if(c.length>s)throw new Error(\"Capacity overflow\");c+=\"0\".repeat(Math.min(4,Math.max(0,s-c.length))),c.length%8&&(c+=\"0\".repeat(8-c.length%8));const l=\"1110110000010001\";for(let e=0;c.length!==s;e++)c+=l[e%16];const d=Uint8Array.from(c.match(/(.{8})/g).map((e=>Number(`0b${e}`))));return ig(e,t).encode(d)}function sg(e,t,n,r,i=!1){const o=function(e,t,n,r=!1){const i=tg.size.encode(e);let o=new Yp(i+2);const s=new Yp(3).rect(0,3,!0).border(1,!1).border(1,!0).border(1,!1);o=o.embed(0,s).embed({x:-s.width,y:0},s).embed({x:0,y:-s.height},s),o=o.rectSlice(1,i);const a=new Yp(1).rect(0,1,!0).border(1,!1).border(1,!0),c=tg.alignmentPatterns(e);for(const e of c)for(const t of c)void 0===o.data[e][t]&&o.embed({x:t-2,y:e-2},a);o=o.hLine({x:0,y:6},1/0,(({x:e},t)=>void 0===t?e%2==0:t)).vLine({x:6,y:0},1/0,(({y:e},t)=>void 0===t?e%2==0:t));{const e=tg.formatBits(t,n),s=t=>!r&&1==(e>>t&1);for(let e=0;e<6;e++)o.data[e][8]=s(e);for(let e=6;e<8;e++)o.data[e+1][8]=s(e);for(let e=8;e<15;e++)o.data[i-15+e][8]=s(e);for(let e=0;e<8;e++)o.data[8][i-e-1]=s(e);for(let e=8;e<9;e++)o.data[8][15-e-1+1]=s(e);for(let e=9;e<15;e++)o.data[8][15-e-1]=s(e);o.data[i-8][8]=!r}if(e>=7){const t=tg.versionBits(e);for(let e=0;e<18;e+=1){const n=!r&&1==(t>>e&1),s=Math.floor(e/3),a=e%3+i-8-3;o.data[s][a]=n,o.data[a][s]=n}}return o}(e,t,r,i);let s=0;const a=8*n.length;if(function(e,t,n){const r=e.height,i=ng[t];let o=-1,s=r-1;for(let t=r-1;t>0;t-=2){for(6==t&&(t=5);;s+=o){for(let r=0;r<2;r+=1){const o=t-r;void 0===e.data[s][o]&&n(o,s,i(o,s))}if(s+o<0||s+o>=r)break}o=-o}}(o,r,((e,t,r)=>{let i=!1;s<a&&(i=0!=(n[s>>>3]>>(7-s&7)&1),s++),o.data[t][e]=i!==r})),s!==a)throw new Error(\"QR: bytes left after draw\");return o}function ag(e){const t=e.inverse(),n=e=>{let t=0;for(let n,r=0,i=1;r<e.length;r++)n===e[r]&&(i++,r!==e.length-1)||(i>=5&&(t+=i-5+3),n=e[r],i=1);return t};let r=0;e.data.forEach((e=>r+=n(e))),t.data.forEach((e=>r+=n(e)));let i=0,o=e.data;const s=e.width-1,a=e.height-1;for(let e=0;e<s;e++)for(let t=0;t<a;t++){const n=e+1,r=t+1;o[e][t]===o[n][t]&&o[n][t]===o[e][r]&&o[n][t]===o[n][r]&&(i+=3)}const c=e=>{const t=[!0,!1,!0,!0,!0,!1,!0],n=[!1,!1,!1,!1],r=[...t,...n],i=[...n,...t];let o=0;for(let t=0;t<e.length;t++)Vp(e,r,t)&&(o+=40),Vp(e,i,t)&&(o+=40);return o};let l=0;for(const t of e.data)l+=c(t);for(const e of t.data)l+=c(e);let d=0;e.rectRead(0,1/0,((e,t)=>d+=t?1:0));const u=d/(e.height*e.width)*100,h=10*Math.floor(Math.abs(u-50)/5);return r+i+l+h}function cg(e,t=\"raw\",n={}){const r=void 0!==n.ecc?n.ecc:\"medium\";!function(e){if(!Zp.includes(e))throw new Error(`Invalid error correction mode=${e}. Expected: ${Zp}`)}(r);const i=void 0!==n.encoding?n.encoding:function(e){let t=\"numeric\";for(let n of e)if(!tg.alphabet.numeric.has(n)&&(t=\"alphanumeric\",!tg.alphabet.alphanumerc.has(n)))return\"byte\";return t}(e);!function(e){if(!Jp.includes(e))throw new Error(`Encoding: invalid mode=${e}. Expected: ${Jp}`);if(\"kanji\"===e||\"eci\"===e)throw new Error(`Encoding: ${e} is not supported (yet?).`)}(i),void 0!==n.mask&&function(e){if(![0,1,2,3,4,5,6,7].includes(e)||!ng[e])throw new Error(`Invalid mask=${e}. Expected number [0..7]`)}(n.mask);let o,s=n.version,a=new Error(\"Unknown error\");if(void 0!==s)!function(e){if(!Number.isSafeInteger(e)||e<1||e>40)throw new Error(`Invalid version=${e}. Expected number [1..40]`)}(s),o=og(s,r,e,i);else for(let t=1;t<=40;t++)try{o=og(t,r,e,i),s=t;break}catch(e){a=e}if(!s||!o)throw a;let c=function(e,t,n,r){if(void 0===r){const i=function(){let e,t=1/0;return{add(n,r){n>=t||(e=r,t=n)},get:()=>e,score:()=>t}}();for(let r=0;r<ng.length;r++)i.add(ag(sg(e,t,n,r,!0)),r);r=i.get()}if(void 0===r)throw new Error(\"Cannot find mask\");return sg(e,t,n,r)}(s,r,o,n.mask);c.assertDrawn();const l=void 0===n.border?2:n.border;if(!Number.isSafeInteger(l))throw new Error(\"Wrong border type=\"+typeof l);if(c=c.border(l,!1),void 0!==n.scale&&(c=c.scale(n.scale)),\"raw\"===t)return c.data;if(\"ascii\"===t)return c.toASCII();if(\"svg\"===t)return c.toSVG();if(\"gif\"===t)return c.toGIF();if(\"term\"===t)return c.toTerm();throw new Error(`Unknown output: ${t}`)}const lg={DESKTOP:\"Desktop\",MOBILE:\"Mobile\",META_MASK_MOBILE_APP:\"MetaMask mobile app\",SCAN_TO_CONNECT:\"Scan to connect and sign with\",CONNECT_WITH_EXTENSION:\"Connect With MetaMask Extension\",INSTALL_MODAL:{TRUSTED_BY_USERS:\"Trusted by over 30 million users to buy, store, send and swap crypto securely\",LEADING_CRYPTO_WALLET:\"The leading crypto wallet & gateway to blockchain apps built on Ethereum Mainnet, Polygon, Optimism, and many other networks\",CONTROL_DIGITAL_INTERACTIONS:\"Puts you in control of your digital interactions by making power of cryptography more accessible\",INSTALL_META_MASK_EXTENSION:\"Install MetaMask Extension\"},PENDING_MODAL:{OPEN_META_MASK_SELECT_CODE:\"Please open the MetaMask wallet app and select the code on the screen OR disconnect\",OPEN_META_MASK_CONTINUE:\"Open the MetaMask app to continue with your session.\",NUMBER_AFTER_OPEN_NOTICE:\"If a number doesn't appear after opening MetaMask, please click disconnect and re-scan the QRCode.\",DISCONNECT:\"Disconnect\"},SELECT_MODAL:{CRYPTO_TAKE_CONTROL_TEXT:\"Take control of your crypto and explore the blockchain with the wallet trusted by over 30 million people worldwide\"},META_MASK_MODAL:{ADDRESS_COPIED:\"Address copied to clipboard!\",DISCONNECT:\"Disconnect\",ACTIVE_NETWORK:\"Active Network\"}};class dg{constructor(e){var t;this.translations=lg,this.supportedLocales=[\"es\",\"fr\",\"he\",\"it\",\"pt\",\"tr\"],this.baseUrl=null!==(t=null==e?void 0:e.baseUrl)&&void 0!==t?t:\"https://raw.githubusercontent.com/MetaMask/metamask-sdk/refs/heads/gh-pages/locales\"}getBrowserLanguage(){if((navigator.languages||[navigator.language]).some((e=>e.toLowerCase().startsWith(\"en\"))))return\"en\";const e=navigator.language.toLowerCase().split(\"-\")[0];return this.supportedLocales.includes(e)?e:\"en\"}async init(e){const t=this.getBrowserLanguage()||e.fallbackLng;await this.loadTranslations(t)}async loadTranslations(e){const t=e.split(\"-\")[0];if(\"en\"!==t&&this.supportedLocales.includes(t))try{const e=`${this.baseUrl}/${t}.json`,n=await fetch(e);if(!n.ok)throw new Error(`HTTP error! status: ${n.status}`);this.translations=await n.json()}catch(e){console.warn(`❌ Failed to load ${t} translations, falling back to English:`,e),this.translations=lg}else this.translations=lg}t(e){return this.getNestedTranslation(e,this.translations)||e}getNestedTranslation(e,t){const n=e.split(\".\");let r=t;for(const e of n){if(\"object\"!=typeof r)return\"\";r=r[e]}return\"string\"==typeof r?r:\"\"}}var ug;!function(e){e.SDK_MODAL_VIEWED=\"sdk_modal_viewed\",e.SDK_MODAL_BUTTON_CLICKED=\"sdk_modal_button_clicked\",e.SDK_MODAL_TOGGLE_CHANGED=\"sdk_modal_toggle_changed\"}(ug||(ug={}));const hg=class{constructor(e){ff(this,e),this.close=Gf(this,\"close\",7),this.startDesktopOnboarding=Gf(this,\"startDesktopOnboarding\",7),this.trackAnalytics=Gf(this,\"trackAnalytics\",7),this.link=void 0,this.sdkVersion=void 0,this.preferDesktop=void 0,this.tab=1,this.isDefaultTab=!0,this.translationsLoaded=!1,this.onClose=this.onClose.bind(this),this.onStartDesktopOnboardingHandler=this.onStartDesktopOnboardingHandler.bind(this),this.setTab=this.setTab.bind(this),this.render=this.render.bind(this),this.setTab(this.preferDesktop?1:2),this.i18nInstance=new dg}componentDidLoad(){this.trackAnalytics.emit({event:ug.SDK_MODAL_VIEWED,params:{extensionInstalled:!1,tab:1===this.tab?\"desktop\":\"mobile\"}})}async connectedCallback(){await this.i18nInstance.init({fallbackLng:\"en\"}),this.translationsLoaded=!0}updatePreferDesktop(e){e?this.setTab(1):this.setTab(2)}onClose(e=!1){this.close.emit({shouldTerminate:e})}onStartDesktopOnboardingHandler(){this.trackAnalytics.emit({event:ug.SDK_MODAL_BUTTON_CLICKED,params:{button_type:\"install_extension\",tab:\"desktop\"}}),this.startDesktopOnboarding.emit()}setTab(e,t=!1){t&&this.trackAnalytics.emit({event:ug.SDK_MODAL_TOGGLE_CHANGED,params:{toggle:1===this.tab?\"desktop_to_mobile\":\"mobile_to_desktop\"}}),this.tab=e,this.isDefaultTab=!1}render(){if(!this.translationsLoaded)return null;const e=e=>this.i18nInstance.t(e),t=this.isDefaultTab?this.preferDesktop?1:2:this.tab,n=cg(this.link,\"svg\",{ecc:\"medium\",scale:2});return Uf(Np,{className:\"install-model\"},Uf(\"div\",{class:\"backdrop\",onClick:()=>this.onClose(!0)}),Uf(\"div\",{class:\"modal\"},Uf(\"div\",{class:\"closeButtonContainer\"},Uf(\"div\",{class:\"right\"},Uf(\"span\",{class:\"closeButton\",onClick:()=>this.onClose(!0)},Uf(Up,null)))),Uf(\"div\",{class:\"logoContainer\"},Uf(Hp,null)),Uf(\"div\",null,Uf(\"div\",{class:\"tabcontainer\"},Uf(\"div\",{class:\"flexContainer\"},Uf(\"div\",{onClick:()=>this.setTab(1,!0),class:\"tab flexItem \"+(1===t?\"tabactive\":\"\")},e(\"DESKTOP\")),Uf(\"div\",{onClick:()=>this.setTab(2,!0),class:\"tab flexItem \"+(2===t?\"tabactive\":\"\")},e(\"MOBILE\")))),Uf(\"div\",{style:{display:1===t?\"none\":\"block\"}},Uf(\"div\",{class:\"flexContainer\"},Uf(\"div\",{class:\"flexItem\",style:{textAlign:\"center\",marginTop:\"4\"}},n&&Uf(\"div\",{id:\"sdk-mm-qrcode\",class:\"center\",innerHTML:n}),Uf(\"div\",{class:\"connectMobileText\"},e(\"SCAN_TO_CONNECT\"),\" \",Uf(\"br\",null),Uf(\"span\",{class:\"blue\"},Uf(\"b\",null,e(\"META_MASK_MOBILE_APP\"))))))),Uf(\"div\",{style:{display:2===t?\"none\":\"block\"}},Uf(\"div\",{class:\"item\"},Uf(Lp,{Icon:$p,text:e(\"INSTALL_MODAL.TRUSTED_BY_USERS\")})),Uf(\"div\",{class:\"item\"},Uf(Lp,{Icon:Dp,text:e(\"INSTALL_MODAL.LEADING_CRYPTO_WALLET\")})),Uf(\"div\",{class:\"item\"},Uf(Lp,{Icon:Bp,text:e(\"INSTALL_MODAL.CONTROL_DIGITAL_INTERACTIONS\")})),Uf(\"button\",{class:\"button\",onClick:()=>this.onStartDesktopOnboardingHandler()},Uf(Kp,null),Uf(\"span\",{class:\"installExtensionText\"},e(\"INSTALL_MODAL.INSTALL_META_MASK_EXTENSION\"))))),Uf(jp,{version:this.sdkVersion})))}get el(){return Vf(this)}static get watchers(){return{preferDesktop:[\"updatePreferDesktop\"]}}};hg.style=\".flexContainer {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n flex-direction: row;\\n}\\n\\n.flexItem {\\n flex: 1;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.flexItem11 {\\n flex: 11;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.flexItem1 {\\n flex: 1;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.tab {\\n padding: 8px;\\n cursor: pointer;\\n background-color: #F2F4F6;\\n font-size: 12px;\\n text-align: center;\\n color: #24292E;\\n}\\n\\n.tabcontainer {\\n padding: 4px;\\n background-color: #F2F4F6;\\n border-radius: 8px;\\n margin-bottom: 30px;\\n margin-top: 30px;\\n}\\n\\n.tabactive {\\n background-color: white;\\n -webkit-transition: background-color 300ms linear;\\n -ms-transition: background-color 300ms linear;\\n transition: background-color 300ms linear;\\n border-radius: 8px;\\n}\\n\\n.item {\\n font-size: 12px;\\n margin-bottom: 16px;\\n border-radius: 8px;\\n padding: 10px;\\n border: 2px #F2F4F6 solid;\\n color: #24292E;\\n}\\n\\n.extensionLabel {\\n font-style: normal;\\n font-weight: bold;\\n font-size: 14px;\\n text-align: cetner;\\n color: #24272A;\\n}\\n\\n.notice {\\n font-size: 12px;\\n margin-left: 10px;\\n margin-right: 10px;\\n color: grey;\\n}\\n\\n.button {\\n margin-top: 41.5px;\\n margin-bottom: 20px;\\n width: 100%;\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n align-items: center;\\n padding: 12px 20px;\\n background: #037DD6;\\n border-radius: 32px;\\n color: white;\\n border: 0;\\n font-size: 14px;\\n cursor: pointer;\\n}\\n\\n.backdrop {\\n visibility: visible;\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n width: 100%;\\n z-index: 99998;\\n background: rgba(0, 0, 0, 0.87);\\n opacity: 0.3;\\n}\\n\\n.modal {\\n visibility: visible;\\n position: fixed;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n z-index: 99999;\\n background: white;\\n padding: 20px;\\n border-radius: 8px;\\n top: 50%;\\n max-width: 100%;\\n width: 460px;\\n min-width: 300px;\\n box-shadow: rgba(0, 0, 0, 0.2) 0px 11px 15px -7px, rgba(0, 0, 0, 0.14) 0px 24px 38px 3px, rgba(0, 0, 0, 0.12) 0px 9px 46px 8px;\\n -webkit-font-smoothing: antialiased;\\n}\\n\\n.closeButton {\\n color: #BBC0C5;\\n cursor: pointer;\\n}\\n\\n.logoContainer {\\n margin-left: 24px;\\n margin-right: 24px;\\n margin-top: 24px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n.connectMobileText {\\n font-size: 14px;\\n color: black;\\n margin-top: 28px;\\n margin-bottom: 28px;\\n line-height: 2;\\n}\\n\\n.blue {\\n color: #037DD6;\\n font-weight: 700;\\n}\\n\\n.installExtensionText {\\n margin-left: 10px;\\n}\\n\\n.center {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.right {\\n display: flex;\\n align-items: center;\\n justify-content: right;\\n}\\n\\n#sdk-mm-qrcode {\\n svg {\\n width: 50%;\\n }\\n}\";const fg=class{constructor(e){ff(this,e),this.close=Gf(this,\"close\",7),this.disconnect=Gf(this,\"disconnect\",7),this.updateOTPValue=Gf(this,\"updateOTPValue\",7),this.displayOTP=void 0,this.sdkVersion=void 0,this.otpCode=void 0,this.translationsLoaded=!1,this.i18nInstance=new dg}async connectedCallback(){await this.i18nInstance.init({fallbackLng:\"en\"}),this.translationsLoaded=!0}onClose(){this.close.emit()}onDisconnect(){this.disconnect.emit()}onUpdateOTPValueHandler(e){this.updateOTPValue.emit({otpValue:e})}disconnectedCallback(){this.onClose()}render(){var e;if(!this.translationsLoaded)return null;const t=null===(e=this.displayOTP)||void 0===e||e,n=this.sdkVersion,r=e=>this.i18nInstance.t(e);return Uf(Np,{className:\"pending-modal\"},Uf(\"div\",{class:\"backdrop\",onClick:()=>this.onClose()}),Uf(\"div\",{class:\"modal\"},Uf(\"div\",{class:\"closeButtonContainer\"},Uf(\"div\",{class:\"right\"},Uf(\"span\",{class:\"closeButton\",onClick:()=>this.onClose()},Uf(Up,null)))),Uf(\"div\",{class:\"logoContainer\"},Uf(Hp,null)),Uf(\"div\",null,Uf(\"div\",{class:\"flexContainer\",style:{flexDirection:\"column\",color:\"black\"}},Uf(\"div\",{class:\"flexItem\",style:{textAlign:\"center\",marginTop:\"30px\",marginBottom:\"30px\",fontSize:\"16px\"}},r(t?\"PENDING_MODAL.OPEN_META_MASK_SELECT_CODE\":\"PENDING_MODAL.OPEN_META_MASK_CONTINUE\")),Uf(\"div\",{id:\"sdk-mm-otp-value\",style:{padding:\"10px\",fontSize:\"32px\",display:this.otpCode?\"block\":\"none\"}},this.otpCode),t&&Uf(\"div\",{class:\"notice\"},\"* \",r(\"PENDING_MODAL.NUMBER_AFTER_OPEN_NOTICE\"))),Uf(\"div\",{style:{marginTop:\"20px\"}},Uf(\"button\",{class:\"button blue\",style:{marginTop:\"5px\",color:\"#0376C9\",borderColor:\"#0376C9\",borderWidth:\"1px\",borderStyle:\"solid\",backgroundColor:\"white\"},onClick:()=>this.onDisconnect()},r(\"PENDING_MODAL.DISCONNECT\")))),Uf(jp,{version:n})))}get el(){return Vf(this)}};fg.style=\".flexContainer {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n flex-direction: row;\\n}\\n\\n.flexItem {\\n flex: 1;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.flexItem11 {\\n flex: 11;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.flexItem1 {\\n flex: 1;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.tab {\\n padding: 8px;\\n cursor: pointer;\\n background-color: #F2F4F6;\\n font-size: 12px;\\n text-align: center;\\n color: #24292E;\\n}\\n\\n.tabcontainer {\\n padding: 4px;\\n background-color: #F2F4F6;\\n border-radius: 8px;\\n margin-bottom: 30px;\\n margin-top: 30px;\\n}\\n\\n.tabactive {\\n background-color: white;\\n -webkit-transition: background-color 300ms linear;\\n -ms-transition: background-color 300ms linear;\\n transition: background-color 300ms linear;\\n border-radius: 8px;\\n}\\n\\n.item {\\n font-size: 12px;\\n margin-bottom: 16px;\\n border-radius: 8px;\\n padding: 10px;\\n border: 2px #F2F4F6 solid;\\n color: #24292E;\\n}\\n\\n.extensionLabel {\\n font-style: normal;\\n font-weight: bold;\\n font-size: 14px;\\n text-align: cetner;\\n color: #24272A;\\n}\\n\\n.notice {\\n font-size: 12px;\\n margin-left: 10px;\\n margin-right: 10px;\\n color: grey;\\n}\\n\\n.button {\\n margin-top: 41.5px;\\n margin-bottom: 20px;\\n width: 100%;\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n align-items: center;\\n padding: 12px 20px;\\n background: #037DD6;\\n border-radius: 32px;\\n color: white;\\n border: 0;\\n font-size: 14px;\\n cursor: pointer;\\n}\\n\\n.backdrop {\\n visibility: visible;\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n width: 100%;\\n z-index: 99998;\\n background: rgba(0, 0, 0, 0.87);\\n opacity: 0.3;\\n}\\n\\n.modal {\\n visibility: visible;\\n position: fixed;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n z-index: 99999;\\n background: white;\\n padding: 20px;\\n border-radius: 8px;\\n top: 50%;\\n max-width: 100%;\\n width: 460px;\\n min-width: 300px;\\n box-shadow: rgba(0, 0, 0, 0.2) 0px 11px 15px -7px, rgba(0, 0, 0, 0.14) 0px 24px 38px 3px, rgba(0, 0, 0, 0.12) 0px 9px 46px 8px;\\n -webkit-font-smoothing: antialiased;\\n}\\n\\n.closeButton {\\n color: #BBC0C5;\\n cursor: pointer;\\n}\\n\\n.logoContainer {\\n margin-left: 24px;\\n margin-right: 24px;\\n margin-top: 24px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n.connectMobileText {\\n font-size: 14px;\\n color: black;\\n margin-top: 28px;\\n margin-bottom: 28px;\\n line-height: 2;\\n}\\n\\n.blue {\\n color: #037DD6;\\n font-weight: 700;\\n}\\n\\n.installExtensionText {\\n margin-left: 10px;\\n}\\n\\n.center {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.right {\\n display: flex;\\n align-items: center;\\n justify-content: right;\\n}\\n\\n#sdk-mm-qrcode {\\n svg {\\n width: 50%;\\n }\\n}\";const pg=()=>Uf(\"svg\",{width:\"21\",height:\"15\",viewBox:\"0 0 21 15\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Uf(\"path\",{d:\"M14.1364 14.9851C13.5909 14.9851 13.2273 14.5851 13.2273 13.9851C13.2273 13.3851 13.5909 12.9851 14.1364 12.9851C16.6818 12.9851 18.6818 10.7851 18.6818 7.98508C18.6818 5.18508 16.6818 2.98508 14.1364 2.98508C11.5909 2.98508 9.59091 5.18508 9.59091 7.98508C9.59091 8.58508 9.22727 8.98508 8.68182 8.98508C8.13636 8.98508 7.77273 8.58508 7.77273 7.98508C7.77273 4.08508 10.5909 0.985077 14.1364 0.985077C17.6818 0.985077 20.5 4.08508 20.5 7.98508C20.5 11.8851 17.6818 14.9851 14.1364 14.9851ZM6.68182 14.7851C3.22727 14.7851 0.5 11.6851 0.5 7.98508C0.5 4.28508 3.22727 1.18508 6.68182 1.18508C7.22727 1.18508 7.59091 1.58508 7.59091 2.18508C7.59091 2.78508 7.22727 3.18508 6.68182 3.18508C4.22727 3.18508 2.31818 5.38508 2.31818 7.98508C2.31818 10.5851 4.22727 12.7851 6.68182 12.7851C9.13636 12.7851 11.0455 10.6851 11.0455 7.98508C11.0455 7.38508 11.4091 6.98508 11.9545 6.98508C12.5 6.98508 12.8636 7.38508 12.8636 7.98508C12.7727 11.6851 10.0455 14.7851 6.68182 14.7851Z\",fill:\"white\"})),gg=()=>Uf(\"svg\",{width:\"400\",height:\"300\",viewBox:\"0 0 400 300\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Uf(\"rect\",{width:\"400\",height:\"300\",fill:\"white\"}),Uf(\"path\",{d:\"M300.116 242.46L250.485 227.681L213.057 250.055L186.944 250.045L149.493 227.681L99.8843 242.46L84.7939 191.518L99.8843 134.979L84.7939 87.1777L99.8843 27.9336L177.402 74.2466H222.598L300.116 27.9336L315.206 87.1777L300.116 134.979L315.206 191.518L300.116 242.46Z\",fill:\"#FF5C16\"}),Uf(\"path\",{d:\"M99.8955 27.9336L177.414 74.2792L174.331 106.085L99.8955 27.9336Z\",fill:\"#FF5C16\"}),Uf(\"path\",{d:\"M149.505 191.539L183.612 217.521L149.505 227.681V191.539Z\",fill:\"#FF5C16\"}),Uf(\"path\",{d:\"M180.886 148.585L174.33 106.107L132.369 134.991L132.348 134.98V135.001L132.477 164.732L149.493 148.585H149.504H180.886Z\",fill:\"#FF5C16\"}),Uf(\"path\",{d:\"M300.116 27.9336L222.598 74.2792L225.67 106.085L300.116 27.9336Z\",fill:\"#FF5C16\"}),Uf(\"path\",{d:\"M250.508 191.539L216.4 217.521L250.508 227.681V191.539Z\",fill:\"#FF5C16\"}),Uf(\"path\",{d:\"M267.652 135.001H267.663H267.652V134.98L267.641 134.991L225.68 106.107L219.125 148.585H250.507L267.533 164.732L267.652 135.001Z\",fill:\"#FF5C16\"}),Uf(\"path\",{d:\"M149.493 227.681L99.8843 242.46L84.7939 191.54H149.493V227.681Z\",fill:\"#E34807\"}),Uf(\"path\",{d:\"M180.875 148.574L190.351 209.98L177.219 175.838L132.456 164.732L149.483 148.574H180.864H180.875Z\",fill:\"#E34807\"}),Uf(\"path\",{d:\"M250.507 227.681L300.116 242.46L315.206 191.54H250.507V227.681Z\",fill:\"#E34807\"}),Uf(\"path\",{d:\"M219.126 148.574L209.649 209.98L222.782 175.838L267.545 164.732L250.507 148.574H219.126Z\",fill:\"#E34807\"}),Uf(\"path\",{d:\"M84.7939 191.517L99.8843 134.979H132.337L132.456 164.721L177.219 175.826L190.351 209.969L183.601 217.488L149.493 191.506H84.7939V191.517Z\",fill:\"#FF8D5D\"}),Uf(\"path\",{d:\"M315.206 191.517L300.116 134.979H267.664L267.545 164.721L222.782 175.826L209.649 209.969L216.4 217.488L250.507 191.506H315.206V191.517Z\",fill:\"#FF8D5D\"}),Uf(\"path\",{d:\"M222.598 74.2466H200H177.402L174.33 106.053L190.351 209.936H209.649L225.681 106.053L222.598 74.2466Z\",fill:\"#FF8D5D\"}),Uf(\"path\",{d:\"M99.8843 27.9336L84.7939 87.1777L99.8843 134.979H132.337L174.319 106.085L99.8843 27.9336Z\",fill:\"#661800\"}),Uf(\"path\",{d:\"M171.496 160.906H156.795L148.79 168.752L177.229 175.804L171.496 160.896V160.906Z\",fill:\"#661800\"}),Uf(\"path\",{d:\"M300.116 27.9336L315.206 87.1777L300.116 134.979H267.663L225.681 106.085L300.116 27.9336Z\",fill:\"#661800\"}),Uf(\"path\",{d:\"M228.525 160.906H243.248L251.253 168.763L222.781 175.826L228.525 160.896V160.906Z\",fill:\"#661800\"}),Uf(\"path\",{d:\"M213.046 229.789L216.399 217.51L209.649 209.991H190.34L183.59 217.51L186.943 229.789\",fill:\"#661800\"}),Uf(\"path\",{d:\"M213.047 229.789V250.066H186.944V229.789H213.047Z\",fill:\"#C0C4CD\"}),Uf(\"path\",{d:\"M149.504 227.66L186.965 250.056V229.779L183.611 217.5L149.504 227.66Z\",fill:\"#E7EBF6\"}),Uf(\"path\",{d:\"M250.506 227.66L213.045 250.056V229.779L216.398 217.5L250.506 227.66Z\",fill:\"#E7EBF6\"})),mg=class{constructor(e){ff(this,e),this.close=Gf(this,\"close\",7),this.connectWithExtension=Gf(this,\"connectWithExtension\",7),this.link=void 0,this.sdkVersion=void 0,this.preferDesktop=void 0,this.tab=1,this.isDefaultTab=!0,this.translationsLoaded=!1,this.i18nInstance=new dg,this.setTab(this.preferDesktop?1:2)}async connectedCallback(){await this.i18nInstance.init({fallbackLng:\"en\"}),this.translationsLoaded=!0}onClose(e=!1){this.close.emit({shouldTerminate:e})}connectWithExtensionHandler(){this.connectWithExtension.emit()}setTab(e){this.tab=e,this.isDefaultTab=!1}disconnectedCallback(){this.onClose()}updatePreferDesktop(e){e?this.setTab(1):this.setTab(2)}render(){if(!this.translationsLoaded)return null;const e=e=>this.i18nInstance.t(e),t=this.sdkVersion,n=this.isDefaultTab?this.preferDesktop?1:2:this.tab,r=cg(this.link,\"svg\",{ecc:\"medium\",scale:2});return Uf(Np,{className:\"select-modal\"},Uf(\"div\",{class:\"backdrop\",onClick:()=>this.onClose(!0)}),Uf(\"div\",{class:\"modal\"},Uf(\"div\",{class:\"closeButtonContainer\"},Uf(\"div\",{class:\"right\"},Uf(\"span\",{class:\"closeButton\",onClick:()=>this.onClose(!0)},Uf(Up,null)))),Uf(\"div\",{class:\"logoContainer\"},Uf(Hp,null)),Uf(\"div\",null,Uf(\"div\",{class:\"tabcontainer\"},Uf(\"div\",{class:\"flexContainer\"},Uf(\"div\",{onClick:()=>this.setTab(1),class:\"tab flexItem \"+(1===n?\"tabactive\":\"\")},e(\"DESKTOP\")),Uf(\"div\",{onClick:()=>this.setTab(2),class:\"tab flexItem \"+(2===n?\"tabactive\":\"\")},e(\"MOBILE\")))),Uf(\"div\",{style:{display:1===n?\"none\":\"block\"}},Uf(\"div\",{class:\"flexContainer\"},Uf(\"div\",{class:\"flexItem\",style:{textAlign:\"center\",marginTop:\"4\"}},Uf(\"div\",{class:\"center\",id:\"sdk-mm-qrcode\",innerHTML:r}),Uf(\"div\",{class:\"connectMobileText\"},e(\"SCAN_TO_CONNECT\"),Uf(\"br\",null),Uf(\"span\",{class:\"blue\"},Uf(\"b\",null,e(\"META_MASK_MOBILE_APP\"))))))),Uf(\"div\",{style:{display:2===n?\"none\":\"block\"}},Uf(\"div\",{style:{display:\"flex\",justifyContent:\"center\",height:\"300\",marginTop:\"-20\"}},Uf(gg,null)),Uf(\"div\",{class:\"extensionLabel\"},e(\"SELECT_MODAL.CRYPTO_TAKE_CONTROL_TEXT\")),Uf(\"button\",{class:\"button\",onClick:()=>this.connectWithExtensionHandler()},Uf(pg,null),Uf(\"span\",{class:\"installExtensionText\"},e(\"CONNECT_WITH_EXTENSION\"))))),Uf(jp,{version:t})))}get el(){return Vf(this)}static get watchers(){return{preferDesktop:[\"updatePreferDesktop\"]}}};mg.style=\".flexContainer {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n flex-direction: row;\\n}\\n\\n.flexItem {\\n flex: 1;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.flexItem11 {\\n flex: 11;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.flexItem1 {\\n flex: 1;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.tab {\\n padding: 8px;\\n cursor: pointer;\\n background-color: #F2F4F6;\\n font-size: 12px;\\n text-align: center;\\n color: #24292E;\\n}\\n\\n.tabcontainer {\\n padding: 4px;\\n background-color: #F2F4F6;\\n border-radius: 8px;\\n margin-bottom: 30px;\\n margin-top: 30px;\\n}\\n\\n.tabactive {\\n background-color: white;\\n -webkit-transition: background-color 300ms linear;\\n -ms-transition: background-color 300ms linear;\\n transition: background-color 300ms linear;\\n border-radius: 8px;\\n}\\n\\n.item {\\n font-size: 12px;\\n margin-bottom: 16px;\\n border-radius: 8px;\\n padding: 10px;\\n border: 2px #F2F4F6 solid;\\n color: #24292E;\\n}\\n\\n.extensionLabel {\\n font-style: normal;\\n font-weight: bold;\\n font-size: 14px;\\n text-align: cetner;\\n color: #24272A;\\n}\\n\\n.notice {\\n font-size: 12px;\\n margin-left: 10px;\\n margin-right: 10px;\\n color: grey;\\n}\\n\\n.button {\\n margin-top: 41.5px;\\n margin-bottom: 20px;\\n width: 100%;\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n align-items: center;\\n padding: 12px 20px;\\n background: #037DD6;\\n border-radius: 32px;\\n color: white;\\n border: 0;\\n font-size: 14px;\\n cursor: pointer;\\n}\\n\\n.backdrop {\\n visibility: visible;\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n width: 100%;\\n z-index: 99998;\\n background: rgba(0, 0, 0, 0.87);\\n opacity: 0.3;\\n}\\n\\n.modal {\\n visibility: visible;\\n position: fixed;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n z-index: 99999;\\n background: white;\\n padding: 20px;\\n border-radius: 8px;\\n top: 50%;\\n max-width: 100%;\\n width: 460px;\\n min-width: 300px;\\n box-shadow: rgba(0, 0, 0, 0.2) 0px 11px 15px -7px, rgba(0, 0, 0, 0.14) 0px 24px 38px 3px, rgba(0, 0, 0, 0.12) 0px 9px 46px 8px;\\n -webkit-font-smoothing: antialiased;\\n}\\n\\n.closeButton {\\n color: #BBC0C5;\\n cursor: pointer;\\n}\\n\\n.logoContainer {\\n margin-left: 24px;\\n margin-right: 24px;\\n margin-top: 24px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n.connectMobileText {\\n font-size: 14px;\\n color: black;\\n margin-top: 28px;\\n margin-bottom: 28px;\\n line-height: 2;\\n}\\n\\n.blue {\\n color: #037DD6;\\n font-weight: 700;\\n}\\n\\n.installExtensionText {\\n margin-left: 10px;\\n}\\n\\n.center {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.right {\\n display: flex;\\n align-items: center;\\n justify-content: right;\\n}\\n\\n#sdk-mm-qrcode {\\n svg {\\n width: 50%;\\n }\\n}\";var yg=Object.freeze({__proto__:null,mm_install_modal:hg,mm_pending_modal:fg,mm_select_modal:mg});export{jo as CommunicationLayerPreference,Eo as ConnectionStatus,fo as DEFAULT_SERVER_URL,So as EventType,ko as MessageType,rf as MetaMaskSDK,zu as MetaMaskSDKEvent,hh as PROVIDER_UPDATE_TYPE,Uo as PlatformType,Gu as SDKProvider,rf as default};\n//# sourceMappingURL=metamask-sdk.js.map\n"],"names":["global","F","globalThis","exports","g","e","value","Headers","chars","decode","Request","parts","Response","url","fetch","m","h","d","w","y","ms","parse","require$$0","self","v","c","r","process","__defProp","__getOwnPropDesc","__getOwnPropNames","__hasOwnProp","__export","__copyProps","to","__toCommonJS","index_exports","id","client","k","_a","v2","undefined","toArray","b","on","Promise","reject","ns","l","j","dl","nextTick","event","events","fn","al","withNativeBlob","withNativeArrayBuffer","isView","lookup","p","isBinary","protocol","qs","re","t","DEFAULT_TRANSPORTS","RESERVED_EVENTS","PacketType","Socket","io","_c","Engine","socket","u","f","n","i","o","s","a","E","S","_","C","A","x","M","I","T","K","R","P","O","N","L","D","$","B","U","H","z"],"mappings":";;;;;;AACA,MAAI,aACH,OAAO,eAAe,eAAe,cACrC,OAAO,SAAS,eAAe,QAC/B,OAAOA,mBAAW,eAAeA;AAElC,MAAI,kBAAkB,WAAY;AAClC,aAASC,KAAI;AACb,WAAK,QAAQ;AACb,WAAK,eAAe,WAAW;AAAA,IAC/B;AACA,IAAAA,GAAE,YAAY;AACd,WAAO,IAAIA,GAAC;AAAA,EACZ,GAAC;AAGD,GAAC,SAASC,aAAY;AAEL,KAAC,SAAUC,UAAS;AAGnC,UAAIC,KACD,OAAOF,gBAAe,eAAeA,eACrC,OAAO,SAAS,eAAe;AAAA,MAE/B,OAAOF,mBAAW,eAAeA,kBAClC,CAAA;AAEF,UAAI,UAAU;AAAA,QACZ,cAAc,qBAAqBI;AAAA,QACnC,UAAU,YAAYA,MAAK,cAAc;AAAA,QACzC,MACE,gBAAgBA,MAChB,UAAUA,OACT,WAAW;AACV,cAAI;AACF,gBAAI,KAAI;AACR,mBAAO;AAAA,UACjB,SAAiBC,IAAG;AACV,mBAAO;AAAA,UACjB;AAAA,QACA,GAAO;AAAA,QACH,UAAU,cAAcD;AAAA,QACxB,aAAa,iBAAiBA;AAAA,MAClC;AAEE,eAAS,WAAW,KAAK;AACvB,eAAO,OAAO,SAAS,UAAU,cAAc,GAAG;AAAA,MACtD;AAEE,UAAI,QAAQ,aAAa;AACvB,YAAI,cAAc;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACN;AAEI,YAAI,oBACF,YAAY,UACZ,SAAS,KAAK;AACZ,iBAAO,OAAO,YAAY,QAAQ,OAAO,UAAU,SAAS,KAAK,GAAG,CAAC,IAAI;AAAA,QACjF;AAAA,MACA;AAEE,eAAS,cAAc,MAAM;AAC3B,YAAI,OAAO,SAAS,UAAU;AAC5B,iBAAO,OAAO,IAAI;AAAA,QACxB;AACI,YAAI,6BAA6B,KAAK,IAAI,KAAK,SAAS,IAAI;AAC1D,gBAAM,IAAI,UAAU,8CAA8C,OAAO,GAAG;AAAA,QAClF;AACI,eAAO,KAAK,YAAW;AAAA,MAC3B;AAEE,eAAS,eAAeE,QAAO;AAC7B,YAAI,OAAOA,WAAU,UAAU;AAC7B,UAAAA,SAAQ,OAAOA,MAAK;AAAA,QAC1B;AACI,eAAOA;AAAA,MACX;AAGE,eAAS,YAAY,OAAO;AAC1B,YAAI,WAAW;AAAA,UACb,MAAM,WAAW;AACf,gBAAIA,SAAQ,MAAM,MAAK;AACvB,mBAAO,EAAC,MAAMA,WAAU,QAAW,OAAOA,OAAK;AAAA,UACvD;AAAA,QACA;AAEI,YAAI,QAAQ,UAAU;AACpB,mBAAS,OAAO,QAAQ,IAAI,WAAW;AACrC,mBAAO;AAAA,UACf;AAAA,QACA;AAEI,eAAO;AAAA,MACX;AAEE,eAASC,SAAQ,SAAS;AACxB,aAAK,MAAM,CAAA;AAEX,YAAI,mBAAmBA,UAAS;AAC9B,kBAAQ,QAAQ,SAASD,QAAO,MAAM;AACpC,iBAAK,OAAO,MAAMA,MAAK;AAAA,UAC/B,GAAS,IAAI;AAAA,QACb,WAAe,MAAM,QAAQ,OAAO,GAAG;AACjC,kBAAQ,QAAQ,SAAS,QAAQ;AAC/B,gBAAI,OAAO,UAAU,GAAG;AACtB,oBAAM,IAAI,UAAU,wEAAwE,OAAO,MAAM;AAAA,YACnH;AACQ,iBAAK,OAAO,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AAAA,UACxC,GAAS,IAAI;AAAA,QACb,WAAe,SAAS;AAClB,iBAAO,oBAAoB,OAAO,EAAE,QAAQ,SAAS,MAAM;AACzD,iBAAK,OAAO,MAAM,QAAQ,IAAI,CAAC;AAAA,UACvC,GAAS,IAAI;AAAA,QACb;AAAA,MACA;AAEE,MAAAC,SAAQ,UAAU,SAAS,SAAS,MAAMD,QAAO;AAC/C,eAAO,cAAc,IAAI;AACzB,QAAAA,SAAQ,eAAeA,MAAK;AAC5B,YAAI,WAAW,KAAK,IAAI,IAAI;AAC5B,aAAK,IAAI,IAAI,IAAI,WAAW,WAAW,OAAOA,SAAQA;AAAA,MAC1D;AAEE,MAAAC,SAAQ,UAAU,QAAQ,IAAI,SAAS,MAAM;AAC3C,eAAO,KAAK,IAAI,cAAc,IAAI,CAAC;AAAA,MACvC;AAEE,MAAAA,SAAQ,UAAU,MAAM,SAAS,MAAM;AACrC,eAAO,cAAc,IAAI;AACzB,eAAO,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI;AAAA,MAC7C;AAEE,MAAAA,SAAQ,UAAU,MAAM,SAAS,MAAM;AACrC,eAAO,KAAK,IAAI,eAAe,cAAc,IAAI,CAAC;AAAA,MACtD;AAEE,MAAAA,SAAQ,UAAU,MAAM,SAAS,MAAMD,QAAO;AAC5C,aAAK,IAAI,cAAc,IAAI,CAAC,IAAI,eAAeA,MAAK;AAAA,MACxD;AAEE,MAAAC,SAAQ,UAAU,UAAU,SAAS,UAAU,SAAS;AACtD,iBAAS,QAAQ,KAAK,KAAK;AACzB,cAAI,KAAK,IAAI,eAAe,IAAI,GAAG;AACjC,qBAAS,KAAK,SAAS,KAAK,IAAI,IAAI,GAAG,MAAM,IAAI;AAAA,UACzD;AAAA,QACA;AAAA,MACA;AAEE,MAAAA,SAAQ,UAAU,OAAO,WAAW;AAClC,YAAI,QAAQ,CAAA;AACZ,aAAK,QAAQ,SAASD,QAAO,MAAM;AACjC,gBAAM,KAAK,IAAI;AAAA,QACrB,CAAK;AACD,eAAO,YAAY,KAAK;AAAA,MAC5B;AAEE,MAAAC,SAAQ,UAAU,SAAS,WAAW;AACpC,YAAI,QAAQ,CAAA;AACZ,aAAK,QAAQ,SAASD,QAAO;AAC3B,gBAAM,KAAKA,MAAK;AAAA,QACtB,CAAK;AACD,eAAO,YAAY,KAAK;AAAA,MAC5B;AAEE,MAAAC,SAAQ,UAAU,UAAU,WAAW;AACrC,YAAI,QAAQ,CAAA;AACZ,aAAK,QAAQ,SAASD,QAAO,MAAM;AACjC,gBAAM,KAAK,CAAC,MAAMA,MAAK,CAAC;AAAA,QAC9B,CAAK;AACD,eAAO,YAAY,KAAK;AAAA,MAC5B;AAEE,UAAI,QAAQ,UAAU;AACpB,QAAAC,SAAQ,UAAU,OAAO,QAAQ,IAAIA,SAAQ,UAAU;AAAA,MAC3D;AAEE,eAAS,SAAS,MAAM;AACtB,YAAI,KAAK,QAAS;AAClB,YAAI,KAAK,UAAU;AACjB,iBAAO,QAAQ,OAAO,IAAI,UAAU,cAAc,CAAC;AAAA,QACzD;AACI,aAAK,WAAW;AAAA,MACpB;AAEE,eAAS,gBAAgB,QAAQ;AAC/B,eAAO,IAAI,QAAQ,SAAS,SAAS,QAAQ;AAC3C,iBAAO,SAAS,WAAW;AACzB,oBAAQ,OAAO,MAAM;AAAA,UAC7B;AACM,iBAAO,UAAU,WAAW;AAC1B,mBAAO,OAAO,KAAK;AAAA,UAC3B;AAAA,QACA,CAAK;AAAA,MACL;AAEE,eAAS,sBAAsB,MAAM;AACnC,YAAI,SAAS,IAAI,WAAU;AAC3B,YAAI,UAAU,gBAAgB,MAAM;AACpC,eAAO,kBAAkB,IAAI;AAC7B,eAAO;AAAA,MACX;AAEE,eAAS,eAAe,MAAM;AAC5B,YAAI,SAAS,IAAI,WAAU;AAC3B,YAAI,UAAU,gBAAgB,MAAM;AACpC,YAAI,QAAQ,2BAA2B,KAAK,KAAK,IAAI;AACrD,YAAI,WAAW,QAAQ,MAAM,CAAC,IAAI;AAClC,eAAO,WAAW,MAAM,QAAQ;AAChC,eAAO;AAAA,MACX;AAEE,eAAS,sBAAsB,KAAK;AAClC,YAAI,OAAO,IAAI,WAAW,GAAG;AAC7B,YAAIC,SAAQ,IAAI,MAAM,KAAK,MAAM;AAEjC,iBAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,UAAAA,OAAM,CAAC,IAAI,OAAO,aAAa,KAAK,CAAC,CAAC;AAAA,QAC5C;AACI,eAAOA,OAAM,KAAK,EAAE;AAAA,MACxB;AAEE,eAAS,YAAY,KAAK;AACxB,YAAI,IAAI,OAAO;AACb,iBAAO,IAAI,MAAM,CAAC;AAAA,QACxB,OAAW;AACL,cAAI,OAAO,IAAI,WAAW,IAAI,UAAU;AACxC,eAAK,IAAI,IAAI,WAAW,GAAG,CAAC;AAC5B,iBAAO,KAAK;AAAA,QAClB;AAAA,MACA;AAEE,eAAS,OAAO;AACd,aAAK,WAAW;AAEhB,aAAK,YAAY,SAAS,MAAM;AAY9B,eAAK,WAAW,KAAK;AACrB,eAAK,YAAY;AACjB,cAAI,CAAC,MAAM;AACT,iBAAK,UAAU;AACf,iBAAK,YAAY;AAAA,UACzB,WAAiB,OAAO,SAAS,UAAU;AACnC,iBAAK,YAAY;AAAA,UACzB,WAAiB,QAAQ,QAAQ,KAAK,UAAU,cAAc,IAAI,GAAG;AAC7D,iBAAK,YAAY;AAAA,UACzB,WAAiB,QAAQ,YAAY,SAAS,UAAU,cAAc,IAAI,GAAG;AACrE,iBAAK,gBAAgB;AAAA,UAC7B,WAAiB,QAAQ,gBAAgB,gBAAgB,UAAU,cAAc,IAAI,GAAG;AAChF,iBAAK,YAAY,KAAK,SAAQ;AAAA,UACtC,WAAiB,QAAQ,eAAe,QAAQ,QAAQ,WAAW,IAAI,GAAG;AAClE,iBAAK,mBAAmB,YAAY,KAAK,MAAM;AAE/C,iBAAK,YAAY,IAAI,KAAK,CAAC,KAAK,gBAAgB,CAAC;AAAA,UACzD,WAAiB,QAAQ,gBAAgB,YAAY,UAAU,cAAc,IAAI,KAAK,kBAAkB,IAAI,IAAI;AACxG,iBAAK,mBAAmB,YAAY,IAAI;AAAA,UAChD,OAAa;AACL,iBAAK,YAAY,OAAO,OAAO,UAAU,SAAS,KAAK,IAAI;AAAA,UACnE;AAEM,cAAI,CAAC,KAAK,QAAQ,IAAI,cAAc,GAAG;AACrC,gBAAI,OAAO,SAAS,UAAU;AAC5B,mBAAK,QAAQ,IAAI,gBAAgB,0BAA0B;AAAA,YACrE,WAAmB,KAAK,aAAa,KAAK,UAAU,MAAM;AAChD,mBAAK,QAAQ,IAAI,gBAAgB,KAAK,UAAU,IAAI;AAAA,YAC9D,WAAmB,QAAQ,gBAAgB,gBAAgB,UAAU,cAAc,IAAI,GAAG;AAChF,mBAAK,QAAQ,IAAI,gBAAgB,iDAAiD;AAAA,YAC5F;AAAA,UACA;AAAA,QACA;AAEI,YAAI,QAAQ,MAAM;AAChB,eAAK,OAAO,WAAW;AACrB,gBAAI,WAAW,SAAS,IAAI;AAC5B,gBAAI,UAAU;AACZ,qBAAO;AAAA,YACjB;AAEQ,gBAAI,KAAK,WAAW;AAClB,qBAAO,QAAQ,QAAQ,KAAK,SAAS;AAAA,YAC/C,WAAmB,KAAK,kBAAkB;AAChC,qBAAO,QAAQ,QAAQ,IAAI,KAAK,CAAC,KAAK,gBAAgB,CAAC,CAAC;AAAA,YAClE,WAAmB,KAAK,eAAe;AAC7B,oBAAM,IAAI,MAAM,sCAAsC;AAAA,YAChE,OAAe;AACL,qBAAO,QAAQ,QAAQ,IAAI,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC;AAAA,YAC3D;AAAA,UACA;AAAA,QACA;AAEI,aAAK,cAAc,WAAW;AAC5B,cAAI,KAAK,kBAAkB;AACzB,gBAAI,aAAa,SAAS,IAAI;AAC9B,gBAAI,YAAY;AACd,qBAAO;AAAA,YACjB,WAAmB,YAAY,OAAO,KAAK,gBAAgB,GAAG;AACpD,qBAAO,QAAQ;AAAA,gBACb,KAAK,iBAAiB,OAAO;AAAA,kBAC3B,KAAK,iBAAiB;AAAA,kBACtB,KAAK,iBAAiB,aAAa,KAAK,iBAAiB;AAAA;;YAGvE,OAAe;AACL,qBAAO,QAAQ,QAAQ,KAAK,gBAAgB;AAAA,YACtD;AAAA,UACA,WAAiB,QAAQ,MAAM;AACvB,mBAAO,KAAK,OAAO,KAAK,qBAAqB;AAAA,UACrD,OAAa;AACL,kBAAM,IAAI,MAAM,+BAA+B;AAAA,UACvD;AAAA,QACA;AAEI,aAAK,OAAO,WAAW;AACrB,cAAI,WAAW,SAAS,IAAI;AAC5B,cAAI,UAAU;AACZ,mBAAO;AAAA,UACf;AAEM,cAAI,KAAK,WAAW;AAClB,mBAAO,eAAe,KAAK,SAAS;AAAA,UAC5C,WAAiB,KAAK,kBAAkB;AAChC,mBAAO,QAAQ,QAAQ,sBAAsB,KAAK,gBAAgB,CAAC;AAAA,UAC3E,WAAiB,KAAK,eAAe;AAC7B,kBAAM,IAAI,MAAM,sCAAsC;AAAA,UAC9D,OAAa;AACL,mBAAO,QAAQ,QAAQ,KAAK,SAAS;AAAA,UAC7C;AAAA,QACA;AAEI,YAAI,QAAQ,UAAU;AACpB,eAAK,WAAW,WAAW;AACzB,mBAAO,KAAK,OAAO,KAAKC,OAAM;AAAA,UACtC;AAAA,QACA;AAEI,aAAK,OAAO,WAAW;AACrB,iBAAO,KAAK,KAAI,EAAG,KAAK,KAAK,KAAK;AAAA,QACxC;AAEI,eAAO;AAAA,MACX;AAGE,UAAI,UAAU,CAAC,WAAW,UAAU,OAAO,QAAQ,WAAW,SAAS,QAAQ,OAAO,OAAO;AAE7F,eAAS,gBAAgB,QAAQ;AAC/B,YAAI,UAAU,OAAO,YAAW;AAChC,eAAO,QAAQ,QAAQ,OAAO,IAAI,KAAK,UAAU;AAAA,MACrD;AAEE,eAASC,SAAQ,OAAO,SAAS;AAC/B,YAAI,EAAE,gBAAgBA,WAAU;AAC9B,gBAAM,IAAI,UAAU,4FAA4F;AAAA,QACtH;AAEI,kBAAU,WAAW,CAAA;AACrB,YAAI,OAAO,QAAQ;AAEnB,YAAI,iBAAiBA,UAAS;AAC5B,cAAI,MAAM,UAAU;AAClB,kBAAM,IAAI,UAAU,cAAc;AAAA,UAC1C;AACM,eAAK,MAAM,MAAM;AACjB,eAAK,cAAc,MAAM;AACzB,cAAI,CAAC,QAAQ,SAAS;AACpB,iBAAK,UAAU,IAAIH,SAAQ,MAAM,OAAO;AAAA,UAChD;AACM,eAAK,SAAS,MAAM;AACpB,eAAK,OAAO,MAAM;AAClB,eAAK,SAAS,MAAM;AACpB,cAAI,CAAC,QAAQ,MAAM,aAAa,MAAM;AACpC,mBAAO,MAAM;AACb,kBAAM,WAAW;AAAA,UACzB;AAAA,QACA,OAAW;AACL,eAAK,MAAM,OAAO,KAAK;AAAA,QAC7B;AAEI,aAAK,cAAc,QAAQ,eAAe,KAAK,eAAe;AAC9D,YAAI,QAAQ,WAAW,CAAC,KAAK,SAAS;AACpC,eAAK,UAAU,IAAIA,SAAQ,QAAQ,OAAO;AAAA,QAChD;AACI,aAAK,SAAS,gBAAgB,QAAQ,UAAU,KAAK,UAAU,KAAK;AACpE,aAAK,OAAO,QAAQ,QAAQ,KAAK,QAAQ;AACzC,aAAK,SAAS,QAAQ,UAAU,KAAK,WAAW,WAAY;AAC1D,cAAI,qBAAqBH,IAAG;AAC1B,gBAAI,OAAO,IAAI,gBAAe;AAC9B,mBAAO,KAAK;AAAA,UACpB;AAAA,QACA;AACI,aAAK,WAAW;AAEhB,aAAK,KAAK,WAAW,SAAS,KAAK,WAAW,WAAW,MAAM;AAC7D,gBAAM,IAAI,UAAU,2CAA2C;AAAA,QACrE;AACI,aAAK,UAAU,IAAI;AAEnB,YAAI,KAAK,WAAW,SAAS,KAAK,WAAW,QAAQ;AACnD,cAAI,QAAQ,UAAU,cAAc,QAAQ,UAAU,YAAY;AAEhE,gBAAI,gBAAgB;AACpB,gBAAI,cAAc,KAAK,KAAK,GAAG,GAAG;AAEhC,mBAAK,MAAM,KAAK,IAAI,QAAQ,eAAe,UAAS,oBAAI,QAAO,SAAS;AAAA,YAClF,OAAe;AAEL,kBAAI,gBAAgB;AACpB,mBAAK,QAAQ,cAAc,KAAK,KAAK,GAAG,IAAI,MAAM,OAAO,QAAO,oBAAI,KAAI,GAAG,QAAO;AAAA,YAC5F;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAEE,MAAAM,SAAQ,UAAU,QAAQ,WAAW;AACnC,eAAO,IAAIA,SAAQ,MAAM,EAAC,MAAM,KAAK,UAAS,CAAC;AAAA,MACnD;AAEE,eAASD,QAAO,MAAM;AACpB,YAAI,OAAO,IAAI,SAAQ;AACvB,aACG,KAAI,EACJ,MAAM,GAAG,EACT,QAAQ,SAAS,OAAO;AACvB,cAAI,OAAO;AACT,gBAAI,QAAQ,MAAM,MAAM,GAAG;AAC3B,gBAAI,OAAO,MAAM,MAAK,EAAG,QAAQ,OAAO,GAAG;AAC3C,gBAAIH,SAAQ,MAAM,KAAK,GAAG,EAAE,QAAQ,OAAO,GAAG;AAC9C,iBAAK,OAAO,mBAAmB,IAAI,GAAG,mBAAmBA,MAAK,CAAC;AAAA,UACzE;AAAA,QACA,CAAO;AACH,eAAO;AAAA,MACX;AAEE,eAAS,aAAa,YAAY;AAChC,YAAI,UAAU,IAAIC,SAAO;AAGzB,YAAI,sBAAsB,WAAW,QAAQ,gBAAgB,GAAG;AAIhE,4BACG,MAAM,IAAI,EACV,IAAI,SAAS,QAAQ;AACpB,iBAAO,OAAO,QAAQ,IAAI,MAAM,IAAI,OAAO,OAAO,GAAG,OAAO,MAAM,IAAI;AAAA,QAC9E,CAAO,EACA,QAAQ,SAAS,MAAM;AACtB,cAAII,SAAQ,KAAK,MAAM,GAAG;AAC1B,cAAI,MAAMA,OAAM,MAAK,EAAG,KAAI;AAC5B,cAAI,KAAK;AACP,gBAAIL,SAAQK,OAAM,KAAK,GAAG,EAAE,KAAI;AAChC,gBAAI;AACF,sBAAQ,OAAO,KAAKL,MAAK;AAAA,YACrC,SAAmB,OAAO;AACd,sBAAQ,KAAK,cAAc,MAAM,OAAO;AAAA,YACpD;AAAA,UACA;AAAA,QACA,CAAO;AACH,eAAO;AAAA,MACX;AAEE,WAAK,KAAKI,SAAQ,SAAS;AAE3B,eAASE,UAAS,UAAU,SAAS;AACnC,YAAI,EAAE,gBAAgBA,YAAW;AAC/B,gBAAM,IAAI,UAAU,4FAA4F;AAAA,QACtH;AACI,YAAI,CAAC,SAAS;AACZ,oBAAU,CAAA;AAAA,QAChB;AAEI,aAAK,OAAO;AACZ,aAAK,SAAS,QAAQ,WAAW,SAAY,MAAM,QAAQ;AAC3D,YAAI,KAAK,SAAS,OAAO,KAAK,SAAS,KAAK;AAC1C,gBAAM,IAAI,WAAW,0FAA0F;AAAA,QACrH;AACI,aAAK,KAAK,KAAK,UAAU,OAAO,KAAK,SAAS;AAC9C,aAAK,aAAa,QAAQ,eAAe,SAAY,KAAK,KAAK,QAAQ;AACvE,aAAK,UAAU,IAAIL,SAAQ,QAAQ,OAAO;AAC1C,aAAK,MAAM,QAAQ,OAAO;AAC1B,aAAK,UAAU,QAAQ;AAAA,MAC3B;AAEE,WAAK,KAAKK,UAAS,SAAS;AAE5B,MAAAA,UAAS,UAAU,QAAQ,WAAW;AACpC,eAAO,IAAIA,UAAS,KAAK,WAAW;AAAA,UAClC,QAAQ,KAAK;AAAA,UACb,YAAY,KAAK;AAAA,UACjB,SAAS,IAAIL,SAAQ,KAAK,OAAO;AAAA,UACjC,KAAK,KAAK;AAAA,QAChB,CAAK;AAAA,MACL;AAEE,MAAAK,UAAS,QAAQ,WAAW;AAC1B,YAAI,WAAW,IAAIA,UAAS,MAAM,EAAC,QAAQ,KAAK,YAAY,GAAE,CAAC;AAC/D,iBAAS,KAAK;AACd,iBAAS,SAAS;AAClB,iBAAS,OAAO;AAChB,eAAO;AAAA,MACX;AAEE,UAAI,mBAAmB,CAAC,KAAK,KAAK,KAAK,KAAK,GAAG;AAE/C,MAAAA,UAAS,WAAW,SAASC,MAAK,QAAQ;AACxC,YAAI,iBAAiB,QAAQ,MAAM,MAAM,IAAI;AAC3C,gBAAM,IAAI,WAAW,qBAAqB;AAAA,QAChD;AAEI,eAAO,IAAID,UAAS,MAAM,EAAC,QAAgB,SAAS,EAAC,UAAUC,KAAG,EAAC,CAAC;AAAA,MACxE;AAEE,MAAAV,SAAQ,eAAeC,GAAE;AACzB,UAAI;AACF,YAAID,SAAQ,aAAY;AAAA,MAC5B,SAAW,KAAK;AACZ,QAAAA,SAAQ,eAAe,SAAS,SAAS,MAAM;AAC7C,eAAK,UAAU;AACf,eAAK,OAAO;AACZ,cAAI,QAAQ,MAAM,OAAO;AACzB,eAAK,QAAQ,MAAM;AAAA,QACzB;AACI,QAAAA,SAAQ,aAAa,YAAY,OAAO,OAAO,MAAM,SAAS;AAC9D,QAAAA,SAAQ,aAAa,UAAU,cAAcA,SAAQ;AAAA,MACzD;AAEE,eAASW,OAAM,OAAO,MAAM;AAC1B,eAAO,IAAI,QAAQ,SAAS,SAAS,QAAQ;AAC3C,cAAI,UAAU,IAAIJ,SAAQ,OAAO,IAAI;AAErC,cAAI,QAAQ,UAAU,QAAQ,OAAO,SAAS;AAC5C,mBAAO,OAAO,IAAIP,SAAQ,aAAa,WAAW,YAAY,CAAC;AAAA,UACvE;AAEM,cAAI,MAAM,IAAI,eAAc;AAE5B,mBAAS,WAAW;AAClB,gBAAI,MAAK;AAAA,UACjB;AAEM,cAAI,SAAS,WAAW;AACtB,gBAAI,UAAU;AAAA,cACZ,YAAY,IAAI;AAAA,cAChB,SAAS,aAAa,IAAI,sBAAqB,KAAM,EAAE;AAAA,YACjE;AAGQ,gBAAI,QAAQ,IAAI,QAAQ,SAAS,MAAM,MAAM,IAAI,SAAS,OAAO,IAAI,SAAS,MAAM;AAClF,sBAAQ,SAAS;AAAA,YAC3B,OAAe;AACL,sBAAQ,SAAS,IAAI;AAAA,YAC/B;AACQ,oBAAQ,MAAM,iBAAiB,MAAM,IAAI,cAAc,QAAQ,QAAQ,IAAI,eAAe;AAC1F,gBAAI,OAAO,cAAc,MAAM,IAAI,WAAW,IAAI;AAClD,uBAAW,WAAW;AACpB,sBAAQ,IAAIS,UAAS,MAAM,OAAO,CAAC;AAAA,YAC7C,GAAW,CAAC;AAAA,UACZ;AAEM,cAAI,UAAU,WAAW;AACvB,uBAAW,WAAW;AACpB,qBAAO,IAAI,UAAU,wBAAwB,CAAC;AAAA,YACxD,GAAW,CAAC;AAAA,UACZ;AAEM,cAAI,YAAY,WAAW;AACzB,uBAAW,WAAW;AACpB,qBAAO,IAAI,UAAU,2BAA2B,CAAC;AAAA,YAC3D,GAAW,CAAC;AAAA,UACZ;AAEM,cAAI,UAAU,WAAW;AACvB,uBAAW,WAAW;AACpB,qBAAO,IAAIT,SAAQ,aAAa,WAAW,YAAY,CAAC;AAAA,YAClE,GAAW,CAAC;AAAA,UACZ;AAEM,mBAAS,OAAOU,MAAK;AACnB,gBAAI;AACF,qBAAOA,SAAQ,MAAMT,GAAE,SAAS,OAAOA,GAAE,SAAS,OAAOS;AAAA,YACnE,SAAiBR,IAAG;AACV,qBAAOQ;AAAA,YACjB;AAAA,UACA;AAEM,cAAI,KAAK,QAAQ,QAAQ,OAAO,QAAQ,GAAG,GAAG,IAAI;AAElD,cAAI,QAAQ,gBAAgB,WAAW;AACrC,gBAAI,kBAAkB;AAAA,UAC9B,WAAiB,QAAQ,gBAAgB,QAAQ;AACzC,gBAAI,kBAAkB;AAAA,UAC9B;AAEM,cAAI,kBAAkB,KAAK;AACzB,gBAAI,QAAQ,MAAM;AAChB,kBAAI,eAAe;AAAA,YAC7B,WACU,QAAQ,aACR;AACA,kBAAI,eAAe;AAAA,YAC7B;AAAA,UACA;AAEM,cAAI,QAAQ,OAAO,KAAK,YAAY,YAAY,EAAE,KAAK,mBAAmBN,YAAYH,GAAE,WAAW,KAAK,mBAAmBA,GAAE,UAAW;AACtI,gBAAI,QAAQ,CAAA;AACZ,mBAAO,oBAAoB,KAAK,OAAO,EAAE,QAAQ,SAAS,MAAM;AAC9D,oBAAM,KAAK,cAAc,IAAI,CAAC;AAC9B,kBAAI,iBAAiB,MAAM,eAAe,KAAK,QAAQ,IAAI,CAAC,CAAC;AAAA,YACvE,CAAS;AACD,oBAAQ,QAAQ,QAAQ,SAASE,QAAO,MAAM;AAC5C,kBAAI,MAAM,QAAQ,IAAI,MAAM,IAAI;AAC9B,oBAAI,iBAAiB,MAAMA,MAAK;AAAA,cAC5C;AAAA,YACA,CAAS;AAAA,UACT,OAAa;AACL,oBAAQ,QAAQ,QAAQ,SAASA,QAAO,MAAM;AAC5C,kBAAI,iBAAiB,MAAMA,MAAK;AAAA,YAC1C,CAAS;AAAA,UACT;AAEM,cAAI,QAAQ,QAAQ;AAClB,oBAAQ,OAAO,iBAAiB,SAAS,QAAQ;AAEjD,gBAAI,qBAAqB,WAAW;AAElC,kBAAI,IAAI,eAAe,GAAG;AACxB,wBAAQ,OAAO,oBAAoB,SAAS,QAAQ;AAAA,cAChE;AAAA,YACA;AAAA,UACA;AAEM,cAAI,KAAK,OAAO,QAAQ,cAAc,cAAc,OAAO,QAAQ,SAAS;AAAA,QAClF,CAAK;AAAA,MACL;AAEE,MAAAQ,OAAM,WAAW;AAEjB,UAAI,CAACV,GAAE,OAAO;AACZ,QAAAA,GAAE,QAAQU;AACV,QAAAV,GAAE,UAAUG;AACZ,QAAAH,GAAE,UAAUM;AACZ,QAAAN,GAAE,WAAWQ;AAAA,MACjB;AAEE,MAAAT,SAAQ,UAAUI;AAClB,MAAAJ,SAAQ,UAAUO;AAClB,MAAAP,SAAQ,WAAWS;AACnB,MAAAT,SAAQ,QAAQW;AAEhB,aAAOX;AAAA,IAET,GAAG,CAAA,CAAE;AAAA,EACL,GAAG,cAAc;AAEjB,iBAAe,MAAM,WAAW;AAChC,SAAO,eAAe,MAAM;AAE5B,MAAI,MAAM,WAAW,QAAQ,aAAa;AAC1C,YAAU,IAAI;AACd,UAAA,UAAkB,IAAI;AACtB,UAAA,QAAgB,IAAI;AACpB,UAAA,UAAkB,IAAI;AACtB,UAAA,UAAkB,IAAI;AACtB,UAAA,WAAmB,IAAI;AACvB,SAAA,UAAiB;;;;;;;;;;ACvqBjB,MAAI,IAAI;AACR,MAAIY,KAAI,IAAI;AACZ,MAAIC,KAAID,KAAI;AACZ,MAAIE,KAAID,KAAI;AACZ,MAAIE,KAAID,KAAI;AACZ,MAAIE,KAAIF,KAAI;AAgBZG,SAAiB,SAAS,KAAK,SAAS;AACtC,cAAU,WAAW,CAAA;AACrB,QAAI,OAAO,OAAO;AAClB,QAAI,SAAS,YAAY,IAAI,SAAS,GAAG;AACvC,aAAOC,OAAM,GAAG;AAAA,IACpB,WAAa,SAAS,YAAY,SAAS,GAAG,GAAG;AAC7C,aAAO,QAAQ,OAAO,QAAQ,GAAG,IAAI,SAAS,GAAG;AAAA,IACrD;AACE,UAAM,IAAI;AAAA,MACR,0DACE,KAAK,UAAU,GAAG;AAAA,IACxB;AAAA,EACA;AAUA,WAASA,OAAM,KAAK;AAClB,UAAM,OAAO,GAAG;AAChB,QAAI,IAAI,SAAS,KAAK;AACpB;AAAA,IACJ;AACE,QAAI,QAAQ,mIAAmI;AAAA,MAC7I;AAAA,IACJ;AACE,QAAI,CAAC,OAAO;AACV;AAAA,IACJ;AACE,QAAI,IAAI,WAAW,MAAM,CAAC,CAAC;AAC3B,QAAI,QAAQ,MAAM,CAAC,KAAK,MAAM,YAAW;AACzC,YAAQ,MAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO,IAAIF;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO,IAAID;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO,IAAID;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO,IAAID;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO,IAAID;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO,IAAI;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO;AAAA,MACT;AACE,eAAO;AAAA;EAEb;AAUA,WAAS,SAASK,KAAI;AACpB,QAAI,QAAQ,KAAK,IAAIA,GAAE;AACvB,QAAI,SAASH,IAAG;AACd,aAAO,KAAK,MAAMG,MAAKH,EAAC,IAAI;AAAA,IAChC;AACE,QAAI,SAASD,IAAG;AACd,aAAO,KAAK,MAAMI,MAAKJ,EAAC,IAAI;AAAA,IAChC;AACE,QAAI,SAASD,IAAG;AACd,aAAO,KAAK,MAAMK,MAAKL,EAAC,IAAI;AAAA,IAChC;AACE,QAAI,SAAS,GAAG;AACd,aAAO,KAAK,MAAMK,MAAK,CAAC,IAAI;AAAA,IAChC;AACE,WAAOA,MAAK;AAAA,EACd;AAUA,WAAS,QAAQA,KAAI;AACnB,QAAI,QAAQ,KAAK,IAAIA,GAAE;AACvB,QAAI,SAASH,IAAG;AACd,aAAO,OAAOG,KAAI,OAAOH,IAAG,KAAK;AAAA,IACrC;AACE,QAAI,SAASD,IAAG;AACd,aAAO,OAAOI,KAAI,OAAOJ,IAAG,MAAM;AAAA,IACtC;AACE,QAAI,SAASD,IAAG;AACd,aAAO,OAAOK,KAAI,OAAOL,IAAG,QAAQ;AAAA,IACxC;AACE,QAAI,SAAS,GAAG;AACd,aAAO,OAAOK,KAAI,OAAO,GAAG,QAAQ;AAAA,IACxC;AACE,WAAOA,MAAK;AAAA,EACd;AAMA,WAAS,OAAOA,KAAI,OAAO,GAAG,MAAM;AAClC,QAAI,WAAW,SAAS,IAAI;AAC5B,WAAO,KAAK,MAAMA,MAAK,CAAC,IAAI,MAAM,QAAQ,WAAW,MAAM;AAAA,EAC7D;;;AC3JA,SAAS,MAAM,KAAK;AACnB,cAAY,QAAQ;AACpB,cAAY,UAAU;AACtB,cAAY,SAAS;AACrB,cAAY,UAAU;AACtB,cAAY,SAAS;AACrB,cAAY,UAAU;AACtB,cAAY,WAAWE;AACvB,cAAY,UAAU;AAEtB,SAAO,KAAK,GAAG,EAAE,QAAQ,SAAO;AAC/B,gBAAY,GAAG,IAAI,IAAI,GAAG;AAAA,EAC5B,CAAE;AAMD,cAAY,QAAQ,CAAA;AACpB,cAAY,QAAQ,CAAA;AAOpB,cAAY,aAAa,CAAA;AAQzB,WAAS,YAAY,WAAW;AAC/B,QAAI,OAAO;AAEX,aAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AAC1C,cAAS,QAAQ,KAAK,OAAQ,UAAU,WAAW,CAAC;AACpD,cAAQ;AAAA,IACX;AAEE,WAAO,YAAY,OAAO,KAAK,IAAI,IAAI,IAAI,YAAY,OAAO,MAAM;AAAA,EACtE;AACC,cAAY,cAAc;AAS1B,WAAS,YAAY,WAAW;AAC/B,QAAI;AACJ,QAAI,iBAAiB;AACrB,QAAI;AACJ,QAAI;AAEJ,aAAS,SAAS,MAAM;AAEvB,UAAI,CAAC,MAAM,SAAS;AACnB;AAAA,MACJ;AAEG,YAAMC,QAAO;AAGb,YAAM,OAAO,OAAO,oBAAI,MAAM;AAC9B,YAAMH,MAAK,QAAQ,YAAY;AAC/B,MAAAG,MAAK,OAAOH;AACZ,MAAAG,MAAK,OAAO;AACZ,MAAAA,MAAK,OAAO;AACZ,iBAAW;AAEX,WAAK,CAAC,IAAI,YAAY,OAAO,KAAK,CAAC,CAAC;AAEpC,UAAI,OAAO,KAAK,CAAC,MAAM,UAAU;AAEhC,aAAK,QAAQ,IAAI;AAAA,MACrB;AAGG,UAAI,QAAQ;AACZ,WAAK,CAAC,IAAI,KAAK,CAAC,EAAE,QAAQ,iBAAiB,CAAC,OAAO,WAAW;AAE7D,YAAI,UAAU,MAAM;AACnB,iBAAO;AAAA,QACZ;AACI;AACA,cAAM,YAAY,YAAY,WAAW,MAAM;AAC/C,YAAI,OAAO,cAAc,YAAY;AACpC,gBAAM,MAAM,KAAK,KAAK;AACtB,kBAAQ,UAAU,KAAKA,OAAM,GAAG;AAGhC,eAAK,OAAO,OAAO,CAAC;AACpB;AAAA,QACL;AACI,eAAO;AAAA,MACX,CAAI;AAGD,kBAAY,WAAW,KAAKA,OAAM,IAAI;AAEtC,YAAM,QAAQA,MAAK,OAAO,YAAY;AACtC,YAAM,MAAMA,OAAM,IAAI;AAAA,IACzB;AAEE,UAAM,YAAY;AAClB,UAAM,YAAY,YAAY,UAAS;AACvC,UAAM,QAAQ,YAAY,YAAY,SAAS;AAC/C,UAAM,SAAS;AACf,UAAM,UAAU,YAAY;AAE5B,WAAO,eAAe,OAAO,WAAW;AAAA,MACvC,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,KAAK,MAAM;AACV,YAAI,mBAAmB,MAAM;AAC5B,iBAAO;AAAA,QACZ;AACI,YAAI,oBAAoB,YAAY,YAAY;AAC/C,4BAAkB,YAAY;AAC9B,yBAAe,YAAY,QAAQ,SAAS;AAAA,QACjD;AAEI,eAAO;AAAA,MACX;AAAA,MACG,KAAK,CAAAC,OAAK;AACT,yBAAiBA;AAAA,MACrB;AAAA,IACA,CAAG;AAGD,QAAI,OAAO,YAAY,SAAS,YAAY;AAC3C,kBAAY,KAAK,KAAK;AAAA,IACzB;AAEE,WAAO;AAAA,EACT;AAEC,WAAS,OAAO,WAAW,WAAW;AACrC,UAAM,WAAW,YAAY,KAAK,aAAa,OAAO,cAAc,cAAc,MAAM,aAAa,SAAS;AAC9G,aAAS,MAAM,KAAK;AACpB,WAAO;AAAA,EACT;AASC,WAAS,OAAO,YAAY;AAC3B,gBAAY,KAAK,UAAU;AAC3B,gBAAY,aAAa;AAEzB,gBAAY,QAAQ,CAAA;AACpB,gBAAY,QAAQ,CAAA;AAEpB,QAAI;AACJ,UAAM,SAAS,OAAO,eAAe,WAAW,aAAa,IAAI,MAAM,QAAQ;AAC/E,UAAM,MAAM,MAAM;AAElB,SAAK,IAAI,GAAG,IAAI,KAAK,KAAK;AACzB,UAAI,CAAC,MAAM,CAAC,GAAG;AAEd;AAAA,MACJ;AAEG,mBAAa,MAAM,CAAC,EAAE,QAAQ,OAAO,KAAK;AAE1C,UAAI,WAAW,CAAC,MAAM,KAAK;AAC1B,oBAAY,MAAM,KAAK,IAAI,OAAO,MAAM,WAAW,MAAM,CAAC,IAAI,GAAG,CAAC;AAAA,MACtE,OAAU;AACN,oBAAY,MAAM,KAAK,IAAI,OAAO,MAAM,aAAa,GAAG,CAAC;AAAA,MAC7D;AAAA,IACA;AAAA,EACA;AAQC,WAAS,UAAU;AAClB,UAAM,aAAa;AAAA,MAClB,GAAG,YAAY,MAAM,IAAI,WAAW;AAAA,MACpC,GAAG,YAAY,MAAM,IAAI,WAAW,EAAE,IAAI,eAAa,MAAM,SAAS;AAAA,IACzE,EAAI,KAAK,GAAG;AACV,gBAAY,OAAO,EAAE;AACrB,WAAO;AAAA,EACT;AASC,WAAS,QAAQ,MAAM;AACtB,QAAI,KAAK,KAAK,SAAS,CAAC,MAAM,KAAK;AAClC,aAAO;AAAA,IACV;AAEE,QAAI;AACJ,QAAI;AAEJ,SAAK,IAAI,GAAG,MAAM,YAAY,MAAM,QAAQ,IAAI,KAAK,KAAK;AACzD,UAAI,YAAY,MAAM,CAAC,EAAE,KAAK,IAAI,GAAG;AACpC,eAAO;AAAA,MACX;AAAA,IACA;AAEE,SAAK,IAAI,GAAG,MAAM,YAAY,MAAM,QAAQ,IAAI,KAAK,KAAK;AACzD,UAAI,YAAY,MAAM,CAAC,EAAE,KAAK,IAAI,GAAG;AACpC,eAAO;AAAA,MACX;AAAA,IACA;AAEE,WAAO;AAAA,EACT;AASC,WAAS,YAAY,QAAQ;AAC5B,WAAO,OAAO,SAAQ,EACpB,UAAU,GAAG,OAAO,SAAQ,EAAG,SAAS,CAAC,EACzC,QAAQ,WAAW,GAAG;AAAA,EAC1B;AASC,WAAS,OAAO,KAAK;AACpB,QAAI,eAAe,OAAO;AACzB,aAAO,IAAI,SAAS,IAAI;AAAA,IAC3B;AACE,WAAO;AAAA,EACT;AAMC,WAAS,UAAU;AAClB,YAAQ,KAAK,uIAAuI;AAAA,EACtJ;AAEC,cAAY,OAAO,YAAY,MAAM;AAErC,SAAO;AACR;AAEA,IAAA,SAAiB;AAAA;AC3QjB,UAAA,aAAqB;AACrB,UAAA,OAAe;AACf,UAAA,OAAe;AACf,UAAA,YAAoB;AACpB,UAAA,UAAkB,aAAY;AAC9B,UAAA,UAAmB,uBAAM;AACxB,QAAI,SAAS;AAEb,WAAO,MAAM;AACZ,UAAI,CAAC,QAAQ;AACZ,iBAAS;AACT,gBAAQ,KAAK,uIAAuI;AAAA,MACvJ;AAAA,IACA;AAAA,EACA,GAAC;AAMD,UAAA,SAAiB;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAWA,WAAS,YAAY;AAIpB,QAAI,OAAO,WAAW,eAAe,OAAO,YAAY,OAAO,QAAQ,SAAS,cAAc,OAAO,QAAQ,SAAS;AACrH,aAAO;AAAA,IACT;AAGC,QAAI,OAAO,cAAc,eAAe,UAAU,aAAa,UAAU,UAAU,YAAW,EAAG,MAAM,uBAAuB,GAAG;AAChI,aAAO;AAAA,IACT;AAIC,WAAQ,OAAO,aAAa,eAAe,SAAS,mBAAmB,SAAS,gBAAgB,SAAS,SAAS,gBAAgB,MAAM;AAAA,IAEtI,OAAO,WAAW,eAAe,OAAO,YAAY,OAAO,QAAQ,WAAY,OAAO,QAAQ,aAAa,OAAO,QAAQ;AAAA;AAAA,IAG1H,OAAO,cAAc,eAAe,UAAU,aAAa,UAAU,UAAU,YAAW,EAAG,MAAM,gBAAgB,KAAK,SAAS,OAAO,IAAI,EAAE,KAAK;AAAA,IAEnJ,OAAO,cAAc,eAAe,UAAU,aAAa,UAAU,UAAU,YAAW,EAAG,MAAM,oBAAoB;AAAA,EAC1H;AAQA,WAAS,WAAW,MAAM;AACzB,SAAK,CAAC,KAAK,KAAK,YAAY,OAAO,MAClC,KAAK,aACJ,KAAK,YAAY,QAAQ,OAC1B,KAAK,CAAC,KACL,KAAK,YAAY,QAAQ,OAC1B,MAAM,OAAO,QAAQ,SAAS,KAAK,IAAI;AAExC,QAAI,CAAC,KAAK,WAAW;AACpB;AAAA,IACF;AAEC,UAAMC,KAAI,YAAY,KAAK;AAC3B,SAAK,OAAO,GAAG,GAAGA,IAAG,gBAAgB;AAKrC,QAAI,QAAQ;AACZ,QAAI,QAAQ;AACZ,SAAK,CAAC,EAAE,QAAQ,eAAe,WAAS;AACvC,UAAI,UAAU,MAAM;AACnB;AAAA,MACH;AACE;AACA,UAAI,UAAU,MAAM;AAGnB,gBAAQ;AAAA,MACX;AAAA,IACA,CAAE;AAED,SAAK,OAAO,OAAO,GAAGA,EAAC;AAAA,EACxB;AAUA,UAAA,MAAc,QAAQ,SAAS,QAAQ,QAAQ,MAAM;AAAA,EAAA;AAQrD,WAAS,KAAK,YAAY;AACzB,QAAI;AACH,UAAI,YAAY;AACf,gBAAQ,QAAQ,QAAQ,SAAS,UAAU;AAAA,MAC9C,OAAS;AACN,gBAAQ,QAAQ,WAAW,OAAO;AAAA,MACrC;AAAA,IACA,SAAU,OAAO;AAAA,IAGjB;AAAA,EACA;AAQA,WAAS,OAAO;AACf,QAAIC;AACJ,QAAI;AACH,MAAAA,KAAI,QAAQ,QAAQ,QAAQ,OAAO;AAAA,IACrC,SAAU,OAAO;AAAA,IAGjB;AAGC,QAAI,CAACA,MAAK,OAAOC,cAAY,eAAe,SAASA,WAAS;AAC7D,MAAAD,KAAIC,UAAQ,IAAI;AAAA,IAClB;AAEC,WAAOD;AAAA,EACR;AAaA,WAAS,eAAe;AACvB,QAAI;AAGH,aAAO;AAAA,IACT,SAAU,OAAO;AAAA,IAGjB;AAAA,EACA;AAEA,SAAA,UAAiBJ,OAAoB,OAAO;AAE5C,QAAM,EAAC,WAAU,IAAI,OAAO;AAM5B,aAAW,IAAI,SAAUE,IAAG;AAC3B,QAAI;AACH,aAAO,KAAK,UAAUA,EAAC;AAAA,IACzB,SAAU,OAAO;AACf,aAAO,iCAAiC,MAAM;AAAA,IAChD;AAAA,EACA;;;;AC3QA,IAAII,cAAY,OAAO;AACvB,IAAIC,qBAAmB,OAAO;AAC9B,IAAIC,sBAAoB,OAAO;AAC/B,IAAIC,iBAAe,OAAO,UAAU;AACpC,IAAIC,aAAW,CAAC,QAAQ,QAAQ;AAC9B,WAAS,QAAQ;AACfJ,gBAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,MAAM;AAChE;AACA,IAAIK,gBAAc,CAACC,KAAI,MAAM,QAAQ,SAAS;AAC5C,MAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;AAClE,aAAS,OAAOJ,oBAAkB,IAAI;AACpC,UAAI,CAACC,eAAa,KAAKG,KAAI,GAAG,KAAK,QAAQ;AACzCN,oBAAUM,KAAI,KAAK,EAAE,KAAK,MAAM,KAAK,GAAG,GAAG,YAAY,EAAE,OAAOL,mBAAiB,MAAM,GAAG,MAAM,KAAK,YAAY;AAAA,EACzH;AACE,SAAOK;AACT;AACA,IAAIC,iBAAe,CAAC,QAAQF,cAAYL,YAAU,CAAA,GAAI,cAAc,EAAE,OAAO,KAAI,CAAE,GAAG,GAAG;AAGzF,IAAIQ,kBAAgB,CAAA;AACpBJ,WAASI,iBAAe;AAAA,EACtB,gBAAgB,MAAM;AAAA,EACtB,uBAAuB,MAAM;AAAA,EAC7B,uBAAuB,MAAM;AAAA,EAC7B,SAAS,MAAM;AAAA,EACf,uBAAuB,MAAM;AAAA,EAC7B,uBAAuB,MAAM;AAAA,EAC7B,cAAc,MAAM;AAAA,EACpB,UAAU,MAAM;AAAA,EAChB,qBAAqB,MAAM;AAAA,EAC3B,qBAAqB,MAAM;AAAA,EAC3B,sBAAsB,MAAM;AAAA,EAC5B,yBAAyB,MAAM;AAAA,EAC/B,uBAAuB,MAAM;AAC/B,CAAC;AACD,IAAA,MAAiBD,eAAaC,eAAa;AAC3C,IAAI,gBAAgB;AACpB,IAAI,yBAAyB,MAAM;;AACjC,SAAO,OAAOT,cAAY,YAAY,OAAO,UAASA,OAAAA,MAAAA,MAAAA,8BAAAA,IAAS,aAATA,mBAAmB,SAAnBA,gBAAAA,IAAyB,UAAU,GAAG,EAAE,KAAK,MAAMA,UAAQ,SAAS;AAC5H;AACA,SAAS,WAAW;AAClB,SAAO,KAAK,OAAM,EAAG,SAAS,EAAE,EAAE,MAAM,GAAG,EAAE;AAC/C;AACA,SAAS,aAAa,eAAe;AACnC,MAAI;AAAA,IACF,UAAU;AAAA,IACV,SAAS,gBAAgB,WAAW;AAAA,IACpC,OAAO,YAAY,WAAW;AAAA,IAC9B,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB,GAAG;AAAA,EACP,IAAM,EAAE,GAAG,cAAa;AACtB,mBAAiB,2BAA2B,iBAAiB;AAC7D,YAAU,oBAAoB,OAAO;AACrC,QAAM,cAAc,CAAA;AACpB,iBAAe,UAAU,YAAY,cAAc;AACjD,UAAM;AAAA,MACJ,SAAS;AAAA,MACT,OAAAb,SAAQ;AAAA,MACR,SAAAJ,WAAU;AAAA,MACV;AAAA,MACA,SAAS,CAAA;AAAA,MACT,UAAU;AAAA,MACV,iBAAiB;AAAA,MACjB,iBAAiB,wBAAwB;AAAA,MACzC;AAAA,MACA,GAAG;AAAA,IACT,IAAQ,gBAAgB,CAAA;AACpB,QAAI,eAAe;AACnB,QAAI,cAAc;AAChB,qBAAe,oBAAoB,YAAY,KAAK;AAAA,IAC1D;AACI,QAAI,kBAAkB,OAAO,0BAA0B,aAAa,wBAAwB,sBAAsB,qBAAqB;AACvI,QAAI,wBAAwB;AAC1B,wBAAkB,OAAO,2BAA2B,aAAa,yBAAyB,sBAAsB;AAAA,QAC9G,GAAG,OAAO,0BAA0B,WAAW,wBAAwB,CAAA;AAAA,QACvE,GAAG;AAAA,MACX,CAAO;AAAA,IACP;AACI,UAAM,iBAAiB,SAAS,SAAS,SAAS;AAAA,MAChD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMA,aAAa,aAAa,SAAS,OAAO,MAAM;AAAA,IACtD;AACI,UAAM,eAAe;AAAA;AAAA,MAEnB,mBAAmB;AAAA,MACnB,0BAA0B,WAAW,KAAK;AAAA,QACxC,gBAAgB;AAAA,MACxB;AAAA,MACM;AAAA,MACA;AAAA,MACA,OAAO;AAAA,IACb;AACI,UAAM,cAAc;AAAA,MAClB,UAAU;AAAA,MACV,GAAG;AAAA,MACH,GAAG;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA,IACf;AACI,QAAI2B;AACJ,QAAI;AACJ,QAAI,UAAU,IAAI;AAAA,MAChB,eAAe,YAAY,EAAE,SAAS,cAAc,QAAQ,iBAAiB;AAAA,MAC7E;AAAA,IACN;AACI,QAAI;AACJ,eAAW,OAAO,MAAM;AACtB,UAAI,EAAE,OAAO,UAAU;AACrB,gBAAQ,GAAG,IAAI,KAAK,GAAG;AAAA,MAC/B;AAAA,IACA;AACI,QAAI,YAAY,QAAQ;AACtB,MAAAA,MAAK,SAAQ;AACb,gBAAU,OAAO,OAAO;AAAA,QACtB,SAAS;AAAA,QACT,OAAAvB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACR,CAAO;AACD,iBAAWC,MAAK,aAAa;AAC3B,YAAIA,MAAK,OAAOA,OAAM,YAAY,OAAOA,GAAE,cAAc,YAAY;AACnE,gBAAM,SAAS,MAAMA,GAAE,UAAU;AAAA,YAC/B;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,IAAAsB;AAAA,UACZ,CAAW;AACD,cAAI,QAAQ;AACV,gBAAI,kBAAkB,eAAe;AACnC,wBAAU;AAAA,YACxB,WAAuB,kBAAkB,UAAU;AACrC,yBAAW;AACX;AAAA,YACd,OAAmB;AACL,oBAAM,IAAI,MAAM,+EAA+E;AAAA,YAC7G;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AACI,QAAI,CAAC,UAAU;AACb,UAAI;AACF,mBAAW,MAAMvB,OAAM,SAAS,cAAc;AAAA,MACtD,SAAe,QAAQ;AACf,YAAI,uBAAuB;AAC3B,YAAI,YAAY,QAAQ;AACtB,mBAAS,IAAI,YAAY,SAAS,GAAG,KAAK,GAAG,KAAK;AAChD,kBAAMC,KAAI,YAAY,CAAC;AACvB,gBAAIA,MAAK,OAAOA,OAAM,YAAY,OAAOA,GAAE,YAAY,YAAY;AACjE,oBAAM,SAAS,MAAMA,GAAE,QAAQ;AAAA,gBAC7B;AAAA,gBACA,OAAO;AAAA,gBACP;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA,IAAAsB;AAAA,cAChB,CAAe;AACD,kBAAI,QAAQ;AACV,oBAAI,kBAAkB,UAAU;AAC9B,yCAAuB;AACvB,6BAAW;AACX;AAAA,gBAClB;AACgB,oBAAI,kBAAkB,OAAO;AAC3B,yCAAuB;AACvB;AAAA,gBAClB;AACgB,sBAAM,IAAI,MAAM,0DAA0D;AAAA,cAC1F;AAAA,YACA;AAAA,UACA;AAAA,QACA;AACQ,YAAI,sBAAsB;AACxB,gBAAM;AAAA,QAChB;AAAA,MACA;AACM,UAAI,YAAY,QAAQ;AACtB,iBAAS,IAAI,YAAY,SAAS,GAAG,KAAK,GAAG,KAAK;AAChD,gBAAMtB,KAAI,YAAY,CAAC;AACvB,cAAIA,MAAK,OAAOA,OAAM,YAAY,OAAOA,GAAE,eAAe,YAAY;AACpE,kBAAM,SAAS,MAAMA,GAAE,WAAW;AAAA,cAChC;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA,IAAAsB;AAAA,YACd,CAAa;AACD,gBAAI,QAAQ;AACV,kBAAI,EAAE,kBAAkB,WAAW;AACjC,sBAAM,IAAI,MAAM,oEAAoE;AAAA,cACpG;AACc,yBAAW;AAAA,YACzB;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AACI,QAAI,SAAS,WAAW,OAAO,QAAQ,WAAW,UAAU,SAAS,QAAQ,IAAI,gBAAgB,MAAM,KAAK;AAC1G,aAAO,SAAS,KAAK,EAAE,MAAM,QAAQ,SAAQ,IAAK,EAAE,OAAO,QAAQ,SAAQ;AAAA,IACjF;AACI,QAAI,SAAS,IAAI;AACf,UAAI,YAAY,UAAU;AACxB,eAAO,EAAE,MAAM,SAAS,MAAM,SAAQ;AAAA,MAC9C;AACM,aAAO,EAAE,MAAM,MAAM,SAAS,OAAO,EAAC,GAAI,SAAQ;AAAA,IACxD;AACI,QAAI,QAAQ,MAAM,SAAS,KAAI;AAC/B,QAAI;AACF,cAAQ,KAAK,MAAM,KAAK;AAAA,IAC9B,QAAY;AAAA,IACZ;AACI,WAAO,EAAE,OAAO,SAAQ;AAAA,EAC5B;AACE,SAAO;AAAA,IACL,QAAQ,QAAQxB,MAAK,MAAM;AACzB,aAAO,UAAUA,MAAK,EAAE,GAAG,MAAM,QAAQ,OAAO,YAAW,GAAI;AAAA,IACrE;AAAA;AAAA,IAEI,IAAIA,MAAK,MAAM;AACb,aAAO,UAAUA,MAAK,EAAE,GAAG,MAAM,QAAQ,OAAO;AAAA,IACtD;AAAA;AAAA,IAEI,IAAIA,MAAK,MAAM;AACb,aAAO,UAAUA,MAAK,EAAE,GAAG,MAAM,QAAQ,OAAO;AAAA,IACtD;AAAA;AAAA,IAEI,KAAKA,MAAK,MAAM;AACd,aAAO,UAAUA,MAAK,EAAE,GAAG,MAAM,QAAQ,QAAQ;AAAA,IACvD;AAAA;AAAA,IAEI,OAAOA,MAAK,MAAM;AAChB,aAAO,UAAUA,MAAK,EAAE,GAAG,MAAM,QAAQ,UAAU;AAAA,IACzD;AAAA;AAAA,IAEI,QAAQA,MAAK,MAAM;AACjB,aAAO,UAAUA,MAAK,EAAE,GAAG,MAAM,QAAQ,WAAW;AAAA,IAC1D;AAAA;AAAA,IAEI,KAAKA,MAAK,MAAM;AACd,aAAO,UAAUA,MAAK,EAAE,GAAG,MAAM,QAAQ,QAAQ;AAAA,IACvD;AAAA;AAAA,IAEI,MAAMA,MAAK,MAAM;AACf,aAAO,UAAUA,MAAK,EAAE,GAAG,MAAM,QAAQ,SAAS;AAAA,IACxD;AAAA;AAAA,IAEI,MAAMA,MAAK,MAAM;AACf,aAAO,UAAUA,MAAK,EAAE,GAAG,MAAM,QAAQ,SAAS;AAAA,IACxD;AAAA;AAAA,IAEI,OAAO,YAAY;AACjB,iBAAWE,MAAK,YAAY;AAC1B,YAAI,CAACA,IAAG;AACN;AAAA,QACV;AACQ,YAAI,OAAOA,OAAM,YAAY,EAAE,eAAeA,MAAK,gBAAgBA,MAAK,aAAaA,KAAI;AACvF,gBAAM,IAAI,MAAM,sFAAsF;AAAA,QAChH;AACQ,oBAAY,KAAKA,EAAC;AAAA,MAC1B;AAAA,IACA;AAAA;AAAA,IAEI,SAAS,YAAY;AACnB,iBAAWA,MAAK,YAAY;AAC1B,cAAM,IAAI,YAAY,QAAQA,EAAC;AAC/B,YAAI,MAAM,IAAI;AACZ,sBAAY,OAAO,GAAG,CAAC;AAAA,QACjC;AAAA,MACA;AAAA,IACA;AAAA,EACA;AACA;AACA,IAAI,oBAAoB,MAAM;AAAA,EAC5B,YAAYuB,SAAQzB,MAAK;AAIzB,+BAAM,CAAC,SAAS;AACd,aAAO,KAAK,OAAO,IAAI,KAAK,KAAK,IAAI;AAAA,IACzC;AACE,+BAAM,CAAC,SAAS;AACd,aAAO,KAAK,OAAO,IAAI,KAAK,KAAK,IAAI;AAAA,IACzC;AACE,gCAAO,CAAC,SAAS;AACf,aAAO,KAAK,OAAO,KAAK,KAAK,KAAK,IAAI;AAAA,IAC1C;AACE,kCAAS,CAAC,SAAS;AACjB,aAAO,KAAK,OAAO,OAAO,KAAK,KAAK,IAAI;AAAA,IAC5C;AACE,mCAAU,CAAC,SAAS;AAClB,aAAO,KAAK,OAAO,QAAQ,KAAK,KAAK,IAAI;AAAA,IAC7C;AACE,gCAAO,CAAC,SAAS;AACf,aAAO,KAAK,OAAO,KAAK,KAAK,KAAK,IAAI;AAAA,IAC1C;AACE,iCAAQ,CAAC,SAAS;AAChB,aAAO,KAAK,OAAO,MAAM,KAAK,KAAK,IAAI;AAAA,IAC3C;AACE,iCAAQ,CAAC,SAAS;AAChB,aAAO,KAAK,OAAO,MAAM,KAAK,KAAK,IAAI;AAAA,IAC3C;AA1BI,SAAK,SAASyB;AACd,SAAK,MAAMzB;AAAA,EACf;AAyBA;AACA,IAAI,yBAAyB,MAAM;AAAA,EACjC,cAAc;AACZ,SAAK,SAAS;AAAA,EAClB;AAAA;AAAA,EAEE,IAAI,YAAYA,MAAK;AACnB,UAAM,YAAY,IAAI,kBAAkB,YAAYA,IAAG;AACvD,SAAK,OAAOA,IAAG,IAAI;AACnB,WAAO;AAAA,EACX;AACA;AACA,SAAS,sBAAsB,YAAY;AACzC,QAAM,UAAU,IAAI,uBAAsB;AAC1C,QAAM,QAAQ,IAAI,MAAM,YAAY,OAAO;AAC3C,WAAS,SAAS;AAAA,EACpB;AACE,SAAO,YAAY;AACnB,QAAMyB,UAAS,IAAI,OAAM;AACzB,UAAQ,SAASA;AACjB,SAAOA;AACT;AACA,SAAS,sBAAsB,eAAe;AAC5C,SAAO,sBAAsB,aAAa,aAAa,CAAC;AAC1D;AACA,SAAS,wBAAwB,MAAMhC,QAAO,SAAS;AACrD,MAAIA,WAAU,UAAUA,WAAU,MAAM;AACtC,WAAO;AAAA,EACX;AACE,MAAI,OAAOA,WAAU,UAAU;AAC7B,UAAM,IAAI;AAAA,MACR;AAAA,IACN;AAAA,EACA;AACE,SAAO,GAAG,IAAI,KAAI,mCAAS,mBAAkB,OAAOA,SAAQ,mBAAmBA,MAAK,CAAC;AACvF;AACA,SAAS,qBAAqB,MAAMA,QAAO,SAAS;AAClD,MAAI,CAACA,UAAS,OAAOA,WAAU,UAAU;AACvC,WAAO;AAAA,EACX;AACE,QAAM,SAAS,CAAA;AACf,QAAM,SAAS;AAAA,IACb,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,QAAQ;AAAA,EACZ,EAAI,QAAQ,KAAK,KAAK;AACpB,MAAI,QAAQ,UAAU,gBAAgB,QAAQ,YAAY,OAAO;AAC/D,eAAWiC,MAAKjC,QAAO;AACrB,aAAO,KAAKiC,IAAG,QAAQ,kBAAkB,OAAOjC,OAAMiC,EAAC,IAAI,mBAAmBjC,OAAMiC,EAAC,CAAC,CAAC;AAAA,IAC7F;AACI,UAAM,SAAS,OAAO,KAAK,GAAG;AAC9B,YAAQ,QAAQ,OAAK;AAAA,MACnB,KAAK,QAAQ;AACX,eAAO,GAAG,IAAI,IAAI,MAAM;AAAA,MAChC;AAAA,MACM,KAAK,SAAS;AACZ,eAAO,IAAI,MAAM;AAAA,MACzB;AAAA,MACM,KAAK,UAAU;AACb,eAAO,IAAI,IAAI,IAAI,MAAM;AAAA,MACjC;AAAA,MACM,SAAS;AACP,eAAO;AAAA,MACf;AAAA,IACA;AAAA,EACA;AACE,aAAWA,MAAKjC,QAAO;AACrB,UAAM,YAAY,QAAQ,UAAU,eAAe,GAAG,IAAI,IAAIiC,EAAC,MAAMA;AACrE,WAAO,KAAK,wBAAwB,WAAWjC,OAAMiC,EAAC,GAAG,OAAO,CAAC;AAAA,EACrE;AACE,QAAM,QAAQ,OAAO,KAAK,MAAM;AAChC,SAAO,QAAQ,UAAU,WAAW,QAAQ,UAAU,WAAW,GAAG,MAAM,GAAG,KAAK,KAAK;AACzF;AACA,SAAS,oBAAoB,MAAMjC,QAAO,SAAS;AACjD,MAAI,CAAC,MAAM,QAAQA,MAAK,GAAG;AACzB,WAAO;AAAA,EACX;AACE,MAAI,QAAQ,YAAY,OAAO;AAC7B,UAAM,UAAU,EAAE,MAAM,KAAK,gBAAgB,OAAO,eAAe,IAAG,EAAG,QAAQ,KAAK,KAAK;AAC3F,UAAM,SAAS,QAAQ,kBAAkB,OAAOA,SAAQA,OAAM,IAAI,CAACkB,OAAM,mBAAmBA,EAAC,CAAC,GAAG,KAAK,OAAO;AAC7G,YAAQ,QAAQ,OAAK;AAAA,MACnB,KAAK,UAAU;AACb,eAAO;AAAA,MACf;AAAA,MACM,KAAK,SAAS;AACZ,eAAO,IAAI,KAAK;AAAA,MACxB;AAAA,MACM,KAAK,UAAU;AACb,eAAO,IAAI,IAAI,IAAI,KAAK;AAAA,MAChC;AAAA;AAAA;AAAA,MAGM,SAAS;AACP,eAAO,GAAG,IAAI,IAAI,KAAK;AAAA,MAC/B;AAAA,IACA;AAAA,EACA;AACE,QAAM,SAAS,EAAE,QAAQ,KAAK,OAAO,KAAK,QAAQ,IAAG,EAAG,QAAQ,KAAK,KAAK;AAC1E,QAAM,SAAS,CAAA;AACf,aAAWA,MAAKlB,QAAO;AACrB,QAAI,QAAQ,UAAU,YAAY,QAAQ,UAAU,SAAS;AAC3D,aAAO,KAAK,QAAQ,kBAAkB,OAAOkB,KAAI,mBAAmBA,EAAC,CAAC;AAAA,IAC5E,OAAW;AACL,aAAO,KAAK,wBAAwB,MAAMA,IAAG,OAAO,CAAC;AAAA,IAC3D;AAAA,EACA;AACE,SAAO,QAAQ,UAAU,WAAW,QAAQ,UAAU,WAAW,GAAG,MAAM,GAAG,OAAO,KAAK,MAAM,CAAC,KAAK,OAAO,KAAK,MAAM;AACzH;AACA,SAAS,sBAAsB,SAAS;AACtC,SAAO,SAAS,gBAAgB,aAAa;AAC3C,UAAM,SAAS,CAAA;AACf,QAAI,eAAe,OAAO,gBAAgB,UAAU;AAClD,iBAAW,QAAQ,aAAa;AAC9B,cAAMlB,SAAQ,YAAY,IAAI;AAC9B,YAAIA,WAAU,UAAUA,WAAU,MAAM;AACtC;AAAA,QACV;AACQ,YAAI,MAAM,QAAQA,MAAK,GAAG;AACxB,cAAIA,OAAM,WAAW,GAAG;AACtB;AAAA,UACZ;AACU,iBAAO;AAAA,YACL,oBAAoB,MAAMA,QAAO;AAAA,cAC/B,OAAO;AAAA,cACP,SAAS;AAAA,cACT,GAAG,mCAAS;AAAA,cACZ,gBAAe,mCAAS,kBAAiB;AAAA,YACvD,CAAa;AAAA,UACb;AACU;AAAA,QACV;AACQ,YAAI,OAAOA,WAAU,UAAU;AAC7B,iBAAO;AAAA,YACL,qBAAqB,MAAMA,QAAO;AAAA,cAChC,OAAO;AAAA,cACP,SAAS;AAAA,cACT,GAAG,mCAAS;AAAA,cACZ,gBAAe,mCAAS,kBAAiB;AAAA,YACvD,CAAa;AAAA,UACb;AACU;AAAA,QACV;AACQ,eAAO,KAAK,wBAAwB,MAAMA,QAAO,OAAO,CAAC;AAAA,MACjE;AAAA,IACA;AACI,WAAO,OAAO,KAAK,GAAG;AAAA,EAC1B;AACA;AACA,SAAS,sBAAsB,UAAU,YAAY;AACnD,MAAI,UAAU;AACd,aAAW,SAAS,SAAS,MAAM,aAAa,KAAK,CAAA,GAAI;AACvD,QAAI,OAAO,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC;AAC9C,QAAI,UAAU;AACd,QAAI,QAAQ;AACZ,QAAI,KAAK,SAAS,GAAG,GAAG;AACtB,gBAAU;AACV,aAAO,KAAK,UAAU,GAAG,KAAK,SAAS,CAAC;AAAA,IAC9C;AACI,QAAI,KAAK,WAAW,GAAG,GAAG;AACxB,cAAQ;AACR,aAAO,KAAK,UAAU,CAAC;AAAA,IAC7B,WAAe,KAAK,WAAW,GAAG,GAAG;AAC/B,cAAQ;AACR,aAAO,KAAK,UAAU,CAAC;AAAA,IAC7B;AACI,QAAI,CAAC,cAAc,WAAW,IAAI,MAAM,UAAU,WAAW,IAAI,MAAM,MAAM;AAC3E;AAAA,IACN;AACI,UAAMA,SAAQ,WAAW,IAAI;AAC7B,QAAI,MAAM,QAAQA,MAAK,GAAG;AACxB,gBAAU,QAAQ,QAAQ,OAAO,oBAAoB,MAAMA,QAAO,EAAE,OAAO,QAAO,CAAE,CAAC;AACrF;AAAA,IACN;AACI,QAAI,OAAOA,WAAU,UAAU;AAC7B,gBAAU,QAAQ,QAAQ,OAAO,qBAAqB,MAAMA,QAAO,EAAE,OAAO,QAAO,CAAE,CAAC;AACtF;AAAA,IACN;AACI,QAAI,UAAU,UAAU;AACtB,gBAAU,QAAQ,QAAQ,OAAO,IAAI,wBAAwB,MAAMA,MAAK,CAAC,EAAE;AAC3E;AAAA,IACN;AACI,cAAU,QAAQ,QAAQ,OAAO,UAAU,UAAU,IAAI,mBAAmBA,MAAK,CAAC,KAAK,mBAAmBA,MAAK,CAAC;AAAA,EACpH;AACE,SAAO;AACT;AACA,SAAS,sBAAsB,MAAM,SAAS;AAC5C,MAAI,gBAAgB,UAAU;AAC5B,WAAO;AAAA,EACX;AACE,MAAI,SAAS;AACX,UAAM,cAAc,QAAQ,eAAe,WAAW,QAAQ,IAAI,cAAc,KAAK,QAAQ,IAAI,cAAc,IAAI,QAAQ,cAAc,KAAK,QAAQ,cAAc;AACpK,QAAI,gBAAgB,qCAAqC;AACvD,aAAO,IAAI,gBAAgB,IAAI,EAAE,SAAQ;AAAA,IAC/C;AAAA,EACA;AACE,SAAO,KAAK,UAAU,IAAI;AAC5B;AACA,SAAS,eAAe,UAAU,SAAS;;AACzC,MAAI,WAAW,GAAG,QAAQ,OAAO,GAAG,QAAQ;AAC5C,OAAIkC,MAAA,QAAQ,WAAR,gBAAAA,IAAgB,MAAM;AACxB,eAAW,sBAAsB,UAAU,QAAQ,OAAO,IAAI;AAAA,EAClE;AACE,MAAI,SAAS,QAAQ,gBAAgB,QAAQ,OAAO,SAAS,EAAE;AAC/D,MAAI,OAAO,WAAW,GAAG,GAAG;AAC1B,aAAS,OAAO,UAAU,CAAC;AAAA,EAC/B;AACE,MAAI,QAAQ;AACV,gBAAY,IAAI,MAAM;AAAA,EAC1B;AACE,SAAO;AACT;AACA,SAAS,gBAAgB,YAAY;AACnC,QAAM,eAAe,IAAI,QAAO;AAChC,aAAWxB,MAAK,YAAY;AAC1B,QAAI,CAACA,MAAK,OAAOA,OAAM,UAAU;AAC/B;AAAA,IACN;AACI,UAAM,WAAWA,cAAa,UAAUA,GAAE,YAAY,OAAO,QAAQA,EAAC;AACtE,eAAW,CAACuB,IAAGf,EAAC,KAAK,UAAU;AAC7B,UAAIA,OAAM,MAAM;AACd,qBAAa,OAAOe,EAAC;AAAA,MAC7B,WAAiB,MAAM,QAAQf,EAAC,GAAG;AAC3B,mBAAWiB,OAAMjB,IAAG;AAClB,uBAAa,OAAOe,IAAGE,GAAE;AAAA,QACnC;AAAA,MACA,WAAiBjB,OAAM,QAAQ;AACvB,qBAAa,IAAIe,IAAGf,EAAC;AAAA,MAC7B;AAAA,IACA;AAAA,EACA;AACE,SAAO;AACT;AACA,SAAS,oBAAoBX,MAAK;AAChC,MAAIA,KAAI,SAAS,GAAG,GAAG;AACrB,WAAOA,KAAI,UAAU,GAAGA,KAAI,SAAS,CAAC;AAAA,EAC1C;AACE,SAAOA;AACT;ACriBA,IAAI,WAAW,OAAO;AACtB,IAAIe,aAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO;AAC1B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,WAAW,CAAC,QAAQ,QAAQ;AAC9B,WAAS,QAAQ;AACf,IAAAA,WAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,MAAM;AAChE;AACA,IAAI,cAAc,CAACM,KAAI,MAAM,QAAQ,SAAS;AAC5C,MAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;AAClE,aAAS,OAAO,kBAAkB,IAAI;AACpC,UAAI,CAAC,aAAa,KAAKA,KAAI,GAAG,KAAK,QAAQ;AACzC,QAAAN,WAAUM,KAAI,KAAK,EAAE,KAAK,MAAM,KAAK,GAAG,GAAG,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK,YAAY;AAAA,EACzH;AACE,SAAOA;AACT;AACA,IAAI,UAAU,CAAC,KAAK,YAAY,YAAY,SAAS,OAAO,OAAO,SAAS,aAAa,GAAG,CAAC,IAAI,CAAA,GAAI;AAAA;AAAA;AAAA;AAAA;AAAA,EAKrF,CAAC,OAAO,CAAC,IAAI,aAAaN,WAAU,QAAQ,WAAW,EAAE,OAAO,KAAK,YAAY,KAAI,CAAE,IAAI;AAAA,EACzG;AACF;AACA,IAAI,eAAe,CAAC,QAAQ,YAAYA,WAAU,CAAA,GAAI,cAAc,EAAE,OAAO,KAAI,CAAE,GAAG,GAAG;AAGzF,IAAI,gBAAgB,CAAA;AACpB,SAAS,eAAe;AAAA,EACtB,WAAW,MAAM;AACnB,CAAC;AACD,IAAA,OAAiB,aAAa,aAAa;AAG3C,IAAI,uBAAuB,QAAQN,GAAwB;AAG3D,IAAI,SAAS,MAAM;AAAA,EACjB,YAAY,SAAS;AACnB,SAAK,QAAQ,CAAA;AACb,SAAK,eAAe;AACpB,SAAK,YAAY;AACjB,SAAK,YAAY;AACjB,SAAK,YAAY,QAAQ;AACzB,SAAK,gBAAgB,QAAQ;AAC7B,SAAK,mBAAmB,QAAQ;AAChC,SAAK,SAAS,QAAQ;AAAA,EAC1B;AAAA,EACE,QAAQ,MAAM;AACZ,SAAK,MAAM,KAAK,IAAI;AACpB,SAAK,SAAQ;AAAA,EACjB;AAAA,EACE,WAAW;AACT,QAAI,KAAK,MAAM,SAAS,KAAK,CAAC,KAAK,WAAW;AAC5C,WAAK,YAAY,WAAW,MAAM;AAChC,aAAK,YAAY;AACjB,aAAK,MAAK;AAAA,MAClB,GAAS,KAAK,gBAAgB;AAAA,IAC9B;AAAA,EACA;AAAA,EACE,MAAM,QAAQ;AACZ,QAAI,KAAK,aAAa,KAAK,MAAM,WAAW,GAAG;AAC7C;AAAA,IACN;AACI,SAAK,YAAY;AACjB,UAAM,UAAU,CAAC,GAAG,KAAK,MAAM,MAAM,GAAG,KAAK,SAAS,CAAC;AACvD,SAAK,QAAQ,KAAK,MAAM,MAAM,KAAK,SAAS;AAC5C,QAAI;AACF,YAAM,KAAK,OAAO,OAAO;AACzB,WAAK,mBAAmB,KAAK;AAAA,IACnC,SAAa,OAAO;AACd,cAAQ,MAAM,gCAAgC,KAAK;AACnD,WAAK,QAAQ,CAAC,GAAG,SAAS,GAAG,KAAK,KAAK;AACvC,WAAK,mBAAmB,KAAK;AAAA,QAC3B,KAAK,mBAAmB;AAAA,QACxB,KAAK;AAAA,MACb;AAAA,IACA,UAAK;AACC,WAAK,YAAY;AACjB,WAAK,SAAQ;AAAA,IACnB;AAAA,EACA;AACA;AACA,IAAI,iBAAiB;AAGrB,IAAI,YAAY,MAAM;AAAA,EACpB,YAAY,SAAS;AACnB,SAAK,UAAU;AACf,SAAK,aAAa,CAAA;AAClB,UAAM,WAAU,GAAI,qBAAqB,SAAS,EAAE,QAAO,CAAE;AAC7D,UAAM,SAAS,OAAO,UAAU;AAC9B,YAAM,MAAM,MAAM,QAAQ,KAAK,cAAc,EAAE,MAAM,OAAO;AAC5D,UAAI,IAAI,SAAS,WAAW,KAAK;AAC/B,cAAM,IAAI,MAAM,IAAI,KAAK;AAAA,MACjC;AAAA,IACA;AACI,SAAK,SAAS,IAAI,eAAe,EAAE,WAAW,KAAK,eAAe,KAAK,QAAQ;AAAA,EACnF;AAAA,EACE,SAAS;AACP,SAAK,UAAU;AAAA,EACnB;AAAA,EACE,kBAAkB,KAAKhB,QAAO;AAC5B,SAAK,WAAW,GAAG,IAAIA;AAAA,EAC3B;AAAA,EACE,MAAM,MAAM,YAAY;AACtB,QAAI,CAAC,KAAK,SAAS;AACjB;AAAA,IACN;AACI,UAAM,QAAQ;AAAA,MACZ;AAAA,MACA,GAAG,KAAK;AAAA,MACR,GAAG;AAAA,IACT;AACI,SAAK,OAAO,QAAQ,KAAK;AAAA,EAC7B;AACA;AACA,IAAI,oBAAoB;AAGxB,IAAI;AACJ,IAAIkC;AACJ,IAAI,OAAOb,cAAY,eAAeA,UAAQ,KAAK;AACjD,cAAYa,OAAKb,UAAQ,IAAI,gCAAgC,OAAOa,OAAKb,UAAQ,IAAI;AACvF;AACA,IAAI,8BAA8B,YAAY,OAAO,WAAW;AAChE,IAAI,SAAS,IAAI,kBAAkB,2BAA2B;AAC9D,IAAI,YAAY;;;AC3Hf,IAAC,SAASe,aAAW;AACpB,QAAI,iBAAgB,OAAO;AAC3B,QAAI,UAAU,MAAM,UAAU,MAAM,UAAU,SAAS,SAAS,KAAK;AACnE,aAAO,OAAO,UAAU,SAAS,KAAK,GAAG,MAAM;AAAA,IACnD;AACE,QAAI,sBAAsB;AAC1B,QAAI,oBAAmB,OAAOf,aAAS,YAAY,OAAOA,UAAQ,YAAU;AAC5E,QAAI,mBAAkB,OAAO,WAAS;AACtC,QAAI,mBAAkB,OAAO,YAAY;AACzC,QAAI,wBAAuB,OAAO,iBAAiB;AACnD,QAAI,gBAAe,wBAAwB,eAAe;AAC1D,QAAI,UAAS,mBAAmB,oBAAoB,OAAO,QAAQ,YAAU,aAAY,QAAQ,UAAU,SAAS,KAAI;AACtH,UAAI,MAAK,OAAO,oBAAoB,GAAG;AACvC,UAAI,KAAK,MAAM,KAAK,OAAO,sBAAsB,GAAG,CAAC;AACrD,aAAO;AAAA,IACX,IAAO,OAAO;AAEZ,aAAS,OAAO;AACd,WAAK,UAAU,CAAA;AACf,UAAI,KAAK,OAAO;AACd,kBAAU,KAAK,MAAM,KAAK,KAAK;AAAA,MACrC;AAAA,IACA;AAEE,aAAS,UAAU,MAAM;AACvB,UAAI,MAAM;AACR,aAAK,QAAQ;AAEb,aAAK,cAAc,KAAK,YAAY,KAAK;AAEzC,YAAG,KAAK,iBAAee,aAAU;AAC7B,eAAK,gBAAe,KAAK;AAAA,QACnC;AAEM,aAAK,aAAa,KAAK,WAAW,KAAK;AACvC,aAAK,gBAAgB,KAAK,eAAe,KAAK;AAC9C,aAAK,mBAAmB,KAAK,kBAAkB,KAAK;AACpD,aAAK,sBAAsB,KAAK,oBAAoB,KAAK;AACzD,aAAK,iBAAiB,KAAK,eAAe,KAAK;AAE/C,YAAI,KAAK,UAAU;AACjB,eAAK,eAAe,CAAA;AAAA,QAC5B;AAAA,MACA;AAAA,IACA;AAEE,aAAS,sBAAsB,OAAO,WAAW;AAC/C,UAAI,WAAW,iEACS,QAAQ;AAGhC,UAAG,KAAK,mBAAkB;AACxB,oBAAY,kBAAkB,YAAY;AAAA,MAChD;AAEI,UAAG,OAAOf,cAAY,eAAeA,UAAQ,aAAY;AACvD,YAAItB,KAAI,IAAI,MAAM,QAAQ;AAC1B,QAAAA,GAAE,OAAO;AACT,QAAAA,GAAE,UAAU;AACZ,QAAAA,GAAE,QAAQ;AACVsB,kBAAQ,YAAYtB,EAAC;AAAA,MAC3B,OAAW;AACL,gBAAQ,MAAM,QAAQ;AAEtB,YAAI,QAAQ,OAAM;AAChB,kBAAQ,MAAK;AAAA,QACrB;AAAA,MACA;AAAA,IACA;AAEE,QAAIsC,WAAU,SAAU,GAAGC,IAAGnB,IAAG;AAC/B,UAAI,IAAI,UAAU;AAClB,cAAQ,GAAC;AAAA,QACP,KAAK;AACH,iBAAO,CAAA;AAAA,QACT,KAAK;AACH,iBAAO,CAAC,CAAC;AAAA,QACX,KAAK;AACH,iBAAO,CAAC,GAAGmB,EAAC;AAAA,QACd,KAAK;AACH,iBAAO,CAAC,GAAGA,IAAGnB,EAAC;AAAA,QACjB;AACE,cAAI,MAAM,IAAI,MAAM,CAAC;AACrB,iBAAO,KAAK;AACV,gBAAI,CAAC,IAAI,UAAU,CAAC;AAAA,UAC9B;AACQ,iBAAO;AAAA;IAEf;AAEE,aAAS,SAAS,MAAM,QAAQ;AAC9B,UAAI,MAAM,CAAA;AACV,UAAI;AACJ,UAAI,MAAM,KAAK;AACf,UAAI,cAAuC;AAC3C,eAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,cAAM,KAAK,CAAC;AACZ,YAAI,GAAG,IAAI,IAAI,cAAc,OAAO,CAAC,IAAIiB;AAAAA,MAC/C;AACI,aAAO;AAAA,IACX;AAEE,aAAS,eAAe,SAAS,QAAQ,SAAS;AAChD,WAAK,WAAW;AAChB,WAAK,UAAU;AACf,WAAK,aAAa,CAAA;AAClB,WAAK,kBAAkB;AAEvB,UAAIG,KAAI;AAER,UAAI,QAAQ,MAAM,QAAQ,KAAK;AAC7B,QAAAA,MAAK,QAAQ;AACb,cAAM,QAAQ;AAAA,MACpB;AAEI,UAAI,OAAO,kBAAkB;AAC3B,QAAAA,MAAK,OAAO;AACZ,cAAM,OAAO;AAAA,MACnB,WAAe,OAAO,aAAa;AAC7B,QAAAA,MAAK,OAAO;AACZ,cAAM,OAAO;AAAA,MACnB,WAAe,OAAO,IAAI;AACpB,QAAAA,MAAK,OAAO;AACZ,cAAM,OAAO;AAAA,MACnB;AAEI,UAAI,CAACA,OAAM,CAAC,KAAK;AACf,cAAM,MAAM,+CAA+C;AAAA,MACjE;AAEI,UAAI,OAAOA,QAAO,YAAY;AAC5B,cAAM,UAAU,8BAA8B;AAAA,MACpD;AAEI,UAAI,OAAO,QAAQ,YAAY;AAC7B,cAAM,UAAU,+BAA+B;AAAA,MACrD;AAEI,WAAK,MAAMA;AACX,WAAK,OAAO;AAEZ,UAAI,aAAY,QAAQ;AACxB,UAAG,YAAW;AACZ,mBAAW,KAAK,IAAI;AAAA,MAC1B,OAAS;AACH,gBAAQ,aAAY,CAAC,IAAI;AAAA,MAC/B;AAAA,IACA;AAEE,WAAO,OAAO,eAAe,WAAW;AAAA,MACtC,WAAW,SAAS,OAAO,YAAY,SAAQ;AAC7C,YAAI,WAAU;AACd,YAAI,SAAQ,KAAK;AACjB,YAAI,UAAS,KAAK;AAClB,YAAI,YAAW,KAAK;AACpB,YAAI,UAAS,WAAU;AACrB,cAAI,OAAMF,SAAQ,MAAM,MAAM,SAAS;AACvC,cAAI,WAAU;AAAA,YACZ,MAAM;AAAA,YACN,MAAM;AAAA,YACN,UAAU;AAAA,UACpB;AACQ,cAAG,SAAQ;AACT,gBAAI,SAAQ,QAAQ,KAAK,QAAQ,QAAQ;AACzC,gBAAG,WAAS,OAAM;AAChB,sBAAQ,KAAK,MAAM,SAAS,CAAC,SAAS,IAAI,EAAE,OAAO,IAAI,CAAC;AAAA,YACpE;AACU;AAAA,UACV;AACQ,kBAAQ,KAAK,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,IAAI,CAAC;AAAA,QAC7D;AAGM,YAAG,UAAU,KAAK,GAAE;AAClB,gBAAM,MAAM,YAAa,QAAQ,wBAAyB;AAAA,QAClE;AAEM,aAAK;AAEL,YAAG,QAAQ,gBAAgB,QAAQ,mBAAmB,CAAC,SAAS,gBAAe;AAE7E,eAAK,iBAAiB,SAAU,QAAQ;AACtC,gBAAI,WAAW,cAAc,UAAU,KAAK,MAAM,MAAM;AACtD,wBAAU,KAAK,IAAI;AACnB,uBAAS,IAAI,KAAK,QAAQ,OAAO,OAAO;AAAA,YACpD;AAAA,UACA;AAEQ,kBAAQ,GAAG,eAAe,KAAK,cAAc;AAE7C,eAAK,oBAAmB,SAAS,QAAO;AACtC,gBAAG,WAAW,cAAc,CAAC,QAAQ,aAAa,MAAM,KAAK,UAAU,KAAK,GAAE;AAC5E,wBAAU,KAAK,IAAG;AAClB,uBAAS,KAAK,KAAK,QAAQ,OAAO,OAAO;AAAA,YACrD;AAAA,UACA;AAEQ,oBAAU,KAAK,IAAG;AAElB,kBAAQ,GAAG,kBAAkB,KAAK,iBAAiB;AAAA,QAC3D,OAAW;AACH,oBAAU,KAAK,IAAG;AAClB,mBAAS,IAAI,KAAK,QAAQ,OAAO,OAAO;AAAA,QAChD;AAAA,MACA;AAAA,MAEI,aAAa,SAAS,OAAM;AAC1B,YAAI,WAAU;AACd,YAAI,YAAW,KAAK;AACpB,YAAI,UAAS,KAAK;AAClB,YAAI;AACJ,YAAI;AACJ,YAAI,MAAK,KAAK;AACd,YAAI,SAAQ,KAAK;AACjB,YAAI;AAEJ,YAAG,SAAS,OAAO,UAAQ,UAAS;AAClC,gBAAM,UAAU,wBAAwB;AAAA,QAChD;AAEM,iBAAS,YAAW;AAClB,cAAG,SAAS,gBAAe;AACzB,oBAAQ,IAAI,eAAe,SAAS,cAAc;AAClD,oBAAQ,IAAI,kBAAkB,SAAS,iBAAiB;AACxD,qBAAS,iBAAgB;AACzB,qBAAS,oBAAmB;AAAA,UACtC;AACQ,cAAI,QAAO,gBAAgB,KAAK,SAAS,QAAQ;AACjD,kBAAQ,WAAW,OAAO,OAAO,CAAC;AAAA,QAC1C;AAEM,YAAG,OAAM;AACP,oBAAS,UAAU,KAAK;AACxB,cAAG,CAAC,QAAS;AACb,cAAI,KAAK,QAAQ,OAAO,OAAO;AAC/B,iBAAO,UAAU,KAAK;AACtB,cAAG,CAAC,EAAE,KAAK,iBAAgB;AACzB,sBAAS;AAAA,UACnB;AAAA,QACA,OAAW;AACH,mBAAQ,QAAQ,SAAS;AACzB,cAAG,OAAO;AACV,iBAAM,MAAI,GAAE;AACV,oBAAO,OAAO,CAAC;AACf,gBAAI,KAAK,QAAQ,OAAO,UAAU,KAAK,CAAC;AAAA,UAClD;AACQ,eAAK,aAAY,CAAA;AACjB,eAAK,kBAAiB;AACtB,oBAAS;AAAA,QACjB;AAAA,MACA;AAAA,IACA,CAAG;AAED,aAAS,eAAe,SAAS,QAAQ,UAAU,cAAc;AAC/D,UAAI,kBAAkB,OAAO,OAAO,CAAA,GAAI,MAAM;AAE9C,UAAI,CAAC,QAAS,QAAO;AAErB,UAAI,OAAO,YAAY,UAAU;AAC/B,cAAM,UAAU,2BAA2B;AAAA,MACjD;AAEI,UAAI,OAAO,OAAO,KAAK,OAAO;AAC9B,UAAI,SAAS,KAAK;AAClB,UAAI,QAAQrC;AACZ,UAAI;AAEJ,eAAS,OAAO,QAAQ;AACtB,cAAM,MAAM,cAAc,SAAS,oBAAoB,SAAS,eAAe,SAAS,GAAG;AAAA,MACjG;AAEI,eAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC/B,iBAAS,KAAK,CAAC;AACf,YAAqB,CAAC,eAAe,KAAK,QAAQ,MAAM,GAAG;AACzD,gBAAM,MAAM,cAAc,SAAS,UAAU;AAAA,QACrD;AACM,QAAAA,SAAQ,QAAQ,MAAM;AACtB,YAAIA,WAAUoC,aAAW;AACvB,oBAAU,SAAS,MAAM;AACzB,0BAAgB,MAAM,IAAI,UAAU,QAAQpC,QAAO,MAAM,IAAIA;AAAA,QACrE;AAAA,MACA;AACI,aAAO;AAAA,IACX;AAEE,aAAS,mBAAmBA,QAAO,QAAQ;AACzC,UAAI,OAAOA,WAAU,cAAc,CAACA,OAAM,eAAe,WAAW,GAAG;AACrE,eAAO,6BAA6B;AAAA,MAC1C;AACI,aAAOA;AAAA,IACX;AAEE,aAAS,gBAAgB,OAAO;AAC9B,UAAI,UAAS,2BAA2B,MAAM,KAAK,GAAG;AACtD,UAAI,MAAK,MAAM;AACf,UAAI,YAAW,MAAM,CAAC;AACtB,UAAI,aAAY,MAAM,CAAC;AAEvB,UAAI,QAAQ,GAAG;AACb,eAAO,SAAUkB,IAAG,QAAQ;AAC1B,cAAI,OAAOA,OAAM,WAAW;AAC1B,mBAAOA;AAAA,UACjB;AACQ,iBAAO,OAAO;AAAA,QACtB;AAAA,MACA;AAEI,UAAI,QAAQ,GAAG;AACb,eAAO,SAAUA,IAAG,QAAQ;AAC1B,cAAI,OAAM,OAAOA;AACjB,cAAI,SAAS,aAAa,SAAS,WAAY,QAAOA;AACtD,iBAAO,OAAO;AAAA,QACtB;AAAA,MACA;AAEI,aAAO,SAAUA,IAAG,QAAQ;AAC1B,YAAI,OAAO,OAAOA;AAClB,YAAI,IAAI;AACR,eAAO,MAAM,GAAG;AACd,cAAI,SAAS,MAAM,CAAC,EAAG,QAAOA;AAAA,QACtC;AACM,eAAO,OAAO;AAAA,MACpB;AAAA,IACA;AAEE,QAAI,kBAAiB,gBAAgB,CAAC,UAAU,CAAC;AAEjD,QAAI,wBAAuB,gBAAgB,CAAC,UAAU,UAAU,CAAC;AAEjE,aAAS,sBAAsBsB,UAAS,UAAU,SAAS;AACzD,UAAI;AACJ,UAAI;AACJ,UAAI,QAAO;AACX,UAAI;AAEJ,UAAI,UAAU,IAAIA,SAAQ,SAAU,SAAS,QAAQ,UAAU;AAC7D,kBAAS,eAAe,SAAS;AAAA,UAC/B,SAAS;AAAA,UACT,UAAU;AAAA,QAClB,GAAS;AAAA,UACD,SAAS,SAASxC,QAAOyC,SAAO;AAC9B,YAAAzC,UAAQ;AACR,gBAAI,OAAOA,WAAU,YAAYA,SAAQ,KAAK,CAAC,OAAO,SAASA,MAAK,GAAG;AACrE,cAAAyC,QAAO,mCAAmC;AAAA,YACtD;AACU,mBAAOzC;AAAA,UACjB;AAAA,QACA,CAAO;AAED,uBAAe,CAAC,QAAQ,YAAY,OAAOwC,SAAQ,UAAU,WAAW,cAAc,OAAO,aAAa;AAE1G,iBAAS,UAAU;AACjB,cAAI,WAAW;AACb,wBAAY;AAAA,UACtB;AACQ,cAAI,OAAO;AACT,yBAAa,KAAK;AAClB,oBAAQ;AAAA,UAClB;AAAA,QACA;AAEM,YAAI,WAAU,SAASxC,QAAM;AAC3B,kBAAO;AACP,kBAAQA,MAAK;AAAA,QACrB;AAEM,YAAI,UAAS,SAAS,KAAI;AACxB,kBAAO;AACP,iBAAO,GAAG;AAAA,QAClB;AAEM,YAAI,cAAc;AAChB,mBAAS,UAAU,SAAS,QAAQ;AAAA,QAC5C,OAAa;AACL,sBAAY,CAAC,SAAS,QAAO;AAC3B,oBAAQ,UAAU,MAAM,UAAU,CAAC;AAAA,UAC7C,CAAS;AACD,mBAAS,UAAU,SAAS,SAAU,IAAI;AACxC,gBAAI,oBAAoB;AACtB,oBAAM,MAAM,oDAAoD;AAAA,YAC5E;AACU,gBAAI,OAAO,OAAO,YAAY;AAC5B,oBAAM,UAAU,sCAAsC;AAAA,YAClE;AACU,sBAAU,KAAK,EAAE;AAAA,UAC3B,CAAS;AACD,+BAAoB;AAAA,QAC5B;AAEM,YAAI,QAAQ,UAAU,GAAG;AACvB,kBAAO,WAAW,WAAU;AAC1B,gBAAI,SAAQ,MAAM,SAAS;AAC3B,mBAAO,OAAO;AACd,oBAAO;AACP,oBAAQ,OAAO,MAAM;AACrB,mBAAO,MAAM;AAAA,UACvB,GAAW,QAAQ,OAAO;AAAA,QAC1B;AAAA,MACA,CAAK;AAED,UAAI,CAAC,cAAc;AACjB,gBAAQ,SAAS,SAAU,QAAQ;AACjC,cAAI,CAAC,WAAW;AACd;AAAA,UACV;AACQ,cAAI,SAAS,UAAU;AACvB,mBAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC/B,sBAAU,CAAC,EAAE,MAAM;AAAA,UAC7B;AAEQ,oBAAU,CAAC,EAAE,MAAM;AACnB,sBAAY;AAAA,QACpB;AAAA,MACA;AAEI,aAAO;AAAA,IACX;AAEE,aAAS,gBAAgB,UAAU;AACjC,UAAI,YAAY,KAAK;AACrB,UAAG,CAAC,WAAU;AACZ,eAAO;AAAA,MACb;AACI,UAAI,MAAM,UAAU;AACpB,eAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,YAAI,UAAU,CAAC,EAAE,YAAY,SAAU,QAAO;AAAA,MACpD;AACI,aAAO;AAAA,IACX;AAME,aAAS,mBAAmB,UAAU,MAAM,MAAM,GAAG,YAAY;AAC/D,UAAI,CAAC,MAAM;AACT,eAAO;AAAA,MACb;AAEI,UAAI,MAAM,GAAG;AACX,YAAI,OAAO,OAAO;AAClB,YAAI,SAAS,UAAU;AACrB,cAAI0C,KAAI,GAAGC,KAAI,GAAGC,KAAI,GAAG,YAAY,KAAK,WAAWC,MAAK,UAAU;AACpE,eAAK,IAAI,KAAK,QAAQ,SAAS,OAAO,IAAI;AACxC,YAAAH,MAAK,IAAI,MAAM,CAAC;AAChB,eAAG;AACD,cAAAA,IAAGC,IAAG,IAAI,KAAK,MAAMC,IAAG,CAAC;AACzB,cAAAA,KAAI,IAAIC;AAAA,YACpB,UAAoB,IAAI,KAAK,QAAQ,WAAWD,EAAC,OAAO;AAE9C,YAAAF,IAAGC,IAAG,IAAI,KAAK,MAAMC,EAAC;AACtB,mBAAOF;AACP,yBAAaC;AAAA,UACvB,OAAe;AACL,mBAAO,CAAC,IAAI;AACZ,yBAAa;AAAA,UACvB;AAAA,QACA,WAAiB,SAAS,UAAU;AAC5B,uBAAa,KAAK;AAAA,QAC1B,OAAa;AACL,iBAAO,CAAC,IAAI;AACZ,uBAAa;AAAA,QACrB;AAAA,MACA;AAEI,UAAI,YAAW,MAAM,QAAQ,OAAO,QAAQ,gBAAgB,YAAY,cAAc,KAAK,CAAC,GACxF,WAAW,KAAK,IAAI,CAAC,GAAG,UAAU;AAEtC,UAAI,MAAM,YAAY;AAMpB,YAAG,KAAK,YAAY;AAClB,cAAI,OAAO,KAAK,eAAe,YAAY;AACzC,wBAAY,SAAS,KAAK,KAAK,UAAU;AACzC,wBAAY,CAAC,IAAI;AAAA,UAC3B,OAAe;AACL,wBAAY,SAAS,KAAK,MAAM,UAAU,KAAK,UAAU;AACzD,wBAAY,CAAC,IAAI;AAAA,UAC3B;AAAA,QACA;AAAA,MACA,OAAW;AAEL,YAAI,gBAAgB,KAAK;AAKvB,qBAAW,QAAQ,IAAI;AACvB,cAAI,SAAS;AACb,iBAAO,MAAM,GAAG;AACd,qBAAS,SAAS,CAAC;AACnB,gBAAI,WAAW,cAAc;AAC3B,2BAAa,mBAAmB,UAAU,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,UAAU;AAC/E,kBAAI,YAAY;AACd,oBAAI,WAAW;AACb,4BAAU,KAAK,MAAM,WAAW,UAAU;AAAA,gBAC1D,OAAqB;AACL,8BAAY;AAAA,gBAC5B;AAAA,cACA;AAAA,YACA;AAAA,UACA;AACQ,iBAAO;AAAA,QACf,WAAiB,gBAAgB,MAAM;AAC/B,uBAAc,IAAI,MAAM,cAAe,IAAI,MAAM,cAAc,aAAa;AAC5E,cAAI,cAAc,KAAK,YAAY;AAEjC,wBAAY,mBAAmB,UAAU,MAAM,MAAM,YAAY,UAAU;AAAA,UACrF;AAEQ,qBAAW,QAAQ,IAAI;AACvB,cAAI,SAAS;AACb,iBAAO,MAAM,GAAG;AACd,qBAAS,SAAS,CAAC;AACnB,gBAAI,WAAW,cAAc;AAC3B,kBAAI,WAAW,OAAO,WAAW,MAAM;AACrC,oBAAI,KAAK,MAAM,EAAE,cAAc,CAAC,YAAY;AAC1C,+BAAa,mBAAmB,UAAU,MAAM,KAAK,MAAM,GAAG,YAAY,UAAU;AACpF,sBAAI,YAAY;AACd,wBAAI,WAAW;AACb,gCAAU,KAAK,MAAM,WAAW,UAAU;AAAA,oBAC9D,OAAyB;AACL,kCAAY;AAAA,oBAChC;AAAA,kBACA;AAAA,gBACA;AACc,6BAAa,mBAAmB,UAAU,MAAM,KAAK,MAAM,GAAG,GAAG,UAAU;AAAA,cACzF,WAAuB,WAAW,UAAU;AAC9B,6BAAa,mBAAmB,UAAU,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,UAAU;AAAA,cAC7F,OAAmB;AAEL,6BAAa,mBAAmB,UAAU,MAAM,KAAK,MAAM,GAAG,GAAG,UAAU;AAAA,cACzF;AACY,kBAAI,YAAY;AACd,oBAAI,WAAW;AACb,4BAAU,KAAK,MAAM,WAAW,UAAU;AAAA,gBAC1D,OAAqB;AACL,8BAAY;AAAA,gBAC5B;AAAA,cACA;AAAA,YACA;AAAA,UACA;AACQ,iBAAO;AAAA,QACf,WAAiB,KAAK,WAAW,GAAG;AAC5B,sBAAY,mBAAmB,UAAU,MAAM,KAAK,WAAW,GAAG,IAAI,GAAG,UAAU;AAAA,QAC3F;AAAA,MACA;AAEM,cAAQ,KAAK,GAAG;AAClB,UAAI,OAAO;AAKT,2BAAmB,UAAU,MAAM,OAAO,IAAI,GAAG,UAAU;AAAA,MACjE;AAEI,eAAS,KAAK,IAAI;AAClB,UAAI,QAAQ;AACV,YAAI,IAAI,YAAY;AAClB,cAAI,OAAO,YAAY;AAErB,+BAAmB,UAAU,MAAM,QAAQ,YAAY,UAAU;AAAA,UAC3E;AAGQ,qBAAU,QAAQ,MAAM;AACxB,cAAG,SAAS;AACZ,iBAAM,MAAI,GAAE;AACV,qBAAQ,SAAS,CAAC;AAClB,gBAAI,WAAW,cAAc;AAC3B,kBAAI,WAAW,UAAU;AAEvB,mCAAmB,UAAU,MAAM,OAAO,MAAM,GAAG,IAAI,GAAG,UAAU;AAAA,cAClF,WAAuB,WAAW,aAAa;AAEjC,mCAAmB,UAAU,MAAM,OAAO,MAAM,GAAG,IAAI,GAAG,UAAU;AAAA,cAClF,OAAmB;AACL,iCAAiB,CAAA;AACjB,+BAAe,MAAM,IAAI,OAAO,MAAM;AACtC,mCAAmB,UAAU,MAAM,EAAC,MAAM,eAAc,GAAG,IAAI,GAAG,UAAU;AAAA,cAC1F;AAAA,YACA;AAAA,UACA;AAAA,QACA,WAAiB,OAAO,YAAY;AAE5B,6BAAmB,UAAU,MAAM,QAAQ,YAAY,UAAU;AAAA,QACzE,WAAiB,OAAO,GAAG,KAAK,OAAO,GAAG,EAAE,YAAY;AAChD,6BAAmB,UAAU,MAAM,OAAO,GAAG,GAAG,YAAY,UAAU;AAAA,QAC9E;AAAA,MACA;AAEI,aAAO;AAAA,IACX;AAEE,aAAS,iBAAiB,MAAM,UAAU,SAAS;AACjD,UAAI,MAAM,GAAGC,KAAI,GAAG,GAAG,YAAY,KAAK,WAAWC,MAAI,UAAU,QAAQH;AAEzE,UAAG,OAAO,SAAO,UAAU;AACzB,aAAK,IAAI,KAAK,QAAQ,SAAS,OAAO,IAAI;AACxC,UAAAA,MAAK,IAAI,MAAM,CAAC;AAChB,aAAG;AACD,YAAAA,IAAG,KAAK,IAAI,KAAK,MAAME,IAAG,CAAC;AAC3B,YAAAA,KAAI,IAAIC;AAAA,UAClB,UAAkB,IAAI,KAAK,QAAQ,WAAWD,EAAC,OAAO;AAE9C,UAAAF,IAAG,KAAK,IAAI,KAAK,MAAME,EAAC;AAAA,QAChC,OAAW;AACH,UAAAF,MAAI,CAAC,IAAI;AACT,gBAAK;AAAA,QACb;AAAA,MACA,OAAS;AACH,QAAAA,MAAI;AACJ,cAAK,KAAK;AAAA,MAChB;AAKI,UAAI,MAAM,GAAG;AACX,aAAK,IAAI,GAAG,IAAI,IAAI,KAAK,KAAK;AAC5B,cAAIA,IAAG,CAAC,MAAM,QAAQA,IAAG,IAAI,CAAC,MAAM,MAAM;AACxC;AAAA,UACV;AAAA,QACA;AAAA,MACA;AAII,UAAI,OAAO,KAAK,cAAc;AAE9B,WAAK,IAAI,GAAG,IAAI,KAAK,KAAK;AACxB,eAAOA,IAAG,CAAC;AAEX,eAAO,KAAK,IAAI,MAAM,KAAK,IAAI,IAAI;AAEnC,YAAI,MAAM,MAAM,GAAG;AACjB,cAAI,CAAC,KAAK,YAAY;AACpB,iBAAK,aAAa;AAAA,UAC5B,OAAe;AACL,gBAAI,OAAO,KAAK,eAAe,YAAY;AACzC,mBAAK,aAAa,CAAC,KAAK,UAAU;AAAA,YAC9C;AAEU,gBAAI,SAAS;AACX,mBAAK,WAAW,QAAQ,QAAQ;AAAA,YAC5C,OAAiB;AACL,mBAAK,WAAW,KAAK,QAAQ;AAAA,YACzC;AAEU,gBACI,CAAC,KAAK,WAAW,UACjB,KAAK,gBAAgB,KACrB,KAAK,WAAW,SAAS,KAAK,eAChC;AACA,mBAAK,WAAW,SAAS;AACzB,oCAAsB,KAAK,MAAM,KAAK,WAAW,QAAQ,IAAI;AAAA,YACzE;AAAA,UACA;AACQ,iBAAO;AAAA,QACf;AAAA,MACA;AAEI,aAAO;AAAA,IACX;AAEE,aAAS,kBAAkB,MAAM,QAAQ,MAAM,SAAQ;AACpD,UAAI,WAAU,QAAQ,IAAI;AAC1B,UAAI,IAAG,SAAS;AAChB,UAAI,QAAQ,YAAY;AACxB,UAAI,eAAc,KAAK,YAAY;AACnC,UAAI;AAEJ,aAAM,MAAI,GAAE;AACR,qBAAY,SAAS,CAAC;AAEtB,iBAAQ,KAAK,UAAU;AAEvB,YAAG,eAAa,cAAa;AACzB,iBAAM;AAAA,QACnB,OAAe;AACF,iBAAO,OAAO,KAAK,OAAO,UAAU,IAAI,CAAC,UAAU;AAAA,QAChE;AAES,sBAAa,WAAW,OAAO,eAAa;AAE5C,wBAAgB,OAAO,KAAK,cAAa,OAAO,KAAK,KAAK,KAAK,SAAS,CAAC;AAEzE,YAAG,OAAO,WAAS,UAAS;AACxB,4BAAkB,KAAK,MAAM,QAAQ,QAAQ,MAAM,WAAW;AAAA,QAC3E;AAAA,MACA;AAEK,aAAO;AAAA,IACZ;AAEE,aAAS,0BAA0B,MAAM;AACvC,UAAI,OAAO,QAAQ,IAAI;AACvB,UAAI,IAAG,KAAK;AACZ,UAAI,KAAK,KAAK;AACd,aAAM,MAAI,GAAE;AACV,cAAM,KAAK,CAAC;AACZ,cAAM,KAAK,GAAG;AAEd,YAAG,KAAI;AACH,iBAAM;AACN,cAAG,QAAQ,gBAAgB,CAAC,0BAA0B,GAAG,GAAE;AACxD,mBAAO,KAAK,GAAG;AAAA,UAC5B;AAAA,QACA;AAAA,MACA;AAEI,aAAO;AAAA,IACX;AAEE,aAAS,SAAS,SAAS,OAAO,UAAS;AACzC,WAAK,UAAS;AACd,WAAK,QAAO;AACZ,WAAK,WAAU;AAAA,IACnB;AAEE,aAAS,UAAU,MAAK,WAAU;AAChC,WAAK,QAAQ,IAAI,KAAK,OAAO,KAAK,QAAQ;AAC1C,aAAO;AAAA,IACX;AAEE,aAAS,cAAc,OAAO,UAAU,SAAQ;AAC5C,UAAI,YAAY,MAAM;AACpB,oBAAY;AAAA,MACpB,WAAiB,YAAY,OAAO;AAC5B,gBAAQ;AAAA,MAChB,OAAa;AACL,YAAI,CAAC,WAAW,OAAO,YAAY,UAAU;AAC3C,gBAAM,UAAU,qCAAqC;AAAA,QAC/D;AACQ,YAAI,QAAQ,QAAQ;AACpB,YAAI,YAAY,QAAQ;AACxB,YAAII,YAAW,QAAQ;AACvB,YAAI,YAAY,QAAQ;AAAA,MAChC;AAEM,UAAI,SAASA,aAAY,WAAW;AAClC,YAAI,YAAY;AAChB,YAAI,UAAU,SAAS,WAAW;AAElC,YAAIA,aAAY,CAAC,mBAAmB;AAClC,gBAAM,MAAM,mCAAmC;AAAA,QACzD;AAEQ,YAAI,cAAcV,aAAW;AAC3B,sBAAY,SAAS,YAAY,SAAS;AAAA,QACpD;AAEQ,mBAAW,WAAY;AACrB,cAAI,OAAO;AACX,cAAI,UAAU;AACd,cAAIW,SAAQ,KAAK;AAEjB,iBAAO,YAAaD,YAAW,QAAQ,QAAO,IAAK,IAAI,QAAQ,SAAU,SAAS;AAChF,0BAAc,OAAO;AAAA,UACjC,CAAW,EAAE,KAAK,WAAY;AAClB,oBAAQ,QAAQC;AAChB,mBAAO,UAAU,MAAM,SAAS,IAAI;AAAA,UAChD,CAAW,KAAMD,YAAWzB,UAAQ,WAAW,eAAe,WAAY;AAC9D,oBAAQ,QAAQ0B;AAChB,sBAAU,MAAM,SAAS,IAAI;AAAA,UACzC,CAAW;AAAA,QACX;AAEQ,iBAAS,SAAS;AAClB,iBAAS,UAAU;AAAA,MAC3B;AAEI,aAAO,CAAC,UAAU,YAAW,IAAI,SAAS,MAAM,OAAO,QAAQ,IAAG,IAAI;AAAA,IAC1E;AAEE,aAAS,aAAa,MAAM;AAC1B,WAAK,UAAU,CAAA;AACf,WAAK,eAAe;AACpB,WAAK,kBAAkB;AACvB,WAAK,oBAAoB;AACzB,gBAAU,KAAK,MAAM,IAAI;AAAA,IAC7B;AAEE,iBAAa,gBAAgB;AAE7B,iBAAa,UAAU,WAAU,SAAS,QAAQ,QAAQ,SAAQ;AAChE,UAAG,OAAO,WAAS,UAAS;AAC1B,cAAM,UAAU,2BAA2B;AAAA,MACjD;AAEI,UAAI,UAAS;AAEb,gBAAU,eAAe,SAAS;AAAA,QAChC,IAAIX;AAAAA,QACJ,KAAKA;AAAAA,QACL,UAAUA;AAAAA,MAChB,GAAO;AAAA,QACD,IAAI;AAAA,QACJ,KAAK;AAAA,QACL,UAAU;AAAA,MAChB,CAAK;AAED,eAAS,OAAOY,SAAO;AACrB,YAAG,OAAOA,YAAS,UAAS;AAC1B,gBAAM,UAAU,0BAA0B;AAAA,QAClD;AAEM,YAAI,WAAU,QAAQ;AACtB,YAAI,QAAO,gBAAgB,KAAK,SAAS,MAAM;AAC/C,YAAI;AAEJ,YAAG,UAAQ,IAAG;AACZ,qBAAU,IAAI,eAAe,SAAS,QAAQ,OAAO;AAAA,QAC7D,OAAW;AACH,qBAAU,QAAQ,WAAW,KAAK;AAAA,QAC1C;AAEM,YAAI,OAAM,QAAQA,OAAM;AACxB,YAAI,MAAK,KAAK;AACd,YAAI;AACJ,YAAI,kBAAiB,OAAO,aAAW;AAEvC,iBAAQ,IAAE,GAAG,IAAE,KAAK,KAAI;AACtB,kBAAO,KAAK,CAAC;AACb,mBAAS;AAAA,YACL;AAAA,YACAA,QAAO,KAAK,KAAK;AAAA,YACjB,kBAAkB,WAAW,YAAY,SAAS,KAAK;AAAA,UACnE;AAAA,QACA;AAAA,MACA;AAEI,cAAQ,MAAM,IACV,OAAO,SAAS,MAAM,CAAC,IACtB,OAAO,WAAS,WAAU,OAAO,SAAS,OAAO,MAAM,KAAK,CAAC,CAAC,IAAG,OAAO,MAAM;AAEnF,aAAO;AAAA,IACX;AAEE,iBAAa,UAAU,kBAAkB,SAAU,QAAQ,OAAO;AAChE,UAAI,YAAY,KAAK;AAErB,UAAG,CAAC,WAAU;AACZ,eAAO;AAAA,MACb;AAEI,UAAI,IAAI,UAAU;AAClB,UAAI;AACJ,UAAI,UAAS;AAEb,UAAG,UAAU,OAAO,WAAS,UAAS;AACpC,cAAM,UAAU,4BAA4B;AAAA,MAClD;AAEI,aAAO,MAAM,GAAG;AACd,mBAAW,UAAU,CAAC;AACtB,YAAI,CAAC,UAAU,SAAS,YAAY,QAAQ;AAC1C,mBAAS,YAAY,KAAK;AAC1B,oBAAS;AAAA,QACjB;AAAA,MACA;AAEI,aAAO;AAAA,IACX;AASE,iBAAa,UAAU,YAAY;AAEnC,iBAAa,UAAU,kBAAkB,SAAS,GAAG;AACnD,UAAI,MAAMZ,aAAW;AACnB,aAAK,gBAAgB;AACrB,YAAI,CAAC,KAAK,MAAO,MAAK,QAAQ,CAAA;AAC9B,aAAK,MAAM,eAAe;AAAA,MAChC;AAAA,IACA;AAEE,iBAAa,UAAU,kBAAkB,WAAW;AAClD,aAAO,KAAK;AAAA,IAChB;AAEE,iBAAa,UAAU,QAAQ;AAE/B,iBAAa,UAAU,OAAO,SAAS,OAAOa,KAAI,SAAS;AACzD,aAAO,KAAK,MAAM,OAAOA,KAAI,OAAO,OAAO;AAAA,IAC/C;AAEE,iBAAa,UAAU,sBAAsB,SAAS,OAAOA,KAAI,SAAS;AACxE,aAAO,KAAK,MAAM,OAAOA,KAAI,MAAM,OAAO;AAAA,IAC9C;AAEE,iBAAa,UAAU,QAAQ,SAAS,OAAOA,KAAI,SAAS,SAAS;AACnE,aAAO,KAAK,MAAM,OAAO,GAAGA,KAAI,SAAS,OAAO;AAAA,IACpD;AAEE,iBAAa,UAAU,OAAO,SAAS,OAAO,KAAKA,KAAI,SAAS;AAC9D,aAAO,KAAK,MAAM,OAAO,KAAKA,KAAI,OAAO,OAAO;AAAA,IACpD;AAEE,iBAAa,UAAU,cAAc,SAAS,OAAO,KAAKA,KAAI,SAAS;AACrE,aAAO,KAAK,MAAM,OAAO,KAAKA,KAAI,MAAM,OAAO;AAAA,IACnD;AAEE,iBAAa,UAAU,QAAQ,SAAS,OAAO,KAAKA,KAAI,SAAS,SAAS;AACxE,UAAIhC,QAAO;AAEX,UAAI,OAAOgC,QAAO,YAAY;AAC5B,cAAM,IAAI,MAAM,yCAAyC;AAAA,MAC/D;AAEI,eAAS,WAAW;AAClB,YAAI,EAAE,QAAQ,GAAG;AACf,UAAAhC,MAAK,IAAI,OAAO,QAAQ;AAAA,QAChC;AACM,eAAOgC,IAAG,MAAM,MAAM,SAAS;AAAA,MACrC;AAEI,eAAS,UAAUA;AAEnB,aAAO,KAAK,IAAI,OAAO,UAAU,SAAS,OAAO;AAAA,IACrD;AAEE,iBAAa,UAAU,OAAO,WAAW;AACvC,UAAI,CAAC,KAAK,WAAW,CAAC,KAAK,MAAM;AAC/B,eAAO;AAAA,MACb;AAEI,WAAK,WAAW,KAAK,KAAK,IAAI;AAE9B,UAAI,OAAO,UAAU,CAAC,GAAGP,KAAI,WAAU,KAAK;AAC5C,UAAI,MAAKC,IAAE,GAAEC,IAAG;AAEhB,UAAI,SAAS,iBAAiB,CAAC,KAAK,cAAc;AAChD,YAAI,CAAC,KAAK,QAAQ,aAAa;AAC7B,iBAAO;AAAA,QACf;AAAA,MACA;AAEI,UAAI,UAAU;AACZ,QAAAF,MAAI;AACJ,YAAG,SAAO,iBAAiB,SAAO,kBAAiB;AACjD,cAAI,OAAO,SAAS,UAAU;AAC5B,YAAAC,KAAI,KAAK;AACT,gBAAI,kBAAkB;AACpB,mBAAK,IAAI,GAAG,IAAIA,IAAG,KAAK;AACtB,oBAAI,OAAO,KAAK,CAAC,MAAM,UAAU;AAC/B,mCAAiB;AACjB;AAAA,gBAChB;AAAA,cACA;AAAA,YACA;AACU,gBAAI,CAAC,gBAAgB;AACnB,qBAAO,KAAK,KAAK,KAAK,SAAS;AAAA,YAC3C;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAEI,UAAIO,MAAK,UAAU;AACnB,UAAI;AAEJ,UAAI,KAAK,QAAQ,KAAK,KAAK,QAAQ;AACjC,kBAAU,KAAK,KAAK,MAAK;AAEzB,aAAK,IAAI,GAAGP,KAAI,QAAQ,QAAQ,IAAIA,IAAG,KAAK;AAC1C,eAAK,QAAQ;AACb,kBAAQO,KAAE;AAAA,YACV,KAAK;AACH,sBAAQ,CAAC,EAAE,KAAK,MAAM,IAAI;AAC1B;AAAA,YACF,KAAK;AACH,sBAAQ,CAAC,EAAE,KAAK,MAAM,MAAM,UAAU,CAAC,CAAC;AACxC;AAAA,YACF,KAAK;AACH,sBAAQ,CAAC,EAAE,KAAK,MAAM,MAAM,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACtD;AAAA,YACF;AACE,sBAAQ,CAAC,EAAE,MAAM,MAAM,SAAS;AAAA;QAE1C;AAAA,MACA;AAEI,UAAI,UAAU;AACZ,kBAAU,CAAA;AACV,2BAAmB,KAAK,MAAM,SAASR,KAAI,KAAK,cAAc,GAAGC,EAAC;AAAA,MACxE,OAAW;AACL,kBAAU,KAAK,QAAQ,IAAI;AAC3B,YAAI,OAAO,YAAY,YAAY;AACjC,eAAK,QAAQ;AACb,kBAAQO,KAAE;AAAA,YACV,KAAK;AACH,sBAAQ,KAAK,IAAI;AACjB;AAAA,YACF,KAAK;AACH,sBAAQ,KAAK,MAAM,UAAU,CAAC,CAAC;AAC/B;AAAA,YACF,KAAK;AACH,sBAAQ,KAAK,MAAM,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC7C;AAAA,YACF;AACE,qBAAO,IAAI,MAAMA,MAAK,CAAC;AACvB,mBAAKN,KAAI,GAAGA,KAAIM,KAAIN,KAAK,MAAKA,KAAI,CAAC,IAAI,UAAUA,EAAC;AAClD,sBAAQ,MAAM,MAAM,IAAI;AAAA;AAE1B,iBAAO;AAAA,QACf,WAAiB,SAAS;AAGlB,oBAAU,QAAQ,MAAK;AAAA,QAC/B;AAAA,MACA;AAEI,UAAI,WAAW,QAAQ,QAAQ;AAC7B,YAAIM,MAAK,GAAG;AACV,iBAAO,IAAI,MAAMA,MAAK,CAAC;AACvB,eAAKN,KAAI,GAAGA,KAAIM,KAAIN,KAAK,MAAKA,KAAI,CAAC,IAAI,UAAUA,EAAC;AAAA,QAC1D;AACM,aAAK,IAAI,GAAGD,KAAI,QAAQ,QAAQ,IAAIA,IAAG,KAAK;AAC1C,eAAK,QAAQ;AACb,kBAAQO,KAAE;AAAA,YACV,KAAK;AACH,sBAAQ,CAAC,EAAE,KAAK,IAAI;AACpB;AAAA,YACF,KAAK;AACH,sBAAQ,CAAC,EAAE,KAAK,MAAM,UAAU,CAAC,CAAC;AAClC;AAAA,YACF,KAAK;AACH,sBAAQ,CAAC,EAAE,KAAK,MAAM,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAChD;AAAA,YACF;AACE,sBAAQ,CAAC,EAAE,MAAM,MAAM,IAAI;AAAA;QAErC;AACM,eAAO;AAAA,MACb,WAAe,CAAC,KAAK,gBAAgB,CAAC,KAAK,QAAQ,SAAS,SAAS;AAC/D,YAAI,UAAU,CAAC,aAAa,OAAO;AACjC,gBAAM,UAAU,CAAC;AAAA,QACzB,OAAa;AACL,gBAAM,IAAI,MAAM,sCAAsC;AAAA,QAC9D;AAAA,MACA;AAEI,aAAO,CAAC,CAAC,KAAK;AAAA,IAClB;AAEE,iBAAa,UAAU,YAAY,WAAW;AAC5C,UAAI,CAAC,KAAK,WAAW,CAAC,KAAK,MAAM;AAC/B,eAAO;AAAA,MACb;AAEI,WAAK,WAAW,KAAK,KAAK,IAAI;AAE9B,UAAI,OAAO,UAAU,CAAC,GAAG,WAAU,KAAK,UAAUR,KAAI;AACtD,UAAI,MAAKC,IAAE,GAAEC;AAEb,UAAI,SAAS,iBAAiB,CAAC,KAAK,cAAc;AAC9C,YAAI,CAAC,KAAK,QAAQ,aAAa;AAAE,iBAAO,QAAQ,QAAQ,CAAC,KAAK,CAAC;AAAA,QAAE;AAAA,MACzE;AAEI,UAAI,UAAU;AACZ,QAAAF,MAAI;AACJ,YAAG,SAAO,iBAAiB,SAAO,kBAAiB;AACjD,cAAI,OAAO,SAAS,UAAU;AAC5B,YAAAC,KAAI,KAAK;AACT,gBAAI,kBAAkB;AACpB,mBAAK,IAAI,GAAG,IAAIA,IAAG,KAAK;AACtB,oBAAI,OAAO,KAAK,CAAC,MAAM,UAAU;AAC/B,mCAAiB;AACjB;AAAA,gBAChB;AAAA,cACA;AAAA,YACA;AACU,gBAAI,CAAC,gBAAgB;AACnB,qBAAO,KAAK,KAAK,KAAK,SAAS;AAAA,YAC3C;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAEI,UAAI,WAAU,CAAA;AAEd,UAAIO,MAAK,UAAU;AACnB,UAAI;AAEJ,UAAI,KAAK,MAAM;AACb,aAAK,IAAI,GAAGP,KAAI,KAAK,KAAK,QAAQ,IAAIA,IAAG,KAAK;AAC5C,eAAK,QAAQ;AACb,kBAAQO,KAAE;AAAA,YACV,KAAK;AACH,uBAAS,KAAK,KAAK,KAAK,CAAC,EAAE,KAAK,MAAM,IAAI,CAAC;AAC3C;AAAA,YACF,KAAK;AACH,uBAAS,KAAK,KAAK,KAAK,CAAC,EAAE,KAAK,MAAM,MAAM,UAAU,CAAC,CAAC,CAAC;AACzD;AAAA,YACF,KAAK;AACH,uBAAS,KAAK,KAAK,KAAK,CAAC,EAAE,KAAK,MAAM,MAAM,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;AACvE;AAAA,YACF;AACE,uBAAS,KAAK,KAAK,KAAK,CAAC,EAAE,MAAM,MAAM,SAAS,CAAC;AAAA;QAE3D;AAAA,MACA;AAEI,UAAI,UAAU;AACZ,kBAAU,CAAA;AACV,2BAAmB,KAAK,MAAM,SAASR,KAAI,KAAK,cAAc,CAAC;AAAA,MACrE,OAAW;AACL,kBAAU,KAAK,QAAQ,IAAI;AAAA,MACjC;AAEI,UAAI,OAAO,YAAY,YAAY;AACjC,aAAK,QAAQ;AACb,gBAAQQ,KAAE;AAAA,UACV,KAAK;AACH,qBAAS,KAAK,QAAQ,KAAK,IAAI,CAAC;AAChC;AAAA,UACF,KAAK;AACH,qBAAS,KAAK,QAAQ,KAAK,MAAM,UAAU,CAAC,CAAC,CAAC;AAC9C;AAAA,UACF,KAAK;AACH,qBAAS,KAAK,QAAQ,KAAK,MAAM,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;AAC5D;AAAA,UACF;AACE,mBAAO,IAAI,MAAMA,MAAK,CAAC;AACvB,iBAAKN,KAAI,GAAGA,KAAIM,KAAIN,KAAK,MAAKA,KAAI,CAAC,IAAI,UAAUA,EAAC;AAClD,qBAAS,KAAK,QAAQ,MAAM,MAAM,IAAI,CAAC;AAAA;MAE/C,WAAe,WAAW,QAAQ,QAAQ;AACpC,kBAAU,QAAQ,MAAK;AACvB,YAAIM,MAAK,GAAG;AACV,iBAAO,IAAI,MAAMA,MAAK,CAAC;AACvB,eAAKN,KAAI,GAAGA,KAAIM,KAAIN,KAAK,MAAKA,KAAI,CAAC,IAAI,UAAUA,EAAC;AAAA,QAC1D;AACM,aAAK,IAAI,GAAGD,KAAI,QAAQ,QAAQ,IAAIA,IAAG,KAAK;AAC1C,eAAK,QAAQ;AACb,kBAAQO,KAAE;AAAA,YACV,KAAK;AACH,uBAAS,KAAK,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC;AACnC;AAAA,YACF,KAAK;AACH,uBAAS,KAAK,QAAQ,CAAC,EAAE,KAAK,MAAM,UAAU,CAAC,CAAC,CAAC;AACjD;AAAA,YACF,KAAK;AACH,uBAAS,KAAK,QAAQ,CAAC,EAAE,KAAK,MAAM,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;AAC/D;AAAA,YACF;AACE,uBAAS,KAAK,QAAQ,CAAC,EAAE,MAAM,MAAM,IAAI,CAAC;AAAA;QAEpD;AAAA,MACA,WAAe,CAAC,KAAK,gBAAgB,CAAC,KAAK,QAAQ,SAAS,SAAS;AAC/D,YAAI,UAAU,CAAC,aAAa,OAAO;AACjC,iBAAO,QAAQ,OAAO,UAAU,CAAC,CAAC;AAAA,QAC1C,OAAa;AACL,iBAAO,QAAQ,OAAO,sCAAsC;AAAA,QACpE;AAAA,MACA;AAEI,aAAO,QAAQ,IAAI,QAAQ;AAAA,IAC/B;AAEE,iBAAa,UAAU,KAAK,SAAS,MAAM,UAAU,SAAS;AAC5D,aAAO,KAAK,IAAI,MAAM,UAAU,OAAO,OAAO;AAAA,IAClD;AAEE,iBAAa,UAAU,kBAAkB,SAAS,MAAM,UAAU,SAAS;AACzE,aAAO,KAAK,IAAI,MAAM,UAAU,MAAM,OAAO;AAAA,IACjD;AAEE,iBAAa,UAAU,QAAQ,SAASD,KAAI;AAC1C,aAAO,KAAK,OAAOA,KAAI,KAAK;AAAA,IAChC;AAEE,iBAAa,UAAU,aAAa,SAASA,KAAI;AAC/C,aAAO,KAAK,OAAOA,KAAI,IAAI;AAAA,IAC/B;AAEE,iBAAa,UAAU,cAAc,aAAa,UAAU;AAE5D,iBAAa,UAAU,SAAS,SAASA,KAAI,SAAQ;AACnD,UAAI,OAAOA,QAAO,YAAY;AAC5B,cAAM,IAAI,MAAM,0CAA0C;AAAA,MAChE;AAEI,UAAI,CAAC,KAAK,MAAM;AACd,aAAK,OAAO,CAAA;AAAA,MAClB;AAGI,UAAG,SAAQ;AACT,aAAK,KAAK,QAAQA,GAAE;AAAA,MAC1B,OAAS;AACH,aAAK,KAAK,KAAKA,GAAE;AAAA,MACvB;AAEI,aAAO;AAAA,IACX;AAEE,iBAAa,UAAU,MAAM,SAAS,MAAM,UAAU,SAAS,SAAS;AACtE,UAAI,OAAO,SAAS,YAAY;AAC9B,aAAK,OAAO,MAAM,QAAQ;AAC1B,eAAO;AAAA,MACb;AAEI,UAAI,OAAO,aAAa,YAAY;AAClC,cAAM,IAAI,MAAM,uCAAuC;AAAA,MAC7D;AACI,WAAK,WAAW,KAAK,KAAK,IAAI;AAE9B,UAAI,cAAa,MAAM;AAEvB,UAAI,YAAYb,aAAW;AACzB,eAAO,cAAc,KAAK,MAAM,MAAM,UAAU,OAAO;AACvD,mBAAW,KAAK,CAAC;AACjB,sBAAc,KAAK,CAAC;AAAA,MAC1B;AAII,UAAI,KAAK,cAAc;AACrB,aAAK,KAAK,eAAe,MAAM,QAAQ;AAAA,MAC7C;AAEI,UAAI,KAAK,UAAU;AACjB,yBAAiB,KAAK,MAAM,MAAM,UAAU,OAAO;AACnD,eAAO;AAAA,MACb;AAEI,UAAI,CAAC,KAAK,QAAQ,IAAI,GAAG;AAEvB,aAAK,QAAQ,IAAI,IAAI;AAAA,MAC3B,OAAW;AACL,YAAI,OAAO,KAAK,QAAQ,IAAI,MAAM,YAAY;AAE5C,eAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC;AAAA,QAChD;AAGM,YAAG,SAAQ;AACT,eAAK,QAAQ,IAAI,EAAE,QAAQ,QAAQ;AAAA,QAC3C,OAAW;AACH,eAAK,QAAQ,IAAI,EAAE,KAAK,QAAQ;AAAA,QACxC;AAGM,YACE,CAAC,KAAK,QAAQ,IAAI,EAAE,UACpB,KAAK,gBAAgB,KACrB,KAAK,QAAQ,IAAI,EAAE,SAAS,KAAK,eACjC;AACA,eAAK,QAAQ,IAAI,EAAE,SAAS;AAC5B,gCAAsB,KAAK,MAAM,KAAK,QAAQ,IAAI,EAAE,QAAQ,IAAI;AAAA,QACxE;AAAA,MACA;AAEI,aAAO;AAAA,IACX;AAEE,iBAAa,UAAU,MAAM,SAAS,MAAM,UAAU;AACpD,UAAI,OAAO,aAAa,YAAY;AAClC,cAAM,IAAI,MAAM,iDAAiD;AAAA,MACvE;AAEI,UAAI,UAAS,QAAM,CAAA;AAEnB,UAAG,KAAK,UAAU;AAChB,YAAIM,MAAK,OAAO,SAAS,WAAW,KAAK,MAAM,KAAK,SAAS,IAAI,KAAK,MAAK;AAC3E,gBAAQ,mBAAmB,KAAK,MAAM,MAAMA,KAAI,KAAK,cAAc,CAAC;AACpE,YAAG,CAAC,MAAO,QAAO;AAAA,MACxB,OAAW;AAEL,YAAI,CAAC,KAAK,QAAQ,IAAI,EAAG,QAAO;AAChC,mBAAW,KAAK,QAAQ,IAAI;AAC5B,cAAM,KAAK,EAAC,YAAW,SAAQ,CAAC;AAAA,MACtC;AAEI,eAAS,QAAM,GAAG,QAAM,MAAM,QAAQ,SAAS;AAC7C,YAAI,OAAO,MAAM,KAAK;AACtB,mBAAW,KAAK;AAChB,YAAI,QAAQ,QAAQ,GAAG;AAErB,cAAI,WAAW;AAEf,mBAAS,IAAI,GAAG,SAAS,SAAS,QAAQ,IAAI,QAAQ,KAAK;AACzD,gBAAI,SAAS,CAAC,MAAM,YACjB,SAAS,CAAC,EAAE,YAAY,SAAS,CAAC,EAAE,aAAa,YACjD,SAAS,CAAC,EAAE,WAAW,SAAS,CAAC,EAAE,YAAY,UAAW;AAC3D,yBAAW;AACX;AAAA,YACZ;AAAA,UACA;AAEQ,cAAI,WAAW,GAAG;AAChB;AAAA,UACV;AAEQ,cAAG,KAAK,UAAU;AAChB,iBAAK,WAAW,OAAO,UAAU,CAAC;AAAA,UAC5C,OACa;AACH,iBAAK,QAAQ,IAAI,EAAE,OAAO,UAAU,CAAC;AAAA,UAC/C;AAEQ,cAAI,SAAS,WAAW,GAAG;AACzB,gBAAG,KAAK,UAAU;AAChB,qBAAO,KAAK;AAAA,YACxB,OACe;AACH,qBAAO,KAAK,QAAQ,IAAI;AAAA,YACpC;AAAA,UACA;AACQ,cAAI,KAAK;AACP,iBAAK,KAAK,kBAAkB,MAAM,QAAQ;AAE5C,iBAAO;AAAA,QACf,WACe,aAAa,YACnB,SAAS,YAAY,SAAS,aAAa,YAC3C,SAAS,WAAW,SAAS,YAAY,UAAW;AACrD,cAAG,KAAK,UAAU;AAChB,mBAAO,KAAK;AAAA,UACtB,OACa;AACH,mBAAO,KAAK,QAAQ,IAAI;AAAA,UAClC;AACQ,cAAI,KAAK;AACP,iBAAK,KAAK,kBAAkB,MAAM,QAAQ;AAAA,QACpD;AAAA,MACA;AAEI,WAAK,gBAAgB,0BAA0B,KAAK,YAAY;AAEhE,aAAO;AAAA,IACX;AAEE,iBAAa,UAAU,SAAS,SAASO,KAAI;AAC3C,UAAI,IAAI,GAAGN,KAAI,GAAG;AAClB,UAAIM,OAAM,KAAK,QAAQ,KAAK,KAAK,SAAS,GAAG;AAC3C,cAAM,KAAK;AACX,aAAI,IAAI,GAAGN,KAAI,IAAI,QAAQ,IAAIA,IAAG,KAAK;AACrC,cAAGM,QAAO,IAAI,CAAC,GAAG;AAChB,gBAAI,OAAO,GAAG,CAAC;AACf,gBAAI,KAAK;AACP,mBAAK,KAAK,qBAAqBA,GAAE;AACnC,mBAAO;AAAA,UACjB;AAAA,QACA;AAAA,MACA,OAAW;AACL,cAAM,KAAK;AACX,YAAI,KAAK,iBAAiB;AACxB,eAAI,IAAI,GAAGN,KAAI,IAAI,QAAQ,IAAIA,IAAG;AAChC,iBAAK,KAAK,qBAAqB,IAAI,CAAC,CAAC;AAAA,QAC/C;AACM,aAAK,OAAO,CAAA;AAAA,MAClB;AACI,aAAO;AAAA,IACX;AAEE,iBAAa,UAAU,iBAAiB,aAAa,UAAU;AAE/D,iBAAa,UAAU,qBAAqB,SAAU,MAAM;AAC1D,UAAI,SAASP,aAAW;AACtB,SAAC,KAAK,WAAW,KAAK,KAAK,IAAI;AAC/B,eAAO;AAAA,MACb;AAEI,UAAI,KAAK,UAAU;AACjB,YAAI,QAAQ,mBAAmB,KAAK,MAAM,MAAM,MAAM,KAAK,cAAc,CAAC,GAAG,MAAM;AACnF,YAAI,CAAC,MAAO,QAAO;AACnB,aAAK,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACjC,iBAAO,MAAM,CAAC;AACd,eAAK,aAAa;AAAA,QAC1B;AACM,aAAK,gBAAgB,0BAA0B,KAAK,YAAY;AAAA,MACtE,WAAe,KAAK,SAAS;AACvB,aAAK,QAAQ,IAAI,IAAI;AAAA,MAC3B;AACI,aAAO;AAAA,IACX;AAEE,iBAAa,UAAU,YAAY,SAAU,MAAM;AACjD,UAAI,UAAU,KAAK;AACnB,UAAI,MAAM,WAAW;AACrB,UAAI;AACJ,UAAI;AAEJ,UAAI,SAASA,aAAW;AACtB,YAAI,KAAK,UAAU;AACjB,gBAAM,MAAM,0CAA0C;AAAA,QAC9D;AAEM,YAAI,CAAC,SAAS;AACZ,iBAAO,CAAA;AAAA,QACf;AAEM,eAAO,QAAQ,OAAO;AACtB,YAAI,KAAK;AACT,uBAAe,CAAA;AACf,eAAO,MAAM,GAAG;AACd,sBAAY,QAAQ,KAAK,CAAC,CAAC;AAC3B,cAAI,OAAO,cAAc,YAAY;AACnC,yBAAa,KAAK,SAAS;AAAA,UACrC,OAAe;AACL,yBAAa,KAAK,MAAM,cAAc,SAAS;AAAA,UACzD;AAAA,QACA;AACM,eAAO;AAAA,MACb,OAAW;AACL,YAAI,KAAK,UAAU;AACjB,yBAAc,KAAK;AACnB,cAAG,CAAC,aAAc,QAAO,CAAA;AACzB,cAAI,WAAW,CAAA;AACf,cAAIM,MAAK,OAAO,SAAS,WAAW,KAAK,MAAM,KAAK,SAAS,IAAI,KAAK,MAAK;AAC3E,6BAAmB,KAAK,MAAM,UAAUA,KAAI,cAAc,CAAC;AAC3D,iBAAO;AAAA,QACf;AAEM,YAAI,CAAC,SAAS;AACZ,iBAAO,CAAA;AAAA,QACf;AAEM,oBAAY,QAAQ,IAAI;AAExB,YAAI,CAAC,WAAW;AACd,iBAAO,CAAA;AAAA,QACf;AACM,eAAO,OAAO,cAAc,aAAa,CAAC,SAAS,IAAI;AAAA,MAC7D;AAAA,IACA;AAEE,iBAAa,UAAU,aAAa,SAAS,WAAU;AACrD,UAAI,UAAS,KAAK;AAClB,aAAO,KAAK,WAAU,kBAAkB,KAAK,MAAM,KAAK,cAAc,CAAA,GAAI,MAAM,SAAS,IAAK,UAAS,QAAQ,OAAO,IAAI;IAC9H;AAEE,iBAAa,UAAU,gBAAgB,SAAS,MAAM;AACpD,aAAO,KAAK,UAAU,IAAI,EAAE;AAAA,IAChC;AAEE,iBAAa,UAAU,eAAe,SAAU,MAAM;AACpD,UAAI,KAAK,UAAU;AACjB,YAAI,WAAW,CAAA;AACf,YAAIA,MAAK,OAAO,SAAS,WAAW,KAAK,MAAM,KAAK,SAAS,IAAI,KAAK,MAAK;AAC3E,2BAAmB,KAAK,MAAM,UAAUA,KAAI,KAAK,cAAc,CAAC;AAChE,eAAO,SAAS,SAAS;AAAA,MAC/B;AAEI,UAAI,UAAU,KAAK;AACnB,UAAI,OAAO,KAAK;AAEhB,aAAO,CAAC,EAAE,QAAQ,KAAK,UAAU,YAAY,SAASN,cAAY,QAAQ,OAAO,EAAE,SAAS,QAAQ,IAAI;AAAA,IAC5G;AAEE,iBAAa,UAAU,eAAe,WAAW;AAE/C,UAAG,KAAK,MAAM;AACZ,eAAO,KAAK;AAAA,MAClB,OACS;AACH,eAAO,CAAA;AAAA,MACb;AAAA,IAEA;AAEE,iBAAa,UAAU,UAAU,SAAU,OAAO,SAAS;AACzD,UAAInB,QAAO;AACX,UAAI,OAAO,OAAO;AAClB,UAAI,SAAS,UAAU;AACrB,kBAAU,EAAC,SAAS,QAAO;AAAA,MACjC,WAAe,SAAS,YAAY;AAC9B,kBAAU,EAAC,QAAQ,QAAO;AAAA,MAChC;AAEI,gBAAS,eAAe,SAAS;AAAA,QAC/B,SAAS;AAAA,QACT,QAAQmB;AAAAA,QACR,aAAa;AAAA,QACb;AAAA,QACA,UAAU;AAAA,MAChB,GAAO;AAAA,QACD,QAAQ;AAAA,QACR,SAAS;AAAA,MACf,CAAK;AAED,aAAO,sBAAsB,QAAQ,SAAS,SAAU,SAAS,QAAQ,UAAU;AACjF,iBAAS,WAAW;AAClB,cAAI,SAAQ,QAAQ;AACpB,cAAI,UAAU,CAAC,OAAO,MAAMnB,OAAM,SAAS,GAAG;AAC5C;AAAA,UACV;AACQ,UAAAA,MAAK,IAAI,OAAO,QAAQ;AACxB,cAAI,QAAQ,aAAa;AACvB,gBAAI,MAAM,UAAU,CAAC;AACrB,kBAAM,OAAO,GAAG,IAAI,QAAQoB,SAAQ,MAAM,MAAM,SAAS,EAAE,MAAM,CAAC,CAAC;AAAA,UAC7E,OAAe;AACL,oBAAQA,SAAQ,MAAM,MAAM,SAAS,CAAC;AAAA,UAChD;AAAA,QACA;AAEM,iBAAS,WAAU;AACjB,UAAApB,MAAK,IAAI,OAAO,QAAQ;AAAA,QAChC,CAAO;AAED,QAAAA,MAAK,IAAI,OAAO,UAAU,KAAK;AAAA,MACrC,GAAO;AAAA,QACD,SAAS,QAAQ;AAAA,QACjB,UAAU,QAAQ;AAAA,MACxB,CAAK;AAAA,IACL;AAEE,aAAS,KAAK,SAAS,MAAM,SAAS;AACpC,gBAAS,eAAe,SAAS;AAAA,QAC/B;AAAA,QACA,SAAS;AAAA,QACT,UAAU;AAAA,MAChB,GAAO;AAAA,QACD,SAAS;AAAA,MACf,CAAK;AAED,UAAI,WAAU,QAAQ;AAEtB,aAAO,sBAAsB,UAAU,SAAS,SAAS,QAAQ,UAAS;AACxE,YAAI;AACJ,YAAI,OAAO,QAAQ,qBAAqB,YAAY;AAClD,oBAAU,WAAY;AACpB,oBAAQoB,SAAQ,MAAM,MAAM,SAAS,CAAC;AAAA,UAChD;AAEQ,mBAAS,WAAU;AACjB,oBAAQ,oBAAoB,MAAM,OAAO;AAAA,UACnD,CAAS;AAED,kBAAQ;AAAA,YACJ;AAAA,YACA;AAAA,YACA,EAAC,MAAM,KAAI;AAAA,UACvB;AACQ;AAAA,QACR;AAEM,YAAI,gBAAgB,WAAU;AAC5B,2BAAiB,QAAQ,eAAe,SAAS,aAAa;AAC9D,kBAAQA,SAAQ,MAAM,MAAM,SAAS,CAAC;AAAA,QAC9C;AAEM,YAAI;AAEJ,YAAI,SAAS,SAAS;AACpB,0BAAgB,SAAU,KAAI;AAC5B,oBAAQ,eAAe,MAAM,aAAa;AAC1C,mBAAO,GAAG;AAAA,UACpB;AAEQ,kBAAQ,KAAK,SAAS,aAAa;AAAA,QAC3C;AAEM,iBAAS,WAAU;AACjB,2BAAiB,QAAQ,eAAe,SAAS,aAAa;AAC9D,kBAAQ,eAAe,MAAM,aAAa;AAAA,QAClD,CAAO;AAED,gBAAQ,KAAK,MAAM,aAAa;AAAA,MACtC,GAAO;AAAA,QACD,SAAS,QAAQ;AAAA,QACjB,UAAU,QAAQ;AAAA,MACxB,CAAK;AAAA,IACL;AAEE,QAAI,YAAW,aAAa;AAE5B,WAAO,iBAAiB,cAAc;AAAA,MACpC,qBAAqB;AAAA,QACnB,KAAK,WAAY;AACf,iBAAO,UAAU;AAAA,QACzB;AAAA,QACM,KAAK,SAAU,GAAG;AAChB,cAAI,OAAO,MAAM,YAAY,IAAI,KAAK,OAAO,MAAM,CAAC,GAAG;AACrD,kBAAM,UAAU,iCAAiC;AAAA,UAC3D;AACQ,oBAAU,gBAAgB;AAAA,QAClC;AAAA,QACM,YAAY;AAAA;MAEd,MAAM;AAAA,QACJ,OAAO;AAAA,QACP,UAAU;AAAA,QACV,cAAc;AAAA;IAEpB,CAAG;AAED,WAAO,iBAAiB,WAAW;AAAA,MAC/B,eAAe;AAAA,QACX,OAAO;AAAA,QACP,UAAU;AAAA,QACV,cAAc;AAAA;MAElB,YAAY,EAAC,OAAO,MAAM,UAAU,MAAM,cAAc,KAAI;AAAA,IAClE,CAAG;AAOuC;AAEtC,aAAA,UAAiB;AAAA,IACrB;AAAA,EAMA;;;;AC5lDA,MAAM,eAAe,uBAAO,OAAO,IAAI;AACvC,aAAa,MAAM,IAAI;AACvB,aAAa,OAAO,IAAI;AACxB,aAAa,MAAM,IAAI;AACvB,aAAa,MAAM,IAAI;AACvB,aAAa,SAAS,IAAI;AAC1B,aAAa,SAAS,IAAI;AAC1B,aAAa,MAAM,IAAI;AACvB,MAAM,uBAAuB,uBAAO,OAAO,IAAI;AAC/C,OAAO,KAAK,YAAY,EAAE,QAAQ,CAAC,QAAQ;AACvC,uBAAqB,aAAa,GAAG,CAAC,IAAI;AAC9C,CAAC;AACD,MAAM,eAAe,EAAE,MAAM,SAAS,MAAM,eAAc;ACX1D,MAAMc,mBAAiB,OAAO,SAAS,cAClC,OAAO,SAAS,eACb,OAAO,UAAU,SAAS,KAAK,IAAI,MAAM;AACjD,MAAMC,0BAAwB,OAAO,gBAAgB;AAErD,MAAMC,WAAS,CAAC,QAAQ;AACpB,SAAO,OAAO,YAAY,WAAW,aAC/B,YAAY,OAAO,GAAG,IACtB,OAAO,IAAI,kBAAkB;AACvC;AACA,MAAM,eAAe,CAAC,EAAE,MAAM,KAAI,GAAI,gBAAgB,aAAa;AAC/D,MAAIF,oBAAkB,gBAAgB,MAAM;AACxC,QAAI,gBAAgB;AAChB,aAAO,SAAS,IAAI;AAAA,IACxB,OACK;AACD,aAAO,mBAAmB,MAAM,QAAQ;AAAA,IAC5C;AAAA,EACJ,WACSC,4BACJ,gBAAgB,eAAeC,SAAO,IAAI,IAAI;AAC/C,QAAI,gBAAgB;AAChB,aAAO,SAAS,IAAI;AAAA,IACxB,OACK;AACD,aAAO,mBAAmB,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ;AAAA,IACxD;AAAA,EACJ;AAEA,SAAO,SAAS,aAAa,IAAI,KAAK,QAAQ,GAAG;AACrD;AACA,MAAM,qBAAqB,CAAC,MAAM,aAAa;AAC3C,QAAM,aAAa,IAAI,WAAU;AACjC,aAAW,SAAS,WAAY;AAC5B,UAAM,UAAU,WAAW,OAAO,MAAM,GAAG,EAAE,CAAC;AAC9C,aAAS,OAAO,WAAW,GAAG;AAAA,EAClC;AACA,SAAO,WAAW,cAAc,IAAI;AACxC;AACA,SAAS,QAAQ,MAAM;AACnB,MAAI,gBAAgB,YAAY;AAC5B,WAAO;AAAA,EACX,WACS,gBAAgB,aAAa;AAClC,WAAO,IAAI,WAAW,IAAI;AAAA,EAC9B,OACK;AACD,WAAO,IAAI,WAAW,KAAK,QAAQ,KAAK,YAAY,KAAK,UAAU;AAAA,EACvE;AACJ;AACA,IAAI;AACG,SAAS,qBAAqB,QAAQ,UAAU;AACnD,MAAIF,oBAAkB,OAAO,gBAAgB,MAAM;AAC/C,WAAO,OAAO,KAAK,YAAW,EAAG,KAAK,OAAO,EAAE,KAAK,QAAQ;AAAA,EAChE,WACSC,4BACJ,OAAO,gBAAgB,eAAeC,SAAO,OAAO,IAAI,IAAI;AAC7D,WAAO,SAAS,QAAQ,OAAO,IAAI,CAAC;AAAA,EACxC;AACA,eAAa,QAAQ,OAAO,CAAC,YAAY;AACrC,QAAI,CAAC,cAAc;AACf,qBAAe,IAAI,YAAW;AAAA,IAClC;AACA,aAAS,aAAa,OAAO,OAAO,CAAC;AAAA,EACzC,CAAC;AACL;ACjEA,MAAM,QAAQ;AAEd,MAAMC,WAAS,OAAO,eAAe,cAAc,CAAA,IAAK,IAAI,WAAW,GAAG;AAC1E,SAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACnCA,WAAO,MAAM,WAAW,CAAC,CAAC,IAAI;AAClC;AAiBO,MAAMnD,WAAS,CAAC,WAAW;AAC9B,MAAI,eAAe,OAAO,SAAS,MAAM,MAAM,OAAO,QAAQ,GAAGoD,KAAI,GAAG,UAAU,UAAU,UAAU;AACtG,MAAI,OAAO,OAAO,SAAS,CAAC,MAAM,KAAK;AACnC;AACA,QAAI,OAAO,OAAO,SAAS,CAAC,MAAM,KAAK;AACnC;AAAA,IACJ;AAAA,EACJ;AACA,QAAM,cAAc,IAAI,YAAY,YAAY,GAAG,QAAQ,IAAI,WAAW,WAAW;AACrF,OAAK,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;AACzB,eAAWD,SAAO,OAAO,WAAW,CAAC,CAAC;AACtC,eAAWA,SAAO,OAAO,WAAW,IAAI,CAAC,CAAC;AAC1C,eAAWA,SAAO,OAAO,WAAW,IAAI,CAAC,CAAC;AAC1C,eAAWA,SAAO,OAAO,WAAW,IAAI,CAAC,CAAC;AAC1C,UAAMC,IAAG,IAAK,YAAY,IAAM,YAAY;AAC5C,UAAMA,IAAG,KAAM,WAAW,OAAO,IAAM,YAAY;AACnD,UAAMA,IAAG,KAAM,WAAW,MAAM,IAAM,WAAW;AAAA,EACrD;AACA,SAAO;AACX;ACxCA,MAAMH,0BAAwB,OAAO,gBAAgB;AAC9C,MAAM,eAAe,CAAC,eAAe,eAAe;AACvD,MAAI,OAAO,kBAAkB,UAAU;AACnC,WAAO;AAAA,MACH,MAAM;AAAA,MACN,MAAM,UAAU,eAAe,UAAU;AAAA,IACrD;AAAA,EACI;AACA,QAAM,OAAO,cAAc,OAAO,CAAC;AACnC,MAAI,SAAS,KAAK;AACd,WAAO;AAAA,MACH,MAAM;AAAA,MACN,MAAM,mBAAmB,cAAc,UAAU,CAAC,GAAG,UAAU;AAAA,IAC3E;AAAA,EACI;AACA,QAAM,aAAa,qBAAqB,IAAI;AAC5C,MAAI,CAAC,YAAY;AACb,WAAO;AAAA,EACX;AACA,SAAO,cAAc,SAAS,IACxB;AAAA,IACE,MAAM,qBAAqB,IAAI;AAAA,IAC/B,MAAM,cAAc,UAAU,CAAC;AAAA,EAC3C,IACU;AAAA,IACE,MAAM,qBAAqB,IAAI;AAAA,EAC3C;AACA;AACA,MAAM,qBAAqB,CAAC,MAAM,eAAe;AAC7C,MAAIA,yBAAuB;AACvB,UAAM,UAAUjD,SAAO,IAAI;AAC3B,WAAO,UAAU,SAAS,UAAU;AAAA,EACxC,OACK;AACD,WAAO,EAAE,QAAQ,MAAM;EAC3B;AACJ;AACA,MAAM,YAAY,CAAC,MAAM,eAAe;AACpC,UAAQ,YAAU;AAAA,IACd,KAAK;AACD,UAAI,gBAAgB,MAAM;AAEtB,eAAO;AAAA,MACX,OACK;AAED,eAAO,IAAI,KAAK,CAAC,IAAI,CAAC;AAAA,MAC1B;AAAA,IACJ,KAAK;AAAA,IACL;AACI,UAAI,gBAAgB,aAAa;AAE7B,eAAO;AAAA,MACX,OACK;AAED,eAAO,KAAK;AAAA,MAChB;AAAA,EACZ;AACA;AC1DA,MAAM,YAAY,OAAO,aAAa,EAAE;AACxC,MAAM,gBAAgB,CAAC,SAAS,aAAa;AAEzC,QAAM,SAAS,QAAQ;AACvB,QAAM,iBAAiB,IAAI,MAAM,MAAM;AACvC,MAAI,QAAQ;AACZ,UAAQ,QAAQ,CAAC,QAAQ,MAAM;AAE3B,iBAAa,QAAQ,OAAO,CAAC,kBAAkB;AAC3C,qBAAe,CAAC,IAAI;AACpB,UAAI,EAAE,UAAU,QAAQ;AACpB,iBAAS,eAAe,KAAK,SAAS,CAAC;AAAA,MAC3C;AAAA,IACJ,CAAC;AAAA,EACL,CAAC;AACL;AACA,MAAM,gBAAgB,CAAC,gBAAgB,eAAe;AAClD,QAAM,iBAAiB,eAAe,MAAM,SAAS;AACrD,QAAM,UAAU,CAAA;AAChB,WAAS,IAAI,GAAG,IAAI,eAAe,QAAQ,KAAK;AAC5C,UAAM,gBAAgB,aAAa,eAAe,CAAC,GAAG,UAAU;AAChE,YAAQ,KAAK,aAAa;AAC1B,QAAI,cAAc,SAAS,SAAS;AAChC;AAAA,IACJ;AAAA,EACJ;AACA,SAAO;AACX;AACO,SAAS,4BAA4B;AACxC,SAAO,IAAI,gBAAgB;AAAA,IACvB,UAAU,QAAQ,YAAY;AAC1B,2BAAqB,QAAQ,CAAC,kBAAkB;AAC5C,cAAM,gBAAgB,cAAc;AACpC,YAAI;AAEJ,YAAI,gBAAgB,KAAK;AACrB,mBAAS,IAAI,WAAW,CAAC;AACzB,cAAI,SAAS,OAAO,MAAM,EAAE,SAAS,GAAG,aAAa;AAAA,QACzD,WACS,gBAAgB,OAAO;AAC5B,mBAAS,IAAI,WAAW,CAAC;AACzB,gBAAM,OAAO,IAAI,SAAS,OAAO,MAAM;AACvC,eAAK,SAAS,GAAG,GAAG;AACpB,eAAK,UAAU,GAAG,aAAa;AAAA,QACnC,OACK;AACD,mBAAS,IAAI,WAAW,CAAC;AACzB,gBAAM,OAAO,IAAI,SAAS,OAAO,MAAM;AACvC,eAAK,SAAS,GAAG,GAAG;AACpB,eAAK,aAAa,GAAG,OAAO,aAAa,CAAC;AAAA,QAC9C;AAEA,YAAI,OAAO,QAAQ,OAAO,OAAO,SAAS,UAAU;AAChD,iBAAO,CAAC,KAAK;AAAA,QACjB;AACA,mBAAW,QAAQ,MAAM;AACzB,mBAAW,QAAQ,aAAa;AAAA,MACpC,CAAC;AAAA,IACL;AAAA,EACR,CAAK;AACL;AACA,IAAI;AACJ,SAAS,YAAY,QAAQ;AACzB,SAAO,OAAO,OAAO,CAAC,KAAK,UAAU,MAAM,MAAM,QAAQ,CAAC;AAC9D;AACA,SAAS,aAAa,QAAQ,MAAM;AAChC,MAAI,OAAO,CAAC,EAAE,WAAW,MAAM;AAC3B,WAAO,OAAO,MAAK;AAAA,EACvB;AACA,QAAM,SAAS,IAAI,WAAW,IAAI;AAClC,MAAIyC,KAAI;AACR,WAAS,IAAI,GAAG,IAAI,MAAM,KAAK;AAC3B,WAAO,CAAC,IAAI,OAAO,CAAC,EAAEA,IAAG;AACzB,QAAIA,OAAM,OAAO,CAAC,EAAE,QAAQ;AACxB,aAAO,MAAK;AACZ,MAAAA,KAAI;AAAA,IACR;AAAA,EACJ;AACA,MAAI,OAAO,UAAUA,KAAI,OAAO,CAAC,EAAE,QAAQ;AACvC,WAAO,CAAC,IAAI,OAAO,CAAC,EAAE,MAAMA,EAAC;AAAA,EACjC;AACA,SAAO;AACX;AACO,SAAS,0BAA0B,YAAY,YAAY;AAC9D,MAAI,CAAC,cAAc;AACf,mBAAe,IAAI,YAAW;AAAA,EAClC;AACA,QAAM,SAAS,CAAA;AACf,MAAI,QAAQ;AACZ,MAAI,iBAAiB;AACrB,MAAIY,YAAW;AACf,SAAO,IAAI,gBAAgB;AAAA,IACvB,UAAU,OAAO,YAAY;AACzB,aAAO,KAAK,KAAK;AACjB,aAAO,MAAM;AACT,YAAI,UAAU,GAA2B;AACrC,cAAI,YAAY,MAAM,IAAI,GAAG;AACzB;AAAA,UACJ;AACA,gBAAM,SAAS,aAAa,QAAQ,CAAC;AACrC,UAAAA,aAAY,OAAO,CAAC,IAAI,SAAU;AAClC,2BAAiB,OAAO,CAAC,IAAI;AAC7B,cAAI,iBAAiB,KAAK;AACtB,oBAAQ;AAAA,UACZ,WACS,mBAAmB,KAAK;AAC7B,oBAAQ;AAAA,UACZ,OACK;AACD,oBAAQ;AAAA,UACZ;AAAA,QACJ,WACS,UAAU,GAAuC;AACtD,cAAI,YAAY,MAAM,IAAI,GAAG;AACzB;AAAA,UACJ;AACA,gBAAM,cAAc,aAAa,QAAQ,CAAC;AAC1C,2BAAiB,IAAI,SAAS,YAAY,QAAQ,YAAY,YAAY,YAAY,MAAM,EAAE,UAAU,CAAC;AACzG,kBAAQ;AAAA,QACZ,WACS,UAAU,GAAuC;AACtD,cAAI,YAAY,MAAM,IAAI,GAAG;AACzB;AAAA,UACJ;AACA,gBAAM,cAAc,aAAa,QAAQ,CAAC;AAC1C,gBAAM,OAAO,IAAI,SAAS,YAAY,QAAQ,YAAY,YAAY,YAAY,MAAM;AACxF,gBAAM,IAAI,KAAK,UAAU,CAAC;AAC1B,cAAI,IAAI,KAAK,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG;AAE9B,uBAAW,QAAQ,YAAY;AAC/B;AAAA,UACJ;AACA,2BAAiB,IAAI,KAAK,IAAI,GAAG,EAAE,IAAI,KAAK,UAAU,CAAC;AACvD,kBAAQ;AAAA,QACZ,OACK;AACD,cAAI,YAAY,MAAM,IAAI,gBAAgB;AACtC;AAAA,UACJ;AACA,gBAAM,OAAO,aAAa,QAAQ,cAAc;AAChD,qBAAW,QAAQ,aAAaA,YAAW,OAAO,aAAa,OAAO,IAAI,GAAG,UAAU,CAAC;AACxF,kBAAQ;AAAA,QACZ;AACA,YAAI,mBAAmB,KAAK,iBAAiB,YAAY;AACrD,qBAAW,QAAQ,YAAY;AAC/B;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,EACR,CAAK;AACL;AACO,MAAMC,aAAW;ACpJjB,SAAS,QAAQ,KAAK;AAC3B,MAAI,IAAK,QAAO,MAAM,GAAG;AAC3B;AAUA,SAAS,MAAM,KAAK;AAClB,WAAS,OAAO,QAAQ,WAAW;AACjC,QAAI,GAAG,IAAI,QAAQ,UAAU,GAAG;AAAA,EAClC;AACA,SAAO;AACT;AAWA,QAAQ,UAAU,KAClB,QAAQ,UAAU,mBAAmB,SAAS,OAAOR,KAAG;AACtD,OAAK,aAAa,KAAK,cAAc,CAAA;AACrC,GAAC,KAAK,WAAW,MAAM,KAAK,IAAI,KAAK,WAAW,MAAM,KAAK,KAAK,CAAA,GAC7D,KAAKA,GAAE;AACV,SAAO;AACT;AAYA,QAAQ,UAAU,OAAO,SAAS,OAAOA,KAAG;AAC1C,WAASV,MAAK;AACZ,SAAK,IAAI,OAAOA,GAAE;AAClB,IAAAU,IAAG,MAAM,MAAM,SAAS;AAAA,EAC1B;AAEA,EAAAV,IAAG,KAAKU;AACR,OAAK,GAAG,OAAOV,GAAE;AACjB,SAAO;AACT;AAYA,QAAQ,UAAU,MAClB,QAAQ,UAAU,iBAClB,QAAQ,UAAU,qBAClB,QAAQ,UAAU,sBAAsB,SAAS,OAAOU,KAAG;AACzD,OAAK,aAAa,KAAK,cAAc,CAAA;AAGrC,MAAI,KAAK,UAAU,QAAQ;AACzB,SAAK,aAAa,CAAA;AAClB,WAAO;AAAA,EACT;AAGA,MAAI,YAAY,KAAK,WAAW,MAAM,KAAK;AAC3C,MAAI,CAAC,UAAW,QAAO;AAGvB,MAAI,KAAK,UAAU,QAAQ;AACzB,WAAO,KAAK,WAAW,MAAM,KAAK;AAClC,WAAO;AAAA,EACT;AAGA,MAAI;AACJ,WAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,SAAK,UAAU,CAAC;AAChB,QAAI,OAAOA,OAAM,GAAG,OAAOA,KAAI;AAC7B,gBAAU,OAAO,GAAG,CAAC;AACrB;AAAA,IACF;AAAA,EACF;AAIA,MAAI,UAAU,WAAW,GAAG;AAC1B,WAAO,KAAK,WAAW,MAAM,KAAK;AAAA,EACpC;AAEA,SAAO;AACT;AAUA,QAAQ,UAAU,OAAO,SAAS,OAAM;AACtC,OAAK,aAAa,KAAK,cAAc,CAAA;AAErC,MAAI,OAAO,IAAI,MAAM,UAAU,SAAS,CAAC,GACrC,YAAY,KAAK,WAAW,MAAM,KAAK;AAE3C,WAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,SAAK,IAAI,CAAC,IAAI,UAAU,CAAC;AAAA,EAC3B;AAEA,MAAI,WAAW;AACb,gBAAY,UAAU,MAAM,CAAC;AAC7B,aAAS,IAAI,GAAG,MAAM,UAAU,QAAQ,IAAI,KAAK,EAAE,GAAG;AACpD,gBAAU,CAAC,EAAE,MAAM,MAAM,IAAI;AAAA,IAC/B;AAAA,EACF;AAEA,SAAO;AACT;AAGA,QAAQ,UAAU,eAAe,QAAQ,UAAU;AAUnD,QAAQ,UAAU,YAAY,SAAS,OAAM;AAC3C,OAAK,aAAa,KAAK,cAAc,CAAA;AACrC,SAAO,KAAK,WAAW,MAAM,KAAK,KAAK,CAAA;AACzC;AAUA,QAAQ,UAAU,eAAe,SAAS,OAAM;AAC9C,SAAO,CAAC,CAAE,KAAK,UAAU,KAAK,EAAE;AAClC;ACxKO,MAAM,YAAY,MAAM;AAC3B,QAAM,qBAAqB,OAAO,YAAY,cAAc,OAAO,QAAQ,YAAY;AACvF,MAAI,oBAAoB;AACpB,WAAO,CAAC,OAAO,QAAQ,QAAO,EAAG,KAAK,EAAE;AAAA,EAC5C,OACK;AACD,WAAO,CAAC,IAAI,iBAAiB,aAAa,IAAI,CAAC;AAAA,EACnD;AACJ,GAAC;AACM,MAAM,kBAAkB,MAAM;AACjC,MAAI,OAAO,SAAS,aAAa;AAC7B,WAAO;AAAA,EACX,WACS,OAAO,WAAW,aAAa;AACpC,WAAO;AAAA,EACX,OACK;AACD,WAAO,SAAS,aAAa,EAAC;AAAA,EAClC;AACJ,GAAC;AACM,MAAM,oBAAoB;AAC1B,SAAS,kBAAkB;AAAE;ACpB7B,SAAS,KAAK,QAAQ,MAAM;AAC/B,SAAO,KAAK,OAAO,CAAC,KAAKhB,OAAM;AAC3B,QAAI,IAAI,eAAeA,EAAC,GAAG;AACvB,UAAIA,EAAC,IAAI,IAAIA,EAAC;AAAA,IAClB;AACA,WAAO;AAAA,EACX,GAAG,CAAA,CAAE;AACT;AAEA,MAAM,qBAAqBrC,eAAW;AACtC,MAAM,uBAAuBA,eAAW;AACjC,SAAS,sBAAsB,KAAK,MAAM;AAC7C,MAAI,KAAK,iBAAiB;AACtB,QAAI,eAAe,mBAAmB,KAAKA,cAAU;AACrD,QAAI,iBAAiB,qBAAqB,KAAKA,cAAU;AAAA,EAC7D,OACK;AACD,QAAI,eAAeA,eAAW,WAAW,KAAKA,cAAU;AACxD,QAAI,iBAAiBA,eAAW,aAAa,KAAKA,cAAU;AAAA,EAChE;AACJ;AAEA,MAAM,kBAAkB;AAEjB,SAAS,WAAW,KAAK;AAC5B,MAAI,OAAO,QAAQ,UAAU;AACzB,WAAO,WAAW,GAAG;AAAA,EACzB;AAEA,SAAO,KAAK,MAAM,IAAI,cAAc,IAAI,QAAQ,eAAe;AACnE;AACA,SAAS,WAAW,KAAK;AACrB,MAAIuB,KAAI,GAAG,SAAS;AACpB,WAAS,IAAI,GAAGwB,KAAI,IAAI,QAAQ,IAAIA,IAAG,KAAK;AACxC,IAAAxB,KAAI,IAAI,WAAW,CAAC;AACpB,QAAIA,KAAI,KAAM;AACV,gBAAU;AAAA,IACd,WACSA,KAAI,MAAO;AAChB,gBAAU;AAAA,IACd,WACSA,KAAI,SAAUA,MAAK,OAAQ;AAChC,gBAAU;AAAA,IACd,OACK;AACD;AACA,gBAAU;AAAA,IACd;AAAA,EACJ;AACA,SAAO;AACX;AAIO,SAAS,eAAe;AAC3B,SAAQ,KAAK,MAAM,SAAS,EAAE,EAAE,UAAU,CAAC,IACvC,KAAK,OAAM,EAAG,SAAS,EAAE,EAAE,UAAU,GAAG,CAAC;AACjD;AClDO,SAAS,OAAO,KAAK;AACxB,MAAI,MAAM;AACV,WAAS,KAAK,KAAK;AACf,QAAI,IAAI,eAAe,CAAC,GAAG;AACvB,UAAI,IAAI;AACJ,eAAO;AACX,aAAO,mBAAmB,CAAC,IAAI,MAAM,mBAAmB,IAAI,CAAC,CAAC;AAAA,IAClE;AAAA,EACJ;AACA,SAAO;AACX;AAOO,SAAS,OAAOuC,KAAI;AACvB,MAAI,MAAM,CAAA;AACV,MAAI,QAAQA,IAAG,MAAM,GAAG;AACxB,WAAS,IAAI,GAAGf,KAAI,MAAM,QAAQ,IAAIA,IAAG,KAAK;AAC1C,QAAI,OAAO,MAAM,CAAC,EAAE,MAAM,GAAG;AAC7B,QAAI,mBAAmB,KAAK,CAAC,CAAC,CAAC,IAAI,mBAAmB,KAAK,CAAC,CAAC;AAAA,EACjE;AACA,SAAO;AACX;AC7BO,MAAM,uBAAuB,MAAM;AAAA,EACtC,YAAY,QAAQ,aAAa,SAAS;AACtC,UAAM,MAAM;AACZ,SAAK,cAAc;AACnB,SAAK,UAAU;AACf,SAAK,OAAO;AAAA,EAChB;AACJ;AACO,MAAM,kBAAkB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOnC,YAAY,MAAM;AACd,UAAK;AACL,SAAK,WAAW;AAChB,0BAAsB,MAAM,IAAI;AAChC,SAAK,OAAO;AACZ,SAAK,QAAQ,KAAK;AAClB,SAAK,SAAS,KAAK;AACnB,SAAK,iBAAiB,CAAC,KAAK;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,QAAQ,QAAQ,aAAa,SAAS;AAClC,UAAM,aAAa,SAAS,IAAI,eAAe,QAAQ,aAAa,OAAO,CAAC;AAC5E,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAIA,OAAO;AACH,SAAK,aAAa;AAClB,SAAK,OAAM;AACX,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAIA,QAAQ;AACJ,QAAI,KAAK,eAAe,aAAa,KAAK,eAAe,QAAQ;AAC7D,WAAK,QAAO;AACZ,WAAK,QAAO;AAAA,IAChB;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,KAAK,SAAS;AACV,QAAI,KAAK,eAAe,QAAQ;AAC5B,WAAK,MAAM,OAAO;AAAA,IACtB;AAAA,EAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS;AACL,SAAK,aAAa;AAClB,SAAK,WAAW;AAChB,UAAM,aAAa,MAAM;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,MAAM;AACT,UAAM,SAAS,aAAa,MAAM,KAAK,OAAO,UAAU;AACxD,SAAK,SAAS,MAAM;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS,QAAQ;AACb,UAAM,aAAa,UAAU,MAAM;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,QAAQ,SAAS;AACb,SAAK,aAAa;AAClB,UAAM,aAAa,SAAS,OAAO;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,SAAS;AAAA,EAAE;AAAA,EACjB,UAAU,QAAQ,QAAQ,IAAI;AAC1B,WAAQ,SACJ,QACA,KAAK,UAAS,IACd,KAAK,MAAK,IACV,KAAK,KAAK,OACV,KAAK,OAAO,KAAK;AAAA,EACzB;AAAA,EACA,YAAY;AACR,UAAM,WAAW,KAAK,KAAK;AAC3B,WAAO,SAAS,QAAQ,GAAG,MAAM,KAAK,WAAW,MAAM,WAAW;AAAA,EACtE;AAAA,EACA,QAAQ;AACJ,QAAI,KAAK,KAAK,SACR,KAAK,KAAK,UAAU,OAAO,KAAK,KAAK,SAAS,GAAG,KAC9C,CAAC,KAAK,KAAK,UAAU,OAAO,KAAK,KAAK,IAAI,MAAM,KAAM;AAC3D,aAAO,MAAM,KAAK,KAAK;AAAA,IAC3B,OACK;AACD,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EACA,OAAO,OAAO;AACV,UAAM,eAAe,OAAO,KAAK;AACjC,WAAO,aAAa,SAAS,MAAM,eAAe;AAAA,EACtD;AACJ;AC1IO,MAAM,gBAAgB,UAAU;AAAA,EACnC,cAAc;AACV,UAAM,GAAG,SAAS;AAClB,SAAK,WAAW;AAAA,EACpB;AAAA,EACA,IAAI,OAAO;AACP,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAS;AACL,SAAK,MAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,SAAS;AACX,SAAK,aAAa;AAClB,UAAM,QAAQ,MAAM;AAChB,WAAK,aAAa;AAClB,cAAO;AAAA,IACX;AACA,QAAI,KAAK,YAAY,CAAC,KAAK,UAAU;AACjC,UAAI,QAAQ;AACZ,UAAI,KAAK,UAAU;AACf;AACA,aAAK,KAAK,gBAAgB,WAAY;AAClC,YAAE,SAAS,MAAK;AAAA,QACpB,CAAC;AAAA,MACL;AACA,UAAI,CAAC,KAAK,UAAU;AAChB;AACA,aAAK,KAAK,SAAS,WAAY;AAC3B,YAAE,SAAS,MAAK;AAAA,QACpB,CAAC;AAAA,MACL;AAAA,IACJ,OACK;AACD,YAAK;AAAA,IACT;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,QAAQ;AACJ,SAAK,WAAW;AAChB,SAAK,OAAM;AACX,SAAK,aAAa,MAAM;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO,MAAM;AACT,UAAM,WAAW,CAAC,WAAW;AAEzB,UAAI,cAAc,KAAK,cAAc,OAAO,SAAS,QAAQ;AACzD,aAAK,OAAM;AAAA,MACf;AAEA,UAAI,YAAY,OAAO,MAAM;AACzB,aAAK,QAAQ,EAAE,aAAa,iCAAgC,CAAE;AAC9D,eAAO;AAAA,MACX;AAEA,WAAK,SAAS,MAAM;AAAA,IACxB;AAEA,kBAAc,MAAM,KAAK,OAAO,UAAU,EAAE,QAAQ,QAAQ;AAE5D,QAAI,aAAa,KAAK,YAAY;AAE9B,WAAK,WAAW;AAChB,WAAK,aAAa,cAAc;AAChC,UAAI,WAAW,KAAK,YAAY;AAC5B,aAAK,MAAK;AAAA,MACd;AAAA,IAGJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAU;AACN,UAAM,QAAQ,MAAM;AAChB,WAAK,MAAM,CAAC,EAAE,MAAM,QAAO,CAAE,CAAC;AAAA,IAClC;AACA,QAAI,WAAW,KAAK,YAAY;AAC5B,YAAK;AAAA,IACT,OACK;AAGD,WAAK,KAAK,QAAQ,KAAK;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,SAAS;AACX,SAAK,WAAW;AAChB,kBAAc,SAAS,CAAC,SAAS;AAC7B,WAAK,QAAQ,MAAM,MAAM;AACrB,aAAK,WAAW;AAChB,aAAK,aAAa,OAAO;AAAA,MAC7B,CAAC;AAAA,IACL,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM;AACF,UAAM,SAAS,KAAK,KAAK,SAAS,UAAU;AAC5C,UAAM,QAAQ,KAAK,SAAS,CAAA;AAE5B,QAAI,UAAU,KAAK,KAAK,mBAAmB;AACvC,YAAM,KAAK,KAAK,cAAc,IAAI,aAAY;AAAA,IAClD;AACA,QAAI,CAAC,KAAK,kBAAkB,CAAC,MAAM,KAAK;AACpC,YAAM,MAAM;AAAA,IAChB;AACA,WAAO,KAAK,UAAU,QAAQ,KAAK;AAAA,EACvC;AACJ;AC/IA,IAAI,QAAQ;AACZ,IAAI;AACA,UAAQ,OAAO,mBAAmB,eAC9B,qBAAqB,IAAI,eAAc;AAC/C,SACO,KAAK;AAGZ;AACO,MAAM,UAAU;ACLvB,SAAS,QAAQ;AAAE;AACZ,MAAM,gBAAgB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOjC,YAAY,MAAM;AACd,UAAM,IAAI;AACV,QAAI,OAAO,aAAa,aAAa;AACjC,YAAM,QAAQ,aAAa,SAAS;AACpC,UAAI,OAAO,SAAS;AAEpB,UAAI,CAAC,MAAM;AACP,eAAO,QAAQ,QAAQ;AAAA,MAC3B;AACA,WAAK,KACA,OAAO,aAAa,eACjB,KAAK,aAAa,SAAS,YAC3B,SAAS,KAAK;AAAA,IAC1B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,QAAQ,MAAMM,KAAI;AACd,UAAM,MAAM,KAAK,QAAQ;AAAA,MACrB,QAAQ;AAAA,MACR;AAAA,IACZ,CAAS;AACD,QAAI,GAAG,WAAWA,GAAE;AACpB,QAAI,GAAG,SAAS,CAAC,WAAW,YAAY;AACpC,WAAK,QAAQ,kBAAkB,WAAW,OAAO;AAAA,IACrD,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS;AACL,UAAM,MAAM,KAAK,QAAO;AACxB,QAAI,GAAG,QAAQ,KAAK,OAAO,KAAK,IAAI,CAAC;AACrC,QAAI,GAAG,SAAS,CAAC,WAAW,YAAY;AACpC,WAAK,QAAQ,kBAAkB,WAAW,OAAO;AAAA,IACrD,CAAC;AACD,SAAK,UAAU;AAAA,EACnB;AACJ;AACO,MAAM,gBAAgB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOjC,YAAY,eAAe,KAAK,MAAM;AAClC,UAAK;AACL,SAAK,gBAAgB;AACrB,0BAAsB,MAAM,IAAI;AAChC,SAAK,QAAQ;AACb,SAAK,UAAU,KAAK,UAAU;AAC9B,SAAK,OAAO;AACZ,SAAK,QAAQ,WAAc,KAAK,OAAO,KAAK,OAAO;AACnD,SAAK,QAAO;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAU;AACN,QAAIf;AACJ,UAAM,OAAO,KAAK,KAAK,OAAO,SAAS,OAAO,OAAO,cAAc,QAAQ,MAAM,WAAW,sBAAsB,WAAW;AAC7H,SAAK,UAAU,CAAC,CAAC,KAAK,MAAM;AAC5B,UAAM,MAAO,KAAK,OAAO,KAAK,cAAc,IAAI;AAChD,QAAI;AACA,UAAI,KAAK,KAAK,SAAS,KAAK,MAAM,IAAI;AACtC,UAAI;AACA,YAAI,KAAK,MAAM,cAAc;AAEzB,cAAI,yBAAyB,IAAI,sBAAsB,IAAI;AAC3D,mBAAS,KAAK,KAAK,MAAM,cAAc;AACnC,gBAAI,KAAK,MAAM,aAAa,eAAe,CAAC,GAAG;AAC3C,kBAAI,iBAAiB,GAAG,KAAK,MAAM,aAAa,CAAC,CAAC;AAAA,YACtD;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ,SACOnC,IAAG;AAAA,MAAE;AACZ,UAAI,WAAW,KAAK,SAAS;AACzB,YAAI;AACA,cAAI,iBAAiB,gBAAgB,0BAA0B;AAAA,QACnE,SACOA,IAAG;AAAA,QAAE;AAAA,MAChB;AACA,UAAI;AACA,YAAI,iBAAiB,UAAU,KAAK;AAAA,MACxC,SACOA,IAAG;AAAA,MAAE;AACZ,OAACmC,MAAK,KAAK,MAAM,eAAe,QAAQA,QAAO,SAAS,SAASA,IAAG,WAAW,GAAG;AAElF,UAAI,qBAAqB,KAAK;AAC1B,YAAI,kBAAkB,KAAK,MAAM;AAAA,MACrC;AACA,UAAI,KAAK,MAAM,gBAAgB;AAC3B,YAAI,UAAU,KAAK,MAAM;AAAA,MAC7B;AACA,UAAI,qBAAqB,MAAM;AAC3B,YAAIA;AACJ,YAAI,IAAI,eAAe,GAAG;AACtB,WAACA,MAAK,KAAK,MAAM,eAAe,QAAQA,QAAO,SAAS,SAASA,IAAG;AAAA;AAAA,YAEpE,IAAI,kBAAkB,YAAY;AAAA,UAAC;AAAA,QACvC;AACA,YAAI,MAAM,IAAI;AACV;AACJ,YAAI,QAAQ,IAAI,UAAU,SAAS,IAAI,QAAQ;AAC3C,eAAK,QAAO;AAAA,QAChB,OACK;AAGD,eAAK,aAAa,MAAM;AACpB,iBAAK,SAAS,OAAO,IAAI,WAAW,WAAW,IAAI,SAAS,CAAC;AAAA,UACjE,GAAG,CAAC;AAAA,QACR;AAAA,MACJ;AACA,UAAI,KAAK,KAAK,KAAK;AAAA,IACvB,SACOnC,IAAG;AAIN,WAAK,aAAa,MAAM;AACpB,aAAK,SAASA,EAAC;AAAA,MACnB,GAAG,CAAC;AACJ;AAAA,IACJ;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,WAAK,SAAS,QAAQ;AACtB,cAAQ,SAAS,KAAK,MAAM,IAAI;AAAA,IACpC;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS,KAAK;AACV,SAAK,aAAa,SAAS,KAAK,KAAK,IAAI;AACzC,SAAK,SAAS,IAAI;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS,WAAW;AAChB,QAAI,gBAAgB,OAAO,KAAK,QAAQ,SAAS,KAAK,MAAM;AACxD;AAAA,IACJ;AACA,SAAK,KAAK,qBAAqB;AAC/B,QAAI,WAAW;AACX,UAAI;AACA,aAAK,KAAK,MAAK;AAAA,MACnB,SACOA,IAAG;AAAA,MAAE;AAAA,IAChB;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,aAAO,QAAQ,SAAS,KAAK,MAAM;AAAA,IACvC;AACA,SAAK,OAAO;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAU;AACN,UAAM,OAAO,KAAK,KAAK;AACvB,QAAI,SAAS,MAAM;AACf,WAAK,aAAa,QAAQ,IAAI;AAC9B,WAAK,aAAa,SAAS;AAC3B,WAAK,SAAQ;AAAA,IACjB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,QAAQ;AACJ,SAAK,SAAQ;AAAA,EACjB;AACJ;AACA,QAAQ,gBAAgB;AACxB,QAAQ,WAAW,CAAA;AAMnB,IAAI,OAAO,aAAa,aAAa;AAEjC,MAAI,OAAO,gBAAgB,YAAY;AAEnC,gBAAY,YAAY,aAAa;AAAA,EACzC,WACS,OAAO,qBAAqB,YAAY;AAC7C,UAAM,mBAAmB,gBAAgBH,iBAAa,aAAa;AACnE,qBAAiB,kBAAkB,eAAe,KAAK;AAAA,EAC3D;AACJ;AACA,SAAS,gBAAgB;AACrB,WAAS,KAAK,QAAQ,UAAU;AAC5B,QAAI,QAAQ,SAAS,eAAe,CAAC,GAAG;AACpC,cAAQ,SAAS,CAAC,EAAE,MAAK;AAAA,IAC7B;AAAA,EACJ;AACJ;AACA,MAAM,WAAW,WAAY;AACzB,QAAM,MAAM,WAAW;AAAA,IACnB,SAAS;AAAA,EACjB,CAAK;AACD,SAAO,OAAO,IAAI,iBAAiB;AACvC,GAAC;AAQM,MAAM,YAAY,QAAQ;AAAA,EAC7B,YAAY,MAAM;AACd,UAAM,IAAI;AACV,UAAM,cAAc,QAAQ,KAAK;AACjC,SAAK,iBAAiB,WAAW,CAAC;AAAA,EACtC;AAAA,EACA,QAAQ,OAAO,IAAI;AACf,WAAO,OAAO,MAAM,EAAE,IAAI,KAAK,GAAE,GAAI,KAAK,IAAI;AAC9C,WAAO,IAAI,QAAQ,YAAY,KAAK,IAAG,GAAI,IAAI;AAAA,EACnD;AACJ;AACA,SAAS,WAAW,MAAM;AACtB,QAAM,UAAU,KAAK;AAErB,MAAI;AACA,QAAI,gBAAgB,OAAO,mBAAmB,CAAC,WAAW,UAAU;AAChE,aAAO,IAAI,eAAc;AAAA,IAC7B;AAAA,EACJ,SACOG,IAAG;AAAA,EAAE;AACZ,MAAI,CAAC,SAAS;AACV,QAAI;AACA,aAAO,IAAIH,eAAW,CAAC,QAAQ,EAAE,OAAO,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,mBAAmB;AAAA,IACpF,SACOG,IAAG;AAAA,IAAE;AAAA,EAChB;AACJ;ACzQA,MAAM,gBAAgB,OAAO,cAAc,eACvC,OAAO,UAAU,YAAY,YAC7B,UAAU,QAAQ,YAAW,MAAO;AACjC,MAAM,eAAe,UAAU;AAAA,EAClC,IAAI,OAAO;AACP,WAAO;AAAA,EACX;AAAA,EACA,SAAS;AACL,UAAM,MAAM,KAAK,IAAG;AACpB,UAAM,YAAY,KAAK,KAAK;AAE5B,UAAM,OAAO,gBACP,CAAA,IACA,KAAK,KAAK,MAAM,SAAS,qBAAqB,OAAO,OAAO,cAAc,QAAQ,MAAM,WAAW,sBAAsB,gBAAgB,mBAAmB,UAAU,cAAc,UAAU,qBAAqB;AACzN,QAAI,KAAK,KAAK,cAAc;AACxB,WAAK,UAAU,KAAK,KAAK;AAAA,IAC7B;AACA,QAAI;AACA,WAAK,KAAK,KAAK,aAAa,KAAK,WAAW,IAAI;AAAA,IACpD,SACO,KAAK;AACR,aAAO,KAAK,aAAa,SAAS,GAAG;AAAA,IACzC;AACA,SAAK,GAAG,aAAa,KAAK,OAAO;AACjC,SAAK,kBAAiB;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,oBAAoB;AAChB,SAAK,GAAG,SAAS,MAAM;AACnB,UAAI,KAAK,KAAK,WAAW;AACrB,aAAK,GAAG,QAAQ,MAAK;AAAA,MACzB;AACA,WAAK,OAAM;AAAA,IACf;AACA,SAAK,GAAG,UAAU,CAAC,eAAe,KAAK,QAAQ;AAAA,MAC3C,aAAa;AAAA,MACb,SAAS;AAAA,IACrB,CAAS;AACD,SAAK,GAAG,YAAY,CAAC,OAAO,KAAK,OAAO,GAAG,IAAI;AAC/C,SAAK,GAAG,UAAU,CAACA,OAAM,KAAK,QAAQ,mBAAmBA,EAAC;AAAA,EAC9D;AAAA,EACA,MAAM,SAAS;AACX,SAAK,WAAW;AAGhB,aAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACrC,YAAM,SAAS,QAAQ,CAAC;AACxB,YAAM,aAAa,MAAM,QAAQ,SAAS;AAC1C,mBAAa,QAAQ,KAAK,gBAAgB,CAAC,SAAS;AAIhD,YAAI;AACA,eAAK,QAAQ,QAAQ,IAAI;AAAA,QAC7B,SACOA,IAAG;AAAA,QACV;AACA,YAAI,YAAY;AAGZ,mBAAS,MAAM;AACX,iBAAK,WAAW;AAChB,iBAAK,aAAa,OAAO;AAAA,UAC7B,GAAG,KAAK,YAAY;AAAA,QACxB;AAAA,MACJ,CAAC;AAAA,IACL;AAAA,EACJ;AAAA,EACA,UAAU;AACN,QAAI,OAAO,KAAK,OAAO,aAAa;AAChC,WAAK,GAAG,UAAU,MAAM;AAAA,MAAE;AAC1B,WAAK,GAAG,MAAK;AACb,WAAK,KAAK;AAAA,IACd;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM;AACF,UAAM,SAAS,KAAK,KAAK,SAAS,QAAQ;AAC1C,UAAM,QAAQ,KAAK,SAAS,CAAA;AAE5B,QAAI,KAAK,KAAK,mBAAmB;AAC7B,YAAM,KAAK,KAAK,cAAc,IAAI,aAAY;AAAA,IAClD;AAEA,QAAI,CAAC,KAAK,gBAAgB;AACtB,YAAM,MAAM;AAAA,IAChB;AACA,WAAO,KAAK,UAAU,QAAQ,KAAK;AAAA,EACvC;AACJ;AACA,MAAM,gBAAgBH,eAAW,aAAaA,eAAW;AAUlD,MAAM,WAAW,OAAO;AAAA,EAC3B,aAAa,KAAK,WAAW,MAAM;AAC/B,WAAO,CAAC,gBACF,YACI,IAAI,cAAc,KAAK,SAAS,IAChC,IAAI,cAAc,GAAG,IACzB,IAAI,cAAc,KAAK,WAAW,IAAI;AAAA,EAChD;AAAA,EACA,QAAQ,SAAS,MAAM;AACnB,SAAK,GAAG,KAAK,IAAI;AAAA,EACrB;AACJ;ACjHO,MAAM,WAAW,UAAU;AAAA,EAC9B,IAAI,OAAO;AACP,WAAO;AAAA,EACX;AAAA,EACA,SAAS;AACL,QAAI;AAEA,WAAK,aAAa,IAAI,aAAa,KAAK,UAAU,OAAO,GAAG,KAAK,KAAK,iBAAiB,KAAK,IAAI,CAAC;AAAA,IACrG,SACO,KAAK;AACR,aAAO,KAAK,aAAa,SAAS,GAAG;AAAA,IACzC;AACA,SAAK,WAAW,OACX,KAAK,MAAM;AACZ,WAAK,QAAO;AAAA,IAChB,CAAC,EACI,MAAM,CAAC,QAAQ;AAChB,WAAK,QAAQ,sBAAsB,GAAG;AAAA,IAC1C,CAAC;AAED,SAAK,WAAW,MAAM,KAAK,MAAM;AAC7B,WAAK,WAAW,0BAAyB,EAAG,KAAK,CAAC,WAAW;AACzD,cAAM,gBAAgB,0BAA0B,OAAO,kBAAkB,KAAK,OAAO,UAAU;AAC/F,cAAM,SAAS,OAAO,SAAS,YAAY,aAAa,EAAE,UAAS;AACnE,cAAM,gBAAgB,0BAAyB;AAC/C,sBAAc,SAAS,OAAO,OAAO,QAAQ;AAC7C,aAAK,UAAU,cAAc,SAAS,UAAS;AAC/C,cAAM,OAAO,MAAM;AACf,iBACK,KAAI,EACJ,KAAK,CAAC,EAAE,MAAM,OAAAI,aAAY;AAC3B,gBAAI,MAAM;AACN;AAAA,YACJ;AACA,iBAAK,SAASA,MAAK;AACnB,iBAAI;AAAA,UACR,CAAC,EACI,MAAM,CAAC,QAAQ;AAAA,UACpB,CAAC;AAAA,QACL;AACA,aAAI;AACJ,cAAM,SAAS,EAAE,MAAM,OAAM;AAC7B,YAAI,KAAK,MAAM,KAAK;AAChB,iBAAO,OAAO,WAAW,KAAK,MAAM,GAAG;AAAA,QAC3C;AACA,aAAK,QAAQ,MAAM,MAAM,EAAE,KAAK,MAAM,KAAK,QAAQ;AAAA,MACvD,CAAC;AAAA,IACL,CAAC;AAAA,EACL;AAAA,EACA,MAAM,SAAS;AACX,SAAK,WAAW;AAChB,aAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACrC,YAAM,SAAS,QAAQ,CAAC;AACxB,YAAM,aAAa,MAAM,QAAQ,SAAS;AAC1C,WAAK,QAAQ,MAAM,MAAM,EAAE,KAAK,MAAM;AAClC,YAAI,YAAY;AACZ,mBAAS,MAAM;AACX,iBAAK,WAAW;AAChB,iBAAK,aAAa,OAAO;AAAA,UAC7B,GAAG,KAAK,YAAY;AAAA,QACxB;AAAA,MACJ,CAAC;AAAA,IACL;AAAA,EACJ;AAAA,EACA,UAAU;AACN,QAAIkC;AACJ,KAACA,MAAK,KAAK,gBAAgB,QAAQA,QAAO,SAAS,SAASA,IAAG,MAAK;AAAA,EACxE;AACJ;AC5EO,MAAM,aAAa;AAAA,EACtB,WAAW;AAAA,EACX,cAAc;AAAA,EACd,SAAS;AACb;ACYA,MAAMyB,OAAK;AACX,MAAM,QAAQ;AAAA,EACV;AAAA,EAAU;AAAA,EAAY;AAAA,EAAa;AAAA,EAAY;AAAA,EAAQ;AAAA,EAAY;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAAY;AAAA,EAAQ;AAAA,EAAa;AAAA,EAAQ;AAAA,EAAS;AACzI;AACO,SAAS,MAAM,KAAK;AACvB,MAAI,IAAI,SAAS,KAAM;AACnB,UAAM;AAAA,EACV;AACA,QAAM,MAAM,KAAKrB,KAAI,IAAI,QAAQ,GAAG,GAAGvC,KAAI,IAAI,QAAQ,GAAG;AAC1D,MAAIuC,MAAK,MAAMvC,MAAK,IAAI;AACpB,UAAM,IAAI,UAAU,GAAGuC,EAAC,IAAI,IAAI,UAAUA,IAAGvC,EAAC,EAAE,QAAQ,MAAM,GAAG,IAAI,IAAI,UAAUA,IAAG,IAAI,MAAM;AAAA,EACpG;AACA,MAAIU,KAAIkD,KAAG,KAAK,OAAO,EAAE,GAAG,MAAM,IAAI,IAAI;AAC1C,SAAO,KAAK;AACR,QAAI,MAAM,CAAC,CAAC,IAAIlD,GAAE,CAAC,KAAK;AAAA,EAC5B;AACA,MAAI6B,MAAK,MAAMvC,MAAK,IAAI;AACpB,QAAI,SAAS;AACb,QAAI,OAAO,IAAI,KAAK,UAAU,GAAG,IAAI,KAAK,SAAS,CAAC,EAAE,QAAQ,MAAM,GAAG;AACvE,QAAI,YAAY,IAAI,UAAU,QAAQ,KAAK,EAAE,EAAE,QAAQ,KAAK,EAAE,EAAE,QAAQ,MAAM,GAAG;AACjF,QAAI,UAAU;AAAA,EAClB;AACA,MAAI,YAAY,UAAU,KAAK,IAAI,MAAM,CAAC;AAC1C,MAAI,WAAW,SAAS,KAAK,IAAI,OAAO,CAAC;AACzC,SAAO;AACX;AACA,SAAS,UAAU,KAAK,MAAM;AAC1B,QAAM,OAAO,YAAY,QAAQ,KAAK,QAAQ,MAAM,GAAG,EAAE,MAAM,GAAG;AAClE,MAAI,KAAK,MAAM,GAAG,CAAC,KAAK,OAAO,KAAK,WAAW,GAAG;AAC9C,UAAM,OAAO,GAAG,CAAC;AAAA,EACrB;AACA,MAAI,KAAK,MAAM,EAAE,KAAK,KAAK;AACvB,UAAM,OAAO,MAAM,SAAS,GAAG,CAAC;AAAA,EACpC;AACA,SAAO;AACX;AACA,SAAS,SAAS,KAAK,OAAO;AAC1B,QAAM,OAAO,CAAA;AACb,QAAM,QAAQ,6BAA6B,SAAU,IAAI,IAAI,IAAI;AAC7D,QAAI,IAAI;AACJ,WAAK,EAAE,IAAI;AAAA,IACf;AAAA,EACJ,CAAC;AACD,SAAO;AACX;ACxDA,MAAM,qBAAqB,OAAO,qBAAqB,cACnD,OAAO,wBAAwB;AACnC,MAAM,0BAA0B,CAAA;AAChC,IAAI,oBAAoB;AAGpB,mBAAiB,WAAW,MAAM;AAC9B,4BAAwB,QAAQ,CAAC,aAAa,SAAQ,CAAE;AAAA,EAC5D,GAAG,KAAK;AACZ;AAwBO,MAAM,6BAA6B,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO9C,YAAY,KAAK,MAAM;AACnB,UAAK;AACL,SAAK,aAAa;AAClB,SAAK,cAAc,CAAA;AACnB,SAAK,iBAAiB;AACtB,SAAK,gBAAgB;AACrB,SAAK,eAAe;AACpB,SAAK,cAAc;AAKnB,SAAK,mBAAmB;AACxB,QAAI,OAAO,aAAa,OAAO,KAAK;AAChC,aAAO;AACP,YAAM;AAAA,IACV;AACA,QAAI,KAAK;AACL,YAAM,YAAY,MAAM,GAAG;AAC3B,WAAK,WAAW,UAAU;AAC1B,WAAK,SACD,UAAU,aAAa,WAAW,UAAU,aAAa;AAC7D,WAAK,OAAO,UAAU;AACtB,UAAI,UAAU;AACV,aAAK,QAAQ,UAAU;AAAA,IAC/B,WACS,KAAK,MAAM;AAChB,WAAK,WAAW,MAAM,KAAK,IAAI,EAAE;AAAA,IACrC;AACA,0BAAsB,MAAM,IAAI;AAChC,SAAK,SACD,QAAQ,KAAK,SACP,KAAK,SACL,OAAO,aAAa,eAAe,aAAa,SAAS;AACnE,QAAI,KAAK,YAAY,CAAC,KAAK,MAAM;AAE7B,WAAK,OAAO,KAAK,SAAS,QAAQ;AAAA,IACtC;AACA,SAAK,WACD,KAAK,aACA,OAAO,aAAa,cAAc,SAAS,WAAW;AAC/D,SAAK,OACD,KAAK,SACA,OAAO,aAAa,eAAe,SAAS,OACvC,SAAS,OACT,KAAK,SACD,QACA;AAClB,SAAK,aAAa,CAAA;AAClB,SAAK,oBAAoB,CAAA;AACzB,SAAK,WAAW,QAAQ,CAAC6D,OAAM;AAC3B,YAAM,gBAAgBA,GAAE,UAAU;AAClC,WAAK,WAAW,KAAK,aAAa;AAClC,WAAK,kBAAkB,aAAa,IAAIA;AAAA,IAC5C,CAAC;AACD,SAAK,OAAO,OAAO,OAAO;AAAA,MACtB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,iBAAiB;AAAA,MACjB,SAAS;AAAA,MACT,gBAAgB;AAAA,MAChB,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,oBAAoB;AAAA,MACpB,mBAAmB;AAAA,QACf,WAAW;AAAA,MAC3B;AAAA,MACY,kBAAkB,CAAA;AAAA,MAClB,qBAAqB;AAAA,IACjC,GAAW,IAAI;AACP,SAAK,KAAK,OACN,KAAK,KAAK,KAAK,QAAQ,OAAO,EAAE,KAC3B,KAAK,KAAK,mBAAmB,MAAM;AAC5C,QAAI,OAAO,KAAK,KAAK,UAAU,UAAU;AACrC,WAAK,KAAK,QAAQ,OAAO,KAAK,KAAK,KAAK;AAAA,IAC5C;AACA,QAAI,oBAAoB;AACpB,UAAI,KAAK,KAAK,qBAAqB;AAI/B,aAAK,6BAA6B,MAAM;AACpC,cAAI,KAAK,WAAW;AAEhB,iBAAK,UAAU,mBAAkB;AACjC,iBAAK,UAAU,MAAK;AAAA,UACxB;AAAA,QACJ;AACA,yBAAiB,gBAAgB,KAAK,4BAA4B,KAAK;AAAA,MAC3E;AACA,UAAI,KAAK,aAAa,aAAa;AAC/B,aAAK,wBAAwB,MAAM;AAC/B,eAAK,SAAS,mBAAmB;AAAA,YAC7B,aAAa;AAAA,UACrC,CAAqB;AAAA,QACL;AACA,gCAAwB,KAAK,KAAK,qBAAqB;AAAA,MAC3D;AAAA,IACJ;AACA,QAAI,KAAK,KAAK,iBAAiB;AAC3B,WAAK,aAAa,gBAAe;AAAA,IACrC;AACA,SAAK,MAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,gBAAgB,MAAM;AAClB,UAAM,QAAQ,OAAO,OAAO,CAAA,GAAI,KAAK,KAAK,KAAK;AAE/C,UAAM,MAAMH;AAEZ,UAAM,YAAY;AAElB,QAAI,KAAK;AACL,YAAM,MAAM,KAAK;AACrB,UAAM,OAAO,OAAO,OAAO,CAAA,GAAI,KAAK,MAAM;AAAA,MACtC;AAAA,MACA,QAAQ;AAAA,MACR,UAAU,KAAK;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,MAAM,KAAK;AAAA,IACvB,GAAW,KAAK,KAAK,iBAAiB,IAAI,CAAC;AACnC,WAAO,IAAI,KAAK,kBAAkB,IAAI,EAAE,IAAI;AAAA,EAChD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,QAAQ;AACJ,QAAI,KAAK,WAAW,WAAW,GAAG;AAE9B,WAAK,aAAa,MAAM;AACpB,aAAK,aAAa,SAAS,yBAAyB;AAAA,MACxD,GAAG,CAAC;AACJ;AAAA,IACJ;AACA,UAAM,gBAAgB,KAAK,KAAK,mBAC5B,qBAAqB,yBACrB,KAAK,WAAW,QAAQ,WAAW,MAAM,KACvC,cACA,KAAK,WAAW,CAAC;AACvB,SAAK,aAAa;AAClB,UAAM,YAAY,KAAK,gBAAgB,aAAa;AACpD,cAAU,KAAI;AACd,SAAK,aAAa,SAAS;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAa,WAAW;AACpB,QAAI,KAAK,WAAW;AAChB,WAAK,UAAU,mBAAkB;AAAA,IACrC;AAEA,SAAK,YAAY;AAEjB,cACK,GAAG,SAAS,KAAK,SAAS,KAAK,IAAI,CAAC,EACpC,GAAG,UAAU,KAAK,UAAU,KAAK,IAAI,CAAC,EACtC,GAAG,SAAS,KAAK,SAAS,KAAK,IAAI,CAAC,EACpC,GAAG,SAAS,CAAC,WAAW,KAAK,SAAS,mBAAmB,MAAM,CAAC;AAAA,EACzE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS;AACL,SAAK,aAAa;AAClB,yBAAqB,wBACjB,gBAAgB,KAAK,UAAU;AACnC,SAAK,aAAa,MAAM;AACxB,SAAK,MAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAU,QAAQ;AACd,QAAI,cAAc,KAAK,cACnB,WAAW,KAAK,cAChB,cAAc,KAAK,YAAY;AAC/B,WAAK,aAAa,UAAU,MAAM;AAElC,WAAK,aAAa,WAAW;AAC7B,cAAQ,OAAO,MAAI;AAAA,QACf,KAAK;AACD,eAAK,YAAY,KAAK,MAAM,OAAO,IAAI,CAAC;AACxC;AAAA,QACJ,KAAK;AACD,eAAK,YAAY,MAAM;AACvB,eAAK,aAAa,MAAM;AACxB,eAAK,aAAa,MAAM;AACxB,eAAK,kBAAiB;AACtB;AAAA,QACJ,KAAK;AACD,gBAAM,MAAM,IAAI,MAAM,cAAc;AAEpC,cAAI,OAAO,OAAO;AAClB,eAAK,SAAS,GAAG;AACjB;AAAA,QACJ,KAAK;AACD,eAAK,aAAa,QAAQ,OAAO,IAAI;AACrC,eAAK,aAAa,WAAW,OAAO,IAAI;AACxC;AAAA,MACpB;AAAA,IACQ;AAAA,EAGJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAY,MAAM;AACd,SAAK,aAAa,aAAa,IAAI;AACnC,SAAK,KAAK,KAAK;AACf,SAAK,UAAU,MAAM,MAAM,KAAK;AAChC,SAAK,gBAAgB,KAAK;AAC1B,SAAK,eAAe,KAAK;AACzB,SAAK,cAAc,KAAK;AACxB,SAAK,OAAM;AAEX,QAAI,aAAa,KAAK;AAClB;AACJ,SAAK,kBAAiB;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,oBAAoB;AAChB,SAAK,eAAe,KAAK,iBAAiB;AAC1C,UAAM,QAAQ,KAAK,gBAAgB,KAAK;AACxC,SAAK,mBAAmB,KAAK,IAAG,IAAK;AACrC,SAAK,oBAAoB,KAAK,aAAa,MAAM;AAC7C,WAAK,SAAS,cAAc;AAAA,IAChC,GAAG,KAAK;AACR,QAAI,KAAK,KAAK,WAAW;AACrB,WAAK,kBAAkB,MAAK;AAAA,IAChC;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,WAAW;AACP,SAAK,YAAY,OAAO,GAAG,KAAK,cAAc;AAI9C,SAAK,iBAAiB;AACtB,QAAI,MAAM,KAAK,YAAY,QAAQ;AAC/B,WAAK,aAAa,OAAO;AAAA,IAC7B,OACK;AACD,WAAK,MAAK;AAAA,IACd;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,QAAQ;AACJ,QAAI,aAAa,KAAK,cAClB,KAAK,UAAU,YACf,CAAC,KAAK,aACN,KAAK,YAAY,QAAQ;AACzB,YAAM,UAAU,KAAK,oBAAmB;AACxC,WAAK,UAAU,KAAK,OAAO;AAG3B,WAAK,iBAAiB,QAAQ;AAC9B,WAAK,aAAa,OAAO;AAAA,IAC7B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,sBAAsB;AAClB,UAAM,yBAAyB,KAAK,eAChC,KAAK,UAAU,SAAS,aACxB,KAAK,YAAY,SAAS;AAC9B,QAAI,CAAC,wBAAwB;AACzB,aAAO,KAAK;AAAA,IAChB;AACA,QAAI,cAAc;AAClB,aAAS,IAAI,GAAG,IAAI,KAAK,YAAY,QAAQ,KAAK;AAC9C,YAAM,OAAO,KAAK,YAAY,CAAC,EAAE;AACjC,UAAI,MAAM;AACN,uBAAe,WAAW,IAAI;AAAA,MAClC;AACA,UAAI,IAAI,KAAK,cAAc,KAAK,aAAa;AACzC,eAAO,KAAK,YAAY,MAAM,GAAG,CAAC;AAAA,MACtC;AACA,qBAAe;AAAA,IACnB;AACA,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUc,kBAAkB;AAC5B,QAAI,CAAC,KAAK;AACN,aAAO;AACX,UAAM,aAAa,KAAK,IAAG,IAAK,KAAK;AACrC,QAAI,YAAY;AACZ,WAAK,mBAAmB;AACxB,eAAS,MAAM;AACX,aAAK,SAAS,cAAc;AAAA,MAChC,GAAG,KAAK,YAAY;AAAA,IACxB;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,KAAK,SAASR,KAAI;AACpB,SAAK,YAAY,WAAW,KAAK,SAASA,GAAE;AAC5C,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,KAAK,KAAK,SAASA,KAAI;AACnB,SAAK,YAAY,WAAW,KAAK,SAASA,GAAE;AAC5C,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,YAAY,MAAM,MAAM,SAASA,KAAI;AACjC,QAAI,eAAe,OAAO,MAAM;AAC5B,MAAAA,MAAK;AACL,aAAO;AAAA,IACX;AACA,QAAI,eAAe,OAAO,SAAS;AAC/B,MAAAA,MAAK;AACL,gBAAU;AAAA,IACd;AACA,QAAI,cAAc,KAAK,cAAc,aAAa,KAAK,YAAY;AAC/D;AAAA,IACJ;AACA,cAAU,WAAW,CAAA;AACrB,YAAQ,WAAW,UAAU,QAAQ;AACrC,UAAM,SAAS;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACZ;AACQ,SAAK,aAAa,gBAAgB,MAAM;AACxC,SAAK,YAAY,KAAK,MAAM;AAC5B,QAAIA;AACA,WAAK,KAAK,SAASA,GAAE;AACzB,SAAK,MAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAIA,QAAQ;AACJ,UAAM,QAAQ,MAAM;AAChB,WAAK,SAAS,cAAc;AAC5B,WAAK,UAAU,MAAK;AAAA,IACxB;AACA,UAAM,kBAAkB,MAAM;AAC1B,WAAK,IAAI,WAAW,eAAe;AACnC,WAAK,IAAI,gBAAgB,eAAe;AACxC,YAAK;AAAA,IACT;AACA,UAAM,iBAAiB,MAAM;AAEzB,WAAK,KAAK,WAAW,eAAe;AACpC,WAAK,KAAK,gBAAgB,eAAe;AAAA,IAC7C;AACA,QAAI,cAAc,KAAK,cAAc,WAAW,KAAK,YAAY;AAC7D,WAAK,aAAa;AAClB,UAAI,KAAK,YAAY,QAAQ;AACzB,aAAK,KAAK,SAAS,MAAM;AACrB,cAAI,KAAK,WAAW;AAChB,2BAAc;AAAA,UAClB,OACK;AACD,kBAAK;AAAA,UACT;AAAA,QACJ,CAAC;AAAA,MACL,WACS,KAAK,WAAW;AACrB,uBAAc;AAAA,MAClB,OACK;AACD,cAAK;AAAA,MACT;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS,KAAK;AACV,yBAAqB,wBAAwB;AAC7C,QAAI,KAAK,KAAK,oBACV,KAAK,WAAW,SAAS,KACzB,KAAK,eAAe,WAAW;AAC/B,WAAK,WAAW,MAAK;AACrB,aAAO,KAAK,MAAK;AAAA,IACrB;AACA,SAAK,aAAa,SAAS,GAAG;AAC9B,SAAK,SAAS,mBAAmB,GAAG;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS,QAAQ,aAAa;AAC1B,QAAI,cAAc,KAAK,cACnB,WAAW,KAAK,cAChB,cAAc,KAAK,YAAY;AAE/B,WAAK,eAAe,KAAK,iBAAiB;AAE1C,WAAK,UAAU,mBAAmB,OAAO;AAEzC,WAAK,UAAU,MAAK;AAEpB,WAAK,UAAU,mBAAkB;AACjC,UAAI,oBAAoB;AACpB,YAAI,KAAK,4BAA4B;AACjC,8BAAoB,gBAAgB,KAAK,4BAA4B,KAAK;AAAA,QAC9E;AACA,YAAI,KAAK,uBAAuB;AAC5B,gBAAM,IAAI,wBAAwB,QAAQ,KAAK,qBAAqB;AACpE,cAAI,MAAM,IAAI;AACV,oCAAwB,OAAO,GAAG,CAAC;AAAA,UACvC;AAAA,QACJ;AAAA,MACJ;AAEA,WAAK,aAAa;AAElB,WAAK,KAAK;AAEV,WAAK,aAAa,SAAS,QAAQ,WAAW;AAG9C,WAAK,cAAc,CAAA;AACnB,WAAK,iBAAiB;AAAA,IAC1B;AAAA,EACJ;AACJ;AACA,qBAAqB,WAAWQ;AAwBzB,MAAM,0BAA0B,qBAAqB;AAAA,EACxD,cAAc;AACV,UAAM,GAAG,SAAS;AAClB,SAAK,YAAY,CAAA;AAAA,EACrB;AAAA,EACA,SAAS;AACL,UAAM,OAAM;AACZ,QAAI,WAAW,KAAK,cAAc,KAAK,KAAK,SAAS;AACjD,eAAS,IAAI,GAAG,IAAI,KAAK,UAAU,QAAQ,KAAK;AAC5C,aAAK,OAAO,KAAK,UAAU,CAAC,CAAC;AAAA,MACjC;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,MAAM;AACT,QAAI,YAAY,KAAK,gBAAgB,IAAI;AACzC,QAAI,SAAS;AACb,yBAAqB,wBAAwB;AAC7C,UAAM,kBAAkB,MAAM;AAC1B,UAAI;AACA;AACJ,gBAAU,KAAK,CAAC,EAAE,MAAM,QAAQ,MAAM,QAAO,CAAE,CAAC;AAChD,gBAAU,KAAK,UAAU,CAAC,QAAQ;AAC9B,YAAI;AACA;AACJ,YAAI,WAAW,IAAI,QAAQ,YAAY,IAAI,MAAM;AAC7C,eAAK,YAAY;AACjB,eAAK,aAAa,aAAa,SAAS;AACxC,cAAI,CAAC;AACD;AACJ,+BAAqB,wBACjB,gBAAgB,UAAU;AAC9B,eAAK,UAAU,MAAM,MAAM;AACvB,gBAAI;AACA;AACJ,gBAAI,aAAa,KAAK;AAClB;AACJ,oBAAO;AACP,iBAAK,aAAa,SAAS;AAC3B,sBAAU,KAAK,CAAC,EAAE,MAAM,UAAS,CAAE,CAAC;AACpC,iBAAK,aAAa,WAAW,SAAS;AACtC,wBAAY;AACZ,iBAAK,YAAY;AACjB,iBAAK,MAAK;AAAA,UACd,CAAC;AAAA,QACL,OACK;AACD,gBAAM,MAAM,IAAI,MAAM,aAAa;AAEnC,cAAI,YAAY,UAAU;AAC1B,eAAK,aAAa,gBAAgB,GAAG;AAAA,QACzC;AAAA,MACJ,CAAC;AAAA,IACL;AACA,aAAS,kBAAkB;AACvB,UAAI;AACA;AAEJ,eAAS;AACT,cAAO;AACP,gBAAU,MAAK;AACf,kBAAY;AAAA,IAChB;AAEA,UAAM,UAAU,CAAC,QAAQ;AACrB,YAAM,QAAQ,IAAI,MAAM,kBAAkB,GAAG;AAE7C,YAAM,YAAY,UAAU;AAC5B,sBAAe;AACf,WAAK,aAAa,gBAAgB,KAAK;AAAA,IAC3C;AACA,aAAS,mBAAmB;AACxB,cAAQ,kBAAkB;AAAA,IAC9B;AAEA,aAAS,UAAU;AACf,cAAQ,eAAe;AAAA,IAC3B;AAEA,aAAS,UAAU7B,KAAI;AACnB,UAAI,aAAaA,IAAG,SAAS,UAAU,MAAM;AACzC,wBAAe;AAAA,MACnB;AAAA,IACJ;AAEA,UAAM,UAAU,MAAM;AAClB,gBAAU,eAAe,QAAQ,eAAe;AAChD,gBAAU,eAAe,SAAS,OAAO;AACzC,gBAAU,eAAe,SAAS,gBAAgB;AAClD,WAAK,IAAI,SAAS,OAAO;AACzB,WAAK,IAAI,aAAa,SAAS;AAAA,IACnC;AACA,cAAU,KAAK,QAAQ,eAAe;AACtC,cAAU,KAAK,SAAS,OAAO;AAC/B,cAAU,KAAK,SAAS,gBAAgB;AACxC,SAAK,KAAK,SAAS,OAAO;AAC1B,SAAK,KAAK,aAAa,SAAS;AAChC,QAAI,KAAK,UAAU,QAAQ,cAAc,MAAM,MAC3C,SAAS,gBAAgB;AAEzB,WAAK,aAAa,MAAM;AACpB,YAAI,CAAC,QAAQ;AACT,oBAAU,KAAI;AAAA,QAClB;AAAA,MACJ,GAAG,GAAG;AAAA,IACV,OACK;AACD,gBAAU,KAAI;AAAA,IAClB;AAAA,EACJ;AAAA,EACA,YAAY,MAAM;AACd,SAAK,YAAY,KAAK,gBAAgB,KAAK,QAAQ;AACnD,UAAM,YAAY,IAAI;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,gBAAgB,UAAU;AACtB,UAAM,mBAAmB,CAAA;AACzB,aAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACtC,UAAI,CAAC,KAAK,WAAW,QAAQ,SAAS,CAAC,CAAC;AACpC,yBAAiB,KAAK,SAAS,CAAC,CAAC;AAAA,IACzC;AACA,WAAO;AAAA,EACX;AACJ;eAoBO,MAAM,eAAe,kBAAkB;AAAA,EAC1C,YAAY,KAAK,OAAO,IAAI;AACxB,UAAM,IAAI,OAAO,QAAQ,WAAW,MAAM;AAC1C,QAAI,CAAC,EAAE,cACF,EAAE,cAAc,OAAO,EAAE,WAAW,CAAC,MAAM,UAAW;AACvD,QAAE,cAAc,EAAE,cAAc,CAAC,WAAW,aAAa,cAAc,GAClE,IAAI,CAAC,kBAAkBiC,WAAmB,aAAa,CAAC,EACxD,OAAO,CAACD,OAAM,CAAC,CAACA,EAAC;AAAA,IAC1B;AACA,UAAM,KAAK,CAAC;AAAA,EAChB;AACJ;AC5sBO,SAAS,IAAI,KAAK,OAAO,IAAI,KAAK;AACrC,MAAI,MAAM;AAEV,QAAM,OAAQ,OAAO,aAAa,eAAe;AACjD,MAAI,QAAQ;AACR,UAAM,IAAI,WAAW,OAAO,IAAI;AAEpC,MAAI,OAAO,QAAQ,UAAU;AACzB,QAAI,QAAQ,IAAI,OAAO,CAAC,GAAG;AACvB,UAAI,QAAQ,IAAI,OAAO,CAAC,GAAG;AACvB,cAAM,IAAI,WAAW;AAAA,MACzB,OACK;AACD,cAAM,IAAI,OAAO;AAAA,MACrB;AAAA,IACJ;AACA,QAAI,CAAC,sBAAsB,KAAK,GAAG,GAAG;AAClC,UAAI,gBAAgB,OAAO,KAAK;AAC5B,cAAM,IAAI,WAAW,OAAO;AAAA,MAChC,OACK;AACD,cAAM,aAAa;AAAA,MACvB;AAAA,IACJ;AAEA,UAAM,MAAM,GAAG;AAAA,EACnB;AAEA,MAAI,CAAC,IAAI,MAAM;AACX,QAAI,cAAc,KAAK,IAAI,QAAQ,GAAG;AAClC,UAAI,OAAO;AAAA,IACf,WACS,eAAe,KAAK,IAAI,QAAQ,GAAG;AACxC,UAAI,OAAO;AAAA,IACf;AAAA,EACJ;AACA,MAAI,OAAO,IAAI,QAAQ;AACvB,QAAM,OAAO,IAAI,KAAK,QAAQ,GAAG,MAAM;AACvC,QAAM,OAAO,OAAO,MAAM,IAAI,OAAO,MAAM,IAAI;AAE/C,MAAI,KAAK,IAAI,WAAW,QAAQ,OAAO,MAAM,IAAI,OAAO;AAExD,MAAI,OACA,IAAI,WACA,QACA,QACC,OAAO,IAAI,SAAS,IAAI,OAAO,KAAK,MAAM,IAAI;AACvD,SAAO;AACX;AC1DA,MAAM,wBAAwB,OAAO,gBAAgB;AACrD,MAAM,SAAS,CAAC,QAAQ;AACpB,SAAO,OAAO,YAAY,WAAW,aAC/B,YAAY,OAAO,GAAG,IACtB,IAAI,kBAAkB;AAChC;AACA,MAAM,WAAW,OAAO,UAAU;AAClC,MAAM,iBAAiB,OAAO,SAAS,cAClC,OAAO,SAAS,eACb,SAAS,KAAK,IAAI,MAAM;AAChC,MAAM,iBAAiB,OAAO,SAAS,cAClC,OAAO,SAAS,eACb,SAAS,KAAK,IAAI,MAAM;AAMzB,SAAS,SAAS,KAAK;AAC1B,SAAS,0BAA0B,eAAe,eAAe,OAAO,GAAG,MACtE,kBAAkB,eAAe,QACjC,kBAAkB,eAAe;AAC1C;AACO,SAAS,UAAU,KAAK,QAAQ;AACnC,MAAI,CAAC,OAAO,OAAO,QAAQ,UAAU;AACjC,WAAO;AAAA,EACX;AACA,MAAI,MAAM,QAAQ,GAAG,GAAG;AACpB,aAAS,IAAI,GAAGjB,KAAI,IAAI,QAAQ,IAAIA,IAAG,KAAK;AACxC,UAAI,UAAU,IAAI,CAAC,CAAC,GAAG;AACnB,eAAO;AAAA,MACX;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AACA,MAAI,SAAS,GAAG,GAAG;AACf,WAAO;AAAA,EACX;AACA,MAAI,IAAI,UACJ,OAAO,IAAI,WAAW,cACtB,UAAU,WAAW,GAAG;AACxB,WAAO,UAAU,IAAI,OAAM,GAAI,IAAI;AAAA,EACvC;AACA,aAAW,OAAO,KAAK;AACnB,QAAI,OAAO,UAAU,eAAe,KAAK,KAAK,GAAG,KAAK,UAAU,IAAI,GAAG,CAAC,GAAG;AACvE,aAAO;AAAA,IACX;AAAA,EACJ;AACA,SAAO;AACX;ACzCO,SAAS,kBAAkB,QAAQ;AACtC,QAAM,UAAU,CAAA;AAChB,QAAM,aAAa,OAAO;AAC1B,QAAM,OAAO;AACb,OAAK,OAAO,mBAAmB,YAAY,OAAO;AAClD,OAAK,cAAc,QAAQ;AAC3B,SAAO,EAAE,QAAQ,MAAM,QAAgB;AAC3C;AACA,SAAS,mBAAmB,MAAM,SAAS;AACvC,MAAI,CAAC;AACD,WAAO;AACX,MAAI,SAAS,IAAI,GAAG;AAChB,UAAM,cAAc,EAAE,cAAc,MAAM,KAAK,QAAQ,OAAM;AAC7D,YAAQ,KAAK,IAAI;AACjB,WAAO;AAAA,EACX,WACS,MAAM,QAAQ,IAAI,GAAG;AAC1B,UAAM,UAAU,IAAI,MAAM,KAAK,MAAM;AACrC,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AAClC,cAAQ,CAAC,IAAI,mBAAmB,KAAK,CAAC,GAAG,OAAO;AAAA,IACpD;AACA,WAAO;AAAA,EACX,WACS,OAAO,SAAS,YAAY,EAAE,gBAAgB,OAAO;AAC1D,UAAM,UAAU,CAAA;AAChB,eAAW,OAAO,MAAM;AACpB,UAAI,OAAO,UAAU,eAAe,KAAK,MAAM,GAAG,GAAG;AACjD,gBAAQ,GAAG,IAAI,mBAAmB,KAAK,GAAG,GAAG,OAAO;AAAA,MACxD;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AACA,SAAO;AACX;AASO,SAAS,kBAAkB,QAAQ,SAAS;AAC/C,SAAO,OAAO,mBAAmB,OAAO,MAAM,OAAO;AACrD,SAAO,OAAO;AACd,SAAO;AACX;AACA,SAAS,mBAAmB,MAAM,SAAS;AACvC,MAAI,CAAC;AACD,WAAO;AACX,MAAI,QAAQ,KAAK,iBAAiB,MAAM;AACpC,UAAM,eAAe,OAAO,KAAK,QAAQ,YACrC,KAAK,OAAO,KACZ,KAAK,MAAM,QAAQ;AACvB,QAAI,cAAc;AACd,aAAO,QAAQ,KAAK,GAAG;AAAA,IAC3B,OACK;AACD,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACzC;AAAA,EACJ,WACS,MAAM,QAAQ,IAAI,GAAG;AAC1B,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AAClC,WAAK,CAAC,IAAI,mBAAmB,KAAK,CAAC,GAAG,OAAO;AAAA,IACjD;AAAA,EACJ,WACS,OAAO,SAAS,UAAU;AAC/B,eAAW,OAAO,MAAM;AACpB,UAAI,OAAO,UAAU,eAAe,KAAK,MAAM,GAAG,GAAG;AACjD,aAAK,GAAG,IAAI,mBAAmB,KAAK,GAAG,GAAG,OAAO;AAAA,MACrD;AAAA,IACJ;AAAA,EACJ;AACA,SAAO;AACX;AC5EA,MAAMmB,oBAAkB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AACJ;AAMO,MAAM,WAAW;AACjB,IAAI;AAAA,CACV,SAAUC,aAAY;AACnB,EAAAA,YAAWA,YAAW,SAAS,IAAI,CAAC,IAAI;AACxC,EAAAA,YAAWA,YAAW,YAAY,IAAI,CAAC,IAAI;AAC3C,EAAAA,YAAWA,YAAW,OAAO,IAAI,CAAC,IAAI;AACtC,EAAAA,YAAWA,YAAW,KAAK,IAAI,CAAC,IAAI;AACpC,EAAAA,YAAWA,YAAW,eAAe,IAAI,CAAC,IAAI;AAC9C,EAAAA,YAAWA,YAAW,cAAc,IAAI,CAAC,IAAI;AAC7C,EAAAA,YAAWA,YAAW,YAAY,IAAI,CAAC,IAAI;AAC/C,GAAG,eAAe,aAAa,CAAA,EAAG;AAI3B,MAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjB,YAAY,UAAU;AAClB,SAAK,WAAW;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,KAAK;AACR,QAAI,IAAI,SAAS,WAAW,SAAS,IAAI,SAAS,WAAW,KAAK;AAC9D,UAAI,UAAU,GAAG,GAAG;AAChB,eAAO,KAAK,eAAe;AAAA,UACvB,MAAM,IAAI,SAAS,WAAW,QACxB,WAAW,eACX,WAAW;AAAA,UACjB,KAAK,IAAI;AAAA,UACT,MAAM,IAAI;AAAA,UACV,IAAI,IAAI;AAAA,QAC5B,CAAiB;AAAA,MACL;AAAA,IACJ;AACA,WAAO,CAAC,KAAK,eAAe,GAAG,CAAC;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA,EAIA,eAAe,KAAK;AAEhB,QAAI,MAAM,KAAK,IAAI;AAEnB,QAAI,IAAI,SAAS,WAAW,gBACxB,IAAI,SAAS,WAAW,YAAY;AACpC,aAAO,IAAI,cAAc;AAAA,IAC7B;AAGA,QAAI,IAAI,OAAO,QAAQ,IAAI,KAAK;AAC5B,aAAO,IAAI,MAAM;AAAA,IACrB;AAEA,QAAI,QAAQ,IAAI,IAAI;AAChB,aAAO,IAAI;AAAA,IACf;AAEA,QAAI,QAAQ,IAAI,MAAM;AAClB,aAAO,KAAK,UAAU,IAAI,MAAM,KAAK,QAAQ;AAAA,IACjD;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,eAAe,KAAK;AAChB,UAAM,iBAAiB,kBAAkB,GAAG;AAC5C,UAAM,OAAO,KAAK,eAAe,eAAe,MAAM;AACtD,UAAM,UAAU,eAAe;AAC/B,YAAQ,QAAQ,IAAI;AACpB,WAAO;AAAA,EACX;AACJ;AAEA,SAAS,SAAS/D,QAAO;AACrB,SAAO,OAAO,UAAU,SAAS,KAAKA,MAAK,MAAM;AACrD;AAMO,MAAM,gBAAgB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjC,YAAY,SAAS;AACjB,UAAK;AACL,SAAK,UAAU;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,KAAK;AACL,QAAI;AACJ,QAAI,OAAO,QAAQ,UAAU;AACzB,UAAI,KAAK,eAAe;AACpB,cAAM,IAAI,MAAM,iDAAiD;AAAA,MACrE;AACA,eAAS,KAAK,aAAa,GAAG;AAC9B,YAAM,gBAAgB,OAAO,SAAS,WAAW;AACjD,UAAI,iBAAiB,OAAO,SAAS,WAAW,YAAY;AACxD,eAAO,OAAO,gBAAgB,WAAW,QAAQ,WAAW;AAE5D,aAAK,gBAAgB,IAAI,oBAAoB,MAAM;AAEnD,YAAI,OAAO,gBAAgB,GAAG;AAC1B,gBAAM,aAAa,WAAW,MAAM;AAAA,QACxC;AAAA,MACJ,OACK;AAED,cAAM,aAAa,WAAW,MAAM;AAAA,MACxC;AAAA,IACJ,WACS,SAAS,GAAG,KAAK,IAAI,QAAQ;AAElC,UAAI,CAAC,KAAK,eAAe;AACrB,cAAM,IAAI,MAAM,kDAAkD;AAAA,MACtE,OACK;AACD,iBAAS,KAAK,cAAc,eAAe,GAAG;AAC9C,YAAI,QAAQ;AAER,eAAK,gBAAgB;AACrB,gBAAM,aAAa,WAAW,MAAM;AAAA,QACxC;AAAA,MACJ;AAAA,IACJ,OACK;AACD,YAAM,IAAI,MAAM,mBAAmB,GAAG;AAAA,IAC1C;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,aAAa,KAAK;AACd,QAAI,IAAI;AAER,UAAMuD,KAAI;AAAA,MACN,MAAM,OAAO,IAAI,OAAO,CAAC,CAAC;AAAA,IACtC;AACQ,QAAI,WAAWA,GAAE,IAAI,MAAM,QAAW;AAClC,YAAM,IAAI,MAAM,yBAAyBA,GAAE,IAAI;AAAA,IACnD;AAEA,QAAIA,GAAE,SAAS,WAAW,gBACtBA,GAAE,SAAS,WAAW,YAAY;AAClC,YAAM,QAAQ,IAAI;AAClB,aAAO,IAAI,OAAO,EAAE,CAAC,MAAM,OAAO,KAAK,IAAI,QAAQ;AAAA,MAAE;AACrD,YAAM,MAAM,IAAI,UAAU,OAAO,CAAC;AAClC,UAAI,OAAO,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK;AAC7C,cAAM,IAAI,MAAM,qBAAqB;AAAA,MACzC;AACA,MAAAA,GAAE,cAAc,OAAO,GAAG;AAAA,IAC9B;AAEA,QAAI,QAAQ,IAAI,OAAO,IAAI,CAAC,GAAG;AAC3B,YAAM,QAAQ,IAAI;AAClB,aAAO,EAAE,GAAG;AACR,cAAMpC,KAAI,IAAI,OAAO,CAAC;AACtB,YAAI,QAAQA;AACR;AACJ,YAAI,MAAM,IAAI;AACV;AAAA,MACR;AACA,MAAAoC,GAAE,MAAM,IAAI,UAAU,OAAO,CAAC;AAAA,IAClC,OACK;AACD,MAAAA,GAAE,MAAM;AAAA,IACZ;AAEA,UAAM,OAAO,IAAI,OAAO,IAAI,CAAC;AAC7B,QAAI,OAAO,QAAQ,OAAO,IAAI,KAAK,MAAM;AACrC,YAAM,QAAQ,IAAI;AAClB,aAAO,EAAE,GAAG;AACR,cAAMpC,KAAI,IAAI,OAAO,CAAC;AACtB,YAAI,QAAQA,MAAK,OAAOA,EAAC,KAAKA,IAAG;AAC7B,YAAE;AACF;AAAA,QACJ;AACA,YAAI,MAAM,IAAI;AACV;AAAA,MACR;AACA,MAAAoC,GAAE,KAAK,OAAO,IAAI,UAAU,OAAO,IAAI,CAAC,CAAC;AAAA,IAC7C;AAEA,QAAI,IAAI,OAAO,EAAE,CAAC,GAAG;AACjB,YAAM,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC;AAC3C,UAAI,QAAQ,eAAeA,GAAE,MAAM,OAAO,GAAG;AACzC,QAAAA,GAAE,OAAO;AAAA,MACb,OACK;AACD,cAAM,IAAI,MAAM,iBAAiB;AAAA,MACrC;AAAA,IACJ;AACA,WAAOA;AAAA,EACX;AAAA,EACA,SAAS,KAAK;AACV,QAAI;AACA,aAAO,KAAK,MAAM,KAAK,KAAK,OAAO;AAAA,IACvC,SACOxD,IAAG;AACN,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EACA,OAAO,eAAe,MAAM,SAAS;AACjC,YAAQ,MAAI;AAAA,MACR,KAAK,WAAW;AACZ,eAAO,SAAS,OAAO;AAAA,MAC3B,KAAK,WAAW;AACZ,eAAO,YAAY;AAAA,MACvB,KAAK,WAAW;AACZ,eAAO,OAAO,YAAY,YAAY,SAAS,OAAO;AAAA,MAC1D,KAAK,WAAW;AAAA,MAChB,KAAK,WAAW;AACZ,eAAQ,MAAM,QAAQ,OAAO,MACxB,OAAO,QAAQ,CAAC,MAAM,YAClB,OAAO,QAAQ,CAAC,MAAM,YACnB+D,kBAAgB,QAAQ,QAAQ,CAAC,CAAC,MAAM;AAAA,MACxD,KAAK,WAAW;AAAA,MAChB,KAAK,WAAW;AACZ,eAAO,MAAM,QAAQ,OAAO;AAAA,IAC5C;AAAA,EACI;AAAA;AAAA;AAAA;AAAA,EAIA,UAAU;AACN,QAAI,KAAK,eAAe;AACpB,WAAK,cAAc,uBAAsB;AACzC,WAAK,gBAAgB;AAAA,IACzB;AAAA,EACJ;AACJ;AASA,MAAM,oBAAoB;AAAA,EACtB,YAAY,QAAQ;AAChB,SAAK,SAAS;AACd,SAAK,UAAU,CAAA;AACf,SAAK,YAAY;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,eAAe,SAAS;AACpB,SAAK,QAAQ,KAAK,OAAO;AACzB,QAAI,KAAK,QAAQ,WAAW,KAAK,UAAU,aAAa;AAEpD,YAAM,SAAS,kBAAkB,KAAK,WAAW,KAAK,OAAO;AAC7D,WAAK,uBAAsB;AAC3B,aAAO;AAAA,IACX;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAIA,yBAAyB;AACrB,SAAK,YAAY;AACjB,SAAK,UAAU,CAAA;AAAA,EACnB;AACJ;;;;;;;;;;ACtTO,SAASvB,KAAG,KAAK,IAAIU,KAAI;AAC5B,MAAI,GAAG,IAAIA,GAAE;AACb,SAAO,SAAS,aAAa;AACzB,QAAI,IAAI,IAAIA,GAAE;AAAA,EAClB;AACJ;ACEA,MAAM,kBAAkB,OAAO,OAAO;AAAA,EAClC,SAAS;AAAA,EACT,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,eAAe;AAAA;AAAA,EAEf,aAAa;AAAA,EACb,gBAAgB;AACpB,CAAC;AAyBM,MAAMe,gBAAe,QAAQ;AAAA;AAAA;AAAA;AAAA,EAIhC,YAAYC,KAAI,KAAK,MAAM;AACvB,UAAK;AAeL,SAAK,YAAY;AAKjB,SAAK,YAAY;AAIjB,SAAK,gBAAgB,CAAA;AAIrB,SAAK,aAAa,CAAA;AAOlB,SAAK,SAAS,CAAA;AAKd,SAAK,YAAY;AACjB,SAAK,MAAM;AAwBX,SAAK,OAAO,CAAA;AACZ,SAAK,QAAQ,CAAA;AACb,SAAK,KAAKA;AACV,SAAK,MAAM;AACX,QAAI,QAAQ,KAAK,MAAM;AACnB,WAAK,OAAO,KAAK;AAAA,IACrB;AACA,SAAK,QAAQ,OAAO,OAAO,CAAA,GAAI,IAAI;AACnC,QAAI,KAAK,GAAG;AACR,WAAK,KAAI;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,IAAI,eAAe;AACf,WAAO,CAAC,KAAK;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAY;AACR,QAAI,KAAK;AACL;AACJ,UAAMA,MAAK,KAAK;AAChB,SAAK,OAAO;AAAA,MACR1B,KAAG0B,KAAI,QAAQ,KAAK,OAAO,KAAK,IAAI,CAAC;AAAA,MACrC1B,KAAG0B,KAAI,UAAU,KAAK,SAAS,KAAK,IAAI,CAAC;AAAA,MACzC1B,KAAG0B,KAAI,SAAS,KAAK,QAAQ,KAAK,IAAI,CAAC;AAAA,MACvC1B,KAAG0B,KAAI,SAAS,KAAK,QAAQ,KAAK,IAAI,CAAC;AAAA,IACnD;AAAA,EACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,IAAI,SAAS;AACT,WAAO,CAAC,CAAC,KAAK;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,UAAU;AACN,QAAI,KAAK;AACL,aAAO;AACX,SAAK,UAAS;AACd,QAAI,CAAC,KAAK,GAAG,eAAe;AACxB,WAAK,GAAG;AACZ,QAAI,WAAW,KAAK,GAAG;AACnB,WAAK,OAAM;AACf,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAIA,OAAO;AACH,WAAO,KAAK,QAAO;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,QAAQ,MAAM;AACV,SAAK,QAAQ,SAAS;AACtB,SAAK,KAAK,MAAM,MAAM,IAAI;AAC1B,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,KAAK,OAAO,MAAM;AACd,QAAI/B,KAAI,IAAIgC;AACZ,QAAI,gBAAgB,eAAe,EAAE,GAAG;AACpC,YAAM,IAAI,MAAM,MAAM,GAAG,SAAQ,IAAK,4BAA4B;AAAA,IACtE;AACA,SAAK,QAAQ,EAAE;AACf,QAAI,KAAK,MAAM,WAAW,CAAC,KAAK,MAAM,aAAa,CAAC,KAAK,MAAM,UAAU;AACrE,WAAK,YAAY,IAAI;AACrB,aAAO;AAAA,IACX;AACA,UAAM,SAAS;AAAA,MACX,MAAM,WAAW;AAAA,MACjB,MAAM;AAAA,IAClB;AACQ,WAAO,UAAU,CAAA;AACjB,WAAO,QAAQ,WAAW,KAAK,MAAM,aAAa;AAElD,QAAI,eAAe,OAAO,KAAK,KAAK,SAAS,CAAC,GAAG;AAC7C,YAAMnC,MAAK,KAAK;AAChB,YAAM,MAAM,KAAK,IAAG;AACpB,WAAK,qBAAqBA,KAAI,GAAG;AACjC,aAAO,KAAKA;AAAA,IAChB;AACA,UAAM,uBAAuB,MAAMG,MAAK,KAAK,GAAG,YAAY,QAAQA,QAAO,SAAS,SAASA,IAAG,eAAe,QAAQ,OAAO,SAAS,SAAS,GAAG;AACnJ,UAAM,cAAc,KAAK,aAAa,GAAGgC,MAAK,KAAK,GAAG,YAAY,QAAQA,QAAO,SAAS,SAASA,IAAG;AACtG,UAAM,gBAAgB,KAAK,MAAM,YAAY,CAAC;AAC9C,QAAI,cAAe;AAAA,aAEV,aAAa;AAClB,WAAK,wBAAwB,MAAM;AACnC,WAAK,OAAO,MAAM;AAAA,IACtB,OACK;AACD,WAAK,WAAW,KAAK,MAAM;AAAA,IAC/B;AACA,SAAK,QAAQ,CAAA;AACb,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAIA,qBAAqBnC,KAAI,KAAK;AAC1B,QAAIG;AACJ,UAAM,WAAWA,MAAK,KAAK,MAAM,aAAa,QAAQA,QAAO,SAASA,MAAK,KAAK,MAAM;AACtF,QAAI,YAAY,QAAW;AACvB,WAAK,KAAKH,GAAE,IAAI;AAChB;AAAA,IACJ;AAEA,UAAM,QAAQ,KAAK,GAAG,aAAa,MAAM;AACrC,aAAO,KAAK,KAAKA,GAAE;AACnB,eAAS,IAAI,GAAG,IAAI,KAAK,WAAW,QAAQ,KAAK;AAC7C,YAAI,KAAK,WAAW,CAAC,EAAE,OAAOA,KAAI;AAC9B,eAAK,WAAW,OAAO,GAAG,CAAC;AAAA,QAC/B;AAAA,MACJ;AACA,UAAI,KAAK,MAAM,IAAI,MAAM,yBAAyB,CAAC;AAAA,IACvD,GAAG,OAAO;AACV,UAAMkB,MAAK,IAAI,SAAS;AAEpB,WAAK,GAAG,eAAe,KAAK;AAC5B,UAAI,MAAM,MAAM,IAAI;AAAA,IACxB;AACA,IAAAA,IAAG,YAAY;AACf,SAAK,KAAKlB,GAAE,IAAIkB;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,YAAY,OAAO,MAAM;AACrB,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACpC,YAAMA,MAAK,CAAC,MAAM,SAAS;AACvB,eAAO,OAAO,OAAO,IAAI,IAAI,QAAQ,IAAI;AAAA,MAC7C;AACA,MAAAA,IAAG,YAAY;AACf,WAAK,KAAKA,GAAE;AACZ,WAAK,KAAK,IAAI,GAAG,IAAI;AAAA,IACzB,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAY,MAAM;AACd,QAAI;AACJ,QAAI,OAAO,KAAK,KAAK,SAAS,CAAC,MAAM,YAAY;AAC7C,YAAM,KAAK,IAAG;AAAA,IAClB;AACA,UAAM,SAAS;AAAA,MACX,IAAI,KAAK;AAAA,MACT,UAAU;AAAA,MACV,SAAS;AAAA,MACT;AAAA,MACA,OAAO,OAAO,OAAO,EAAE,WAAW,KAAI,GAAI,KAAK,KAAK;AAAA,IAChE;AACQ,SAAK,KAAK,CAAC,QAAQ,iBAAiB;AAChC,UAAI,WAAW,KAAK,OAAO,CAAC,GAAG;AAE3B;AAAA,MACJ;AACA,YAAM,WAAW,QAAQ;AACzB,UAAI,UAAU;AACV,YAAI,OAAO,WAAW,KAAK,MAAM,SAAS;AACtC,eAAK,OAAO,MAAK;AACjB,cAAI,KAAK;AACL,gBAAI,GAAG;AAAA,UACX;AAAA,QACJ;AAAA,MACJ,OACK;AACD,aAAK,OAAO,MAAK;AACjB,YAAI,KAAK;AACL,cAAI,MAAM,GAAG,YAAY;AAAA,QAC7B;AAAA,MACJ;AACA,aAAO,UAAU;AACjB,aAAO,KAAK,YAAW;AAAA,IAC3B,CAAC;AACD,SAAK,OAAO,KAAK,MAAM;AACvB,SAAK,YAAW;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAY,QAAQ,OAAO;AACvB,QAAI,CAAC,KAAK,aAAa,KAAK,OAAO,WAAW,GAAG;AAC7C;AAAA,IACJ;AACA,UAAM,SAAS,KAAK,OAAO,CAAC;AAC5B,QAAI,OAAO,WAAW,CAAC,OAAO;AAC1B;AAAA,IACJ;AACA,WAAO,UAAU;AACjB,WAAO;AACP,SAAK,QAAQ,OAAO;AACpB,SAAK,KAAK,MAAM,MAAM,OAAO,IAAI;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,QAAQ;AACX,WAAO,MAAM,KAAK;AAClB,SAAK,GAAG,QAAQ,MAAM;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS;AACL,QAAI,OAAO,KAAK,QAAQ,YAAY;AAChC,WAAK,KAAK,CAAC,SAAS;AAChB,aAAK,mBAAmB,IAAI;AAAA,MAChC,CAAC;AAAA,IACL,OACK;AACD,WAAK,mBAAmB,KAAK,IAAI;AAAA,IACrC;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,mBAAmB,MAAM;AACrB,SAAK,OAAO;AAAA,MACR,MAAM,WAAW;AAAA,MACjB,MAAM,KAAK,OACL,OAAO,OAAO,EAAE,KAAK,KAAK,MAAM,QAAQ,KAAK,YAAW,GAAI,IAAI,IAChE;AAAA,IAClB,CAAS;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,QAAQ,KAAK;AACT,QAAI,CAAC,KAAK,WAAW;AACjB,WAAK,aAAa,iBAAiB,GAAG;AAAA,IAC1C;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,QAAQ,QAAQ,aAAa;AACzB,SAAK,YAAY;AACjB,WAAO,KAAK;AACZ,SAAK,aAAa,cAAc,QAAQ,WAAW;AACnD,SAAK,WAAU;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,aAAa;AACT,WAAO,KAAK,KAAK,IAAI,EAAE,QAAQ,CAAClB,QAAO;AACnC,YAAM,aAAa,KAAK,WAAW,KAAK,CAAC,WAAW,OAAO,OAAO,EAAE,MAAMA,GAAE;AAC5E,UAAI,CAAC,YAAY;AAEb,cAAM,MAAM,KAAK,KAAKA,GAAE;AACxB,eAAO,KAAK,KAAKA,GAAE;AACnB,YAAI,IAAI,WAAW;AACf,cAAI,KAAK,MAAM,IAAI,MAAM,8BAA8B,CAAC;AAAA,QAC5D;AAAA,MACJ;AAAA,IACJ,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAS,QAAQ;AACb,UAAM,gBAAgB,OAAO,QAAQ,KAAK;AAC1C,QAAI,CAAC;AACD;AACJ,YAAQ,OAAO,MAAI;AAAA,MACf,KAAK,WAAW;AACZ,YAAI,OAAO,QAAQ,OAAO,KAAK,KAAK;AAChC,eAAK,UAAU,OAAO,KAAK,KAAK,OAAO,KAAK,GAAG;AAAA,QACnD,OACK;AACD,eAAK,aAAa,iBAAiB,IAAI,MAAM,2LAA2L,CAAC;AAAA,QAC7O;AACA;AAAA,MACJ,KAAK,WAAW;AAAA,MAChB,KAAK,WAAW;AACZ,aAAK,QAAQ,MAAM;AACnB;AAAA,MACJ,KAAK,WAAW;AAAA,MAChB,KAAK,WAAW;AACZ,aAAK,MAAM,MAAM;AACjB;AAAA,MACJ,KAAK,WAAW;AACZ,aAAK,aAAY;AACjB;AAAA,MACJ,KAAK,WAAW;AACZ,aAAK,QAAO;AACZ,cAAM,MAAM,IAAI,MAAM,OAAO,KAAK,OAAO;AAEzC,YAAI,OAAO,OAAO,KAAK;AACvB,aAAK,aAAa,iBAAiB,GAAG;AACtC;AAAA,IAChB;AAAA,EACI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,QAAQ,QAAQ;AACZ,UAAM,OAAO,OAAO,QAAQ,CAAA;AAC5B,QAAI,QAAQ,OAAO,IAAI;AACnB,WAAK,KAAK,KAAK,IAAI,OAAO,EAAE,CAAC;AAAA,IACjC;AACA,QAAI,KAAK,WAAW;AAChB,WAAK,UAAU,IAAI;AAAA,IACvB,OACK;AACD,WAAK,cAAc,KAAK,OAAO,OAAO,IAAI,CAAC;AAAA,IAC/C;AAAA,EACJ;AAAA,EACA,UAAU,MAAM;AACZ,QAAI,KAAK,iBAAiB,KAAK,cAAc,QAAQ;AACjD,YAAM,YAAY,KAAK,cAAc,MAAK;AAC1C,iBAAW,YAAY,WAAW;AAC9B,iBAAS,MAAM,MAAM,IAAI;AAAA,MAC7B;AAAA,IACJ;AACA,UAAM,KAAK,MAAM,MAAM,IAAI;AAC3B,QAAI,KAAK,QAAQ,KAAK,UAAU,OAAO,KAAK,KAAK,SAAS,CAAC,MAAM,UAAU;AACvE,WAAK,cAAc,KAAK,KAAK,SAAS,CAAC;AAAA,IAC3C;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAIA,KAAI;AACJ,UAAMd,QAAO;AACb,QAAI,OAAO;AACX,WAAO,YAAa,MAAM;AAEtB,UAAI;AACA;AACJ,aAAO;AACP,MAAAA,MAAK,OAAO;AAAA,QACR,MAAM,WAAW;AAAA,QACjB,IAAIc;AAAA,QACJ,MAAM;AAAA,MACtB,CAAa;AAAA,IACL;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,QAAQ;AACV,UAAM,MAAM,KAAK,KAAK,OAAO,EAAE;AAC/B,QAAI,OAAO,QAAQ,YAAY;AAC3B;AAAA,IACJ;AACA,WAAO,KAAK,KAAK,OAAO,EAAE;AAE1B,QAAI,IAAI,WAAW;AACf,aAAO,KAAK,QAAQ,IAAI;AAAA,IAC5B;AAEA,QAAI,MAAM,MAAM,OAAO,IAAI;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAUA,KAAI,KAAK;AACf,SAAK,KAAKA;AACV,SAAK,YAAY,OAAO,KAAK,SAAS;AACtC,SAAK,OAAO;AACZ,SAAK,YAAY;AACjB,SAAK,aAAY;AACjB,SAAK,aAAa,SAAS;AAC3B,SAAK,YAAY,IAAI;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,eAAe;AACX,SAAK,cAAc,QAAQ,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC;AACzD,SAAK,gBAAgB,CAAA;AACrB,SAAK,WAAW,QAAQ,CAAC,WAAW;AAChC,WAAK,wBAAwB,MAAM;AACnC,WAAK,OAAO,MAAM;AAAA,IACtB,CAAC;AACD,SAAK,aAAa,CAAA;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,eAAe;AACX,SAAK,QAAO;AACZ,SAAK,QAAQ,sBAAsB;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,UAAU;AACN,QAAI,KAAK,MAAM;AAEX,WAAK,KAAK,QAAQ,CAAC,eAAe,WAAU,CAAE;AAC9C,WAAK,OAAO;AAAA,IAChB;AACA,SAAK,GAAG,UAAU,EAAE,IAAI;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,aAAa;AACT,QAAI,KAAK,WAAW;AAChB,WAAK,OAAO,EAAE,MAAM,WAAW,WAAU,CAAE;AAAA,IAC/C;AAEA,SAAK,QAAO;AACZ,QAAI,KAAK,WAAW;AAEhB,WAAK,QAAQ,sBAAsB;AAAA,IACvC;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,QAAQ;AACJ,WAAO,KAAK,WAAU;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,SAAS,UAAU;AACf,SAAK,MAAM,WAAW;AACtB,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,IAAI,WAAW;AACX,SAAK,MAAM,WAAW;AACtB,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,QAAQ,SAAS;AACb,SAAK,MAAM,UAAU;AACrB,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,MAAM,UAAU;AACZ,SAAK,gBAAgB,KAAK,iBAAiB,CAAA;AAC3C,SAAK,cAAc,KAAK,QAAQ;AAChC,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,WAAW,UAAU;AACjB,SAAK,gBAAgB,KAAK,iBAAiB,CAAA;AAC3C,SAAK,cAAc,QAAQ,QAAQ;AACnC,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,OAAO,UAAU;AACb,QAAI,CAAC,KAAK,eAAe;AACrB,aAAO;AAAA,IACX;AACA,QAAI,UAAU;AACV,YAAM,YAAY,KAAK;AACvB,eAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACvC,YAAI,aAAa,UAAU,CAAC,GAAG;AAC3B,oBAAU,OAAO,GAAG,CAAC;AACrB,iBAAO;AAAA,QACX;AAAA,MACJ;AAAA,IACJ,OACK;AACD,WAAK,gBAAgB,CAAA;AAAA,IACzB;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,eAAe;AACX,WAAO,KAAK,iBAAiB,CAAA;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,cAAc,UAAU;AACpB,SAAK,wBAAwB,KAAK,yBAAyB,CAAA;AAC3D,SAAK,sBAAsB,KAAK,QAAQ;AACxC,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,mBAAmB,UAAU;AACzB,SAAK,wBAAwB,KAAK,yBAAyB,CAAA;AAC3D,SAAK,sBAAsB,QAAQ,QAAQ;AAC3C,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,eAAe,UAAU;AACrB,QAAI,CAAC,KAAK,uBAAuB;AAC7B,aAAO;AAAA,IACX;AACA,QAAI,UAAU;AACV,YAAM,YAAY,KAAK;AACvB,eAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACvC,YAAI,aAAa,UAAU,CAAC,GAAG;AAC3B,oBAAU,OAAO,GAAG,CAAC;AACrB,iBAAO;AAAA,QACX;AAAA,MACJ;AAAA,IACJ,OACK;AACD,WAAK,wBAAwB,CAAA;AAAA,IACjC;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB;AACnB,WAAO,KAAK,yBAAyB,CAAA;AAAA,EACzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,wBAAwB,QAAQ;AAC5B,QAAI,KAAK,yBAAyB,KAAK,sBAAsB,QAAQ;AACjE,YAAM,YAAY,KAAK,sBAAsB,MAAK;AAClD,iBAAW,YAAY,WAAW;AAC9B,iBAAS,MAAM,MAAM,OAAO,IAAI;AAAA,MACpC;AAAA,IACJ;AAAA,EACJ;AACJ;ACt2BO,SAAS,QAAQ,MAAM;AAC1B,SAAO,QAAQ,CAAA;AACf,OAAK,KAAK,KAAK,OAAO;AACtB,OAAK,MAAM,KAAK,OAAO;AACvB,OAAK,SAAS,KAAK,UAAU;AAC7B,OAAK,SAAS,KAAK,SAAS,KAAK,KAAK,UAAU,IAAI,KAAK,SAAS;AAClE,OAAK,WAAW;AACpB;AAOA,QAAQ,UAAU,WAAW,WAAY;AACrC,MAAIjB,MAAK,KAAK,KAAK,KAAK,IAAI,KAAK,QAAQ,KAAK,UAAU;AACxD,MAAI,KAAK,QAAQ;AACb,QAAI,OAAO,KAAK,OAAM;AACtB,QAAI,YAAY,KAAK,MAAM,OAAO,KAAK,SAASA,GAAE;AAClD,IAAAA,OAAM,KAAK,MAAM,OAAO,EAAE,IAAI,MAAM,IAAIA,MAAK,YAAYA,MAAK;AAAA,EAClE;AACA,SAAO,KAAK,IAAIA,KAAI,KAAK,GAAG,IAAI;AACpC;AAMA,QAAQ,UAAU,QAAQ,WAAY;AAClC,OAAK,WAAW;AACpB;AAMA,QAAQ,UAAU,SAAS,SAAU,KAAK;AACtC,OAAK,KAAK;AACd;AAMA,QAAQ,UAAU,SAAS,SAAU,KAAK;AACtC,OAAK,MAAM;AACf;AAMA,QAAQ,UAAU,YAAY,SAAU,QAAQ;AAC5C,OAAK,SAAS;AAClB;AC3DO,MAAM,gBAAgB,QAAQ;AAAA,EACjC,YAAY,KAAK,MAAM;AACnB,QAAIoB;AACJ,UAAK;AACL,SAAK,OAAO,CAAA;AACZ,SAAK,OAAO,CAAA;AACZ,QAAI,OAAO,aAAa,OAAO,KAAK;AAChC,aAAO;AACP,YAAM;AAAA,IACV;AACA,WAAO,QAAQ,CAAA;AACf,SAAK,OAAO,KAAK,QAAQ;AACzB,SAAK,OAAO;AACZ,0BAAsB,MAAM,IAAI;AAChC,SAAK,aAAa,KAAK,iBAAiB,KAAK;AAC7C,SAAK,qBAAqB,KAAK,wBAAwB,QAAQ;AAC/D,SAAK,kBAAkB,KAAK,qBAAqB,GAAI;AACrD,SAAK,qBAAqB,KAAK,wBAAwB,GAAI;AAC3D,SAAK,qBAAqBA,MAAK,KAAK,yBAAyB,QAAQA,QAAO,SAASA,MAAK,GAAG;AAC7F,SAAK,UAAU,IAAI,QAAQ;AAAA,MACvB,KAAK,KAAK,kBAAiB;AAAA,MAC3B,KAAK,KAAK,qBAAoB;AAAA,MAC9B,QAAQ,KAAK,oBAAmB;AAAA,IAC5C,CAAS;AACD,SAAK,QAAQ,QAAQ,KAAK,UAAU,MAAQ,KAAK,OAAO;AACxD,SAAK,cAAc;AACnB,SAAK,MAAM;AACX,UAAM,UAAU,KAAK,UAAU;AAC/B,SAAK,UAAU,IAAI,QAAQ,QAAO;AAClC,SAAK,UAAU,IAAI,QAAQ,QAAO;AAClC,SAAK,eAAe,KAAK,gBAAgB;AACzC,QAAI,KAAK;AACL,WAAK,KAAI;AAAA,EACjB;AAAA,EACA,aAAahB,IAAG;AACZ,QAAI,CAAC,UAAU;AACX,aAAO,KAAK;AAChB,SAAK,gBAAgB,CAAC,CAACA;AACvB,QAAI,CAACA,IAAG;AACJ,WAAK,gBAAgB;AAAA,IACzB;AACA,WAAO;AAAA,EACX;AAAA,EACA,qBAAqBA,IAAG;AACpB,QAAIA,OAAM;AACN,aAAO,KAAK;AAChB,SAAK,wBAAwBA;AAC7B,WAAO;AAAA,EACX;AAAA,EACA,kBAAkBA,IAAG;AACjB,QAAIgB;AACJ,QAAIhB,OAAM;AACN,aAAO,KAAK;AAChB,SAAK,qBAAqBA;AAC1B,KAACgB,MAAK,KAAK,aAAa,QAAQA,QAAO,SAAS,SAASA,IAAG,OAAOhB,EAAC;AACpE,WAAO;AAAA,EACX;AAAA,EACA,oBAAoBA,IAAG;AACnB,QAAIgB;AACJ,QAAIhB,OAAM;AACN,aAAO,KAAK;AAChB,SAAK,uBAAuBA;AAC5B,KAACgB,MAAK,KAAK,aAAa,QAAQA,QAAO,SAAS,SAASA,IAAG,UAAUhB,EAAC;AACvE,WAAO;AAAA,EACX;AAAA,EACA,qBAAqBA,IAAG;AACpB,QAAIgB;AACJ,QAAIhB,OAAM;AACN,aAAO,KAAK;AAChB,SAAK,wBAAwBA;AAC7B,KAACgB,MAAK,KAAK,aAAa,QAAQA,QAAO,SAAS,SAASA,IAAG,OAAOhB,EAAC;AACpE,WAAO;AAAA,EACX;AAAA,EACA,QAAQA,IAAG;AACP,QAAI,CAAC,UAAU;AACX,aAAO,KAAK;AAChB,SAAK,WAAWA;AAChB,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,uBAAuB;AAEnB,QAAI,CAAC,KAAK,iBACN,KAAK,iBACL,KAAK,QAAQ,aAAa,GAAG;AAE7B,WAAK,UAAS;AAAA,IAClB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,KAAK+B,KAAI;AACL,QAAI,CAAC,KAAK,YAAY,QAAQ,MAAM;AAChC,aAAO;AACX,SAAK,SAAS,IAAIkB,SAAO,KAAK,KAAK,KAAK,IAAI;AAC5C,UAAM,SAAS,KAAK;AACpB,UAAMlD,QAAO;AACb,SAAK,cAAc;AACnB,SAAK,gBAAgB;AAErB,UAAM,iBAAiBsB,KAAG,QAAQ,QAAQ,WAAY;AAClD,MAAAtB,MAAK,OAAM;AACX,MAAAgC,OAAMA,IAAE;AAAA,IACZ,CAAC;AACD,UAAM,UAAU,CAAC,QAAQ;AACrB,WAAK,QAAO;AACZ,WAAK,cAAc;AACnB,WAAK,aAAa,SAAS,GAAG;AAC9B,UAAIA,KAAI;AACJ,QAAAA,IAAG,GAAG;AAAA,MACV,OACK;AAED,aAAK,qBAAoB;AAAA,MAC7B;AAAA,IACJ;AAEA,UAAM,WAAWV,KAAG,QAAQ,SAAS,OAAO;AAC5C,QAAI,UAAU,KAAK,UAAU;AACzB,YAAM,UAAU,KAAK;AAErB,YAAM,QAAQ,KAAK,aAAa,MAAM;AAClC,uBAAc;AACd,gBAAQ,IAAI,MAAM,SAAS,CAAC;AAC5B,eAAO,MAAK;AAAA,MAChB,GAAG,OAAO;AACV,UAAI,KAAK,KAAK,WAAW;AACrB,cAAM,MAAK;AAAA,MACf;AACA,WAAK,KAAK,KAAK,MAAM;AACjB,aAAK,eAAe,KAAK;AAAA,MAC7B,CAAC;AAAA,IACL;AACA,SAAK,KAAK,KAAK,cAAc;AAC7B,SAAK,KAAK,KAAK,QAAQ;AACvB,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,QAAQU,KAAI;AACR,WAAO,KAAK,KAAKA,GAAE;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS;AAEL,SAAK,QAAO;AAEZ,SAAK,cAAc;AACnB,SAAK,aAAa,MAAM;AAExB,UAAM,SAAS,KAAK;AACpB,SAAK,KAAK;AAAA,MAAKV,KAAG,QAAQ,QAAQ,KAAK,OAAO,KAAK,IAAI,CAAC;AAAA,MAAGA,KAAG,QAAQ,QAAQ,KAAK,OAAO,KAAK,IAAI,CAAC;AAAA,MAAGA,KAAG,QAAQ,SAAS,KAAK,QAAQ,KAAK,IAAI,CAAC;AAAA,MAAGA,KAAG,QAAQ,SAAS,KAAK,QAAQ,KAAK,IAAI,CAAC;AAAA;AAAA,MAEhMA,KAAG,KAAK,SAAS,WAAW,KAAK,UAAU,KAAK,IAAI,CAAC;AAAA,IAAC;AAAA,EAC1D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS;AACL,SAAK,aAAa,MAAM;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO,MAAM;AACT,QAAI;AACA,WAAK,QAAQ,IAAI,IAAI;AAAA,IACzB,SACOxC,IAAG;AACN,WAAK,QAAQ,eAAeA,EAAC;AAAA,IACjC;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAU,QAAQ;AAEd,aAAS,MAAM;AACX,WAAK,aAAa,UAAU,MAAM;AAAA,IACtC,GAAG,KAAK,YAAY;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,QAAQ,KAAK;AACT,SAAK,aAAa,SAAS,GAAG;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,KAAK,MAAM;AACd,QAAI,SAAS,KAAK,KAAK,GAAG;AAC1B,QAAI,CAAC,QAAQ;AACT,eAAS,IAAIiE,QAAO,MAAM,KAAK,IAAI;AACnC,WAAK,KAAK,GAAG,IAAI;AAAA,IACrB,WACS,KAAK,gBAAgB,CAAC,OAAO,QAAQ;AAC1C,aAAO,QAAO;AAAA,IAClB;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAS,QAAQ;AACb,UAAM,OAAO,OAAO,KAAK,KAAK,IAAI;AAClC,eAAW,OAAO,MAAM;AACpB,YAAMI,UAAS,KAAK,KAAK,GAAG;AAC5B,UAAIA,QAAO,QAAQ;AACf;AAAA,MACJ;AAAA,IACJ;AACA,SAAK,OAAM;AAAA,EACf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,QAAQ,QAAQ;AACZ,UAAM,iBAAiB,KAAK,QAAQ,OAAO,MAAM;AACjD,aAAS,IAAI,GAAG,IAAI,eAAe,QAAQ,KAAK;AAC5C,WAAK,OAAO,MAAM,eAAe,CAAC,GAAG,OAAO,OAAO;AAAA,IACvD;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAU;AACN,SAAK,KAAK,QAAQ,CAAC,eAAe,WAAU,CAAE;AAC9C,SAAK,KAAK,SAAS;AACnB,SAAK,QAAQ,QAAO;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS;AACL,SAAK,gBAAgB;AACrB,SAAK,gBAAgB;AACrB,SAAK,QAAQ,cAAc;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAa;AACT,WAAO,KAAK,OAAM;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,QAAQ,QAAQ,aAAa;AACzB,QAAIlC;AACJ,SAAK,QAAO;AACZ,KAACA,MAAK,KAAK,YAAY,QAAQA,QAAO,SAAS,SAASA,IAAG,MAAK;AAChE,SAAK,QAAQ,MAAK;AAClB,SAAK,cAAc;AACnB,SAAK,aAAa,SAAS,QAAQ,WAAW;AAC9C,QAAI,KAAK,iBAAiB,CAAC,KAAK,eAAe;AAC3C,WAAK,UAAS;AAAA,IAClB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAY;AACR,QAAI,KAAK,iBAAiB,KAAK;AAC3B,aAAO;AACX,UAAMjB,QAAO;AACb,QAAI,KAAK,QAAQ,YAAY,KAAK,uBAAuB;AACrD,WAAK,QAAQ,MAAK;AAClB,WAAK,aAAa,kBAAkB;AACpC,WAAK,gBAAgB;AAAA,IACzB,OACK;AACD,YAAM,QAAQ,KAAK,QAAQ,SAAQ;AACnC,WAAK,gBAAgB;AACrB,YAAM,QAAQ,KAAK,aAAa,MAAM;AAClC,YAAIA,MAAK;AACL;AACJ,aAAK,aAAa,qBAAqBA,MAAK,QAAQ,QAAQ;AAE5D,YAAIA,MAAK;AACL;AACJ,QAAAA,MAAK,KAAK,CAAC,QAAQ;AACf,cAAI,KAAK;AACL,YAAAA,MAAK,gBAAgB;AACrB,YAAAA,MAAK,UAAS;AACd,iBAAK,aAAa,mBAAmB,GAAG;AAAA,UAC5C,OACK;AACD,YAAAA,MAAK,YAAW;AAAA,UACpB;AAAA,QACJ,CAAC;AAAA,MACL,GAAG,KAAK;AACR,UAAI,KAAK,KAAK,WAAW;AACrB,cAAM,MAAK;AAAA,MACf;AACA,WAAK,KAAK,KAAK,MAAM;AACjB,aAAK,eAAe,KAAK;AAAA,MAC7B,CAAC;AAAA,IACL;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,cAAc;AACV,UAAM,UAAU,KAAK,QAAQ;AAC7B,SAAK,gBAAgB;AACrB,SAAK,QAAQ,MAAK;AAClB,SAAK,aAAa,aAAa,OAAO;AAAA,EAC1C;AACJ;ACxWA,MAAM,QAAQ,CAAA;AACd,SAAS,OAAO,KAAK,MAAM;AACvB,MAAI,OAAO,QAAQ,UAAU;AACzB,WAAO;AACP,UAAM;AAAA,EACV;AACA,SAAO,QAAQ,CAAA;AACf,QAAM,SAAS,IAAI,KAAK,KAAK,QAAQ,YAAY;AACjD,QAAM,SAAS,OAAO;AACtB,QAAMc,MAAK,OAAO;AAClB,QAAM,OAAO,OAAO;AACpB,QAAM,gBAAgB,MAAMA,GAAE,KAAK,QAAQ,MAAMA,GAAE,EAAE,MAAM;AAC3D,QAAM,gBAAgB,KAAK,YACvB,KAAK,sBAAsB,KAC3B,UAAU,KAAK,aACf;AACJ,MAAIkC;AACJ,MAAI,eAAe;AACf,IAAAA,MAAK,IAAI,QAAQ,QAAQ,IAAI;AAAA,EACjC,OACK;AACD,QAAI,CAAC,MAAMlC,GAAE,GAAG;AACZ,YAAMA,GAAE,IAAI,IAAI,QAAQ,QAAQ,IAAI;AAAA,IACxC;AACA,IAAAkC,MAAK,MAAMlC,GAAE;AAAA,EACjB;AACA,MAAI,OAAO,SAAS,CAAC,KAAK,OAAO;AAC7B,SAAK,QAAQ,OAAO;AAAA,EACxB;AACA,SAAOkC,IAAG,OAAO,OAAO,MAAM,IAAI;AACtC;AAGA,OAAO,OAAO,QAAQ;AAAA,EAClB;AAAA,EACA,QAAAD;AAAA,EACA,IAAI;AAAA,EACJ,SAAS;AACb,CAAC;AC5CkO,SAAS,EAAEjE,IAAE6D,IAAE,GAAExC,IAAE;AAAC,SAAO,KAAI,MAAI,IAAE,WAAW,SAAS,GAAE,GAAE;AAAC,aAAS,EAAErB,IAAE;AAAC,UAAG;AAAC,QAAAoB,GAAEC,GAAE,KAAKrB,EAAC,CAAC;AAAA,MAAC,SAAOA,IAAE;AAAC,UAAEA,EAAC;AAAA,MAAC;AAAA,IAAC;AAAC,aAAS,EAAEA,IAAE;AAAC,UAAG;AAAC,QAAAoB,GAAEC,GAAE,MAAMrB,EAAC,CAAC;AAAA,MAAC,SAAOA,IAAE;AAAC,UAAEA,EAAC;AAAA,MAAC;AAAA,IAAC;AAAC,aAASoB,GAAEpB,IAAE;AAAC,UAAI6D;AAAE,MAAA7D,GAAE,OAAK,EAAEA,GAAE,KAAK,KAAG6D,KAAE7D,GAAE,OAAM6D,cAAa,IAAEA,KAAE,IAAI,GAAG,SAAS7D,IAAE;AAAC,QAAAA,GAAE6D,EAAC;AAAA,MAAC,EAAC,GAAI,KAAK,GAAE,CAAC;AAAA,IAAC;AAAC,IAAAzC,IAAGC,KAAEA,GAAE,MAAMrB,IAAE6D,MAAG,CAAA,CAAE,GAAG,MAAM;AAAA,EAAC,EAAC;AAAE;AAAC,cAAY,OAAO,mBAAiB;AAAgB,IAAI,IAAE,eAAa,OAAO,SAAO,SAAO,eAAa,OAAO,OAAK,OAAK,eAAa,OAAO,SAAO,SAAO,CAAA,GAAG,IAAE,CAAA,GAAG,IAAE,CAAA,GAAG,IAAE,eAAa,OAAO,aAAW,aAAW,OAAM,IAAE;AAAG,SAAS,IAAG;AAAC,MAAE;AAAG,WAAQ7D,KAAE,oEAAmE6D,KAAE,GAAEA,KAAE,IAAG,EAAEA,GAAE,GAAEA,EAAC,IAAE7D,GAAE6D,EAAC,GAAE,EAAE7D,GAAE,WAAW6D,EAAC,CAAC,IAAEA;AAAE,IAAE,IAAI,WAAW,CAAC,CAAC,IAAE,IAAG,EAAE,IAAI,WAAW,CAAC,CAAC,IAAE;AAAE;AAAC,SAAS,EAAE7D,IAAE6D,IAAE,GAAE;AAAC,WAAQxC,IAAE,GAAE,IAAE,CAAA,GAAG,IAAEwC,IAAE,IAAE,GAAE,KAAG,EAAE,CAAAxC,MAAGrB,GAAE,CAAC,KAAG,OAAKA,GAAE,IAAE,CAAC,KAAG,KAAGA,GAAE,IAAE,CAAC,GAAE,EAAE,KAAK,GAAG,IAAEqB,OAAI,KAAG,EAAE,IAAE,EAAE,KAAG,KAAG,EAAE,IAAE,EAAE,KAAG,IAAE,EAAE,IAAE,EAAE,KAAG,CAAC,CAAC;AAAE,SAAO,EAAE,KAAK,EAAE;AAAC;AAAC,SAAS,EAAErB,IAAE;AAAC,MAAI6D;AAAE,OAAG,EAAC;AAAG,WAAQ,IAAE7D,GAAE,QAAOqB,KAAE,IAAE,GAAE,IAAE,IAAG,IAAE,CAAA,GAAG,IAAE,OAAM,IAAE,GAAED,KAAE,IAAEC,IAAE,IAAED,IAAE,KAAG,EAAE,GAAE,KAAK,EAAEpB,IAAE,GAAE,IAAE,IAAEoB,KAAEA,KAAE,IAAE,CAAC,CAAC;AAAE,SAAO,MAAIC,MAAGwC,KAAE7D,GAAE,IAAE,CAAC,GAAE,KAAG,EAAE6D,MAAG,CAAC,GAAE,KAAG,EAAEA,MAAG,IAAE,EAAE,GAAE,KAAG,QAAM,MAAIxC,OAAIwC,MAAG7D,GAAE,IAAE,CAAC,KAAG,KAAGA,GAAE,IAAE,CAAC,GAAE,KAAG,EAAE6D,MAAG,EAAE,GAAE,KAAG,EAAEA,MAAG,IAAE,EAAE,GAAE,KAAG,EAAEA,MAAG,IAAE,EAAE,GAAE,KAAG,MAAK,EAAE,KAAK,CAAC,GAAE,EAAE,KAAK,EAAE;AAAC;AAAC,SAAS,EAAE7D,IAAE6D,IAAE,GAAExC,IAAE,GAAE;AAAC,MAAI,GAAE,GAAE,IAAE,IAAE,IAAEA,KAAE,GAAED,MAAG,KAAG,KAAG,GAAEwB,KAAExB,MAAG,GAAER,KAAE,IAAG0D,KAAE,IAAE,IAAE,IAAE,GAAE3D,KAAE,IAAE,KAAG,GAAE4D,KAAEvE,GAAE6D,KAAES,EAAC;AAAE,OAAIA,MAAG3D,IAAE,IAAE4D,MAAG,KAAG,CAAC3D,MAAG,GAAE2D,OAAI,CAAC3D,IAAEA,MAAG,GAAEA,KAAE,GAAE,IAAE,MAAI,IAAEZ,GAAE6D,KAAES,EAAC,GAAEA,MAAG3D,IAAEC,MAAG,EAAE;AAAC,OAAI,IAAE,KAAG,KAAG,CAACA,MAAG,GAAE,MAAI,CAACA,IAAEA,MAAGS,IAAET,KAAE,GAAE,IAAE,MAAI,IAAEZ,GAAE6D,KAAES,EAAC,GAAEA,MAAG3D,IAAEC,MAAG,EAAE;AAAC,MAAG,MAAI,EAAE,KAAE,IAAEgC;AAAA,OAAM;AAAC,QAAG,MAAIxB,GAAE,QAAO,IAAE,MAAI,IAAE,KAAGmD,KAAE,KAAG;AAAG,SAAG,KAAK,IAAI,GAAElD,EAAC,GAAE,KAAGuB;AAAA,EAAC;AAAC,UAAO2B,KAAE,KAAG,KAAG,IAAE,KAAK,IAAI,GAAE,IAAElD,EAAC;AAAC;AAAC,SAAS,EAAErB,IAAE6D,IAAE,GAAExC,IAAE,GAAE,GAAE;AAAC,MAAI,GAAE,GAAED,IAAEwB,KAAE,IAAE,IAAE,IAAE,GAAEhC,MAAG,KAAGgC,MAAG,GAAE0B,KAAE1D,MAAG,GAAED,KAAE,OAAK,IAAE,KAAK,IAAI,GAAE,GAAG,IAAE,KAAK,IAAI,GAAE,GAAG,IAAE,GAAE4D,KAAElD,KAAE,IAAE,IAAE,GAAEmC,KAAEnC,KAAE,IAAE,IAAGtB,KAAE8D,KAAE,KAAG,MAAIA,MAAG,IAAEA,KAAE,IAAE,IAAE;AAAE,OAAIA,KAAE,KAAK,IAAIA,EAAC,GAAE,MAAMA,EAAC,KAAGA,OAAI,IAAE,KAAG,IAAE,MAAMA,EAAC,IAAE,IAAE,GAAE,IAAEjD,OAAI,IAAE,KAAK,MAAM,KAAK,IAAIiD,EAAC,IAAE,KAAK,GAAG,GAAEA,MAAGzC,KAAE,KAAK,IAAI,GAAE,CAAC,CAAC,KAAG,MAAI,KAAIA,MAAG,KAAIyC,MAAG,IAAES,MAAG,IAAE3D,KAAES,KAAET,KAAE,KAAK,IAAI,GAAE,IAAE2D,EAAC,KAAGlD,MAAG,MAAI,KAAIA,MAAG,IAAG,IAAEkD,MAAG1D,MAAG,IAAE,GAAE,IAAEA,MAAG,IAAE0D,MAAG,KAAG,KAAGT,KAAEzC,KAAE,KAAG,KAAK,IAAI,GAAE,CAAC,GAAE,KAAGkD,OAAI,IAAET,KAAE,KAAK,IAAI,GAAES,KAAE,CAAC,IAAE,KAAK,IAAI,GAAE,CAAC,GAAE,IAAE,KAAI,KAAG,GAAEtE,GAAE,IAAEuE,EAAC,IAAE,MAAI,GAAEA,MAAGf,IAAE,KAAG,KAAI,KAAG,EAAE;AAAC,OAAI,IAAE,KAAG,IAAE,GAAEZ,MAAG,GAAEA,KAAE,GAAE5C,GAAE,IAAEuE,EAAC,IAAE,MAAI,GAAEA,MAAGf,IAAE,KAAG,KAAIZ,MAAG,EAAE;AAAC,EAAA5C,GAAE,IAAEuE,KAAEf,EAAC,KAAG,MAAIzD;AAAC;AAAC,IAAI,IAAE,CAAA,EAAG,UAAS,IAAE,MAAM,WAAS,SAASC,IAAE;AAAC,SAAM,oBAAkB,EAAE,KAAKA,EAAC;AAAC;AAAE,EAAE,sBAAoB,WAAS,EAAE,uBAAqB,EAAE;AAAoB,IAAI,IAAE,EAAC;AAAG,SAAS,IAAG;AAAC,SAAO,EAAE,sBAAoB,aAAW;AAAU;AAAC,SAAS,EAAEA,IAAE6D,IAAE;AAAC,MAAG,EAAC,IAAGA,GAAE,OAAM,IAAI,WAAW,4BAA4B;AAAE,SAAO,EAAE,uBAAqB7D,KAAE,IAAI,WAAW6D,EAAC,GAAG,YAAU,EAAE,aAAW,SAAO7D,OAAIA,KAAE,IAAI,EAAE6D,EAAC,IAAG7D,GAAE,SAAO6D,KAAG7D;AAAC;AAAC,SAAS,EAAEA,IAAE6D,IAAE,GAAE;AAAC,MAAG,EAAE,EAAE,uBAAqB,gBAAgB,GAAG,QAAO,IAAI,EAAE7D,IAAE6D,IAAE,CAAC;AAAE,MAAG,YAAU,OAAO7D,IAAE;AAAC,QAAG,YAAU,OAAO6D,GAAE,OAAM,IAAI,MAAM,mEAAmE;AAAE,WAAO,EAAE,MAAK7D,EAAC;AAAA,EAAC;AAAC,SAAO,EAAE,MAAKA,IAAE6D,IAAE,CAAC;AAAC;AAAC,SAAS,EAAE7D,IAAE6D,IAAE,GAAExC,IAAE;AAAC,MAAG,YAAU,OAAOwC,GAAE,OAAM,IAAI,UAAU,uCAAuC;AAAE,SAAM,eAAa,OAAO,eAAaA,cAAa,eAAY,SAAS7D,IAAE6D,IAAEW,IAAEnD,IAAE;AAAC,QAAGwC,GAAE,YAAWW,KAAE,KAAGX,GAAE,aAAWW,GAAE,OAAM,IAAI,WAAW,2BAA2B;AAAE,QAAGX,GAAE,aAAWW,MAAGnD,MAAG,GAAG,OAAM,IAAI,WAAW,2BAA2B;AAAE,IAAAwC,KAAE,WAASW,MAAG,WAASnD,KAAE,IAAI,WAAWwC,EAAC,IAAE,WAASxC,KAAE,IAAI,WAAWwC,IAAEW,EAAC,IAAE,IAAI,WAAWX,IAAEW,IAAEnD,EAAC;AAAE,MAAE,uBAAqBrB,KAAE6D,IAAG,YAAU,EAAE,YAAU7D,KAAE,EAAEA,IAAE6D,EAAC;AAAE,WAAO7D;AAAA,EAAC,GAAEA,IAAE6D,IAAE,GAAExC,EAAC,IAAE,YAAU,OAAOwC,MAAE,SAAS7D,IAAE6D,IAAEW,IAAE;AAAC,gBAAU,OAAOA,MAAG,OAAKA,OAAIA,KAAE;AAAQ,QAAG,CAAC,EAAE,WAAWA,EAAC,EAAE,OAAM,IAAI,UAAU,4CAA4C;AAAE,QAAInD,KAAE,IAAE,EAAEwC,IAAEW,EAAC;AAAE,IAAAxE,KAAE,EAAEA,IAAEqB,EAAC;AAAE,QAAI,IAAErB,GAAE,MAAM6D,IAAEW,EAAC;AAAE,UAAInD,OAAIrB,KAAEA,GAAE,MAAM,GAAE,CAAC;AAAG,WAAOA;AAAA,EAAC,GAAEA,IAAE6D,IAAE,CAAC,KAAE,SAAS7D,IAAE6D,IAAE;AAAC,QAAG,EAAEA,EAAC,GAAE;AAAC,UAAIW,KAAE,IAAE,EAAEX,GAAE,MAAM;AAAE,aAAO,OAAK7D,KAAE,EAAEA,IAAEwE,EAAC,GAAG,UAAQX,GAAE,KAAK7D,IAAE,GAAE,GAAEwE,EAAC,GAAExE;AAAA,IAAC;AAAC,QAAG6D,IAAE;AAAC,UAAG,eAAa,OAAO,eAAaA,GAAE,kBAAkB,eAAa,YAAWA,GAAE,QAAM,YAAU,OAAOA,GAAE,WAASxC,KAAEwC,GAAE,WAASxC,KAAE,EAAErB,IAAE,CAAC,IAAE,EAAEA,IAAE6D,EAAC;AAAE,UAAG,aAAWA,GAAE,QAAM,EAAEA,GAAE,IAAI,EAAE,QAAO,EAAE7D,IAAE6D,GAAE,IAAI;AAAA,IAAC;AAAC,QAAIxC;AAAE,UAAM,IAAI,UAAU,oFAAoF;AAAA,EAAC,GAAErB,IAAE6D,EAAC;AAAC;AAAC,SAAS,EAAE7D,IAAE;AAAC,MAAG,YAAU,OAAOA,GAAE,OAAM,IAAI,UAAU,kCAAkC;AAAE,MAAGA,KAAE,EAAE,OAAM,IAAI,WAAW,sCAAsC;AAAC;AAAC,SAAS,EAAEA,IAAE6D,IAAE;AAAC,MAAG,EAAEA,EAAC,GAAE7D,KAAE,EAAEA,IAAE6D,KAAE,IAAE,IAAE,IAAE,EAAEA,EAAC,CAAC,GAAE,CAAC,EAAE,oBAAoB,UAAQ,IAAE,GAAE,IAAEA,IAAE,EAAE,EAAE,CAAA7D,GAAE,CAAC,IAAE;AAAE,SAAOA;AAAC;AAAC,SAAS,EAAEA,IAAE6D,IAAE;AAAC,MAAI,IAAEA,GAAE,SAAO,IAAE,IAAE,IAAE,EAAEA,GAAE,MAAM;AAAE,EAAA7D,KAAE,EAAEA,IAAE,CAAC;AAAE,WAAQqB,KAAE,GAAEA,KAAE,GAAEA,MAAG,EAAE,CAAArB,GAAEqB,EAAC,IAAE,MAAIwC,GAAExC,EAAC;AAAE,SAAOrB;AAAC;AAAC,SAAS,EAAEA,IAAE;AAAC,MAAGA,MAAG,EAAC,EAAG,OAAM,IAAI,WAAW,4DAA0D,EAAC,EAAG,SAAS,EAAE,IAAE,QAAQ;AAAE,SAAO,IAAEA;AAAC;AAAC,SAAS,EAAEA,IAAE;AAAC,SAAM,EAAE,QAAMA,MAAG,CAACA,GAAE;AAAU;AAAC,SAAS,EAAEA,IAAE6D,IAAE;AAAC,MAAG,EAAE7D,EAAC,EAAE,QAAOA,GAAE;AAAO,MAAG,eAAa,OAAO,eAAa,cAAY,OAAO,YAAY,WAAS,YAAY,OAAOA,EAAC,KAAGA,cAAa,aAAa,QAAOA,GAAE;AAAW,cAAU,OAAOA,OAAIA,KAAE,KAAGA;AAAG,MAAI,IAAEA,GAAE;AAAO,MAAG,MAAI,EAAE,QAAO;AAAE,WAAQqB,KAAE,UAAK,SAAOwC,IAAC;AAAA,IAAE,KAAI;AAAA,IAAQ,KAAI;AAAA,IAAS,KAAI;AAAS,aAAO;AAAA,IAAE,KAAI;AAAA,IAAO,KAAI;AAAA,IAAQ,KAAK;AAAO,aAAO,GAAG7D,EAAC,EAAE;AAAA,IAAO,KAAI;AAAA,IAAO,KAAI;AAAA,IAAQ,KAAI;AAAA,IAAU,KAAI;AAAW,aAAO,IAAE;AAAA,IAAE,KAAI;AAAM,aAAO,MAAI;AAAA,IAAE,KAAI;AAAS,aAAO,GAAGA,EAAC,EAAE;AAAA,IAAO;AAAQ,UAAGqB,GAAE,QAAO,GAAGrB,EAAC,EAAE;AAAO,MAAA6D,MAAG,KAAGA,IAAG,YAAW,GAAGxC,KAAE;AAAA,EAAE;AAAC;AAAC,SAAS,EAAErB,IAAE6D,IAAE,GAAE;AAAC,MAAIxC,KAAE;AAAG,OAAI,WAASwC,MAAGA,KAAE,OAAKA,KAAE,IAAGA,KAAE,KAAK,OAAO,QAAM;AAAG,OAAI,WAAS,KAAG,IAAE,KAAK,YAAU,IAAE,KAAK,SAAQ,KAAG,EAAE,QAAM;AAAG,OAAI,OAAK,OAAKA,QAAK,GAAG,QAAM;AAAG,OAAI7D,OAAIA,KAAE,YAAU,SAAOA,IAAC;AAAA,IAAE,KAAI;AAAM,aAAO,EAAE,MAAK6D,IAAE,CAAC;AAAA,IAAE,KAAI;AAAA,IAAO,KAAI;AAAQ,aAAO,EAAE,MAAKA,IAAE,CAAC;AAAA,IAAE,KAAI;AAAQ,aAAO,EAAE,MAAKA,IAAE,CAAC;AAAA,IAAE,KAAI;AAAA,IAAS,KAAI;AAAS,aAAO,EAAE,MAAKA,IAAE,CAAC;AAAA,IAAE,KAAI;AAAS,aAAO,EAAE,MAAKA,IAAE,CAAC;AAAA,IAAE,KAAI;AAAA,IAAO,KAAI;AAAA,IAAQ,KAAI;AAAA,IAAU,KAAI;AAAW,aAAO,EAAE,MAAKA,IAAE,CAAC;AAAA,IAAE;AAAQ,UAAGxC,GAAE,OAAM,IAAI,UAAU,uBAAqBrB,EAAC;AAAE,MAAAA,MAAGA,KAAE,IAAI,YAAW,GAAGqB,KAAE;AAAA,EAAE;AAAC;AAAC,SAAS,EAAErB,IAAE6D,IAAE,GAAE;AAAC,MAAIxC,KAAErB,GAAE6D,EAAC;AAAE,EAAA7D,GAAE6D,EAAC,IAAE7D,GAAE,CAAC,GAAEA,GAAE,CAAC,IAAEqB;AAAC;AAAC,SAAS,EAAErB,IAAE6D,IAAE,GAAExC,IAAE,GAAE;AAAC,MAAG,MAAIrB,GAAE,OAAO;AAAS,MAAG,YAAU,OAAO,KAAGqB,KAAE,GAAE,IAAE,KAAG,IAAE,aAAW,IAAE,aAAW,IAAE,gBAAc,IAAE,cAAa,IAAE,CAAC,GAAE,MAAM,CAAC,MAAI,IAAE,IAAE,IAAErB,GAAE,SAAO,IAAG,IAAE,MAAI,IAAEA,GAAE,SAAO,IAAG,KAAGA,GAAE,QAAO;AAAC,QAAG,EAAE,QAAM;AAAG,QAAEA,GAAE,SAAO;AAAA,EAAC,WAAS,IAAE,GAAE;AAAC,QAAG,CAAC,EAAE,QAAM;AAAG,QAAE;AAAA,EAAC;AAAC,MAAG,YAAU,OAAO6D,OAAIA,KAAE,EAAE,KAAKA,IAAExC,EAAC,IAAG,EAAEwC,EAAC,EAAE,QAAO,MAAIA,GAAE,SAAO,KAAG,EAAE7D,IAAE6D,IAAE,GAAExC,IAAE,CAAC;AAAE,MAAG,YAAU,OAAOwC,GAAE,QAAOA,MAAG,KAAI,EAAE,uBAAqB,cAAY,OAAO,WAAW,UAAU,UAAQ,IAAE,WAAW,UAAU,QAAQ,KAAK7D,IAAE6D,IAAE,CAAC,IAAE,WAAW,UAAU,YAAY,KAAK7D,IAAE6D,IAAE,CAAC,IAAE,EAAE7D,IAAE,CAAC6D,EAAC,GAAE,GAAExC,IAAE,CAAC;AAAE,QAAM,IAAI,UAAU,sCAAsC;AAAC;AAAC,SAAS,EAAErB,IAAE6D,IAAE,GAAExC,IAAE,GAAE;AAAC,MAAI,GAAE,IAAE,GAAE,IAAErB,GAAE,QAAOoB,KAAEyC,GAAE;AAAO,MAAG,WAASxC,OAAI,YAAUA,KAAE,OAAOA,EAAC,EAAE,YAAW,MAAK,YAAUA,MAAG,cAAYA,MAAG,eAAaA,KAAG;AAAC,QAAGrB,GAAE,SAAO,KAAG6D,GAAE,SAAO,EAAE,QAAM;AAAG,QAAE,GAAE,KAAG,GAAEzC,MAAG,GAAE,KAAG;AAAA,EAAC;AAAC,WAASwB,GAAE5C,IAAE6D,IAAE;AAAC,WAAO,MAAI,IAAE7D,GAAE6D,EAAC,IAAE7D,GAAE,aAAa6D,KAAE,CAAC;AAAA,EAAC;AAAC,MAAG,GAAE;AAAC,QAAIjD,KAAE;AAAG,SAAI,IAAE,GAAE,IAAE,GAAE,IAAI,KAAGgC,GAAE5C,IAAE,CAAC,MAAI4C,GAAEiB,IAAE,OAAKjD,KAAE,IAAE,IAAEA,EAAC,GAAE;AAAC,UAAG,OAAKA,OAAIA,KAAE,IAAG,IAAEA,KAAE,MAAIQ,GAAE,QAAOR,KAAE;AAAA,IAAC,MAAK,QAAKA,OAAI,KAAG,IAAEA,KAAGA,KAAE;AAAA,EAAE,MAAM,MAAI,IAAEQ,KAAE,MAAI,IAAE,IAAEA,KAAG,IAAE,GAAE,KAAG,GAAE,KAAI;AAAC,aAAQkD,KAAE,MAAG3D,KAAE,GAAEA,KAAES,IAAET,KAAI,KAAGiC,GAAE5C,IAAE,IAAEW,EAAC,MAAIiC,GAAEiB,IAAElD,EAAC,GAAE;AAAC,MAAA2D,KAAE;AAAG;AAAA,IAAK;AAAC,QAAGA,GAAE,QAAO;AAAA,EAAC;AAAC;AAAQ;AAAC,SAAS,EAAEtE,IAAE6D,IAAE,GAAExC,IAAE;AAAC,MAAE,OAAO,CAAC,KAAG;AAAE,MAAI,IAAErB,GAAE,SAAO;AAAE,EAAAqB,MAAGA,KAAE,OAAOA,EAAC,KAAG,MAAIA,KAAE,KAAGA,KAAE;AAAE,MAAI,IAAEwC,GAAE;AAAO,MAAG,IAAE,KAAG,EAAE,OAAM,IAAI,UAAU,oBAAoB;AAAE,EAAAxC,KAAE,IAAE,MAAIA,KAAE,IAAE;AAAG,WAAQ,IAAE,GAAE,IAAEA,IAAE,EAAE,GAAE;AAAC,QAAI,IAAE,SAASwC,GAAE,OAAO,IAAE,GAAE,CAAC,GAAE,EAAE;AAAE,QAAG,MAAM,CAAC,EAAE,QAAO;AAAE,IAAA7D,GAAE,IAAE,CAAC,IAAE;AAAA,EAAC;AAAC,SAAO;AAAC;AAAC,SAAS,EAAEA,IAAE6D,IAAE,GAAExC,IAAE;AAAC,SAAO,GAAG,GAAGwC,IAAE7D,GAAE,SAAO,CAAC,GAAEA,IAAE,GAAEqB,EAAC;AAAC;AAAC,SAAS,EAAErB,IAAE6D,IAAE,GAAExC,IAAE;AAAC,SAAO,IAAG,SAASrB,IAAE;AAAC,aAAQ6D,KAAE,CAAA,GAAGW,KAAE,GAAEA,KAAExE,GAAE,QAAO,EAAEwE,GAAE,CAAAX,GAAE,KAAK,MAAI7D,GAAE,WAAWwE,EAAC,CAAC;AAAE,WAAOX;AAAA,EAAC,GAAEA,EAAC,GAAE7D,IAAE,GAAEqB,EAAC;AAAC;AAAC,SAAS,EAAErB,IAAE6D,IAAE,GAAExC,IAAE;AAAC,SAAO,EAAErB,IAAE6D,IAAE,GAAExC,EAAC;AAAC;AAAC,SAAS,EAAErB,IAAE6D,IAAE,GAAExC,IAAE;AAAC,SAAO,GAAG,GAAGwC,EAAC,GAAE7D,IAAE,GAAEqB,EAAC;AAAC;AAAC,SAAS,EAAErB,IAAE6D,IAAE,GAAExC,IAAE;AAAC,SAAO,IAAG,SAASrB,IAAE6D,IAAE;AAAC,aAAQW,IAAEnD,IAAE,GAAE,IAAE,IAAG,IAAE,GAAE,IAAErB,GAAE,UAAQ,GAAG6D,MAAG,KAAG,IAAG,EAAE,EAAE,CAAAxC,MAAGmD,KAAExE,GAAE,WAAW,CAAC,MAAI,GAAE,IAAEwE,KAAE,KAAI,EAAE,KAAK,CAAC,GAAE,EAAE,KAAKnD,EAAC;AAAE,WAAO;AAAA,EAAC,GAAEwC,IAAE7D,GAAE,SAAO,CAAC,GAAEA,IAAE,GAAEqB,EAAC;AAAC;AAAC,SAAS,EAAErB,IAAE6D,IAAE,GAAE;AAAC,SAAO,MAAIA,MAAG,MAAI7D,GAAE,SAAO,EAAEA,EAAC,IAAE,EAAEA,GAAE,MAAM6D,IAAE,CAAC,CAAC;AAAC;AAAC,SAAS,EAAE7D,IAAE6D,IAAE,GAAE;AAAC,MAAE,KAAK,IAAI7D,GAAE,QAAO,CAAC;AAAE,WAAQqB,KAAE,CAAA,GAAG,IAAEwC,IAAE,IAAE,KAAG;AAAC,QAAI,GAAE,GAAE,GAAEzC,IAAEwB,KAAE5C,GAAE,CAAC,GAAEY,KAAE,MAAK0D,KAAE1B,KAAE,MAAI,IAAEA,KAAE,MAAI,IAAEA,KAAE,MAAI,IAAE;AAAE,QAAG,IAAE0B,MAAG,EAAE,SAAOA,IAAC;AAAA,MAAE,KAAK;AAAE,QAAA1B,KAAE,QAAMhC,KAAEgC;AAAG;AAAA,MAAM,KAAK;AAAE,gBAAM,OAAK,IAAE5C,GAAE,IAAE,CAAC,QAAMoB,MAAG,KAAGwB,OAAI,IAAE,KAAG,KAAG,QAAMhC,KAAEQ;AAAG;AAAA,MAAM,KAAK;AAAE,YAAEpB,GAAE,IAAE,CAAC,GAAE,IAAEA,GAAE,IAAE,CAAC,GAAE,QAAM,MAAI,MAAI,QAAM,MAAI,OAAKoB,MAAG,KAAGwB,OAAI,MAAI,KAAG,MAAI,IAAE,KAAG,KAAG,SAAOxB,KAAE,SAAOA,KAAE,WAASR,KAAEQ;AAAG;AAAA,MAAM,KAAK;AAAE,YAAEpB,GAAE,IAAE,CAAC,GAAE,IAAEA,GAAE,IAAE,CAAC,GAAE,IAAEA,GAAE,IAAE,CAAC,GAAE,QAAM,MAAI,MAAI,QAAM,MAAI,MAAI,QAAM,MAAI,OAAKoB,MAAG,KAAGwB,OAAI,MAAI,KAAG,MAAI,MAAI,KAAG,MAAI,IAAE,KAAG,KAAG,SAAOxB,KAAE,YAAUR,KAAEQ;AAAA,IAAE;AAAC,aAAOR,MAAGA,KAAE,OAAM0D,KAAE,KAAG1D,KAAE,UAAQA,MAAG,OAAMS,GAAE,KAAKT,OAAI,KAAG,OAAK,KAAK,GAAEA,KAAE,QAAM,OAAKA,KAAGS,GAAE,KAAKT,EAAC,GAAE,KAAG0D;AAAA,EAAC;AAAC,UAAO,SAAStE,IAAE;AAAC,QAAI6D,KAAE7D,GAAE;AAAO,QAAG6D,MAAG,EAAE,QAAO,OAAO,aAAa,MAAM,QAAO7D,EAAC;AAAE,QAAIwE,KAAE,IAAGnD,KAAE;AAAE,WAAKA,KAAEwC,KAAG,CAAAW,MAAG,OAAO,aAAa,MAAM,QAAOxE,GAAE,MAAMqB,IAAEA,MAAG,CAAC,CAAC;AAAE,WAAOmD;AAAA,EAAC,GAAEnD,EAAC;AAAC;AAAC,EAAE,WAAS,MAAK,EAAE,WAAS,SAASrB,IAAE;AAAC,SAAOA,GAAE,YAAU,EAAE,WAAUA;AAAC,GAAE,EAAE,OAAK,SAASA,IAAE6D,IAAE,GAAE;AAAC,SAAO,EAAE,MAAK7D,IAAE6D,IAAE,CAAC;AAAC,GAAE,EAAE,wBAAsB,EAAE,UAAU,YAAU,WAAW,WAAU,EAAE,YAAU,YAAW,eAAa,OAAO,UAAQ,OAAO,WAAS,EAAE,OAAO,OAAO,IAAG,EAAE,QAAM,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,UAAO,SAAS7D,IAAE6D,IAAEW,IAAEnD,IAAE;AAAC,WAAO,EAAEwC,EAAC,GAAEA,MAAG,IAAE,EAAE7D,IAAE6D,EAAC,IAAE,WAASW,KAAE,YAAU,OAAOnD,KAAE,EAAErB,IAAE6D,EAAC,EAAE,KAAKW,IAAEnD,EAAC,IAAE,EAAErB,IAAE6D,EAAC,EAAE,KAAKW,EAAC,IAAE,EAAExE,IAAE6D,EAAC;AAAA,EAAC,GAAE,MAAK7D,IAAE6D,IAAE,CAAC;AAAC,GAAE,EAAE,cAAY,SAAS7D,IAAE;AAAC,SAAO,EAAE,MAAKA,EAAC;AAAC,GAAE,EAAE,kBAAgB,SAASA,IAAE;AAAC,SAAO,EAAE,MAAKA,EAAC;AAAC,GAAE,EAAE,WAAS,IAAG,EAAE,UAAQ,SAASA,IAAE6D,IAAE;AAAC,MAAG,CAAC,EAAE7D,EAAC,KAAG,CAAC,EAAE6D,EAAC,EAAE,OAAM,IAAI,UAAU,2BAA2B;AAAE,MAAG7D,OAAI6D,GAAE,QAAO;AAAE,WAAQ,IAAE7D,GAAE,QAAOqB,KAAEwC,GAAE,QAAO,IAAE,GAAE,IAAE,KAAK,IAAI,GAAExC,EAAC,GAAE,IAAE,GAAE,EAAE,EAAE,KAAGrB,GAAE,CAAC,MAAI6D,GAAE,CAAC,GAAE;AAAC,QAAE7D,GAAE,CAAC,GAAEqB,KAAEwC,GAAE,CAAC;AAAE;AAAA,EAAK;AAAC,SAAO,IAAExC,KAAE,KAAGA,KAAE,IAAE,IAAE;AAAC,GAAE,EAAE,aAAW,SAASrB,IAAE;AAAC,UAAO,OAAOA,EAAC,EAAE,eAAa;AAAA,IAAE,KAAI;AAAA,IAAM,KAAI;AAAA,IAAO,KAAI;AAAA,IAAQ,KAAI;AAAA,IAAQ,KAAI;AAAA,IAAS,KAAI;AAAA,IAAS,KAAI;AAAA,IAAS,KAAI;AAAA,IAAO,KAAI;AAAA,IAAQ,KAAI;AAAA,IAAU,KAAI;AAAW,aAAM;AAAA,IAAG;AAAQ,aAAM;AAAA,EAAE;AAAC,GAAE,EAAE,SAAO,SAASA,IAAE6D,IAAE;AAAC,MAAG,CAAC,EAAE7D,EAAC,EAAE,OAAM,IAAI,UAAU,6CAA6C;AAAE,MAAG,MAAIA,GAAE,OAAO,QAAO,EAAE,MAAM,CAAC;AAAE,MAAI;AAAE,MAAG,WAAS6D,GAAE,MAAIA,KAAE,GAAE,IAAE,GAAE,IAAE7D,GAAE,QAAO,EAAE,EAAE,CAAA6D,MAAG7D,GAAE,CAAC,EAAE;AAAO,MAAIqB,KAAE,EAAE,YAAYwC,EAAC,GAAE,IAAE;AAAE,OAAI,IAAE,GAAE,IAAE7D,GAAE,QAAO,EAAE,GAAE;AAAC,QAAI,IAAEA,GAAE,CAAC;AAAE,QAAG,CAAC,EAAE,CAAC,EAAE,OAAM,IAAI,UAAU,6CAA6C;AAAE,MAAE,KAAKqB,IAAE,CAAC,GAAE,KAAG,EAAE;AAAA,EAAM;AAAC,SAAOA;AAAC,GAAE,EAAE,aAAW,GAAE,EAAE,UAAU,YAAU,MAAG,EAAE,UAAU,SAAO,WAAU;AAAC,MAAIrB,KAAE,KAAK;AAAO,MAAGA,KAAE,KAAG,EAAE,OAAM,IAAI,WAAW,2CAA2C;AAAE,WAAQ6D,KAAE,GAAEA,KAAE7D,IAAE6D,MAAG,EAAE,GAAE,MAAKA,IAAEA,KAAE,CAAC;AAAE,SAAO;AAAI,GAAE,EAAE,UAAU,SAAO,WAAU;AAAC,MAAI7D,KAAE,KAAK;AAAO,MAAGA,KAAE,KAAG,EAAE,OAAM,IAAI,WAAW,2CAA2C;AAAE,WAAQ6D,KAAE,GAAEA,KAAE7D,IAAE6D,MAAG,EAAE,GAAE,MAAKA,IAAEA,KAAE,CAAC,GAAE,EAAE,MAAKA,KAAE,GAAEA,KAAE,CAAC;AAAE,SAAO;AAAI,GAAE,EAAE,UAAU,SAAO,WAAU;AAAC,MAAI7D,KAAE,KAAK;AAAO,MAAGA,KAAE,KAAG,EAAE,OAAM,IAAI,WAAW,2CAA2C;AAAE,WAAQ6D,KAAE,GAAEA,KAAE7D,IAAE6D,MAAG,EAAE,GAAE,MAAKA,IAAEA,KAAE,CAAC,GAAE,EAAE,MAAKA,KAAE,GAAEA,KAAE,CAAC,GAAE,EAAE,MAAKA,KAAE,GAAEA,KAAE,CAAC,GAAE,EAAE,MAAKA,KAAE,GAAEA,KAAE,CAAC;AAAE,SAAO;AAAI,GAAE,EAAE,UAAU,WAAS,WAAU;AAAC,MAAI7D,KAAE,IAAE,KAAK;AAAO,SAAO,MAAIA,KAAE,KAAG,MAAI,UAAU,SAAO,EAAE,MAAK,GAAEA,EAAC,IAAE,EAAE,MAAM,MAAK,SAAS;AAAC,GAAE,EAAE,UAAU,SAAO,SAASA,IAAE;AAAC,MAAG,CAAC,EAAEA,EAAC,EAAE,OAAM,IAAI,UAAU,2BAA2B;AAAE,SAAO,SAAOA,MAAG,MAAI,EAAE,QAAQ,MAAKA,EAAC;AAAC,GAAE,EAAE,UAAU,UAAQ,WAAU;AAAC,MAAIA,KAAE;AAAG,SAAO,KAAK,SAAO,MAAIA,KAAE,KAAK,SAAS,OAAM,GAAE,EAAE,EAAE,MAAM,OAAO,EAAE,KAAK,GAAG,GAAE,KAAK,SAAO,OAAKA,MAAG,WAAU,aAAWA,KAAE;AAAG,GAAE,EAAE,UAAU,UAAQ,SAASA,IAAE6D,IAAE,GAAExC,IAAE,GAAE;AAAC,MAAG,CAAC,EAAErB,EAAC,EAAE,OAAM,IAAI,UAAU,2BAA2B;AAAE,MAAG,WAAS6D,OAAIA,KAAE,IAAG,WAAS,MAAI,IAAE7D,KAAEA,GAAE,SAAO,IAAG,WAASqB,OAAIA,KAAE,IAAG,WAAS,MAAI,IAAE,KAAK,SAAQwC,KAAE,KAAG,IAAE7D,GAAE,UAAQqB,KAAE,KAAG,IAAE,KAAK,OAAO,OAAM,IAAI,WAAW,oBAAoB;AAAE,MAAGA,MAAG,KAAGwC,MAAG,EAAE,QAAO;AAAE,MAAGxC,MAAG,EAAE,QAAM;AAAG,MAAGwC,MAAG,EAAE,QAAO;AAAE,MAAG,SAAO7D,GAAE,QAAO;AAAE,WAAQ,KAAG,OAAK,MAAIqB,QAAK,IAAG,KAAG,OAAK,MAAIwC,QAAK,IAAG,IAAE,KAAK,IAAI,GAAE,CAAC,GAAEzC,KAAE,KAAK,MAAMC,IAAE,CAAC,GAAEuB,KAAE5C,GAAE,MAAM6D,IAAE,CAAC,GAAEjD,KAAE,GAAEA,KAAE,GAAE,EAAEA,GAAE,KAAGQ,GAAER,EAAC,MAAIgC,GAAEhC,EAAC,GAAE;AAAC,QAAEQ,GAAER,EAAC,GAAE,IAAEgC,GAAEhC,EAAC;AAAE;AAAA,EAAK;AAAC,SAAO,IAAE,IAAE,KAAG,IAAE,IAAE,IAAE;AAAC,GAAE,EAAE,UAAU,WAAS,SAASZ,IAAE6D,IAAE,GAAE;AAAC,gBAAW,KAAK,QAAQ7D,IAAE6D,IAAE,CAAC;AAAC,GAAE,EAAE,UAAU,UAAQ,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,SAAO,EAAE,MAAK7D,IAAE6D,IAAE,GAAE,IAAE;AAAC,GAAE,EAAE,UAAU,cAAY,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,SAAO,EAAE,MAAK7D,IAAE6D,IAAE,GAAE,KAAE;AAAC,GAAE,EAAE,UAAU,QAAM,SAAS7D,IAAE6D,IAAE,GAAExC,IAAE;AAAC,MAAG,WAASwC,GAAE,CAAAxC,KAAE,QAAO,IAAE,KAAK,QAAOwC,KAAE;AAAA,WAAU,WAAS,KAAG,YAAU,OAAOA,GAAE,CAAAxC,KAAEwC,IAAE,IAAE,KAAK,QAAOA,KAAE;AAAA,OAAM;AAAC,QAAG,CAAC,SAASA,EAAC,EAAE,OAAM,IAAI,MAAM,yEAAyE;AAAE,IAAAA,MAAG,GAAE,SAAS,CAAC,KAAG,KAAG,GAAE,WAASxC,OAAIA,KAAE,YAAUA,KAAE,GAAE,IAAE;AAAA,EAAO;AAAC,MAAI,IAAE,KAAK,SAAOwC;AAAE,OAAI,WAAS,KAAG,IAAE,OAAK,IAAE,IAAG7D,GAAE,SAAO,MAAI,IAAE,KAAG6D,KAAE,MAAIA,KAAE,KAAK,OAAO,OAAM,IAAI,WAAW,wCAAwC;AAAE,EAAAxC,OAAIA,KAAE;AAAQ,WAAQ,IAAE,UAAK,SAAOA,IAAC;AAAA,IAAE,KAAI;AAAM,aAAO,EAAE,MAAKrB,IAAE6D,IAAE,CAAC;AAAA,IAAE,KAAI;AAAA,IAAO,KAAI;AAAQ,aAAO,EAAE,MAAK7D,IAAE6D,IAAE,CAAC;AAAA,IAAE,KAAI;AAAQ,aAAO,EAAE,MAAK7D,IAAE6D,IAAE,CAAC;AAAA,IAAE,KAAI;AAAA,IAAS,KAAI;AAAS,aAAO,EAAE,MAAK7D,IAAE6D,IAAE,CAAC;AAAA,IAAE,KAAI;AAAS,aAAO,EAAE,MAAK7D,IAAE6D,IAAE,CAAC;AAAA,IAAE,KAAI;AAAA,IAAO,KAAI;AAAA,IAAQ,KAAI;AAAA,IAAU,KAAI;AAAW,aAAO,EAAE,MAAK7D,IAAE6D,IAAE,CAAC;AAAA,IAAE;AAAQ,UAAG,EAAE,OAAM,IAAI,UAAU,uBAAqBxC,EAAC;AAAE,MAAAA,MAAG,KAAGA,IAAG,eAAc,IAAE;AAAA,EAAE;AAAC,GAAE,EAAE,UAAU,SAAO,WAAU;AAAC,SAAM,EAAC,MAAK,UAAS,MAAK,MAAM,UAAU,MAAM,KAAK,KAAK,QAAM,MAAK,CAAC,EAAC;AAAC;AAAE,IAAI,IAAE;AAAK,SAAS,EAAErB,IAAE6D,IAAE,GAAE;AAAC,MAAIxC,KAAE;AAAG,MAAE,KAAK,IAAIrB,GAAE,QAAO,CAAC;AAAE,WAAQ,IAAE6D,IAAE,IAAE,GAAE,EAAE,EAAE,CAAAxC,MAAG,OAAO,aAAa,MAAIrB,GAAE,CAAC,CAAC;AAAE,SAAOqB;AAAC;AAAC,SAAS,EAAErB,IAAE6D,IAAE,GAAE;AAAC,MAAIxC,KAAE;AAAG,MAAE,KAAK,IAAIrB,GAAE,QAAO,CAAC;AAAE,WAAQ,IAAE6D,IAAE,IAAE,GAAE,EAAE,EAAE,CAAAxC,MAAG,OAAO,aAAarB,GAAE,CAAC,CAAC;AAAE,SAAOqB;AAAC;AAAC,SAAS,EAAErB,IAAE6D,IAAE,GAAE;AAAC,MAAIxC,KAAErB,GAAE;AAAO,GAAC,CAAC6D,MAAGA,KAAE,OAAKA,KAAE,KAAI,CAAC,KAAG,IAAE,KAAG,IAAExC,QAAK,IAAEA;AAAG,WAAQ,IAAE,IAAG,IAAEwC,IAAE,IAAE,GAAE,EAAE,EAAE,MAAG,GAAG7D,GAAE,CAAC,CAAC;AAAE,SAAO;AAAC;AAAC,SAAS,EAAEA,IAAE6D,IAAE,GAAE;AAAC,WAAQxC,KAAErB,GAAE,MAAM6D,IAAE,CAAC,GAAE,IAAE,IAAG,IAAE,GAAE,IAAExC,GAAE,QAAO,KAAG,EAAE,MAAG,OAAO,aAAaA,GAAE,CAAC,IAAE,MAAIA,GAAE,IAAE,CAAC,CAAC;AAAE,SAAO;AAAC;AAAC,SAAS,EAAErB,IAAE6D,IAAE,GAAE;AAAC,MAAG7D,KAAE,KAAG,KAAGA,KAAE,EAAE,OAAM,IAAI,WAAW,oBAAoB;AAAE,MAAGA,KAAE6D,KAAE,EAAE,OAAM,IAAI,WAAW,uCAAuC;AAAC;AAAC,SAAS,EAAE7D,IAAE6D,IAAE,GAAExC,IAAE,GAAE,GAAE;AAAC,MAAG,CAAC,EAAErB,EAAC,EAAE,OAAM,IAAI,UAAU,6CAA6C;AAAE,MAAG6D,KAAE,KAAGA,KAAE,EAAE,OAAM,IAAI,WAAW,mCAAmC;AAAE,MAAG,IAAExC,KAAErB,GAAE,OAAO,OAAM,IAAI,WAAW,oBAAoB;AAAC;AAAC,SAAS,EAAEA,IAAE6D,IAAE,GAAExC,IAAE;AAAC,EAAAwC,KAAE,MAAIA,KAAE,QAAMA,KAAE;AAAG,WAAQ,IAAE,GAAE,IAAE,KAAK,IAAI7D,GAAE,SAAO,GAAE,CAAC,GAAE,IAAE,GAAE,EAAE,EAAE,CAAAA,GAAE,IAAE,CAAC,KAAG6D,KAAE,OAAK,KAAGxC,KAAE,IAAE,IAAE,QAAM,KAAGA,KAAE,IAAE,IAAE;AAAE;AAAC,SAAS,EAAErB,IAAE6D,IAAE,GAAExC,IAAE;AAAC,EAAAwC,KAAE,MAAIA,KAAE,aAAWA,KAAE;AAAG,WAAQ,IAAE,GAAE,IAAE,KAAK,IAAI7D,GAAE,SAAO,GAAE,CAAC,GAAE,IAAE,GAAE,EAAE,EAAE,CAAAA,GAAE,IAAE,CAAC,IAAE6D,OAAI,KAAGxC,KAAE,IAAE,IAAE,KAAG;AAAG;AAAC,SAAS,EAAErB,IAAE6D,IAAE,GAAExC,IAAE,GAAE,GAAE;AAAC,MAAG,IAAEA,KAAErB,GAAE,OAAO,OAAM,IAAI,WAAW,oBAAoB;AAAE,MAAG,IAAE,EAAE,OAAM,IAAI,WAAW,oBAAoB;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE,GAAExC,IAAE,GAAE;AAAC,SAAO,KAAG,EAAErB,IAAE,GAAE,GAAE,CAAC,GAAE,EAAEA,IAAE6D,IAAE,GAAExC,IAAE,IAAG,CAAC,GAAE,IAAE;AAAC;AAAC,SAAS,GAAGrB,IAAE6D,IAAE,GAAExC,IAAE,GAAE;AAAC,SAAO,KAAG,EAAErB,IAAE,GAAE,GAAE,CAAC,GAAE,EAAEA,IAAE6D,IAAE,GAAExC,IAAE,IAAG,CAAC,GAAE,IAAE;AAAC;AAAC,EAAE,UAAU,QAAM,SAASrB,IAAE6D,IAAE;AAAC,MAAI,GAAExC,KAAE,KAAK;AAAO,OAAIrB,KAAE,CAAC,CAACA,MAAG,KAAGA,MAAGqB,MAAG,MAAIrB,KAAE,KAAGA,KAAEqB,OAAIrB,KAAEqB,MAAIwC,KAAE,WAASA,KAAExC,KAAE,CAAC,CAACwC,MAAG,KAAGA,MAAGxC,MAAG,MAAIwC,KAAE,KAAGA,KAAExC,OAAIwC,KAAExC,KAAGwC,KAAE7D,OAAI6D,KAAE7D,KAAG,EAAE,oBAAoB,EAAC,IAAE,KAAK,SAASA,IAAE6D,EAAC,GAAG,YAAU,EAAE;AAAA,OAAc;AAAC,QAAI,IAAEA,KAAE7D;AAAE,QAAE,IAAI,EAAE,GAAE,MAAM;AAAE,aAAQ,IAAE,GAAE,IAAE,GAAE,EAAE,EAAE,GAAE,CAAC,IAAE,KAAK,IAAEA,EAAC;AAAA,EAAC;AAAC,SAAO;AAAC,GAAE,EAAE,UAAU,aAAW,SAASA,IAAE6D,IAAE,GAAE;AAAC,EAAA7D,MAAG,GAAE6D,MAAG,GAAE,KAAG,EAAE7D,IAAE6D,IAAE,KAAK,MAAM;AAAE,WAAQxC,KAAE,KAAKrB,EAAC,GAAE,IAAE,GAAE,IAAE,GAAE,EAAE,IAAE6D,OAAI,KAAG,OAAM,CAAAxC,MAAG,KAAKrB,KAAE,CAAC,IAAE;AAAE,SAAOqB;AAAC,GAAE,EAAE,UAAU,aAAW,SAASrB,IAAE6D,IAAE,GAAE;AAAC,EAAA7D,MAAG,GAAE6D,MAAG,GAAE,KAAG,EAAE7D,IAAE6D,IAAE,KAAK,MAAM;AAAE,WAAQxC,KAAE,KAAKrB,KAAE,EAAE6D,EAAC,GAAE,IAAE,GAAEA,KAAE,MAAI,KAAG,OAAM,CAAAxC,MAAG,KAAKrB,KAAE,EAAE6D,EAAC,IAAE;AAAE,SAAOxC;AAAC,GAAE,EAAE,UAAU,YAAU,SAASrB,IAAE6D,IAAE;AAAC,SAAOA,MAAG,EAAE7D,IAAE,GAAE,KAAK,MAAM,GAAE,KAAKA,EAAC;AAAC,GAAE,EAAE,UAAU,eAAa,SAASA,IAAE6D,IAAE;AAAC,SAAOA,MAAG,EAAE7D,IAAE,GAAE,KAAK,MAAM,GAAE,KAAKA,EAAC,IAAE,KAAKA,KAAE,CAAC,KAAG;AAAC,GAAE,EAAE,UAAU,eAAa,SAASA,IAAE6D,IAAE;AAAC,SAAOA,MAAG,EAAE7D,IAAE,GAAE,KAAK,MAAM,GAAE,KAAKA,EAAC,KAAG,IAAE,KAAKA,KAAE,CAAC;AAAC,GAAE,EAAE,UAAU,eAAa,SAASA,IAAE6D,IAAE;AAAC,SAAOA,MAAG,EAAE7D,IAAE,GAAE,KAAK,MAAM,IAAG,KAAKA,EAAC,IAAE,KAAKA,KAAE,CAAC,KAAG,IAAE,KAAKA,KAAE,CAAC,KAAG,MAAI,WAAS,KAAKA,KAAE,CAAC;AAAC,GAAE,EAAE,UAAU,eAAa,SAASA,IAAE6D,IAAE;AAAC,SAAOA,MAAG,EAAE7D,IAAE,GAAE,KAAK,MAAM,GAAE,WAAS,KAAKA,EAAC,KAAG,KAAKA,KAAE,CAAC,KAAG,KAAG,KAAKA,KAAE,CAAC,KAAG,IAAE,KAAKA,KAAE,CAAC;AAAE,GAAE,EAAE,UAAU,YAAU,SAASA,IAAE6D,IAAE,GAAE;AAAC,EAAA7D,MAAG,GAAE6D,MAAG,GAAE,KAAG,EAAE7D,IAAE6D,IAAE,KAAK,MAAM;AAAE,WAAQxC,KAAE,KAAKrB,EAAC,GAAE,IAAE,GAAE,IAAE,GAAE,EAAE,IAAE6D,OAAI,KAAG,OAAM,CAAAxC,MAAG,KAAKrB,KAAE,CAAC,IAAE;AAAE,SAAOqB,OAAI,KAAG,SAAOA,MAAG,KAAK,IAAI,GAAE,IAAEwC,EAAC,IAAGxC;AAAC,GAAE,EAAE,UAAU,YAAU,SAASrB,IAAE6D,IAAE,GAAE;AAAC,EAAA7D,MAAG,GAAE6D,MAAG,GAAE,KAAG,EAAE7D,IAAE6D,IAAE,KAAK,MAAM;AAAE,WAAQxC,KAAEwC,IAAE,IAAE,GAAE,IAAE,KAAK7D,KAAE,EAAEqB,EAAC,GAAEA,KAAE,MAAI,KAAG,OAAM,MAAG,KAAKrB,KAAE,EAAEqB,EAAC,IAAE;AAAE,SAAO,MAAI,KAAG,SAAO,KAAG,KAAK,IAAI,GAAE,IAAEwC,EAAC,IAAG;AAAC,GAAE,EAAE,UAAU,WAAS,SAAS7D,IAAE6D,IAAE;AAAC,SAAOA,MAAG,EAAE7D,IAAE,GAAE,KAAK,MAAM,GAAE,MAAI,KAAKA,EAAC,IAAE,MAAI,MAAI,KAAKA,EAAC,IAAE,KAAG,KAAKA,EAAC;AAAC,GAAE,EAAE,UAAU,cAAY,SAASA,IAAE6D,IAAE;AAAC,EAAAA,MAAG,EAAE7D,IAAE,GAAE,KAAK,MAAM;AAAE,MAAI,IAAE,KAAKA,EAAC,IAAE,KAAKA,KAAE,CAAC,KAAG;AAAE,SAAO,QAAM,IAAE,aAAW,IAAE;AAAC,GAAE,EAAE,UAAU,cAAY,SAASA,IAAE6D,IAAE;AAAC,EAAAA,MAAG,EAAE7D,IAAE,GAAE,KAAK,MAAM;AAAE,MAAI,IAAE,KAAKA,KAAE,CAAC,IAAE,KAAKA,EAAC,KAAG;AAAE,SAAO,QAAM,IAAE,aAAW,IAAE;AAAC,GAAE,EAAE,UAAU,cAAY,SAASA,IAAE6D,IAAE;AAAC,SAAOA,MAAG,EAAE7D,IAAE,GAAE,KAAK,MAAM,GAAE,KAAKA,EAAC,IAAE,KAAKA,KAAE,CAAC,KAAG,IAAE,KAAKA,KAAE,CAAC,KAAG,KAAG,KAAKA,KAAE,CAAC,KAAG;AAAE,GAAE,EAAE,UAAU,cAAY,SAASA,IAAE6D,IAAE;AAAC,SAAOA,MAAG,EAAE7D,IAAE,GAAE,KAAK,MAAM,GAAE,KAAKA,EAAC,KAAG,KAAG,KAAKA,KAAE,CAAC,KAAG,KAAG,KAAKA,KAAE,CAAC,KAAG,IAAE,KAAKA,KAAE,CAAC;AAAC,GAAE,EAAE,UAAU,cAAY,SAASA,IAAE6D,IAAE;AAAC,SAAOA,MAAG,EAAE7D,IAAE,GAAE,KAAK,MAAM,GAAE,EAAE,MAAKA,IAAE,MAAG,IAAG,CAAC;AAAC,GAAE,EAAE,UAAU,cAAY,SAASA,IAAE6D,IAAE;AAAC,SAAOA,MAAG,EAAE7D,IAAE,GAAE,KAAK,MAAM,GAAE,EAAE,MAAKA,IAAE,OAAG,IAAG,CAAC;AAAC,GAAE,EAAE,UAAU,eAAa,SAASA,IAAE6D,IAAE;AAAC,SAAOA,MAAG,EAAE7D,IAAE,GAAE,KAAK,MAAM,GAAE,EAAE,MAAKA,IAAE,MAAG,IAAG,CAAC;AAAC,GAAE,EAAE,UAAU,eAAa,SAASA,IAAE6D,IAAE;AAAC,SAAOA,MAAG,EAAE7D,IAAE,GAAE,KAAK,MAAM,GAAE,EAAE,MAAKA,IAAE,OAAG,IAAG,CAAC;AAAC,GAAE,EAAE,UAAU,cAAY,SAASA,IAAE6D,IAAE,GAAExC,IAAE;AAAC,GAACrB,KAAE,CAACA,IAAE6D,MAAG,GAAE,KAAG,GAAExC,OAAI,EAAE,MAAKrB,IAAE6D,IAAE,GAAE,KAAK,IAAI,GAAE,IAAE,CAAC,IAAE,GAAE,CAAC;AAAE,MAAI,IAAE,GAAE,IAAE;AAAE,OAAI,KAAKA,EAAC,IAAE,MAAI7D,IAAE,EAAE,IAAE,MAAI,KAAG,OAAM,MAAK6D,KAAE,CAAC,IAAE7D,KAAE,IAAE;AAAI,SAAO6D,KAAE;AAAC,GAAE,EAAE,UAAU,cAAY,SAAS7D,IAAE6D,IAAE,GAAExC,IAAE;AAAC,GAACrB,KAAE,CAACA,IAAE6D,MAAG,GAAE,KAAG,GAAExC,OAAI,EAAE,MAAKrB,IAAE6D,IAAE,GAAE,KAAK,IAAI,GAAE,IAAE,CAAC,IAAE,GAAE,CAAC;AAAE,MAAI,IAAE,IAAE,GAAE,IAAE;AAAE,OAAI,KAAKA,KAAE,CAAC,IAAE,MAAI7D,IAAE,EAAE,KAAG,MAAI,KAAG,OAAM,MAAK6D,KAAE,CAAC,IAAE7D,KAAE,IAAE;AAAI,SAAO6D,KAAE;AAAC,GAAE,EAAE,UAAU,aAAW,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,SAAO7D,KAAE,CAACA,IAAE6D,MAAG,GAAE,KAAG,EAAE,MAAK7D,IAAE6D,IAAE,GAAE,KAAI,CAAC,GAAE,EAAE,wBAAsB7D,KAAE,KAAK,MAAMA,EAAC,IAAG,KAAK6D,EAAC,IAAE,MAAI7D,IAAE6D,KAAE;AAAC,GAAE,EAAE,UAAU,gBAAc,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,SAAO7D,KAAE,CAACA,IAAE6D,MAAG,GAAE,KAAG,EAAE,MAAK7D,IAAE6D,IAAE,GAAE,OAAM,CAAC,GAAE,EAAE,uBAAqB,KAAKA,EAAC,IAAE,MAAI7D,IAAE,KAAK6D,KAAE,CAAC,IAAE7D,OAAI,KAAG,EAAE,MAAKA,IAAE6D,IAAE,IAAE,GAAEA,KAAE;AAAC,GAAE,EAAE,UAAU,gBAAc,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,SAAO7D,KAAE,CAACA,IAAE6D,MAAG,GAAE,KAAG,EAAE,MAAK7D,IAAE6D,IAAE,GAAE,OAAM,CAAC,GAAE,EAAE,uBAAqB,KAAKA,EAAC,IAAE7D,OAAI,GAAE,KAAK6D,KAAE,CAAC,IAAE,MAAI7D,MAAG,EAAE,MAAKA,IAAE6D,IAAE,KAAE,GAAEA,KAAE;AAAC,GAAE,EAAE,UAAU,gBAAc,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,SAAO7D,KAAE,CAACA,IAAE6D,MAAG,GAAE,KAAG,EAAE,MAAK7D,IAAE6D,IAAE,GAAE,YAAW,CAAC,GAAE,EAAE,uBAAqB,KAAKA,KAAE,CAAC,IAAE7D,OAAI,IAAG,KAAK6D,KAAE,CAAC,IAAE7D,OAAI,IAAG,KAAK6D,KAAE,CAAC,IAAE7D,OAAI,GAAE,KAAK6D,EAAC,IAAE,MAAI7D,MAAG,EAAE,MAAKA,IAAE6D,IAAE,IAAE,GAAEA,KAAE;AAAC,GAAE,EAAE,UAAU,gBAAc,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,SAAO7D,KAAE,CAACA,IAAE6D,MAAG,GAAE,KAAG,EAAE,MAAK7D,IAAE6D,IAAE,GAAE,YAAW,CAAC,GAAE,EAAE,uBAAqB,KAAKA,EAAC,IAAE7D,OAAI,IAAG,KAAK6D,KAAE,CAAC,IAAE7D,OAAI,IAAG,KAAK6D,KAAE,CAAC,IAAE7D,OAAI,GAAE,KAAK6D,KAAE,CAAC,IAAE,MAAI7D,MAAG,EAAE,MAAKA,IAAE6D,IAAE,KAAE,GAAEA,KAAE;AAAC,GAAE,EAAE,UAAU,aAAW,SAAS7D,IAAE6D,IAAE,GAAExC,IAAE;AAAC,MAAGrB,KAAE,CAACA,IAAE6D,MAAG,GAAE,CAACxC,IAAE;AAAC,QAAI,IAAE,KAAK,IAAI,GAAE,IAAE,IAAE,CAAC;AAAE,MAAE,MAAKrB,IAAE6D,IAAE,GAAE,IAAE,GAAE,CAAC,CAAC;AAAA,EAAC;AAAC,MAAI,IAAE,GAAE,IAAE,GAAE,IAAE;AAAE,OAAI,KAAKA,EAAC,IAAE,MAAI7D,IAAE,EAAE,IAAE,MAAI,KAAG,OAAM,CAAAA,KAAE,KAAG,MAAI,KAAG,MAAI,KAAK6D,KAAE,IAAE,CAAC,MAAI,IAAE,IAAG,KAAKA,KAAE,CAAC,KAAG7D,KAAE,KAAG,KAAG,IAAE;AAAI,SAAO6D,KAAE;AAAC,GAAE,EAAE,UAAU,aAAW,SAAS7D,IAAE6D,IAAE,GAAExC,IAAE;AAAC,MAAGrB,KAAE,CAACA,IAAE6D,MAAG,GAAE,CAACxC,IAAE;AAAC,QAAI,IAAE,KAAK,IAAI,GAAE,IAAE,IAAE,CAAC;AAAE,MAAE,MAAKrB,IAAE6D,IAAE,GAAE,IAAE,GAAE,CAAC,CAAC;AAAA,EAAC;AAAC,MAAI,IAAE,IAAE,GAAE,IAAE,GAAE,IAAE;AAAE,OAAI,KAAKA,KAAE,CAAC,IAAE,MAAI7D,IAAE,EAAE,KAAG,MAAI,KAAG,OAAM,CAAAA,KAAE,KAAG,MAAI,KAAG,MAAI,KAAK6D,KAAE,IAAE,CAAC,MAAI,IAAE,IAAG,KAAKA,KAAE,CAAC,KAAG7D,KAAE,KAAG,KAAG,IAAE;AAAI,SAAO6D,KAAE;AAAC,GAAE,EAAE,UAAU,YAAU,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,SAAO7D,KAAE,CAACA,IAAE6D,MAAG,GAAE,KAAG,EAAE,MAAK7D,IAAE6D,IAAE,GAAE,KAAI,IAAI,GAAE,EAAE,wBAAsB7D,KAAE,KAAK,MAAMA,EAAC,IAAGA,KAAE,MAAIA,KAAE,MAAIA,KAAE,IAAG,KAAK6D,EAAC,IAAE,MAAI7D,IAAE6D,KAAE;AAAC,GAAE,EAAE,UAAU,eAAa,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,SAAO7D,KAAE,CAACA,IAAE6D,MAAG,GAAE,KAAG,EAAE,MAAK7D,IAAE6D,IAAE,GAAE,OAAM,MAAM,GAAE,EAAE,uBAAqB,KAAKA,EAAC,IAAE,MAAI7D,IAAE,KAAK6D,KAAE,CAAC,IAAE7D,OAAI,KAAG,EAAE,MAAKA,IAAE6D,IAAE,IAAE,GAAEA,KAAE;AAAC,GAAE,EAAE,UAAU,eAAa,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,SAAO7D,KAAE,CAACA,IAAE6D,MAAG,GAAE,KAAG,EAAE,MAAK7D,IAAE6D,IAAE,GAAE,OAAM,MAAM,GAAE,EAAE,uBAAqB,KAAKA,EAAC,IAAE7D,OAAI,GAAE,KAAK6D,KAAE,CAAC,IAAE,MAAI7D,MAAG,EAAE,MAAKA,IAAE6D,IAAE,KAAE,GAAEA,KAAE;AAAC,GAAE,EAAE,UAAU,eAAa,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,SAAO7D,KAAE,CAACA,IAAE6D,MAAG,GAAE,KAAG,EAAE,MAAK7D,IAAE6D,IAAE,GAAE,YAAW,WAAW,GAAE,EAAE,uBAAqB,KAAKA,EAAC,IAAE,MAAI7D,IAAE,KAAK6D,KAAE,CAAC,IAAE7D,OAAI,GAAE,KAAK6D,KAAE,CAAC,IAAE7D,OAAI,IAAG,KAAK6D,KAAE,CAAC,IAAE7D,OAAI,MAAI,EAAE,MAAKA,IAAE6D,IAAE,IAAE,GAAEA,KAAE;AAAC,GAAE,EAAE,UAAU,eAAa,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,SAAO7D,KAAE,CAACA,IAAE6D,MAAG,GAAE,KAAG,EAAE,MAAK7D,IAAE6D,IAAE,GAAE,YAAW,WAAW,GAAE7D,KAAE,MAAIA,KAAE,aAAWA,KAAE,IAAG,EAAE,uBAAqB,KAAK6D,EAAC,IAAE7D,OAAI,IAAG,KAAK6D,KAAE,CAAC,IAAE7D,OAAI,IAAG,KAAK6D,KAAE,CAAC,IAAE7D,OAAI,GAAE,KAAK6D,KAAE,CAAC,IAAE,MAAI7D,MAAG,EAAE,MAAKA,IAAE6D,IAAE,KAAE,GAAEA,KAAE;AAAC,GAAE,EAAE,UAAU,eAAa,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,SAAO,GAAG,MAAK7D,IAAE6D,IAAE,MAAG,CAAC;AAAC,GAAE,EAAE,UAAU,eAAa,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,SAAO,GAAG,MAAK7D,IAAE6D,IAAE,OAAG,CAAC;AAAC,GAAE,EAAE,UAAU,gBAAc,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,SAAO,GAAG,MAAK7D,IAAE6D,IAAE,MAAG,CAAC;AAAC,GAAE,EAAE,UAAU,gBAAc,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,SAAO,GAAG,MAAK7D,IAAE6D,IAAE,OAAG,CAAC;AAAC,GAAE,EAAE,UAAU,OAAK,SAAS7D,IAAE6D,IAAE,GAAExC,IAAE;AAAC,MAAG,MAAI,IAAE,IAAGA,MAAG,MAAIA,OAAIA,KAAE,KAAK,SAAQwC,MAAG7D,GAAE,WAAS6D,KAAE7D,GAAE,SAAQ6D,OAAIA,KAAE,IAAGxC,KAAE,KAAGA,KAAE,MAAIA,KAAE,IAAGA,OAAI,EAAE,QAAO;AAAE,MAAG,MAAIrB,GAAE,UAAQ,MAAI,KAAK,OAAO,QAAO;AAAE,MAAG6D,KAAE,EAAE,OAAM,IAAI,WAAW,2BAA2B;AAAE,MAAG,IAAE,KAAG,KAAG,KAAK,OAAO,OAAM,IAAI,WAAW,2BAA2B;AAAE,MAAGxC,KAAE,EAAE,OAAM,IAAI,WAAW,yBAAyB;AAAE,EAAAA,KAAE,KAAK,WAASA,KAAE,KAAK,SAAQrB,GAAE,SAAO6D,KAAExC,KAAE,MAAIA,KAAErB,GAAE,SAAO6D,KAAE;AAAG,MAAI,GAAE,IAAExC,KAAE;AAAE,MAAG,SAAOrB,MAAG,IAAE6D,MAAGA,KAAExC,GAAE,MAAI,IAAE,IAAE,GAAE,KAAG,GAAE,EAAE,EAAE,CAAArB,GAAE,IAAE6D,EAAC,IAAE,KAAK,IAAE,CAAC;AAAA,WAAU,IAAE,OAAK,CAAC,EAAE,oBAAoB,MAAI,IAAE,GAAE,IAAE,GAAE,EAAE,EAAE,CAAA7D,GAAE,IAAE6D,EAAC,IAAE,KAAK,IAAE,CAAC;AAAA,MAAO,YAAW,UAAU,IAAI,KAAK7D,IAAE,KAAK,SAAS,GAAE,IAAE,CAAC,GAAE6D,EAAC;AAAE,SAAO;AAAC,GAAE,EAAE,UAAU,OAAK,SAAS7D,IAAE6D,IAAE,GAAExC,IAAE;AAAC,MAAG,YAAU,OAAOrB,IAAE;AAAC,QAAG,YAAU,OAAO6D,MAAGxC,KAAEwC,IAAEA,KAAE,GAAE,IAAE,KAAK,UAAQ,YAAU,OAAO,MAAIxC,KAAE,GAAE,IAAE,KAAK,SAAQ,MAAIrB,GAAE,QAAO;AAAC,UAAI,IAAEA,GAAE,WAAW,CAAC;AAAE,UAAE,QAAMA,KAAE;AAAA,IAAE;AAAC,QAAG,WAASqB,MAAG,YAAU,OAAOA,GAAE,OAAM,IAAI,UAAU,2BAA2B;AAAE,QAAG,YAAU,OAAOA,MAAG,CAAC,EAAE,WAAWA,EAAC,EAAE,OAAM,IAAI,UAAU,uBAAqBA,EAAC;AAAA,EAAC,MAAK,aAAU,OAAOrB,OAAIA,MAAG;AAAK,MAAG6D,KAAE,KAAG,KAAK,SAAOA,MAAG,KAAK,SAAO,EAAE,OAAM,IAAI,WAAW,oBAAoB;AAAE,MAAG,KAAGA,GAAE,QAAO;AAAK,MAAI;AAAE,MAAGA,QAAK,GAAE,IAAE,WAAS,IAAE,KAAK,SAAO,MAAI,GAAE7D,OAAIA,KAAE,IAAG,YAAU,OAAOA,GAAE,MAAI,IAAE6D,IAAE,IAAE,GAAE,EAAE,EAAE,MAAK,CAAC,IAAE7D;AAAA,OAAM;AAAC,QAAI,IAAE,EAAEA,EAAC,IAAEA,KAAE,GAAG,IAAI,EAAEA,IAAEqB,EAAC,EAAE,SAAQ,CAAE,GAAE,IAAE,EAAE;AAAO,SAAI,IAAE,GAAE,IAAE,IAAEwC,IAAE,EAAE,EAAE,MAAK,IAAEA,EAAC,IAAE,EAAE,IAAE,CAAC;AAAA,EAAC;AAAC,SAAO;AAAI;AAAE,IAAI,KAAG;AAAqB,SAAS,GAAG7D,IAAE;AAAC,SAAOA,KAAE,KAAG,MAAIA,GAAE,SAAS,EAAE,IAAEA,GAAE,SAAS,EAAE;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE;AAAC,MAAI;AAAE,EAAAA,KAAEA,MAAG,IAAE;AAAE,WAAQxC,KAAErB,GAAE,QAAO,IAAE,MAAK,IAAE,CAAA,GAAG,IAAE,GAAE,IAAEqB,IAAE,EAAE,GAAE;AAAC,SAAI,IAAErB,GAAE,WAAW,CAAC,KAAG,SAAO,IAAE,OAAM;AAAC,UAAG,CAAC,GAAE;AAAC,YAAG,IAAE,OAAM;AAAC,WAAC6D,MAAG,KAAG,MAAI,EAAE,KAAK,KAAI,KAAI,GAAG;AAAE;AAAA,QAAQ;AAAC,YAAG,IAAE,MAAIxC,IAAE;AAAC,WAACwC,MAAG,KAAG,MAAI,EAAE,KAAK,KAAI,KAAI,GAAG;AAAE;AAAA,QAAQ;AAAC,YAAE;AAAE;AAAA,MAAQ;AAAC,UAAG,IAAE,OAAM;AAAC,SAACA,MAAG,KAAG,MAAI,EAAE,KAAK,KAAI,KAAI,GAAG,GAAE,IAAE;AAAE;AAAA,MAAQ;AAAC,UAAE,SAAO,IAAE,SAAO,KAAG,IAAE;AAAA,IAAM,MAAM,OAAIA,MAAG,KAAG,MAAI,EAAE,KAAK,KAAI,KAAI,GAAG;AAAE,QAAG,IAAE,MAAK,IAAE,KAAI;AAAC,WAAIA,MAAG,KAAG,EAAE;AAAM,QAAE,KAAK,CAAC;AAAA,IAAC,WAAS,IAAE,MAAK;AAAC,WAAIA,MAAG,KAAG,EAAE;AAAM,QAAE,KAAK,KAAG,IAAE,KAAI,KAAG,IAAE,GAAG;AAAA,IAAC,WAAS,IAAE,OAAM;AAAC,WAAIA,MAAG,KAAG,EAAE;AAAM,QAAE,KAAK,KAAG,KAAG,KAAI,KAAG,IAAE,KAAG,KAAI,KAAG,IAAE,GAAG;AAAA,IAAC,OAAK;AAAC,UAAG,EAAE,IAAE,SAAS,OAAM,IAAI,MAAM,oBAAoB;AAAE,WAAIA,MAAG,KAAG,EAAE;AAAM,QAAE,KAAK,KAAG,KAAG,KAAI,KAAG,KAAG,KAAG,KAAI,KAAG,IAAE,KAAG,KAAI,KAAG,IAAE,GAAG;AAAA,IAAC;AAAA,EAAC;AAAC,SAAO;AAAC;AAAC,SAAS,GAAG7D,IAAE;AAAC,UAAO,SAASA,IAAE;AAAC,QAAI6D,IAAE,GAAExC,IAAE,GAAE,GAAE;AAAE,SAAG,EAAC;AAAG,QAAI,IAAErB,GAAE;AAAO,QAAG,IAAE,IAAE,EAAE,OAAM,IAAI,MAAM,gDAAgD;AAAE,QAAE,QAAMA,GAAE,IAAE,CAAC,IAAE,IAAE,QAAMA,GAAE,IAAE,CAAC,IAAE,IAAE,GAAE,IAAE,IAAI,EAAE,IAAE,IAAE,IAAE,CAAC,GAAEqB,KAAE,IAAE,IAAE,IAAE,IAAE;AAAE,QAAID,KAAE;AAAE,SAAIyC,KAAE,GAAE,IAAE,GAAEA,KAAExC,IAAEwC,MAAG,GAAE,KAAG,EAAE,KAAE,EAAE7D,GAAE,WAAW6D,EAAC,CAAC,KAAG,KAAG,EAAE7D,GAAE,WAAW6D,KAAE,CAAC,CAAC,KAAG,KAAG,EAAE7D,GAAE,WAAW6D,KAAE,CAAC,CAAC,KAAG,IAAE,EAAE7D,GAAE,WAAW6D,KAAE,CAAC,CAAC,GAAE,EAAEzC,IAAG,IAAE,KAAG,KAAG,KAAI,EAAEA,IAAG,IAAE,KAAG,IAAE,KAAI,EAAEA,IAAG,IAAE,MAAI;AAAE,WAAO,MAAI,KAAG,IAAE,EAAEpB,GAAE,WAAW6D,EAAC,CAAC,KAAG,IAAE,EAAE7D,GAAE,WAAW6D,KAAE,CAAC,CAAC,KAAG,GAAE,EAAEzC,IAAG,IAAE,MAAI,KAAG,MAAI,MAAI,IAAE,EAAEpB,GAAE,WAAW6D,EAAC,CAAC,KAAG,KAAG,EAAE7D,GAAE,WAAW6D,KAAE,CAAC,CAAC,KAAG,IAAE,EAAE7D,GAAE,WAAW6D,KAAE,CAAC,CAAC,KAAG,GAAE,EAAEzC,IAAG,IAAE,KAAG,IAAE,KAAI,EAAEA,IAAG,IAAE,MAAI,IAAG;AAAA,EAAC,IAAE,SAASpB,IAAE;AAAC,SAAIA,MAAE,SAASA,IAAE;AAAC,aAAOA,GAAE,OAAKA,GAAE,SAAOA,GAAE,QAAQ,cAAa,EAAE;AAAA,IAAC,GAAEA,EAAC,EAAE,QAAQ,IAAG,EAAE,GAAG,SAAO,EAAE,QAAM;AAAG,WAAKA,GAAE,SAAO,KAAG,IAAG,CAAAA,MAAG;AAAI,WAAOA;AAAA,EAAC,GAAEA,EAAC,CAAC;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE,GAAExC,IAAE;AAAC,WAAQ,IAAE,GAAE,IAAEA,MAAG,EAAE,IAAE,KAAGwC,GAAE,UAAQ,KAAG7D,GAAE,SAAQ,EAAE,EAAE,CAAA6D,GAAE,IAAE,CAAC,IAAE7D,GAAE,CAAC;AAAE,SAAO;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,QAAMA,OAAI,CAAC,CAACA,GAAE,aAAW,GAAGA,EAAC,MAAG,SAASA,IAAE;AAAC,WAAM,cAAY,OAAOA,GAAE,eAAa,cAAY,OAAOA,GAAE,SAAO,GAAGA,GAAE,MAAM,GAAE,CAAC,CAAC;AAAA,EAAC,GAAEA,EAAC;AAAE;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAM,CAAC,CAACA,GAAE,eAAa,cAAY,OAAOA,GAAE,YAAY,YAAUA,GAAE,YAAY,SAASA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,OAAO,EAAC,WAAU,MAAK,QAAO,GAAE,mBAAkB,IAAG,YAAW,SAASA,IAAE;AAAC,SAAM,CAACA,MAAGA,OAAIA,KAAE,IAAG,EAAE,MAAM,CAACA,EAAC;AAAC,GAAE,UAAS,IAAG,YAAW,EAAC,CAAC,GAAE,KAAG,eAAa,OAAO,aAAW,aAAW,eAAa,OAAO,SAAO,SAAO,eAAa,OAAO,SAAO,SAAO,eAAa,OAAO,OAAK,OAAK;AAAG,SAAS,GAAGA,IAAE;AAAC,SAAOA,MAAGA,GAAE,cAAY,OAAO,UAAU,eAAe,KAAKA,IAAE,SAAS,IAAEA,GAAE,UAAQA;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,MAAGA,GAAE,WAAW,QAAOA;AAAE,MAAI6D,KAAE7D,GAAE;AAAQ,MAAG,cAAY,OAAO6D,IAAE;AAAC,QAAI,IAAE,SAAS7D,KAAG;AAAC,aAAO,gBAAgBA,KAAE,QAAQ,UAAU6D,IAAE,WAAU,KAAK,WAAW,IAAEA,GAAE,MAAM,MAAK,SAAS;AAAA,IAAC;AAAE,MAAE,YAAUA,GAAE;AAAA,EAAS,MAAM,KAAE,CAAA;AAAG,SAAO,OAAO,eAAe,GAAE,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,OAAO,KAAK7D,EAAC,EAAE,SAAS,SAAS6D,IAAE;AAAC,QAAIxC,KAAE,OAAO,yBAAyBrB,IAAE6D,EAAC;AAAE,WAAO,eAAe,GAAEA,IAAExC,GAAE,MAAIA,KAAE,EAAC,YAAW,MAAG,KAAI,WAAU;AAAC,aAAOrB,GAAE6D,EAAC;AAAA,IAAC,EAAC,CAAC;AAAA,EAAC,EAAC,GAAG;AAAC;AAAC,IAAI,KAAG,CAAA,GAAG,KAAG,CAAA,GAAG,KAAG,CAAA;AAAG,SAAS,GAAG7D,IAAE;AAAC,MAAG,CAAC,OAAO,cAAcA,EAAC,KAAGA,KAAE,EAAE,OAAM,IAAI,MAAM,kCAAkCA,EAAC,EAAE;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,MAAG,aAAW,OAAOA,GAAE,OAAM,IAAI,MAAM,yBAAyBA,EAAC,EAAE;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAOA,cAAa,cAAY,QAAMA,MAAG,YAAU,OAAOA,MAAG,iBAAeA,GAAE,YAAY;AAAI;AAAC,SAAS,GAAGA,OAAK6D,IAAE;AAAC,MAAG,CAAC,GAAG7D,EAAC,EAAE,OAAM,IAAI,MAAM,qBAAqB;AAAE,MAAG6D,GAAE,SAAO,KAAG,CAACA,GAAE,SAAS7D,GAAE,MAAM,EAAE,OAAM,IAAI,MAAM,iCAAiC6D,EAAC,mBAAmB7D,GAAE,MAAM,EAAE;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,MAAG,cAAY,OAAOA,MAAG,cAAY,OAAOA,GAAE,OAAO,OAAM,IAAI,MAAM,+CAA+C;AAAE,KAAGA,GAAE,SAAS,GAAE,GAAGA,GAAE,QAAQ;AAAC;AAAC,SAAS,GAAGA,IAAE6D,KAAE,MAAG;AAAC,MAAG7D,GAAE,UAAU,OAAM,IAAI,MAAM,kCAAkC;AAAE,MAAG6D,MAAG7D,GAAE,SAAS,OAAM,IAAI,MAAM,uCAAuC;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE;AAAC,KAAG7D,EAAC;AAAE,QAAM,IAAE6D,GAAE;AAAU,MAAG7D,GAAE,SAAO,EAAE,OAAM,IAAI,MAAM,yDAAyD,CAAC,EAAE;AAAC;AAAC,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,UAAQ,IAAG,GAAG,SAAO,IAAG,GAAG,OAAK,IAAG,GAAG,QAAM,IAAG,GAAG,OAAK,IAAG,GAAG,SAAO,IAAG,GAAG,SAAO;AAAG,MAAM,KAAG,EAAC,QAAO,IAAG,MAAK,IAAG,OAAM,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,GAAE;AAAE,GAAG,UAAQ,KAAG,SAASA,IAAE;AAAC,SAAO,eAAeA,IAAE,cAAa,EAAC,OAAM,KAAE,CAAC,GAAEA,GAAE,aAAWA,GAAE,OAAKA,GAAE,WAASA,GAAE,OAAKA,GAAE,aAAWA,GAAE,MAAIA,GAAE,MAAIA,GAAE,KAAG,QAAOA,GAAE,aAAWqB,IAAErB,GAAE,aAAW,GAAEA,GAAE,cAAY,GAAEA,GAAE,kBAAgB,SAASA,IAAE;AAAC,WAAO,EAAEqB,GAAErB,EAAC,CAAC;AAAA,EAAC,GAAEA,GAAE,kBAAgB,SAASA,IAAE6D,IAAE;AAAC,WAAO,EAAE7D,GAAE,SAAS,EAAE,EAAE,SAAS,IAAE6D,IAAE,GAAG,CAAC;AAAA,EAAC,GAAE7D,GAAE,YAAU,eAAe6D,IAAEW,IAAEnD,IAAE;AAAC,QAAIoD,KAAE,KAAK,IAAG;AAAG,aAAQC,KAAE,GAAEA,KAAEb,IAAEa,MAAI;AAAC,MAAArD,GAAEqD,EAAC;AAAE,YAAMb,KAAE,KAAK,IAAG,IAAGY;AAAE,MAAAZ,MAAG,KAAGA,KAAEW,OAAI,OAAK,GAAGxE,GAAE,UAAQ,GAAIyE,MAAGZ;AAAA,IAAE;AAAA,EAAC,GAAE7D,GAAE,cAAYoB,IAAEpB,GAAE,cAAY,SAASA,IAAE;AAAC,WAAO,IAAI,cAAa,OAAOA,EAAC;AAAA,EAAC,GAAEA,GAAE,UAAQ,SAASA,IAAE;AAAC,QAAG,YAAU,OAAOA,GAAE,CAAAA,KAAEoB,GAAEpB,EAAC;AAAA,SAAM;AAAC,UAAG,EAAC,GAAG6D,GAAE,SAAS7D,EAAC,EAAE,OAAM,IAAI,MAAM,8BAA4B,OAAOA,EAAC;AAAE,MAAAA,KAAEY,GAAEZ,EAAC;AAAA,IAAC;AAAC,WAAOA;AAAA,EAAC,GAAEA,GAAE,cAAY,YAAYA,IAAE;AAAC,QAAIwE,KAAE;AAAE,aAAQnD,KAAE,GAAEA,KAAErB,GAAE,QAAOqB,MAAI;AAAC,YAAMoD,KAAEzE,GAAEqB,EAAC;AAAE,OAAA,GAAGwC,GAAE,OAAOY,EAAC,GAAED,MAAGC,GAAE;AAAA,IAAM;AAAC,UAAMpD,KAAE,IAAI,WAAWmD,EAAC;AAAE,aAAQX,KAAE,GAAEW,KAAE,GAAEX,KAAE7D,GAAE,QAAO6D,MAAI;AAAC,YAAMY,KAAEzE,GAAE6D,EAAC;AAAE,MAAAxC,GAAE,IAAIoD,IAAED,EAAC,GAAEA,MAAGC,GAAE;AAAA,IAAM;AAAC,WAAOpD;AAAA,EAAC,GAAErB,GAAE,YAAU,SAASA,IAAE6D,IAAE;AAAC,QAAG,QAAMA,MAAG,YAAU,OAAOA,GAAE,OAAM,IAAI,MAAM,yBAAyB;AAAE,WAAO,OAAO,OAAO7D,IAAE6D,EAAC;AAAA,EAAC,GAAE7D,GAAE,aAAW,SAASA,IAAE6D,IAAE;AAAC,QAAG7D,GAAE,WAAS6D,GAAE,OAAO,QAAM;AAAG,QAAIW,KAAE;AAAE,aAAQnD,KAAE,GAAEA,KAAErB,GAAE,QAAOqB,KAAI,CAAAmD,MAAGxE,GAAEqB,EAAC,IAAEwC,GAAExC,EAAC;AAAE,WAAO,MAAImD;AAAA,EAAC,GAAExE,GAAE,eAAa4C,IAAE5C,GAAE,aAAW,SAAS6D,IAAEW,IAAE;AAAC,UAAMnD,KAAE,IAAI,WAAW,EAAE,GAAEoD,MAAE,GAAGzE,GAAE,YAAYqB,EAAC;AAAE,WAAOuB,GAAE6B,IAAE,GAAE,OAAOD,KAAEA,GAAE,SAAO,CAAC,GAAE,IAAE,GAAE5B,GAAE6B,IAAE,GAAE,OAAOZ,GAAE,MAAM,GAAE,IAAE,GAAExC;AAAA,EAAC,GAAErB,GAAE,cAAY,SAASA,IAAE;AAAC,WAAOA,GAAE,aAAW,KAAG;AAAA,EAAC,GAAEA,GAAE,YAAUY,IAAEZ,GAAE,QAAM,YAAYA,IAAE;AAAC,aAAQ6D,KAAE,GAAEA,KAAE7D,GAAE,QAAO6D,KAAI,CAAA7D,GAAE6D,EAAC,EAAE,KAAK,CAAC;AAAA,EAAC;AAAE,QAAMA,KAAE;AAAG,EAAA7D,GAAE,KAAG,CAAAA,OAAG,IAAI,WAAWA,GAAE,QAAOA,GAAE,YAAWA,GAAE,UAAU;AAAE,EAAAA,GAAE,MAAI,CAAAA,OAAG,IAAI,YAAYA,GAAE,QAAOA,GAAE,YAAW,KAAK,MAAMA,GAAE,aAAW,CAAC,CAAC;AAAE,EAAAA,GAAE,MAAI,CAAAA,OAAG,IAAI,YAAYA,GAAE,QAAOA,GAAE,YAAW,KAAK,MAAMA,GAAE,aAAW,CAAC,CAAC;AAAE,MAAGA,GAAE,aAAW,CAAAA,OAAG,IAAI,SAASA,GAAE,QAAOA,GAAE,YAAWA,GAAE,UAAU,GAAEA,GAAE,OAAK,OAAK,IAAI,WAAW,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,GAAE,CAACA,GAAE,KAAK,OAAM,IAAI,MAAM,6CAA6C;AAAE,QAAM,IAAE,MAAM,KAAK,EAAC,QAAO,IAAG,IAAG,CAACA,IAAE6D,OAAIA,GAAE,SAAS,EAAE,EAAE,SAAS,GAAE,GAAG,EAAC;AAAG,WAASxC,GAAErB,IAAE;AAAC,KAAA,GAAG6D,GAAE,OAAO7D,EAAC;AAAE,QAAIqB,KAAE;AAAG,aAAQwC,KAAE,GAAEA,KAAE7D,GAAE,QAAO6D,KAAI,CAAAxC,MAAG,EAAErB,GAAE6D,EAAC,CAAC;AAAE,WAAOxC;AAAA,EAAC;AAAC,QAAM,IAAE,EAAC,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAE,WAAS,EAAErB,IAAE;AAAC,WAAOA,MAAG,EAAE,MAAIA,MAAG,EAAE,KAAGA,KAAE,EAAE,KAAGA,MAAG,EAAE,MAAIA,MAAG,EAAE,KAAGA,MAAG,EAAE,KAAG,MAAIA,MAAG,EAAE,MAAIA,MAAG,EAAE,KAAGA,MAAG,EAAE,KAAG,MAAI;AAAA,EAAM;AAAC,WAAS,EAAEA,IAAE;AAAC,QAAG,YAAU,OAAOA,GAAE,OAAM,IAAI,MAAM,8BAA4B,OAAOA,EAAC;AAAE,UAAM6D,KAAE7D,GAAE,QAAOwE,KAAEX,KAAE;AAAE,QAAGA,KAAE,EAAE,OAAM,IAAI,MAAM,4DAA0DA,EAAC;AAAE,UAAMxC,KAAE,IAAI,WAAWmD,EAAC;AAAE,aAAQX,KAAE,GAAEY,KAAE,GAAEZ,KAAEW,IAAEX,MAAIY,MAAG,GAAE;AAAC,YAAMD,KAAE,EAAExE,GAAE,WAAWyE,EAAC,CAAC,GAAEE,KAAE,EAAE3E,GAAE,WAAWyE,KAAE,CAAC,CAAC;AAAE,UAAG,WAASD,MAAG,WAASG,IAAE;AAAC,cAAMd,KAAE7D,GAAEyE,EAAC,IAAEzE,GAAEyE,KAAE,CAAC;AAAE,cAAM,IAAI,MAAM,iDAA+CZ,KAAE,gBAAcY,EAAC;AAAA,MAAC;AAAC,MAAApD,GAAEwC,EAAC,IAAE,KAAGW,KAAEG;AAAA,IAAC;AAAC,WAAOtD;AAAA,EAAC;AAAC,WAAS,EAAErB,IAAE;AAAC,QAAG,YAAU,OAAOA,GAAE,OAAM,IAAI,MAAM,8BAA4B,OAAOA,EAAC;AAAE,WAAO,OAAO,OAAKA,KAAE,MAAI,KAAKA,EAAC,EAAE;AAAA,EAAC;AAAC,WAASoB,GAAEpB,IAAE;AAAC,QAAG,YAAU,OAAOA,GAAE,OAAM,IAAI,MAAM,0BAAwB,OAAOA,EAAC;AAAE,WAAO,IAAI,WAAY,IAAI,cAAa,OAAOA,EAAC,CAAC;AAAA,EAAC;AAAC,EAAAA,GAAE,WAAS,YAAS;AAAA,EAAC;AAAE,EAAAA,GAAE,OAAK,MAAK;AAAA;AAAG,WAAS4C,GAAE5C,IAAE6D,IAAEW,IAAEnD,IAAE;AAAC,QAAG,cAAY,OAAOrB,GAAE,aAAa,QAAOA,GAAE,aAAa6D,IAAEW,IAAEnD,EAAC;AAAE,UAAMoD,KAAE,OAAO,EAAE,GAAEC,KAAE,OAAO,UAAU,GAAEC,KAAE,OAAOH,MAAGC,KAAEC,EAAC,GAAEE,KAAE,OAAOJ,KAAEE,EAAC,GAAEtD,KAAEC,KAAE,IAAE,GAAEuB,KAAEvB,KAAE,IAAE;AAAE,IAAArB,GAAE,UAAU6D,KAAEzC,IAAEuD,IAAEtD,EAAC,GAAErB,GAAE,UAAU6D,KAAEjB,IAAEgC,IAAEvD,EAAC;AAAA,EAAC;AAAC,WAAST,GAAEZ,IAAE;AAAC,WAAO,WAAW,KAAKA,EAAC;AAAA,EAAC;AAAC,EAAAA,GAAE,aAAW,CAACA,IAAE6D,QAAK,OAAO,OAAOA,IAAE7D,EAAC,GAAE6D;AAAE,GAAE,EAAE;AAAE,IAAI,KAAG,CAAA,GAAG,KAAG,CAAA;AAAG,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,kBAAgB,GAAG,yBAAuB,GAAG,6BAA2B,GAAG,sBAAoB,GAAG,+BAA6B,GAAG,6BAA2B,GAAG,oBAAkB,QAAO,GAAG,oBAAkB,IAAG,GAAG,6BAA2B,IAAG,GAAG,+BAA6B,IAAG,GAAG,sBAAoB,IAAG,GAAG,6BAA2B,IAAG,GAAG,yBAAuB,IAAG,GAAG,kBAAgB,KAAG,SAAS7D,IAAE;AAAC,SAAO,eAAeA,IAAE,cAAa,EAAC,OAAM,KAAE,CAAC,GAAEA,GAAE,mBAAiBA,GAAE,uBAAqBA,GAAE,qBAAmBA,GAAE,sBAAoBA,GAAE,2BAAyBA,GAAE,gBAAcA,GAAE,eAAa;AAAO,MAAI6D,KAAE,IAAG,IAAE,WAAU;AAAC,SAAK,gBAAc,aAAY,KAAK,2BAAyB,OAAG,KAAK,sBAAoB,OAAG,KAAK,qBAAmB,eAAc,KAAK,uBAAqB;AAAA,EAAE;AAAE,EAAA7D,GAAE,eAAa,IAAI;AAAE,EAAAA,GAAE,gBAAc,WAAU;AAAC,WAAOA,GAAE,aAAa;AAAA,EAAa;AAAE,EAAAA,GAAE,2BAAyB,WAAU;AAAC,WAAOA,GAAE,aAAa;AAAA,EAAwB;AAAE,EAAAA,GAAE,sBAAoB,WAAU;AAAC,WAAOA,GAAE,aAAa;AAAA,EAAmB;AAAE,EAAAA,GAAE,qBAAmB,WAAU;AAAC,WAAOA,GAAE,aAAa;AAAA,EAAkB;AAAE,EAAAA,GAAE,uBAAqB,WAAU;AAAC,WAAOA,GAAE,aAAa;AAAA,EAAoB;AAAE,EAAAA,GAAE,mBAAiB,WAAU;AAAC,QAAIwE,KAAE,EAAC,WAAUxE,GAAE,aAAa,2BAAyB6D,GAAE,6BAA2BA,GAAE,8BAA6B,QAAOA,GAAE,4BAA2B,SAAQA,GAAE,2BAA0B;AAAE,QAAG7D,GAAE,aAAa,iBAAiBwE,GAAE,QAAOA,GAAExE,GAAE,aAAa,aAAa;AAAE,UAAM,IAAI,MAAM,iBAAiB;AAAA,EAAC;AAAC,GAAE,EAAE;AAAE,IAAI,KAAG,IAAG,KAAG,CAAA,GAAG,KAAG,CAAA,GAAG,KAAG,CAAA,GAAG,KAAG,CAAA,GAAG,KAAG,CAAA;AAAG,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,SAAO,QAAO,GAAG,SAAO,YAAU,OAAO,cAAY,YAAW,aAAW,WAAW,SAAO,SAAO,SAASA,IAAE;AAAC,SAAO,eAAeA,IAAE,cAAa,EAAC,OAAM,KAAE,CAAC,GAAEA,GAAE,MAAIA,GAAE,MAAIA,GAAE,MAAIA,GAAE,QAAM,QAAOA,GAAE,cAAY,GAAEA,GAAE,qBAAmB,GAAEA,GAAE,eAAa,SAASA,IAAE;AAAC,YAAM,GAAG,EAAE,QAAQA,GAAE,WAAW,GAAE,CAAC6D,OAAKW,QAAK,EAAC,QAAQE,OAAKC,IAAE;AAAC,YAAK,EAAC,aAAYC,GAAC,IAAE5E,IAAEoB,KAAE,EAAEwD,EAAC,GAAEhC,KAAE5C,GAAE6D,IAAEzC,IAAE,GAAGoD,EAAC,EAAE,QAAQE,IAAE,GAAGC,EAAC,GAAE/D,MAAE,GAAGS,GAAE,aAAaD,IAAEwB,EAAC;AAAE,aAAOA,GAAE,KAAK,CAAC,GAAEhC;AAAA,IAAC,GAAE,QAAQS,OAAKoD,IAAE;AAAC,YAAK,EAAC,aAAYC,GAAC,IAAE1E,IAAE2E,KAAEtD,GAAE,SAAS,GAAEqD,EAAC,GAAEE,KAAEvD,GAAE,SAASqD,EAAC;AAAE,aAAO1E,GAAE6D,IAAEc,IAAE,GAAGH,EAAC,EAAE,QAAQI,IAAE,GAAGH,EAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAE,QAAMZ,KAAE,IAAG,IAAE,IAAGxC,KAAE;AAAG,WAAS,EAAErB,KAAE,IAAG;AAAC,QAAG6D,GAAE,UAAQ,cAAY,OAAOA,GAAE,OAAO,gBAAgB,QAAOA,GAAE,OAAO,gBAAgB,IAAI,WAAW7D,EAAC,CAAC;AAAE,QAAG6D,GAAE,UAAQ,cAAY,OAAOA,GAAE,OAAO,YAAY,QAAOA,GAAE,OAAO,YAAY7D,EAAC;AAAE,UAAM,IAAI,MAAM,wCAAwC;AAAA,EAAC;AAAC,WAAS,IAAG;AAAC,QAAG6D,GAAE,UAAQ,YAAU,OAAOA,GAAE,OAAO,UAAQ,QAAMA,GAAE,OAAO,OAAO,QAAOA,GAAE,OAAO;AAAO,UAAM,IAAI,MAAM,+BAA+B;AAAA,EAAC;AAAC,EAAA7D,GAAE,QAAM,EAAC,MAAM,QAAQA,IAAE6D,IAAEW,IAAEnD,IAAE;AAAC,UAAMoD,KAAE,EAAC,GAAGE,KAAE,MAAMF,GAAE,UAAU,OAAMzE,IAAE6D,IAAE,MAAG,CAAC,SAAS,CAAC,GAAEe,KAAE,MAAMH,GAAE,QAAQD,IAAEG,IAAEtD,EAAC;AAAE,WAAO,IAAI,WAAWuD,EAAC;AAAA,EAAC,GAAE,MAAM,QAAQ5E,IAAE6D,IAAEW,IAAEnD,IAAE;AAAC,UAAMoD,KAAE,EAAC,GAAGE,KAAE,MAAMF,GAAE,UAAU,OAAMzE,IAAE6D,IAAE,MAAG,CAAC,SAAS,CAAC,GAAEe,KAAE,MAAMH,GAAE,QAAQD,IAAEG,IAAEtD,EAAC;AAAE,WAAO,IAAI,WAAWuD,EAAC;AAAA,EAAC,EAAC;AAAE,QAAM,IAAE,EAAC,KAAI,WAAU,KAAI,WAAU,KAAI,UAAS;AAAE,WAAS,EAAEf,IAAE;AAAC,WAAM,CAACxC,IAAEoD,IAAEC,OAAI;AAAC,UAAG,EAAE,OAAOrD,EAAC,IAAE,GAAG,EAAE,OAAOoD,EAAC;AAAE,YAAMG,KAAE,EAAC,MAAKf,IAAE,QAAO,IAAExC,GAAE,OAAM,GAAED,MAAE,SAASpB,IAAE6D,IAAEW,IAAE;AAAC,YAAGxE,OAAI,EAAE,IAAI,QAAM,EAAC,MAAK,EAAE,KAAI,IAAG6D,GAAC;AAAE,YAAG7D,OAAI,EAAE,IAAI,QAAM,EAAC,MAAK,EAAE,KAAI,SAAQ6D,IAAE,QAAO,GAAE;AAAE,YAAG7D,OAAI,EAAE,IAAI,QAAOwE,KAAE,EAAC,MAAK,EAAE,KAAI,IAAGX,IAAE,gBAAeW,GAAC,IAAE,EAAC,MAAK,EAAE,KAAI,IAAGX,GAAC;AAAE,cAAM,IAAI,MAAM,wBAAwB;AAAA,MAAC,GAAEA,IAAEY,IAAEC,EAAC;AAAE,aAAM,EAAC,SAAQ,CAAAb,SAAI,GAAG,EAAE,OAAOA,EAAC,GAAE7D,GAAE,MAAM,QAAQqB,IAAEuD,IAAExD,IAAEyC,EAAC,IAAG,SAAQ,CAAAA,SAAI,GAAG,EAAE,OAAOA,EAAC,GAAE7D,GAAE,MAAM,QAAQqB,IAAEuD,IAAExD,IAAEyC,EAAC,GAAE;AAAA,IAAC;AAAA,EAAC;AAAC,EAAA7D,GAAE,MAAI,EAAE,EAAE,GAAG,GAAEA,GAAE,MAAI,EAAE,EAAE,GAAG,GAAEA,GAAE,MAAI,EAAE,EAAE,GAAG;AAAC,GAAE,EAAE;AAAE,IAAI,KAAG,CAAA,GAAG,KAAG,CAAA,GAAG,KAAG,CAAA,GAAG,KAAG;AAAG,SAAS,GAAGA,IAAE;AAAC,MAAG,CAAC,OAAO,cAAcA,EAAC,KAAGA,KAAE,EAAE,OAAM,IAAI,MAAM,kCAAkCA,EAAC,EAAE;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,MAAG,aAAW,OAAOA,GAAE,OAAM,IAAI,MAAM,yBAAyBA,EAAC,EAAE;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAOA,cAAa,cAAY,QAAMA,MAAG,YAAU,OAAOA,MAAG,iBAAeA,GAAE,YAAY;AAAI;AAAC,SAAS,GAAGA,OAAK6D,IAAE;AAAC,MAAG,CAAC,GAAG7D,EAAC,EAAE,OAAM,IAAI,MAAM,qBAAqB;AAAE,MAAG6D,GAAE,SAAO,KAAG,CAACA,GAAE,SAAS7D,GAAE,MAAM,EAAE,OAAM,IAAI,MAAM,iCAAiC6D,EAAC,mBAAmB7D,GAAE,MAAM,EAAE;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,MAAG,cAAY,OAAOA,MAAG,cAAY,OAAOA,GAAE,OAAO,OAAM,IAAI,MAAM,iDAAiD;AAAE,KAAGA,GAAE,SAAS,GAAE,GAAGA,GAAE,QAAQ;AAAC;AAAC,SAAS,GAAGA,IAAE6D,KAAE,MAAG;AAAC,MAAG7D,GAAE,UAAU,OAAM,IAAI,MAAM,kCAAkC;AAAE,MAAG6D,MAAG7D,GAAE,SAAS,OAAM,IAAI,MAAM,uCAAuC;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE;AAAC,KAAG7D,EAAC;AAAE,QAAM,IAAE6D,GAAE;AAAU,MAAG7D,GAAE,SAAO,EAAE,OAAM,IAAI,MAAM,yDAAyD,CAAC,EAAE;AAAC;AAAC,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,UAAQ,IAAG,GAAG,SAAO,IAAG,GAAG,OAAK,IAAG,GAAG,QAAM,IAAG,GAAG,OAAK,IAAG,GAAG,SAAO,IAAG,GAAG,SAAO;AAAG,MAAM,KAAG,EAAC,QAAO,IAAG,MAAK,IAAG,OAAM,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,GAAE;AAAE,GAAG,UAAQ;AAAG,IAAI,KAAG,CAAA,GAAG,KAAG,CAAA;AAAG,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,SAAO,QAAO,GAAG,SAAO,YAAU,OAAO,cAAY,YAAW,aAAW,WAAW,SAAO,SAAO,SAASA,IAAE;AAAC,SAAO,eAAeA,IAAE,cAAa,EAAC,OAAM,KAAE,CAAC,GAAEA,GAAE,OAAKA,GAAE,WAASA,GAAE,eAAaA,GAAE,WAASA,GAAE,OAAKA,GAAE,OAAKA,GAAE,OAAKA,GAAE,aAAWA,GAAE,MAAIA,GAAE,KAAG,QAAOA,GAAE,UAAQ,SAASA,IAAE;AAAC,WAAOA,cAAa,cAAY,QAAMA,MAAG,YAAU,OAAOA,MAAG,iBAAeA,GAAE,YAAY;AAAA,EAAI,GAAEA,GAAE,aAAW,SAAS6D,IAAE;AAAC,aAAQW,KAAE,GAAEA,KAAEX,GAAE,QAAOW,KAAI,CAAAX,GAAEW,EAAC,KAAE,GAAGxE,GAAE,UAAU6D,GAAEW,EAAC,CAAC;AAAA,EAAC,GAAExE,GAAE,aAAW,SAASA,IAAE;AAAC,KAAA,GAAG,EAAE,OAAOA,EAAC;AAAE,QAAI6D,KAAE;AAAG,aAAQW,KAAE,GAAEA,KAAExE,GAAE,QAAOwE,KAAI,CAAAX,MAAGxC,GAAErB,GAAEwE,EAAC,CAAC;AAAE,WAAOX;AAAA,EAAC,GAAE7D,GAAE,aAAW,SAASA,IAAE;AAAC,QAAG,YAAU,OAAOA,GAAE,OAAM,IAAI,MAAM,8BAA4B,OAAOA,EAAC;AAAE,UAAM6D,KAAE7D,GAAE,QAAOwE,KAAEX,KAAE;AAAE,QAAGA,KAAE,EAAE,OAAM,IAAI,MAAM,4DAA0DA,EAAC;AAAE,UAAMxC,KAAE,IAAI,WAAWmD,EAAC;AAAE,aAAQX,KAAE,GAAEY,KAAE,GAAEZ,KAAEW,IAAEX,MAAIY,MAAG,GAAE;AAAC,YAAMD,KAAE,EAAExE,GAAE,WAAWyE,EAAC,CAAC,GAAEE,KAAE,EAAE3E,GAAE,WAAWyE,KAAE,CAAC,CAAC;AAAE,UAAG,WAASD,MAAG,WAASG,IAAE;AAAC,cAAMd,KAAE7D,GAAEyE,EAAC,IAAEzE,GAAEyE,KAAE,CAAC;AAAE,cAAM,IAAI,MAAM,iDAA+CZ,KAAE,gBAAcY,EAAC;AAAA,MAAC;AAAC,MAAApD,GAAEwC,EAAC,IAAE,KAAGW,KAAEG;AAAA,IAAC;AAAC,WAAOtD;AAAA,EAAC,GAAErB,GAAE,YAAU,eAAe6D,IAAEW,IAAEnD,IAAE;AAAC,QAAIoD,KAAE,KAAK;AAAM,aAAQC,KAAE,GAAEA,KAAEb,IAAEa,MAAI;AAAC,MAAArD,GAAEqD,EAAC;AAAE,YAAMb,KAAE,KAAK,IAAG,IAAGY;AAAE,MAAAZ,MAAG,KAAGA,KAAEW,OAAI,OAAK,GAAGxE,GAAE,UAAQ,GAAIyE,MAAGZ;AAAA,IAAE;AAAA,EAAC,GAAE7D,GAAE,cAAY,GAAEA,GAAE,UAAQ,GAAEA,GAAE,cAAY,YAAYA,IAAE;AAAC,QAAI6D,KAAE;AAAE,aAAQxC,KAAE,GAAEA,KAAErB,GAAE,QAAOqB,MAAI;AAAC,YAAMoD,KAAEzE,GAAEqB,EAAC;AAAE,OAAA,GAAG,EAAE,OAAOoD,EAAC,GAAEZ,MAAGY,GAAE;AAAA,IAAM;AAAC,UAAMpD,KAAE,IAAI,WAAWwC,EAAC;AAAE,aAAQA,KAAE,GAAEW,KAAE,GAAEX,KAAE7D,GAAE,QAAO6D,MAAI;AAAC,YAAMY,KAAEzE,GAAE6D,EAAC;AAAE,MAAAxC,GAAE,IAAIoD,IAAED,EAAC,GAAEA,MAAGC,GAAE;AAAA,IAAM;AAAC,WAAOpD;AAAA,EAAC,GAAErB,GAAE,YAAU,SAASA,IAAE6D,IAAE;AAAC,QAAG,WAASA,MAAG,sBAAoBzC,GAAE,KAAKyC,EAAC,EAAE,OAAM,IAAI,MAAM,uCAAuC;AAAE,WAAO,OAAO,OAAO7D,IAAE6D,EAAC;AAAA,EAAC,GAAE7D,GAAE,kBAAgB,SAASA,IAAE;AAAC,UAAM6D,KAAE,CAAAA,OAAG7D,KAAI,OAAO,EAAE6D,EAAC,CAAC,EAAE,OAAM,GAAGW,KAAExE,GAAC;AAAG,WAAO6D,GAAE,YAAUW,GAAE,WAAUX,GAAE,WAASW,GAAE,UAASX,GAAE,SAAO,MAAI7D,GAAC,GAAG6D;AAAA,EAAC,GAAE7D,GAAE,0BAAwB,SAASA,IAAE;AAAC,UAAM6D,KAAE,CAACA,IAAEW,OAAIxE,GAAEwE,EAAC,EAAE,OAAO,EAAEX,EAAC,CAAC,EAAE,OAAM,GAAGW,KAAExE,GAAE,CAAA,CAAE;AAAE,WAAO6D,GAAE,YAAUW,GAAE,WAAUX,GAAE,WAASW,GAAE,UAASX,GAAE,SAAO,CAAAA,OAAG7D,GAAE6D,EAAC,GAAEA;AAAA,EAAC,GAAE7D,GAAE,6BAA2B,SAASA,IAAE;AAAC,UAAM6D,KAAE,CAACA,IAAEW,OAAIxE,GAAEwE,EAAC,EAAE,OAAO,EAAEX,EAAC,CAAC,EAAE,OAAM,GAAGW,KAAExE,GAAE,CAAA,CAAE;AAAE,WAAO6D,GAAE,YAAUW,GAAE,WAAUX,GAAE,WAASW,GAAE,UAASX,GAAE,SAAO,CAAAA,OAAG7D,GAAE6D,EAAC,GAAEA;AAAA,EAAC,GAAE7D,GAAE,cAAY,SAASA,KAAE,IAAG;AAAC,QAAG6D,GAAE,UAAQ,cAAY,OAAOA,GAAE,OAAO,gBAAgB,QAAOA,GAAE,OAAO,gBAAgB,IAAI,WAAW7D,EAAC,CAAC;AAAE,QAAG6D,GAAE,UAAQ,cAAY,OAAOA,GAAE,OAAO,YAAY,QAAOA,GAAE,OAAO,YAAY7D,EAAC;AAAE,UAAM,IAAI,MAAM,wCAAwC;AAAA,EAAC;AAAE,QAAM6D,KAAE,IAAG,IAAE;AAAG,EAAA7D,GAAE,KAAG,CAAAA,OAAG,IAAI,WAAWA,GAAE,QAAOA,GAAE,YAAWA,GAAE,UAAU;AAAE,EAAAA,GAAE,MAAI,CAAAA,OAAG,IAAI,YAAYA,GAAE,QAAOA,GAAE,YAAW,KAAK,MAAMA,GAAE,aAAW,CAAC,CAAC;AAAE,EAAAA,GAAE,aAAW,CAAAA,OAAG,IAAI,SAASA,GAAE,QAAOA,GAAE,YAAWA,GAAE,UAAU;AAAE,EAAAA,GAAE,OAAK,CAACA,IAAE6D,OAAI7D,MAAG,KAAG6D,KAAE7D,OAAI6D;AAAE,EAAA7D,GAAE,OAAK,CAACA,IAAE6D,OAAI7D,MAAG6D,KAAE7D,OAAI,KAAG6D,OAAI,GAAE7D,GAAE,OAAK,OAAK,IAAI,WAAW,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;AAAE,EAAAA,GAAE,WAAS,CAAAA,OAAGA,MAAG,KAAG,aAAWA,MAAG,IAAE,WAASA,OAAI,IAAE,QAAMA,OAAI,KAAG,KAAIA,GAAE,eAAaA,GAAE,OAAK,CAAAA,OAAGA,KAAE,CAAA6D,QAAG,GAAG7D,GAAE,UAAU6D,EAAC;AAAE,QAAMxC,KAAE,MAAM,KAAK,EAAC,QAAO,IAAG,IAAG,CAACrB,IAAE6D,OAAIA,GAAE,SAAS,EAAE,EAAE,SAAS,GAAE,GAAG,EAAC;AAAG,QAAM,IAAE,EAAC,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAE,WAAS,EAAE7D,IAAE;AAAC,WAAOA,MAAG,EAAE,MAAIA,MAAG,EAAE,KAAGA,KAAE,EAAE,KAAGA,MAAG,EAAE,MAAIA,MAAG,EAAE,KAAGA,MAAG,EAAE,KAAG,MAAIA,MAAG,EAAE,MAAIA,MAAG,EAAE,KAAGA,MAAG,EAAE,KAAG,MAAI;AAAA,EAAM;AAAC,WAAS,EAAEA,IAAE;AAAC,QAAG,YAAU,OAAOA,GAAE,OAAM,IAAI,MAAM,sCAAoC,OAAOA,EAAC;AAAE,WAAO,IAAI,WAAY,IAAI,cAAa,OAAOA,EAAC,CAAC;AAAA,EAAC;AAAC,WAAS,EAAEA,IAAE;AAAC,WAAM,YAAU,OAAOA,OAAIA,KAAE,EAAEA,EAAC,KAAG,GAAG,EAAE,OAAOA,EAAC,GAAEA;AAAA,EAAC;AAAC,EAAAA,GAAE,WAAS,YAAS;AAAA,EAAC;AAAE,EAAAA,GAAE,OAAK,MAAK;AAAA,IAAC,QAAO;AAAC,aAAO,KAAK,WAAU;AAAA,IAAE;AAAA,EAAC;AAAE,QAAMoB,KAAE,CAAA,EAAG;AAAQ,GAAE,EAAE,GAAE,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,SAAO,GAAG,MAAI,GAAG,MAAI;AAAO,MAAM,KAAG,IAAG,KAAG;AAAG,GAAG,MAAI,CAACpB,IAAE6D,IAAE,MAAI7D,KAAE6D,KAAE,CAAC7D,KAAE;AAAE,GAAG,MAAI,CAACA,IAAE6D,IAAE,MAAI7D,KAAE6D,KAAE7D,KAAE,IAAE6D,KAAE;AAAE,GAAG,SAAO,cAAc,GAAG,KAAI;AAAA,EAAC,YAAY7D,IAAE6D,IAAE,GAAExC,IAAE;AAAC,UAAK,GAAG,KAAK,WAASrB,IAAE,KAAK,YAAU6D,IAAE,KAAK,YAAU,GAAE,KAAK,OAAKxC,IAAE,KAAK,WAAS,OAAG,KAAK,SAAO,GAAE,KAAK,MAAI,GAAE,KAAK,YAAU,OAAG,KAAK,SAAO,IAAI,WAAWrB,EAAC,GAAE,KAAK,QAAK,GAAG,GAAG,YAAY,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,OAAOA,IAAE;AAAC,KAAA,GAAG,GAAG,QAAQ,IAAI;AAAE,UAAK,EAAC,MAAK6D,IAAE,QAAO,GAAE,UAASxC,GAAC,IAAE,MAAK,KAAGrB,MAAE,GAAG,GAAG,SAASA,EAAC,GAAG;AAAO,aAAQ,IAAE,GAAE,IAAE,KAAG;AAAC,YAAM,IAAE,KAAK,IAAIqB,KAAE,KAAK,KAAI,IAAE,CAAC;AAAE,UAAG,MAAIA,GAAE,GAAE,IAAIrB,GAAE,SAAS,GAAE,IAAE,CAAC,GAAE,KAAK,GAAG,GAAE,KAAK,OAAK,GAAE,KAAG,GAAE,KAAK,QAAMqB,OAAI,KAAK,QAAQwC,IAAE,CAAC,GAAE,KAAK,MAAI;AAAA,WAAO;AAAC,cAAMA,MAAE,GAAG,GAAG,YAAY7D,EAAC;AAAE,eAAKqB,MAAG,IAAE,GAAE,KAAGA,GAAE,MAAK,QAAQwC,IAAE,CAAC;AAAA,MAAC;AAAA,IAAC;AAAC,WAAO,KAAK,UAAQ7D,GAAE,QAAO,KAAK,WAAU,GAAG;AAAA,EAAI;AAAA,EAAC,WAAWA,IAAE;AAAC,KAAA,GAAG,GAAG,QAAQ,IAAI,IAAE,GAAG,GAAG,QAAQA,IAAE,IAAI,GAAE,KAAK,WAAS;AAAG,UAAK,EAAC,QAAO6D,IAAE,MAAK,GAAE,UAASxC,IAAE,MAAK,EAAC,IAAE;AAAK,QAAG,EAAC,KAAI,EAAC,IAAE;AAAK,IAAAwC,GAAE,GAAG,IAAE,KAAI,KAAK,OAAO,SAAS,CAAC,EAAE,KAAK,CAAC,GAAE,KAAK,YAAUxC,KAAE,MAAI,KAAK,QAAQ,GAAE,CAAC,GAAE,IAAE;AAAG,aAAQrB,KAAE,GAAEA,KAAEqB,IAAErB,KAAI,CAAA6D,GAAE7D,EAAC,IAAE;AAAE,MAAC,SAASA,IAAE6D,IAAEW,IAAEnD,IAAE;AAAC,UAAG,cAAY,OAAOrB,GAAE,aAAa,QAAOA,GAAE,aAAa6D,IAAEW,IAAEnD,EAAC;AAAE,YAAMoD,KAAE,OAAO,EAAE,GAAEC,KAAE,OAAO,UAAU,GAAEC,KAAE,OAAOH,MAAGC,KAAEC,EAAC,GAAEE,KAAE,OAAOJ,KAAEE,EAAC,GAAEtD,KAAEC,KAAE,IAAE,GAAEuB,KAAEvB,KAAE,IAAE;AAAE,MAAArB,GAAE,UAAU6D,KAAEzC,IAAEuD,IAAEtD,EAAC,GAAErB,GAAE,UAAU6D,KAAEjB,IAAEgC,IAAEvD,EAAC;AAAA,IAAC,GAAE,GAAEA,KAAE,GAAE,OAAO,IAAE,KAAK,MAAM,GAAE,CAAC,GAAE,KAAK,QAAQ,GAAE,CAAC;AAAE,UAAM,KAAE,GAAG,GAAG,YAAYrB,EAAC,GAAE,IAAE,KAAK;AAAU,QAAG,IAAE,EAAE,OAAM,IAAI,MAAM,6CAA6C;AAAE,UAAMoB,KAAE,IAAE,GAAEwB,KAAE,KAAK,IAAG;AAAG,QAAGxB,KAAEwB,GAAE,OAAO,OAAM,IAAI,MAAM,oCAAoC;AAAE,aAAQ5C,KAAE,GAAEA,KAAEoB,IAAEpB,KAAI,GAAE,UAAU,IAAEA,IAAE4C,GAAE5C,EAAC,GAAE,CAAC;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,UAAK,EAAC,QAAOA,IAAE,WAAU6D,GAAC,IAAE;AAAK,SAAK,WAAW7D,EAAC;AAAE,UAAM,IAAEA,GAAE,MAAM,GAAE6D,EAAC;AAAE,WAAO,KAAK,QAAO,GAAG;AAAA,EAAC;AAAA,EAAC,WAAW7D,IAAE;AAAC,IAAAA,OAAIA,KAAE,IAAI,KAAK,gBAAaA,GAAE,IAAI,GAAG,KAAK,IAAG,CAAE;AAAE,UAAK,EAAC,UAAS6D,IAAE,QAAO,GAAE,QAAOxC,IAAE,UAAS,GAAE,WAAU,GAAE,KAAI,EAAC,IAAE;AAAK,WAAOrB,GAAE,SAAOqB,IAAErB,GAAE,MAAI,GAAEA,GAAE,WAAS,GAAEA,GAAE,YAAU,GAAEqB,KAAEwC,MAAG7D,GAAE,OAAO,IAAI,CAAC,GAAEA;AAAA,EAAC;AAAC;AAAE,IAAI,KAAG;AAAG,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,QAAM,GAAG,QAAM,GAAG,QAAM,GAAG,QAAM,GAAG,QAAM,GAAG,QAAM,GAAG,SAAO,GAAG,SAAO,GAAG,SAAO,GAAG,SAAO,GAAG,UAAQ,GAAG,UAAQ,GAAG,SAAO,GAAG,SAAO,GAAG,SAAO,GAAG,SAAO,GAAG,QAAM,GAAG,QAAM,GAAG,QAAM,QAAO,GAAG,UAAQ,IAAG,GAAG,QAAM,IAAG,GAAG,MAAI;AAAG,MAAM,KAAG,OAAO,KAAG,KAAG,CAAC,GAAE,KAAG,OAAO,EAAE;AAAE,SAAS,GAAGA,IAAE6D,KAAE,OAAG;AAAC,SAAOA,KAAE,EAAC,GAAE,OAAO7D,KAAE,EAAE,GAAE,GAAE,OAAOA,MAAG,KAAG,EAAE,EAAC,IAAE,EAAC,GAAE,IAAE,OAAOA,MAAG,KAAG,EAAE,GAAE,GAAE,IAAE,OAAOA,KAAE,EAAE,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE6D,KAAE,OAAG;AAAC,MAAI,IAAE,IAAI,YAAY7D,GAAE,MAAM,GAAEqB,KAAE,IAAI,YAAYrB,GAAE,MAAM;AAAE,WAAQ,IAAE,GAAE,IAAEA,GAAE,QAAO,KAAI;AAAC,UAAK,EAAC,GAAE,GAAE,GAAE,EAAC,IAAE,GAAGA,GAAE,CAAC,GAAE6D,EAAC;AAAE,KAAC,EAAE,CAAC,GAAExC,GAAE,CAAC,CAAC,IAAE,CAAC,GAAE,CAAC;AAAA,EAAC;AAAC,SAAM,CAAC,GAAEA,EAAC;AAAC;AAAC,MAAM,KAAG,CAACrB,IAAE6D,OAAI,OAAO7D,OAAI,CAAC,KAAG,KAAG,OAAO6D,OAAI,CAAC;AAAE,GAAG,QAAM;AAAG,MAAM,KAAG,CAAC7D,IAAE6D,IAAE,MAAI7D,OAAI;AAAE,GAAG,QAAM;AAAG,MAAM,KAAG,CAACA,IAAE6D,IAAE,MAAI7D,MAAG,KAAG,IAAE6D,OAAI;AAAE,GAAG,QAAM;AAAG,MAAM,KAAG,CAAC7D,IAAE6D,IAAE,MAAI7D,OAAI,IAAE6D,MAAG,KAAG;AAAE,GAAG,SAAO;AAAG,MAAM,KAAG,CAAC7D,IAAE6D,IAAE,MAAI7D,MAAG,KAAG,IAAE6D,OAAI;AAAE,GAAG,SAAO;AAAG,MAAM,KAAG,CAAC7D,IAAE6D,IAAE,MAAI7D,MAAG,KAAG,IAAE6D,OAAI,IAAE;AAAG,GAAG,SAAO;AAAG,MAAM,KAAG,CAAC7D,IAAE6D,IAAE,MAAI7D,OAAI,IAAE,KAAG6D,MAAG,KAAG;AAAE,GAAG,SAAO;AAAG,MAAM,KAAG,CAAC7D,IAAE6D,OAAIA;AAAE,GAAG,UAAQ;AAAG,MAAM,KAAG,CAAC7D,IAAE6D,OAAI7D;AAAE,GAAG,UAAQ;AAAG,MAAM,KAAG,CAACA,IAAE6D,IAAE,MAAI7D,MAAG,IAAE6D,OAAI,KAAG;AAAE,GAAG,SAAO;AAAG,MAAM,KAAG,CAAC7D,IAAE6D,IAAE,MAAIA,MAAG,IAAE7D,OAAI,KAAG;AAAE,GAAG,SAAO;AAAG,MAAM,KAAG,CAACA,IAAE6D,IAAE,MAAIA,MAAG,IAAE,KAAG7D,OAAI,KAAG;AAAE,GAAG,SAAO;AAAG,MAAM,KAAG,CAACA,IAAE6D,IAAE,MAAI7D,MAAG,IAAE,KAAG6D,OAAI,KAAG;AAAE,SAAS,GAAG7D,IAAE6D,IAAE,GAAExC,IAAE;AAAC,QAAM,KAAGwC,OAAI,MAAIxC,OAAI;AAAG,SAAM,EAAC,GAAErB,KAAE,KAAG,IAAE,KAAG,KAAG,KAAG,GAAE,GAAE,IAAE,EAAC;AAAC;AAAC,GAAG,SAAO;AAAG,MAAM,KAAG,CAACA,IAAE6D,IAAE,OAAK7D,OAAI,MAAI6D,OAAI,MAAI,MAAI;AAAG,GAAG,QAAM;AAAG,MAAM,KAAG,CAAC7D,IAAE6D,IAAE,GAAExC,OAAIwC,KAAE,IAAExC,MAAGrB,KAAE,KAAG,KAAG,KAAG;AAAE,GAAG,QAAM;AAAG,MAAM,KAAG,CAACA,IAAE6D,IAAE,GAAExC,QAAKrB,OAAI,MAAI6D,OAAI,MAAI,MAAI,MAAIxC,OAAI;AAAG,GAAG,QAAM;AAAG,MAAM,KAAG,CAACrB,IAAE6D,IAAE,GAAExC,IAAE,MAAIwC,KAAE,IAAExC,KAAE,KAAGrB,KAAE,KAAG,KAAG,KAAG;AAAE,GAAG,QAAM;AAAG,MAAM,KAAG,CAACA,IAAE6D,IAAE,GAAExC,IAAE,OAAKrB,OAAI,MAAI6D,OAAI,MAAI,MAAI,MAAIxC,OAAI,MAAI,MAAI;AAAG,GAAG,QAAM;AAAG,MAAM,KAAG,CAACrB,IAAE6D,IAAE,GAAExC,IAAE,GAAE,MAAIwC,KAAE,IAAExC,KAAE,IAAE,KAAGrB,KAAE,KAAG,KAAG,KAAG;AAAE,GAAG,QAAM;AAAG,MAAM,KAAG,EAAC,SAAQ,IAAG,OAAM,IAAG,OAAM,IAAG,OAAM,IAAG,OAAM,IAAG,QAAO,IAAG,QAAO,IAAG,QAAO,IAAG,QAAO,IAAG,SAAQ,IAAG,SAAQ,IAAG,QAAO,IAAG,QAAO,IAAG,QAAO,IAAG,QAAO,IAAG,KAAI,IAAG,OAAM,IAAG,OAAM,IAAG,OAAM,IAAG,OAAM,IAAG,OAAM,IAAG,OAAM,GAAE;AAAE,GAAG,UAAQ,IAAG,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,SAAO,GAAG,aAAW,GAAG,aAAW,GAAG,SAAO,GAAG,SAAO,GAAG,aAAW,GAAG,aAAW,GAAG,SAAO;AAAO,MAAM,KAAG,IAAG,KAAG,IAAG,KAAG,IAAG,CAAC,IAAG,EAAE,KAAG,MAAI,GAAG,QAAQ,MAAM,CAAC,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,sBAAqB,oBAAoB,EAAE,KAAK,CAAAA,OAAG,OAAOA,EAAC,EAAC,CAAE,GAAC,GAAI,KAAG,IAAI,YAAY,EAAE,GAAE,KAAG,IAAI,YAAY,EAAE;AAAE,MAAM,WAAW,GAAG,OAAM;AAAA,EAAC,cAAa;AAAC,UAAM,KAAI,IAAG,IAAG,KAAE,GAAE,KAAK,KAAG,YAAW,KAAK,KAAG,YAAW,KAAK,KAAG,aAAY,KAAK,KAAG,aAAY,KAAK,KAAG,YAAW,KAAK,KAAG,WAAU,KAAK,KAAG,aAAY,KAAK,KAAG,YAAW,KAAK,KAAG,YAAW,KAAK,KAAG,aAAY,KAAK,KAAG,aAAY,KAAK,KAAG,WAAU,KAAK,KAAG,WAAU,KAAK,KAAG,WAAU,KAAK,KAAG,YAAW,KAAK,KAAG;AAAA,EAAS;AAAA,EAAC,MAAK;AAAC,UAAK,EAAC,IAAGA,IAAE,IAAG6D,IAAE,IAAG,GAAE,IAAGxC,IAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAGD,IAAE,IAAGwB,IAAE,IAAGhC,IAAE,IAAG0D,IAAE,IAAG3D,IAAE,IAAG4D,IAAE,IAAGf,IAAE,IAAGzD,GAAC,IAAE;AAAK,WAAM,CAACC,IAAE6D,IAAE,GAAExC,IAAE,GAAE,GAAE,GAAE,GAAED,IAAEwB,IAAEhC,IAAE0D,IAAE3D,IAAE4D,IAAEf,IAAEzD,EAAC;AAAA,EAAC;AAAA,EAAC,IAAIC,IAAE6D,IAAE,GAAExC,IAAE,GAAE,GAAE,GAAE,GAAED,IAAEwB,IAAEhC,IAAE0D,IAAE3D,IAAE4D,IAAEf,IAAEzD,IAAE;AAAC,SAAK,KAAG,IAAEC,IAAE,KAAK,KAAG,IAAE6D,IAAE,KAAK,KAAG,IAAE,GAAE,KAAK,KAAG,IAAExC,IAAE,KAAK,KAAG,IAAE,GAAE,KAAK,KAAG,IAAE,GAAE,KAAK,KAAG,IAAE,GAAE,KAAK,KAAG,IAAE,GAAE,KAAK,KAAG,IAAED,IAAE,KAAK,KAAG,IAAEwB,IAAE,KAAK,KAAG,IAAEhC,IAAE,KAAK,KAAG,IAAE0D,IAAE,KAAK,KAAG,IAAE3D,IAAE,KAAK,KAAG,IAAE4D,IAAE,KAAK,KAAG,IAAEf,IAAE,KAAK,KAAG,IAAEzD;AAAA,EAAC;AAAA,EAAC,QAAQC,IAAE6D,IAAE;AAAC,aAAQW,KAAE,GAAEA,KAAE,IAAGA,MAAIX,MAAG,EAAE,IAAGW,EAAC,IAAExE,GAAE,UAAU6D,EAAC,GAAE,GAAGW,EAAC,IAAExE,GAAE,UAAU6D,MAAG,CAAC;AAAE,aAAQ7D,KAAE,IAAGA,KAAE,IAAGA,MAAI;AAAC,YAAM6D,KAAE,IAAE,GAAG7D,KAAE,EAAE,GAAEwE,KAAE,IAAE,GAAGxE,KAAE,EAAE,GAAEqB,KAAE,GAAG,QAAQ,OAAOwC,IAAEW,IAAE,CAAC,IAAE,GAAG,QAAQ,OAAOX,IAAEW,IAAE,CAAC,IAAE,GAAG,QAAQ,MAAMX,IAAEW,IAAE,CAAC,GAAEC,KAAE,GAAG,QAAQ,OAAOZ,IAAEW,IAAE,CAAC,IAAE,GAAG,QAAQ,OAAOX,IAAEW,IAAE,CAAC,IAAE,GAAG,QAAQ,MAAMX,IAAEW,IAAE,CAAC,GAAEE,KAAE,IAAE,GAAG1E,KAAE,CAAC,GAAE2E,KAAE,IAAE,GAAG3E,KAAE,CAAC,GAAE4E,KAAE,GAAG,QAAQ,OAAOF,IAAEC,IAAE,EAAE,IAAE,GAAG,QAAQ,OAAOD,IAAEC,IAAE,EAAE,IAAE,GAAG,QAAQ,MAAMD,IAAEC,IAAE,CAAC,GAAEvD,KAAE,GAAG,QAAQ,OAAOsD,IAAEC,IAAE,EAAE,IAAE,GAAG,QAAQ,OAAOD,IAAEC,IAAE,EAAE,IAAE,GAAG,QAAQ,MAAMD,IAAEC,IAAE,CAAC,GAAE/B,KAAE,GAAG,QAAQ,MAAM6B,IAAErD,IAAE,GAAGpB,KAAE,CAAC,GAAE,GAAGA,KAAE,EAAE,CAAC,GAAEY,KAAE,GAAG,QAAQ,MAAMgC,IAAEvB,IAAEuD,IAAE,GAAG5E,KAAE,CAAC,GAAE,GAAGA,KAAE,EAAE,CAAC;AAAE,SAAGA,EAAC,IAAE,IAAEY,IAAE,GAAGZ,EAAC,IAAE,IAAE4C;AAAA,IAAC;AAAC,QAAG,EAAC,IAAG,GAAE,IAAGvB,IAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAGD,IAAE,IAAGwB,IAAE,IAAGhC,IAAE,IAAG0D,IAAE,IAAG3D,IAAE,IAAG4D,IAAE,IAAGf,IAAE,IAAGzD,IAAE,IAAGW,IAAE,IAAGI,GAAC,IAAE;AAAK,aAAQd,KAAE,GAAEA,KAAE,IAAGA,MAAI;AAAC,YAAM6D,KAAE,GAAG,QAAQ,OAAOjD,IAAE0D,IAAE,EAAE,IAAE,GAAG,QAAQ,OAAO1D,IAAE0D,IAAE,EAAE,IAAE,GAAG,QAAQ,OAAO1D,IAAE0D,IAAE,EAAE,GAAEnD,KAAE,GAAG,QAAQ,OAAOP,IAAE0D,IAAE,EAAE,IAAE,GAAG,QAAQ,OAAO1D,IAAE0D,IAAE,EAAE,IAAE,GAAG,QAAQ,OAAO1D,IAAE0D,IAAE,EAAE,GAAE/B,KAAE3B,KAAED,KAAE,CAACC,KAAE4C,IAAE3C,KAAEyD,KAAEC,KAAE,CAACD,KAAEvE,IAAE8E,KAAE,GAAG,QAAQ,MAAM/D,IAAEK,IAAEN,IAAE,GAAGb,EAAC,GAAE,GAAGA,EAAC,CAAC,GAAE8E,KAAE,GAAG,QAAQ,MAAMD,IAAEnE,IAAEmD,IAAEtB,IAAE,GAAGvC,EAAC,GAAE,GAAGA,EAAC,CAAC,GAAE+E,KAAE,IAAEF,IAAEG,KAAE,GAAG,QAAQ,OAAO,GAAE3D,IAAE,EAAE,IAAE,GAAG,QAAQ,OAAO,GAAEA,IAAE,EAAE,IAAE,GAAG,QAAQ,OAAO,GAAEA,IAAE,EAAE,GAAEa,KAAE,GAAG,QAAQ,OAAO,GAAEb,IAAE,EAAE,IAAE,GAAG,QAAQ,OAAO,GAAEA,IAAE,EAAE,IAAE,GAAG,QAAQ,OAAO,GAAEA,IAAE,EAAE,GAAE4D,KAAE,IAAE,IAAE,IAAE,IAAE,IAAE,GAAEC,KAAE7D,KAAE,IAAEA,KAAE,IAAE,IAAE;AAAE,MAAAX,KAAE,IAAE8C,IAAE1C,KAAE,IAAEf,IAAEyD,KAAE,IAAE7C,IAAEZ,KAAE,IAAEwE,IAAE5D,KAAE,IAAEC,IAAE2D,KAAE,IAAED,IAAG,EAAC,GAAE1D,IAAE,GAAE0D,GAAC,IAAE,GAAG,QAAQ,IAAI,IAAElD,IAAE,IAAEwB,IAAE,IAAEkC,IAAE,IAAEC,EAAC,GAAG3D,KAAE,IAAE,GAAEwB,KAAE,IAAE,GAAE,IAAE,IAAE,GAAE,IAAE,IAAE,GAAE,IAAE,IAAE,GAAE,IAAE,IAAEvB;AAAE,YAAM8D,KAAE,GAAG,QAAQ,MAAMJ,IAAE7C,IAAEgD,EAAC;AAAE,UAAE,GAAG,QAAQ,MAAMC,IAAEL,IAAEE,IAAEC,EAAC,GAAE5D,KAAE,IAAE8D;AAAA,IAAC;AAAC,KAAC,EAAC,GAAE,GAAE,GAAE9D,GAAC,IAAE,GAAG,QAAQ,IAAI,IAAE,KAAK,IAAG,IAAE,KAAK,IAAG,IAAE,GAAE,IAAEA,EAAC,IAAI,EAAC,GAAE,GAAE,GAAE,EAAC,IAAE,GAAG,QAAQ,IAAI,IAAE,KAAK,IAAG,IAAE,KAAK,IAAG,IAAE,GAAE,IAAE,CAAC,GAAI,EAAC,GAAE,GAAE,GAAE,EAAC,IAAE,GAAG,QAAQ,IAAI,IAAE,KAAK,IAAG,IAAE,KAAK,IAAG,IAAE,GAAE,IAAE,CAAC,GAAI,EAAC,GAAED,IAAE,GAAEwB,GAAC,IAAE,GAAG,QAAQ,IAAI,IAAE,KAAK,IAAG,IAAE,KAAK,IAAG,IAAExB,IAAE,IAAEwB,EAAC,GAAI,EAAC,GAAEhC,IAAE,GAAE0D,GAAC,IAAE,GAAG,QAAQ,IAAI,IAAE,KAAK,IAAG,IAAE,KAAK,IAAG,IAAE1D,IAAE,IAAE0D,EAAC,GAAI,EAAC,GAAE3D,IAAE,GAAE4D,GAAC,IAAE,GAAG,QAAQ,IAAI,IAAE,KAAK,IAAG,IAAE,KAAK,IAAG,IAAE5D,IAAE,IAAE4D,EAAC,GAAI,EAAC,GAAEf,IAAE,GAAEzD,GAAC,IAAE,GAAG,QAAQ,IAAI,IAAE,KAAK,IAAG,IAAE,KAAK,IAAG,IAAEyD,IAAE,IAAEzD,EAAC,GAAI,EAAC,GAAEW,IAAE,GAAEI,GAAC,IAAE,GAAG,QAAQ,IAAI,IAAE,KAAK,IAAG,IAAE,KAAK,IAAG,IAAEJ,IAAE,IAAEI,EAAC,GAAG,KAAK,IAAI,GAAEO,IAAE,GAAE,GAAE,GAAE,GAAED,IAAEwB,IAAEhC,IAAE0D,IAAE3D,IAAE4D,IAAEf,IAAEzD,IAAEW,IAAEI,EAAC;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,OAAG,KAAK,CAAC,GAAE,GAAG,KAAK,CAAC;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,SAAK,OAAO,KAAK,CAAC,GAAE,KAAK,IAAI,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,CAAC;AAAA,EAAC;AAAC;AAAC,GAAG,SAAO;AAAG,MAAM,WAAW,GAAE;AAAA,EAAC,cAAa;AAAC,UAAK,GAAG,KAAK,KAAG,aAAY,KAAK,KAAG,WAAU,KAAK,KAAG,YAAW,KAAK,KAAG,aAAY,KAAK,KAAG,WAAU,KAAK,KAAG,WAAU,KAAK,KAAG,YAAW,KAAK,KAAG,YAAW,KAAK,KAAG,WAAU,KAAK,KAAG,YAAW,KAAK,KAAG,YAAW,KAAK,KAAG,UAAS,KAAK,KAAG,YAAW,KAAK,KAAG,YAAW,KAAK,KAAG,WAAU,KAAK,KAAG,aAAY,KAAK,YAAU;AAAA,EAAE;AAAC;AAAC,GAAG,aAAW;AAAG,MAAM,WAAW,GAAE;AAAA,EAAC,cAAa;AAAC,UAAK,GAAG,KAAK,KAAG,WAAU,KAAK,KAAG,WAAU,KAAK,KAAG,aAAY,KAAK,KAAG,YAAW,KAAK,KAAG,WAAU,KAAK,KAAG,YAAW,KAAK,KAAG,aAAY,KAAK,KAAG,YAAW,KAAK,KAAG,aAAY,KAAK,KAAG,aAAY,KAAK,KAAG,aAAY,KAAK,KAAG,YAAW,KAAK,KAAG,WAAU,KAAK,KAAG,WAAU,KAAK,KAAG,WAAU,KAAK,KAAG,aAAY,KAAK,YAAU;AAAA,EAAE;AAAC;AAAC,GAAG,aAAW;AAAG,MAAM,WAAW,GAAE;AAAA,EAAC,cAAa;AAAC,UAAK,GAAG,KAAK,KAAG,YAAW,KAAK,KAAG,aAAY,KAAK,KAAG,YAAW,KAAK,KAAG,WAAU,KAAK,KAAG,aAAY,KAAK,KAAG,WAAU,KAAK,KAAG,WAAU,KAAK,KAAG,YAAW,KAAK,KAAG,YAAW,KAAK,KAAG,UAAS,KAAK,KAAG,aAAY,KAAK,KAAG,YAAW,KAAK,KAAG,YAAW,KAAK,KAAG,YAAW,KAAK,KAAG,YAAW,KAAK,KAAG,aAAY,KAAK,YAAU;AAAA,EAAE;AAAC;AAAC,GAAG,SAAO,IAAG,GAAG,UAAO,GAAG,GAAG,kBAAkB,MAAI,IAAI,KAAE,GAAG,GAAG,cAAW,GAAG,GAAG,kBAAkB,MAAI,IAAI,KAAE,GAAG,GAAG,cAAW,GAAG,GAAG,kBAAkB,MAAI,IAAI,KAAE,GAAG,GAAG,UAAO,GAAG,GAAG,kBAAkB,MAAI,IAAI,KAAE;AAAG,IAAI,KAAG,CAAA,GAAG,KAAG,CAAA,GAAG,KAAG,IAAG,KAAG,CAAA;AAAG,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,iBAAe,GAAG,UAAQ,QAAO,GAAG,UAAQ,IAAG,GAAG,SAAO,IAAG,GAAG,QAAM,SAASd,IAAE6D,IAAE;AAAC,MAAG,aAAW,OAAOA,GAAE,OAAM,IAAI,MAAM,GAAG7D,EAAC,gCAAgC6D,EAAC,IAAI;AAAC,GAAE,GAAG,aAAW,IAAG,GAAG,sBAAoB,IAAG,GAAG,cAAY,IAAG,GAAG,aAAW,IAAG,GAAG,kBAAgB,SAAS7D,IAAE;AAAC,SAAO,GAAG,GAAGA,EAAC,CAAC;AAAC,GAAE,GAAG,kBAAgB,SAASA,IAAE;AAAC,SAAO,GAAGA,EAAC,GAAE,GAAG,GAAG,WAAW,KAAKA,EAAC,EAAE,SAAS,CAAC;AAAC,GAAE,GAAG,kBAAgB,IAAG,GAAG,kBAAgB,SAASA,IAAE6D,IAAE;AAAC,SAAO,GAAG7D,IAAE6D,EAAC,EAAE,QAAO;AAAE,GAAE,GAAG,qBAAmB,SAAS7D,IAAE;AAAC,SAAO,GAAG,GAAGA,EAAC,CAAC;AAAC,GAAE,GAAG,cAAY,SAASA,IAAE6D,IAAE,GAAE;AAAC,MAAIxC;AAAE,MAAG,YAAU,OAAOwC,GAAE,KAAG;AAAC,IAAAxC,KAAE,GAAGwC,EAAC;AAAA,EAAC,SAAOW,IAAE;AAAC,UAAM,IAAI,MAAM,GAAGxE,EAAC,mCAAmC6D,EAAC,aAAaW,EAAC,EAAE;AAAA,EAAC;AAAA,OAAK;AAAC,QAAG,CAAC,GAAGX,EAAC,EAAE,OAAM,IAAI,MAAM,GAAG7D,EAAC,mCAAmC;AAAE,IAAAqB,KAAE,WAAW,KAAKwC,EAAC;AAAA,EAAC;AAAC,QAAM,IAAExC,GAAE;AAAO,MAAG,YAAU,OAAO,KAAG,MAAI,EAAE,OAAM,IAAI,MAAM,GAAGrB,EAAC,aAAa,CAAC,eAAe,CAAC,EAAE;AAAE,SAAOqB;AAAC,GAAE,GAAG,cAAY,IAAG,GAAG,aAAW,SAASrB,IAAE6D,IAAE;AAAC,MAAG7D,GAAE,WAAS6D,GAAE,OAAO,QAAM;AAAG,MAAI,IAAE;AAAE,WAAQxC,KAAE,GAAEA,KAAErB,GAAE,QAAOqB,KAAI,MAAGrB,GAAEqB,EAAC,IAAEwC,GAAExC,EAAC;AAAE,SAAO,MAAI;AAAC,GAAE,GAAG,cAAY,SAASrB,IAAE;AAAC,MAAG,YAAU,OAAOA,GAAE,OAAM,IAAI,MAAM,sCAAoC,OAAOA,EAAC;AAAE,SAAO,IAAI,WAAY,IAAI,cAAa,OAAOA,EAAC,CAAC;AAAC,GAAE,GAAG,UAAQ,IAAG,GAAG,WAAS,SAASA,IAAE6D,IAAE,GAAExC,IAAE;AAAC,MAAG,CAAC,GAAGwC,IAAE,GAAExC,EAAC,EAAE,OAAM,IAAI,MAAM,kBAAkBrB,EAAC,KAAK,CAAC,WAAWqB,EAAC,SAAS,OAAOwC,EAAC,IAAIA,EAAC,EAAE;AAAC,GAAE,GAAG,SAAO,SAAS7D,IAAE;AAAC,MAAI6D;AAAE,OAAIA,KAAE,GAAE7D,KAAE,IAAGA,OAAI,IAAG6D,MAAG,EAAE;AAAC,SAAOA;AAAC,GAAE,GAAG,SAAO,SAAS7D,IAAE6D,IAAE;AAAC,SAAO7D,MAAG,OAAO6D,EAAC,IAAE;AAAE,GAAE,GAAG,SAAO,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,SAAO7D,MAAG,IAAE,KAAG,OAAK,OAAO6D,EAAC;AAAC,GAAE,GAAG,iBAAe,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,MAAG,YAAU,OAAO7D,MAAGA,KAAE,EAAE,OAAM,IAAI,MAAM,0BAA0B;AAAE,MAAG,YAAU,OAAO6D,MAAGA,KAAE,EAAE,OAAM,IAAI,MAAM,2BAA2B;AAAE,MAAG,cAAY,OAAO,EAAE,OAAM,IAAI,MAAM,2BAA2B;AAAE,MAAIxC,KAAE,GAAGrB,EAAC,GAAE,IAAE,GAAGA,EAAC,GAAE,IAAE;AAAE,QAAM,IAAE,MAAI;AAAC,IAAAqB,GAAE,KAAK,CAAC,GAAE,EAAE,KAAK,CAAC,GAAE,IAAE;AAAA,EAAC,GAAE,IAAE,IAAIrB,OAAI,EAAE,GAAEqB,IAAE,GAAGrB,EAAC,GAAEoB,KAAE,CAACpB,KAAE,GAAE,MAAK;AAAC,QAAE,EAAE,GAAG,CAAC,CAAC,CAAC,GAAEA,EAAC,GAAEqB,KAAE,KAAI,MAAIrB,GAAE,WAAS,IAAE,EAAE,GAAG,CAAC,CAAC,CAAC,GAAEA,EAAC,GAAEqB,KAAE,EAAC;AAAA,EAAG,GAAEuB,KAAE,MAAI;AAAC,QAAG,OAAK,IAAI,OAAM,IAAI,MAAM,yBAAyB;AAAE,QAAI5C,KAAE;AAAE,UAAMwE,KAAE,CAAA;AAAG,WAAKxE,KAAE6D,MAAG;AAAC,MAAAxC,KAAE,EAAC;AAAG,YAAMwC,KAAExC,GAAE,MAAK;AAAG,MAAAmD,GAAE,KAAKX,EAAC,GAAE7D,MAAGqB,GAAE;AAAA,IAAM;AAAC,WAAO,GAAG,GAAGmD,EAAC;AAAA,EAAC;AAAE,SAAM,CAACxE,IAAE6D,OAAI;AAAC,QAAIW;AAAE,SAAI,EAAC,GAAGpD,GAAEpB,EAAC,GAAE,EAAEwE,KAAEX,GAAEjB,GAAC,CAAE,KAAI,CAAAxB,GAAC;AAAG,WAAO,KAAIoD;AAAA,EAAC;AAAC,GAAE,GAAG,iBAAe,SAASxE,IAAE6D,IAAE,IAAE,CAAA,GAAG;AAAC,QAAMxC,KAAE,CAACwC,IAAEW,IAAEnD,OAAI;AAAC,UAAM,IAAE,GAAGmD,EAAC;AAAE,QAAG,cAAY,OAAO,EAAE,OAAM,IAAI,MAAM,sBAAsBA,EAAC,sBAAsB;AAAE,UAAM,IAAExE,GAAE6D,EAAC;AAAE,QAAG,EAAExC,MAAG,WAAS,KAAG,EAAE,GAAErB,EAAC,GAAG,OAAM,IAAI,MAAM,iBAAiB,OAAO6D,EAAC,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,eAAeW,EAAC,EAAE;AAAA,EAAC;AAAE,aAAS,CAACxE,IAAEwE,EAAC,KAAI,OAAO,QAAQX,EAAC,EAAE,CAAAxC,GAAErB,IAAEwE,IAAE,KAAE;AAAE,aAAS,CAACxE,IAAE6D,EAAC,KAAI,OAAO,QAAQ,CAAC,EAAE,CAAAxC,GAAErB,IAAE6D,IAAE,IAAE;AAAE,SAAO7D;AAAC,GAAE,GAAG,WAAS,SAASA,IAAE;AAAC,QAAM6D,KAAE,oBAAI;AAAQ,SAAM,CAAC,MAAKxC,OAAI;AAAC,UAAM,IAAEwC,GAAE,IAAI,CAAC;AAAE,QAAG,WAAS,EAAE,QAAO;AAAE,UAAM,IAAE7D,GAAE,GAAE,GAAGqB,EAAC;AAAE,WAAOwC,GAAE,IAAI,GAAE,CAAC,GAAE;AAAA,EAAC;AAAC;AAAE,MAAM,KAAG,OAAO,CAAC,GAAE,KAAG,OAAO,CAAC,GAAE,KAAG,OAAO,CAAC;AAAE,SAAS,GAAG7D,IAAE;AAAC,SAAOA,cAAa,cAAY,QAAMA,MAAG,YAAU,OAAOA,MAAG,iBAAeA,GAAE,YAAY;AAAI;AAAC,SAAS,GAAGA,IAAE;AAAC,MAAG,CAAC,GAAGA,EAAC,EAAE,OAAM,IAAI,MAAM,qBAAqB;AAAC;AAAC,MAAM,KAAG,MAAM,KAAK,EAAC,QAAO,IAAG,IAAG,CAACA,IAAE6D,OAAIA,GAAE,SAAS,EAAE,EAAE,SAAS,GAAE,GAAG,EAAC;AAAG,SAAS,GAAG7D,IAAE;AAAC,KAAGA,EAAC;AAAE,MAAI6D,KAAE;AAAG,WAAQ,IAAE,GAAE,IAAE7D,GAAE,QAAO,IAAI,CAAA6D,MAAG,GAAG7D,GAAE,CAAC,CAAC;AAAE,SAAO6D;AAAC;AAAC,SAAS,GAAG7D,IAAE;AAAC,QAAM6D,KAAE7D,GAAE,SAAS,EAAE;AAAE,SAAO,IAAE6D,GAAE,SAAO,IAAIA,EAAC,KAAGA;AAAC;AAAC,SAAS,GAAG7D,IAAE;AAAC,MAAG,YAAU,OAAOA,GAAE,OAAM,IAAI,MAAM,8BAA4B,OAAOA,EAAC;AAAE,SAAO,OAAO,OAAKA,KAAE,MAAI,KAAKA,EAAC,EAAE;AAAC;AAAC,MAAM,KAAG,EAAC,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAE,SAAS,GAAGA,IAAE;AAAC,SAAOA,MAAG,GAAG,MAAIA,MAAG,GAAG,KAAGA,KAAE,GAAG,KAAGA,MAAG,GAAG,MAAIA,MAAG,GAAG,KAAGA,MAAG,GAAG,KAAG,MAAIA,MAAG,GAAG,MAAIA,MAAG,GAAG,KAAGA,MAAG,GAAG,KAAG,MAAI;AAAM;AAAC,SAAS,GAAGA,IAAE;AAAC,MAAG,YAAU,OAAOA,GAAE,OAAM,IAAI,MAAM,8BAA4B,OAAOA,EAAC;AAAE,QAAM6D,KAAE7D,GAAE,QAAO,IAAE6D,KAAE;AAAE,MAAGA,KAAE,EAAE,OAAM,IAAI,MAAM,4DAA0DA,EAAC;AAAE,QAAMxC,KAAE,IAAI,WAAW,CAAC;AAAE,WAAQwC,KAAE,GAAE,IAAE,GAAEA,KAAE,GAAEA,MAAI,KAAG,GAAE;AAAC,UAAMW,KAAE,GAAGxE,GAAE,WAAW,CAAC,CAAC,GAAE,IAAE,GAAGA,GAAE,WAAW,IAAE,CAAC,CAAC;AAAE,QAAG,WAASwE,MAAG,WAAS,GAAE;AAAC,YAAMX,KAAE7D,GAAE,CAAC,IAAEA,GAAE,IAAE,CAAC;AAAE,YAAM,IAAI,MAAM,iDAA+C6D,KAAE,gBAAc,CAAC;AAAA,IAAC;AAAC,IAAAxC,GAAEwC,EAAC,IAAE,KAAGW,KAAE;AAAA,EAAC;AAAC,SAAOnD;AAAC;AAAC,SAAS,GAAGrB,IAAE6D,IAAE;AAAC,SAAO,GAAG7D,GAAE,SAAS,EAAE,EAAE,SAAS,IAAE6D,IAAE,GAAG,CAAC;AAAC;AAAC,SAAS,MAAM7D,IAAE;AAAC,MAAI6D,KAAE;AAAE,WAAQW,KAAE,GAAEA,KAAExE,GAAE,QAAOwE,MAAI;AAAC,UAAMnD,KAAErB,GAAEwE,EAAC;AAAE,OAAGnD,EAAC,GAAEwC,MAAGxC,GAAE;AAAA,EAAM;AAAC,QAAM,IAAE,IAAI,WAAWwC,EAAC;AAAE,WAAQA,KAAE,GAAExC,KAAE,GAAEwC,KAAE7D,GAAE,QAAO6D,MAAI;AAAC,UAAM,IAAE7D,GAAE6D,EAAC;AAAE,MAAE,IAAI,GAAExC,EAAC,GAAEA,MAAG,EAAE;AAAA,EAAM;AAAC,SAAO;AAAC;AAAC,MAAM,KAAG,CAAArB,OAAG,YAAU,OAAOA,MAAG,MAAIA;AAAE,SAAS,GAAGA,IAAE6D,IAAE,GAAE;AAAC,SAAO,GAAG7D,EAAC,KAAG,GAAG6D,EAAC,KAAG,GAAG,CAAC,KAAGA,MAAG7D,MAAGA,KAAE;AAAC;AAAC,GAAG,UAAQ,CAAAA,QAAI,MAAI,OAAOA,KAAE,CAAC,KAAG;AAAG,MAAM,KAAG,CAAAA,OAAG,IAAI,WAAWA,EAAC,GAAE,KAAG,CAAAA,OAAG,WAAW,KAAKA,EAAC;AAAE,MAAM,KAAG,EAAC,QAAO,CAAAA,OAAG,YAAU,OAAOA,IAAE,UAAS,CAAAA,OAAG,cAAY,OAAOA,IAAE,SAAQ,CAAAA,OAAG,aAAW,OAAOA,IAAE,QAAO,CAAAA,OAAG,YAAU,OAAOA,IAAE,oBAAmB,CAAAA,OAAG,YAAU,OAAOA,MAAG,GAAGA,EAAC,GAAE,eAAc,CAAAA,OAAG,OAAO,cAAcA,EAAC,GAAE,OAAM,CAAAA,OAAG,MAAM,QAAQA,EAAC,GAAE,OAAM,CAACA,IAAE6D,OAAIA,GAAE,GAAG,QAAQ7D,EAAC,GAAE,MAAK,CAAAA,OAAG,cAAY,OAAOA,MAAG,OAAO,cAAcA,GAAE,SAAS,EAAC;AAAE,GAAG,iBAAe,MAAI;AAAC,QAAM,IAAI,MAAM,iBAAiB;AAAC,GAAE,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,eAAa,QAAO,GAAG,MAAI,IAAG,GAAG,MAAI,IAAG,GAAG,OAAK,SAASA,IAAE6D,IAAE,GAAE;AAAC,MAAIxC,KAAErB;AAAE,SAAK6D,OAAK,KAAI,CAAAxC,MAAGA,IAAEA,MAAG;AAAE,SAAOA;AAAC,GAAE,GAAG,SAAO,IAAG,GAAG,gBAAc,IAAG,GAAG,SAAO,IAAG,GAAG,gBAAc,SAASrB,IAAE;AAAC,QAAM6D,KAAE,GAAG,QAAQ,CAAC7D,IAAE6D,QAAK7D,GAAE6D,EAAC,IAAE,YAAW7D,MAAI,EAAC,OAAM,UAAS,MAAK,UAAS,OAAM,iBAAgB,MAAK,gBAAe,CAAC;AAAE,UAAM,GAAG,GAAG,gBAAgBA,IAAE6D,EAAC;AAAC,GAAE,GAAG,QAAM,IAAG,GAAG,gBAAc,IAAG,GAAG,QAAM,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,SAAO7D,GAAE,IAAI6D,IAAE,YAAU,OAAO,IAAE,GAAG,GAAE7D,GAAE,KAAK,IAAEA,GAAE,IAAI,CAAC,CAAC;AAAC,GAAE,GAAG,aAAW,IAAG,GAAG,aAAW,SAASA,IAAE;AAAC,QAAM6D,KAAE,GAAG7D,GAAE,KAAK;AAAE,SAAO,OAAG;AAAC,UAAMqB,KAAEwC,GAAE7D,IAAE,CAAC;AAAE,WAAOA,GAAE,IAAIqB,IAAErB,GAAE,IAAI,KAAGA,GAAE,IAAIqB,IAAErB,GAAE,GAAG;AAAA,EAAC;AAAC,GAAE,GAAG,UAAQ,IAAG,GAAG,QAAM,SAASA,IAAE6D,IAAE,IAAE,OAAGxC,KAAE,CAAA,GAAG;AAAC,MAAGrB,MAAG,GAAG,OAAM,IAAI,MAAM,iCAAiCA,EAAC,EAAE;AAAE,QAAK,EAAC,YAAW,GAAE,aAAY,EAAC,IAAE,GAAGA,IAAE6D,EAAC;AAAE,MAAG,IAAE,KAAK,OAAM,IAAI,MAAM,iDAAiD;AAAE,QAAM,IAAE,GAAG7D,EAAC,GAAE,IAAE,OAAO,OAAO,EAAC,OAAMA,IAAE,MAAK,GAAE,OAAM,GAAE,UAAQ,GAAG,SAAS,CAAC,GAAE,MAAK,IAAG,KAAI,IAAG,QAAO,CAAA6D,OAAG,GAAGA,IAAE7D,EAAC,GAAE,SAAQ,CAAA6D,OAAG;AAAC,QAAG,YAAU,OAAOA,GAAE,OAAM,IAAI,MAAM,iDAA+C,OAAOA,EAAC;AAAE,WAAO,MAAIA,MAAGA,KAAE7D;AAAA,EAAC,GAAE,KAAI,CAAAA,OAAGA,OAAI,IAAG,OAAM,CAAAA,QAAIA,KAAE,QAAM,IAAG,KAAI,CAAA6D,OAAG,GAAG,CAACA,IAAE7D,EAAC,GAAE,KAAI,CAACA,IAAE6D,OAAI7D,OAAI6D,IAAE,KAAI,CAAAA,OAAG,GAAGA,KAAEA,IAAE7D,EAAC,GAAE,KAAI,CAAC6D,IAAEW,OAAI,GAAGX,KAAEW,IAAExE,EAAC,GAAE,KAAI,CAAC6D,IAAEW,OAAI,GAAGX,KAAEW,IAAExE,EAAC,GAAE,KAAI,CAAC6D,IAAEW,OAAI,GAAGX,KAAEW,IAAExE,EAAC,GAAE,KAAI,CAACA,IAAE6D,OAAI,GAAG,GAAE7D,IAAE6D,EAAC,GAAE,KAAI,CAACA,IAAEW,OAAI,GAAGX,KAAE,GAAGW,IAAExE,EAAC,GAAEA,EAAC,GAAE,MAAK,CAAAA,OAAGA,KAAEA,IAAE,MAAK,CAACA,IAAE6D,OAAI7D,KAAE6D,IAAE,MAAK,CAAC7D,IAAE6D,OAAI7D,KAAE6D,IAAE,MAAK,CAAC7D,IAAE6D,OAAI7D,KAAE6D,IAAE,KAAI,CAAAA,OAAG,GAAGA,IAAE7D,EAAC,GAAE,MAAKqB,GAAE,SAAO,CAAArB,OAAG,EAAE,GAAEA,EAAC,IAAG,aAAY,CAAAA,OAAG,GAAG,GAAEA,EAAC,GAAE,MAAK,CAACA,IAAE6D,IAAEW,OAAIA,KAAEX,KAAE7D,IAAE,SAAQ,CAAAA,OAAG,QAAK,GAAG,iBAAiBA,IAAE,CAAC,KAAE,GAAG,GAAG,iBAAiBA,IAAE,CAAC,GAAE,WAAU,CAAAA,OAAG;AAAC,QAAGA,GAAE,WAAS,EAAE,OAAM,IAAI,MAAM,0BAA0B,CAAC,SAASA,GAAE,MAAM,EAAE;AAAE,WAAO,KAAE,GAAG,GAAG,iBAAiBA,EAAC,KAAE,GAAG,GAAG,iBAAiBA,EAAC;AAAA,EAAC,EAAC,CAAC;AAAE,SAAO,OAAO,OAAO,CAAC;AAAC,GAAE,GAAG,YAAU,SAASA,IAAE6D,IAAE;AAAC,MAAG,CAAC7D,GAAE,MAAM,OAAM,IAAI,MAAM,0BAA0B;AAAE,QAAM,IAAEA,GAAE,KAAK6D,EAAC;AAAE,SAAO7D,GAAE,MAAM,CAAC,IAAE,IAAEA,GAAE,IAAI,CAAC;AAAC,GAAE,GAAG,aAAW,SAASA,IAAE6D,IAAE;AAAC,MAAG,CAAC7D,GAAE,MAAM,OAAM,IAAI,MAAM,0BAA0B;AAAE,QAAM,IAAEA,GAAE,KAAK6D,EAAC;AAAE,SAAO7D,GAAE,MAAM,CAAC,IAAEA,GAAE,IAAI,CAAC,IAAE;AAAC,GAAE,GAAG,sBAAoB,SAASA,IAAE6D,IAAE,IAAE,OAAG;AAAC,EAAA7D,MAAE,GAAG,GAAG,aAAa,eAAcA,EAAC;AAAE,QAAMqB,KAAErB,GAAE,QAAO,IAAE,GAAG6D,EAAC,EAAE,cAAY;AAAE,MAAG,IAAE,MAAIxC,KAAE,KAAGA,KAAE,KAAK,OAAM,IAAI,MAAM,iCAAiC,CAAC,6BAA6BA,EAAC,EAAE;AAAE,QAAM,IAAE,KAAE,GAAG,GAAG,iBAAiBrB,EAAC,KAAE,GAAG,GAAG,iBAAiBA,EAAC;AAAE,SAAO,GAAG,GAAE6D,KAAE,EAAE,IAAE;AAAE,GAAE,GAAG,sBAAoB,IAAG,GAAG,mBAAiB,IAAG,GAAG,iBAAe,SAAS7D,IAAE6D,IAAE,IAAE,OAAG;AAAC,QAAMxC,KAAErB,GAAE,QAAO,IAAE,GAAG6D,EAAC,GAAE,IAAE,GAAGA,EAAC;AAAE,MAAGxC,KAAE,MAAIA,KAAE,KAAGA,KAAE,KAAK,OAAM,IAAI,MAAM,YAAY,CAAC,6BAA6BA,EAAC,EAAE;AAAE,QAAM,IAAE,GAAG,QAAK,GAAG,iBAAiBrB,EAAC,KAAE,GAAG,GAAG,iBAAiBA,EAAC,GAAE6D,KAAE,EAAE,IAAE;AAAG,SAAO,KAAE,GAAG,GAAG,iBAAiB,GAAE,CAAC,KAAE,GAAG,GAAG,iBAAiB,GAAE,CAAC;AAAC;AAAE,MAAM,KAAG,IAAG,KAAG,OAAO,CAAC,GAAE,KAAG,OAAO,CAAC,GAAE,KAAG,OAAO,CAAC,GAAE,KAAG,OAAO,CAAC,GAAE,KAAG,OAAO,CAAC,GAAE,KAAG,OAAO,CAAC,GAAE,KAAG,OAAO,CAAC;AAAE,SAAS,GAAG7D,IAAE6D,IAAE;AAAC,QAAM,IAAE7D,KAAE6D;AAAE,SAAO,KAAG,KAAG,IAAEA,KAAE;AAAC;AAAC,SAAS,GAAG7D,IAAE6D,IAAE,GAAE;AAAC,MAAG,KAAG,MAAIA,KAAE,GAAG,OAAM,IAAI,MAAM,2BAA2B;AAAE,MAAG,MAAI,GAAG,QAAO;AAAG,MAAIxC,KAAE;AAAG,SAAKwC,KAAE,KAAI,CAAAA,KAAE,OAAKxC,KAAEA,KAAErB,KAAE,IAAGA,KAAEA,KAAEA,KAAE,GAAE6D,OAAI;AAAG,SAAOxC;AAAC;AAAC,SAAS,GAAGrB,IAAE6D,IAAE;AAAC,MAAG7D,OAAI,MAAI6D,MAAG,GAAG,OAAM,IAAI,MAAM,6CAA6C7D,EAAC,QAAQ6D,EAAC,EAAE;AAAE,MAAI,IAAE,GAAG7D,IAAE6D,EAAC,GAAExC,KAAEwC,IAAE,IAAE,IAAG,IAAE;AAAG,SAAK,MAAI,MAAI;AAAC,UAAM7D,KAAEqB,KAAE,GAAEwC,KAAE,IAAE,KAAGxC,KAAE;AAAG,IAAAA,KAAE,GAAE,IAAErB,IAAE,IAAE,GAAE,IAAE6D;AAAA,EAAC;AAAC,MAAGxC,OAAI,GAAG,OAAM,IAAI,MAAM,wBAAwB;AAAE,SAAO,GAAG,GAAEwC,EAAC;AAAC;AAAC,SAAS,GAAG7D,IAAE;AAAC,QAAM6D,MAAG7D,KAAE,MAAI;AAAG,MAAI,GAAEqB,IAAE;AAAE,OAAI,IAAErB,KAAE,IAAGqB,KAAE,GAAE,IAAE,OAAK,IAAG,KAAG,IAAGA,KAAI;AAAC,OAAI,IAAE,IAAG,IAAErB,MAAG,GAAG,GAAE6D,IAAE7D,EAAC,MAAIA,KAAE,IAAG,IAAI;AAAC,MAAG,MAAIqB,IAAE;AAAC,UAAMwC,MAAG7D,KAAE,MAAI;AAAG,WAAO,SAASA,IAAEwE,IAAE;AAAC,YAAMnD,KAAErB,GAAE,IAAIwE,IAAEX,EAAC;AAAE,UAAG,CAAC7D,GAAE,IAAIA,GAAE,IAAIqB,EAAC,GAAEmD,EAAC,EAAE,OAAM,IAAI,MAAM,yBAAyB;AAAE,aAAOnD;AAAA,IAAC;AAAA,EAAC;AAAC,QAAM,KAAG,IAAE,MAAI;AAAG,SAAO,SAASrB,IAAE,GAAE;AAAC,QAAGA,GAAE,IAAI,GAAE6D,EAAC,MAAI7D,GAAE,IAAIA,GAAE,GAAG,EAAE,OAAM,IAAI,MAAM,yBAAyB;AAAE,QAAI,IAAEqB,IAAED,KAAEpB,GAAE,IAAIA,GAAE,IAAIA,GAAE,KAAI,CAAC,GAAE,CAAC,GAAE4C,KAAE5C,GAAE,IAAI,GAAE,CAAC,GAAEY,KAAEZ,GAAE,IAAI,GAAE,CAAC;AAAE,WAAK,CAACA,GAAE,IAAIY,IAAEZ,GAAE,GAAG,KAAG;AAAC,UAAGA,GAAE,IAAIY,IAAEZ,GAAE,IAAI,EAAE,QAAOA,GAAE;AAAK,UAAI6D,KAAE;AAAE,eAAQW,KAAExE,GAAE,IAAIY,EAAC,GAAEiD,KAAE,KAAG,CAAC7D,GAAE,IAAIwE,IAAExE,GAAE,GAAG,GAAE6D,KAAI,CAAAW,KAAExE,GAAE,IAAIwE,EAAC;AAAE,YAAMA,KAAExE,GAAE,IAAIoB,IAAE,MAAI,OAAO,IAAEyC,KAAE,CAAC,CAAC;AAAE,MAAAzC,KAAEpB,GAAE,IAAIwE,EAAC,GAAE5B,KAAE5C,GAAE,IAAI4C,IAAE4B,EAAC,GAAE5D,KAAEZ,GAAE,IAAIY,IAAEQ,EAAC,GAAE,IAAEyC;AAAA,IAAC;AAAC,WAAOjB;AAAA,EAAC;AAAC;AAAC,SAAS,GAAG5C,IAAE;AAAC,MAAGA,KAAE,OAAK,IAAG;AAAC,UAAM6D,MAAG7D,KAAE,MAAI;AAAG,WAAO,SAASA,IAAE,GAAE;AAAC,YAAMqB,KAAErB,GAAE,IAAI,GAAE6D,EAAC;AAAE,UAAG,CAAC7D,GAAE,IAAIA,GAAE,IAAIqB,EAAC,GAAE,CAAC,EAAE,OAAM,IAAI,MAAM,yBAAyB;AAAE,aAAOA;AAAA,IAAC;AAAA,EAAC;AAAC,MAAGrB,KAAE,OAAK,IAAG;AAAC,UAAM6D,MAAG7D,KAAE,MAAI;AAAG,WAAO,SAASA,IAAE,GAAE;AAAC,YAAMqB,KAAErB,GAAE,IAAI,GAAE,EAAE,GAAE,IAAEA,GAAE,IAAIqB,IAAEwC,EAAC,GAAE,IAAE7D,GAAE,IAAI,GAAE,CAAC,GAAE,IAAEA,GAAE,IAAIA,GAAE,IAAI,GAAE,EAAE,GAAE,CAAC,GAAE,IAAEA,GAAE,IAAI,GAAEA,GAAE,IAAI,GAAEA,GAAE,GAAG,CAAC;AAAE,UAAG,CAACA,GAAE,IAAIA,GAAE,IAAI,CAAC,GAAE,CAAC,EAAE,OAAM,IAAI,MAAM,yBAAyB;AAAE,aAAO;AAAA,IAAC;AAAA,EAAC;AAAC,SAAO,GAAGA,EAAC;AAAC;AAAC,OAAO,CAAC,GAAE,OAAO,EAAE;AAAE,GAAG,eAAa,CAACA,IAAE6D,QAAK,GAAG7D,IAAE6D,EAAC,IAAE,QAAM;AAAG,MAAM,KAAG,CAAC,UAAS,WAAU,OAAM,OAAM,OAAM,QAAO,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,QAAO,QAAO,QAAO,MAAM;AAAE,SAAS,GAAG7D,IAAE6D,IAAE,GAAE;AAAC,MAAG,IAAE,GAAG,OAAM,IAAI,MAAM,oBAAoB;AAAE,MAAG,MAAI,GAAG,QAAO7D,GAAE;AAAI,MAAG,MAAI,GAAG,QAAO6D;AAAE,MAAIxC,KAAErB,GAAE,KAAI,IAAE6D;AAAE,SAAK,IAAE,KAAI,KAAE,OAAKxC,KAAErB,GAAE,IAAIqB,IAAE,CAAC,IAAG,IAAErB,GAAE,IAAI,CAAC,GAAE,MAAI;AAAG,SAAOqB;AAAC;AAAC,SAAS,GAAGrB,IAAE6D,IAAE;AAAC,QAAM,IAAE,IAAI,MAAMA,GAAE,MAAM,GAAExC,KAAEwC,GAAE,QAAQ,CAACA,IAAExC,IAAEoD,OAAIzE,GAAE,IAAIqB,EAAC,IAAEwC,MAAG,EAAEY,EAAC,IAAEZ,IAAE7D,GAAE,IAAI6D,IAAExC,EAAC,KAAIrB,GAAE,GAAG,GAAE,IAAEA,GAAE,IAAIqB,EAAC;AAAE,SAAOwC,GAAE,aAAa,CAACA,IAAExC,IAAEoD,OAAIzE,GAAE,IAAIqB,EAAC,IAAEwC,MAAG,EAAEY,EAAC,IAAEzE,GAAE,IAAI6D,IAAE,EAAEY,EAAC,CAAC,GAAEzE,GAAE,IAAI6D,IAAExC,EAAC,KAAI,CAAC,GAAE;AAAC;AAAC,SAAS,GAAGrB,IAAE;AAAC,QAAM6D,MAAG7D,KAAE,MAAI;AAAG,SAAM,CAACA,IAAE,MAAIA,GAAE,IAAI,GAAE6D,EAAC;AAAC;AAAC,SAAS,GAAG7D,IAAE6D,IAAE;AAAC,QAAM,IAAE,WAASA,KAAEA,KAAE7D,GAAE,SAAS,CAAC,EAAE;AAAO,SAAM,EAAC,YAAW,GAAE,aAAY,KAAK,KAAK,IAAE,CAAC,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,MAAG,YAAU,OAAOA,GAAE,OAAM,IAAI,MAAM,4BAA4B;AAAE,QAAM6D,KAAE7D,GAAE,SAAS,CAAC,EAAE;AAAO,SAAO,KAAK,KAAK6D,KAAE,CAAC;AAAC;AAAC,SAAS,GAAG7D,IAAE;AAAC,QAAM6D,KAAE,GAAG7D,EAAC;AAAE,SAAO6D,KAAE,KAAK,KAAKA,KAAE,CAAC;AAAC;AAAC,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,OAAK,SAAS7D,IAAE6D,IAAE;AAAC,QAAM,IAAE,CAAC7D,IAAE6D,OAAI;AAAC,UAAMW,KAAEX,GAAE,OAAM;AAAG,WAAO7D,KAAEwE,KAAEX;AAAA,EAAC,GAAExC,KAAE,CAAArB,OAAG;AAAC,QAAG,CAAC,OAAO,cAAcA,EAAC,KAAGA,MAAG,KAAGA,KAAE6D,GAAE,OAAM,IAAI,MAAM,qBAAqB7D,EAAC,mBAAmB6D,EAAC,GAAG;AAAA,EAAC,GAAE,IAAE,CAAA7D,OAAG;AAAC,IAAAqB,GAAErB,EAAC;AAAE,WAAM,EAAC,SAAQ,KAAK,KAAK6D,KAAE7D,EAAC,IAAE,GAAE,YAAW,MAAIA,KAAE,GAAE;AAAA,EAAC;AAAE,SAAM,EAAC,iBAAgB,GAAE,aAAa6D,IAAEW,IAAE;AAAC,QAAInD,KAAErB,GAAE,MAAKyE,KAAEZ;AAAE,WAAKW,KAAE,KAAI,CAAAA,KAAE,OAAKnD,KAAEA,GAAE,IAAIoD,EAAC,IAAGA,KAAEA,GAAE,OAAM,GAAGD,OAAI;AAAG,WAAOnD;AAAA,EAAC,GAAE,iBAAiBrB,IAAE6D,IAAE;AAAC,UAAK,EAAC,SAAQW,IAAE,YAAWnD,GAAC,IAAE,EAAEwC,EAAC,GAAE,IAAE,CAAA;AAAG,QAAI,IAAE7D,IAAE,IAAE;AAAE,aAAQA,KAAE,GAAEA,KAAEwE,IAAExE,MAAI;AAAC,UAAE,GAAE,EAAE,KAAK,CAAC;AAAE,eAAQA,MAAE,GAAEA,MAAEqB,IAAErB,MAAI,KAAE,EAAE,IAAI,CAAC,GAAE,EAAE,KAAK,CAAC;AAAE,UAAE,EAAE;IAAQ;AAAC,WAAO;AAAA,EAAC,GAAE,KAAK6D,IAAExC,IAAE,GAAE;AAAC,UAAK,EAAC,SAAQ,GAAE,YAAW,EAAC,IAAE,EAAEwC,EAAC;AAAE,QAAIzC,KAAEpB,GAAE,MAAK4C,KAAE5C,GAAE;AAAK,UAAMY,KAAE,OAAO,KAAGiD,KAAE,CAAC,GAAES,KAAE,KAAGT,IAAElD,KAAE,OAAOkD,EAAC;AAAE,aAAQ7D,KAAE,GAAEA,KAAE,GAAEA,MAAI;AAAC,YAAM6D,KAAE7D,KAAE;AAAE,UAAIyE,KAAE,OAAO,IAAE7D,EAAC;AAAE,YAAID,IAAE8D,KAAE,MAAIA,MAAGH,IAAE,KAAG;AAAI,YAAMK,KAAEd,IAAEU,KAAEV,KAAE,KAAK,IAAIY,EAAC,IAAE,GAAEjB,KAAExD,KAAE,KAAG,GAAED,KAAE0E,KAAE;AAAE,YAAIA,KAAE7B,KAAEA,GAAE,IAAI,EAAEY,IAAEnC,GAAEsD,EAAC,CAAC,CAAC,IAAEvD,KAAEA,GAAE,IAAI,EAAErB,IAAEsB,GAAEkD,EAAC,CAAC,CAAC;AAAA,IAAC;AAAC,WAAM,EAAC,GAAEnD,IAAE,GAAEwB,GAAC;AAAA,EAAC,GAAE,WAAW5C,IAAE6D,IAAEW,IAAE;AAAC,UAAMnD,KAAE,GAAG,IAAIrB,EAAC,KAAG;AAAE,QAAIyE,KAAE,GAAG,IAAIzE,EAAC;AAAE,WAAOyE,OAAIA,KAAE,KAAK,iBAAiBzE,IAAEqB,EAAC,GAAE,MAAIA,MAAG,GAAG,IAAIrB,IAAEwE,GAAEC,EAAC,CAAC,IAAG,KAAK,KAAKpD,IAAEoD,IAAEZ,EAAC;AAAA,EAAC,GAAE,cAAc7D,IAAE6D,IAAE;AAAC,IAAAxC,GAAEwC,EAAC,GAAE,GAAG,IAAI7D,IAAE6D,EAAC,GAAE,GAAG,OAAO7D,EAAC;AAAA,EAAC,EAAC;AAAC,GAAE,GAAG,YAAU,SAASA,IAAE6D,IAAE,GAAExC,IAAE;AAAC,MAAG,CAAC,MAAM,QAAQ,CAAC,KAAG,CAAC,MAAM,QAAQA,EAAC,KAAGA,GAAE,WAAS,EAAE,OAAO,OAAM,IAAI,MAAM,qDAAqD;AAAE,EAAAA,GAAE,SAAS,CAACrB,IAAEwE,OAAI;AAAC,QAAG,CAACX,GAAE,QAAQ7D,EAAC,EAAE,OAAM,IAAI,MAAM,yBAAyBwE,EAAC,EAAE;AAAA,EAAC,EAAC,GAAG,EAAE,SAAS,CAACX,IAAEW,OAAI;AAAC,QAAG,EAAEX,cAAa7D,IAAG,OAAM,IAAI,MAAM,wBAAwBwE,EAAC,EAAE;AAAA,EAAC,EAAC;AAAG,QAAM,KAAE,GAAG,GAAG,QAAQ,OAAO,EAAE,MAAM,CAAC,GAAE,IAAE,IAAE,KAAG,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,GAAE,KAAG,KAAG,KAAG,GAAE,IAAE,IAAI,MAAM,IAAE,CAAC,EAAE,KAAKxE,GAAE,IAAI,GAAEoB,KAAE,KAAK,OAAOyC,GAAE,OAAK,KAAG,CAAC,IAAE;AAAE,MAAIjB,KAAE5C,GAAE;AAAK,WAAQ6D,KAAEzC,IAAEyC,MAAG,GAAEA,MAAG,GAAE;AAAC,MAAE,KAAK7D,GAAE,IAAI;AAAE,aAAQA,KAAE,GAAEA,KAAEqB,GAAE,QAAOrB,MAAI;AAAC,YAAMyE,KAAEpD,GAAErB,EAAC,GAAE0E,KAAE,OAAOD,MAAG,OAAOZ,EAAC,IAAE,OAAO,CAAC,CAAC;AAAE,QAAEa,EAAC,IAAE,EAAEA,EAAC,EAAE,IAAI,EAAE1E,EAAC,CAAC;AAAA,IAAC;AAAC,QAAIyE,KAAEzE,GAAE;AAAK,aAAQ6D,KAAE,EAAE,SAAO,GAAEW,KAAExE,GAAE,MAAK6D,KAAE,GAAEA,KAAI,CAAAW,KAAEA,GAAE,IAAI,EAAEX,EAAC,CAAC,GAAEY,KAAEA,GAAE,IAAID,EAAC;AAAE,QAAG5B,KAAEA,GAAE,IAAI6B,EAAC,GAAE,MAAIZ,GAAE,UAAQ7D,KAAE,GAAEA,KAAE,GAAEA,KAAI,CAAA4C,KAAEA,GAAE,OAAM;AAAA,EAAE;AAAC,SAAOA;AAAC,GAAE,GAAG,gBAAc,SAAS5C,IAAE;AAAC,aAAS,GAAG,eAAeA,GAAE,EAAE,IAAE,GAAG,GAAG,gBAAgBA,IAAE,EAAC,GAAE,UAAS,GAAE,UAAS,IAAG,SAAQ,IAAG,QAAO,GAAE,EAAC,YAAW,iBAAgB,aAAY,gBAAe,CAAC,GAAE,OAAO,OAAO,EAAC,IAAG,GAAG,GAAG,SAASA,GAAE,GAAEA,GAAE,UAAU,GAAE,GAAGA,IAAE,GAAEA,GAAE,GAAG,MAAK,CAAC;AAAC;AAAE,MAAM,KAAG,IAAG,KAAG,IAAG,KAAG,OAAO,CAAC,GAAE,KAAG,OAAO,CAAC,GAAE,KAAG,oBAAI,WAAQ,KAAG,oBAAI;AAAQ,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,iBAAe,SAASA,IAAE;AAAC,QAAM6D,MAAE,SAAS7D,IAAE;AAAC,UAAM6D,MAAE,GAAG,GAAG,eAAe7D,EAAC;AAAE,WAAO,GAAG,eAAeA,IAAE,EAAC,MAAK,YAAW,GAAE,UAAS,GAAE,UAAS,aAAY,WAAU,GAAE,EAAC,mBAAkB,YAAW,QAAO,YAAW,SAAQ,YAAW,YAAW,WAAU,CAAC,GAAE,OAAO,OAAO,EAAC,GAAG6D,GAAC,CAAC;AAAA,EAAC,GAAE7D,EAAC,GAAE,EAAC,IAAG,GAAE,GAAEqB,IAAE,SAAQ,GAAE,MAAK,GAAE,aAAY,GAAE,aAAY,GAAE,GAAED,GAAC,IAAEyC,IAAEjB,KAAE,MAAI,OAAO,IAAE,CAAC,IAAE,IAAGhC,KAAE,EAAE,QAAO0D,MAAE,GAAG,GAAG,OAAOT,GAAE,GAAEA,GAAE,UAAU,GAAElD,KAAEkD,GAAE,YAAU,CAAC7D,IAAE6D,OAAI;AAAC,QAAG;AAAC,aAAM,EAAC,SAAQ,MAAG,OAAM,EAAE,KAAK7D,KAAE,EAAE,IAAI6D,EAAC,CAAC,EAAC;AAAA,IAAC,SAAO7D,IAAE;AAAC,aAAM,EAAC,SAAQ,OAAG,OAAM,GAAE;AAAA,IAAC;AAAA,EAAC,IAAGuE,KAAEV,GAAE,sBAAoB,CAAA7D,OAAGA,KAAGwD,KAAEK,GAAE,WAAS,CAAC7D,IAAE6D,IAAEW,OAAI;AAAC,SAAG,GAAG,GAAG,OAAO,UAASA,EAAC,GAAEX,GAAE,UAAQW,GAAE,OAAM,IAAI,MAAM,qCAAqC;AAAE,WAAOxE;AAAA,EAAC;AAAG,WAASD,GAAEC,IAAE6D,IAAE;AAAC,OAAG,SAAS,gBAAc7D,IAAE6D,IAAE,IAAGjB,EAAC;AAAA,EAAC;AAAC,WAASlC,GAAEV,IAAE;AAAC,QAAG,EAAEA,cAAauC,IAAG,OAAM,IAAI,MAAM,wBAAwB;AAAA,EAAC;AAAC,QAAMzB,MAAE,GAAG,GAAG,WAAW,CAACd,IAAE6D,OAAI;AAAC,UAAK,EAAC,IAAGxC,IAAE,IAAGoD,IAAE,IAAGC,GAAC,IAAE1E,IAAE2E,KAAE3E,GAAE,IAAG;AAAG,YAAM6D,OAAIA,KAAEc,KAAE,KAAG,EAAE,IAAID,EAAC;AAAG,UAAME,KAAEhE,GAAES,KAAEwC,EAAC,GAAEzC,KAAER,GAAE6D,KAAEZ,EAAC,GAAEjB,KAAEhC,GAAE8D,KAAEb,EAAC;AAAE,QAAGc,GAAE,QAAM,EAAC,GAAE,IAAG,GAAE,GAAE;AAAE,QAAG/B,OAAI,GAAG,OAAM,IAAI,MAAM,kBAAkB;AAAE,WAAM,EAAC,GAAEgC,IAAE,GAAExD,GAAC;AAAA,EAAC,EAAC,GAAGD,MAAE,GAAG,GAAG,WAAW,CAAAnB,OAAG;AAAC,UAAK,EAAC,GAAEwE,IAAE,GAAEnD,GAAC,IAAEwC;AAAE,QAAG7D,GAAE,IAAG,EAAG,OAAM,IAAI,MAAM,iBAAiB;AAAE,UAAK,EAAC,IAAGyE,IAAE,IAAGC,IAAE,IAAGC,IAAE,IAAGC,GAAC,IAAE5E,IAAEoB,KAAER,GAAE6D,KAAEA,EAAC,GAAE7B,KAAEhC,GAAE8D,KAAEA,EAAC,GAAEJ,KAAE1D,GAAE+D,KAAEA,EAAC,GAAEhE,KAAEC,GAAE0D,KAAEA,EAAC,GAAEC,KAAE3D,GAAEQ,KAAEoD,EAAC;AAAE,QAAG5D,GAAE0D,KAAE1D,GAAE2D,KAAE3B,EAAC,CAAC,MAAIhC,GAAED,KAAEC,GAAES,KAAET,GAAEQ,KAAEwB,EAAC,CAAC,CAAC,EAAE,OAAM,IAAI,MAAM,uCAAuC;AAAE,QAAGhC,GAAE6D,KAAEC,EAAC,MAAI9D,GAAE+D,KAAEC,EAAC,EAAE,OAAM,IAAI,MAAM,uCAAuC;AAAE,WAAM;AAAA,EAAE,EAAC;AAAA,EAAG,MAAMrC,GAAC;AAAA,IAAC,YAAYvC,IAAE6D,IAAEW,IAAEnD,IAAE;AAAC,WAAK,KAAGrB,IAAE,KAAK,KAAG6D,IAAE,KAAK,KAAGW,IAAE,KAAK,KAAGnD,IAAEtB,GAAE,KAAIC,EAAC,GAAED,GAAE,KAAI8D,EAAC,GAAE9D,GAAE,KAAIyE,EAAC,GAAEzE,GAAE,KAAIsB,EAAC,GAAE,OAAO,OAAO,IAAI;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,WAAWrB,IAAE;AAAC,UAAGA,cAAauC,GAAE,OAAM,IAAI,MAAM,4BAA4B;AAAE,YAAK,EAAC,GAAEsB,IAAE,GAAEW,GAAC,IAAExE,MAAG,CAAA;AAAG,aAAOD,GAAE,KAAI8D,EAAC,GAAE9D,GAAE,KAAIyE,EAAC,GAAE,IAAIjC,GAAEsB,IAAEW,IAAE,IAAG5D,GAAEiD,KAAEW,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,OAAO,WAAWxE,IAAE;AAAC,YAAM6D,KAAE,EAAE,YAAY7D,GAAE,KAAK,CAAAA,OAAGA,GAAE,GAAE,CAAE;AAAE,aAAOA,GAAE,KAAK,CAACA,IAAEwE,OAAIxE,GAAE,SAAS6D,GAAEW,EAAC,CAAC,EAAC,EAAG,IAAIjC,GAAE,UAAU;AAAA,IAAC;AAAA,IAAC,OAAO,IAAIvC,IAAE6D,IAAE;AAAC,cAAM,GAAG,GAAG,WAAWtB,IAAE+B,IAAEtE,IAAE6D,EAAC;AAAA,IAAC;AAAA,IAAC,eAAe7D,IAAE;AAAC,MAAA8E,GAAE,cAAc,MAAK9E,EAAC;AAAA,IAAC;AAAA,IAAC,iBAAgB;AAAC,MAAAmB,GAAE,IAAI;AAAA,IAAC;AAAA,IAAC,OAAOnB,IAAE;AAAC,MAAAU,GAAEV,EAAC;AAAE,YAAK,EAAC,IAAG6D,IAAE,IAAGW,IAAE,IAAGnD,GAAC,IAAE,MAAK,EAAC,IAAGoD,IAAE,IAAGC,IAAE,IAAGC,GAAC,IAAE3E,IAAE4E,KAAEhE,GAAEiD,KAAEc,EAAC,GAAEvD,KAAER,GAAE6D,KAAEpD,EAAC,GAAEuB,KAAEhC,GAAE4D,KAAEG,EAAC,GAAEL,KAAE1D,GAAE8D,KAAErD,EAAC;AAAE,aAAOuD,OAAIxD,MAAGwB,OAAI0B;AAAA,IAAC;AAAA,IAAC,MAAK;AAAC,aAAO,KAAK,OAAO/B,GAAE,IAAI;AAAA,IAAC;AAAA,IAAC,SAAQ;AAAC,aAAO,IAAIA,GAAE3B,GAAE,CAAC,KAAK,EAAE,GAAE,KAAK,IAAG,KAAK,IAAGA,GAAE,CAAC,KAAK,EAAE,CAAC;AAAA,IAAC;AAAA,IAAC,SAAQ;AAAC,YAAK,EAAC,GAAEZ,GAAC,IAAE6D,IAAE,EAAC,IAAGW,IAAE,IAAGnD,IAAE,IAAGoD,GAAC,IAAE,MAAKC,KAAE9D,GAAE4D,KAAEA,EAAC,GAAEG,KAAE/D,GAAES,KAAEA,EAAC,GAAEuD,KAAEhE,GAAE,KAAGA,GAAE6D,KAAEA,EAAC,CAAC,GAAErD,KAAER,GAAEZ,KAAE0E,EAAC,GAAE9B,KAAE4B,KAAEnD,IAAEiD,KAAE1D,GAAEA,GAAEgC,KAAEA,EAAC,IAAE8B,KAAEC,EAAC,GAAEhE,KAAES,KAAEuD,IAAEJ,KAAE5D,KAAEiE,IAAEpB,KAAEpC,KAAEuD,IAAE5E,KAAEa,GAAE0D,KAAEC,EAAC,GAAE7D,KAAEE,GAAED,KAAE6C,EAAC,GAAE1C,KAAEF,GAAE0D,KAAEd,EAAC,GAAErC,KAAEP,GAAE2D,KAAE5D,EAAC;AAAE,aAAO,IAAI4B,GAAExC,IAAEW,IAAES,IAAEL,EAAC;AAAA,IAAC;AAAA,IAAC,IAAId,IAAE;AAAC,MAAAU,GAAEV,EAAC;AAAE,YAAK,EAAC,GAAEwE,IAAE,GAAEnD,GAAC,IAAEwC,IAAE,EAAC,IAAGY,IAAE,IAAGC,IAAE,IAAGC,IAAE,IAAGC,GAAC,IAAE,MAAK,EAAC,IAAGxD,IAAE,IAAGwB,IAAE,IAAG0B,IAAE,IAAG3D,GAAC,IAAEX;AAAE,UAAGwE,OAAI,OAAO,EAAE,GAAE;AAAC,cAAMxE,KAAEY,IAAG8D,KAAED,OAAI7B,KAAExB,GAAE,GAAEyC,KAAEjD,IAAG8D,KAAED,OAAI7B,KAAExB,GAAE,GAAEoD,KAAE5D,GAAEiD,KAAE7D,EAAC;AAAE,YAAGwE,OAAI,GAAG,QAAO,KAAK,OAAM;AAAG,cAAMnD,KAAET,GAAE+D,KAAE,KAAGhE,EAAC,GAAE4D,KAAE3D,GAAEgE,KAAE,KAAGN,EAAC,GAAEd,KAAEe,KAAElD,IAAEtB,KAAE8D,KAAE7D,IAAEU,KAAE6D,KAAElD,IAAEP,KAAEF,GAAE4C,KAAEgB,EAAC,GAAErD,KAAEP,GAAEb,KAAEW,EAAC,GAAEG,KAAED,GAAE4C,KAAE9C,EAAC,GAAEmE,KAAEjE,GAAE4D,KAAEzE,EAAC;AAAE,eAAO,IAAIwC,GAAEzB,IAAEK,IAAE0D,IAAEhE,EAAC;AAAA,MAAC;AAAC,YAAM0D,KAAE3D,GAAE6D,KAAErD,EAAC,GAAEoC,KAAE5C,GAAE8D,KAAE9B,EAAC,GAAE7C,KAAEa,GAAEgE,KAAEvD,KAAEV,EAAC,GAAEG,KAAEF,GAAE+D,KAAEL,EAAC,GAAEnD,KAAEP,IAAG6D,KAAEC,OAAItD,KAAEwB,MAAG2B,KAAEf,EAAC,GAAE3C,KAAEC,KAAEf,IAAE8E,KAAE/D,KAAEf,IAAE+E,KAAElE,GAAE4C,KAAEgB,KAAED,EAAC,GAAEQ,KAAEnE,GAAEO,KAAEN,EAAC,GAAEmE,KAAEpE,GAAEiE,KAAEC,EAAC,GAAE5C,KAAEtB,GAAEO,KAAE2D,EAAC,GAAEG,KAAErE,GAAEC,KAAEgE,EAAC;AAAE,aAAO,IAAItC,GAAEwC,IAAEC,IAAEC,IAAE/C,EAAC;AAAA,IAAC;AAAA,IAAC,SAASlC,IAAE;AAAC,aAAO,KAAK,IAAIA,GAAE,OAAM,CAAE;AAAA,IAAC;AAAA,IAAC,KAAKA,IAAE;AAAC,aAAO8E,GAAE,WAAW,MAAK9E,IAAEuC,GAAE,UAAU;AAAA,IAAC;AAAA,IAAC,SAASvC,IAAE;AAAC,YAAM6D,KAAE7D;AAAE,SAAG,SAAS,UAAS6D,IAAE,IAAGxC,EAAC;AAAE,YAAK,EAAC,GAAEmD,IAAE,GAAEC,GAAC,IAAE,KAAK,KAAKZ,EAAC;AAAE,aAAOtB,GAAE,WAAW,CAACiC,IAAEC,EAAC,CAAC,EAAE,CAAC;AAAA,IAAC;AAAA,IAAC,eAAezE,IAAE;AAAC,YAAM6D,KAAE7D;AAAE,aAAO,GAAG,SAAS,UAAS6D,IAAE,IAAGxC,EAAC,GAAEwC,OAAI,KAAGgB,KAAE,KAAK,OAAOA,EAAC,KAAGhB,OAAI,KAAG,OAAK,KAAK,OAAOhD,EAAC,IAAE,KAAK,KAAKgD,EAAC,EAAE,IAAEiB,GAAE,aAAa,MAAKjB,EAAC;AAAA,IAAC;AAAA,IAAC,eAAc;AAAC,aAAO,KAAK,eAAezC,EAAC,EAAE,IAAG;AAAA,IAAE;AAAA,IAAC,gBAAe;AAAC,aAAO0D,GAAE,aAAa,MAAKzD,EAAC,EAAE,IAAG;AAAA,IAAE;AAAA,IAAC,SAASrB,IAAE;AAAC,aAAOc,GAAE,MAAKd,EAAC;AAAA,IAAC;AAAA,IAAC,gBAAe;AAAC,YAAK,EAAC,GAAEA,GAAC,IAAE6D;AAAE,aAAO7D,OAAI,KAAG,OAAK,KAAK,eAAeA,EAAC;AAAA,IAAC;AAAA,IAAC,OAAO,QAAQA,IAAEqB,KAAE,OAAG;AAAC,YAAK,EAAC,GAAEoD,IAAE,GAAEC,GAAC,IAAEb,IAAEc,KAAE,EAAE;AAAM,MAAA3E,MAAE,GAAG,GAAG,aAAa,YAAWA,IAAE2E,EAAC,IAAE,GAAG,GAAG,OAAO,UAAStD,EAAC;AAAE,YAAMuD,KAAE5E,GAAE,MAAK,GAAGoB,KAAEpB,GAAE2E,KAAE,CAAC;AAAE,MAAAC,GAAED,KAAE,CAAC,IAAE,OAAKvD;AAAE,YAAMkD,KAAE,GAAG,gBAAgBM,EAAC,GAAEL,KAAElD,KAAEuB,KAAE,EAAE;AAAM,SAAG,SAAS,cAAa0B,IAAE,IAAGC,EAAC;AAAE,YAAMf,KAAE5C,GAAE0D,KAAEA,EAAC,GAAEvE,KAAEa,GAAE4C,KAAE,EAAE,GAAE9C,KAAEE,GAAE6D,KAAEjB,KAAEkB,EAAC;AAAE,UAAG,EAAC,SAAQ5D,IAAE,OAAMK,GAAC,IAAER,GAAEZ,IAAEW,EAAC;AAAE,UAAG,CAACI,GAAE,OAAM,IAAI,MAAM,qCAAqC;AAAE,YAAMD,MAAGM,KAAE,QAAM,IAAG0D,KAAE,MAAI,MAAIzD;AAAG,UAAG,CAACC,MAAGF,OAAI,MAAI0D,GAAE,OAAM,IAAI,MAAM,8BAA8B;AAAE,aAAOA,OAAIhE,OAAIM,KAAEP,GAAE,CAACO,EAAC,IAAGoB,GAAE,WAAW,EAAC,GAAEpB,IAAE,GAAEmD,GAAC,CAAC;AAAA,IAAC;AAAA,IAAC,OAAO,eAAetE,IAAE;AAAC,aAAOkC,GAAElC,EAAC,EAAE;AAAA,IAAK;AAAA,IAAC,aAAY;AAAC,YAAK,EAAC,GAAEA,IAAE,GAAE6D,GAAC,IAAE,KAAK,SAAQ,GAAGxC,KAAE,GAAG,gBAAgBwC,IAAE,EAAE,KAAK;AAAE,aAAOxC,GAAEA,GAAE,SAAO,CAAC,KAAGrB,KAAE,KAAG,MAAI,GAAEqB;AAAA,IAAC;AAAA,IAAC,QAAO;AAAC,aAAO,GAAG,WAAW,KAAK,WAAU,CAAE;AAAA,IAAC;AAAA,EAAC;AAAC,EAAAkB,GAAE,OAAK,IAAIA,GAAEsB,GAAE,IAAGA,GAAE,IAAG,IAAGjD,GAAEiD,GAAE,KAAGA,GAAE,EAAE,CAAC,GAAEtB,GAAE,OAAK,IAAIA,GAAE,IAAG,IAAG,IAAG,EAAE;AAAE,QAAK,EAAC,MAAK1B,IAAE,MAAKgE,GAAC,IAAEtC,IAAEuC,MAAE,GAAG,GAAG,MAAMvC,IAAE,IAAE,CAAC;AAAE,WAASwC,GAAE/E,IAAE;AAAC,YAAM,GAAG,GAAG,KAAKA,IAAEqB,EAAC;AAAA,EAAC;AAAC,WAAS2D,GAAEhF,IAAE;AAAC,WAAO+E,GAAE,GAAG,gBAAgB/E,EAAC,CAAC;AAAA,EAAC;AAAC,WAASkC,GAAElC,IAAE;AAAC,UAAM6D,KAAE;AAAE,IAAA7D,MAAE,GAAG,GAAG,aAAa,eAAcA,IAAE6D,EAAC;AAAE,UAAMW,SAAK,GAAG,aAAa,sBAAqB,EAAExE,EAAC,GAAE,IAAE6D,EAAC,GAAExC,KAAEkD,GAAEC,GAAE,MAAM,GAAEX,EAAC,CAAC,GAAEY,KAAED,GAAE,MAAMX,IAAE,IAAEA,EAAC,GAAEc,KAAEK,GAAE3D,EAAC,GAAED,KAAEP,GAAE,SAAS8D,EAAC,GAAE/B,KAAExB,GAAE,WAAU;AAAG,WAAM,EAAC,MAAKC,IAAE,QAAOoD,IAAE,QAAOE,IAAE,OAAMvD,IAAE,YAAWwB,GAAC;AAAA,EAAC;AAAC,WAASqC,GAAEjF,KAAE,IAAI,iBAAc6D,IAAE;AAAC,UAAMW,KAAE,GAAG,YAAY,GAAGX,EAAC;AAAE,WAAOmB,GAAE,EAAExB,GAAEgB,KAAE,GAAG,GAAG,aAAa,WAAUxE,EAAC,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAAA,EAAC;AAAC,QAAMkF,KAAE;AAAG,EAAArE,GAAE,eAAe,CAAC;AAAE,QAAMsE,KAAE,EAAC,sBAAqBjD,IAAE,kBAAiB,MAAI,EAAE,EAAE,KAAK,GAAE,YAAW,CAAClC,KAAE,GAAE6D,KAAEtB,GAAE,UAAQsB,GAAE,eAAe7D,EAAC,GAAE6D,GAAE,SAAS,OAAO,CAAC,CAAC,GAAEA,IAAE;AAAE,SAAM,EAAC,OAAMA,IAAE,cAAa,SAAS7D,IAAE;AAAC,WAAOkC,GAAElC,EAAC,EAAE;AAAA,EAAU,GAAE,MAAK,SAASA,IAAE6D,IAAEa,KAAE,CAAA,GAAG;AAAC,IAAA1E,SAAK,GAAG,aAAa,WAAUA,EAAC,GAAE,MAAIA,KAAE,EAAEA,EAAC;AAAG,UAAK,EAAC,QAAO2E,IAAE,QAAOvD,IAAE,YAAWwB,GAAC,IAAEV,GAAE2B,EAAC,GAAEjD,KAAEqE,GAAEP,GAAE,SAAQC,IAAE3E,EAAC,GAAEsE,KAAEzD,GAAE,SAASD,EAAC,EAAE,WAAU,GAAGD,KAAEoE,GAAEnE,KAAEqE,GAAEP,GAAE,SAAQJ,IAAE1B,IAAE5C,EAAC,IAAEoB,EAAC;AAAE,OAAG,SAAS,eAAcT,IAAE,IAAGU,EAAC;AAAE,UAAMkD,KAAE,GAAG,YAAYD,IAAE,GAAG,gBAAgB3D,IAAE,EAAE,KAAK,CAAC;AAAE,eAAS,GAAG,aAAa,UAAS4D,IAAE,IAAE,CAAC;AAAA,EAAC,GAAE,QAAO,SAASvE,IAAE6D,IAAExC,IAAEqD,KAAEQ,IAAE;AAAC,UAAK,EAAC,SAAQP,IAAE,QAAOC,GAAC,IAAEF,IAAEtD,KAAE,EAAE;AAAM,IAAApB,MAAE,GAAG,GAAG,aAAa,aAAYA,IAAE,IAAEoB,EAAC,GAAEyC,MAAE,GAAG,GAAG,aAAa,WAAUA,EAAC,GAAE,WAASe,OAAG,GAAG,GAAG,OAAO,UAASA,EAAC,GAAE,MAAIf,KAAE,EAAEA,EAAC;AAAG,UAAMjB,KAAE,GAAG,gBAAgB5C,GAAE,MAAMoB,IAAE,IAAEA,EAAC,CAAC;AAAE,QAAIR,IAAE0D,IAAE3D;AAAE,QAAG;AAAC,MAAAC,KAAE2B,GAAE,QAAQlB,IAAEuD,EAAC,GAAEN,KAAE/B,GAAE,QAAQvC,GAAE,MAAM,GAAEoB,EAAC,GAAEwD,EAAC,GAAEjE,KAAEE,GAAE,eAAe+B,EAAC;AAAA,IAAC,SAAO5C,IAAE;AAAC,aAAM;AAAA,IAAE;AAAC,QAAG,CAAC4E,MAAGhE,GAAE,aAAY,EAAG,QAAM;AAAG,UAAM2D,KAAEU,GAAEN,IAAEL,GAAE,WAAU,GAAG1D,GAAE,WAAU,GAAGiD,EAAC;AAAE,WAAOS,GAAE,IAAI1D,GAAE,eAAe2D,EAAC,CAAC,EAAE,SAAS5D,EAAC,EAAE,gBAAgB,OAAO4B,GAAE,IAAI;AAAA,EAAC,GAAE,eAAcA,IAAE,OAAM4C,GAAC;AAAC;AAAE,MAAM,KAAG,IAAG,KAAG,IAAG,KAAG,IAAG,KAAG,IAAG,KAAG,OAAO,CAAC,GAAE,KAAG,OAAO,CAAC,GAAE,KAAG,OAAO,CAAC,GAAE,KAAG,OAAO,CAAC,GAAE,KAAG,EAAC,QAAO,KAAE;AAAE,IAAI,KAAG,CAAA;AAAG,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,qBAAmB,IAAG,GAAG,qBAAmB,IAAG,GAAG,gBAAc,IAAG,GAAG,aAAW,SAASnF,IAAE6D,IAAE;AAAC,QAAM,IAAEA,GAAE,KAAK,CAAA7D,OAAG,MAAM,KAAKA,EAAC,EAAE,QAAO,EAAE;AAAG,SAAM,CAAC6D,IAAExC,OAAI;AAAC,UAAK,CAAC,GAAE,GAAE,GAAE,CAAC,IAAE,EAAE,KAAK,CAAAmD,OAAGA,GAAE,QAAQ,CAACA,IAAEnD,OAAIrB,GAAE,IAAIA,GAAE,IAAIwE,IAAEX,EAAC,GAAExC,EAAC,EAAC,EAAE;AAAG,WAAOwC,KAAE7D,GAAE,IAAI,GAAE,CAAC,GAAEqB,KAAErB,GAAE,IAAIqB,IAAErB,GAAE,IAAI,GAAE,CAAC,CAAC,GAAE,EAAC,GAAE6D,IAAE,GAAExC,GAAC;AAAA,EAAC;AAAC,GAAE,GAAG,eAAa,SAASrB,IAAE6D,IAAE,GAAE;AAAC,MAAG,cAAY,OAAOA,GAAE,OAAM,IAAI,MAAM,8BAA8B;AAAE,SAAM,EAAC,YAAYxC,IAAE,GAAE;AAAC,UAAM,IAAE,GAAGA,IAAE,GAAE,EAAC,GAAG,GAAE,KAAI,EAAE,KAAI,GAAG,EAAC,CAAC,GAAE,IAAErB,GAAE,WAAW6D,GAAE,EAAE,CAAC,CAAC,CAAC,GAAE,IAAE7D,GAAE,WAAW6D,GAAE,EAAE,CAAC,CAAC,CAAC,GAAEzC,KAAE,EAAE,IAAI,CAAC,EAAE;AAAgB,WAAOA,GAAE,eAAc,GAAGA;AAAA,EAAC,GAAE,cAAcC,IAAE,GAAE;AAAC,UAAM,IAAE,GAAGA,IAAE,GAAE,EAAC,GAAG,GAAE,KAAI,EAAE,WAAU,GAAG,EAAC,CAAC,GAAE,IAAErB,GAAE,WAAW6D,GAAE,EAAE,CAAC,CAAC,CAAC,EAAE,cAAa;AAAG,WAAO,EAAE,eAAc,GAAG;AAAA,EAAC,GAAE,WAAWW,IAAE;AAAC,QAAG,CAAC,MAAM,QAAQA,EAAC,EAAE,OAAM,IAAI,MAAM,uCAAuC;AAAE,eAAUxE,MAAKwE,GAAE,KAAG,YAAU,OAAOxE,GAAE,OAAM,IAAI,MAAM,8CAA8CA,EAAC,WAAW;AAAE,UAAMqB,KAAErB,GAAE,WAAW6D,GAAEW,EAAC,CAAC,EAAE,cAAa;AAAG,WAAOnD,GAAE,kBAAiBA;AAAA,EAAC,EAAC;AAAC;AAAE,MAAM,KAAG,IAAG,KAAG,IAAG,KAAG,GAAG;AAAgB,SAAS,GAAGrB,IAAE6D,IAAE;AAAC,MAAG,GAAG7D,EAAC,GAAE,GAAG6D,EAAC,GAAE7D,KAAE,KAAGA,MAAG,KAAG,IAAE6D,GAAE,OAAM,IAAI,MAAM,yBAAyB7D,EAAC,WAAW6D,EAAC,EAAE;AAAE,QAAM,IAAE,MAAM,KAAK,EAAC,QAAOA,GAAC,CAAC,EAAE,KAAK,CAAC;AAAE,WAAQxC,KAAEwC,KAAE,GAAExC,MAAG,GAAEA,KAAI,GAAEA,EAAC,IAAE,MAAIrB,IAAEA,QAAK;AAAE,SAAO,IAAI,WAAW,CAAC;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE;AAAC,QAAM,IAAE,IAAI,WAAW7D,GAAE,MAAM;AAAE,WAAQqB,KAAE,GAAEA,KAAErB,GAAE,QAAOqB,KAAI,GAAEA,EAAC,IAAErB,GAAEqB,EAAC,IAAEwC,GAAExC,EAAC;AAAE,SAAO;AAAC;AAAC,SAAS,GAAGrB,IAAE;AAAC,MAAG,CAAC,OAAO,cAAcA,EAAC,EAAE,OAAM,IAAI,MAAM,iBAAiB;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE,GAAExC,IAAE;AAAC,GAAA,GAAG,GAAG,QAAQrB,EAAC,IAAE,GAAG,GAAG,QAAQ6D,EAAC,GAAE,GAAG,CAAC,GAAEA,GAAE,SAAO,QAAMA,KAAExC,IAAE,GAAG,GAAG,cAAa,GAAG,GAAG,aAAa,mBAAmB,GAAEwC,EAAC,CAAC;AAAG,QAAK,EAAC,WAAU,GAAE,UAAS,EAAC,IAAExC,IAAE,IAAE,KAAK,KAAK,IAAE,CAAC;AAAE,MAAG,IAAE,SAAO,IAAE,IAAI,OAAM,IAAI,MAAM,wCAAwC;AAAE,QAAM,KAAE,GAAG,GAAG,aAAawC,IAAE,GAAGA,GAAE,QAAO,CAAC,CAAC,GAAEzC,KAAE,GAAG,GAAE,CAAC,GAAEwB,KAAE,GAAG,GAAE,CAAC,GAAEhC,KAAE,IAAI,MAAM,CAAC,GAAE0D,KAAEjD,IAAE,GAAG,GAAG,aAAaD,IAAEpB,IAAE4C,IAAE,GAAG,GAAE,CAAC,GAAE,CAAC,CAAC;AAAE,EAAAhC,GAAE,CAAC,IAAES,IAAE,GAAG,GAAG,aAAaiD,IAAE,GAAG,GAAE,CAAC,GAAE,CAAC,CAAC;AAAE,WAAQtE,KAAE,GAAEA,MAAG,GAAEA,MAAI;AAAC,UAAM6D,KAAE,CAAC,GAAGS,IAAE1D,GAAEZ,KAAE,CAAC,CAAC,GAAE,GAAGA,KAAE,GAAE,CAAC,GAAE,CAAC;AAAE,IAAAY,GAAEZ,EAAC,IAAEqB,OAAK,GAAG,aAAa,GAAGwC,EAAC,CAAC;AAAA,EAAC;AAAC,UAAM,GAAG,GAAG,aAAa,GAAGjD,EAAC,EAAE,MAAM,GAAE,CAAC;AAAC;AAAC,SAAS,GAAGZ,IAAE6D,IAAE,GAAExC,IAAE,GAAE;AAAC,UAAM,GAAG,QAAQrB,EAAC,IAAE,GAAG,GAAG,QAAQ6D,EAAC,GAAE,GAAG,CAAC,GAAEA,GAAE,SAAO,KAAI;AAAC,UAAM7D,KAAE,KAAK,KAAK,IAAEqB,KAAE,CAAC;AAAE,IAAAwC,KAAE,EAAE,OAAO,EAAC,OAAM7D,GAAC,CAAC,EAAE,WAAU,GAAG,aAAa,mBAAmB,CAAC,EAAE,OAAO6D,EAAC,EAAE,OAAM;AAAA,EAAE;AAAC,MAAG,IAAE,SAAOA,GAAE,SAAO,IAAI,OAAM,IAAI,MAAM,wCAAwC;AAAE,SAAO,EAAE,OAAO,EAAC,OAAM,EAAC,CAAC,EAAE,OAAO7D,EAAC,EAAE,OAAO,GAAG,GAAE,CAAC,CAAC,EAAE,OAAO6D,EAAC,EAAE,OAAO,GAAGA,GAAE,QAAO,CAAC,CAAC,EAAE,OAAM;AAAE;AAAC,SAAS,GAAG7D,IAAE6D,IAAE,GAAE;AAAC,MAAG,GAAG,gBAAgB,GAAE,EAAC,KAAI,sBAAqB,GAAE,UAAS,GAAE,iBAAgB,GAAE,iBAAgB,MAAK,OAAM,CAAC;AAAE,QAAK,EAAC,GAAExC,IAAE,GAAE,GAAE,GAAE,GAAE,MAAK,GAAE,QAAO,GAAE,KAAID,GAAC,IAAE;AAAE,GAAA,GAAG,GAAG,QAAQpB,EAAC,GAAE,GAAG6D,EAAC;AAAE,QAAMjB,KAAE,YAAU,OAAOxB,MAAE,GAAG,GAAG,aAAaA,EAAC,IAAEA,IAAER,KAAES,GAAE,SAAS,CAAC,EAAE,QAAOiD,KAAE,KAAK,MAAM1D,KAAE,KAAG,CAAC,GAAED,KAAEkD,KAAE,IAAES;AAAE,MAAIC;AAAE,MAAG,UAAQ,EAAE,CAAAA,KAAE,GAAGvE,IAAE4C,IAAEjC,IAAE,CAAC;AAAA,WAAU,UAAQ,EAAE,CAAA4D,KAAE,GAAGvE,IAAE4C,IAAEjC,IAAE,GAAE,CAAC;AAAA,OAAM;AAAC,QAAG,qBAAmB,EAAE,OAAM,IAAI,MAAM,+BAA+B;AAAE,IAAA4D,KAAEvE;AAAA,EAAC;AAAC,QAAMwD,KAAE,IAAI,MAAMK,EAAC;AAAE,WAAQ7D,KAAE,GAAEA,KAAE6D,IAAE7D,MAAI;AAAC,UAAM6D,KAAE,IAAI,MAAM,CAAC;AAAE,aAAQW,KAAE,GAAEA,KAAE,GAAEA,MAAI;AAAC,YAAMC,KAAEH,MAAGE,KAAExE,KAAE,IAAG2E,KAAEJ,GAAE,SAASE,IAAEA,KAAEH,EAAC;AAAE,MAAAT,GAAEW,EAAC,KAAE,GAAG,GAAG,KAAK,GAAGG,EAAC,GAAEtD,EAAC;AAAA,IAAC;AAAC,IAAAmC,GAAExD,EAAC,IAAE6D;AAAA,EAAC;AAAC,SAAOL;AAAC;AAAC,IAAI,KAAG,CAAA;AAAG,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,aAAW,SAASxD,IAAE;AAAC,QAAM6D,MAAE,SAAS7D,IAAE;AAAC,eAAS,GAAG,gBAAgBA,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;AAAA,EAAC,GAAEA,EAAC,GAAE,EAAC,GAAE,EAAC,IAAE6D,IAAExC,KAAE,CAAArB,QAAG,GAAG,GAAG,KAAKA,IAAE,CAAC,GAAE,IAAE6D,GAAE,gBAAe,IAAE,KAAK,KAAK,IAAE,CAAC,GAAE,IAAEA,GAAE,aAAY,IAAEA,GAAE,sBAAoB,CAAA7D,OAAGA,KAAGoB,KAAEyC,GAAE,eAAa,CAAA7D,QAAG,GAAG,GAAG,KAAKA,IAAE,IAAE,OAAO,CAAC,GAAE,CAAC;AAAG,WAAS4C,GAAE5C,IAAE6D,IAAEW,IAAE;AAAC,UAAMC,KAAEpD,GAAErB,MAAG6D,KAAEW,GAAE;AAAE,WAAM,CAACX,KAAExC,GAAEwC,KAAEY,EAAC,GAAED,KAAEnD,GAAEmD,KAAEC,EAAC,CAAC;AAAA,EAAC;AAAC,QAAM7D,MAAGiD,GAAE,IAAE,OAAO,CAAC,KAAG,OAAO,CAAC;AAAE,WAASS,GAAEtE,IAAE;AAAC,eAAS,GAAG,iBAAiBqB,GAAErB,EAAC,GAAE,CAAC;AAAA,EAAC;AAAC,WAASW,GAAEX,IAAE6D,IAAE;AAAC,UAAMlD,MAAE,SAASX,IAAE;AAAC,YAAM6D,MAAE,GAAG,GAAG,aAAa,gBAAe7D,IAAE,CAAC;AAAE,aAAO,OAAK,MAAI6D,GAAE,EAAE,KAAG,UAAQ,GAAG,iBAAiBA,EAAC;AAAA,IAAC,GAAEA,EAAC,GAAEU,MAAE,SAASvE,IAAE;AAAC,YAAM6D,MAAE,GAAG,GAAG,aAAa,UAAS7D,EAAC,GAAEwE,KAAEX,GAAE;AAAO,UAAGW,OAAI,KAAGA,OAAI,EAAE,OAAM,IAAI,MAAM,YAAY,CAAC,OAAO,CAAC,eAAeA,EAAC,EAAE;AAAE,cAAM,GAAG,GAAG,iBAAiB,EAAEX,EAAC,CAAC;AAAA,IAAC,GAAE7D,EAAC,GAAEwD,MAAE,SAASxD,IAAE6D,IAAE;AAAC,OAAA,GAAG,GAAG,UAAU,KAAI7D,IAAE,IAAG,CAAC,IAAE,GAAG,GAAG,UAAU,UAAS6D,IAAE,IAAG,CAAC;AAAE,YAAMa,KAAEb,IAAEc,KAAE3E;AAAE,UAAI4E,IAAEN,KAAE,IAAG3D,KAAE,IAAG4D,KAAEvE,IAAEwD,KAAE,IAAGzD,KAAE;AAAG,eAAQC,MAAE,OAAO,IAAE,CAAC,GAAEA,OAAG,IAAGA,OAAI;AAAC,cAAM6D,KAAEa,MAAG1E,MAAE;AAAG,QAAAD,MAAG8D,IAAEe,KAAEhC,GAAE7C,IAAEuE,IAAEC,EAAC,GAAED,KAAEM,GAAE,CAAC,GAAEL,KAAEK,GAAE,CAAC,GAAEA,KAAEhC,GAAE7C,IAAEY,IAAE6C,EAAC,GAAE7C,KAAEiE,GAAE,CAAC,GAAEpB,KAAEoB,GAAE,CAAC,GAAE7E,KAAE8D;AAAE,cAAMW,KAAEF,KAAE3D,IAAE8D,KAAEpD,GAAEmD,KAAEA,EAAC,GAAEpD,KAAEkD,KAAE3D,IAAED,KAAEW,GAAED,KAAEA,EAAC,GAAEN,KAAE2D,KAAE/D,IAAES,KAAEoD,KAAEf,IAAEjB,KAAElB,IAAGkD,KAAEf,MAAGgB,EAAC,GAAE3D,KAAEQ,GAAEF,KAAEC,EAAC,GAAEyD,KAAEtC,KAAE1B,IAAEiE,KAAEvC,KAAE1B;AAAE,QAAA0D,KAAElD,GAAEwD,KAAEA,EAAC,GAAErB,KAAEnC,GAAEsD,KAAEtD,GAAEyD,KAAEA,EAAC,CAAC,GAAER,KAAEjD,GAAEoD,KAAE/D,EAAC,GAAEC,KAAEU,GAAEP,MAAG2D,KAAEpD,GAAET,KAAEE,EAAC,EAAE;AAAA,MAAC;AAAC,MAAA8D,KAAEhC,GAAE7C,IAAEuE,IAAEC,EAAC,GAAED,KAAEM,GAAE,CAAC,GAAEL,KAAEK,GAAE,CAAC,GAAEA,KAAEhC,GAAE7C,IAAEY,IAAE6C,EAAC,GAAE7C,KAAEiE,GAAE,CAAC,GAAEpB,KAAEoB,GAAE,CAAC;AAAE,YAAMlE,KAAEU,GAAET,EAAC;AAAE,aAAOU,GAAEiD,KAAE5D,EAAC;AAAA,IAAC,GAAEC,IAAE4D,EAAC;AAAE,QAAGf,OAAI,GAAG,OAAM,IAAI,MAAM,wCAAwC;AAAE,WAAOc,GAAEd,EAAC;AAAA,EAAC;AAAC,QAAMe,KAAED,GAAET,GAAE,EAAE;AAAE,WAASL,GAAExD,IAAE;AAAC,WAAOW,GAAEX,IAAEuE,EAAC;AAAA,EAAC;AAAC,SAAM,EAAC,YAAW5D,IAAE,gBAAe6C,IAAE,iBAAgB,CAACxD,IAAE6D,OAAIlD,GAAEX,IAAE6D,EAAC,GAAE,cAAa,CAAA7D,OAAGwD,GAAExD,EAAC,GAAE,OAAM,EAAC,kBAAiB,MAAI6D,GAAE,YAAYA,GAAE,WAAW,EAAC,GAAE,SAAQU,GAAC;AAAC;AAAE,MAAM,KAAG,IAAG,KAAG,IAAG,KAAG,OAAO,CAAC,GAAE,KAAG,OAAO,CAAC;AAAE,EAAC,SAASvE,IAAE;AAAC,SAAO,eAAeA,IAAE,cAAa,EAAC,OAAM,KAAE,CAAC,GAAEA,GAAE,uBAAqBA,GAAE,qBAAmBA,GAAE,iBAAeA,GAAE,gBAAcA,GAAE,cAAYA,GAAE,sBAAoBA,GAAE,SAAOA,GAAE,YAAUA,GAAE,aAAWA,GAAE,UAAQA,GAAE,2BAAyB,QAAOA,GAAE,yBAAuB8E,IAAE9E,GAAE,0BAAwB,SAASA,IAAE;AAAC,UAAM6D,KAAEhD,GAAE,KAAKb,GAAE,SAAS,GAAE,EAAE,CAAC;AAAE,WAAOa,GAAE,kBAAkBgD,EAAC,EAAE,SAAS,GAAE,EAAE;AAAA,EAAC;AAAE,QAAMA,KAAE,IAAG,IAAE,IAAGxC,KAAE,IAAG,IAAE,IAAG,IAAE,IAAG,IAAE,IAAG,IAAE,IAAGD,KAAE,OAAO,+EAA+E,GAAEwB,KAAE,OAAO,+EAA+E,GAAEhC,KAAE,OAAO,CAAC,GAAE0D,KAAE,OAAO,CAAC,GAAE3D,KAAE,OAAO,CAAC,GAAE4D,KAAE,OAAO,CAAC,GAAEf,KAAE,OAAO,CAAC,GAAEzD,KAAE,OAAO,CAAC;AAAE,WAASW,GAAEV,IAAE;AAAC,UAAM6D,KAAE,OAAO,EAAE,GAAEW,KAAE,OAAO,EAAE,GAAEnD,KAAE,OAAO,EAAE,GAAEoD,KAAE,OAAO,EAAE,GAAEE,KAAEvD,IAAEwD,KAAE5E,KAAEA,KAAE2E,KAAE3E,KAAE2E,IAAE/B,SAAK,EAAE,MAAMgC,IAAEjE,IAAEgE,EAAC,IAAEC,KAAED,IAAE/D,MAAE,GAAG,EAAE,MAAMgC,IAAE0B,IAAEK,EAAC,IAAE3E,KAAE2E,IAAEJ,MAAE,GAAG,EAAE,MAAM3D,IAAE4C,IAAEmB,EAAC,IAAE/D,KAAE+D,IAAE5E,MAAE,GAAG,EAAE,MAAMwE,IAAEV,IAAEc,EAAC,IAAEJ,KAAEI,IAAEjE,MAAE,GAAG,EAAE,MAAMX,IAAEyE,IAAEG,EAAC,IAAE5E,KAAE4E,IAAE7D,MAAE,GAAG,EAAE,MAAMJ,IAAEW,IAAEsD,EAAC,IAAEjE,KAAEiE,IAAExD,MAAE,GAAG,EAAE,MAAML,IAAE2D,IAAEE,EAAC,IAAE7D,KAAE6D,IAAEpC,MAAE,GAAG,EAAE,MAAMpB,IAAEsD,IAAEE,EAAC,IAAE7D,KAAE6D,IAAE9D,SAAK,EAAE,MAAM0B,IAAEsB,IAAEc,EAAC,IAAEJ,KAAEI;AAAE,WAAM,EAAC,YAAU,GAAG,EAAE,MAAM9D,IAAEF,IAAEgE,EAAC,IAAE3E,KAAE2E,IAAE,IAAGC,GAAC;AAAA,EAAC;AAAC,WAAS9D,GAAEd,IAAE;AAAC,WAAOA,GAAE,CAAC,KAAG,KAAIA,GAAE,EAAE,KAAG,KAAIA,GAAE,EAAE,KAAG,IAAGA;AAAA,EAAC;AAAC,WAASmB,GAAEnB,IAAE6D,IAAE;AAAC,UAAMW,KAAEpD,IAAEC,MAAE,GAAG,EAAE,KAAKwC,KAAEA,KAAEA,IAAEW,EAAC,GAAEC,KAAE/D,GAAEV,MAAE,GAAG,EAAE,KAAKqB,KAAEA,KAAEwC,IAAEW,EAAC,CAAC,EAAE;AAAU,QAAIG,MAAE,GAAG,EAAE,KAAK3E,KAAEqB,KAAEoD,IAAED,EAAC;AAAE,UAAMI,MAAE,GAAG,EAAE,KAAKf,KAAEc,KAAEA,IAAEH,EAAC,GAAE5D,KAAE+D,IAAEL,SAAK,EAAE,KAAKK,KAAE/B,IAAE4B,EAAC,GAAE7D,KAAEiE,OAAI5E,IAAEuE,KAAEK,QAAI,GAAG,EAAE,KAAK,CAAC5E,IAAEwE,EAAC,GAAEhB,KAAEoB,WAAO,EAAE,KAAK,CAAC5E,KAAE4C,IAAE4B,EAAC;AAAE,WAAO7D,OAAIgE,KAAE/D,MAAI2D,MAAGf,QAAKmB,KAAEL,MAAG,GAAG,EAAE,cAAcK,IAAEH,EAAC,MAAIG,MAAE,GAAG,EAAE,KAAK,CAACA,IAAEH,EAAC,IAAG,EAAC,SAAQ7D,MAAG4D,IAAE,OAAMI,GAAC;AAAA,EAAC;AAAC,EAAA3E,GAAE,2BAAyB,CAAC,oEAAmE,oEAAmE,oEAAmE,oEAAmE,oEAAmE,oEAAmE,oEAAmE,kEAAkE;AAAE,QAAMuC,MAAG,OAAI,GAAG,EAAE,OAAOnB,IAAE,QAAO,IAAE,GAAC,GAAIP,MAAG,OAAK,EAAC,GAAE,OAAO,EAAE,GAAE,GAAE,OAAO,+EAA+E,GAAE,IAAG0B,IAAE,GAAE,OAAO,8EAA8E,GAAE,GAAExC,IAAE,IAAG,OAAO,+EAA+E,GAAE,IAAG,OAAO,+EAA+E,GAAE,MAAK8D,GAAE,QAAO,aAAY,EAAE,aAAY,mBAAkB/C,IAAE,SAAQK,GAAC,IAAE;AAAI,WAAS0D,GAAE7E,IAAE6D,IAAExC,IAAE;AAAC,QAAGwC,GAAE,SAAO,IAAI,OAAM,IAAI,MAAM,oBAAoB;AAAE,YAAM,GAAG,EAAE,cAAa,GAAG,EAAE,aAAa,kCAAkC,GAAE,IAAI,WAAW,CAACxC,KAAE,IAAE,GAAEwC,GAAE,MAAM,CAAC,GAAEA,IAAE7D,EAAC;AAAA,EAAC;AAAC,WAAS8E,GAAEjB,IAAE;AAAC,UAAK,EAAC,GAAEW,GAAC,IAAExE,GAAE,QAAQ,cAAc,QAAQ6D,EAAC,GAAExC,KAAE,OAAO,CAAC;AAAE,WAAOkB,GAAE,QAAQA,GAAE,QAAQlB,KAAEmD,MAAGjC,GAAE,IAAIlB,KAAEmD,EAAC,CAAC,CAAC;AAAA,EAAC;AAAC,EAAAxE,GAAE,WAAQ,GAAGqB,GAAE,gBAAgBR,EAAC,GAAEb,GAAE,iBAAcqB,GAAE,gBAAgB,EAAC,GAAGR,IAAE,QAAOgE,GAAC,CAAC,GAAE7E,GAAE,aAAU,GAAGqB,GAAE,gBAAgB,OAAO,OAAO,CAAA,GAAGR,IAAE,EAAC,QAAOgE,IAAE,SAAQhB,GAAE,OAAM,CAAC,CAAC,GAAE7D,GAAE,UAAO,GAAG,EAAE,YAAY,EAAC,GAAEoB,IAAE,GAAE,OAAO,MAAM,GAAE,gBAAe,KAAI,aAAY,IAAG,IAAG,OAAO,CAAC,GAAE,YAAW,CAAApB,OAAG;AAAC,UAAM6D,KAAEzC,IAAE,EAAC,WAAUoD,IAAE,IAAGnD,GAAC,IAAEX,GAAEV,EAAC;AAAE,YAAM,GAAG,EAAE,MAAK,GAAG,EAAE,MAAMwE,IAAED,IAAEV,EAAC,IAAExC,IAAEwC,EAAC;AAAA,EAAC,GAAE,mBAAkB/C,IAAE,aAAY,EAAE,YAAW,CAAC,GAAEd,GAAE,sBAAoB8E;AAAE,QAAMC,MAAG,OAAKxC,GAAE,QAAMgC,MAAGxE,IAAC,GAAIiF,MAAG,MAAIzC,GAAE,IAAI5B,IAAEoE,EAAC,GAAC,GAAI7C,MAAG,MAAIK,GAAE,KAAKA,GAAE,IAAIA,GAAE,GAAG,CAAC,GAAC;AAAI,QAAM0C,MAAG,OAAI,GAAG,EAAE,YAAY1C,IAAEA,GAAE,IAAI,OAAO,MAAM,CAAC,CAAC;AAAK,WAAS2C,GAAElF,IAAE;AAAC,UAAK,EAAC,KAAI6D,IAAE,KAAIW,IAAE,KAAInD,IAAE,KAAIoD,GAAC,KAAE,SAASzE,IAAE;AAAC,YAAM6D,MAAGtB,GAAE,QAAMiB,MAAGzD,IAAEyE,KAAE,OAAO,MAAM;AAAE,UAAInD,KAAEkB,GAAE,IAAIvC,EAAC;AAAE,MAAAqB,KAAEkB,GAAE,IAAIlB,IAAEV,EAAC;AAAE,UAAI8D,KAAElC,GAAE,IAAIlB,IAAEkB,GAAE,GAAG,GAAEmC,KAAEnC,GAAE,IAAIiC,EAAC,GAAEG,KAAEpC,GAAE,IAAIkC,EAAC,GAAEG,KAAErC,GAAE,IAAIoC,IAAEF,EAAC,GAAErD,KAAEmB,GAAE,IAAIlB,IAAEmD,EAAC;AAAE,MAAApD,KAAEmB,GAAE,IAAInB,IAAEsD,EAAC,GAAEtD,KAAEmB,GAAE,IAAInB,IAAEuD,EAAC,GAAEvD,KAAEmB,GAAE,IAAInB,IAAEsD,EAAC;AAAE,UAAI9B,KAAEL,GAAE,IAAIqC,EAAC;AAAE,MAAAD,KAAEpC,GAAE,IAAIK,EAAC,GAAEA,KAAEL,GAAE,IAAIK,IAAEgC,EAAC,GAAEhC,KAAEL,GAAE,IAAIK,IAAExB,EAAC,GAAEuD,KAAEpC,GAAE,IAAIoC,IAAE/B,EAAC;AAAE,UAAIhC,KAAE2B,GAAE,IAAIoC,IAAEd,EAAC;AAAE,MAAAjD,KAAE2B,GAAE,IAAI3B,IAAEgC,EAAC;AAAE,UAAI2B,KAAEhC,GAAE,IAAI3B,IAAEsB,EAAC;AAAE,MAAAyC,KAAEpC,GAAE,IAAI3B,EAAC,GAAE+D,KAAEpC,GAAE,IAAIoC,IAAEC,EAAC;AAAE,UAAIlE,KAAE6B,GAAE,IAAIoC,IAAEvD,EAAC,GAAEN,KAAEyB,GAAE,KAAKgC,IAAE3D,IAAEF,EAAC,GAAES,KAAEoB,GAAE,IAAImC,IAAErD,EAAC,GAAER,KAAE0B,GAAE,IAAI3B,IAAEZ,EAAC;AAAE,MAAAa,KAAE0B,GAAE,IAAI1B,IAAEmE,EAAC;AAAE,UAAIH,KAAEtC,GAAE,IAAI1B,IAAEqB,EAAC,GAAE4C,KAAEvC,GAAE,IAAInB,IAAEC,EAAC;AAAE,MAAAsD,KAAEpC,GAAE,IAAI1B,EAAC,GAAE8D,KAAEpC,GAAE,IAAIoC,IAAEC,EAAC;AAAE,UAAIG,KAAExC,GAAE,IAAIoC,IAAEG,EAAC,GAAEG,KAAE1C,GAAE,KAAKsC,IAAEhE,IAAEkE,EAAC;AAAE,MAAAJ,KAAEpC,GAAE,IAAIzB,EAAC,GAAE6D,KAAEpC,GAAE,IAAIoC,IAAEC,EAAC;AAAE,UAAIM,KAAE3C,GAAE,IAAIoC,IAAEvD,EAAC,GAAE+D,KAAE5C,GAAE,KAAKpB,IAAEuD,IAAEQ,EAAC,GAAEE,KAAE7C,GAAE,KAAK0C,IAAEnE,IAAEoE,EAAC,GAAEG,KAAE9C,GAAE,MAAM6C,EAAC;AAAE,aAAOA,KAAE7C,GAAE,KAAK6C,IAAE7C,GAAE,IAAI6C,EAAC,GAAEF,OAAIG,EAAC,GAAE,EAAC,KAAIF,IAAE,KAAIV,IAAE,KAAIW,IAAE,KAAId,GAAC;AAAA,IAAC,GAAEtE,EAAC;AAAE,QAAI0E,KAAEnC,GAAE,IAAIsB,IAAEY,EAAC;AAAE,IAAAC,KAAEnC,GAAE,IAAImC,IAAEO,EAAC;AAAE,QAAIN,KAAEpC,GAAE,IAAIiC,IAAEnD,EAAC,GAAEuD,KAAErC,GAAE,IAAIsB,IAAEW,EAAC,GAAEpD,KAAEmB,GAAE,IAAIsB,IAAEW,EAAC,GAAE5B,KAAEL,GAAE,IAAIoC,IAAEvD,EAAC,GAAER,KAAE2B,GAAE,IAAIK,IAAEL,GAAE,IAAI;AAAE,IAAAmC,KAAEnC,GAAE,KAAKmC,IAAEnC,GAAE,MAAK3B,EAAC,GAAE+D,KAAEpC,GAAE,KAAKoC,IAAEpC,GAAE,KAAI3B,EAAC,GAAEgE,KAAErC,GAAE,KAAKqC,IAAErC,GAAE,KAAI3B,EAAC,GAAEQ,KAAEmB,GAAE,KAAKnB,IAAEmB,GAAE,KAAI3B,EAAC;AAAE,UAAM2D,KAAEhC,GAAE,YAAY,CAACoC,IAAEvD,EAAC,CAAC;AAAE,WAAM,EAAC,GAAEmB,GAAE,IAAImC,IAAEH,GAAE,CAAC,CAAC,GAAE,GAAEhC,GAAE,IAAIqC,IAAEL,GAAE,CAAC,CAAC,EAAC;AAAA,EAAC;AAAC,QAAMY,MAAG,OAAI,GAAG,EAAE,cAAcnF,GAAE,QAAQ,gBAAe,CAAAA,OAAGkF,GAAElF,GAAE,CAAC,CAAC,IAAG,EAAC,KAAI,qCAAoC,WAAU,qCAAoC,GAAEuC,GAAE,OAAM,GAAE,GAAE,GAAE,KAAI,QAAO,OAAM,MAAKsB,GAAE,OAAM,CAAC,GAAC;AAAI,WAASuB,GAAEpF,IAAE;AAAC,QAAG,EAAEA,cAAasF,IAAG,OAAM,IAAI,MAAM,yBAAyB;AAAA,EAAC;AAAC,EAAAtF,GAAE,cAAYmF,GAAE,aAAYnF,GAAE,gBAAcmF,GAAE;AAAc,QAAME,KAAEzC,IAAE2C,KAAE,OAAO,+EAA+E,GAAEC,KAAE,OAAO,+EAA+E,GAAEC,KAAE,OAAO,8EAA8E,GAAEC,KAAE,OAAO,+EAA+E,GAAEC,KAAE,CAAA3F,OAAGmB,GAAEmD,IAAEtE,EAAC,GAAE4F,KAAE,OAAO,oEAAoE,GAAEC,KAAE,CAAAhC,OAAG7D,GAAE,QAAQ,MAAM,GAAG,QAAO,GAAG,EAAE,iBAAiB6D,EAAC,IAAE+B,EAAC;AAAE,WAASE,GAAEjC,IAAE;AAAC,UAAK,EAAC,GAAEW,GAAC,IAAExE,GAAE,QAAQ,OAAMqB,KAAErB,GAAE,QAAQ,MAAM,GAAG,OAAMyE,KAAEzE,GAAE,QAAQ,MAAM,GAAG,QAAO2E,KAAEF,GAAEY,KAAExB,KAAEA,EAAC,GAAEe,KAAEH,IAAGE,KAAEL,MAAGmB,EAAC;AAAE,QAAIrE,KAAE,OAAO,EAAE;AAAE,UAAMwB,KAAE6B,IAAGrD,KAAEoD,KAAEG,MAAGF,GAAEE,KAAEH,EAAC,CAAC;AAAE,QAAG,EAAC,SAAQ5D,IAAE,OAAMD,GAAC,IAAEQ,GAAEyD,IAAEhC,EAAC,GAAE2B,KAAEE,GAAE9D,KAAEkD,EAAC;AAAE,KAAA,GAAG,EAAE,cAAcU,IAAElD,EAAC,MAAIkD,KAAEE,GAAE,CAACF,EAAC,IAAG3D,OAAID,KAAE4D,KAAG3D,OAAIQ,KAAEuD;AAAG,UAAMnB,KAAEiB,GAAErD,MAAGuD,KAAEL,MAAGoB,KAAE9C,EAAC,GAAE7C,KAAEY,KAAEA,IAAED,KAAE+D,IAAG9D,KAAEA,MAAGiC,EAAC,GAAE9B,KAAE2D,GAAEjB,KAAE+B,EAAC,GAAEhD,KAAEkC,GAAEH,KAAEvE,EAAC,GAAEc,KAAE4D,GAAEH,KAAEvE,EAAC;AAAE,WAAO,IAAIC,GAAE,QAAQ,cAAcyE,GAAE/D,KAAEG,EAAC,GAAE4D,GAAElC,KAAEzB,EAAC,GAAE2D,GAAE3D,KAAED,EAAC,GAAE4D,GAAE/D,KAAE6B,EAAC,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM+C,GAAC;AAAA,IAAC,YAAYtF,IAAE;AAAC,WAAK,KAAGA;AAAA,IAAC;AAAA,IAAC,OAAO,WAAW6D,IAAE;AAAC,aAAO,IAAIyB,GAAEtF,GAAE,QAAQ,cAAc,WAAW6D,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,OAAO,YAAY7D,IAAE;AAAC,MAAAA,SAAK,EAAE,aAAa,iBAAgBA,IAAE,EAAE;AAAE,YAAM6D,KAAEiC,GAAED,GAAE7F,GAAE,MAAM,GAAE,EAAE,CAAC,CAAC,GAAEwE,KAAEsB,GAAED,GAAE7F,GAAE,MAAM,IAAG,EAAE,CAAC,CAAC;AAAE,aAAO,IAAIsF,GAAEzB,GAAE,IAAIW,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,OAAO,QAAQX,IAAE;AAAC,MAAAA,MAAE,GAAG,EAAE,aAAa,gBAAeA,IAAE,EAAE;AAAE,YAAK,EAAC,GAAEW,IAAE,GAAEnD,GAAC,IAAErB,GAAE,QAAQ,OAAMyE,KAAEzE,GAAE,QAAQ,MAAM,GAAG,OAAM2E,KAAE3E,GAAE,QAAQ,MAAM,GAAG,QAAOoB,KAAE,2EAA0EwB,KAAEiD,GAAEhC,EAAC;AAAE,UAAG,EAAC,GAAG,EAAE,aAAY,GAAG,EAAE,iBAAiBjB,IAAE,EAAE,GAAEiB,EAAC,MAAG,GAAG,EAAE,cAAcjB,IAAE6B,EAAC,EAAE,OAAM,IAAI,MAAMrD,EAAC;AAAE,YAAMT,KAAEgE,GAAE/B,KAAEA,EAAC,GAAE2B,KAAEI,GAAEL,KAAEE,KAAE7D,EAAC,GAAE6C,KAAEmB,GAAEL,KAAEE,KAAE7D,EAAC,GAAEZ,KAAE4E,GAAEJ,KAAEA,EAAC,GAAE7D,KAAEiE,GAAEnB,KAAEA,EAAC,GAAE1C,KAAE6D,GAAEH,KAAEnD,KAAEtB,KAAEW,EAAC,GAAE,EAAC,SAAQS,IAAE,OAAMoB,GAAC,IAAEoD,GAAEhB,GAAE7D,KAAEJ,EAAC,CAAC,GAAEG,KAAE8D,GAAEpC,KAAEiB,EAAC,GAAEqB,KAAEF,GAAEpC,KAAE1B,KAAEC,EAAC;AAAE,UAAIgE,KAAEH,IAAG/B,KAAEA,MAAG/B,EAAC;AAAE,OAAA,GAAG,EAAE,cAAciE,IAAEL,EAAC,MAAIK,KAAEH,GAAE,CAACG,EAAC;AAAG,YAAMC,KAAEJ,GAAEJ,KAAEM,EAAC,GAAEG,KAAEL,GAAEG,KAAEC,EAAC;AAAE,UAAG,CAAC5D,OAAG,GAAG,EAAE,cAAc6D,IAAEP,EAAC,KAAGM,OAAInE,GAAE,OAAM,IAAI,MAAMQ,EAAC;AAAE,aAAO,IAAIkE,GAAE,IAAItF,GAAE,QAAQ,cAAc8E,IAAEC,IAAET,IAAEU,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,aAAY;AAAC,UAAG,EAAC,IAAGnB,IAAE,IAAGW,IAAE,IAAGnD,IAAE,IAAGoD,GAAC,IAAE,KAAK;AAAG,YAAME,KAAE3E,GAAE,QAAQ,MAAM,GAAG,OAAMoB,KAAEpB,GAAE,QAAQ,MAAM,GAAG,QAAO4C,KAAExB,GAAEA,GAAEC,KAAEmD,EAAC,IAAEpD,GAAEC,KAAEmD,EAAC,CAAC,GAAE5D,KAAEQ,GAAEyC,KAAEW,EAAC,GAAEF,KAAElD,GAAER,KAAEA,EAAC,GAAE,EAAC,OAAMD,GAAC,IAAEgF,GAAEvE,GAAEwB,KAAE0B,EAAC,CAAC,GAAEC,KAAEnD,GAAET,KAAEiC,EAAC,GAAEY,KAAEpC,GAAET,KAAEC,EAAC,GAAEb,KAAEqB,GAAEmD,KAAEf,KAAEiB,EAAC;AAAE,UAAI/D;AAAE,WAAG,GAAG,EAAE,cAAc+D,KAAE1E,IAAE4E,EAAC,GAAE;AAAC,YAAI3E,KAAEoB,GAAEoD,KAAEa,EAAC,GAAEhE,KAAED,GAAEyC,KAAEwB,EAAC;AAAE,QAAAxB,KAAE7D,IAAEwE,KAAEnD,IAAEX,KAAEU,GAAEmD,KAAEiB,EAAC;AAAA,MAAC,MAAM,CAAA9E,KAAE8C;AAAE,OAAA,GAAG,EAAE,cAAcK,KAAE9D,IAAE4E,EAAC,MAAIH,KAAEpD,GAAE,CAACoD,EAAC;AAAG,UAAI1D,KAAEM,IAAGC,KAAEmD,MAAG9D,EAAC;AAAE,cAAM,GAAG,EAAE,cAAcI,IAAE6D,EAAC,MAAI7D,KAAEM,GAAE,CAACN,EAAC,KAAG,GAAG,EAAE,iBAAiBA,IAAE,EAAE;AAAA,IAAC;AAAA,IAAC,QAAO;AAAC,cAAM,GAAG,EAAE,YAAY,KAAK,YAAY;AAAA,IAAC;AAAA,IAAC,WAAU;AAAC,aAAO,KAAK,MAAK;AAAA,IAAE;AAAA,IAAC,OAAO+C,IAAE;AAAC,MAAAuB,GAAEvB,EAAC;AAAE,YAAK,EAAC,IAAGW,IAAE,IAAGnD,GAAC,IAAE,KAAK,IAAG,EAAC,IAAGoD,IAAE,IAAGC,GAAC,IAAEb,GAAE,IAAGc,KAAE3E,GAAE,QAAQ,MAAM,GAAG,QAAO4E,KAAED,GAAEH,KAAEE,EAAC,MAAIC,GAAEtD,KAAEoD,EAAC,GAAErD,KAAEuD,GAAEtD,KAAEqD,EAAC,MAAIC,GAAEH,KAAEC,EAAC;AAAE,aAAOG,MAAGxD;AAAA,IAAC;AAAA,IAAC,IAAIpB,IAAE;AAAC,aAAOoF,GAAEpF,EAAC,GAAE,IAAIsF,GAAE,KAAK,GAAG,IAAItF,GAAE,EAAE,CAAC;AAAA,IAAC;AAAA,IAAC,SAASA,IAAE;AAAC,aAAOoF,GAAEpF,EAAC,GAAE,IAAIsF,GAAE,KAAK,GAAG,SAAStF,GAAE,EAAE,CAAC;AAAA,IAAC;AAAA,IAAC,SAASA,IAAE;AAAC,aAAO,IAAIsF,GAAE,KAAK,GAAG,SAAStF,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,eAAeA,IAAE;AAAC,aAAO,IAAIsF,GAAE,KAAK,GAAG,eAAetF,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,SAAQ;AAAC,aAAO,IAAIsF,GAAE,KAAK,GAAG,OAAM,CAAE;AAAA,IAAC;AAAA,IAAC,SAAQ;AAAC,aAAO,IAAIA,GAAE,KAAK,GAAG,OAAM,CAAE;AAAA,IAAC;AAAA,EAAC;AAAC,EAAAtF,GAAE,kBAAgBsF,GAAE,SAAOA,GAAE,OAAK,IAAIA,GAAEtF,GAAE,QAAQ,cAAc,IAAI,IAAGsF,GAAE,SAAOA,GAAE,OAAK,IAAIA,GAAEtF,GAAE,QAAQ,cAAc,IAAI,IAAGsF;AAAG,EAAAtF,GAAE,qBAAmB,CAACA,IAAEqB,OAAI;AAAC,UAAMqD,KAAErD,GAAE,KAAIsD,KAAE,YAAU,OAAOD,SAAK,EAAE,aAAaA,EAAC,IAAEA,IAAEE,MAAE,GAAG,EAAE,oBAAoB5E,IAAE2E,IAAE,IAAGd,GAAE,MAAM;AAAE,WAAOyB,GAAE,YAAYV,EAAC;AAAA,EAAC,GAAE5E,GAAE,uBAAqBA,GAAE;AAAkB,GAAE,EAAE;AAAE,IAAI,KAAG,CAAA,GAAG,KAAG,CAAA;AAAG,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,SAAO,GAAG,SAAO,GAAG,SAAO;AAAO,MAAM,KAAG,IAAG,KAAG,IAAG,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,GAAE,KAAG,IAAI,YAAY,CAAC,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,WAAU,UAAU,CAAC,GAAE,KAAG,IAAI,YAAY,EAAE;AAAE,MAAM,WAAW,GAAG,OAAM;AAAA,EAAC,cAAa;AAAC,UAAM,IAAG,IAAG,GAAE,KAAE,GAAE,KAAK,IAAE,IAAE,GAAG,CAAC,GAAE,KAAK,IAAE,IAAE,GAAG,CAAC,GAAE,KAAK,IAAE,IAAE,GAAG,CAAC,GAAE,KAAK,IAAE,IAAE,GAAG,CAAC,GAAE,KAAK,IAAE,IAAE,GAAG,CAAC,GAAE,KAAK,IAAE,IAAE,GAAG,CAAC,GAAE,KAAK,IAAE,IAAE,GAAG,CAAC,GAAE,KAAK,IAAE,IAAE,GAAG,CAAC;AAAA,EAAC;AAAA,EAAC,MAAK;AAAC,UAAK,EAAC,GAAEA,IAAE,GAAE6D,IAAE,GAAE,GAAE,GAAExC,IAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,EAAC,IAAE;AAAK,WAAM,CAACrB,IAAE6D,IAAE,GAAExC,IAAE,GAAE,GAAE,GAAE,CAAC;AAAA,EAAC;AAAA,EAAC,IAAIrB,IAAE6D,IAAE,GAAExC,IAAE,GAAE,GAAE,GAAE,GAAE;AAAC,SAAK,IAAE,IAAErB,IAAE,KAAK,IAAE,IAAE6D,IAAE,KAAK,IAAE,IAAE,GAAE,KAAK,IAAE,IAAExC,IAAE,KAAK,IAAE,IAAE,GAAE,KAAK,IAAE,IAAE,GAAE,KAAK,IAAE,IAAE,GAAE,KAAK,IAAE,IAAE;AAAA,EAAC;AAAA,EAAC,QAAQrB,IAAE6D,IAAE;AAAC,aAAQW,KAAE,GAAEA,KAAE,IAAGA,MAAIX,MAAG,EAAE,IAAGW,EAAC,IAAExE,GAAE,UAAU6D,IAAE,KAAE;AAAE,aAAQ7D,KAAE,IAAGA,KAAE,IAAGA,MAAI;AAAC,YAAM6D,KAAE,GAAG7D,KAAE,EAAE,GAAEwE,KAAE,GAAGxE,KAAE,CAAC,GAAEqB,MAAE,GAAG,GAAG,MAAMwC,IAAE,CAAC,QAAK,GAAG,MAAMA,IAAE,EAAE,IAAEA,OAAI,GAAEY,MAAE,GAAG,GAAG,MAAMD,IAAE,EAAE,KAAE,GAAG,GAAG,MAAMA,IAAE,EAAE,IAAEA,OAAI;AAAG,SAAGxE,EAAC,IAAEyE,KAAE,GAAGzE,KAAE,CAAC,IAAEqB,KAAE,GAAGrB,KAAE,EAAE,IAAE;AAAA,IAAC;AAAC,QAAG,EAAC,GAAE,GAAE,GAAEqB,IAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAED,IAAE,GAAEwB,GAAC,IAAE;AAAK,aAAQ5C,KAAE,GAAEA,KAAE,IAAGA,MAAI;AAAC,YAAM6D,KAAEjB,OAAG,GAAG,GAAG,MAAM,GAAE,CAAC,QAAK,GAAG,MAAM,GAAE,EAAE,KAAE,GAAG,GAAG,MAAM,GAAE,EAAE,MAAG,GAAG,GAAG,KAAK,GAAE,GAAExB,EAAC,IAAE,GAAGpB,EAAC,IAAE,GAAGA,EAAC,IAAE,GAAEY,OAAG,GAAG,GAAG,MAAM,GAAE,CAAC,KAAE,GAAG,GAAG,MAAM,GAAE,EAAE,KAAE,GAAG,GAAG,MAAM,GAAE,EAAE,MAAG,GAAG,GAAG,KAAK,GAAES,IAAE,CAAC,IAAE;AAAE,MAAAuB,KAAExB,IAAEA,KAAE,GAAE,IAAE,GAAE,IAAE,IAAEyC,KAAE,GAAE,IAAE,GAAE,IAAExC,IAAEA,KAAE,GAAE,IAAEwC,KAAEjD,KAAE;AAAA,IAAC;AAAC,QAAE,IAAE,KAAK,IAAE,GAAES,KAAEA,KAAE,KAAK,IAAE,GAAE,IAAE,IAAE,KAAK,IAAE,GAAE,IAAE,IAAE,KAAK,IAAE,GAAE,IAAE,IAAE,KAAK,IAAE,GAAE,IAAE,IAAE,KAAK,IAAE,GAAED,KAAEA,KAAE,KAAK,IAAE,GAAEwB,KAAEA,KAAE,KAAK,IAAE,GAAE,KAAK,IAAI,GAAEvB,IAAE,GAAE,GAAE,GAAE,GAAED,IAAEwB,EAAC;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,OAAG,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,GAAG,SAAO;AAAG,MAAM,WAAW,GAAE;AAAA,EAAC,cAAa;AAAC,UAAK,GAAG,KAAK,IAAE,aAAY,KAAK,IAAE,WAAU,KAAK,IAAE,WAAU,KAAK,IAAE,YAAW,KAAK,IAAE,UAAS,KAAK,IAAE,YAAW,KAAK,IAAE,YAAW,KAAK,IAAE,aAAY,KAAK,YAAU;AAAA,EAAE;AAAC;AAAC,GAAG,UAAO,GAAG,GAAG,kBAAkB,MAAI,IAAI,KAAE,GAAG,GAAG,UAAO,GAAG,GAAG,kBAAkB,MAAI,IAAI,KAAE;AAAG,IAAI,KAAG,CAAA,GAAG,KAAG,CAAA;AAAG,EAAC,SAAS5C,IAAE;AAAC,SAAO,eAAeA,IAAE,cAAa,EAAC,OAAM,KAAE,CAAC,GAAEA,GAAE,OAAKA,GAAE,OAAK;AAAO,QAAM6D,KAAE,IAAG,IAAE;AAAA,EAAG,MAAMxC,WAAU,EAAE,KAAI;AAAA,IAAC,YAAYrB,IAAEqB,IAAE;AAAC,YAAK,GAAG,KAAK,WAAS,OAAG,KAAK,YAAU,QAAG,GAAGwC,GAAE,MAAM7D,EAAC;AAAE,YAAM,KAAE,GAAG,EAAE,SAASqB,EAAC;AAAE,UAAG,KAAK,QAAMrB,GAAE,OAAM,GAAG,cAAY,OAAO,KAAK,MAAM,OAAO,OAAM,IAAI,MAAM,qDAAqD;AAAE,WAAK,WAAS,KAAK,MAAM,UAAS,KAAK,YAAU,KAAK,MAAM;AAAU,YAAM,IAAE,KAAK,UAAS,IAAE,IAAI,WAAW,CAAC;AAAE,QAAE,IAAI,EAAE,SAAO,IAAEA,GAAE,OAAM,EAAG,OAAO,CAAC,EAAE,OAAM,IAAG,CAAC;AAAE,eAAQA,KAAE,GAAEA,KAAE,EAAE,QAAOA,KAAI,GAAEA,EAAC,KAAG;AAAG,WAAK,MAAM,OAAO,CAAC,GAAE,KAAK,QAAMA,GAAE,OAAM;AAAG,eAAQA,KAAE,GAAEA,KAAE,EAAE,QAAOA,KAAI,GAAEA,EAAC,KAAG;AAAI,WAAK,MAAM,OAAO,CAAC,GAAE,EAAE,KAAK,CAAC;AAAA,IAAC;AAAA,IAAC,OAAOA,IAAE;AAAC,iBAAS6D,GAAE,QAAQ,IAAI,GAAE,KAAK,MAAM,OAAO7D,EAAC,GAAE;AAAA,IAAI;AAAA,IAAC,WAAWA,IAAE;AAAC,OAAA,GAAG6D,GAAE,QAAQ,IAAI,IAAE,GAAGA,GAAE,OAAO7D,IAAE,KAAK,SAAS,GAAE,KAAK,WAAS,MAAG,KAAK,MAAM,WAAWA,EAAC,GAAE,KAAK,MAAM,OAAOA,EAAC,GAAE,KAAK,MAAM,WAAWA,EAAC,GAAE,KAAK,QAAO;AAAA,IAAE;AAAA,IAAC,SAAQ;AAAC,YAAMA,KAAE,IAAI,WAAW,KAAK,MAAM,SAAS;AAAE,aAAO,KAAK,WAAWA,EAAC,GAAEA;AAAA,IAAC;AAAA,IAAC,WAAWA,IAAE;AAAC,MAAAA,OAAIA,KAAE,OAAO,OAAO,OAAO,eAAe,IAAI,GAAE,CAAA,CAAE;AAAG,YAAK,EAAC,OAAM6D,IAAE,OAAMW,IAAE,UAASnD,IAAE,WAAU,GAAE,UAAS,GAAE,WAAU,EAAC,IAAE;AAAK,aAAOrB,GAAE,WAASqB,IAAErB,GAAE,YAAU,GAAEA,GAAE,WAAS,GAAEA,GAAE,YAAU,GAAEA,GAAE,QAAM6D,GAAE,WAAW7D,GAAE,KAAK,GAAEA,GAAE,QAAMwE,GAAE,WAAWxE,GAAE,KAAK,GAAEA;AAAA,IAAC;AAAA,IAAC,UAAS;AAAC,WAAK,YAAU,MAAG,KAAK,MAAM,QAAO,GAAG,KAAK,MAAM,QAAO;AAAA,IAAE;AAAA,EAAC;AAAC,EAAAA,GAAE,OAAKqB;AAAE,EAAArB,GAAE,OAAK,CAACA,IAAE6D,IAAEW,OAAI,IAAInD,GAAErB,IAAE6D,EAAC,EAAE,OAAOW,EAAC,EAAE,OAAM,GAAGxE,GAAE,KAAK,SAAO,CAACA,IAAE6D,OAAI,IAAIxC,GAAErB,IAAE6D,EAAC;AAAC,GAAE,EAAE;AAAE,IAAI,KAAG,CAAA;AAAG,EAAC,SAAS7D,IAAE;AAAC,SAAO,eAAeA,IAAE,cAAa,EAAC,OAAM,KAAE,CAAC,GAAEA,GAAE,MAAI,QAAOA,GAAE,oBAAkBuE,IAAEvE,GAAE,cAAY,SAAS2E,IAAE;AAAC,UAAMC,MAAE,SAAS5E,IAAE;AAAC,YAAMwE,MAAE,GAAGX,GAAE,eAAe7D,EAAC;AAAE,aAAOqB,GAAE,eAAemD,IAAE,EAAC,MAAK,QAAO,MAAK,YAAW,aAAY,WAAU,GAAE,EAAC,UAAS,YAAW,eAAc,YAAW,MAAK,UAAS,CAAC,GAAE,OAAO,OAAO,EAAC,MAAK,MAAG,GAAGA,GAAC,CAAC;AAAA,IAAC,GAAEG,EAAC,GAAE,EAAC,IAAG/D,IAAE,GAAE0D,GAAC,IAAEM,IAAEjE,KAAEC,GAAE,QAAM,GAAE4C,KAAE,IAAE5C,GAAE,QAAM;AAAE,aAASb,GAAEC,IAAE;AAAC,aAAO,EAAE,IAAIA,IAAEsE,EAAC;AAAA,IAAC;AAAC,aAAS5D,GAAEV,IAAE;AAAC,aAAO,EAAE,OAAOA,IAAEsE,EAAC;AAAA,IAAC;AAAC,UAAK,EAAC,iBAAgBxD,IAAE,wBAAuBK,IAAE,qBAAoBoB,IAAE,oBAAmB1B,GAAC,IAAE0D,GAAE,EAAC,GAAGK,IAAE,QAAQ5E,IAAE6D,IAAEW,IAAE;AAAC,YAAME,KAAEb,GAAE,SAAQ,GAAGc,KAAE/D,GAAE,QAAQ8D,GAAE,CAAC,GAAEE,KAAEvD,GAAE;AAAY,cAAM,GAAG,EAAE,OAAO,gBAAemD,EAAC,GAAEA,KAAEI,GAAE,WAAW,KAAK,CAACf,GAAE,SAAQ,IAAG,IAAE,CAAC,CAAC,GAAEc,EAAC,IAAEC,GAAE,WAAW,KAAK,CAAC,CAAC,CAAC,GAAED,IAAE/D,GAAE,QAAQ8D,GAAE,CAAC,CAAC;AAAA,IAAC,GAAE,UAAU1E,IAAE;AAAC,YAAM6D,KAAE7D,GAAE,QAAOwE,KAAExE,GAAE,CAAC,GAAEyE,KAAEzE,GAAE,SAAS,CAAC;AAAE,UAAG6D,OAAIlD,MAAG,MAAI6D,MAAG,MAAIA,IAAE;AAAC,YAAGX,OAAIL,MAAG,MAAIgB,IAAE;AAAC,iBAAM,EAAC,GAAE5D,GAAE,UAAU6D,GAAE,SAAS,GAAE7D,GAAE,KAAK,CAAC,GAAE,GAAEA,GAAE,UAAU6D,GAAE,SAAS7D,GAAE,OAAM,IAAEA,GAAE,KAAK,CAAC,EAAC;AAAA,QAAC;AAAC,cAAM,IAAI,MAAM,mBAAmBiD,EAAC,0BAA0BlD,EAAC,wBAAwB6C,EAAC,qBAAqB;AAAA,MAAC;AAAC;AAAC,cAAMxD,KAAEqB,GAAE,gBAAgBoD,EAAC;AAAE,YAAG,CAACpD,GAAE,QAAQrB,IAAE4C,IAAEhC,GAAE,KAAK,EAAE,OAAM,IAAI,MAAM,uBAAuB;AAAE,cAAMiD,KAAEtB,GAAEvC,EAAC;AAAE,YAAI0E;AAAE,YAAG;AAAC,UAAAA,KAAE9D,GAAE,KAAKiD,EAAC;AAAA,QAAC,SAAO7D,KAAE;AAAC,gBAAM6D,KAAE7D,eAAa,QAAM,OAAKA,IAAE,UAAQ;AAAG,gBAAM,IAAI,MAAM,0BAAwB6D,EAAC;AAAA,QAAC;AAAC,eAAO,MAAI,IAAEW,UAAOE,KAAE9B,QAAKA,QAAK8B,KAAE9D,GAAE,IAAI8D,EAAC,IAAG,EAAC,GAAE1E,IAAE,GAAE0E,GAAC;AAAA,MAAC;AAAA,IAAC,EAAC,CAAC,GAAEG,KAAE,CAAA7E,OAAGqB,GAAE,WAAWA,GAAE,gBAAgBrB,IAAE4E,GAAE,WAAW,CAAC;AAAE,aAASE,GAAE9E,IAAE;AAAC,aAAOA,KAAEsE,MAAG1B;AAAA,IAAC;AAAC,UAAMmC,KAAE,CAAC/E,IAAE6D,IAAEW,OAAInD,GAAE,gBAAgBrB,GAAE,MAAM6D,IAAEW,EAAC,CAAC;AAAA,IAAE,MAAMQ,GAAC;AAAA,MAAC,YAAYhF,IAAE6D,IAAEW,IAAE;AAAC,aAAK,IAAExE,IAAE,KAAK,IAAE6D,IAAE,KAAK,WAASW,IAAE,KAAK,eAAc;AAAA,MAAE;AAAA,MAAC,OAAO,YAAYxE,IAAE;AAAC,cAAM6D,KAAEe,GAAE;AAAY,eAAO5E,MAAE,GAAG,EAAE,aAAa,oBAAmBA,IAAE,IAAE6D,EAAC,GAAE,IAAImB,GAAED,GAAE/E,IAAE,GAAE6D,EAAC,GAAEkB,GAAE/E,IAAE6D,IAAE,IAAEA,EAAC,CAAC;AAAA,MAAC;AAAA,MAAC,OAAO,QAAQA,IAAE;AAAC,cAAK,EAAC,GAAEW,IAAE,GAAEnD,GAAC,IAAErB,GAAE,IAAI,OAAM,GAAG,EAAE,aAAa,OAAM6D,EAAC,CAAC;AAAE,eAAO,IAAImB,GAAER,IAAEnD,EAAC;AAAA,MAAC;AAAA,MAAC,iBAAgB;AAAC,QAAAA,GAAE,SAAS,KAAI,KAAK,GAAEuB,IAAE0B,EAAC,GAAEjD,GAAE,SAAS,KAAI,KAAK,GAAEuB,IAAE0B,EAAC;AAAA,MAAC;AAAA,MAAC,eAAetE,IAAE;AAAC,eAAO,IAAIgF,GAAE,KAAK,GAAE,KAAK,GAAEhF,EAAC;AAAA,MAAC;AAAA,MAAC,iBAAiBA,IAAE;AAAC,cAAK,EAAC,GAAE6D,IAAE,GAAEW,IAAE,UAASnD,GAAC,IAAE,MAAKqD,KAAES,OAAK,EAAE,aAAa,WAAUnF,EAAC,CAAC;AAAE,YAAG,QAAMqB,MAAG,CAAC,CAAC,GAAE,GAAE,GAAE,CAAC,EAAE,SAASA,EAAC,EAAE,OAAM,IAAI,MAAM,qBAAqB;AAAE,cAAMsD,KAAE,MAAItD,MAAG,MAAIA,KAAEwC,KAAEe,GAAE,IAAEf;AAAE,YAAGc,MAAG/D,GAAE,MAAM,OAAM,IAAI,MAAM,4BAA4B;AAAE,cAAMQ,KAAE,MAAI,IAAEC,MAAG,OAAK,MAAKuB,KAAE9B,GAAE,QAAQM,KAAEyD,GAAEF,EAAC,CAAC,GAAEL,KAAE5D,GAAEiE,EAAC,GAAEhE,KAAEZ,GAAE,CAAC2E,KAAEJ,EAAC,GAAEC,KAAExE,GAAEyE,KAAEF,EAAC,GAAEd,KAAE1C,GAAE,KAAK,qBAAqB8B,IAAEjC,IAAE4D,EAAC;AAAE,YAAG,CAACf,GAAE,OAAM,IAAI,MAAM,mBAAmB;AAAE,eAAOA,GAAE,eAAc,GAAGA;AAAA,MAAC;AAAA,MAAC,WAAU;AAAC,eAAOsB,GAAE,KAAK,CAAC;AAAA,MAAC;AAAA,MAAC,aAAY;AAAC,eAAO,KAAK,SAAQ,IAAG,IAAIE,GAAE,KAAK,GAAEjF,GAAE,CAAC,KAAK,CAAC,GAAE,KAAK,QAAQ,IAAE;AAAA,MAAI;AAAA,MAAC,gBAAe;AAAC,eAAOsB,GAAE,WAAW,KAAK,SAAQ,CAAE;AAAA,MAAC;AAAA,MAAC,WAAU;AAAC,eAAOrB,GAAE,IAAI,WAAW,EAAC,GAAE,KAAK,GAAE,GAAE,KAAK,EAAC,CAAC;AAAA,MAAC;AAAA,MAAC,oBAAmB;AAAC,eAAOqB,GAAE,WAAW,KAAK,aAAY,CAAE;AAAA,MAAC;AAAA,MAAC,eAAc;AAAC,eAAOwD,GAAE,KAAK,CAAC,IAAEA,GAAE,KAAK,CAAC;AAAA,MAAC;AAAA,IAAC;AAAC,UAAM3C,KAAE,EAAC,kBAAkBlC,IAAE;AAAC,UAAG;AAAC,eAAOmB,GAAEnB,EAAC,GAAE;AAAA,MAAE,SAAOA,IAAE;AAAC;MAAQ;AAAA,IAAC,GAAE,wBAAuBmB,IAAE,kBAAiB,MAAI;AAAC,YAAMnB,KAAE,EAAE,iBAAiB4E,GAAE,CAAC;AAAE,aAAO,EAAE,eAAeA,GAAE,YAAY5E,EAAC,GAAE4E,GAAE,CAAC;AAAA,IAAC,GAAE,YAAW,CAAC5E,KAAE,GAAE6D,KAAE/C,GAAE,UAAQ+C,GAAE,eAAe7D,EAAC,GAAE6D,GAAE,SAAS,OAAO,CAAC,CAAC,GAAEA,IAAE;AAAE,aAASoB,GAAEjF,IAAE;AAAC,YAAM6D,KAAExC,GAAE,QAAQrB,EAAC,GAAEwE,KAAE,YAAU,OAAOxE,IAAEyE,MAAGZ,MAAGW,OAAIxE,GAAE;AAAO,aAAO6D,KAAEY,OAAI9D,MAAG8D,OAAIjB,KAAEgB,KAAEC,OAAI,IAAE9D,MAAG8D,OAAI,IAAEjB,KAAExD,cAAac;AAAA,IAAC;AAAC,UAAMoE,KAAEN,GAAE,YAAU,SAAS5E,IAAE;AAAC,YAAM6D,KAAExC,GAAE,gBAAgBrB,EAAC,GAAEwE,KAAE,IAAExE,GAAE,SAAO4E,GAAE;AAAW,aAAOJ,KAAE,IAAEX,MAAG,OAAOW,EAAC,IAAEX;AAAA,IAAC,GAAEsB,KAAEP,GAAE,iBAAe,SAAS5E,IAAE;AAAC,aAAOD,GAAEmF,GAAElF,EAAC,CAAC;AAAA,IAAC,GAAEoF,KAAE/D,GAAE,QAAQuD,GAAE,UAAU;AAAE,aAASS,GAAErF,IAAE;AAAC,aAAOqB,GAAE,SAAS,WAAWuD,GAAE,UAAU,IAAG5E,IAAEoB,IAAEgE,EAAC,GAAE/D,GAAE,gBAAgBrB,IAAE4E,GAAE,WAAW;AAAA,IAAC;AAAC,aAASW,GAAEvF,IAAE6D,IAAEW,KAAEgB,IAAE;AAAC,UAAG,CAAC,aAAY,WAAW,EAAE,MAAM,CAAAxF,OAAGA,MAAKwE,GAAC,EAAG,OAAM,IAAI,MAAM,qCAAqC;AAAE,YAAK,EAAC,MAAKG,IAAE,aAAYL,GAAC,IAAEM;AAAE,UAAG,EAAC,MAAKjE,IAAE,SAAQ4D,IAAE,cAAaf,GAAC,IAAEgB;AAAE,cAAM7D,OAAIA,KAAE,OAAIX,MAAE,GAAG,EAAE,aAAa,WAAUA,EAAC,GAAE,EAAEwE,EAAC,GAAED,OAAIvE,MAAE,GAAG,EAAE,aAAa,qBAAoB2E,GAAE3E,EAAC,CAAC;AAAG,YAAMuC,KAAE4C,GAAEnF,EAAC,GAAE6E,KAAE1D,GAAE0C,EAAC,GAAEkB,KAAE,CAACM,GAAER,EAAC,GAAEQ,GAAE9C,EAAC,CAAC;AAAE,UAAG,QAAMiB,MAAG,UAAKA,IAAE;AAAC,cAAMxD,KAAE,SAAKwD,KAAEc,GAAE1D,GAAE,KAAK,IAAE4C;AAAE,QAAAuB,GAAE,MAAK,GAAG,EAAE,aAAa,gBAAe/E,EAAC,CAAC;AAAA,MAAC;AAAC,YAAMkC,KAAEb,GAAE,YAAY,GAAG0D,EAAC,GAAEE,KAAE1C;AAAE,aAAM,EAAC,MAAKL,IAAE,OAAM,SAASlC,IAAE;AAAC,cAAM6D,KAAEqB,GAAElF,EAAC;AAAE,YAAG,CAACa,GAAEgD,EAAC,EAAE;AAAO,cAAMW,KAAE9D,GAAEmD,EAAC,GAAExC,KAAEP,GAAE,KAAK,SAAS+C,EAAC,EAAE,SAAQ,GAAGY,KAAE1E,GAAEsB,GAAE,CAAC;AAAE,YAAGoD,OAAIrD,GAAE;AAAO,cAAMsD,KAAE3E,GAAEyE,KAAEzE,GAAEkF,KAAER,KAAEI,EAAC,CAAC;AAAE,YAAGH,OAAItD,GAAE;AAAO,YAAIuD,MAAGtD,GAAE,MAAIoD,KAAE,IAAE,KAAG,OAAOpD,GAAE,IAAEuB,EAAC,GAAEgC,KAAEF;AAAE,eAAO/D,MAAGmE,GAAEJ,EAAC,MAAIE,MAAE,SAAS5E,KAAE;AAAC,iBAAO8E,GAAE9E,GAAC,IAAED,GAAE,CAACC,GAAC,IAAEA;AAAA,QAAC,GAAE0E,EAAC,GAAEC,MAAG,IAAG,IAAIK,GAAEP,IAAEG,IAAED,EAAC;AAAA,MAAC,EAAC;AAAA,IAAC;AAAC,UAAMa,KAAE,EAAC,MAAKZ,GAAE,MAAK,SAAQ,MAAE,GAAEa,KAAE,EAAC,MAAKb,GAAE,MAAK,SAAQ,MAAE;AAAE,WAAO9D,GAAE,KAAK,eAAe,CAAC,GAAE,EAAC,OAAM8D,IAAE,cAAa,SAAS5E,IAAE6D,KAAE,MAAG;AAAC,aAAO/C,GAAE,eAAed,EAAC,EAAE,WAAW6D,EAAC;AAAA,IAAC,GAAE,iBAAgB,SAAS7D,IAAE6D,IAAEW,KAAE,MAAG;AAAC,UAAGS,GAAEjF,EAAC,EAAE,OAAM,IAAI,MAAM,+BAA+B;AAAE,UAAG,CAACiF,GAAEpB,EAAC,EAAE,OAAM,IAAI,MAAM,+BAA+B;AAAE,YAAMxC,KAAEP,GAAE,QAAQ+C,EAAC;AAAE,aAAOxC,GAAE,SAASF,GAAEnB,EAAC,CAAC,EAAE,WAAWwE,EAAC;AAAA,IAAC,GAAE,MAAK,SAASxE,IAAE6D,IAAEW,KAAEgB,IAAE;AAAC,YAAK,EAAC,MAAKf,IAAE,OAAMC,GAAC,IAAEa,GAAEvF,IAAE6D,IAAEW,EAAC,GAAEG,KAAEC,IAAExD,KAAEC,GAAE,eAAesD,GAAE,KAAK,WAAUA,GAAE,aAAYA,GAAE,IAAI;AAAE,aAAOvD,GAAEqD,IAAEC,EAAC;AAAA,IAAC,GAAE,QAAO,SAASb,IAAEW,IAAEG,IAAEvD,KAAEqE,IAAE;;AAAC,YAAM7C,KAAEiB;AAAE,UAAGW,MAAE,GAAG,EAAE,aAAa,WAAUA,EAAC,GAAEG,MAAE,GAAG,EAAE,aAAa,aAAYA,EAAC,GAAE,YAAWvD,GAAE,OAAM,IAAI,MAAM,oCAAoC;AAAE,QAAEA,EAAC;AAAE,YAAK,EAAC,MAAKR,IAAE,SAAQ0D,GAAC,IAAElD;AAAE,UAAIT,IAAE4D;AAAE,UAAG;AAAC,YAAG,YAAU,OAAO3B,MAAGvB,GAAE,QAAQuB,EAAC,EAAE,KAAG;AAAC,UAAAjC,KAAEqE,GAAE,QAAQpC,EAAC;AAAA,QAAC,SAAOiB,IAAE;AAAC,cAAG,EAAEA,cAAa7D,GAAE,IAAI,KAAK,OAAM6D;AAAE,UAAAlD,KAAEqE,GAAE,YAAYpC,EAAC;AAAA,QAAC;AAAA,aAAK;AAAC,cAAG,YAAU,OAAOA,MAAG,YAAU,OAAOA,GAAE,KAAG,YAAU,OAAOA,GAAE,EAAE,OAAM,IAAI,MAAM,OAAO;AAAE;AAAC,kBAAK,EAAC,GAAE5C,IAAE,GAAE6D,GAAC,IAAEjB;AAAE,YAAAjC,KAAE,IAAIqE,GAAEhF,IAAE6D,EAAC;AAAA,UAAC;AAAA,QAAC;AAAC,QAAAU,KAAEzD,GAAE,QAAQ6D,EAAC;AAAA,MAAC,SAAO3E,IAAE;AAAC,YAAG,YAAUA,GAAE,QAAQ,OAAM,IAAI,MAAM,gEAAgE;AAAE,eAAM;AAAA,MAAE;AAAC,UAAGY,MAAGD,GAAE,SAAQ,EAAG,QAAM;AAAG,MAAA2D,OAAIE,KAAEI,GAAE,KAAKJ,EAAC;AAAG,YAAK,EAAC,GAAEhB,IAAE,GAAErC,GAAC,IAAER,IAAE4B,KAAE4C,GAAEX,EAAC,GAAE3D,KAAEH,GAAES,EAAC,GAAE0D,KAAE9E,GAAEwC,KAAE1B,EAAC,GAAEiE,KAAE/E,GAAEyD,KAAE3C,EAAC,GAAEkE,MAAE5C,MAAArB,GAAE,KAAK,qBAAqByD,IAAEM,IAAEC,EAAC,MAAjC,gBAAA3C,IAAoC;AAAW,UAAG,CAAC4C,GAAE;AAAS,YAAM7C,KAAEnC,GAAEgF,GAAE,CAAC;AAAE,aAAO7C,OAAIsB;AAAA,IAAC,GAAE,iBAAgB1C,IAAE,WAAUkE,IAAE,OAAM9C,GAAC;AAAA,EAAC,GAAElC,GAAE,iBAAewD,IAAExD,GAAE,sBAAoB,SAASA,IAAE6D,IAAE;AAAC,QAAG,EAAE,cAAc7D,EAAC,GAAE,CAACA,GAAE,QAAQ6D,GAAE,CAAC,KAAG,CAAC7D,GAAE,QAAQ6D,GAAE,CAAC,KAAG,CAAC7D,GAAE,QAAQ6D,GAAE,CAAC,EAAE,OAAM,IAAI,MAAM,mCAAmC;AAAE,UAAMxC,KAAEmC,GAAExD,IAAE6D,GAAE,CAAC;AAAE,QAAG,CAAC7D,GAAE,MAAM,OAAM,IAAI,MAAM,8BAA8B;AAAE,WAAO,CAAAwE,OAAG;AAAC,UAAIC,IAAEC,IAAEC,IAAEC,IAAExD,IAAEwB,IAAEhC,IAAE0D;AAAE,MAAAG,KAAEzE,GAAE,IAAIwE,EAAC,GAAEC,KAAEzE,GAAE,IAAIyE,IAAEZ,GAAE,CAAC,GAAEa,KAAE1E,GAAE,IAAIyE,EAAC,GAAEC,KAAE1E,GAAE,IAAI0E,IAAED,EAAC,GAAEE,KAAE3E,GAAE,IAAI0E,IAAE1E,GAAE,GAAG,GAAE2E,KAAE3E,GAAE,IAAI2E,IAAEd,GAAE,CAAC,GAAEe,KAAE5E,GAAE,KAAK6D,GAAE,GAAE7D,GAAE,IAAI0E,EAAC,GAAE,CAAC1E,GAAE,IAAI0E,IAAE1E,GAAE,IAAI,CAAC,GAAE4E,KAAE5E,GAAE,IAAI4E,IAAEf,GAAE,CAAC,GAAEa,KAAE1E,GAAE,IAAI2E,EAAC,GAAE/B,KAAE5C,GAAE,IAAI4E,EAAC,GAAExD,KAAEpB,GAAE,IAAI4C,IAAEiB,GAAE,CAAC,GAAEa,KAAE1E,GAAE,IAAI0E,IAAEtD,EAAC,GAAEsD,KAAE1E,GAAE,IAAI0E,IAAEC,EAAC,GAAE/B,KAAE5C,GAAE,IAAI4C,IAAEgC,EAAC,GAAExD,KAAEpB,GAAE,IAAI4C,IAAEiB,GAAE,CAAC,GAAEa,KAAE1E,GAAE,IAAI0E,IAAEtD,EAAC,GAAER,KAAEZ,GAAE,IAAIyE,IAAEE,EAAC;AAAE,YAAK,EAAC,SAAQhE,IAAE,OAAM4D,GAAC,IAAElD,GAAEqD,IAAE9B,EAAC;AAAE,MAAA0B,KAAEtE,GAAE,IAAIyE,IAAED,EAAC,GAAEF,KAAEtE,GAAE,IAAIsE,IAAEC,EAAC,GAAE3D,KAAEZ,GAAE,KAAKY,IAAE+D,IAAEhE,EAAC,GAAE2D,KAAEtE,GAAE,KAAKsE,IAAEC,IAAE5D,EAAC;AAAE,YAAM6C,KAAExD,GAAE,MAAMwE,EAAC,MAAIxE,GAAE,MAAMsE,EAAC;AAAE,aAAOA,KAAEtE,GAAE,KAAKA,GAAE,IAAIsE,EAAC,GAAEA,IAAEd,EAAC,GAAE5C,KAAEZ,GAAE,IAAIY,IAAEgE,EAAC,GAAE,EAAC,GAAEhE,IAAE,GAAE0D,GAAC;AAAA,IAAC;AAAA,EAAC;AAAE,QAAMT,KAAE,IAAG,IAAE,IAAGxC,KAAE,IAAG,IAAE;AAAG,WAAS,EAAErB,IAAE;AAAC,eAASA,GAAE,SAAM,GAAG,EAAE,OAAO,QAAOA,GAAE,IAAI,GAAE,WAASA,GAAE,YAAS,GAAG,EAAE,OAAO,WAAUA,GAAE,OAAO;AAAA,EAAC;AAAC,QAAK,EAAC,iBAAgB,GAAE,YAAW,EAAC,IAAEqB;AAAE,EAAArB,GAAE,MAAI,EAAC,KAAI,cAAc,MAAK;AAAA,IAAC,YAAYA,KAAE,IAAG;AAAC,YAAMA,EAAC;AAAA,IAAC;AAAA,EAAC,GAAE,MAAK,EAAC,QAAO,CAAC6D,IAAEW,OAAI;AAAC,UAAK,EAAC,KAAIC,GAAC,IAAEzE,GAAE;AAAI,QAAG6D,KAAE,KAAGA,KAAE,IAAI,OAAM,IAAIY,GAAE,uBAAuB;AAAE,QAAG,IAAED,GAAE,OAAO,OAAM,IAAIC,GAAE,2BAA2B;AAAE,UAAMC,KAAEF,GAAE,SAAO,GAAEG,KAAEtD,GAAE,oBAAoBqD,EAAC;AAAE,QAAGC,GAAE,SAAO,IAAE,IAAI,OAAM,IAAIF,GAAE,sCAAsC;AAAE,UAAMG,KAAEF,KAAE,MAAIrD,GAAE,oBAAoBsD,GAAE,SAAO,IAAE,GAAG,IAAE;AAAG,WAAM,GAAGtD,GAAE,oBAAoBwC,EAAC,CAAC,GAAGe,EAAC,GAAGD,EAAC,GAAGH,EAAC;AAAA,EAAE,GAAE,OAAOX,IAAEW,IAAE;AAAC,UAAK,EAAC,KAAInD,GAAC,IAAErB,GAAE;AAAI,QAAIyE,KAAE;AAAE,QAAGZ,KAAE,KAAGA,KAAE,IAAI,OAAM,IAAIxC,GAAE,uBAAuB;AAAE,QAAGmD,GAAE,SAAO,KAAGA,GAAEC,IAAG,MAAIZ,GAAE,OAAM,IAAIxC,GAAE,uBAAuB;AAAE,UAAMqD,KAAEF,GAAEC,IAAG;AAAE,QAAIE,KAAE;AAAE,QAAG,CAAC,EAAE,MAAID,KAAG;AAAC,YAAM1E,KAAE,MAAI0E;AAAE,UAAG,CAAC1E,GAAE,OAAM,IAAIqB,GAAE,mDAAmD;AAAE,UAAGrB,KAAE,EAAE,OAAM,IAAIqB,GAAE,0CAA0C;AAAE,YAAMwC,KAAEW,GAAE,SAASC,IAAEA,KAAEzE,EAAC;AAAE,UAAG6D,GAAE,WAAS7D,GAAE,OAAM,IAAIqB,GAAE,uCAAuC;AAAE,UAAG,MAAIwC,GAAE,CAAC,EAAE,OAAM,IAAIxC,GAAE,sCAAsC;AAAE,iBAAUrB,MAAK6D,GAAE,CAAAc,KAAEA,MAAG,IAAE3E;AAAE,UAAGyE,MAAGzE,IAAE2E,KAAE,IAAI,OAAM,IAAItD,GAAE,wCAAwC;AAAA,IAAC,MAAM,CAAAsD,KAAED;AAAE,UAAME,KAAEJ,GAAE,SAASC,IAAEA,KAAEE,EAAC;AAAE,QAAGC,GAAE,WAASD,GAAE,OAAM,IAAItD,GAAE,gCAAgC;AAAE,WAAM,EAAC,GAAEuD,IAAE,GAAEJ,GAAE,SAASC,KAAEE,EAAC,EAAC;AAAA,EAAC,EAAC,GAAE,MAAK,EAAC,OAAOd,IAAE;AAAC,UAAK,EAAC,KAAIW,GAAC,IAAExE,GAAE;AAAI,QAAG6D,KAAEzC,GAAE,OAAM,IAAIoD,GAAE,4CAA4C;AAAE,QAAIC,KAAEpD,GAAE,oBAAoBwC,EAAC;AAAE,QAAG,IAAE,OAAO,SAASY,GAAE,CAAC,GAAE,EAAE,MAAIA,KAAE,OAAKA,KAAG,IAAEA,GAAE,OAAO,OAAM,IAAID,GAAE,sBAAsB;AAAE,WAAOC;AAAA,EAAC,GAAE,OAAOZ,IAAE;AAAC,UAAK,EAAC,KAAIW,GAAC,IAAExE,GAAE;AAAI,QAAG,MAAI6D,GAAE,CAAC,EAAE,OAAM,IAAIW,GAAE,qCAAqC;AAAE,QAAG,MAAIX,GAAE,CAAC,KAAG,EAAE,MAAIA,GAAE,CAAC,GAAG,OAAM,IAAIW,GAAE,qDAAqD;AAAE,WAAO,EAAEX,EAAC;AAAA,EAAC,EAAC,GAAE,MAAMA,IAAE;AAAC,UAAK,EAAC,KAAIW,IAAE,MAAKC,IAAE,MAAKC,GAAC,IAAE1E,GAAE,KAAI2E,KAAE,YAAU,OAAOd,KAAE,EAAEA,EAAC,IAAEA;AAAE,IAAAxC,GAAE,OAAOsD,EAAC;AAAE,UAAK,EAAC,GAAEvD,IAAE,GAAEwB,GAAC,IAAE8B,GAAE,OAAO,IAAGC,EAAC;AAAE,QAAG/B,GAAE,OAAO,OAAM,IAAI4B,GAAE,6CAA6C;AAAE,UAAK,EAAC,GAAE5D,IAAE,GAAE0D,GAAC,IAAEI,GAAE,OAAO,GAAEtD,EAAC,GAAE,EAAC,GAAET,IAAE,GAAE4D,GAAC,IAAEG,GAAE,OAAO,GAAEJ,EAAC;AAAE,QAAGC,GAAE,OAAO,OAAM,IAAIC,GAAE,6CAA6C;AAAE,WAAM,EAAC,GAAEC,GAAE,OAAO7D,EAAC,GAAE,GAAE6D,GAAE,OAAO9D,EAAC,EAAC;AAAA,EAAC,GAAE,WAAWkD,IAAE;AAAC,UAAK,EAAC,MAAKW,IAAE,MAAKnD,GAAC,IAAErB,GAAE,KAAIyE,KAAE,GAAGD,GAAE,OAAO,GAAEnD,GAAE,OAAOwC,GAAE,CAAC,CAAC,CAAC,GAAGW,GAAE,OAAO,GAAEnD,GAAE,OAAOwC,GAAE,CAAC,CAAC,CAAC;AAAG,WAAOW,GAAE,OAAO,IAAGC,EAAC;AAAA,EAAC,EAAC;AAAE,QAAMrD,KAAE,OAAO,CAAC,GAAEwB,KAAE,OAAO,CAAC,GAAEhC,KAAE,OAAO,CAAC,GAAE0D,KAAE,OAAO,CAAC,GAAE3D,KAAE,OAAO,CAAC;AAAE,WAAS4D,GAAEvE,IAAE;AAAC,UAAM0E,MAAE,SAAS1E,IAAE;AAAC,YAAMwE,MAAE,GAAGX,GAAE,eAAe7D,EAAC;AAAE,MAAAqB,GAAE,eAAemD,IAAE,EAAC,GAAE,SAAQ,GAAE,QAAO,GAAE,EAAC,0BAAyB,SAAQ,gBAAe,WAAU,eAAc,YAAW,eAAc,YAAW,oBAAmB,WAAU,WAAU,YAAW,SAAQ,WAAU,CAAC;AAAE,YAAK,EAAC,MAAKC,IAAE,IAAGC,IAAE,GAAEC,GAAC,IAAEH;AAAE,UAAGC,IAAE;AAAC,YAAG,CAACC,GAAE,IAAIC,IAAED,GAAE,IAAI,EAAE,OAAM,IAAI,MAAM,mEAAmE;AAAE,YAAG,YAAU,OAAOD,MAAG,YAAU,OAAOA,GAAE,QAAM,cAAY,OAAOA,GAAE,YAAY,OAAM,IAAI,MAAM,mEAAmE;AAAA,MAAC;AAAC,aAAO,OAAO,OAAO,EAAC,GAAGD,GAAC,CAAC;AAAA,IAAC,GAAExE,EAAC,GAAE,EAAC,IAAG2E,GAAC,IAAED,IAAEE,KAAE,EAAE,MAAMF,GAAE,GAAEA,GAAE,UAAU,GAAE9D,KAAE8D,GAAE,YAAU,CAAC1E,IAAE6D,IAAEW,OAAI;AAAC,YAAMC,KAAEZ,GAAE,SAAQ;AAAG,aAAOxC,GAAE,YAAY,WAAW,KAAK,CAAC,CAAC,CAAC,GAAEsD,GAAE,QAAQF,GAAE,CAAC,GAAEE,GAAE,QAAQF,GAAE,CAAC,CAAC;AAAA,IAAC,IAAG9D,KAAE+D,GAAE,cAAY,CAAA1E,OAAG;AAAC,YAAM6D,KAAE7D,GAAE,SAAS,CAAC;AAAE,aAAM,EAAC,GAAE2E,GAAE,UAAUd,GAAE,SAAS,GAAEc,GAAE,KAAK,CAAC,GAAE,GAAEA,GAAE,UAAUd,GAAE,SAASc,GAAE,OAAM,IAAEA,GAAE,KAAK,CAAC,EAAC;AAAA,IAAC;AAAG,aAASJ,GAAEvE,IAAE;AAAC,YAAK,EAAC,GAAE6D,IAAE,GAAEW,GAAC,IAAEE,IAAErD,KAAEsD,GAAE,IAAI3E,EAAC,GAAEyE,KAAEE,GAAE,IAAItD,IAAErB,EAAC;AAAE,aAAO2E,GAAE,IAAIA,GAAE,IAAIF,IAAEE,GAAE,IAAI3E,IAAE6D,EAAC,CAAC,GAAEW,EAAC;AAAA,IAAC;AAAC,QAAG,CAACG,GAAE,IAAIA,GAAE,IAAID,GAAE,EAAE,GAAEH,GAAEG,GAAE,EAAE,CAAC,EAAE,OAAM,IAAI,MAAM,6CAA6C;AAAE,aAASlB,GAAExD,IAAE;AAAC,YAAK,EAAC,0BAAyB6D,IAAE,aAAYc,IAAE,gBAAeC,IAAE,GAAExD,GAAC,IAAEsD;AAAE,UAAGb,MAAG,YAAU,OAAO7D,IAAE;AAAC,YAAGqB,GAAE,QAAQrB,EAAC,MAAIA,KAAEqB,GAAE,WAAWrB,EAAC,IAAG,YAAU,OAAOA,MAAG,CAAC6D,GAAE,SAAS7D,GAAE,MAAM,EAAE,OAAM,IAAI,MAAM,aAAa;AAAE,QAAAA,KAAEA,GAAE,SAAS,IAAE2E,IAAE,GAAG;AAAA,MAAC;AAAC,UAAI/D;AAAE,UAAG;AAAC,QAAAA,KAAE,YAAU,OAAOZ,KAAEA,KAAEqB,GAAE,iBAAiB,GAAE,EAAE,aAAa,eAAcrB,IAAE2E,EAAC,CAAC;AAAA,MAAC,SAAOd,IAAE;AAAC,cAAM,IAAI,MAAM,uBAAuBc,EAAC,8BAA8B,OAAO3E,EAAC,EAAE;AAAA,MAAC;AAAC,aAAO4E,OAAIhE,KAAE,EAAE,IAAIA,IAAEQ,EAAC,IAAGC,GAAE,SAAS,eAAcT,IAAEgC,IAAExB,EAAC,GAAER;AAAA,IAAC;AAAC,aAASb,GAAEC,IAAE;AAAC,UAAG,EAAEA,cAAamB,IAAG,OAAM,IAAI,MAAM,0BAA0B;AAAA,IAAC;AAAC,UAAMT,MAAE,GAAG,EAAE,WAAW,CAACV,IAAE6D,OAAI;AAAC,YAAK,EAAC,IAAGW,IAAE,IAAGnD,IAAE,IAAGoD,GAAC,IAAEzE;AAAE,UAAG2E,GAAE,IAAIF,IAAEE,GAAE,GAAG,EAAE,QAAM,EAAC,GAAEH,IAAE,GAAEnD,GAAC;AAAE,YAAMqD,KAAE1E,GAAE,IAAG;AAAG,cAAM6D,OAAIA,KAAEa,KAAEC,GAAE,MAAIA,GAAE,IAAIF,EAAC;AAAG,YAAMG,KAAED,GAAE,IAAIH,IAAEX,EAAC,GAAEzC,KAAEuD,GAAE,IAAItD,IAAEwC,EAAC,GAAEjB,KAAE+B,GAAE,IAAIF,IAAEZ,EAAC;AAAE,UAAGa,GAAE,QAAM,EAAC,GAAEC,GAAE,MAAK,GAAEA,GAAE,KAAI;AAAE,UAAG,CAACA,GAAE,IAAI/B,IAAE+B,GAAE,GAAG,EAAE,OAAM,IAAI,MAAM,kBAAkB;AAAE,aAAM,EAAC,GAAEC,IAAE,GAAExD,GAAC;AAAA,IAAC,EAAC,GAAGN,MAAE,GAAG,EAAE,WAAW,CAAAd,OAAG;AAAC,UAAGA,GAAE,IAAG,GAAG;AAAC,YAAG0E,GAAE,sBAAoB,CAACC,GAAE,IAAI3E,GAAE,EAAE,EAAE;AAAO,cAAM,IAAI,MAAM,iBAAiB;AAAA,MAAC;AAAC,YAAK,EAAC,GAAE6D,IAAE,GAAEW,GAAC,IAAExE,GAAE,SAAQ;AAAG,UAAG,CAAC2E,GAAE,QAAQd,EAAC,KAAG,CAACc,GAAE,QAAQH,EAAC,EAAE,OAAM,IAAI,MAAM,0BAA0B;AAAE,YAAMnD,KAAEsD,GAAE,IAAIH,EAAC,GAAEC,KAAEF,GAAEV,EAAC;AAAE,UAAG,CAACc,GAAE,IAAItD,IAAEoD,EAAC,EAAE,OAAM,IAAI,MAAM,mCAAmC;AAAE,UAAG,CAACzE,GAAE,cAAa,EAAG,OAAM,IAAI,MAAM,wCAAwC;AAAE,aAAM;AAAA,IAAE,EAAC;AAAA,IAAG,MAAMmB,GAAC;AAAA,MAAC,YAAYnB,IAAE6D,IAAEW,IAAE;AAAC,YAAG,KAAK,KAAGxE,IAAE,KAAK,KAAG6D,IAAE,KAAK,KAAGW,IAAE,QAAMxE,MAAG,CAAC2E,GAAE,QAAQ3E,EAAC,EAAE,OAAM,IAAI,MAAM,YAAY;AAAE,YAAG,QAAM6D,MAAG,CAACc,GAAE,QAAQd,EAAC,EAAE,OAAM,IAAI,MAAM,YAAY;AAAE,YAAG,QAAMW,MAAG,CAACG,GAAE,QAAQH,EAAC,EAAE,OAAM,IAAI,MAAM,YAAY;AAAE,eAAO,OAAO,IAAI;AAAA,MAAC;AAAA,MAAC,OAAO,WAAWxE,IAAE;AAAC,cAAK,EAAC,GAAE6D,IAAE,GAAEW,GAAC,IAAExE,MAAG,CAAA;AAAG,YAAG,CAACA,MAAG,CAAC2E,GAAE,QAAQd,EAAC,KAAG,CAACc,GAAE,QAAQH,EAAC,EAAE,OAAM,IAAI,MAAM,sBAAsB;AAAE,YAAGxE,cAAamB,GAAE,OAAM,IAAI,MAAM,8BAA8B;AAAE,cAAME,KAAE,CAAArB,QAAG2E,GAAE,IAAI3E,KAAE2E,GAAE,IAAI;AAAE,eAAOtD,GAAEwC,EAAC,KAAGxC,GAAEmD,EAAC,IAAErD,GAAE,OAAK,IAAIA,GAAE0C,IAAEW,IAAEG,GAAE,GAAG;AAAA,MAAC;AAAA,MAAC,IAAI,IAAG;AAAC,eAAO,KAAK,SAAQ,EAAG;AAAA,MAAC;AAAA,MAAC,IAAI,IAAG;AAAC,eAAO,KAAK,SAAQ,EAAG;AAAA,MAAC;AAAA,MAAC,OAAO,WAAW3E,IAAE;AAAC,cAAM6D,KAAEc,GAAE,YAAY3E,GAAE,KAAK,CAAAA,QAAGA,IAAE,IAAI;AAAE,eAAOA,GAAE,KAAK,CAACA,KAAEwE,OAAIxE,IAAE,SAAS6D,GAAEW,EAAC,CAAC,EAAC,EAAG,IAAIrD,GAAE,UAAU;AAAA,MAAC;AAAA,MAAC,OAAO,QAAQnB,IAAE;AAAC,cAAM6D,KAAE1C,GAAE,WAAWR,OAAK,EAAE,aAAa,YAAWX,EAAC,CAAC,CAAC;AAAE,eAAO6D,GAAE,eAAc,GAAGA;AAAA,MAAC;AAAA,MAAC,OAAO,eAAe7D,IAAE;AAAC,eAAOmB,GAAE,KAAK,SAASqC,GAAExD,EAAC,CAAC;AAAA,MAAC;AAAA,MAAC,OAAO,IAAIA,IAAEwE,IAAE;AAAC,gBAAM,GAAGX,GAAE,WAAW1C,IAAEyD,IAAE5E,IAAEwE,EAAC;AAAA,MAAC;AAAA,MAAC,eAAexE,IAAE;AAAC,QAAAa,GAAE,cAAc,MAAKb,EAAC;AAAA,MAAC;AAAA,MAAC,iBAAgB;AAAC,QAAAc,GAAE,IAAI;AAAA,MAAC;AAAA,MAAC,WAAU;AAAC,cAAK,EAAC,GAAEd,GAAC,IAAE,KAAK,SAAQ;AAAG,YAAG2E,GAAE,MAAM,QAAM,CAACA,GAAE,MAAM3E,EAAC;AAAE,cAAM,IAAI,MAAM,6BAA6B;AAAA,MAAC;AAAA,MAAC,OAAOA,IAAE;AAAC,QAAAD,GAAEC,EAAC;AAAE,cAAK,EAAC,IAAG6D,IAAE,IAAGW,IAAE,IAAGnD,GAAC,IAAE,MAAK,EAAC,IAAGoD,IAAE,IAAGC,IAAE,IAAGE,GAAC,IAAE5E,IAAEoB,KAAEuD,GAAE,IAAIA,GAAE,IAAId,IAAEe,EAAC,GAAED,GAAE,IAAIF,IAAEpD,EAAC,CAAC,GAAEuB,KAAE+B,GAAE,IAAIA,GAAE,IAAIH,IAAEI,EAAC,GAAED,GAAE,IAAID,IAAErD,EAAC,CAAC;AAAE,eAAOD,MAAGwB;AAAA,MAAC;AAAA,MAAC,SAAQ;AAAC,eAAO,IAAIzB,GAAE,KAAK,IAAGwD,GAAE,IAAI,KAAK,EAAE,GAAE,KAAK,EAAE;AAAA,MAAC;AAAA,MAAC,SAAQ;AAAC,cAAK,EAAC,GAAE3E,IAAE,GAAE6D,GAAC,IAAEa,IAAEF,KAAEG,GAAE,IAAId,IAAES,EAAC,GAAE,EAAC,IAAGjD,IAAE,IAAGoD,IAAE,IAAGG,GAAC,IAAE;AAAK,YAAIxD,KAAEuD,GAAE,MAAK/B,KAAE+B,GAAE,MAAK/D,KAAE+D,GAAE,MAAKhE,KAAEgE,GAAE,IAAItD,IAAEA,EAAC,GAAEkD,KAAEI,GAAE,IAAIF,IAAEA,EAAC,GAAEjB,KAAEmB,GAAE,IAAIC,IAAEA,EAAC,GAAE7E,KAAE4E,GAAE,IAAItD,IAAEoD,EAAC;AAAE,eAAO1E,KAAE4E,GAAE,IAAI5E,IAAEA,EAAC,GAAEa,KAAE+D,GAAE,IAAItD,IAAEuD,EAAC,GAAEhE,KAAE+D,GAAE,IAAI/D,IAAEA,EAAC,GAAEQ,KAAEuD,GAAE,IAAI3E,IAAEY,EAAC,GAAEgC,KAAE+B,GAAE,IAAIH,IAAEhB,EAAC,GAAEZ,KAAE+B,GAAE,IAAIvD,IAAEwB,EAAC,GAAExB,KAAEuD,GAAE,IAAIJ,IAAE3B,EAAC,GAAEA,KAAE+B,GAAE,IAAIJ,IAAE3B,EAAC,GAAEA,KAAE+B,GAAE,IAAIvD,IAAEwB,EAAC,GAAExB,KAAEuD,GAAE,IAAI5E,IAAEqB,EAAC,GAAER,KAAE+D,GAAE,IAAIH,IAAE5D,EAAC,GAAE4C,KAAEmB,GAAE,IAAI3E,IAAEwD,EAAC,GAAEzD,KAAE4E,GAAE,IAAIhE,IAAE6C,EAAC,GAAEzD,KAAE4E,GAAE,IAAI3E,IAAED,EAAC,GAAEA,KAAE4E,GAAE,IAAI5E,IAAEa,EAAC,GAAEA,KAAE+D,GAAE,IAAIhE,IAAEA,EAAC,GAAEA,KAAEgE,GAAE,IAAI/D,IAAED,EAAC,GAAEA,KAAEgE,GAAE,IAAIhE,IAAE6C,EAAC,GAAE7C,KAAEgE,GAAE,IAAIhE,IAAEZ,EAAC,GAAE6C,KAAE+B,GAAE,IAAI/B,IAAEjC,EAAC,GAAE6C,KAAEmB,GAAE,IAAIF,IAAEG,EAAC,GAAEpB,KAAEmB,GAAE,IAAInB,IAAEA,EAAC,GAAE7C,KAAEgE,GAAE,IAAInB,IAAEzD,EAAC,GAAEqB,KAAEuD,GAAE,IAAIvD,IAAET,EAAC,GAAEC,KAAE+D,GAAE,IAAInB,IAAEe,EAAC,GAAE3D,KAAE+D,GAAE,IAAI/D,IAAEA,EAAC,GAAEA,KAAE+D,GAAE,IAAI/D,IAAEA,EAAC,GAAE,IAAIO,GAAEC,IAAEwB,IAAEhC,EAAC;AAAA,MAAC;AAAA,MAAC,IAAIZ,IAAE;AAAC,QAAAD,GAAEC,EAAC;AAAE,cAAK,EAAC,IAAG6D,IAAE,IAAGW,IAAE,IAAGnD,GAAC,IAAE,MAAK,EAAC,IAAGoD,IAAE,IAAGG,IAAE,IAAGxD,GAAC,IAAEpB;AAAE,YAAI4C,KAAE+B,GAAE,MAAK/D,KAAE+D,GAAE,MAAKhE,KAAEgE,GAAE;AAAK,cAAMJ,KAAEG,GAAE,GAAElB,KAAEmB,GAAE,IAAID,GAAE,GAAEJ,EAAC;AAAE,YAAI5D,KAAEiE,GAAE,IAAId,IAAEY,EAAC,GAAE3D,KAAE6D,GAAE,IAAIH,IAAEI,EAAC,GAAErC,KAAEoC,GAAE,IAAItD,IAAED,EAAC,GAAEP,KAAE8D,GAAE,IAAId,IAAEW,EAAC,GAAEK,KAAEF,GAAE,IAAIF,IAAEG,EAAC;AAAE,QAAA/D,KAAE8D,GAAE,IAAI9D,IAAEgE,EAAC,GAAEA,KAAEF,GAAE,IAAIjE,IAAEI,EAAC,GAAED,KAAE8D,GAAE,IAAI9D,IAAEgE,EAAC,GAAEA,KAAEF,GAAE,IAAId,IAAExC,EAAC;AAAE,YAAIyD,KAAEH,GAAE,IAAIF,IAAErD,EAAC;AAAE,eAAOyD,KAAEF,GAAE,IAAIE,IAAEC,EAAC,GAAEA,KAAEH,GAAE,IAAIjE,IAAE6B,EAAC,GAAEsC,KAAEF,GAAE,IAAIE,IAAEC,EAAC,GAAEA,KAAEH,GAAE,IAAIH,IAAEnD,EAAC,GAAEuB,KAAE+B,GAAE,IAAIC,IAAExD,EAAC,GAAE0D,KAAEH,GAAE,IAAIG,IAAElC,EAAC,GAAEA,KAAE+B,GAAE,IAAI7D,IAAEyB,EAAC,GAAEuC,KAAEH,GAAE,IAAIG,IAAElC,EAAC,GAAEjC,KAAEgE,GAAE,IAAIJ,IAAEM,EAAC,GAAEjC,KAAE+B,GAAE,IAAInB,IAAEjB,EAAC,GAAE5B,KAAEgE,GAAE,IAAI/B,IAAEjC,EAAC,GAAEiC,KAAE+B,GAAE,IAAI7D,IAAEH,EAAC,GAAEA,KAAEgE,GAAE,IAAI7D,IAAEH,EAAC,GAAEC,KAAE+D,GAAE,IAAI/B,IAAEjC,EAAC,GAAEG,KAAE6D,GAAE,IAAIjE,IAAEA,EAAC,GAAEI,KAAE6D,GAAE,IAAI7D,IAAEJ,EAAC,GAAE6B,KAAEoC,GAAE,IAAIJ,IAAEhC,EAAC,GAAEsC,KAAEF,GAAE,IAAInB,IAAEqB,EAAC,GAAE/D,KAAE6D,GAAE,IAAI7D,IAAEyB,EAAC,GAAEA,KAAEoC,GAAE,IAAIjE,IAAE6B,EAAC,GAAEA,KAAEoC,GAAE,IAAIJ,IAAEhC,EAAC,GAAEsC,KAAEF,GAAE,IAAIE,IAAEtC,EAAC,GAAE7B,KAAEiE,GAAE,IAAI7D,IAAE+D,EAAC,GAAEjE,KAAE+D,GAAE,IAAI/D,IAAEF,EAAC,GAAEA,KAAEiE,GAAE,IAAIG,IAAED,EAAC,GAAEjC,KAAE+B,GAAE,IAAI9D,IAAE+B,EAAC,GAAEA,KAAE+B,GAAE,IAAI/B,IAAElC,EAAC,GAAEA,KAAEiE,GAAE,IAAI9D,IAAEC,EAAC,GAAEH,KAAEgE,GAAE,IAAIG,IAAEnE,EAAC,GAAEA,KAAEgE,GAAE,IAAIhE,IAAED,EAAC,GAAE,IAAIS,GAAEyB,IAAEhC,IAAED,EAAC;AAAA,MAAC;AAAA,MAAC,SAASX,IAAE;AAAC,eAAO,KAAK,IAAIA,GAAE,OAAM,CAAE;AAAA,MAAC;AAAA,MAAC,MAAK;AAAC,eAAO,KAAK,OAAOmB,GAAE,IAAI;AAAA,MAAC;AAAA,MAAC,KAAKnB,IAAE;AAAC,eAAOa,GAAE,WAAW,MAAKb,IAAEmB,GAAE,UAAU;AAAA,MAAC;AAAA,MAAC,eAAenB,IAAE;AAAC,QAAAqB,GAAE,SAAS,UAASrB,IAAEoB,IAAEsD,GAAE,CAAC;AAAE,cAAMb,KAAE1C,GAAE;AAAK,YAAGnB,OAAIoB,GAAE,QAAOyC;AAAE,YAAG7D,OAAI4C,GAAE,QAAO;AAAK,cAAK,EAAC,MAAK4B,GAAC,IAAEE;AAAE,YAAG,CAACF,GAAE,QAAO3D,GAAE,aAAa,MAAKb,EAAC;AAAE,YAAG,EAAC,OAAMyE,IAAE,IAAGG,IAAE,OAAMhE,IAAE,IAAG0D,GAAC,IAAEE,GAAE,YAAYxE,EAAC,GAAEW,KAAEkD,IAAEU,KAAEV,IAAEL,KAAE;AAAK,eAAKoB,KAAExD,MAAGkD,KAAElD,KAAG,CAAAwD,KAAEhC,OAAIjC,KAAEA,GAAE,IAAI6C,EAAC,IAAGc,KAAE1B,OAAI2B,KAAEA,GAAE,IAAIf,EAAC,IAAGA,KAAEA,GAAE,OAAM,GAAGoB,OAAIhC,IAAE0B,OAAI1B;AAAE,eAAO6B,OAAI9D,KAAEA,GAAE,OAAM,IAAIC,OAAI2D,KAAEA,GAAE,OAAM,IAAIA,KAAE,IAAIpD,GAAEwD,GAAE,IAAIJ,GAAE,IAAGC,GAAE,IAAI,GAAED,GAAE,IAAGA,GAAE,EAAE,GAAE5D,GAAE,IAAI4D,EAAC;AAAA,MAAC;AAAA,MAAC,SAASvE,IAAE;AAAC,cAAK,EAAC,MAAK6D,IAAE,GAAEW,GAAC,IAAEE;AAAE,YAAID,IAAEG;AAAE,YAAGvD,GAAE,SAAS,UAASrB,IAAE4C,IAAE4B,EAAC,GAAEX,IAAE;AAAC,gBAAK,EAAC,OAAMW,IAAE,IAAGnD,IAAE,OAAMqD,IAAE,IAAGtD,GAAC,IAAEyC,GAAE,YAAY7D,EAAC;AAAE,cAAG,EAAC,GAAE4C,IAAE,GAAEhC,GAAC,IAAE,KAAK,KAAKS,EAAC,GAAE,EAAC,GAAEiD,IAAE,GAAE3D,GAAC,IAAE,KAAK,KAAKS,EAAC;AAAE,UAAAwB,KAAE/B,GAAE,gBAAgB2D,IAAE5B,EAAC,GAAE0B,KAAEzD,GAAE,gBAAgB6D,IAAEJ,EAAC,GAAEA,KAAE,IAAInD,GAAEwD,GAAE,IAAIL,GAAE,IAAGT,GAAE,IAAI,GAAES,GAAE,IAAGA,GAAE,EAAE,GAAEG,KAAE7B,GAAE,IAAI0B,EAAC,GAAEM,KAAEhE,GAAE,IAAID,EAAC;AAAA,QAAC,OAAK;AAAC,gBAAK,EAAC,GAAEkD,IAAE,GAAEW,GAAC,IAAE,KAAK,KAAKxE,EAAC;AAAE,UAAAyE,KAAEZ,IAAEe,KAAEJ;AAAA,QAAC;AAAC,eAAOrD,GAAE,WAAW,CAACsD,IAAEG,EAAC,CAAC,EAAE,CAAC;AAAA,MAAC;AAAA,MAAC,qBAAqB5E,IAAE6D,IAAEW,IAAE;AAAC,cAAMnD,KAAEF,GAAE,MAAKsD,KAAE,CAACzE,KAAE6D,OAAIA,OAAIzC,MAAGyC,OAAIjB,MAAG5C,IAAE,OAAOqB,EAAC,IAAErB,IAAE,SAAS6D,EAAC,IAAE7D,IAAE,eAAe6D,EAAC,GAAEa,KAAED,GAAE,MAAKZ,EAAC,EAAE,IAAIY,GAAEzE,IAAEwE,EAAC,CAAC;AAAE,eAAOE,GAAE,IAAG,IAAG,SAAOA;AAAA,MAAC;AAAA,MAAC,SAAS1E,IAAE;AAAC,eAAOU,GAAE,MAAKV,EAAC;AAAA,MAAC;AAAA,MAAC,gBAAe;AAAC,cAAK,EAAC,GAAEA,IAAE,eAAc6D,GAAC,IAAEa;AAAE,YAAG1E,OAAI4C,GAAE;AAAS,YAAGiB,GAAE,QAAOA,GAAE1C,IAAE,IAAI;AAAE,cAAM,IAAI,MAAM,8DAA8D;AAAA,MAAC;AAAA,MAAC,gBAAe;AAAC,cAAK,EAAC,GAAEnB,IAAE,eAAc6D,GAAC,IAAEa;AAAE,eAAO1E,OAAI4C,KAAE,OAAKiB,KAAEA,GAAE1C,IAAE,IAAI,IAAE,KAAK,eAAeuD,GAAE,CAAC;AAAA,MAAC;AAAA,MAAC,WAAW1E,KAAE,MAAG;AAAC,gBAAM,GAAG,EAAE,OAAO,gBAAeA,EAAC,GAAE,KAAK,eAAc,GAAGY,GAAEO,IAAE,MAAKnB,EAAC;AAAA,MAAC;AAAA,MAAC,MAAMA,KAAE,MAAG;AAAC,gBAAM,GAAG,EAAE,OAAO,gBAAeA,EAAC,GAAEqB,GAAE,WAAW,KAAK,WAAWrB,EAAC,CAAC;AAAA,MAAC;AAAA,IAAC;AAAC,IAAAmB,GAAE,OAAK,IAAIA,GAAEuD,GAAE,IAAGA,GAAE,IAAGC,GAAE,GAAG,GAAExD,GAAE,OAAK,IAAIA,GAAEwD,GAAE,MAAKA,GAAE,KAAIA,GAAE,IAAI;AAAE,UAAMpC,KAAEmC,GAAE,YAAW7D,SAAKgD,GAAE,MAAM1C,IAAEuD,GAAE,OAAK,KAAK,KAAKnC,KAAE,CAAC,IAAEA,EAAC;AAAE,WAAM,EAAC,OAAMmC,IAAE,iBAAgBvD,IAAE,wBAAuBqC,IAAE,qBAAoBe,IAAE,oBAAmB,SAASvE,IAAE;AAAC,aAAOqB,GAAE,QAAQrB,IAAE4C,IAAE8B,GAAE,CAAC;AAAA,IAAC,EAAC;AAAA,EAAC;AAAC,WAASlB,GAAExD,IAAE6D,IAAE;AAAC,UAAMW,KAAExE,GAAE;AAAM,QAAIqB,KAAED;AAAE,aAAQpB,KAAEwE,KAAE5B,IAAE5C,KAAEY,OAAIQ,IAAEpB,MAAGY,GAAE,CAAAS,MAAGuB;AAAE,UAAM6B,KAAEpD,IAAEqD,KAAE9D,MAAG6D,KAAE7B,KAAEA,IAAE+B,KAAED,KAAE9D,IAAEgE,MAAGJ,KAAE5B,MAAG+B,IAAEJ,MAAGK,KAAEhC,MAAGhC,IAAE4C,KAAEmB,KAAE/B,IAAE7C,KAAE2E,IAAEhE,KAAEV,GAAE,IAAI6D,IAAEe,EAAC,GAAE9D,KAAEd,GAAE,IAAI6D,KAAGe,KAAEhC,MAAGhC,EAAC;AAAE,QAAIO,KAAE,CAAC0C,IAAEW,OAAI;AAAC,UAAInD,KAAEX,IAAEgE,KAAE1E,GAAE,IAAIwE,IAAEhB,EAAC,GAAEmB,KAAE3E,GAAE,IAAI0E,EAAC;AAAE,MAAAC,KAAE3E,GAAE,IAAI2E,IAAEH,EAAC;AAAE,UAAII,KAAE5E,GAAE,IAAI6D,IAAEc,EAAC;AAAE,MAAAC,KAAE5E,GAAE,IAAI4E,IAAEL,EAAC,GAAEK,KAAE5E,GAAE,IAAI4E,IAAEF,EAAC,GAAEA,KAAE1E,GAAE,IAAI4E,IAAEJ,EAAC,GAAEG,KAAE3E,GAAE,IAAI4E,IAAEf,EAAC;AAAE,UAAIzC,KAAEpB,GAAE,IAAI2E,IAAED,EAAC;AAAE,MAAAE,KAAE5E,GAAE,IAAIoB,IAAErB,EAAC;AAAE,UAAIuE,KAAEtE,GAAE,IAAI4E,IAAE5E,GAAE,GAAG;AAAE,MAAA0E,KAAE1E,GAAE,IAAI2E,IAAE7D,EAAC,GAAE8D,KAAE5E,GAAE,IAAIoB,IAAEC,EAAC,GAAEsD,KAAE3E,GAAE,KAAK0E,IAAEC,IAAEL,EAAC,GAAElD,KAAEpB,GAAE,KAAK4E,IAAExD,IAAEkD,EAAC;AAAE,eAAQT,KAAEY,IAAEZ,KAAEjB,IAAEiB,MAAI;AAAC,YAAIW,KAAEX,KAAEjD;AAAE,QAAA4D,KAAE5D,MAAG4D,KAAE5B;AAAE,YAAI6B,KAAEzE,GAAE,IAAIoB,IAAEoD,EAAC;AAAE,cAAMI,KAAE5E,GAAE,IAAIyE,IAAEzE,GAAE,GAAG;AAAE,QAAA0E,KAAE1E,GAAE,IAAI2E,IAAEtD,EAAC,GAAEA,KAAErB,GAAE,IAAIqB,IAAEA,EAAC,GAAEoD,KAAEzE,GAAE,IAAIoB,IAAEC,EAAC,GAAEsD,KAAE3E,GAAE,KAAK0E,IAAEC,IAAEC,EAAC,GAAExD,KAAEpB,GAAE,KAAKyE,IAAErD,IAAEwD,EAAC;AAAA,MAAC;AAAC,aAAM,EAAC,SAAQN,IAAE,OAAMK,GAAC;AAAA,IAAC;AAAE,QAAG3E,GAAE,QAAMW,OAAI2D,IAAE;AAAC,YAAME,MAAGxE,GAAE,QAAMsE,MAAG3D,IAAEU,KAAErB,GAAE,KAAKA,GAAE,IAAI6D,EAAC,CAAC;AAAE,MAAA1C,KAAE,CAAC0C,IAAEY,OAAI;AAAC,YAAIC,KAAE1E,GAAE,IAAIyE,EAAC;AAAE,cAAME,KAAE3E,GAAE,IAAI6D,IAAEY,EAAC;AAAE,QAAAC,KAAE1E,GAAE,IAAI0E,IAAEC,EAAC;AAAE,YAAIC,KAAE5E,GAAE,IAAI0E,IAAEF,EAAC;AAAE,QAAAI,KAAE5E,GAAE,IAAI4E,IAAED,EAAC;AAAE,cAAMvD,KAAEpB,GAAE,IAAI4E,IAAEvD,EAAC,GAAEuB,KAAE5C,GAAE,IAAIA,GAAE,IAAI4E,EAAC,GAAEH,EAAC,GAAE7D,KAAEZ,GAAE,IAAI4C,IAAEiB,EAAC;AAAE,eAAM,EAAC,SAAQjD,IAAE,OAAMZ,GAAE,KAAKoB,IAAEwD,IAAEhE,EAAC,EAAC;AAAA,MAAC;AAAA,IAAC;AAAC,WAAOO;AAAA,EAAC;AAAC,GAAE,EAAE,GAAE,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,UAAQ,IAAG,GAAG,cAAY,SAASnB,IAAE6D,IAAE;AAAC,QAAM,IAAE,CAAAA,QAAG,GAAG,GAAG,aAAa,EAAC,GAAG7D,IAAE,GAAG,GAAG6D,EAAC,EAAC,CAAC;AAAE,SAAO,OAAO,OAAO,EAAC,GAAG,EAAEA,EAAC,GAAE,QAAO,EAAC,CAAC;AAAC;AAAE,MAAM,KAAG,IAAG,KAAG,IAAG,KAAG;AAAG,SAAS,GAAG7D,IAAE;AAAC,SAAM,EAAC,MAAKA,IAAE,MAAK,CAAC6D,OAAK,UAAO,GAAG,MAAM7D,IAAE6D,QAAK,GAAG,aAAa,GAAG,CAAC,CAAC,GAAE,aAAY,GAAG,YAAW;AAAC;AAAC,EAAC,SAAS7D,IAAE;AAAC,SAAO,eAAeA,IAAE,cAAa,EAAC,OAAM,KAAE,CAAC,GAAEA,GAAE,gBAAcA,GAAE,cAAYA,GAAE,UAAQA,GAAE,YAAU;AAAO,QAAM6D,KAAE,IAAG,IAAE,IAAGxC,KAAE,IAAG,IAAE,IAAG,IAAE,IAAG,IAAE,IAAG,IAAE,IAAGD,KAAE,OAAO,oEAAoE,GAAEwB,KAAE,OAAO,oEAAoE,GAAEhC,KAAE,OAAO,CAAC,GAAE0D,KAAE,OAAO,CAAC,GAAE3D,KAAE,CAACX,IAAE6D,QAAK7D,KAAE6D,KAAES,MAAGT;AAAE,WAASU,GAAEvE,IAAE;AAAC,UAAM6D,KAAEzC,IAAEoD,KAAE,OAAO,CAAC,GAAEnD,KAAE,OAAO,CAAC,GAAEoD,KAAE,OAAO,EAAE,GAAEE,KAAE,OAAO,EAAE,GAAEC,KAAE,OAAO,EAAE,GAAEhC,KAAE,OAAO,EAAE,GAAEhC,KAAE,OAAO,EAAE,GAAED,KAAEX,KAAEA,KAAEA,KAAE6D,IAAEU,KAAE5D,KAAEA,KAAEX,KAAE6D,IAAE9D,SAAK,EAAE,MAAMwE,IAAEC,IAAEX,EAAC,IAAEU,KAAEV,IAAEnD,MAAE,GAAG,EAAE,MAAMX,IAAEyE,IAAEX,EAAC,IAAEU,KAAEV,IAAE/C,MAAE,GAAG,EAAE,MAAMJ,IAAE4D,IAAET,EAAC,IAAElD,KAAEkD,IAAE1C,MAAE,GAAG,EAAE,MAAML,IAAE2D,IAAEZ,EAAC,IAAE/C,KAAE+C,IAAEtB,MAAE,GAAG,EAAE,MAAMpB,IAAEwD,IAAEd,EAAC,IAAE1C,KAAE0C,IAAEhD,MAAE,GAAG,EAAE,MAAM0B,IAAEK,IAAEiB,EAAC,IAAEtB,KAAEsB,IAAEgB,MAAE,GAAG,EAAE,MAAMhE,IAAED,IAAEiD,EAAC,IAAEhD,KAAEgD,IAAEiB,SAAK,EAAE,MAAMD,IAAEjC,IAAEiB,EAAC,IAAEtB,KAAEsB,IAAEkB,SAAK,EAAE,MAAMD,IAAEN,IAAEX,EAAC,IAAEU,KAAEV,IAAEmB,MAAE,GAAG,EAAE,MAAMD,IAAEH,IAAEf,EAAC,IAAE1C,KAAE0C,IAAE3B,MAAE,GAAG,EAAE,MAAM8C,IAAE3D,IAAEwC,EAAC,IAAElD,KAAEkD,IAAEoB,MAAE,GAAG,EAAE,MAAM/C,IAAEoC,IAAET,EAAC;AAAE,QAAG,CAACL,GAAE,IAAIA,GAAE,IAAIyB,EAAC,GAAEjF,EAAC,EAAE,OAAM,IAAI,MAAM,yBAAyB;AAAE,WAAOiF;AAAA,EAAC;AAAC,QAAMzB,MAAE,GAAG,EAAE,OAAOpC,IAAE,QAAO,QAAO,EAAC,MAAKmD,GAAC,CAAC;AAAE,EAAAvE,GAAE,aAAU,GAAGqB,GAAE,aAAa,EAAC,GAAE,OAAO,CAAC,GAAE,GAAE,OAAO,CAAC,GAAE,IAAGmC,IAAE,GAAEZ,IAAE,IAAG,OAAO,+EAA+E,GAAE,IAAG,OAAO,+EAA+E,GAAE,GAAE,OAAO,CAAC,GAAE,MAAK,MAAG,MAAK,EAAC,MAAK,OAAO,oEAAoE,GAAE,aAAY,CAAA5C,OAAG;AAAC,UAAM6D,KAAEjB,IAAE4B,KAAE,OAAO,oCAAoC,GAAEnD,KAAE,CAACT,KAAE,OAAO,oCAAoC,GAAE6D,KAAE,OAAO,qCAAqC,GAAEE,KAAEH,IAAEI,KAAE,OAAO,qCAAqC,GAAExD,KAAET,GAAEgE,KAAE3E,IAAE6D,EAAC,GAAES,KAAE3D,GAAE,CAACU,KAAErB,IAAE6D,EAAC;AAAE,QAAIU,MAAE,GAAG,EAAE,KAAKvE,KAAEoB,KAAEoD,KAAEF,KAAEG,IAAEZ,EAAC,GAAEL,MAAE,GAAG,EAAE,KAAK,CAACpC,KAAEC,KAAEiD,KAAEK,IAAEd,EAAC;AAAE,UAAM9D,KAAEwE,KAAEK,IAAElE,KAAE8C,KAAEoB;AAAE,QAAG7E,OAAIwE,KAAEV,KAAEU,KAAG7D,OAAI8C,KAAEK,KAAEL,KAAGe,KAAEK,MAAGpB,KAAEoB,GAAE,OAAM,IAAI,MAAM,yCAAuC5E,EAAC;AAAE,WAAM,EAAC,OAAMD,IAAE,IAAGwE,IAAE,OAAM7D,IAAE,IAAG8C,GAAC;AAAA,EAAC,EAAC,EAAC,GAAEK,GAAE,MAAM;AAAE,QAAM9D,KAAE,OAAO,CAAC,GAAEW,KAAE;AAAG,WAASI,GAAEd,OAAKwE,IAAE;AAAC,QAAInD,KAAEX,GAAEV,EAAC;AAAE,QAAG,WAASqB,IAAE;AAAC,YAAMmD,MAAE,GAAGX,GAAE,QAAQ,WAAW,KAAK7D,KAAG,CAAAA,OAAGA,GAAE,WAAW,CAAC,EAAC,CAAE;AAAE,MAAAqB,MAAE,GAAG,EAAE,aAAamD,IAAEA,EAAC,GAAE9D,GAAEV,EAAC,IAAEqB;AAAA,IAAC;AAAC,YAAM,GAAGwC,GAAE,YAAW,EAAE,aAAaxC,IAAE,GAAGmD,EAAC,CAAC;AAAA,EAAC;AAAC,QAAMrD,KAAE,CAAAnB,OAAGA,GAAE,WAAW,IAAE,EAAE,MAAM,CAAC,GAAEuC,KAAE,CAAAvC,QAAG,GAAG,EAAE,iBAAiBA,IAAE,EAAE,GAAEa,KAAE,CAAAb,WAAM,EAAE,KAAKA,IAAEoB,EAAC,GAAEyD,KAAE,CAAA7E,QAAG,GAAG,EAAE,KAAKA,IAAE4C,EAAC,GAAEkC,KAAE9E,GAAE,UAAU,iBAAgB+E,KAAE,CAAC/E,IAAE6D,IAAEW,OAAIM,GAAE,KAAK,qBAAqB9E,IAAE6D,IAAEW,EAAC;AAAE,WAASQ,GAAEnB,IAAE;AAAC,QAAIW,KAAExE,GAAE,UAAU,MAAM,uBAAuB6D,EAAC,GAAExC,KAAEyD,GAAE,eAAeN,EAAC;AAAE,WAAM,EAAC,QAAOnD,GAAE,SAAQ,IAAGmD,KAAEK,GAAE,CAACL,EAAC,GAAE,OAAMrD,GAAEE,EAAC,EAAC;AAAA,EAAC;AAAC,WAASa,GAAElC,IAAE;AAAC,KAAA,GAAG,EAAE,UAAU,KAAIA,IAAEY,IAAEQ,EAAC;AAAE,UAAMyC,KAAEhD,GAAEb,KAAEA,EAAC;AAAE,QAAIwE,KAAED,GAAE1D,GAAEgD,KAAE7D,KAAE,OAAO,CAAC,CAAC,CAAC;AAAE,IAAAwE,KAAEF,OAAIvE,OAAIyE,KAAE3D,GAAE,CAAC2D,EAAC;AAAG,UAAMnD,KAAE,IAAIyD,GAAE9E,IAAEwE,IAAE5D,EAAC;AAAE,WAAOS,GAAE,eAAc,GAAGA;AAAA,EAAC;AAAC,QAAM4D,KAAE,EAAE;AAAgB,WAASC,MAAKlF,IAAE;AAAC,WAAO6E,GAAEI,GAAEnE,GAAE,qBAAoB,GAAGd,EAAC,CAAC,CAAC;AAAA,EAAC;AAAC,WAASmF,GAAEnF,IAAE;AAAC,WAAOgF,GAAEhF,EAAC,EAAE;AAAA,EAAK;AAAC,WAASoF,GAAEpF,IAAE6D,IAAExC,MAAE,GAAG,EAAE,aAAa,EAAE,GAAE;AAAC,UAAMoD,MAAE,GAAG,EAAE,aAAa,WAAUzE,EAAC,GAAE,EAAC,OAAM0E,IAAE,QAAOE,GAAC,IAAEI,GAAEnB,EAAC,GAAEzC,MAAE,GAAG,EAAE,aAAa,WAAUC,IAAE,EAAE,GAAEuB,KAAEL,GAAEqC,KAAEK,GAAEnE,GAAE,eAAcM,EAAC,CAAC,CAAC,GAAER,KAAEE,GAAE,iBAAgB8B,IAAE8B,IAAED,EAAC,GAAEH,KAAEO,GAAEI,GAAErE,EAAC,CAAC;AAAE,QAAG0D,OAAIvE,GAAE,OAAM,IAAI,MAAM,wBAAwB;AAAE,UAAK,EAAC,OAAMY,IAAE,QAAO4D,GAAC,IAAES,GAAEV,EAAC,GAAEd,KAAE0B,GAAEvE,IAAE+D,IAAED,EAAC,GAAE/D,KAAE,IAAI,WAAW,EAAE;AAAE,QAAGA,GAAE,IAAIC,IAAE,CAAC,GAAED,GAAE,IAAI6B,GAAEsC,GAAEN,KAAEf,KAAEoB,EAAC,CAAC,GAAE,EAAE,GAAE,CAACS,GAAE3E,IAAE+D,IAAEC,EAAC,EAAE,OAAM,IAAI,MAAM,kCAAkC;AAAE,WAAOhE;AAAA,EAAC;AAAC,WAAS2E,GAAErF,IAAE6D,IAAEW,IAAE;AAAC,UAAMnD,MAAE,GAAG,EAAE,aAAa,aAAYrB,IAAE,EAAE,GAAEyE,MAAE,GAAG,EAAE,aAAa,WAAUZ,EAAC,GAAEa,MAAE,GAAG,EAAE,aAAa,aAAYF,IAAE,EAAE;AAAE,QAAG;AAAC,YAAMxE,KAAEkC,GAAE+C,GAAEP,EAAC,CAAC,GAAEb,KAAEoB,GAAE5D,GAAE,SAAS,GAAE,EAAE,CAAC;AAAE,UAAG,EAAE,GAAE,EAAE,SAASwC,IAAEjD,IAAEQ,EAAC,EAAE,QAAM;AAAG,YAAMoD,KAAES,GAAE5D,GAAE,SAAS,IAAG,EAAE,CAAC;AAAE,UAAG,EAAE,GAAE,EAAE,SAASmD,IAAE5D,IAAEgC,EAAC,EAAE,QAAM;AAAG,YAAMgC,KAAEM,GAAE3C,GAAEsB,EAAC,GAAE1C,GAAEnB,EAAC,GAAEyE,EAAC,GAAEH,KAAES,GAAE/E,IAAEwE,IAAEK,GAAE,CAACD,EAAC,CAAC;AAAE,aAAM,EAAE,CAACN,MAAG,CAACA,GAAE,cAAYA,GAAE,SAAQ,EAAG,MAAIT;AAAA,IAAE,SAAO7D,IAAE;AAAC,aAAM;AAAA,IAAE;AAAA,EAAC;AAAC,EAAAA,GAAE,UAAQ,EAAC,cAAamF,IAAE,MAAKC,IAAE,QAAOC,IAAE,OAAM,EAAC,kBAAiBrF,GAAE,UAAU,MAAM,kBAAiB,QAAOkC,IAAE,cAAaf,IAAE,iBAAgB,EAAE,iBAAgB,iBAAgB,EAAE,iBAAgB,YAAWL,IAAE,KAAI,EAAE,IAAG,EAAC;AAAE,QAAMyE,MAAG,OAAI,GAAG,EAAE,YAAY/B,IAAE,CAAC,CAAC,sEAAqE,qEAAoE,sEAAqE,oEAAoE,GAAE,CAAC,sEAAqE,sEAAqE,oEAAoE,GAAE,CAAC,sEAAqE,sEAAqE,sEAAqE,oEAAoE,GAAE,CAAC,sEAAqE,sEAAqE,sEAAqE,oEAAoE,CAAC,EAAE,KAAK,CAAAxD,OAAGA,GAAE,KAAK,CAAAA,OAAG,OAAOA,EAAC,EAAC,EAAE,CAAE,GAAC,GAAIwF,MAAG,OAAI,GAAG,EAAE,qBAAqBhC,IAAE,EAAC,GAAE,OAAO,oEAAoE,GAAE,GAAE,OAAO,MAAM,GAAE,GAAEA,GAAE,OAAO,OAAO,KAAK,CAAC,EAAC,CAAC,MAAKiC,MAAG,OAAI,GAAG,EAAE,cAAczF,GAAE,UAAU,kBAAiB,CAAAA,OAAG;AAAC,UAAK,EAAC,GAAE6D,IAAE,GAAEW,GAAC,IAAEgB,GAAEhC,GAAE,OAAOxD,GAAE,CAAC,CAAC,CAAC;AAAE,WAAOuF,GAAE1B,IAAEW,EAAC;AAAA,EAAC,IAAG,EAAC,KAAI,kCAAiC,WAAU,kCAAiC,GAAEhB,GAAE,OAAM,GAAE,GAAE,GAAE,KAAI,QAAO,OAAM,MAAKK,GAAE,OAAM,CAAC,GAAC;AAAI,EAAA7D,GAAE,cAAYyF,GAAE,aAAYzF,GAAE,gBAAcyF,GAAE;AAAa,GAAE,EAAE;AAAE,IAAI,KAAG,CAAA;AAAG,EAAC,SAASzF,IAAE;AAAC,SAAO,eAAeA,IAAE,cAAa,EAAC,OAAM,KAAE,CAAC,GAAEA,GAAE,YAAUA,GAAE,WAAS;AAAO,MAAI6D,KAAE;AAAG,EAAA7D,GAAE,WAAS,SAASA,IAAE;AAAC,WAAOA,GAAE,WAAW,IAAI,KAAGA,GAAE,WAAW,IAAI,IAAEA,GAAE,MAAM,CAAC,IAAEA;AAAA,EAAC;AAAE,EAAAA,GAAE,YAAU,SAAS,GAAE;AAAC,eAAS6D,GAAE,aAAY,GAAG7D,GAAE,UAAU,CAAC,CAAC;AAAA,EAAC;AAAC,GAAE,EAAE,IAAE,SAASA,IAAE;AAAC,SAAO,eAAeA,IAAE,cAAa,EAAC,OAAM,KAAE,CAAC,GAAEA,GAAE,iBAAeA,GAAE,yBAAuBA,GAAE,iBAAeA,GAAE,eAAaA,GAAE,oBAAkBA,GAAE,iBAAe;AAAO,MAAI6D,KAAE,IAAG,IAAE,IAAGxC,KAAE,IAAG,IAAE,IAAG,IAAE,IAAG,IAAE;AAAG,EAAArB,GAAE,iBAAe,WAAU;AAAC,QAAIwE;AAAE,OAAE;AAAC,MAAAA,MAAE,GAAGX,GAAE,aAAa,EAAE,iBAAiB;AAAA,IAAC,SAAO,EAAC,GAAG7D,GAAE,mBAAmBwE,EAAC;AAAG,WAAOA;AAAA,EAAC;AAAE,EAAAxE,GAAE,oBAAkB,SAASA,IAAE;AAAC,WAAO,GAAE,GAAG,EAAE,mBAAkB,SAAS6D,IAAE;AAAC,aAAOA,GAAE,MAAM,kBAAkB7D,EAAC;AAAA,IAAC,KAAI,WAAU;AAAC,aAAM;AAAA,IAAE,KAAI,WAAU;AAAC,aAAM;AAAA,IAAE;EAAG;AAAE,EAAAA,GAAE,eAAa,SAASA,IAAE;AAAC,WAAO,GAAE,GAAG,EAAE,mBAAkB,SAAS6D,IAAE;AAAC,aAAOA,GAAE,aAAa7D,EAAC;AAAA,IAAC,KAAI,SAAS6D,IAAE;AAAC,aAAOA,GAAE,aAAa7D,EAAC;AAAA,IAAC,KAAI,SAAS6D,IAAE;AAAC,aAAOA,GAAE,aAAa7D,EAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAE,EAAAA,GAAE,iBAAe,SAASA,IAAE6D,IAAEW,IAAE;AAAC,WAAO,GAAE,GAAG,EAAE,eAAa,IAAK,SAASnD,IAAE;AAAC,aAAOA,GAAE,gBAAgBrB,IAAE6D,IAAEW,EAAC;AAAA,IAAC,KAAI,SAASA,IAAE;AAAC,aAAOA,GAAE,gBAAgBxE,IAAE6D,EAAC;AAAA,IAAC,KAAI,SAASW,IAAE;AAAC,aAAO5B,GAAE4B,IAAExE,IAAE6D,EAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAE,EAAA7D,GAAE,yBAAuB,SAASA,IAAE6D,IAAE;AAAC,WAAO,MAAK,EAAE,eAAa,IAAK,SAASW,IAAE;AAAC,aAAOA,GAAE,gBAAgB,OAAO,CAAC,GAAExE,IAAE6D,EAAC;AAAA,IAAC,KAAI,WAAU;AAAC,aAAO7D;AAAA,IAAC,KAAI,WAAU;AAAC,aAAOA;AAAA,IAAC,EAAC;AAAA,EAAE;AAAE,WAAS,EAAEA,IAAE6D,IAAEY,IAAEC,IAAE;AAAC,QAAG,gBAAc1E,GAAE,QAAO6D,GAAExC,GAAE,SAAS;AAAE,QAAG,aAAWrB,GAAE,QAAOyE,GAAE,EAAE,MAAM;AAAE,QAAG,cAAYzE,GAAE,QAAO0E,GAAE,EAAE,OAAO;AAAE,UAAM,IAAI,MAAM,iBAAiB;AAAA,EAAC;AAAC,EAAA1E,GAAE,iBAAe,SAASA,IAAE;AAAC,QAAI6D,MAAE,GAAG,EAAE,WAAW7D,EAAC;AAAE,WAAO,GAAE,GAAG,EAAE,eAAa,IAAK,WAAU;AAAC,aAAOoB,GAAEyC,EAAC;AAAA,IAAC,KAAI,WAAU;AAAC,aAAOA;AAAA,IAAC,KAAI,WAAU;AAAC,aAAOA;AAAA,IAAC,EAAC;AAAA,EAAE;AAAE,MAAIzC,KAAE,SAASpB,IAAE;AAAC,QAAGA,GAAE,WAAS,EAAE,qBAAoB;AAAC,UAAI6D,KAAE,IAAI,WAAW,IAAE7D,GAAE,MAAM;AAAE,aAAO6D,GAAE,IAAI,CAAC,CAAC,CAAC,GAAEA,GAAE,IAAI7D,IAAE,CAAC,GAAE6D;AAAA,IAAC;AAAC,WAAO7D;AAAA,EAAC,GAAE4C,KAAE,SAAS5C,IAAE6D,IAAEW,IAAE;AAAC,QAAInD,KAAErB,GAAE,MAAM,qBAAqB6D,EAAC,EAAE;AAAO,WAAO7D,GAAE,cAAc,QAAQwE,EAAC,EAAE,SAASnD,EAAC,EAAE,WAAU;AAAA,EAAE;AAAC,GAAE,EAAE;AAAE,IAAI,KAAG,CAAA,GAAG,KAAG,CAAA;AAAG,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,OAAK,QAAO,GAAG,UAAQ,IAAG,GAAG,SAAO;AAAG,MAAM,KAAG,IAAG,KAAG,IAAG,KAAG;AAAG,SAAS,GAAGrB,IAAE6D,IAAE,GAAE;AAAC,UAAM,GAAG,GAAG,MAAM7D,EAAC,GAAE,WAAS,MAAI,IAAE,IAAI,WAAWA,GAAE,SAAS,KAAG,GAAG,GAAG,MAAMA,KAAE,GAAG,GAAG,SAAS,CAAC,IAAE,GAAG,GAAG,SAAS6D,EAAC,CAAC;AAAC;AAAC,MAAM,KAAG,IAAI,WAAW,CAAC,CAAC,CAAC,GAAE,KAAG,IAAI;AAAW,SAAS,GAAG7D,IAAE6D,IAAE,GAAExC,KAAE,IAAG;AAAC,OAAG,GAAG,GAAG,MAAMrB,EAAC,IAAE,GAAG,GAAG,QAAQqB,EAAC,GAAEA,KAAE,MAAIrB,GAAE,UAAU,OAAM,IAAI,MAAM,iCAAiC;AAAE,QAAM,IAAE,KAAK,KAAKqB,KAAErB,GAAE,SAAS;AAAE,aAAS,MAAI,IAAE;AAAI,QAAM,IAAE,IAAI,WAAW,IAAEA,GAAE,SAAS,GAAE,IAAE,GAAG,KAAK,OAAOA,IAAE6D,EAAC,GAAE,IAAE,EAAE,cAAazC,KAAE,IAAI,WAAW,EAAE,SAAS;AAAE,WAAQyC,KAAE,GAAEA,KAAE,GAAEA,KAAI,IAAG,CAAC,IAAEA,KAAE,GAAE,EAAE,OAAO,MAAIA,KAAE,KAAGzC,EAAC,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,WAAWA,EAAC,GAAE,EAAE,IAAIA,IAAEpB,GAAE,YAAU6D,EAAC,GAAE,EAAE,WAAW,CAAC;AAAE,SAAO,EAAE,QAAO,GAAG,EAAE,QAAO,GAAGzC,GAAE,KAAK,CAAC,GAAE,GAAG,KAAK,CAAC,GAAE,EAAE,MAAM,GAAEC,EAAC;AAAC;AAAC,GAAG,OAAK,CAACrB,IAAE6D,IAAE,GAAExC,IAAE,MAAI,GAAGrB,IAAE,GAAGA,IAAE6D,IAAE,CAAC,GAAExC,IAAE,CAAC,IAAE,SAASrB,IAAE;AAAC,SAAO,eAAeA,IAAE,cAAa,EAAC,OAAM,KAAE,CAAC,GAAEA,GAAE,eAAaA,GAAE,YAAU;AAAO,MAAI6D,KAAE,IAAG,IAAE,IAAGxC,KAAE;AAAG,EAAArB,GAAE,YAAU,SAASA,IAAE6D,IAAE,GAAE;AAAC,YAAM,GAAG,EAAE,MAAMxC,GAAE,QAAOrB,IAAE6D,IAAE,GAAE,EAAE;AAAA,EAAC;AAAE,EAAA7D,GAAE,eAAa,WAAU;AAAC,aAAQwE,KAAE,CAAA,GAAGnD,KAAE,GAAEA,KAAE,UAAU,QAAOA,KAAI,CAAAmD,GAAEnD,EAAC,IAAE,UAAUA,EAAC;AAAE,YAAM,GAAGrB,GAAE,WAAW6D,GAAE,YAAY,MAAM,QAAOW,EAAC,CAAC;AAAA,EAAC;AAAC,GAAE,EAAE;AAAE,IAAI,KAAG,CAAA,GAAG,KAAG,CAAA,GAAG,KAAG,CAAA,GAAG,KAAG,CAAA;AAAG,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,UAAQ,GAAG,QAAM,QAAO,GAAG,cAAY;AAAG,MAAM,KAAG,IAAG,KAAG,IAAG,KAAG,IAAG,KAAG,IAAI,WAAW,EAAE,GAAE,MAAG,GAAG,GAAG,KAAK,EAAE,GAAE,KAAG,CAAAxE,QAAIA,OAAI,IAAE,QAAM,MAAIA,OAAI,IAAE,QAAM,MAAIA,OAAI,KAAG,QAAM,IAAEA,OAAI,KAAG,MAAI;AAAE,SAAS,GAAGA,IAAE;AAAC,EAAAA,GAAE,QAAO;AAAG,QAAM6D,KAAE,IAAE7D,GAAE,EAAE;AAAE,MAAI,IAAE;AAAE,WAAQ6D,KAAE,GAAEA,KAAE7D,GAAE,QAAO6D,MAAI;AAAC,UAAMxC,KAAErB,GAAE6D,EAAC;AAAE,IAAA7D,GAAE6D,EAAC,IAAExC,OAAI,IAAE,GAAE,KAAG,IAAEA,OAAI;AAAA,EAAC;AAAC,SAAOrB,GAAE,CAAC,KAAG,MAAI,CAAC6D,IAAE7D;AAAC;AAAC,MAAM,GAAE;AAAA,EAAC,YAAYA,IAAE6D,IAAE;AAAC,SAAK,WAAS,IAAG,KAAK,YAAU,IAAG,KAAK,KAAG,GAAE,KAAK,KAAG,GAAE,KAAK,KAAG,GAAE,KAAK,KAAG,GAAE,KAAK,WAAS,OAAG7D,MAAE,GAAG,GAAG,SAASA,EAAC,IAAE,GAAG,GAAG,OAAOA,IAAE,EAAE;AAAE,UAAM,KAAE,GAAG,GAAG,YAAYA,EAAC;AAAE,QAAIqB,KAAE,EAAE,UAAU,GAAE,KAAE,GAAE,IAAE,EAAE,UAAU,GAAE,KAAE,GAAE,IAAE,EAAE,UAAU,GAAE,KAAE,GAAE,IAAE,EAAE,UAAU,IAAG,KAAE;AAAE,UAAM,IAAE,CAAA;AAAG,aAAQrB,KAAE,GAAEA,KAAE,KAAIA,KAAI,GAAE,KAAK,EAAC,IAAG,GAAGqB,EAAC,GAAE,IAAG,GAAG,CAAC,GAAE,IAAG,GAAG,CAAC,GAAE,IAAG,GAAG,CAAC,EAAC,CAAC,GAAG,EAAC,IAAGA,IAAE,IAAG,GAAE,IAAG,GAAE,IAAG,EAAC,IAAE,EAAC,KAAIT,KAAE,MAAI,MAAI0D,KAAE,OAAK,GAAE,KAAI1B,KAAE,MAAI,KAAGhC,OAAI,GAAE,KAAIQ,KAAEC,OAAI,KAAGuB,OAAI,GAAE,IAAGxB,OAAI,IAAE,OAAK,KAAG,EAAE,IAAEkD,IAAE;AAAG,QAAIlD,IAAEwB,IAAEhC,IAAE0D;AAAE,UAAM3D,MAAG,CAAAX,OAAGA,KAAE,QAAM,IAAEA,KAAE,OAAK,IAAE,GAAG6D,MAAG,IAAI;AAAE,QAAG,CAAC,CAAC,GAAE,GAAE,GAAE,CAAC,EAAE,SAASlD,EAAC,EAAE,OAAM,IAAI,MAAM,4BAA4BA,EAAC,uBAAuB;AAAE,SAAK,IAAEA;AAAE,UAAM4D,KAAE,MAAI5D,IAAE6C,KAAE,KAAK,aAAW,KAAG7C,IAAEZ,KAAE,CAAA;AAAG,aAAQC,KAAE,GAAEA,KAAEuE,IAAEvE,KAAI,UAAQ6D,KAAE,GAAEA,KAAEL,IAAEK,MAAI;AAAC,UAAIW,KAAE,GAAEnD,KAAE,GAAEoD,KAAE,GAAEC,KAAE;AAAE,eAAQC,KAAE,GAAEA,KAAEhE,IAAEgE,MAAI;AAAC,YAAG,EAAEd,OAAIlD,KAAEgE,KAAE,IAAE,GAAG;AAAS,cAAK,EAAC,IAAGvD,IAAE,IAAGwB,IAAE,IAAGhC,IAAE,IAAG0D,GAAC,IAAE,EAAE3D,KAAEX,KAAE2E,EAAC;AAAE,QAAAH,MAAGpD,IAAEC,MAAGuB,IAAE6B,MAAG7D,IAAE8D,MAAGJ;AAAA,MAAC;AAAC,MAAAvE,GAAE,KAAK,EAAC,IAAGyE,IAAE,IAAGnD,IAAE,IAAGoD,IAAE,IAAGC,GAAC,CAAC;AAAA,IAAC;AAAC,SAAK,IAAE3E;AAAA,EAAC;AAAA,EAAC,aAAaC,IAAE6D,IAAE,GAAExC,IAAE;AAAC,IAAArB,MAAG,KAAK,IAAG6D,MAAG,KAAK,IAAG,KAAG,KAAK,IAAGxC,MAAG,KAAK;AAAG,UAAK,EAAC,GAAE,GAAE,GAAE,GAAE,YAAW,EAAC,IAAE;AAAK,QAAI,IAAE,GAAED,KAAE,GAAEwB,KAAE,GAAEhC,KAAE;AAAE,UAAM0D,MAAG,KAAG,KAAG;AAAE,QAAI3D,KAAE;AAAE,eAAU4D,MAAI,CAACvE,IAAE6D,IAAE,GAAExC,EAAC,EAAE,UAAQrB,KAAE,GAAEA,KAAE,GAAEA,MAAI;AAAC,YAAM6D,KAAEU,OAAI,IAAEvE,KAAE;AAAI,eAAQA,KAAE,IAAE,IAAE,GAAEA,MAAG,GAAEA,MAAI;AAAC,cAAMwE,KAAEX,OAAI,IAAE7D,KAAEsE,IAAE,EAAC,IAAGjD,IAAE,IAAGkD,IAAE,IAAGf,IAAE,IAAGzD,GAAC,IAAE,EAAEY,KAAE,IAAE6D,EAAC;AAAE,aAAGnD,IAAED,MAAGmD,IAAE3B,MAAGY,IAAE5C,MAAGb,IAAEY,MAAG;AAAA,MAAC;AAAA,IAAC;AAAC,SAAK,KAAG,GAAE,KAAK,KAAGS,IAAE,KAAK,KAAGwB,IAAE,KAAK,KAAGhC;AAAA,EAAC;AAAA,EAAC,OAAOZ,IAAE;AAAC,IAAAA,MAAE,GAAG,GAAG,SAASA,EAAC,IAAE,GAAG,GAAG,QAAQ,IAAI;AAAE,UAAM6D,MAAE,GAAG,GAAG,KAAK7D,EAAC,GAAE,IAAE,KAAK,MAAMA,GAAE,SAAO,EAAE,GAAEqB,KAAErB,GAAE,SAAO;AAAG,aAAQA,KAAE,GAAEA,KAAE,GAAEA,KAAI,MAAK,aAAa6D,GAAE,IAAE7D,KAAE,CAAC,GAAE6D,GAAE,IAAE7D,KAAE,CAAC,GAAE6D,GAAE,IAAE7D,KAAE,CAAC,GAAE6D,GAAE,IAAE7D,KAAE,CAAC,CAAC;AAAE,WAAOqB,OAAI,GAAG,IAAIrB,GAAE,SAAS,IAAE,EAAE,CAAC,GAAE,KAAK,aAAa,GAAG,CAAC,GAAE,GAAG,CAAC,GAAE,GAAG,CAAC,GAAE,GAAG,CAAC,CAAC,IAAE,GAAG,GAAG,OAAO,EAAE,IAAG;AAAA,EAAI;AAAA,EAAC,UAAS;AAAC,UAAK,EAAC,GAAEA,GAAC,IAAE;AAAK,eAAU6D,MAAK7D,GAAE,CAAA6D,GAAE,KAAG,GAAEA,GAAE,KAAG,GAAEA,GAAE,KAAG,GAAEA,GAAE,KAAG;AAAA,EAAC;AAAA,EAAC,WAAW7D,IAAE;AAAC,QAAG,GAAG,QAAQ,IAAI,IAAE,GAAG,GAAG,QAAQA,IAAE,IAAI,GAAE,KAAK,WAAS;AAAG,UAAK,EAAC,IAAG6D,IAAE,IAAG,GAAE,IAAGxC,IAAE,IAAG,EAAC,IAAE,MAAK,KAAE,GAAG,GAAG,KAAKrB,EAAC;AAAE,WAAO,EAAE,CAAC,IAAE6D,IAAE,EAAE,CAAC,IAAE,GAAE,EAAE,CAAC,IAAExC,IAAE,EAAE,CAAC,IAAE,GAAErB;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,UAAMA,KAAE,IAAI,WAAW,EAAE;AAAE,WAAO,KAAK,WAAWA,EAAC,GAAE,KAAK,QAAO,GAAGA;AAAA,EAAC;AAAC;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,YAAYA,IAAE6D,IAAE;AAAC,IAAA7D,MAAE,GAAG,GAAG,SAASA,EAAC;AAAE,UAAM,IAAE,IAAG,GAAG,GAAG,WAAWA,EAAC,CAAC;AAAE,UAAM,GAAE6D,EAAC,IAAE,GAAG,GAAG,OAAO,CAAC;AAAA,EAAC;AAAA,EAAC,OAAO7D,IAAE;AAAC,IAAAA,MAAE,GAAG,GAAG,SAASA,EAAC,IAAE,GAAG,GAAG,QAAQ,IAAI;AAAE,UAAM6D,MAAE,GAAG,GAAG,KAAK7D,EAAC,GAAE,IAAEA,GAAE,SAAO,IAAGqB,KAAE,KAAK,MAAMrB,GAAE,SAAO,EAAE;AAAE,aAAQA,KAAE,GAAEA,KAAEqB,IAAErB,KAAI,MAAK,aAAa,GAAG6D,GAAE,IAAE7D,KAAE,CAAC,CAAC,GAAE,GAAG6D,GAAE,IAAE7D,KAAE,CAAC,CAAC,GAAE,GAAG6D,GAAE,IAAE7D,KAAE,CAAC,CAAC,GAAE,GAAG6D,GAAE,IAAE7D,KAAE,CAAC,CAAC,CAAC;AAAE,WAAO,MAAI,GAAG,IAAIA,GAAE,SAASqB,KAAE,EAAE,CAAC,GAAE,KAAK,aAAa,GAAG,GAAG,CAAC,CAAC,GAAE,GAAG,GAAG,CAAC,CAAC,GAAE,GAAG,GAAG,CAAC,CAAC,GAAE,GAAG,GAAG,CAAC,CAAC,CAAC,IAAE,GAAG,GAAG,OAAO,EAAE,IAAG;AAAA,EAAI;AAAA,EAAC,WAAWrB,IAAE;AAAC,KAAA,GAAG,GAAG,QAAQ,IAAI,OAAK,GAAG,QAAQA,IAAE,IAAI,GAAE,KAAK,WAAS;AAAG,UAAK,EAAC,IAAG6D,IAAE,IAAG,GAAE,IAAGxC,IAAE,IAAG,EAAC,IAAE,MAAK,KAAE,GAAG,GAAG,KAAKrB,EAAC;AAAE,WAAO,EAAE,CAAC,IAAE6D,IAAE,EAAE,CAAC,IAAE,GAAE,EAAE,CAAC,IAAExC,IAAE,EAAE,CAAC,IAAE,GAAErB,GAAE;EAAS;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,QAAM6D,KAAE,CAACA,IAAEW,OAAIxE,GAAEwE,IAAEX,GAAE,MAAM,EAAE,QAAO,GAAG,GAAG,SAASA,EAAC,CAAC,EAAE,OAAM,GAAG,IAAE7D,GAAE,IAAI,WAAW,EAAE,GAAE,CAAC;AAAE,SAAO6D,GAAE,YAAU,EAAE,WAAUA,GAAE,WAAS,EAAE,UAASA,GAAE,SAAO,CAACA,IAAEW,OAAIxE,GAAE6D,IAAEW,EAAC,GAAEX;AAAC;AAAC,GAAG,QAAM,IAAI,CAAC7D,IAAE6D,OAAI,IAAI,GAAG7D,IAAE6D,EAAC,EAAC,GAAG,GAAG,UAAQ,IAAI,CAAC7D,IAAE6D,OAAI,IAAI,GAAG7D,IAAE6D,EAAC,KAAI,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,SAAO,GAAG,SAAO,GAAG,QAAM,GAAG,MAAI,GAAG,MAAI,GAAG,MAAI,GAAG,MAAI,GAAG,MAAI,GAAG,MAAI,QAAO,GAAG,cAAY,IAAG,GAAG,iBAAe;AAAG,MAAM,KAAG,IAAG,KAAG,IAAG,KAAG,IAAG,KAAG,IAAG,KAAG,IAAI,WAAW,EAAE,GAAE,KAAG;AAAI,SAAS,GAAG7D,IAAE;AAAC,SAAOA,MAAG,IAAE,KAAG,EAAEA,MAAG;AAAE;AAAC,SAAS,GAAGA,IAAE6D,IAAE;AAAC,MAAI,IAAE;AAAE,SAAKA,KAAE,GAAEA,OAAI,EAAE,MAAG7D,KAAE,EAAE,IAAE6D,KAAG7D,KAAE,GAAGA,EAAC;AAAE,SAAO;AAAC;AAAC,MAAM,MAAI,MAAI;AAAC,QAAMA,KAAE,IAAI,WAAW,GAAG;AAAE,WAAQ6D,KAAE,GAAE,IAAE,GAAEA,KAAE,KAAIA,MAAI,KAAG,GAAG,CAAC,EAAE,CAAA7D,GAAE6D,EAAC,IAAE;AAAE,QAAMA,KAAE,IAAI,WAAW,GAAG;AAAE,EAAAA,GAAE,CAAC,IAAE;AAAG,WAAQ,IAAE,GAAE,IAAE,KAAI,KAAI;AAAC,QAAIxC,KAAErB,GAAE,MAAI,CAAC;AAAE,IAAAqB,MAAGA,MAAG,GAAEwC,GAAE7D,GAAE,CAAC,CAAC,IAAE,OAAKqB,KAAEA,MAAG,IAAEA,MAAG,IAAEA,MAAG,IAAEA,MAAG,IAAE;AAAA,EAAG;AAAC,aAAS,GAAG,OAAOrB,EAAC,GAAE6D;AAAC,GAAC,GAAI,KAAG,GAAG,KAAK,CAAC7D,IAAE6D,OAAI,GAAG,QAAQA,EAAC,EAAC,GAAG,KAAG,CAAA7D,OAAGA,MAAG,KAAGA,OAAI,GAAE,KAAG,CAAAA,OAAGA,MAAG,IAAEA,OAAI,IAAG,KAAG,CAAAA,OAAGA,MAAG,KAAG,aAAWA,MAAG,IAAE,WAASA,OAAI,IAAE,QAAMA,OAAI,KAAG;AAAI,SAAS,GAAGA,IAAE6D,IAAE;AAAC,MAAG,QAAM7D,GAAE,OAAO,OAAM,IAAI,MAAM,mBAAmB;AAAE,QAAM,IAAE,IAAI,YAAY,GAAG,EAAE,KAAK,CAACwE,IAAEnD,OAAIwC,GAAE7D,GAAEqB,EAAC,CAAC,EAAC,GAAGA,KAAE,EAAE,IAAI,EAAE,GAAE,IAAEA,GAAE,IAAI,EAAE,GAAE,IAAE,EAAE,IAAI,EAAE,GAAE,IAAE,IAAI,YAAY,KAAK,GAAE,IAAE,IAAI,YAAY,KAAK,GAAED,KAAE,IAAI,YAAY,KAAK;AAAE,WAAQyC,KAAE,GAAEA,KAAE,KAAIA,KAAI,UAAQjB,KAAE,GAAEA,KAAE,KAAIA,MAAI;AAAC,UAAMhC,KAAE,MAAIiD,KAAEjB;AAAE,MAAEhC,EAAC,IAAE,EAAEiD,EAAC,IAAExC,GAAEuB,EAAC,GAAE,EAAEhC,EAAC,IAAE,EAAEiD,EAAC,IAAE,EAAEjB,EAAC,GAAExB,GAAER,EAAC,IAAEZ,GAAE6D,EAAC,KAAG,IAAE7D,GAAE4C,EAAC;AAAA,EAAC;AAAC,SAAM,EAAC,MAAK5C,IAAE,OAAMoB,IAAE,IAAG,GAAE,IAAGC,IAAE,IAAG,GAAE,IAAG,GAAE,KAAI,GAAE,KAAI,EAAC;AAAC;AAAC,MAAM,KAAG,GAAG,KAAI,CAAArB,OAAG,GAAGA,IAAE,CAAC,KAAG,KAAGA,MAAG,KAAGA,MAAG,IAAE,GAAGA,IAAE,CAAC,EAAC,GAAG,KAAG,GAAG,KAAI,CAAAA,OAAG,GAAGA,IAAE,EAAE,KAAG,KAAG,GAAGA,IAAE,EAAE,KAAG,KAAG,GAAGA,IAAE,CAAC,KAAG,IAAE,GAAGA,IAAE,EAAE,KAAI,MAAI,MAAI;AAAC,QAAMA,KAAE,IAAI,WAAW,EAAE;AAAE,WAAQ6D,KAAE,GAAE,IAAE,GAAEA,KAAE,IAAGA,MAAI,IAAE,GAAG,CAAC,EAAE,CAAA7D,GAAE6D,EAAC,IAAE;AAAE,SAAO7D;AAAC,GAAC;AAAI,SAAS,GAAGA,IAAE;AAAC,GAAA,GAAG,GAAG,OAAOA,EAAC;AAAE,QAAM6D,KAAE7D,GAAE;AAAO,MAAG,CAAC,CAAC,IAAG,IAAG,EAAE,EAAE,SAAS6D,EAAC,EAAE,OAAM,IAAI,MAAM,qDAAqDA,EAAC,EAAE;AAAE,QAAK,EAAC,OAAM,EAAC,IAAE,IAAGxC,KAAE;AAAG,GAAA,GAAG,GAAG,aAAarB,EAAC,KAAGqB,GAAE,KAAKrB,MAAE,GAAG,GAAG,WAAWA,EAAC,CAAC;AAAE,QAAM,KAAE,GAAG,GAAG,KAAKA,EAAC,GAAE,IAAE,EAAE,QAAO,IAAE,CAAAA,OAAG,GAAG,GAAEA,IAAEA,IAAEA,IAAEA,EAAC,GAAE,IAAE,IAAI,YAAY6D,KAAE,EAAE;AAAE,IAAE,IAAI,CAAC;AAAE,WAAQ7D,KAAE,GAAEA,KAAE,EAAE,QAAOA,MAAI;AAAC,QAAI6D,KAAE,EAAE7D,KAAE,CAAC;AAAE,IAAAA,KAAE,KAAG,IAAE6D,KAAE,EAAE,GAAGA,EAAC,CAAC,IAAE,GAAG7D,KAAE,IAAE,CAAC,IAAE,IAAE,KAAGA,KAAE,KAAG,MAAI6D,KAAE,EAAEA,EAAC,IAAG,EAAE7D,EAAC,IAAE,EAAEA,KAAE,CAAC,IAAE6D;AAAA,EAAC;AAAC,aAAS,GAAG,OAAO,GAAGxC,EAAC,GAAE;AAAC;AAAC,SAAS,GAAGrB,IAAE;AAAC,QAAM6D,KAAE,GAAG7D,EAAC,GAAE,IAAE6D,GAAE,MAAK,GAAGxC,KAAEwC,GAAE,QAAO,EAAC,OAAM,EAAC,IAAE,IAAG,EAAC,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAGzC,GAAC,IAAE;AAAG,WAAQpB,KAAE,GAAEA,KAAEqB,IAAErB,MAAG,EAAE,UAAQyE,KAAE,GAAEA,KAAE,GAAEA,KAAI,GAAEzE,KAAEyE,EAAC,IAAEZ,GAAExC,KAAErB,KAAE,IAAEyE,EAAC;AAAE,MAAG,GAAG,OAAOZ,EAAC;AAAE,WAAQ7D,KAAE,GAAEA,KAAEqB,KAAE,GAAErB,MAAI;AAAC,UAAM6D,KAAE,EAAE7D,EAAC,GAAEqB,KAAE,GAAG,GAAEwC,IAAEA,IAAEA,IAAEA,EAAC;AAAE,MAAE7D,EAAC,IAAE,EAAE,MAAIqB,EAAC,IAAE,EAAEA,OAAI,IAAE,GAAG,IAAE,EAAEA,OAAI,KAAG,GAAG,IAAED,GAAEC,OAAI,EAAE;AAAA,EAAC;AAAC,SAAO;AAAC;AAAC,SAAS,GAAGrB,IAAE6D,IAAE,GAAExC,IAAE,GAAE,GAAE;AAAC,SAAOrB,GAAE,KAAG,IAAE,QAAMqB,OAAI,IAAE,GAAG,IAAEwC,GAAE,MAAI,IAAE,QAAM,MAAI,KAAG,GAAG;AAAC;AAAC,SAAS,GAAG7D,IAAE6D,IAAE,GAAExC,IAAE,GAAE;AAAC,SAAOrB,GAAE,MAAI6D,KAAE,QAAM,CAAC,IAAE7D,GAAEqB,OAAI,KAAG,MAAI,MAAI,KAAG,KAAK,KAAG;AAAE;AAAC,SAAS,GAAGrB,IAAE6D,IAAE,GAAExC,IAAE,GAAE;AAAC,QAAK,EAAC,OAAM,GAAE,KAAI,GAAE,KAAI,EAAC,IAAE;AAAG,MAAID,KAAE;AAAE,EAAAyC,MAAG7D,GAAEoB,IAAG,GAAE,KAAGpB,GAAEoB,IAAG,GAAEC,MAAGrB,GAAEoB,IAAG,GAAE,KAAGpB,GAAEoB,IAAG;AAAE,QAAMwB,KAAE5C,GAAE,SAAO,IAAE;AAAE,WAAQ0E,KAAE,GAAEA,KAAE9B,IAAE8B,MAAI;AAAC,UAAMA,KAAE1E,GAAEoB,IAAG,IAAE,GAAG,GAAE,GAAEyC,IAAE,GAAExC,IAAE,CAAC,GAAEuB,KAAE5C,GAAEoB,IAAG,IAAE,GAAG,GAAE,GAAE,GAAEC,IAAE,GAAEwC,EAAC,GAAEjD,KAAEZ,GAAEoB,IAAG,IAAE,GAAG,GAAE,GAAEC,IAAE,GAAEwC,IAAE,CAAC,GAAES,KAAEtE,GAAEoB,IAAG,IAAE,GAAG,GAAE,GAAE,GAAEyC,IAAE,GAAExC,EAAC;AAAE,IAAAwC,KAAEa,IAAE,IAAE9B,IAAEvB,KAAET,IAAE,IAAE0D;AAAA,EAAC;AAAC,SAAM,EAAC,IAAGtE,GAAEoB,IAAG,IAAE,GAAG,GAAEyC,IAAE,GAAExC,IAAE,CAAC,GAAE,IAAGrB,GAAEoB,IAAG,IAAE,GAAG,GAAE,GAAEC,IAAE,GAAEwC,EAAC,GAAE,IAAG7D,GAAEoB,IAAG,IAAE,GAAG,GAAEC,IAAE,GAAEwC,IAAE,CAAC,GAAE,IAAG7D,GAAEoB,IAAG,IAAE,GAAG,GAAE,GAAEyC,IAAE,GAAExC,EAAC,EAAC;AAAC;AAAC,SAAS,GAAGrB,IAAE6D,IAAE,GAAExC,IAAE,GAAE;AAAC,QAAK,EAAC,OAAM,GAAE,KAAI,GAAE,KAAI,EAAC,IAAE;AAAG,MAAID,KAAE;AAAE,EAAAyC,MAAG7D,GAAEoB,IAAG,GAAE,KAAGpB,GAAEoB,IAAG,GAAEC,MAAGrB,GAAEoB,IAAG,GAAE,KAAGpB,GAAEoB,IAAG;AAAE,QAAMwB,KAAE5C,GAAE,SAAO,IAAE;AAAE,WAAQ0E,KAAE,GAAEA,KAAE9B,IAAE8B,MAAI;AAAC,UAAMA,KAAE1E,GAAEoB,IAAG,IAAE,GAAG,GAAE,GAAEyC,IAAE,GAAExC,IAAE,CAAC,GAAEuB,KAAE5C,GAAEoB,IAAG,IAAE,GAAG,GAAE,GAAE,GAAEyC,IAAE,GAAExC,EAAC,GAAET,KAAEZ,GAAEoB,IAAG,IAAE,GAAG,GAAE,GAAEC,IAAE,GAAEwC,IAAE,CAAC,GAAES,KAAEtE,GAAEoB,IAAG,IAAE,GAAG,GAAE,GAAE,GAAEC,IAAE,GAAEwC,EAAC;AAAE,IAAAA,KAAEa,IAAE,IAAE9B,IAAEvB,KAAET,IAAE,IAAE0D;AAAA,EAAC;AAAC,SAAM,EAAC,IAAGtE,GAAEoB,IAAG,IAAE,GAAG,GAAEyC,IAAE,GAAExC,IAAE,CAAC,GAAE,IAAGrB,GAAEoB,IAAG,IAAE,GAAG,GAAE,GAAEyC,IAAE,GAAExC,EAAC,GAAE,IAAGrB,GAAEoB,IAAG,IAAE,GAAG,GAAEC,IAAE,GAAEwC,IAAE,CAAC,GAAE,IAAG7D,GAAEoB,IAAG,IAAE,GAAG,GAAE,GAAEC,IAAE,GAAEwC,EAAC,EAAC;AAAC;AAAC,SAAS,GAAG7D,IAAE6D,IAAE;AAAC,MAAG,WAASA,GAAE,QAAO,IAAI,WAAW7D,EAAC;AAAE,OAAG,GAAG,GAAG,OAAO6D,EAAC,GAAEA,GAAE,SAAO7D,GAAE,OAAM,IAAI,MAAM,oDAAoDA,EAAC,UAAU6D,GAAE,MAAM,EAAE;AAAE,MAAG,EAAC,GAAG,GAAG,aAAaA,EAAC,EAAE,OAAM,IAAI,MAAM,eAAe;AAAE,SAAOA;AAAC;AAAC,SAAS,GAAG7D,IAAE6D,IAAE,GAAExC,IAAE;AAAC,GAAA,GAAG,GAAG,OAAOwC,IAAE,EAAE,OAAK,GAAG,OAAO,CAAC;AAAE,QAAM,IAAE,EAAE;AAAO,EAAAxC,KAAE,GAAG,GAAEA,EAAC;AAAE,QAAM,IAAEwC,IAAE,KAAE,GAAG,GAAG,KAAK,CAAC;AAAE,MAAG,EAAC,IAAG,GAAE,IAAGzC,IAAE,IAAGwB,IAAE,IAAGhC,GAAC,IAAE,GAAGZ,IAAE,EAAE,CAAC,GAAE,EAAE,CAAC,GAAE,EAAE,CAAC,GAAE,EAAE,CAAC,CAAC;AAAE,QAAMsE,MAAE,GAAG,GAAG,KAAK,CAAC,GAAE3D,MAAE,GAAG,GAAG,KAAKU,EAAC;AAAE,WAAQwC,KAAE,GAAEA,KAAE,KAAGS,GAAE,QAAOT,MAAG,GAAE;AAAC,IAAAlD,GAAEkD,KAAE,CAAC,IAAES,GAAET,KAAE,CAAC,IAAE,GAAElD,GAAEkD,KAAE,CAAC,IAAES,GAAET,KAAE,CAAC,IAAEzC,IAAET,GAAEkD,KAAE,CAAC,IAAES,GAAET,KAAE,CAAC,IAAEjB,IAAEjC,GAAEkD,KAAE,CAAC,IAAES,GAAET,KAAE,CAAC,IAAEjD;AAAE,QAAI4D,KAAE;AAAE,aAAQxE,KAAE,EAAE,SAAO,GAAEA,MAAG,GAAEA,KAAI,CAAAwE,KAAEA,MAAG,MAAI,EAAExE,EAAC,KAAG,GAAE,EAAEA,EAAC,IAAE,MAAIwE,IAAEA,QAAK;AAAE,KAAC,EAAC,IAAG,GAAE,IAAGpD,IAAE,IAAGwB,IAAE,IAAGhC,GAAC,IAAE,GAAGZ,IAAE,EAAE,CAAC,GAAE,EAAE,CAAC,GAAE,EAAE,CAAC,GAAE,EAAE,CAAC,CAAC;AAAA,EAAE;AAAC,QAAMuE,KAAE,KAAG,KAAK,MAAMD,GAAE,SAAO,CAAC;AAAE,MAAGC,KAAE,GAAE;AAAC,UAAMvE,KAAE,IAAI,YAAY,CAAC,GAAEoB,IAAEwB,IAAEhC,EAAC,CAAC,GAAEiD,SAAK,GAAG,IAAI7D,EAAC;AAAE,aAAQA,KAAEuE,IAAEG,KAAE,GAAE1E,KAAE,GAAEA,MAAI0E,KAAI,CAAArD,GAAErB,EAAC,IAAE,EAAEA,EAAC,IAAE6D,GAAEa,EAAC;AAAE,KAAA,GAAG,GAAG,OAAO1E,EAAC;AAAA,EAAC;AAAC,SAAOqB;AAAC;AAAC,SAAS,GAAGrB,IAAE6D,IAAE,GAAExC,IAAE,GAAE;AAAC,GAAA,GAAG,GAAG,OAAO,GAAE,EAAE,IAAE,GAAG,GAAG,OAAOA,EAAC,GAAE,IAAE,GAAGA,GAAE,QAAO,CAAC;AAAE,QAAM,IAAE,GAAE,KAAE,GAAG,GAAG,KAAK,CAAC,GAAE,KAAE,GAAG,GAAG,YAAY,CAAC,GAAED,MAAE,GAAG,GAAG,KAAKC,EAAC,GAAEuB,MAAE,GAAG,GAAG,KAAK,CAAC,GAAEhC,KAAEiD,KAAE,IAAE,IAAGS,KAAEjD,GAAE;AAAO,MAAIV,KAAE,EAAE,UAAUC,IAAEiD,EAAC,GAAE,EAAC,IAAGU,IAAE,IAAGf,IAAE,IAAGzD,IAAE,IAAGW,GAAC,IAAE,GAAGV,IAAE,EAAE,CAAC,GAAE,EAAE,CAAC,GAAE,EAAE,CAAC,GAAE,EAAE,CAAC,CAAC;AAAE,WAAQwE,KAAE,GAAEA,KAAE,KAAGpD,GAAE,QAAOoD,MAAG,EAAE,CAAA5B,GAAE4B,KAAE,CAAC,IAAEpD,GAAEoD,KAAE,CAAC,IAAED,IAAE3B,GAAE4B,KAAE,CAAC,IAAEpD,GAAEoD,KAAE,CAAC,IAAEhB,IAAEZ,GAAE4B,KAAE,CAAC,IAAEpD,GAAEoD,KAAE,CAAC,IAAEzE,IAAE6C,GAAE4B,KAAE,CAAC,IAAEpD,GAAEoD,KAAE,CAAC,IAAE9D,IAAEC,KAAEA,KAAE,MAAI,GAAE,EAAE,UAAUC,IAAED,IAAEkD,EAAC,GAAG,EAAC,IAAGU,IAAE,IAAGf,IAAE,IAAGzD,IAAE,IAAGW,GAAC,IAAE,GAAGV,IAAE,EAAE,CAAC,GAAE,EAAE,CAAC,GAAE,EAAE,CAAC,GAAE,EAAE,CAAC,CAAC;AAAG,QAAMc,KAAE,KAAG,KAAK,MAAMM,GAAE,SAAO,CAAC;AAAE,MAAGN,KAAEwD,IAAE;AAAC,UAAMtE,KAAE,IAAI,YAAY,CAACuE,IAAEf,IAAEzD,IAAEW,EAAC,CAAC,GAAEmD,SAAK,GAAG,IAAI7D,EAAC;AAAE,aAAQA,KAAEc,IAAE0D,KAAE,GAAExE,KAAEsE,IAAEtE,MAAIwE,KAAI,GAAExE,EAAC,IAAEqB,GAAErB,EAAC,IAAE6D,GAAEW,EAAC;AAAE,KAAA,GAAG,GAAG,OAAOxE,EAAC;AAAA,EAAC;AAAC,SAAO;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,OAAG,GAAG,GAAG,OAAOA,EAAC,GAAEA,GAAE,SAAO,MAAI,EAAE,OAAM,IAAI,MAAM,wEAAwE;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE,GAAE;AAAC,GAAA,GAAG,GAAG,OAAO7D,EAAC;AAAE,MAAIqB,KAAErB,GAAE;AAAO,QAAM,IAAEqB,KAAE;AAAG,MAAG,CAACwC,MAAG,MAAI,EAAE,OAAM,IAAI,MAAM,yDAAyD;AAAE,MAAG,GAAG,aAAa7D,EAAC,MAAIA,MAAE,GAAG,GAAG,WAAWA,EAAC;AAAG,QAAM,KAAE,GAAG,GAAG,KAAKA,EAAC;AAAE,MAAG6D,IAAE;AAAC,QAAI7D,KAAE,KAAG;AAAE,IAAAA,OAAIA,KAAE,KAAIqB,MAAGrB;AAAA,EAAC;AAAC,QAAM,IAAE,GAAGqB,IAAE,CAAC;AAAE,SAAM,EAAC,GAAE,GAAE,IAAE,GAAG,GAAG,KAAK,CAAC,GAAE,KAAI,EAAC;AAAC;AAAC,SAAS,GAAGrB,IAAE6D,IAAE;AAAC,MAAG,CAACA,GAAE,QAAO7D;AAAE,QAAM,IAAEA,GAAE;AAAO,MAAG,CAAC,EAAE,OAAM,IAAI,MAAM,yCAAyC;AAAE,QAAMqB,KAAErB,GAAE,IAAE,CAAC;AAAE,MAAGqB,MAAG,KAAGA,KAAE,GAAG,OAAM,IAAI,MAAM,0BAA0B;AAAE,QAAM,IAAErB,GAAE,SAAS,GAAE,CAACqB,EAAC;AAAE,WAAQwC,KAAE,GAAEA,KAAExC,IAAEwC,KAAI,KAAG7D,GAAE,IAAE6D,KAAE,CAAC,MAAIxC,GAAE,OAAM,IAAI,MAAM,0BAA0B;AAAE,SAAO;AAAC;AAAC,SAAS,GAAGrB,IAAE;AAAC,QAAM6D,KAAE,IAAI,WAAW,EAAE,GAAE,KAAE,GAAG,GAAG,KAAKA,EAAC;AAAE,EAAAA,GAAE,IAAI7D,EAAC;AAAE,QAAMqB,KAAE,KAAGrB,GAAE;AAAO,WAAQA,KAAE,KAAGqB,IAAErB,KAAE,IAAGA,KAAI,CAAA6D,GAAE7D,EAAC,IAAEqB;AAAE,SAAO;AAAC;AAAC,SAAS,GAAGrB,IAAE6D,IAAE,GAAExC,IAAE,GAAE;AAAC,QAAM,IAAE,QAAM,IAAE,IAAE,EAAE,QAAO,IAAErB,GAAE,OAAO,GAAEqB,GAAE,SAAO,CAAC;AAAE,OAAG,EAAE,OAAO,CAAC,GAAE,EAAE,OAAOA,EAAC;AAAE,QAAM,IAAE,IAAI,WAAW,EAAE,GAAED,MAAE,GAAG,GAAG,YAAY,CAAC;AAAE,QAAG,GAAG,GAAG,cAAcA,IAAE,GAAE,OAAO,IAAE,CAAC,GAAEyC,EAAC,OAAK,GAAG,cAAczC,IAAE,GAAE,OAAO,IAAEC,GAAE,MAAM,GAAEwC,EAAC,GAAE,EAAE,OAAO,CAAC;AAAE,QAAMjB,KAAE,EAAE,OAAM;AAAG,aAAS,GAAG,OAAO,CAAC,GAAEA;AAAC;AAAC,GAAG,UAAO,GAAG,YAAY,EAAC,WAAU,IAAG,aAAY,GAAE,IAAG,SAAS5C,IAAE6D,IAAE;AAAC,WAAS,EAAEW,IAAEnD,IAAE;AAAC,SAAG,GAAG,GAAG,OAAOmD,EAAC,GAAE,WAASnD,QAAI,GAAG,GAAG,OAAOA,EAAC,GAAE,EAAC,GAAG,GAAG,aAAaA,EAAC,GAAG,OAAM,IAAI,MAAM,uBAAuB;AAAE,UAAM,IAAE,GAAGrB,EAAC,GAAE,KAAE,GAAG,GAAG,WAAW6D,EAAC,GAAE,IAAE,CAAC,GAAE,CAAC;AAAE,KAAA,GAAG,GAAG,aAAaW,EAAC,KAAG,EAAE,KAAKA,MAAE,GAAG,GAAG,WAAWA,EAAC,CAAC;AAAE,UAAM,IAAE,GAAG,GAAE,GAAEA,IAAEnD,EAAC;AAAE,YAAM,GAAG,GAAG,OAAO,GAAG,CAAC,GAAE;AAAA,EAAC;AAAC,UAAM,GAAG,GAAG,OAAOrB,EAAC,IAAE,GAAG,GAAG,OAAO6D,IAAE,EAAE,GAAE,EAAC,SAAQ,CAAC7D,IAAE6D,OAAI,EAAE7D,IAAE6D,EAAC,GAAE,SAAQ,CAAC7D,IAAE6D,OAAI,EAAE7D,IAAE6D,EAAC,EAAC;AAAC,EAAC,GAAG,GAAG,OAAI,GAAG,GAAG,YAAY,EAAC,WAAU,GAAE,IAAG,SAAS7D,IAAE6D,KAAE,CAAA,GAAG;AAAC,GAAA,GAAG,GAAG,OAAO7D,EAAC;AAAE,QAAM,IAAE,CAAC6D,GAAE;AAAe,SAAM,EAAC,QAAQA,IAAExC,IAAE;AAAC,UAAK,EAAC,GAAE,GAAE,GAAI,KAAI,EAAC,IAAE,GAAGwC,IAAE,GAAExC,EAAC,GAAE,IAAE,GAAGrB,EAAC;AAAE,QAAIoB,KAAE;AAAE,WAAKA,KAAE,KAAG,EAAE,UAAQ;AAAC,YAAK,EAAC,IAAGpB,IAAE,IAAG6D,IAAE,IAAGW,IAAE,IAAGnD,GAAC,IAAE,GAAG,GAAE,EAAED,KAAE,CAAC,GAAE,EAAEA,KAAE,CAAC,GAAE,EAAEA,KAAE,CAAC,GAAE,EAAEA,KAAE,CAAC,CAAC;AAAE,QAAEA,IAAG,IAAEpB,IAAE,EAAEoB,IAAG,IAAEyC,IAAE,EAAEzC,IAAG,IAAEoD,IAAE,EAAEpD,IAAG,IAAEC;AAAA,IAAC;AAAC,QAAG,GAAE;AAAC,YAAMrB,KAAE,GAAG6D,GAAE,SAAS,IAAEzC,EAAC,CAAC,GAAE,EAAC,IAAGoD,IAAE,IAAGnD,IAAE,IAAGoD,IAAE,IAAGE,GAAC,IAAE,GAAG,GAAE3E,GAAE,CAAC,GAAEA,GAAE,CAAC,GAAEA,GAAE,CAAC,GAAEA,GAAE,CAAC,CAAC;AAAE,QAAEoB,IAAG,IAAEoD,IAAE,EAAEpD,IAAG,IAAEC,IAAE,EAAED,IAAG,IAAEqD,IAAE,EAAErD,IAAG,IAAEuD;AAAA,IAAC;AAAC,YAAM,GAAG,GAAG,OAAO,CAAC,GAAE;AAAA,EAAC,GAAE,QAAQd,IAAExC,IAAE;AAAC,OAAGwC,EAAC;AAAE,UAAM,IAAE,GAAG7D,EAAC,GAAE,IAAE,GAAG6D,GAAE,QAAOxC,EAAC,GAAE,IAAE,CAAC,CAAC;AAAE,KAAA,GAAG,GAAG,aAAawC,EAAC,KAAG,EAAE,KAAKA,MAAE,GAAG,GAAG,WAAWA,EAAC,CAAC;AAAE,UAAM,KAAE,GAAG,GAAG,KAAKA,EAAC,GAAEzC,MAAE,GAAG,GAAG,KAAK,CAAC;AAAE,aAAQpB,KAAE,GAAEA,KAAE,KAAG,EAAE,UAAQ;AAAC,YAAK,EAAC,IAAG6D,IAAE,IAAGW,IAAE,IAAGnD,IAAE,IAAGqD,GAAC,IAAE,GAAG,GAAE,EAAE1E,KAAE,CAAC,GAAE,EAAEA,KAAE,CAAC,GAAE,EAAEA,KAAE,CAAC,GAAE,EAAEA,KAAE,CAAC,CAAC;AAAE,MAAAoB,GAAEpB,IAAG,IAAE6D,IAAEzC,GAAEpB,IAAG,IAAEwE,IAAEpD,GAAEpB,IAAG,IAAEqB,IAAED,GAAEpB,IAAG,IAAE0E;AAAA,IAAC;AAAC,YAAM,GAAG,GAAG,OAAO,GAAG,CAAC,GAAE,GAAG,GAAE,CAAC;AAAA,EAAC,EAAC;AAAC,EAAC,GAAG,GAAG,OAAI,GAAG,GAAG,YAAY,EAAC,WAAU,IAAG,aAAY,GAAE,IAAG,SAAS1E,IAAE6D,IAAE,IAAE,CAAA,GAAG;AAAC,GAAA,GAAG,GAAG,OAAO7D,EAAC,OAAK,GAAG,OAAO6D,IAAE,EAAE;AAAE,QAAMxC,KAAE,CAAC,EAAE;AAAe,SAAM,EAAC,QAAQmD,IAAE,GAAE;AAAC,UAAM,IAAE,GAAGxE,EAAC,GAAE,EAAC,GAAE,GAAE,GAAE,GAAE,KAAIoB,GAAC,IAAE,GAAGoD,IAAEnD,IAAE,CAAC;AAAE,QAAIuB,KAAEiB;AAAE,UAAMjD,KAAE,CAAC,CAAC;AAAE,QAAG,GAAG,aAAagC,EAAC,KAAGhC,GAAE,KAAKgC,SAAK,GAAG,WAAWA,EAAC,CAAC;AAAE,UAAM0B,MAAE,GAAG,GAAG,KAAK1B,EAAC;AAAE,QAAIjC,KAAE2D,GAAE,CAAC,GAAEC,KAAED,GAAE,CAAC,GAAEd,KAAEc,GAAE,CAAC,GAAEvE,KAAEuE,GAAE,CAAC,GAAE5D,KAAE;AAAE,WAAKA,KAAE,KAAG,EAAE,SAAQ,CAAAC,MAAG,EAAED,KAAE,CAAC,GAAE6D,MAAG,EAAE7D,KAAE,CAAC,GAAE8C,MAAG,EAAE9C,KAAE,CAAC,GAAEX,MAAG,EAAEW,KAAE,CAAC,GAAG,EAAC,IAAGC,IAAE,IAAG4D,IAAE,IAAGf,IAAE,IAAGzD,GAAC,IAAE,GAAG,GAAEY,IAAE4D,IAAEf,IAAEzD,EAAC,GAAG,EAAEW,IAAG,IAAEC,IAAE,EAAED,IAAG,IAAE6D,IAAE,EAAE7D,IAAG,IAAE8C,IAAE,EAAE9C,IAAG,IAAEX;AAAE,QAAGsB,IAAE;AAAC,YAAMrB,KAAE,GAAGwE,GAAE,SAAS,IAAE9D,EAAC,CAAC;AAAE,MAAAC,MAAGX,GAAE,CAAC,GAAEuE,MAAGvE,GAAE,CAAC,GAAEwD,MAAGxD,GAAE,CAAC,GAAED,MAAGC,GAAE,CAAC,GAAG,EAAC,IAAGW,IAAE,IAAG4D,IAAE,IAAGf,IAAE,IAAGzD,GAAC,IAAE,GAAG,GAAEY,IAAE4D,IAAEf,IAAEzD,EAAC,GAAG,EAAEW,IAAG,IAAEC,IAAE,EAAED,IAAG,IAAE6D,IAAE,EAAE7D,IAAG,IAAE8C,IAAE,EAAE9C,IAAG,IAAEX;AAAA,IAAC;AAAC,YAAM,GAAG,GAAG,OAAO,GAAGa,EAAC,GAAEQ;AAAA,EAAC,GAAE,QAAQoD,IAAE,GAAE;AAAC,OAAGA,EAAC;AAAE,UAAM,IAAE,GAAGxE,EAAC;AAAE,QAAI,IAAE6D;AAAE,UAAM,IAAE,CAAC,CAAC;AAAE,KAAA,GAAG,GAAG,aAAa,CAAC,KAAG,EAAE,KAAK,KAAE,GAAG,GAAG,WAAW,CAAC,CAAC;AAAE,UAAMzC,MAAE,GAAG,GAAG,KAAK,CAAC,GAAEwB,KAAE,GAAG4B,GAAE,QAAO,CAAC;AAAE,KAAA,GAAG,GAAG,aAAaA,EAAC,KAAG,EAAE,KAAKA,MAAE,GAAG,GAAG,WAAWA,EAAC,CAAC;AAAE,UAAM5D,MAAE,GAAG,GAAG,KAAK4D,EAAC,GAAEF,MAAE,GAAG,GAAG,KAAK1B,EAAC;AAAE,QAAIjC,KAAES,GAAE,CAAC,GAAEmD,KAAEnD,GAAE,CAAC,GAAEoC,KAAEpC,GAAE,CAAC,GAAErB,KAAEqB,GAAE,CAAC;AAAE,aAAQpB,KAAE,GAAEA,KAAE,KAAGY,GAAE,UAAQ;AAAC,YAAMiD,KAAElD,IAAE6D,KAAED,IAAElD,KAAEmC,IAAEiB,KAAE1E;AAAE,MAAAY,KAAEC,GAAEZ,KAAE,CAAC,GAAEuE,KAAE3D,GAAEZ,KAAE,CAAC,GAAEwD,KAAE5C,GAAEZ,KAAE,CAAC,GAAED,KAAEa,GAAEZ,KAAE,CAAC;AAAE,YAAK,EAAC,IAAG2E,IAAE,IAAGC,IAAE,IAAGxD,IAAE,IAAGwB,GAAC,IAAE,GAAG,GAAEjC,IAAE4D,IAAEf,IAAEzD,EAAC;AAAE,MAAAuE,GAAEtE,IAAG,IAAE2E,KAAEd,IAAES,GAAEtE,IAAG,IAAE4E,KAAEJ,IAAEF,GAAEtE,IAAG,IAAEoB,KAAEC,IAAEiD,GAAEtE,IAAG,IAAE4C,KAAE6B;AAAA,IAAC;AAAC,YAAM,GAAG,GAAG,OAAO,GAAG,CAAC,GAAE,GAAG7B,IAAEvB,EAAC;AAAA,EAAC,EAAC;AAAC,EAAC,GAAG,GAAG,OAAI,GAAG,GAAG,YAAY,EAAC,WAAU,IAAG,aAAY,GAAE,IAAG,SAASrB,IAAE6D,IAAE;AAAC,WAAS,EAAEW,IAAEnD,IAAE,GAAE;AAAC,KAAA,GAAG,GAAG,OAAOmD,EAAC;AAAE,UAAM,IAAEA,GAAE;AAAO,QAAE,GAAG,GAAE,CAAC;AAAE,UAAM,IAAE,GAAGxE,EAAC;AAAE,QAAI,IAAE6D;AAAE,UAAMzC,KAAE,CAAC,CAAC;AAAE,KAAA,GAAG,GAAG,aAAa,CAAC,KAAGA,GAAE,KAAK,KAAE,GAAG,GAAG,WAAW,CAAC,CAAC,IAAE,GAAG,GAAG,aAAaoD,EAAC,KAAGpD,GAAE,KAAKoD,MAAE,GAAG,GAAG,WAAWA,EAAC,CAAC;AAAE,UAAM5B,MAAE,GAAG,GAAG,KAAK4B,EAAC,GAAE5D,SAAK,GAAG,KAAK,CAAC,GAAE0D,KAAEjD,KAAET,KAAEgC,IAAEjC,MAAE,GAAG,GAAG,KAAK,CAAC;AAAE,QAAI4D,KAAE5D,GAAE,CAAC,GAAE6C,KAAE7C,GAAE,CAAC,GAAEZ,KAAEY,GAAE,CAAC,GAAED,KAAEC,GAAE,CAAC;AAAE,aAAQX,KAAE,GAAEA,KAAE,KAAG4C,GAAE,UAAQ;AAAC,YAAK,EAAC,IAAGiB,IAAE,IAAGW,IAAE,IAAGnD,IAAE,IAAGoD,GAAC,IAAE,GAAG,GAAEF,IAAEf,IAAEzD,IAAEW,EAAC;AAAE,MAAAE,GAAEZ,KAAE,CAAC,IAAE4C,GAAE5C,KAAE,CAAC,IAAE6D,IAAEjD,GAAEZ,KAAE,CAAC,IAAE4C,GAAE5C,KAAE,CAAC,IAAEwE,IAAE5D,GAAEZ,KAAE,CAAC,IAAE4C,GAAE5C,KAAE,CAAC,IAAEqB,IAAET,GAAEZ,KAAE,CAAC,IAAE4C,GAAE5C,KAAE,CAAC,IAAEyE,IAAEF,KAAED,GAAEtE,IAAG,GAAEwD,KAAEc,GAAEtE,IAAG,GAAED,KAAEuE,GAAEtE,IAAG,GAAEU,KAAE4D,GAAEtE,IAAG;AAAA,IAAC;AAAC,UAAMc,KAAE,KAAG,KAAK,MAAM8B,GAAE,SAAO,CAAC;AAAE,QAAG9B,KAAE,GAAE;AAAC,OAAC,EAAC,IAAGyD,IAAE,IAAGf,IAAE,IAAGzD,IAAE,IAAGW,GAAC,IAAE,GAAG,GAAE6D,IAAEf,IAAEzD,IAAEW,EAAC;AAAG,YAAMV,MAAE,GAAG,GAAG,IAAI,IAAI,YAAY,CAACuE,IAAEf,IAAEzD,IAAEW,EAAC,CAAC,CAAC;AAAE,eAAQmD,KAAE/C,IAAEO,KAAE,GAAEwC,KAAE,GAAEA,MAAIxC,KAAI,GAAEwC,EAAC,IAAEW,GAAEX,EAAC,IAAE7D,GAAEqB,EAAC;AAAE,OAAA,GAAG,GAAG,OAAOrB,EAAC;AAAA,IAAC;AAAC,YAAM,GAAG,GAAG,OAAO,GAAGoB,EAAC,GAAE;AAAA,EAAC;AAAC,aAAS,GAAG,OAAOpB,EAAC,IAAE,GAAG,GAAG,OAAO6D,IAAE,EAAE,GAAE,EAAC,SAAQ,CAAC7D,IAAE6D,OAAI,EAAE7D,IAAE,MAAG6D,EAAC,GAAE,SAAQ,CAAC7D,IAAE6D,OAAI,EAAE7D,IAAE,OAAG6D,EAAC,EAAC;AAAC,EAAC,GAAG,GAAG,OAAI,GAAG,GAAG,YAAY,EAAC,WAAU,IAAG,aAAY,IAAG,WAAU,GAAE,IAAG,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,OAAG,GAAG,GAAG,OAAO7D,EAAC,IAAE,GAAG,GAAG,OAAO6D,EAAC,GAAE,WAAS,MAAG,GAAG,GAAG,OAAO,CAAC,GAAEA,GAAE,SAAO,EAAE,OAAM,IAAI,MAAM,+BAA+B;AAAE,QAAMxC,KAAE;AAAG,WAAS,EAAErB,IAAE6D,IAAExC,IAAE;AAAC,UAAMoD,KAAE,GAAG,GAAG,OAAM,OAAGzE,IAAEqB,IAAE,CAAC;AAAE,aAAQrB,KAAE,GAAEA,KAAE6D,GAAE,QAAO7D,KAAI,CAAAyE,GAAEzE,EAAC,KAAG6D,GAAE7D,EAAC;AAAE,WAAOyE;AAAA,EAAC;AAAC,WAAS,IAAG;AAAC,UAAMD,KAAE,GAAGxE,EAAC,GAAEqB,KAAE,GAAG,SAAQoD,KAAE,GAAG,MAAK;AAAG,QAAG,GAAGD,IAAE,OAAGC,IAAEA,IAAEpD,EAAC,GAAE,OAAKwC,GAAE,OAAO,CAAAY,GAAE,IAAIZ,EAAC;AAAA,SAAM;AAAC,YAAM7D,KAAE,GAAG,MAAK,GAAGwE,MAAE,GAAG,GAAG,YAAYxE,EAAC;AAAE,UAAG,GAAG,cAAcwE,IAAE,GAAE,OAAO,IAAEX,GAAE,MAAM,GAAE,KAAE;AAAE,YAAMa,KAAE,GAAG,MAAM,OAAOrD,EAAC,EAAE,OAAOwC,EAAC,EAAE,OAAO7D,EAAC;AAAE,MAAA0E,GAAE,WAAWD,EAAC,GAAEC,GAAE,QAAO;AAAA,IAAE;AAAC,WAAM,EAAC,IAAGF,IAAE,SAAQnD,IAAE,SAAQoD,IAAE,SAAQ,GAAGD,IAAE,OAAGC,IAAE,EAAE,EAAC;AAAA,EAAC;AAAC,SAAM,EAAC,QAAQzE,IAAE;AAAC,KAAA,GAAG,GAAG,OAAOA,EAAC;AAAE,UAAK,EAAC,IAAG6D,IAAE,SAAQW,IAAE,SAAQ,GAAE,SAAQ,EAAC,IAAE,EAAC,GAAGpD,KAAE,IAAI,WAAWpB,GAAE,SAAOqB,EAAC,GAAEuB,KAAE,CAACiB,IAAEW,IAAE,GAAE,CAAC;AAAE,KAAA,GAAG,GAAG,aAAaxE,EAAC,KAAG4C,GAAE,KAAK5C,MAAE,GAAG,GAAG,WAAWA,EAAC,CAAC,GAAE,GAAG6D,IAAE,OAAG,GAAE7D,IAAEoB,EAAC;AAAE,UAAMR,KAAE,EAAE4D,IAAE,GAAEpD,GAAE,SAAS,GAAEA,GAAE,SAAOC,EAAC,CAAC;AAAE,WAAOuB,GAAE,KAAKhC,EAAC,GAAEQ,GAAE,IAAIR,IAAEZ,GAAE,MAAM,IAAE,GAAG,GAAG,OAAO,GAAG4C,EAAC,GAAExB;AAAA,EAAC,GAAE,QAAQpB,IAAE;AAAC,SAAG,GAAG,GAAG,OAAOA,EAAC,GAAEA,GAAE,SAAOqB,GAAE,OAAM,IAAI,MAAM,2CAA2C;AAAE,UAAK,EAAC,IAAGwC,IAAE,SAAQW,IAAE,SAAQ,GAAE,SAAQ,EAAC,IAAE,EAAC,GAAGpD,KAAE,CAACyC,IAAEW,IAAE,GAAE,CAAC;AAAE,KAAA,GAAG,GAAG,aAAaxE,EAAC,KAAGoB,GAAE,KAAKpB,SAAK,GAAG,WAAWA,EAAC,CAAC;AAAE,UAAM4C,KAAE5C,GAAE,SAAS,GAAE,GAAG,GAAEY,KAAEZ,GAAE,SAAS,GAAG,GAAEsE,KAAE,EAAEE,IAAE,GAAE5B,EAAC;AAAE,QAAGxB,GAAE,KAAKkD,EAAC,GAAE,EAAC,GAAG,GAAG,YAAYA,IAAE1D,EAAC,EAAE,OAAM,IAAI,MAAM,4BAA4B;AAAE,UAAMD,KAAE,GAAGkD,IAAE,OAAG,GAAEjB,EAAC;AAAE,YAAM,GAAG,GAAG,OAAO,GAAGxB,EAAC,GAAET;AAAA,EAAC,EAAC;AAAC,EAAC;AAAG,MAAM,KAAG,CAACX,IAAE6D,IAAE,MAAI,CAAAxC,OAAG;AAAC,MAAG,CAAC,OAAO,cAAcA,EAAC,KAAGwC,KAAExC,MAAGA,KAAE,EAAE,OAAM,IAAI,MAAM,GAAGrB,EAAC,mBAAmBqB,EAAC,cAAcwC,EAAC,KAAK,CAAC,GAAG;AAAC;AAAE,SAAS,GAAG7D,IAAE;AAAC,SAAO,QAAMA,MAAG,YAAU,OAAOA,OAAIA,cAAa,eAAa,kBAAgBA,GAAE,YAAY;AAAK;AAAC,SAAS,GAAGA,IAAE6D,IAAE;AAAC,OAAG,GAAG,GAAG,OAAOA,IAAE,EAAE,GAAE,CAAC,GAAG7D,EAAC,EAAE,OAAM,IAAI,MAAM,6CAA6C;AAAE,QAAM,KAAE,GAAG,GAAG,KAAK6D,EAAC;AAAE,MAAG,EAAC,IAAGxC,IAAE,IAAG,GAAE,IAAG,GAAE,IAAG,EAAC,IAAE,GAAGrB,IAAE,EAAE,CAAC,GAAE,EAAE,CAAC,GAAE,EAAE,CAAC,GAAE,EAAE,CAAC,CAAC;AAAE,SAAO,EAAE,CAAC,IAAEqB,IAAE,EAAE,CAAC,IAAE,GAAE,EAAE,CAAC,IAAE,GAAE,EAAE,CAAC,IAAE,GAAEwC;AAAC;AAAC,SAAS,GAAG7D,IAAE6D,IAAE;AAAC,UAAM,GAAG,OAAOA,IAAE,EAAE,GAAE,CAAC,GAAG7D,EAAC,EAAE,OAAM,IAAI,MAAM,6CAA6C;AAAE,QAAM,KAAE,GAAG,GAAG,KAAK6D,EAAC;AAAE,MAAG,EAAC,IAAGxC,IAAE,IAAG,GAAE,IAAG,GAAE,IAAG,EAAC,IAAE,GAAGrB,IAAE,EAAE,CAAC,GAAE,EAAE,CAAC,GAAE,EAAE,CAAC,GAAE,EAAE,CAAC,CAAC;AAAE,SAAO,EAAE,CAAC,IAAEqB,IAAE,EAAE,CAAC,IAAE,GAAE,EAAE,CAAC,IAAE,GAAE,EAAE,CAAC,IAAE,GAAEwC;AAAC;AAAC,GAAG,OAAI,GAAG,GAAG,YAAY,EAAC,WAAU,IAAG,aAAY,IAAG,WAAU,GAAE,IAAG,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,QAAMxC,KAAE,GAAG,OAAM,GAAE,KAAG,EAAE,GAAE,IAAE,GAAG,aAAY,GAAE,KAAG,EAAE,GAAE,IAAE,GAAG,SAAQ,IAAG,EAAE,GAAE,IAAE,GAAG,cAAa,IAAG,KAAG,KAAG,EAAE;AAAE,WAAS,IAAG;AAAC,UAAMmD,KAAE,GAAGxE,EAAC,GAAEqB,KAAE,IAAI,WAAWrB,GAAE,MAAM,GAAEyE,KAAE,IAAI,WAAW,EAAE,GAAEC,KAAE,CAACF,IAAEnD,EAAC;AAAE,QAAIsD,KAAEd;AAAE,KAAA,GAAG,GAAG,aAAac,EAAC,KAAGD,GAAE,KAAKC,MAAE,GAAG,GAAG,WAAWA,EAAC,CAAC;AAAE,UAAMC,MAAE,GAAG,GAAG,KAAKD,EAAC;AAAE,QAAIvD,KAAE,GAAEwB,KAAEgC,GAAE,CAAC,GAAEhE,KAAEgE,GAAE,CAAC,GAAEN,KAAEM,GAAE,CAAC,GAAEjE,KAAE;AAAE,eAAUX,MAAI,CAACyE,IAAEpD,EAAC,EAAE,IAAI,GAAG,GAAG,GAAE;AAAC,YAAMwC,MAAE,GAAG,GAAG,KAAK7D,EAAC;AAAE,eAAQA,KAAE,GAAEA,KAAE6D,GAAE,QAAO7D,MAAG,GAAE;AAAC,cAAK,EAAC,IAAGqB,IAAE,IAAGoD,GAAC,IAAE,GAAGD,IAAEpD,IAAEwB,IAAEhC,IAAE0D,EAAC;AAAE,QAAAT,GAAE7D,KAAE,CAAC,IAAEqB,IAAEwC,GAAE7D,KAAE,CAAC,IAAEyE,IAAErD,KAAE,EAAET;AAAA,MAAC;AAAA,IAAC;AAAC,UAAM4D,KAAE,EAAC,SAAQE,IAAE,QAAO,GAAGpD,EAAC,EAAC;AAAE,YAAM,GAAG,GAAG,OAAO,GAAGqD,EAAC,GAAEH;AAAA,EAAC;AAAC,WAASnD,GAAEpB,IAAEqB,IAAEoD,IAAE;AAAC,UAAMC,KAAE,GAAG,GAAG,SAAQ,MAAGrD,IAAEoD,IAAE,CAAC;AAAE,aAAQzE,KAAE,GAAEA,KAAE,IAAGA,KAAI,CAAA0E,GAAE1E,EAAC,KAAG6D,GAAE7D,EAAC;AAAE,IAAA0E,GAAE,EAAE,KAAG;AAAI,UAAMC,MAAE,GAAG,GAAG,KAAKD,EAAC;AAAE,QAAIE,KAAED,GAAE,CAAC,GAAEvD,KAAEuD,GAAE,CAAC,GAAE/B,KAAE+B,GAAE,CAAC,GAAE/D,KAAE+D,GAAE,CAAC;AAAE,WAAO,EAAC,IAAGC,IAAE,IAAGxD,IAAE,IAAGwB,IAAE,IAAGhC,GAAC,IAAE,GAAGZ,IAAE4E,IAAExD,IAAEwB,IAAEhC,EAAC,GAAG+D,GAAE,CAAC,IAAEC,IAAED,GAAE,CAAC,IAAEvD,IAAEuD,GAAE,CAAC,IAAE/B,IAAE+B,GAAE,CAAC,IAAE/D,IAAE8D;AAAA,EAAC;AAAC,WAAS9B,GAAE5C,IAAE6D,IAAEW,IAAE;AAAC,QAAInD,MAAE,GAAG,GAAG,WAAWwC,EAAC;AAAE,IAAAxC,GAAE,EAAE,KAAG;AAAI,UAAMoD,KAAE,GAAGzE,IAAE,MAAGqB,IAAEmD,EAAC;AAAE,YAAM,GAAG,GAAG,OAAOnD,EAAC,GAAEoD;AAAA,EAAC;AAAC,UAAM,GAAG,GAAG,OAAOzE,IAAE,IAAG,IAAG,EAAE,IAAE,GAAG,GAAG,OAAO6D,EAAC,GAAE,EAAEA,GAAE,MAAM,GAAE,WAAS,OAAI,GAAG,GAAG,OAAO,CAAC,GAAExC,GAAE,EAAE,MAAM,IAAG,EAAC,QAAQrB,IAAE;AAAC,KAAA,GAAG,GAAG,OAAOA,EAAC,GAAE,EAAEA,GAAE,MAAM;AAAE,UAAK,EAAC,QAAO6D,IAAE,SAAQW,GAAC,IAAE,KAAInD,KAAED,GAAEyC,IAAEW,IAAExE,EAAC,GAAE0E,KAAE,CAACb,IAAEW,IAAEnD,EAAC;AAAE,KAAA,GAAG,GAAG,aAAarB,EAAC,KAAG0E,GAAE,KAAK1E,SAAK,GAAG,WAAWA,EAAC,CAAC;AAAE,UAAM2E,KAAE,IAAI,WAAW3E,GAAE,SAAO,EAAE;AAAE,WAAO2E,GAAE,IAAItD,IAAErB,GAAE,MAAM,GAAE2E,GAAE,IAAI/B,GAAEiB,IAAExC,IAAErB,EAAC,CAAC,IAAE,GAAG,GAAG,OAAO,GAAG0E,EAAC,GAAEC;AAAA,EAAC,GAAE,QAAQ3E,IAAE;AAAC,QAAG,GAAG,OAAOA,EAAC,GAAE,EAAEA,GAAE,MAAM;AAAE,UAAM6D,KAAE7D,GAAE,SAAS,GAAG,GAAE,EAAC,QAAOwE,IAAE,SAAQnD,GAAC,IAAE,EAAC,GAAGoD,KAAE,CAACD,IAAEnD,EAAC;AAAE,KAAA,GAAG,GAAG,aAAarB,EAAC,KAAGyE,GAAE,KAAKzE,MAAE,GAAG,GAAG,WAAWA,EAAC,CAAC;AAAE,UAAM0E,KAAE9B,GAAE4B,IAAEX,IAAE7D,GAAE,SAAS,GAAE,GAAG,CAAC,GAAEY,KAAEQ,GAAEoD,IAAEnD,IAAEqD,EAAC;AAAE,QAAGD,GAAE,KAAK7D,EAAC,GAAE,EAAC,GAAG,GAAG,YAAYiD,IAAEjD,EAAC,EAAE,QAAK,GAAG,GAAG,OAAO,GAAG6D,EAAC,GAAE,IAAI,MAAM,qBAAqB;AAAE,YAAM,GAAG,GAAG,OAAO,GAAGA,EAAC,GAAEC;AAAA,EAAC,EAAC;AAAC,EAAC;AAAG,MAAM,KAAG,EAAC,QAAQ1E,IAAE6D,IAAE;AAAC,MAAGA,GAAE,UAAQ,KAAG,GAAG,OAAM,IAAI,MAAM,mCAAmC;AAAE,QAAM,IAAE,GAAG7D,EAAC;AAAE,MAAG,OAAK6D,GAAE,OAAO,IAAG,GAAEA,EAAC;AAAA,OAAM;AAAC,UAAM7D,MAAE,GAAG,GAAG,KAAK6D,EAAC;AAAE,QAAIxC,KAAErB,GAAE,CAAC,GAAE,IAAEA,GAAE,CAAC;AAAE,aAAQ6D,KAAE,GAAE,IAAE,GAAEA,KAAE,GAAEA,KAAI,UAAQA,KAAE,GAAEA,KAAE7D,GAAE,QAAO6D,MAAG,GAAE,KAAI;AAAC,YAAK,EAAC,IAAG,GAAE,IAAG,GAAE,IAAGzC,IAAE,IAAGwB,GAAC,IAAE,GAAG,GAAEvB,IAAE,GAAErB,GAAE6D,EAAC,GAAE7D,GAAE6D,KAAE,CAAC,CAAC;AAAE,MAAAxC,KAAE,GAAE,IAAE,IAAE,GAAG,CAAC,GAAErB,GAAE6D,EAAC,IAAEzC,IAAEpB,GAAE6D,KAAE,CAAC,IAAEjB;AAAA,IAAC;AAAC,IAAA5C,GAAE,CAAC,IAAEqB,IAAErB,GAAE,CAAC,IAAE;AAAA,EAAC;AAAC,IAAE,KAAK,CAAC;AAAC,GAAE,QAAQA,IAAE6D,IAAE;AAAC,MAAGA,GAAE,SAAO,KAAG,KAAG,GAAG,OAAM,IAAI,MAAM,oCAAoC;AAAE,QAAM,IAAE,GAAG7D,EAAC,GAAEqB,KAAEwC,GAAE,SAAO,IAAE;AAAE,MAAG,MAAIxC,GAAE,IAAG,GAAEwC,EAAC;AAAA,OAAM;AAAC,UAAM7D,MAAE,GAAG,GAAG,KAAK6D,EAAC;AAAE,QAAI,IAAE7D,GAAE,CAAC,GAAE,IAAEA,GAAE,CAAC;AAAE,aAAQ6D,KAAE,GAAE,IAAE,IAAExC,IAAEwC,KAAE,GAAEA,KAAI,UAAQA,KAAE,IAAExC,IAAEwC,MAAG,GAAEA,MAAG,GAAE,KAAI;AAAC,WAAG,GAAG,CAAC;AAAE,YAAK,EAAC,IAAGxC,IAAE,IAAG,GAAE,IAAGD,IAAE,IAAGwB,GAAC,IAAE,GAAG,GAAE,GAAE,GAAE5C,GAAE6D,EAAC,GAAE7D,GAAE6D,KAAE,CAAC,CAAC;AAAE,UAAExC,IAAE,IAAE,GAAErB,GAAE6D,EAAC,IAAEzC,IAAEpB,GAAE6D,KAAE,CAAC,IAAEjB;AAAA,IAAC;AAAC,IAAA5C,GAAE,CAAC,IAAE,GAAEA,GAAE,CAAC,IAAE;AAAA,EAAC;AAAC,IAAE,KAAK,CAAC;AAAC,EAAC,GAAE,KAAG,IAAI,WAAW,CAAC,EAAE,KAAK,GAAG;AAAE,GAAG,SAAM,GAAG,GAAG,YAAY,EAAC,WAAU,EAAC,IAAG,CAAAA,QAAI,EAAC,QAAQ6D,IAAE;AAAC,OAAG,GAAG,GAAG,OAAOA,EAAC,GAAE,CAACA,GAAE,UAAQA,GAAE,SAAO,KAAG,EAAE,OAAM,IAAI,MAAM,0BAA0B;AAAE,MAAG,MAAIA,GAAE,OAAO,OAAM,IAAI,MAAM,sDAAsD;AAAE,QAAM,KAAE,GAAG,GAAG,aAAa,IAAGA,EAAC;AAAE,SAAO,GAAG,QAAQ7D,IAAE,CAAC,GAAE;AAAC,GAAE,QAAQ6D,IAAE;AAAC,UAAM,GAAG,OAAOA,EAAC,GAAEA,GAAE,SAAO,KAAG,KAAGA,GAAE,SAAO,GAAG,OAAM,IAAI,MAAM,2BAA2B;AAAE,QAAM,KAAE,GAAG,GAAG,WAAWA,EAAC;AAAE,MAAG,GAAG,QAAQ7D,IAAE,CAAC,GAAE,KAAI,GAAG,YAAY,EAAE,SAAS,GAAE,CAAC,GAAE,EAAE,EAAE,OAAM,IAAI,MAAM,wBAAwB;AAAE,SAAO,EAAE,SAAS,GAAE,CAAC,EAAE,KAAK,CAAC,GAAE,EAAE,SAAS,CAAC;AAAC,EAAC,GAAE;AAAG,MAAM,KAAG;AAAW,GAAG,UAAO,GAAG,GAAG,YAAY,EAAC,WAAU,EAAC,IAAG,CAAAA,QAAI,EAAC,QAAQ6D,IAAE;AAAC,OAAG,GAAG,GAAG,OAAOA,EAAC,GAAE,CAACA,GAAE,OAAO,OAAM,IAAI,MAAM,0BAA0B;AAAE,QAAM,IAAE,IAAE,KAAK,KAAKA,GAAE,SAAO,CAAC,GAAExC,KAAE,IAAI,WAAW,IAAE,CAAC;AAAE,EAAAA,GAAE,IAAIwC,IAAE,CAAC;AAAE,QAAM,KAAE,GAAG,GAAG,KAAKxC,EAAC;AAAE,SAAO,EAAE,CAAC,IAAE,IAAG,EAAE,CAAC,IAAE,GAAGwC,GAAE,MAAM,GAAE,GAAG,QAAQ7D,IAAEqB,EAAC,GAAEA;AAAC,GAAE,QAAQwC,IAAE;AAAC,OAAG,GAAG,GAAG,OAAOA,EAAC,GAAEA,GAAE,SAAO,GAAG,OAAM,IAAI,MAAM,2BAA2B;AAAE,QAAM,KAAE,GAAG,GAAG,WAAWA,EAAC,GAAExC,MAAE,GAAG,GAAG,KAAK,CAAC;AAAE,KAAG,QAAQrB,IAAE,CAAC;AAAE,QAAM,IAAE,GAAGqB,GAAE,CAAC,CAAC,MAAI,GAAE,IAAE,IAAE,KAAK,KAAK,IAAE,CAAC;AAAE,MAAGA,GAAE,CAAC,MAAI,MAAI,EAAE,SAAO,MAAI,EAAE,OAAM,IAAI,MAAM,wBAAwB;AAAE,WAAQrB,KAAE,GAAEA,KAAE,GAAEA,KAAI,KAAG,MAAI,EAAE,IAAEA,EAAC,EAAE,OAAM,IAAI,MAAM,wBAAwB;AAAE,SAAO,EAAE,SAAS,GAAE,CAAC,EAAE,KAAK,CAAC,GAAE,EAAE,SAAS,GAAE,IAAE,CAAC;AAAC,EAAC,MAAK,GAAG,SAAO,EAAC,aAAY,IAAG,gBAAe,IAAG,SAAQ,IAAG,SAAQ,IAAG,cAAa,IAAG,cAAa,IAAG,YAAW,IAAG,OAAM,GAAE,GAAE,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,YAAU,GAAG,YAAU;AAAO,IAAI,KAAG;AAAG,GAAG,YAAU,SAASA,IAAE6D,IAAE,GAAE;AAAC,UAAM,GAAG,GAAG,KAAK7D,IAAE6D,IAAE,CAAC;AAAC;AAAE,GAAG,YAAU,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,UAAM,GAAG,GAAG,KAAK7D,IAAE6D,EAAC;AAAC;AAAE,IAAI,KAAG,CAAA,GAAG,KAAG,CAAA,GAAG,KAAG,CAAA;AAAG,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,QAAM,QAAO,GAAG,OAAK,SAAS7D,IAAE6D,IAAE;AAAC,SAAO7D,MAAG6D,KAAE7D,OAAI,KAAG6D;AAAC,GAAE,GAAG,eAAa,SAAS7D,IAAE6D,IAAE;AAAC,QAAK,EAAC,gBAAe,GAAE,eAAcxC,IAAE,eAAc,GAAE,cAAa,GAAE,QAAO,EAAC,KAAE,GAAG,GAAG,WAAW,EAAC,gBAAe,OAAG,eAAc,GAAE,cAAa,OAAG,QAAO,GAAE,GAAEwC,EAAC;AAAE,MAAG,cAAY,OAAO7D,GAAE,OAAM,IAAI,MAAM,yBAAyB;AAAE,UAAM,GAAG,GAAG,QAAQ,CAAC,OAAK,GAAG,QAAQ,CAAC,IAAE,GAAG,GAAG,MAAM,CAAC,IAAE,GAAG,GAAG,MAAM,CAAC,GAAE,CAAC6D,IAAE,GAAEzC,IAAEwB,IAAEhC,KAAE,MAAI;AAAC,KAAA,GAAG,GAAG,OAAOiD,EAAC,IAAE,GAAG,GAAG,OAAO,CAAC,IAAE,GAAG,GAAG,OAAOzC,EAAC;AAAE,UAAMkD,KAAElD,GAAE;AAAO,QAAG,WAASwB,OAAIA,KAAE,IAAI,WAAW0B,EAAC,KAAG,GAAG,GAAG,OAAO1B,EAAC,IAAE,GAAG,GAAG,QAAQhC,EAAC,GAAEA,KAAE,KAAGA,MAAG,GAAG,OAAM,IAAI,MAAM,uBAAuB;AAAE,QAAGgC,GAAE,SAAO0B,GAAE,OAAM,IAAI,MAAM,gBAAgB1B,GAAE,MAAM,2BAA2B0B,EAAC,GAAG;AAAE,UAAM3D,KAAE,CAAA;AAAG,QAAI4D,IAAEf,IAAEzD,KAAE8D,GAAE;AAAO,QAAG,OAAK9D,GAAE,CAAAY,GAAE,KAAK4D,MAAE,GAAG,GAAG,WAAWV,EAAC,CAAC,GAAEL,KAAE;AAAA,SAAO;AAAC,UAAG,OAAKzD,MAAG,CAAC,EAAE,OAAM,IAAI,MAAM,wCAAwCA,EAAC,EAAE;AAAE,MAAAwE,KAAE,IAAI,WAAW,EAAE,GAAEA,GAAE,IAAIV,EAAC,GAAEU,GAAE,IAAIV,IAAE,EAAE,GAAEL,KAAE,IAAG7C,GAAE,KAAK4D,EAAC;AAAA,IAAC;AAAC,OAAG,CAAC,KAAG5D,GAAE,KAAK,KAAE,GAAG,GAAG,WAAW,CAAC,CAAC;AAAE,UAAMD,MAAE,GAAG,GAAG,KAAK6D,EAAC;AAAE,QAAGlD,IAAE;AAAC,UAAG,OAAK,EAAE,OAAO,OAAM,IAAI,MAAM,sCAAsC;AAAE,MAAAA,GAAEmC,IAAE9C,KAAE,GAAG,GAAG,KAAK,EAAE,SAAS,GAAE,EAAE,CAAC,GAAEA,EAAC,GAAE,IAAE,EAAE,SAAS,EAAE;AAAA,IAAC;AAAC,UAAMI,KAAE,KAAG;AAAE,QAAGA,OAAI,EAAE,OAAO,OAAM,IAAI,MAAM,sBAAsBA,EAAC,cAAc;AAAE,QAAG,OAAKA,IAAE;AAAC,YAAMd,KAAE,IAAI,WAAW,EAAE;AAAE,MAAAA,GAAE,IAAI,GAAE,IAAE,IAAE,KAAG,EAAE,MAAM,GAAE,IAAEA,IAAEW,GAAE,KAAK,CAAC;AAAA,IAAC;AAAC,UAAMQ,MAAE,GAAG,GAAG,KAAK,CAAC;AAAE,YAAO,SAASnB,IAAE6D,IAAEW,IAAEnD,IAAEoD,IAAEC,IAAEC,IAAEC,IAAE;AAAC,YAAMxD,KAAEqD,GAAE,QAAO7B,KAAE,IAAI,WAAW,EAAE,GAAEhC,MAAE,GAAG,GAAG,KAAKgC,EAAC,GAAE0B,KAAE,GAAGG,EAAC,KAAG,GAAGC,EAAC,GAAE/D,KAAE2D,MAAE,GAAG,GAAG,KAAKG,EAAC,IAAE,IAAGF,KAAED,MAAE,GAAG,GAAG,KAAKI,EAAC,IAAE;AAAG,eAAQlB,KAAE,GAAEA,KAAEpC,IAAEuD,MAAI;AAAC,YAAG3E,GAAE6D,IAAEW,IAAEnD,IAAET,IAAE+D,IAAEC,EAAC,GAAED,MAAG,GAAG,OAAM,IAAI,MAAM,uBAAuB;AAAE,cAAM5E,KAAE,KAAK,IAAI,IAAGqB,KAAEoC,EAAC;AAAE,YAAGc,MAAGvE,OAAI,IAAG;AAAC,gBAAMC,KAAEwD,KAAE;AAAE,cAAGA,KAAE,KAAG,EAAE,OAAM,IAAI,MAAM,6BAA6B;AAAE,mBAAQK,IAAEW,KAAE,GAAEA,KAAE,IAAGA,KAAI,CAAAX,KAAE7D,KAAEwE,IAAED,GAAEV,EAAC,IAAElD,GAAEkD,EAAC,IAAEjD,GAAE4D,EAAC;AAAE,UAAAhB,MAAG;AAAA,QAAE,OAAK;AAAC,mBAAQxD,IAAE6D,KAAE,GAAEA,KAAE9D,IAAE8D,KAAI,CAAA7D,KAAEwD,KAAEK,IAAEa,GAAE1E,EAAC,IAAEyE,GAAEzE,EAAC,IAAE4C,GAAEiB,EAAC;AAAE,UAAAL,MAAGzD;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC,GAAEC,IAAEwD,IAAE9C,IAAES,IAAEC,IAAEwB,IAAEhC,IAAE,CAAC,IAAE,GAAG,GAAG,OAAO,GAAGD,EAAC,GAAEiC;AAAA,EAAC;AAAC;AAAE,MAAM,KAAG,IAAG,KAAG,IAAG,KAAG,CAAA5C,OAAG,WAAW,KAAKA,GAAE,MAAM,EAAE,EAAE,KAAK,CAAAA,OAAGA,GAAE,WAAW,CAAC,EAAC,CAAE,GAAE,KAAG,GAAG,kBAAkB,GAAE,KAAG,GAAG,kBAAkB,GAAE,MAAG,GAAG,GAAG,KAAK,EAAE,GAAE,SAAM,GAAG,KAAK,EAAE;AAAE,SAAS,GAAGA,IAAE;AAAC,SAAOA,GAAE,aAAW,KAAG;AAAC;AAAC,GAAG,QAAM,GAAG,MAAK;AAAG,MAAM,KAAG,IAAG,KAAG,IAAG,KAAG,KAAG,KAAG,GAAE,KAAG,IAAI;AAAY,IAAI,KAAG,CAAA;AAAG,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,WAAS,QAAO,GAAG,yBAAuB;AAAG,MAAM,KAAG,IAAG,KAAG,IAAG,KAAG,CAACA,IAAE6D,OAAI,MAAI7D,GAAE6D,IAAG,KAAG,MAAI7D,GAAE6D,IAAG,MAAI;AAAE,MAAM,GAAE;AAAA,EAAC,YAAY7D,IAAE;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,OAAGA,MAAE,GAAG,GAAG,SAASA,EAAC,IAAE,GAAG,GAAG,OAAOA,IAAE,EAAE;AAAE,UAAM6D,KAAE,GAAG7D,IAAE,CAAC,GAAE,IAAE,GAAGA,IAAE,CAAC,GAAEqB,KAAE,GAAGrB,IAAE,CAAC,GAAE,IAAE,GAAGA,IAAE,CAAC,GAAE,IAAE,GAAGA,IAAE,CAAC,GAAE,IAAE,GAAGA,IAAE,EAAE,GAAE,IAAE,GAAGA,IAAE,EAAE,GAAEoB,KAAE,GAAGpB,IAAE,EAAE;AAAE,SAAK,EAAE,CAAC,IAAE,OAAK6D,IAAE,KAAK,EAAE,CAAC,IAAE,QAAMA,OAAI,KAAG,KAAG,IAAG,KAAK,EAAE,CAAC,IAAE,QAAM,MAAI,KAAGxC,MAAG,IAAG,KAAK,EAAE,CAAC,IAAE,QAAMA,OAAI,IAAE,KAAG,IAAG,KAAK,EAAE,CAAC,IAAE,OAAK,MAAI,IAAE,KAAG,KAAI,KAAK,EAAE,CAAC,IAAE,MAAI,IAAE,MAAK,KAAK,EAAE,CAAC,IAAE,QAAM,MAAI,KAAG,KAAG,IAAG,KAAK,EAAE,CAAC,IAAE,QAAM,MAAI,KAAG,KAAG,IAAG,KAAK,EAAE,CAAC,IAAE,QAAM,MAAI,IAAED,MAAG,IAAG,KAAK,EAAE,CAAC,IAAEA,OAAI,IAAE;AAAI,aAAQyC,KAAE,GAAEA,KAAE,GAAEA,KAAI,MAAK,IAAIA,EAAC,IAAE,GAAG7D,IAAE,KAAG,IAAE6D,EAAC;AAAA,EAAC;AAAA,EAAC,QAAQ7D,IAAE6D,IAAE,IAAE,OAAG;AAAC,UAAMxC,KAAE,IAAE,IAAE,MAAK,EAAC,GAAE,GAAE,GAAE,EAAC,IAAE,MAAK,IAAE,EAAE,CAAC,GAAE,IAAE,EAAE,CAAC,GAAED,KAAE,EAAE,CAAC,GAAEwB,KAAE,EAAE,CAAC,GAAEhC,KAAE,EAAE,CAAC,GAAE0D,KAAE,EAAE,CAAC,GAAE3D,KAAE,EAAE,CAAC,GAAE4D,KAAE,EAAE,CAAC,GAAEf,KAAE,EAAE,CAAC,GAAEzD,KAAE,EAAE,CAAC,GAAEW,KAAE,GAAGV,IAAE6D,KAAE,CAAC,GAAE/C,KAAE,GAAGd,IAAE6D,KAAE,CAAC,GAAE1C,KAAE,GAAGnB,IAAE6D,KAAE,CAAC,GAAEtB,KAAE,GAAGvC,IAAE6D,KAAE,CAAC,GAAEhD,KAAE,GAAGb,IAAE6D,KAAE,CAAC,GAAEgB,KAAE,GAAG7E,IAAE6D,KAAE,EAAE,GAAEiB,KAAE,GAAG9E,IAAE6D,KAAE,EAAE,GAAEkB,KAAE,GAAG/E,IAAE6D,KAAE,EAAE;AAAE,QAAImB,KAAE,EAAE,CAAC,KAAG,OAAKtE,KAAGwB,KAAE,EAAE,CAAC,KAAG,QAAMxB,OAAI,KAAGI,MAAG,KAAImE,KAAE,EAAE,CAAC,KAAG,QAAMnE,OAAI,KAAGK,MAAG,KAAI+D,KAAE,EAAE,CAAC,KAAG,QAAM/D,OAAI,IAAEoB,MAAG,KAAI4C,KAAE,EAAE,CAAC,KAAG,QAAM5C,OAAI,IAAE1B,MAAG,MAAKuE,KAAE,EAAE,CAAC,KAAGvE,OAAI,IAAE,OAAMwE,KAAE,EAAE,CAAC,KAAG,QAAMxE,OAAI,KAAGgE,MAAG,KAAIU,KAAE,EAAE,CAAC,KAAG,QAAMV,OAAI,KAAGC,MAAG,KAAIU,KAAE,EAAE,CAAC,KAAG,QAAMV,OAAI,IAAEC,MAAG,KAAIU,KAAE,EAAE,CAAC,KAAGV,OAAI,IAAE1D,KAAGqE,KAAE,GAAEC,KAAED,KAAEV,KAAE,IAAE9C,MAAG,IAAEnC,MAAGkF,MAAG,IAAEzB,MAAG0B,MAAG,IAAEX,MAAGY,MAAG,IAAExE;AAAG,IAAA+E,KAAEC,OAAI,IAAGA,MAAG,MAAKA,MAAGP,MAAG,IAAEd,MAAGe,MAAG,IAAEzE,MAAG2E,MAAG,IAAE3C,MAAG4C,MAAG,IAAEpE,MAAGqE,MAAG,IAAE,IAAGC,MAAGC,OAAI,IAAGA,MAAG;AAAK,QAAIC,KAAEF,KAAEV,KAAE,IAAE9C,KAAE,IAAE+C,MAAG,IAAElF,MAAGmF,MAAG,IAAE1B,MAAG2B,MAAG,IAAEZ;AAAG,IAAAmB,KAAEE,OAAI,IAAGA,MAAG,MAAKA,MAAGR,MAAG,IAAEzE,MAAG0E,MAAG,IAAEf,MAAGiB,MAAG,IAAE3E,MAAG4E,MAAG,IAAE5C,MAAG6C,MAAG,IAAErE,KAAGsE,MAAGE,OAAI,IAAGA,MAAG;AAAK,QAAIC,KAAEH,KAAEV,KAAE5D,KAAEc,KAAE,IAAE+C,KAAE,IAAEC,MAAG,IAAEnF,MAAGoF,MAAG,IAAE3B;AAAG,IAAAkC,KAAEG,OAAI,IAAGA,MAAG,MAAKA,MAAGT,MAAG,IAAEb,MAAGc,MAAG,IAAE1E,MAAG4E,MAAG,IAAEjB,MAAGkB,MAAG,IAAE5E,MAAG6E,MAAG,IAAE7C,KAAG8C,MAAGG,OAAI,IAAGA,MAAG;AAAK,QAAIC,KAAEJ,KAAEV,KAAEpC,KAAEV,KAAEd,KAAE6D,KAAE,IAAEC,KAAE,IAAEC,MAAG,IAAEpF;AAAG,IAAA2F,KAAEI,OAAI,IAAGA,MAAG,MAAKA,MAAGV,MAAG,IAAE5B,MAAG6B,MAAG,IAAEd,MAAGgB,MAAG,IAAE5E,MAAG6E,MAAG,IAAElB,MAAGmB,MAAG,IAAE7E,KAAG8E,MAAGI,OAAI,IAAGA,MAAG;AAAK,QAAIR,KAAEI,KAAEV,KAAEpE,KAAEsB,KAAEU,KAAEqC,KAAE7D,KAAE8D,KAAE,IAAEC,KAAE;AAAE,IAAAO,KAAEJ,OAAI,IAAGA,MAAG,MAAKA,MAAGF,MAAG,IAAErF,MAAGsF,MAAG,IAAE7B,MAAG+B,MAAG,IAAEhB,MAAGiB,MAAG,IAAE7E,MAAG8E,MAAG,IAAEnB,KAAGoB,MAAGJ,OAAI,IAAGA,MAAG;AAAK,QAAIzC,KAAE6C,KAAEV,KAAEV,KAAEpC,KAAEtB,KAAEqE,KAAErC,KAAEsC,KAAE9D,KAAE+D,KAAE;AAAE,IAAAO,KAAE7C,OAAI,IAAGA,MAAG,MAAKA,MAAGuC,KAAE,IAAEC,MAAG,IAAEtF,MAAGwF,MAAG,IAAE/B,MAAGgC,MAAG,IAAEjB,MAAGkB,MAAG,IAAE9E,KAAG+E,MAAG7C,OAAI,IAAGA,MAAG;AAAK,QAAIkD,KAAEL,KAAEV,KAAErE,KAAEuB,KAAEoC,KAAEW,KAAErE,KAAEsE,KAAEtC,KAAEuC,KAAE/D;AAAE,IAAAsE,KAAEK,OAAI,IAAGA,MAAG,MAAKA,MAAGX,KAAE,IAAEC,KAAE,IAAEE,MAAG,IAAExF,MAAGyF,MAAG,IAAEhC,MAAGiC,MAAG,IAAElB,KAAGmB,MAAGK,OAAI,IAAGA,MAAG;AAAK,QAAIC,KAAEN,KAAEV,KAAET,KAAErC,KAAEvB,KAAEsE,KAAEX,KAAEY,KAAEtE,KAAEuE,KAAEvC;AAAE,IAAA8C,KAAEM,OAAI,IAAGA,MAAG,MAAKA,MAAGZ,KAAEhE,KAAEiE,KAAE,IAAEE,KAAE,IAAEC,MAAG,IAAEzF,MAAG0F,MAAG,IAAEjC,KAAGkC,MAAGM,OAAI,IAAGA,MAAG;AAAK,QAAIpG,KAAE8F,KAAEV,KAAExB,KAAEtB,KAAEqC,KAAEU,KAAEtE,KAAEuE,KAAEZ,KAAEa,KAAEvE;AAAE,IAAA8E,KAAE9F,OAAI,IAAGA,MAAG,MAAKA,MAAGwF,KAAExC,KAAEyC,KAAEjE,KAAEmE,KAAE,IAAEC,KAAE,IAAEC,MAAG,IAAE1F,KAAG2F,MAAG9F,OAAI,IAAGA,MAAG;AAAK,QAAIqG,KAAEP,KAAEV,KAAEjF,KAAEmC,KAAEsB,KAAEyB,KAAEV,KAAEW,KAAEvE,KAAEwE,KAAEb;AAAE,IAAAoB,KAAEO,OAAI,IAAGA,MAAG,MAAKA,MAAGb,KAAExE,KAAEyE,KAAEzC,KAAE2C,KAAEnE,KAAEoE,KAAE,IAAEC,KAAE,GAAEC,MAAGO,OAAI,IAAGA,MAAG,MAAKP,MAAGA,MAAG,KAAGA,KAAE,GAAEA,KAAEA,KAAEC,KAAE,GAAEA,KAAE,OAAKD,IAAEA,QAAK,IAAGE,MAAGF,IAAE,EAAE,CAAC,IAAEC,IAAE,EAAE,CAAC,IAAEC,IAAE,EAAE,CAAC,IAAEC,IAAE,EAAE,CAAC,IAAEC,IAAE,EAAE,CAAC,IAAER,IAAE,EAAE,CAAC,IAAEzC,IAAE,EAAE,CAAC,IAAEkD,IAAE,EAAE,CAAC,IAAEC,IAAE,EAAE,CAAC,IAAEpG,IAAE,EAAE,CAAC,IAAEqG;AAAA,EAAC;AAAA,EAAC,WAAU;AAAC,UAAK,EAAC,GAAEjG,IAAE,KAAI6D,GAAC,IAAE,MAAK,IAAE,IAAI,YAAY,EAAE;AAAE,QAAIxC,KAAErB,GAAE,CAAC,MAAI;AAAG,IAAAA,GAAE,CAAC,KAAG;AAAK,aAAQ6D,KAAE,GAAEA,KAAE,IAAGA,KAAI,CAAA7D,GAAE6D,EAAC,KAAGxC,IAAEA,KAAErB,GAAE6D,EAAC,MAAI,IAAG7D,GAAE6D,EAAC,KAAG;AAAK,IAAA7D,GAAE,CAAC,KAAG,IAAEqB,IAAEA,KAAErB,GAAE,CAAC,MAAI,IAAGA,GAAE,CAAC,KAAG,MAAKA,GAAE,CAAC,KAAGqB,IAAEA,KAAErB,GAAE,CAAC,MAAI,IAAGA,GAAE,CAAC,KAAG,MAAKA,GAAE,CAAC,KAAGqB,IAAE,EAAE,CAAC,IAAErB,GAAE,CAAC,IAAE,GAAEqB,KAAE,EAAE,CAAC,MAAI,IAAG,EAAE,CAAC,KAAG;AAAK,aAAQwC,KAAE,GAAEA,KAAE,IAAGA,KAAI,GAAEA,EAAC,IAAE7D,GAAE6D,EAAC,IAAExC,IAAEA,KAAE,EAAEwC,EAAC,MAAI,IAAG,EAAEA,EAAC,KAAG;AAAK,MAAE,CAAC,KAAG;AAAK,QAAI,KAAG,IAAExC,MAAG;AAAE,aAAQrB,KAAE,GAAEA,KAAE,IAAGA,KAAI,GAAEA,EAAC,KAAG;AAAE,QAAE,CAAC;AAAE,aAAQ6D,KAAE,GAAEA,KAAE,IAAGA,KAAI,CAAA7D,GAAE6D,EAAC,IAAE7D,GAAE6D,EAAC,IAAE,IAAE,EAAEA,EAAC;AAAE,IAAA7D,GAAE,CAAC,IAAE,SAAOA,GAAE,CAAC,IAAEA,GAAE,CAAC,KAAG,KAAIA,GAAE,CAAC,IAAE,SAAOA,GAAE,CAAC,MAAI,IAAEA,GAAE,CAAC,KAAG,KAAIA,GAAE,CAAC,IAAE,SAAOA,GAAE,CAAC,MAAI,IAAEA,GAAE,CAAC,KAAG,IAAGA,GAAE,CAAC,IAAE,SAAOA,GAAE,CAAC,MAAI,IAAEA,GAAE,CAAC,KAAG,IAAGA,GAAE,CAAC,IAAE,SAAOA,GAAE,CAAC,MAAI,KAAGA,GAAE,CAAC,KAAG,IAAEA,GAAE,CAAC,KAAG,KAAIA,GAAE,CAAC,IAAE,SAAOA,GAAE,CAAC,MAAI,IAAEA,GAAE,CAAC,KAAG,KAAIA,GAAE,CAAC,IAAE,SAAOA,GAAE,CAAC,MAAI,IAAEA,GAAE,CAAC,KAAG,IAAGA,GAAE,CAAC,IAAE,SAAOA,GAAE,CAAC,MAAI,IAAEA,GAAE,CAAC,KAAG;AAAG,QAAI,IAAEA,GAAE,CAAC,IAAE6D,GAAE,CAAC;AAAE,IAAA7D,GAAE,CAAC,IAAE,QAAM;AAAE,aAAQwE,KAAE,GAAEA,KAAE,GAAEA,KAAI,MAAGxE,GAAEwE,EAAC,IAAEX,GAAEW,EAAC,IAAE,MAAI,MAAI,MAAI,GAAExE,GAAEwE,EAAC,IAAE,QAAM;AAAE,KAAA,GAAG,GAAG,OAAO,CAAC;AAAA,EAAC;AAAA,EAAC,OAAOxE,IAAE;AAAC,KAAA,GAAG,GAAG,QAAQ,IAAI;AAAE,UAAK,EAAC,QAAO6D,IAAE,UAAS,EAAC,IAAE,MAAKxC,MAAGrB,MAAE,GAAG,GAAG,SAASA,EAAC,GAAG;AAAO,aAAQ,IAAE,GAAE,IAAEqB,MAAG;AAAC,YAAM,IAAE,KAAK,IAAI,IAAE,KAAK,KAAIA,KAAE,CAAC;AAAE,UAAG,MAAI,EAAE,CAAAwC,GAAE,IAAI7D,GAAE,SAAS,GAAE,IAAE,CAAC,GAAE,KAAK,GAAG,GAAE,KAAK,OAAK,GAAE,KAAG,GAAE,KAAK,QAAM,MAAI,KAAK,QAAQ6D,IAAE,GAAE,KAAE,GAAE,KAAK,MAAI;AAAA,UAAQ,QAAK,KAAGxC,KAAE,GAAE,KAAG,EAAE,MAAK,QAAQrB,IAAE,CAAC;AAAA,IAAC;AAAC,WAAO;AAAA,EAAI;AAAA,EAAC,UAAS;AAAC,KAAA,GAAG,GAAG,OAAO,KAAK,GAAE,KAAK,GAAE,KAAK,QAAO,KAAK,GAAG;AAAA,EAAC;AAAA,EAAC,WAAWA,IAAE;AAAC,QAAG,GAAG,QAAQ,IAAI,IAAE,GAAG,GAAG,QAAQA,IAAE,IAAI,GAAE,KAAK,WAAS;AAAG,UAAK,EAAC,QAAO6D,IAAE,GAAE,EAAC,IAAE;AAAK,QAAG,EAAC,KAAIxC,GAAC,IAAE;AAAK,QAAGA,IAAE;AAAC,WAAIwC,GAAExC,IAAG,IAAE,GAAEA,KAAE,IAAGA,KAAI,CAAAwC,GAAExC,EAAC,IAAE;AAAE,WAAK,QAAQwC,IAAE,GAAE,IAAE;AAAA,IAAC;AAAC,SAAK,SAAQ;AAAG,QAAI,IAAE;AAAE,aAAQA,KAAE,GAAEA,KAAE,GAAEA,KAAI,CAAA7D,GAAE,GAAG,IAAE,EAAE6D,EAAC,MAAI,GAAE7D,GAAE,GAAG,IAAE,EAAE6D,EAAC,MAAI;AAAE,WAAO7D;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,UAAK,EAAC,QAAOA,IAAE,WAAU6D,GAAC,IAAE;AAAK,SAAK,WAAW7D,EAAC;AAAE,UAAM,IAAEA,GAAE,MAAM,GAAE6D,EAAC;AAAE,WAAO,KAAK,QAAO,GAAG;AAAA,EAAC;AAAC;AAAC,SAAS,GAAG7D,IAAE;AAAC,QAAM6D,KAAE,CAACA,IAAEW,OAAIxE,GAAEwE,EAAC,EAAE,WAAU,GAAG,SAASX,EAAC,CAAC,EAAE,OAAM,GAAG,IAAE7D,GAAE,IAAI,WAAW,EAAE,CAAC;AAAE,SAAO6D,GAAE,YAAU,EAAE,WAAUA,GAAE,WAAS,EAAE,UAASA,GAAE,SAAO,CAAAA,OAAG7D,GAAE6D,EAAC,GAAEA;AAAC;AAAC,GAAG,WAAS,IAAI,CAAA7D,OAAG,IAAI,GAAGA,EAAC,EAAC,IAAG,SAASA,IAAE;AAAC,SAAO,eAAeA,IAAE,cAAa,EAAC,OAAM,KAAE,CAAC,GAAEA,GAAE,oBAAkBA,GAAE,mBAAiBA,GAAE,iBAAeA,GAAE,WAASA,GAAE,UAAQA,GAAE,YAAUA,GAAE,WAASA,GAAE,eAAa,QAAOA,GAAE,UAAQ;AAAE,QAAM6D,KAAE,IAAG,IAAE,IAAGxC,KAAE,IAAG,IAAE;AAAG,WAAS,EAAErB,IAAEwE,IAAEnD,IAAEoD,IAAEC,IAAEC,KAAE,IAAG;AAAC,QAAIC,KAAE5E,GAAE,CAAC,GAAEoB,KAAEpB,GAAE,CAAC,GAAE4C,KAAE5C,GAAE,CAAC,GAAEY,KAAEZ,GAAE,CAAC,GAAEsE,KAAEE,GAAE,CAAC,GAAE7D,KAAE6D,GAAE,CAAC,GAAED,KAAEC,GAAE,CAAC,GAAEhB,KAAEgB,GAAE,CAAC,GAAEzE,KAAEyE,GAAE,CAAC,GAAE9D,KAAE8D,GAAE,CAAC,GAAE1D,KAAE0D,GAAE,CAAC,GAAErD,KAAEqD,GAAE,CAAC,GAAEjC,KAAEmC,IAAE7D,KAAEQ,GAAE,CAAC,GAAEwD,KAAExD,GAAE,CAAC,GAAEyD,KAAEzD,GAAE,CAAC,GAAE0D,KAAEH,IAAEI,KAAE5D,IAAEc,KAAEU,IAAEqC,KAAErE,IAAEsE,KAAEZ,IAAEa,KAAExE,IAAEyE,KAAEb,IAAEc,KAAE7B,IAAE+B,KAAExF,IAAEyF,KAAE9E,IAAE+E,KAAE3E,IAAE4E,KAAEvE,IAAEwE,KAAEpD,IAAEqD,KAAE/E,IAAEgF,KAAEhB,IAAEiB,KAAEhB;AAAE,aAAQ9E,KAAE,GAAEA,KAAE2E,IAAE3E,MAAG,EAAE,CAAA+E,KAAEA,KAAEG,KAAE,GAAES,MAAE,GAAG9B,GAAE,MAAM8B,KAAEZ,IAAE,EAAE,GAAEQ,KAAEA,KAAEI,KAAE,GAAET,MAAE,GAAGrB,GAAE,MAAMqB,KAAEK,IAAE,EAAE,GAAER,KAAEA,KAAEG,KAAE,GAAES,MAAE,GAAG9B,GAAE,MAAM8B,KAAEZ,IAAE,CAAC,GAAEQ,KAAEA,KAAEI,KAAE,GAAET,MAAE,GAAGrB,GAAE,MAAMqB,KAAEK,IAAE,CAAC,GAAEP,KAAEA,KAAEG,KAAE,GAAES,SAAK/B,GAAE,MAAM+B,KAAEZ,IAAE,EAAE,GAAEQ,KAAEA,KAAEI,KAAE,GAAET,MAAE,GAAGtB,GAAE,MAAMsB,KAAEK,IAAE,EAAE,GAAER,KAAEA,KAAEG,KAAE,GAAES,MAAE,GAAG/B,GAAE,MAAM+B,KAAEZ,IAAE,CAAC,GAAEQ,KAAEA,KAAEI,KAAE,GAAET,SAAKtB,GAAE,MAAMsB,KAAEK,IAAE,CAAC,GAAEtD,KAAEA,KAAEkD,KAAE,GAAES,MAAE,GAAGhC,GAAE,MAAMgC,KAAE3D,IAAE,EAAE,GAAEuD,KAAEA,KAAEI,KAAE,GAAET,MAAE,GAAGvB,GAAE,MAAMuB,KAAEK,IAAE,EAAE,GAAEvD,KAAEA,KAAEkD,KAAE,GAAES,MAAE,GAAGhC,GAAE,MAAMgC,KAAE3D,IAAE,CAAC,GAAEuD,KAAEA,KAAEI,KAAE,GAAET,MAAE,GAAGvB,GAAE,MAAMuB,KAAEK,IAAE,CAAC,GAAER,KAAEA,KAAEI,KAAE,GAAES,MAAE,GAAGjC,GAAE,MAAMiC,KAAEb,IAAE,EAAE,GAAES,KAAEA,KAAEI,KAAE,GAAET,MAAE,GAAGxB,GAAE,MAAMwB,KAAEK,IAAE,EAAE,GAAET,KAAEA,KAAEI,KAAE,GAAES,MAAE,GAAGjC,GAAE,MAAMiC,KAAEb,IAAE,CAAC,GAAES,KAAEA,KAAEI,KAAE,GAAET,MAAE,GAAGxB,GAAE,MAAMwB,KAAEK,IAAE,CAAC,GAAEX,KAAEA,KAAEI,KAAE,GAAEW,MAAE,GAAGjC,GAAE,MAAMiC,KAAEf,IAAE,EAAE,GAAEU,KAAEA,KAAEK,KAAE,GAAEX,MAAE,GAAGtB,GAAE,MAAMsB,KAAEM,IAAE,EAAE,GAAEV,KAAEA,KAAEI,KAAE,GAAEW,SAAKjC,GAAE,MAAMiC,KAAEf,IAAE,CAAC,GAAEU,KAAEA,KAAEK,KAAE,GAAEX,MAAE,GAAGtB,GAAE,MAAMsB,KAAEM,IAAE,CAAC,GAAET,KAAEA,KAAEI,KAAE,GAAEO,MAAE,GAAG9B,GAAE,MAAM8B,KAAEX,IAAE,EAAE,GAAEU,KAAEA,KAAEC,KAAE,GAAEP,MAAE,GAAGvB,GAAE,MAAMuB,KAAEM,IAAE,EAAE,GAAEV,KAAEA,KAAEI,KAAE,GAAEO,MAAE,GAAG9B,GAAE,MAAM8B,KAAEX,IAAE,CAAC,GAAEU,KAAEA,KAAEC,KAAE,GAAEP,MAAE,GAAGvB,GAAE,MAAMuB,KAAEM,IAAE,CAAC,GAAExD,KAAEA,KAAEmD,KAAE,GAAEO,MAAE,GAAG/B,GAAE,MAAM+B,KAAE1D,IAAE,EAAE,GAAEqD,KAAEA,KAAEK,KAAE,GAAEP,MAAE,GAAGxB,GAAE,MAAMwB,KAAEE,IAAE,EAAE,GAAErD,KAAEA,KAAEmD,KAAE,GAAEO,MAAE,GAAG/B,GAAE,MAAM+B,KAAE1D,IAAE,CAAC,GAAEqD,KAAEA,KAAEK,KAAE,GAAEP,MAAE,GAAGxB,GAAE,MAAMwB,KAAEE,IAAE,CAAC,GAAEN,KAAEA,KAAEC,KAAE,GAAEW,MAAE,GAAGhC,GAAE,MAAMgC,KAAEZ,IAAE,EAAE,GAAEO,KAAEA,KAAEK,KAAE,GAAEX,MAAE,GAAGrB,GAAE,MAAMqB,KAAEM,IAAE,EAAE,GAAEP,KAAEA,KAAEC,KAAE,GAAEW,MAAE,GAAGhC,GAAE,MAAMgC,KAAEZ,IAAE,CAAC,GAAEO,KAAEA,KAAEK,KAAE,GAAEX,MAAE,GAAGrB,GAAE,MAAMqB,KAAEM,IAAE,CAAC;AAAE,QAAIF,KAAE;AAAE,IAAAb,GAAEa,IAAG,IAAEV,KAAEG,KAAE,GAAEN,GAAEa,IAAG,IAAElE,KAAE4D,KAAE,GAAEP,GAAEa,IAAG,IAAE1C,KAAEV,KAAE,GAAEuC,GAAEa,IAAG,IAAE1E,KAAEqE,KAAE,GAAER,GAAEa,IAAG,IAAEhB,KAAEY,KAAE,GAAET,GAAEa,IAAG,IAAE3E,KAAEwE,KAAE,GAAEV,GAAEa,IAAG,IAAEf,KAAEa,KAAE,GAAEX,GAAEa,IAAG,IAAE9B,KAAE6B,KAAE,GAAEZ,GAAEa,IAAG,IAAEvF,KAAEwF,KAAE,GAAEd,GAAEa,IAAG,IAAE5E,KAAE8E,KAAE,GAAEf,GAAEa,IAAG,IAAExE,KAAE2E,KAAE,GAAEhB,GAAEa,IAAG,IAAEnE,KAAEuE,KAAE,GAAEjB,GAAEa,IAAG,IAAE/C,KAAEoD,KAAE,GAAElB,GAAEa,IAAG,IAAEzE,KAAE+E,KAAE,GAAEnB,GAAEa,IAAG,IAAET,KAAEgB,KAAE,GAAEpB,GAAEa,IAAG,IAAER,KAAEgB,KAAE;AAAA,EAAC;AAAC,WAAS,EAAE9F,IAAEwE,IAAEnD,IAAEoD,IAAE;AAAC,QAAIC,KAAE1E,GAAE,CAAC,GAAE2E,KAAE3E,GAAE,CAAC,GAAE4E,KAAE5E,GAAE,CAAC,GAAEoB,KAAEpB,GAAE,CAAC,GAAE4C,KAAE4B,GAAE,CAAC,GAAE5D,KAAE4D,GAAE,CAAC,GAAEF,KAAEE,GAAE,CAAC,GAAE7D,KAAE6D,GAAE,CAAC,GAAED,KAAEC,GAAE,CAAC,GAAEhB,KAAEgB,GAAE,CAAC,GAAEzE,KAAEyE,GAAE,CAAC,GAAE9D,KAAE8D,GAAE,CAAC,GAAE1D,KAAEO,GAAE,CAAC,GAAEF,KAAEE,GAAE,CAAC,GAAEkB,KAAElB,GAAE,CAAC,GAAER,KAAEQ,GAAE,CAAC;AAAE,aAAQrB,KAAE,GAAEA,KAAE,IAAGA,MAAG,EAAE,CAAA0E,KAAEA,KAAE9B,KAAE,GAAE9B,SAAK+C,GAAE,MAAM/C,KAAE4D,IAAE,EAAE,GAAEH,KAAEA,KAAEzD,KAAE,GAAE8B,MAAE,GAAGiB,GAAE,MAAMjB,KAAE2B,IAAE,EAAE,GAAEG,KAAEA,KAAE9B,KAAE,GAAE9B,MAAE,GAAG+C,GAAE,MAAM/C,KAAE4D,IAAE,CAAC,GAAEH,KAAEA,KAAEzD,KAAE,GAAE8B,SAAKiB,GAAE,MAAMjB,KAAE2B,IAAE,CAAC,GAAEI,KAAEA,KAAE/D,KAAE,GAAEO,MAAE,GAAG0C,GAAE,MAAM1C,KAAEwD,IAAE,EAAE,GAAEnB,KAAEA,KAAErC,KAAE,GAAEP,MAAE,GAAGiD,GAAE,MAAMjD,KAAE4C,IAAE,EAAE,GAAEmB,KAAEA,KAAE/D,KAAE,GAAEO,MAAE,GAAG0C,GAAE,MAAM1C,KAAEwD,IAAE,CAAC,GAAEnB,KAAEA,KAAErC,KAAE,GAAEP,SAAKiD,GAAE,MAAMjD,KAAE4C,IAAE,CAAC,GAAEoB,KAAEA,KAAEN,KAAE,GAAE/B,MAAE,GAAGsB,GAAE,MAAMtB,KAAEqC,IAAE,EAAE,GAAE7E,KAAEA,KAAEwC,KAAE,GAAE+B,MAAE,GAAGT,GAAE,MAAMS,KAAEvE,IAAE,EAAE,GAAE6E,KAAEA,KAAEN,KAAE,GAAE/B,MAAE,GAAGsB,GAAE,MAAMtB,KAAEqC,IAAE,CAAC,GAAE7E,KAAEA,KAAEwC,KAAE,GAAE+B,MAAE,GAAGT,GAAE,MAAMS,KAAEvE,IAAE,CAAC,GAAEqB,KAAEA,KAAET,KAAE,GAAEE,MAAE,GAAGgD,GAAE,MAAMhD,KAAEO,IAAE,EAAE,GAAEV,KAAEA,KAAEG,KAAE,GAAEF,MAAE,GAAGkD,GAAE,MAAMlD,KAAED,IAAE,EAAE,GAAEU,KAAEA,KAAET,KAAE,GAAEE,MAAE,GAAGgD,GAAE,MAAMhD,KAAEO,IAAE,CAAC,GAAEV,KAAEA,KAAEG,KAAE,GAAEF,MAAE,GAAGkD,GAAE,MAAMlD,KAAED,IAAE,CAAC,GAAEgE,KAAEA,KAAE9D,KAAE,GAAEC,MAAE,GAAGgD,GAAE,MAAMhD,KAAE6D,IAAE,EAAE,GAAE3E,KAAEA,KAAEc,KAAE,GAAED,SAAKiD,GAAE,MAAMjD,KAAEb,IAAE,EAAE,GAAE2E,KAAEA,KAAE9D,KAAE,GAAEC,MAAE,GAAGgD,GAAE,MAAMhD,KAAE6D,IAAE,CAAC,GAAE3E,KAAEA,KAAEc,KAAE,GAAED,MAAE,GAAGiD,GAAE,MAAMjD,KAAEb,IAAE,CAAC,GAAE4E,KAAEA,KAAEL,KAAE,GAAExD,MAAE,GAAG+C,GAAE,MAAM/C,KAAE6D,IAAE,EAAE,GAAEjE,KAAEA,KAAEI,KAAE,GAAEwD,MAAE,GAAGT,GAAE,MAAMS,KAAE5D,IAAE,EAAE,GAAEiE,KAAEA,KAAEL,KAAE,GAAExD,MAAE,GAAG+C,GAAE,MAAM/C,KAAE6D,IAAE,CAAC,GAAEjE,KAAEA,KAAEI,KAAE,GAAEwD,MAAE,GAAGT,GAAE,MAAMS,KAAE5D,IAAE,CAAC,GAAEkE,KAAEA,KAAEjE,KAAE,GAAEQ,SAAK0C,GAAE,MAAM1C,KAAEyD,IAAE,EAAE,GAAEL,KAAEA,KAAEpD,KAAE,GAAER,MAAE,GAAGkD,GAAE,MAAMlD,KAAE4D,IAAE,EAAE,GAAEK,KAAEA,KAAEjE,KAAE,GAAEQ,MAAE,GAAG0C,GAAE,MAAM1C,KAAEyD,IAAE,CAAC,GAAEL,KAAEA,KAAEpD,KAAE,GAAER,MAAE,GAAGkD,GAAE,MAAMlD,KAAE4D,IAAE,CAAC,GAAEnD,KAAEA,KAAEwB,KAAE,GAAEL,SAAKsB,GAAE,MAAMtB,KAAEnB,IAAE,EAAE,GAAEoC,KAAEA,KAAEjB,KAAE,GAAEK,MAAE,GAAGiB,GAAE,MAAMjB,KAAEY,IAAE,EAAE,GAAEpC,KAAEA,KAAEwB,KAAE,GAAEL,MAAE,GAAGsB,GAAE,MAAMtB,KAAEnB,IAAE,CAAC,GAAEoC,KAAEA,KAAEjB,KAAE,GAAEK,SAAKiB,GAAE,MAAMjB,KAAEY,IAAE,CAAC;AAAE,QAAIqB,KAAE;AAAE,IAAAJ,GAAEI,IAAG,IAAEH,IAAED,GAAEI,IAAG,IAAEF,IAAEF,GAAEI,IAAG,IAAED,IAAEH,GAAEI,IAAG,IAAEzD,IAAEqD,GAAEI,IAAG,IAAE/D,IAAE2D,GAAEI,IAAG,IAAE1D,IAAEsD,GAAEI,IAAG,IAAEtC,IAAEkC,GAAEI,IAAG,IAAEhE;AAAA,EAAC;AAAC,EAAAb,GAAE,gBAAa,GAAG6D,GAAE,cAAc,GAAE,EAAC,cAAa,OAAG,eAAc,GAAE,gBAAe,KAAE,CAAC,GAAE7D,GAAE,YAAS,GAAG6D,GAAE,cAAc,GAAE,EAAC,cAAa,OAAG,eAAc,GAAE,gBAAe,MAAE,CAAC,GAAE7D,GAAE,aAAU,GAAG6D,GAAE,cAAc,GAAE,EAAC,cAAa,OAAG,eAAc,GAAE,eAAc,GAAE,gBAAe,MAAE,CAAC,GAAE7D,GAAE,WAAQ,GAAG6D,GAAE,cAAc,GAAE,EAAC,cAAa,OAAG,eAAc,GAAE,QAAO,EAAC,CAAC,GAAE7D,GAAE,YAAS,GAAG6D,GAAE,cAAc,GAAE,EAAC,cAAa,OAAG,eAAc,GAAE,QAAO,GAAE,CAAC;AAAE,QAAM,IAAE,IAAI,WAAW,EAAE,GAAEzC,KAAE,CAACpB,IAAE6D,OAAI;AAAC,IAAA7D,GAAE,OAAO6D,EAAC;AAAE,UAAMW,KAAEX,GAAE,SAAO;AAAG,IAAAW,MAAGxE,GAAE,OAAO,EAAE,SAASwE,EAAC,CAAC;AAAA,EAAC,GAAE5B,KAAE,IAAI,WAAW,EAAE;AAAE,WAAShC,GAAEZ,IAAE6D,IAAEW,IAAEE,IAAEC,IAAE;AAAC,UAAMC,KAAE5E,GAAE6D,IAAEW,IAAE5B,EAAC,GAAEhC,KAAES,GAAE,SAAS,OAAOuD,EAAC;AAAE,IAAAD,MAAGvD,GAAER,IAAE+D,EAAC,GAAEvD,GAAER,IAAE8D,EAAC;AAAE,UAAMJ,KAAE,IAAI,WAAW,EAAE,GAAE3D,MAAE,GAAG,EAAE,YAAY2D,EAAC;AAAE,KAAA,GAAG,EAAE,cAAc3D,IAAE,GAAE,OAAOgE,KAAEA,GAAE,SAAO,CAAC,GAAE,IAAE,IAAE,GAAG,EAAE,cAAchE,IAAE,GAAE,OAAO+D,GAAE,MAAM,GAAE,IAAE,GAAE9D,GAAE,OAAO0D,EAAC;AAAE,UAAMC,KAAE3D,GAAE,OAAM;AAAG,eAAS,EAAE,OAAOgE,IAAEN,EAAC,GAAEC;AAAA,EAAC;AAAC,EAAAvE,GAAE,iBAAe,CAAAA,OAAG,CAAC6D,IAAExC,IAAEqD,OAAI;AAAC,UAAMC,KAAE;AAAG,YAAM,GAAG,EAAE,OAAOd,IAAE,EAAE,OAAK,EAAE,OAAOxC,EAAC,GAAE,EAAC,QAAQuD,IAAExD,IAAE;AAAC,YAAMwB,KAAEgC,GAAE,QAAON,KAAE1B,KAAE+B;AAAE,MAAAvD,MAAE,GAAG,EAAE,OAAOA,IAAEkD,EAAC,IAAElD,KAAE,IAAI,WAAWkD,EAAC,GAAEtE,GAAE6D,IAAExC,IAAEuD,IAAExD,IAAE,CAAC;AAAE,YAAMT,KAAEC,GAAEZ,IAAE6D,IAAExC,IAAED,GAAE,SAAS,GAAE,GAAG,GAAEsD,EAAC;AAAE,aAAOtD,GAAE,IAAIT,IAAEiC,EAAC,IAAE,GAAG,EAAE,OAAOjC,EAAC,GAAES;AAAA,IAAC,GAAE,QAAQwD,IAAExD,IAAE;AAAC,YAAMwB,KAAEgC,GAAE,QAAON,KAAE1B,KAAE+B;AAAE,UAAG/B,KAAE+B,GAAE,OAAM,IAAI,MAAM,0CAA0C;AAAE,MAAAvD,MAAE,GAAG,EAAE,OAAOA,IAAEkD,EAAC,IAAElD,KAAE,IAAI,WAAWkD,EAAC;AAAE,YAAM3D,KAAEiE,GAAE,SAAS,GAAE,GAAG,GAAEL,KAAEK,GAAE,SAAS,GAAG,GAAEpB,KAAE5C,GAAEZ,IAAE6D,IAAExC,IAAEV,IAAE+D,EAAC;AAAE,UAAG,EAAC,GAAG,EAAE,YAAYH,IAAEf,EAAC,EAAE,OAAM,IAAI,MAAM,aAAa;AAAE,aAAOxD,GAAE6D,IAAExC,IAAEV,IAAES,IAAE,CAAC,IAAE,GAAG,EAAE,OAAOoC,EAAC,GAAEpC;AAAA,IAAC,EAAC;AAAA,EAAC,GAAEpB,GAAE,oBAAiB,GAAG,EAAE,YAAY,EAAC,WAAU,IAAG,aAAY,IAAG,WAAU,GAAE,IAAE,GAAGA,GAAE,gBAAgBA,GAAE,QAAQ,CAAC,GAAEA,GAAE,qBAAkB,GAAG,EAAE,YAAY,EAAC,WAAU,IAAG,aAAY,IAAG,WAAU,GAAE,IAAE,GAAGA,GAAE,gBAAgBA,GAAE,SAAS,CAAC;AAAC,GAAE,EAAE,GAAE,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,YAAU;AAAO,IAAI,IAAG,IAAG,IAAG,KAAG;AAAG,GAAG,YAAU,SAASA,IAAE6D,IAAE,GAAE;AAAC,UAAM,GAAG,GAAG,mBAAmB7D,IAAE6D,IAAE,CAAC;AAAC,IAAE,SAAS7D,IAAE;AAAC,SAAO,eAAeA,IAAE,cAAa,EAAC,OAAM,KAAE,CAAC,GAAEA,GAAE,aAAWA,GAAE,aAAWA,GAAE,aAAWA,GAAE,aAAW;AAAO,MAAI6D,KAAE,IAAG,IAAE,IAAGxC,KAAE,IAAG,IAAE,IAAG,IAAE,IAAG,IAAE;AAAG,EAAArB,GAAE,aAAW,SAASA,IAAE6D,IAAEW,IAAE;AAAC,WAAO,EAAEpD,IAAEpB,IAAE6D,IAAEW,EAAC;AAAA,EAAC;AAAE,WAAS,EAAExE,IAAE6D,IAAEW,IAAEI,IAAE;AAAC,QAAIxD,SAAK,EAAE,oBAAkB;AAAI,QAAG,kBAAgBA,GAAE,QAAOpB,GAAEqB,GAAE,WAAUwC,IAAEW,KAAE,GAAG,EAAE,sBAAoB,GAAI,EAAE,iBAAgBI,EAAC;AAAE,QAAG,gBAAcxD,GAAE,QAAOpB,GAAE,EAAE,WAAU6D,IAAEW,IAAE,EAAE,wBAAuB,EAAE,iBAAgBI,EAAC;AAAE,QAAG,kBAAgBxD,GAAE,QAAOpB,GAAEqB,GAAE,WAAUwC,IAAEW,IAAE,IAAG,CAAC;AAAE,UAAM,IAAI,MAAM,iBAAiB;AAAA,EAAC;AAAC,WAASpD,GAAEpB,IAAEqB,IAAEoD,IAAEC,IAAEC,IAAEC,IAAE;AAAC,QAAIxD,MAAE,GAAG,EAAE,aAAasD,EAAC,GAAE9B,KAAE5C,GAAEqB,IAAED,IAAEwD,EAAC,EAAE,QAAQH,EAAC;AAAE,QAAG,MAAIE,GAAE,SAAM,GAAGd,GAAE,aAAazC,IAAEwB,EAAC;AAAE,QAAIhC,KAAEgC,GAAE,SAAO+B,IAAEL,KAAE1B,GAAE,SAAS,GAAEhC,EAAC,GAAED,KAAEiC,GAAE,SAAShC,EAAC;AAAE,YAAM,GAAGiD,GAAE,aAAazC,IAAET,IAAE2D,EAAC;AAAA,EAAC;AAAC,WAAS1B,GAAE5C,IAAEwE,IAAEnD,IAAEoD,IAAEC,IAAEC,IAAE;AAAC,QAAIC,KAAEvD,GAAE,SAAS,GAAEoD,EAAC,GAAErD,KAAEpB,GAAEwE,IAAE,WAAW,KAAKI,EAAC,GAAED,EAAC,GAAE/B,KAAEvB,GAAE,SAASoD,EAAC;AAAE,QAAG,MAAIC,GAAE,QAAOtD,GAAE,QAAQwB,EAAC;AAAE,QAAIhC,KAAEgC,GAAE,SAAS,GAAE8B,EAAC,GAAEJ,KAAE1B,GAAE,SAAS8B,EAAC;AAAE,WAAOtD,GAAE,SAAQ,GAAGyC,GAAE,aAAaS,IAAE1D,EAAC,CAAC;AAAA,EAAC;AAAC,EAAAZ,GAAE,aAAW,SAASA,IAAE6D,IAAEW,IAAE;AAAC,WAAO,EAAE5B,IAAE5C,IAAE6D,IAAEW,EAAC;AAAA,EAAC,GAAExE,GAAE,aAAWA,GAAE,YAAWA,GAAE,aAAWA,GAAE;AAAU,GAAE,EAAE,GAAE,KAAG,IAAG,KAAG,MAAI,GAAG,oBAAkB,OAAO,SAAO,SAASA,IAAE6D,IAAE,GAAExC,IAAE;AAAC,aAASA,OAAIA,KAAE;AAAG,MAAI,IAAE,OAAO,yBAAyBwC,IAAE,CAAC;AAAE,OAAG,EAAE,SAAQ,IAAE,CAACA,GAAE,aAAW,EAAE,YAAU,EAAE,kBAAgB,IAAE,EAAC,YAAW,MAAG,KAAI,WAAU;AAAC,WAAOA,GAAE,CAAC;AAAA,EAAC,EAAC,IAAG,OAAO,eAAe7D,IAAEqB,IAAE,CAAC;AAAC,IAAE,SAASrB,IAAE6D,IAAE,GAAExC,IAAE;AAAC,aAASA,OAAIA,KAAE,IAAGrB,GAAEqB,EAAC,IAAEwC,GAAE,CAAC;AAAC,IAAG,KAAG,MAAI,GAAG,gBAAc,SAAS7D,IAAE6D,IAAE;AAAC,WAAQ,KAAK7D,GAAE,eAAY,KAAG,OAAO,UAAU,eAAe,KAAK6D,IAAE,CAAC,KAAG,GAAGA,IAAE7D,IAAE,CAAC;AAAC,GAAE,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,IAAG,EAAE,GAAE,GAAG,IAAG,EAAE,GAAE,GAAG,IAAG,EAAE,GAAE,GAAG,IAAG,EAAE;AAAE,IAAI,KAAG,CAAA;AAAG,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,YAAU;AAAO,IAAI,KAAG,IAAG,KAAG,IAAG,MAAG,WAAU;AAAC,WAASA,GAAEA,IAAE;AAAC,SAAK,QAAK,GAAG,GAAG,wBAAwBA,IAAE,IAAE;AAAA,EAAC;AAAC,SAAOA,GAAE,UAAQ,SAAS6D,IAAE;AAAC,WAAO,IAAI7D,IAAE,GAAG,GAAG,gBAAgB6D,EAAC,CAAC;AAAA,EAAC,GAAE,OAAO,eAAe7D,GAAE,WAAU,gBAAe,EAAC,KAAI,WAAU;AAAC,WAAO,EAAE,SAAQ,GAAG,wBAAwB,KAAK,MAAK,KAAE,CAAC;AAAA,EAAC,GAAE,YAAW,OAAG,cAAa,KAAE,CAAC,GAAE,OAAO,eAAeA,GAAE,WAAU,cAAa,EAAC,KAAI,WAAU;AAAC,WAAO,EAAE,KAAK,KAAK,IAAI;AAAA,EAAC,GAAE,YAAW,OAAG,cAAa,KAAE,CAAC,GAAEA,GAAE,UAAU,QAAM,SAASA,IAAE;AAAC,WAAO,WAASA,OAAIA,KAAE,WAAO,GAAG,YAAYA,KAAE,KAAK,OAAK,KAAK,YAAY;AAAA,EAAC,GAAEA,GAAE,UAAU,cAAY,SAASA,IAAE6D,IAAE;AAAC,eAASA,OAAIA,KAAE;AAAI,QAAI,IAAEA,KAAE,KAAK,OAAK,KAAK,cAAaxC,KAAErB,GAAE,SAAS,MAAK6D,EAAC;AAAE,YAAM,GAAG,GAAG,cAAc,GAAExC,EAAC;AAAA,EAAC,GAAErB,GAAE,UAAU,SAAO,SAASA,IAAE;AAAC,YAAM,GAAG,GAAG,YAAY,KAAK,MAAKA,GAAE,IAAI;AAAA,EAAC,GAAEA;AAAC,GAAC;AAAG,GAAG,YAAU,IAAG,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,aAAW;AAAO,IAAI,KAAG,IAAG,KAAG,IAAG,KAAG,IAAG,MAAG,WAAU;AAAC,WAASA,GAAEA,IAAE;AAAC,QAAG,WAASA,GAAE,MAAK,WAAQ,GAAG,gBAAc;AAAA,SAAQ;AAAC,UAAG,KAAI,GAAG,mBAAmBA,EAAC,EAAE,OAAM,IAAI,MAAM,qBAAqB;AAAE,WAAK,OAAKA;AAAA,IAAC;AAAC,SAAK,YAAU,IAAI,GAAG,WAAU,GAAG,GAAG,cAAc,KAAK,IAAI,CAAC;AAAA,EAAC;AAAC,SAAOA,GAAE,UAAQ,SAAS6D,IAAE;AAAC,WAAO,IAAI7D,IAAE,GAAG,GAAG,WAAW6D,EAAC,CAAC;AAAA,EAAC,GAAE,OAAO,eAAe7D,GAAE,WAAU,UAAS,EAAC,KAAI,WAAU;AAAC,WAAO,EAAE,KAAK,KAAK,IAAI;AAAA,EAAC,GAAE,YAAW,OAAG,cAAa,KAAE,CAAC,GAAEA,GAAE,UAAU,QAAM,WAAU;AAAC,YAAM,GAAG,GAAG,YAAY,KAAK,IAAI;AAAA,EAAC,GAAEA,GAAE,UAAU,cAAY,SAASA,IAAE6D,IAAE;AAAC,eAASA,OAAIA,KAAE;AAAI,QAAI,IAAEA,KAAE,KAAK,UAAU,aAAW,KAAK,UAAU,cAAaxC,KAAE,KAAK,SAASrB,IAAE6D,EAAC;AAAE,YAAM,GAAG,GAAG,cAAc,GAAExC,EAAC;AAAA,EAAC,GAAErB,GAAE,UAAU,WAAS,SAASA,IAAE6D,IAAE;AAAC,WAAO,WAASA,OAAIA,KAAE,SAAI,GAAG,GAAG,gBAAgB,KAAK,MAAK7D,GAAE,YAAW6D,EAAC;AAAA,EAAC,GAAE7D,GAAE,UAAU,SAAO,SAASA,IAAE;AAAC,YAAM,GAAG,GAAG,YAAY,KAAK,MAAKA,GAAE,IAAI;AAAA,EAAC,GAAEA;AAAC,GAAC;AAAG,GAAG,aAAW,KAAG,SAASA,IAAE;AAAC,SAAO,eAAeA,IAAE,cAAa,EAAC,OAAM,KAAE,CAAC,GAAEA,GAAE,YAAUA,GAAE,aAAW;AAAO,MAAI6D,KAAE;AAAG,SAAO,eAAe7D,IAAE,cAAa,EAAC,YAAW,MAAG,KAAI,WAAU;AAAC,WAAO6D,GAAE;AAAA,EAAU,EAAC,CAAC;AAAE,MAAI,IAAE;AAAG,SAAO,eAAe7D,IAAE,aAAY,EAAC,YAAW,MAAG,KAAI,WAAU;AAAC,WAAO,EAAE;AAAA,EAAS,EAAC,CAAC;AAAC,GAAE,EAAE,IAAE,SAASA,IAAE;AAAC,SAAO,eAAeA,IAAE,cAAa,EAAC,OAAM,KAAE,CAAC,GAAEA,GAAE,QAAMA,GAAE,YAAUA,GAAE,aAAWA,GAAE,eAAa,QAAOA,GAAE,UAAQ,SAASA,IAAE0E,IAAE;AAAC,QAAIC,KAAE,IAAItD,GAAE,cAAW,IAAErB,cAAa,aAAW,IAAIqB,GAAE,UAAUrB,EAAC,IAAEqB,GAAE,UAAU,QAAQrB,EAAC,GAAEoB,KAAEuD,GAAE,YAAY,IAAE,GAAG,EAAE,qBAAmB,CAAG,GAAE/B,MAAE,GAAG,EAAE,8BAA4B+B,GAAE,UAAU,aAAWA,GAAE,UAAU,cAAa/D,MAAE,GAAG,EAAE,YAAYQ,IAAEsD,EAAC;AAAE,WAAO,EAAE,MAAK,GAAGb,GAAE,aAAajB,IAAEhC,EAAC,CAAC;AAAA,EAAC,GAAEZ,GAAE,UAAQ,SAASA,IAAE6D,IAAE;AAAC,QAAIa,KAAE1E,cAAa,aAAW,IAAIqB,GAAE,WAAWrB,EAAC,IAAEqB,GAAE,WAAW,QAAQrB,EAAC,GAAE2E,MAAE,GAAG,EAAE,kBAAgB,GAAI,IAAE,IAAItD,GAAE,UAAUwC,GAAE,SAAS,GAAEc,EAAC,CAAC,GAAEvD,KAAEyC,GAAE,SAASc,EAAC,GAAE/B,KAAE,EAAE,YAAY8B,KAAE,GAAG,EAAE,qBAAmB,CAAG;AAAE,WAAO,EAAE,MAAK,GAAG,EAAE,YAAY9B,IAAExB,EAAC,CAAC;AAAA,EAAC;AAAE,MAAIyC,KAAE,IAAG,IAAE,IAAGxC,KAAE,IAAG,IAAE;AAAG,MAAI,IAAE;AAAG,SAAO,eAAerB,IAAE,gBAAe,EAAC,YAAW,MAAG,KAAI,WAAU;AAAC,WAAO,EAAE;AAAA,EAAY,EAAC,CAAC;AAAE,MAAI,IAAE;AAAG,SAAO,eAAeA,IAAE,cAAa,EAAC,YAAW,MAAG,KAAI,WAAU;AAAC,WAAO,EAAE;AAAA,EAAU,EAAC,CAAC,GAAE,OAAO,eAAeA,IAAE,aAAY,EAAC,YAAW,MAAG,KAAI,WAAU;AAAC,WAAO,EAAE;AAAA,EAAS,EAAC,CAAC,GAAEA,GAAE,QAAM,EAAC,YAAW,EAAE,YAAW,YAAW,EAAE,YAAW,YAAW,EAAE,YAAW,YAAW,EAAE,YAAW,WAAU,EAAE,WAAU,gBAAe,EAAE,gBAAe,UAAS,EAAE,SAAQ;AAAC,GAAE,EAAE;AAAE,MAAM,KAAG,EAAE,mBAAmB,GAAE,KAAG,EAAE,qBAAqB,GAAE,KAAG,EAAE,aAAa,GAAE,KAAG,EAAE,2BAA2B;AAAE,GAAG,QAAM,YAAW,GAAG,QAAM,WAAU,GAAG,QAAM,WAAU,GAAG,QAAM;AAAU,MAAM,KAAG,EAAC,aAAY,IAAG,eAAc,IAAG,OAAM,IAAG,qBAAoB,GAAE;AAAE,IAAI,IAAG,KAAG,CAAA,GAAG,KAAG,CAAA;AAAG,MAAM,KAAG,CAAC6D,IAAE,MAAI,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAC,OAAG,GAAE,GAAG,KAAKA,EAAC,IAAE,SAASA,IAAE;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,UAAG,CAAC,MAAI,CAACA,GAAE;AAAO,QAAC,WAAU;AAAC,cAAM7D,KAAE;AAAG,aAAG,IAAG,KAAGA;AAAA,MAAC,GAAC;AAAG,YAAMwE,KAAE,GAAG,SAAS,GAAG,IAAE,GAAG,EAAE,QAAM,GAAG,EAAE,QAAOnD,KAAE,OAAO,OAAO,CAAA,GAAGwC,EAAC;AAAE,UAAG,OAAOxC,GAAE,QAAOwC,GAAE,OAAO,YAAS,CAAC7D,IAAEwE,EAAC,KAAI,OAAO,QAAQX,GAAE,MAAM,EAAE,CAAAxC,GAAErB,EAAC,IAAEwE;AAAE,YAAM,IAAE,KAAK,UAAUnD,EAAC;AAAE,SAAG,oBAAoB,gCAAgC,GAAG,MAAM,wBAAwBmD,EAAC,EAAE;AAAE,UAAG;AAAC,cAAMX,KAAE,MAAM,EAAEW,IAAE,EAAC,QAAO,QAAO,SAAQ,EAAC,QAAO,oBAAmB,gBAAe,mBAAkB,GAAE,MAAK,EAAC,CAAC,GAAEnD,KAAE,MAAMwC,GAAE;AAAO,WAAG,oBAAoB,kCAAkCxC,EAAC,EAAE,GAAE,GAAG,SAAO;AAAA,MAAC,SAAOmD,IAAE;AAAA,MAAC;AAAA,IAAC,EAAC;AAAA,EAAE,GAAEX,EAAC,EAAE,OAAO,MAAI;AAAA,EAAC;AAAG,EAAC;AAAG,MAAM,GAAE;AAAA,EAAC,YAAY7D,IAAE;AAAC,SAAK,UAAQ,OAAI,QAAMA,KAAE,SAAOA,GAAE,UAAQ,EAAE,OAAO,aAAa,GAAE,KAAK,SAAO,QAAMA,KAAE,SAAOA,GAAE,cAAY,GAAG,WAAW,QAAQA,GAAE,UAAU,IAAE,IAAI,GAAG,cAAW,GAAG,MAAM,8CAA6C,KAAK,MAAM,MAAK,CAAE,GAAE,GAAG,MAAM,8CAA6C,KAAK,MAAM,UAAU,OAAO,GAAE,GAAG,MAAM,mCAAkC,IAAI;AAAA,EAAC;AAAA,EAAC,gBAAe;AAAC,SAAK,QAAM,IAAI,GAAG;AAAA,EAAU;AAAA,EAAC,eAAc;AAAC,WAAO,KAAK,MAAM,UAAU,MAAK;AAAA,EAAE;AAAA,EAAC,QAAQA,IAAE6D,IAAE;AAAC,QAAI,IAAE7D;AAAE,QAAG,KAAK,QAAQ,KAAG;AAAC,SAAG,MAAM,2CAA0C6D,EAAC;AAAE,YAAMxC,KAAE,EAAE,KAAKrB,EAAC,GAAE,IAAE,GAAG,QAAQ6D,IAAExC,EAAC;AAAE,UAAE,EAAE,KAAK,CAAC,EAAE,SAAS,QAAQ;AAAA,IAAC,SAAOmD,IAAE;AAAC,YAAM,GAAG,MAAM,qCAAoCA,EAAC,GAAE,GAAG,MAAM,gCAA+B,KAAK,MAAM,MAAK,CAAE,GAAE,GAAG,MAAM,6BAA4BxE,EAAC,GAAE,GAAG,MAAM,iCAAgC6D,EAAC,GAAEW;AAAA,IAAC;AAAC,WAAO;AAAA,EAAC;AAAA,EAAC,QAAQxE,IAAE;AAAC,QAAI6D,KAAE7D;AAAE,QAAG,KAAK,QAAQ,KAAG;AAAC,SAAG,MAAM,uCAAsC,KAAK,MAAM,MAAK,CAAE;AAAE,YAAM,IAAE,EAAE,KAAKA,GAAE,SAAQ,GAAG,QAAQ;AAAE,MAAA6D,KAAE,GAAG,QAAQ,KAAK,MAAM,MAAK,GAAG,CAAC,EAAE,SAAQ;AAAA,IAAE,SAAOA,IAAE;AAAC,YAAM,GAAG,MAAM,oCAAmCA,EAAC,GAAE,GAAG,MAAM,gCAA+B,KAAK,MAAM,MAAK,CAAE,GAAE,GAAG,MAAM,sCAAqC7D,EAAC,GAAE6D;AAAA,IAAC;AAAC,WAAOA;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,SAAQ,KAAK,MAAM,MAAK,GAAG,QAAO,KAAK,MAAM,UAAU,MAAK,EAAE;AAAA,EAAC;AAAA,EAAC,WAAU;AAAC,OAAG,MAAM,uBAAsB,KAAK,WAAU,CAAE;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,EAA0C,SAAQ,SAA+xH;AAAO,MAAC,KAAG,4CAA2C,KAAG,CAAC,WAAW,GAAE,KAAG,QAAO,KAAG,KAAI,KAAG,EAAuD,sBAAqB,wBAAuB,sBAAqB,wBAAuB,eAAc,iBAAgB,gBAAe,kBAAiB,eAAc,iBAAgB,2BAA0B,6BAA4B,0BAAyB,4BAAyE,mBAAkB,qBAA8H,qBAAoB,uBAA4E,qBAAoB,uBAAsB,mBAAkB,qBAAoB,sBAAqB,wBAAuB,sBAAqB,wBAAuB,qBAAoB,uBAAsB,UAAS,YAAW,qBAAoB,qBAAoB,GAAE,KAAG,CAAC,GAAG,sBAAqB,GAAG,sBAAqB,GAAG,eAAc,GAAG,gBAAe,GAAG,eAAc,GAAG,2BAA0B,GAAG,0BAAyB,GAAG,mBAAkB,GAAG,qBAAoB,GAAG,mBAAkB,GAAG,sBAAqB,GAAG,sBAAqB,GAAG,qBAAoB,GAAG,UAAS,GAAG,mBAAmB;AAAE,SAAS,GAAG7D,IAAE;AAAC,SAAO,GAAG,SAASA,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,QAAK,EAAC,SAAQ6D,GAAC,IAAE7D;AAAE,KAAG,oBAAoB,0CAA0C6D,EAAC,EAAE,GAAE7D,GAAE,gBAAc,QAAOA,GAAE,QAAM,OAAGA,GAAE,2BAAyB;AAAE;AAAI,IAAC,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG;AAAA,CAAI,KAAG,OAAK,KAAG,CAAA,IAAK,eAAa,gBAAe,GAAG,UAAQ,WAAU,GAAG,UAAQ,WAAU,GAAG,SAAO,UAAS,GAAG,SAAO,UAAS,GAAG,aAAW,eAAa,SAASA,IAAE;AAAC,EAAAA,GAAE,WAAS,YAAWA,GAAE,iBAAe,kBAAiBA,GAAE,kBAAgB,mBAAkBA,GAAE,aAAW,cAAaA,GAAE,iBAAe,kBAAiBA,GAAE,eAAa,gBAAeA,GAAE,aAAW,cAAaA,GAAE,kBAAgB,mBAAkBA,GAAE,oBAAkB,qBAAoBA,GAAE,uBAAqB,wBAAuBA,GAAE,kBAAgB,mBAAkBA,GAAE,gBAAc,iBAAgBA,GAAE,WAAS,YAAWA,GAAE,cAAY,eAAcA,GAAE,sBAAoB,uBAAsBA,GAAE,SAAO,UAASA,GAAE,cAAY,OAAMA,GAAE,sBAAoB,uBAAsBA,GAAE,mBAAiB,oBAAmBA,GAAE,MAAI,OAAMA,GAAE,eAAa,gBAAeA,GAAE,aAAW,cAAaA,GAAE,oBAAkB,qBAAoBA,GAAE,UAAQ,WAAUA,GAAE,YAAU;AAAW,GAAE,OAAK,KAAG,CAAA,EAAG,IAAG,OAAK,KAAG,CAAA,IAAK,eAAa,iBAAe,SAASA,IAAE;AAAC,EAAAA,GAAE,sBAAoB,uBAAsBA,GAAE,sBAAoB,uBAAsBA,GAAE,oBAAkB,qBAAoBA,GAAE,uBAAqB,wBAAuBA,GAAE,oBAAkB,qBAAoBA,GAAE,uBAAqB,wBAAuBA,GAAE,qBAAmB;AAAM,GAAE,OAAK,KAAG,GAAG;AAAE,MAAM,WAAWyE,qBAAAA,cAAC;AAAA,EAAC,YAAY,EAAC,oBAAmBzE,IAAE,gBAAe6D,IAAE,SAAQ,GAAE,OAAMxC,IAAE,SAAQ,EAAC,GAAE;AAAC,UAAK,GAAG,KAAK,gBAAc,OAAG,KAAK,OAAK,GAAG,oBAAmB,KAAK,QAAM,OAAG,KAAK,UAAQ,GAAE,KAAK,qBAAmBrB,KAAG,QAAMqB,KAAE,SAAOA,GAAE,eAAawC,OAAI,GAAG,YAAY,4CAA4CA,EAAC,+BAA8BxC,EAAC,GAAE,KAAK,gBAAc,OAAI,KAAK,UAAQ,IAAI,GAAG,OAAO,OAAO,OAAO,OAAO,CAAA,GAAGA,EAAC,GAAE,EAAC,OAAM,QAAM,IAAE,SAAO,EAAE,WAAU,CAAC,CAAC,GAAE,KAAK,mBAAmB,MAAM,gBAAc,KAAK,SAAQ,KAAK,cAAY,KAAK,QAAQ,aAAY,GAAG,KAAK,QAAM,UAAM,QAAM,IAAE,SAAO,EAAE,mBAAkBwC,MAAG,KAAK,kBAAkBA,EAAC,GAAE,KAAK,mBAAmB,GAAG,GAAG,cAAa,KAAK,qBAAqB,KAAK,IAAI,CAAC;AAAA,EAAC;AAAA,EAAC,qBAAqB7D,IAAE;AAAC,UAAK,EAAC,kBAAiB6D,GAAC,IAAE,KAAK,mBAAmB,OAAO;AAAM,QAAG,GAAG,YAAY,iDAAiD,KAAK,OAAO,kBAAkB,KAAK,aAAa,qBAAqBA,EAAC,IAAG7D,EAAC,GAAE6D,GAAE,QAAO,KAAK,GAAG,YAAY,4GAA4G;AAAE,UAAK,EAAC,SAAQ,EAAC,IAAE7D;AAAE,SAAK,iBAAe,GAAG,YAAY,iDAAiD,KAAK,OAAO,qDAAqD,KAAK,IAAI,gBAAgB,KAAK,cAAc,EAAE,GAAE,KAAK,KAAK,GAAG,UAAS,EAAE,IAAI,GAAE,EAAE,SAAO,GAAG,qBAAmB,KAAK,UAAU,CAAC,GAAG,oBAAmB,GAAG,iBAAiB,CAAC,GAAE,GAAG,YAAY,2DAA0D,CAAC,GAAE,EAAE,UAAQ,KAAK,kBAAkB,EAAE,MAAM,GAAE,KAAK,mBAAmB,YAAY,EAAC,MAAK,GAAG,sBAAqB,QAAO,KAAK,YAAW,CAAC,EAAE,OAAO,CAAAA,OAAG;AAAC,SAAG,YAAY,4EAA2EA,EAAC;AAAA,IAAC,EAAC,GAAG,KAAK,QAAQ,GAAG,iBAAiB,KAAG,EAAE,SAAO,GAAG,wBAAsB,KAAK,UAAU,CAAC,GAAG,sBAAqB,GAAG,mBAAkB,GAAG,kBAAkB,CAAC,GAAE,GAAG,YAAY,4DAA4D,GAAE,EAAE,UAAQ,KAAK,kBAAkB,EAAE,MAAM,GAAE,KAAK,mBAAmB,YAAY,EAAC,MAAK,GAAG,kBAAiB,CAAC,EAAE,OAAO,CAAAA,OAAG;AAAC,SAAG,YAAY,yEAAwEA,EAAC;AAAA,IAAC,KAAI,KAAK,gBAAc,MAAG,KAAK,QAAQ,GAAG,iBAAiB,GAAE,KAAK,KAAK,GAAG,cAAc,KAAG,EAAE,SAAO,GAAG,sBAAoB,GAAG,YAAY,oFAAoF,GAAE,KAAK,UAAU,CAAC,GAAG,mBAAkB,GAAG,kBAAkB,CAAC,GAAE,KAAK,gBAAc,MAAG,KAAK,QAAQ,GAAG,iBAAiB,GAAE,KAAK,KAAK,GAAG,cAAc;AAAA,EAAE;AAAA,EAAC,UAAUA,IAAE;AAAC,SAAK,MAAK,GAAG,KAAK,UAAQ,IAAI,GAAGA,EAAC;AAAA,EAAC;AAAA,EAAC,QAAO;AAAC,OAAG,YAAY,kCAAkC,KAAK,OAAO,wBAAwB,GAAE,KAAK,QAAQ,GAAG,kBAAkB,GAAE,KAAK,KAAK,GAAG,UAAS,KAAK,IAAI,GAAE,KAAK,gBAAc;AAAA,EAAE;AAAA,EAAC,MAAM,EAAC,cAAaA,IAAE,OAAM6D,GAAC,GAAE;AAAC,UAAK,EAAC,kBAAiB,GAAE,iBAAgBxC,GAAC,IAAE,KAAK,mBAAmB,OAAO,OAAM,IAAEA,MAAG;AAAE,QAAE,GAAG,YAAY,6FAA6F,KAAG,GAAG,YAAY,kCAAkC,KAAK,OAAO,oBAAoBA,EAAC,iBAAiBrB,EAAC,SAAS,KAAK,IAAI,UAAU6D,EAAC,qBAAqB,CAAC,kBAAkB,KAAK,aAAa,EAAE,GAAE7D,KAAE,EAAE,KAAK,iBAAe,KAAK,SAAO,GAAG,sBAAoB,KAAK,SAAO,GAAG,yBAAuB6D,MAAG,GAAG,YAAY,kCAAkC,KAAK,OAAO,iCAAiCA,EAAC,aAAa,KAAK,IAAI,IAAG,KAAK,IAAI,GAAE,KAAK,MAAK,GAAG,KAAK,QAAQ,GAAG,oBAAoB,GAAE,KAAK,mBAAmB,YAAY,EAAC,MAAK,GAAG,mBAAkB,QAAO,KAAK,aAAY,GAAE,EAAC,CAAC,EAAE,OAAO,CAAA7D,OAAG;AAAC,SAAG,YAAY,0DAAyDA,EAAC;AAAA,IAAC,EAAC,KAAI,GAAG,YAAY,kCAAkC,KAAK,OAAO,4BAA4B,KAAK,gBAAc,SAAO,aAAa,gBAAe,KAAK,IAAI,IAAE,KAAK,iBAAe,SAAK6D,KAAE,GAAG,YAAY,iFAAiF,IAAE,IAAE,KAAK,mBAAmB,YAAY,EAAC,MAAK,GAAG,sBAAqB,QAAO,KAAK,aAAY,GAAE,EAAC,CAAC,EAAE,OAAO,CAAA7D,OAAG;AAAC,SAAG,YAAY,6DAA4DA,EAAC;AAAA,IAAC,EAAC,KAAI,KAAK,mBAAmB,YAAY,EAAC,MAAK,GAAG,oBAAmB,CAAC,EAAE,OAAO,CAAAA,OAAG;AAAC,SAAG,YAAY,4DAA2DA,EAAC;AAAA,IAAC,EAAC,GAAG,KAAK,MAAK;AAAA,EAAI;AAAA,EAAC,QAAQA,IAAE;AAAC,SAAK,OAAKA,IAAE,KAAK,KAAK,GAAG,UAASA,EAAC;AAAA,EAAC;AAAA,EAAC,UAAUA,IAAE;AAAC,IAAAA,GAAE,SAAO,KAAGA,GAAE,QAAQ,KAAK,KAAK,SAAQ,CAAE;AAAA,EAAC;AAAA,EAAC,oBAAoB,EAAC,UAASA,IAAE,UAAS6D,GAAC,GAAE;AAAC,SAAK,iBAAeA,IAAE,KAAK,UAAQ,IAAI,GAAG,EAAC,YAAW7D,IAAE,OAAM,KAAK,MAAK,CAAC,GAAE,KAAK,gBAAc;AAAA,EAAE;AAAA,EAAC,iBAAiBA,IAAE;AAAC,SAAK,gBAAcA;AAAA,EAAC;AAAA,EAAC,mBAAkB;AAAC,WAAO,KAAK;AAAA,EAAa;AAAA,EAAC,iBAAgB;AAAC,WAAO,KAAK;AAAA,EAAW;AAAA,EAAC,oBAAmB;AAAC,WAAO,KAAK;AAAA,EAAc;AAAA,EAAC,kBAAkBA,IAAE;AAAC,OAAG,YAAY,mCAAkCA,EAAC,GAAE,KAAK,iBAAeA;AAAA,EAAC;AAAA,EAAC,eAAeA,IAAE;AAAC,QAAG,CAAC,KAAK,eAAe,OAAM,IAAI,MAAM,0DAA0D;AAAE,WAAO,KAAK,QAAQ,QAAQA,IAAE,KAAK,cAAc;AAAA,EAAC;AAAA,EAAC,eAAeA,IAAE;AAAC,QAAG,CAAC,KAAK,eAAe,OAAM,IAAI,MAAM,0DAA0D;AAAE,WAAO,KAAK,QAAQ,QAAQA,EAAC;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,OAAM,OAAO,OAAO,OAAO,OAAO,CAAA,GAAG,KAAK,QAAQ,WAAU,CAAE,GAAE,EAAC,aAAY,KAAK,eAAc,CAAC,GAAE,MAAK,KAAK,MAAK,eAAc,KAAK,iBAAgB,EAAE;AAAA,EAAC;AAAA,EAAC,WAAU;AAAC,UAAMA,KAAE,EAAC,SAAQ,KAAK,WAAU,GAAG,eAAc,KAAK,eAAc,MAAK,KAAK,KAAI;AAAE,WAAO,KAAK,UAAUA,EAAC;AAAA,EAAC;AAAC;AAAC,EAAC,SAASA,IAAE;AAAC,EAAAA,GAAE,YAAU,aAAYA,GAAE,SAAO,UAASA,GAAE,QAAM,SAAQA,GAAE,YAAU,aAAYA,GAAE,UAAQ,WAAUA,GAAE,cAAY,eAAcA,GAAE,cAAY,eAAcA,GAAE,kBAAgB,mBAAkBA,GAAE,QAAM,SAAQA,GAAE,MAAI,OAAMA,GAAE,aAAW,cAAaA,GAAE,OAAK,QAAOA,GAAE,QAAM;AAAO,GAAE,OAAK,KAAG,CAAA,EAAG,IAAE,SAASA,IAAE;AAAC,EAAAA,GAAE,UAAQ,+BAA8BA,GAAE,iBAAe,sCAAqCA,GAAE,YAAU,iCAAgCA,GAAE,YAAU,8BAA6BA,GAAE,mBAAiB,qCAAoCA,GAAE,aAAW,6BAA4BA,GAAE,WAAS,2BAA0BA,GAAE,aAAW,6BAA4BA,GAAE,eAAa,oBAAmBA,GAAE,oBAAkB,qBAAoBA,GAAE,kBAAgB,mBAAkBA,GAAE,2BAAyB,4BAA2BA,GAAE,uBAAqB,wBAAuBA,GAAE,yBAAuB,0BAAyBA,GAAE,wBAAsB;AAAuB,GAAE,OAAK,KAAG,CAAA,EAAG;AAAE,MAAM,KAAG,CAACA,IAAE6D,IAAE,MAAI,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAC,MAAIxC,IAAE,GAAE,GAAE,GAAE,GAAED;AAAE,QAAK,EAAC,QAAOwB,IAAE,OAAMhC,GAAC,IAAEZ,IAAE,EAAC,WAAUsE,IAAE,cAAa3D,GAAC,IAAEC;AAAE,MAAG,uBAAqBiD,GAAE,QAAO,GAAG,cAAc,qCAAqCS,EAAC,aAAa,GAAE,KAAKtE,GAAE,KAAK,GAAG,SAAS;AAAE,MAAG,CAAC,EAAE,QAAO,KAAK,GAAG,cAAc,mDAAmDsE,EAAC,EAAE;AAAE,QAAK,EAAC,aAAYC,IAAE,WAAUf,IAAE,UAASzD,GAAC,IAAE;AAAE,MAAG,GAAG,cAAc,qCAAqCuE,EAAC,gBAAgBC,EAAC,cAAcf,EAAC,aAAazD,EAAC,EAAE,GAAEA,GAAE,QAAO,GAAG,cAAc,qCAAqCuE,EAAC,WAAW,GAAE,MAAMtE,GAAE,OAAO,WAAW,EAAC,WAAU,KAAE,CAAC,GAAEA,GAAE,OAAO,KAAK,GAAG,UAAS,EAAC,WAAUsE,GAAC,CAAC,GAAE,KAAKtE,GAAE,OAAO,uBAAsB;AAAG,MAAGwD,MAAG,EAAE,UAAQnC,KAAEuB,GAAE,MAAM,kBAAgB,WAASvB,KAAE,SAAOA,GAAE,WAAU;AAAC,IAAArB,GAAE,iBAAiB,kBAAkBwD,EAAC,GAAE,UAAQ,IAAExD,GAAE,MAAM,gBAAc,WAAS,KAAG,EAAE,iBAAiB,IAAE,GAAE4C,GAAE,MAAM,QAAM,MAAGA,GAAE,MAAM,aAAW,MAAGA,GAAE,KAAK,GAAG,UAAU;AAAE,UAAK,EAAC,oBAAmBiB,IAAE,gBAAeW,GAAC,IAAE5B,GAAE,OAAMvB,KAAE,OAAO,OAAO,OAAO,OAAO,CAAA,GAAGuB,GAAE,MAAM,aAAa,GAAE,EAAC,WAAU,UAAQ,IAAEA,GAAE,MAAM,cAAY,WAAS,IAAE,IAAE,IAAG,YAAW,KAAK,IAAG,IAAG,IAAG,UAAS,QAAMiB,KAAE,SAAOA,GAAE,WAAU,EAAG,MAAM,SAAQ,UAASL,GAAC,CAAC;AAAE,IAAAxD,GAAE,YAAY,EAAC,MAAK,GAAG,kBAAiB,CAAC,EAAE,OAAO,CAAAA,OAAG;AAAA,IAAC,EAAC,GAAG,UAAQ,IAAEA,GAAE,MAAM,WAAS,WAAS,KAAG,EAAE,KAAK,GAAG,MAAK,EAAC,IAAGsE,IAAE,YAAW3D,KAAE,SAAO,UAAS,SAAQ,wBAAuB,SAAQ,GAAE,CAAC,GAAE,MAAM,QAAM6D,KAAE,SAAOA,GAAE,qBAAqBnD,EAAC,GAAEuB,GAAE,uBAAsB,GAAGA,GAAE,oBAAoB,GAAG,MAAM;AAAA,EAAC;AAAC,EAAA2B,OAAIvE,GAAE,KAAK,GAAG,mBAAmB,GAAE,UAAQ,IAAEA,GAAE,MAAM,gBAAc,WAAS,KAAG,EAAE,iBAAiB,IAAE,GAAE4C,GAAE,MAAM,QAAM,MAAGA,GAAE,MAAM,aAAW,MAAGA,GAAE,KAAK,GAAG,UAAU,GAAE,GAAG,OAAO,OAAO,OAAO,OAAO,EAAC,IAAG,QAAM0B,KAAEA,KAAE,IAAG,OAAM3D,KAAE,GAAG,YAAU,GAAG,iBAAgB,GAAEX,GAAE,OAAO,MAAM,cAAc,GAAE,EAAC,YAAWA,GAAE,OAAO,MAAM,YAAW,WAAUA,GAAE,MAAM,8BAA6B,kBAAiB,GAAG,SAAQ,eAAc,UAAQoB,KAAEpB,GAAE,OAAO,MAAM,eAAa,WAASoB,KAAE,SAAOA,GAAE,QAAO,CAAC,GAAER,GAAE,sBAAsB,EAAE,OAAO,CAAAZ,OAAG;AAAA,EAAC,EAAC;AAAG,EAAC,GAAG,KAAG,CAAAA,OAAG,IAAI,SAAS,CAAA6D,OAAG;AAAC,aAAWA,IAAE7D,EAAC;AAAC,EAAC,GAAG,KAAG,CAACA,IAAE6D,OAAK,MAAI,EAAE,QAAO,CAAC7D,IAAE6D,IAAE,GAAG,CAAC,GAAE,SAAQ,WAAU7D,IAAE6D,IAAEW,KAAE,KAAI;AAAC,MAAInD;AAAE,QAAM,IAAE,KAAK,IAAG;AAAG,MAAI,IAAE;AAAG,SAAK,CAAC,KAAG;AAAC,QAAG,IAAE,KAAK,IAAG,IAAG,IAAE,KAAIA,KAAEwC,GAAE7D,EAAC,GAAE,WAASqB,GAAE,YAAY,QAAOA;AAAE,UAAM,GAAGmD,EAAC;AAAA,EAAC;AAAC,QAAM,IAAI,MAAM,OAAOxE,EAAC,YAAY;AAAC,EAAC,GAAG,KAAG,CAAAA,OAAG,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAC,QAAK,EAAC,OAAM6D,GAAC,IAAE7D,IAAE,EAAC,QAAO,GAAE,WAAUqB,IAAE,SAAQ,GAAE,cAAa,GAAE,gBAAe,EAAC,IAAEwC;AAAE,MAAG,EAAE,QAAO,GAAG,cAAc,iFAAgF7D,EAAC,GAAE;AAAG,MAAG,CAAC,EAAE,QAAO,GAAG,cAAc,4DAA2DA,EAAC,GAAE;AAAG,MAAG,CAACqB,GAAE,QAAM;AAAG,QAAK,EAAC,WAAU,EAAC,IAAE;AAAE,EAAAwC,GAAE,iBAAe,MAAGA,GAAE,uBAAqB,GAAE,GAAG,cAAc,gDAAgD,CAAC,qDAAoD7D,EAAC;AAAE,MAAG;AAAC,WAAK,IAAE6D,GAAE,wBAAsB;AAAC,UAAG,GAAG,cAAc,8CAA8CA,GAAE,uBAAqB,CAAC,SAAQ7D,EAAC,GAAE,MAAM,GAAG,GAAG,GAAE,EAAE,UAAU,QAAO,GAAG,cAAc,wDAAwD,GAAE,EAAE,KAAK,GAAG,MAAK,EAAC,IAAGqB,IAAE,YAAW,IAAE,SAAO,UAAS,SAAQ,qBAAoB,SAAQ,GAAE,CAAC,GAAE;AAAG,MAAAwC,GAAE,UAAQ,MAAG,EAAE,WAAU7D,GAAE,KAAK,GAAG,gBAAgB;AAAE,UAAG;AAAC,YAAG,MAAM,IAAI,SAAS,CAAC6D,IAAEc,OAAI;AAAC,YAAE,KAAK,GAAG,cAAa,EAAC,WAAUtD,IAAE,SAAQ,GAAG,CAAC,iBAAgB,YAAW,IAAE,SAAO,SAAQ,IAAG,CAACmD,IAAEnD,OAAI,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAC,gBAAG;AAAC,oBAAM,GAAGrB,IAAEwE,IAAEnD,EAAC,GAAEwC,GAAC;AAAA,YAAE,SAAO7D,IAAE;AAAC,cAAA2E,GAAE3E,EAAC;AAAA,YAAC;AAAA,UAAC,IAAG;AAAA,QAAE,EAAC,GAAG,MAAM,GAAG,GAAG,GAAE,EAAE,UAAU,QAAO,GAAG,cAAc,sCAAsC6D,GAAE,uBAAqB,CAAC,EAAE,GAAE;AAAA,MAAE,SAAO7D,IAAE;AAAC,WAAG,cAAc,qCAAqC6D,GAAE,uBAAqB,CAAC,KAAI7D,EAAC;AAAA,MAAC;AAAC,MAAA6D,GAAE,wBAAsB,GAAE,IAAEA,GAAE,yBAAuB,MAAM,GAAG,GAAG;AAAA,IAAE;AAAC,WAAO,GAAG,cAAc,sCAAsC,GAAE;AAAA,EAAE,UAAC;AAAQ,IAAAA,GAAE,iBAAe,OAAGA,GAAE,uBAAqB;AAAA,EAAC;AAAC,EAAC;AAAG,SAAS,GAAG7D,IAAE6D,IAAE;AAAC,SAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,QAAI;AAAE,UAAMxC,KAAE,UAAQ,IAAErB,GAAE,MAAM,gBAAc,WAAS,IAAE,SAAO,EAAE,eAAe,KAAK,UAAU6D,EAAC,CAAC,GAAE,IAAE,EAAC,IAAG7D,GAAE,MAAM,WAAU,SAAQA,GAAE,MAAM,SAAQ,YAAWA,GAAE,MAAM,eAAa,SAAO,UAAS,SAAQqB,IAAE,WAAUrB,GAAE,MAAM,eAAa,KAAK,UAAU6D,EAAC,IAAE,OAAM;AAAE,WAAO,GAAG,cAAc,oDAAoD7D,GAAE,MAAM,OAAO,IAAG,CAAC,GAAE6D,GAAE,SAAO,GAAG,cAAY7D,GAAE,MAAM,mBAAiB,OAAI,IAAI,SAAS,CAAC6D,IAAEW,OAAI;AAAC,UAAInD;AAAE,gBAAQA,KAAErB,GAAE,MAAM,WAAS,WAASqB,MAAGA,GAAE,KAAK,GAAG,SAAQ,IAAG,CAACrB,IAAEqB,OAAI;AAAC,YAAIoD;AAAE,QAAAzE,OAAI,GAAG,cAAc,kDAAkDA,EAAC,EAAE,GAAEwE,GAAExE,EAAC,IAAG,GAAG,cAAc,oCAAmCqB,EAAC,GAAEwC,GAAE,UAAQY,KAAE,QAAMpD,KAAE,SAAOA,GAAE,YAAU,WAASoD,MAAGA,EAAC;AAAA,MAAC,EAAC;AAAA,IAAE,EAAC;AAAA,EAAE,EAAC;AAAE;AAAC,IAAI;AAAG,EAAC,SAASzE,IAAE;AAAC,EAAAA,GAAE,YAAU,YAAWA,GAAE,cAAY;AAAY,GAAE,OAAK,KAAG,CAAA,EAAG;AAAE,MAAM,KAAG,CAAC,uBAAsB,qBAAoB,uBAAsB,iBAAgB,6BAA4B,8BAA6B,wBAAuB,wBAAuB,wBAAuB,wBAAuB,gBAAgB,EAAE,KAAK,CAAAA,OAAGA,GAAE,YAAW,EAAE;AAAG,MAAM,KAAG,CAAC,EAAC,OAAM,GAAG,mBAAkB,SAAQ,SAASA,IAAE6D,IAAE;AAAC,SAAO,OAAG,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,QAAIW,IAAEnD,IAAE,GAAE,GAAE,GAAE,GAAED,IAAEwB,IAAEhC,IAAE0D,IAAE3D;AAAE,UAAM4D,KAAE,UAAQlD,KAAE,UAAQmD,KAAExE,GAAE,OAAO,MAAM,kBAAgB,WAASwE,KAAE,SAAOA,GAAE,qBAAmB,WAASnD,MAAGA;AAAE,QAAG,GAAG,cAAc,qDAAqDrB,GAAE,MAAM,OAAO,0BAA0B6D,EAAC,sBAAsBU,EAAC,YAAYvE,GAAE,MAAM,OAAO,mBAAmBA,GAAE,MAAM,aAAa,kBAAkB,UAAQ,IAAEA,GAAE,MAAM,gBAAc,WAAS,IAAE,SAAO,EAAE,iBAAgB,CAAE,iBAAiBA,GAAE,MAAM,YAAY,EAAE,GAAEA,GAAE,KAAK,GAAG,mBAAkB,EAAC,cAAaA,GAAE,MAAM,cAAa,eAAc,UAAQ,IAAEA,GAAE,MAAM,gBAAc,WAAS,IAAE,SAAO,EAAE,iBAAgB,GAAG,SAAQA,GAAE,MAAM,QAAO,CAAC,GAAEA,GAAE,MAAM,QAAQ,CAAAA,GAAE,MAAM,iBAAe,GAAG,cAAc,qDAAqDA,GAAE,MAAM,OAAO,wCAAwC,UAAQ,IAAEA,GAAE,MAAM,gBAAc,WAAS,IAAE,SAAO,EAAE,kBAAkB,4BAA4B,GAAE,UAAQ,IAAEA,GAAE,MAAM,gBAAc,WAAS,KAAG,EAAE,MAAM,EAAC,cAAa,UAAQoB,KAAEpB,GAAE,MAAM,iBAAe,WAASoB,MAAGA,GAAC,CAAC,IAAGpB,GAAE,MAAM,UAAQ;AAAA,aAAWA,GAAE,MAAM,cAAc,IAAG,cAAc,oGAAoG;AAAA,aAAU,CAACA,GAAE,MAAM,cAAa;AAAC,YAAM6D,KAAE,CAACU;AAAE,SAAG,cAAc,qDAAqDvE,GAAE,MAAM,OAAO,2CAA2C,UAAQ4C,KAAE5C,GAAE,MAAM,gBAAc,WAAS4C,KAAE,SAAOA,GAAE,iBAAgB,CAAE,aAAaiB,EAAC,4BAA4B,GAAE,GAAG,cAAc,qDAAqD7D,GAAE,MAAM,OAAO,2CAA2C,UAAQY,KAAEZ,GAAE,MAAM,gBAAc,WAASY,KAAE,SAAOA,GAAE,kBAAkB,aAAaiD,EAAC,4BAA4B,GAAE,UAAQS,KAAEtE,GAAE,MAAM,gBAAc,WAASsE,MAAGA,GAAE,MAAM,EAAC,cAAa,UAAQ3D,KAAEX,GAAE,MAAM,iBAAe,WAASW,MAAGA,IAAE,OAAMkD,GAAC,CAAC;AAAA,IAAC;AAAC,IAAA7D,GAAE,MAAM,mBAAiB,MAAGA,GAAE,MAAM,gBAAc;AAAA,EAAE,EAAC;AAAE,EAAC,GAAE,EAAC,OAAM,GAAG,iBAAgB,SAAQ,SAASA,IAAE6D,IAAE;AAAC,SAAO,OAAG;AAAC,OAAG,cAAc,mDAAmD7D,GAAE,MAAM,OAAO,wBAAwB6D,EAAC,KAAI,CAAC,GAAE7D,GAAE,KAAK,GAAG,iBAAgB,CAAC;AAAA,EAAC;AAAC,EAAC,GAAE,EAAC,OAAM,GAAG,sBAAqB,SAAQ,SAASA,IAAE6D,IAAE;AAAC,SAAM,MAAI;AAAC,QAAI;AAAE,IAAA7D,GAAE,MAAM,mBAAiB,OAAG,GAAG,cAAc,yDAAyDA,GAAE,MAAM,OAAO,6BAA6B6D,EAAC,GAAG,GAAE7D,GAAE,OAAO,MAAM,mBAAiB,GAAG,cAAc,yDAAyDA,GAAE,MAAM,OAAO,6BAA6B6D,EAAC,8DAA8D,KAAG7D,GAAE,MAAM,gBAAc,CAACA,GAAE,MAAM,kBAAgB,UAAQ,IAAEA,GAAE,MAAM,gBAAc,WAAS,KAAG,EAAE,MAAK,IAAIA,GAAE,KAAK,GAAG,sBAAqB6D,EAAC;AAAA,EAAE;AAAC,EAAC,GAAE,EAAC,OAAM,GAAG,QAAO,SAAQ,SAAS7D,IAAE6D,IAAE;AAAC,SAAO,OAAG,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,QAAIxC,IAAE,GAAE;AAAE,OAAG,cAAc,6EAA6EwC,EAAC,KAAI,CAAC;AAAE,UAAK,EAAC,aAAY,GAAE,WAAU,EAAC,IAAE;AAAE,IAAA7D,GAAE,MAAM,gBAAcA,GAAE,OAAO,MAAM,iBAAe,EAAE,aAAW,CAACA,GAAE,OAAO,MAAM,cAAc,aAAW,GAAG,cAAc,sBAAsB,CAAC,EAAE,GAAEA,GAAE,OAAO,MAAM,cAAc,WAAS,GAAEA,GAAE,iBAAiB,kBAAkB,EAAE,SAAS,GAAE,UAAQqB,KAAErB,GAAE,MAAM,gBAAc,WAASqB,MAAGA,GAAE,iBAAiB,IAAE,GAAE,MAAMrB,GAAE,OAAO,YAAY,EAAC,MAAK,GAAG,kBAAiB,CAAC,GAAE,MAAMA,GAAE,OAAO,YAAY,EAAC,MAAK,GAAG,KAAI,CAAC,GAAE,MAAM,UAAQ,IAAEA,GAAE,OAAO,MAAM,mBAAiB,WAAS,IAAE,SAAO,EAAE,qBAAqBA,GAAE,OAAO,MAAM,aAAa,IAAG,SAAK,KAAGA,GAAE,OAAO,MAAM,cAAc,qBAAmB,GAAG,cAAc,6BAA6B,CAAC,EAAE,GAAEA,GAAE,OAAO,MAAM,cAAc,mBAAiB,GAAEA,GAAE,OAAO,MAAM,mBAAiB,MAAGA,GAAE,OAAO,KAAK,GAAG,mBAAmB,GAAEA,GAAE,OAAO,MAAM,aAAW,MAAGA,GAAE,OAAO,MAAM,QAAM,MAAGA,GAAE,OAAO,KAAK,GAAG,UAAU,GAAE,MAAM,UAAQ,IAAEA,GAAE,OAAO,MAAM,mBAAiB,WAAS,IAAE,SAAO,EAAE,qBAAqBA,GAAE,OAAO,MAAM,aAAa,MAAIA,GAAE,MAAM,gBAAc,EAAE,gBAAcA,GAAE,OAAO,MAAM,mBAAiB,MAAGA,GAAE,OAAO,KAAK,GAAG,mBAAmB;AAAA,EAAE,EAAC;AAAE,EAAC,GAAE,EAAC,OAAM,GAAG,SAAQ,SAAQ,SAASA,IAAE6D,IAAE;AAAC,SAAO,CAAAxC,OAAG;AAAC,QAAI,GAAE,GAAE,GAAE,GAAED,IAAEwB,IAAEhC,IAAE0D,IAAE3D,IAAE4D,IAAEf,IAAEzD,IAAEW,IAAEI,IAAEK,IAAEoB,IAAE1B,IAAEgE;AAAE,UAAK,EAAC,OAAMC,IAAE,SAAQC,IAAE,OAAMC,GAAC,IAAE3D,IAAEa,KAAE,UAAQ,IAAElC,GAAE,OAAO,MAAM,qBAAmB,WAAS,KAAG;AAAE,QAAG,GAAG,cAAc,qDAAqDkC,EAAC,aAAalC,GAAE,MAAM,OAAO,iBAAiB6D,EAAC,kBAAkB,UAAQ,IAAE7D,GAAE,MAAM,gBAAc,WAAS,IAAE,SAAO,EAAE,iBAAgB,CAAE,IAAGqB,EAAC,GAAE2D,GAAE,OAAM,GAAG,cAAc;AAAA,gDAAmDhF,GAAE,MAAM,OAAO,wBAAwBgF,EAAC,EAAE,GAAE,IAAI,MAAMA,EAAC;AAAE,UAAMC,KAAE,YAAU,OAAOF;AAAE,QAAG,CAACE,OAAI,QAAMF,KAAE,SAAOA,GAAE,UAAQ,GAAG,qBAAoB;AAAC,UAAG7C,GAAE;AAAO,aAAO,GAAG,cAAc,2CAA2ClC,GAAE,MAAM,OAAO,wDAAwDA,GAAE,MAAM,YAAY,IAAG+E,EAAC,GAAE,MAAK,UAAQ,IAAE/E,GAAE,MAAM,gBAAc,WAAS,KAAG,EAAE,MAAM,EAAC,cAAa,UAAQ,IAAEA,GAAE,MAAM,iBAAe,WAAS,KAAG,GAAE,OAAM,KAAE,CAAC;AAAA,IAAE;AAAC,QAAG,CAACiF,OAAI,UAAQ7D,KAAE,QAAM2D,KAAE,SAAOA,GAAE,SAAO,WAAS3D,KAAE,SAAOA,GAAE,WAAW,eAAe,IAAG;AAAC,UAAGc,GAAE;AAAO,aAAO,GAAG,cAAc,2CAA2ClC,GAAE,MAAM,OAAO,oCAAmC+E,EAAC,GAAE,KAAK/E,GAAE,KAAK,GAAG,cAAa,EAAC,SAAQ+E,IAAE,SAAQ/E,GAAE,MAAM,QAAO,CAAC;AAAA,IAAC;AAAC,QAAGiF,MAAG,EAAE,UAAQrC,KAAE5C,GAAE,MAAM,gBAAc,WAAS4C,KAAE,SAAOA,GAAE,iBAAgB,IAAI;AAAC,UAAIiB,KAAE;AAAG,UAAG;AAAC,WAAG,cAAc,2CAA2C7D,GAAE,MAAM,OAAO,0CAA0C,GAAE,UAAQY,KAAEZ,GAAE,MAAM,gBAAc,WAASY,MAAGA,GAAE,eAAemE,EAAC,GAAElB,KAAE;AAAA,MAAE,SAAOA,IAAE;AAAC,WAAG,cAAc,2CAA2C7D,GAAE,MAAM,OAAO,wBAAuB6D,EAAC;AAAA,MAAC;AAAC,UAAG,CAACA,GAAE,QAAO7D,GAAE,MAAM,eAAa,UAAQW,KAAEX,GAAE,MAAM,gBAAc,WAASW,MAAGA,GAAE,MAAM,EAAC,cAAa,UAAQ4D,KAAEvE,GAAE,MAAM,iBAAe,WAASuE,MAAGA,GAAC,CAAC,IAAEvE,GAAE,YAAY,EAAC,MAAK,GAAG,oBAAmB,CAAC,EAAE,OAAO,CAAAA,OAAG;AAAA,MAAC,EAAC,GAAG,KAAK,GAAG,cAAc,6DAA6D,UAAQwD,KAAExD,GAAE,MAAM,gBAAc,WAASwD,KAAE,SAAOA,GAAE,WAAU,EAAG,IAAI,IAAG,UAAQzD,KAAEC,GAAE,MAAM,gBAAc,WAASD,KAAE,SAAOA,GAAE,WAAU,GAAGgF,EAAC;AAAE,SAAG,cAAc,uDAAuD,GAAE,UAAQT,KAAEtE,GAAE,MAAM,gBAAc,WAASsE,MAAGA,GAAE,iBAAiB,IAAE;AAAA,IAAC,WAAS,CAACW,OAAI,QAAMF,KAAE,SAAOA,GAAE,MAAM,QAAO,KAAK/E,GAAE,KAAK,GAAG,SAAQ+E,EAAC;AAAE,QAAG,CAACE,GAAE,QAAO,KAAKjF,GAAE,KAAK,GAAG,SAAQ+E,EAAC;AAAE,UAAMG,KAAE,UAAQxE,KAAEV,GAAE,MAAM,gBAAc,WAASU,KAAE,SAAOA,GAAE,eAAeqE,EAAC,GAAEI,KAAE,KAAK,MAAM,QAAMD,KAAEA,KAAE,IAAI;AAAE,QAAGJ,OAAI,QAAMA,KAAE,SAAOA,GAAE,UAAQ,MAAI,GAAG,cAAc,2CAA2C9E,GAAE,MAAM,OAAO,wBAAwB8E,EAAC,cAAcjB,EAAC,EAAE,GAAE,UAAQ/C,KAAEd,GAAE,MAAM,WAAS,WAASc,MAAGA,GAAE,KAAK,GAAG,aAAY,EAAC,OAAMgE,IAAE,WAAUjB,IAAE,YAAW7D,GAAE,MAAM,eAAa,SAAO,SAAQ,CAAC,IAAGA,GAAE,MAAM,iBAAe,QAAMmF,KAAE,SAAOA,GAAE,UAAQ,GAAG,OAAMnF,GAAE,MAAM,gBAAcmF,GAAE,MAAK;AAAC,YAAMtB,KAAEsB,GAAE,MAAK9D,KAAErB,GAAE,MAAM,iBAAiB6D,GAAE,EAAE;AAAE,UAAGxC,IAAE;AAAC,cAAMoD,KAAE,KAAK,IAAG,IAAGpD,GAAE;AAAU,WAAG,cAAc,2CAA2CrB,GAAE,MAAM,OAAO,yCAAyC6D,GAAE,EAAE,WAAWxC,GAAE,MAAM,iBAAiBoD,EAAC,IAAGU,EAAC,GAAEnF,GAAE,OAAO,MAAM,aAAW,GAAG,SAASqB,GAAE,OAAO,YAAW,CAAE,KAAG,GAAG,OAAO,OAAO,OAAO,OAAO,EAAC,IAAG,UAAQF,KAAEnB,GAAE,OAAO,MAAM,cAAY,WAASmB,KAAEA,KAAE,IAAG,OAAM,GAAG,sBAAqB,YAAWnB,GAAE,OAAO,MAAM,YAAW,kBAAiB,GAAG,QAAO,GAAEA,GAAE,OAAO,MAAM,cAAc,GAAE,EAAC,eAAc,UAAQuC,KAAEvC,GAAE,OAAO,MAAM,eAAa,WAASuC,KAAE,SAAOA,GAAE,SAAQ,QAAO,EAAC,QAAOlB,GAAE,QAAO,MAAK,SAAQ,EAAC,CAAC,GAAErB,GAAE,OAAO,MAAM,sBAAsB,EAAE,OAAO,CAAAA,OAAG;AAAA,QAAC,KAAI,GAAGqB,GAAE,MAAM,KAAGmD,KAAAA,UAAE,MAAMX,GAAE,QAAM,SAAOA,GAAE,MAAM,OAAK,wBAAsB,sBAAoB,wBAAuB,EAAC,QAAOxC,GAAE,OAAM,CAAC;AAAE,cAAMqD,KAAE,OAAO,OAAO,OAAO,OAAO,CAAA,GAAGrD,EAAC,GAAE,EAAC,QAAOwC,GAAE,QAAO,OAAMA,GAAE,QAAM,EAAC,MAAK,UAAQhD,KAAEgD,GAAE,UAAQ,WAAShD,KAAE,SAAOA,GAAE,MAAK,SAAQ,UAAQgE,KAAEhB,GAAE,UAAQ,WAASgB,KAAE,SAAOA,GAAE,QAAO,IAAE,QAAO,aAAYJ,GAAC,CAAC;AAAE,QAAAzE,GAAE,MAAM,iBAAiB6D,GAAE,EAAE,IAAEa,IAAE1E,GAAE,KAAK,GAAG,YAAW0E,EAAC;AAAA,MAAC;AAAA,IAAC;AAAC,IAAA1E,GAAE,KAAK,GAAG,SAAQ,EAAC,SAAQmF,GAAC,CAAC;AAAA,EAAC;AAAC,EAAC,GAAE,EAAC,OAAM,GAAG,UAAS,SAAQ,SAASnF,IAAE6D,IAAE;AAAC,SAAO,CAAAxC,OAAG,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,QAAIA;AAAE,IAAArB,GAAE,MAAM,gBAAc,CAACA,GAAE,OAAO,MAAM,SAAO,GAAG,cAAc,oDAAoDA,GAAE,MAAM,OAAO,cAAc6D,EAAC,iBAAiB7D,GAAE,MAAM,YAAY,UAAUA,GAAE,OAAO,MAAM,KAAK,IAAGA,GAAE,OAAO,MAAM,cAAc,GAAE,GAAG,OAAO,OAAO,OAAO,OAAO,EAAC,IAAG6D,IAAE,OAAM,GAAG,SAAQ,GAAE7D,GAAE,OAAO,MAAM,cAAc,GAAE,EAAC,YAAWA,GAAE,OAAO,MAAM,YAAW,WAAUA,GAAE,MAAM,8BAA6B,kBAAiB,GAAG,SAAQ,eAAc,UAAQqB,KAAErB,GAAE,OAAO,MAAM,eAAa,WAASqB,KAAE,SAAOA,GAAE,QAAO,CAAC,GAAErB,GAAE,OAAO,MAAM,sBAAsB,EAAE,OAAO,CAAAA,OAAG;AAAA,IAAC,EAAC,GAAGwE,KAAAA,UAAE,MAAM,2BAA0B,EAAC,gBAAe,YAAW,CAAC,GAAE,MAAMxE,GAAE,OAAO,WAAW,EAAC,WAAU,KAAE,CAAC,GAAEA,GAAE,OAAO,KAAK,GAAG,UAAS,EAAC,WAAU6D,GAAC,CAAC,GAAE7D,GAAE,OAAO,oBAAoB,GAAG,YAAY,KAAG,GAAG,cAAc,8DAA8D6D,EAAC,iBAAiB7D,GAAE,MAAM,YAAY,UAAUA,GAAE,OAAO,MAAM,KAAK,EAAE;AAAA,EAAC,EAAC;AAAE,EAAC,GAAE,EAAC,OAAM,2BAA0B,SAAQ,SAASA,IAAE6D,IAAE;AAAC,SAAO,OAAG;AAAC,OAAG,cAAc,yDAAyD7D,GAAE,MAAM,OAAO,gCAAgC6D,EAAC,KAAI,CAAC,GAAE7D,GAAE,KAAK,GAAG,iBAAgB,CAAC;AAAA,EAAC;AAAC,EAAC,CAAC,GAAE,KAAG,CAAC,EAAC,OAAM,GAAG,UAAS,SAAQ,SAASA,IAAE;AAAC,SAAO,CAAA6D,OAAG;AAAC,OAAG,cAAc,kDAAiDA,EAAC,GAAE7D,GAAE,KAAK,GAAG,UAAS6D,EAAC;AAAA,EAAC;AAAC,EAAC,GAAE,EAAC,OAAM,GAAG,gBAAe,SAAQ,SAAS7D,IAAE;AAAC,SAAM,MAAI;AAAC,QAAI6D,IAAE,GAAExC;AAAE,OAAG,cAAc,0EAA0E,UAAQwC,KAAE7D,GAAE,MAAM,gBAAc,WAAS6D,KAAE,SAAOA,GAAE,iBAAgB,CAAE,EAAE;AAAE,UAAK,EAAC,eAAc,EAAC,IAAE7D,GAAE,OAAO;AAAM,QAAG,GAAE;AAAC,YAAM6D,KAAE7D,GAAE,eAAc,EAAG,WAAU,EAAG;AAAM,QAAE,WAAS6D,GAAE,SAAQ,EAAE,WAASA,GAAE,aAAY7D,GAAE,OAAO,MAAM,gBAAc,GAAE,UAAQ,IAAEA,GAAE,OAAO,MAAM,mBAAiB,WAAS,KAAG,EAAE,qBAAqB,CAAC,EAAE,OAAO,CAAAA,OAAG;AAAA,MAAC,EAAC;AAAA,IAAE;AAAC,IAAAA,GAAE,KAAK,GAAG,gBAAe,EAAC,eAAc,UAAQqB,KAAErB,GAAE,MAAM,gBAAc,WAASqB,KAAE,SAAOA,GAAE,iBAAgB,GAAG,cAAarB,GAAE,MAAM,aAAY,CAAC;AAAE,UAAM,IAAE,EAAC,SAAQA,GAAE,WAAU,EAAE;AAAE,IAAAA,GAAE,KAAK,GAAG,gBAAe,CAAC;AAAA,EAAC;AAAC,EAAC,CAAC;AAAE,SAAS,GAAGA,IAAE6D,IAAE;AAAC,KAAG,cAAc,mDAAmD7D,GAAE,MAAM,OAAO,yCAAyC6D,EAAC,KAAK;AAAE,QAAK,EAAC,QAAO,EAAC,IAAE7D,GAAE,OAAM,EAAC,aAAYqB,GAAC,IAAErB,GAAE;AAAM,OAAGA,GAAE,MAAM,iBAAeA,GAAE,MAAM,UAAQ,QAAM,KAAG,EAAE,GAAG,GAAG,UAAS,CAAA6D,OAAG;AAAC,OAAG,cAAc,mDAAmD7D,GAAE,MAAM,OAAO,uBAAsB6D,EAAC;AAAA,EAAC,EAAC,GAAG,QAAM,KAAG,EAAE,GAAG,GAAG,cAAa,CAAAA,OAAG;AAAC,OAAG,cAAc,mDAAmD7D,GAAE,MAAM,OAAO,2BAA0B6D,EAAC,GAAE,GAAG7D,EAAC,EAAE,OAAO,CAAAA,OAAG;AAAA,IAAC;EAAG,EAAC,GAAG,QAAM,KAAG,EAAE,GAAG,GAAG,oBAAmB,CAAA6D,OAAG;AAAC,OAAG,cAAc,mDAAmD7D,GAAE,MAAM,OAAO,iCAAgC6D,EAAC;AAAA,EAAC,EAAC,GAAG,QAAM,KAAG,EAAE,GAAG,GAAG,qBAAoB,MAAI;AAAC,OAAG,cAAc,mDAAmD7D,GAAE,MAAM,OAAO,gCAAgC;AAAA,EAAC,EAAC,IAAI,QAAM,KAAG,EAAE,GAAG,eAAc,CAAA6D,QAAI,GAAG,cAAc,+FAA+FA,EAAC,qBAAqB,IAAE,0BAAS7D,IAAE;AAAC,WAAO,CAAA6D,OAAG;AAAC,SAAG,cAAc,wEAAwE7D,GAAE,MAAM,gBAAgB,IAAG6D,EAAC,GAAE7D,GAAE,MAAM,qBAAmBA,GAAE,KAAK,GAAG,mBAAmB,GAAE,GAAGA,EAAC,EAAE,OAAO,CAAAA,OAAG;AAAA,MAAC,EAAC;AAAA,IAAG;AAAA,EAAC,GAAEA,EAAC,GAAE6D,EAAC,GAAE,IAAI,GAAG,SAAS,CAAC,EAAC,OAAMxC,IAAE,SAAQ,EAAC,MAAI;AAAC,YAAM,KAAG,EAAE,GAAG,GAAGA,EAAC,IAAIwC,EAAC,IAAG,EAAE7D,IAAE6D,EAAC,CAAC;AAAA,EAAC,EAAC,GAAG,GAAG,SAAS,CAAC,EAAC,OAAMA,IAAE,SAAQW,GAAC,MAAI;AAAC,YAAMnD,MAAGA,GAAE,GAAGwC,IAAEW,GAAExE,EAAC,CAAC;AAAA,EAAC,EAAC,GAAGA,GAAE,MAAM,wBAAsB;AAAE;AAAC,MAAM,WAAWyE,qBAAAA,cAAC;AAAA,EAAC,YAAYzE,IAAE;AAAC,UAAK,GAAG,KAAK,QAAM,EAAC,kBAAiB,OAAG,eAAc,OAAG,kBAAiB,OAAG,WAAU,QAAO,kBAAiB,CAAA,GAAG,cAAa,OAAG,wBAAuB,IAAG,oBAAmB,OAAG,qBAAoB,QAAO,gBAAe,OAAG,sBAAqB,EAAC,GAAE,KAAK,UAAQA;AAAE,UAAK,EAAC,WAAU,GAAE,8BAA6BqB,IAAE,wBAAuB,GAAE,SAAQ,GAAE,QAAO,GAAE,SAAQ,EAAC,IAAErB;AAAE,SAAK,MAAM,UAAQ,GAAE,KAAK,MAAM,UAAQ,GAAE,KAAK,MAAM,eAAa,EAAE,MAAM,cAAa,KAAK,MAAM,+BAA6BqB,IAAE,KAAK,MAAM,QAAM,UAAM,QAAM,IAAE,SAAO,EAAE,eAAc,KAAK,SAAO,GAAE,UAAM,QAAM,IAAE,SAAO,EAAE,iBAAe,EAAE,OAAO,qBAAqB,GAAE,KAAK,MAAM,yBAAuB,GAAE,KAAK,MAAM,eAAa,KAAK,MAAM,2BAAyB,MAAI,UAAM,QAAM,IAAE,SAAO,EAAE,YAAW,GAAG,cAAc,iDAAiD,KAAK,MAAM,sBAAsB,EAAE,GAAE,KAAK,WAAU;AAAA,EAAE;AAAA,EAAC,aAAY;AAAC,QAAIrB;AAAE,UAAK,EAAC,gBAAe6D,IAAE,OAAM,GAAE,SAAQxC,GAAC,IAAE,KAAK,SAAQ,IAAE,EAAC,aAAY,OAAG,YAAW,IAAG,iBAAgB,KAAE,GAAE,IAAE,KAAK,MAAM;AAAuB,OAAG,cAAc,gDAAgD,CAAC,EAAE,GAAE,KAAK,MAAM,SAAOuD,OAAE,GAAE,CAAC,IAAE,SAAS5E,IAAE;AAAC,UAAG,eAAa,OAAO,UAAQ,eAAa,OAAO,aAAW,GAAG,cAAc,wDAAwD,SAAS,SAAQ,CAAE,IAAGA,EAAC,GAAE,CAACA,GAAE,MAAM,qBAAoB;AAAC,cAAM6D,KAAE,MAAI;AAAC,aAAG,cAAc,4CAA4C,GAAE,GAAG7D,EAAC,EAAE,OAAO,CAAAA,OAAG;AAAA,UAAC,EAAC;AAAA,QAAE;AAAE,eAAO,iBAAiB,SAAQ6D,EAAC,GAAE7D,GAAE,MAAM,qBAAmB,MAAGA,GAAE,MAAM,sBAAoB,MAAI;AAAC,iBAAO,oBAAoB,SAAQ6D,EAAC,GAAE7D,GAAE,MAAM,qBAAmB;AAAA,QAAE;AAAA,MAAC;AAAA,IAAC,GAAE,IAAI;AAAE,UAAM,IAAE,EAAC,oBAAmB,MAAK,gBAAe6D,IAAE,eAAc,OAAG,SAAQ,UAAQ7D,KAAE,KAAK,MAAM,YAAU,WAASA,KAAEA,KAAE,IAAG,OAAM,GAAE,SAAQqB,GAAC;AAAE,SAAK,MAAM,cAAY,IAAI,GAAG,CAAC;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,WAAO,GAAG,cAAc,8CAA8C,GAAE,MAAK,UAAQrB,KAAE,KAAK,MAAM,gBAAc,WAASA,MAAGA,GAAE,UAAS;AAAI,QAAIA;AAAA,EAAC;AAAA,EAAC,gBAAe;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAO,SAASA,IAAE;AAAC,eAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAI6D,IAAE,GAAExC;AAAE,cAAG,GAAG,cAAc,4CAA4CrB,GAAE,MAAM,OAAO,EAAE,GAAEA,GAAE,MAAM,UAAQA,GAAE,WAAU,GAAG,UAAQ6D,KAAE7D,GAAE,MAAM,WAAS,WAAS6D,KAAE,SAAOA,GAAE,UAAU,OAAM,IAAI,MAAM,0BAA0B;AAAE,oBAAQ,IAAE7D,GAAE,MAAM,WAAS,WAAS,KAAG,EAAE,QAAO,GAAGA,GAAE,MAAM,mBAAiB,OAAGA,GAAE,MAAM,eAAa;AAAG,gBAAM,IAAE2E;AAAI,UAAA3E,GAAE,MAAM,YAAU,GAAE,GAAGA,IAAE,CAAC,GAAE,MAAM,IAAI,SAAS,CAAC6D,IAAEW,OAAI;AAAC,gBAAInD;AAAE,sBAAQA,KAAErB,GAAE,MAAM,WAAS,WAASqB,MAAGA,GAAE,KAAK,GAAG,cAAa,EAAC,WAAU,GAAE,SAAQ,GAAGrB,GAAE,MAAM,OAAO,iBAAgB,YAAW,OAAM,IAAG,CAACqB,IAAEoD,OAAI,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,kBAAG;AAAC,sBAAM,GAAGzE,IAAEqB,IAAEoD,EAAC,GAAEZ,GAAC;AAAA,cAAE,SAAO7D,IAAE;AAAC,gBAAAwE,GAAExE,EAAC;AAAA,cAAC;AAAA,YAAC,EAAC,EAAE;AAAA,UAAE,EAAC;AAAG,gBAAM,IAAE,UAAQqB,KAAErB,GAAE,MAAM,gBAAc,WAASqB,KAAE,SAAOA,GAAE;AAAa,iBAAM,EAAC,WAAU,GAAE,SAAQ,QAAM,IAAE,SAAO,EAAE,MAAM,WAAS,IAAG,UAAS,QAAM,IAAE,SAAO,EAAE,MAAM,YAAU,GAAE;AAAA,QAAC,EAAC;AAAA,MAAE,GAAE,IAAI;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,iBAAiB,EAAC,WAAUrB,IAAE,iBAAgB6D,KAAE,OAAG,YAAW,EAAC,GAAE;AAAC,YAAO,SAAS7D,IAAE;AAAC,aAAO,EAAE,MAAK,WAAU,SAAQ,WAAU,EAAC,SAAQA,IAAE,UAAS6D,GAAC,GAAE;AAAC,cAAK,EAAC,WAAUW,IAAE,YAAWnD,IAAE,iBAAgB,EAAC,IAAErB,IAAE,EAAC,OAAM,GAAE,QAAO,EAAC,IAAE6D,IAAE,EAAC,cAAa,IAAE,OAAG,QAAOjB,IAAE,aAAYhC,GAAC,IAAE,GAAE,EAAC,eAAc0D,GAAC,IAAE,EAAE;AAAM,YAAG,QAAM1B,KAAE,SAAOA,GAAE,UAAU,OAAM,IAAI,MAAM,0BAA0B;AAAE,YAAG,MAAI,QAAM0B,KAAE,SAAOA,GAAE,mBAAkB;AAAC,gBAAK,EAAC,UAAStE,KAAE,UAAS6D,GAAC,IAAES;AAAE,UAAAtE,OAAG6D,OAAI,QAAMjD,MAAGA,GAAE,oBAAoB,EAAC,UAASZ,KAAE,UAAS6D,GAAC,CAAC;AAAA,QAAE;AAAC,eAAO,OAAO,OAAO,GAAE,EAAC,kBAAiB,OAAG,iBAAgB,GAAE,cAAa,GAAE,WAAUW,GAAC,CAAC,GAAE,QAAM5B,MAAGA,GAAE,QAAO,GAAG,GAAGiB,IAAEW,EAAC,GAAE,CAAC,KAAGnD,OAAI,QAAMT,MAAGA,GAAE,iBAAiB,IAAE,GAAE,OAAO,OAAO,EAAE,OAAM,EAAC,OAAM,MAAG,YAAW,KAAE,CAAC,IAAG,IAAI,SAAS,CAAAZ,QAAG;AAAC,cAAIyE;AAAE,gBAAME,KAAE,UAAQF,KAAE,QAAM7D,KAAE,SAAOA,GAAE,WAAU,MAAK,WAAS6D,KAAE,SAAOA,GAAE,MAAM;AAAO,kBAAM7B,MAAGA,GAAE,KAAK,GAAG,cAAa,EAAC,WAAU4B,IAAE,SAAQ,GAAG,EAAE,OAAO,qBAAoB,YAAW,IAAE,SAAO,UAAS,WAAUnD,MAAG,CAAC,IAAEsD,KAAE,OAAM,IAAG,CAACH,IAAEnD,OAAI,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,kBAAM,GAAGwC,IAAEW,IAAEnD,EAAC,GAAErB,IAAC;AAAA,UAAE,EAAC,EAAE;AAAA,QAAE,EAAC;AAAA,MAAE,EAAC;AAAA,IAAE,GAAE,EAAC,SAAQ,EAAC,WAAUA,IAAE,iBAAgB6D,IAAE,YAAW,EAAC,GAAE,UAAS,KAAI,CAAC;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAO,KAAK,MAAM,YAAY,WAAU;AAAA,EAAE;AAAA,EAAC,WAAU;AAAC,QAAI7D,IAAE6D;AAAE,cAAQA,MAAG7D,KAAE,MAAM,MAAM,WAAS,WAAS6D,MAAGA,GAAE,KAAK,GAAG,SAAQ,EAAC,IAAG7D,GAAE,MAAM,WAAU,SAAQA,GAAE,MAAM,SAAQ,SAAQ,EAAC,MAAK,GAAG,qBAAoB,QAAOA,GAAE,WAAU,EAAG,MAAM,YAAW,EAAC,CAAC;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,WAAO,KAAK,MAAM;AAAA,EAAW;AAAA,EAAC,YAAYA,IAAE;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAO,SAASA,IAAE6D,IAAE;AAAC,eAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAIxC,IAAE,GAAE;AAAE,cAAG,CAACrB,GAAE,MAAM,UAAU,OAAM,GAAG,cAAc,0DAA0D,GAAE,IAAI,MAAM,wBAAwB;AAAE,cAAG,GAAG,cAAc,gDAAgDA,GAAE,MAAM,OAAO,qBAAqB,UAAQqB,KAAErB,GAAE,MAAM,gBAAc,WAASqB,KAAE,SAAOA,GAAE,iBAAgB,CAAE,IAAGwC,EAAC,GAAE,UAAQ,IAAE,QAAMA,KAAE,SAAOA,GAAE,SAAO,WAAS,IAAE,SAAO,EAAE,WAAW,eAAe,EAAE,SAAO,SAAS7D,IAAE6D,IAAE;AAAC,gBAAI;AAAE,eAAG,cAAc,iDAAiD7D,GAAE,MAAM,OAAO,IAAG6D,EAAC,GAAE,UAAQ,IAAE7D,GAAE,MAAM,WAAS,WAAS,KAAG,EAAE,KAAK,GAAG,SAAQ,EAAC,IAAGA,GAAE,MAAM,WAAU,SAAQA,GAAE,MAAM,SAAQ,YAAWA,GAAE,MAAM,eAAa,SAAO,UAAS,SAAQ6D,GAAC,CAAC;AAAA,UAAC,GAAE7D,IAAE6D,EAAC,GAAE;AAAG,YAAC,SAAS7D,IAAE6D,IAAE;AAAC,gBAAI;AAAE,gBAAG,EAAE,UAAQ,IAAE7D,GAAE,MAAM,gBAAc,WAAS,IAAE,SAAO,EAAE,iBAAgB,MAAK,CAACA,GAAE,OAAO,MAAM,iBAAiB,OAAM,GAAG,cAAc,kDAAkDA,GAAE,MAAM,OAAO,6BAA4B6D,EAAC,GAAE,IAAI,MAAM,wBAAwB;AAAA,UAAC,GAAE7D,IAAE6D,EAAC,IAAE,SAAS7D,IAAE6D,IAAE;AAAC,gBAAI;AAAE,kBAAMxC,KAAE,UAAQ,IAAE,QAAMwC,KAAE,SAAOA,GAAE,WAAS,WAAS,IAAE,IAAE,IAAGY,KAAE,QAAMZ,KAAE,SAAOA,GAAE;AAAG,YAAA7D,GAAE,MAAM,gBAAcyE,OAAIzE,GAAE,MAAM,iBAAiByE,EAAC,IAAE,EAAC,IAAGA,IAAE,WAAU,KAAK,IAAG,GAAG,QAAOpD,GAAC,GAAErB,GAAE,KAAK,GAAG,YAAWA,GAAE,MAAM,iBAAiByE,EAAC,CAAC;AAAA,UAAE,GAAEzE,IAAE6D,EAAC;AAAE,gBAAM,IAAE,MAAM,GAAG7D,IAAE6D,EAAC;AAAE,iBAAO7D,GAAE,OAAO,MAAM,aAAWA,GAAE,OAAO,MAAM,gBAAc6D,GAAE,UAAQ,GAAG,SAASA,GAAE,OAAO,YAAW,CAAE,KAAG,GAAG,EAAC,IAAG,UAAQ,IAAE7D,GAAE,OAAO,MAAM,cAAY,WAAS,IAAE,IAAE,IAAG,OAAM,GAAG,iBAAgB,QAAO,EAAC,QAAO6D,GAAE,QAAO,MAAK,SAAQ,EAAC,GAAE7D,GAAE,OAAO,MAAM,sBAAsB,EAAE,OAAO,CAAAA,OAAG;AAAA,UAAC,EAAC,GAAGA,GAAE,OAAO,MAAM,gBAAc6D,GAAE,UAAQ,GAAGA,GAAE,MAAM,KAAGW,KAAAA,UAAE,MAAM,wBAAuB,EAAC,QAAOX,GAAE,OAAM,CAAC,IAAE,SAAS7D,IAAE6D,IAAE;AAAC,mBAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,kBAAI;AAAE,oBAAMxC,KAAE,QAAMwC,KAAE,SAAOA,GAAE,IAAGY,KAAE,UAAQ,IAAE,QAAMZ,KAAE,SAAOA,GAAE,WAAS,WAAS,IAAE,IAAE;AAAG,kBAAG7D,GAAE,MAAM,gBAAcqB,GAAE,KAAG;AAAC,sBAAMmD,KAAE,GAAGnD,IAAErB,GAAE,MAAM,kBAAiB,GAAG,EAAE,MAAM,CAAAA,SAAI,EAAC,MAAK,GAAG,WAAU,QAAOA,IAAC,GAAE,GAAG0E,MAAG,MAAI,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,wBAAMb,KAAE,OAAM,CAAA7D,QAAG,EAAE,QAAO,CAACA,GAAC,GAAE,SAAQ,WAAU,EAAC,OAAMA,KAAE,UAAS6D,GAAC,GAAE;AAAC,2BAAKA,GAAE,MAAM,cAAY7D,OAAG,WAAS6D,GAAE,MAAM,YAAW,OAAM,GAAG,GAAG;AAAE,2BAAOA,GAAE,MAAM;AAAA,kBAAS,EAAC,GAAI,EAAC,UAAS7D,IAAE,OAAMqB,GAAC,CAAC,GAAEmD,KAAE,MAAM,GAAGX,IAAE7D,GAAE,MAAM,kBAAiB,GAAG;AAAE,yBAAM,EAAC,MAAK,GAAG,aAAY,QAAOwE,GAAC;AAAA,gBAAC,EAAC,MAAMG,KAAE,MAAM,QAAQ,KAAK,CAACH,IAAEE,EAAC,CAAC;AAAE,oBAAGC,GAAE,SAAO,GAAG,WAAU;AAAC,wBAAM3E,MAAE2E,GAAE;AAAO,qBAAG,cAAc,yCAAyCd,GAAE,EAAE,IAAIY,EAAC,MAAMzE,IAAE,WAAW,QAAOA,IAAE,MAAM;AAAA,gBAAC,OAAK;AAAC,sBAAG2E,GAAE,SAAO,GAAG,YAAY,OAAM,IAAI,MAAM,kCAAkCtD,EAAC,EAAE;AAAE;AAAC,0BAAMwC,KAAE,OAAO,OAAO,OAAO,OAAO,CAAA,GAAG7D,GAAE,MAAM,iBAAiBqB,EAAC,CAAC,GAAE,EAAC,OAAM,IAAI,MAAM,sBAAsB,EAAC,CAAC;AAAE,oBAAArB,GAAE,KAAK,GAAG,YAAW6D,EAAC;AAAE,0BAAMW,KAAE,EAAC,MAAK,OAAO,OAAO,OAAO,OAAO,CAAA,GAAGX,EAAC,GAAE,EAAC,SAAQ,MAAK,CAAC,GAAE,MAAK,oBAAmB;AAAE,oBAAA7D,GAAE,KAAK,GAAG,SAAQ,EAAC,SAAQwE,GAAC,CAAC;AAAA,kBAAC;AAAA,gBAAC;AAAA,cAAC,SAAOxE,KAAE;AAAC,sBAAMA;AAAA,cAAC;AAAA,YAAC;UAAG,GAAEA,IAAE6D,EAAC,EAAE,OAAO,CAAA7D,OAAG;AAAA,UAAC,EAAC,GAAG;AAAA,QAAC;MAAG,GAAE,MAAKA,EAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,OAAM;AAAC,YAAO,SAASA,IAAE;AAAC,aAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,YAAI6D,IAAE;AAAE,WAAG,cAAc,mCAAmC7D,GAAE,MAAM,OAAO,eAAeA,GAAE,MAAM,YAAY,kBAAkB,UAAQ6D,KAAE7D,GAAE,MAAM,gBAAc,WAAS6D,KAAE,SAAOA,GAAE,iBAAgB,CAAE,EAAE,GAAE,UAAQ,IAAE7D,GAAE,MAAM,WAAS,WAAS,KAAG,EAAE,KAAK,GAAG,MAAK,EAAC,IAAGA,GAAE,MAAM,WAAU,SAAQ,QAAO,YAAWA,GAAE,OAAO,MAAM,eAAa,SAAO,UAAS,SAAQ,GAAE,CAAC;AAAA,MAAC,EAAC;AAAA,IAAE,GAAE,IAAI;AAAA,EAAC;AAAA,EAAC,QAAO;AAAC,YAAO,SAASA,IAAE;AAAC,aAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,YAAI6D,IAAE;AAAE,WAAG,cAAc,oCAAoC7D,GAAE,MAAM,OAAO,EAAE,GAAEA,GAAE,MAAM,mBAAiB,OAAI,UAAQ6D,KAAE7D,GAAE,MAAM,gBAAc,WAAS6D,KAAE,SAAOA,GAAE,iBAAgB,OAAM,MAAM7D,GAAE,YAAY,EAAC,MAAK,GAAG,MAAK,CAAC,IAAG,UAAQ,IAAEA,GAAE,MAAM,WAAS,WAAS,KAAG,EAAE,WAAU;AAAA,MAAE,EAAC;AAAA,IAAE,GAAE,IAAI;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,QAAIA;AAAE,WAAO,UAAQA,KAAE,KAAK,MAAM,WAAS,WAASA,KAAE,SAAOA,GAAE;AAAA,EAAS;AAAA,EAAC,SAAQ;AAAC,YAAO,SAASA,IAAE;AAAC,aAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAK,EAAC,OAAM6D,IAAE,QAAO,EAAC,IAAE7D,IAAE,EAAC,QAAOqB,IAAE,WAAU,GAAE,SAAQ,GAAE,aAAY,GAAE,cAAa,EAAC,IAAEwC,IAAE,EAAC,cAAajB,GAAC,IAAE,EAAE;AAAM,YAAG,GAAG,cAAc,uCAAuC,CAAC,YAAY,CAAC,cAAc,QAAMvB,KAAE,SAAOA,GAAE,SAAS,qBAAqBwC,GAAE,gBAAgB,YAAYA,GAAE,OAAO,kBAAkB,QAAM,IAAE,SAAO,EAAE,iBAAgB,CAAE,EAAE,GAAE,CAAC,EAAE,OAAM,GAAG,cAAc,oDAAoD,GAAE,IAAI,MAAM,0BAA0B;AAAE,SAAC,QAAMxC,KAAE,SAAOA,GAAE,cAAY,GAAG,cAAc,8CAA8C,GAAEA,GAAE,KAAK,GAAG,MAAK,EAAC,IAAG,GAAE,YAAWuB,KAAE,SAAO,UAAS,SAAQ,qBAAoB,SAAQ,GAAE,CAAC,GAAE,EAAE,0BAAwB,QAAM,IAAE,SAAO,EAAE,iBAAgB,OAAM,IAAE,MAAM5C,GAAE,YAAY,EAAC,MAAK,GAAG,MAAK,CAAC,IAAE,QAAM,KAAG,EAAE,MAAM,EAAC,cAAa,MAAE,CAAC,OAAK,QAAMqB,MAAGA,GAAE,QAAO,GAAG,GAAG,cAAc,mEAAsE,QAAMA,KAAE,SAAOA,GAAE,SAAS,EAAE,GAAE,QAAMA,MAAGA,GAAE,KAAK,GAAG,cAAa,EAAC,WAAU,GAAE,SAAQ,GAAG,CAAC,WAAU,YAAWuB,KAAE,SAAO,SAAQ,IAAG,CAACiB,IAAEW,OAAI,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAG;AAAC,kBAAM,GAAGxE,IAAE6D,IAAEW,EAAC;AAAA,UAAC,SAAOxE,IAAE;AAAA,UAAC;AAAA,QAAC,EAAC,MAAM6D,GAAE,mBAAiB,OAAGA,GAAE,UAAQ;AAAA,MAAE,EAAC;AAAA,IAAE,GAAE,IAAI;AAAA,EAAC;AAAA,EAAC,sBAAqB;AAAC,WAAO,KAAK,MAAM;AAAA,EAAgB;AAAA,EAAC,WAAW7D,IAAE;AAAC,YAAO,SAASA,IAAE6D,IAAE;AAAC,UAAI,GAAExC,IAAE,GAAE,GAAE;AAAE,SAAG,cAAc,yCAAyCrB,GAAE,MAAM,OAAO,IAAG6D,EAAC,IAAG,QAAMA,KAAE,SAAOA,GAAE,eAAa,UAAQxC,MAAG,IAAErB,GAAE,OAAO,wBAAsB,WAASqB,MAAGA,GAAE,KAAK,CAAC,GAAErB,GAAE,MAAM,YAAU6D,GAAE,WAAU,UAAQ,IAAE7D,GAAE,MAAM,WAAS,WAAS,KAAG,EAAE,mBAAkB,GAAG,UAAQ,IAAEA,GAAE,MAAM,gBAAc,WAAS,KAAG,EAAE,MAAK,GAAGA,GAAE,OAAO,MAAM,QAAM,OAAGA,GAAE,MAAM,SAAO,QAAOA,GAAE,MAAM,mBAAiB,CAAA,IAAIA,GAAE,MAAM,mBAAiB,MAAG,UAAQ,IAAEA,GAAE,MAAM,WAAS,WAAS,KAAG,EAAE,WAAU;AAAA,IAAE,GAAE,MAAKA,EAAC;AAAA,EAAC;AAAC;AAAI,IAAC,IAAG,IAAG;AAAG,SAAS,GAAGA,IAAE;AAAC,SAAM,MAAI,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,QAAI6D,IAAE,GAAExC;AAAE,UAAK,EAAC,OAAM,EAAC,IAAErB;AAAE,QAAG,EAAE,WAAW;AAAO,WAAM,MAAI,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,aAAK,CAAC,EAAE,aAAY,OAAM,GAAG,GAAG;AAAA,IAAC,EAAC,GAAE;AAAI,UAAM,IAAE,MAAM,eAAe,UAAQ6D,KAAE,EAAE,eAAa,WAASA,KAAE,SAAOA,GAAE,YAAU,EAAE;AAAE,QAAG,GAAG,oBAAoB,4EAA4E,UAAQ,IAAE,EAAE,eAAa,WAAS,IAAE,SAAO,EAAE,OAAO,iBAAiB,CAAC,EAAE,GAAE,MAAI,EAAE;AAAO,UAAM,IAAE,EAAE,iBAAe,GAAG,aAAW,EAAE,iBAAe,GAAG,eAAa,EAAE,iBAAe,GAAG;AAAsB,OAAG,oBAAoB,6EAA6E,EAAE,YAAY,WAAW,CAAC,YAAY,EAAE,SAAS,kBAAkB,UAAQxC,KAAE,EAAE,eAAa,WAASA,KAAE,SAAOA,GAAE,OAAO,EAAE,GAAE,MAAI,EAAE,aAAW,MAAGrB,GAAE,KAAK,GAAG,UAAU;AAAA,EAAE;AAAG;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,CAAA6D,OAAG;AAAC,UAAK,EAAC,OAAM,EAAC,IAAE7D;AAAE,OAAG,oBAAoB,8DAA8D,EAAE,OAAO,mCAAmC6D,EAAC,EAAE,GAAE7D,GAAE,KAAK,GAAG,iBAAgB6D,EAAC;AAAA,EAAC;AAAC;AAAC,SAAS,GAAG7D,IAAE6D,IAAE;AAAC,SAAM,MAAI;AAAC,QAAIxC,IAAE,GAAE,GAAE;AAAE,UAAK,EAAC,OAAM,EAAC,IAAErB;AAAE,OAAG,oBAAoB,uFAAuF,EAAE,SAAS,kBAAkB,UAAQ,IAAE,UAAQqB,KAAE,EAAE,uBAAqB,WAASA,KAAE,SAAOA,GAAE,WAAU,MAAK,WAAS,IAAE,SAAO,EAAE,aAAa,EAAE,GAAE,EAAE,aAAW,GAAG,OAAO,OAAO,OAAO,OAAO,EAAC,IAAG,UAAQ,IAAE,EAAE,cAAY,WAAS,IAAE,IAAE,IAAG,OAAM,EAAE,eAAa,GAAG,YAAU,EAAE,eAAa,GAAG,UAAQ,GAAG,eAAc,GAAE,EAAE,cAAc,GAAE,EAAC,WAAUwC,IAAE,YAAW,EAAE,YAAW,eAAc,UAAQ,IAAE,EAAE,eAAa,WAAS,IAAE,SAAO,EAAE,SAAQ,kBAAiB,GAAG,QAAO,CAAC,GAAE,EAAE,sBAAsB,EAAE,OAAO,CAAA7D,OAAG;AAAA,IAAC,EAAC,GAAG,EAAE,gBAAc,CAAC,EAAE,gBAAcwE,KAAAA,UAAE,MAAM,8BAA6B,EAAC,gBAAe,YAAW,CAAC,GAAE,EAAE,mBAAiB,MAAG,EAAE,qBAAmB,OAAGxE,GAAE,KAAK,GAAG,iBAAiB;AAAA,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,CAAA6D,OAAG;AAAC,UAAK,EAAC,OAAM,EAAC,IAAE7D;AAAE,OAAG,oBAAoB,mEAAmE,EAAE,OAAO,wCAAwC6D,EAAC,EAAE,GAAE,EAAE,qBAAmB,EAAE,mBAAiB,OAAG,EAAE,QAAM,OAAG,EAAE,aAAW,QAAI7D,GAAE,KAAK,GAAG,sBAAqB,EAAE,SAAS,GAAEA,GAAE,oBAAoB,GAAG,YAAY;AAAA,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,CAAA6D,OAAG;AAAC,QAAI;AAAE,UAAK,EAAC,OAAMxC,GAAC,IAAErB;AAAE,QAAG,GAAG,oBAAoB,8DAA8DqB,GAAE,OAAO,qCAAqCwC,EAAC,UAAUxC,GAAE,KAAK,gBAAgBA,GAAE,wBAAwB,EAAE,GAAErB,GAAE,oBAAoB,GAAG,OAAO,GAAEA,GAAE,KAAK,GAAG,iBAAgB6D,EAAC,GAAExC,GAAE,0BAAyB;AAAC,SAAG,oBAAoB,6FAA6FA,GAAE,wBAAwB,YAAWA,GAAE,kBAAkB;AAAE,YAAMwC,MAAG,UAAQ,IAAExC,GAAE,uBAAqB,WAAS,IAAE,SAAO,EAAE,YAAU,KAAI,IAAE,YAAY,MAAI;AAAC,WAAG,oBAAoB,iEAAiEwC,EAAC,6BAA4BxC,GAAE,kBAAkB,GAAEA,GAAE,2BAAyB,OAAGA,GAAE,SAAOrB,GAAE,oBAAoB,GAAG,OAAO,GAAE,aAAa,CAAC;AAAA,MAAC,IAAG6D,EAAC;AAAA,IAAC;AAAA,EAAC;AAAC;AAAC,SAAS,GAAG7D,IAAE6D,IAAE;AAAC,SAAO,OAAG;AAAC,QAAIxC,IAAE,GAAE,GAAE,GAAE,GAAED,IAAEwB,IAAEhC;AAAE,UAAK,EAAC,OAAM0D,GAAC,IAAEtE;AAAE,QAAG,GAAG,oBAAoB,6DAA6DsE,GAAE,OAAO,0CAA0CA,GAAE,SAAS,IAAG,CAAC,GAAE,UAAQ,IAAE,UAAQjD,KAAEiD,GAAE,uBAAqB,WAASjD,KAAE,SAAOA,GAAE,iBAAe,WAAS,IAAE,SAAO,EAAE,eAAc;AAAC,YAAMwC,KAAE,OAAO,OAAO,OAAO,OAAO,CAAA,GAAGS,GAAE,aAAa,GAAE,EAAC,WAAU,UAAQ,IAAEA,GAAE,cAAY,WAAS,IAAE,IAAE,IAAG,aAAY,UAAQ,IAAEA,GAAE,kBAAgB,WAAS,IAAE,SAAO,EAAE,eAAa,IAAG,UAASA,GAAE,mBAAmB,aAAa,MAAM,SAAQ,UAASA,GAAE,mBAAmB,WAAU,EAAG,MAAM,YAAW,CAAC;AAAE,gBAAQ,IAAEA,GAAE,mBAAiB,WAAS,KAAG,EAAE,qBAAqBT,EAAC,EAAE,OAAO,CAAA7D,OAAG;AAAA,MAAC,KAAIA,GAAE,oBAAoB,GAAG,MAAM;AAAA,IAAC;AAAC,MAAC,SAASA,IAAE6D,IAAE;AAAC,UAAIW,IAAEnD,IAAEoD,IAAEC,IAAEC,IAAEC,IAAExD,IAAEwB;AAAE,YAAK,EAAC,OAAMhC,GAAC,IAAEZ;AAAE,SAAG,oBAAoB,sDAAsDY,GAAE,SAAS,IAAGiD,EAAC;AAAE,YAAMS,KAAE,OAAO,OAAO,OAAO,OAAO,CAAA,GAAG1D,GAAE,aAAa,GAAE,EAAC,WAAU,UAAQ4D,KAAE5D,GAAE,cAAY,WAAS4D,KAAEA,KAAE,IAAG,YAAW,UAAQC,KAAE,UAAQpD,KAAET,GAAE,kBAAgB,WAASS,KAAE,SAAOA,GAAE,eAAa,WAASoD,KAAEA,KAAE,GAAE,kBAAiB7D,GAAE,kBAAiB,UAAS,UAAQ+D,KAAE,UAAQD,KAAE9D,GAAE,uBAAqB,WAAS8D,KAAE,SAAOA,GAAE,MAAM,gBAAc,WAASC,KAAE,SAAOA,GAAE,WAAU,EAAG,MAAM,SAAQ,UAAS,UAAQvD,KAAE,UAAQwD,KAAEhE,GAAE,uBAAqB,WAASgE,KAAE,SAAOA,GAAE,MAAM,gBAAc,WAASxD,KAAE,SAAOA,GAAE,WAAU,EAAG,MAAM,aAAY,YAAWyC,GAAE,QAAO,EAAE,CAAC;AAAE,gBAAQjB,KAAEhC,GAAE,mBAAiB,WAASgC,MAAGA,GAAE,qBAAqB0B,EAAC;AAAA,IAAC,GAAEtE,IAAE,oBAAI,MAAI,GAAEsE,GAAE,aAAWA,GAAE,aAAW,GAAG,OAAO,OAAO,OAAO,OAAO,EAAC,IAAGA,GAAE,WAAU,OAAM,EAAE,eAAa,GAAG,YAAU,GAAG,iBAAgB,GAAEA,GAAE,cAAc,GAAE,EAAC,YAAWA,GAAE,YAAW,WAAUT,IAAE,kBAAiB,GAAG,SAAQ,eAAc,UAAQzC,KAAEkD,GAAE,eAAa,WAASlD,KAAE,SAAOA,GAAE,QAAO,CAAC,GAAEkD,GAAE,sBAAsB,EAAE,OAAO,CAAAtE,OAAG;AAAA,IAAC,EAAC,GAAGsE,GAAE,eAAa,EAAE,cAAa,EAAE,iBAAe,UAAQ1B,KAAE0B,GAAE,uBAAqB,WAAS1B,MAAGA,GAAE,YAAY,EAAC,MAAK,GAAG,MAAK,CAAC,GAAE0B,GAAE,QAAM,MAAGA,GAAE,SAAO,QAAI,EAAE,gBAAc,CAACA,GAAE,uBAAqB,UAAQ1D,KAAE0D,GAAE,uBAAqB,WAAS1D,MAAGA,GAAE,YAAY,EAAC,MAAK,GAAG,iBAAgB,gBAAe0D,GAAE,gBAAe,YAAWA,GAAE,eAAc,CAAC,GAAEA,GAAE,qBAAmB;AAAA,EAAG;AAAC;AAAC,SAAS,GAAGtE,IAAE;AAAC,SAAO,CAAA6D,OAAG;AAAC,QAAI,IAAEA;AAAE,IAAAA,GAAE,YAAU,IAAE,EAAE,WAAS,SAAS7D,IAAE6D,IAAE;AAAC,YAAK,EAAC,OAAMW,GAAC,IAAEX;AAAE,UAAG,GAAG,oBAAoB,gEAAgEW,GAAE,OAAO,wBAAwB,OAAOxE,EAAC,IAAGA,EAAC,GAAE6D,GAAE,MAAM,QAAM,MAAGW,GAAE,gBAAcxE,GAAE,SAAO,GAAG,gBAAgB,KAAGwE,GAAE,gBAAcxE,GAAE,SAAO,GAAG,YAAY,GAAC,SAASA,IAAE6D,IAAE;AAAC,cAAK,EAAC,OAAMW,GAAC,IAAExE;AAAE,QAAAwE,GAAE,aAAWX,GAAE,YAAWW,GAAE,SAAO;AAAA,MAAE,GAAEX,IAAE7D,EAAC;AAAA,WAAM;AAAC,YAAGwE,GAAE,gBAAcxE,GAAE,SAAO,GAAG,YAAY,EAAC,SAASA,IAAE6D,IAAE;AAAC,iBAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,gBAAIW,IAAEnD,IAAE;AAAE,kBAAK,EAAC,OAAM,EAAC,IAAErB;AAAE,gBAAG,EAAE,cAAa;AAAC,oBAAM0E,KAAEb,GAAE,QAAM;AAAG,kBAAG,YAAU,OAAOa,MAAG,cAAaA,MAAG,aAAYA,MAAG,eAAcA,GAAE,KAAG;AAAC,sBAAK,EAAC,eAAcb,GAAC,IAAE7D,GAAE;AAAM,oBAAG,GAAG,oBAAoB,8BAA6B,KAAK,UAAU6D,IAAE,MAAK,CAAC,CAAC,GAAEA,IAAE;AAAC,wBAAM,IAAEa,GAAE,UAAS,IAAEA,GAAE,SAAQtD,KAAEsD,GAAE;AAAU,sBAAI9B,IAAEhC,KAAE;AAAG,wCAAqB8D,OAAI9D,KAAE,QAAQ8D,GAAE,gBAAgB,GAAE1E,GAAE,MAAM,4BAA0BY,KAAG,mBAAkB8D,OAAI9B,KAAE8B,GAAE,gBAAe,MAAM,UAAQF,KAAExE,GAAE,MAAM,mBAAiB,WAASwE,KAAE,SAAOA,GAAE,qBAAqB,OAAO,OAAO,OAAO,OAAO,CAAA,GAAGX,EAAC,GAAE,EAAC,UAASzC,IAAE,eAAcwB,IAAE,2BAA0BhC,IAAE,kBAAiB,KAAE,CAAC,CAAC,GAAE,MAAM,UAAQS,KAAErB,GAAE,MAAM,mBAAiB,WAASqB,KAAE,SAAOA,GAAE,gBAAgB,CAAC,GAAE,MAAM,UAAQ,IAAErB,GAAE,MAAM,mBAAiB,WAAS,IAAE,SAAO,EAAE,eAAe,CAAC;AAAA,gBAAC;AAAC,gBAAAA,GAAE,KAAK,GAAG,aAAY,EAAC,UAAS0E,GAAE,UAAS,SAAQA,GAAE,QAAO,CAAC;AAAA,cAAC,SAAOF,IAAE;AAAA,cAAC;AAAA,YAAC;AAAA,UAAC;QAAG,GAAGX,IAAE7D,EAAC,EAAE,OAAO,CAAAA,OAAG;AAAC,aAAG,oBAAoB,8DAA8DA,EAAC,EAAE;AAAA,QAAC,EAAC;AAAA,iBAAWA,GAAE,SAAO,GAAG,UAAU,EAAC,SAASA,IAAE;AAAC,iBAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,kBAAK,EAAC,OAAM6D,GAAC,IAAE7D;AAAE,YAAA6D,GAAE,iBAAe,MAAM,GAAG,EAAC,SAAQ,EAAC,WAAU,MAAG,aAAY,MAAE,GAAE,UAAS7D,GAAC,CAAC,GAAEA,GAAE,KAAK,GAAG,SAAS;AAAA,UAAE;QAAG,GAAG6D,EAAC,EAAE,OAAO,CAAA7D,OAAG;AAAC,aAAG,oBAAoB,8DAA8DA,EAAC,EAAE;AAAA,QAAC,EAAC;AAAA,iBAAWA,GAAE,SAAO,GAAG,MAAM,GAAC,SAASA,IAAE;AAAC,gBAAK,EAAC,OAAM6D,GAAC,IAAE7D;AAAE,UAAA6D,GAAE,SAAO,MAAG7D,GAAE,oBAAoB,GAAG,MAAM;AAAA,QAAC,GAAE6D,EAAC;AAAA,iBAAU7D,GAAE,SAAO,GAAG,SAAOwE,GAAE,aAAa,GAAC,SAASxE,IAAE;AAAC,gBAAK,EAAC,OAAM6D,GAAC,IAAE7D;AAAE,UAAAA,GAAE,oBAAoB,GAAG,MAAM;AAAE,gBAAMwE,KAAEX,GAAE;AAAO,UAAAA,GAAE,SAAO,OAAG7D,GAAE,KAAK,GAAG,eAAc,EAAC,cAAa6D,GAAE,cAAa,YAAWA,GAAE,WAAU,CAAC,GAAEW,OAAIX,GAAE,aAAW,MAAG7D,GAAE,KAAK,GAAG,UAAU;AAAA,QAAE,GAAE6D,EAAC;AAAA,aAAM;AAAC,cAAG7D,GAAE,SAAO,GAAG,OAAKwE,GAAE,aAAa,QAAO,MAAK,SAASxE,IAAE6D,IAAE;AAAC,gBAAIW;AAAE,kBAAK,EAAC,OAAMnD,GAAC,IAAErB;AAAE,YAAAA,GAAE,KAAK,GAAG,KAAI6D,GAAE,SAAS,GAAE,MAAI,MAAM,eAAe,UAAQW,KAAEnD,GAAE,eAAa,WAASmD,KAAE,SAAOA,GAAE,YAAU,EAAE,KAAGxE,GAAE,KAAK,GAAG,cAAa,EAAC,QAAO,GAAG,qBAAoB,QAAO,GAAE,CAAC;AAAA,UAAC,GAAE6D,IAAE7D,EAAC;AAAE,UAAAA,GAAE,SAAO,GAAG,cAAYwE,GAAE,iBAAc,SAASxE,IAAE;AAAC,kBAAK,EAAC,OAAM6D,GAAC,IAAE7D;AAAE,YAAA6D,GAAE,aAAW,MAAG7D,GAAE,KAAK,GAAG,UAAU;AAAA,UAAC,GAAE6D,EAAC;AAAA,QAAC;AAAC,QAAAA,GAAE,KAAK,GAAG,SAAQ7D,EAAC;AAAA,MAAC;AAAA,UAAK,GAAC,SAASA,IAAE6D,IAAE;AAAC,YAAIW;AAAE,cAAK,EAAC,OAAMnD,GAAC,IAAErB;AAAE,kBAAQwE,KAAEnD,GAAE,uBAAqB,WAASmD,MAAGA,GAAE,YAAY,EAAC,MAAK,GAAG,aAAY,YAAWnD,GAAE,WAAU,CAAC,GAAEA,GAAE,iBAAewC,GAAE,kBAAgBA,GAAE,YAAW7D,GAAE,KAAK,GAAG,eAAc,EAAC,cAAaqB,GAAE,cAAa,gBAAeA,GAAE,eAAc,CAAC,GAAEA,GAAE,SAAO;AAAA,MAAE,GAAEwC,IAAE7D,EAAC;AAAA,IAAC,GAAE,GAAEA,EAAC;AAAA,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAM,MAAI;AAAC,UAAK,EAAC,OAAM6D,GAAC,IAAE7D;AAAE,OAAG,oBAAoB,6HAA6H,GAAE6D,GAAE,QAAM,OAAGA,GAAE,aAAW,OAAG,GAAGA,EAAC,GAAE7D,GAAE,uBAAuB,EAAC,SAAQ,mBAAkB,CAAC;AAAA,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAM,MAAI;AAAC,UAAK,EAAC,OAAM6D,GAAC,IAAE7D;AAAE,OAAG,oBAAoB,oGAAoG,GAAE6D,GAAE,QAAM;AAAA,EAAE;AAAC;AAAC,SAAS,GAAG7D,IAAE;AAAC,SAAM,MAAI,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,QAAI6D,IAAE,GAAExC,IAAE,GAAE,GAAE,GAAE;AAAE,UAAK,EAAC,OAAMD,GAAC,IAAEpB;AAAE,OAAG,oBAAoB,+DAA+DoB,GAAE,OAAO,EAAE,GAAEpB,GAAE,MAAM,QAAM,MAAGA,GAAE,MAAM,mBAAiB,MAAGA,GAAE,MAAM,aAAW,MAAGA,GAAE,MAAM,mBAAiB,MAAG,UAAQ6D,KAAE7D,GAAE,MAAM,uBAAqB,WAAS6D,MAAGA,GAAE,eAAc,EAAG,iBAAiB,IAAE,GAAE7D,GAAE,KAAK,GAAG,gBAAe,EAAC,eAAc,MAAG,cAAa,KAAE,CAAC,GAAEA,GAAE,KAAK,GAAG,UAAU,GAAEA,GAAE,KAAK,GAAG,aAAa,GAAEA,GAAE,KAAK,GAAG,mBAAmB;AAAE,QAAG;AAAC,MAAAoB,GAAE,gBAAc,OAAO,OAAO,OAAO,OAAO,IAAGA,GAAE,aAAa,GAAE,EAAC,UAAS,UAAQ,IAAEA,GAAE,uBAAqB,WAAS,IAAE,SAAO,EAAE,eAAc,EAAG,WAAU,EAAG,MAAM,SAAQ,UAAS,UAAQC,KAAED,GAAE,uBAAqB,WAASC,KAAE,SAAOA,GAAE,eAAc,EAAG,kBAAiB,GAAG,WAAU,UAAQ,IAAED,GAAE,cAAY,WAAS,IAAE,IAAE,IAAG,YAAW,UAAQ,IAAE,UAAQ,IAAEA,GAAE,kBAAgB,WAAS,IAAE,SAAO,EAAE,eAAa,WAAS,IAAE,IAAE,IAAG,kBAAiB,KAAE,CAAC,GAAE,MAAM,UAAQ,IAAEA,GAAE,mBAAiB,WAAS,IAAE,SAAO,EAAE,qBAAqBA,GAAE,aAAa;AAAA,IAAC,SAAOyC,IAAE;AAAA,IAAC;AAAA,EAAC,EAAC;AAAE;AAAC,SAAS,GAAG,EAAC,8BAA6B7D,IAAE,gBAAe6D,IAAE,WAAU,GAAE,OAAMxC,IAAE,wBAAuB,IAAE,IAAG,UAAS,EAAC,GAAE;AAAC,MAAI,GAAE,GAAED,IAAEwB,IAAEhC,IAAE0D,IAAE3D,IAAE4D,IAAEf,IAAEzD,IAAEW;AAAE,QAAK,EAAC,OAAMI,GAAC,IAAE;AAAE,MAAG,GAAG,oBAAoB,+BAA8B,KAAK,UAAUA,IAAE,MAAK,CAAC,CAAC,GAAEd,OAAI,GAAG,OAAO,OAAM,IAAI,MAAM,gCAAgC;AAAE,EAAAc,GAAE,qBAAmB,IAAI,GAAG,EAAC,8BAA6Bd,IAAE,gBAAe6D,IAAE,WAAU,GAAE,YAAW/C,GAAE,YAAW,wBAAuB,GAAE,SAAQA,GAAE,SAAQ,OAAMO,IAAE,SAAQP,GAAE,SAAQ,QAAO,EAAC,CAAC;AAAE,MAAIK,KAAE,eAAa,OAAO,YAAU,SAAS,OAAK,IAAGoB,KAAE,eAAa,OAAO,YAAU,SAAS,SAAO;AAAG,GAAC,UAAQ,IAAEzB,GAAE,iBAAe,WAAS,IAAE,SAAO,EAAE,SAAOK,KAAEL,GAAE,aAAa,OAAM,UAAQ,IAAEA,GAAE,iBAAe,WAAS,IAAE,SAAO,EAAE,UAAQyB,KAAEzB,GAAE,aAAa;AAAM,QAAMD,KAAE,UAAQyD,KAAE,UAAQ1B,KAAE,UAAQxB,KAAEN,GAAE,iBAAe,WAASM,KAAE,SAAOA,GAAE,SAAO,WAASwB,KAAEA,KAAE,UAAQhC,KAAEE,GAAE,iBAAe,WAASF,KAAE,SAAOA,GAAE,QAAM,WAAS0D,KAAEA,KAAE,OAAMO,KAAE,eAAa,OAAO,UAAQ,WAAS,OAAO,YAAU,UAAQlE,KAAE,OAAO,SAAS,aAAW,WAASA,KAAEA,KAAEE,IAAEiE,KAAE,EAAC,KAAI3D,IAAE,OAAMoB,IAAE,QAAO,UAAQgC,KAAEzD,GAAE,iBAAe,WAASyD,KAAE,SAAOA,GAAE,QAAO,QAAOM,IAAE,QAAO/D,GAAE,QAAO,OAAM,UAAQ0C,KAAE1C,GAAE,iBAAe,WAAS0C,KAAE,SAAOA,GAAE,aAAW,UAAQzD,KAAEe,GAAE,iBAAe,WAASf,KAAE,SAAOA,GAAE,aAAY,UAASe,GAAE,cAAa,YAAW,GAAG,SAAQ,WAAU,UAAQJ,KAAEI,GAAE,iBAAe,WAASJ,KAAE,SAAOA,GAAE,UAAS;AAAE,EAAAI,GAAE,iBAAegE;AAAE,QAAMC,KAAE,EAAC,CAAC,GAAG,UAAU,GAAE,GAAG,CAAC,GAAE,CAAC,GAAG,OAAO,GAAE,GAAG,CAAC,GAAE,CAAC,GAAG,mBAAmB,GAAE,GAAG,CAAC,GAAE,CAAC,GAAG,iBAAiB,GAAE,GAAG,GAAE/E,EAAC,GAAE,CAAC,GAAG,cAAc,GAAE,GAAG,GAAEA,EAAC,GAAE,CAAC,GAAG,mBAAmB,GAAE,GAAG,CAAC,GAAE,CAAC,GAAG,gBAAgB,GAAE,GAAG,CAAC,GAAE,CAAC,GAAG,oBAAoB,GAAE,GAAG,CAAC,GAAE,CAAC,GAAG,QAAQ,GAAE,MAAI;AAAA,EAAC,GAAE,CAAC,GAAG,eAAe,GAAE,GAAG,CAAC,GAAE,CAAC,GAAG,eAAe,GAAE,GAAG,CAAC,GAAE,CAAC,GAAG,UAAU,GAAE,CAAAA,OAAG;AAAC,MAAE,KAAK,GAAG,YAAWA,EAAC;AAAA,EAAC,EAAC;AAAE,aAAS,CAAC6D,IAAEW,EAAC,KAAI,OAAO,QAAQO,EAAC,EAAE,KAAG;AAAC,IAAAjE,GAAE,mBAAmB,GAAG+C,IAAEW,EAAC;AAAA,EAAC,SAAOxE,IAAE;AAAA,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,EAAE,MAAK,WAAU,SAAQ,WAAU,EAAC,SAAQA,IAAE,UAAS6D,GAAC,GAAE;AAAC,UAAK,EAAC,OAAM,EAAC,IAAEA;AAAE,WAAO,GAAG,oBAAoB,+CAA+C,EAAE,SAAS,IAAG7D,EAAC,GAAE,IAAI,SAAS,CAACqB,IAAE,MAAI;AAAC,UAAI,GAAE,GAAED,IAAEwB,IAAEhC,IAAE0D;AAAE,OAAC,QAAMtE,KAAE,SAAOA,GAAE,cAAY6D,GAAE,MAAM,SAAO,GAAG,EAAC,IAAG,UAAQ,IAAEA,GAAE,MAAM,cAAY,WAAS,IAAE,IAAE,IAAG,OAAM,GAAG,WAAU,GAAEA,GAAE,MAAM,sBAAsB,EAAE,OAAO,CAAA7D,OAAG;AAAA,MAAC,EAAC,GAAG,EAAE,QAAM,OAAG,EAAE,SAAO,OAAG,UAAQ,IAAE,EAAE,mBAAiB,WAAS,KAAG,EAAE,UAAU,UAAQoB,KAAE,EAAE,cAAY,WAASA,KAAEA,KAAE,EAAE,GAAEyC,GAAE,MAAM,aAAW,MAAG7D,GAAE,eAAa,UAAQ4C,KAAE,EAAE,uBAAqB,WAASA,KAAE,SAAOA,GAAE,WAAU,EAAG,kBAAgBiB,GAAE,MAAM,sBAAoB,GAAGA,GAAE,MAAM,oBAAmB,EAAC,MAAK,GAAG,UAAS,CAAC,EAAE,MAAM,MAAI;AAAC,QAAAxC,GAAE,IAAE;AAAA,MAAC,EAAC,EAAG,OAAO,CAAArB,OAAG;AAAC,UAAEA,EAAC;AAAA,MAAC,MAAIqB,GAAE,IAAE,GAAE,EAAE,aAAW,OAAG,EAAE,mBAAiB,OAAG,EAAE,YAAUsD,GAAC,GAAG3E,GAAE,YAAU,EAAE,WAAU,EAAE,gBAAc,QAAO,EAAE,2BAAyB,OAAG,UAAQY,KAAE,EAAE,uBAAqB,WAASA,MAAGA,GAAE,WAAWZ,EAAC,GAAE6D,GAAE,oBAAoB,GAAG,UAAU,MAAI,UAAQS,KAAE,EAAE,uBAAqB,WAASA,MAAGA,GAAE,WAAWtE,EAAC,GAAE6D,GAAE,oBAAoB,GAAG,YAAY,GAAExC,GAAE,IAAE;AAAA,IAAE,EAAC;AAAA,EAAE;AAAG;AAAA,CAAE,OAAK,KAAG,CAAA,IAAK,SAAO,WAAS,SAASrB,IAAE;AAAC,EAAAA,GAAE,aAAW,UAASA,GAAE,wBAAsB,kBAAiBA,GAAE,aAAW,eAAcA,GAAE,YAAU,cAAaA,GAAE,cAAY;AAAc,GAAE,OAAK,KAAG,CAAA,EAAG;AAAE,MAAM,WAAWyE,qBAAAA,cAAC;AAAA,EAAC,YAAYzE,IAAE;AAAC,UAAK,GAAG,KAAK,QAAM,EAAC,OAAM,OAAG,QAAO,IAAG,YAAW,OAAG,cAAa,OAAG,YAAW,OAAG,iBAAgB,GAAE,QAAO,OAAG,2BAA0B,OAAG,cAAa,mBAAkB,WAAU,OAAG,cAAa,OAAG,oBAAmB,OAAG,wBAAuB,IAAG,SAAQ,IAAG,SAAQ,OAAG,kBAAiB,OAAG,iBAAgB,IAAG,0BAAyB,OAAG,OAAM,OAAG,mBAAkB,GAAG,aAAY,GAAE,KAAK,WAASA;AAAE,UAAK,EAAC,QAAO,GAAE,cAAaqB,IAAE,8BAA6B,GAAE,gBAAe,GAAE,WAAU,GAAE,YAAW,GAAE,cAAaD,IAAE,iBAAgBwB,IAAE,YAAWhC,IAAE,SAAQ0D,IAAE,kBAAiB3D,IAAE,OAAM4D,IAAE,WAAUf,KAAE,OAAG,SAAQzD,IAAE,YAAWW,IAAE,wBAAuBI,KAAE,IAAG,SAAQK,IAAE,aAAYoB,KAAE,EAAC,SAAQ,GAAE,EAAC,IAAEvC;AAAE,SAAK,MAAM,SAAO,GAAE,KAAK,MAAM,iBAAe,GAAE,KAAK,MAAM,eAAaoB,IAAE,KAAK,MAAM,aAAW,GAAE,KAAK,MAAM,aAAWR,IAAE,KAAK,MAAM,eAAaS,IAAE,KAAK,MAAM,YAAUmC,IAAE,KAAK,MAAM,kBAAgB,QAAMZ,KAAEA,KAAE,GAAE,KAAK,MAAM,eAAa,CAAC,GAAE,KAAK,MAAM,mBAAiBjC,IAAE,KAAK,MAAM,yBAAuBG,IAAE,KAAK,MAAM,UAAQwD,IAAE,KAAK,MAAM,aAAW,OAAG,KAAK,MAAM,aAAW5D,IAAE,KAAK,gBAAgB,EAAE,GAAE,KAAK,oBAAoB,GAAG,YAAY,IAAG,QAAMX,KAAE,SAAOA,GAAE,cAAY,KAAK,MAAM,kBAAgB,KAAI,KAAK,MAAM,iBAAeA,IAAE,KAAK,MAAM,qBAAmBwC,IAAE,KAAK,MAAM,QAAM,UAAM,QAAMpB,KAAE,SAAOA,GAAE,cAAa,UAAM,QAAMA,KAAE,SAAOA,GAAE,gBAAc,EAAE,OAAO,2BAA2B,GAAE,UAAM,QAAMA,KAAE,SAAOA,GAAE,iBAAe,EAAE,OAAO,qBAAqB,GAAE,UAAM,QAAMA,KAAE,SAAOA,GAAE,eAAa,EAAE,OAAO,aAAa,GAAE,UAAM,QAAMA,KAAE,SAAOA,GAAE,qBAAmB,EAAE,OAAO,mBAAmB,GAAE,KAAK,MAAM,UAAQA,KAAG,QAAMpB,KAAE,SAAOA,GAAE,oBAAkB,KAAK,MAAM,iBAAeA,GAAE,iBAAgB,GAAG,oBAAoB,wDAAwD6C,EAAC,qBAAqBjC,EAAC,iBAAiB,KAAK,MAAM,YAAY,iCAAiC,CAAC,mBAAmB,CAAC,cAAc,CAAC,EAAE,GAAE,KAAK,MAAM,gBAAc,GAAG,EAAC,8BAA6B,GAAE,gBAAe,GAAE,WAAU,GAAE,OAAM4D,IAAE,wBAAuBzD,IAAE,UAAS,KAAI,CAAC,GAAE,KAAK,uBAAuB,EAAC,SAAQ,cAAa,CAAC;AAAA,EAAC;AAAA,EAAC,sBAAqB;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,UAAId;AAAE,UAAG,KAAK,MAAM,gBAAe;AAAC,cAAM6D,KAAE,MAAM,KAAK,MAAM,eAAe,0BAA0B,CAAA,CAAE;AAAE,QAAAA,OAAI,KAAK,MAAM,gBAAcA,IAAE,KAAK,MAAM,YAAUA,GAAE,WAAU,KAAK,MAAM,4BAA0B,UAAQ7D,KAAE6D,GAAE,8BAA4B,WAAS7D,MAAGA,IAAE6D,GAAE,qBAAmB,KAAK,MAAM,aAAW,MAAG,KAAK,MAAM,QAAM,MAAG,KAAK,oBAAoB,GAAG,MAAM,GAAE,MAAM,KAAK,iBAAiB,EAAC,WAAUA,GAAE,UAAS,CAAC;AAAA,MAAG;AAAC,SAAG,EAAC,8BAA6B,GAAG,QAAO,gBAAe,KAAK,MAAM,gBAAe,WAAU,KAAK,SAAS,WAAU,OAAM,KAAK,SAAS,OAAM,wBAAuB,KAAK,MAAM,wBAAuB,UAAS,KAAI,CAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,2BAA0B;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,aAAO,OAAM,SAAS7D,IAAE;AAAC,eAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAI6D;AAAE,gBAAK,EAAC,OAAM,EAAC,IAAE7D;AAAE,cAAG,CAAC,EAAE,eAAe,QAAO,KAAK,GAAG,oBAAoB,qFAAqF;AAAE,gBAAMqB,KAAE,MAAM,EAAE,eAAe,0BAA0B,CAAA,CAAE;AAAE,cAAG,GAAG,oBAAoB,iEAAiE,EAAE,wBAAwB,kBAAiBA,EAAC,GAAE,UAAQwC,KAAE,EAAE,uBAAqB,WAASA,KAAE,SAAOA,GAAE,cAAc,QAAO,GAAG,oBAAoB,mFAAmF,GAAExC;AAAE,cAAGA,IAAE;AAAC,gBAAGA,GAAE,aAAW,KAAK,IAAG,EAAG,QAAO,EAAE,gBAAcA,IAAE,EAAE,2BAAyB,MAAG,EAAE,YAAU,QAAMA,KAAE,SAAOA,GAAE,WAAU,EAAE,eAAa,MAAGA;AAAE,eAAG,oBAAoB,0DAA0D;AAAA,UAAC;AAAC,YAAE,2BAAyB;AAAA,QAAE;MAAG,GAAE,IAAI;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,2BAA0B;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAO,SAASrB,IAAE;AAAC,eAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAI6D,IAAE,GAAExC,IAAE,GAAE,GAAE;AAAE,cAAG,CAACrB,GAAE,mBAAmB,OAAM,IAAI,MAAM,qCAAqC;AAAE,cAAGA,GAAE,MAAM,OAAM,IAAI,MAAM,2BAA2B;AAAE,cAAGA,GAAE,cAAY,UAAQ6D,KAAE7D,GAAE,uBAAqB,WAAS6D,KAAE,SAAOA,GAAE,YAAW,GAAI,QAAO7D,GAAE,gBAAc,OAAO,OAAO,OAAO,OAAO,CAAA,GAAGA,GAAE,aAAa,GAAE,EAAC,WAAUA,GAAE,WAAU,YAAW,KAAK,IAAG,IAAGA,GAAE,gBAAe,CAAC,GAAE,UAAQ,IAAEA,GAAE,mBAAiB,WAAS,KAAG,EAAE,qBAAqBA,GAAE,aAAa,GAAE,EAAC,WAAUA,GAAE,WAAU,SAAQ,UAAQ,IAAE,UAAQqB,KAAErB,GAAE,uBAAqB,WAASqB,KAAE,SAAOA,GAAE,WAAU,MAAK,WAAS,IAAE,SAAO,EAAE,MAAM,SAAQ,QAAO,UAAQ,IAAE,UAAQ,IAAErB,GAAE,uBAAqB,WAAS,IAAE,SAAO,EAAE,iBAAe,WAAS,IAAE,SAAO,EAAE,MAAM,OAAM;AAAE,aAAG,oBAAoB,4CAA4C;AAAE,gBAAM,IAAE,MAAMA,GAAE,mBAAmB,cAAa;AAAG,aAAG,oBAAoB,8DAA6D,CAAC;AAAE,gBAAMoB,KAAE,OAAO,OAAO,OAAO,OAAO,CAAA,GAAGpB,GAAE,aAAa,GAAE,EAAC,WAAU,EAAE,WAAU,UAAS,EAAE,SAAQ,YAAW,KAAK,QAAMA,GAAE,gBAAe,CAAC;AAAE,iBAAOA,GAAE,YAAU,EAAE,WAAUA,GAAE,gBAAcoB,IAAE,EAAC,WAAUpB,GAAE,WAAU,QAAO,EAAE,QAAO,SAAQ,EAAE,QAAO;AAAA,QAAC,EAAC;AAAA,MAAE,GAAE,KAAK,KAAK;AAAA,IAAC;EAAG;AAAA,EAAC,QAAO;AAAC,WAAO,GAAG,KAAK,KAAK;AAAA,EAAC;AAAA,EAAC,iBAAiB,EAAC,WAAUA,IAAE,iBAAgB6D,IAAE,YAAW,EAAC,GAAE;AAAC,YAAO,SAAS7D,IAAE;AAAC,aAAO,EAAE,MAAK,WAAU,SAAQ,WAAU,EAAC,WAAUA,IAAE,iBAAgB6D,IAAE,YAAWW,IAAE,OAAMnD,GAAC,GAAE;AAAC,YAAI,GAAE,GAAE;AAAE,YAAG,CAACqD,SAAE1E,EAAC,EAAE,OAAM,GAAG,oBAAoB,qDAAqDqB,GAAE,OAAO,8BAA8BrB,EAAC,EAAE,GAAE,IAAI,MAAM,mBAAmBA,EAAC,EAAE;AAAE,YAAG,GAAG,oBAAoB,qDAAqDqB,GAAE,OAAO,cAAcrB,EAAC,oBAAoB6D,EAAC,EAAE,GAAE,UAAQ,IAAExC,GAAE,uBAAqB,WAAS,IAAE,SAAO,EAAE,YAAW,EAAG,QAAO,KAAK,GAAG,oBAAoB,qDAAqDA,GAAE,OAAO,4CAA4C;AAAE,QAAAA,GAAE,YAAUrB,IAAE,MAAM,UAAQ,IAAEqB,GAAE,uBAAqB,WAAS,IAAE,SAAO,EAAE,iBAAiB,EAAC,WAAUrB,IAAE,YAAWwE,IAAE,iBAAgBX,GAAC,CAAC;AAAE,cAAMzC,KAAE,OAAO,OAAO,OAAO,OAAO,CAAA,GAAGC,GAAE,aAAa,GAAE,EAAC,WAAUrB,IAAE,YAAW,KAAK,IAAG,IAAGqB,GAAE,gBAAe,CAAC;AAAE,QAAAA,GAAE,gBAAcD,IAAE,UAAQ,IAAEC,GAAE,mBAAiB,WAAS,KAAG,EAAE,qBAAqBD,EAAC;AAAA,MAAC,EAAC;AAAA,IAAE,GAAE,EAAC,WAAUpB,IAAE,YAAW,GAAE,iBAAgB6D,IAAE,OAAM,KAAK,MAAK,CAAC;AAAA,EAAC;AAAA,EAAC,YAAY7D,IAAE;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,YAAM6D,KAAE,KAAK,MAAM,gBAAc7D,GAAE,UAAQ,GAAGA,GAAE,MAAM;AAAE,MAAA6D,MAAGW,KAAAA,UAAE,MAAM,wBAAuB,EAAC,QAAOxE,GAAE,OAAM,CAAC;AAAE,UAAG;AAAC,eAAO,OAAM,SAASA,IAAE6D,IAAE;AAAC,iBAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,gBAAI,GAAExC;AAAE,kBAAK,EAAC,OAAM,EAAC,IAAErB;AAAE,eAAG,oBAAoB,gDAAgD,EAAE,OAAO,WAAW,EAAE,MAAM,UAAU,EAAE,KAAK,qBAAqB,EAAE,gBAAgB,eAAe,EAAE,UAAU,WAAW,UAAQ,IAAE,EAAE,uBAAqB,WAAS,IAAE,SAAO,EAAE,YAAW,CAAE,qBAAqB,EAAE,gBAAgB,WAAW,EAAE,iBAAiB,IAAG6D,EAAC,GAAE,EAAE,oBAAkB,EAAE,UAAQ,UAAQxC,KAAE,EAAE,uBAAqB,WAASA,KAAE,SAAOA,GAAE,YAAW,MAAK,EAAE,qBAAmB,GAAG,oBAAoB,gDAAgD,EAAE,OAAO,iDAAiD,GAAE,MAAM,IAAI,SAAS,CAAAwC,OAAG;AAAC,cAAA7D,GAAE,KAAK,GAAG,eAAc6D,EAAC;AAAA,YAAC,EAAC,GAAG,GAAG,oBAAoB,gDAAgD,EAAE,OAAO,iDAAiD;AAAG,gBAAG;AAAC,oBAAMW,KAAE,OAAM,SAASxE,IAAE6D,IAAE;AAAC,uBAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,yBAAO,IAAI,SAAS,CAAAW,OAAG;AAAC,wBAAInD;AAAE,0BAAK,EAAC,OAAMoD,GAAC,IAAEzE;AAAE,uBAAG,oBAAoB,wDAAwDyE,GAAE,OAAO,UAAUA,GAAE,KAAK,eAAeA,GAAE,UAAU,WAAWZ,GAAE,MAAM,EAAE,GAAE,CAACY,GAAE,gBAAcA,GAAE,cAAYA,GAAE,mBAAiB,UAAQpD,KAAEoD,GAAE,uBAAqB,WAASpD,MAAGA,GAAE,YAAYwC,EAAC,EAAE,MAAM,CAAA7D,QAAG;AAAC,sBAAAwE,GAAExE,GAAC;AAAA,oBAAC,EAAC,EAAG,OAAO,CAAAA,QAAG;AAAC,sBAAAwE,GAAE,KAAE;AAAA,oBAAC,EAAC,IAAGxE,GAAE,KAAK,GAAG,aAAY,MAAI;AAAC,0BAAIA;AAAE,yBAAG,oBAAoB,wDAAwDyE,GAAE,OAAO,sDAAsD,GAAE,UAAQzE,MAAEyE,GAAE,uBAAqB,WAASzE,OAAGA,IAAE,YAAY6D,EAAC,EAAE,MAAM,CAAA7D,QAAG;AAAC,wBAAAwE,GAAExE,GAAC;AAAA,sBAAC,EAAC,EAAG,OAAO,CAAAA,QAAG;AAAC,wBAAAwE,GAAE,KAAE;AAAA,sBAAC,EAAC;AAAA,oBAAE,EAAC;AAAA,kBAAE,EAAC;AAAA,gBAAE,EAAC;AAAA,cAAE,GAAExE,IAAE6D,EAAC;AAAE,qBAAOW;AAAA,YAAC,SAAOxE,IAAE;AAAC,oBAAMA;AAAA,YAAC;AAAA,UAAC,EAAC;AAAA,QAAE,GAAE,MAAKA,EAAC;AAAA,MAAC,SAAOqB,IAAE;AAAC,cAAMwC,MAAGW,eAAE,MAAM,qBAAoB,EAAC,QAAOxE,GAAE,OAAM,CAAC,GAAEqB;AAAA,MAAC;AAAA,IAAC;EAAG;AAAA,EAAC,cAAa;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAO,SAASrB,IAAE;AAAC,eAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAI6D;AAAE,gBAAM,IAAE,MAAM,UAAQA,KAAE7D,GAAE,mBAAiB,WAAS6D,KAAE,SAAOA,GAAE;AAA4B,aAAG,oBAAoB,4CAA2C,CAAC;AAAA,QAAC,EAAC;AAAA,MAAE,GAAE,KAAK,KAAK;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,sBAAqB;AAAC,WAAO,KAAK,MAAM;AAAA,EAAyB;AAAA,EAAC,mBAAkB;AAAC,WAAO,KAAK,MAAM;AAAA,EAAa;AAAA,EAAC,UAAS;AAAC,WAAO,KAAK,MAAM;AAAA,EAAK;AAAA,EAAC,cAAa;AAAC,QAAI7D;AAAE,WAAO,UAAQA,KAAE,KAAK,MAAM,uBAAqB,WAASA,KAAE,SAAOA,GAAE,YAAW;AAAA,EAAE;AAAA,EAAC,eAAc;AAAC,WAAO,KAAK,MAAM;AAAA,EAAU;AAAA,EAAC,WAAU;AAAC,WAAO,KAAK,MAAM;AAAA,EAAM;AAAA,EAAC,wBAAuB;AAAC,WAAO,KAAK,MAAM;AAAA,EAAkB;AAAA,EAAC,OAAM;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,UAAIA;AAAE,SAAG,oBAAoB,yCAAyC,KAAK,MAAM,SAAS,EAAE,GAAE,MAAM,UAAQA,KAAE,KAAK,MAAM,uBAAqB,WAASA,KAAE,SAAOA,GAAE,KAAI;AAAA,IAAE,EAAC;AAAA,EAAE;AAAA,EAAC,aAAY;AAAC,OAAG,oBAAoB,wBAAwB,KAAK,MAAM,SAAS,EAAE,GAAE,GAAG,cAAc,wBAAwB,KAAK,MAAM,SAAS,EAAE,GAAE,GAAG,MAAM,wBAAwB,KAAK,MAAM,SAAS,EAAE,GAAE,GAAG,YAAY,wBAAwB,KAAK,MAAM,SAAS,EAAE;AAAA,EAAC;AAAA,EAAC,WAAU;AAAC,QAAIA;AAAE,OAAG,oBAAoB,6CAA6C,KAAK,MAAM,SAAS,EAAE,GAAE,UAAQA,KAAE,KAAK,MAAM,uBAAqB,WAASA,MAAGA,GAAE;EAAU;AAAA,EAAC,oBAAoBA,IAAE;AAAC,SAAK,MAAM,sBAAoBA,OAAI,KAAK,MAAM,oBAAkBA,IAAE,KAAK,KAAK,GAAG,mBAAkBA,EAAC,GAAE,KAAK,uBAAuB,EAAC,SAAQ,sBAAqB,CAAC;AAAA,EAAE;AAAA,EAAC,uBAAuBA,KAAE,CAAA,GAAG;AAAC,SAAK,KAAK,GAAG,gBAAe,KAAK,iBAAgB,CAAE;AAAA,EAAC;AAAA,EAAC,sBAAqB;AAAC,WAAO,KAAK,MAAM;AAAA,EAAiB;AAAA,EAAC,mBAAkB;AAAC,WAAM,EAAC,gBAAe,KAAK,MAAM,gBAAe,SAAQ,KAAK,WAAU,GAAG,kBAAiB,KAAK,MAAM,mBAAkB,eAAc,KAAK,MAAM,eAAc,WAAU,KAAK,MAAM,UAAS;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,QAAIA;AAAE,WAAO,UAAQA,KAAE,KAAK,MAAM,uBAAqB,WAASA,KAAE,SAAOA,GAAE,WAAU;AAAA,EAAE;AAAA,EAAC,YAAW;AAAC,QAAIA;AAAE,cAAQA,KAAE,KAAK,MAAM,uBAAqB,WAASA,MAAGA,GAAE,UAAS;AAAA,EAAE;AAAA,EAAC,kBAAkBA,IAAE;AAAC,QAAI6D;AAAE,UAAM,IAAE,UAAQA,KAAE,KAAK,MAAM,uBAAqB,WAASA,KAAE,SAAOA,GAAE,eAAc;AAAG,QAAG,CAAC,EAAE,OAAM,IAAI,MAAM,iCAAiC;AAAE,MAAE,kBAAiB,MAAK7D,MAAG,EAAE,kBAAkBA,EAAC;AAAA,EAAC;AAAA,EAAC,QAAO;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,UAAIA;AAAE,SAAG,oBAAoB,0CAA0C,KAAK,MAAM,SAAS,EAAE,GAAE,MAAM,UAAQA,KAAE,KAAK,MAAM,uBAAqB,WAASA,KAAE,SAAOA,GAAE,MAAK,GAAG,KAAK,oBAAoB,GAAG,MAAM;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,aAAY;AAAC,WAAO,GAAG;AAAA,EAAO;AAAA,EAAC,sBAAqB;AAAC,QAAIA;AAAE,WAAO,UAAQA,KAAE,KAAK,MAAM,qBAAmB,WAASA,MAAGA;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAO,SAASA,IAAE;AAAC,eAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAI6D;AAAE,gBAAK,EAAC,OAAM,EAAC,IAAE7D;AAAE,aAAG,oBAAoB,2CAA2C,EAAE,SAAS,EAAE,GAAE,MAAM,UAAQ6D,KAAE,EAAE,uBAAqB,WAASA,KAAE,SAAOA,GAAE,OAAM,GAAG7D,GAAE,oBAAoB,GAAG,MAAM;AAAA,QAAC,EAAC;AAAA,MAAE,GAAE,IAAI;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,QAAQA,IAAE;AAAC,QAAI6D,IAAE,GAAExC;AAAE,UAAM,IAAE,UAAQwC,KAAE,KAAK,MAAM,uBAAqB,WAASA,KAAE,SAAOA,GAAE,kBAAiB,IAAE,QAAM,IAAE,SAAO,EAAE,kBAAiB;AAAG,QAAG,CAAC,EAAE,OAAM,IAAI,MAAM,2BAA2B;AAAE,WAAO,UAAQxC,KAAE,UAAQ,IAAE,KAAK,MAAM,uBAAqB,WAAS,IAAE,SAAO,EAAE,MAAM,kBAAgB,WAASA,KAAE,SAAOA,GAAE,QAAQrB,IAAE,CAAC;AAAA,EAAC;AAAA,EAAC,QAAQA,IAAE;AAAC,QAAI6D,IAAE,GAAExC;AAAE,QAAG,EAAE,UAAQwC,KAAE,KAAK,MAAM,uBAAqB,WAASA,KAAE,SAAOA,GAAE,MAAM,eAAe,OAAM,IAAI,MAAM,mCAAmC;AAAE,WAAO,UAAQxC,KAAE,UAAQ,IAAE,KAAK,MAAM,uBAAqB,WAAS,IAAE,SAAO,EAAE,MAAM,kBAAgB,WAASA,KAAE,SAAOA,GAAE,QAAQrB,EAAC;AAAA,EAAC;AAAA,EAAC,eAAc;AAAC,WAAO,KAAK,MAAM;AAAA,EAAS;AAAA,EAAC,sBAAqB;AAAC,QAAIA;AAAE,WAAO,UAAQA,KAAE,KAAK,MAAM,uBAAqB,WAASA,KAAE,SAAOA,GAAE,oBAAmB;AAAA,EAAE;AAAA,EAAC,OAAO,EAAC,WAAUA,GAAC,GAAE;AAAC,YAAO,SAASA,IAAE;AAAC,aAAO,EAAE,MAAK,WAAU,SAAQ,WAAU,EAAC,WAAUA,IAAE,OAAM6D,GAAC,GAAE;AAAC,YAAI,GAAExC,IAAE;AAAE,YAAG,CAACqD,SAAE1E,EAAC,EAAE,OAAM,GAAG,oBAAoB,qDAAqD6D,GAAE,OAAO,8BAA8B7D,EAAC,EAAE,GAAE,IAAI,MAAM,mBAAmBA,EAAC,EAAE;AAAE,YAAG6D,GAAE,aAAa,QAAO,KAAK,GAAG,oBAAoB,2CAA2CA,GAAE,OAAO,iBAAiBA,GAAE,YAAY,cAAc7D,EAAC,EAAE;AAAE,cAAK,EAAC,QAAO,EAAC,IAAE,UAAQqB,KAAE,UAAQ,IAAEwC,GAAE,uBAAqB,WAAS,IAAE,SAAO,EAAE,UAAQ,WAASxC,KAAEA,KAAE,CAAA;AAAG,SAAC,QAAM,IAAE,SAAO,EAAE,eAAa,GAAG,oBAAoB,2CAA2CwC,GAAE,OAAO,2BAA2B,GAAE,QAAM,KAAG,EAAE,QAAO,IAAI,GAAG,OAAO,OAAO,OAAO,OAAO,EAAC,IAAG7D,IAAE,OAAM,GAAG,SAAQ,GAAE6D,GAAE,cAAc,GAAE,EAAC,YAAWA,GAAE,YAAW,kBAAiB,GAAG,SAAQ,eAAc,UAAQ,IAAEA,GAAE,eAAa,WAAS,IAAE,SAAO,EAAE,QAAO,CAAC,GAAEA,GAAE,sBAAsB,EAAE,OAAO,CAAA7D,QAAG;AAAA,QAAC,EAAC,GAAG,MAAM,IAAI,SAAS,CAACwE,IAAEnD,OAAI;AAAC,kBAAM,KAAG,EAAE,KAAK,GAAG,UAAS,EAAC,WAAUrB,GAAC,IAAG,CAACA,KAAEyE,OAAI;AAAC,eAAG,oBAAoB,2CAA2CZ,GAAE,OAAO,WAAW,QAAM,IAAE,SAAO,EAAE,EAAE,IAAG,EAAC,OAAM7D,KAAE,UAASyE,GAAC,CAAC,GAAEzE,MAAEqB,GAAErB,GAAC,IAAEwE,GAAEC,EAAC;AAAA,UAAC,EAAC;AAAA,QAAE;MAAG,EAAC;AAAA,IAAE,GAAE,EAAC,WAAUzE,IAAE,OAAM,KAAK,MAAK,CAAC;AAAA,EAAC;AAAA,EAAC,WAAWA,IAAE;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,aAAO,GAAG,EAAC,SAAQA,IAAE,UAAS,KAAI,CAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAC;AAAC,EAAC,SAASA,IAAE;AAAC,EAAAA,GAAE,QAAM,SAAQA,GAAE,OAAK;AAAM,GAAE,OAAK,KAAG,CAAA,EAAG;AAAE,IAAI,KAAG,UAAS,KAAG,WAAU,KAAG,EAAC,QAAO,EAAC,cAAa,MAAI,6DAA4D,yBAAwB,MAAI,0EAAyE,kBAAiB,MAAI,8FAA6F,iBAAgB,CAAAA,OAAG,sFAAsFA,EAAC,kCAAiC,qBAAoB,MAAI,+CAA8C,sBAAqB,MAAI,0EAAyE,oBAAmB,MAAI,kDAAiD,sBAAqB,MAAI,6CAA4C,sBAAqB,MAAI,yDAAwD,qBAAoB,MAAI,gDAA+C,qBAAoB,CAAAA,OAAG,+CAA+CA,EAAC,KAAI,GAAE,MAAK,EAAC,WAAU,CAAAA,OAAG,yCAAyCA,EAAC,KAAI,GAAE,UAAS,EAAC,oBAAmB,uOAAsO,2BAA0B,8OAA6O,4BAA2B,gPAA+O,mBAAkB,8MAA6M,iBAAgB,+NAA8N,QAAO,EAAC,OAAM,+LAA8L,MAAK,kLAAiL,gBAAe,qMAAoM,cAAa,wLAAuL,GAAE,KAAI,EAAC,uBAAsB,+LAA8L,sCAAqC,8MAA6M,iCAAgC,mVAAkV,GAAE,qBAAoB,6HAA4H,EAAC;AAAE,SAAS,GAAGA,IAAE;AAAC,QAAM6D,KAAE,EAAC,uBAAsB,OAAG,sCAAqC,OAAG,iCAAgC,MAAE;AAAE,SAAM,CAAC,GAAExC,IAAE,MAAI;;AAAC,IAAAwC,GAAE,yBAAuB,kBAAgB,EAAE,SAAOA,GAAE,wCAAsC,iCAA+B,EAAE,SAAO,CAACA,GAAE,mCAAiC,wBAAsB,EAAE,UAAQ,CAAC,IAAG,EAAE,EAAE,WAAS1B,MAAA,EAAE,WAAF,gBAAAA,IAAU,SAAM,EAAE,MAAInC,GAAE,KAAK,GAAG,SAAS,IAAI,+BAA+B,GAAE6D,GAAE,kCAAgC,SAAK7D,GAAE,KAAK,GAAG,SAAS,IAAI,oCAAoC,GAAE6D,GAAE,uCAAqC,SAAK7D,GAAE,KAAK,GAAG,SAAS,IAAI,qBAAqB,GAAE6D,GAAE,wBAAsB,OAAI,EAAC;AAAA,EAAE;AAAC;AAAC,IAAI,KAAG,YAAW,KAAG,KAAK,MAAM,KAAK,OAAM,IAAG,EAAE;AAAE,SAAS,KAAI;AAAC,SAAM,CAAC7D,IAAE6D,IAAE,GAAExC,OAAI;AAAC,UAAM,IAAErB,GAAE,IAAG,IAAE,MAAI,KAAG,KAAG;AAAG,IAAAA,GAAE,KAAG,GAAE6D,GAAE,KAAG,GAAE,GAAG,CAAAW,OAAG;AAAC,MAAAxE,GAAE,KAAG,GAAE6D,GAAE,KAAG,GAAEW,GAAC;AAAA,IAAE;EAAG;AAAC;AAAC,IAAI,KAAG,CAACxE,IAAE6D,IAAE,MAAI;AAAC,MAAG,CAACA,GAAE,IAAI7D,EAAC,EAAE,OAAM,UAAU,YAAU,CAAC;AAAC,GAAE,KAAG,CAACA,IAAE6D,IAAE,OAAK,GAAG7D,IAAE6D,IAAE,yBAAyB,GAAE,IAAE,EAAE,KAAK7D,EAAC,IAAE6D,GAAE,IAAI7D,EAAC,IAAG,KAAG,CAACA,IAAE6D,IAAE,MAAI;AAAC,MAAGA,GAAE,IAAI7D,EAAC,EAAE,OAAM,UAAU,mDAAmD;AAAE,EAAA6D,cAAa,UAAQA,GAAE,IAAI7D,EAAC,IAAE6D,GAAE,IAAI7D,IAAE,CAAC;AAAC,GAAE,KAAG,CAACA,IAAE6D,IAAE,GAAExC,QAAK,GAAGrB,IAAE6D,IAAE,wBAAwB,GAAEA,GAAE,IAAI7D,IAAE,CAAC,GAAE,IAAG,KAAG,CAACA,IAAE6D,IAAE,OAAK,GAAG7D,IAAE6D,IAAE,uBAAuB,GAAE,IAAG,KAAG,EAAC,cAAa,OAAM,kBAAiB,QAAO,qBAAoB,QAAO,qBAAoB,QAAO,oBAAmB,QAAO,eAAc,QAAO,OAAM,QAAO,gBAAe,QAAO,gBAAe,QAAO,eAAc,QAAO,UAAS,OAAM,GAAE,KAAG,EAAC,UAAS,EAAC,UAAS,gBAAe,SAAQ,wGAAuG,GAAE,UAAS,EAAC,UAAS,gBAAe,SAAQ,+CAA8C,GAAE,UAAS,EAAC,UAAS,gBAAe,SAAQ,gDAA+C,GAAE,UAAS,EAAC,UAAS,gBAAe,SAAQ,+BAA8B,GAAE,UAAS,EAAC,UAAS,gBAAe,SAAQ,2BAA0B,GAAE,UAAS,EAAC,UAAS,YAAW,SAAQ,iBAAgB,GAAE,UAAS,EAAC,UAAS,YAAW,SAAQ,sBAAqB,GAAE,UAAS,EAAC,UAAS,YAAW,SAAQ,wBAAuB,GAAE,UAAS,EAAC,UAAS,YAAW,SAAQ,wBAAuB,GAAE,UAAS,EAAC,UAAS,YAAW,SAAQ,wBAAuB,GAAE,UAAS,EAAC,UAAS,YAAW,SAAQ,0BAAyB,GAAE,MAAK,EAAC,UAAS,YAAW,SAAQ,6BAA4B,GAAE,MAAK,EAAC,UAAS,YAAW,SAAQ,2EAA0E,GAAE,MAAK,EAAC,UAAS,YAAW,SAAQ,mEAAkE,GAAE,MAAK,EAAC,UAAS,YAAW,SAAQ,gDAA+C,GAAE,MAAK,EAAC,UAAS,YAAW,SAAQ,yDAAwD,EAAC;AAAE,SAAS,GAAG7D,IAAE;AAAC,SAAO,QAAQA,EAAC,KAAG,YAAU,OAAOA,MAAG,CAAC,MAAM,QAAQA,EAAC;AAAC;AAAC,IAAI,KAAG,CAACA,IAAE6D,OAAI,OAAO,eAAe,KAAK7D,IAAE6D,EAAC;AAAE,MAAM,WAAW,UAAS;AAAA,EAAC,YAAY7D,IAAE6D,IAAE;AAAC,QAAI;AAAE,UAAK,EAAC,SAAQxC,IAAE,aAAY,GAAE,GAAG,EAAC,IAAErB,IAAE,EAAC,MAAK,EAAC,IAAEA,IAAE,IAAE,MAAI,EAAE,SAAOqB,KAAE,YAAY,EAAE,KAAK,GAAG,CAAC,OAAOA,EAAC;AAAG,UAAM,KAAG,CAAC,GAAE,QAAM,MAAI,KAAK,QAAM,IAAG,OAAO,OAAO,MAAK,CAAC,GAAE,KAAK,OAAK,KAAK,YAAY,MAAK,KAAK,WAAS,MAAI,MAAI,IAAE,CAACrB,IAAE,GAAG6D,GAAC,CAAE;AAAA,EAAE;AAAC;AAAC,SAAS,GAAG7D,IAAE;AAAC,SAAM,YAAU,OAAOA,MAAG,QAAMA;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAM,YAAU,OAAOA,KAAEA,GAAE,SAAQ,IAAG,YAAU,OAAOA,KAAE,KAAK,UAAUA,EAAC,IAAE,GAAGA,EAAC;AAAE;AAAC,SAAS,GAAGA,IAAE6D,IAAE,GAAExC,IAAE;AAAC,MAAG,SAAKrB,GAAE;AAAO,YAAKA,KAAEA,KAAE,KAAG,YAAU,OAAOA,OAAIA,KAAE,EAAC,SAAQA,GAAC;AAAG,QAAK,EAAC,MAAK,GAAE,QAAO,EAAC,IAAE6D,IAAE,EAAC,MAAK,EAAC,IAAE,GAAE,EAAC,YAAW,GAAE,SAAQzC,KAAE,8BAA8B,CAAC,KAAK,IAAE,sBAAsB,CAAC,OAAK,EAAE,qBAAqB,GAAGC,EAAC,CAAC,KAAI,IAAErB;AAAE,SAAM,EAAC,OAAMqB,IAAE,MAAK,GAAE,YAAW,GAAE,KAAI,EAAE,EAAE,SAAO,CAAC,GAAE,MAAK,GAAE,QAAO,GAAE,GAAGrB,IAAE,SAAQoB,GAAC;AAAC;AAAC,UAAS,GAAGpB,IAAE6D,IAAE,GAAExC,IAAE;AAAC,GAAC,SAASrB,IAAE;AAAC,WAAO,GAAGA,EAAC,KAAG,cAAY,OAAOA,GAAE,OAAO,QAAQ;AAAA,EAAC,GAAGA,EAAC,MAAIA,KAAE,CAACA,EAAC;AAAG,aAAU,KAAKA,IAAE;AAAC,UAAMA,KAAE,GAAG,GAAE6D,IAAE,GAAExC,EAAC;AAAE,IAAArB,OAAI,MAAMA;AAAA,EAAE;AAAC;AAAC,UAAS,GAAGA,IAAE6D,IAAE,IAAE,CAAA,GAAG;AAAC,QAAK,EAAC,MAAKxC,KAAE,CAAA,GAAG,QAAO,IAAE,CAACrB,EAAC,GAAE,QAAO,IAAE,OAAG,MAAK,IAAE,MAAE,IAAE,GAAE,IAAE,EAAC,MAAKqB,IAAE,QAAO,EAAC;AAAE,MAAG,MAAIrB,KAAE6D,GAAE,QAAQ7D,IAAE,CAAC,GAAE,KAAG,WAAS6D,GAAE,QAAM,GAAGA,GAAE,MAAM,KAAG,GAAG7D,EAAC,KAAG,CAAC,MAAM,QAAQA,EAAC,GAAG,YAAUwE,MAAKxE,GAAE,YAAS6D,GAAE,OAAOW,EAAC,KAAG,OAAOxE,GAAEwE,EAAC;AAAE,MAAIpD,KAAE;AAAQ,aAAUC,MAAKwC,GAAE,UAAU7D,IAAE,CAAC,EAAE,CAAAqB,GAAE,cAAY,EAAE,SAAQD,KAAE,aAAY,MAAK,CAACC,IAAE,MAAM;AAAE,WAAO,CAACuB,IAAEhC,IAAE0D,EAAC,KAAIT,GAAE,QAAQ7D,IAAE,CAAC,GAAE;AAAC,UAAM6D,KAAE,GAAGjD,IAAE0D,IAAE,EAAC,MAAK,WAAS1B,KAAEvB,KAAE,CAAC,GAAGA,IAAEuB,EAAC,GAAE,QAAO,WAASA,KAAE,IAAE,CAAC,GAAG,GAAEhC,EAAC,GAAE,QAAO,GAAE,MAAK,GAAE,SAAQ,EAAE,QAAO,CAAC;AAAE,eAAU4D,MAAKX,GAAE,CAAAW,GAAE,CAAC,KAAGpD,KAAE,QAAMoD,GAAE,CAAC,EAAE,aAAW,gBAAc,aAAY,MAAK,CAACA,GAAE,CAAC,GAAE,MAAM,KAAG,MAAI5D,KAAE4D,GAAE,CAAC,GAAE,WAAS5B,KAAE5C,KAAEY,KAAEZ,cAAa,MAAIA,GAAE,IAAI4C,IAAEhC,EAAC,IAAEZ,cAAa,MAAIA,GAAE,IAAIY,EAAC,IAAE,GAAGZ,EAAC,MAAI,WAASY,MAAGgC,MAAK5C,QAAKA,GAAE4C,EAAC,IAAEhC;AAAA,EAAG;AAAC,MAAG,gBAAcQ,GAAE,YAAUC,MAAKwC,GAAE,QAAQ7D,IAAE,CAAC,EAAE,CAAAqB,GAAE,cAAY,EAAE,SAAQD,KAAE,eAAc,MAAK,CAACC,IAAE,MAAM;AAAE,cAAUD,OAAI,MAAK,CAAC,QAAOpB,EAAC;AAAE;AAAC,MAAM,GAAE;AAAA,EAAC,YAAYA,IAAE;AAAC,UAAK,EAAC,MAAK6D,IAAE,QAAO,GAAE,WAAUxC,IAAE,SAAQ,GAAE,SAAQ,KAAG,CAAArB,OAAGA,KAAG,SAAQ,IAAE,aAAW;AAAA,IAAC,EAAC,IAAEA;AAAE,SAAK,OAAK6D,IAAE,KAAK,SAAO,GAAE,KAAK,UAAQ,GAAE,KAAK,UAAQ,GAAE,KAAK,YAAUxC,KAAE,CAACrB,IAAE6D,OAAI,GAAGxC,GAAErB,IAAE6D,EAAC,GAAEA,IAAE,MAAK7D,EAAC,IAAE,MAAI,CAAA,GAAG,KAAK,UAAQ,IAAE,CAACA,IAAE6D,OAAI,GAAG,EAAE7D,IAAE6D,EAAC,GAAEA,IAAE,MAAK7D,EAAC,IAAE,MAAI,CAAA;AAAA,EAAE;AAAA,EAAC,OAAOA,IAAE6D,IAAE;AAAC,WAAO,GAAG7D,IAAE,MAAK6D,EAAC;AAAA,EAAC;AAAA,EAAC,OAAO7D,IAAE6D,IAAE;AAAC,WAAO,GAAG7D,IAAE,MAAK6D,EAAC;AAAA,EAAC;AAAA,EAAC,GAAG7D,IAAE;AAAC,WAAO,GAAGA,IAAE,IAAI;AAAA,EAAC;AAAA,EAAC,KAAKA,IAAE6D,IAAE;AAAC,YAAO,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,YAAMxC,KAAE,GAAGrB,IAAE6D,IAAE,EAAC,QAAO,MAAG,MAAK,MAAG,SAAQ,EAAC,CAAC;AAAE,UAAGxC,GAAE,CAAC,EAAE,OAAMA,GAAE,CAAC;AAAE,aAAOA,GAAE,CAAC;AAAA,IAAC,GAAErB,IAAE,MAAK6D,EAAC;AAAA,EAAC;AAAA,EAAC,SAAS7D,IAAE6D,KAAE,CAAA,GAAG;AAAC,WAAO,GAAG7D,IAAE,MAAK6D,EAAC;AAAA,EAAC;AAAC;AAAC,SAAS,GAAG7D,IAAE6D,IAAE,GAAE;AAAC,QAAMxC,KAAE,GAAGrB,IAAE6D,IAAE,EAAC,SAAQ,EAAC,CAAC;AAAE,MAAGxC,GAAE,CAAC,EAAE,OAAMA,GAAE,CAAC;AAAC;AAAC,SAAS,GAAGrB,IAAE6D,IAAE,GAAE;AAAC,QAAMxC,KAAE,GAAGrB,IAAE6D,IAAE,EAAC,QAAO,MAAG,SAAQ,EAAC,CAAC;AAAE,MAAGxC,GAAE,CAAC,EAAE,OAAMA,GAAE,CAAC;AAAE,SAAOA,GAAE,CAAC;AAAC;AAAC,SAAS,GAAGrB,IAAE6D,IAAE;AAAC,SAAM,CAAC,GAAG7D,IAAE6D,EAAC,EAAE,CAAC;AAAC;AAAC,SAAS,GAAG7D,IAAE6D,IAAE,IAAE,CAAA,GAAG;AAAC,QAAMxC,KAAE,GAAGrB,IAAE6D,IAAE,CAAC,GAAE,KAAE,SAAS7D,IAAE;AAAC,UAAK,EAAC,MAAK6D,IAAE,OAAMW,GAAC,IAAExE,GAAE,KAAI;AAAG,WAAO6D,KAAE,SAAOW;AAAA,EAAC,GAAEnD,EAAC;AAAE,MAAG,EAAE,CAAC,GAAE;AAAC,UAAMrB,KAAE,IAAI,GAAG,EAAE,CAAC,IAAG,aAAW;AAAC,iBAAUA,MAAKqB,GAAE,CAAArB,GAAE,CAAC,MAAI,MAAMA,GAAE,CAAC;AAAA,IAAE,EAAC;AAAG,WAAM,CAACA,IAAE,MAAM;AAAA,EAAC;AAAC,SAAM,CAAC,QAAO,EAAE,CAAC,CAAC;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE;AAAC,SAAO,IAAI,GAAG,EAAC,MAAK7D,IAAE,QAAO,MAAK,WAAU6D,GAAC,CAAC;AAAC;AAAC,SAAS,GAAG7D,IAAE;AAAC,MAAI6D;AAAE,SAAO,IAAI,GAAG,EAAC,MAAK,QAAO,QAAO,MAAK,CAAC,QAAQ,GAAExC,IAAE;AAAC,IAAAwC,OAAIA,KAAE7D,GAAC,IAAI,OAAM6D,GAAE,QAAQ,GAAExC,EAAC;AAAA,EAAC,GAAE,WAAU,CAAC,GAAEA,QAAKwC,OAAIA,KAAE7D,OAAK6D,GAAE,UAAU,GAAExC,EAAC,IAAG,SAAQ,CAAC,GAAEA,QAAKwC,OAAIA,KAAE7D,GAAC,IAAI6D,GAAE,QAAQ,GAAExC,EAAC,IAAG,SAAQ,CAAC,GAAEA,QAAKwC,OAAIA,KAAE7D,GAAC,IAAI6D,GAAE,QAAQ,GAAExC,EAAC,GAAE,CAAC;AAAC;AAAC,SAAS,GAAGrB,IAAE;AAAC,SAAO,IAAI,GAAG,EAAC,MAAK,SAAQ,QAAOA,IAAE,CAAC,QAAQ6D,IAAE;AAAC,QAAG7D,MAAG,MAAM,QAAQ6D,EAAC,EAAE,YAAS,CAAC,GAAExC,EAAC,KAAIwC,GAAE,QAAO,EAAG,OAAK,CAAC,GAAExC,IAAErB,EAAC;AAAA,EAAC,GAAE,SAAQ,CAAAA,OAAG,MAAM,QAAQA,EAAC,IAAEA,GAAE,MAAK,IAAGA,IAAE,WAAU,CAAAA,OAAG,MAAM,QAAQA,EAAC,KAAG,0CAA0C,GAAGA,EAAC,CAAC,GAAE,CAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,QAAM6D,KAAE,GAAG7D,EAAC,GAAE,IAAE,OAAOA;AAAE,SAAO,IAAI,GAAG,EAAC,MAAK,WAAU,QAAO,aAAW,KAAG,aAAW,KAAG,cAAY,IAAEA,KAAE,MAAK,WAAU,CAAAwE,OAAGA,OAAIxE,MAAG,0BAA0B6D,EAAC,qBAAqB,GAAGW,EAAC,CAAC,GAAE,CAAC;AAAC;AAAC,SAAS,KAAI;AAAC,SAAO,GAAG,WAAU,CAAAxE,OAAG,YAAU,OAAOA,MAAG,CAAC,MAAMA,EAAC,KAAG,oCAAoC,GAAGA,EAAC,CAAC,GAAE;AAAE;AAAC,SAAS,GAAGA,IAAE;AAAC,QAAM6D,KAAE7D,KAAE,OAAO,KAAKA,EAAC,IAAE,IAAG,IAAE,GAAG,UAAS,MAAI,MAAE;AAAG,SAAO,IAAI,GAAG,EAAC,MAAK,UAAS,QAAOA,MAAG,MAAK,CAAC,QAAQqB,IAAE;AAAC,QAAGrB,MAAG,GAAGqB,EAAC,GAAE;AAAC,YAAM,IAAE,IAAI,IAAI,OAAO,KAAKA,EAAC,CAAC;AAAE,iBAAUmD,MAAKX,GAAE,GAAE,OAAOW,EAAC,GAAE,MAAK,CAACA,IAAEnD,GAAEmD,EAAC,GAAExE,GAAEwE,EAAC,CAAC;AAAE,iBAAUxE,MAAK,EAAE,OAAK,CAACA,IAAEqB,GAAErB,EAAC,GAAE,CAAC;AAAA,IAAC;AAAA,EAAC,GAAE,WAAU,CAAAA,OAAG,GAAGA,EAAC,KAAG,qCAAqC,GAAGA,EAAC,CAAC,IAAG,SAAQ,CAAAA,OAAG,GAAGA,EAAC,IAAE,EAAC,GAAGA,GAAC,IAAEA,GAAC,CAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,IAAI,GAAG,EAAC,GAAGA,IAAE,WAAU,CAAC6D,IAAE,MAAI,WAASA,MAAG7D,GAAE,UAAU6D,IAAE,CAAC,GAAE,SAAQ,CAACA,IAAE,MAAI,WAASA,MAAG7D,GAAE,QAAQ6D,IAAE,CAAC,EAAC,CAAC;AAAC;AAAC,SAAS,GAAG7D,IAAE6D,IAAE;AAAC,SAAO,IAAI,GAAG,EAAC,MAAK,UAAS,QAAO,MAAK,CAAC,QAAQ,GAAE;AAAC,QAAG,GAAG,CAAC,EAAE,YAAUxC,MAAK,GAAE;AAAC,YAAM,IAAE,EAAEA,EAAC;AAAE,YAAK,CAACA,IAAEA,IAAErB,EAAC,GAAE,MAAK,CAACqB,IAAE,GAAEwC,EAAC;AAAA,IAAC;AAAA,EAAC,GAAE,WAAU,CAAA7D,OAAG,GAAGA,EAAC,KAAG,qCAAqC,GAAGA,EAAC,CAAC,GAAE,CAAC;AAAC;AAAC,SAAS,KAAI;AAAC,SAAO,GAAG,WAAU,CAAAA,OAAG,YAAU,OAAOA,MAAG,oCAAoC,GAAGA,EAAC,CAAC,GAAE;AAAE;AAAC,SAAS,GAAGA,IAAE;AAAC,QAAM6D,KAAE7D,GAAE,KAAK,CAAAA,OAAGA,GAAE,KAAI,EAAG,KAAK,KAAK;AAAE,SAAO,IAAI,GAAG,EAAC,MAAK,SAAQ,QAAO,MAAK,QAAQ6D,IAAE;AAAC,eAAU,KAAK7D,IAAE;AAAC,YAAK,CAACA,IAAEqB,EAAC,IAAE,EAAE,SAASwC,IAAE,EAAC,QAAO,KAAE,CAAC;AAAE,UAAG,CAAC7D,GAAE,QAAOqB;AAAA,IAAC;AAAC,WAAOwC;AAAA,EAAC,GAAE,UAAU,GAAExC,IAAE;AAAC,UAAM,IAAE,CAAA;AAAG,eAAUwC,MAAK7D,IAAE;AAAC,YAAK,CAAC,GAAGA,EAAC,IAAE,GAAG,GAAE6D,IAAExC,EAAC,GAAE,CAAC,CAAC,IAAErB;AAAE,UAAG,CAAC,EAAE,CAAC,EAAE,QAAM,CAAA;AAAG,iBAAS,CAAC6D,EAAC,KAAI7D,GAAE,CAAA6D,MAAG,EAAE,KAAKA,EAAC;AAAA,IAAC;AAAC,WAAM,CAAC,8CAA8CA,EAAC,qBAAqB,GAAG,CAAC,CAAC,IAAG,GAAG,CAAC;AAAA,EAAC,EAAC,CAAC;AAAC;AAAC,SAAS,GAAG7D,IAAE;AAAC,UAAO,SAASA,IAAE;AAAC,YAAO,SAASA,IAAE;AAAC,aAAM,YAAU,OAAOA,MAAG,SAAOA,MAAG,aAAYA;AAAA,IAAC,GAAEA,EAAC,KAAG,YAAU,OAAOA,GAAE,UAAQA,GAAE,UAAQ,QAAMA,KAAE,KAAG,OAAOA,EAAC;AAAA,EAAC,GAAEA,EAAC,EAAE,QAAQ,QAAO,EAAE;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE;;AAAC,SAAO,IAAE7D,IAAE,QAAQ,YAAU,SAAO,MAAAmC,MAAA,uBAAG,cAAH,gBAAAA,IAAc,gBAAd,mBAA2B,KAAI,IAAE,IAAInC,GAAE,EAAC,SAAQ6D,GAAC,CAAC,IAAE7D,GAAE,EAAC,SAAQ6D,GAAC,CAAC;AAAE,MAAI;AAAC;AAAC,IAAI,KAAG,cAAc,MAAK;AAAA,EAAC,YAAY7D,IAAE;AAAC,UAAMA,GAAE,OAAO,GAAE,KAAK,OAAK;AAAA,EAAe;AAAC;AAAE,SAAS,KAAI;AAAC,QAAM,IAAI,MAAM,iCAAiC;AAAC;AAAC,SAAS,KAAI;AAAC,QAAM,IAAI,MAAM,mCAAmC;AAAC;AAAC,IAAI,KAAG,IAAG,KAAG;AAAG,SAAS,GAAGA,IAAE;AAAC,MAAG,OAAK,WAAW,QAAO,WAAWA,IAAE,CAAC;AAAE,OAAI,OAAK,MAAI,CAAC,OAAK,WAAW,QAAO,KAAG,YAAW,WAAWA,IAAE,CAAC;AAAE,MAAG;AAAC,WAAO,GAAGA,IAAE,CAAC;AAAA,EAAC,SAAO6D,IAAE;AAAC,QAAG;AAAC,aAAO,GAAG,KAAK,MAAK7D,IAAE,CAAC;AAAA,IAAC,SAAO6D,IAAE;AAAC,aAAO,GAAG,KAAK,MAAK7D,IAAE,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC;AAAC,cAAY,OAAO,EAAE,eAAa,KAAG,aAAY,cAAY,OAAO,EAAE,iBAAe,KAAG;AAAc,IAAI,IAAG,KAAG,CAAA,GAAG,KAAG,OAAG,KAAG;AAAG,SAAS,KAAI;AAAC,QAAI,OAAK,KAAG,OAAG,GAAG,SAAO,KAAG,GAAG,OAAO,EAAE,IAAE,KAAG,IAAG,GAAG,UAAQ,GAAE;AAAG;AAAC,SAAS,KAAI;AAAC,MAAG,CAAC,IAAG;AAAC,QAAIA,KAAE,GAAG,EAAE;AAAE,SAAG;AAAG,aAAQ6D,KAAE,GAAG,QAAOA,MAAG;AAAC,WAAI,KAAG,IAAG,KAAG,CAAA,GAAG,EAAE,KAAGA,KAAG,OAAI,GAAG,EAAE,EAAE,IAAG;AAAG,WAAG,IAAGA,KAAE,GAAG;AAAA,IAAM;AAAC,SAAG,MAAK,KAAG,QAAG,SAAS7D,IAAE;AAAC,UAAG,OAAK,aAAa,QAAO,aAAaA,EAAC;AAAE,WAAI,OAAK,MAAI,CAAC,OAAK,aAAa,QAAO,KAAG,cAAa,aAAaA,EAAC;AAAE,UAAG;AAAC,eAAO,GAAGA,EAAC;AAAA,MAAC,SAAO6D,IAAE;AAAC,YAAG;AAAC,iBAAO,GAAG,KAAK,MAAK7D,EAAC;AAAA,QAAC,SAAO6D,IAAE;AAAC,iBAAO,GAAG,KAAK,MAAK7D,EAAC;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC,GAAEA,EAAC;AAAA,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE;AAAC,OAAK,MAAI7D,IAAE,KAAK,QAAM6D;AAAC;AAAC,GAAG,UAAU,MAAI,WAAU;AAAC,OAAK,IAAI,MAAM,MAAK,KAAK,KAAK;AAAC;AAAE,SAAS,KAAI;AAAC;AAAC,IAAI,KAAG,IAAG,KAAG,IAAG,KAAG,IAAG,KAAG,IAAG,KAAG,IAAG,KAAG,IAAG,KAAG;AAAG,IAAI,KAAG,EAAE,eAAa,CAAA,GAAG,KAAG,GAAG,OAAK,GAAG,UAAQ,GAAG,SAAO,GAAG,QAAM,GAAG,aAAW,WAAU;AAAC,UAAO,oBAAI,QAAM,QAAO;AAAE;AAAE,IAAI,KAAG,oBAAI;AAAK,IAAI,KAAG,EAAC,UAAS,SAAS7D,IAAE;AAAC,MAAI6D,KAAE,IAAI,MAAM,UAAU,SAAO,CAAC;AAAE,MAAG,UAAU,SAAO,EAAE,UAAQ,IAAE,GAAE,IAAE,UAAU,QAAO,IAAI,CAAAA,GAAE,IAAE,CAAC,IAAE,UAAU,CAAC;AAAE,KAAG,KAAK,IAAI,GAAG7D,IAAE6D,EAAC,CAAC,GAAE,MAAI,GAAG,UAAQ,MAAI,GAAG,EAAE;AAAC,GAAE,OAAM,WAAU,SAAQ,MAAG,KAAI,CAAA,GAAG,MAAK,CAAA,GAAG,SAAQ,IAAG,UAAS,CAAA,GAAG,IAAG,IAAG,aAAY,IAAG,MAAK,IAAG,KAAI,IAAG,gBAAe,IAAG,oBAAmB,IAAG,MAAK,IAAG,SAAQ,SAAS7D,IAAE;AAAC,QAAM,IAAI,MAAM,kCAAkC;AAAC,GAAE,KAAI,WAAU;AAAC,SAAM;AAAG,GAAE,OAAM,SAASA,IAAE;AAAC,QAAM,IAAI,MAAM,gCAAgC;AAAC,GAAE,OAAM,WAAU;AAAC,SAAO;AAAC,GAAE,QAAO,SAASA,IAAE;AAAC,MAAI6D,KAAE,OAAK,GAAG,KAAK,EAAE,GAAE,IAAE,KAAK,MAAMA,EAAC,GAAExC,KAAE,KAAK,MAAMwC,KAAE,IAAE,GAAG;AAAE,SAAO7D,OAAI,KAAGA,GAAE,CAAC,IAAGqB,MAAGrB,GAAE,CAAC,KAAG,MAAI,KAAIqB,MAAG,OAAM,CAAC,GAAEA,EAAC;AAAC,GAAE,UAAS,WAAU,SAAQ,CAAA,GAAG,QAAO,CAAA,GAAG,QAAO,WAAU;AAAC,UAAO,oBAAI,SAAK,MAAI;AAAG,EAAC,GAAE,KAAG,CAAArB,OAAG,GAAGA,EAAC;AAAE,SAAS,GAAG,EAAC,MAAKA,IAAE,QAAO6D,GAAC,GAAE;AAAC,QAAM,IAAE7D,GAAEA,GAAE,SAAO,CAAC;AAAE,SAAO,GAAG6D,GAAEA,GAAE,SAAO,CAAC,GAAE,CAAC;AAAC;AAAC,SAAS,GAAG7D,IAAE;AAAC,SAAO,IAAI,GAAG,EAAC,GAAGA,IAAE,MAAK,YAAYA,GAAE,IAAI,IAAG,WAAU,CAAC6D,IAAE,MAAI,CAAC,GAAG,CAAC,KAAG7D,GAAE,UAAU6D,IAAE,CAAC,GAAE,SAAQ,CAACA,IAAE,MAAI,CAAC,GAAG,CAAC,KAAG7D,GAAE,QAAQ6D,IAAE,CAAC,EAAC,CAAC;AAAC;AAAC,IAAI,IAAG,IAAG,IAAG,KAAG,GAAG,CAAC,GAAG,IAAI,GAAE,GAAG,YAAW,CAAA7D,OAAG,aAAW,OAAOA,GAAC,GAAG,GAAG,kBAAiB,CAAAA,OAAG,GAAGA,IAAE,GAAE,CAAE,KAAG,OAAO,SAASA,EAAC,EAAC,GAAG,GAAE,GAAG,GAAG,IAAI,MAAI,GAAE,CAAE,GAAE,GAAG,GAAE,GAAG,IAAI,MAAI,GAAE,CAAE,CAAC,CAAC,GAAE,MAAI,KAAG,IAAG,KAAG,GAAG,QAAO,MAAI,KAAE,GAAG,KAAG,CAAAA,SAAI,SAASA,IAAE6D,IAAE,IAAE,oBAAmBxC,KAAE,IAAG;AAAC,MAAG;AAAC,OAAGrB,IAAE6D,EAAC;AAAA,EAAC,SAAO7D,IAAE;AAAC,UAAM,GAAGqB,IAAE,GAAG,CAAC,KAAK,GAAGrB,EAAC,CAAC,GAAG;AAAA,EAAC;AAAC,GAAEA,IAAE,EAAE,GAAE,KAAK,MAAM,KAAK,UAAUA,KAAG,CAACA,IAAE6D,OAAI;AAAC,MAAG,gBAAc7D,MAAG,kBAAgBA,GAAE,QAAO6D;AAAC,EAAC,CAAE,IAAG,IAAI,GAAG,EAAC,GAAG,IAAG,SAAQ,CAAC7D,IAAE6D,OAAI,GAAG7D,IAAE,EAAE,IAAE,GAAG,QAAQ,GAAGA,IAAE6D,EAAC,GAAEA,EAAC,IAAE,GAAG,QAAQ7D,IAAE6D,EAAC,EAAC,CAAC;AAAG,SAAS,GAAG7D,IAAE;AAAC,MAAG;AAAC,YAAO,SAASA,IAAE;AAAC,SAAGA,IAAE,EAAE;AAAA,IAAC,GAAEA,EAAC,GAAE;AAAA,EAAE,QAAM;AAAC,WAAM;AAAA,EAAE;AAAC;AAAC,IAAI,KAAG,GAAG,KAAK,GAAE,MAAG,SAASA,IAAE;AAAC,SAAO,IAAI,GAAG,EAAC,GAAGA,IAAE,WAAU,CAAC6D,IAAE,MAAI,SAAOA,MAAG7D,GAAE,UAAU6D,IAAE,CAAC,GAAE,SAAQ,CAACA,IAAE,MAAI,SAAOA,MAAG7D,GAAE,QAAQ6D,IAAE,CAAC,EAAC,CAAC;AAAC,GAAE,GAAG,CAAC,GAAE,GAAG,GAAE,CAAE,CAAC,CAAC,GAAE,KAAG,GAAG,EAAC,MAAK,GAAG,YAAW,CAAA7D,OAAG,YAAU,OAAOA,MAAG,CAAC,MAAMA,EAAC,KAAG,OAAO,UAAUA,EAAC,KAAG,sCAAsC,GAAGA,EAAC,CAAC,GAAE,GAAG,SAAQ,GAAE,GAAG,MAAK,GAAG,EAAE,GAAE,OAAM,GAAG,GAAE,CAAE,EAAC,CAAC,GAAE,KAAG,GAAG,CAAC,GAAG,GAAE,GAAG,EAAE,GAAE,GAAG,EAAE,CAAC,CAAC,GAAE,KAAG,GAAG,EAAC,IAAG,IAAG,SAAQ,IAAG,QAAO,GAAE,GAAG,QAAO,GAAG,EAAE,EAAC,CAAC,GAAE,KAAG,GAAG,EAAC,SAAQ,IAAG,QAAO,GAAE,GAAG,QAAO,GAAG,EAAE,EAAC,CAAC;AAAE,SAAS,GAAGA,IAAE;AAAC,SAAO,GAAGA,IAAE,EAAE;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,GAAGA,IAAE,EAAE;AAAC;AAAC,GAAG,EAAC,IAAG,IAAG,SAAQ,IAAG,QAAO,GAAG,GAAG,YAAW,MAAI,MAAI,GAAE,OAAM,GAAG,EAAE,EAAC,CAAC,GAAE,GAAG,CAAC,GAAG,EAAC,IAAG,IAAG,SAAQ,IAAG,QAAO,GAAE,CAAC,GAAE,GAAG,EAAC,IAAG,IAAG,SAAQ,IAAG,OAAM,GAAE,CAAC,CAAC,CAAC;AAAE,IAAI,KAAG,GAAG,UAAS,KAAG,+DAA8D,KAAG,EAAC,MAAK,IAAG,SAAQ,GAAG,EAAE,EAAC,GAAE,KAAG;AAA4B,SAAS,GAAGA,IAAE6D,KAAE,IAAG;AAAC,OAAG,SAAS7D,IAAE;AAAC,WAAO,OAAO,UAAUA,EAAC;AAAA,EAAC,GAAEA,EAAC,GAAE;AAAC,UAAM6D,KAAE7D,GAAE,SAAQ;AAAG,QAAG,GAAG,IAAG6D,EAAC,EAAE,QAAO,GAAGA,EAAC,EAAE;AAAQ,SAAG,SAAS7D,IAAE;AAAC,aAAOA,MAAG,UAAQA,MAAG;AAAA,IAAK,GAAEA,EAAC,EAAE,QAAO;AAAA,EAAE;AAAC,SAAO6D;AAAC;AAAC,SAAS,GAAG7D,IAAE,EAAC,eAAc6D,KAAE,IAAG,oBAAmB,IAAE,KAAE,IAAE,CAAA,GAAG;AAAC,MAAG,CAAC,GAAGA,EAAC,EAAE,OAAM,IAAI,MAAM,0EAA0E;AAAE,QAAMxC,MAAE,SAASrB,IAAE6D,IAAE;AAAC,QAAG7D,MAAG,YAAU,OAAOA,MAAG,eAAcA,MAAG,cAAY,OAAOA,GAAE,UAAU,QAAOA,GAAE,UAAS;AAAG,QAAG,GAAGA,EAAC,EAAE,QAAOA;AAAE,UAAMwE,KAAE,GAAGxE,EAAC,GAAEqB,KAAE,EAAC,GAAGwC,IAAE,MAAK,EAAC,OAAMW,GAAC,EAAC;AAAE,WAAOnD;AAAA,EAAC,GAAErB,IAAE6D,EAAC;AAAE,SAAO,KAAG,OAAOxC,GAAE,OAAMA;AAAC;AAAC,SAAS,GAAGrB,IAAE;AAAC,SAAO,MAAM,QAAQA,EAAC,IAAEA,GAAE,KAAK,CAAAA,OAAG,GAAGA,EAAC,IAAEA,KAAE,GAAGA,EAAC,IAAE,GAAGA,EAAC,IAAE,KAAI,IAAG,GAAGA,EAAC,IAAE,GAAGA,EAAC,IAAE,GAAGA,EAAC,IAAEA,KAAE;AAAI;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,OAAO,oBAAoBA,EAAC,EAAE,QAAQ,CAAC6D,IAAE,MAAI;AAAC,UAAMxC,KAAErB,GAAE,CAAC;AAAE,WAAO,GAAGqB,EAAC,MAAIwC,GAAE,CAAC,IAAExC,KAAGwC;AAAA,EAAC,IAAG,CAAA,CAAE;AAAC;AAAC,IAAI,KAAG;AAAG,GAAG,UAAQ,IAAG,GAAG,SAAO,IAAG,GAAG,kBAAgB;AAAG,IAAI,KAAG,SAAQ,KAAG,cAAa,KAAG,IAAG,KAAG,CAAA;AAAG,SAAS,KAAI;AAAC,SAAM,EAAC,YAAW,OAAO,kBAAiB,YAAW,OAAO,iBAAgB;AAAC;AAAC,SAAS,GAAG7D,IAAE6D,IAAE,GAAExC,IAAE;AAAC,MAAI;AAAE,aAASA,OAAIA,KAAE,GAAE,IAAI,GAAGrB,IAAE,IAAG,GAAE,CAAA,GAAG,QAAO,GAAEqB,EAAC;AAAE,MAAG;AAAC,QAAE,MAAI,GAAG,SAAO,KAAK,UAAUrB,IAAE6D,IAAE,CAAC,IAAE,KAAK,UAAU7D,IAAE,GAAG6D,EAAC,GAAE,CAAC;AAAA,EAAC,SAAO7D,IAAE;AAAC,WAAO,KAAK,UAAU,qEAAqE;AAAA,EAAC,UAAC;AAAQ,WAAK,MAAI,GAAG,UAAQ;AAAC,UAAI,IAAE,GAAG,IAAG;AAAG,YAAI,EAAE,SAAO,OAAO,eAAe,EAAE,CAAC,GAAE,EAAE,CAAC,GAAE,EAAE,CAAC,CAAC,IAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAE,EAAE,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC,SAAO;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE,GAAExC,IAAE;AAAC,MAAI,IAAE,OAAO,yBAAyBA,IAAE,CAAC;AAAE,aAAS,EAAE,MAAI,EAAE,gBAAc,OAAO,eAAeA,IAAE,GAAE,EAAC,OAAMrB,GAAC,CAAC,GAAE,GAAG,KAAK,CAACqB,IAAE,GAAEwC,IAAE,CAAC,CAAC,KAAG,GAAG,KAAK,CAACA,IAAE,GAAE7D,EAAC,CAAC,KAAGqB,GAAE,CAAC,IAAErB,IAAE,GAAG,KAAK,CAACqB,IAAE,GAAEwC,EAAC,CAAC;AAAE;AAAC,SAAS,GAAG7D,IAAE6D,IAAE,GAAExC,IAAE,GAAE,GAAE,GAAE;AAAC,MAAI;AAAE,MAAG,KAAG,GAAE,YAAU,OAAOrB,MAAG,SAAOA,IAAE;AAAC,SAAI,IAAE,GAAE,IAAEqB,GAAE,QAAO,IAAI,KAAGA,GAAE,CAAC,MAAIrB,GAAE,QAAO,KAAK,GAAG,IAAGA,IAAE6D,IAAE,CAAC;AAAE,QAAG,WAAS,EAAE,cAAY,IAAE,EAAE,WAAW,QAAO,KAAK,GAAG,IAAG7D,IAAE6D,IAAE,CAAC;AAAE,QAAG,WAAS,EAAE,cAAY,IAAE,IAAE,EAAE,WAAW,QAAO,KAAK,GAAG,IAAG7D,IAAE6D,IAAE,CAAC;AAAE,QAAGxC,GAAE,KAAKrB,EAAC,GAAE,MAAM,QAAQA,EAAC,EAAE,MAAI,IAAE,GAAE,IAAEA,GAAE,QAAO,IAAI,IAAGA,GAAE,CAAC,GAAE,GAAE,GAAEqB,IAAErB,IAAE,GAAE,CAAC;AAAA,SAAM;AAAC,UAAIoB,KAAE,OAAO,KAAKpB,EAAC;AAAE,WAAI,IAAE,GAAE,IAAEoB,GAAE,QAAO,KAAI;AAAC,YAAIwB,KAAExB,GAAE,CAAC;AAAE,WAAGpB,GAAE4C,EAAC,GAAEA,IAAE,GAAEvB,IAAErB,IAAE,GAAE,CAAC;AAAA,MAAC;AAAA,IAAC;AAAC,IAAAqB,GAAE,IAAG;AAAA,EAAE;AAAC;AAAC,SAAS,GAAGrB,IAAE6D,IAAE;AAAC,SAAO7D,KAAE6D,KAAE,KAAG7D,KAAE6D,KAAE,IAAE;AAAC;AAAC,SAAS,GAAG7D,IAAE6D,IAAE,GAAExC,IAAE;AAAC,aAASA,OAAIA,KAAE,GAAE;AAAI,MAAI,GAAE,IAAE,GAAGrB,IAAE,IAAG,GAAE,CAAA,GAAG,QAAO,GAAEqB,EAAC,KAAGrB;AAAE,MAAG;AAAC,QAAE,MAAI,GAAG,SAAO,KAAK,UAAU,GAAE6D,IAAE,CAAC,IAAE,KAAK,UAAU,GAAE,GAAGA,EAAC,GAAE,CAAC;AAAA,EAAC,SAAO7D,IAAE;AAAC,WAAO,KAAK,UAAU,qEAAqE;AAAA,EAAC,UAAC;AAAQ,WAAK,MAAI,GAAG,UAAQ;AAAC,UAAI,IAAE,GAAG;AAAM,YAAI,EAAE,SAAO,OAAO,eAAe,EAAE,CAAC,GAAE,EAAE,CAAC,GAAE,EAAE,CAAC,CAAC,IAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAE,EAAE,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC,SAAO;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE,GAAExC,IAAE,GAAE,GAAE,GAAE;AAAC,MAAI;AAAE,MAAG,KAAG,GAAE,YAAU,OAAOrB,MAAG,SAAOA,IAAE;AAAC,SAAI,IAAE,GAAE,IAAEqB,GAAE,QAAO,IAAI,KAAGA,GAAE,CAAC,MAAIrB,GAAE,QAAO,KAAK,GAAG,IAAGA,IAAE6D,IAAE,CAAC;AAAE,QAAG;AAAC,UAAG,cAAY,OAAO7D,GAAE,OAAO;AAAA,IAAM,SAAOA,IAAE;AAAC;AAAA,IAAM;AAAC,QAAG,WAAS,EAAE,cAAY,IAAE,EAAE,WAAW,QAAO,KAAK,GAAG,IAAGA,IAAE6D,IAAE,CAAC;AAAE,QAAG,WAAS,EAAE,cAAY,IAAE,IAAE,EAAE,WAAW,QAAO,KAAK,GAAG,IAAG7D,IAAE6D,IAAE,CAAC;AAAE,QAAGxC,GAAE,KAAKrB,EAAC,GAAE,MAAM,QAAQA,EAAC,EAAE,MAAI,IAAE,GAAE,IAAEA,GAAE,QAAO,IAAI,IAAGA,GAAE,CAAC,GAAE,GAAE,GAAEqB,IAAErB,IAAE,GAAE,CAAC;AAAA,SAAM;AAAC,UAAIoB,KAAE,CAAA,GAAGwB,KAAE,OAAO,KAAK5C,EAAC,EAAE,KAAK,EAAE;AAAE,WAAI,IAAE,GAAE,IAAE4C,GAAE,QAAO,KAAI;AAAC,YAAIhC,KAAEgC,GAAE,CAAC;AAAE,WAAG5C,GAAEY,EAAC,GAAEA,IAAE,GAAES,IAAErB,IAAE,GAAE,CAAC,GAAEoB,GAAER,EAAC,IAAEZ,GAAEY,EAAC;AAAA,MAAC;AAAC,UAAG,WAAS,EAAE,QAAOQ;AAAE,SAAG,KAAK,CAAC,GAAEyC,IAAE7D,EAAC,CAAC,GAAE,EAAE6D,EAAC,IAAEzC;AAAA,IAAC;AAAC,IAAAC,GAAE;EAAK;AAAC;AAAC,SAAS,GAAGrB,IAAE;AAAC,SAAOA,KAAE,WAASA,KAAEA,KAAE,SAASA,IAAE6D,IAAE;AAAC,WAAOA;AAAA,EAAC,GAAE,SAASA,IAAE,GAAE;AAAC,QAAG,GAAG,SAAO,EAAE,UAAQxC,KAAE,GAAEA,KAAE,GAAG,QAAOA,MAAI;AAAC,UAAI,IAAE,GAAGA,EAAC;AAAE,UAAG,EAAE,CAAC,MAAIwC,MAAG,EAAE,CAAC,MAAI,GAAE;AAAC,YAAE,EAAE,CAAC,GAAE,GAAG,OAAOxC,IAAE,CAAC;AAAE;AAAA,MAAK;AAAA,IAAC;AAAC,WAAOrB,GAAE,KAAK,MAAK6D,IAAE,CAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,GAAG,EAAE,GAAE,KAAG,cAAc,MAAK;AAAA,EAAC,YAAY7D,IAAE6D,IAAE,GAAE;AAAC,QAAG,CAAC,OAAO,UAAU7D,EAAC,EAAE,OAAM,IAAI,MAAM,4BAA4B;AAAE,QAAG,CAAC6D,MAAG,YAAU,OAAOA,GAAE,OAAM,IAAI,MAAM,uCAAuC;AAAE,UAAMA,EAAC,GAAE,KAAK,OAAK7D,IAAE,WAAS,MAAI,KAAK,OAAK;AAAA,EAAE;AAAA,EAAC,YAAW;AAAC,UAAMA,KAAE,EAAC,MAAK,KAAK,MAAK,SAAQ,KAAK,QAAO;AAAE,WAAO,WAAS,KAAK,SAAOA,GAAE,OAAK,KAAK,OAAK,SAASA,IAAE;AAAC,UAAG,YAAU,OAAOA,MAAG,SAAOA,GAAE,QAAM;AAAG,UAAG;AAAC,YAAI6D,KAAE7D;AAAE,eAAK,SAAO,OAAO,eAAe6D,EAAC,IAAG,CAAAA,KAAE,OAAO,eAAeA,EAAC;AAAE,eAAO,OAAO,eAAe7D,EAAC,MAAI6D;AAAA,MAAC,SAAO7D,IAAE;AAAC,eAAM;AAAA,MAAE;AAAA,IAAC,GAAE,KAAK,IAAI,MAAIA,GAAE,KAAK,QAAM,GAAG,KAAK,KAAK,KAAK,KAAI,KAAK,UAAQA,GAAE,QAAM,KAAK,QAAOA;AAAA,EAAC;AAAA,EAAC,WAAU;AAAC,WAAO,GAAG,KAAK,aAAY,IAAG,CAAC;AAAA,EAAC;AAAC;AAAE,SAAS,GAAGA,IAAE6D,IAAE;AAAC,MAAG,iBAAeA,GAAE,QAAOA;AAAC;AAAC,IAAI,KAAG,CAAA7D,OAAG,GAAG,GAAG,gBAAeA,EAAC;AAAE,SAAS,GAAGA,IAAE6D,IAAE;AAAC,QAAK,CAAC,GAAExC,EAAC,KAAE,SAASrB,IAAE;AAAC,QAAGA,IAAE;AAAC,UAAG,YAAU,OAAOA,GAAE,QAAM,CAACA,EAAC;AAAE,UAAG,YAAU,OAAOA,MAAG,CAAC,MAAM,QAAQA,EAAC,GAAE;AAAC,cAAK,EAAC,SAAQ6D,IAAE,MAAKW,GAAC,IAAExE;AAAE,YAAG6D,MAAG,YAAU,OAAOA,GAAE,OAAM,IAAI,MAAM,8BAA8B;AAAE,eAAM,CAACA,MAAG,QAAOW,EAAC;AAAA,MAAC;AAAA,IAAC;AAAC,WAAM,CAAA;AAAA,EAAE,GAAEX,EAAC;AAAE,SAAO,IAAI,GAAG7D,IAAE,KAAG,GAAGA,EAAC,GAAEqB,EAAC;AAAC;AAAC,IAAI,KAAG,CAAA;AAAG,SAAS,KAAI;AAAC;AAAC,SAAS,KAAI;AAAC,KAAG,KAAK,KAAK,IAAI;AAAC;AAAC,SAAS,GAAGrB,IAAE;AAAC,SAAO,WAASA,GAAE,gBAAc,GAAG,sBAAoBA,GAAE;AAAa;AAAC,SAAS,GAAGA,IAAE6D,IAAE,GAAExC,IAAE;AAAC,MAAI,GAAE,GAAE;AAAE,MAAG,cAAY,OAAO,EAAE,OAAM,IAAI,UAAU,wCAAwC;AAAE,OAAI,IAAErB,GAAE,YAAU,EAAE,gBAAcA,GAAE,KAAK,eAAc6D,IAAE,EAAE,WAAS,EAAE,WAAS,CAAC,GAAE,IAAE7D,GAAE,UAAS,IAAE,EAAE6D,EAAC,MAAI,IAAE7D,GAAE,UAAQ,IAAI,MAAGA,GAAE,eAAa,IAAG,GAAE;AAAC,QAAG,cAAY,OAAO,IAAE,IAAE,EAAE6D,EAAC,IAAExC,KAAE,CAAC,GAAE,CAAC,IAAE,CAAC,GAAE,CAAC,IAAEA,KAAE,EAAE,QAAQ,CAAC,IAAE,EAAE,KAAK,CAAC,GAAE,CAAC,EAAE,WAAS,IAAE,GAAGrB,EAAC,MAAI,IAAE,KAAG,EAAE,SAAO,GAAE;AAAC,QAAE,SAAO;AAAG,UAAI,IAAE,IAAI,MAAM,iDAA+C,EAAE,SAAO,MAAI6D,KAAE,mEAAmE;AAAE,QAAE,OAAK,+BAA8B,EAAE,UAAQ7D,IAAE,EAAE,OAAK6D,IAAE,EAAE,QAAM,EAAE,SAAO,SAAS7D,IAAE;AAAC,sBAAY,OAAO,QAAQ,OAAK,QAAQ,KAAKA,EAAC,IAAE,QAAQ,IAAIA,EAAC;AAAA,MAAC,GAAE,CAAC;AAAA,IAAC;AAAA,EAAC,MAAM,KAAE,EAAE6D,EAAC,IAAE,GAAE,EAAE7D,GAAE;AAAa,SAAOA;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE,GAAE;AAAC,MAAIxC,KAAE;AAAG,WAAS,IAAG;AAAC,IAAArB,GAAE,eAAe6D,IAAE,CAAC,GAAExC,OAAIA,KAAE,MAAG,EAAE,MAAMrB,IAAE,SAAS;AAAA,EAAE;AAAC,SAAO,EAAE,WAAS,GAAE;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,MAAI6D,KAAE,KAAK;AAAQ,MAAGA,IAAE;AAAC,QAAI,IAAEA,GAAE7D,EAAC;AAAE,QAAG,cAAY,OAAO,EAAE,QAAO;AAAE,QAAG,EAAE,QAAO,EAAE;AAAA,EAAM;AAAC,SAAO;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE;AAAC,WAAQ,IAAE,IAAI,MAAMA,EAAC,GAAEA,OAAK,GAAEA,EAAC,IAAE7D,GAAE6D,EAAC;AAAE,SAAO;AAAC;AAAC,GAAG,YAAU,uBAAO,OAAO,IAAI,GAAE,GAAG,eAAa,IAAG,GAAG,eAAa,OAAG,GAAG,UAAU,SAAO,QAAO,GAAG,UAAU,UAAQ,QAAO,GAAG,UAAU,gBAAc,QAAO,GAAG,sBAAoB,IAAG,GAAG,OAAK,WAAU;AAAC,OAAK,SAAO,MAAK,GAAG,gBAAc,SAAU,QAAO,KAAK,WAAS,KAAK,YAAU,OAAO,eAAe,IAAI,EAAE,YAAU,KAAK,UAAQ,IAAI,MAAG,KAAK,eAAa,IAAG,KAAK,gBAAc,KAAK,iBAAe;AAAM,GAAE,GAAG,UAAU,kBAAgB,SAAS7D,IAAE;AAAC,MAAG,YAAU,OAAOA,MAAGA,KAAE,KAAG,MAAMA,EAAC,EAAE,OAAM,IAAI,UAAU,wCAAwC;AAAE,SAAO,KAAK,gBAAcA,IAAE;AAAI,GAAE,GAAG,UAAU,kBAAgB,WAAU;AAAC,SAAO,GAAG,IAAI;AAAC,GAAE,GAAG,UAAU,OAAK,SAASA,IAAE;AAAC,MAAI6D,IAAE,GAAExC,IAAE,GAAE,GAAE,GAAE,GAAED,KAAE,YAAUpB;AAAE,MAAG,IAAE,KAAK,QAAQ,CAAAoB,KAAEA,MAAG,QAAM,EAAE;AAAA,WAAc,CAACA,GAAE,QAAM;AAAG,MAAG,IAAE,KAAK,QAAOA,IAAE;AAAC,QAAGyC,KAAE,UAAU,CAAC,GAAE,CAAC,GAAE;AAAC,UAAGA,cAAa,MAAM,OAAMA;AAAE,UAAIjB,KAAE,IAAI,MAAM,2CAAyCiB,KAAE,GAAG;AAAE,YAAMjB,GAAE,UAAQiB,IAAEjB;AAAA,IAAC;AAAC,WAAOiB,OAAIA,KAAE,IAAI,MAAM,qCAAqC,IAAGA,GAAE,gBAAc,MAAKA,GAAE,SAAO,GAAEA,GAAE,eAAa,OAAG,EAAE,KAAK,SAAQA,EAAC,GAAE;AAAA,EAAE;AAAC,MAAG,EAAE,IAAE,EAAE7D,EAAC,GAAG,QAAM;AAAG,MAAIY,KAAE,cAAY,OAAO;AAAE,UAAOS,KAAE,UAAU,QAAM;AAAA,IAAE,KAAK;AAAE,QAAC,SAASrB,IAAE6D,IAAEW,IAAE;AAAC,YAAGX,GAAE,CAAA7D,GAAE,KAAKwE,EAAC;AAAA,YAAO,UAAQnD,KAAErB,GAAE,QAAOyE,KAAE,GAAGzE,IAAEqB,EAAC,GAAEqD,KAAE,GAAEA,KAAErD,IAAE,EAAEqD,GAAE,CAAAD,GAAEC,EAAC,EAAE,KAAKF,EAAC;AAAA,MAAC,GAAE,GAAE5D,IAAE,IAAI;AAAE;AAAA,IAAM,KAAK;AAAE,QAAC,SAASZ,IAAE6D,IAAEW,IAAEnD,IAAE;AAAC,YAAGwC,GAAE,CAAA7D,GAAE,KAAKwE,IAAEnD,EAAC;AAAA,YAAO,UAAQoD,KAAEzE,GAAE,QAAO0E,KAAE,GAAG1E,IAAEyE,EAAC,GAAEE,KAAE,GAAEA,KAAEF,IAAE,EAAEE,GAAE,CAAAD,GAAEC,EAAC,EAAE,KAAKH,IAAEnD,EAAC;AAAA,MAAC,GAAE,GAAET,IAAE,MAAK,UAAU,CAAC,CAAC;AAAE;AAAA,IAAM,KAAK;AAAE,QAAC,SAASZ,IAAE6D,IAAEW,IAAEnD,IAAEoD,IAAE;AAAC,YAAGZ,GAAE,CAAA7D,GAAE,KAAKwE,IAAEnD,IAAEoD,EAAC;AAAA,YAAO,UAAQC,KAAE1E,GAAE,QAAO2E,KAAE,GAAG3E,IAAE0E,EAAC,GAAEE,KAAE,GAAEA,KAAEF,IAAE,EAAEE,GAAE,CAAAD,GAAEC,EAAC,EAAE,KAAKJ,IAAEnD,IAAEoD,EAAC;AAAA,MAAC,GAAE,GAAE7D,IAAE,MAAK,UAAU,CAAC,GAAE,UAAU,CAAC,CAAC;AAAE;AAAA,IAAM,KAAK;AAAE,QAAC,SAASZ,IAAE6D,IAAEW,IAAEnD,IAAEoD,IAAEC,IAAE;AAAC,YAAGb,GAAE,CAAA7D,GAAE,KAAKwE,IAAEnD,IAAEoD,IAAEC,EAAC;AAAA,YAAO,UAAQC,KAAE3E,GAAE,QAAO4E,KAAE,GAAG5E,IAAE2E,EAAC,GAAEvD,KAAE,GAAEA,KAAEuD,IAAE,EAAEvD,GAAE,CAAAwD,GAAExD,EAAC,EAAE,KAAKoD,IAAEnD,IAAEoD,IAAEC,EAAC;AAAA,MAAC,GAAE,GAAE9D,IAAE,MAAK,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,CAAC;AAAE;AAAA,IAAM;AAAQ,WAAI,IAAE,IAAI,MAAMS,KAAE,CAAC,GAAE,IAAE,GAAE,IAAEA,IAAE,IAAI,GAAE,IAAE,CAAC,IAAE,UAAU,CAAC;AAAE,QAAC,SAASrB,IAAE6D,IAAEW,IAAEnD,IAAE;AAAC,YAAGwC,GAAE,CAAA7D,GAAE,MAAMwE,IAAEnD,EAAC;AAAA,YAAO,UAAQoD,KAAEzE,GAAE,QAAO0E,KAAE,GAAG1E,IAAEyE,EAAC,GAAEE,KAAE,GAAEA,KAAEF,IAAE,EAAEE,GAAE,CAAAD,GAAEC,EAAC,EAAE,MAAMH,IAAEnD,EAAC;AAAA,MAAC,GAAE,GAAET,IAAE,MAAK,CAAC;AAAA,EAAC;AAAC,SAAM;AAAE,GAAE,GAAG,UAAU,cAAY,SAASZ,IAAE6D,IAAE;AAAC,SAAO,GAAG,MAAK7D,IAAE6D,IAAE,KAAE;AAAC,GAAE,GAAG,UAAU,KAAG,GAAG,UAAU,aAAY,GAAG,UAAU,kBAAgB,SAAS7D,IAAE6D,IAAE;AAAC,SAAO,GAAG,MAAK7D,IAAE6D,IAAE,IAAE;AAAC,GAAE,GAAG,UAAU,OAAK,SAAS7D,IAAE6D,IAAE;AAAC,MAAG,cAAY,OAAOA,GAAE,OAAM,IAAI,UAAU,wCAAwC;AAAE,SAAO,KAAK,GAAG7D,IAAE,GAAG,MAAKA,IAAE6D,EAAC,CAAC,GAAE;AAAI,GAAE,GAAG,UAAU,sBAAoB,SAAS7D,IAAE6D,IAAE;AAAC,MAAG,cAAY,OAAOA,GAAE,OAAM,IAAI,UAAU,wCAAwC;AAAE,SAAO,KAAK,gBAAgB7D,IAAE,GAAG,MAAKA,IAAE6D,EAAC,CAAC,GAAE;AAAI,GAAE,GAAG,UAAU,iBAAe,SAAS7D,IAAE6D,IAAE;AAAC,MAAI,GAAExC,IAAE,GAAE,GAAE;AAAE,MAAG,cAAY,OAAOwC,GAAE,OAAM,IAAI,UAAU,wCAAwC;AAAE,MAAG,EAAExC,KAAE,KAAK,SAAS,QAAO;AAAK,MAAG,EAAE,IAAEA,GAAErB,EAAC,GAAG,QAAO;AAAK,MAAG,MAAI6D,MAAG,EAAE,YAAU,EAAE,aAAWA,GAAE,MAAG,EAAE,KAAK,eAAa,KAAK,UAAQ,IAAI,QAAI,OAAOxC,GAAErB,EAAC,GAAEqB,GAAE,kBAAgB,KAAK,KAAK,kBAAiBrB,IAAE,EAAE,YAAU6D,EAAC;AAAA,WAAW,cAAY,OAAO,GAAE;AAAC,SAAI,IAAE,IAAG,IAAE,EAAE,QAAO,MAAK,IAAG,KAAG,EAAE,CAAC,MAAIA,MAAG,EAAE,CAAC,EAAE,YAAU,EAAE,CAAC,EAAE,aAAWA,IAAE;AAAC,UAAE,EAAE,CAAC,EAAE,UAAS,IAAE;AAAE;AAAA,IAAK;AAAC,QAAG,IAAE,EAAE,QAAO;AAAK,QAAG,MAAI,EAAE,QAAO;AAAC,UAAG,EAAE,CAAC,IAAE,QAAO,KAAG,EAAE,KAAK,aAAa,QAAO,KAAK,UAAQ,IAAI,MAAG;AAAK,aAAOxC,GAAErB,EAAC;AAAA,IAAC,MAAK,GAAC,SAASA,IAAE6D,IAAE;AAAC,eAAQW,KAAEX,IAAExC,KAAEmD,KAAE,GAAEC,KAAEzE,GAAE,QAAOqB,KAAEoD,IAAED,MAAG,GAAEnD,MAAG,EAAE,CAAArB,GAAEwE,EAAC,IAAExE,GAAEqB,EAAC;AAAE,MAAArB,GAAE;IAAK,GAAE,GAAE,CAAC;AAAE,IAAAqB,GAAE,kBAAgB,KAAK,KAAK,kBAAiBrB,IAAE,KAAG6D,EAAC;AAAA,EAAC;AAAC,SAAO;AAAI,GAAE,GAAG,UAAU,MAAI,SAAS7D,IAAE6D,IAAE;AAAC,SAAO,KAAK,eAAe7D,IAAE6D,EAAC;AAAC,GAAE,GAAG,UAAU,qBAAmB,SAAS7D,IAAE;AAAC,MAAI6D,IAAE;AAAE,MAAG,EAAE,IAAE,KAAK,SAAS,QAAO;AAAK,MAAG,CAAC,EAAE,eAAe,QAAO,MAAI,UAAU,UAAQ,KAAK,UAAQ,IAAI,MAAG,KAAK,eAAa,KAAG,EAAE7D,EAAC,MAAI,KAAG,EAAE,KAAK,eAAa,KAAK,UAAQ,IAAI,OAAG,OAAO,EAAEA,EAAC,IAAG;AAAK,MAAG,MAAI,UAAU,QAAO;AAAC,aAAQqB,IAAE,IAAE,OAAO,KAAK,CAAC,GAAE,IAAE,GAAE,IAAE,EAAE,QAAO,EAAE,EAAE,uBAAoBA,KAAE,EAAE,CAAC,MAAI,KAAK,mBAAmBA,EAAC;AAAE,WAAO,KAAK,mBAAmB,gBAAgB,GAAE,KAAK,UAAQ,IAAI,MAAG,KAAK,eAAa,GAAE;AAAA,EAAI;AAAC,MAAG,cAAY,QAAOwC,KAAE,EAAE7D,EAAC,GAAG,MAAK,eAAeA,IAAE6D,EAAC;AAAA,WAAUA,GAAE,IAAE;AAAC,SAAK,eAAe7D,IAAE6D,GAAEA,GAAE,SAAO,CAAC,CAAC;AAAA,EAAC,SAAOA,GAAE,CAAC;AAAG,SAAO;AAAI,GAAE,GAAG,UAAU,YAAU,SAAS7D,IAAE;AAAC,MAAI6D,IAAE,GAAExC,KAAE,KAAK;AAAQ,SAAO,IAAEA,OAAIwC,KAAExC,GAAErB,EAAC,KAAG,cAAY,OAAO6D,KAAE,CAACA,GAAE,YAAUA,EAAC,KAAE,SAAS7D,IAAE;AAAC,aAAQ6D,KAAE,IAAI,MAAM7D,GAAE,MAAM,GAAEwE,KAAE,GAAEA,KAAEX,GAAE,QAAO,EAAEW,GAAE,CAAAX,GAAEW,EAAC,IAAExE,GAAEwE,EAAC,EAAE,YAAUxE,GAAEwE,EAAC;AAAE,WAAOX;AAAA,EAAC,GAAEA,EAAC,IAAE,CAAA,GAAG;AAAC,GAAE,GAAG,gBAAc,SAAS7D,IAAE6D,IAAE;AAAC,SAAM,cAAY,OAAO7D,GAAE,gBAAcA,GAAE,cAAc6D,EAAC,IAAE,GAAG,KAAK7D,IAAE6D,EAAC;AAAC,GAAE,GAAG,UAAU,gBAAc,IAAG,GAAG,UAAU,aAAW,WAAU;AAAC,SAAO,KAAK,eAAa,IAAE,QAAQ,QAAQ,KAAK,OAAO,IAAE,CAAA;AAAE;AAAE,IAAI,KAAG,GAAG,OAAO,OAAO,EAAC,WAAU,MAAK,cAAa,IAAG,SAAQ,GAAE,CAAC,CAAC;AAAE,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC;AAAE,MAAM,KAAG;AAAG,SAAS,GAAG7D,IAAE6D,IAAE,GAAE;AAAC,MAAG;AAAC,YAAQ,MAAM7D,IAAE6D,IAAE,CAAC;AAAA,EAAC,SAAO7D,IAAE;AAAC,gBAAY,MAAI;AAAC,YAAMA;AAAA,IAAC;EAAG;AAAC;AAAC,IAAI,KAAG,cAAc,GAAG,aAAY;AAAA,EAAC,KAAKA,OAAK6D,IAAE;AAAC,QAAI,IAAE,YAAU7D;AAAE,UAAMqB,KAAE,KAAK;AAAQ,QAAG,WAASA,GAAE,KAAE,KAAG,WAASA,GAAE;AAAA,aAAc,CAAC,EAAE,QAAM;AAAG,QAAG,GAAE;AAAC,UAAIrB;AAAE,UAAG6D,GAAE,SAAO,MAAI,CAAC7D,EAAC,IAAE6D,KAAG7D,cAAa,MAAM,OAAMA;AAAE,YAAMwE,KAAE,IAAI,MAAM,sBAAoBxE,KAAE,KAAKA,GAAE,OAAO,MAAI,GAAG;AAAE,YAAMwE,GAAE,UAAQxE,IAAEwE;AAAA,IAAC;AAAC,UAAM,IAAEnD,GAAErB,EAAC;AAAE,QAAG,WAAS,EAAE,QAAM;AAAG,QAAG,cAAY,OAAO,EAAE,IAAG,GAAE,MAAK6D,EAAC;AAAA,SAAM;AAAC,YAAM7D,KAAE,EAAE,QAAOwE,MAAE,SAASxE,IAAE;AAAC,cAAM6D,KAAE7D,GAAE,QAAOwE,KAAE,IAAI,MAAMX,EAAC;AAAE,iBAAQxC,KAAE,GAAEA,KAAEwC,IAAExC,MAAG,EAAE,CAAAmD,GAAEnD,EAAC,IAAErB,GAAEqB,EAAC;AAAE,eAAOmD;AAAA,MAAC,GAAE,CAAC;AAAE,eAAQnD,KAAE,GAAEA,KAAErB,IAAEqB,MAAG,EAAE,IAAGmD,GAAEnD,EAAC,GAAE,MAAKwC,EAAC;AAAA,IAAC;AAAC,WAAM;AAAA,EAAE;AAAC;AAAE,IAAI,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAG,GAAG,UAAQ,IAAG,KAAG,MAAM7D,WAAU,GAAE;AAAA,EAAC,YAAY,EAAC,qBAAoBA,GAAC,IAAE,CAAA,GAAG;AAAC,UAAK,GAAG,GAAG,MAAK,EAAE,GAAE,GAAG,MAAK,EAAE,GAAE,GAAG,MAAK,EAAE,GAAE,GAAG,MAAK,IAAG,KAAE,GAAE,GAAG,MAAK,IAAG,MAAM,GAAE,GAAG,MAAK,IAAG,MAAM,GAAE,GAAG,MAAK,IAAG,CAAA,CAAE,GAAE,GAAG,MAAK,IAAGA,EAAC;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,OAAG,MAAK,EAAE,EAAE,SAAS,CAAAA,OAAG;AAAC,mBAAYA,MAAG,cAAY,OAAOA,GAAE,WAASA,GAAE,QAAO;AAAA,IAAE,EAAC,GAAG,GAAG,MAAK,IAAG,CAAA,CAAE,GAAE,GAAG,MAAK,IAAG,IAAE;AAAA,EAAC;AAAA,EAAC,KAAKA,IAAE;AAAC,OAAG,MAAK,IAAG,EAAE,EAAE,KAAK,IAAI,GAAE,GAAG,MAAK,EAAE,EAAE,KAAKA,EAAC;AAAA,EAAC;AAAA,EAAC,OAAOA,IAAE6D,IAAE;AAAC,QAAG,GAAG,MAAK,IAAG,EAAE,EAAE,KAAK,IAAI,GAAEA,MAAG,cAAY,OAAOA,GAAE,OAAM,IAAI,MAAM,4CAA4C;AAAE,WAAO,MAAM,QAAQ7D,EAAC,IAAE6D,KAAE,GAAG,MAAK,IAAG,EAAE,EAAE,KAAK,MAAK7D,IAAE6D,EAAC,IAAE,GAAG,MAAK,IAAG,EAAE,EAAE,KAAK,MAAK7D,EAAC,IAAE6D,KAAE,GAAG,MAAK,IAAG,EAAE,EAAE,KAAK,MAAK7D,IAAE6D,EAAC,IAAE,KAAK,eAAe7D,EAAC;AAAA,EAAC;AAAA,EAAC,eAAc;AAAC,WAAO,GAAG,MAAK,IAAG,EAAE,EAAE,KAAK,IAAI,GAAE,OAAM6D,IAAE,GAAExC,IAAE,MAAI;AAAC,UAAI,GAAE;AAAE,UAAG;AAAC,cAAK,CAAC,GAAED,IAAEwB,EAAC,IAAE,MAAM,GAAG,IAAE5C,IAAE,IAAG,EAAE,EAAE,KAAK,GAAE6D,IAAE,GAAE,GAAG,MAAK,EAAE,CAAC;AAAE,eAAOzC,MAAG,MAAM,GAAG,IAAEpB,IAAE,IAAG,EAAE,EAAE,KAAK,GAAE4C,EAAC,GAAE,EAAE,CAAC,KAAGvB,IAAG,OAAMwC,OAAG;AAAC,cAAIW;AAAE,cAAG;AAAC,kBAAM,GAAGA,KAAExE,IAAE,IAAG,EAAE,EAAE,KAAKwE,IAAE5B,EAAC;AAAA,UAAC,SAAO5C,IAAE;AAAC,mBAAO6D,GAAE7D,EAAC;AAAA,UAAC;AAAC,iBAAO6D;QAAG,EAAC;AAAA,MAAE,SAAO7D,IAAE;AAAC,eAAO,EAAEA,EAAC;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,MAAM,eAAeA,IAAE;AAAC,WAAO,IAAI,SAAS,CAAC6D,IAAE,MAAI;AAAC,SAAG,MAAK,IAAG,EAAE,EAAE,KAAK,MAAK7D,KAAG,CAACA,IAAEqB,OAAI;AAAC,QAAArB,MAAG,WAASqB,KAAE,EAAErB,EAAC,IAAE6D,GAAExC,EAAC;AAAA,MAAC,IAAI,MAAM,CAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAC;AAAE,KAAG,oBAAI,WAAQ,KAAG,oBAAI,WAAQ,KAAG,oBAAI,WAAQ,KAAG,oBAAI,WAAQ,KAAG,WAAU;AAAC,MAAG,GAAG,MAAK,EAAE,EAAE,OAAM,IAAI,MAAM,qDAAqD;AAAC,GAAE,KAAG,oBAAI,WAAQ,KAAG,eAAerB,IAAE6D,IAAE;AAAC,MAAG;AAAC,QAAG,MAAI7D,GAAE,QAAO;AAAC,YAAMA,KAAE,CAAC,EAAC,IAAG,MAAK,SAAQ,OAAM,OAAM,IAAI,GAAG,GAAG,gBAAe,mEAAmE,EAAC,CAAC;AAAE,aAAO6D,KAAEA,GAAE,MAAK7D,EAAC,IAAEA;AAAA,IAAC;AAAC,UAAM,KAAG,MAAM,QAAQ,IAAIA,GAAE,IAAI,KAAK,eAAe,KAAK,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAAA,OAAG,WAASA,GAAC;AAAG,WAAO6D,KAAEA,GAAE,MAAK,CAAC,IAAE;AAAA,EAAC,SAAO7D,IAAE;AAAC,QAAG6D,GAAE,QAAOA,GAAE7D,EAAC;AAAE,UAAMA;AAAA,EAAC;AAAC,GAAE,KAAG,oBAAI,WAAQ,KAAG,eAAeA,IAAE6D,IAAE;AAAC,MAAI;AAAE,MAAG,CAAC7D,MAAG,MAAM,QAAQA,EAAC,KAAG,YAAU,OAAOA,IAAE;AAAC,UAAMwE,KAAE,IAAI,GAAG,GAAG,gBAAe,+CAA6C,OAAOxE,IAAE,EAAC,SAAQA,GAAC,CAAC;AAAE,WAAO6D,GAAEW,IAAE,EAAC,IAAG,MAAK,SAAQ,OAAM,OAAMA,GAAC,CAAC;AAAA,EAAC;AAAC,MAAG,YAAU,OAAOxE,GAAE,QAAO;AAAC,UAAMwE,KAAE,IAAI,GAAG,GAAG,gBAAe,6CAA2C,OAAOxE,GAAE,QAAO,EAAC,SAAQA,GAAC,CAAC;AAAE,WAAO,GAAG,MAAK,EAAE,KAAG,CAAC,GAAGA,EAAC,IAAE6D,GAAE,IAAI,IAAEA,GAAEW,IAAE,EAAC,IAAGxE,GAAE,MAAI,MAAK,SAAQ,OAAM,OAAMwE,GAAC,CAAC;AAAA,EAAC;AAAC,MAAG,GAAG,MAAK,EAAE,KAAG,GAAGxE,IAAE,EAAE,KAAG,CAAC,GAAGA,EAAC,GAAE;AAAC,QAAG;AAAC,YAAM,GAAG,MAAK,EAAE,EAAE,KAAK,MAAKA,EAAC;AAAA,IAAC,SAAOA,IAAE;AAAC,aAAO6D,GAAE7D,EAAC;AAAA,IAAC;AAAC,WAAO6D,GAAE,IAAI;AAAA,EAAC;AAAC,MAAIxC,KAAE;AAAK,QAAM,IAAE,EAAC,GAAGrB,GAAC,GAAE,IAAE,EAAC,IAAG,EAAE,IAAG,SAAQ,EAAE,QAAO;AAAE,MAAG;AAAC,UAAM,GAAG,IAAE,IAAG,IAAG,EAAE,EAAE,KAAK,GAAE,GAAE,GAAE,GAAG,MAAK,EAAE,CAAC;AAAA,EAAC,SAAOA,IAAE;AAAC,IAAAqB,KAAErB;AAAA,EAAC;AAAC,SAAOqB,OAAI,OAAO,EAAE,QAAO,EAAE,UAAQ,EAAE,QAAM,GAAGA,EAAC,KAAIwC,GAAExC,IAAE,CAAC;AAAC,GAAE,KAAG,oBAAI,WAAQ,KAAG,eAAerB,IAAE6D,IAAE,GAAE;AAAC,MAAIxC,IAAE,GAAE;AAAE,QAAK,CAAC,GAAE,GAAED,EAAC,IAAE,MAAM,GAAGC,KAAE,IAAG,IAAG,EAAE,EAAE,KAAKA,IAAErB,IAAE6D,IAAE,CAAC;AAAE,MAAG,GAAG,IAAE,IAAG,IAAG,EAAE,EAAE,KAAK,GAAE7D,IAAE6D,IAAE,CAAC,GAAE,MAAM,GAAG,IAAE,IAAG,IAAG,EAAE,EAAE,KAAK,GAAEzC,EAAC,GAAE,EAAE,OAAM;AAAC,GAAE,KAAG,oBAAI,WAAQ,KAAG,eAAepB,IAAE6D,IAAE,GAAE;AAAC,MAAIxC;AAAE,QAAM,IAAE;AAAG,MAAI,IAAE,MAAK,IAAE;AAAG,aAAU,KAAK,EAAE,KAAG,CAAC,GAAE,CAAC,IAAE,MAAM,GAAGA,KAAE,IAAG,IAAG,EAAE,EAAE,KAAKA,IAAErB,IAAE6D,IAAE,GAAE,CAAC,GAAE,EAAE;AAAM,SAAM,CAAC,GAAE,GAAE,EAAE,SAAS;AAAC,GAAE,KAAG,oBAAI,WAAQ,KAAG,eAAe7D,IAAE6D,IAAE,GAAExC,IAAE;AAAC,SAAO,IAAI,SAAS,OAAG;AAAC,UAAM,IAAE,CAAArB,OAAG;AAAC,YAAMwE,KAAExE,MAAG6D,GAAE;AAAM,MAAAW,OAAIX,GAAE,QAAM,GAAGW,EAAC,IAAG,EAAE,CAACA,IAAE,IAAE,CAAC;AAAA,IAAC,GAAE,IAAE,CAAAA,OAAG;AAAC,MAAAX,GAAE,QAAM,EAAEA,GAAE,KAAK,KAAGW,OAAI,cAAY,OAAOA,MAAG,EAAE,IAAI,GAAG,GAAG,UAAS,sEAAsE,OAAOA,EAAC;AAAA,EAAmB,GAAGxE,EAAC,CAAC,IAAG,EAAC,SAAQA,GAAC,CAAC,CAAC,GAAEqB,GAAE,KAAKmD,EAAC,IAAG,EAAE,CAAC,MAAK,KAAE,CAAC;AAAA,IAAE;AAAE,QAAG;AAAC,QAAExE,IAAE6D,IAAE,GAAE,CAAC;AAAA,IAAC,SAAO7D,IAAE;AAAC,QAAEA,EAAC;AAAA,IAAC;AAAA,EAAC,EAAC;AAAE,GAAE,KAAG,oBAAI,WAAQ,KAAG,eAAeA,IAAE;AAAC,aAAU6D,MAAK7D,GAAE,OAAM,IAAI,SAAS,CAACA,IAAE,MAAI;AAAC,IAAA6D,IAAG,CAAAA,OAAGA,KAAE,EAAEA,EAAC,IAAE7D,GAAC,EAAE;AAAA,EAAE,EAAC;AAAE,GAAE,KAAG,oBAAI,WAAQ,KAAG,SAASA,IAAE6D,IAAE,GAAE;AAAC,MAAG,CAAC,GAAGA,IAAE,QAAQ,KAAG,CAAC,GAAGA,IAAE,OAAO,EAAE,OAAM,IAAI,GAAG,GAAG,UAAS;AAAA,EAAgE,GAAG7D,EAAC,CAAC,IAAG,EAAC,SAAQA,GAAC,CAAC;AAAE,MAAG,CAAC,EAAE,OAAM,IAAI,GAAG,GAAG,UAAS;AAAA,EAA0C,GAAGA,EAAC,CAAC,IAAG,EAAC,SAAQA,GAAC,CAAC;AAAC,GAAE,GAAG,IAAG,EAAE,GAAE,GAAG,IAAG,EAAE,GAAE,GAAG,IAAG,EAAE,GAAE,GAAG,IAAG,EAAE,GAAE,GAAG,IAAG,EAAE;AAAE,IAAI,KAAG;AAAG,SAAS,GAAGA,IAAE;AAAC,SAAO,KAAK,UAAUA,IAAE,MAAK,CAAC;AAAC;AAAC,IAAI,KAAG,OAAO,OAAO,CAAC,kBAAkB,CAAC,GAAE,KAAG,CAACA,KAAE,YAAU,CAAC,GAAE,GAAG,GAAGA,EAAC,GAAE,GAAGA,EAAC,CAAC;AAAE,SAAS,GAAGA,IAAE;AAAC,SAAM,CAAC6D,IAAE,GAAExC,OAAI;AAAC,gBAAU,OAAOwC,GAAE,UAAQA,GAAE,WAAS,EAAE,QAAM,GAAG,EAAC,SAAQ,oDAAmD,MAAKA,GAAC,CAAC,IAAGxC,IAAG,CAAAwC,OAAG;AAAC,YAAK,EAAC,OAAMxC,GAAC,IAAE;AAAE,aAAOA,MAAGrB,GAAE,MAAM,yBAAyBqB,GAAE,OAAO,IAAGA,EAAC,GAAEwC,QAAKA,GAAC;AAAA,IAAE,EAAC;AAAA,EAAE;AAAC;AAAC,IAAI,KAAG,CAAC7D,IAAE6D,IAAE,IAAE,SAAK,CAACxC,IAAE,MAAI;AAAC,EAAAA,MAAG,EAAE,QAAMwC,GAAExC,MAAG,EAAE,KAAK,IAAE,CAAC,KAAG,MAAM,QAAQ,CAAC,IAAErB,GAAE,CAAC,IAAEA,GAAE,EAAE,MAAM;AAAC,GAAE,KAAG,CAAAA,OAAG,QAAQA,EAAC,KAAG,YAAU,OAAOA,MAAGA,GAAE,WAAW,IAAI,GAAE,KAAG,MAAI;AAAC;AAAE,eAAe,GAAGA,IAAE6D,IAAE;AAAC,MAAG;AAAC,UAAMA,KAAE,OAAM,iBAAgB;AAAC,aAAM,EAAC,MAAK,GAAG,MAAM,GAAE,MAAK,MAAM,GAAG,MAAM,EAAC;AAAA,IAAC,GAAC;AAAG,IAAA7D,GAAE,OAAO,EAAC,SAAQ,OAAM,IAAG,GAAE,QAAO,+BAA8B,QAAO6D,GAAC,GAAE,EAAE;AAAA,EAAC,SAAO7D,IAAE;AAAC,IAAA6D,GAAE,MAAM,EAAC,SAAQ,GAAG,OAAO,oBAAmB,eAAc7D,GAAC,CAAC;AAAA,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,QAAK,EAAC,UAAS6D,GAAC,IAAE7D,IAAE,IAAE6D,GAAE,cAAc,sCAAsC;AAAE,MAAG,EAAE,QAAO,EAAE;AAAQ,QAAMxC,KAAEwC,GAAE,cAAc,2BAA2B;AAAE,SAAOxC,KAAEA,GAAE,UAAQwC,GAAE,SAAOA,GAAE,MAAM,SAAO,IAAEA,GAAE,QAAM,OAAO,SAAS;AAAQ;AAAC,eAAe,GAAG7D,IAAE;AAAC,QAAK,EAAC,UAAS6D,GAAC,IAAE7D,IAAE,IAAE6D,GAAE,iBAAiB,0BAA0B;AAAE,aAAU7D,MAAK,MAAM,KAAK,CAAC,EAAE,KAAGA,MAAG,MAAM,GAAGA,GAAE,IAAI,EAAE,QAAOA,GAAE;AAAK,SAAO;AAAI;AAAC,eAAe,GAAGA,IAAE;AAAC,SAAO,IAAI,SAAS,CAAC6D,IAAE,MAAI;AAAC,QAAG;AAAC,YAAMW,KAAE,SAAS,cAAc,KAAK;AAAE,MAAAA,GAAE,SAAO,MAAIX,GAAE,IAAE,GAAEW,GAAE,UAAQ,MAAIX,GAAE,KAAE,GAAEW,GAAE,MAAIxE;AAAA,IAAC,SAAOA,IAAE;AAAC,QAAEA,EAAC;AAAA,IAAC;AAAA,EAAC;AAAG;AAAC,IAAI,KAAG,CAACA,IAAE6D,IAAE,MAAI;AAAC,MAAG,CAACA,GAAE,IAAI7D,EAAC,EAAE,OAAM,UAAU,YAAU,CAAC;AAAC,GAAE,KAAG,CAACA,IAAE6D,IAAE,OAAK,GAAG7D,IAAE6D,IAAE,yBAAyB,GAAE,IAAE,EAAE,KAAK7D,EAAC,IAAE6D,GAAE,IAAI7D,EAAC,IAAG,KAAG,CAACA,IAAE6D,IAAE,MAAI;AAAC,MAAGA,GAAE,IAAI7D,EAAC,EAAE,OAAM,UAAU,mDAAmD;AAAE,EAAA6D,cAAa,UAAQA,GAAE,IAAI7D,EAAC,IAAE6D,GAAE,IAAI7D,IAAE,CAAC;AAAC,GAAE,KAAG,CAACA,IAAE6D,IAAE,GAAExC,QAAK,GAAGrB,IAAE6D,IAAE,wBAAwB,GAAEA,GAAE,IAAI7D,IAAE,CAAC,GAAE;AAAG,SAAS,GAAGA,IAAE6D,IAAE,GAAE;AAAC,MAAG;AAAC,YAAQ,MAAM7D,IAAE6D,IAAE,CAAC;AAAA,EAAC,SAAO7D,IAAE;AAAC,gBAAY,MAAI;AAAC,YAAMA;AAAA,IAAC,EAAC;AAAA,EAAE;AAAC;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,KAAKA,OAAK6D,IAAE;AAAC,QAAI,IAAE,YAAU7D;AAAE,UAAMqB,KAAE,KAAK;AAAQ,QAAG,WAASA,GAAE,KAAE,KAAG,WAASA,GAAE;AAAA,aAAc,CAAC,EAAE,QAAM;AAAG,QAAG,GAAE;AAAC,UAAIrB;AAAE,UAAG6D,GAAE,SAAO,MAAI,CAAC7D,EAAC,IAAE6D,KAAG7D,cAAa,MAAM,OAAMA;AAAE,YAAMwE,KAAE,IAAI,MAAM,sBAAoBxE,KAAE,KAAKA,GAAE,OAAO,MAAI,GAAG;AAAE,YAAMwE,GAAE,UAAQxE,IAAEwE;AAAA,IAAC;AAAC,UAAM,IAAEnD,GAAErB,EAAC;AAAE,QAAG,WAAS,EAAE,QAAM;AAAG,QAAG,cAAY,OAAO,EAAE,IAAG,GAAE,MAAK6D,EAAC;AAAA,SAAM;AAAC,YAAM7D,KAAE,EAAE,QAAOwE,MAAE,SAASxE,IAAE;AAAC,cAAM6D,KAAE7D,GAAE,QAAOwE,KAAE,IAAI,MAAMX,EAAC;AAAE,iBAAQxC,KAAE,GAAEA,KAAEwC,IAAExC,MAAG,EAAE,CAAAmD,GAAEnD,EAAC,IAAErB,GAAEqB,EAAC;AAAE,eAAOmD;AAAA,MAAC,GAAE,CAAC;AAAE,eAAQnD,KAAE,GAAEA,KAAErB,IAAEqB,MAAG,EAAE,IAAGmD,GAAEnD,EAAC,GAAE,MAAKwC,EAAC;AAAA,IAAC;AAAC,WAAM;AAAA,EAAE;AAAC;AAAC,IAAI,IAAG,IAAG,KAAG,SAAS7D,GAAE6D,IAAE,GAAE;AAAC,MAAGA,OAAI,EAAE,QAAM;AAAG,MAAGA,MAAG,KAAG,YAAU,OAAOA,MAAG,YAAU,OAAO,GAAE;AAAC,QAAGA,GAAE,gBAAc,EAAE,YAAY,QAAM;AAAG,QAAIxC,IAAE,GAAE;AAAE,QAAG,MAAM,QAAQwC,EAAC,GAAE;AAAC,WAAIxC,KAAEwC,GAAE,WAAS,EAAE,OAAO,QAAM;AAAG,WAAI,IAAExC,IAAE,KAAG,MAAK,KAAG,CAACrB,GAAE6D,GAAE,CAAC,GAAE,EAAE,CAAC,CAAC,EAAE,QAAM;AAAG;IAAQ;AAAC,QAAGA,GAAE,gBAAc,OAAO,QAAOA,GAAE,WAAS,EAAE,UAAQA,GAAE,UAAQ,EAAE;AAAM,QAAGA,GAAE,YAAU,OAAO,UAAU,QAAQ,QAAOA,GAAE,QAAO,MAAK,EAAE,QAAO;AAAG,QAAGA,GAAE,aAAW,OAAO,UAAU,SAAS,QAAOA,GAAE,SAAQ,MAAK,EAAE,SAAQ;AAAG,SAAIxC,MAAG,IAAE,OAAO,KAAKwC,EAAC,GAAG,YAAU,OAAO,KAAK,CAAC,EAAE,OAAO,QAAM;AAAG,SAAI,IAAExC,IAAE,KAAG,MAAK,KAAG,CAAC,OAAO,UAAU,eAAe,KAAK,GAAE,EAAE,CAAC,CAAC,EAAE,QAAM;AAAG,SAAI,IAAEA,IAAE,KAAG,OAAK;AAAC,UAAI,IAAE,EAAE,CAAC;AAAE,UAAG,CAACrB,GAAE6D,GAAE,CAAC,GAAE,EAAE,CAAC,CAAC,EAAE,QAAM;AAAA,IAAE;AAAC,WAAM;AAAA,EAAE;AAAC,SAAOA,MAAGA,MAAG,KAAG;AAAC,GAAE,KAAG,GAAG,EAAE,GAAE,KAAG,MAAM7D,WAAU,GAAE;AAAA,EAAC,YAAY,EAAC,QAAO6D,KAAE,SAAQ,mBAAkB,IAAE,KAAI,eAAcxC,KAAE,CAAA,EAAE,IAAE,CAAA,GAAG;AAAC,UAAK,GAAG,GAAG,MAAK,IAAG,MAAM,GAAE,GAAG,MAAK,IAAG,MAAM,GAAE,KAAK,OAAKwC,IAAE,KAAK,gBAAgB,CAAC,GAAE,KAAK,SAAO,EAAC,GAAG7D,GAAE,cAAa,GAAE,GAAG,MAAK,IAAG,IAAI,GAAE,GAAG,MAAK,IAAG,IAAI,GAAE,KAAK,yBAAuB,KAAK,uBAAuB,KAAK,IAAI,GAAE,KAAK,iBAAe,KAAK,eAAe,KAAK,IAAI,GAAE,KAAK,sBAAoB,KAAK,oBAAoB,KAAK,IAAI,GAAE,KAAK,oBAAkB,KAAK,kBAAkB,KAAK,IAAI,GAAE,KAAK,4BAA0B,KAAK,0BAA0B,KAAK,IAAI,GAAE,KAAK,cAAY,KAAK,YAAY,KAAK,IAAI,GAAE,KAAK,UAAQ,KAAK,QAAQ,KAAK,IAAI;AAAE,UAAM,IAAE,IAAI;AAAG,IAAAqB,GAAE,SAAS,CAAArB,OAAG,EAAE,KAAKA,EAAC,EAAC,GAAG,KAAK,aAAW;AAAA,EAAC;AAAA,EAAC,IAAI,UAAS;AAAC,WAAO,GAAG,MAAK,EAAE;AAAA,EAAC;AAAA,EAAC,IAAI,kBAAiB;AAAC,WAAO,GAAG,MAAK,EAAE;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,WAAO,KAAK,OAAO;AAAA,EAAW;AAAA,EAAC,MAAM,QAAQA,IAAE;AAAC,QAAG,CAACA,MAAG,YAAU,OAAOA,MAAG,MAAM,QAAQA,EAAC,EAAE,OAAM,GAAG,EAAC,SAAQ,GAAG,OAAO,mBAAkB,GAAG,MAAKA,GAAC,CAAC;AAAE,UAAK,EAAC,QAAO6D,IAAE,QAAO,EAAC,IAAE7D;AAAE,QAAG,YAAU,OAAO6D,MAAG,MAAIA,GAAE,OAAO,OAAM,GAAG,EAAC,SAAQ,GAAG,OAAO,qBAAoB,GAAG,MAAK7D,GAAC,CAAC;AAAE,QAAG,WAAS,KAAG,CAAC,MAAM,QAAQ,CAAC,MAAI,YAAU,OAAO,KAAG,SAAO,GAAG,OAAM,GAAG,EAAC,SAAQ,GAAG,OAAO,qBAAoB,GAAG,MAAKA,GAAC,CAAC;AAAE,UAAMqB,KAAE,QAAM,IAAE,EAAC,QAAOwC,GAAC,IAAE,EAAC,QAAOA,IAAE,QAAO,EAAC;AAAE,WAAO,IAAI,SAAS,CAAC7D,IAAE6D,OAAI;AAAC,WAAK,YAAYxC,IAAE,GAAGrB,IAAE6D,EAAC,CAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,iBAAiB7D,IAAE;AAAC,QAAG,KAAK,OAAO,YAAY,OAAM,IAAI,MAAM,+BAA+B;AAAE,QAAGA,IAAE;AAAC,YAAK,EAAC,UAAS6D,IAAE,SAAQ,GAAE,YAAWxC,IAAE,gBAAe,EAAC,IAAErB;AAAE,WAAK,eAAe,CAAC,GAAE,KAAK,oBAAoB,EAAC,SAAQ,GAAE,gBAAe,EAAC,CAAC,GAAE,KAAK,0BAA0B,EAAC,UAAS6D,IAAE,YAAWxC,GAAC,CAAC,GAAE,KAAK,uBAAuBwC,EAAC;AAAA,IAAC;AAAC,SAAK,OAAO,cAAY,MAAG,KAAK,KAAK,cAAc;AAAA,EAAC;AAAA,EAAC,YAAY7D,IAAE6D,IAAE;AAAC,QAAI,IAAEA;AAAE,WAAO,MAAM,QAAQ7D,EAAC,MAAIA,GAAE,YAAUA,GAAE,UAAQ,QAAO,mBAAiBA,GAAE,UAAQ,0BAAwBA,GAAE,WAAS,IAAE,CAACwE,IAAEnD,OAAI;AAAC,WAAK,uBAAuBA,GAAE,UAAQ,IAAG,mBAAiBrB,GAAE,MAAM,GAAE6D,GAAEW,IAAEnD,EAAC;AAAA,IAAC,KAAI,KAAK,WAAW,OAAOrB,IAAE,CAAC;AAAA,EAAC;AAAA,EAAC,eAAeA,IAAE;AAAC,SAAK,OAAO,gBAAc,KAAK,OAAO,cAAY,MAAG,KAAK,KAAK,WAAU,EAAC,SAAQA,GAAC,CAAC,GAAE,KAAK,KAAK,MAAM,GAAG,KAAK,UAAUA,EAAC,CAAC;AAAA,EAAE;AAAA,EAAC,kBAAkBA,IAAE6D,IAAE;AAAC,QAAG,KAAK,OAAO,eAAa,CAAC,KAAK,OAAO,6BAA2B,CAAC7D,IAAE;AAAC,UAAI;AAAE,WAAK,OAAO,cAAY,OAAGA,MAAG,IAAE,IAAI,GAAG,MAAK6D,MAAG,GAAG,OAAO,cAAc,GAAE,KAAK,KAAK,MAAM,CAAC,MAAI,IAAE,IAAI,GAAG,MAAKA,MAAG,GAAG,OAAO,wBAAuB,CAAE,GAAE,KAAK,KAAK,MAAM,CAAC,GAAE,GAAG,MAAK,IAAG,IAAI,GAAE,KAAK,OAAO,WAAS,MAAK,GAAG,MAAK,IAAG,IAAI,GAAE,KAAK,OAAO,aAAW,OAAG,KAAK,OAAO,4BAA0B,OAAI,KAAK,KAAK,cAAa,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,oBAAoB,EAAC,SAAQ7D,GAAC,IAAE,CAAA,GAAG;AAAC,OAAGA,EAAC,KAAG,KAAK,eAAeA,EAAC,GAAEA,OAAI,GAAG,MAAK,EAAE,MAAI,GAAG,MAAK,IAAGA,EAAC,GAAE,KAAK,OAAO,eAAa,KAAK,KAAK,gBAAe,GAAG,MAAK,EAAE,CAAC,MAAI,KAAK,KAAK,MAAM,GAAG,OAAO,qBAAoB,GAAG,EAAC,SAAQA,GAAC,CAAC;AAAA,EAAC;AAAA,EAAC,uBAAuBA,IAAE6D,KAAE,OAAG;AAAC,QAAI,IAAE7D;AAAE,UAAM,QAAQA,EAAC,MAAI,KAAK,KAAK,MAAM,0EAAyEA,EAAC,GAAE,IAAE,CAAA;AAAI,eAAU6D,MAAK7D,GAAE,KAAG,YAAU,OAAO6D,IAAE;AAAC,WAAK,KAAK,MAAM,kEAAiE7D,EAAC,GAAE,IAAE,CAAA;AAAG;AAAA,IAAK;AAAC,QAAG,CAAC,GAAG,KAAK,OAAO,UAAS,CAAC,MAAI6D,MAAG,SAAO,KAAK,OAAO,YAAU,KAAK,KAAK,MAAM,mFAAkF,CAAC,GAAE,KAAK,OAAO,WAAS,GAAE,GAAG,MAAK,EAAE,MAAI,EAAE,CAAC,KAAG,GAAG,MAAK,IAAG,EAAE,CAAC,KAAG,IAAI,GAAE,KAAK,OAAO,cAAa;AAAC,YAAM7D,KAAE,CAAC,GAAG,CAAC;AAAE,WAAK,KAAK,mBAAkBA,EAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,0BAA0B,EAAC,UAASA,IAAE,YAAW6D,GAAC,IAAE,CAAA,GAAG;AAAC,iBAAW,OAAOA,KAAEA,OAAI,KAAK,OAAO,eAAa,KAAK,OAAO,aAAWA,IAAE,KAAK,uBAAuB7D,MAAG,CAAA,CAAE,KAAG,KAAK,KAAK,MAAM,0EAA0E;AAAA,EAAC;AAAC;AAAE,KAAG,oBAAI,WAAQ,KAAG,oBAAI,WAAQ,GAAG,gBAAc,EAAC,UAAS,MAAK,aAAY,OAAG,YAAW,OAAG,aAAY,OAAG,2BAA0B,MAAE;AAAE,IAAI,IAAG,KAAG,IAAG,KAAG,EAAC,SAAQ,CAAA,EAAE,GAAE,KAAG,GAAG,cAAa,KAAG,GAAG,EAAE;AAAE,KAAG,cAAY,OAAO,OAAO,SAAO,SAASA,IAAE6D,IAAE;AAAC,EAAA7D,GAAE,SAAO6D,IAAE7D,GAAE,YAAU,OAAO,OAAO6D,GAAE,WAAU,EAAC,aAAY,EAAC,OAAM7D,IAAE,YAAW,OAAG,UAAS,MAAG,cAAa,KAAE,EAAC,CAAC;AAAC,IAAE,SAASA,IAAE6D,IAAE;AAAC,EAAA7D,GAAE,SAAO6D;AAAE,MAAI,IAAE,WAAU;AAAA,EAAC;AAAE,IAAE,YAAUA,GAAE,WAAU7D,GAAE,YAAU,IAAI,KAAEA,GAAE,UAAU,cAAYA;AAAC;AAAE,IAAI,KAAG,OAAO,6BAA2B,SAASA,IAAE;AAAC,WAAQ6D,KAAE,OAAO,KAAK7D,EAAC,GAAE,IAAE,CAAA,GAAGqB,KAAE,GAAEA,KAAEwC,GAAE,QAAOxC,KAAI,GAAEwC,GAAExC,EAAC,CAAC,IAAE,OAAO,yBAAyBrB,IAAE6D,GAAExC,EAAC,CAAC;AAAE,SAAO;AAAC,GAAE,KAAG;AAAW,SAAS,GAAGrB,IAAE;AAAC,MAAG,CAAC,GAAGA,EAAC,GAAE;AAAC,aAAQ6D,KAAE,CAAA,GAAG,IAAE,GAAE,IAAE,UAAU,QAAO,IAAI,CAAAA,GAAE,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC;AAAE,WAAOA,GAAE,KAAK,GAAG;AAAA,EAAC;AAAC,MAAE;AAAE,WAAQxC,KAAE,WAAU,IAAEA,GAAE,QAAO,IAAE,OAAOrB,EAAC,EAAE,QAAQ,KAAI,SAASA,IAAE;AAAC,QAAG,SAAOA,GAAE,QAAM;AAAI,QAAG,KAAG,EAAE,QAAOA;AAAE,YAAOA,IAAC;AAAA,MAAE,KAAI;AAAK,eAAO,OAAOqB,GAAE,GAAG,CAAC;AAAA,MAAE,KAAI;AAAK,eAAO,OAAOA,GAAE,GAAG,CAAC;AAAA,MAAE,KAAI;AAAK,YAAG;AAAC,iBAAO,KAAK,UAAUA,GAAE,GAAG,CAAC;AAAA,QAAC,SAAOrB,IAAE;AAAC,iBAAM;AAAA,QAAY;AAAA,MAAC;AAAQ,eAAOA;AAAA,IAAC;AAAA,EAAC,EAAC,GAAG,IAAEqB,GAAE,CAAC,GAAE,IAAE,GAAE,IAAEA,GAAE,EAAE,CAAC,EAAE,IAAG,CAAC,KAAG,CAAC,GAAG,CAAC,IAAE,KAAG,MAAI,IAAE,KAAG,MAAI,GAAG,CAAC;AAAE,SAAO;AAAC;AAAC,SAAS,GAAGrB,IAAE6D,IAAE;AAAC,MAAG,GAAG,EAAE,OAAO,EAAE,QAAO,WAAU;AAAC,WAAO,GAAG7D,IAAE6D,EAAC,EAAE,MAAM,MAAK,SAAS;AAAA,EAAC;AAAE,MAAG,SAAK,GAAG,cAAc,QAAO7D;AAAE,MAAI,IAAE;AAAG,SAAO,WAAU;AAAC,QAAG,CAAC,GAAE;AAAC,UAAG,GAAG,iBAAiB,OAAM,IAAI,MAAM6D,EAAC;AAAE,SAAG,mBAAiB,QAAQ,MAAMA,EAAC,IAAE,QAAQ,MAAMA,EAAC,GAAE,IAAE;AAAA,IAAE;AAAC,WAAO7D,GAAE,MAAM,MAAK,SAAS;AAAA,EAAC;AAAC;AAAC,IAAI,IAAG,KAAG,CAAA;AAAG,SAAS,GAAGA,IAAE;AAAC,MAAG,GAAG,EAAE,MAAI,KAAG,GAAG,IAAI,cAAY,KAAIA,KAAEA,GAAE,YAAW,GAAG,CAAC,GAAGA,EAAC,EAAE,KAAG,IAAI,OAAO,QAAMA,KAAE,OAAM,GAAG,EAAE,KAAK,EAAE,GAAE;AAAC,OAAGA,EAAC,IAAE,WAAU;AAAC,UAAI6D,KAAE,GAAG,MAAM,MAAK,SAAS;AAAE,cAAQ,MAAM,aAAY7D,IAAE,GAAE6D,EAAC;AAAA,IAAC;AAAA,EAAC,MAAM,IAAG7D,EAAC,IAAE,WAAU;AAAA,EAAC;AAAE,SAAO,GAAGA,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE;AAAC,MAAI,IAAE,EAAC,MAAK,IAAG,SAAQ,GAAE;AAAE,SAAO,UAAU,UAAQ,MAAI,EAAE,QAAM,UAAU,CAAC,IAAG,UAAU,UAAQ,MAAI,EAAE,SAAO,UAAU,CAAC,IAAG,GAAGA,EAAC,IAAE,EAAE,aAAWA,KAAEA,MAAG,GAAG,GAAEA,EAAC,GAAE,GAAG,EAAE,UAAU,MAAI,EAAE,aAAW,QAAI,GAAG,EAAE,KAAK,MAAI,EAAE,QAAM,IAAG,GAAG,EAAE,MAAM,MAAI,EAAE,SAAO,QAAI,GAAG,EAAE,aAAa,MAAI,EAAE,gBAAc,OAAI,EAAE,WAAS,EAAE,UAAQ,KAAI,GAAG,GAAE7D,IAAE,EAAE,KAAK;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE;AAAC,MAAI,IAAE,GAAG,OAAOA,EAAC;AAAE,SAAO,IAAE,UAAK,GAAG,OAAO,CAAC,EAAE,CAAC,IAAE,MAAI7D,KAAE,UAAK,GAAG,OAAO,CAAC,EAAE,CAAC,IAAE,MAAIA;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE;AAAC,SAAO7D;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE,GAAE;AAAC,MAAG7D,GAAE,iBAAe6D,MAAG,GAAGA,GAAE,OAAO,KAAGA,GAAE,YAAU,OAAK,CAACA,GAAE,eAAaA,GAAE,YAAY,cAAYA,KAAG;AAAC,QAAIxC,KAAEwC,GAAE,QAAQ,GAAE7D,EAAC;AAAE,WAAO,GAAGqB,EAAC,MAAIA,KAAE,GAAGrB,IAAEqB,IAAE,CAAC,IAAGA;AAAA,EAAC;AAAC,MAAI,KAAE,SAASrB,IAAE6D,IAAE;AAAC,QAAG,GAAGA,EAAC,EAAE,QAAO7D,GAAE,QAAQ,aAAY,WAAW;AAAE,QAAG,GAAG6D,EAAC,GAAE;AAAC,UAAIW,KAAE,MAAI,KAAK,UAAUX,EAAC,EAAE,QAAQ,UAAS,EAAE,EAAE,QAAQ,MAAK,KAAK,EAAE,QAAQ,QAAO,GAAG,IAAE;AAAI,aAAO7D,GAAE,QAAQwE,IAAE,QAAQ;AAAA,IAAC;AAAC,QAAG,GAAGX,EAAC,EAAE,QAAO7D,GAAE,QAAQ,KAAG6D,IAAE,QAAQ;AAAE,QAAG,GAAGA,EAAC,EAAE,QAAO7D,GAAE,QAAQ,KAAG6D,IAAE,SAAS;AAAE,QAAG,GAAGA,EAAC,EAAE,QAAO7D,GAAE,QAAQ,QAAO,MAAM;AAAA,EAAC,GAAEA,IAAE6D,EAAC;AAAE,MAAG,EAAE,QAAO;AAAE,MAAI,IAAE,OAAO,KAAKA,EAAC,GAAE,KAAE,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,CAAA;AAAG,WAAO7D,GAAE,SAAS,SAASA,IAAEwE,IAAE;AAAC,MAAAX,GAAE7D,EAAC,IAAE;AAAA,IAAE,EAAC,GAAG6D;AAAA,EAAC,GAAE,CAAC;AAAE,MAAG7D,GAAE,eAAa,IAAE,OAAO,oBAAoB6D,EAAC,IAAG,GAAGA,EAAC,MAAI,EAAE,QAAQ,SAAS,KAAG,KAAG,EAAE,QAAQ,aAAa,KAAG,GAAG,QAAO,GAAGA,EAAC;AAAE,MAAG,MAAI,EAAE,QAAO;AAAC,QAAG,GAAGA,EAAC,GAAE;AAAC,UAAI,IAAEA,GAAE,OAAK,OAAKA,GAAE,OAAK;AAAG,aAAO7D,GAAE,QAAQ,cAAY,IAAE,KAAI,SAAS;AAAA,IAAC;AAAC,QAAG,GAAG6D,EAAC,EAAE,QAAO7D,GAAE,QAAQ,OAAO,UAAU,SAAS,KAAK6D,EAAC,GAAE,QAAQ;AAAE,QAAG,GAAGA,EAAC,EAAE,QAAO7D,GAAE,QAAQ,KAAK,UAAU,SAAS,KAAK6D,EAAC,GAAE,MAAM;AAAE,QAAG,GAAGA,EAAC,EAAE,QAAO,GAAGA,EAAC;AAAA,EAAC;AAAC,MAAIzC,IAAEwB,KAAE,IAAGhC,KAAE,OAAG0D,KAAE,CAAC,KAAI,GAAG;AAAE,GAAC,GAAGT,EAAC,MAAIjD,KAAE,MAAG0D,KAAE,CAAC,KAAI,GAAG,IAAG,GAAGT,EAAC,OAAKjB,KAAE,gBAAciB,GAAE,OAAK,OAAKA,GAAE,OAAK,MAAI;AAAK,SAAO,GAAGA,EAAC,MAAIjB,KAAE,MAAI,OAAO,UAAU,SAAS,KAAKiB,EAAC,IAAG,GAAGA,EAAC,MAAIjB,KAAE,MAAI,KAAK,UAAU,YAAY,KAAKiB,EAAC,IAAG,GAAGA,EAAC,MAAIjB,KAAE,MAAI,GAAGiB,EAAC,IAAG,MAAI,EAAE,UAAQjD,MAAG,KAAGiD,GAAE,SAAO,IAAE,IAAE,GAAGA,EAAC,IAAE7D,GAAE,QAAQ,OAAO,UAAU,SAAS,KAAK6D,EAAC,GAAE,QAAQ,IAAE7D,GAAE,QAAQ,YAAW,SAAS,KAAGA,GAAE,KAAK,KAAK6D,EAAC,GAAEzC,KAAER,MAAE,SAASZ,IAAE6D,IAAEW,IAAEnD,IAAEoD,IAAE;AAAC,aAAQC,KAAE,CAAA,GAAGC,KAAE,GAAEC,KAAEf,GAAE,QAAOc,KAAEC,IAAE,EAAED,GAAE,IAAGd,IAAE,OAAOc,EAAC,CAAC,IAAED,GAAE,KAAK,GAAG1E,IAAE6D,IAAEW,IAAEnD,IAAE,OAAOsD,EAAC,GAAE,IAAE,CAAC,IAAED,GAAE,KAAK,EAAE;AAAE,WAAOD,GAAE,SAAS,SAASA,IAAE;AAAC,MAAAA,GAAE,MAAM,OAAO,KAAGC,GAAE,KAAK,GAAG1E,IAAE6D,IAAEW,IAAEnD,IAAEoD,IAAE,IAAE,CAAC;AAAA,IAAC,EAAC,GAAGC;AAAA,EAAC,GAAE1E,IAAE6D,IAAE,GAAE,GAAE,CAAC,IAAE,EAAE,KAAK,SAASxC,IAAE;AAAC,WAAO,GAAGrB,IAAE6D,IAAE,GAAE,GAAExC,IAAET,EAAC;AAAA,EAAC,KAAIZ,GAAE,KAAK,IAAG,IAAG,SAASA,IAAE6D,IAAEW,IAAE;AAAC,QAAInD,KAAErB,GAAE,QAAQ,SAASA,IAAE6D,IAAE;AAAC,aAAOA,GAAE,QAAQ,IAAI,GAAE7D,KAAE6D,GAAE,QAAQ,mBAAkB,EAAE,EAAE,SAAO;AAAA,IAAC,IAAG,CAAC;AAAE,QAAGxC,KAAE,GAAG,QAAOmD,GAAE,CAAC,KAAG,OAAKX,KAAE,KAAGA,KAAE,SAAO,MAAI7D,GAAE,KAAK,OAAO,IAAE,MAAIwE,GAAE,CAAC;AAAE,WAAOA,GAAE,CAAC,IAAEX,KAAE,MAAI7D,GAAE,KAAK,IAAI,IAAE,MAAIwE,GAAE,CAAC;AAAA,EAAC,GAAEpD,IAAEwB,IAAE0B,EAAC,KAAGA,GAAE,CAAC,IAAE1B,KAAE0B,GAAE,CAAC;AAAC;AAAC,SAAS,GAAGtE,IAAE;AAAC,SAAM,MAAI,MAAM,UAAU,SAAS,KAAKA,EAAC,IAAE;AAAG;AAAC,SAAS,GAAGA,IAAE6D,IAAE,GAAExC,IAAE,GAAE,GAAE;AAAC,MAAI,GAAE,GAAED;AAAE,OAAIA,KAAE,OAAO,yBAAyByC,IAAE,CAAC,KAAG,EAAC,OAAMA,GAAE,CAAC,EAAC,GAAG,MAAI,IAAEzC,GAAE,MAAIpB,GAAE,QAAQ,mBAAkB,SAAS,IAAEA,GAAE,QAAQ,YAAW,SAAS,IAAEoB,GAAE,QAAM,IAAEpB,GAAE,QAAQ,YAAW,SAAS,IAAG,GAAGqB,IAAE,CAAC,MAAI,IAAE,MAAI,IAAE,MAAK,MAAIrB,GAAE,KAAK,QAAQoB,GAAE,KAAK,IAAE,KAAG,IAAE,GAAG,CAAC,IAAE,GAAGpB,IAAEoB,GAAE,OAAM,IAAI,IAAE,GAAGpB,IAAEoB,GAAE,OAAM,IAAE,CAAC,GAAG,QAAQ,IAAI,IAAE,OAAK,IAAE,IAAE,EAAE,MAAM,IAAI,EAAE,KAAK,SAASpB,IAAE;AAAC,WAAM,OAAKA;AAAA,EAAC,EAAC,EAAG,KAAK,IAAI,EAAE,OAAO,CAAC,IAAE,OAAK,EAAE,MAAM,IAAI,EAAE,KAAK,SAASA,IAAE;AAAC,WAAM,QAAMA;AAAA,EAAC,EAAC,EAAG,KAAK,IAAI,KAAG,IAAEA,GAAE,QAAQ,cAAa,SAAS,IAAG,GAAG,CAAC,GAAE;AAAC,QAAG,KAAG,EAAE,MAAM,OAAO,EAAE,QAAO;AAAE,KAAC,IAAE,KAAK,UAAU,KAAG,CAAC,GAAG,MAAM,8BAA8B,KAAG,IAAE,EAAE,OAAO,GAAE,EAAE,SAAO,CAAC,GAAE,IAAEA,GAAE,QAAQ,GAAE,MAAM,MAAI,IAAE,EAAE,QAAQ,MAAK,KAAK,EAAE,QAAQ,QAAO,GAAG,EAAE,QAAQ,YAAW,GAAG,GAAE,IAAEA,GAAE,QAAQ,GAAE,QAAQ;AAAA,EAAE;AAAC,SAAO,IAAE,OAAK;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,MAAM,QAAQA,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAM,aAAW,OAAOA;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,SAAOA;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,QAAMA;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAM,YAAU,OAAOA;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAM,YAAU,OAAOA;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAM,YAAU,OAAOA;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,WAASA;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,GAAGA,EAAC,KAAG,sBAAoB,GAAGA,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAM,YAAU,OAAOA,MAAG,SAAOA;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,GAAGA,EAAC,KAAG,oBAAkB,GAAGA,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,GAAGA,EAAC,MAAI,qBAAmB,GAAGA,EAAC,KAAGA,cAAa;AAAM;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAM,cAAY,OAAOA;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,SAAOA,MAAG,aAAW,OAAOA,MAAG,YAAU,OAAOA,MAAG,YAAU,OAAOA,MAAG,YAAU,OAAOA,MAAG,WAASA;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,EAAE,SAASA,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAO,OAAO,UAAU,SAAS,KAAKA,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAOA,KAAE,KAAG,MAAIA,GAAE,SAAS,EAAE,IAAEA,GAAE,SAAS,EAAE;AAAC;AAAC,GAAG,SAAO,EAAC,MAAK,CAAC,GAAE,EAAE,GAAE,QAAO,CAAC,GAAE,EAAE,GAAE,WAAU,CAAC,GAAE,EAAE,GAAE,SAAQ,CAAC,GAAE,EAAE,GAAE,OAAM,CAAC,IAAG,EAAE,GAAE,MAAK,CAAC,IAAG,EAAE,GAAE,OAAM,CAAC,IAAG,EAAE,GAAE,MAAK,CAAC,IAAG,EAAE,GAAE,MAAK,CAAC,IAAG,EAAE,GAAE,OAAM,CAAC,IAAG,EAAE,GAAE,SAAQ,CAAC,IAAG,EAAE,GAAE,KAAI,CAAC,IAAG,EAAE,GAAE,QAAO,CAAC,IAAG,EAAE,EAAC,GAAE,GAAG,SAAO,EAAC,SAAQ,QAAO,QAAO,UAAS,SAAQ,UAAS,WAAU,QAAO,MAAK,QAAO,QAAO,SAAQ,MAAK,WAAU,QAAO,MAAK;AAAE,IAAI,KAAG,CAAC,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAK;AAAE,SAAS,KAAI;AAAC,MAAIA,IAAE6D;AAAE,UAAQ,IAAI,YAAW7D,KAAE,oBAAI,QAAK6D,KAAE,CAAC,GAAG7D,GAAE,SAAQ,CAAE,GAAE,GAAGA,GAAE,WAAU,CAAE,GAAE,GAAGA,GAAE,WAAU,CAAE,CAAC,EAAE,KAAK,GAAG,GAAE,CAACA,GAAE,QAAO,GAAG,GAAGA,GAAE,SAAQ,CAAE,GAAE6D,EAAC,EAAE,KAAK,GAAG,IAAG,GAAG,MAAM,MAAK,SAAS,CAAC;AAAC;AAAC,SAAS,GAAG7D,IAAE6D,IAAE;AAAC,MAAG,CAACA,MAAG,CAAC,GAAGA,EAAC,EAAE,QAAO7D;AAAE,WAAQ,IAAE,OAAO,KAAK6D,EAAC,GAAExC,KAAE,EAAE,QAAOA,OAAK,CAAArB,GAAE,EAAEqB,EAAC,CAAC,IAAEwC,GAAE,EAAExC,EAAC,CAAC;AAAE,SAAOrB;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE;AAAC,SAAO,OAAO,UAAU,eAAe,KAAK7D,IAAE6D,EAAC;AAAC;AAAC,IAAI,KAAG,eAAa,OAAO,SAAO,OAAO,uBAAuB,IAAE;AAAO,SAAS,GAAG7D,IAAE;AAAC,MAAG,cAAY,OAAOA,GAAE,OAAM,IAAI,UAAU,kDAAkD;AAAE,MAAG,MAAIA,GAAE,EAAE,GAAE;AAAC,QAAI6D;AAAE,QAAG,cAAY,QAAOA,KAAE7D,GAAE,EAAE,GAAG,OAAM,IAAI,UAAU,+DAA+D;AAAE,WAAO,OAAO,eAAe6D,IAAE,IAAG,EAAC,OAAMA,IAAE,YAAW,OAAG,UAAS,OAAG,cAAa,KAAE,CAAC,GAAEA;AAAA,EAAC;AAAC,WAASA,KAAG;AAAC,aAAQA,IAAE,GAAExC,KAAE,IAAI,SAAS,SAASrB,IAAEqB,IAAE;AAAC,MAAAwC,KAAE7D,IAAE,IAAEqB;AAAA,IAAC,EAAC,GAAG,IAAE,CAAA,GAAG,IAAE,GAAE,IAAE,UAAU,QAAO,IAAI,GAAE,KAAK,UAAU,CAAC,CAAC;AAAE,MAAE,MAAM,SAASrB,IAAEqB,IAAE;AAAC,MAAArB,KAAE,EAAEA,EAAC,IAAE6D,GAAExC,EAAC;AAAA,IAAC,EAAC;AAAG,QAAG;AAAC,MAAArB,GAAE,MAAM,MAAK,CAAC;AAAA,IAAC,SAAOA,IAAE;AAAC,QAAEA,EAAC;AAAA,IAAC;AAAC,WAAOqB;AAAA,EAAC;AAAC,SAAO,OAAO,eAAewC,IAAE,OAAO,eAAe7D,EAAC,CAAC,GAAE,MAAI,OAAO,eAAe6D,IAAE,IAAG,EAAC,OAAMA,IAAE,YAAW,OAAG,UAAS,OAAG,cAAa,KAAE,CAAC,GAAE,OAAO,iBAAiBA,IAAE,GAAG7D,EAAC,CAAC;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE;AAAC,MAAG,CAAC7D,IAAE;AAAC,QAAI,IAAE,IAAI,MAAM,yCAAyC;AAAE,MAAE,SAAOA,IAAEA,KAAE;AAAA,EAAC;AAAC,SAAO6D,GAAE7D,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,MAAG,cAAY,OAAOA,GAAE,OAAM,IAAI,UAAU,kDAAkD;AAAE,WAAS6D,KAAG;AAAC,aAAQA,KAAE,IAAG,IAAE,GAAE,IAAE,UAAU,QAAO,IAAI,CAAAA,GAAE,KAAK,UAAU,CAAC,CAAC;AAAE,QAAIxC,KAAEwC,GAAE,IAAG;AAAG,QAAG,cAAY,OAAOxC,GAAE,OAAM,IAAI,UAAU,4CAA4C;AAAE,QAAI,IAAE,MAAK,IAAE,WAAU;AAAC,aAAOA,GAAE,MAAM,GAAE,SAAS;AAAA,IAAC;AAAE,IAAArB,GAAE,MAAM,MAAK6D,EAAC,EAAE,MAAM,SAAS7D,IAAE;AAAC,SAAG,SAAS,EAAE,KAAK,MAAK,MAAKA,EAAC,CAAC;AAAA,IAAC,KAAI,SAASA,IAAE;AAAC,SAAG,SAAS,GAAG,KAAK,MAAKA,IAAE,CAAC,CAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAC,SAAO,OAAO,eAAe6D,IAAE,OAAO,eAAe7D,EAAC,CAAC,GAAE,OAAO,iBAAiB6D,IAAE,GAAG7D,EAAC,CAAC,GAAE6D;AAAC;AAAC,GAAG,SAAO;AAAG,IAAI,IAAG,IAAG,KAAG,EAAC,UAAS,IAAG,SAAQ,IAAG,KAAI,IAAG,UAAS,IAAG,aAAY,IAAG,YAAW,IAAG,SAAQ,IAAG,QAAO,IAAG,UAAS,IAAG,UAAS,IAAG,aAAY,IAAG,UAAS,IAAG,UAAS,IAAG,UAAS,IAAG,mBAAkB,IAAG,QAAO,IAAG,WAAU,IAAG,SAAQ,IAAG,SAAQ,IAAG,WAAU,IAAG,QAAO,IAAG,UAAS,IAAG,WAAU,IAAG,aAAY,GAAE,GAAE,KAAG,GAAG,OAAO,OAAO,EAAC,WAAU,MAAK,SAAQ,IAAG,aAAY,IAAG,UAAS,IAAG,SAAQ,IAAG,WAAU,IAAG,QAAO,IAAG,UAAS,IAAG,SAAQ,IAAG,SAAQ,IAAG,WAAU,IAAG,UAAS,IAAG,QAAO,IAAG,SAAQ,IAAG,YAAW,IAAG,QAAO,IAAG,mBAAkB,IAAG,UAAS,IAAG,UAAS,IAAG,aAAY,IAAG,UAAS,IAAG,UAAS,IAAG,UAAS,IAAG,aAAY,IAAG,KAAI,IAAG,WAAU,GAAE,CAAC,CAAC;AAAE,SAAS,KAAI;AAAC,MAAG,GAAG,QAAO;AAAG,WAAS7D,GAAEA,IAAE6D,IAAE;AAAC,QAAIW,KAAE,OAAO,KAAKxE,EAAC;AAAE,QAAG,OAAO,uBAAsB;AAAC,UAAIqB,KAAE,OAAO,sBAAsBrB,EAAC;AAAE,MAAA6D,OAAIxC,KAAEA,GAAE,QAAQ,SAASwC,IAAE;AAAC,eAAO,OAAO,yBAAyB7D,IAAE6D,EAAC,EAAE;AAAA,MAAU,EAAC,IAAIW,GAAE,KAAK,MAAMA,IAAEnD,EAAC;AAAA,IAAC;AAAC,WAAOmD;AAAA,EAAC;AAAC,WAASX,GAAEA,IAAE;AAAC,aAAQxC,KAAE,GAAEA,KAAE,UAAU,QAAOA,MAAI;AAAC,UAAIoD,KAAE,QAAM,UAAUpD,EAAC,IAAE,UAAUA,EAAC,IAAE,CAAA;AAAG,MAAAA,KAAE,IAAErB,GAAE,OAAOyE,EAAC,GAAE,IAAE,EAAE,SAAS,SAASzE,IAAE;AAAC,UAAE6D,IAAE7D,IAAEyE,GAAEzE,EAAC,CAAC;AAAA,MAAC,MAAI,OAAO,4BAA0B,OAAO,iBAAiB6D,IAAE,OAAO,0BAA0BY,EAAC,CAAC,IAAEzE,GAAE,OAAOyE,EAAC,CAAC,EAAE,SAAS,SAASzE,IAAE;AAAC,eAAO,eAAe6D,IAAE7D,IAAE,OAAO,yBAAyByE,IAAEzE,EAAC,CAAC;AAAA,MAAC,EAAC;AAAA,IAAE;AAAC,WAAO6D;AAAA,EAAC;AAAC,WAAS,EAAE7D,IAAE6D,IAAEW,IAAE;AAAC,YAAOX,KAAE,EAAEA,EAAC,MAAK7D,KAAE,OAAO,eAAeA,IAAE6D,IAAE,EAAC,OAAMW,IAAE,YAAW,MAAG,cAAa,MAAG,UAAS,KAAE,CAAC,IAAExE,GAAE6D,EAAC,IAAEW,IAAExE;AAAA,EAAC;AAAC,WAASqB,GAAErB,IAAE6D,IAAEW,IAAE;AAAC,WAAOX,OAAG,SAAS7D,IAAE6D,IAAE;AAAC,eAAQW,KAAE,GAAEA,KAAEX,GAAE,QAAOW,MAAI;AAAC,YAAInD,KAAEwC,GAAEW,EAAC;AAAE,QAAAnD,GAAE,aAAWA,GAAE,cAAY,OAAGA,GAAE,eAAa,MAAG,WAAUA,OAAIA,GAAE,WAAS,OAAI,OAAO,eAAerB,IAAE,EAAEqB,GAAE,GAAG,GAAEA,EAAC;AAAA,MAAC;AAAA,IAAC,GAAErB,GAAE,WAAU6D,EAAC,GAAE,OAAO,eAAe7D,IAAE,aAAY,EAAC,UAAS,MAAE,CAAC,GAAEA;AAAA,EAAC;AAAC,WAAS,EAAEA,IAAE;AAAC,QAAI6D,MAAE,SAAS7D,IAAE6D,IAAE;AAAC,UAAG,YAAU,OAAO7D,MAAG,SAAOA,GAAE,QAAOA;AAAE,UAAIwE,KAAExE,GAAE,OAAO,WAAW;AAAE,UAAG,WAASwE,IAAE;AAAC,YAAInD,KAAEmD,GAAE,KAAKxE,IAAE6D,EAAY;AAAE,YAAG,YAAU,OAAOxC,GAAE,QAAOA;AAAE,cAAM,IAAI,UAAU,8CAA8C;AAAA,MAAC;AAAC,aAAoB,OAAerB,EAAC;AAAA,IAAC,GAAEA,IAAE,QAAQ;AAAE,WAAM,YAAU,OAAO6D,KAAEA,KAAE,OAAOA,EAAC;AAAA,EAAC;AAAC,OAAG;AAAE,MAAI,IAAE,GAAG,QAAO,IAAE,GAAG,SAAQ,IAAE,KAAG,EAAE,UAAQ;AAAU,SAAO,MAAG,WAAU;AAAC,aAAS7D,KAAG;AAAC,QAAC,SAASA,IAAE6D,IAAE;AAAC,YAAG,EAAE7D,cAAa6D,IAAG,OAAM,IAAI,UAAU,mCAAmC;AAAA,MAAC,GAAE,MAAK7D,EAAC,GAAE,KAAK,OAAK,MAAK,KAAK,OAAK,MAAK,KAAK,SAAO;AAAA,IAAC;AAAC,WAAOqB,GAAErB,IAAE,CAAC,EAAC,KAAI,QAAO,OAAM,SAASA,IAAE;AAAC,UAAI6D,KAAE,EAAC,MAAK7D,IAAE,MAAK,KAAI;AAAE,WAAK,SAAO,IAAE,KAAK,KAAK,OAAK6D,KAAE,KAAK,OAAKA,IAAE,KAAK,OAAKA,IAAE,EAAE,KAAK;AAAA,IAAM,EAAC,GAAE,EAAC,KAAI,WAAU,OAAM,SAAS7D,IAAE;AAAC,UAAI6D,KAAE,EAAC,MAAK7D,IAAE,MAAK,KAAK,KAAI;AAAE,YAAI,KAAK,WAAS,KAAK,OAAK6D,KAAG,KAAK,OAAKA,IAAE,EAAE,KAAK;AAAA,IAAM,EAAC,GAAE,EAAC,KAAI,SAAQ,OAAM,WAAU;AAAC,UAAG,MAAI,KAAK,QAAO;AAAC,YAAI7D,KAAE,KAAK,KAAK;AAAK,eAAO,MAAI,KAAK,SAAO,KAAK,OAAK,KAAK,OAAK,OAAK,KAAK,OAAK,KAAK,KAAK,MAAK,EAAE,KAAK,QAAOA;AAAA,MAAC;AAAA,IAAC,EAAC,GAAE,EAAC,KAAI,SAAQ,OAAM,WAAU;AAAC,WAAK,OAAK,KAAK,OAAK,MAAK,KAAK,SAAO;AAAA,IAAC,EAAC,GAAE,EAAC,KAAI,QAAO,OAAM,SAASA,IAAE;AAAC,UAAG,MAAI,KAAK,OAAO,QAAM;AAAG,eAAQ6D,KAAE,KAAK,MAAKW,KAAE,KAAGX,GAAE,MAAKA,KAAEA,GAAE,OAAM,CAAAW,MAAGxE,KAAE6D,GAAE;AAAK,aAAOW;AAAA,IAAC,EAAC,GAAE,EAAC,KAAI,UAAS,OAAM,SAASxE,IAAE;AAAC,UAAG,MAAI,KAAK,OAAO,QAAO,EAAE,MAAM,CAAC;AAAE,eAAQ6D,IAAEW,IAAEnD,IAAEoD,KAAE,EAAE,YAAYzE,OAAI,CAAC,GAAE2E,KAAE,KAAK,MAAKC,KAAE,GAAED,KAAG,CAAAd,KAAEc,GAAE,MAAKH,KAAEC,IAAEpD,KAAEuD,IAAE,EAAE,UAAU,KAAK,KAAKf,IAAEW,IAAEnD,EAAC,GAAEuD,MAAGD,GAAE,KAAK,QAAOA,KAAEA,GAAE;AAAK,aAAOF;AAAA,IAAC,EAAC,GAAE,EAAC,KAAI,WAAU,OAAM,SAASzE,IAAE6D,IAAE;AAAC,UAAIW;AAAE,aAAOxE,KAAE,KAAK,KAAK,KAAK,UAAQwE,KAAE,KAAK,KAAK,KAAK,MAAM,GAAExE,EAAC,GAAE,KAAK,KAAK,OAAK,KAAK,KAAK,KAAK,MAAMA,EAAC,KAAGwE,KAAExE,OAAI,KAAK,KAAK,KAAK,SAAO,KAAK,MAAK,IAAG6D,KAAE,KAAK,WAAW7D,EAAC,IAAE,KAAK,WAAWA,EAAC,GAAEwE;AAAA,IAAC,EAAC,GAAE,EAAC,KAAI,SAAQ,OAAM,WAAU;AAAC,aAAO,KAAK,KAAK;AAAA,IAAI,EAAC,GAAE,EAAC,KAAI,cAAa,OAAM,SAASxE,IAAE;AAAC,UAAI6D,KAAE,KAAK,MAAKW,KAAE,GAAEnD,KAAEwC,GAAE;AAAK,WAAI7D,MAAGqB,GAAE,QAAOwC,KAAEA,GAAE,QAAM;AAAC,YAAIY,KAAEZ,GAAE,MAAKa,KAAE1E,KAAEyE,GAAE,SAAOA,GAAE,SAAOzE;AAAE,YAAG0E,OAAID,GAAE,SAAOpD,MAAGoD,KAAEpD,MAAGoD,GAAE,MAAM,GAAEzE,EAAC,GAAE,OAAKA,MAAG0E,KAAG;AAAC,UAAAA,OAAID,GAAE,UAAQ,EAAED,IAAEX,GAAE,OAAK,KAAK,OAAKA,GAAE,OAAK,KAAK,OAAK,KAAK,OAAK,SAAO,KAAK,OAAKA,IAAEA,GAAE,OAAKY,GAAE,MAAMC,EAAC;AAAG;AAAA,QAAK;AAAC,UAAEF;AAAA,MAAC;AAAC,aAAO,KAAK,UAAQA,IAAEnD;AAAA,IAAC,EAAC,GAAE,EAAC,KAAI,cAAa,OAAM,SAASrB,IAAE;AAAC,UAAI6D,KAAE,EAAE,YAAY7D,EAAC,GAAEwE,KAAE,KAAK,MAAKnD,KAAE;AAAE,WAAImD,GAAE,KAAK,KAAKX,EAAC,GAAE7D,MAAGwE,GAAE,KAAK,QAAOA,KAAEA,GAAE,QAAM;AAAC,YAAIC,KAAED,GAAE,MAAKG,KAAE3E,KAAEyE,GAAE,SAAOA,GAAE,SAAOzE;AAAE,YAAGyE,GAAE,KAAKZ,IAAEA,GAAE,SAAO7D,IAAE,GAAE2E,EAAC,GAAE,OAAK3E,MAAG2E,KAAG;AAAC,UAAAA,OAAIF,GAAE,UAAQ,EAAEpD,IAAEmD,GAAE,OAAK,KAAK,OAAKA,GAAE,OAAK,KAAK,OAAK,KAAK,OAAK,SAAO,KAAK,OAAKA,IAAEA,GAAE,OAAKC,GAAE,MAAME,EAAC;AAAG;AAAA,QAAK;AAAC,UAAEtD;AAAA,MAAC;AAAC,aAAO,KAAK,UAAQA,IAAEwC;AAAA,IAAC,EAAC,GAAE,EAAC,KAAI,GAAE,OAAM,SAAS7D,IAAEwE,IAAE;AAAC,aAAO,EAAE,MAAKX,GAAEA,GAAE,CAAA,GAAGW,EAAC,GAAE,CAAA,GAAG,EAAC,OAAM,GAAE,eAAc,MAAE,CAAC,CAAC;AAAA,IAAC,EAAC,CAAC,CAAC,GAAExE;AAAA,EAAC,GAAC,GAAG;AAAE;AAAC,SAAS,GAAGA,IAAE6D,IAAE;AAAC,KAAG7D,IAAE6D,EAAC,GAAE,GAAG7D,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,EAAAA,GAAE,kBAAgB,CAACA,GAAE,eAAe,aAAWA,GAAE,kBAAgB,CAACA,GAAE,eAAe,aAAWA,GAAE,KAAK,OAAO;AAAC;AAAC,SAAS,GAAGA,IAAE6D,IAAE;AAAC,EAAA7D,GAAE,KAAK,SAAQ6D,EAAC;AAAC;AAAC,IAAI,KAAG,EAAC,SAAQ,SAAS7D,IAAE6D,IAAE;AAAC,MAAI,IAAE,MAAKxC,KAAE,KAAK,kBAAgB,KAAK,eAAe,WAAU,IAAE,KAAK,kBAAgB,KAAK,eAAe;AAAU,SAAOA,MAAG,KAAGwC,KAAEA,GAAE7D,EAAC,IAAEA,OAAI,KAAK,iBAAe,KAAK,eAAe,iBAAe,KAAK,eAAe,eAAa,MAAG,GAAG,SAAS,IAAG,MAAKA,EAAC,KAAG,GAAG,SAAS,IAAG,MAAKA,EAAC,IAAG,SAAO,KAAK,mBAAiB,KAAK,eAAe,YAAU,OAAI,KAAK,mBAAiB,KAAK,eAAe,YAAU,OAAI,KAAK,SAASA,MAAG,OAAM,SAASA,IAAE;AAAC,KAAC6D,MAAG7D,KAAE,EAAE,iBAAe,EAAE,eAAe,eAAa,GAAG,SAAS,IAAG,CAAC,KAAG,EAAE,eAAe,eAAa,MAAG,GAAG,SAAS,IAAG,GAAEA,EAAC,KAAG,GAAG,SAAS,IAAG,GAAEA,EAAC,IAAE6D,MAAG,GAAG,SAAS,IAAG,CAAC,GAAEA,GAAE7D,EAAC,KAAG,GAAG,SAAS,IAAG,CAAC;AAAA,EAAC,EAAC,GAAG;AAAK,GAAE,WAAU,WAAU;AAAC,OAAK,mBAAiB,KAAK,eAAe,YAAU,OAAG,KAAK,eAAe,UAAQ,OAAG,KAAK,eAAe,QAAM,OAAG,KAAK,eAAe,aAAW,QAAI,KAAK,mBAAiB,KAAK,eAAe,YAAU,OAAG,KAAK,eAAe,QAAM,OAAG,KAAK,eAAe,SAAO,OAAG,KAAK,eAAe,cAAY,OAAG,KAAK,eAAe,cAAY,OAAG,KAAK,eAAe,WAAS,OAAG,KAAK,eAAe,eAAa;AAAG,GAAE,gBAAe,SAASA,IAAE6D,IAAE;AAAC,MAAI,IAAE7D,GAAE,gBAAeqB,KAAErB,GAAE;AAAe,OAAG,EAAE,eAAaqB,MAAGA,GAAE,cAAYrB,GAAE,QAAQ6D,EAAC,IAAE7D,GAAE,KAAK,SAAQ6D,EAAC;AAAC,EAAC,GAAE,KAAG,CAAA;AAAG,IAAI,KAAG,CAAA;AAAG,SAAS,GAAG7D,IAAE6D,IAAE,GAAE;AAAC,QAAI,IAAE;AAAO,MAAIxC,MAAE,SAASrB,IAAE;AAAC,QAAIwE,IAAEnD;AAAE,aAAS,EAAEmD,IAAEnD,IAAEoD,IAAE;AAAC,aAAOzE,GAAE,KAAK,OAAK,SAASA,IAAEwE,IAAEnD,IAAE;AAAC,eAAM,YAAU,OAAOwC,KAAEA,KAAEA,GAAE7D,IAAEwE,IAAEnD,EAAC;AAAA,MAAC,GAAEmD,IAAEnD,IAAEoD,EAAC,CAAC,KAAG;AAAA,IAAI;AAAC,WAAOpD,KAAErB,KAAGwE,KAAE,GAAG,YAAU,OAAO,OAAOnD,GAAE,SAAS,GAAEmD,GAAE,UAAU,cAAYA,IAAEA,GAAE,YAAUnD,IAAE;AAAA,EAAC,GAAE,CAAC;AAAE,EAAAA,GAAE,UAAU,OAAK,EAAE,MAAKA,GAAE,UAAU,OAAKrB,IAAE,GAAGA,EAAC,IAAEqB;AAAC;AAAC,SAAS,GAAGrB,IAAE6D,IAAE;AAAC,MAAG,MAAM,QAAQ7D,EAAC,GAAE;AAAC,QAAI,IAAEA,GAAE;AAAO,WAAOA,KAAEA,GAAE,KAAK,SAASA,IAAE;AAAC,aAAO,OAAOA,EAAC;AAAA,IAAC,KAAI,IAAE,IAAE,UAAU,OAAO6D,IAAE,GAAG,EAAE,OAAO7D,GAAE,MAAM,GAAE,IAAE,CAAC,EAAE,KAAK,IAAI,GAAE,OAAO,IAAEA,GAAE,IAAE,CAAC,IAAE,MAAI,IAAE,UAAU,OAAO6D,IAAE,GAAG,EAAE,OAAO7D,GAAE,CAAC,GAAE,MAAM,EAAE,OAAOA,GAAE,CAAC,CAAC,IAAE,MAAM,OAAO6D,IAAE,GAAG,EAAE,OAAO7D,GAAE,CAAC,CAAC;AAAA,EAAC;AAAC,SAAM,MAAM,OAAO6D,IAAE,GAAG,EAAE,OAAO,OAAO7D,EAAC,CAAC;AAAC;AAAC,GAAG,0BAAyB,SAASA,IAAE6D,IAAE;AAAC,SAAM,gBAAcA,KAAE,8BAA4B7D,KAAE;AAAG,IAAG,SAAS,GAAE,GAAG,yBAAwB,SAASA,IAAE6D,IAAE,GAAE;AAAC,MAAIxC,IAAE,GAAE;AAAE,MAAG,YAAU,OAAOwC,OAAI,IAAE,QAAOA,GAAE,OAAO,GAAE,EAAE,MAAM,MAAI,MAAIxC,KAAE,eAAcwC,KAAEA,GAAE,QAAQ,SAAQ,EAAE,KAAGxC,KAAE,YAAU,SAASrB,IAAE6D,IAAEW,IAAE;AAAC,YAAO,WAASA,MAAGA,KAAExE,GAAE,YAAUwE,KAAExE,GAAE,SAAQA,GAAE,UAAUwE,KAAEX,GAAE,QAAOW,EAAC,MAAIX;AAAA,EAAC,GAAE7D,IAAE,WAAW,EAAE,KAAE,OAAO,OAAOA,IAAE,GAAG,EAAE,OAAOqB,IAAE,GAAG,EAAE,OAAO,GAAGwC,IAAE,MAAM,CAAC;AAAA,OAAM;AAAC,QAAI,KAAE,SAAS7D,IAAE6D,IAAEW,IAAE;AAAC,aAAM,YAAU,OAAOA,OAAIA,KAAE,IAAG,EAAEA,KAAEX,GAAE,SAAO7D,GAAE,WAAS,OAAKA,GAAE,QAAQ6D,IAAEW,EAAC;AAAA,IAAC,GAAExE,IAAE,GAAG,IAAE,aAAW;AAAW,QAAE,QAAQ,OAAOA,IAAE,IAAI,EAAE,OAAO,GAAE,GAAG,EAAE,OAAOqB,IAAE,GAAG,EAAE,OAAO,GAAGwC,IAAE,MAAM,CAAC;AAAA,EAAC;AAAC,SAAO,KAAG,mBAAmB,OAAO,OAAO,CAAC;AAAC,IAAG,SAAS,GAAE,GAAG,6BAA4B,yBAAyB,GAAE,GAAG,+BAA8B,SAAS7D,IAAE;AAAC,SAAM,SAAOA,KAAE;AAA4B,EAAC,GAAG,GAAG,8BAA6B,iBAAiB,GAAE,GAAG,yBAAwB,SAASA,IAAE;AAAC,SAAM,iBAAeA,KAAE;AAA+B,KAAI,GAAG,yBAAwB,gCAAgC,GAAE,GAAG,0BAAyB,2BAA2B,GAAE,GAAG,8BAA6B,iBAAiB,GAAE,GAAG,0BAAyB,uCAAsC,SAAS,GAAE,GAAG,yBAAwB,SAASA,IAAE;AAAC,SAAM,uBAAqBA;AAAC,IAAG,SAAS,GAAE,GAAG,sCAAqC,kCAAkC,GAAE,GAAG,QAAM;AAAG,IAAI,KAAG,GAAG,MAAM;AAAsB,IAAI,IAAG,IAAG,IAAG,IAAG,KAAG,EAAC,kBAAiB,SAASA,IAAE6D,IAAE,GAAExC,IAAE;AAAC,MAAI,KAAE,SAASrB,IAAE6D,IAAEW,IAAE;AAAC,WAAO,QAAMxE,GAAE,gBAAcA,GAAE,gBAAc6D,KAAE7D,GAAEwE,EAAC,IAAE;AAAA,EAAI,GAAEX,IAAExC,IAAE,CAAC;AAAE,MAAG,QAAM,GAAE;AAAC,QAAG,CAAC,SAAS,CAAC,KAAG,KAAK,MAAM,CAAC,MAAI,KAAG,IAAE,EAAE,OAAM,IAAI,GAAGA,KAAE,IAAE,iBAAgB,CAAC;AAAE,WAAO,KAAK,MAAM,CAAC;AAAA,EAAC;AAAC,SAAOrB,GAAE,aAAW,KAAG;AAAK,EAAC,GAAE,KAAG,cAAY,OAAO,OAAO,SAAO,SAASA,IAAE6D,IAAE;AAAC,EAAA7D,GAAE,SAAO6D,IAAE7D,GAAE,YAAU,OAAO,OAAO6D,GAAE,WAAU,EAAC,aAAY,EAAC,OAAM7D,IAAE,YAAW,OAAG,UAAS,MAAG,cAAa,KAAE,EAAC,CAAC;AAAC,IAAE,SAASA,IAAE6D,IAAE;AAAC,EAAA7D,GAAE,SAAO6D;AAAE,MAAI,IAAE,WAAU;AAAA,EAAC;AAAE,IAAE,YAAUA,GAAE,WAAU7D,GAAE,YAAU,IAAI,KAAEA,GAAE,UAAU,cAAYA;AAAC,GAAE,KAAG,GAAG,OAAO,OAAO,EAAC,WAAU,MAAK,SAAQ,GAAE,CAAC,CAAC,GAAE,KAAG,SAASA,IAAE6D,IAAE;AAAC,MAAG,GAAG,eAAe,EAAE,QAAO7D;AAAE,MAAI,IAAE;AAAG,SAAO,WAAU;AAAC,QAAG,CAAC,GAAE;AAAC,UAAG,GAAG,kBAAkB,EAAE,OAAM,IAAI,MAAM6D,EAAC;AAAE,SAAG,kBAAkB,IAAE,QAAQ,MAAMA,EAAC,IAAE,QAAQ,KAAKA,EAAC,GAAE,IAAE;AAAA,IAAE;AAAC,WAAO7D,GAAE,MAAM,MAAK,SAAS;AAAA,EAAC;AAAC;AAAE,SAAS,GAAGA,IAAE;AAAC,MAAG;AAAC,QAAG,CAAC,GAAG,aAAa,QAAM;AAAA,EAAE,SAAOA,IAAE;AAAC,WAAM;AAAA,EAAE;AAAC,MAAI6D,KAAE,GAAG,aAAa7D,EAAC;AAAE,SAAO,QAAM6D,MAAG,WAAS,OAAOA,EAAC,EAAE,YAAW;AAAE;AAAC,SAAS,KAAI;AAAC,MAAG,GAAG,QAAO;AAAG,WAAS7D,GAAEA,IAAE;AAAC,QAAI6D,KAAE;AAAK,SAAK,OAAK,MAAK,KAAK,QAAM,MAAK,KAAK,SAAO,WAAU;AAAC,QAAC,SAAS7D,IAAE6D,IAAEW,IAAE;AAAC,YAAInD,KAAErB,GAAE;AAAM,QAAAA,GAAE,QAAM;AAAK,eAAKqB,MAAG;AAAC,cAAIoD,KAAEpD,GAAE;AAAS,UAAAwC,GAAE,aAAYY,GAAED,EAAC,GAAEnD,KAAEA,GAAE;AAAA,QAAI;AAAC,QAAAwC,GAAE,mBAAmB,OAAK7D;AAAA,MAAC,GAAE6D,IAAE7D,EAAC;AAAA,IAAC;AAAA,EAAC;AAAC,MAAI6D;AAAE,OAAG,GAAE,KAAGgB,IAAEA,GAAE,gBAAchE;AAAE,MAAI,IAAE,EAAC,WAAU,GAAE,GAAEQ,KAAE,IAAG,IAAE,GAAG,QAAO,KAAG,WAAS,KAAG,KAAG,eAAa,OAAO,SAAO,SAAO,eAAa,OAAO,OAAK,OAAK,CAAA,GAAI,cAAY,WAAU;AAAA,EAAC;AAAE,MAAI,GAAE,IAAE,IAAGD,KAAE,GAAG,kBAAiBwB,KAAE,GAAG,OAAMhC,KAAEgC,GAAE,sBAAqB0B,KAAE1B,GAAE,4BAA2BjC,KAAEiC,GAAE,uBAAsB2B,KAAE3B,GAAE,wBAAuBY,KAAEZ,GAAE,sBAAqB7C,KAAE6C,GAAE,wBAAuBlC,KAAEkC,GAAE,4BAA2B9B,KAAE8B,GAAE,sBAAqBzB,KAAE,EAAE;AAAe,WAASoB,KAAG;AAAA,EAAC;AAAC,WAAS1B,GAAE2D,IAAEnD,IAAEoD,IAAE;AAAC,IAAAZ,KAAEA,MAAG,GAAE,GAAGW,KAAEA,MAAG,IAAG,aAAW,OAAOC,OAAIA,KAAEpD,cAAawC,KAAG,KAAK,aAAW,CAAC,CAACW,GAAE,YAAWC,OAAI,KAAK,aAAW,KAAK,cAAY,CAAC,CAACD,GAAE,qBAAoB,KAAK,gBAAcpD,GAAE,MAAKoD,IAAE,yBAAwBC,EAAC,GAAE,KAAK,cAAY,OAAG,KAAK,YAAU,OAAG,KAAK,SAAO,OAAG,KAAK,QAAM,OAAG,KAAK,WAAS,OAAG,KAAK,YAAU;AAAG,QAAIC,KAAE,UAAKF,GAAE;AAAc,SAAK,gBAAc,CAACE,IAAE,KAAK,kBAAgBF,GAAE,mBAAiB,QAAO,KAAK,SAAO,GAAE,KAAK,UAAQ,OAAG,KAAK,SAAO,GAAE,KAAK,OAAK,MAAG,KAAK,mBAAiB,OAAG,KAAK,UAAQ,SAASxE,IAAE;AAAC,QAAC,SAASA,IAAE6D,IAAE;AAAC,YAAIW,KAAExE,GAAE,gBAAeqB,KAAEmD,GAAE,MAAKC,KAAED,GAAE;AAAQ,YAAG,cAAY,OAAOC,GAAE,OAAM,IAAI9D;AAAE,aAAG,SAASX,KAAE;AAAC,UAAAA,IAAE,UAAQ,OAAGA,IAAE,UAAQ,MAAKA,IAAE,UAAQA,IAAE,UAASA,IAAE,WAAS;AAAA,QAAC,GAAEwE,EAAC,GAAEX,GAAE,GAAC,SAAS7D,KAAE6D,IAAEW,IAAEnD,IAAEoD,IAAE;AAAC,YAAEZ,GAAE,WAAUW,MAAG,GAAG,SAASC,IAAEpD,EAAC,GAAE,GAAG,SAAS6D,IAAElF,KAAE6D,EAAC,GAAE7D,IAAE,eAAe,eAAa,MAAGmB,GAAEnB,KAAEqB,EAAC,MAAIoD,GAAEpD,EAAC,GAAErB,IAAE,eAAe,eAAa,MAAGmB,GAAEnB,KAAEqB,EAAC,GAAE6D,GAAElF,KAAE6D,EAAC;AAAA,QAAE,GAAE7D,IAAEwE,IAAEnD,IAAEwC,IAAEY,EAAC;AAAA,aAAM;AAAC,cAAIC,KAAExC,GAAEsC,EAAC,KAAGxE,GAAE;AAAU,UAAA0E,MAAGF,GAAE,UAAQA,GAAE,oBAAkB,CAACA,GAAE,mBAAiBQ,GAAEhF,IAAEwE,EAAC,GAAEnD,KAAE,GAAG,SAAS0D,IAAE/E,IAAEwE,IAAEE,IAAED,EAAC,IAAEM,GAAE/E,IAAEwE,IAAEE,IAAED,EAAC;AAAA,QAAC;AAAA,MAAC,GAAEpD,IAAErB,EAAC;AAAA,IAAC,GAAE,KAAK,UAAQ,MAAK,KAAK,WAAS,GAAE,KAAK,kBAAgB,MAAK,KAAK,sBAAoB,MAAK,KAAK,YAAU,GAAE,KAAK,cAAY,OAAG,KAAK,eAAa,OAAG,KAAK,YAAU,UAAKwE,GAAE,WAAU,KAAK,cAAY,CAAC,CAACA,GAAE,aAAY,KAAK,uBAAqB,GAAE,KAAK,qBAAmB,IAAIxE,GAAE,IAAI;AAAA,EAAC;AAAC,WAAS6E,GAAE7E,IAAE;AAAC,QAAIwE,KAAE,iBAAgBX,KAAEA,MAAG,GAAE;AAAI,QAAG,CAACW,MAAG,CAAC,EAAE,KAAKK,IAAE,IAAI,EAAE,QAAO,IAAIA,GAAE7E,EAAC;AAAE,SAAK,iBAAe,IAAIa,GAAEb,IAAE,MAAKwE,EAAC,GAAE,KAAK,WAAS,MAAGxE,OAAI,cAAY,OAAOA,GAAE,UAAQ,KAAK,SAAOA,GAAE,QAAO,cAAY,OAAOA,GAAE,WAAS,KAAK,UAAQA,GAAE,SAAQ,cAAY,OAAOA,GAAE,YAAU,KAAK,WAASA,GAAE,UAAS,cAAY,OAAOA,GAAE,UAAQ,KAAK,SAAOA,GAAE,SAAQqB,GAAE,KAAK,IAAI;AAAA,EAAC;AAAC,WAASyD,GAAE9E,IAAE6D,IAAEW,IAAEnD,IAAEoD,IAAEC,IAAEC,IAAE;AAAC,IAAAd,GAAE,WAASxC,IAAEwC,GAAE,UAAQc,IAAEd,GAAE,UAAQ,MAAGA,GAAE,OAAK,MAAGA,GAAE,YAAUA,GAAE,QAAQ,IAAIL,GAAE,OAAO,CAAC,IAAEgB,KAAExE,GAAE,QAAQyE,IAAEZ,GAAE,OAAO,IAAE7D,GAAE,OAAOyE,IAAEC,IAAEb,GAAE,OAAO,GAAEA,GAAE,OAAK;AAAA,EAAE;AAAC,WAASkB,GAAE/E,IAAE6D,IAAEW,IAAEnD,IAAE;AAAC,IAAAmD,OAAG,SAASxE,IAAE6D,IAAE;AAAC,YAAIA,GAAE,UAAQA,GAAE,cAAYA,GAAE,YAAU,OAAG7D,GAAE,KAAK,OAAO;AAAA,IAAE,GAAEA,IAAE6D,EAAC,GAAEA,GAAE,aAAYxC,GAAC,GAAG6D,GAAElF,IAAE6D,EAAC;AAAA,EAAC;AAAC,WAASmB,GAAEnB,IAAEW,IAAE;AAAC,IAAAA,GAAE,mBAAiB;AAAG,QAAInD,KAAEmD,GAAE;AAAgB,QAAGX,GAAE,WAASxC,MAAGA,GAAE,MAAK;AAAC,UAAIoD,KAAED,GAAE,sBAAqBE,KAAE,IAAI,MAAMD,EAAC,GAAEE,KAAEH,GAAE;AAAmB,MAAAG,GAAE,QAAMtD;AAAE,eAAQuD,KAAE,GAAExD,KAAE,MAAGC,KAAG,CAAAqD,GAAEE,EAAC,IAAEvD,IAAEA,GAAE,UAAQD,KAAE,QAAIC,KAAEA,GAAE,MAAKuD,MAAG;AAAE,MAAAF,GAAE,aAAWtD,IAAE0D,GAAEjB,IAAEW,IAAE,MAAGA,GAAE,QAAOE,IAAE,IAAGC,GAAE,MAAM,GAAEH,GAAE,aAAYA,GAAE,sBAAoB,MAAKG,GAAE,QAAMH,GAAE,qBAAmBG,GAAE,MAAKA,GAAE,OAAK,QAAMH,GAAE,qBAAmB,IAAIxE,GAAEwE,EAAC,GAAEA,GAAE,uBAAqB;AAAA,IAAC,OAAK;AAAC,aAAKnD,MAAG;AAAC,YAAIuB,KAAEvB,GAAE,OAAMT,KAAES,GAAE,UAASiD,KAAEjD,GAAE;AAAS,YAAGyD,GAAEjB,IAAEW,IAAE,OAAGA,GAAE,aAAW,IAAE5B,GAAE,QAAOA,IAAEhC,IAAE0D,EAAC,GAAEjD,KAAEA,GAAE,MAAKmD,GAAE,wBAAuBA,GAAE,QAAQ;AAAA,MAAK;AAAC,eAAOnD,OAAImD,GAAE,sBAAoB;AAAA,IAAK;AAAC,IAAAA,GAAE,kBAAgBnD,IAAEmD,GAAE,mBAAiB;AAAA,EAAE;AAAC,WAAStC,GAAElC,IAAE;AAAC,WAAOA,GAAE,UAAQ,MAAIA,GAAE,UAAQ,SAAOA,GAAE,mBAAiB,CAACA,GAAE,YAAU,CAACA,GAAE;AAAA,EAAO;AAAC,WAASiF,GAAEjF,IAAE6D,IAAE;AAAC,IAAA7D,GAAE,QAAQ,SAASwE,IAAE;AAAC,MAAAX,GAAE,aAAYW,MAAGrD,GAAEnB,IAAEwE,EAAC,GAAEX,GAAE,cAAY,MAAG7D,GAAE,KAAK,WAAW,GAAEkF,GAAElF,IAAE6D,EAAC;AAAA,IAAC;EAAG;AAAC,WAASqB,GAAElF,IAAE6D,IAAE;AAAC,QAAIW,KAAEtC,GAAE2B,EAAC;AAAE,QAAGW,QAAI,SAASxE,IAAE6D,IAAE;AAAC,MAAAA,GAAE,eAAaA,GAAE,gBAAc,cAAY,OAAO7D,GAAE,UAAQ6D,GAAE,aAAWA,GAAE,cAAY,MAAG7D,GAAE,KAAK,WAAW,MAAI6D,GAAE,aAAYA,GAAE,cAAY,MAAG,GAAG,SAASoB,IAAEjF,IAAE6D,EAAC;AAAA,IAAG,GAAE7D,IAAE6D,EAAC,GAAE,MAAIA,GAAE,cAAYA,GAAE,WAAS,MAAG7D,GAAE,KAAK,QAAQ,GAAE6D,GAAE,eAAc;AAAC,UAAIxC,KAAErB,GAAE;AAAe,OAAC,CAACqB,MAAGA,GAAE,eAAaA,GAAE,eAAarB,GAAE,QAAO;AAAA,IAAE;AAAC,WAAOwE;AAAA,EAAC;AAAC,SAAO,GAAGK,IAAExD,EAAC,GAAER,GAAE,UAAU,YAAU,WAAU;AAAC,aAAQb,KAAE,KAAK,iBAAgB6D,KAAE,CAAA,GAAG7D,KAAG,CAAA6D,GAAE,KAAK7D,EAAC,GAAEA,KAAEA,GAAE;AAAK,WAAO6D;AAAA,EAAC,IAAE,WAAU;AAAC,QAAG;AAAC,aAAO,eAAehD,GAAE,WAAU,UAAS,EAAC,KAAI,EAAE,WAAW,WAAU;AAAC,eAAO,KAAK,UAAS;AAAA,MAAE,IAAG,8EAA6E,SAAS,EAAC,CAAC;AAAA,IAAC,SAAOb,IAAE;AAAA,IAAC;AAAA,EAAC,GAAC,GAAG,cAAY,OAAO,UAAQ,OAAO,eAAa,cAAY,OAAO,SAAS,UAAU,OAAO,WAAW,KAAG,IAAE,SAAS,UAAU,OAAO,WAAW,GAAE,OAAO,eAAe6E,IAAE,OAAO,aAAY,EAAC,OAAM,SAAS7E,IAAE;AAAC,WAAM,CAAC,CAAC,EAAE,KAAK,MAAKA,EAAC,KAAG,SAAO6E,OAAI7E,MAAGA,GAAE,0BAA0Ba;AAAA,EAAE,EAAC,CAAC,KAAG,IAAE,SAASb,IAAE;AAAC,WAAOA,cAAa;AAAA,EAAI,GAAE6E,GAAE,UAAU,OAAK,WAAU;AAAC,IAAA1D,GAAE,MAAK,IAAIoD,IAAC;AAAA,EAAC,GAAEM,GAAE,UAAU,QAAM,SAAS7E,IAAE6D,IAAEW,IAAE;AAAC,QAAInD,IAAEsD,KAAE,KAAK,gBAAeC,KAAE,OAAGxD,KAAE,CAACuD,GAAE,eAAatD,KAAErB,IAAE,EAAE,SAASqB,EAAC,KAAGA,cAAa;AAAG,WAAOD,MAAG,CAAC,EAAE,SAASpB,EAAC,MAAIA,MAAE,SAASA,IAAE;AAAC,aAAO,EAAE,KAAKA,EAAC;AAAA,IAAC,GAAEA,EAAC,IAAG,cAAY,OAAO6D,OAAIW,KAAEX,IAAEA,KAAE,OAAMzC,KAAEyC,KAAE,WAASA,OAAIA,KAAEc,GAAE,kBAAiB,cAAY,OAAOH,OAAIA,KAAEjC,KAAGoC,GAAE,UAAO,SAAS3E,IAAE6D,IAAE;AAAC,UAAIW,KAAE,IAAI9D;AAAE,MAAAS,GAAEnB,IAAEwE,EAAC,GAAE,GAAG,SAASX,IAAEW,EAAC;AAAA,IAAC,GAAE,MAAKA,EAAC,KAAGpD,OAAG,SAASpB,IAAE6D,IAAEW,IAAEnD,IAAE;AAAC,UAAIoD;AAAE,aAAO,SAAOD,KAAEC,KAAE,IAAI1E,OAAE,YAAU,OAAOyE,MAAGX,GAAE,eAAaY,KAAE,IAAI7D,GAAE,SAAQ,CAAC,UAAS,QAAQ,GAAE4D,EAAC,IAAG,CAACC,OAAItD,GAAEnB,IAAEyE,EAAC,GAAE,GAAG,SAASpD,IAAEoD,EAAC,GAAE;AAAA,IAAG,GAAE,MAAKE,IAAE3E,IAAEwE,EAAC,OAAKG,GAAE,aAAYC,MAAE,SAAS5E,IAAE6D,IAAEW,IAAEnD,IAAEqD,IAAEC,IAAE;AAAC,UAAG,CAACH,IAAE;AAAC,YAAII,MAAE,SAAS5E,KAAE6D,IAAEW,IAAE;AAAC,UAAAxE,IAAE,cAAY,UAAKA,IAAE,iBAAe,YAAU,OAAO6D,OAAIA,KAAE,EAAE,KAAKA,IAAEW,EAAC;AAAG,iBAAOX;AAAA,QAAC,GAAEA,IAAExC,IAAEqD,EAAC;AAAE,QAAArD,OAAIuD,OAAIJ,KAAE,MAAGE,KAAE,UAASrD,KAAEuD;AAAA,MAAE;AAAC,UAAIxD,KAAEyC,GAAE,aAAW,IAAExC,GAAE;AAAO,MAAAwC,GAAE,UAAQzC;AAAE,UAAIwB,KAAEiB,GAAE,SAAOA,GAAE;AAAc,MAAAjB,OAAIiB,GAAE,YAAU;AAAI,UAAGA,GAAE,WAASA,GAAE,QAAO;AAAC,YAAIjD,KAAEiD,GAAE;AAAoB,QAAAA,GAAE,sBAAoB,EAAC,OAAMxC,IAAE,UAASqD,IAAE,OAAMF,IAAE,UAASG,IAAE,MAAK,KAAI,GAAE/D,KAAEA,GAAE,OAAKiD,GAAE,sBAAoBA,GAAE,kBAAgBA,GAAE,qBAAoBA,GAAE,wBAAsB;AAAA,MAAC,MAAM,CAAAiB,GAAE9E,IAAE6D,IAAE,OAAGzC,IAAEC,IAAEqD,IAAEC,EAAC;AAAE,aAAO/B;AAAA,IAAC,GAAE,MAAK+B,IAAEvD,IAAEpB,IAAE6D,IAAEW,EAAC,IAAGI;AAAA,EAAC,GAAEC,GAAE,UAAU,OAAK,WAAU;AAAC,SAAK,eAAe;AAAA,EAAQ,GAAEA,GAAE,UAAU,SAAO,WAAU;AAAC,QAAI7E,KAAE,KAAK;AAAe,IAAAA,GAAE,WAASA,GAAE,UAASA,GAAE,WAASA,GAAE,UAAQA,GAAE,oBAAkB,CAACA,GAAE,mBAAiBgF,GAAE,MAAKhF,EAAC;AAAA,EAAE,GAAE6E,GAAE,UAAU,qBAAmB,SAAS7E,IAAE;AAAC,QAAG,YAAU,OAAOA,OAAIA,KAAEA,GAAE,YAAW,IAAI,EAAE,CAAC,OAAM,QAAO,SAAQ,SAAQ,UAAS,UAAS,QAAO,SAAQ,WAAU,YAAW,KAAK,EAAE,SAASA,KAAE,IAAI,YAAW,CAAE,IAAE,IAAI,OAAM,IAAIc,GAAEd,EAAC;AAAE,WAAO,KAAK,eAAe,kBAAgBA,IAAE;AAAA,EAAI,GAAE,OAAO,eAAe6E,GAAE,WAAU,kBAAiB,EAAC,YAAW,OAAG,KAAI,WAAU;AAAC,WAAO,KAAK,kBAAgB,KAAK,eAAe;EAAW,EAAC,CAAC,GAAE,OAAO,eAAeA,GAAE,WAAU,yBAAwB,EAAC,YAAW,OAAG,KAAI,WAAU;AAAC,WAAO,KAAK,eAAe;AAAA,EAAa,EAAC,CAAC,GAAEA,GAAE,UAAU,SAAO,SAAS7E,IAAE6D,IAAEW,IAAE;AAAC,IAAAA,GAAE,IAAIF,GAAE,UAAU,CAAC;AAAA,EAAC,GAAEO,GAAE,UAAU,UAAQ,MAAKA,GAAE,UAAU,MAAI,SAAS7E,IAAE6D,IAAEW,IAAE;AAAC,QAAInD,KAAE,KAAK;AAAe,WAAM,cAAY,OAAOrB,MAAGwE,KAAExE,IAAEA,KAAE,MAAK6D,KAAE,QAAM,cAAY,OAAOA,OAAIW,KAAEX,IAAEA,KAAE,OAAM,QAAM7D,MAAG,KAAK,MAAMA,IAAE6D,EAAC,GAAExC,GAAE,WAASA,GAAE,SAAO,GAAE,KAAK,OAAM,IAAIA,GAAE,WAAQ,SAASrB,IAAE6D,IAAEW,IAAE;AAAC,MAAAX,GAAE,SAAO,MAAGqB,GAAElF,IAAE6D,EAAC,GAAEW,OAAIX,GAAE,WAAS,GAAG,SAASW,EAAC,IAAExE,GAAE,KAAK,UAASwE,EAAC;AAAG,MAAAX,GAAE,QAAM,MAAG7D,GAAE,WAAS;AAAA,IAAE,GAAE,MAAKqB,IAAEmD,EAAC,GAAE;AAAA,EAAI,GAAE,OAAO,eAAeK,GAAE,WAAU,kBAAiB,EAAC,YAAW,OAAG,KAAI,WAAU;AAAC,WAAO,KAAK,eAAe;AAAA,EAAM,EAAC,CAAC,GAAE,OAAO,eAAeA,GAAE,WAAU,aAAY,EAAC,YAAW,OAAG,KAAI,WAAU;AAAC,WAAO,WAAS,KAAK,kBAAgB,KAAK,eAAe;AAAA,EAAS,GAAE,KAAI,SAAS7E,IAAE;AAAC,SAAK,mBAAiB,KAAK,eAAe,YAAUA;AAAA,EAAE,EAAC,CAAC,GAAE6E,GAAE,UAAU,UAAQ,EAAE,SAAQA,GAAE,UAAU,aAAW,EAAE,WAAUA,GAAE,UAAU,WAAS,SAAS7E,IAAE6D,IAAE;AAAC,IAAAA,GAAE7D,EAAC;AAAA,EAAC,GAAE;AAAE;AAAC,SAAS,KAAI;AAAC,MAAG,GAAG,QAAO;AAAG,OAAG;AAAE,MAAIA,KAAE,OAAO,QAAM,SAASA,IAAE;AAAC,QAAI6D,KAAE,CAAA;AAAG,aAAQW,MAAKxE,GAAE,CAAA6D,GAAE,KAAKW,EAAC;AAAE,WAAOX;AAAA,EAAC;AAAE,OAAG;AAAE,MAAIA,KAAE,GAAE,GAAG,IAAE,GAAE;AAAG,KAAG,GAAEA,EAAC;AAAE,WAAQxC,KAAErB,GAAE,EAAE,SAAS,GAAE,IAAE,GAAE,IAAEqB,GAAE,QAAO,KAAI;AAAC,QAAI,IAAEA,GAAE,CAAC;AAAE,MAAE,UAAU,CAAC,MAAI,EAAE,UAAU,CAAC,IAAE,EAAE,UAAU,CAAC;AAAA,EAAE;AAAC,WAAS,EAAErB,IAAE;AAAC,QAAG,EAAE,gBAAgB,GAAG,QAAO,IAAI,EAAEA,EAAC;AAAE,IAAA6D,GAAE,KAAK,MAAK7D,EAAC,GAAE,EAAE,KAAK,MAAKA,EAAC,GAAE,KAAK,gBAAc,MAAGA,OAAI,UAAKA,GAAE,aAAW,KAAK,WAAS,QAAI,UAAKA,GAAE,aAAW,KAAK,WAAS,QAAI,UAAKA,GAAE,kBAAgB,KAAK,gBAAc,OAAG,KAAK,KAAK,OAAM,CAAC;AAAA,EAAG;AAAC,WAAS,IAAG;AAAC,SAAK,eAAe,SAAO,GAAG,SAASoB,IAAE,IAAI;AAAA,EAAC;AAAC,WAASA,GAAEpB,IAAE;AAAC,IAAAA,GAAE,IAAG;AAAA,EAAE;AAAC,SAAO,OAAO,eAAe,EAAE,WAAU,yBAAwB,EAAC,YAAW,OAAG,KAAI,WAAU;AAAC,WAAO,KAAK,eAAe;AAAA,EAAa,EAAC,CAAC,GAAE,OAAO,eAAe,EAAE,WAAU,kBAAiB,EAAC,YAAW,OAAG,KAAI,WAAU;AAAC,WAAO,KAAK,kBAAgB,KAAK,eAAe,UAAS;AAAA,EAAE,EAAC,CAAC,GAAE,OAAO,eAAe,EAAE,WAAU,kBAAiB,EAAC,YAAW,OAAG,KAAI,WAAU;AAAC,WAAO,KAAK,eAAe;AAAA,EAAM,EAAC,CAAC,GAAE,OAAO,eAAe,EAAE,WAAU,aAAY,EAAC,YAAW,OAAG,KAAI,WAAU;AAAC,WAAO,WAAS,KAAK,kBAAgB,WAAS,KAAK,mBAAiB,KAAK,eAAe,aAAW,KAAK,eAAe;AAAA,EAAU,GAAE,KAAI,SAASA,IAAE;AAAC,eAAS,KAAK,kBAAgB,WAAS,KAAK,mBAAiB,KAAK,eAAe,YAAUA,IAAE,KAAK,eAAe,YAAUA;AAAA,EAAE,EAAC,CAAC,GAAE;AAAE;AAAC,IAAI,KAAG,EAAE,cAAY,SAASA,IAAE;AAAC,UAAOA,MAAGA,GAAE,YAAW,GAAE;AAAA,IAAE,KAAI;AAAA,IAAM,KAAI;AAAA,IAAO,KAAI;AAAA,IAAQ,KAAI;AAAA,IAAQ,KAAI;AAAA,IAAS,KAAI;AAAA,IAAS,KAAI;AAAA,IAAO,KAAI;AAAA,IAAQ,KAAI;AAAA,IAAU,KAAI;AAAA,IAAW,KAAI;AAAM,aAAM;AAAA,IAAG;AAAQ,aAAM;AAAA,EAAE;AAAC;AAAE,SAAS,GAAGA,IAAE;AAAC,UAAO,KAAK,YAAUA,MAAG,QAAQ,YAAW,EAAG,QAAQ,QAAO,EAAE,IAAE,SAASA,IAAE;AAAC,QAAGA,MAAG,CAAC,GAAGA,EAAC,EAAE,OAAM,IAAI,MAAM,uBAAqBA,EAAC;AAAA,EAAC,GAAEA,EAAC,GAAE,KAAK;IAAU,KAAI;AAAO,WAAK,gBAAc;AAAE;AAAA,IAAM,KAAI;AAAA,IAAO,KAAI;AAAU,WAAK,gBAAc,GAAE,KAAK,uBAAqB;AAAG;AAAA,IAAM,KAAI;AAAS,WAAK,gBAAc,GAAE,KAAK,uBAAqB;AAAG;AAAA,IAAM;AAAQ,aAAO,MAAK,KAAK,QAAM;AAAA,EAAG;AAAC,OAAK,aAAW,IAAI,EAAE,CAAC,GAAE,KAAK,eAAa,GAAE,KAAK,aAAW;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,SAAOA,GAAE,SAAS,KAAK,QAAQ;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,OAAK,eAAaA,GAAE,SAAO,GAAE,KAAK,aAAW,KAAK,eAAa,IAAE;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,OAAK,eAAaA,GAAE,SAAO,GAAE,KAAK,aAAW,KAAK,eAAa,IAAE;AAAC;AAAC,GAAG,UAAU,QAAM,SAASA,IAAE;AAAC,WAAQ6D,KAAE,IAAG,KAAK,cAAY;AAAC,QAAI,IAAE7D,GAAE,UAAQ,KAAK,aAAW,KAAK,eAAa,KAAK,aAAW,KAAK,eAAaA,GAAE;AAAO,QAAGA,GAAE,KAAK,KAAK,YAAW,KAAK,cAAa,GAAE,CAAC,GAAE,KAAK,gBAAc,GAAE,KAAK,eAAa,KAAK,WAAW,QAAM;AAAG,QAAGA,KAAEA,GAAE,MAAM,GAAEA,GAAE,MAAM,GAAE,GAAG,KAAG6D,KAAE,KAAK,WAAW,MAAM,GAAE,KAAK,UAAU,EAAE,SAAS,KAAK,QAAQ,GAAG,WAAWA,GAAE,SAAO,CAAC,MAAI,SAAO,KAAG,QAAO;AAAC,UAAG,KAAK,eAAa,KAAK,aAAW,GAAE,MAAI7D,GAAE,OAAO,QAAO6D;AAAE;AAAA,IAAK;AAAC,SAAK,cAAY,KAAK,eAAcA,KAAE;AAAA,EAAE;AAAC,OAAK,qBAAqB7D,EAAC;AAAE,MAAIqB,KAAErB,GAAE;AAAO,OAAK,eAAaA,GAAE,KAAK,KAAK,YAAW,GAAEA,GAAE,SAAO,KAAK,cAAaqB,EAAC,GAAEA,MAAG,KAAK;AAAc,MAAI;AAAE,EAAAA,MAAGwC,MAAG7D,GAAE,SAAS,KAAK,UAAS,GAAEqB,EAAC,GAAG,SAAO;AAAE,OAAI,IAAEwC,GAAE,WAAWxC,EAAC,MAAI,SAAO,KAAG,OAAM;AAAC,QAAI,IAAE,KAAK;AAAc,WAAO,KAAK,cAAY,GAAE,KAAK,gBAAc,GAAE,KAAK,WAAW,KAAK,KAAK,YAAW,GAAE,GAAE,CAAC,GAAErB,GAAE,KAAK,KAAK,YAAW,GAAE,GAAE,CAAC,GAAE6D,GAAE,UAAU,GAAExC,EAAC;AAAA,EAAC;AAAC,SAAOwC;AAAC,GAAE,GAAG,UAAU,uBAAqB,SAAS7D,IAAE;AAAC,WAAQ6D,KAAE7D,GAAE,UAAQ,IAAE,IAAEA,GAAE,QAAO6D,KAAE,GAAEA,MAAI;AAAC,QAAI,IAAE7D,GAAEA,GAAE,SAAO6D,EAAC;AAAE,QAAG,KAAGA,MAAG,KAAG,KAAG,GAAE;AAAC,WAAK,aAAW;AAAE;AAAA,IAAK;AAAC,QAAGA,MAAG,KAAG,KAAG,KAAG,IAAG;AAAC,WAAK,aAAW;AAAE;AAAA,IAAK;AAAC,QAAGA,MAAG,KAAG,KAAG,KAAG,IAAG;AAAC,WAAK,aAAW;AAAE;AAAA,IAAK;AAAA,EAAC;AAAC,OAAK,eAAaA;AAAC,GAAE,GAAG,UAAU,MAAI,SAAS7D,IAAE;AAAC,MAAI6D,KAAE;AAAG,MAAG7D,MAAGA,GAAE,WAAS6D,KAAE,KAAK,MAAM7D,EAAC,IAAG,KAAK,cAAa;AAAC,QAAI,IAAE,KAAK,cAAaqB,KAAE,KAAK,YAAW,IAAE,KAAK;AAAS,IAAAwC,MAAGxC,GAAE,MAAM,GAAE,CAAC,EAAE,SAAS,CAAC;AAAA,EAAC;AAAC,SAAOwC;AAAC;AAAE,IAAI,KAAG,GAAG,OAAO,OAAO,EAAC,WAAU,MAAK,eAAc,GAAE,CAAC,CAAC,GAAE,KAAG,GAAG,MAAM;AAA2B,SAAS,KAAI;AAAC;AAAC,IAAI,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAG,SAAS7D,GAAE6D,IAAE,GAAExC,IAAE;AAAC,MAAG,cAAY,OAAO,EAAE,QAAOrB,GAAE6D,IAAE,MAAK,CAAC;AAAE,QAAI,IAAE,CAAA,IAAIxC,KAAE,0BAASrB,IAAE;AAAC,QAAI6D,KAAE;AAAG,WAAO,WAAU;AAAC,UAAG,CAACA,IAAE;AAAC,QAAAA,KAAE;AAAG,iBAAQW,KAAE,UAAU,QAAOnD,KAAE,IAAI,MAAMmD,EAAC,GAAEC,KAAE,GAAEA,KAAED,IAAEC,KAAI,CAAApD,GAAEoD,EAAC,IAAE,UAAUA,EAAC;AAAE,QAAAzE,GAAE,MAAM,MAAKqB,EAAC;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC,GAAEA,MAAG,EAAE;AAAE,MAAI,IAAE,EAAE,YAAU,UAAK,EAAE,YAAUwC,GAAE,UAAS,IAAE,EAAE,YAAU,UAAK,EAAE,YAAUA,GAAE,UAAS,IAAE,WAAU;AAAC,IAAAA,GAAE,YAAUzC,GAAC;AAAA,EAAE,GAAE,IAAEyC,GAAE,kBAAgBA,GAAE,eAAe,UAASzC,KAAE,WAAU;AAAC,QAAE,OAAG,IAAE,MAAG,KAAGC,GAAE,KAAKwC,EAAC;AAAA,EAAC,GAAEjB,KAAEiB,GAAE,kBAAgBA,GAAE,eAAe,YAAWjD,KAAE,WAAU;AAAC,QAAE,OAAGgC,KAAE,MAAG,KAAGvB,GAAE,KAAKwC,EAAC;AAAA,EAAC,GAAES,KAAE,SAAStE,IAAE;AAAC,IAAAqB,GAAE,KAAKwC,IAAE7D,EAAC;AAAA,EAAC,GAAEW,KAAE,WAAU;AAAC,QAAIX;AAAE,WAAO,KAAG,CAAC4C,MAAGiB,GAAE,kBAAgBA,GAAE,eAAe,UAAQ7D,KAAE,IAAI,OAAIqB,GAAE,KAAKwC,IAAE7D,EAAC,KAAG,KAAG,CAAC,KAAG6D,GAAE,kBAAgBA,GAAE,eAAe,UAAQ7D,KAAE,IAAI,OAAIqB,GAAE,KAAKwC,IAAE7D,EAAC,KAAG;AAAA,EAAM,GAAEuE,KAAE,WAAU;AAAC,IAAAV,GAAE,IAAI,GAAG,UAASzC,EAAC;AAAA,EAAC;AAAE,SAAM,EAAC,SAASpB,IAAE;AAAC,WAAOA,GAAE,aAAW,cAAY,OAAOA,GAAE;AAAA,EAAK,GAAE6D,EAAC,IAAE,KAAG,CAACA,GAAE,mBAAiBA,GAAE,GAAG,OAAM,CAAC,GAAEA,GAAE,GAAG,SAAQ,CAAC,MAAIA,GAAE,GAAG,YAAWzC,EAAC,GAAEyC,GAAE,GAAG,SAAQlD,EAAC,GAAEkD,GAAE,MAAIU,GAAC,IAAGV,GAAE,GAAG,WAAUU,EAAC,IAAGV,GAAE,GAAG,OAAMjD,EAAC,GAAEiD,GAAE,GAAG,UAASzC,EAAC,GAAE,UAAK,EAAE,SAAOyC,GAAE,GAAG,SAAQS,EAAC,GAAET,GAAE,GAAG,SAAQlD,EAAC,GAAE,WAAU;AAAC,IAAAkD,GAAE,eAAe,YAAWzC,EAAC,GAAEyC,GAAE,eAAe,SAAQlD,EAAC,GAAEkD,GAAE,eAAe,WAAUU,EAAC,GAAEV,GAAE,OAAKA,GAAE,IAAI,eAAe,UAASzC,EAAC,GAAEyC,GAAE,eAAe,OAAM,CAAC,GAAEA,GAAE,eAAe,SAAQ,CAAC,GAAEA,GAAE,eAAe,UAASzC,EAAC,GAAEyC,GAAE,eAAe,OAAMjD,EAAC,GAAEiD,GAAE,eAAe,SAAQS,EAAC,GAAET,GAAE,eAAe,SAAQlD,EAAC;AAAA,EAAC;AAAC;AAAE,SAAS,KAAI;AAAC,MAAG,GAAG,QAAO;AAAG,MAAIX;AAAE,WAAS6D,GAAE7D,IAAE6D,IAAEW,IAAE;AAAC,YAAOX,MAAE,SAAS7D,IAAE;AAAC,UAAI6D,MAAE,SAAS7D,KAAE6D,IAAE;AAAC,YAAG,YAAU,OAAO7D,OAAG,SAAOA,IAAE,QAAOA;AAAE,YAAIwE,KAAExE,IAAE,OAAO,WAAW;AAAE,YAAG,WAASwE,IAAE;AAAC,cAAInD,KAAEmD,GAAE,KAAKxE,KAAE6D,EAAY;AAAE,cAAG,YAAU,OAAOxC,GAAE,QAAOA;AAAE,gBAAM,IAAI,UAAU,8CAA8C;AAAA,QAAC;AAAC,gBAAO,aAAWwC,KAAE,SAAO,QAAQ7D,GAAC;AAAA,MAAC,GAAEA,IAAE,QAAQ;AAAE,aAAM,YAAU,OAAO6D,KAAEA,KAAE,OAAOA,EAAC;AAAA,IAAC,GAAEA,EAAC,MAAK7D,KAAE,OAAO,eAAeA,IAAE6D,IAAE,EAAC,OAAMW,IAAE,YAAW,MAAG,cAAa,MAAG,UAAS,KAAE,CAAC,IAAExE,GAAE6D,EAAC,IAAEW,IAAExE;AAAA,EAAC;AAAC,OAAG;AAAE,MAAI,IAAE,IAAGqB,KAAE,OAAO,aAAa,GAAE,IAAE,OAAO,YAAY,GAAE,IAAE,OAAO,OAAO,GAAE,IAAE,OAAO,OAAO,GAAE,IAAE,OAAO,aAAa,GAAED,KAAE,OAAO,eAAe,GAAEwB,KAAE,OAAO,QAAQ;AAAE,WAAShC,GAAEZ,IAAE6D,IAAE;AAAC,WAAM,EAAC,OAAM7D,IAAE,MAAK6D,GAAC;AAAA,EAAC;AAAC,WAASS,GAAEtE,IAAE;AAAC,QAAI6D,KAAE7D,GAAEqB,EAAC;AAAE,QAAG,SAAOwC,IAAE;AAAC,UAAIW,KAAExE,GAAE4C,EAAC,EAAE,KAAI;AAAG,eAAO4B,OAAIxE,GAAE,CAAC,IAAE,MAAKA,GAAEqB,EAAC,IAAE,MAAKrB,GAAE,CAAC,IAAE,MAAK6D,GAAEjD,GAAE4D,IAAE,KAAE,CAAC;AAAA,IAAE;AAAA,EAAC;AAAC,WAAS7D,GAAEX,IAAE;AAAC,OAAG,SAASsE,IAAEtE,EAAC;AAAA,EAAC;AAAC,MAAIuE,KAAE,OAAO,gBAAgB,WAAU;AAAA,EAAC,EAAC,GAAGf,KAAE,OAAO,gBAAgBK,GAAE7D,KAAE,EAAC,IAAI,SAAQ;AAAC,WAAO,KAAK4C,EAAC;AAAA,EAAC,GAAE,MAAK,WAAU;AAAC,QAAI5C,KAAE,MAAK6D,KAAE,KAAK,CAAC;AAAE,QAAG,SAAOA,GAAE,QAAO,QAAQ,OAAOA,EAAC;AAAE,QAAG,KAAK,CAAC,EAAE,QAAO,QAAQ,QAAQjD,GAAE,QAAO,IAAE,CAAC;AAAE,QAAG,KAAKgC,EAAC,EAAE,UAAU,QAAO,IAAI,SAAS,SAASiB,IAAEW,IAAE;AAAC,SAAG,UAAU,WAAU;AAAC,QAAAxE,GAAE,CAAC,IAAEwE,GAAExE,GAAE,CAAC,CAAC,IAAE6D,GAAEjD,GAAE,QAAO,IAAE,CAAC;AAAA,MAAC,EAAC;AAAA,IAAE,EAAC;AAAG,QAAI4D,IAAEnD,KAAE,KAAK,CAAC;AAAE,QAAGA,GAAE,CAAAmD,KAAE,IAAI,QAAQ,0BAASxE,IAAE6D,IAAE;AAAC,aAAO,SAASW,IAAEnD,IAAE;AAAC,QAAArB,GAAE,MAAM,WAAU;AAAC,UAAA6D,GAAE,CAAC,IAAEW,GAAE5D,GAAE,QAAO,IAAE,CAAC,IAAEiD,GAAEzC,EAAC,EAAEoD,IAAEnD,EAAC;AAAA,QAAC,IAAGA,EAAC;AAAA,MAAC;AAAA,IAAC,GAAEA,IAAE,IAAI,CAAC;AAAA,SAAM;AAAC,UAAIoD,KAAE,KAAK7B,EAAC,EAAE,KAAI;AAAG,UAAG,SAAO6B,GAAE,QAAO,QAAQ,QAAQ7D,GAAE6D,IAAE,KAAE,CAAC;AAAE,MAAAD,KAAE,IAAI,QAAQ,KAAKpD,EAAC,CAAC;AAAA,IAAC;AAAC,WAAO,KAAK,CAAC,IAAEoD,IAAEA;AAAA,EAAC,EAAC,GAAE,OAAO,gBAAe,WAAU;AAAC,WAAO;AAAA,EAAI,EAAC,GAAGX,GAAE7D,IAAE,WAAU,WAAU;AAAC,QAAIA,KAAE;AAAK,WAAO,IAAI,SAAS,SAAS6D,IAAEW,IAAE;AAAC,MAAAxE,GAAE4C,EAAC,EAAE,QAAQ,OAAM,SAAS5C,IAAE;AAAC,QAAAA,KAAEwE,GAAExE,EAAC,IAAE6D,GAAEjD,GAAE,QAAO,IAAE,CAAC;AAAA,MAAC,EAAC;AAAA,IAAE,EAAC;AAAA,EAAE,KAAIZ,KAAGuE,EAAC;AAAE,SAAO,KAAG,SAASvE,IAAE;AAAC,QAAIsE,IAAEC,KAAE,OAAO,OAAOf,KAAGK,GAAES,KAAE,CAAA,GAAG1B,IAAE,EAAC,OAAM5C,IAAE,UAAS,KAAE,CAAC,GAAE6D,GAAES,IAAEjD,IAAE,EAAC,OAAM,MAAK,UAAS,KAAE,CAAC,GAAEwC,GAAES,IAAE,GAAE,EAAC,OAAM,MAAK,UAAS,KAAE,CAAC,GAAET,GAAES,IAAE,GAAE,EAAC,OAAM,MAAK,UAAS,KAAE,CAAC,GAAET,GAAES,IAAE,GAAE,EAAC,OAAMtE,GAAE,eAAe,YAAW,UAAS,KAAE,CAAC,GAAE6D,GAAES,IAAElD,IAAE,EAAC,OAAM,SAASpB,IAAE6D,IAAE;AAAC,UAAIW,KAAED,GAAE3B,EAAC,EAAE,KAAI;AAAG,MAAA4B,MAAGD,GAAE,CAAC,IAAE,MAAKA,GAAElD,EAAC,IAAE,MAAKkD,GAAE,CAAC,IAAE,MAAKvE,GAAEY,GAAE4D,IAAE,KAAE,CAAC,MAAID,GAAElD,EAAC,IAAErB,IAAEuE,GAAE,CAAC,IAAEV;AAAA,IAAE,GAAE,UAAS,KAAE,CAAC,GAAES,GAAC;AAAG,WAAOC,GAAE,CAAC,IAAE,MAAK,EAAEvE,KAAG,SAASA,IAAE;AAAC,UAAGA,MAAG,iCAA+BA,GAAE,MAAK;AAAC,YAAI6D,KAAEU,GAAE,CAAC;AAAE,eAAO,SAAOV,OAAIU,GAAE,CAAC,IAAE,MAAKA,GAAElD,EAAC,IAAE,MAAKkD,GAAE,CAAC,IAAE,MAAKV,GAAE7D,EAAC,IAAG,MAAKuE,GAAE,CAAC,IAAEvE;AAAA,MAAE;AAAC,UAAIwE,KAAED,GAAElD,EAAC;AAAE,eAAOmD,OAAID,GAAE,CAAC,IAAE,MAAKA,GAAElD,EAAC,IAAE,MAAKkD,GAAE,CAAC,IAAE,MAAKC,GAAE5D,GAAE,QAAO,IAAE,CAAC,IAAG2D,GAAE,CAAC,IAAE;AAAA,IAAE,EAAC,GAAGvE,GAAE,GAAG,YAAWW,GAAE,KAAK,MAAK4D,EAAC,CAAC,GAAEA;AAAA,EAAC,GAAE;AAAE;AAAC,SAAS,KAAI;AAAC,MAAG,GAAG,QAAO;AAAG,MAAIvE;AAAE,OAAG,GAAE,KAAG6E,IAAEA,GAAE,gBAAchE,IAAE,GAAG;AAAa,MAAIgD,KAAE,SAAS7D,IAAE6D,IAAE;AAAC,WAAO7D,GAAE,UAAU6D,EAAC,EAAE;AAAA,EAAM,GAAE,IAAE,IAAGxC,KAAE,GAAG,QAAO,KAAG,WAAS,KAAG,KAAG,eAAa,OAAO,SAAO,SAAO,eAAa,OAAO,OAAK,OAAK,CAAA,GAAI,cAAY,WAAU;AAAA,EAAC;AAAE,MAAI,GAAE,IAAE;AAAG,MAAE,KAAG,EAAE,WAAS,EAAE,SAAS,QAAQ,IAAE,WAAU;AAAA,EAAC;AAAE,MAAI,GAAED,IAAEwB,IAAEhC,KAAE,GAAE,GAAG0D,KAAE,IAAG3D,KAAE,GAAG,kBAAiB4D,KAAE,GAAG,OAAMf,KAAEe,GAAE,sBAAqBxE,KAAEwE,GAAE,2BAA0B7D,KAAE6D,GAAE,4BAA2BzD,KAAEyD,GAAE;AAAmC,KAAGM,IAAE,CAAC;AAAE,MAAI1D,KAAEmD,GAAE,gBAAe/B,KAAE,CAAC,SAAQ,SAAQ,WAAU,SAAQ,QAAQ;AAAE,WAAS1B,GAAEgD,IAAEW,IAAEnD,IAAE;AAAC,IAAArB,KAAEA,MAAG,GAAE,GAAG6D,KAAEA,MAAG,CAAA,GAAG,aAAW,OAAOxC,OAAIA,KAAEmD,cAAaxE,KAAG,KAAK,aAAW,CAAC,CAAC6D,GAAE,YAAWxC,OAAI,KAAK,aAAW,KAAK,cAAY,CAAC,CAACwC,GAAE,qBAAoB,KAAK,gBAAclD,GAAE,MAAKkD,IAAE,yBAAwBxC,EAAC,GAAE,KAAK,SAAO,IAAIT,MAAE,KAAK,SAAO,GAAE,KAAK,QAAM,MAAK,KAAK,aAAW,GAAE,KAAK,UAAQ,MAAK,KAAK,QAAM,OAAG,KAAK,aAAW,OAAG,KAAK,UAAQ,OAAG,KAAK,OAAK,MAAG,KAAK,eAAa,OAAG,KAAK,kBAAgB,OAAG,KAAK,oBAAkB,OAAG,KAAK,kBAAgB,OAAG,KAAK,SAAO,MAAG,KAAK,YAAU,UAAKiD,GAAE,WAAU,KAAK,cAAY,CAAC,CAACA,GAAE,aAAY,KAAK,YAAU,OAAG,KAAK,kBAAgBA,GAAE,mBAAiB,QAAO,KAAK,aAAW,GAAE,KAAK,cAAY,OAAG,KAAK,UAAQ,MAAK,KAAK,WAAS,MAAKA,GAAE,aAAW,MAAI,IAAE,GAAG,gBAAe,KAAK,UAAQ,IAAI,EAAEA,GAAE,QAAQ,GAAE,KAAK,WAASA,GAAE;AAAA,EAAS;AAAC,WAASgB,GAAEhB,IAAE;AAAC,QAAG7D,KAAEA,MAAG,GAAE,GAAG,EAAE,gBAAgB6E,IAAG,QAAO,IAAIA,GAAEhB,EAAC;AAAE,QAAIxC,KAAE,gBAAgBrB;AAAE,SAAK,iBAAe,IAAIa,GAAEgD,IAAE,MAAKxC,EAAC,GAAE,KAAK,WAAS,MAAGwC,OAAI,cAAY,OAAOA,GAAE,SAAO,KAAK,QAAMA,GAAE,OAAM,cAAY,OAAOA,GAAE,YAAU,KAAK,WAASA,GAAE,WAAU,EAAE,KAAK,IAAI;AAAA,EAAC;AAAC,WAASiB,GAAE9E,IAAE6D,IAAEW,IAAEG,IAAEC,IAAE;AAAC,MAAE,oBAAmBf,EAAC;AAAE,QAAIzC,IAAEwB,KAAE5C,GAAE;AAAe,QAAG,SAAO6D,GAAE,CAAAjB,GAAE,UAAQ,QAAG,SAAS5C,IAAE6D,IAAE;AAAC,UAAG,EAAE,YAAY,GAAEA,GAAE,MAAM;AAAO,UAAGA,GAAE,SAAQ;AAAC,YAAIW,KAAEX,GAAE,QAAQ,IAAG;AAAG,QAAAW,MAAGA,GAAE,WAASX,GAAE,OAAO,KAAKW,EAAC,GAAEX,GAAE,UAAQA,GAAE,aAAW,IAAEW,GAAE;AAAA,MAAO;AAAC,MAAAX,GAAE,QAAM,MAAGA,GAAE,OAAKoB,GAAEjF,EAAC,KAAG6D,GAAE,eAAa,OAAGA,GAAE,oBAAkBA,GAAE,kBAAgB,MAAGqB,GAAElF,EAAC;AAAA,IAAG,GAAEA,IAAE4C,EAAC;AAAA,aAAUgC,OAAIxD,MAAE,SAASpB,IAAE6D,IAAE;AAAC,UAAIW;AAAE,MAAAE,KAAEb,IAAExC,GAAE,SAASqD,EAAC,KAAGA,cAAa,KAAG,YAAU,OAAOb,MAAG,WAASA,MAAG7D,GAAE,eAAawE,KAAE,IAAIhB,GAAE,SAAQ,CAAC,UAAS,UAAS,YAAY,GAAEK,EAAC;AAAG,UAAIa;AAAE,aAAOF;AAAA,IAAC,GAAE5B,IAAEiB,EAAC,IAAGzC,GAAE,CAAAD,GAAEnB,IAAEoB,EAAC;AAAA,aAAUwB,GAAE,cAAYiB,MAAGA,GAAE,SAAO,EAAE,KAAG,YAAU,OAAOA,MAAGjB,GAAE,cAAY,OAAO,eAAeiB,EAAC,MAAIxC,GAAE,cAAYwC,MAAE,SAAS7D,IAAE;AAAC,aAAOqB,GAAE,KAAKrB,EAAC;AAAA,IAAC,GAAE6D,EAAC,IAAGc,GAAE,CAAA/B,GAAE,aAAWzB,GAAEnB,IAAE,IAAIc,IAAC,IAAEiE,GAAE/E,IAAE4C,IAAEiB,IAAE,IAAE;AAAA,aAAUjB,GAAE,MAAM,CAAAzB,GAAEnB,IAAE,IAAID,IAAC;AAAA,SAAM;AAAC,UAAG6C,GAAE,UAAU;AAAS,MAAAA,GAAE,UAAQ,OAAGA,GAAE,WAAS,CAAC4B,MAAGX,KAAEjB,GAAE,QAAQ,MAAMiB,EAAC,GAAEjB,GAAE,cAAY,MAAIiB,GAAE,SAAOkB,GAAE/E,IAAE4C,IAAEiB,IAAE,KAAE,IAAEsB,GAAEnF,IAAE4C,EAAC,KAAGmC,GAAE/E,IAAE4C,IAAEiB,IAAE,KAAE;AAAA,IAAC;AAAA,QAAM,CAAAc,OAAI/B,GAAE,UAAQ,OAAGuC,GAAEnF,IAAE4C,EAAC;AAAG,WAAM,CAACA,GAAE,UAAQA,GAAE,SAAOA,GAAE,iBAAe,MAAIA,GAAE;AAAA,EAAO;AAAC,WAASmC,GAAE/E,IAAE6D,IAAEW,IAAEnD,IAAE;AAAC,IAAAwC,GAAE,WAAS,MAAIA,GAAE,UAAQ,CAACA,GAAE,QAAMA,GAAE,aAAW,GAAE7D,GAAE,KAAK,QAAOwE,EAAC,MAAIX,GAAE,UAAQA,GAAE,aAAW,IAAEW,GAAE,QAAOnD,KAAEwC,GAAE,OAAO,QAAQW,EAAC,IAAEX,GAAE,OAAO,KAAKW,EAAC,GAAEX,GAAE,gBAAcoB,GAAEjF,EAAC,IAAGmF,GAAEnF,IAAE6D,EAAC;AAAA,EAAC;AAAC,SAAO,eAAegB,GAAE,WAAU,aAAY,EAAC,YAAW,OAAG,KAAI,WAAU;AAAC,WAAO,WAAS,KAAK,kBAAgB,KAAK,eAAe;AAAA,EAAS,GAAE,KAAI,SAAS7E,IAAE;AAAC,SAAK,mBAAiB,KAAK,eAAe,YAAUA;AAAA,EAAE,EAAC,CAAC,GAAE6E,GAAE,UAAU,UAAQP,GAAE,SAAQO,GAAE,UAAU,aAAWP,GAAE,WAAUO,GAAE,UAAU,WAAS,SAAS7E,IAAE6D,IAAE;AAAC,IAAAA,GAAE7D,EAAC;AAAA,EAAC,GAAE6E,GAAE,UAAU,OAAK,SAAS7E,IAAE6D,IAAE;AAAC,QAAIW,IAAEC,KAAE,KAAK;AAAe,WAAOA,GAAE,aAAWD,KAAE,OAAG,YAAU,OAAOxE,QAAK6D,KAAEA,MAAGY,GAAE,qBAAmBA,GAAE,aAAWzE,KAAEqB,GAAE,KAAKrB,IAAE6D,EAAC,GAAEA,KAAE,KAAIW,KAAE,OAAIM,GAAE,MAAK9E,IAAE6D,IAAE,OAAGW,EAAC;AAAA,EAAC,GAAEK,GAAE,UAAU,UAAQ,SAAS7E,IAAE;AAAC,WAAO8E,GAAE,MAAK9E,IAAE,MAAK,MAAG,KAAE;AAAA,EAAC,GAAE6E,GAAE,UAAU,WAAS,WAAU;AAAC,qBAAW,KAAK,eAAe;AAAA,EAAO,GAAEA,GAAE,UAAU,cAAY,SAAS7E,IAAE;AAAC,UAAI,IAAE,GAAG;AAAe,QAAI6D,KAAE,IAAI,EAAE7D,EAAC;AAAE,SAAK,eAAe,UAAQ6D,IAAE,KAAK,eAAe,WAAS,KAAK,eAAe,QAAQ;AAAS,aAAQW,KAAE,KAAK,eAAe,OAAO,MAAKnD,KAAE,IAAG,SAAOmD,KAAG,CAAAnD,MAAGwC,GAAE,MAAMW,GAAE,IAAI,GAAEA,KAAEA,GAAE;AAAK,WAAO,KAAK,eAAe,OAAO,MAAK,GAAG,OAAKnD,MAAG,KAAK,eAAe,OAAO,KAAKA,EAAC,GAAE,KAAK,eAAe,SAAOA,GAAE,QAAO;AAAA,EAAI;AAAE,MAAI2D,KAAE;AAAW,WAAS9C,GAAElC,IAAE6D,IAAE;AAAC,WAAO7D,MAAG,KAAG,MAAI6D,GAAE,UAAQA,GAAE,QAAM,IAAEA,GAAE,aAAW,IAAE7D,MAAGA,KAAE6D,GAAE,WAASA,GAAE,SAAOA,GAAE,OAAO,KAAK,KAAK,SAAOA,GAAE,UAAQ7D,KAAE6D,GAAE,kBAAgBA,GAAE,iBAAc,SAAS7D,IAAE;AAAC,aAAOA,MAAGgF,KAAEhF,KAAEgF,MAAGhF,MAAIA,MAAGA,OAAI,GAAEA,MAAGA,OAAI,GAAEA,MAAGA,OAAI,GAAEA,MAAGA,OAAI,GAAEA,MAAGA,OAAI,IAAGA,OAAKA;AAAA,IAAC,GAAEA,EAAC,IAAGA,MAAG6D,GAAE,SAAO7D,KAAE6D,GAAE,QAAMA,GAAE,UAAQA,GAAE,eAAa,MAAG;AAAA,EAAG;AAAC,WAASoB,GAAEjF,IAAE;AAAC,QAAI6D,KAAE7D,GAAE;AAAe,MAAE,gBAAe6D,GAAE,cAAaA,GAAE,eAAe,GAAEA,GAAE,eAAa,OAAGA,GAAE,oBAAkB,EAAE,gBAAeA,GAAE,OAAO,GAAEA,GAAE,kBAAgB,MAAG,GAAG,SAASqB,IAAElF,EAAC;AAAA,EAAE;AAAC,WAASkF,GAAElF,IAAE;AAAC,QAAI6D,KAAE7D,GAAE;AAAe,MAAE,iBAAgB6D,GAAE,WAAUA,GAAE,QAAOA,GAAE,KAAK,GAAEA,GAAE,aAAW,CAACA,GAAE,UAAQ,CAACA,GAAE,UAAQ7D,GAAE,KAAK,UAAU,GAAE6D,GAAE,kBAAgB,QAAIA,GAAE,eAAa,CAACA,GAAE,WAAS,CAACA,GAAE,SAAOA,GAAE,UAAQA,GAAE,eAAc4B,GAAEzF,EAAC;AAAA,EAAC;AAAC,WAASmF,GAAEnF,IAAE6D,IAAE;AAAC,IAAAA,GAAE,gBAAcA,GAAE,cAAY,MAAG,GAAG,SAASuB,IAAEpF,IAAE6D,EAAC;AAAA,EAAE;AAAC,WAASuB,GAAEpF,IAAE6D,IAAE;AAAC,WAAK,CAACA,GAAE,WAAS,CAACA,GAAE,UAAQA,GAAE,SAAOA,GAAE,iBAAeA,GAAE,WAAS,MAAIA,GAAE,WAAS;AAAC,UAAIW,KAAEX,GAAE;AAAO,UAAG,EAAE,sBAAsB,GAAE7D,GAAE,KAAK,CAAC,GAAEwE,OAAIX,GAAE,OAAO;AAAA,IAAK;AAAC,IAAAA,GAAE,cAAY;AAAA,EAAE;AAAC,WAASwB,GAAErF,IAAE;AAAC,QAAI6D,KAAE7D,GAAE;AAAe,IAAA6D,GAAE,oBAAkB7D,GAAE,cAAc,UAAU,IAAE,GAAE6D,GAAE,mBAAiB,CAACA,GAAE,SAAOA,GAAE,UAAQ,OAAG7D,GAAE,cAAc,MAAM,IAAE,KAAGA,GAAE,OAAM;AAAA,EAAE;AAAC,WAASuF,GAAEvF,IAAE;AAAC,MAAE,0BAA0B,GAAEA,GAAE,KAAK,CAAC;AAAA,EAAC;AAAC,WAASwF,GAAExF,IAAE6D,IAAE;AAAC,MAAE,UAASA,GAAE,OAAO,GAAEA,GAAE,WAAS7D,GAAE,KAAK,CAAC,GAAE6D,GAAE,kBAAgB,OAAG7D,GAAE,KAAK,QAAQ,GAAEyF,GAAEzF,EAAC,GAAE6D,GAAE,WAAS,CAACA,GAAE,WAAS7D,GAAE,KAAK,CAAC;AAAA,EAAC;AAAC,WAASyF,GAAEzF,IAAE;AAAC,QAAI6D,KAAE7D,GAAE;AAAe,SAAI,EAAE,QAAO6D,GAAE,OAAO,GAAEA,GAAE,WAAS,SAAO7D,GAAE,KAAI,IAAI;AAAA,EAAC;AAAC,WAAS0F,GAAE1F,IAAE6D,IAAE;AAAC,WAAO,MAAIA,GAAE,SAAO,QAAMA,GAAE,aAAWW,KAAEX,GAAE,OAAO,MAAK,IAAG,CAAC7D,MAAGA,MAAG6D,GAAE,UAAQW,KAAEX,GAAE,UAAQA,GAAE,OAAO,KAAK,EAAE,IAAE,MAAIA,GAAE,OAAO,SAAOA,GAAE,OAAO,MAAK,IAAGA,GAAE,OAAO,OAAOA,GAAE,MAAM,GAAEA,GAAE,OAAO,WAASW,KAAEX,GAAE,OAAO,QAAQ7D,IAAE6D,GAAE,OAAO,GAAEW;AAAG,QAAIA;AAAA,EAAC;AAAC,WAASmB,GAAE3F,IAAE;AAAC,QAAI6D,KAAE7D,GAAE;AAAe,MAAE,eAAc6D,GAAE,UAAU,GAAEA,GAAE,eAAaA,GAAE,QAAM,MAAG,GAAG,SAAS+B,IAAE/B,IAAE7D,EAAC;AAAA,EAAE;AAAC,WAAS4F,GAAE5F,IAAE6D,IAAE;AAAC,QAAG,EAAE,iBAAgB7D,GAAE,YAAWA,GAAE,MAAM,GAAE,CAACA,GAAE,cAAY,MAAIA,GAAE,WAASA,GAAE,aAAW,MAAG6D,GAAE,WAAS,OAAGA,GAAE,KAAK,KAAK,GAAE7D,GAAE,cAAa;AAAC,UAAIwE,KAAEX,GAAE;AAAe,OAAC,CAACW,MAAGA,GAAE,eAAaA,GAAE,aAAWX,GAAE,QAAO;AAAA,IAAE;AAAA,EAAC;AAAC,WAASgC,GAAE7F,IAAE6D,IAAE;AAAC,aAAQW,KAAE,GAAEnD,KAAErB,GAAE,QAAOwE,KAAEnD,IAAEmD,KAAI,KAAGxE,GAAEwE,EAAC,MAAIX,GAAE,QAAOW;AAAE,WAAM;AAAA,EAAE;AAAC,SAAOK,GAAE,UAAU,OAAK,SAAS7E,IAAE;AAAC,MAAE,QAAOA,EAAC,GAAEA,KAAE,SAASA,IAAE,EAAE;AAAE,QAAI6D,KAAE,KAAK,gBAAeW,KAAExE;AAAE,QAAG,MAAIA,OAAI6D,GAAE,kBAAgB,QAAI,MAAI7D,MAAG6D,GAAE,kBAAgB,MAAIA,GAAE,gBAAcA,GAAE,UAAQA,GAAE,gBAAcA,GAAE,SAAO,MAAIA,GAAE,OAAO,QAAO,EAAE,sBAAqBA,GAAE,QAAOA,GAAE,KAAK,GAAE,MAAIA,GAAE,UAAQA,GAAE,QAAM8B,GAAE,IAAI,IAAEV,GAAE,IAAI,GAAE;AAAK,QAAG,OAAKjF,KAAEkC,GAAElC,IAAE6D,EAAC,MAAIA,GAAE,MAAM,QAAO,MAAIA,GAAE,UAAQ8B,GAAE,IAAI,GAAE;AAAK,QAAItE,IAAEoD,KAAEZ,GAAE;AAAa,WAAO,EAAE,iBAAgBY,EAAC,IAAG,MAAIZ,GAAE,UAAQA,GAAE,SAAO7D,KAAE6D,GAAE,kBAAgB,EAAE,8BAA6BY,KAAE,IAAE,GAAEZ,GAAE,SAAOA,GAAE,UAAQ,EAAE,oBAAmBY,KAAE,KAAE,IAAEA,OAAI,EAAE,SAAS,GAAEZ,GAAE,UAAQ,MAAGA,GAAE,OAAK,MAAG,MAAIA,GAAE,WAASA,GAAE,eAAa,OAAI,KAAK,MAAMA,GAAE,aAAa,GAAEA,GAAE,OAAK,OAAGA,GAAE,YAAU7D,KAAEkC,GAAEsC,IAAEX,EAAC,KAAI,UAAQxC,KAAErB,KAAE,IAAE0F,GAAE1F,IAAE6D,EAAC,IAAE,SAAOA,GAAE,eAAaA,GAAE,UAAQA,GAAE,eAAc7D,KAAE,MAAI6D,GAAE,UAAQ7D,IAAE6D,GAAE,aAAW,IAAG,MAAIA,GAAE,WAASA,GAAE,UAAQA,GAAE,eAAa,OAAIW,OAAIxE,MAAG6D,GAAE,SAAO8B,GAAE,IAAI,IAAG,SAAOtE,MAAG,KAAK,KAAK,QAAOA,EAAC,GAAEA;AAAA,EAAC,GAAEwD,GAAE,UAAU,QAAM,SAAS7E,IAAE;AAAC,IAAAmB,GAAE,MAAK,IAAIT,GAAE,SAAS,CAAC;AAAA,EAAC,GAAEmE,GAAE,UAAU,OAAK,SAAS7E,IAAEwE,IAAE;AAAC,QAAInD,KAAE,MAAKoD,KAAE,KAAK;AAAe,YAAOA,GAAE,YAAU;AAAA,MAAE,KAAK;AAAE,QAAAA,GAAE,QAAMzE;AAAE;AAAA,MAAM,KAAK;AAAE,QAAAyE,GAAE,QAAM,CAACA,GAAE,OAAMzE,EAAC;AAAE;AAAA,MAAM;AAAQ,QAAAyE,GAAE,MAAM,KAAKzE,EAAC;AAAA,IAAC;AAAC,IAAAyE,GAAE,cAAY,GAAE,EAAE,yBAAwBA,GAAE,YAAWD,EAAC;AAAE,QAAIG,MAAG,CAACH,MAAG,UAAKA,GAAE,QAAMxE,OAAI,GAAG,UAAQA,OAAI,GAAG,SAAOoB,KAAErB;AAAE,aAAS6E,GAAEf,IAAEW,IAAE;AAAC,QAAE,UAAU,GAAEX,OAAIxC,MAAGmD,MAAG,UAAKA,GAAE,eAAaA,GAAE,aAAW,MAAG,EAAE,SAAS,GAAExE,GAAE,eAAe,SAAQuE,EAAC,GAAEvE,GAAE,eAAe,UAASwD,EAAC,GAAExD,GAAE,eAAe,SAAQ4C,EAAC,GAAE5C,GAAE,eAAe,SAAQW,EAAC,GAAEX,GAAE,eAAe,UAAS4E,EAAC,GAAEvD,GAAE,eAAe,OAAMD,EAAC,GAAEC,GAAE,eAAe,OAAMtB,EAAC,GAAEsB,GAAE,eAAe,QAAOiD,EAAC,GAAE1D,KAAE,MAAG,CAAC6D,GAAE,cAAYzE,GAAE,kBAAgB,CAACA,GAAE,eAAe,aAAW4C,GAAC;AAAA,IAAG;AAAC,aAASxB,KAAG;AAAC,QAAE,OAAO,GAAEpB,GAAE,IAAG;AAAA,IAAE;AAAC,IAAAyE,GAAE,aAAW,GAAG,SAASE,EAAC,IAAEtD,GAAE,KAAK,OAAMsD,EAAC,GAAE3E,GAAE,GAAG,UAAS4E,EAAC;AAAE,QAAIhC,KAAE,0BAAS5C,IAAE;AAAC,aAAO,WAAU;AAAC,YAAIwE,KAAExE,GAAE;AAAe,UAAE,eAAcwE,GAAE,UAAU,GAAEA,GAAE,cAAYA,GAAE,cAAa,MAAIA,GAAE,cAAYX,GAAE7D,IAAE,MAAM,MAAIwE,GAAE,UAAQ,MAAGiB,GAAEzF,EAAC;AAAA,MAAE;AAAA,IAAC,GAAEqB,EAAC;AAAE,IAAArB,GAAE,GAAG,SAAQ4C,EAAC;AAAE,QAAIhC,KAAE;AAAG,aAAS0D,GAAET,IAAE;AAAC,QAAE,QAAQ;AAAE,UAAIW,KAAExE,GAAE,MAAM6D,EAAC;AAAE,QAAE,cAAaW,EAAC,GAAE,UAAKA,QAAK,MAAIC,GAAE,cAAYA,GAAE,UAAQzE,MAAGyE,GAAE,aAAW,KAAG,OAAKoB,GAAEpB,GAAE,OAAMzE,EAAC,MAAI,CAACY,OAAI,EAAE,+BAA8B6D,GAAE,UAAU,GAAEA,GAAE,eAAcpD,GAAE;IAAQ;AAAC,aAASV,GAAE6D,IAAE;AAAC,QAAE,WAAUA,EAAC,GAAEzE,GAAC,GAAGC,GAAE,eAAe,SAAQW,EAAC,GAAE,MAAIkD,GAAE7D,IAAE,OAAO,KAAGmB,GAAEnB,IAAEwE,EAAC;AAAA,IAAC;AAAC,aAASD,KAAG;AAAC,MAAAvE,GAAE,eAAe,UAASwD,EAAC,GAAEzD,GAAC;AAAA,IAAE;AAAC,aAASyD,KAAG;AAAC,QAAE,UAAU,GAAExD,GAAE,eAAe,SAAQuE,EAAC,GAAExE,GAAC;AAAA,IAAE;AAAC,aAASA,KAAG;AAAC,QAAE,QAAQ,GAAEsB,GAAE,OAAOrB,EAAC;AAAA,IAAC;AAAC,WAAOqB,GAAE,GAAG,QAAOiD,EAAC,IAAE,SAAStE,IAAE6D,IAAEW,IAAE;AAAC,UAAG,cAAY,OAAOxE,GAAE,gBAAgB,QAAOA,GAAE,gBAAgB6D,IAAEW,EAAC;AAAE,MAAAxE,GAAE,WAASA,GAAE,QAAQ6D,EAAC,IAAE,MAAM,QAAQ7D,GAAE,QAAQ6D,EAAC,CAAC,IAAE7D,GAAE,QAAQ6D,EAAC,EAAE,QAAQW,EAAC,IAAExE,GAAE,QAAQ6D,EAAC,IAAE,CAACW,IAAExE,GAAE,QAAQ6D,EAAC,CAAC,IAAE7D,GAAE,GAAG6D,IAAEW,EAAC;AAAA,IAAC,GAAExE,IAAE,SAAQW,EAAC,GAAEX,GAAE,KAAK,SAAQuE,EAAC,GAAEvE,GAAE,KAAK,UAASwD,EAAC,GAAExD,GAAE,KAAK,QAAOqB,EAAC,GAAEoD,GAAE,YAAU,EAAE,aAAa,GAAEpD,GAAE,OAAM,IAAIrB;AAAA,EAAC,GAAE6E,GAAE,UAAU,SAAO,SAAS7E,IAAE;AAAC,QAAI6D,KAAE,KAAK,gBAAeW,KAAE,EAAC,YAAW,MAAE;AAAE,QAAG,MAAIX,GAAE,WAAW,QAAO;AAAK,QAAG,MAAIA,GAAE,WAAW,QAAO7D,MAAGA,OAAI6D,GAAE,UAAQ7D,OAAIA,KAAE6D,GAAE,QAAOA,GAAE,QAAM,MAAKA,GAAE,aAAW,GAAEA,GAAE,UAAQ,OAAG7D,MAAGA,GAAE,KAAK,UAAS,MAAKwE,EAAC,IAAG;AAAK,QAAG,CAACxE,IAAE;AAAC,UAAIqB,KAAEwC,GAAE,OAAMY,KAAEZ,GAAE;AAAW,MAAAA,GAAE,QAAM,MAAKA,GAAE,aAAW,GAAEA,GAAE,UAAQ;AAAG,eAAQa,KAAE,GAAEA,KAAED,IAAEC,KAAI,CAAArD,GAAEqD,EAAC,EAAE,KAAK,UAAS,MAAK,EAAC,YAAW,MAAE,CAAC;AAAE,aAAO;AAAA,IAAI;AAAC,QAAIC,KAAEkB,GAAEhC,GAAE,OAAM7D,EAAC;AAAE,kBAAW2E,OAAId,GAAE,MAAM,OAAOc,IAAE,CAAC,GAAEd,GAAE,cAAY,GAAE,MAAIA,GAAE,eAAaA,GAAE,QAAMA,GAAE,MAAM,CAAC,IAAG7D,GAAE,KAAK,UAAS,MAAKwE,EAAC,IAAG;AAAA,EAAI,GAAEK,GAAE,UAAU,KAAG,SAAS7E,IAAE6D,IAAE;AAAC,QAAIxC,KAAE,EAAE,UAAU,GAAG,KAAK,MAAKrB,IAAE6D,EAAC,GAAEY,KAAE,KAAK;AAAe,WAAM,WAASzE,MAAGyE,GAAE,oBAAkB,KAAK,cAAc,UAAU,IAAE,GAAE,UAAKA,GAAE,WAAS,KAAK,YAAU,eAAazE,OAAIyE,GAAE,cAAYA,GAAE,sBAAoBA,GAAE,oBAAkBA,GAAE,eAAa,MAAGA,GAAE,UAAQ,OAAGA,GAAE,kBAAgB,OAAG,EAAE,eAAcA,GAAE,QAAOA,GAAE,OAAO,GAAEA,GAAE,SAAOQ,GAAE,IAAI,IAAER,GAAE,WAAS,GAAG,SAASc,IAAE,IAAI,KAAIlE;AAAA,EAAC,GAAEwD,GAAE,UAAU,cAAYA,GAAE,UAAU,IAAGA,GAAE,UAAU,iBAAe,SAAS7E,IAAE6D,IAAE;AAAC,QAAIxC,KAAE,EAAE,UAAU,eAAe,KAAK,MAAKrB,IAAE6D,EAAC;AAAE,WAAM,eAAa7D,MAAG,GAAG,SAASqF,IAAE,IAAI,GAAEhE;AAAA,EAAC,GAAEwD,GAAE,UAAU,qBAAmB,SAAS7E,IAAE;AAAC,QAAI6D,KAAE,EAAE,UAAU,mBAAmB,MAAM,MAAK,SAAS;AAAE,WAAM,eAAa7D,MAAG,WAASA,MAAG,GAAG,SAASqF,IAAE,IAAI,GAAExB;AAAA,EAAC,GAAEgB,GAAE,UAAU,SAAO,WAAU;AAAC,QAAI7E,KAAE,KAAK;AAAe,WAAOA,GAAE,YAAU,EAAE,QAAQ,GAAEA,GAAE,UAAQ,CAACA,GAAE,oBAAkB,SAASA,IAAE6D,IAAE;AAAC,MAAAA,GAAE,oBAAkBA,GAAE,kBAAgB,MAAG,GAAG,SAAS2B,IAAExF,IAAE6D,EAAC;AAAA,IAAE,GAAE,MAAK7D,EAAC,IAAGA,GAAE,SAAO,OAAG;AAAA,EAAI,GAAE6E,GAAE,UAAU,QAAM,WAAU;AAAC,WAAO,EAAE,yBAAwB,KAAK,eAAe,OAAO,GAAE,UAAK,KAAK,eAAe,YAAU,EAAE,OAAO,GAAE,KAAK,eAAe,UAAQ,OAAG,KAAK,KAAK,OAAO,IAAG,KAAK,eAAe,SAAO,MAAG;AAAA,EAAI,GAAEA,GAAE,UAAU,OAAK,SAAS7E,IAAE;AAAC,QAAI6D,KAAE,MAAKW,KAAE,KAAK,gBAAenD,KAAE;AAAG,aAAQoD,MAAKzE,GAAE,GAAG,QAAO,WAAU;AAAC,UAAG,EAAE,aAAa,GAAEwE,GAAE,WAAS,CAACA,GAAE,OAAM;AAAC,YAAIxE,KAAEwE,GAAE,QAAQ,IAAG;AAAG,QAAAxE,MAAGA,GAAE,UAAQ6D,GAAE,KAAK7D,EAAC;AAAA,MAAC;AAAC,MAAA6D,GAAE,KAAK,IAAI;AAAA,IAAC,EAAC,GAAG7D,GAAE,GAAG,SAAQ,SAASyE,IAAE;AAAC,OAAC,EAAE,cAAc,GAAED,GAAE,YAAUC,KAAED,GAAE,QAAQ,MAAMC,EAAC,IAAGD,GAAE,cAAY,QAAMC,QAAKD,GAAE,cAAYC,MAAGA,GAAE,YAAUZ,GAAE,KAAKY,EAAC,MAAIpD,KAAE,MAAGrB,GAAE,MAAK;AAAA,IAAI,EAAC,GAAGA,GAAE,YAAS,KAAKyE,EAAC,KAAG,cAAY,OAAOzE,GAAEyE,EAAC,MAAI,KAAKA,EAAC,IAAE,0BAASZ,IAAE;AAAC,aAAO,WAAU;AAAC,eAAO7D,GAAE6D,EAAC,EAAE,MAAM7D,IAAE,SAAS;AAAA,MAAC;AAAA,IAAC,GAAEyE,EAAC;AAAG,aAAQE,KAAE,GAAEA,KAAEpC,GAAE,QAAOoC,KAAI,CAAA3E,GAAE,GAAGuC,GAAEoC,EAAC,GAAE,KAAK,KAAK,KAAK,MAAKpC,GAAEoC,EAAC,CAAC,CAAC;AAAE,WAAO,KAAK,QAAM,SAASd,IAAE;AAAC,QAAE,iBAAgBA,EAAC,GAAExC,OAAIA,KAAE,OAAGrB,GAAE;IAAS,GAAE;AAAA,EAAI,GAAE,cAAY,OAAO,WAAS6E,GAAE,UAAU,OAAO,aAAa,IAAE,WAAU;AAAC,WAAO,WAASzD,OAAIA,KAAE,GAAE,IAAIA,GAAE,IAAI;AAAA,EAAC,IAAG,OAAO,eAAeyD,GAAE,WAAU,yBAAwB,EAAC,YAAW,OAAG,KAAI,WAAU;AAAC,WAAO,KAAK,eAAe;AAAA,EAAa,EAAC,CAAC,GAAE,OAAO,eAAeA,GAAE,WAAU,kBAAiB,EAAC,YAAW,OAAG,KAAI,WAAU;AAAC,WAAO,KAAK,kBAAgB,KAAK,eAAe;AAAA,EAAM,EAAC,CAAC,GAAE,OAAO,eAAeA,GAAE,WAAU,mBAAkB,EAAC,YAAW,OAAG,KAAI,WAAU;AAAC,WAAO,KAAK,eAAe;AAAA,EAAO,GAAE,KAAI,SAAS7E,IAAE;AAAC,SAAK,mBAAiB,KAAK,eAAe,UAAQA;AAAA,EAAE,EAAC,CAAC,GAAE6E,GAAE,YAAUa,IAAE,OAAO,eAAeb,GAAE,WAAU,kBAAiB,EAAC,YAAW,OAAG,KAAI,WAAU;AAAC,WAAO,KAAK,eAAe;AAAA,EAAM,EAAC,CAAC,GAAE,cAAY,OAAO,WAASA,GAAE,OAAK,SAAS7E,IAAE6D,IAAE;AAAC,WAAO,WAASjB,OAAIA,KAAE,KAAG,MAAI,KAAG,GAAE,KAAG,WAAU;AAAC,YAAM,IAAI,MAAM,+CAA+C;AAAA,IAAC,KAAIA,GAAEiC,IAAE7E,IAAE6D,EAAC;AAAA,EAAC,IAAG;AAAE;AAAC,IAAI,KAAG,IAAG,KAAG,GAAG,OAAM,KAAG,GAAG,4BAA2B,KAAG,GAAG,uBAAsB,KAAG,GAAG,oCAAmC,KAAG,GAAG,6BAA4B,KAAG,GAAE;AAAG,SAAS,GAAG7D,IAAE6D,IAAE;AAAC,MAAI,IAAE,KAAK;AAAgB,IAAE,eAAa;AAAG,MAAIxC,KAAE,EAAE;AAAQ,MAAG,SAAOA,GAAE,QAAO,KAAK,KAAK,SAAQ,IAAI,IAAE;AAAE,IAAE,aAAW,MAAK,EAAE,UAAQ,MAAK,QAAMwC,MAAG,KAAK,KAAKA,EAAC,GAAExC,GAAErB,EAAC;AAAE,MAAI,IAAE,KAAK;AAAe,IAAE,UAAQ,QAAI,EAAE,gBAAc,EAAE,SAAO,EAAE,kBAAgB,KAAK,MAAM,EAAE,aAAa;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,MAAG,EAAE,gBAAgB,IAAI,QAAO,IAAI,GAAGA,EAAC;AAAE,KAAG,KAAK,MAAKA,EAAC,GAAE,KAAK,kBAAgB,EAAC,gBAAe,GAAG,KAAK,IAAI,GAAE,eAAc,OAAG,cAAa,OAAG,SAAQ,MAAK,YAAW,MAAK,eAAc,KAAI,GAAE,KAAK,eAAe,eAAa,MAAG,KAAK,eAAe,OAAK,OAAGA,OAAI,cAAY,OAAOA,GAAE,cAAY,KAAK,aAAWA,GAAE,YAAW,cAAY,OAAOA,GAAE,UAAQ,KAAK,SAAOA,GAAE,SAAQ,KAAK,GAAG,aAAY,EAAE;AAAC;AAAC,SAAS,KAAI;AAAC,MAAIA,KAAE;AAAK,gBAAY,OAAO,KAAK,UAAQ,KAAK,eAAe,YAAU,GAAG,MAAK,MAAK,IAAI,IAAE,KAAK,QAAQ,SAAS6D,IAAE,GAAE;AAAC,OAAG7D,IAAE6D,IAAE,CAAC;AAAA,EAAC;AAAG;AAAC,SAAS,GAAG7D,IAAE6D,IAAE,GAAE;AAAC,MAAGA,GAAE,QAAO7D,GAAE,KAAK,SAAQ6D,EAAC;AAAE,MAAG,QAAM,KAAG7D,GAAE,KAAK,CAAC,GAAEA,GAAE,eAAe,OAAO,OAAM,IAAI;AAAG,MAAGA,GAAE,gBAAgB,aAAa,OAAM,IAAI;AAAG,SAAOA,GAAE,KAAK,IAAI;AAAC;AAAC,GAAG,IAAG,EAAE,GAAE,GAAG,UAAU,OAAK,SAASA,IAAE6D,IAAE;AAAC,SAAO,KAAK,gBAAgB,gBAAc,OAAG,GAAG,UAAU,KAAK,KAAK,MAAK7D,IAAE6D,EAAC;AAAC,GAAE,GAAG,UAAU,aAAW,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,IAAE,IAAI,GAAG,cAAc,CAAC;AAAC,GAAE,GAAG,UAAU,SAAO,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,MAAIxC,KAAE,KAAK;AAAgB,MAAGA,GAAE,UAAQ,GAAEA,GAAE,aAAWrB,IAAEqB,GAAE,gBAAcwC,IAAE,CAACxC,GAAE,cAAa;AAAC,QAAI,IAAE,KAAK;AAAe,KAACA,GAAE,iBAAe,EAAE,gBAAc,EAAE,SAAO,EAAE,kBAAgB,KAAK,MAAM,EAAE,aAAa;AAAA,EAAC;AAAC,GAAE,GAAG,UAAU,QAAM,SAASrB,IAAE;AAAC,MAAI6D,KAAE,KAAK;AAAgB,WAAOA,GAAE,cAAYA,GAAE,eAAaA,GAAE,gBAAc,QAAIA,GAAE,eAAa,MAAG,KAAK,WAAWA,GAAE,YAAWA,GAAE,eAAcA,GAAE,cAAc;AAAE,GAAE,GAAG,UAAU,WAAS,SAAS7D,IAAE6D,IAAE;AAAC,KAAG,UAAU,SAAS,KAAK,MAAK7D,KAAG,SAASA,IAAE;AAAC,IAAA6D,GAAE7D,EAAC;AAAA,EAAC,EAAC;AAAE;AAAE,IAAI,IAAG,KAAG,IAAG,KAAG;AAAG,SAAS,GAAGA,IAAE;AAAC,MAAG,EAAE,gBAAgB,IAAI,QAAO,IAAI,GAAGA,EAAC;AAAE,KAAG,KAAK,MAAKA,EAAC;AAAC;AAAC,GAAG,IAAG,EAAE,GAAE,GAAG,UAAU,aAAW,SAASA,IAAE6D,IAAE,GAAE;AAAC,IAAE,MAAK7D,EAAC;AAAC;AAAE,IAAI,KAAG,GAAG,OAAM,KAAG,GAAG,kBAAiB,KAAG,GAAG;AAAqB,SAAS,GAAGA,IAAE;AAAC,MAAGA,GAAE,OAAMA;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,EAAAA;AAAG;AAAC,SAAS,GAAGA,IAAE6D,IAAE;AAAC,SAAO7D,GAAE,KAAK6D,EAAC;AAAC;AAAC,IAAI,KAAG,WAAU;AAAC,WAAQ7D,KAAE,UAAU,QAAO6D,KAAE,IAAI,MAAM7D,EAAC,GAAE,IAAE,GAAE,IAAEA,IAAE,IAAI,CAAA6D,GAAE,CAAC,IAAE,UAAU,CAAC;AAAE,MAAIxC,IAAE,KAAE,SAASrB,IAAE;AAAC,WAAOA,GAAE,SAAO,cAAY,OAAOA,GAAEA,GAAE,SAAO,CAAC,IAAE,KAAGA,GAAE,IAAG,IAAG;AAAA,EAAE,GAAE6D,EAAC;AAAE,MAAG,MAAM,QAAQA,GAAE,CAAC,CAAC,MAAIA,KAAEA,GAAE,CAAC,IAAGA,GAAE,SAAO,EAAE,OAAM,IAAI,GAAG,SAAS;AAAE,MAAI,IAAEA,GAAE,KAAK,SAAS7D,IAAEwE,IAAE;AAAC,QAAI,IAAEA,KAAEX,GAAE,SAAO;AAAE,YAAO,SAAS7D,IAAE6D,IAAEW,IAAEnD,IAAE;AAAC,MAAAA,KAAE,0BAASrB,KAAE;AAAC,YAAI6D,KAAE;AAAG,eAAO,WAAU;AAAC,UAAAA,OAAIA,KAAE,MAAG7D,IAAE,MAAM,QAAO,SAAS;AAAA,QAAE;AAAA,MAAC,GAAEqB,EAAC;AAAE,UAAIoD,KAAE;AAAG,MAAAzE,GAAE,GAAG,UAAS,WAAU;AAAC,QAAAyE,KAAE;AAAA,MAAE,EAAC,GAAG,WAAS,OAAK,KAAG,KAAI,GAAGzE,IAAE,EAAC,UAAS6D,IAAE,UAASW,GAAC,IAAG,SAASxE,KAAE;AAAC,YAAGA,IAAE,QAAOqB,GAAErB,GAAC;AAAE,QAAAyE,KAAE,MAAGpD;MAAG,EAAC;AAAG,UAAIqD,KAAE;AAAG,aAAO,SAASb,IAAE;AAAC,YAAG,CAACY,MAAG,CAACC,GAAE,QAAOA,KAAE,OAAG,SAAS1E,KAAE;AAAC,iBAAOA,IAAE,aAAW,cAAY,OAAOA,IAAE;AAAA,QAAK,GAAEA,EAAC,IAAEA,GAAE,MAAK,IAAG,cAAY,OAAOA,GAAE,UAAQA,GAAE,QAAO,IAAG,KAAKqB,GAAEwC,MAAG,IAAI,GAAG,MAAM,CAAC;AAAA,MAAC;AAAA,IAAC,GAAE7D,IAAE,GAAEwE,KAAE,IAAG,SAASxE,IAAE;AAAC,MAAAqB,OAAIA,KAAErB,KAAGA,MAAG,EAAE,QAAQ,EAAE,GAAE,MAAI,EAAE,QAAQ,EAAE,GAAE,EAAEqB,EAAC;AAAA,IAAE,EAAC;AAAA,EAAE;AAAI,SAAOwC,GAAE,OAAO,EAAE;AAAC;AAAE,EAAC,SAAS7D,IAAE6D,IAAE;AAAC,GAACA,KAAE,GAAG,UAAQ,GAAE,GAAI,SAAOA,IAAEA,GAAE,WAASA,IAAEA,GAAE,WAAS,GAAE,GAAGA,GAAE,SAAO,GAAE,GAAGA,GAAE,YAAU,IAAGA,GAAE,cAAY,IAAGA,GAAE,WAAS,IAAGA,GAAE,WAAS;AAAE,GAAE,GAAE,GAAG,OAAO;AAAE,IAAI,KAAG,GAAG;AAAQ,SAAS,GAAG7D,KAAE,CAAA,GAAG;AAAC,QAAM6D,KAAE,IAAG,IAAE,IAAI,GAAG,OAAO,EAAC,YAAW,MAAG,MAAK,MAAI;AAAA,EAAC,GAAE,OAAM,SAASW,IAAE,GAAE,GAAE;AAAC,QAAI,IAAE;AAAK,QAAG;AAAC,OAACA,GAAE,MAAG,SAASA,IAAE;AAAC,SAAAxE,MAAA,gBAAAA,GAAG,mBAAgBwE,GAAE,WAASxE,GAAE,kBAAgB,OAAO,OAAO6D,EAAC,EAAE,SAAS,CAAC,EAAC,KAAI7D,IAAE,YAAWwE,KAAE,EAAC,MAAI;AAAC,cAAG,CAACxE,GAAE,GAAG;AAAO,cAAGwE,MAAG,EAAE,OAAM,IAAI,MAAM,2DAA2DxE,GAAE,EAAE,GAAG;AAAE,gBAAMqB,KAAEwC,GAAE7D,GAAE,EAAE;AAAE,UAAAqB,OAAIA,GAAE,aAAWmD,KAAE,IAAG,EAAExE,EAAC;AAAA,QAAC,EAAC;AAAG,QAAAqB,GAAE,KAAK,gBAAemD,EAAC;AAAA,MAAC,GAAEA,EAAC,KAAE,SAASxE,IAAE;AAAC,cAAK,EAAC,IAAGwE,GAAC,IAAExE;AAAE,YAAG,SAAOwE,GAAE;AAAO,cAAMnD,KAAEwC,GAAEW,EAAC;AAAE,YAAG,CAACnD,GAAE,QAAO,KAAK,QAAQ,KAAK,2CAA2CmD,EAAC,GAAG;AAAE,eAAOX,GAAEW,EAAC,GAAE,OAAO,OAAOnD,GAAE,KAAIrB,EAAC,GAAE,WAAWqB,GAAE,GAAG;AAAA,MAAC,GAAEmD,EAAC;AAAA,IAAC,SAAOxE,IAAE;AAAC,UAAEA;AAAA,IAAC;AAAC,MAAE,CAAC;AAAA,EAAC,EAAC,CAAC,GAAEqB,KAAE,IAAI;AAAG,SAAM,EAAC,QAAOA,IAAE,YAAW,CAACrB,IAAEwE,IAAEnD,IAAE,MAAI;AAAC,IAAAwC,GAAE7D,GAAE,EAAE,IAAE,EAAC,KAAIA,IAAE,KAAIwE,IAAE,MAAKnD,IAAE,KAAI,EAAC,GAAE,EAAErB,EAAC;AAAA,EAAC,GAAE,QAAO,EAAC;AAAE,WAAS,EAAEA,IAAE;AAAC,MAAE,KAAKA,EAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,CAAA,GAAG,KAAG,EAAC,SAAQ,CAAA,EAAE,GAAE,KAAG,SAASA,GAAE6D,IAAE,GAAE;AAAC,MAAGA,MAAG,EAAE,QAAO7D,GAAE6D,EAAC,EAAE,CAAC;AAAE,MAAG,cAAY,OAAOA,GAAE,OAAM,IAAI,UAAU,uBAAuB;AAAE,SAAO,OAAO,KAAKA,EAAC,EAAE,SAAS,SAAS7D,IAAE;AAAC,IAAAqB,GAAErB,EAAC,IAAE6D,GAAE7D,EAAC;AAAA,EAAC,EAAC,GAAGqB;AAAE,WAASA,KAAG;AAAC,aAAQrB,KAAE,IAAI,MAAM,UAAU,MAAM,GAAEwE,KAAE,GAAEA,KAAExE,GAAE,QAAOwE,KAAI,CAAAxE,GAAEwE,EAAC,IAAE,UAAUA,EAAC;AAAE,QAAInD,KAAEwC,GAAE,MAAM,MAAK7D,EAAC,GAAE,IAAEA,GAAEA,GAAE,SAAO,CAAC;AAAE,WAAM,cAAY,OAAOqB,MAAGA,OAAI,KAAG,OAAO,KAAK,CAAC,EAAE,SAAS,SAASrB,IAAE;AAAC,MAAAqB,GAAErB,EAAC,IAAE,EAAEA,EAAC;AAAA,IAAC,EAAC,GAAGqB;AAAA,EAAC;AAAC;AAAE,IAAI,KAAG;AAAG,SAAS,GAAGrB,IAAE;AAAC,MAAI6D,KAAE,WAAU;AAAC,WAAOA,GAAE,SAAOA,GAAE,SAAOA,GAAE,SAAO,MAAGA,GAAE,QAAM7D,GAAE,MAAM,MAAK,SAAS;AAAA,EAAE;AAAE,SAAO6D,GAAE,SAAO,OAAGA;AAAC;AAAC,SAAS,GAAG7D,IAAE;AAAC,MAAI6D,KAAE,WAAU;AAAC,QAAGA,GAAE,OAAO,OAAM,IAAI,MAAMA,GAAE,SAAS;AAAE,WAAOA,GAAE,SAAO,MAAGA,GAAE,QAAM7D,GAAE,MAAM,MAAK,SAAS;AAAA,EAAC,GAAE,IAAEA,GAAE,QAAM;AAA+B,SAAO6D,GAAE,YAAU,IAAE,uCAAsCA,GAAE,SAAO,OAAGA;AAAC;AAAC,GAAG,UAAQ,GAAG,EAAE,GAAE,GAAG,QAAQ,SAAO,GAAG,EAAE,GAAE,GAAG,QAAM,IAAI,WAAU;AAAC,SAAO,eAAe,SAAS,WAAU,QAAO,EAAC,OAAM,WAAU;AAAC,WAAO,GAAG,IAAI;AAAA,EAAC,GAAE,cAAa,KAAE,CAAC,GAAE,OAAO,eAAe,SAAS,WAAU,cAAa,EAAC,OAAM,WAAU;AAAC,WAAO,GAAG,IAAI;AAAA,EAAC,GAAE,cAAa,KAAE,CAAC;AAAC,EAAC;AAAG,IAAI,KAAG,GAAG,SAAQ,KAAG,CAAA;AAAG,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,YAAU;AAAO,MAAM,KAAG;AAAG,MAAM,WAAW,GAAG,OAAM;AAAA,EAAC,YAAY,EAAC,QAAO7D,IAAE,MAAK6D,GAAC,GAAE;AAAC,UAAM,EAAC,YAAW,KAAE,CAAC,GAAE,KAAK,UAAQ7D,IAAE,KAAK,QAAM6D;AAAA,EAAC;AAAA,EAAC,QAAO;AAAA,EAAC;AAAA,EAAC,OAAO7D,IAAE6D,IAAE,GAAE;AAAC,SAAK,QAAQ,KAAK,EAAC,MAAK,KAAK,OAAM,MAAK7D,GAAC,CAAC,GAAE,EAAC;AAAA,EAAE;AAAC;AAAC,GAAG,YAAU;AAAG,IAAI,KAAG,MAAI,GAAG,mBAAiB,SAASA,IAAE;AAAC,SAAOA,MAAGA,GAAE,aAAWA,KAAE,EAAC,SAAQA,GAAC;AAAC;AAAE,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,kBAAgB;AAAO,MAAM,KAAG,IAAG,KAAG,GAAG,EAAE,GAAE,KAAG,IAAG,KAAG,OAAO,kBAAkB;AAAE,IAAI,KAAG,cAAc,GAAG,OAAM;AAAA,EAAC,YAAYA,KAAE,CAAA,GAAG;AAAC,UAAM,OAAO,OAAO,OAAO,OAAO,CAAA,GAAGA,EAAC,GAAE,EAAC,YAAW,KAAE,CAAC,CAAC,GAAE,KAAK,cAAY,CAAA;AAAA,EAAE;AAAA,EAAC,aAAaA,IAAE;AAAC,QAAG,KAAK,UAAU,OAAM,IAAI,MAAM,6CAA6CA,EAAC,qBAAqB;AAAE,QAAG,KAAK,eAAe,SAAO,KAAK,eAAe,MAAM,OAAM,IAAI,MAAM,6CAA6CA,EAAC,iBAAiB;AAAE,QAAG,CAACA,GAAE,OAAM,IAAI,MAAM,0CAA0C;AAAE,QAAG,KAAK,YAAYA,EAAC,EAAE,OAAM,IAAI,MAAM,yCAAyCA,EAAC,kBAAkB;AAAE,UAAM6D,KAAE,IAAI,GAAG,UAAU,EAAC,QAAO,MAAK,MAAK7D,GAAC,CAAC;AAAE,WAAO,KAAK,YAAYA,EAAC,IAAE6D,KAAE,SAAS7D,IAAE6D,IAAE;AAAC,YAAM,KAAE,GAAG,GAAG,SAASA,EAAC;AAAE,OAAA,GAAG,GAAG,UAAU7D,IAAE,EAAC,UAAS,MAAE,GAAE,CAAC,IAAE,GAAG,GAAG,UAAUA,IAAE,EAAC,UAAS,MAAE,GAAE,CAAC;AAAA,IAAC,GAAE,OAAM,CAAAA,OAAG6D,GAAE,QAAQ7D,MAAG,MAAM,EAAC,GAAG6D;AAAA,EAAC;AAAA,EAAC,aAAa7D,IAAE;AAAC,QAAG,CAACA,GAAE,OAAM,IAAI,MAAM,0CAA0C;AAAE,QAAG,KAAK,YAAYA,EAAC,EAAE,OAAM,IAAI,MAAM,yCAAyCA,EAAC,kBAAkB;AAAE,SAAK,YAAYA,EAAC,IAAE;AAAA,EAAE;AAAA,EAAC,QAAO;AAAA,EAAC;AAAA,EAAC,OAAOA,IAAE6D,IAAE,GAAE;AAAC,UAAK,EAAC,MAAKxC,IAAE,MAAK,EAAC,IAAErB;AAAE,QAAG,CAACqB,GAAE,QAAO,QAAQ,KAAK,mDAAmDrB,EAAC,GAAG,GAAE,EAAC;AAAG,UAAM,IAAE,KAAK,YAAYqB,EAAC;AAAE,WAAO,KAAG,MAAI,MAAI,EAAE,KAAK,CAAC,GAAE,EAAC,MAAK,QAAQ,KAAK,+CAA+CA,EAAC,GAAG,GAAE,EAAC;AAAA,EAAG;AAAC;AAAE,GAAG,kBAAgB;AAAG,IAAI,KAAG,GAAG,GAAG,eAAe;AAAE,MAAM,KAAG,CAAArB,OAAG,SAAOA,MAAG,YAAU,OAAOA,MAAG,cAAY,OAAOA,GAAE;AAAK,GAAG,WAAS,CAAAA,OAAG,GAAGA,EAAC,KAAG,UAAKA,GAAE,YAAU,cAAY,OAAOA,GAAE,UAAQ,YAAU,OAAOA,GAAE,gBAAe,GAAG,WAAS,CAAAA,OAAG,GAAGA,EAAC,KAAG,UAAKA,GAAE,YAAU,cAAY,OAAOA,GAAE,SAAO,YAAU,OAAOA,GAAE,gBAAe,GAAG,SAAO,CAAAA,OAAG,GAAG,SAASA,EAAC,KAAG,GAAG,SAASA,EAAC,GAAE,GAAG,YAAU,CAAAA,OAAG,GAAG,OAAOA,EAAC,KAAG,cAAY,OAAOA,GAAE;AAAW,IAAI,IAAG,KAAG,IAAG,KAAG,cAAc,GAAE;AAAA,EAAC,YAAYA,IAAE,EAAC,mBAAkB6D,IAAE,QAAO,IAAE,SAAQ,mBAAkBxC,KAAE,KAAI,eAAc,IAAE,CAAA,EAAE,GAAE;AAAC,QAAG,MAAM,EAAC,QAAO,GAAE,mBAAkBA,IAAE,eAAc,EAAC,CAAC,GAAE,CAAC,GAAG,OAAOrB,EAAC,EAAE,OAAM,IAAI,MAAM,GAAG,OAAO,oBAAmB,CAAE;AAAE,SAAK,0BAAwB,KAAK,wBAAwB,KAAK,IAAI;AAAE,UAAM,IAAE,IAAI;AAAG,OAAG,SAASA,IAAE,GAAEA,IAAE,KAAK,wBAAwB,KAAK,MAAK,UAAU,CAAC,GAAE,KAAK,qBAAmB,GAAG,EAAC,gBAAe,uCAAsC,CAAC,GAAE,GAAG,SAAS,KAAK,mBAAmB,QAAO,EAAE,aAAa6D,EAAC,GAAE,KAAK,mBAAmB,QAAO,KAAK,wBAAwB,KAAK,MAAK,sBAAsB,CAAC,GAAE,KAAK,WAAW,KAAK,KAAK,mBAAmB,UAAU,GAAE,KAAK,mBAAmB,OAAO,GAAG,iBAAgB,CAAAA,OAAG;AAAC,YAAK,EAAC,QAAOW,IAAE,QAAOnD,GAAC,IAAEwC;AAAE,qCAA6BW,KAAE,KAAK,uBAAuBnD,EAAC,IAAE,kCAAgCmD,KAAE,KAAK,0BAA0BnD,EAAC,IAAE,4BAA0BmD,KAAE,KAAK,oBAAoBnD,EAAC,IAAE,GAAG,SAASmD,EAAC,IAAE,KAAK,KAAK,WAAU,EAAC,MAAKA,IAAE,MAAKnD,GAAC,CAAC,IAAE,8BAA4BmD,MAAGxE,GAAE,QAAQ,IAAI,MAAM,GAAG,OAAO,wBAAuB,CAAE,CAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,MAAM,wBAAuB;AAAC,QAAIA;AAAE,QAAG;AAAC,MAAAA,KAAE,MAAM,KAAK,QAAQ,EAAC,QAAO,4BAA2B,CAAC;AAAA,IAAC,SAAOA,IAAE;AAAC,WAAK,KAAK,MAAM,kEAAiEA,EAAC;AAAA,IAAC;AAAC,SAAK,iBAAiBA,EAAC;AAAA,EAAC;AAAA,EAAC,wBAAwBA,IAAE6D,IAAE;AAAC,QAAI,IAAE,iCAAiC7D,EAAC;AAAK,KAAA6D,MAAA,gBAAAA,GAAG,WAAQ,KAAG;AAAA,EAAKA,GAAE,KAAK,KAAI,KAAK,KAAK,KAAK,CAAC,GAAE,KAAK,cAAc,OAAO,IAAE,KAAG,KAAK,KAAK,SAAQ,CAAC,GAAE,KAAK,kBAAkB,OAAGA,KAAEA,GAAE,UAAQ,MAAM;AAAA,EAAC;AAAA,EAAC,oBAAoB,EAAC,SAAQ7D,IAAE,gBAAe6D,GAAC,IAAE,CAAA,GAAG;AAAC,OAAG7D,EAAC,MAAI,CAAAA,OAAG,QAAQA,EAAC,KAAG,YAAU,OAAOA,IAAG6D,EAAC,IAAE,cAAYA,KAAE,KAAK,kBAAkB,IAAE,IAAE,MAAM,oBAAoB,EAAC,SAAQ7D,GAAC,CAAC,IAAE,KAAK,KAAK,MAAM,GAAG,OAAO,qBAAoB,GAAG,EAAC,SAAQA,IAAE,gBAAe6D,GAAC,CAAC;AAAA,EAAC;AAAC,GAAE,KAAG,cAAc,GAAE;AAAA,EAAC,YAAY7D,IAAE,EAAC,mBAAkB6D,KAAE,qBAAoB,QAAO,IAAE,SAAQ,mBAAkBxC,KAAE,KAAI,oBAAmB,EAAC,IAAE,CAAA,GAAG;AAAC,QAAG,MAAMrB,IAAE,EAAC,mBAAkB6D,IAAE,QAAO,GAAE,mBAAkBxC,IAAE,eAAc,GAAG,CAAC,EAAC,CAAC,GAAE,KAAK,gBAAc,EAAC,SAAQ,OAAG,gBAAe,OAAG,iBAAgB,OAAG,QAAO,OAAG,qBAAoB,OAAG,MAAK,OAAG,QAAO,EAAC,OAAM,OAAG,MAAK,OAAG,gBAAe,OAAG,cAAa,MAAE,EAAC,GAAE,GAAG,MAAK,IAAG,MAAM,GAAE,KAAK,sBAAqB,GAAG,GAAG,MAAK,IAAG,IAAI,GAAE,KAAK,aAAW,MAAG,KAAK,YAAU,KAAK,UAAU,KAAK,IAAI,GAAE,KAAK,SAAO,KAAK,OAAO,KAAK,IAAI,GAAE,KAAK,OAAK,KAAK,KAAK,KAAK,IAAI,GAAE,KAAK,YAAU,KAAK,UAAU,KAAK,IAAI,GAAE,KAAK,qBAAmB,KAAK,mBAAmB,KAAK,IAAI,GAAE,KAAK,YAAU,KAAK,oBAAmB,GAAG,KAAK,mBAAmB,OAAO,GAAG,iBAAgB,CAAArB,OAAG;AAAC,YAAK,EAAC,QAAO6D,GAAC,IAAE7D;AAAE,SAAG,SAAS6D,EAAC,MAAI,KAAK,KAAK,QAAO7D,EAAC,GAAE,KAAK,KAAK,gBAAeA,GAAE,OAAO,MAAM;AAAA,IAAE,EAAC,GAAG,EAAE,KAAG,eAAa,SAAS,WAAW,IAAG,KAAK,YAAW,KAAK,IAAI;AAAA,SAAM;AAAC,YAAMA,KAAE,MAAI;AAAC,WAAG,KAAK,YAAW,KAAK,IAAI,GAAE,OAAO,oBAAoB,oBAAmBA,EAAC;AAAA,MAAC;AAAE,aAAO,iBAAiB,oBAAmBA,EAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,IAAI,UAAS;AAAC,WAAO,KAAK,cAAc,YAAU,KAAK,KAAK,KAAK,GAAG,SAAS,kBAAkB,GAAE,KAAK,cAAc,UAAQ,OAAI,MAAM;AAAA,EAAO;AAAA,EAAC,IAAI,iBAAgB;AAAC,WAAO,KAAK,cAAc,mBAAiB,KAAK,KAAK,KAAK,GAAG,SAAS,yBAAyB,GAAE,KAAK,cAAc,iBAAe,OAAI,GAAG,MAAK,EAAE;AAAA,EAAC;AAAA,EAAC,IAAI,kBAAiB;AAAC,WAAO,KAAK,cAAc,oBAAkB,KAAK,KAAK,KAAK,GAAG,SAAS,0BAA0B,GAAE,KAAK,cAAc,kBAAgB,OAAI,MAAM;AAAA,EAAe;AAAA,EAAC,UAAUA,IAAE6D,IAAE;AAAC,SAAK,YAAY7D,IAAE6D,EAAC;AAAA,EAAC;AAAA,EAAC,YAAY7D,IAAE6D,IAAE;AAAC,WAAO,KAAK,mBAAmB7D,EAAC,GAAE,MAAM,YAAYA,IAAE6D,EAAC;AAAA,EAAC;AAAA,EAAC,GAAG7D,IAAE6D,IAAE;AAAC,WAAO,KAAK,mBAAmB7D,EAAC,GAAE,MAAM,GAAGA,IAAE6D,EAAC;AAAA,EAAC;AAAA,EAAC,KAAK7D,IAAE6D,IAAE;AAAC,WAAO,KAAK,mBAAmB7D,EAAC,GAAE,MAAM,KAAKA,IAAE6D,EAAC;AAAA,EAAC;AAAA,EAAC,gBAAgB7D,IAAE6D,IAAE;AAAC,WAAO,KAAK,mBAAmB7D,EAAC,GAAE,MAAM,gBAAgBA,IAAE6D,EAAC;AAAA,EAAC;AAAA,EAAC,oBAAoB7D,IAAE6D,IAAE;AAAC,WAAO,KAAK,mBAAmB7D,EAAC,GAAE,MAAM,oBAAoBA,IAAE6D,EAAC;AAAA,EAAC;AAAA,EAAC,kBAAkB7D,IAAE6D,IAAE;AAAC,UAAM,kBAAkB7D,IAAE6D,EAAC,GAAE,GAAG,MAAK,EAAE,KAAG,CAAC7D,MAAG,GAAG,MAAK,IAAG,IAAI;AAAA,EAAC;AAAA,EAAC,mBAAmBA,IAAE;;gBAAMmC,MAAA,KAAK,kBAAL,gBAAAA,IAAoB,OAAOnC,SAAK,KAAK,KAAK,KAAK,GAAG,SAAS,OAAOA,EAAC,CAAC,GAAE,KAAK,cAAc,OAAOA,EAAC,IAAE;AAAA,EAAG;AAAA,EAAC,MAAM,SAAQ;AAAC,WAAO,KAAK,cAAc,WAAS,KAAK,KAAK,KAAK,GAAG,SAAS,iBAAiB,GAAE,KAAK,cAAc,SAAO,OAAI,IAAI,SAAS,CAACA,IAAE6D,OAAI;AAAC,UAAG;AAAC,aAAK,YAAY,EAAC,QAAO,uBAAsB,QAAO,CAAA,EAAE,GAAE,GAAG7D,IAAE6D,EAAC,CAAC;AAAA,MAAC,SAAO7D,IAAE;AAAC,QAAA6D,GAAE7D,EAAC;AAAA,MAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,KAAKA,IAAE6D,IAAE;AAAC,WAAO,KAAK,cAAc,SAAO,KAAK,KAAK,KAAK,GAAG,SAAS,eAAe,GAAE,KAAK,cAAc,OAAK,OAAI,YAAU,OAAO7D,MAAG6D,MAAG,CAAC,MAAM,QAAQA,EAAC,IAAE7D,MAAG,YAAU,OAAOA,MAAG,cAAY,OAAO6D,KAAE,KAAK,YAAY7D,IAAE6D,EAAC,IAAE,KAAK,UAAU7D,EAAC,IAAE,IAAI,SAAS,CAAC,GAAEqB,OAAI;AAAC,UAAG;AAAC,aAAK,YAAY,EAAC,QAAOrB,IAAE,QAAO6D,GAAC,GAAE,GAAG,GAAExC,IAAE,KAAE,CAAC;AAAA,MAAC,SAAOrB,IAAE;AAAC,QAAAqB,GAAErB,EAAC;AAAA,MAAC;AAAA,IAAC;EAAG;AAAA,EAAC,UAAUA,IAAE;AAAC,QAAI6D;AAAE,YAAO7D,GAAE;MAAQ,KAAI;AAAe,QAAA6D,KAAE,KAAK,kBAAgB,CAAC,KAAK,eAAe,IAAE,CAAA;AAAG;AAAA,MAAM,KAAI;AAAe,QAAAA,KAAE,KAAK,mBAAiB;AAAK;AAAA,MAAM,KAAI;AAAsB,aAAK,YAAY7D,IAAE,EAAE,GAAE6D,KAAE;AAAG;AAAA,MAAM,KAAI;AAAc,QAAAA,KAAE,GAAG,MAAK,EAAE,KAAG;AAAK;AAAA,MAAM;AAAQ,cAAM,IAAI,MAAM,GAAG,OAAO,gBAAgB7D,GAAE,MAAM,CAAC;AAAA,IAAC;AAAC,WAAM,EAAC,IAAGA,GAAE,IAAG,SAAQA,GAAE,SAAQ,QAAO6D,GAAC;AAAA,EAAC;AAAA,EAAC,sBAAqB;AAAC,WAAO,IAAI,MAAM,EAAC,YAAW,aAAU,KAAK,OAAO,eAAa,MAAM,IAAI,SAAS,CAAA7D,OAAG;AAAC,WAAK,GAAG,iBAAgB,MAAIA,GAAC,EAAE;AAAA,IAAE,EAAC,GAAG,KAAK,OAAO,aAAY,cAAa,OAAMA,OAAG;AAAC,UAAG,CAAC,MAAM,QAAQA,EAAC,EAAE,OAAM,GAAG,EAAC,SAAQ,iEAAgE,MAAKA,GAAC,CAAC;AAAE,aAAO,IAAI,SAAS,CAAC6D,IAAE,MAAI;AAAC,aAAK,YAAY7D,IAAE,GAAG6D,IAAE,CAAC,CAAC;AAAA,MAAC,EAAC;AAAA,IAAE,EAAC,GAAE,EAAC,KAAI,CAAC7D,IAAE6D,OAAK,OAAK,KAAK,cAAc,wBAAsB,KAAK,KAAK,KAAK,GAAG,SAAS,mBAAmB,GAAE,KAAK,cAAc,sBAAoB,OAAI,QAAQ,IAAI7D,IAAE6D,IAAE,GAAG,CAAC,GAAE,CAAC;AAAA,EAAC;AAAA,EAAC,oBAAoB,EAAC,SAAQ7D,IAAE,gBAAe6D,GAAC,IAAE,CAAA,GAAG;AAAC,UAAM,oBAAoB,EAAC,SAAQ7D,IAAE,gBAAe6D,GAAC,CAAC,GAAE,KAAK,OAAO,eAAaA,OAAI,GAAG,MAAK,EAAE,MAAI,GAAG,MAAK,IAAGA,EAAC,GAAE,KAAK,OAAO,eAAa,KAAK,KAAK,kBAAiB,GAAG,MAAK,EAAE,CAAC;AAAA,EAAE;AAAC;AAAE,KAAG,oBAAI;AAAQ,MAAM,KAAG,EAAE,QAAQ;AAAE,IAAI;AAAG,GAAG,QAAM;AAAU,IAAI,KAAG,CAAA,GAAG,KAAG;AAAG,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,wBAAsB,GAAG,mBAAiB;AAAO,MAAM,KAAG;AAAG,MAAM,WAAW,MAAK;AAAA,EAAC,YAAY7D,IAAE6D,IAAE,GAAE;AAAC,QAAG,CAAC,OAAO,UAAU7D,EAAC,EAAE,OAAM,IAAI,MAAM,4BAA4B;AAAE,QAAG,CAAC6D,MAAG,YAAU,OAAOA,GAAE,OAAM,IAAI,MAAM,sCAAsC;AAAE,UAAMA,EAAC,GAAE,KAAK,OAAK7D,IAAE,WAAS,MAAI,KAAK,OAAK;AAAA,EAAE;AAAA,EAAC,YAAW;AAAC,UAAMA,KAAE,EAAC,MAAK,KAAK,MAAK,SAAQ,KAAK,QAAO;AAAE,WAAO,WAAS,KAAK,SAAOA,GAAE,OAAK,KAAK,OAAM,KAAK,UAAQA,GAAE,QAAM,KAAK,QAAOA;AAAA,EAAC;AAAA,EAAC,WAAU;AAAC,WAAO,GAAG,QAAQ,KAAK,UAAS,GAAG,IAAG,CAAC;AAAA,EAAC;AAAC;AAAC,GAAG,mBAAiB;AAAG,SAAS,GAAGA,IAAE6D,IAAE;AAAC,MAAG,iBAAeA,GAAE,QAAOA;AAAC;AAAC,GAAG,wBAAsB,cAAc,GAAE;AAAA,EAAC,YAAY7D,IAAE6D,IAAE,GAAE;AAAC,QAAG,EAAC,SAAS7D,IAAE;AAAC,aAAO,OAAO,UAAUA,EAAC,KAAGA,MAAG,OAAKA,MAAG;AAAA,IAAI,GAAEA,EAAC,EAAE,OAAM,IAAI,MAAM,2DAA2D;AAAE,UAAMA,IAAE6D,IAAE,CAAC;AAAA,EAAC;AAAC;AAAE,IAAI,KAAG,CAAA,GAAG,KAAG,CAAA;AAAG,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,cAAY,GAAG,aAAW,QAAO,GAAG,aAAW,EAAC,KAAI,EAAC,cAAa,OAAM,kBAAiB,QAAO,qBAAoB,QAAO,qBAAoB,QAAO,oBAAmB,QAAO,eAAc,QAAO,OAAM,QAAO,gBAAe,QAAO,gBAAe,QAAO,eAAc,QAAO,UAAS,OAAM,GAAE,UAAS,EAAC,qBAAoB,MAAK,cAAa,MAAK,mBAAkB,MAAK,cAAa,MAAK,mBAAkB,KAAI,EAAC,GAAE,GAAG,cAAY,EAAC,UAAS,EAAC,UAAS,gBAAe,SAAQ,wGAAuG,GAAE,UAAS,EAAC,UAAS,gBAAe,SAAQ,+CAA8C,GAAE,UAAS,EAAC,UAAS,gBAAe,SAAQ,gDAA+C,GAAE,UAAS,EAAC,UAAS,gBAAe,SAAQ,+BAA8B,GAAE,UAAS,EAAC,UAAS,gBAAe,SAAQ,2BAA0B,GAAE,UAAS,EAAC,UAAS,YAAW,SAAQ,iBAAgB,GAAE,UAAS,EAAC,UAAS,YAAW,SAAQ,sBAAqB,GAAE,UAAS,EAAC,UAAS,YAAW,SAAQ,wBAAuB,GAAE,UAAS,EAAC,UAAS,YAAW,SAAQ,wBAAuB,GAAE,UAAS,EAAC,UAAS,YAAW,SAAQ,wBAAuB,GAAE,UAAS,EAAC,UAAS,YAAW,SAAQ,0BAAyB,GAAE,MAAK,EAAC,UAAS,YAAW,SAAQ,6BAA4B,GAAE,MAAK,EAAC,UAAS,YAAW,SAAQ,2EAA0E,GAAE,MAAK,EAAC,UAAS,YAAW,SAAQ,mEAAkE,GAAE,MAAK,EAAC,UAAS,YAAW,SAAQ,gDAA+C,GAAE,MAAK,EAAC,UAAS,YAAW,SAAQ,yDAAwD,EAAC,IAAE,SAAS7D,IAAE;AAAC,SAAO,eAAeA,IAAE,cAAa,EAAC,OAAM,KAAE,CAAC,GAAEA,GAAE,iBAAeA,GAAE,cAAYA,GAAE,qBAAmBA,GAAE,gCAA8B;AAAO,QAAM6D,KAAE,IAAG,IAAE,IAAGxC,KAAEwC,GAAE,WAAW,IAAI,UAAS,IAAE,+DAA8D,IAAE,EAAC,MAAKxC,IAAE,SAAQ,EAAEA,EAAC,EAAC;AAAE,WAAS,EAAEmD,IAAEnD,KAAE,GAAE;AAAC,QAAG,OAAO,UAAUmD,EAAC,GAAE;AAAC,YAAMnD,KAAEmD,GAAE,SAAQ;AAAG,UAAG5D,GAAEiD,GAAE,aAAYxC,EAAC,EAAE,QAAOwC,GAAE,YAAYxC,EAAC,EAAE;AAAQ,UAAGD,GAAEoD,EAAC,EAAE,QAAOxE,GAAE;AAAA,IAA6B;AAAC,WAAOqB;AAAA,EAAC;AAAC,WAAS,EAAErB,IAAE;AAAC,QAAG,CAAC,OAAO,UAAUA,EAAC,EAAE,QAAM;AAAG,UAAMwE,KAAExE,GAAE,SAAQ;AAAG,WAAM,CAAC,CAAC6D,GAAE,YAAYW,EAAC,KAAG,CAAC,CAACpD,GAAEpB,EAAC;AAAA,EAAC;AAAC,WAASoB,GAAEpB,IAAE;AAAC,WAAOA,MAAG,UAAQA,MAAG;AAAA,EAAK;AAAC,WAAS4C,GAAE5C,IAAE;AAAC,WAAOA,MAAG,YAAU,OAAOA,MAAG,CAAC,MAAM,QAAQA,EAAC,IAAE,OAAO,OAAO,CAAA,GAAGA,EAAC,IAAEA;AAAA,EAAC;AAAC,WAASY,GAAEZ,IAAE6D,IAAE;AAAC,WAAO,OAAO,UAAU,eAAe,KAAK7D,IAAE6D,EAAC;AAAA,EAAC;AAAC,EAAA7D,GAAE,gCAA8B,6BAA4BA,GAAE,qBAAmB,GAAEA,GAAE,cAAY,GAAEA,GAAE,iBAAe,SAASA,IAAE,EAAC,eAAc6D,KAAE,GAAE,oBAAmBxC,KAAE,MAAE,IAAE,IAAG;AAAC,QAAIoD,IAAErD;AAAE,QAAG,CAACyC,MAAG,CAAC,OAAO,UAAUA,GAAE,IAAI,KAAG,YAAU,OAAOA,GAAE,QAAQ,OAAM,IAAI,MAAM,0EAA0E;AAAE,QAAG7D,cAAa,EAAE,iBAAiB,QAAOA,GAAE,UAAS;AAAG,UAAMsE,KAAE,CAAA;AAAG,QAAGtE,MAAG,YAAU,OAAOA,MAAG,CAAC,MAAM,QAAQA,EAAC,KAAGY,GAAEZ,IAAE,MAAM,KAAG,EAAEA,GAAE,IAAI,GAAE;AAAC,YAAM6D,KAAE7D;AAAE,MAAAsE,GAAE,OAAKT,GAAE,MAAKA,GAAE,WAAS,YAAU,OAAOA,GAAE,WAASS,GAAE,UAAQT,GAAE,SAAQjD,GAAEiD,IAAE,MAAM,MAAIS,GAAE,OAAKT,GAAE,UAAQS,GAAE,UAAQ,EAAEA,GAAE,IAAI,GAAEA,GAAE,OAAK,EAAC,eAAc1B,GAAE5C,EAAC,EAAC;AAAA,IAAE,OAAK;AAAC,MAAAsE,GAAE,OAAKT,GAAE;AAAK,YAAMW,KAAE,UAAQC,KAAEzE,OAAI,WAASyE,KAAE,SAAOA,GAAE;AAAQ,MAAAH,GAAE,UAAQE,MAAG,YAAU,OAAOA,KAAEA,KAAEX,GAAE,SAAQS,GAAE,OAAK,EAAC,eAAc1B,GAAE5C,EAAC,EAAC;AAAA,IAAC;AAAC,UAAMW,KAAE,UAAQS,KAAEpB,OAAI,WAASoB,KAAE,SAAOA,GAAE;AAAM,WAAOC,MAAGrB,MAAGW,MAAG,YAAU,OAAOA,OAAI2D,GAAE,QAAM3D,KAAG2D;AAAA,EAAC;AAAC,GAAE,EAAE;AAAE,IAAI,KAAG,CAAA;AAAG,OAAO,eAAe,IAAG,cAAa,EAAC,OAAM,KAAE,CAAC,GAAE,GAAG,YAAU;AAAO,MAAM,KAAG,IAAG,KAAG,IAAG,KAAG;AAAG,SAAS,GAAGtE,IAAE6D,IAAE;AAAC,QAAK,CAAC,GAAExC,EAAC,IAAE,GAAGwC,EAAC;AAAE,SAAO,IAAI,GAAG,iBAAiB7D,IAAE,KAAG,GAAG,mBAAmBA,EAAC,GAAEqB,EAAC;AAAC;AAAC,SAAS,GAAGrB,IAAE6D,IAAE;AAAC,QAAK,CAAC,GAAExC,EAAC,IAAE,GAAGwC,EAAC;AAAE,SAAO,IAAI,GAAG,sBAAsB7D,IAAE,KAAG,GAAG,mBAAmBA,EAAC,GAAEqB,EAAC;AAAC;AAAC,SAAS,GAAGrB,IAAE;AAAC,MAAGA,IAAE;AAAC,QAAG,YAAU,OAAOA,GAAE,QAAM,CAACA,EAAC;AAAE,QAAG,YAAU,OAAOA,MAAG,CAAC,MAAM,QAAQA,EAAC,GAAE;AAAC,YAAK,EAAC,SAAQ6D,IAAE,MAAK,EAAC,IAAE7D;AAAE,UAAG6D,MAAG,YAAU,OAAOA,GAAE,OAAM,IAAI,MAAM,8BAA8B;AAAE,aAAM,CAACA,MAAG,QAAO,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC,SAAM,CAAA;AAAE;AAAC,GAAG,YAAU,EAAC,KAAI,EAAC,OAAM,CAAA7D,OAAG,GAAG,GAAG,WAAW,IAAI,OAAMA,EAAC,GAAE,gBAAe,CAAAA,OAAG,GAAG,GAAG,WAAW,IAAI,gBAAeA,EAAC,GAAE,eAAc,CAAAA,OAAG,GAAG,GAAG,WAAW,IAAI,eAAcA,EAAC,GAAE,gBAAe,CAAAA,OAAG,GAAG,GAAG,WAAW,IAAI,gBAAeA,EAAC,GAAE,UAAS,CAAAA,OAAG,GAAG,GAAG,WAAW,IAAI,UAASA,EAAC,GAAE,QAAO,CAAAA,OAAG;AAAC,MAAG,CAACA,MAAG,YAAU,OAAOA,MAAG,MAAM,QAAQA,EAAC,EAAE,OAAM,IAAI,MAAM,iEAAiE;AAAE,QAAK,EAAC,MAAK6D,GAAC,IAAE7D;AAAE,MAAG,CAAC,OAAO,UAAU6D,EAAC,KAAGA,KAAE,UAAQA,KAAE,OAAO,OAAM,IAAI,MAAM,+DAA+D;AAAE,SAAO,GAAGA,IAAE7D,EAAC;AAAC,GAAE,cAAa,CAAAA,OAAG,GAAG,GAAG,WAAW,IAAI,cAAaA,EAAC,GAAE,kBAAiB,CAAAA,OAAG,GAAG,GAAG,WAAW,IAAI,kBAAiBA,EAAC,GAAE,qBAAoB,CAAAA,OAAG,GAAG,GAAG,WAAW,IAAI,qBAAoBA,EAAC,GAAE,qBAAoB,CAAAA,OAAG,GAAG,GAAG,WAAW,IAAI,qBAAoBA,EAAC,GAAE,oBAAmB,CAAAA,OAAG,GAAG,GAAG,WAAW,IAAI,oBAAmBA,EAAC,GAAE,eAAc,CAAAA,OAAG,GAAG,GAAG,WAAW,IAAI,eAAcA,EAAC,EAAC,GAAE,UAAS,EAAC,qBAAoB,CAAAA,OAAG,GAAG,GAAG,WAAW,SAAS,qBAAoBA,EAAC,GAAE,cAAa,CAAAA,OAAG,GAAG,GAAG,WAAW,SAAS,cAAaA,EAAC,GAAE,mBAAkB,CAAAA,OAAG,GAAG,GAAG,WAAW,SAAS,mBAAkBA,EAAC,GAAE,cAAa,CAAAA,OAAG,GAAG,GAAG,WAAW,SAAS,cAAaA,EAAC,GAAE,mBAAkB,CAAAA,OAAG,GAAG,GAAG,WAAW,SAAS,mBAAkBA,EAAC,GAAE,QAAO,CAAAA,OAAG;AAAC,MAAG,CAACA,MAAG,YAAU,OAAOA,MAAG,MAAM,QAAQA,EAAC,EAAE,OAAM,IAAI,MAAM,sEAAsE;AAAE,QAAK,EAAC,MAAK6D,IAAE,SAAQ,GAAE,MAAKxC,GAAC,IAAErB;AAAE,MAAG,CAAC,KAAG,YAAU,OAAO,EAAE,OAAM,IAAI,MAAM,qCAAqC;AAAE,SAAO,IAAI,GAAG,sBAAsB6D,IAAE,GAAExC,EAAC;AAAC,EAAC,EAAC,IAAE,SAASrB,IAAE;AAAC,SAAO,eAAeA,IAAE,cAAa,EAAC,OAAM,KAAE,CAAC,GAAEA,GAAE,qBAAmBA,GAAE,iBAAeA,GAAE,wBAAsBA,GAAE,mBAAiBA,GAAE,YAAUA,GAAE,aAAW;AAAO,QAAM6D,KAAE;AAAG,SAAO,eAAe7D,IAAE,oBAAmB,EAAC,YAAW,MAAG,KAAI,WAAU;AAAC,WAAO6D,GAAE;AAAA,EAAgB,EAAC,CAAC,GAAE,OAAO,eAAe7D,IAAE,yBAAwB,EAAC,YAAW,MAAG,KAAI,WAAU;AAAC,WAAO6D,GAAE;AAAA,EAAqB,EAAC,CAAC;AAAE,QAAM,IAAE;AAAG,SAAO,eAAe7D,IAAE,kBAAiB,EAAC,YAAW,MAAG,KAAI,WAAU;AAAC,WAAO,EAAE;AAAA,EAAc,EAAC,CAAC,GAAE,OAAO,eAAeA,IAAE,sBAAqB,EAAC,YAAW,MAAG,KAAI,WAAU;AAAC,WAAO,EAAE;AAAA,EAAkB,EAAC,CAAC;AAAE,QAAMqB,KAAE;AAAG,SAAO,eAAerB,IAAE,aAAY,EAAC,YAAW,MAAG,KAAI,WAAU;AAAC,WAAOqB,GAAE;AAAA,EAAS,EAAC,CAAC;AAAE,QAAM,IAAE;AAAG,SAAO,eAAerB,IAAE,cAAa,EAAC,YAAW,MAAG,KAAI,WAAU;AAAC,WAAO,EAAE;AAAA,EAAU,EAAC,CAAC;AAAC,GAAE,EAAE;AAAE,IAAI,KAAG,EAAC,SAAQ,CAAA,EAAE;AAAE,GAAG,WAAQ,SAASA,IAAE;AAAC,MAAI6D,KAAE;AAAG,WAAS,EAAExC,IAAE;AAAC,QAAGwC,GAAExC,EAAC,EAAE,QAAOwC,GAAExC,EAAC,EAAE;AAAQ,QAAI,IAAEwC,GAAExC,EAAC,IAAE,EAAC,GAAEA,IAAE,GAAE,OAAG,SAAQ,CAAA,EAAE;AAAE,WAAOrB,GAAEqB,EAAC,EAAE,KAAK,EAAE,SAAQ,GAAE,EAAE,SAAQ,CAAC,GAAE,EAAE,IAAE,MAAG,EAAE;AAAA,EAAO;AAAC,SAAO,EAAE,IAAErB,IAAE,EAAE,IAAE6D,IAAE,EAAE,IAAE,SAAS7D,IAAE6D,IAAExC,IAAE;AAAC,MAAE,EAAErB,IAAE6D,EAAC,KAAG,OAAO,eAAe7D,IAAE6D,IAAE,EAAC,YAAW,MAAG,KAAIxC,GAAC,CAAC;AAAA,EAAC,GAAE,EAAE,IAAE,SAASrB,IAAE;AAAC,mBAAa,OAAO,UAAQ,OAAO,eAAa,OAAO,eAAeA,IAAE,OAAO,aAAY,EAAC,OAAM,SAAQ,CAAC,GAAE,OAAO,eAAeA,IAAE,cAAa,EAAC,OAAM,KAAE,CAAC;AAAA,EAAC,GAAE,EAAE,IAAE,SAASA,IAAE6D,IAAE;AAAC,QAAG,IAAEA,OAAI7D,KAAE,EAAEA,EAAC,IAAG,IAAE6D,GAAE,QAAO7D;AAAE,QAAG,IAAE6D,MAAG,YAAU,OAAO7D,MAAGA,MAAGA,GAAE,WAAW,QAAOA;AAAE,QAAIqB,KAAE,uBAAO,OAAO,IAAI;AAAE,QAAG,EAAE,EAAEA,EAAC,GAAE,OAAO,eAAeA,IAAE,WAAU,EAAC,YAAW,MAAG,OAAMrB,GAAC,CAAC,GAAE,IAAE6D,MAAG,YAAU,OAAO7D,GAAE,UAAQ,KAAKA,GAAE,GAAE,EAAEqB,IAAE,IAAE,SAASwC,IAAE;AAAC,aAAO7D,GAAE6D,EAAC;AAAA,IAAC,GAAE,KAAK,MAAK,CAAC,CAAC;AAAE,WAAOxC;AAAA,EAAC,GAAE,EAAE,IAAE,SAASrB,IAAE;AAAC,QAAI6D,KAAE7D,MAAGA,GAAE,aAAW,WAAU;AAAC,aAAOA,GAAE;AAAA,IAAO,IAAE,WAAU;AAAC,aAAOA;AAAA,IAAC;AAAE,WAAO,EAAE,EAAE6D,IAAE,KAAIA,EAAC,GAAEA;AAAA,EAAC,GAAE,EAAE,IAAE,SAAS7D,IAAE6D,IAAE;AAAC,WAAO,OAAO,UAAU,eAAe,KAAK7D,IAAE6D,EAAC;AAAA,EAAC,GAAE,EAAE,IAAE,IAAG,EAAE,EAAE,IAAE,EAAE;AAAC,GAAE,EAAC,IAAG,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,EAAAA,GAAE,aAAW,MAAGA,GAAE,UAAQ;AAAO,MAAIxC,KAAE,EAAE,EAAE,GAAE,KAAE,WAAU;AAAC,aAASrB,KAAG;AAAA,IAAC;AAAC,WAAOA,GAAE,gBAAc,SAASA,IAAE6D,IAAE;AAAC,UAAIW,KAAEX,GAAE,MAAM7D,EAAC;AAAE,aAAOwE,MAAGA,GAAE,SAAO,KAAGA,GAAE,CAAC,KAAG;AAAA,IAAE,GAAExE,GAAE,iBAAe,SAASA,IAAE6D,IAAE;AAAC,UAAIW,KAAEX,GAAE,MAAM7D,EAAC;AAAE,aAAOwE,MAAGA,GAAE,SAAO,KAAGA,GAAE,CAAC,KAAG;AAAA,IAAE,GAAExE,GAAE,sBAAoB,SAASA,IAAE6D,IAAEW,IAAE;AAAC,UAAGxE,GAAE,KAAK6D,EAAC,EAAE,QAAOW;AAAA,IAAC,GAAExE,GAAE,wBAAsB,SAASA,IAAE;AAAC,cAAOA,IAAC;AAAA,QAAE,KAAI;AAAK,iBAAM;AAAA,QAAK,KAAI;AAAA,QAAK,KAAI;AAAS,iBAAM;AAAA,QAAK,KAAI;AAAS,iBAAM;AAAA,QAAO,KAAI;AAAS,iBAAM;AAAA,QAAO,KAAI;AAAS,iBAAM;AAAA,QAAQ,KAAI;AAAS,iBAAM;AAAA,QAAI,KAAI;AAAS,iBAAM;AAAA,QAAI,KAAI;AAAS,iBAAM;AAAA,QAAM,KAAI;AAAU,iBAAM;AAAA,QAAK;AAAQ;AAAA,MAAM;AAAA,IAAC,GAAEA,GAAE,sBAAoB,SAASA,IAAE;AAAC,UAAI6D,KAAE7D,GAAE,MAAM,GAAG,EAAE,OAAO,GAAE,CAAC,EAAE,KAAK,SAASA,KAAE;AAAC,eAAO,SAASA,KAAE,EAAE,KAAG;AAAA,MAAC,EAAC;AAAG,UAAG6D,GAAE,KAAK,CAAC,GAAE,OAAKA,GAAE,CAAC,EAAE,SAAOA,GAAE,CAAC,GAAC;AAAA,QAAE,KAAK;AAAE,iBAAM;AAAA,QAAU,KAAK;AAAE,iBAAM;AAAA,QAAe,KAAK;AAAE,iBAAM;AAAA,QAAO,KAAK;AAAE,iBAAM;AAAA,QAAgB,KAAK;AAAE,iBAAM;AAAA,QAAY,KAAK;AAAG,iBAAM;AAAA,QAAW,KAAK;AAAG,iBAAM;AAAA,QAAa,KAAK;AAAG,iBAAM;AAAA,QAAS,KAAK;AAAG,iBAAM;AAAA,QAAc,KAAK;AAAG,iBAAM;AAAA,QAAS,KAAK;AAAG,iBAAM;AAAA,QAAW;AAAQ;AAAA,MAAM;AAAA,IAAC,GAAE7D,GAAE,wBAAsB,SAASA,IAAE;AAAC,UAAI6D,KAAE7D,GAAE,MAAM,GAAG,EAAE,OAAO,GAAE,CAAC,EAAE,KAAK,SAASA,KAAE;AAAC,eAAO,SAASA,KAAE,EAAE,KAAG;AAAA,MAAC,EAAC;AAAG,UAAG6D,GAAE,KAAK,CAAC,GAAE,EAAE,MAAIA,GAAE,CAAC,KAAGA,GAAE,CAAC,IAAE,GAAG,QAAO,MAAIA,GAAE,CAAC,KAAGA,GAAE,CAAC,IAAE,IAAE,YAAU,MAAIA,GAAE,CAAC,KAAGA,GAAE,CAAC,KAAG,IAAE,UAAQ,MAAIA,GAAE,CAAC,KAAGA,GAAE,CAAC,IAAE,IAAE,WAAS,MAAIA,GAAE,CAAC,KAAG,MAAIA,GAAE,CAAC,IAAE,UAAQ,MAAIA,GAAE,CAAC,KAAGA,GAAE,CAAC,IAAE,IAAE,gBAAc,MAAIA,GAAE,CAAC,IAAE,cAAY,MAAIA,GAAE,CAAC,KAAGA,GAAE,CAAC,IAAE,IAAE,uBAAqB,MAAIA,GAAE,CAAC,KAAGA,GAAE,CAAC,IAAE,IAAE,eAAa,MAAIA,GAAE,CAAC,KAAGA,GAAE,CAAC,KAAG,IAAE,WAAS,MAAIA,GAAE,CAAC,IAAE,aAAW,MAAIA,GAAE,CAAC,IAAE,gBAAc,MAAIA,GAAE,CAAC,IAAE,WAAS,MAAIA,GAAE,CAAC,IAAE,SAAO,MAAIA,GAAE,CAAC,IAAE,QAAM;AAAA,IAAM,GAAE7D,GAAE,sBAAoB,SAASA,IAAE;AAAC,aAAOA,GAAE,MAAM,GAAG,EAAE;AAAA,IAAM,GAAEA,GAAE,kBAAgB,SAAS6D,IAAEW,IAAEnD,IAAE;AAAC,iBAASA,OAAIA,KAAE;AAAI,UAAIoD,KAAEzE,GAAE,oBAAoB6D,EAAC,GAAE,IAAE7D,GAAE,oBAAoBwE,EAAC,GAAE,IAAE,KAAK,IAAIC,IAAE,CAAC,GAAE,IAAE,GAAErD,KAAEpB,GAAE,IAAI,CAAC6D,IAAEW,EAAC,IAAG,SAASX,IAAE;AAAC,YAAIW,KAAE,IAAExE,GAAE,oBAAoB6D,EAAC,GAAExC,KAAEwC,KAAE,IAAI,MAAMW,KAAE,CAAC,EAAE,KAAK,IAAI;AAAE,eAAOxE,GAAE,IAAIqB,GAAE,MAAM,GAAG,IAAG,SAASrB,IAAE;AAAC,iBAAO,IAAI,MAAM,KAAGA,GAAE,MAAM,EAAE,KAAK,GAAG,IAAEA;AAAA,QAAC,EAAC,EAAG,QAAO;AAAA,MAAE,EAAC;AAAG,WAAIqB,OAAI,IAAE,IAAE,KAAK,IAAIoD,IAAE,CAAC,IAAG,KAAG,GAAE,KAAG,KAAG;AAAC,YAAGrD,GAAE,CAAC,EAAE,CAAC,IAAEA,GAAE,CAAC,EAAE,CAAC,EAAE,QAAO;AAAE,YAAGA,GAAE,CAAC,EAAE,CAAC,MAAIA,GAAE,CAAC,EAAE,CAAC,GAAE;AAAC,cAAG,MAAI,EAAE,QAAO;AAAE,eAAG;AAAA,QAAC,WAASA,GAAE,CAAC,EAAE,CAAC,IAAEA,GAAE,CAAC,EAAE,CAAC,EAAE,QAAM;AAAA,MAAE;AAAA,IAAC,GAAEpB,GAAE,MAAI,SAASA,IAAE6D,IAAE;AAAC,UAAIW,IAAEnD,KAAE,CAAA;AAAG,UAAG,MAAM,UAAU,IAAI,QAAO,MAAM,UAAU,IAAI,KAAKrB,IAAE6D,EAAC;AAAE,WAAIW,KAAE,GAAEA,KAAExE,GAAE,QAAOwE,MAAG,EAAE,CAAAnD,GAAE,KAAKwC,GAAE7D,GAAEwE,EAAC,CAAC,CAAC;AAAE,aAAOnD;AAAA,IAAC,GAAErB,GAAE,OAAK,SAASA,IAAE6D,IAAE;AAAC,UAAIW,IAAEnD;AAAE,UAAG,MAAM,UAAU,KAAK,QAAO,MAAM,UAAU,KAAK,KAAKrB,IAAE6D,EAAC;AAAE,WAAIW,KAAE,GAAEnD,KAAErB,GAAE,QAAOwE,KAAEnD,IAAEmD,MAAG,GAAE;AAAC,YAAIC,KAAEzE,GAAEwE,EAAC;AAAE,YAAGX,GAAEY,IAAED,EAAC,EAAE,QAAOC;AAAA,MAAC;AAAA,IAAC,GAAEzE,GAAE,SAAO,SAASA,IAAE;AAAC,eAAQ6D,IAAEW,IAAEnD,KAAErB,IAAEyE,KAAE,UAAU,QAAO,IAAE,IAAI,MAAMA,KAAE,IAAEA,KAAE,IAAE,CAAC,GAAE,IAAE,GAAE,IAAEA,IAAE,IAAI,GAAE,IAAE,CAAC,IAAE,UAAU,CAAC;AAAE,UAAG,OAAO,OAAO,QAAO,OAAO,OAAO,MAAM,QAAO,CAACzE,EAAC,EAAE,OAAO,CAAC,CAAC;AAAE,UAAI,IAAE,WAAU;AAAC,YAAIA,MAAE,EAAE6D,EAAC;AAAE,oBAAU,OAAO7D,OAAG,SAAOA,OAAG,OAAO,KAAKA,GAAC,EAAE,SAAS,SAAS6D,IAAE;AAAC,UAAAxC,GAAEwC,EAAC,IAAE7D,IAAE6D,EAAC;AAAA,QAAC,EAAC;AAAA,MAAE;AAAE,WAAIA,KAAE,GAAEW,KAAE,EAAE,QAAOX,KAAEW,IAAEX,MAAG,EAAE,GAAC;AAAG,aAAO7D;AAAA,IAAC,GAAEA,GAAE,kBAAgB,SAASA,IAAE;AAAC,aAAOqB,GAAE,oBAAoBrB,EAAC;AAAA,IAAC,GAAEA,GAAE,wBAAsB,SAASA,IAAE;AAAC,aAAOqB,GAAE,YAAYrB,EAAC,KAAG;AAAA,IAAE,GAAEA;AAAA,EAAC,GAAC;AAAG,EAAA6D,GAAE,UAAQ,GAAE7D,GAAE,UAAQ6D,GAAE;AAAO,GAAE,IAAG,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,EAAAA,GAAE,aAAW,MAAGA,GAAE,aAAWA,GAAE,SAAOA,GAAE,gBAAcA,GAAE,cAAYA,GAAE,sBAAoB,QAAOA,GAAE,sBAAoB,EAAC,eAAc,eAAc,mBAAkB,WAAU,MAAK,QAAO,YAAW,cAAa,QAAO,UAAS,UAAS,YAAW,UAAS,YAAW,UAAS,YAAW,SAAQ,WAAU,OAAM,SAAQ,SAAQ,WAAU,iBAAgB,iBAAgB,WAAU,aAAY,qBAAoB,MAAK,YAAW,YAAW,SAAQ,WAAU,kBAAiB,QAAO,cAAa,MAAK,uBAAsB,SAAQ,OAAM,SAAQ,eAAc,eAAc,WAAU,aAAY,QAAO,UAAS,UAAS,YAAW,IAAG,MAAK,QAAO,UAAS,QAAO,UAAS,UAAS,YAAW,gCAA+B,oBAAmB,WAAU,aAAY,UAAS,YAAW,OAAM,SAAQ,OAAM,SAAQ,cAAa,MAAK,SAAQ,WAAU,iBAAgB,SAAQ,QAAO,UAAS,kBAAiB,UAAS,MAAK,OAAM,GAAEA,GAAE,cAAY,EAAC,aAAY,eAAc,SAAQ,mBAAkB,MAAK,QAAO,YAAW,cAAa,QAAO,UAAS,UAAS,YAAW,UAAS,YAAW,UAAS,YAAW,SAAQ,WAAU,OAAM,SAAQ,SAAQ,WAAU,WAAU,aAAY,eAAc,iBAAgB,IAAG,qBAAoB,UAAS,YAAW,SAAQ,WAAU,MAAK,kBAAiB,IAAG,cAAa,OAAM,uBAAsB,OAAM,SAAQ,aAAY,eAAc,WAAU,aAAY,QAAO,UAAS,UAAS,YAAW,IAAG,cAAa,QAAO,mBAAkB,QAAO,UAAS,UAAS,YAAW,kBAAiB,gCAA+B,WAAU,aAAY,UAAS,YAAW,OAAM,SAAQ,OAAM,SAAQ,IAAG,cAAa,SAAQ,WAAU,OAAM,iBAAgB,QAAO,UAAS,QAAO,iBAAgB,GAAEA,GAAE,gBAAc,EAAC,QAAO,UAAS,QAAO,UAAS,SAAQ,WAAU,IAAG,KAAI,GAAEA,GAAE,SAAO,EAAC,cAAa,iBAAgB,SAAQ,WAAU,OAAM,SAAQ,KAAI,OAAM,SAAQ,WAAU,OAAM,SAAQ,YAAW,cAAa,MAAK,QAAO,OAAM,SAAQ,OAAM,SAAQ,UAAS,aAAY,cAAa,iBAAgB,MAAK,OAAM,GAAEA,GAAE,aAAW,EAAC,UAAS,YAAW,OAAM,SAAQ,SAAQ,WAAU,QAAO,UAAS,OAAM,SAAQ,QAAO,SAAQ;AAAC,GAAE,IAAG,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,EAAAA,GAAE,aAAW,MAAGA,GAAE,UAAQ;AAAO,MAAIxC,IAAE,KAAGA,KAAE,EAAE,EAAE,MAAIA,GAAE,aAAWA,KAAE,EAAC,SAAQA,GAAC,GAAE,IAAE,EAAE,EAAE;AAAE,WAAS,EAAErB,IAAE6D,IAAE;AAAC,aAAQW,KAAE,GAAEA,KAAEX,GAAE,QAAOW,MAAI;AAAC,UAAInD,KAAEwC,GAAEW,EAAC;AAAE,MAAAnD,GAAE,aAAWA,GAAE,cAAY,OAAGA,GAAE,eAAa,MAAG,WAAUA,OAAIA,GAAE,WAAS,OAAI,OAAO,eAAerB,IAAEqB,GAAE,KAAIA,EAAC;AAAA,IAAC;AAAA,EAAC;AAAC,MAAI,KAAE,WAAU;AAAC,aAASrB,KAAG;AAAA,IAAC;AAAC,QAAI6D,IAAEW,IAAEnD;AAAE,WAAOrB,GAAE,YAAU,SAASA,IAAE6D,IAAE;AAAC,UAAG,WAASA,OAAIA,KAAE,QAAI,YAAU,OAAO7D,GAAE,OAAM,IAAI,MAAM,8BAA8B;AAAE,aAAO,IAAI,EAAE,QAAQA,IAAE6D,EAAC;AAAA,IAAC,GAAE7D,GAAE,QAAM,SAASA,IAAE;AAAC,aAAO,IAAI,EAAE,QAAQA,EAAC,EAAE,UAAS;AAAA,IAAE,GAAE6D,KAAE7D,IAAEqB,KAAE,CAAC,EAAC,KAAI,eAAc,KAAI,WAAU;AAAC,aAAO,EAAE;AAAA,IAAW,EAAC,GAAE,EAAC,KAAI,cAAa,KAAI,WAAU;AAAC,aAAO,EAAE;AAAA,IAAU,EAAC,GAAE,EAAC,KAAI,UAAS,KAAI,WAAU;AAAC,aAAO,EAAE;AAAA,IAAM,EAAC,GAAE,EAAC,KAAI,iBAAgB,KAAI,WAAU;AAAC,aAAO,EAAE;AAAA,IAAa,EAAC,CAAC,IAAGmD,KAAE,SAAO,EAAEX,GAAE,WAAUW,EAAC,GAAEnD,MAAG,EAAEwC,IAAExC,EAAC,GAAErB;AAAA,EAAC,GAAC;AAAG,EAAA6D,GAAE,UAAQ,GAAE7D,GAAE,UAAQ6D,GAAE;AAAO,GAAE,IAAG,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,EAAAA,GAAE,aAAW,MAAGA,GAAE,UAAQ;AAAO,MAAIxC,KAAED,GAAE,EAAE,EAAE,CAAC,GAAE,IAAEA,GAAE,EAAE,EAAE,CAAC,GAAE,IAAEA,GAAE,EAAE,EAAE,CAAC,GAAE,IAAEA,GAAE,EAAE,EAAE,CAAC,GAAE,IAAEA,GAAE,EAAE,EAAE,CAAC;AAAE,WAASA,GAAEpB,IAAE;AAAC,WAAOA,MAAGA,GAAE,aAAWA,KAAE,EAAC,SAAQA,GAAC;AAAA,EAAC;AAAC,MAAI4C,MAAE,WAAU;AAAC,aAAS5C,GAAEA,IAAE6D,IAAE;AAAC,UAAG,WAASA,OAAIA,KAAE,QAAI,QAAM7D,MAAG,OAAKA,GAAE,OAAM,IAAI,MAAM,oCAAoC;AAAE,WAAK,MAAIA,IAAE,KAAK,eAAa,CAAA,GAAG,SAAK6D,MAAG,KAAK,MAAK;AAAA,IAAE;AAAC,QAAIA,KAAE7D,GAAE;AAAU,WAAO6D,GAAE,QAAM,WAAU;AAAC,aAAO,KAAK;AAAA,IAAG,GAAEA,GAAE,OAAK,SAAS7D,IAAE;AAAC,aAAOA,GAAE,KAAK,KAAK,GAAG;AAAA,IAAC,GAAE6D,GAAE,eAAa,WAAU;AAAC,UAAI7D,KAAE;AAAK,WAAK,aAAa,UAAQ;AAAG,UAAI6D,KAAE,EAAE,QAAQ,KAAKxC,GAAE,UAAS,SAASwC,IAAE;AAAC,YAAG,cAAY,OAAOA,GAAE,KAAK,QAAOA,GAAE,KAAK7D,EAAC;AAAE,YAAG6D,GAAE,gBAAgB,MAAM,QAAOA,GAAE,KAAK,MAAM,SAASA,IAAE;AAAC,iBAAO7D,GAAE,KAAK6D,EAAC;AAAA,QAAC;AAAI,cAAM,IAAI,MAAM,sCAAsC;AAAA,MAAC,EAAC;AAAG,aAAOA,OAAI,KAAK,aAAa,UAAQA,GAAE,SAAS,KAAK,MAAK,CAAE,IAAG,KAAK,aAAa;AAAA,IAAO,GAAEA,GAAE,aAAW,WAAU;AAAC,aAAO,KAAK,aAAa,UAAQ,KAAK,aAAa,UAAQ,KAAK,aAAY;AAAA,IAAE,GAAEA,GAAE,iBAAe,SAAS7D,IAAE;AAAC,aAAOA,KAAE,OAAO,KAAK,WAAU,EAAG,IAAI,EAAE,YAAW,KAAI,KAAG,KAAK,WAAU,EAAG,QAAM;AAAA,IAAE,GAAE6D,GAAE,oBAAkB,WAAU;AAAC,aAAO,KAAK,WAAU,EAAG;AAAA,IAAO,GAAEA,GAAE,QAAM,WAAU;AAAC,aAAO,KAAK,aAAa,KAAG,KAAK,aAAa,KAAG,KAAK;IAAS,GAAEA,GAAE,UAAQ,WAAU;AAAC,UAAI7D,KAAE;AAAK,WAAK,aAAa,KAAG,CAAA;AAAG,UAAI6D,KAAE,EAAE,QAAQ,KAAK,EAAE,UAAS,SAASA,IAAE;AAAC,YAAG,cAAY,OAAOA,GAAE,KAAK,QAAOA,GAAE,KAAK7D,EAAC;AAAE,YAAG6D,GAAE,gBAAgB,MAAM,QAAOA,GAAE,KAAK,MAAM,SAASA,IAAE;AAAC,iBAAO7D,GAAE,KAAK6D,EAAC;AAAA,QAAC,EAAC;AAAG,cAAM,IAAI,MAAM,sCAAsC;AAAA,MAAC,EAAC;AAAG,aAAOA,OAAI,KAAK,aAAa,KAAGA,GAAE,SAAS,KAAK,MAAK,CAAE,IAAG,KAAK,aAAa;AAAA,IAAE,GAAEA,GAAE,YAAU,SAAS7D,IAAE;AAAC,UAAI6D,KAAE,KAAK,MAAK,EAAG;AAAK,aAAO7D,KAAE,OAAO6D,EAAC,EAAE,YAAW,KAAI,KAAGA,MAAG;AAAA,IAAE,GAAEA,GAAE,eAAa,WAAU;AAAC,aAAO,KAAK,MAAK,EAAG;AAAA,IAAO,GAAEA,GAAE,cAAY,WAAU;AAAC,aAAO,KAAK,aAAa,WAAS,KAAK,aAAa,WAAS,KAAK,cAAa;AAAA,IAAE,GAAEA,GAAE,kBAAgB,SAAS7D,IAAE;AAAC,iBAASA,OAAIA,KAAE;AAAI,UAAI6D,KAAE,KAAK,YAAW,EAAG;AAAK,aAAO7D,KAAE,OAAO6D,EAAC,EAAE,YAAW,KAAI,KAAGA,MAAG;AAAA,IAAE,GAAEA,GAAE,gBAAc,WAAU;AAAC,UAAI7D,KAAE;AAAK,WAAK,aAAa,WAAS;AAAG,UAAI6D,KAAE,EAAE,QAAQ,KAAK,EAAE,UAAS,SAASA,IAAE;AAAC,YAAG,cAAY,OAAOA,GAAE,KAAK,QAAOA,GAAE,KAAK7D,EAAC;AAAE,YAAG6D,GAAE,gBAAgB,MAAM,QAAOA,GAAE,KAAK,MAAM,SAASA,IAAE;AAAC,iBAAO7D,GAAE,KAAK6D,EAAC;AAAA,QAAC;AAAI,cAAM,IAAI,MAAM,sCAAsC;AAAA,MAAC;AAAI,aAAOA,OAAI,KAAK,aAAa,WAASA,GAAE,SAAS,KAAK,MAAK,CAAE,IAAG,KAAK,aAAa;AAAA,IAAQ,GAAEA,GAAE,YAAU,WAAU;AAAC,aAAO,KAAK,aAAa,SAAO,KAAK,aAAa,SAAO,KAAK,YAAW;AAAA,IAAE,GAAEA,GAAE,gBAAc,SAAS7D,IAAE;AAAC,aAAOA,KAAE,OAAO,KAAK,UAAS,EAAG,IAAI,EAAE,YAAW,KAAI,KAAG,KAAK,UAAS,EAAG,QAAM;AAAA,IAAE,GAAE6D,GAAE,cAAY,WAAU;AAAC,UAAI7D,KAAE;AAAK,WAAK,aAAa,SAAO,CAAA;AAAG,UAAI6D,KAAE,EAAE,QAAQ,KAAK,EAAE,UAAS,SAASA,IAAE;AAAC,YAAG,cAAY,OAAOA,GAAE,KAAK,QAAOA,GAAE,KAAK7D,EAAC;AAAE,YAAG6D,GAAE,gBAAgB,MAAM,QAAOA,GAAE,KAAK,MAAM,SAASA,IAAE;AAAC,iBAAO7D,GAAE,KAAK6D,EAAC;AAAA,QAAC;AAAI,cAAM,IAAI,MAAM,sCAAsC;AAAA,MAAC;AAAI,aAAOA,OAAI,KAAK,aAAa,SAAOA,GAAE,SAAS,KAAK,MAAK,CAAE,IAAG,KAAK,aAAa;AAAA,IAAM,GAAEA,GAAE,QAAM,WAAU;AAAC,aAAO,KAAK,aAAY,GAAG,KAAK,QAAO,GAAG,KAAK,cAAa,GAAG,KAAK,YAAW,GAAG;AAAA,IAAI,GAAEA,GAAE,YAAU,WAAU;AAAC,aAAO,EAAE,QAAQ,OAAO,CAAA,GAAG,KAAK,YAAY;AAAA,IAAC,GAAEA,GAAE,YAAU,SAAS7D,IAAE;AAAC,UAAI6D,KAAE,MAAKW,KAAE,CAAA,GAAGnD,KAAE,GAAEoD,KAAE,IAAGC,KAAE;AAAE,UAAG,OAAO,KAAK1E,EAAC,EAAE,SAAS,SAAS6D,IAAE;AAAC,YAAIc,KAAE3E,GAAE6D,EAAC;AAAE,oBAAU,OAAOc,MAAGF,GAAEZ,EAAC,IAAEc,IAAED,MAAG,KAAG,YAAU,OAAOC,OAAIH,GAAEX,EAAC,IAAEc,IAAEtD,MAAG;AAAA,MAAE,KAAIA,KAAE,GAAE;AAAC,YAAIsD,KAAE,OAAO,KAAKH,EAAC,GAAEpD,KAAE,EAAE,QAAQ,KAAKuD,KAAG,SAAS3E,KAAE;AAAC,iBAAO6D,GAAE,KAAK7D,GAAC;AAAA,QAAC,EAAC;AAAG,YAAGoB,IAAE;AAAC,cAAIwB,KAAE,KAAK,UAAU4B,GAAEpD,EAAC,CAAC;AAAE,cAAG,WAASwB,GAAE,QAAOA;AAAA,QAAC;AAAC,YAAIhC,KAAE,EAAE,QAAQ,KAAK+D,KAAG,SAAS3E,KAAE;AAAC,iBAAO6D,GAAE,WAAW7D,GAAC;AAAA,QAAC,EAAC;AAAG,YAAGY,IAAE;AAAC,cAAI0D,KAAE,KAAK,UAAUE,GAAE5D,EAAC,CAAC;AAAE,cAAG,WAAS0D,GAAE,QAAOA;AAAA,QAAC;AAAA,MAAC;AAAC,UAAGI,KAAE,GAAE;AAAC,YAAI/D,KAAE,OAAO,KAAK8D,EAAC,GAAEF,KAAE,EAAE,QAAQ,KAAK5D,KAAG,SAASX,KAAE;AAAC,iBAAO6D,GAAE,UAAU7D,KAAE,IAAE;AAAA,QAAC,EAAC;AAAG,YAAG,WAASuE,GAAE,QAAO,KAAK,eAAeE,GAAEF,EAAC,CAAC;AAAA,MAAC;AAAA,IAAC,GAAEV,GAAE,YAAU,SAAS7D,IAAE6D,IAAE;AAAC,iBAASA,OAAIA,KAAE;AAAI,UAAIW,KAAE,KAAK,eAAc,EAAG,YAAW,GAAGnD,KAAErB,GAAE,YAAW,GAAGyE,KAAE,EAAE,QAAQ,sBAAsBpD,EAAC;AAAE,aAAOwC,MAAGY,OAAIpD,KAAEoD,GAAE,YAAW,IAAIpD,OAAImD;AAAA,IAAC,GAAEX,GAAE,iBAAe,SAAS7D,IAAE;AAAC,UAAI6D,KAAE,CAAC,CAAC,GAAEW,KAAExE,IAAEqB,KAAE,OAAGoD,KAAE,KAAK,kBAAiB;AAAG,UAAG,YAAU,OAAOA,GAAE,QAAM,QAAMzE,GAAE,CAAC,KAAG,QAAMA,GAAE,CAAC,KAAGwE,KAAExE,GAAE,OAAO,CAAC,GAAE,QAAMA,GAAE,CAAC,KAAGqB,KAAE,MAAGmD,KAAExE,GAAE,OAAO,CAAC,KAAG6D,KAAE,CAAA,GAAG,QAAM7D,GAAE,CAAC,IAAE6D,GAAE,KAAK,CAAC,IAAEA,GAAE,KAAK,EAAE,KAAG,QAAM7D,GAAE,CAAC,IAAEwE,KAAExE,GAAE,OAAO,CAAC,IAAE,QAAMA,GAAE,CAAC,MAAIqB,KAAE,MAAGmD,KAAExE,GAAE,OAAO,CAAC,IAAG6D,GAAE,QAAQ,EAAE,QAAQ,gBAAgBY,IAAED,IAAEnD,EAAC,CAAC,IAAE;AAAA,IAAE,GAAEwC,GAAE,OAAK,SAAS7D,IAAE;AAAC,aAAO,KAAK,UAAU,IAAE,MAAI,OAAOA,EAAC,EAAE,YAAW;AAAA,IAAE,GAAE6D,GAAE,aAAW,SAAS7D,IAAE;AAAC,aAAO,KAAK,gBAAgB,IAAE,MAAI,OAAOA,EAAC,EAAE,YAAW;AAAA,IAAE,GAAE6D,GAAE,WAAS,SAAS7D,IAAE;AAAC,aAAO,KAAK,cAAc,IAAE,MAAI,OAAOA,EAAC,EAAE,YAAW;AAAA,IAAE,GAAE6D,GAAE,KAAG,SAAS7D,IAAE6D,IAAE;AAAC,aAAO,WAASA,OAAIA,KAAE,QAAI,KAAK,UAAU7D,IAAE6D,EAAC,KAAG,KAAK,KAAK7D,EAAC,KAAG,KAAK,WAAWA,EAAC;AAAA,IAAC,GAAE6D,GAAE,OAAK,SAAS7D,IAAE;AAAC,UAAI6D,KAAE;AAAK,aAAO,WAAS7D,OAAIA,KAAE,CAAA,IAAIA,GAAE,MAAM,SAASA,KAAE;AAAC,eAAO6D,GAAE,GAAG7D,GAAC;AAAA,MAAC,EAAC;AAAA,IAAE,GAAEA;AAAA,EAAC,GAAC;AAAG,EAAA6D,GAAE,UAAQjB,IAAE5C,GAAE,UAAQ6D,GAAE;AAAO,GAAE,IAAG,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,EAAAA,GAAE,aAAW,MAAGA,GAAE,UAAQ;AAAO,MAAIxC,IAAE,KAAGA,KAAE,EAAE,EAAE,MAAIA,GAAE,aAAWA,KAAE,EAAC,SAAQA,GAAC,GAAE,IAAE,8BAA6B,IAAE,CAAC,EAAC,MAAK,CAAC,YAAY,GAAE,UAAS,SAASrB,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,YAAW,GAAEW,KAAE,EAAE,QAAQ,cAAc,4BAA2BxE,EAAC,KAAG,EAAE,QAAQ,cAAc,GAAEA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,QAAQ,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,QAAO,GAAEW,KAAE,EAAE,QAAQ,cAAc,GAAExE,EAAC,KAAG,EAAE,QAAQ,cAAc,mCAAkCA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,cAAc,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,QAAO,GAAEW,KAAE,EAAE,QAAQ,cAAc,4BAA2BxE,EAAC,KAAG,EAAE,QAAQ,cAAc,GAAEA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,iBAAiB,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,+BAA8B,GAAEW,KAAE,EAAE,QAAQ,cAAc,GAAExE,EAAC,KAAG,EAAE,QAAQ,cAAc,4CAA2CA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,QAAQ,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,sBAAqB,GAAEW,KAAE,EAAE,QAAQ,cAAc,GAAExE,EAAC,KAAG,EAAE,QAAQ,cAAc,kCAAiCA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,YAAY,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,aAAY,GAAEW,KAAE,EAAE,QAAQ,cAAc,sCAAqCxE,EAAC,KAAG,EAAE,QAAQ,cAAc,GAAEA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,QAAQ,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,QAAO,GAAEW,KAAE,EAAE,QAAQ,cAAc,kCAAiCxE,EAAC,KAAG,EAAE,QAAQ,cAAc,GAAEA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,QAAQ,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,QAAO,GAAEW,KAAE,EAAE,QAAQ,cAAc,kCAAiCxE,EAAC,KAAG,EAAE,QAAQ,cAAc,GAAEA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,QAAQ,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,cAAa,GAAEW,KAAE,EAAE,QAAQ,cAAc,GAAExE,EAAC,KAAG,EAAE,QAAQ,cAAc,mCAAkCA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,uBAAuB,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,cAAa,GAAEW,KAAE,EAAE,QAAQ,cAAc,iCAAgCxE,EAAC,KAAG,EAAE,QAAQ,cAAc,GAAEA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,YAAY,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,iBAAgB,GAAEW,KAAE,EAAE,QAAQ,cAAc,uCAAsCxE,EAAC,KAAG,EAAE,QAAQ,cAAc,GAAEA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,YAAY,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,aAAY,GAAEW,KAAE,EAAE,QAAQ,cAAc,GAAExE,EAAC,KAAG,EAAE,QAAQ,cAAc,uCAAsCA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,gBAAgB,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,UAAS,GAAEW,KAAE,EAAE,QAAQ,cAAc,GAAExE,EAAC,KAAG,EAAE,QAAQ,cAAc,2CAA0CA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,WAAW,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,WAAU,GAAEW,KAAE,EAAE,QAAQ,cAAc,GAAExE,EAAC,KAAG,EAAE,QAAQ,cAAc,sCAAqCA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,SAAS,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,SAAQ,GAAEW,KAAE,EAAE,QAAQ,cAAc,GAAExE,EAAC,KAAG,EAAE,QAAQ,cAAc,oCAAmCA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,WAAW,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,WAAU,GAAEW,KAAE,EAAE,QAAQ,cAAc,GAAExE,EAAC,KAAG,EAAE,QAAQ,cAAc,sCAAqCA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,WAAW,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,WAAU,GAAEW,KAAE,EAAE,QAAQ,cAAc,GAAExE,EAAC,KAAG,EAAE,QAAQ,cAAc,sCAAqCA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,iBAAiB,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,SAAQ,GAAEW,KAAE,EAAE,QAAQ,cAAc,4CAA2CxE,EAAC,KAAG,EAAE,QAAQ,cAAc,GAAEA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,YAAY,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,iBAAiB,KAAK7D,EAAC,IAAE,oBAAkB,aAAY,GAAEwE,KAAE,EAAE,QAAQ,cAAc,mDAAkDxE,EAAC,KAAG,EAAE,QAAQ,cAAc,GAAEA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,eAAe,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,oBAAmB,GAAEW,KAAE,EAAE,QAAQ,cAAc,kCAAiCxE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,UAAU,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,iBAAgB,GAAEW,KAAE,EAAE,QAAQ,cAAc,4BAA2BxE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,gBAAgB,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,iBAAgB,GAAEW,KAAE,EAAE,QAAQ,eAAe,oCAAmCxE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,UAAU,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,UAAS,GAAEW,KAAE,EAAE,QAAQ,cAAc,8BAA6BxE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,YAAY,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,YAAW,GAAEW,KAAE,EAAE,QAAQ,cAAc,gCAA+BxE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,WAAW,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,WAAU,GAAEW,KAAE,EAAE,QAAQ,cAAc,sCAAqCxE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,OAAO,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,cAAa,GAAEW,KAAE,EAAE,QAAQ,cAAc,2BAA0BxE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,UAAU,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,YAAW,GAAEW,KAAE,EAAE,QAAQ,cAAc,gCAA+BxE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,WAAW,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,WAAU,GAAEW,KAAE,EAAE,QAAQ,cAAc,+BAA8BxE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,uBAAsB,cAAc,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,aAAY,GAAEW,KAAE,EAAE,QAAQ,cAAc,GAAExE,EAAC,KAAG,EAAE,QAAQ,cAAc,sCAAqCA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,iBAAiB,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,gBAAe,GAAEW,KAAE,EAAE,QAAQ,cAAc,GAAExE,EAAC,KAAG,EAAE,QAAQ,cAAc,2CAA0CA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,OAAO,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,OAAM,GAAEW,KAAE,EAAE,QAAQ,cAAc,6BAA4BxE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,QAAQ,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,QAAO,GAAEW,KAAE,EAAE,QAAQ,cAAc,2CAA0CxE,EAAC,KAAG,EAAE,QAAQ,cAAc,GAAEA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,WAAW,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,WAAU,GAAEW,KAAE,EAAE,QAAQ,cAAc,sCAAqCxE,EAAC,KAAG,EAAE,QAAQ,cAAc,GAAEA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,0BAA0B,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,UAAS,GAAEW,KAAE,EAAE,QAAQ,cAAc,qDAAoDxE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,WAAW,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,WAAU,GAAEW,KAAE,EAAE,QAAQ,cAAc,mCAAkCxE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,cAAc,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,OAAM,GAAEW,KAAE,EAAE,QAAQ,cAAc,yCAAwCxE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,WAAW,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,WAAU,GAAEW,KAAE,EAAE,QAAQ,cAAc,sCAAqCxE,EAAC,KAAG,EAAE,QAAQ,cAAc,GAAEA,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,oBAAoB,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,SAAQ,GAAEW,KAAE,EAAE,QAAQ,cAAc,4CAA2CxE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,MAAM,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,gBAAe,GAAEW,KAAE,EAAE,QAAQ,cAAc,8BAA6BxE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,CAAC7D,GAAE,KAAK,eAAe,GAAEwE,KAAExE,GAAE,KAAK,UAAU;AAAE,WAAO6D,MAAGW;AAAA,EAAC,GAAE,UAAS,SAASxE,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,kBAAiB,GAAEW,KAAE,EAAE,QAAQ,cAAc,GAAExE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,gBAAgB,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,gBAAe,GAAEW,KAAE,EAAE,QAAQ,cAAc,GAAExE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,qBAAqB,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,SAAQ,GAAEW,KAAE,EAAE,QAAQ,cAAc,GAAExE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,KAAK,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,OAAK7D,GAAE,OAAO,KAAK,IAAE,2BAAyB;AAAe,WAAM,EAAC,MAAK,EAAE,QAAQ,cAAc6D,IAAE7D,EAAC,GAAE,SAAQ,EAAE,QAAQ,eAAe6D,IAAE7D,EAAC,EAAC;AAAA,EAAC,EAAC,CAAC;AAAE,EAAA6D,GAAE,UAAQ,GAAE7D,GAAE,UAAQ6D,GAAE;AAAO,GAAE,IAAG,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,EAAAA,GAAE,aAAW,MAAGA,GAAE,UAAQ;AAAO,MAAIxC,IAAE,KAAGA,KAAE,EAAE,EAAE,MAAIA,GAAE,aAAWA,KAAE,EAAC,SAAQA,GAAC,GAAE,IAAE,EAAE,EAAE,GAAE,IAAE,CAAC,EAAC,MAAK,CAAC,WAAW,GAAE,UAAS,SAASrB,IAAE;AAAC,QAAI6D,KAAE,EAAE,QAAQ,cAAc,yBAAwB7D,EAAC;AAAE,WAAM,EAAC,MAAK,EAAE,OAAO,MAAK,SAAQ6D,GAAC;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,gBAAgB,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAE,QAAQ,cAAc,0CAAyC7D,EAAC;AAAE,WAAM,EAAC,MAAK,EAAE,OAAO,cAAa,SAAQ6D,GAAC;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,WAAW,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAE,QAAQ,cAAc,kCAAiC7D,EAAC,GAAEwE,KAAE,EAAE,QAAQ,sBAAsBX,EAAC;AAAE,WAAM,EAAC,MAAK,EAAE,OAAO,SAAQ,SAAQA,IAAE,aAAYW,GAAC;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,6BAA6B,GAAE,UAAS,SAASxE,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,EAAE,OAAO,IAAG,GAAEW,KAAE,EAAE,QAAQ,eAAe,yBAAwBxE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,YAAY,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAE,QAAQ,cAAc,8BAA6B7D,EAAC,EAAE,QAAQ,UAAS,GAAG,GAAEwE,KAAE,EAAE,QAAQ,oBAAoBX,EAAC,GAAExC,KAAE,EAAC,MAAK,EAAE,OAAO,OAAM,SAAQwC,GAAC;AAAE,WAAOW,OAAInD,GAAE,cAAYmD,KAAGnD;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,qBAAqB,GAAE,UAAS,SAASrB,IAAE;AAAC,QAAI6D,KAAE,EAAE,QAAQ,cAAc,sCAAqC7D,EAAC,EAAE,QAAQ,UAAS,GAAG;AAAE,WAAM,EAAC,MAAK,EAAE,OAAO,KAAI,SAAQ6D,GAAC;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,CAAC7D,GAAE,KAAK,eAAe,GAAEwE,KAAExE,GAAE,KAAK,UAAU;AAAE,WAAO6D,MAAGW;AAAA,EAAC,GAAE,UAAS,SAASxE,IAAE;AAAC,QAAI6D,KAAE,EAAE,QAAQ,cAAc,+BAA8B7D,EAAC,GAAEwE,KAAE,EAAE,QAAQ,sBAAsBX,EAAC,GAAExC,KAAE,EAAC,MAAK,EAAE,OAAO,SAAQ,SAAQwC,GAAC;AAAE,WAAOW,OAAInD,GAAE,cAAYmD,KAAGnD;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,iBAAiB,GAAE,UAAS,SAASrB,IAAE;AAAC,QAAI6D,KAAE,EAAE,QAAQ,cAAc,oCAAmC7D,EAAC,GAAEwE,KAAE,EAAC,MAAK,EAAE,OAAO,MAAK;AAAE,WAAOX,MAAGA,GAAE,WAASW,GAAE,UAAQX,KAAGW;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,uBAAsB,cAAc,GAAE,UAAS,SAASxE,IAAE;AAAC,QAAI6D,KAAE,EAAE,QAAQ,cAAc,mCAAkC7D,EAAC,KAAG,EAAE,QAAQ,cAAc,oCAAmCA,EAAC,KAAG,EAAE,QAAQ,cAAc,cAAaA,EAAC;AAAE,WAAM,EAAC,MAAK,EAAE,OAAO,YAAW,SAAQ6D,GAAC;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,OAAO,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAE,QAAQ,cAAc,wBAAuB7D,EAAC;AAAE,WAAM,EAAC,MAAK,EAAE,OAAO,MAAK,SAAQ6D,GAAC;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,QAAQ,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAE,QAAQ,cAAc,4BAA2B7D,EAAC;AAAE,WAAM,EAAC,MAAK,EAAE,OAAO,OAAM,SAAQ6D,GAAC;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,QAAQ,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,OAAO,MAAK;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,MAAM,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,OAAO,SAAQ;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,eAAe,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAE,QAAQ,cAAc,oCAAmC7D,EAAC;AAAE,WAAM,EAAC,MAAK,EAAE,OAAO,cAAa,SAAQ6D,GAAC;AAAA,EAAC,EAAC,CAAC;AAAE,EAAAA,GAAE,UAAQ,GAAE7D,GAAE,UAAQ6D,GAAE;AAAO,GAAE,IAAG,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,EAAAA,GAAE,aAAW,MAAGA,GAAE,UAAQ;AAAO,MAAIxC,IAAE,KAAGA,KAAE,EAAE,EAAE,MAAIA,GAAE,aAAWA,KAAE,EAAC,SAAQA,GAAC,GAAE,IAAE,EAAE,EAAE,GAAE,IAAE,CAAC,EAAC,MAAK,CAAC,YAAY,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,OAAM,QAAO,SAAQ;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,SAAS,GAAE,UAAS,SAASrB,IAAE;AAAC,QAAI6D,KAAE,EAAE,QAAQ,cAAc,cAAa7D,EAAC,KAAG,QAAOwE,KAAE,EAAC,MAAK,EAAE,cAAc,QAAO,QAAO,SAAQ;AAAE,WAAOX,OAAIW,GAAE,QAAMX,KAAGW;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,yBAAyB,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,cAAc,QAAO,QAAO,QAAO;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,OAAO,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,cAAc,QAAO,QAAO,SAAQ,OAAM,OAAM;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,6BAA6B,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,cAAc,QAAO,QAAO,SAAQ,OAAM,OAAM;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,aAAa,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,cAAc,QAAO,QAAO,UAAS,OAAM,mBAAkB;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,OAAO,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,cAAc,QAAO,QAAO,SAAQ;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,gBAAgB,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,cAAc,OAAM;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,SAASxE,IAAE;AAAC,QAAI6D,KAAE7D,GAAE,KAAK,cAAc,GAAEwE,KAAExE,GAAE,KAAK,qBAAqB;AAAE,WAAO6D,MAAG,CAACW;AAAA,EAAC,GAAE,UAAS,SAASxE,IAAE;AAAC,QAAI6D,KAAE,EAAE,QAAQ,cAAc,kBAAiB7D,EAAC;AAAE,WAAM,EAAC,MAAK,EAAE,cAAc,QAAO,QAAO,SAAQ,OAAM6D,GAAC;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,oBAAmB,eAAe,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,cAAc,QAAO,QAAO,QAAO;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,WAAW,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,cAAc,OAAM;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,SAAS7D,IAAE;AAAC,WAAM,iBAAeA,GAAE,eAAe,IAAE;AAAA,EAAC,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,cAAc,QAAO,QAAO,aAAY;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,SAASA,IAAE;AAAC,WAAM,WAASA,GAAE,eAAe,IAAE;AAAA,EAAC,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,cAAc,OAAM;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,SAASA,IAAE;AAAC,WAAM,oBAAkBA,GAAE,eAAc;AAAA,EAAE,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,cAAc,QAAO,QAAO,YAAW;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,SAASA,IAAE;AAAC,QAAI6D,KAAE,OAAO,OAAO7D,GAAE,cAAc,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC;AAAE,WAAM,cAAYA,GAAE,UAAU,IAAE,KAAG6D,MAAG;AAAA,EAAC,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,cAAc,OAAM;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,SAAS7D,IAAE;AAAC,WAAM,cAAYA,GAAE,UAAU,IAAE;AAAA,EAAC,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,cAAc,OAAM;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,SAASA,IAAE;AAAC,WAAM,YAAUA,GAAE,UAAU,IAAE;AAAA,EAAC,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,cAAc,SAAQ,QAAO,QAAO;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,SAASA,IAAE;AAAC,WAAM,cAAYA,GAAE,UAAU,IAAE;AAAA,EAAC,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,cAAc,QAAO;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,SAASA,IAAE;AAAC,WAAM,YAAUA,GAAE,UAAU,IAAE;AAAA,EAAC,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,cAAc,QAAO;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,SAASA,IAAE;AAAC,WAAM,oBAAkBA,GAAE,UAAU,IAAE;AAAA,EAAC,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,cAAc,GAAE;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,SAASA,IAAE;AAAC,WAAM,WAASA,GAAE,UAAU,IAAE;AAAA,EAAC,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,cAAc,GAAE;AAAA,EAAC,EAAC,CAAC;AAAE,EAAA6D,GAAE,UAAQ,GAAE7D,GAAE,UAAQ6D,GAAE;AAAO,GAAE,IAAG,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,EAAAA,GAAE,aAAW,MAAGA,GAAE,UAAQ;AAAO,MAAIxC,IAAE,KAAGA,KAAE,EAAE,EAAE,MAAIA,GAAE,aAAWA,KAAE,EAAC,SAAQA,GAAC,GAAE,IAAE,EAAE,EAAE,GAAE,IAAE,CAAC,EAAC,MAAK,SAASrB,IAAE;AAAC,WAAM,qBAAmBA,GAAE,eAAe,IAAE;AAAA,EAAC,GAAE,UAAS,SAASA,IAAE;AAAC,QAAG,WAAW,KAAKA,EAAC,EAAE,QAAM,EAAC,MAAK,EAAE,WAAW,MAAK;AAAE,QAAI6D,KAAE,EAAE,QAAQ,cAAc,2BAA0B7D,EAAC;AAAE,WAAM,EAAC,MAAK,EAAE,WAAW,UAAS,SAAQ6D,GAAC;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,UAAU,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,EAAE,WAAW,QAAO,GAAEW,KAAE,EAAE,QAAQ,cAAc,8BAA6BxE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,SAAS7D,IAAE;AAAC,WAAOA,GAAE,KAAK,SAAS;AAAA,EAAC,GAAE,UAAS,SAASA,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,EAAE,WAAW,OAAM,GAAEW,KAAE,EAAE,QAAQ,cAAc,6BAA4BxE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,SAAS7D,IAAE;AAAC,QAAI6D,KAAE7D,GAAE,KAAK,QAAQ,GAAEwE,KAAExE,GAAE,KAAK,aAAa;AAAE,WAAO6D,MAAG,CAACW;AAAA,EAAC,GAAE,UAAS,SAASxE,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,EAAE,WAAW,MAAK,GAAEW,KAAE,EAAE,QAAQ,cAAc,4BAA2BxE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,0BAA0B,GAAE,UAAS,WAAU;AAAC,WAAM,EAAC,MAAK,EAAE,WAAW,MAAK;AAAA,EAAC,EAAC,GAAE,EAAC,MAAK,CAAC,iBAAiB,GAAE,UAAS,SAAS7D,IAAE;AAAC,QAAI6D,KAAE,EAAC,MAAK,EAAE,WAAW,OAAM,GAAEW,KAAE,EAAE,QAAQ,cAAc,6BAA4BxE,EAAC;AAAE,WAAOwE,OAAIX,GAAE,UAAQW,KAAGX;AAAA,EAAC,EAAC,CAAC;AAAE,EAAAA,GAAE,UAAQ,GAAE7D,GAAE,UAAQ6D,GAAE;AAAO,EAAC,CAAC;AAAE,IAAI,KAAG,GAAG,GAAG,OAAO;AAAO,MAAC,KAAG,EAAC,aAAY,eAAc,YAAW,eAAc,gBAAe,mBAAkB,qBAAoB,uBAAsB,kBAAiB,qBAAoB,eAAc,iBAAgB;AAAE,MAAM,GAAE;AAAA,EAAC,YAAY,EAAC,mBAAkB7D,IAAE,kBAAiB6D,IAAE,oBAAmB,IAAE,OAAG,gBAAexC,IAAE,aAAY,EAAC,GAAE;AAAC,UAAM,IAAE,IAAI,GAAG,EAAC,kBAAiBwC,IAAE,oBAAmB,GAAE,mBAAkB7D,IAAE,gBAAeqB,IAAE,qBAAoB,MAAE,CAAC,GAAE,IAAE,IAAI,MAAM,GAAE,EAAC,gBAAe,MAAI,KAAE,CAAC;AAAE,QAAG,KAAK,WAAS,GAAE,KAAK,cAAY,GAAErB,MAAG,eAAa,OAAO,OAAO,KAAG;AAAC,UAAE,GAAE,OAAO,WAAS,GAAE,OAAO,cAAc,IAAI,MAAM,sBAAsB,CAAC;AAAA,IAAC,SAAOA,IAAE;AAAC,SAAG,+EAA8EA,EAAC;AAAA,IAAC;AAAC,QAAI;AAAE,QAAGqB,MAAG,eAAa,OAAO,OAAO,KAAG;AAAC,QAAC,SAASrB,IAAE6D,KAAE,SAAQ;AAAC,YAAIW,KAAE,OAAGnD,KAAE;AAAG,YAAG,CAAC,OAAO,MAAK;AAAC,gBAAMoD,KAAE;AAAqB,cAAIC,KAAE,EAAC,iBAAgB1E,GAAC;AAAE,iBAAO,eAAe0E,IAAED,IAAE,EAAC,OAAM,MAAG,YAAW,MAAG,cAAa,OAAG,UAAS,MAAE,CAAC,GAAEC,KAAE,IAAI,MAAMA,IAAE,EAAC,KAAI,CAACA,IAAEC,OAAKC,QAAK,sBAAoBD,MAAGH,KAAE,sBAAoBG,MAAGA,OAAIF,MAAGpD,OAAIA,KAAE,MAAGwC,GAAE,MAAM,iIAAiI,GAAE7D,GAAE,QAAQ,EAAC,QAAO,4BAA2B,CAAC,EAAE,OAAO,CAAAA,OAAG;AAAC,YAAA6D,GAAE,MAAM,4CAA2C7D,EAAC;AAAA,UAAC,EAAC,MAAKwE,KAAE,MAAGX,GAAE,KAAK,2NAA2N,IAAG,QAAQ,IAAIa,IAAEC,IAAE,GAAGC,EAAC,IAAG,KAAI,IAAI5E,QAAK6D,GAAE,KAAK,yMAAyM,GAAE,QAAQ,IAAI,GAAG7D,EAAC,GAAE,CAAC,GAAE,OAAO,eAAe,QAAO,QAAO,EAAC,OAAM0E,IAAE,YAAW,OAAG,cAAa,MAAG,UAAS,KAAE,CAAC;AAAA,QAAC;AAAA,MAAC,GAAE,KAAK,QAAQ;AAAA,IAAC,SAAO1E,IAAE;AAAC,SAAG,iEAAgEA,EAAC;AAAA,IAAC;AAAC,SAAK,SAAS,GAAG,gBAAe,CAAAA,OAAG;AAAC,WAAK,YAAY,KAAK,GAAG,YAAWA,EAAC;AAAA,IAAC,EAAC,GAAG,KAAK,SAAS,GAAG,iBAAgB,MAAI;AAAC,YAAMA,KAAE,EAAC,SAAQ,KAAK,SAAS,WAAU,GAAG,aAAY,KAAK,SAAS,YAAW,GAAG,YAAW,KAAK,SAAS,YAAW,iBAAgB,KAAK,SAAS,sBAAqB,gBAAe,KAAK,SAAS,kBAAiB,EAAE;AAAE,WAAK,YAAY,KAAK,GAAG,aAAYA,EAAC,GAAE,GAAG,kDAAiDA,EAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,OAAO,KAAKA,IAAE;AAAC,QAAI6D;AAAE,WAAO,GAAG,kDAAkD,GAAE,KAAK,WAAS,IAAI,GAAG7D,EAAC,GAAE,UAAQ6D,KAAE,KAAK,aAAW,WAASA,KAAE,SAAOA,GAAE;AAAA,EAAQ;AAAA,EAAC,OAAO,UAAS;AAAA,EAAC;AAAA,EAAC,OAAO,cAAa;AAAC,QAAI7D;AAAE,QAAG,EAAE,UAAQA,KAAE,KAAK,aAAW,WAASA,KAAE,SAAOA,GAAE,UAAU,OAAM,IAAI,MAAM,kEAAkE;AAAE,WAAO,KAAK;AAAA,EAAQ;AAAA,EAAC,OAAO,cAAa;AAAC,QAAIA;AAAE,QAAG,EAAE,UAAQA,KAAE,KAAK,aAAW,WAASA,KAAE,SAAOA,GAAE,UAAU,OAAM,IAAI,MAAM,kEAAkE;AAAE,WAAO,KAAK,SAAS;AAAA,EAAQ;AAAC;AAAC,MAAM,GAAE;AAAA,EAAC,YAAY,EAAC,aAAYA,IAAE,mBAAkB6D,IAAE,OAAM,IAAE,MAAE,GAAE;AAAC,SAAK,QAAM,EAAC,cAAa,QAAO,aAAY,OAAG,mBAAkB,QAAO,OAAM,MAAE,GAAE,KAAK,MAAM,eAAa,KAAK,gBAAe,GAAG,KAAK,MAAM,cAAY7D,IAAE,KAAK,MAAM,oBAAkB6D,IAAE,KAAK,MAAM,QAAM;AAAA,EAAC;AAAA,EAAC,aAAa7D,IAAE6D,IAAE,GAAE;AAAC,YAAO,SAAS7D,IAAE6D,IAAEW,IAAEnD,IAAE;AAAC,YAAK,EAAC,OAAM,EAAC,IAAErB;AAAE,SAAG,wDAA2D6D,EAAC,EAAE,GAAE,GAAG,mDAAsDW,EAAC,EAAE;AAAE,UAAG;AAAC,YAAG,EAAE,kBAAkB,QAAO,KAAK,EAAE,kBAAkB,EAAE,cAAYA,KAAEX,IAAExC,EAAC;AAAE,YAAG,GAAG,gEAAgE,EAAE,WAAW,SAAS,EAAE,cAAYmD,KAAEX,EAAC,EAAE,GAAE,EAAE,YAAY,gBAAa,OAAO,WAAS,OAAO,SAAS,OAAKW;AAAA,iBAAW,eAAa,OAAO,UAAS;AAAC,gBAAMxE,KAAE,SAAS,cAAc,GAAG;AAAE,UAAAA,GAAE,OAAK6D,IAAE7D,GAAE,SAAO,SAAQA,GAAE,MAAI,uBAAsBA,GAAE,MAAK;AAAA,QAAE;AAAA,MAAC,SAAOA,IAAE;AAAC,gBAAQ,IAAI,sDAAqDA,EAAC;AAAA,MAAC;AAAA,IAAC,GAAE,MAAKA,IAAE6D,IAAE,CAAC;AAAA,EAAC;AAAA,EAAC,gBAAe;AAAC,QAAI7D;AAAE,WAAO,KAAK,aAAY,KAAI,eAAa,OAAO,WAAS,SAAO,UAAQ,WAAS,SAAO,SAAO,OAAO,cAAY,mBAAiB,UAAQA,KAAE,OAAO,cAAY,WAASA,KAAE,SAAOA,GAAE;AAAA,EAAQ;AAAA,EAAC,sBAAqB;AAAC,YAAO,WAAU;AAAC,YAAMA,KAAE,GAAG,YAAW,MAAK,SAAO,UAAQ,WAAS,SAAO,SAAO,OAAO;AAAU,aAAO,GAAG,wDAAwD,QAAMA,KAAE,SAAOA,GAAE,UAAU,gBAAgB,QAAMA,KAAE,SAAOA,GAAE,YAAW,CAAE,EAAE,IAAG,QAAMA,KAAE,SAAOA,GAAE,gBAAc,QAAMA,KAAE,SAAOA,GAAE,YAAW;AAAA,IAAG,GAAC;AAAA,EAAE;AAAA,EAAC,eAAc;AAAC,WAAO,KAAK,UAAS,KAAI,CAAC,KAAK,YAAW;AAAA,EAAE;AAAA,EAAC,WAAU;AAAC,QAAIA,IAAE6D;AAAE,UAAM,IAAE,GAAG,MAAM,OAAO,UAAU,SAAS;AAAE,WAAM,cAAY,UAAQ7D,KAAE,QAAM,IAAE,SAAO,EAAE,aAAW,WAASA,KAAE,SAAOA,GAAE,SAAO,cAAY,UAAQ6D,KAAE,QAAM,IAAE,SAAO,EAAE,aAAW,WAASA,KAAE,SAAOA,GAAE;AAAA,EAAK;AAAA,EAAC,WAAU;AAAC,WAAO,KAAK,cAAa,KAAI,KAAK,YAAW;AAAA,EAAE;AAAA,EAAC,0BAAyB;AAAC,WAAM,eAAa,OAAO,WAAS,QAAQ,OAAO,kBAAkB,KAAG,QAAQ,UAAU,UAAU,SAAS,gBAAgB,CAAC;AAAA,EAAE;AAAA,EAAC,cAAa;AAAC,WAAO,KAAK,MAAM,iBAAe,GAAG;AAAA,EAAS;AAAA,EAAC,OAAO,eAAc;AAAC,QAAI7D;AAAE,WAAM,eAAa,OAAO,UAAQ,EAAE,SAAO,UAAQ,WAAS,SAAO,SAAO,OAAO,cAAY,WAAS,KAAG,mBAAiB,UAAQA,KAAE,QAAM,IAAE,SAAO,EAAE,cAAY,WAASA,KAAE,SAAOA,GAAE,YAAU,mBAAiB,SAAO,aAAW,WAAS,YAAU,SAAO,UAAU;AAAA,EAAQ;AAAA,EAAC,eAAc;AAAC,WAAO,GAAG,aAAY;AAAA,EAAE;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,CAAC,KAAK,aAAY;AAAA,EAAE;AAAA,EAAC,YAAW;AAAC,WAAO,GAAG,UAAS;AAAA,EAAE;AAAA,EAAC,WAAU;AAAC,WAAO,KAAK,aAAY,KAAI,CAAC,KAAK,cAAa;AAAA,EAAE;AAAA,EAAC,gBAAe;AAAC,WAAO,KAAK,MAAM;AAAA,EAAW;AAAA,EAAC,kBAAiB;AAAC,YAAO,SAASA,IAAE;AAAC,YAAK,EAAC,OAAM6D,GAAC,IAAE7D;AAAE,aAAO6D,GAAE,eAAaA,GAAE,eAAa7D,GAAE,cAAa,IAAG,GAAG,cAAYA,GAAE,aAAY,IAAG,GAAG,aAAWA,GAAE,wBAAuB,IAAG,GAAG,wBAAsBA,GAAE,aAAW,GAAG,YAAU,GAAG;AAAA,IAAU,GAAE,IAAI;AAAA,EAAC;AAAC;AAAC,MAAM,KAAG,CAAAA,OAAG,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAC,MAAG,GAAG,UAAS,GAAG;AAAC,UAAK,EAAC,mBAAkB6D,GAAC,IAAE,MAAM,QAAQ,QAAO,EAAG,MAAM,WAAU;AAAC,aAAO;AAAA,IAAE,EAAC;AAAG,WAAO,IAAIA,GAAE7D,EAAC;AAAA,EAAC;AAAC,QAAM6D,KAAE,EAAC,sBAAqB,MAAI,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAA,EAAC,EAAC,GAAG,2BAA0B,MAAI,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAA,EAAC,EAAC,GAAG,iBAAgB,MAAI,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAA,EAAC,EAAC,GAAG,mBAAkB,MAAI,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAC,WAAM,CAAA;AAAA,EAAE,EAAC,GAAG,gBAAe,MAAI,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAA,EAAC,EAAC,GAAG,kBAAiB,MAAI,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAA,EAAC,EAAC,GAAG,WAAU,MAAI,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAA,EAAC,EAAC,EAAE;AAAE,SAAO,QAAQ,QAAQA,EAAC;AAAC,EAAC;AAAG,MAAM,WAAW,GAAE;AAAA,EAAC,YAAY,EAAC,kBAAiB7D,IAAE,oBAAmB6D,IAAE,qBAAoB,IAAE,MAAE,GAAE;AAAC,UAAM7D,IAAE,EAAC,QAAO,SAAQ,mBAAkB,KAAI,oBAAmB6D,GAAC,CAAC,GAAE,KAAK,QAAM,EAAC,UAAS,MAAK,qBAAoB,OAAG,wBAAuB,OAAG,SAAQ,IAAG,gBAAe,GAAE,GAAE,GAAG,oDAAoD,CAAC,EAAE,GAAE,KAAK,MAAM,sBAAoB;AAAA,EAAC;AAAA,EAAC,uBAAsB;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,aAAO,GAAG,6DAA6D,KAAK,MAAM,mBAAmB,EAAE,GAAE,KAAK,sBAAqB;AAAA,IAAE,EAAC;AAAA,EAAE;AAAA,EAAC,gBAAe;AAAC,OAAG,wDAAwD,GAAE,KAAK,OAAO,cAAY;AAAA,EAAE;AAAA,EAAC,WAAU;AAAC,WAAO,KAAK;AAAA,EAAM;AAAA,EAAC,sBAAqB;AAAC,WAAO,KAAK;AAAA,EAAK;AAAA,EAAC,qBAAoB;AAAC,QAAI7D;AAAE,UAAK,EAAC,UAAS6D,GAAC,IAAE,KAAK;AAAO,WAAOA,MAAG,MAAIA,GAAE,UAAQ,UAAQ7D,KAAE6D,GAAE,CAAC,MAAI,WAAS7D,KAAE,SAAOA,GAAE,YAAW,MAAK,MAAI,GAAG,qDAAqD,GAAE;AAAA,EAAK;AAAA,EAAC,aAAY;AAAC,WAAO,KAAK,MAAM;AAAA,EAAO;AAAA,EAAC,oBAAmB;AAAC,WAAO,KAAK,MAAM;AAAA,EAAc;AAAA,EAAC,oBAAoBA,IAAE;AAAC,SAAK,QAAM,OAAO,OAAO,OAAO,OAAO,CAAA,GAAG,KAAK,KAAK,GAAEA,EAAC;AAAA,EAAC;AAAA,EAAC,sBAAsBA,IAAE6D,IAAE;AAAC,WAAO,KAAK,uBAAuB7D,IAAE6D,EAAC;AAAA,EAAC;AAAA,EAAC,iBAAiB,EAAC,WAAU7D,KAAE,MAAE,GAAE;AAAC,MAAC,SAAS,EAAC,WAAUA,KAAE,OAAG,UAAS6D,GAAC,GAAE;AAAC,YAAK,EAAC,OAAM,EAAC,IAAEA;AAAE,SAAG,0EAA0E7D,EAAC,IAAG6D,EAAC,GAAE7D,OAAI6D,GAAE,OAAO,WAAS,MAAKA,GAAE,OAAO,aAAW,OAAGA,GAAE,OAAO,4BAA0B,MAAGA,GAAE,OAAO,cAAY,QAAIA,GAAE,uBAAuB,CAAA,CAAE,GAAEA,GAAE,OAAO,cAAY,OAAGA,GAAE,KAAK,cAAa,GAAG,UAAU,SAAS,aAAY,CAAE,GAAE,EAAE,yBAAuB;AAAA,IAAE,GAAE,EAAC,WAAU7D,IAAE,UAAS,KAAI,CAAC;AAAA,EAAC;AAAA,EAAC,wBAAuB;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAO,SAASA,IAAE;AAAC,YAAI6D,IAAE;AAAE,eAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,qBAAS7D,GAAE,UAAQA,GAAE,QAAM,EAAC,UAAS,MAAK,qBAAoB,OAAG,wBAAuB,OAAG,SAAQ,GAAE;AAAG,gBAAK,EAAC,OAAMqB,GAAC,IAAErB;AAAE,cAAI;AAAE,cAAGqB,GAAE,uBAAuB,IAAG,0EAA0E;AAAA,eAAM;AAAC,gBAAI;AAAE,YAAAA,GAAE,yBAAuB;AAAG,gBAAI,IAAE,MAAK,IAAE,OAAGD,KAAE;AAAG,kBAAMwB,KAAE,MAAM,GAAG,EAAC,SAAQ,KAAE,CAAC;AAAE,gBAAGA,IAAE;AAAC,oBAAM5C,KAAE,MAAM4C,GAAE,0BAA0B,CAAA,CAAE;AAAE,kBAAE,UAAQiB,KAAE,QAAM7D,KAAE,SAAOA,GAAE,qBAAmB,WAAS6D,MAAGA,IAAE,IAAE,MAAMjB,GAAE,iBAAgB;AAAG,oBAAM4B,KAAE,MAAM5B,GAAE;AAAoB,cAAA4B,GAAE,SAAO,MAAI,IAAEA,GAAE,CAAC;AAAA,YAAE;AAAC,gBAAG,GAAG,0DAA0D,CAAC,IAAG,EAAC,kBAAiB,GAAE,eAAc,GAAE,uBAAsB,EAAC,CAAC,GAAE,EAAE,KAAG,KAAG,EAAE,KAAE,EAAC,UAAS,CAAC,CAAC,GAAE,SAAQ,GAAE,YAAW,MAAE,GAAEpD,KAAE;AAAA,gBAAQ,KAAG;AAAC,kBAAE,MAAMpB,GAAE,QAAQ,EAAC,QAAO,4BAA2B,CAAC;AAAA,YAAC,SAAO6D,IAAE;AAAC,qBAAO7D,GAAE,KAAK,MAAM,kEAAiE6D,EAAC,GAAE,MAAKxC,GAAE,yBAAuB;AAAA,YAAG;AAAC,gBAAG,OAAK,UAAQ,IAAE,QAAM,IAAE,SAAO,EAAE,aAAW,WAAS,IAAE,SAAO,EAAE,QAAQ,KAAGrB,GAAE,qBAAqB,GAAE,WAAS,CAACA,GAAE,oBAAoB;AAAA,iBAAM;AAAC,iBAAG,gEAAgE;AAAE,oBAAM6D,KAAE,MAAM7D,GAAE,QAAQ,EAAC,QAAO,uBAAsB,QAAO,CAAA,EAAE,CAAC;AAAE,gBAAE,WAAS6D;AAAA,YAAC;AAAC,YAAA7D,GAAE,iBAAiB,CAAC,GAAEqB,GAAE,yBAAuB,OAAGD,OAAIpB,GAAE,OAAO,cAAY,MAAGA,GAAE,KAAK,WAAU,EAAC,SAAQ,QAAM,IAAE,SAAO,EAAE,QAAO,CAAC;AAAA,UAAE;AAAA,QAAC,EAAC;AAAA,MAAE,GAAE,IAAI;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,iBAAiBA,IAAE;AAAC,WAAO,GAAG,qCAAoCA,EAAC,IAAE,SAASA,IAAE6D,IAAE,GAAE;AAAC,aAAO,GAAG,kEAAkE,GAAE7D,GAAE,OAAO,cAAY,OAAG6D,GAAE,CAAC;AAAA,IAAC,GAAE,MAAK,MAAM,iBAAiB,KAAK,IAAI,GAAE7D,EAAC;AAAA,EAAC;AAAA,EAAC,oBAAoB,EAAC,SAAQA,IAAE,gBAAe6D,GAAC,IAAE,CAAA,GAAG;AAAC,SAAK,MAAM,UAAQ7D,IAAE,KAAK,MAAM,iBAAe6D,KAAE,SAAS,EAAC,UAAS7D,IAAE,SAAQ6D,IAAE,gBAAexC,IAAE,yBAAwB,EAAC,GAAE;AAAC,SAAG,+CAA+CwC,EAAC,mBAAmBxC,EAAC,EAAE;AAAE,UAAI,IAAEA;AAAE,MAAAA,OAAI,GAAG,sFAAsF,GAAE,IAAE,MAAKwC,OAAI,OAAKW,KAAAA,UAAE,MAAM,kBAAiB,EAAC,eAAc,UAAU,SAAS,QAAMX,KAAEA,KAAE,OAAM,EAAE,CAAC,GAAE,CAAC,GAAE,KAAGA,KAAG7D,GAAE,OAAO,cAAY,MAAGA,GAAE,KAAK,WAAU,EAAC,SAAQ6D,GAAC,CAAC,GAAE,EAAE,EAAC,SAAQA,IAAE,gBAAe,EAAC,CAAC;AAAA,IAAC,GAAE,EAAC,UAAS,MAAK,SAAQ7D,IAAE,gBAAe6D,IAAE,yBAAwB,MAAM,oBAAoB,KAAK,IAAI,EAAC,CAAC;AAAA,EAAC;AAAC;AAAC,IAAI,IAAG,KAAG,EAAC,MAAK,iBAAgB,SAAQ,UAAS,aAAY,IAAG,UAAS,mDAAkD,MAAK,EAAC,KAAI,kDAAiD,GAAE,YAAW,EAAC,MAAK,OAAM,KAAI,4CAA2C,WAAU,eAAc,GAAE,MAAK,iCAAgC,QAAO,mCAAkC,SAAQ,mCAAkC,OAAM,oCAAmC,gBAAe,wCAAuC,OAAM,6BAA4B,aAAY,OAAG,OAAM,CAAC,OAAO,GAAE,SAAQ,EAAC,eAAc,+EAA8E,OAAM,qDAAoD,eAAc,4BAA2B,kBAAiB,cAAa,iBAAgB,cAAa,WAAU,gBAAe,OAAM,iBAAgB,MAAK,kCAAiC,MAAK,8CAA6C,kBAAiB,qDAAoD,eAAc,gCAA+B,YAAW,oDAAmD,aAAY,iFAAgF,SAAQ,4BAA2B,mBAAkB,kCAAiC,OAAM,wCAAuC,MAAK,yCAAwC,iBAAgB,oDAAmD,YAAW,kCAAiC,WAAU,6GAA4G,YAAW,kFAAiF,OAAM,gBAAe,KAAI,iEAAgE,aAAY,iEAAgE,GAAE,cAAa,EAAC,kBAAiB,WAAU,wBAAuB,UAAS,uBAAsB,UAAS,2BAA0B,eAAc,qCAAoC,eAAc,mCAAkC,eAAc,iBAAgB,UAAS,QAAO,UAAS,eAAc,UAAS,OAAM,SAAQ,SAAQ,WAAU,kBAAiB,UAAS,eAAc,UAAS,iBAAgB,UAAS,MAAK,UAAS,mBAAkB,UAAS,oBAAmB,UAAS,OAAM,UAAS,MAAK,WAAU,MAAK,SAAQ,GAAE,iBAAgB,EAAC,iBAAgB,WAAU,2BAA0B,UAAS,4BAA2B,SAAQ,2BAA0B,UAAS,kCAAiC,UAAS,sCAAqC,UAAS,6CAA4C,WAAU,wBAAuB,UAAS,2BAA0B,WAAU,uBAAsB,UAAS,+BAA8B,WAAU,0BAAyB,UAAS,yBAAwB,UAAS,8BAA6B,WAAU,+BAA8B,UAAS,eAAc,WAAU,eAAc,UAAS,0BAAyB,WAAU,eAAc,WAAU,oCAAmC,WAAU,6BAA4B,WAAU,mBAAkB,UAAS,QAAO,UAAS,cAAa,UAAS,qBAAoB,WAAU,QAAO,WAAU,0BAAyB,UAAS,wBAAuB,WAAU,sBAAqB,WAAU,uBAAsB,WAAU,sBAAqB,WAAU,0BAAyB,UAAS,oBAAmB,UAAS,MAAK,WAAU,0BAAyB,WAAU,UAAS,UAAS,SAAQ,YAAW,QAAO,UAAS,QAAO,WAAU,0BAAyB,UAAS,sBAAqB,UAAS,yBAAwB,UAAS,+BAA8B,UAAS,+BAA8B,WAAU,uBAAsB,UAAS,6BAA4B,WAAU,4BAA2B,WAAU,cAAa,WAAU,qBAAoB,UAAS,eAAc,UAAS,WAAU,WAAU,WAAU,WAAU,YAAW,UAAS,KAAI,WAAU,SAAQ,SAAQ,GAAE,eAAc,EAAC,QAAO,UAAS,UAAS,8BAA6B,GAAE,UAAS,EAAC,cAAa,EAAC,qBAAoB,OAAG,mDAAkD,OAAG,uDAAsD,OAAG,gDAA+C,OAAG,uDAAsD,OAAG,oDAAmD,MAAE,EAAC,EAAC;AAAE,EAAC,SAAS7D,IAAE;AAAC,EAAAA,GAAE,SAAO,mBAAkBA,GAAE,iBAAe,0BAAyBA,GAAE,WAAS;AAAmB,GAAE,OAAK,KAAG,GAAG;AAAE,MAAM,KAAG,UAAS,KAAG,qCAAoC,KAAG,sBAAqB,KAAG,EAAC,MAAK,YAAW,MAAK,CAAC,eAAc,mBAAmB,EAAC,GAAE,KAAG,wGAAuG,KAAG,EAAC,2BAA0B,6BAA4B,sBAAqB,wBAAuB,sBAAqB,wBAAuB,eAAc,iBAAgB,gBAAe,kBAAiB,eAAc,iBAAgB,2BAA0B,6BAA4B,0BAAyB,4BAA2B,uBAAsB,yBAAwB,mBAAkB,qBAAoB,yBAAwB,2BAA0B,+BAA8B,8BAA6B,qBAAoB,uBAAsB,cAAa,gBAAe,aAAY,eAAc,qBAAoB,uBAAsB,mBAAkB,qBAAoB,sBAAqB,wBAAuB,sBAAqB,wBAAuB,qBAAoB,uBAAsB,UAAS,YAAW,qBAAoB,qBAAoB,GAAE,KAAG,EAAC,CAAC,GAAG,mBAAmB,GAAE,MAAG,CAAC,GAAG,mBAAmB,GAAE,MAAG,CAAC,GAAG,mBAAmB,GAAE,MAAG,CAAC,GAAG,QAAQ,GAAE,MAAG,CAAC,GAAG,aAAa,GAAE,MAAG,CAAC,GAAG,YAAY,GAAE,OAAG,CAAC,GAAG,WAAW,GAAE,OAAG,CAAC,GAAG,aAAa,GAAE,MAAG,CAAC,GAAG,iBAAiB,GAAE,MAAG,CAAC,GAAG,oBAAoB,GAAE,MAAG,CAAC,GAAG,oBAAoB,GAAE,MAAG,CAAC,GAAG,yBAAyB,GAAE,MAAG,CAAC,GAAG,qBAAqB,GAAE,MAAG,CAAC,GAAG,iBAAiB,GAAE,MAAG,CAAC,GAAG,uBAAuB,GAAE,MAAG,CAAC,GAAG,6BAA6B,GAAE,MAAG,CAAC,GAAG,oBAAoB,GAAE,MAAG,CAAC,GAAG,oBAAoB,GAAE,MAAG,CAAC,GAAG,mBAAmB,GAAE,MAAG,CAAC,GAAG,cAAc,GAAE,MAAG,CAAC,GAAG,aAAa,GAAE,KAAE,GAAE,KAAG,OAAO,KAAK,EAAE,EAAE,QAAQ,CAAAA,OAAG,SAAK,GAAGA,EAAC,IAAI,KAAK,CAAAA,OAAGA,GAAE,YAAW,KAAK,KAAG,CAAC,qBAAoB,wBAAuB,wBAAuB,UAAU,EAAE,KAAK,CAAAA,OAAGA,GAAE,YAAW,EAAE,GAAG,KAAG,aAAY,KAAG,gBAAe,KAAG,yBAAwB,KAAG,yBAAwB,KAAG,EAAC,eAAc,gBAAe,kBAAiB,mBAAkB,YAAW,cAAa,SAAQ,WAAU,WAAU,YAAW,GAAE,KAAG;AAAO,IAAC;AAAG,EAAC,SAASA,IAAE;AAAC,EAAAA,GAAE,YAAU,aAAYA,GAAE,YAAU,aAAYA,GAAE,cAAY;AAAa,GAAE,OAAK,KAAG,CAAA,EAAG;AAAE,MAAM,KAAG,eAAa,OAAO,UAAQ,OAAO;AAAa,SAAS,GAAG,EAAC,UAASA,IAAE,KAAI6D,GAAC,GAAE;AAAC,SAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,QAAG7D,GAAE,iBAAe,GAAG,uEAAuE,GAAE,MAAMA,GAAE,KAAI,IAAI,GAAG,kDAAkDA,GAAE,cAAc,EAAE,GAAE,CAACA,GAAE,eAAe,OAAM,IAAI,MAAM,yCAAyC;AAAE,UAAM,IAAE,yBAAyB,KAAK6D,EAAC,IAAEA,MAAE,SAAS7D,IAAE;AAAC,UAAI6D;AAAE,UAAG,WAAS,EAAE,CAAAA,KAAE,EAAE,KAAK7D,IAAE,MAAM,EAAE,SAAS,KAAK;AAAA,eAAU,eAAa,OAAO,aAAY;AAAC,cAAMwE,KAAG,IAAI,cAAa,OAAOxE,EAAC;AAAE,QAAA6D,KAAE,MAAM,KAAKW,EAAC,EAAE,KAAK,CAAAxE,OAAGA,GAAE,SAAS,EAAE,EAAE,SAAS,GAAE,GAAG,EAAC,EAAG,KAAK,EAAE;AAAA,MAAC,OAAK;AAAC,YAAG,YAAU,OAAO,KAAG,EAAE,YAAW,GAAG,OAAM,IAAI,MAAM,uDAAuD;AAAE,QAAA6D,KAAE,EAAE,OAAO,KAAK7D,IAAE,MAAM,EAAE,SAAS,KAAK;AAAA,MAAC;AAAC,aAAM,KAAK6D,EAAC;AAAA,IAAE,GAAEA,EAAC;AAAE,WAAO7D,GAAE,eAAe,QAAQ,EAAC,QAAO,GAAG,sBAAqB,QAAO,CAAC,EAAC,QAAO,GAAG,eAAc,QAAO,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC;AAAA,EAAC,EAAC;AAAE;AAAC,SAAS,GAAGA,IAAE;AAAC,MAAI6D,IAAE;AAAE,SAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,OAAG,kDAAiD7D,EAAC,GAAEA,GAAE,cAAYA,GAAE,gBAAeA,GAAE,iBAAe,OAAO,WAAU,OAAO,WAAS,OAAO;AAAU,QAAG;AAAC,YAAMA,KAAE,MAAM,UAAQ6D,KAAE,OAAO,cAAY,WAASA,KAAE,SAAOA,GAAE,QAAQ,EAAC,QAAO,sBAAqB,CAAC;AAAE,SAAG,0DAA0D7D,EAAC,EAAE;AAAA,IAAC,SAAOA,IAAE;AAAC,aAAO,KAAK,QAAQ,KAAK,8EAA6EA,EAAC;AAAA,IAAC;AAAC,iBAAa,QAAQ,IAAG,WAAW,GAAEA,GAAE,kBAAgB,MAAGA,GAAE,KAAK,GAAG,gBAAe,GAAG,SAAS,GAAEA,GAAE,QAAQ,oBAAkB,UAAQ,IAAEA,GAAE,cAAY,WAAS,KAAG,EAAE,KAAK,EAAC,OAAM,GAAG,kBAAiB,CAAC;AAAA,EAAE,EAAC;AAAE;AAAC,SAAS,GAAGA,IAAE;AAAC,MAAI6D;AAAE,MAAG,WAAS,EAAE,CAAAA,KAAE,EAAE,KAAK7D,IAAE,MAAM,EAAE,SAAS,QAAQ;AAAA,WAAU,cAAY,OAAO,KAAK,CAAA6D,KAAE,KAAK,mBAAmB7D,EAAC,EAAE,QAAQ,qBAAoB,CAACA,IAAE6D,OAAI,OAAO,aAAa,SAASA,IAAE,EAAE,CAAC,EAAC,CAAE;AAAA,OAAM;AAAC,QAAG,YAAU,OAAO,KAAG,EAAE,YAAW,GAAG,OAAM,IAAI,MAAM,+CAA+C;AAAE,IAAAA,KAAE,EAAE,OAAO,KAAK7D,IAAE,MAAM,EAAE,SAAS,QAAQ;AAAA,EAAC;AAAC,SAAO6D;AAAC;AAAC,SAAS,GAAG7D,IAAE6D,IAAE,GAAExC,IAAE;AAAC,MAAI,GAAE,GAAE,GAAE,GAAEuB,IAAEhC,IAAE0D,IAAE3D,IAAE4D,IAAEf,IAAEzD,IAAEW,IAAEI,IAAEK,IAAEoB,IAAE1B,IAAEgE,IAAEC,IAAEC,IAAE7C;AAAE,SAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,UAAMsC,KAAE,UAAQ,IAAExE,GAAE,MAAM,WAAS,WAAS,IAAE,SAAO,EAAE,QAAO,GAAGoB,KAAE,UAAQ,IAAEpB,GAAE,MAAM,WAAS,WAAS,IAAE,SAAO,EAAE,YAAW,GAAGiF,KAAE,UAAQ,IAAEjF,GAAE,MAAM,WAAS,WAAS,IAAE,SAAO,EAAE,SAAQ,GAAGkF,KAAE,GAAG,YAAW,GAAGC,KAAE,UAAQ,IAAEnF,GAAE,MAAM,WAAS,WAAS,IAAE,SAAO,EAAE,gBAAeoF,KAAE,UAAQxC,KAAE5C,GAAE,MAAM,WAAS,WAAS4C,KAAE,SAAOA,GAAE,gBAAe,EAAC,kBAAiByC,GAAC,IAAErF,GAAE,OAAM,EAAC,QAAOuF,IAAE,MAAKC,IAAE,oBAAmBC,GAAC,KAAG,CAAAzF,OAAG;AAAC,UAAI6D,IAAEW,IAAEnD,IAAEoD;AAAE,UAAIC;AAAE,QAAE,SAAS1E,EAAC,KAAG0E,KAAE1E,GAAE,OAAM,GAAG0E,GAAE,YAAU,QAAIA,KAAE1E;AAAE,YAAM2E,KAAE,UAAQd,KAAE,QAAMa,KAAE,SAAOA,GAAE,SAAO,WAASb,KAAE,SAAOA,GAAE;AAAO,UAAIe,KAAE;AAAG,aAAM,YAAU,QAAO,UAAQJ,KAAE,QAAME,KAAE,SAAOA,GAAE,SAAO,WAASF,KAAE,SAAOA,GAAE,WAAS,UAAM,UAAQC,KAAE,UAAQpD,KAAE,QAAMqD,KAAE,SAAOA,GAAE,SAAO,WAASrD,KAAE,SAAOA,GAAE,WAAS,WAASoD,KAAE,SAAOA,GAAE,0BAAwBG,KAAE,MAAGF,GAAE,KAAK,SAAOA,GAAE,KAAK,OAAO,gBAAe,EAAC,QAAOC,IAAE,MAAKD,IAAE,oBAAmBE,GAAC;AAAA,IAAC,GAAGf,EAAC;AAAE,QAAG,GAAG,4BAA4B0B,EAAC,mBAAmBf,EAAC,cAAcW,EAAC,sBAAsB/D,EAAC,mBAAmB6D,EAAC,sBAAsBC,GAAE,YAAW,CAAE,IAAGrB,EAAC,GAAE,CAACsB,GAAE,QAAOI,OAAI,GAAG,6BAA2B,GAAG,oBAAoBA,EAAC,6BAAgC,GAAElE,GAAE,IAAI,MAAM,cAAc,CAAC;AAAE,OAAG,sCAAsC,UAAQT,KAAEZ,GAAE,MAAM,WAAS,WAASY,KAAE,SAAOA,GAAE,SAAQ,CAAE,eAAewE,EAAC,UAAUZ,EAAC,oBAAoBpD,EAAC,IAAGyC,EAAC;AAAE,UAAM6B,KAAE,UAAQpB,KAAEtE,GAAE,MAAM,oBAAkB,WAASsE,KAAE,SAAOA,GAAE,SAAQ,GAAGqB,KAAE,UAAQpB,KAAE,UAAQ5D,KAAEX,GAAE,MAAM,oBAAkB,WAASW,KAAE,SAAOA,GAAE,YAAW,MAAK,WAAS4D,MAAGA,IAAEqB,KAAE,UAAQ7F,KAAE,UAAQyD,KAAExD,GAAE,MAAM,WAAS,WAASwD,KAAE,SAAOA,GAAE,0BAAwB,WAASzD,MAAGA,MAAG4F,MAAGP;AAAE,QAAG;AAAC,UAAG,CAACK,IAAE;AAAC,cAAM5B,KAAE,KAAK,UAAU,QAAM2B,KAAE,SAAOA,GAAE,IAAI;AAAE,YAAG3B,GAAE,SAAO,GAAG,QAAOxC,GAAE,IAAI,MAAM,gBAAgBwC,GAAE,MAAM,gDAAgD,CAAC;AAAE,kBAAQnD,KAAEV,GAAE,MAAM,WAAS,WAASU,MAAGA,GAAE,YAAY,QAAM8E,KAAE,SAAOA,GAAE,IAAI,EAAE,MAAM,MAAI;AAAC,aAAG,qBAAqBD,EAAC,oBAAoB;AAAA,QAAC,EAAC,EAAG,OAAO,CAAAvF,OAAG;AAAC,aAAG,2CAA0CA,EAAC;AAAA,QAAC,EAAC;AAAA,MAAE;AAAC,UAAG,CAAC0F,GAAE,QAAO,GAAG,kDAAkDH,EAAC,qBAAqB,GAAElE,GAAC;AAAG,UAAGoE,GAAE,QAAO,GAAG,0EAA0E,GAAEpE,GAAC;AAAG,YAAMwC,KAAE,UAAQtB,KAAE,UAAQpB,KAAE,UAAQL,KAAEd,GAAE,MAAM,WAAS,WAASc,KAAE,SAAOA,GAAE,WAAU,MAAK,WAASK,KAAE,SAAOA,GAAE,MAAM,WAAS,WAASoB,KAAEA,KAAE;AAAG,UAAIiC,KAAE,UAAU,aAAaW,EAAC,WAAWtB,EAAC,sBAAsB;AAAE,UAAG+B,IAAE;AAAC,cAAM/B,KAAE,KAAK,UAAU,QAAM2B,KAAE,SAAOA,GAAE,IAAI,GAAEf,KAAE,UAAQ5D,KAAEb,GAAE,MAAM,WAAS,WAASa,KAAE,SAAOA,GAAE,QAAQgD,EAAC;AAAE,YAAG,CAACY,GAAE,QAAO,GAAG,4CAA4C,GAAEpD,GAAE,IAAI,MAAM,qDAAqD,CAAC;AAAE,QAAAmD,MAAG,WAAWa,EAAC,QAAQ,GAAGZ,EAAC,CAAC;AAAA,MAAE;AAAC,UAAG,EAAE,UAAQI,KAAE7E,GAAE,MAAM,oBAAkB,WAAS6E,KAAE,SAAOA,GAAE,uBAAuB,QAAO,GAAG,qEAAqE,GAAExD,GAAC;AAAG,SAAGkE,EAAC,KAAG,GAAG,wCAAwCA,EAAC,qBAAqBnE,EAAC,YAAYoD,EAAC,EAAE,GAAE,UAAQM,KAAE9E,GAAE,MAAM,oBAAkB,WAAS8E,MAAGA,GAAE,aAAa,GAAG,EAAE,IAAIN,EAAC,IAAG,GAAG,EAAE,IAAIA,EAAC,IAAG,OAAO,MAAI,UAAQO,KAAE/E,GAAE,MAAM,WAAS,WAAS+E,KAAE,SAAOA,GAAE,SAAQ,MAAK,GAAG,uEAAuEQ,EAAC,EAAE,GAAE,UAAQrD,KAAElC,GAAE,MAAM,oBAAkB,WAASkC,MAAGA,GAAE,aAAa,GAAG,EAAE,kBAAkBsC,EAAC,IAAG,GAAG,EAAE,kBAAkBA,EAAC,IAAG,OAAO,KAAG,GAAG,4BAA4Be,EAAC,yBAAyB;AAAA,IAAC,SAAOvF,IAAE;AAAC,aAAO,GAAG,2CAA0CA,EAAC,GAAEqB,GAAE,IAAI,MAAM,qDAAqD,CAAC;AAAA,IAAC;AAAC,WAAOA,GAAC;AAAA,EAAE,EAAC;AAAE;AAAC,MAAM,WAAW,GAAG,OAAM;AAAA,EAAC,YAAY,EAAC,MAAKrB,IAAE,QAAO6D,IAAE,kBAAiB,GAAE,iBAAgBxC,GAAC,GAAE;AAAC,UAAM,EAAC,YAAW,KAAE,CAAC,GAAE,KAAK,QAAM,EAAC,OAAM,MAAK,QAAO,MAAK,kBAAiB,OAAG,iBAAgB,KAAI,GAAE,KAAK,MAAM,QAAMrB,IAAE,KAAK,MAAM,SAAO6D,IAAE,KAAK,MAAM,mBAAiB,GAAE,KAAK,MAAM,kBAAgBxC,IAAE,KAAK,aAAW,KAAK,WAAW,KAAK,IAAI,GAAE,KAAK,MAAM,OAAO,GAAG,GAAG,SAAQ,KAAK,UAAU;AAAA,EAAC;AAAA,EAAC,OAAOrB,IAAE6D,IAAE,GAAE;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,aAAO,GAAG,MAAK7D,IAAE,GAAE,CAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,QAAO;AAAA,EAAC;AAAA,EAAC,WAAWA,IAAE;AAAC,YAAO,SAASA,IAAE6D,IAAE;AAAC,UAAG;AAAC,YAAG,GAAG,gCAA+BA,EAAC,GAAE,CAACA,MAAG,YAAU,OAAOA,GAAE;AAAO,YAAG,YAAU,QAAO,QAAMA,KAAE,SAAOA,GAAE,MAAM;AAAO,YAAG,EAAE,QAAMA,KAAE,SAAOA,GAAE,MAAM,QAAO,KAAK,GAAG,oDAAmDA,EAAC;AAAE,aAAI,QAAMA,KAAE,SAAOA,GAAE,UAAQ,GAAG,SAAS,QAAO,KAAK,GAAG,+DAA+DA,EAAC,EAAE;AAAE,YAAG,EAAE,SAASA,EAAC,GAAE;AAAC,gBAAM,IAAE,EAAE,KAAKA,EAAC;AAAE,UAAA7D,GAAE,KAAK,CAAC;AAAA,QAAC,MAAM,CAAAA,GAAE,KAAK6D,EAAC;AAAA,MAAC,SAAO7D,IAAE;AAAC,WAAG,iDAAiDA,EAAC,EAAE;AAAA,MAAC;AAAA,IAAC,GAAE,MAAKA,EAAC;AAAA,EAAC;AAAA,EAAC,QAAO;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG;AAAE,MAAM,KAAG,CAAAA,OAAG,IAAI,SAAS,CAAA6D,OAAG;AAAC,cAAY,MAAI;AAAC,IAAAA,GAAE,IAAE;AAAA,EAAC,IAAG7D,EAAC;AAAC,KAAI,KAAG,CAAC,EAAC,6BAA4B6D,KAAE,OAAG,8BAA6B,GAAE,gBAAexC,IAAE,gBAAe,GAAE,iBAAgB,GAAE,WAAU,GAAE,KAAI,GAAE,kBAAiBuB,IAAE,OAAMhC,GAAC,MAAI,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAC,MAAI0D,IAAE3D;AAAE,QAAM4D,MAAG,CAAC,EAAC,MAAKvE,IAAE,kBAAiB6D,GAAC,MAAI;AAAC,QAAG,CAACA,MAAG,EAAE,QAAMA,KAAE,SAAOA,GAAE,aAAY,GAAI,OAAM,IAAI,MAAM,qCAAqC;AAAE,WAAO,IAAI,GAAG,EAAC,MAAK7D,IAAE,QAAO,QAAM6D,KAAE,SAAOA,GAAE,aAAY,GAAG,kBAAiB,QAAMA,KAAE,SAAOA,GAAE,MAAM,kBAAiB,iBAAgB,QAAMA,KAAE,SAAOA,GAAE,mBAAkB,EAAE,CAAC;AAAA,EAAC,GAAG,EAAC,MAAK,GAAG,QAAO,QAAO,GAAG,gBAAgE,kBAAiBjB,GAAC,CAAC,GAAEY,KAAE,EAAE,mBAAkBzD,KAAE,EAAE,QAAQ,cAAaW,KAAE,6BAA6B,GAAG,OAAO,aAAa8C,EAAC,SAAS,UAAQc,KAAEvE,GAAE,QAAM,WAASuE,KAAEA,KAAEvE,GAAE,IAAI,cAAcA,GAAE,IAAI;AAAG,MAAIe,KAAE,MAAKK,KAAE;AAAK,QAAMoB,KAAE,UAAQ5B,KAAE,EAAE,QAAQ,YAAU,WAASA,KAAE,SAAOA,GAAE;AAAe,MAAG4B,IAAE;AAAC,QAAG;AAAC,YAAMvC,KAAE,MAAMuC,GAAE,kBAAiB;AAAG,MAAAvC,GAAE,SAAO,MAAIc,KAAEd,GAAE,CAAC;AAAA,IAAE,SAAOA,IAAE;AAAC,cAAQ,MAAM,8DAA8DA,EAAC,EAAE;AAAA,IAAC;AAAC,QAAG;AAAC,YAAMA,KAAE,MAAMuC,GAAE,iBAAgB;AAAG,MAAAvC,OAAImB,KAAEnB;AAAA,IAAE,SAAOA,IAAE;AAAC,cAAQ,MAAM,8DAA8DA,EAAC,EAAE;AAAA,IAAC;AAAA,EAAC;AAAC,KAAG,oDAAoDc,EAAC,oBAAoBK,EAAC,EAAE;AAAE,QAAMN,KAAE,EAAE,CAACQ,MAAGmC,OAAI,GAAG,cAAYA,OAAI,GAAG,cAAaqB,KAAE,GAAG,KAAK,EAAC,mBAAkBhE,IAAE,kBAAiB0D,IAAE,gBAAe,GAAE,aAAY,EAAC,CAAC;AAAE,MAAIO,KAAE;AAAG,QAAMC,KAAE,CAAA/E,OAAG;AAAC,IAAA8E,KAAE9E;AAAA,EAAC,GAAEgF,KAAE,MAAIF,IAAE5C,KAAE,CAACsC,IAAEnD,IAAEoD,IAAE7D,OAAI,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAC,QAAI0D,IAAE3D,IAAE4D,IAAEf,IAAEzD,IAAEc,IAAEgE,IAAE3C,IAAE+C;AAAE,UAAMC,KAAE,GAAG,YAAW;AAAG,QAAGJ,IAAE;AAAC,MAAAI,GAAE,KAAK,gBAAe,QAAMtC,KAAE,SAAOA,GAAE,MAAM,eAAa,EAAE,GAAE,QAAMA,MAAGA,GAAE,gBAAe;AAAG,UAAI5C,KAAEgF,GAAC;AAAG,aAAKhF,MAAG;AAAC,cAAM6D,KAAEmB,MAAIR,KAAE,QAAM5B,KAAE,SAAOA,GAAE,aAAY;AAAG,QAAA5C,KAAE6D,MAAG,CAACW,IAAE,GAAG,oGAAoGX,EAAC,gBAAgBW,EAAC,EAAE,GAAE,MAAM,GAAG,GAAG;AAAA,MAAC;AAAC,aAAO,GAAG,8GAA8G,GAAEC,GAAE,GAAGpD,EAAC;AAAA,IAAC;AAAC,UAAM8D,KAAE,EAAE,uBAAsBC,KAAE,QAAMxC,KAAE,SAAOA,GAAE,YAAW;AAAG,QAAIyC,KAAE,MAAKE,KAAE,MAAKC,KAAE;AAAK,QAAGH,KAAE,UAAQf,KAAEY,GAAE,mBAAkB,MAAK,WAASZ,KAAEA,KAAExD,IAAE0E,KAAEN,GAAE,WAAU,KAAI/D,IAAEkE,MAAG9C,MAAG8C,OAAIvE,MAAGyB,GAAE,gBAAgB,CAAC8C,EAAC,CAAC,EAAE,OAAO,CAAArF,OAAG;AAAC,cAAQ,MAAM,yDAAyDA,EAAC,EAAE;AAAA,IAAC,EAAC,GAAGwF,OAAIrE,KAAEqE,IAAEjD,MAAGA,GAAE,eAAeiD,EAAC,EAAE,OAAO,CAAAxF,OAAG;AAAC,cAAQ,MAAM,yDAAyDA,EAAC,EAAE;AAAA,IAAC,MAAK,GAAG,6CAA4C,EAAC,iBAAgBqF,IAAE,SAAQG,GAAC,CAAC,GAAE5E,MAAG,GAAG,oDAAoD4D,EAAC,YAAYM,EAAC,oBAAoBO,EAAC,gBAAgBF,EAAC,gCAAgCtB,EAAC,oBAAoBuB,EAAC,EAAE,GAAEC,MAAGb,GAAE,YAAW,MAAK,GAAG,aAAa,YAAW,EAAG,QAAM,CAACa,EAAC;AAAE,QAAGG,MAAGhB,GAAE,kBAAgB,GAAG,YAAY,YAAW,EAAG,QAAOgB;AAAE,UAAMC,KAAE,CAAC,GAAG,qBAAoB,GAAG,2BAA0B,GAAG,sBAAqB,GAAG,oBAAoB,GAAEC,KAAE,CAAC,GAAGlB,EAAC,GAAEmB,KAAE,UAAQhF,KAAE,EAAE,QAAQ,mBAAiB,WAASA,KAAE,SAAOA,GAAE6E,EAAC;AAAE,QAAGG,MAAGD,GAAE,KAAG;AAAC,YAAM7B,KAAE,UAAQU,KAAE,QAAMlD,KAAE,SAAOA,GAAE,CAAC,MAAI,WAASkD,KAAE,SAAOA,GAAE,QAAOE,KAAE,OAAM,CAAC,EAAC,aAAYZ,IAAE,QAAOW,IAAE,SAAQnD,IAAE,QAAOoD,GAAC,MAAI,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAC,cAAMC,KAAE,KAAK,UAAU,EAAC,SAAQ,OAAM,QAAOF,IAAE,QAAOC,IAAE,KAAI,MAAI,GAAE,IAAG,CAAC,GAAEE,KAAE,EAAC,QAAO,oBAAmB,gBAAe,mBAAkB;AAAE,YAAIC;AAAE,QAAAf,GAAE,SAAS,QAAQ,MAAIc,GAAE,mBAAmB,IAAEtD;AAAG,YAAG;AAAC,UAAAuD,KAAE,MAAM,EAAEf,IAAE,EAAC,QAAO,QAAO,SAAQc,IAAE,MAAKD,GAAC,CAAC;AAAA,QAAC,SAAO1E,IAAE;AAAC,gBAAMA,cAAa,QAAM,IAAI,MAAM,6BAA6BA,GAAE,OAAO,EAAE,IAAE,IAAI,MAAM,6BAA6BA,EAAC,EAAE;AAAA,QAAC;AAAC,YAAG,CAAC4E,GAAE,GAAG,OAAM,IAAI,MAAM,qCAAqCA,GAAE,MAAM,EAAE;AAAE,gBAAO,MAAMA,GAAE,KAAI,GAAI;AAAA,MAAM,EAAC,GAAI,EAAC,aAAYe,IAAE,SAAQjF,IAAE,QAAO8D,IAAE,QAAOX,MAAG,CAAA,EAAE,CAAC;AAAE,aAAOjD,MAAG,GAAG,2CAA2C6D,EAAC,EAAE,GAAEA;AAAA,IAAC,SAAOzE,IAAE;AAAC,cAAQ,KAAK,oDAAoDwE,EAAC,+BAA8BxE,EAAC;AAAA,IAAC;AAAC,SAAI,CAACmF,MAAGA,MAAG,CAACC,OAAIZ,OAAI,GAAG,2BAA0B;AAAC,YAAMxE,MAAG,UAAQwD,KAAE,QAAMnC,KAAE,SAAOA,GAAE,CAAC,MAAI,WAASmC,KAAE,SAAOA,GAAE,WAAS,CAAA;AAAG,UAAG,OAAKiC,GAAE,QAAQjB,EAAC,KAAGX,IAAE;AAAC,QAAAkB,GAAE,IAAE;AAAE,cAAMlB,KAAEW,OAAI,GAAG,sBAAqBE,KAAE,GAAG,KAAK,IAAG,CAAE;AAAG,YAAG;AAAC,gBAAM,EAAE,MAAM,EAAC,MAAK,OAAG,aAAYb,KAAE,EAAC,QAAOW,IAAE,IAAGE,IAAE,QAAO1E,GAAC,IAAE,OAAM,CAAC,GAAE,MAAM,IAAI,SAAS,CAACA,IAAE6D,OAAI;AAAC,aAAC,QAAMjB,KAAE,SAAOA,GAAE,aAAY,OAAM,GAAG,8DAA8D,GAAE5C,GAAE,IAAE,IAAG,QAAM4C,MAAGA,GAAE,aAAY,EAAG,KAAK,GAAG,aAAY,MAAI;AAAC,cAAA5C,GAAE,IAAE;AAAA,YAAC,EAAC,GAAG,EAAE,KAAK,GAAG,kBAAiB,CAAAA,OAAG;AAAC,iBAAG,yGAAyGA,EAAC,EAAE,GAAEA,OAAI,GAAG,YAAU6D,GAAE,GAAG,eAAe,IAAEA,GAAE,IAAI,MAAM,uBAAuB,CAAC;AAAA,YAAC,EAAC;AAAA,UAAE,EAAC;AAAA,QAAE,SAAOA,IAAE;AAAC,cAAG,GAAG,cAAYA,IAAE;AAAC,gBAAG,GAAG,kFAAkFW,EAAC,yBAAyB,GAAEA,GAAE,kBAAgB,GAAG,qBAAqB,YAAW,GAAG;AAAC,oBAAMX,KAAE,MAAM,UAAQ9D,KAAE,EAAE,YAAW,MAAK,WAASA,KAAE,SAAOA,GAAE,QAAQ,EAAC,QAAO,GAAG,qBAAoB,QAAO,CAAA,EAAE,CAAC;AAAE,kBAAG,CAAC8D,GAAE,OAAO,OAAM,IAAI,MAAM,yCAAyC;AAAE,oBAAMW,KAAE,MAAM,UAAQ3D,KAAE,EAAE,YAAW,MAAK,WAASA,KAAE,SAAOA,GAAE,QAAQ,EAAC,QAAO,GAAG,eAAc,QAAO,CAACb,GAAE,CAAC,GAAE6D,GAAE,CAAC,CAAC,EAAC,CAAC;AAAE,qBAAO,EAAE,KAAK,GAAG,qBAAoBW,EAAC,GAAEA;AAAA,YAAC;AAAC,gBAAGA,GAAE,YAAW,MAAK,GAAG,qBAAqB,YAAW,GAAG;AAAC,oBAAK,CAACX,EAAC,IAAE7D,IAAEwE,KAAE,OAAM,CAAC,EAAC,QAAOxE,IAAE,KAAI6D,IAAE,QAAOW,GAAC,MAAI,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAC,oBAAInD,IAAEoD,IAAEC,IAAEC;AAAE,oBAAG,CAACd,GAAE,kBAAiB,EAAG,OAAM,IAAI,MAAM,8CAA8C;AAAE,mBAAG,kFAAiF7D,IAAEwE,EAAC;AAAE,sBAAMI,KAAE,MAAM,UAAQvD,KAAEwC,GAAE,kBAAgB,WAASxC,KAAE,SAAOA,GAAE,QAAQ,EAAC,QAAO,GAAG,qBAAoB,QAAO,CAAA,EAAE,CAAC;AAAE,oBAAG,CAACuD,GAAE,OAAO,OAAM,IAAI,MAAM,yCAAyC;AAAE,qBAAI,QAAM5E,KAAE,SAAOA,GAAE,YAAW,OAAM,GAAG,cAAc,eAAc;AAAC,wBAAMqB,KAAE,EAAC,QAAOrB,IAAE,QAAO,CAACwE,GAAE,CAAC,GAAEI,GAAE,CAAC,CAAC,EAAC;AAAE,yBAAO,MAAM,UAAQH,KAAEZ,GAAE,YAAW,MAAK,WAASY,KAAE,SAAOA,GAAE,QAAQpD,EAAC;AAAA,gBAAC;AAAC,qBAAI,QAAMrB,KAAE,SAAOA,GAAE,YAAW,OAAM,GAAG,oBAAoB,YAAW,GAAG;AAAC,wBAAMqB,KAAE,EAAC,QAAOrB,IAAE,QAAO,CAAC,OAAO,OAAO,OAAO,OAAO,CAAA,GAAGwE,GAAE,CAAC,CAAC,GAAE,EAAC,MAAKI,GAAE,CAAC,EAAC,CAAC,CAAC,EAAC;AAAE,yBAAO,MAAM,UAAQF,KAAEb,GAAE,YAAW,MAAK,WAASa,KAAE,SAAOA,GAAE,QAAQrD,EAAC;AAAA,gBAAC;AAAC,uBAAO,GAAG,SAASrB,GAAE,YAAW,CAAE,KAAG,QAAQ,KAAK,kCAAkCA,EAAC,qDAAqD,GAAE4E,MAAG,MAAM,UAAQD,KAAEd,GAAE,YAAW,MAAK,WAASc,KAAE,SAAOA,GAAE,QAAQ,EAAC,QAAO3E,IAAE,QAAOwE,GAAC,CAAC;AAAA,cAAC,EAAC,GAAI,EAAC,QAAOX,GAAE,QAAO,KAAI,GAAE,QAAOA,GAAE,OAAM,CAAC;AAAE,qBAAO,EAAE,KAAK,GAAG,qBAAoBW,EAAC,GAAEA;AAAA,YAAC;AAAC,mBAAO,GAAG,sDAAsDA,EAAC,wBAAuBxE,EAAC,GAAE,MAAM,UAAQ6E,KAAE,EAAE,YAAW,MAAK,WAASA,KAAE,SAAOA,GAAE,QAAQ,EAAC,QAAOL,IAAE,QAAOxE,GAAC,CAAC;AAAA,UAAC;AAAC,cAAG6D,OAAI,GAAG,SAAS,OAAM,QAAMjB,MAAGA,GAAE,cAAa,UAAQV,KAAE,EAAE,kBAAgB,WAASA,MAAGA,GAAE,iBAAiB,EAAC,WAAU,MAAE,CAAC,GAAE,OAAO,OAAO,IAAI,MAAM,0BAA0B,GAAE,EAAC,MAAK,KAAI,CAAC;AAAE,gBAAM,GAAG,wEAAwE2B,EAAC,EAAE,GAAEA;AAAA,QAAC,UAAC;AAAQ,UAAAkB,GAAE,KAAE;AAAA,QAAC;AAAC,YAAGP,OAAI,GAAG,oBAAoB,QAAOe,KAAE,MAAM,IAAI,SAAS,CAAAvF,OAAG;AAAC,gBAAM6D,KAAE,aAAa,MAAI;AAAC,kBAAK,EAAC,UAASW,GAAC,IAAEU,GAAE,SAAQ;AAAG,YAAAV,OAAI,cAAcX,EAAC,GAAE7D,GAAEwE,EAAC;AAAA,UAAE,IAAG,GAAG;AAAA,QAAC,EAAC,GAAG,GAAG,8DAA8Da,EAAC,oBAAoB,GAAEE;AAAE,YAAGf,OAAI,GAAG,qBAAqB,KAAG;AAAC,cAAIxE,KAAE;AAAE,gBAAM6D,KAAE,GAAEW,KAAE,CAAC,EAAC,SAAQA,IAAE,QAAOnD,GAAC,MAAI;AAAC,YAAArB,MAAG;AAAE,kBAAMyE,KAAE,QAAM7B,KAAE,SAAOA,GAAE,aAAY,EAAG,oBAAmB,GAAG+B,KAAE,QAAMF,KAAE,SAAOA,GAAEC,EAAC;AAAE,mBAAO,GAAG,0BAA0BA,EAAC,IAAGC,EAAC,IAAG,QAAMA,KAAE,SAAOA,GAAE,WAAS,GAAG,0DAAyDA,GAAE,MAAM,GAAE,EAAE,KAAK,GAAG,qBAAoBA,GAAE,MAAM,GAAE,KAAKH,GAAEG,GAAE,MAAM,MAAI,QAAMA,KAAE,SAAOA,GAAE,UAAQ,GAAG,yDAAwDA,GAAE,KAAK,GAAE,KAAKtD,GAAEsD,GAAE,KAAK,KAAG3E,MAAG6D,MAAG,GAAG,oFAAoF,GAAE,KAAKxC,GAAE,IAAI,MAAM,0CAA0C,CAAC,KAAG,KAAK,GAAG,uFAAuF;AAAA,UAAC;AAAE,cAAIA,IAAEoD;AAAE,gBAAME,KAAE,MAAM,IAAI,SAAS,CAAC3E,IAAE6D,OAAI;AAAC,kBAAMc,KAAE,QAAM/B,KAAE,SAAOA,GAAE,aAAY,EAAG;AAAsB,eAAG,mBAAmB8B,EAAC,IAAGC,EAAC,IAAG,QAAMA,KAAE,SAAOA,GAAED,EAAC,EAAE,WAAS,GAAG,0DAAyD,QAAMC,KAAE,SAAOA,GAAED,EAAC,EAAE,MAAM,GAAE1E,GAAE,QAAM2E,KAAE,SAAOA,GAAED,EAAC,EAAE,MAAM,MAAI,QAAMC,KAAE,SAAOA,GAAED,EAAC,EAAE,WAAS,GAAG,yDAAwD,QAAMC,KAAE,SAAOA,GAAED,EAAC,EAAE,KAAK,GAAEb,GAAE,QAAMc,KAAE,SAAOA,GAAED,EAAC,EAAE,KAAK,IAAGD,KAAE,MAAID,GAAE,EAAC,SAAQxE,IAAE,QAAO6D,GAAC,CAAC,GAAExC,KAAE,QAAMuB,KAAE,SAAOA,GAAE,aAAY,EAAG,GAAG,GAAG,YAAW6B,EAAC;AAAA,UAAC,EAAC;AAAG,iBAAOA,OAAI,QAAMpD,MAAGA,GAAE,IAAI,GAAG,YAAWoD,EAAC,IAAG,GAAG,mBAAkBE,EAAC,GAAEA;AAAA,QAAC,SAAO3E,IAAE;AAAC,gBAAM,GAAG,oDAAmDA,EAAC,GAAEA;AAAA,QAAC;AAAC,QAAAqB,GAAE,CAAC,KAAG,YAAU,OAAOA,GAAE,CAAC,MAAIA,GAAE,CAAC,EAAE,SAAO,EAAC,sBAAqB,MAAG,eAAcA,GAAE,CAAC,EAAE,OAAM;AAAG,eAAOoD,GAAE,GAAGpD,EAAC;AAAA,MAAC;AAAC,UAAG,EAAE,SAAQ,KAAI,GAAGmD,EAAC,EAAE,QAAOC,GAAE,GAAGpD,EAAC;AAAE,UAAG,EAAE,kBAAiB,EAAG,QAAO,GAAG,kFAAkFmD,EAAC,WAAUnD,IAAErB,EAAC,GAAE,MAAM,UAAQiF,KAAE,EAAE,YAAW,MAAK,WAASA,KAAE,SAAOA,GAAE,QAAQ,EAAC,QAAOT,IAAE,QAAOxE,GAAC,CAAC;AAAE,YAAM,GAAG,oDAAoDwE,EAAC,uCAAuC,GAAE,IAAI,MAAM,wFAAwF;AAAA,IAAC;AAAC,QAAG;AAAC,YAAMxE,KAAE,MAAMyE,GAAE,GAAGpD,EAAC;AAAE,UAAG,GAAG,oDAAoDmD,EAAC,gBAAexE,EAAC,GAAEwE,OAAI,GAAG,2BAA0B;AAAC,cAAMX,KAAE7D,GAAE,QAAQ,CAACA,IAAE6D,OAAI;AAAC,cAAIW;AAAE,cAAG,mBAAiBX,GAAE,kBAAiB;AAAC,kBAAMxC,KAAE,UAAQmD,KAAEX,GAAE,QAAQ,MAAM,CAAA7D,OAAG,+BAA6BA,GAAE,KAAI,MAAK,WAASwE,KAAE,SAAOA,GAAE;AAAM,YAAAnD,MAAGrB,GAAE,KAAK,GAAGqB,EAAC;AAAA,UAAC;AAAC,iBAAOrB;AAAA,QAAC,IAAG,EAAE;AAAE,WAAG,gEAA+D6D,EAAC,GAAEA,GAAE,SAAO,MAAIqB,GAAE,sBAAsBrB,IAAE,KAAE,GAAE,QAAMtB,MAAGA,GAAE,gBAAgBsB,EAAC;AAAA,MAAE;AAAC,aAAO7D;AAAA,IAAC,SAAOA,IAAE;AAAC,YAAM,QAAQ,MAAM,oDAAmDA,EAAC,GAAEA;AAAA,IAAC;AAAA,EAAC,EAAC,GAAG,EAAC,SAAQiF,GAAC,IAAEJ;AAAE,EAAAA,GAAE,UAAQ,IAAI7E,OAAI,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAC,WAAOkC,GAAE,QAAMlC,KAAE,SAAOA,GAAE,CAAC,EAAE,QAAOA,IAAEiF,IAAErE,EAAC;AAAA,EAAC,EAAC;AAAG,QAAK,EAAC,MAAKsE,GAAC,IAAEL;AAAE,SAAOA,GAAE,OAAK,IAAI7E,OAAI,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAC,WAAOkC,GAAE,QAAMlC,KAAE,SAAOA,GAAE,CAAC,GAAEA,IAAEkF,IAAEtE,EAAC;AAAA,EAAC,EAAC,GAAG,GAAG,kEAAkE,GAAE2D,GAAE,MAAK,GAAGM;AAAC,EAAC;AAAG,SAAS,GAAG7E,IAAE;AAAC,MAAI6D,IAAE,GAAExC,IAAE;AAAE,SAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,UAAK,EAAC,SAAQ,EAAC,IAAErB,IAAE,IAAE,EAAC,8BAA6B,UAAQ6D,KAAE,EAAE,iCAA+B,WAASA,KAAEA,KAAE,GAAG,QAAO,iBAAgB7D,GAAE,iBAAgB,KAAIA,IAAE,6BAA4B,EAAE,6BAA4B,gBAAe,UAAQ,IAAE,EAAE,mBAAiB,WAAS,KAAG,GAAE,gBAAe,UAAQqB,KAAE,EAAE,mBAAiB,WAASA,MAAGA,IAAE,eAAc,UAAQ,IAAE,EAAE,kBAAgB,WAAS,KAAG,GAAE,WAAUrB,GAAE,WAAU,kBAAiBA,GAAE,kBAAiB,OAAMA,GAAE,MAAK,GAAE,IAAE,MAAM,GAAG,CAAC;AAAE,IAAAA,GAAE,iBAAe,IAAE,SAASA,IAAE;AAAC,UAAI6D,IAAEW,IAAEnD,IAAEoD;AAAE,gBAAQD,KAAE,UAAQX,KAAE7D,GAAE,qBAAmB,WAAS6D,KAAE,SAAOA,GAAE,aAAY,MAAK,WAASW,MAAGA,GAAE,GAAG,GAAG,mBAAkB,CAAAX,OAAG;AAAC,QAAA7D,GAAE,KAAK,GAAG,kBAAiB6D,EAAC;AAAA,MAAC,EAAC,GAAG,UAAQY,KAAE,UAAQpD,KAAErB,GAAE,qBAAmB,WAASqB,KAAE,SAAOA,GAAE,aAAY,MAAK,WAASoD,MAAGA,GAAE,GAAG,GAAG,gBAAe,CAAAZ,OAAG;AAAC,QAAA7D,GAAE,KAAK,GAAG,eAAc6D,EAAC;AAAA,MAAC,EAAC;AAAA,IAAE,GAAE7D,EAAC;AAAA,EAAC;AAAG;AAAC,MAAM,KAAG;AAAM,MAAM,GAAE;AAAA,EAAC,YAAY,EAAC,WAAUA,IAAE,SAAQ6D,IAAE,gBAAe,EAAC,GAAE;AAAC,SAAK,YAAU,IAAG,KAAK,YAAU7D,IAAE,KAAK,iBAAe,GAAE,KAAK,UAAQ,QAAM6D,MAAGA;AAAA,EAAC;AAAA,EAAC,KAAK,EAAC,OAAM7D,IAAE,QAAO6D,GAAC,GAAE;AAAC,QAAG,CAAC,KAAK,QAAQ;AAAO,UAAM,IAAE,OAAO,OAAO,OAAO,OAAO,EAAC,IAAG,IAAG,OAAM7D,IAAE,YAAW,GAAG,QAAO,GAAE,KAAK,cAAc,GAAE,EAAC,QAAO6D,GAAC,CAAC;AAAE,OAAG,8BAA8B7D,EAAC,IAAG,CAAC,GAAE,GAAG,GAAE,KAAK,SAAS,EAAE,OAAO,CAAAA,OAAG;AAAC,SAAG,8BAA8BA,EAAC,EAAE;AAAA,IAAC,EAAC;AAAA,EAAE;AAAC;AAAC,MAAM,KAAG,MAAI;AAAC,MAAG,eAAa,OAAO,SAAS;AAAO,MAAIA;AAAE,QAAM6D,KAAE,SAAS,qBAAqB,MAAM;AAAE,WAAQ,IAAE,GAAE,IAAEA,GAAE,QAAO,IAAI,YAASA,GAAE,CAAC,EAAE,aAAa,KAAK,KAAG,oBAAkBA,GAAE,CAAC,EAAE,aAAa,KAAK,MAAI7D,KAAE6D,GAAE,CAAC,EAAE,aAAa,MAAM;AAAG,SAAO7D;AAAC,GAAE,KAAG;AAAO,SAAS,GAAGA,IAAE;AAAC,MAAI6D,IAAE,GAAExC;AAAE,QAAK,EAAC,cAAa,EAAC,IAAErB,IAAE,KAAE,SAAS,EAAC,KAAIA,IAAE,MAAK6D,GAAC,GAAE;AAAC,QAAIW;AAAE,UAAMnD,KAAErB,KAAE6D,IAAEY,KAAE,GAAGpD,EAAC;AAAE,QAAG,CAAC,aAAa,QAAM;AAAG,QAAIqD,KAAE,UAAQF,KAAE,aAAa,QAAQC,EAAC,MAAI,WAASD,KAAEA,KAAE;AAAG,QAAG,CAACE,IAAE;AAAC,MAAAA,KAAEC,GAAC;AAAG,UAAG;AAAC,qBAAa,QAAQF,IAAEC,EAAC;AAAA,MAAC,SAAO1E,IAAE;AAAC,eAAM;AAAA,MAAE;AAAA,IAAC;AAAC,WAAO0E;AAAA,EAAC,GAAE,EAAC,KAAI,UAAQb,KAAE,QAAM,IAAE,SAAO,EAAE,QAAM,WAASA,KAAEA,KAAE,UAAS,MAAK,UAAQ,IAAE,QAAM,IAAE,SAAO,EAAE,SAAO,WAAS,IAAE,IAAE,UAAS,CAAC,GAAE,IAAE,UAAQxC,KAAErB,GAAE,oBAAkB,WAASqB,KAAE,SAAOA,GAAE,gBAAe,GAAGD,KAAE,MAAI,GAAG,YAAWwB,KAAE,MAAI,GAAG;AAAsB,MAAIhC,KAAE;AAAM,SAAOQ,KAAER,KAAE,cAAYgC,OAAIhC,KAAE,WAAU,EAAC,IAAG,GAAE,MAAKA,GAAC;AAAC;AAAC,MAAM,KAAG,CAACZ,IAAE6D,IAAExC,OAAI;AAAC,MAAG,GAAGrB,EAAC,GAAE;AAAC,QAAGqB,MAAGwC,MAAG,YAAU,OAAOA,MAAG,SAAOA,MAAG,WAAUA,IAAE;AAAC,YAAM,IAAExC,OAAI,QAAMwC,KAAE,SAAOA,GAAE;AAAO,WAAG,SAAO,EAAE,OAAKW,KAAAA,UAAE,MAAM,uBAAsB,EAAC,QAAOxE,GAAC,CAAC,IAAEwE,KAAAA,UAAE,MAAM,qBAAoB,EAAC,QAAOxE,GAAC,CAAC;AAAA,IAAC,MAAMwE,MAAAA,UAAE,MAAM,wBAAuB,EAAC,QAAOxE,GAAC,CAAC;AAAA,EAAC;AAAC,GAAE,KAAG,CAAC,EAAC,UAASA,IAAE,aAAY6D,GAAC,MAAI;AAAC,MAAG,WAAU7D,GAAE,OAAM,IAAI,MAAM,4BAA4B;AAAE,SAAO,IAAI,MAAMA,IAAE,EAAC,KAAI,CAACqB,IAAE,MAAI,cAAY,IAAE,SAASrB,IAAE;AAAC,QAAIyE,IAAE;AAAE,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,SAAG,wDAAuDzE,EAAC;AAAE,YAAK,EAAC,QAAO,GAAE,QAAO,EAAC,IAAEA,IAAE4C,KAAE,GAAG,SAAS,EAAE,YAAW,CAAE,GAAE,EAAC,IAAGhC,IAAE,MAAK0D,GAAC,IAAE,GAAGT,EAAC;AAAE,UAAGjB,OAAI,UAAQ6B,KAAEZ,GAAE,cAAY,WAASY,MAAGA,GAAE,KAAK,EAAC,OAAM,GAAG,iBAAgB,QAAO,EAAC,QAAO,GAAE,MAAKH,IAAE,IAAG1D,GAAC,EAAC,CAAC,IAAG,GAAG,CAAC,KAAG4D,KAAAA,UAAE,MAAM,wBAAuB,EAAC,QAAO,EAAC,CAAC,GAAE,MAAI,GAAG,kBAAgB,MAAM,QAAQ,CAAC,EAAE,SAAO,CAAC,EAAC,QAAOxE,IAAE,MAAK6D,IAAE,YAAW,GAAE,aAAYxC,GAAC,MAAI,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAC,YAAIoD,IAAEC;AAAE,YAAG,qBAAmBb,GAAE,OAAO,OAAM,IAAI,MAAM,eAAe;AAAE,cAAMc,KAAE,CAAA,GAAGC,KAAE,UAAQH,KAAE,QAAMZ,KAAE,SAAOA,GAAE,WAAS,WAASY,KAAEA,KAAE,CAAA;AAAG,mBAAUZ,MAAKe,IAAE;AAAC,gBAAMJ,KAAE,MAAM,QAAMxE,KAAE,SAAOA,GAAE,QAAQ,EAAC,QAAO6D,GAAE,QAAO,QAAOA,GAAE,OAAM,CAAC;AAAE,UAAAc,GAAE,KAAKH,EAAC;AAAA,QAAC;AAAC,cAAK,EAAC,IAAGpD,IAAE,MAAKwB,GAAC,IAAE,GAAGvB,EAAC;AAAE,cAAI,UAAQqD,KAAErD,GAAE,cAAY,WAASqD,MAAGA,GAAE,KAAK,EAAC,OAAM,GAAG,sBAAqB,QAAO,EAAC,QAAOb,GAAE,QAAO,MAAKjB,IAAE,IAAGxB,GAAC,EAAC,CAAC;AAAG,mBAAUpB,OAAK2E,GAAE,IAAGd,GAAE,QAAO7D,KAAE,IAAI;AAAE,eAAO2E;AAAA,MAAC,KAAK,EAAC,QAAOtD,IAAE,MAAKrB,IAAE,YAAW4C,IAAE,aAAYiB,GAAC,CAAC;AAAE,UAAG,EAAE,YAAW,MAAK,GAAG,qBAAqB,YAAW,KAAI,MAAM,QAAQ,CAAC,EAAE,SAAO,CAAC,EAAC,QAAO7D,IAAE,QAAO6D,GAAC,MAAI,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAC,YAAI,GAAExC,KAAE;AAAK,YAAG;AAAC,gBAAMA,KAAE,MAAMrB,GAAE,QAAQ,EAAC,QAAO,GAAG,qBAAoB,QAAO,CAAA,EAAE,CAAC;AAAE,cAAG,CAACqB,GAAE,OAAO,OAAM,IAAI,MAAM,yCAAyC;AAAE,iBAAO,IAAE,MAAMrB,GAAE,QAAQ,EAAC,QAAO,GAAG,eAAc,QAAO,CAAC6D,GAAE,CAAC,GAAExC,GAAE,CAAC,CAAC,EAAC,CAAC,GAAE;AAAA,QAAC,SAAOrB,KAAE;AAAC,gBAAMqB,KAAErB,KAAEA;AAAA,QAAC,UAAC;AAAQ,aAAG,GAAG,eAAc,GAAEqB,EAAC;AAAA,QAAC;AAAA,MAAC,EAAC,GAAI,EAAC,QAAOA,IAAE,QAAO,EAAC,CAAC;AAAE,UAAG,EAAE,YAAW,MAAK,GAAG,qBAAqB,YAAW,KAAI,MAAM,QAAQ,CAAC,EAAE,SAAO,CAAC,EAAC,QAAOrB,IAAE,QAAO6D,GAAC,MAAI,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAC,cAAK,CAAC,CAAC,IAAEA,IAAExC,KAAE,EAAE,QAAOoD,KAAE,EAAE;AAAO,YAAIC,IAAEC,KAAE;AAAK,YAAG;AAAC,gBAAMd,KAAE,MAAM7D,GAAE,QAAQ,EAAC,QAAO,GAAG,qBAAoB,QAAO,CAAA,EAAE,CAAC;AAAE,cAAG,CAAC,MAAM,QAAQ6D,EAAC,KAAG,CAACA,GAAE,OAAO,OAAM,IAAI,MAAM,yCAAyC;AAAE,kBAAO,QAAMxC,KAAE,SAAOA,GAAE,YAAW,OAAM,GAAG,cAAc,YAAW,KAAIqD,KAAE,MAAM1E,GAAE,QAAQ,EAAC,QAAOqB,IAAE,QAAO,CAACoD,GAAE,CAAC,GAAEZ,GAAE,CAAC,CAAC,EAAC,CAAC,GAAEa,OAAI,QAAMrD,KAAE,SAAOA,GAAE,YAAW,OAAM,GAAG,oBAAoB,YAAW,KAAIqD,KAAE,MAAM1E,GAAE,QAAQ,EAAC,QAAOqB,IAAE,QAAO,CAAC,OAAO,OAAO,OAAO,OAAO,CAAA,GAAGoD,GAAE,CAAC,CAAC,GAAE,EAAC,MAAKZ,GAAE,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,GAAEa,MAAG,GAAG,SAASrD,GAAE,YAAW,CAAE,KAAG,QAAQ,KAAK,kCAAkCA,EAAC,qDAAqD,GAAEqD,KAAEb,IAAEa,OAAIA,KAAE,MAAM1E,GAAE,QAAQ,EAAC,QAAOqB,IAAE,QAAOoD,GAAC,CAAC,GAAEC;AAAA,QAAE,SAAO1E,KAAE;AAAC,gBAAM2E,KAAE3E,KAAEA;AAAA,QAAC,UAAC;AAAQ,aAAGqB,IAAEqD,IAAEC,EAAC;AAAA,QAAC;AAAA,MAAC,EAAC,GAAI,EAAC,QAAOtD,IAAE,QAAO,EAAC,CAAC;AAAE,UAAIV,IAAE4D,KAAE;AAAK,UAAG;AAAC,eAAO5D,KAAE,MAAMU,GAAE,QAAQrB,EAAC,GAAEW;AAAA,MAAC,SAAOX,IAAE;AAAC,cAAMuE,KAAEvE,IAAEA;AAAA,MAAC,UAAC;AAAQ,QAAA4C,OAAI,UAAQ,IAAEiB,GAAE,cAAY,WAAS,KAAG,EAAE,KAAK,EAAC,OAAM,GAAG,sBAAqB,QAAO,EAAC,QAAO,GAAE,MAAKS,IAAE,IAAG1D,GAAC,EAAC,CAAC,IAAG,GAAG,GAAED,IAAE4D,EAAC;AAAA,MAAC;AAAA,IAAC;EAAG,IAAE,iBAAe,IAAE,WAAU;AAAC,WAAOvE,GAAE;AAAA,EAAO,IAAE,wBAAsB,IAAE,WAAU;AAAC,WAAOA,GAAE;AAAA,EAAc,IAAE,yBAAuB,IAAE,WAAU;AAAC,WAAOA,GAAE;AAAA,EAAe,IAAE,kBAAgB,IAAE,WAAU;AAAC,WAAOA,GAAE,OAAO;AAAA,EAAW,IAAEqB,GAAE,CAAC,EAAC,CAAC;AAAC;AAAE,IAAI;AAAG,SAAS,GAAG,EAAC,gBAAerB,IAAE,aAAY6D,GAAC,GAAE;AAAC,SAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,QAAG,eAAa,OAAO,OAAO,OAAM,IAAI,MAAM,sBAAsB;AAAE,QAAG;AAAC,YAAM7D,KAAE,MAAM,IAAI,SAAS,CAACA,IAAE6D,OAAI;AAAC,cAAM,IAAE,YAAY,MAAI;AAAC,UAAAA,GAAE,IAAI,MAAM,kCAAkC,CAAC;AAAA,QAAC,IAAG,GAAG;AAAE,eAAO,iBAAiB,GAAG,WAAU,CAAAA,OAAG;AAAC,gBAAMxC,KAAEwC,IAAE,EAAC,QAAO,EAAC,MAAK,GAAE,UAAS,EAAC,IAAE,CAAA,EAAE,IAAExC,IAAE,EAAC,MAAK,GAAE,MAAK,GAAE,MAAKD,GAAC,IAAE,QAAM,IAAE,IAAE;AAAG,aAAG,KAAKA,EAAC,KAAG,EAAE,WAAW,GAAG,IAAI,KAAG,GAAG,KAAK,SAAS,CAAC,MAAI,aAAa,CAAC,GAAEpB,GAAE,CAAC;AAAA,QAAE,EAAC,GAAG,OAAO,cAAc,IAAI,MAAM,GAAG,OAAO,CAAC;AAAA,MAAC,EAAC;AAAG,aAAO,GAAG,EAAC,UAASA,IAAE,aAAY6D,GAAC,CAAC;AAAA,IAAC,SAAO,GAAE;AAA4E,YAAM,IAAI,MAAM,oBAAoB;AAAA,IAAC;AAAA,EAAC,EAAC;AAAE;AAAC,EAAC,SAAS7D,IAAE;AAAC,EAAAA,GAAE,WAAS,4BAA2BA,GAAE,UAAQ;AAAyB,GAAE,OAAK,KAAG,CAAA,EAAG;AAAE,MAAM,KAAG,CAAAA,OAAG,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAC,QAAK,EAAC,SAAQ6D,GAAC,IAAE7D,IAAE,EAAC,cAAa,EAAC,IAAE6D;AAAE,MAAG,CAAC,EAAE;AAAO,QAAMxC,KAAE,EAAC,OAAM,gCAAgC,CAAC,IAAG,OAAM,+BAA+B,CAAC,IAAG,YAAW,gCAAgC,CAAC,IAAG,UAAS,sCAAsC,CAAC,IAAG,UAAS,qCAAqC,CAAC,IAAG,QAAO,wCAAwC,CAAC,IAAG,WAAU,uCAAuC,CAAC,IAAG,QAAO,yCAAyC,CAAC,IAAG,SAAQ,wCAAwC,CAAC,IAAG,UAAS,yCAAyC,CAAC,IAAG,WAAU,wCAAwC,CAAC,IAAG,eAAc,qCAAqC,CAAC,IAAG,eAAc,qCAAqC,CAAC,IAAG,UAAS,0CAA0C,CAAC,IAAG,UAAS,uCAAuC,CAAC,IAAG,cAAa,uCAAuC,CAAC,IAAG,cAAa,uCAAuC,CAAC,IAAG,oBAAmB,yCAAyC,CAAC,IAAG,wBAAuB,wCAAwC,CAAC,IAAG,0BAAyB,yCAAyC,CAAC,IAAG,UAAS,qCAAqC,CAAC,IAAG,UAAS,uCAAuC,CAAC,GAAE;AAAE,EAAArB,GAAE,QAAQ,iBAAeA,GAAE,QAAQ,iBAAe,OAAO,OAAO,OAAO,OAAO,IAAGA,GAAE,QAAQ,cAAc,GAAEqB,EAAC,IAAErB,GAAE,QAAQ,iBAAeqB;AAAC,EAAC;AAAG,MAAM,KAAG,CAAArB,OAAG,EAAE,QAAO,QAAO,SAAQ,aAAW;AAAC,QAAK,EAAC,SAAQ6D,GAAC,IAAE7D,IAAE,EAAC,gBAAe,EAAC,IAAE6D;AAAE,MAAG,EAAE,KAAG;AAAC,OAAG,gFAA+E,CAAC,GAAE7D,GAAE,oBAAoB,IAAE;AAAA,EAAC,SAAOA,IAAE;AAAC,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAAC;AAAC,EAAC;AAAG,SAAS,GAAGA,IAAE6D,IAAE,GAAExC,IAAE;AAAC,SAAO,KAAI,MAAI,IAAE,WAAW,SAASwC,IAAE,GAAE;AAAC,aAAS,EAAE7D,IAAE;AAAC,UAAG;AAAC,UAAEqB,GAAE,KAAKrB,EAAC,CAAC;AAAA,MAAC,SAAOA,IAAE;AAAC,UAAEA,EAAC;AAAA,MAAC;AAAA,IAAC;AAAC,aAAS,EAAEA,IAAE;AAAC,UAAG;AAAC,UAAEqB,GAAE,MAAMrB,EAAC,CAAC;AAAA,MAAC,SAAOA,IAAE;AAAC,UAAEA,EAAC;AAAA,MAAC;AAAA,IAAC;AAAC,aAAS,EAAEA,IAAE;AAAC,UAAIqB;AAAE,MAAArB,GAAE,OAAK6D,GAAE7D,GAAE,KAAK,KAAGqB,KAAErB,GAAE,OAAMqB,cAAa,IAAEA,KAAE,IAAI,GAAG,SAASrB,IAAE;AAAC,QAAAA,GAAEqB,EAAC;AAAA,MAAC,EAAC,GAAI,KAAK,GAAE,CAAC;AAAA,IAAC;AAAC,OAAGA,KAAEA,GAAE,MAAMrB,IAAE,CAAA,CAAE,GAAG,KAAI,CAAE;AAAA,EAAC,EAAC;AAAE;AAAC,SAAS,GAAGA,IAAE6D,IAAE;AAAC,MAAI,GAAExC,IAAE,GAAE,GAAE,IAAE,EAAC,OAAM,GAAE,MAAK,WAAU;AAAC,QAAG,IAAE,EAAE,CAAC,EAAE,OAAM,EAAE,CAAC;AAAE,WAAO,EAAE,CAAC;AAAA,EAAC,GAAE,MAAK,CAAA,GAAG,KAAI,CAAA,EAAE;AAAE,SAAO,IAAE,EAAC,MAAK,EAAE,CAAC,GAAE,OAAM,EAAE,CAAC,GAAE,QAAO,EAAE,CAAC,EAAC,GAAE,cAAY,OAAO,WAAS,EAAE,OAAO,QAAQ,IAAE,WAAU;AAAC,WAAO;AAAA,EAAI,IAAG;AAAE,WAAS,EAAEqD,IAAE;AAAC,WAAO,SAASE,IAAE;AAAC,cAAO,SAASF,IAAE;AAAC,YAAG,EAAE,OAAM,IAAI,UAAU,iCAAiC;AAAE,eAAK,IAAG,KAAG;AAAC,cAAG,IAAE,GAAErD,OAAI,IAAE,IAAEqD,GAAE,CAAC,IAAErD,GAAE,SAAOqD,GAAE,CAAC,IAAErD,GAAE,WAAS,IAAEA,GAAE,WAAS,EAAE,KAAKA,EAAC,GAAE,KAAGA,GAAE,SAAO,EAAE,IAAE,EAAE,KAAKA,IAAEqD,GAAE,CAAC,CAAC,GAAG,KAAK,QAAO;AAAE,kBAAOrD,KAAE,GAAE,MAAIqD,KAAE,CAAC,IAAEA,GAAE,CAAC,GAAE,EAAE,KAAK,IAAGA,GAAE,CAAC;YAAG,KAAK;AAAA,YAAE,KAAK;AAAE,kBAAEA;AAAE;AAAA,YAAM,KAAK;AAAE,qBAAO,EAAE,SAAQ,EAAC,OAAMA,GAAE,CAAC,GAAE,MAAK,MAAE;AAAA,YAAE,KAAK;AAAE,gBAAE,SAAQrD,KAAEqD,GAAE,CAAC,GAAEA,KAAE,CAAC,CAAC;AAAE;AAAA,YAAS,KAAK;AAAE,cAAAA,KAAE,EAAE,IAAI,IAAG,GAAG,EAAE,KAAK,IAAG;AAAG;AAAA,YAAS;AAAQ,kBAAG,EAAE,IAAE,EAAE,OAAM,IAAE,EAAE,SAAO,KAAG,EAAE,EAAE,SAAO,CAAC,MAAI,MAAIA,GAAE,CAAC,KAAG,MAAIA,GAAE,CAAC,IAAG;AAAC,oBAAE;AAAE;AAAA,cAAQ;AAAC,kBAAG,MAAIA,GAAE,CAAC,MAAI,CAAC,KAAGA,GAAE,CAAC,IAAE,EAAE,CAAC,KAAGA,GAAE,CAAC,IAAE,EAAE,CAAC,IAAG;AAAC,kBAAE,QAAMA,GAAE,CAAC;AAAE;AAAA,cAAK;AAAC,kBAAG,MAAIA,GAAE,CAAC,KAAG,EAAE,QAAM,EAAE,CAAC,GAAE;AAAC,kBAAE,QAAM,EAAE,CAAC,GAAE,IAAEA;AAAE;AAAA,cAAK;AAAC,kBAAG,KAAG,EAAE,QAAM,EAAE,CAAC,GAAE;AAAC,kBAAE,QAAM,EAAE,CAAC,GAAE,EAAE,IAAI,KAAKA,EAAC;AAAE;AAAA,cAAK;AAAC,gBAAE,CAAC,KAAG,EAAE,IAAI,IAAG,GAAG,EAAE,KAAK;AAAM;AAAA,UAAQ;AAAC,UAAAA,KAAEb,GAAE,KAAK7D,IAAE,CAAC;AAAA,QAAC,SAAOA,IAAE;AAAC,UAAA0E,KAAE,CAAC,GAAE1E,EAAC,GAAEqB,KAAE;AAAA,QAAC,UAAC;AAAQ,cAAE,IAAE;AAAA,QAAC;AAAC,YAAG,IAAEqD,GAAE,CAAC,EAAE,OAAMA,GAAE,CAAC;AAAE,eAAM,EAAC,OAAMA,GAAE,CAAC,IAAEA,GAAE,CAAC,IAAE,QAAO,MAAK,KAAE;AAAA,MAAC,GAAE,CAACA,IAAEE,EAAC,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,aAAY,KAAG,iBAAgB,KAAG,cAAa,KAAG,eAAc,KAAG,aAAY,KAAG,EAAC,QAAO,uFAAsF,SAAQ,4DAA2D,SAAQ,sBAAqB,GAAE,KAAG,4BAA2B,KAAG,gBAAe,MAAG,WAAU;AAAC,WAAS5E,GAAE6D,IAAE;AAAC,QAAI,IAAE,WAASA,KAAE,CAAA,IAAGA,IAAExC,KAAE,EAAE,iBAAgB,IAAE,WAASA,KAAE,4BAA0BA,IAAE,IAAE,EAAE,eAAc,IAAE,WAAS,IAAErB,GAAE,eAAe,SAAO;AAAE,SAAK,kBAAgB,GAAE,KAAK,gBAAc,GAAE,KAAK,QAAMA,GAAE,wBAAsB,KAAG;AAAG,QAAI,IAAEA,GAAE,eAAc;AAAG,SAAK,cAAY,IAAE,GAAG,CAAC,IAAE,GAAG,SAAQ,KAAK,aAAW,KAAK,WAAW,KAAK,IAAI,GAAE,KAAK,0BAAwB,KAAK,wBAAwB,KAAK,IAAI,GAAE,KAAK,iBAAe,KAAK,eAAe,KAAK,IAAI,GAAE,KAAK,oBAAkB,KAAK,kBAAkB,KAAK,IAAI,GAAE,KAAK,kBAAgB,KAAK,gBAAgB,KAAK,IAAI,GAAE,KAAK,iBAAe,KAAK,eAAe,KAAK,IAAI,GAAE,OAAO,iBAAiB,WAAU,KAAK,UAAU,GAAE,MAAIA,GAAE,eAAe,UAAQ,WAAS,eAAe,QAAQ,EAAE,KAAGA,GAAE,iBAAiB,KAAK,eAAe;AAAA,EAAC;AAAC,SAAOA,GAAE,UAAU,aAAW,SAASA,IAAE;AAAC,QAAGA,GAAE,WAAS,KAAK,gBAAgB,QAAM,sBAAoBA,GAAE,KAAK,OAAK,KAAK,wBAAwBA,EAAC,IAAE,KAAK,QAAQ,MAAM,2BAAyBA,GAAE,SAAO,iBAAe,KAAK,UAAUA,GAAE,IAAI,CAAC;AAAA,EAAC,GAAEA,GAAE,UAAU,8BAA4B,SAASA,IAAE;AAAC,UAAM,IAAI,MAAM,qBAAmBA,KAAE,GAAG;AAAA,EAAC,GAAEA,GAAE,UAAU,0BAAwB,SAAS6D,IAAE;AAAC,WAAO,GAAG,MAAK,GAAE,SAAQ,WAAU;AAAC,aAAO,GAAG,OAAM,SAAS,GAAE;AAAC,gBAAO,EAAE,OAAK;AAAA,UAAE,KAAK;AAAE,oBAAO,KAAK,OAAK;AAAA,cAAE,KAAK;AAAG,uBAAM,CAAC,GAAE,CAAC;AAAA,cAAE,KAAK;AAAG,uBAAM,CAAC,GAAE,CAAC;AAAA,cAAE,KAAK;AAAG,uBAAM,CAAC,GAAE,CAAC;AAAA,cAAE,KAAK;AAAG,uBAAM,CAAC,GAAE,CAAC;AAAA,cAAE,KAAK;AAAG,uBAAM,CAAC,GAAE,CAAC;AAAA,YAAC;AAAC,mBAAM,CAAC,GAAE,CAAC;AAAA,UAAE,KAAK;AAAE,mBAAO,QAAQ,MAAM,kCAAkC,GAAE,CAAC,GAAE,CAAC;AAAA,UAAE,KAAK;AAAE,mBAAO,QAAQ,MAAM,yCAAyC,GAAE,KAAK,QAAM,IAAG,SAAS,UAAS,CAAC,GAAE,CAAC;AAAA,UAAE,KAAK;AAAE,mBAAO,QAAQ,MAAM,2BAA2B,GAAE,KAAK,QAAM,IAAG,CAAC,GAAE7D,GAAE,UAAS,CAAE;AAAA,UAAE,KAAK;AAAE,mBAAO,EAAE,KAAI,GAAG,KAAK,QAAM,IAAG6D,GAAE,OAAO,YAAY,EAAC,MAAK,iCAAgC,GAAEA,GAAE,MAAM,GAAE,KAAK,eAAc,GAAG,CAAC,GAAE,CAAC;AAAA,UAAE,KAAK;AAAE,mBAAO,QAAQ,MAAM,+CAA+C,GAAE,CAAC,GAAE,CAAC;AAAA,UAAE,KAAK;AAAE,mBAAO,QAAQ,MAAM,8CAA8C,GAAE,CAAC,GAAE,CAAC;AAAA,UAAE,KAAK;AAAE,iBAAK,4BAA4B,KAAK,KAAK,GAAE,EAAE,QAAM;AAAA,UAAE,KAAK;AAAE,mBAAM,CAAC,CAAC;AAAA,QAAC;AAAA,MAAC,EAAC;AAAA,IAAE,EAAC;AAAA,EAAE,GAAE7D,GAAE,UAAU,kBAAgB,WAAU;AAAC,mBAAe,QAAQ,IAAG,MAAM,GAAE,KAAK,kBAAiB,GAAG,KAAK,eAAc;AAAA,EAAE,GAAEA,GAAE,UAAU,iBAAe,WAAU;AAAC,eAAS,eAAe,QAAQ,EAAE,MAAI,KAAK,kBAAgBA,GAAE,eAAe,WAAS,QAAQ,MAAM,oBAAoB,GAAEA,GAAE,iBAAgB,IAAI,eAAe,QAAQ,IAAG,OAAO;AAAA,EAAE,GAAEA,GAAE,UAAU,iBAAe,WAAU;AAAC,SAAK,kBAAgBA,GAAE,eAAe,WAAS,OAAO,KAAK,KAAK,iBAAgB,QAAQ,IAAEA,GAAE,iBAAiB,KAAK,eAAe;AAAA,EAAC,GAAEA,GAAE,UAAU,oBAAkB,WAAU;AAAC,WAAO,KAAK,KAAK,aAAY,QAAQ;AAAA,EAAC,GAAEA,GAAE,sBAAoB,WAAU;AAAC,WAAO,QAAQ,OAAO,YAAU,OAAO,SAAS,UAAU;AAAA,EAAC,GAAEA,GAAE,YAAU,WAAU;AAAC,WAAO,OAAO,SAAS,QAAQ,EAAC,QAAO,4BAA2B,CAAC;AAAA,EAAC,GAAEA,GAAE,mBAAiB,SAASA,IAAE;AAAC,QAAI6D,KAAE,SAAS,MAAK,IAAE,SAAS,cAAc,QAAQ;AAAE,MAAE,aAAa,UAAS,GAAG,GAAE,EAAE,aAAa,SAAQ,GAAG,GAAE,EAAE,aAAa,SAAQ,gBAAgB,GAAE,EAAE,aAAa,OAAM7D,EAAC,GAAE,EAAE,aAAa,MAAK,EAAE,GAAE6D,GAAE,aAAa,GAAEA,GAAE,SAAS,CAAC,CAAC;AAAA,EAAC,GAAE7D,GAAE,mBAAiB,WAAU;AAAC,QAAIA;AAAE,cAAQA,KAAE,SAAS,eAAe,EAAE,MAAI,WAASA,MAAGA,GAAE,OAAM;AAAA,EAAE,GAAEA,GAAE,iBAAe,WAAU;AAAC,QAAIA,KAAE,GAAG,MAAM,OAAO,UAAU,SAAS;AAAE,WAAM,cAAYA,GAAE,QAAQ,OAAK,YAAU,CAAC,UAAS,UAAU,EAAE,SAASA,GAAE,QAAQ,QAAM,EAAE,IAAE,WAAS;AAAA,EAAI,GAAEA,GAAE,iBAAe,EAAC,QAAO,UAAS,UAAS,WAAU,GAAEA;AAAC,GAAC;AAAG,SAAS,GAAGA,IAAE,EAAC,MAAK6D,KAAE,MAAE,GAAE;AAAC,SAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,WAAO,GAAG,8CAA8CA,EAAC,EAAE,GAAEA,OAAI,MAAM,GAAG,GAAG,IAAG,MAAM7D,GAAE,kBAAiB;AAAA,EAAE,EAAC;AAAE;AAAC,MAAM,GAAE;AAAA,EAAC,YAAY,EAAC,QAAOA,IAAE,eAAc6D,IAAE,iBAAgB,GAAE,OAAMxC,KAAE,MAAE,GAAE;AAAC,SAAK,QAAM,EAAC,cAAa,OAAG,cAAa,OAAG,eAAc,MAAK,eAAc,OAAG,iBAAgB,MAAK,QAAO,MAAK,OAAM,OAAG,aAAY,OAAM,GAAE,KAAK,MAAM,SAAOrB,IAAE,KAAK,MAAM,gBAAc6D,IAAE,KAAK,MAAM,kBAAgB,GAAE,KAAK,MAAM,QAAMxC;AAAA,EAAC;AAAA,EAAC,yBAAwB;AAAC,YAAO,WAAU;AAAC,aAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,WAAG,0EAA0E,GAAE,OAAO,aAAW,OAAO,WAAS,SAAS,IAAI,KAAI,gBAAe;AAAA,MAAE,EAAC;AAAA,IAAE,GAAC;AAAA,EAAE;AAAA,EAAC,0BAAyB;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAO,SAASrB,IAAE;AAAC,YAAI6D,IAAE;AAAE,eAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,gBAAK,EAAC,OAAMxC,GAAC,IAAErB,IAAE,IAAE,UAAQ6D,KAAExC,GAAE,oBAAkB,WAASwC,KAAE,SAAOA,GAAE;AAAkB,cAAG,GAAG,2DAA2D,CAAC,EAAE,GAAE,MAAI,GAAG,sBAAsB,QAAM;AAAG,UAAAxC,GAAE,eAAa;AAAG,cAAG;AAAC,kBAAM,UAAQ,IAAEA,GAAE,WAAS,WAAS,IAAE,SAAO,EAAE,gBAAgB,EAAC,aAAYA,GAAE,YAAW,CAAC,GAAEA,GAAE,eAAa,OAAGA,GAAE,eAAa;AAAA,UAAE,SAAOrB,IAAE;AAAC,kBAAMqB,GAAE,eAAa,OAAGrB;AAAA,UAAC;AAAC,iBAAM;AAAA,QAAE,EAAC;AAAA,MAAE,GAAE,IAAI;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,oBAAmB;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAO,SAASA,IAAE;AAAC,YAAI6D;AAAE,eAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,gBAAK,EAAC,OAAM,EAAC,IAAE7D,IAAEqB,KAAE,UAAQwC,KAAE,EAAE,oBAAkB,WAASA,KAAE,SAAOA,GAAE,oBAAmB;AAAG,iBAAO,GAAG,wDAAwDxC,EAAC,EAAE,GAAE,CAAC,CAACA,OAAI,MAAMrB,GAAE,wBAAuB;AAAA,QAAG,EAAC;AAAA,MAAE,GAAE,IAAI;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,MAAM,EAAC,MAAKA,KAAE,OAAG,aAAY6D,GAAC,GAAE;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,WAAK,MAAM,cAAYA,IAAE,GAAG,qCAAqC7D,EAAC,IAAG6D,EAAC,GAAE,MAAM,GAAG,MAAK,EAAC,MAAK7D,GAAC,CAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAC;AAAC,MAAM,GAAE;AAAA,EAAC,YAAY,EAAC,OAAMA,IAAE,YAAW6D,GAAC,GAAE;AAAC,SAAK,aAAW,EAAC,SAAQ,QAAO,SAAQ,QAAO,QAAO,OAAM,GAAE,KAAK,UAAQ,EAAC,SAAQ,OAAG,SAAQ,OAAG,QAAO,MAAE,GAAE,KAAK,QAAM,QAAM7D,MAAGA,IAAE,KAAK,aAAW6D;AAAA,EAAC;AAAA,EAAC,cAAc7D,IAAE;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,UAAG,CAAC,KAAK,QAAQA,EAAC,GAAE;AAAC,aAAK,QAAQA,EAAC,IAAE;AAAG,YAAG;AAAC,gBAAMA,KAAE,MAAM,QAAQ,QAAO,EAAG,MAAM,WAAU;AAAC,mBAAO;AAAA,UAAE,EAAC;AAAG,kBAAQ,IAAI,UAASA,EAAC,GAAEA,GAAE,qBAAoB;AAAA,QAAE,SAAO6D,IAAE;AAAC,kBAAQ,MAAM,kBAAkB7D,EAAC,WAAU6D,EAAC;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,mBAAmB7D,IAAE;AAAC,QAAI6D;AAAE,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,WAAK,SAAO,QAAQ,MAAM,mCAAkC7D,EAAC,GAAE,KAAK,WAAW,UAAQA,GAAE,eAAc,MAAM,KAAK,cAAc,SAAS;AAAE,YAAM,IAAE,SAAS,cAAc,kBAAkB;AAAE,QAAE,OAAKA,GAAE,MAAK,EAAE,gBAAcA,GAAE,eAAc,EAAE,aAAW,UAAQ6D,KAAE7D,GAAE,eAAa,WAAS6D,KAAEA,KAAE,KAAK,YAAW,EAAE,iBAAiB,UAAS,CAAC,EAAC,QAAO,EAAC,iBAAgBA,GAAC,EAAC,MAAI7D,GAAE,QAAQ6D,EAAC,EAAC,GAAG,EAAE,iBAAiB,0BAAyB7D,GAAE,kBAAkB,sBAAsB,GAAE,EAAE,iBAAiB,mBAAkB,CAAA6D,OAAG;AAAC,YAAIW;AAAE,eAAO,UAAQA,KAAExE,GAAE,qBAAmB,WAASwE,KAAE,SAAOA,GAAE,KAAKxE,IAAE6D,GAAE,MAAM;AAAA,MAAC,EAAC,GAAG7D,GAAE,cAAc,YAAY,CAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,kBAAkBA,IAAE;AAAC,QAAI6D;AAAE,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,WAAK,WAAW,SAAO7D,GAAE,eAAc,MAAM,KAAK,cAAc,QAAQ;AAAE,YAAM,IAAE,SAAS,cAAc,iBAAiB;AAAE,QAAE,OAAKA,GAAE,MAAK,EAAE,aAAW,UAAQ6D,KAAE7D,GAAE,eAAa,WAAS6D,KAAEA,KAAE,KAAK,YAAW,EAAE,gBAAc7D,GAAE,eAAc,EAAE,iBAAiB,UAAS,CAAC,EAAC,QAAO,EAAC,iBAAgB6D,GAAC,EAAC,MAAI7D,GAAE,QAAQ6D,EAAC,EAAC,GAAG,EAAE,iBAAiB,wBAAuB7D,GAAE,oBAAoB,GAAEA,GAAE,cAAc,YAAY,CAAC,GAAE,YAAY,MAAI,KAAK,aAAaA,GAAE,IAAI,IAAG,GAAG;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,mBAAmBA,IAAE;AAAC,QAAI6D;AAAE,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,WAAK,WAAW,UAAQ7D,GAAE,eAAc,MAAM,KAAK,cAAc,SAAS;AAAE,YAAM,IAAE,SAAS,cAAc,kBAAkB;AAAE,QAAE,aAAW,UAAQ6D,KAAE7D,GAAE,eAAa,WAAS6D,KAAEA,KAAE,KAAK,YAAW,EAAE,aAAW7D,GAAE,YAAW,EAAE,iBAAiB,SAAQA,GAAE,OAAO,GAAE,EAAE,iBAAiB,mBAAkB,CAAC,EAAC,QAAO,EAAC,UAAS6D,GAAC,EAAC,MAAI7D,GAAE,eAAe6D,EAAC,EAAC,GAAG7D,GAAE,gBAAc,EAAE,iBAAiB,cAAaA,GAAE,YAAY,GAAEA,GAAE,cAAc,YAAY,CAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,eAAeA,IAAE;AAAC,UAAM6D,KAAE,MAAI;AAAC,UAAIA;AAAE,YAAM,IAAE,UAAQA,KAAE,KAAK,WAAW,YAAU,WAASA,KAAE,SAAOA,GAAE,cAAc,kBAAkB;AAAE,aAAM,CAAC,CAAC,MAAI,EAAE,UAAQ7D,IAAE;AAAA,IAAG;AAAE,gBAAY,MAAI;AAAC,MAAA6D,GAAC;AAAA,IAAE,IAAG,GAAG;AAAA,EAAC;AAAA,EAAC,aAAa7D,IAAE;AAAC,QAAI6D,IAAE;AAAE,UAAMxC,KAAE,UAAQwC,KAAE,KAAK,WAAW,YAAU,WAASA,KAAE,SAAOA,GAAE,cAAc,kBAAkB;AAAE,QAAGxC,GAAE,CAAAA,GAAE,OAAKrB;AAAA,SAAM;AAAC,YAAM6D,KAAE,UAAQ,IAAE,KAAK,WAAW,WAAS,WAAS,IAAE,SAAO,EAAE,cAAc,iBAAiB;AAAE,MAAAA,OAAIA,GAAE,OAAK7D;AAAA,IAAE;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,WAAO,QAAQ,KAAK,UAAU,EAAE,SAAS,CAAC,CAACA,IAAE6D,EAAC,MAAI;AAAC,UAAI;AAAE,gBAAQ,IAAE,QAAMA,KAAE,SAAOA,GAAE,eAAa,WAAS,KAAG,EAAE,YAAYA,EAAC,GAAE,KAAK,WAAW7D,EAAC,IAAE;AAAA,IAAM;EAAG;AAAC;AAAC,MAAM,KAAG,CAAC,EAAC,MAAKA,IAAE,OAAM6D,IAAE,WAAU,GAAE,WAAUxC,IAAE,sBAAqB,GAAE,eAAc,GAAE,kBAAiB,EAAC,MAAI;AAAC,MAAI,IAAE,MAAKD,KAAE;AAAK,KAAG,oGAAoG,GAAE,GAAG,qDAAqDpB,EAAC,EAAE,GAAE,GAAG,qEAAqEA,EAAC,SAAS,GAAE,GAAG,qEAAqEA,EAAC,aAAa,GAAE,GAAG,qGAAqGA,EAAC,GAAG;AAAE,QAAM4C,KAAE,CAAA5C,OAAG;AAAC,QAAI6D;AAAE,OAAG,8GAA6G7D,IAAEoB,EAAC,IAAG,QAAMA,KAAE,SAAOA,GAAE,gBAAc,UAAQyC,KAAEzC,GAAE,eAAa,WAASyC,MAAGA,GAAE,YAAYzC,EAAC,IAAGA,KAAE,MAAK,IAAE,MAAK,SAAKpB,OAAI,QAAMqB,MAAGA,GAAC;AAAA,EAAG;AAAE,SAAM,EAAC,OAAM,CAAAA,OAAG;AAAC,QAAG,GAAG,wFAAuFD,EAAC,GAAEA,GAAE,QAAOA,GAAE,MAAM,UAAQ,SAAQ,MAAK,QAAM,KAAG,EAAE,aAAaC,EAAC;AAAG,QAAE,IAAI,GAAG,EAAC,OAAMwC,IAAE,YAAW,GAAG,QAAO,CAAC,GAAEzC,KAAE,SAAS,cAAc,KAAK,GAAE,SAAS,KAAK,YAAYA,EAAC,GAAE,OAAO,YAAU,EAAE,kBAAkB,EAAC,eAAcA,IAAE,sBAAqB,MAAI;AAAC,MAAAwB,GAAC,GAAG,QAAM,KAAG;IAAG,GAAE,SAAQA,IAAE,MAAK5C,IAAE,eAAc,QAAM,KAAG,EAAC,CAAC,EAAE,OAAO,CAAAA,OAAG;AAAC,cAAQ,MAAMA,EAAC;AAAA,IAAC,EAAC,IAAG,EAAE,mBAAmB,EAAC,eAAcoB,IAAE,eAAc,QAAM,KAAG,GAAE,MAAKpB,IAAE,mBAAkB,GAAE,SAAQ4C,IAAE,kBAAiB,EAAC,CAAC,EAAE,OAAO,CAAA5C,OAAG;AAAC,cAAQ,MAAM,gDAA+CA,EAAC;AAAA,IAAC,EAAC;AAAA,EAAE,GAAE,SAAQ4C,GAAC;AAAC,GAAE,KAAG,CAAC,EAAC,cAAa5C,IAAE,OAAM6D,GAAC,MAAI;AAAC,MAAI,IAAE,MAAKxC,KAAE;AAAK,QAAM,IAAE,MAAI;AAAC,OAAG,yEAAwE,CAAC,IAAG,QAAM,IAAE,SAAO,EAAE,eAAa,EAAE,WAAW,YAAY,CAAC,GAAE,IAAE,MAAKA,KAAE;AAAA,EAAI,GAAE,IAAE,CAAArB,OAAG;AAAC,OAAG,gFAA+EA,EAAC,GAAEqB,MAAGA,GAAE,eAAerB,EAAC;AAAA,EAAC,GAAE,IAAE,CAAC,EAAC,YAAW2E,GAAC,IAAE,EAAC,YAAW,KAAE,MAAI;AAAC,OAAG,uEAAsE,CAAC,GAAE,IAAE,EAAE,MAAM,UAAQ,WAAStD,KAAE,IAAI,GAAG,EAAC,OAAMwC,IAAE,YAAW,GAAG,QAAO,CAAC,GAAE,IAAE,SAAS,cAAc,KAAK,GAAE,SAAS,KAAK,YAAY,CAAC,GAAExC,GAAE,mBAAmB,EAAC,eAAc,GAAE,SAAQ,GAAE,cAAarB,IAAE,gBAAe,GAAE,YAAW2E,GAAC,CAAC,EAAE,OAAO,CAAA3E,OAAG;AAAC,cAAQ,MAAM,gDAA+CA,EAAC;AAAA,IAAC,EAAC;AAAA,EAAG;AAAE,SAAO,EAAC,GAAG,EAAC,OAAM,GAAE,SAAQ,GAAE,gBAAe,EAAC;AAAC;AAAE,SAAS,GAAGA,IAAE6D,IAAE;AAAC,MAAI,GAAExC,IAAE,GAAE;AAAE,EAAArB,GAAE,cAAY,GAAG,gEAAgE,GAAEA,GAAE,YAAU,IAAI,GAAG,EAAC,QAAO6D,GAAE,QAAO,cAAaA,GAAE,gBAAgB,gBAAe,GAAG,8BAA6BA,GAAE,8BAA6B,YAAWA,GAAE,YAAW,cAAa,OAAO,OAAO,OAAO,OAAO,CAAA,GAAGA,GAAE,YAAY,GAAE,EAAC,QAAOA,GAAE,QAAO,CAAC,GAAE,WAAUA,GAAE,iBAAgB,wBAAuBA,GAAE,wBAAuB,YAAW,GAAG,SAAQ,SAAQ,QAAO,OAAMA,GAAE,OAAM,SAAQA,GAAE,SAAQ,SAAQA,GAAE,QAAO,CAAC,GAAEA,GAAE,UAAQ,GAAG,oEAAmEA,GAAE,KAAK,GAAE,UAAQxC,KAAE,UAAQ,IAAEwC,GAAE,UAAQ,WAAS,IAAE,SAAO,EAAE,wBAAsB,WAASxC,MAAGA,GAAE,KAAK,CAAC,GAAE,UAAQ,IAAE,UAAQ,IAAEwC,GAAE,UAAQ,WAAS,IAAE,SAAO,EAAE,uBAAqB,WAAS,KAAG,EAAE,KAAK,IAAG,MAAI,QAAI,GAAG;AAAG;AAAC,SAAS,GAAG7D,IAAE;AAAC,EAAAA,GAAE,UAAU,SAAS,CAAC,EAAC,OAAM6D,IAAE,SAAQ,EAAC,MAAI;AAAC,QAAIxC;AAAE,cAAQA,KAAErB,GAAE,cAAY,WAASqB,MAAGA,GAAE,IAAIwC,IAAE,CAAC;AAAA,EAAC,EAAC,GAAG7D,GAAE,YAAU,CAAA;AAAE;AAAC,SAAS,GAAGA,IAAE6D,IAAExC,IAAE;AAAC,SAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,UAAM,IAAE,YAAY,MAAI;AAACmD,WAAAA,UAAE,MAAM,yBAAwB,EAAC,gBAAe,YAAW,CAAC;AAAA,IAAC,IAAG,GAAG;AAAE,WAAO,IAAI,SAAS,CAAC,GAAE,MAAI;AAAC,UAAG,CAACxE,GAAE,UAAU,QAAO,KAAK,EAAE,IAAI,MAAM,wBAAwB,CAAC;AAAE,SAAG,mDAAkD,EAAC,OAAMA,IAAE,SAAQ6D,IAAE,YAAWxC,GAAC,CAAC;AAAE,YAAM,IAAE,GAAGrB,GAAE,cAAY,KAAG,EAAE,IAAIqB,EAAC;AAAG,QAAC,SAASrB,IAAE6D,IAAEW,IAAE;AAAC,YAAInD,IAAEoD,IAAEC,IAAEC;AAAE,QAAA3E,GAAE,eAAa,UAAQyE,MAAGpD,KAAEwC,GAAE,QAAQ,YAAU,WAASY,KAAE,SAAOA,GAAE,KAAKpD,IAAE,EAAC,MAAKmD,IAAE,eAAcxE,GAAE,eAAc,WAAU6D,GAAE,wBAAuB,WAAU,MAAI;AAAC,aAAG,4EAA4E,GAAEA,GAAE,IAAI,UAAS,EAAG,OAAO,CAAA7D,OAAG;AAAC,oBAAQ,KAAK,0CAAyCA,EAAC;AAAA,UAAC,EAAC;AAAA,QAAE,GAAE,OAAMA,GAAE,eAAc,sBAAqB,MAAI;AAAC,cAAIA;AAAE,iBAAO,UAAQA,KAAE6D,GAAE,iCAA+B,WAAS7D,MAAGA,GAAE,KAAK6D,EAAC,GAAE;AAAA,QAAE,GAAE,kBAAiB,CAAC,EAAC,OAAMW,IAAE,QAAOnD,GAAC,MAAI;AAAC,cAAIoD,IAAEC,IAAEC;AAAE,gBAAM,IAAE,OAAO,OAAO,OAAO,OAAO,CAAA,GAAGtD,EAAC,GAAE,EAAC,YAAWwC,GAAE,IAAI,WAAU,GAAG,QAAO,UAAQY,KAAEZ,GAAE,iBAAe,WAASY,KAAE,SAAOA,GAAE,MAAK,QAAOZ,GAAE,SAAQ,KAAI,UAAQa,KAAEb,GAAE,iBAAe,WAASa,KAAE,SAAOA,GAAE,IAAG,CAAC;AAAE,oBAAQC,KAAE3E,GAAE,cAAY,WAAS2E,MAAGA,GAAE,KAAK,EAAC,OAAMH,IAAE,QAAO,EAAC,CAAC;AAAA,QAAC,EAAC,CAAC,GAAE,UAAQG,KAAE,UAAQD,KAAE1E,GAAE,iBAAe,WAAS0E,KAAE,SAAOA,GAAE,UAAQ,WAASC,MAAGA,GAAE,KAAKD,IAAEF,EAAC;AAAA,MAAC,GAAExE,IAAE6D,IAAE,CAAC,GAAEA,GAAE,IAAI,KAAK,GAAG,kBAAiB,CAAA7D,OAAG,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,YAAG,GAAG,2GAA2G,GAAEA,OAAI,GAAG,WAAU;AAAC,gBAAMA,KAAE,EAAC,MAAK,MAAK,SAAQ,6BAA4B;AAAE,iBAAO,aAAa,CAAC,GAAE,KAAK,EAAEA,EAAC;AAAA,QAAC;AAAC,UAAEA,EAAC;AAAA,MAAC,EAAC,EAAE,GAAGA,GAAE,UAAU,KAAK,GAAG,aAAY,MAAI;AAAC,qBAAa,CAAC,GAAE,EAAC;AAAA,MAAE,EAAC,GAAGA,GAAE,UAAU,KAAK,GAAG,WAAU,MAAI;AAAC,qBAAa,CAAC,GAAE,EAAE,GAAG,QAAQ;AAAA,MAAC,EAAC,GAAGA,GAAE,UAAU,KAAK,GAAG,gBAAe,MAAI,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,WAAG,yGAAyG,GAAE,aAAa,CAAC,GAAE,EAAC;AAAA,MAAE,IAAG;AAAA,IAAE,EAAC;AAAA,EAAE;AAAG;AAAC,SAAS,GAAGA,IAAE6D,IAAE;AAAC,WAAS,EAAEA,IAAEW,IAAE;AAAC,QAAInD;AAAE,cAAQA,KAAErB,GAAE,cAAY,WAASqB,MAAGA,GAAE,GAAGwC,IAAEW,EAAC,GAAExE,GAAE,UAAU,KAAK,EAAC,OAAM6D,IAAE,SAAQW,GAAC,CAAC;AAAA,EAAC;AAAC,EAAAxE,GAAE,cAAY,GAAGA,EAAC,GAAE,EAAE,GAAG,cAAa,CAAC,EAAC,UAASA,IAAE,SAAQ6D,GAAC,MAAI,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,OAAG,wFAAwF7D,EAAC,YAAY6D,EAAC,EAAE;AAAE,UAAMW,KAAE,GAAG,YAAW;AAAG,IAAAA,GAAE,cAAa;AAAG,UAAMnD,KAAE,EAAC,UAASrB,IAAE,SAAQ6D,IAAE,YAAW,MAAE;AAAE,IAAAW,GAAE,iBAAiBnD,EAAC,GAAEmD,GAAE,KAAK,gBAAeX,EAAC,GAAEW,GAAE,KAAK,mBAAkBxE,EAAC;AAAA,EAAC,EAAC,EAAE,GAAG,EAAE,GAAG,aAAY,MAAI,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,QAAI6D,IAAEW,IAAEnD,IAAE;AAAE,QAAG;AAAC,SAAG,4FAA2FrB,GAAE,cAAaA,GAAE,YAAY;AAAE,YAAM,IAAE,GAAG;AAAc,QAAE,iBAAgB,UAAQwE,KAAE,UAAQX,KAAE7D,GAAE,iBAAe,WAAS6D,KAAE,SAAOA,GAAE,YAAU,WAASW,MAAGA,GAAE,KAAKX,EAAC,GAAE,UAAQ,IAAE,UAAQxC,KAAErB,GAAE,iBAAe,WAASqB,KAAE,SAAOA,GAAE,YAAU,WAAS,KAAG,EAAE,KAAKA,IAAE,KAAE,GAAErB,GAAE,YAAU,QAAOA,GAAE,aAAW,MAAG,GAAG,4FAA2F,EAAE,SAAQ,CAAE,GAAE,MAAM,EAAE,qBAAoB;AAAA,IAAE,SAAOA,IAAE;AAAA,IAAC;AAAA,EAAC,IAAG,GAAG,EAAE,GAAG,YAAW,MAAI;AAAC,QAAI6D,IAAEW,IAAEnD,IAAE,GAAE;AAAE,cAAQmD,KAAE,UAAQX,KAAE7D,GAAE,iBAAe,WAAS6D,KAAE,SAAOA,GAAE,YAAU,WAASW,MAAGA,GAAE,KAAKX,EAAC,GAAE,UAAQ,IAAE,UAAQxC,KAAErB,GAAE,iBAAe,WAASqB,KAAE,SAAOA,GAAE,YAAU,WAAS,KAAG,EAAE,KAAKA,IAAE,IAAE,GAAErB,GAAE,eAAa,QAAOA,GAAE,eAAa,QAAOA,GAAE,YAAU,QAAO,UAAQ,IAAEA,GAAE,cAAY,WAAS,KAAG,EAAE,WAAW,EAAC,WAAU,KAAE,CAAC,GAAEA,GAAE,aAAW;AAAG,OAAG,cAAc,iBAAiB,EAAC,WAAU,KAAE,CAAC,GAAE,GAAGA,EAAC,GAAE,GAAG,+DAA+D;AAAA,EAAC,EAAC;AAAG;AAAC,SAAS,GAAGA,IAAE6D,IAAE,EAAC,cAAaxC,IAAE,aAAY,EAAC,IAAE,CAAA,GAAG;AAAC,MAAI,GAAE,GAAE,GAAEuB,IAAEhC,IAAE0D,IAAE3D,IAAE4D,IAAEf,IAAEzD,IAAEW,IAAEI,IAAEK,IAAEoB,IAAE1B,IAAEgE,IAAEC,IAAEC,IAAEC;AAAE,SAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,QAAG;AAAC,UAAG,GAAGhF,IAAE6D,EAAC,GAAE,CAAC7D,GAAE,UAAU,OAAM,IAAI,MAAM,sBAAsB;AAAE,SAAGA,EAAC;AAAE,YAAMkC,KAAE,GAAG,YAAW;AAAG,MAAAlC,GAAE,aAAW,OAAGkC,GAAE,KAAK,YAAY;AAAE,YAAM+C,KAAE,MAAM,UAAQ,IAAEjF,GAAE,cAAY,WAAS,IAAE,SAAO,EAAE,yBAAwB;AAAG,SAAG,qFAAqFqB,EAAC,IAAG4D,EAAC;AAAE,UAAIC,KAAE,UAAQ,IAAE,QAAMD,KAAE,SAAOA,GAAE,cAAY,WAAS,IAAE,IAAE,IAAGE,KAAE,UAAQvC,KAAE,UAAQ,IAAE5C,GAAE,UAAU,iBAAe,WAAS,IAAE,SAAO,EAAE,MAAM,WAAS,WAAS4C,KAAEA,KAAE,IAAGwC,KAAE,UAAQd,KAAE,UAAQ1D,KAAEZ,GAAE,UAAU,iBAAe,WAASY,KAAE,SAAOA,GAAE,MAAM,YAAU,WAAS0D,KAAEA,KAAE;AAAG,UAAGjD,MAAG,CAAC4D,GAAE,QAAO,QAAQ,QAAO;AAAG,UAAG,CAACA,MAAG,CAAC5D,IAAE;AAAC,cAAMwC,KAAE,MAAM7D,GAAE,UAAU;AAA2B,QAAAkF,KAAE,UAAQvE,KAAEkD,GAAE,cAAY,WAASlD,KAAEA,KAAE,IAAGwE,KAAE,UAAQZ,KAAEV,GAAE,WAAS,WAASU,KAAEA,KAAE,IAAGa,KAAE,UAAQ5B,KAAEK,GAAE,YAAU,WAASL,KAAEA,KAAE;AAAG,cAAM,IAAE,KAAK,IAAG;AAAG,kBAAQzD,KAAEC,GAAE,UAAU,MAAM,mBAAiB,WAASD,MAAGA,GAAE,qBAAqB,EAAC,WAAUmF,IAAE,UAASE,IAAE,YAAW,GAAE,YAAW,IAAE,GAAE,CAAC;AAAA,MAAC;AAAC,UAAG/D,OAAI,QAAM4D,KAAE,SAAOA,GAAE,WAAW,SAAO,UAAQvE,KAAEV,GAAE,cAAY,WAASU,KAAE,SAAOA,GAAE,YAAW,OAAM,GAAG,8EAA8EW,EAAC,IAAG4D,EAAC,GAAE,MAAM,UAAQnE,KAAEd,GAAE,cAAY,WAASc,KAAE,SAAOA,GAAE,iBAAiB,EAAC,WAAUoE,GAAC,CAAC,IAAG,QAAQ,QAAO;AAAG,MAAAD,MAAG,EAAE,UAAQ9D,KAAEnB,GAAE,cAAY,WAASmB,KAAE,SAAOA,GAAE,YAAW,OAAM,GAAG,iEAAgE8D,EAAC,GAAE,MAAM,UAAQ1C,KAAEvC,GAAE,cAAY,WAASuC,KAAE,SAAOA,GAAE,iBAAiB,EAAC,WAAU2C,GAAC,CAAC;AAAG,YAAMG,MAAG,UAAQxE,KAAEb,GAAE,oBAAkB,WAASa,KAAE,SAAOA,GAAE,SAAQ,KAAI,KAAG,QAAO0E,KAAE,GAAG,SAAQ,EAAC,SAAQC,IAAE,MAAKC,IAAE,KAAIC,IAAE,QAAOC,GAAC,IAAE9B,GAAE,gBAAc,CAAA,GAAG+B,KAAE,UAAQf,KAAE7E,GAAE,oBAAkB,WAAS6E,KAAE,SAAOA,GAAE;AAAkB,UAAIgB,KAAE;AAAM,qBAAa,OAAO,UAAQ,OAAO,YAAU,OAAO,SAAS,WAASA,KAAE,OAAO,SAAS,WAAS,WAASJ,KAAEI,KAAEJ,KAAE,WAASC,OAAIG,KAAEH;AAAG,YAAMI,KAAE,EAAC,KAAI,QAAMJ,KAAEA,KAAE,IAAG,OAAM,QAAMD,KAAEA,KAAE,IAAG,MAAKD,IAAE,QAAO,QAAMG,KAAEA,KAAE,IAAG,YAAWJ,IAAE,QAAOM,MAAGH,MAAG,OAAM,QAAO7B,GAAE,QAAO,UAAS,QAAM+B,KAAEA,KAAE,IAAG,QAAO,UAAQd,KAAEjB,GAAE,YAAU,WAASiB,KAAEA,KAAE,GAAE,GAAEQ,KAAE,GAAG,KAAK,UAAUQ,EAAC,CAAC;AAAE,UAAIjD,KAAE,aAAaqC,EAAC,aAAa,UAAQH,KAAE/E,GAAE,iCAA+B,WAAS+E,KAAEA,KAAE,EAAE,WAAWI,EAAC,GAAGE,EAAC,mBAAmBC,EAAC;AAAG,UAAG,GAAE;AAAC,QAAAzC,MAAG,QAAQ,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC;AAAG,cAAMgB,KAAE7D,GAAE,UAAU,oBAAmB;AAAG,QAAA6D,OAAIA,GAAE,GAAG,EAAE,EAAE,EAAE,IAAE,OAAO,OAAO,OAAO,OAAO,CAAA,GAAG,CAAC,GAAE,EAAC,IAAG,GAAG,EAAE,EAAE,IAAG,WAAU,KAAK,MAAK,CAAC;AAAA,MAAE;AAAC,YAAMkC,KAAE,UAAUlD,EAAC,GAAEmD,KAAE,GAAGhG,GAAE,cAAY,KAAG,EAAE,IAAI6C,EAAC;AAAG,UAAG7C,GAAE,aAAWgG,IAAEhG,GAAE,iBAAe,GAAG,oDAAoD+F,EAAC,EAAE,GAAE7D,GAAE,KAAK,eAAc8D,EAAC,GAAExB,KAAAA,UAAE,MAAM,4BAA2B,EAAC,gBAAe,YAAW,CAAC,GAAE,UAAQQ,KAAEhF,GAAE,oBAAkB,WAASgF,KAAE,SAAOA,GAAE,SAAQ,GAAG;AAAC,cAAMnB,KAAE,YAAY,MAAI;AAACW,eAAAA,UAAE,MAAM,yBAAwB,EAAC,gBAAe,YAAW,CAAC;AAAA,QAAC,IAAG,GAAG;AAAE,eAAO,OAAM,SAASxE,IAAE6D,IAAE;AAAC,cAAI,GAAExC;AAAE,iBAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,kBAAMoD,KAAE,GAAG,EAAE,IAAIZ,EAAC,IAAGa,KAAE,GAAG,EAAE,IAAIb,EAAC;AAAG,sBAAQxC,KAAE,UAAQ,IAAErB,GAAE,oBAAkB,WAAS,IAAE,SAAO,EAAE,iBAAe,WAASqB,MAAGA,GAAE,KAAK,GAAEoD,IAAEC,IAAE,OAAO;AAAA,UAAC,EAAC;AAAA,QAAE,GAAE1E,IAAE+F,EAAC,GAAE,IAAI,SAAS,CAAC,GAAE1E,OAAI;AAAC,cAAIoD,IAAEC,IAAEC;AAAE,cAAG,UAAQF,KAAEzE,GAAE,cAAY,WAASyE,KAAE,SAAOA,GAAE,aAAY,EAAG,QAAO,aAAaZ,EAAC,GAAE,KAAK,EAAC;AAAG,oBAAQa,KAAE1E,GAAE,cAAY,WAAS0E,MAAGA,GAAE,KAAK,GAAG,aAAY,MAAI;AAAC,yBAAab,EAAC,GAAE,EAAC;AAAA,UAAE,EAAC,GAAG,UAAQc,KAAE3E,GAAE,cAAY,WAAS2E,MAAGA,GAAE,KAAK,GAAG,WAAU,MAAI;AAAC,yBAAad,EAAC,GAAExC,GAAE,GAAG,QAAQ;AAAA,UAAC,EAAC;AAAA,QAAE,EAAC;AAAA,MAAE;AAAC,aAAO,GAAGrB,IAAE6D,IAAEkC,EAAC;AAAA,IAAC,SAAO/F,IAAE;AAAC,YAAM,QAAQ,MAAM,2BAA0BA,EAAC,GAAEA;AAAA,IAAC;AAAA,EAAC,EAAC;AAAE;AAAC,MAAM,GAAE;AAAA,EAAC,YAAYA,IAAE;AAAC,QAAI6D,IAAE,GAAExC;AAAE,SAAK,QAAM,EAAC,WAAU,QAAO,YAAW,QAAO,WAAU,QAAO,eAAc,OAAG,YAAW,OAAG,cAAa,OAAG,eAAc,OAAG,kBAAiB,OAAG,WAAU,IAAG,8BAA6B,QAAO,iBAAgB,QAAO,cAAa,QAAO,cAAa,QAAO,WAAU,OAAM,GAAE,KAAK,UAAQrB;AAAE,UAAM,IAAE,UAAM,UAAQ6D,KAAE7D,GAAE,YAAU,WAAS6D,KAAE,SAAOA,GAAE,kBAAgB,UAAM,UAAQ,IAAE7D,GAAE,YAAU,WAAS,IAAE,SAAO,EAAE;AAAK,SAAK,MAAM,gBAAc,GAAE,KAAK,MAAM,YAAUA,GAAE,WAAU,KAAK,MAAM,gBAAc,UAAQqB,KAAErB,GAAE,kBAAgB,WAASqB,MAAGA,IAAE,KAAK,MAAM,cAAYrB,GAAE,IAAI,QAAQ,aAAY,KAAK,MAAM,+BAA6BA,GAAE,8BAA6B,KAAK,MAAM,kBAAgBA,GAAE,iBAAgBA,GAAE,OAAO,YAAUA,GAAE,OAAO,UAAQ,KAAIA,GAAE,OAAO,QAAMA,GAAE,OAAO,MAAI;AAAA,EAAG;AAAA,EAAC,gBAAgBA,IAAE;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,aAAO,GAAG,KAAK,OAAM,KAAK,SAAQA,EAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,wBAAwB,EAAC,aAAYA,GAAC,GAAE;AAAC,QAAI6D,IAAE,GAAExC;AAAE,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,YAAM,IAAE,MAAM,UAAQ,IAAE,UAAQwC,KAAE7D,GAAE,QAAQ,YAAU,WAAS6D,KAAE,SAAOA,GAAE,mBAAiB,WAAS,IAAE,SAAO,EAAE,0BAAyB;AAAG,UAAG,CAAC,KAAK,QAAQ,OAAM;AAAC,cAAM7D,KAAE,EAAC,YAAW,QAAM,IAAE,SAAO,EAAE,SAAQ;AAAE,aAAK,QAAQ,QAAMA;AAAA,MAAC;AAAC,SAAG,KAAK,OAAM,KAAK,OAAO,GAAE,MAAM,UAAQqB,KAAE,KAAK,aAAY,MAAK,WAASA,KAAE,SAAOA,GAAE,oBAAmB,GAAG,GAAG,KAAK,OAAM,KAAK,OAAO;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,kBAAiB;AAAC,YAAO,SAASrB,IAAE;AAAC,UAAI6D,IAAE,GAAExC,IAAE;AAAE,MAAArB,GAAE,aAAW,GAAG,0DAA0D,IAAEA,GAAE,eAAa,UAAQ,KAAG6D,KAAE7D,GAAE,cAAc,UAAQ,WAAS,KAAG,EAAE,KAAK6D,EAAC,IAAE7D,GAAE,iBAAe,UAAQ,KAAGqB,KAAErB,GAAE,cAAc,UAAQ,WAAS,KAAG,EAAE,KAAKqB,IAAErB,GAAE,cAAY,EAAE;AAAA,IAAE,GAAE,KAAK,KAAK;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,QAAIA,IAAE6D,IAAE,GAAExC;AAAE,cAAQwC,KAAE,UAAQ7D,KAAE,KAAK,MAAM,iBAAe,WAASA,KAAE,SAAOA,GAAE,YAAU,WAAS6D,MAAGA,GAAE,KAAK7D,EAAC,GAAE,UAAQqB,KAAE,UAAQ,IAAE,KAAK,MAAM,iBAAe,WAAS,IAAE,SAAO,EAAE,YAAU,WAASA,MAAGA,GAAE,KAAK,GAAE,KAAE;AAAA,EAAC;AAAA,EAAC,mBAAkB;AAAC,QAAG,CAAC,KAAK,MAAM,WAAW,OAAM,IAAI,MAAM,sDAAsD;AAAE,WAAO,KAAK,MAAM;AAAA,EAAU;AAAA,EAAC,mBAAkB;AAAC,QAAIrB;AAAE,WAAO,UAAQA,KAAE,KAAK,MAAM,cAAY,WAASA,KAAE,SAAOA,GAAE,iBAAgB;AAAA,EAAE;AAAA,EAAC,aAAY;AAAC,QAAIA;AAAE,WAAO,UAAQA,KAAE,KAAK,MAAM,cAAY,WAASA,KAAE,SAAOA,GAAE,WAAU;AAAA,EAAE;AAAA,EAAC,eAAc;AAAC,QAAG,CAAC,KAAK,MAAM,UAAU,OAAM,IAAI,MAAM,0BAA0B;AAAE,WAAO,KAAK,MAAM;AAAA,EAAS;AAAA,EAAC,qBAAoB;AAAC,QAAG,CAAC,KAAK,MAAM,gBAAgB,OAAM,IAAI,MAAM,+BAA+B;AAAE,WAAO,KAAK,MAAM;AAAA,EAAe;AAAA,EAAC,cAAa;AAAC,QAAIA;AAAE,YAAO,UAAQA,KAAE,KAAK,MAAM,cAAY,WAASA,KAAE,SAAOA,GAAE,QAAO,MAAK;AAAA,EAAE;AAAA,EAAC,eAAc;AAAC,QAAIA;AAAE,YAAO,UAAQA,KAAE,KAAK,MAAM,cAAY,WAASA,KAAE,SAAOA,GAAE,aAAY,MAAK;AAAA,EAAE;AAAA,EAAC,WAAU;AAAC,QAAIA;AAAE,WAAO,UAAQA,KAAE,KAAK,MAAM,cAAY,WAASA,KAAE,SAAOA,GAAE,SAAQ;AAAA,EAAE;AAAA,EAAC,WAAWA,IAAE;AAAC,QAAI6D,IAAE,GAAExC;AAAE,OAAG,oCAAmCrB,EAAC,IAAG,QAAMA,KAAE,SAAOA,GAAE,eAAa,GAAG,cAAc,iBAAiB,EAAC,WAAU,KAAE,CAAC,GAAE,UAAQ,IAAE,UAAQ6D,KAAE,KAAK,MAAM,iBAAe,WAASA,KAAE,SAAOA,GAAE,YAAU,WAAS,KAAG,EAAE,KAAKA,EAAC,GAAE,KAAK,MAAM,YAAU,SAAQ,UAAQxC,KAAE,KAAK,MAAM,cAAY,WAASA,MAAGA,GAAE,WAAWrB,EAAC,IAAE,SAASA,IAAE;AAAC,SAAG,8DAA8D,GAAEA,GAAE,cAAY,GAAGA,EAAC,GAAEA,GAAE,UAAU,WAAW,EAAC,WAAU,KAAE,CAAC,EAAE,OAAO,CAAAA,OAAG;AAAC,WAAG,wEAAuEA,EAAC;AAAA,MAAC;IAAI,GAAE,KAAK,KAAK;AAAA,EAAC;AAAC;AAAC,SAAS,GAAGA,IAAE;AAAC,MAAIqB,IAAE,GAAE,GAAE,GAAE,GAAEuB,IAAEhC,IAAE0D,IAAE3D,IAAE4D,IAAEf;AAAE,SAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,UAAK,EAAC,SAAQzD,GAAC,IAAEC;AAAE,QAAGD,GAAE,UAAQ,UAAQsB,KAAEtB,GAAE,YAAU,WAASsB,KAAEA,KAAE,CAAA,GAAGtB,GAAE,+BAA6B,UAAQ,IAAEA,GAAE,iCAA+B,WAAS,IAAE,IAAE,GAAG,QAAO,WAASA,GAAE,gBAAc,EAAE,OAAO,QAAQ,GAAE,QAAQ,KAAK,6DAA6D,IAAGA,GAAE,kBAAgB,UAAQ,IAAEA,GAAE,oBAAkB,WAAS,KAAG,GAAEA,GAAE,iBAAe,UAAQ,IAAEA,GAAE,mBAAiB,WAAS,KAAG,GAAEA,GAAE,iBAAe,UAAQ,IAAEA,GAAE,mBAAiB,WAAS,KAAG,GAAEA,GAAE,gBAAc,UAAQ6C,KAAE7C,GAAE,kBAAgB,WAAS6C,MAAGA,IAAE7C,GAAE,cAAY,UAAQa,KAAEb,GAAE,gBAAc,WAASa,MAAGA,IAAEb,GAAE,UAAQ,UAAQuE,KAAEvE,GAAE,YAAU,WAASuE,KAAEA,KAAE,EAAC,SAAQ,KAAE,GAAEvE,GAAE,UAAS;AAAC,QAAE,iEAAiE;AAAE,YAAMC,KAAE,MAAI;AAAA,MAAC,GAAE,IAAE,EAAC,SAAQ,OAAK,EAAC,OAAMA,IAAE,SAAQA,GAAC,GAAE,GAAEqB,KAAE,EAAC,WAAUrB,GAAC;AAAE,MAAAD,GAAE,SAAO,GAAEA,GAAE,KAAGsB;AAAA,IAAC;AAAC,UAAMX,KAAE,UAAM,UAAQC,KAAEZ,GAAE,YAAU,WAASY,KAAE,SAAOA,GAAE;AAAe,IAAAX,GAAE,SAAO,UAAQuE,KAAExE,GAAE,YAAU,WAASwE,KAAE,SAAOA,GAAE,QAAM7D,IAAE,GAAG,qDAAoDV,GAAE,OAAO;AAAE,UAAMc,KAAE,OAAO,OAAO,CAAA,GAAGf,GAAE,OAAO;AAAE,IAAAW,OAAII,GAAE,MAAI,MAAGA,GAAE,aAAW,MAAGA,GAAE,mBAAiB,MAAGA,GAAE,cAAY,MAAGA,GAAE,eAAa,MAAGA,GAAE,YAAU,OAAI,OAAM,SAASd,IAAE;AAAC,UAAI6D;AAAE,aAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAK,EAAC,SAAQ,EAAC,IAAE7D;AAAE,QAAAA,GAAE,kBAAgB,IAAI,GAAG,EAAC,aAAY,UAAQ6D,KAAE,EAAE,gBAAc,WAASA,MAAGA,IAAE,mBAAkB,EAAE,cAAa,OAAM7D,GAAE,MAAK,CAAC;AAAA,MAAC,EAAC;AAAA,IAAE,GAAEA,EAAC,GAAE,OAAM,SAASA,IAAE;AAAC,UAAI6D,IAAE,GAAExC,IAAEoD,IAAEC;AAAE,aAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAK,EAAC,SAAQC,GAAC,IAAE3E,IAAE4E,KAAE,UAAQf,KAAE7D,GAAE,oBAAkB,WAAS6D,KAAE,SAAOA,GAAE;AAAkB,QAAA7D,GAAE,YAAU,IAAI,GAAG,EAAC,WAAU,UAAQ,IAAE2E,GAAE,2BAAyB,WAAS,IAAE,IAAE,IAAG,SAAQA,GAAE,iBAAgB,gBAAe,EAAC,KAAI,UAAQtD,KAAEsD,GAAE,aAAa,QAAM,WAAStD,KAAEA,KAAE,IAAG,OAAM,UAAQoD,KAAEE,GAAE,aAAa,SAAO,WAASF,KAAEA,KAAE,IAAG,QAAOzE,GAAE,UAAS,GAAG,UAAS,QAAM4E,KAAEA,KAAE,IAAG,QAAO,UAAQF,KAAEC,GAAE,YAAU,WAASD,KAAEA,KAAE,IAAG,QAAO,GAAE,EAAC,CAAC;AAAA,MAAC,EAAC;AAAA,IAAE,GAAE1E,EAAC,GAAE,OAAM,SAASA,IAAE;AAAC,UAAI6D,IAAExC,IAAEoD;AAAE,aAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,YAAG,CAACzE,GAAE,QAAQ,gBAAgB;AAAO,YAAG,EAAE,UAAQ6D,KAAE7D,GAAE,oBAAkB,WAAS6D,KAAE,SAAOA,GAAE,UAAS,MAAK,EAAE,UAAQxC,KAAErB,GAAE,oBAAkB,WAASqB,KAAE,SAAOA,GAAE,cAAa,GAAI;AAAO,cAAMqD,KAAE1E,GAAE,WAAU,GAAG2E,KAAE3E,GAAE,UAAS,GAAG4E,KAAE,MAAM5E,GAAE,UAAS,GAAGoB,KAAE,UAAQqD,KAAEzE,GAAE,oBAAkB,WAASyE,KAAE,SAAOA,GAAE,gBAAe,GAAG7B,KAAE5C,GAAE,QAAQ;AAAQwE,uBAAE,kBAAkB,eAAcE,EAAC,GAAEF,eAAE,kBAAkB,WAAUG,EAAC,GAAEH,KAAAA,UAAE,kBAAkB,WAAUI,EAAC,GAAEJ,KAAAA,UAAE,kBAAkB,YAAWpD,EAAC,GAAEoD,KAAAA,UAAE,kBAAkB,oBAAmB5B,EAAC,GAAE4B,KAAAA,UAAE,OAAM,GAAGA,KAAAA,UAAE,MAAM,mBAAkB,CAAA,CAAE;AAAA,MAAC,EAAC;AAAA,IAAE,GAAExE,EAAC,GAAE,OAAM,SAASA,IAAE;AAAC,UAAI6D;AAAE,aAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAK,EAAC,SAAQ,EAAC,IAAE7D;AAAE,kBAAM,UAAQ6D,KAAE,EAAE,YAAU,WAASA,KAAE,SAAOA,GAAE,YAAU,EAAE,QAAQ,mBAAiB,EAAE,QAAQ,iBAAe,MAAM,GAAG,EAAE,OAAO;AAAA,MAAE,EAAC;AAAA,IAAE,GAAE7D,EAAC,GAAE,OAAM,SAASA,IAAE;AAAC,aAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAK,EAAC,SAAQ6D,GAAC,IAAE7D,IAAE,IAAE;AAA4B,YAAG6D,GAAE,cAAa;AAAC,UAAAA,GAAE,aAAa,WAAS,CAAC,EAAE,KAAKA,GAAE,aAAa,OAAO,MAAI,QAAQ,KAAK,uEAAuE,GAAEA,GAAE,aAAa,UAAQ,SAAQA,GAAE,aAAa,cAAYA,GAAE,aAAa,WAAW,SAAO,OAAK,QAAQ,KAAK,wGAAwG,GAAEA,GAAE,aAAa,aAAW,SAAQA,GAAE,aAAa,OAAK,CAAC,EAAE,KAAKA,GAAE,aAAa,GAAG,KAAG,QAAQ,KAAK,mEAAmE;AAAE,gBAAM7D,KAAE,GAAE;AAAG,cAAGA,MAAG,CAAC6D,GAAE,aAAa,WAAS,CAACA,GAAE,aAAa,YAAW;AAAC,kBAAMW,KAAE,GAAG,OAAO,SAAS,QAAQ,KAAK,OAAO,SAAS,IAAI,GAAGxE,EAAC;AAAG,YAAA6D,GAAE,aAAa,UAAQW;AAAA,UAAC;AAAA,QAAC;AAAC,QAAAxE,GAAE,eAAa6D,GAAE;AAAA,MAAY,EAAC;AAAA,IAAE,GAAE7D,EAAC,GAAE,MAAM,GAAGA,EAAC,GAAE,MAAM,GAAGA,EAAC;AAAE,UAAK,EAAC,0BAAyBmB,IAAE,iBAAgBoB,IAAE,cAAa1B,GAAC,IAAE,OAAM,SAASb,IAAE;AAAC,UAAI6D,IAAE,GAAExC,IAAEoD;AAAE,aAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAK,EAAC,SAAQC,GAAC,IAAE1E;AAAE,YAAI2E,IAAEC,KAAE,OAAGhC,KAAE;AAAG,YAAG,eAAa,OAAO,UAAQ,OAAO,YAAU,EAAE,UAAQiB,KAAE7D,GAAE,oBAAkB,WAAS6D,KAAE,SAAOA,GAAE,4BAA2B;AAAC,UAAAe,KAAE,gBAAc,aAAa,QAAQ,EAAE;AAAE,cAAG;AAAC,YAAAD,KAAE,MAAM,GAAG,EAAC,gBAAe,MAAG,aAAY3E,GAAC,CAAC,GAAE,OAAO,YAAU2E,IAAEA,GAAE,GAAG,GAAG,gBAAe,CAAAd,OAAG;AAAC,iBAAG,6EAA6EA,EAAC,EAAE,GAAE,QAAQ7D,GAAE,WAAW,KAAGA,GAAE,kBAAiB,EAAG,KAAK,GAAG,eAAc6D,EAAC;AAAA,YAAC,EAAC,GAAGc,GAAE,GAAG,GAAG,mBAAkB,CAAAd,OAAG,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,kBAAIW;AAAE,iBAAG,iFAAiFX,EAAC,EAAE;AAAE,oBAAMxC,KAAE,QAAQrB,GAAE,WAAW,GAAEyE,KAAE,QAAQzE,GAAE,eAAe;AAAE,kBAAGqB,MAAGrB,GAAE,kBAAiB,EAAG,KAAK,GAAG,kBAAiB6D,EAAC,GAAEY,MAAG,OAAK,QAAMZ,KAAE,SAAOA,GAAE,WAAS,OAAK,MAAM,UAAQW,KAAExE,GAAE,YAAW,MAAK,WAASwE,KAAE,SAAOA,GAAE,QAAQ,EAAC,QAAO,GAAG,uBAAsB,QAAO,CAAA,EAAE,CAAC,GAAG,OAAO,KAAG;AAAC,sBAAMxE,GAAE,UAAS;AAAA,cAAE,SAAOA,IAAE;AAAC,mBAAG,uFAAsFA,EAAC;AAAA,cAAC;AAAA,YAAC,EAAC,KAAK2E,GAAE,GAAG,GAAG,aAAY,CAAAd,OAAG;AAAC,iBAAG,yEAAyEA,EAAC,EAAE,GAAE,QAAQ7D,GAAE,WAAW,KAAGA,GAAE,oBAAoB,KAAK,GAAG,YAAW6D,EAAC;AAAA,YAAC,EAAC,GAAGc,GAAE,GAAG,GAAG,UAAS,CAAAd,OAAG;AAAC,iBAAG,qEAAqEA,EAAC,EAAE,GAAE,QAAQ7D,GAAE,WAAW,KAAGA,GAAE,kBAAiB,EAAG,KAAK,GAAG,SAAQ6D,EAAC;AAAA,YAAC,EAAC,GAAGc,GAAE,GAAG,GAAG,YAAW,CAAAd,OAAG;AAAC,iBAAG,kEAAiEA,EAAC,GAAE,QAAQ7D,GAAE,WAAW,KAAGA,GAAE,kBAAiB,EAAG,KAAK,GAAG,WAAU6D,EAAC;AAAA,YAAC,EAAC;AAAA,UAAE,SAAO7D,IAAE;AAAC,mBAAO,YAAU;AAAA,UAAM;AAAA,QAAC,MAAK,EAAC,UAAQ,IAAEA,GAAE,oBAAkB,WAAS,IAAE,SAAO,EAAE,wBAAuB,OAAM,UAAQqB,KAAErB,GAAE,cAAY,WAASqB,MAAGA,GAAE,KAAK,EAAC,OAAM,GAAG,sBAAqB,CAAC,GAAErB,GAAE,iBAAe,GAAG,EAAC,UAAS,OAAO,UAAS,aAAYA,GAAC,CAAC,GAAEA,GAAE,eAAa,MAAG4C,KAAE;AAAI,eAAO+B,MAAGD,GAAE,kBAAgB,GAAG,0FAA0F,GAAE,UAAQD,KAAEzE,GAAE,cAAY,WAASyE,MAAGA,GAAE,KAAK,EAAC,OAAM,GAAG,kBAAiB,CAAC,GAAEzE,GAAE,iBAAe2E,IAAE3E,GAAE,kBAAgB,MAAGA,GAAE,YAAU2E,IAAE3E,GAAE,eAAa,MAAG4C,KAAE,OAAI,EAAC,iBAAgBgC,IAAE,cAAahC,IAAE,0BAAyB+B,GAAC;AAAA,MAAC,EAAC;AAAA,IAAE,GAAE3E,EAAC;AAAE,QAAGa,GAAE,IAAG,4FAA4F;AAAA,SAAM;AAAC,aAAM,SAASb,IAAE6D,IAAE;AAAC,YAAI,GAAExC,IAAEoD,IAAEC,IAAEC;AAAE,eAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,gBAAK,EAAC,SAAQC,GAAC,IAAE5E,IAAEoB,KAAE,OAAO,OAAO,CAAA,GAAGwD,GAAE,OAAO;AAAE,UAAA5E,GAAE,mBAAiB,IAAI,GAAG,EAAC,QAAO,MAAMA,GAAE,aAAY,eAAc,UAAQ,IAAE4E,GAAE,kBAAgB,WAAS,KAAG,GAAE,8BAA6B,UAAQvD,KAAEuD,GAAE,iCAA+B,WAASvD,KAAEA,KAAE,GAAG,QAAO,WAAUrB,GAAE,WAAU,cAAa4E,GAAE,cAAa,SAAQA,GAAE,SAAQ,iBAAgB,UAAQH,KAAEG,GAAE,oBAAkB,WAASH,MAAGA,IAAE,OAAMG,GAAE,OAAM,KAAI5E,IAAE,iBAAgBA,GAAE,iBAAgB,YAAW4E,GAAE,YAAW,wBAAuBA,GAAE,wBAAuB,SAAQ,UAAQF,KAAEE,GAAE,YAAU,WAASF,KAAEA,KAAE,EAAC,SAAQ,KAAE,GAAE,sBAAqB,MAAI;AAAC,gBAAG,CAAC1E,GAAE,UAAU,OAAM,IAAI,MAAM,iDAAiD;AAAE,mBAAOA,GAAE;AAAA,UAAS,GAAE,SAAQoB,IAAE,8BAA6B,WAASyC,KAAE,SAAO,MAAI,GAAG7D,EAAC,GAAE,QAAO,OAAO,OAAO,OAAO,OAAO,CAAA,GAAG4E,GAAE,MAAM,GAAE,EAAC,0BAAyB5E,GAAE,UAAU,KAAKA,EAAC,EAAC,CAAC,EAAC,CAAC,GAAE,MAAMA,GAAE,iBAAiB,wBAAwB,EAAC,aAAYA,GAAC,CAAC,GAAEA,GAAE,YAAU,IAAI,GAAG,EAAC,QAAOA,GAAE,kBAAiB,eAAc,UAAQ2E,KAAEC,GAAE,kBAAgB,WAASD,MAAGA,IAAE,iBAAgB3E,GAAE,iBAAgB,OAAMA,GAAE,MAAK,CAAC;AAAA,QAAC,EAAC;AAAA,MAAE,GAAEA,IAAEmB,EAAC,GAAE,MAAM,GAAGnB,EAAC,GAAE,OAAM,SAASA,IAAE6D,IAAE;AAAC,YAAI,GAAExC;AAAE,eAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,gBAAK,EAAC,SAAQoD,GAAC,IAAEzE;AAAE,UAAA6D,MAAG,GAAG,oGAAoG,GAAE,UAAQ,IAAE7D,GAAE,cAAY,WAAS,KAAG,EAAE,KAAK,EAAC,OAAM,GAAG,uBAAsB,CAAC,GAAE,GAAGA,EAAC,EAAE,OAAO,CAAAA,OAAG;AAAC,oBAAQ,KAAK,4CAA2CA,EAAC,GAAE,aAAa,WAAW,EAAE;AAAA,UAAC,EAAC,KAAIyE,GAAE,kCAAgC,UAAQpD,KAAErB,GAAE,oBAAkB,WAASqB,KAAE,SAAOA,GAAE,aAAY,MAAK,GAAG,iFAAiF,GAAErB,GAAE,QAAO,EAAG,OAAO,CAAAA,OAAG;AAAC,eAAG,6HAA6HA,EAAC,EAAE;AAAA,UAAC,OAAK,QAAQ,KAAK,yGAAyG,IAAGA,GAAE,eAAa;AAAA,QAAE,EAAC;AAAA,MAAE,GAAEA,IAAEuC,EAAC;AAAE,UAAG;AAAC,cAAM,UAAQiB,KAAExD,GAAE,qBAAmB,WAASwD,KAAE,SAAOA,GAAE,gBAAgB,EAAC,cAAa,KAAE,CAAC;AAAA,MAAC,SAAOxD,IAAE;AAAC,gBAAQ,MAAM,wFAAuFA,EAAC;AAAA,MAAC;AAAC,MAAAA,GAAE,KAAK,GAAG,gBAAe,GAAG,WAAW;AAAA,IAAC;AAAA,EAAC,EAAC;AAAE;AAAC,MAAM,WAAW,EAAC;AAAA,EAAC,YAAYA,KAAE,EAAC,SAAQ,EAAC,SAAQ,KAAE,GAAE,gBAAe,MAAG,qBAAoB,OAAG,iBAAgB,MAAG,gBAAe,MAAG,aAAY,MAAG,eAAc,MAAG,UAAS,OAAG,cAAa,EAAC,MAAK,IAAG,KAAI,IAAG,SAAQ,GAAE,GAAE,SAAQ,IAAG,aAAY,EAAC,SAAQ,MAAE,EAAC,GAAE;AAAC,QAAI,GAAEqB,IAAE;AAAE,UAAK,GAAG,KAAK,kBAAgB,OAAG,KAAK,eAAa,OAAG,KAAK,iBAAe,QAAO,KAAK,QAAM,OAAG,KAAK,mBAAiB,OAAG,KAAK,qBAAmB,CAAC,IAAI,GAAE,KAAK,sBAAoB,kBAAiB,EAAE,QAAO;AAAG,UAAM,IAAE,UAAM,UAAQ,IAAErB,GAAE,YAAU,WAAS,IAAE,SAAO,EAAE;AAAe,UAAK,UAAQqB,KAAErB,GAAE,YAAU,WAASqB,KAAE,SAAOA,GAAE,QAAM,MAAI,EAAE,OAAO,QAAQ,GAAE,GAAG,sCAAsC,GAAE,KAAK,gBAAgB,EAAE,GAAE,EAAE,UAAQ,IAAErB,GAAE,iBAAe,WAAS,IAAE,SAAO,EAAE,MAAK;AAAC,UAAG,eAAa,OAAO,UAAQ,eAAa,OAAO,SAAS,OAAM,IAAI,MAAM,mCAAmC;AAAE,MAAAA,GAAE,eAAa,OAAO,OAAO,OAAO,OAAO,CAAA,GAAGA,GAAE,YAAY,GAAE,EAAC,KAAI,GAAG,OAAO,SAAS,QAAQ,KAAK,OAAO,SAAS,IAAI,GAAE,CAAC;AAAA,IAAC;AAAC,SAAK,UAAQA,IAAE,KAAK,QAAQ,YAAUA,GAAE,UAAQ,KAAI,KAAK,KAAI,EAAG,MAAM,MAAI;AAAC,SAAG,yDAAyD,GAAE,eAAa,OAAO,WAAS,OAAO,QAAM;AAAA,IAAK,EAAC,EAAG,OAAO,CAAAA,OAAG;AAAC,cAAQ,MAAM,4DAA2DA,EAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,OAAM;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAO,SAASA,IAAE;AAAC,YAAI6D;AAAE,eAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAG,eAAa,OAAO,WAAS,UAAQA,KAAE,OAAO,UAAQ,WAASA,KAAE,SAAOA,GAAE,cAAa,GAAI,QAAO,GAAG,4DAA4D,GAAE,QAAQ,QAAQ,OAAO,KAAK;AAAE,cAAG7D,GAAE,aAAa,QAAO,GAAG,4DAA4D,GAAEA,GAAE;AAAe,cAAGA,GAAE,eAAe,QAAO,GAAG,6DAA6D,GAAEA,GAAE;AAAe,cAAG;AAAC,YAAAA,GAAE,iBAAe,GAAGA,EAAC,GAAE,MAAMA,GAAE;AAAA,UAAc,SAAOA,IAAE;AAAC,kBAAM,QAAQ,MAAMA,EAAC,GAAEA;AAAA,UAAC;AAAC,iBAAOA,GAAE;AAAA,QAAc,EAAC;AAAA,MAAE,GAAE,IAAI;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,oBAAmB;AAAC,WAAO,KAAK;AAAA,EAAe;AAAA,EAAC,6BAA4B;AAAC,QAAIA;AAAE,WAAM,eAAa,OAAO,UAAQ,QAAQ,UAAQA,KAAE,OAAO,aAAW,WAASA,KAAE,SAAOA,GAAE,UAAU;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAO,SAASA,IAAE;AAAC,eAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAGA,GAAE,iBAAe,GAAG,gEAAgE,GAAE,MAAMA,GAAE,KAAI,IAAI,GAAG,8CAA8CA,GAAE,mBAAmB,mBAAkBA,GAAE,cAAc,GAAE,CAACA,GAAE,eAAe,OAAM,IAAI,MAAM,yCAAyC;AAAE,gBAAM6D,KAAE7D,GAAE,eAAe,mBAAkB;AAAG,iBAAO6D,KAAE,CAACA,EAAC,IAAE7D,GAAE,eAAe,QAAQ,EAAC,QAAO,GAAG,qBAAoB,QAAO,CAAA,EAAE,CAAC;AAAA,QAAC,EAAC;AAAA,MAAE,GAAE,IAAI;AAAA,IAAC;EAAG;AAAA,EAAC,eAAe,EAAC,KAAIA,GAAC,GAAE;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,aAAO,GAAG,EAAC,UAAS,MAAK,KAAIA,GAAC,CAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,YAAYA,IAAE;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAO,SAAS,EAAC,UAASA,IAAE,KAAI6D,GAAC,GAAE;AAAC,eAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,cAAG7D,GAAE,iBAAe,GAAG,oEAAoE,GAAE,MAAMA,GAAE,KAAI,IAAI,GAAG,wCAAwC6D,GAAE,MAAM,QAAQA,EAAC,EAAE,GAAE,CAAC7D,GAAE,eAAe,OAAM,IAAI,MAAM,yCAAyC;AAAE,iBAAOA,GAAE,eAAe,QAAQ,EAAC,QAAO,GAAG,sBAAqB,QAAO,CAAC6D,EAAC,EAAC,CAAC;AAAA,QAAC,EAAC;AAAA,MAAE,GAAE,EAAC,UAAS,MAAK,KAAI7D,GAAC,CAAC;AAAA,IAAC;EAAG;AAAA,EAAC,SAAQ;AAAC,YAAO,SAASA,IAAE;AAAC,UAAI6D,IAAE,GAAExC;AAAE,aAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,YAAG,EAAE,UAAQ,IAAE,UAAQwC,KAAE7D,GAAE,qBAAmB,WAAS6D,KAAE,SAAOA,GAAE,aAAY,MAAK,WAAS,IAAE,SAAO,EAAE,QAAO,GAAI,QAAO,GAAG,qEAAqE,GAAE,MAAK,UAAQxC,KAAErB,GAAE,qBAAmB,WAASqB,MAAGA,GAAE,gBAAe;AAAI,WAAG,0CAA0C;AAAA,MAAC,EAAC;AAAA,IAAE,GAAE,IAAI;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAO,QAAQ,KAAK,yDAAyD,GAAE,KAAK,UAAS;AAAA,EAAE;AAAA,EAAC,eAAc;AAAC,QAAIrB;AAAE,cAAQA,KAAE,KAAK,qBAAmB,WAASA,MAAGA,GAAE,aAAY;AAAA,EAAE;AAAA,EAAC,YAAW;AAAC,YAAO,SAASA,IAAE;AAAC,UAAI6D,IAAE,GAAExC;AAAE,aAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,YAAG,EAAE,UAAQwC,KAAE7D,GAAE,oBAAkB,WAAS6D,KAAE,SAAOA,GAAE,wBAAuB,IAAI;AAAC,cAAG,OAAK,OAAO,aAAa,WAAW,EAAE,GAAE,OAAO,aAAa,WAAW,EAAE,GAAE,OAAO,aAAa,WAAW,EAAE,IAAG7D,GAAE,iBAAgB;AAAC,gBAAG;AAAC,oBAAM,UAAQ,IAAEA,GAAE,mBAAiB,WAAS,IAAE,SAAO,EAAE,QAAQ,EAAC,QAAO,GAAG,0BAAyB,QAAO,CAAC,EAAC,cAAa,CAAA,EAAE,CAAC,EAAC,CAAC;AAAA,YAAC,SAAOA,IAAE;AAAC,iBAAG,yDAAwDA,EAAC;AAAA,YAAC;AAAC,mBAAOA,GAAE,QAAQ,iBAAeA,GAAE,KAAK,GAAG,gBAAe,GAAG,SAAS,GAAE,KAAK,GAAG,0EAA0E,MAAIA,GAAE,iBAAeA,GAAE,aAAY,OAAO,WAASA,GAAE,gBAAeA,GAAE,kBAAgB,OAAG,KAAKA,GAAE,KAAK,GAAG,gBAAe,GAAG,SAAS;AAAA,UAAE;AAAC,UAAAA,GAAE,KAAK,GAAG,gBAAe,GAAG,SAAS,GAAE,GAAG,+CAA+CA,GAAE,gBAAgB,EAAE,GAAE,UAAQqB,KAAErB,GAAE,qBAAmB,WAASqB,MAAGA,GAAE,WAAW,EAAC,WAAU,MAAG,aAAY,KAAE,CAAC;AAAA,QAAC;AAAA,MAAC;IAAG,GAAE,IAAI;AAAA,EAAC;AAAA,EAAC,gBAAe;AAAC,WAAO,KAAK;AAAA,EAAY;AAAA,EAAC,oBAAoBrB,IAAE;AAAC,SAAK,mBAAiBA;AAAA,EAAC;AAAA,EAAC,sBAAqB;AAAC,WAAO,KAAK;AAAA,EAAgB;AAAA,EAAC,cAAa;AAAC,QAAG,KAAK,eAAe,QAAO,KAAK;AAAe,YAAQ,KAAK,uCAAuC;AAAA,EAAC;AAAA,EAAC,oBAAmB;AAAC,QAAG,CAAC,KAAK,YAAY,OAAM,IAAI,MAAM,gDAAgD;AAAE,WAAO,KAAK;AAAA,EAAW;AAAA,EAAC,mBAAkB;AAAC,QAAIA;AAAE,UAAM6D,KAAE,UAAQ7D,KAAE,KAAK,qBAAmB,WAASA,KAAE,SAAOA,GAAE,iBAAgB;AAAG,QAAG,CAAC6D,GAAE,OAAM,IAAI,MAAM,qEAAqE;AAAE,WAAOA;AAAA,EAAC;AAAA,EAAC,eAAc;AAAC,QAAI7D,IAAE6D;AAAE,WAAO,UAAQA,KAAE,UAAQ7D,KAAE,KAAK,qBAAmB,WAASA,KAAE,SAAOA,GAAE,iBAAgB,MAAK,WAAS6D,KAAE,SAAOA,GAAE;AAAA,EAAS;AAAA,EAAC,gBAAe;AAAC,QAAI7D,IAAE6D;AAAE,WAAO,UAAQA,KAAE,UAAQ7D,KAAE,KAAK,qBAAmB,WAASA,KAAE,SAAOA,GAAE,mBAAiB,WAAS6D,KAAE,SAAOA,GAAE,oBAAmB;AAAA,EAAE;AAAA,EAAC,aAAY;AAAC,WAAO,GAAG;AAAA,EAAO;AAAA,EAAC,YAAW;AAAC,QAAI7D,IAAE6D,IAAE,GAAExC;AAAE,WAAM,eAAa,OAAO,UAAQ,WAAS,OAAO,WAAS,UAAQA,KAAE,UAAQwC,KAAE,UAAQ7D,KAAE,KAAK,QAAQ,iBAAe,WAASA,KAAE,SAAOA,GAAE,SAAO,WAAS6D,KAAEA,KAAE,UAAQ,IAAE,KAAK,QAAQ,iBAAe,WAAS,IAAE,SAAO,EAAE,QAAM,WAASxC,KAAEA,KAAE,QAAM,OAAO,SAAS;AAAA,EAAQ;AAAA,EAAC,YAAW;AAAC,QAAIrB,IAAE6D;AAAE,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,UAAG,KAAK,QAAQ,QAAO,KAAK;AAAQ,UAAI;AAAE,aAAO,KAAG,UAAQ7D,KAAE,KAAK,oBAAkB,WAASA,KAAE,SAAOA,GAAE,UAAS,KAAI,KAAK,iBAAgB,KAAI,UAAQ6D,KAAE,KAAK,oBAAkB,WAASA,KAAE,SAAOA,GAAE,cAAa,KAAI,MAAM,KAAK,qBAAoB,IAAGc,GAAC,GAAG,KAAK,UAAQ,GAAE;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,mBAAkB;AAAC,UAAM3E,KAAE,KAAK;AAAoB,QAAG;AAAC,YAAM6D,KAAE,aAAa,QAAQ7D,EAAC;AAAE,UAAG6D,GAAE,QAAOA;AAAE,YAAM,IAAEc,GAAC;AAAG,aAAO,aAAa,QAAQ3E,IAAE,CAAC,GAAE;AAAA,IAAC,SAAOA,IAAE;AAAC,aAAO,QAAQ,MAAM,gEAA+DA,EAAC,GAAE2E,GAAC;AAAA,IAAE;AAAA,EAAC;AAAA,EAAC,uBAAsB;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,YAAM3E,KAAE,KAAK;AAAoB,UAAG;AAAC,cAAM6D,KAAE,QAAQ,2CAA2C,EAAE,SAAQ,IAAE,MAAMA,GAAE,QAAQ7D,EAAC;AAAE,YAAG,EAAE,QAAO;AAAE,cAAMqB,KAAEsD;AAAI,eAAO,MAAMd,GAAE,QAAQ7D,IAAEqB,EAAC,GAAEA;AAAA,MAAC,SAAOrB,IAAE;AAAC,eAAO,QAAQ,MAAM,uEAAsEA,EAAC,GAAE2E,GAAC;AAAA,MAAE;AAAA,IAAC;EAAG;AAAA,EAAC,kBAAiB;AAAC,QAAI3E,IAAE6D;AAAE,WAAO,UAAQA,KAAE,UAAQ7D,KAAE,KAAK,qBAAmB,WAASA,KAAE,SAAOA,GAAE,aAAY,MAAK,WAAS6D,KAAE,SAAOA,GAAE,oBAAmB;AAAA,EAAE;AAAA,EAAC,oBAAmB;AAAC,QAAI7D;AAAE,WAAO,UAAQA,KAAE,KAAK,qBAAmB,WAASA,KAAE,SAAOA,GAAE,iBAAgB;AAAA,EAAE;AAAA,EAAC,QAAO;AAAC,QAAIA,IAAE6D;AAAE,cAAQA,KAAE,UAAQ7D,KAAE,KAAK,qBAAmB,WAASA,KAAE,SAAOA,GAAE,aAAY,MAAK,WAAS6D,MAAGA,GAAE,KAAI;AAAA,EAAE;AAAA,EAAC,YAAW;AAAC,QAAI7D,IAAE6D;AAAE,cAAQA,KAAE,UAAQ7D,KAAE,KAAK,qBAAmB,WAASA,KAAE,SAAOA,GAAE,aAAY,MAAK,WAAS6D,MAAGA,GAAE,SAAQ;AAAA,EAAE;AAAA,EAAC,oBAAmB;AAAC,QAAI7D,IAAE6D;AAAE,WAAO,UAAQA,KAAE,UAAQ7D,KAAE,KAAK,qBAAmB,WAASA,KAAE,SAAOA,GAAE,aAAY,MAAK,WAAS6D,KAAE,SAAOA,GAAE,iBAAgB;AAAA,EAAE;AAAA,EAAC,uBAAsB;AAAC,WAAO,KAAK;AAAA,EAAgB;AAAA,EAAC,mBAAkB;AAAC,WAAO,KAAK;AAAA,EAAY;AAAA,EAAC,cAAa;AAAC,QAAI7D;AAAE,WAAO,UAAQA,KAAE,KAAK,qBAAmB,WAASA,KAAE,SAAOA,GAAE,WAAU;AAAA,EAAE;AAAA,EAAC,aAAY;AAAC,QAAIA,IAAE6D;AAAE,cAAQA,KAAE,UAAQ7D,KAAE,KAAK,qBAAmB,WAASA,KAAE,SAAOA,GAAE,aAAY,MAAK,WAAS6D,MAAGA,GAAE,UAAS;AAAA,EAAE;AAAA,EAAC,iBAAgB;AAAC,WAAO,KAAK;AAAA,EAAgB;AAAA,EAAC,KAAK7D,IAAE6D,IAAE;AAAC,WAAO,MAAM,KAAK7D,IAAE6D,EAAC;AAAA,EAAC;AAAA,EAAC,GAAG7D,IAAE6D,IAAE;AAAC,WAAO,MAAM,GAAG7D,IAAE6D,EAAC;AAAA,EAAC;AAAC;AAAC,IAAI,KAAG,OAAO,OAAO,EAAC,WAAU,MAAK,mBAAkB,MAAK;AAAA,EAAC,YAAY,EAAC,SAAQ7D,GAAC,IAAE,EAAC,SAAQ,MAAE,GAAE;AAAC,SAAK,UAAQ,OAAG,KAAK,UAAQA;AAAA,EAAC;AAAA,EAAC,qBAAqBA,IAAE;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,YAAM6D,KAAE,KAAK,UAAU7D,EAAC;AAAE,SAAG,uDAAuD,KAAK,OAAO,IAAGA,EAAC,GAAE,aAAa,QAAQ,IAAG6D,EAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,4BAA2B;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,UAAI7D;AAAE,UAAG;AAAC,YAAG,GAAG,4DAA4D,KAAK,OAAO,EAAE,GAAEA,KAAE,aAAa,QAAQ,EAAE,GAAE,GAAG,oDAAmDA,EAAC,GAAE,CAACA,GAAE;AAAO,cAAM6D,KAAE,KAAK,MAAM7D,EAAC;AAAE,eAAO,GAAG,kEAAiE6D,EAAC,GAAEA;AAAA,MAAC,SAAO7D,IAAE;AAAC,eAAO,KAAK,QAAQ,MAAM,uFAAsFA,EAAC;AAAA,MAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,gBAAgBA,IAAE;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,SAAG,kDAAkD,KAAK,OAAO,IAAGA,EAAC;AAAE,YAAM6D,KAAE,KAAK,UAAU7D,EAAC;AAAE,mBAAa,QAAQ,IAAG6D,EAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,oBAAmB;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,UAAG;AAAC,cAAM7D,KAAE,aAAa,QAAQ,EAAE;AAAE,eAAOA,KAAE,KAAK,MAAMA,EAAC,IAAE,CAAA;AAAA,MAAE,SAAOA,IAAE;AAAC,cAAM,QAAQ,MAAM,0EAAyEA,EAAC,GAAEA;AAAA,MAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,eAAeA,IAAE;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,SAAG,iDAAiD,KAAK,OAAO,IAAGA,EAAC,GAAE,aAAa,QAAQ,IAAGA,EAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,mBAAkB;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,UAAG;AAAC,cAAMA,KAAE,aAAa,QAAQ,EAAE;AAAE,eAAO,QAAMA,KAAEA,KAAE;AAAA,MAAM,SAAOA,IAAE;AAAC,cAAM,QAAQ,MAAM,wEAAuEA,EAAC,GAAEA;AAAA,MAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,YAAW;AAAC,WAAO,EAAE,MAAK,QAAO,SAAQ,aAAW;AAAC,SAAG,4CAA4C,KAAK,OAAO,EAAE,GAAE,aAAa,WAAW,EAAE;AAAA,IAAC,EAAC;AAAA,EAAE;AAAC,EAAC,CAAC;AAAO,MAAC,KAAG,YAAW,KAAG,OAAS,KAAG;AAAG,IAAI,KAAG,OAAO,gBAAe,KAAG,oBAAI,WAAQ,KAAG,CAAAA,OAAG,GAAG,IAAIA,EAAC,GAAE,KAAG,CAACA,IAAE6D,OAAI,GAAG,IAAIA,GAAE,iBAAe7D,IAAE6D,EAAC,GAAE,KAAG,CAAC7D,IAAE6D,OAAIA,MAAK7D,IAAE,KAAG,CAACA,IAAE6D,QAAI,GAAG,QAAQ,OAAO7D,IAAE6D,EAAC,GAAE,KAAG,oBAAI,OAAI,KAAG,oBAAI,OAAI,KAAG,0DAAyD,KAAG,eAAa,OAAO,SAAO,SAAO,IAAG,KAAG,GAAG,YAAU,EAAC,MAAK,CAAA,EAAE,GAAE,KAAG,EAAC,SAAQ,GAAE,gBAAe,IAAG,KAAI,CAAA7D,OAAGA,GAAC,GAAG,KAAI,CAAAA,OAAG,sBAAsBA,EAAC,GAAE,KAAI,CAACA,IAAE6D,IAAE,GAAExC,OAAIrB,GAAE,iBAAiB6D,IAAE,GAAExC,EAAC,GAAE,KAAI,CAACrB,IAAE6D,IAAE,GAAExC,OAAIrB,GAAE,oBAAoB6D,IAAE,GAAExC,EAAC,GAAE,IAAG,CAACrB,IAAE6D,OAAI,IAAI,YAAY7D,IAAE6D,EAAC,EAAC,GAAE,MAAI,MAAI;AAAC,MAAG;AAAC,WAAO,IAAI,iBAAc,cAAY,OAAO,IAAI,gBAAe;AAAA,EAAW,SAAO7D,IAAE;AAAA,EAAC;AAAC;AAAQ,GAAC,GAAI,KAAG,OAAG,KAAG,CAAA,GAAG,KAAG,CAAA,GAAG,KAAG,CAACA,IAAE6D,OAAI,CAAAA,OAAG;AAAC,EAAA7D,GAAE,KAAK6D,EAAC,GAAE,OAAK,KAAG,MAAG,IAAE,GAAG,UAAQ,GAAG,EAAE,IAAE,GAAG,IAAI,EAAE;AAAE,GAAE,KAAG,CAAA7D,OAAG;AAAC,WAAQ6D,KAAE,GAAEA,KAAE7D,GAAE,QAAO6D,KAAI,KAAG;AAAC,IAAA7D,GAAE6D,EAAC,EAAE,YAAY,IAAG,CAAE;AAAA,EAAC,SAAO7D,IAAE;AAAC,OAAGA,EAAC;AAAA,EAAC;AAAC,EAAAA,GAAE,SAAO;AAAC,GAAE,KAAG,MAAI;AAAC,KAAG,EAAE,GAAE,GAAG,EAAE,IAAG,KAAG,GAAG,SAAO,MAAI,GAAG,IAAI,EAAE;AAAC,GAAE,KAAG,CAAAA,QAAI,CAAAA,OAAG,QAAQ,QAAQA,EAAC,GAAC,EAAI,KAAKA,EAAC,GAAE,KAAG,GAAG,EAAE,GAAE,KAAG,CAAA,GAAG,KAAG,CAAAA,OAAG,cAAYA,KAAE,OAAOA,OAAI,eAAaA;AAAE,SAAS,GAAGA,IAAE;AAAC,MAAI6D,IAAE,GAAExC;AAAE,SAAO,SAAOA,KAAE,SAAO,IAAE,SAAOwC,KAAE7D,GAAE,QAAM,SAAO6D,GAAE,cAAc,wBAAwB,KAAG,SAAO,EAAE,aAAa,SAAS,KAAGxC,KAAE;AAAM;AAAA,CAAE,CAACrB,IAAE6D,OAAI;AAAC,WAAQ,KAAKA,GAAE,IAAG7D,IAAE,GAAE,EAAC,KAAI6D,GAAE,CAAC,GAAE,YAAW,KAAE,CAAC;AAAC,GAAG,CAAA,GAAG,EAAC,KAAI,MAAI,IAAG,KAAI,MAAI,IAAG,IAAG,MAAI,IAAG,QAAO,MAAI,IAAG,WAAU,MAAI,GAAE,CAAC;AAAE,IAAI,KAAG,CAAA7D,QAAI,EAAC,MAAK,MAAG,OAAM,OAAG,OAAMA,GAAC,IAAG,KAAG,CAAAA,QAAI,EAAC,MAAK,OAAG,OAAM,MAAG,OAAMA,GAAC;AAAG,SAAS,GAAGA,IAAE6D,IAAE;AAAC,MAAG7D,GAAE,MAAK;AAAC,UAAM,IAAE6D,GAAE7D,GAAE,KAAK;AAAE,WAAO,aAAa,UAAQ,EAAE,MAAM,CAAAA,OAAG,GAAGA,EAAC,EAAC,IAAG,GAAG,CAAC;AAAA,EAAC;AAAC,MAAGA,GAAE,OAAM;AAAC,UAAM6D,KAAE7D,GAAE;AAAM,WAAO,GAAG6D,EAAC;AAAA,EAAC;AAAC,QAAK;AAAuB;AAAI,IAAI,IAAG,KAAG,CAAA7D,OAAG;AAAC,MAAGA,GAAE,KAAK,QAAOA,GAAE;AAAM,QAAMA,GAAE;AAAK,GAAE,KAAG,CAAAA,OAAG;AAAC,MAAGA,GAAE,MAAM,QAAOA,GAAE;AAAM,QAAMA,GAAE;AAAK,GAAE,KAAG,CAACA,IAAE6D,OAAK,MAAI;AAAC,MAAIxC,KAAE,MAAK,IAAE,OAAG,IAAE;AAAG,QAAM,IAAE,IAAG,IAAE,CAAAwC,OAAG;AAAC,aAAQW,KAAE,GAAEA,KAAEX,GAAE,QAAOW,KAAI,CAAAnD,KAAEwC,GAAEW,EAAC,GAAE,MAAM,QAAQnD,EAAC,IAAE,EAAEA,EAAC,IAAE,QAAMA,MAAG,aAAW,OAAOA,QAAK,IAAE,cAAY,OAAOrB,MAAG,CAAC,GAAGqB,EAAC,OAAKA,KAAE,OAAOA,EAAC,IAAG,KAAG,IAAE,EAAE,EAAE,SAAO,CAAC,EAAE,UAAQA,KAAE,EAAE,KAAK,IAAE,GAAG,MAAKA,EAAC,IAAEA,EAAC,GAAE,IAAE;AAAA,EAAE;AAAE,MAAG,EAAE,CAAC,GAAEwC,IAAE;AAAC,UAAM7D,KAAE6D,GAAE,aAAWA,GAAE;AAAM,IAAA7D,OAAI6D,GAAE,QAAM,YAAU,OAAO7D,KAAEA,KAAE,OAAO,KAAKA,EAAC,EAAE,QAAQ,CAAA6D,OAAG7D,GAAE6D,EAAC,EAAC,EAAG,KAAK,GAAG;AAAA,EAAE;AAAC,MAAG,cAAY,OAAO7D,GAAE,QAAOA,GAAE,SAAO6D,KAAE,CAAA,IAAGA,IAAE,GAAE,EAAE;AAAE,QAAMzC,KAAE,GAAGpB,IAAE,IAAI;AAAE,SAAOoB,GAAE,UAAQyC,IAAE,EAAE,SAAO,MAAIzC,GAAE,aAAW,IAAGA;AAAC,GAAE,KAAG,CAACpB,IAAE6D,OAAI;AAAC,QAAM,IAAE,EAAC,SAAQ,GAAE,OAAM7D,IAAE,QAAO6D,IAAE,OAAM,MAAK,YAAW,MAAK,SAAQ,KAAI;AAAE,SAAO;AAAC,GAAE,KAAG,CAAA,GAAG,KAAG,EAAC,SAAQ,CAAC7D,IAAE6D,OAAI7D,GAAE,IAAI,EAAE,EAAE,QAAQ6D,EAAC,GAAE,KAAI,CAAC7D,IAAE6D,OAAI7D,GAAE,IAAI,EAAE,EAAE,IAAI6D,EAAC,EAAE,IAAI,EAAE,EAAC,GAAE,KAAG,CAAA7D,QAAI,EAAC,QAAOA,GAAE,SAAQ,WAAUA,GAAE,YAAW,MAAKA,GAAE,OAAM,OAAMA,GAAE,QAAO,MAAKA,GAAE,OAAM,OAAMA,GAAE,OAAM,IAAG,KAAG,CAAAA,OAAG;AAAC,MAAG,cAAY,OAAOA,GAAE,MAAK;AAAC,UAAM6D,KAAE,EAAC,GAAG7D,GAAE,OAAM;AAAE,WAAOA,GAAE,SAAO6D,GAAE,MAAI7D,GAAE,OAAMA,GAAE,UAAQ6D,GAAE,OAAK7D,GAAE,QAAO,GAAGA,GAAE,MAAK6D,IAAE,GAAG7D,GAAE,aAAW,EAAE;AAAA,EAAC;AAAC,QAAM6D,KAAE,GAAG7D,GAAE,MAAKA,GAAE,KAAK;AAAE,SAAO6D,GAAE,UAAQ7D,GAAE,QAAO6D,GAAE,aAAW7D,GAAE,WAAU6D,GAAE,QAAM7D,GAAE,MAAK6D,GAAE,SAAO7D,GAAE,OAAM6D;AAAC,GAAE,KAAG,CAAA7D,OAAG,GAAGA,EAAC,EAAE,eAAc,KAAG,CAACA,IAAE6D,IAAE,MAAI;AAAC,QAAMxC,KAAE,GAAGrB,EAAC;AAAE,SAAM,EAAC,MAAK,CAAAA,OAAG,GAAGqB,IAAEwC,IAAE,EAAC,SAAQ,MAAQ,UAAS,MAAQ,YAAW,MAAQ,QAAO7D,GAAC,CAAC,EAAC;AAAC,GAAE,KAAG,CAACA,IAAE6D,IAAE,MAAI;AAAC,QAAMxC,KAAE,GAAG,GAAGwC,IAAE,CAAC;AAAE,SAAO7D,GAAE,cAAcqB,EAAC,GAAEA;AAAC,GAAE,KAAG,oBAAI,WAAQ,KAAG,CAAArB,OAAG;AAAM,QAAC6D,KAAE7D,GAAE,WAAU,IAAEA,GAAE,eAAcqB,KAAEwC,GAAE;AAAU,EAACA,GAAE,WAAU,MAAI;AAAA,EAAC;AAAE,QAAC,KAAG,CAAC7D,IAAE6D,IAAEW,OAAI;AAAC,QAAInD;AAAE,UAAM,IAAE,GAAGwC,EAAC,GAAEa,KAAE,GAAG,IAAI,CAAC;AAAE,QAAG1E,KAAE,OAAKA,GAAE,WAASA,KAAE,IAAG0E,GAAE,KAAG,YAAU,OAAOA,IAAE;AAAC,MAAA1E,KAAEA,GAAE,QAAMA;AAAE,UAAIwE,IAAE,IAAE,GAAG,IAAIxE,EAAC;AAAE,UAAG,KAAG,GAAG,IAAIA,IAAE,IAAE,oBAAI,KAAG,GAAE,CAAC,EAAE,IAAI,CAAC,GAAE;AAAC;AAAC,UAAAwE,KAAE,GAAG,cAAc,OAAO,GAAEA,GAAE,YAAUE;AAAE,gBAAMD,KAAE,SAAOpD,KAAE,GAAG,WAASA,KAAE,GAAG,EAAE;AAAE,cAAG,QAAMoD,MAAGD,GAAE,aAAa,SAAQC,EAAC,GAAE,EAAE,IAAEZ,GAAE,SAAS,KAAG,WAAS7D,GAAE,UAAS;AAAC,kBAAM6D,KAAE7D,GAAE,iBAAiB,sBAAsB,GAAEqB,KAAEwC,GAAE,SAAO,IAAEA,GAAEA,GAAE,SAAO,CAAC,EAAE,cAAY7D,GAAE,cAAc,OAAO;AAAE,YAAAA,GAAE,aAAawE,IAAEnD,EAAC;AAAA,UAAC,WAAS,UAASrB,GAAE,KAAG,IAAG;AAAC,kBAAM6D,KAAE,IAAI;AAAc,YAAAA,GAAE,YAAYa,EAAC,GAAE1E,GAAE,qBAAmB,CAAC6D,IAAE,GAAG7D,GAAE,kBAAkB;AAAA,UAAC,OAAK;AAAC,kBAAM6D,KAAE7D,GAAE,cAAc,OAAO;AAAE,YAAA6D,KAAEA,GAAE,YAAUa,KAAEb,GAAE,YAAU7D,GAAE,QAAQwE,EAAC;AAAA,UAAC;AAAA,cAAM,CAAAxE,GAAE,OAAOwE,EAAC;AAAE,cAAEX,GAAE,WAAS,WAAS7D,GAAE,YAAUA,GAAE,aAAawE,IAAE,IAAI;AAAA,QAAC;AAAC,YAAEX,GAAE,YAAUW,GAAE,aAAW,KAAI,KAAG,EAAE,IAAI,CAAC;AAAA,MAAC;AAAA,IAAC,MAAM,CAAAxE,GAAE,mBAAmB,SAAS0E,EAAC,MAAI1E,GAAE,qBAAmB,CAAC,GAAGA,GAAE,oBAAmB0E,EAAC;AAAG,WAAO;AAAA,EAAC,GAAG,EAAE,aAAW,EAAE,aAAW,EAAE,YAAW,GAAGb,EAAC;AAAE,OAAGxC,MAAG,IAAEA,OAAI,EAAE,MAAM,IAAE,GAAE,EAAE,UAAU,IAAI,IAAE,IAAI;AAAM,GAAE,KAAG,CAACrB,IAAE6D,OAAI,QAAM7D,GAAE,WAAU,KAAG,CAACA,IAAE6D,IAAE,GAAExC,IAAE,GAAE,MAAI;AAAC,MAAG,MAAIA,IAAE;AAAC,QAAI,IAAE,GAAGrB,IAAE6D,EAAC,GAAE,IAAEA,GAAE,YAAW;AAAG,QAAG,YAAUA,IAAE;AAAC,YAAMA,KAAE7D,GAAE,WAAUyE,KAAE,GAAG,CAAC,GAAEC,KAAE,GAAGrD,EAAC;AAAE,MAAAwC,GAAE,OAAO,GAAGY,GAAE,QAAQ,CAAAzE,OAAGA,MAAG,CAAC0E,GAAE,SAAS1E,EAAC,EAAC,CAAE,GAAE6D,GAAE,IAAI,GAAGa,GAAE,QAAQ,CAAA1E,OAAGA,MAAG,CAACyE,GAAE,SAASzE,EAAC,EAAC,CAAE;AAAA,IAAC,WAAS,YAAU6D,IAAE;AAAC,iBAAUA,MAAK,EAAE,CAAAxC,MAAG,QAAMA,GAAEwC,EAAC,MAAIA,GAAE,SAAS,GAAG,IAAE7D,GAAE,MAAM,eAAe6D,EAAC,IAAE7D,GAAE,MAAM6D,EAAC,IAAE;AAAI,iBAAUA,MAAKxC,GAAE,MAAGA,GAAEwC,EAAC,MAAI,EAAEA,EAAC,MAAIA,GAAE,SAAS,GAAG,IAAE7D,GAAE,MAAM,YAAY6D,IAAExC,GAAEwC,EAAC,CAAC,IAAE7D,GAAE,MAAM6D,EAAC,IAAExC,GAAEwC,EAAC;AAAA,IAAE,WAAS,KAAG,QAAMA,GAAE,CAAC,KAAG,QAAMA,GAAE,CAAC,GAAE;AAAC,YAAMe,KAAE,GAAGvD,EAAC;AAAE,WAAI,KAAGuD,MAAG,SAAOvD,OAAI,CAAC,EAAE,KAAG;AAAC,YAAGrB,GAAE,QAAQ,SAAS,GAAG,EAAE,CAAAA,GAAE6D,EAAC,IAAExC;AAAA,aAAM;AAAC,gBAAMoD,KAAE,QAAMpD,KAAE,KAAGA;AAAE,qBAASwC,KAAE,IAAE,QAAG,QAAM,KAAG7D,GAAE6D,EAAC,KAAGY,OAAI,cAAY,OAAOzE,GAAE,iBAAiB6D,EAAC,IAAE7D,GAAE6D,EAAC,IAAEY,KAAEzE,GAAE,aAAa6D,IAAEY,EAAC;AAAA,QAAE;AAAA,MAAC,SAAOzE,IAAE;AAAA,MAAC;AAAC,cAAMqB,MAAG,UAAKA,KAAE,UAAKA,MAAG,OAAKrB,GAAE,aAAa6D,EAAC,KAAG7D,GAAE,gBAAgB6D,EAAC,KAAG,CAAC,KAAG,IAAE,KAAG,MAAI,CAACe,OAAIvD,KAAE,SAAKA,KAAE,KAAGA,IAAErB,GAAE,aAAa6D,IAAExC,EAAC;AAAA,IAAE,WAASwC,KAAE,QAAMA,GAAE,CAAC,IAAEA,GAAE,MAAM,CAAC,IAAE,GAAG,IAAG,CAAC,IAAE,EAAE,MAAM,CAAC,IAAE,EAAE,CAAC,IAAEA,GAAE,MAAM,CAAC,GAAE,KAAGxC,IAAE;AAAC,YAAMoD,KAAEZ,GAAE,SAAS,EAAE;AAAE,MAAAA,KAAEA,GAAE,QAAQ,IAAG,EAAE,GAAE,KAAG,GAAG,IAAI7D,IAAE6D,IAAE,GAAEY,EAAC,GAAEpD,MAAG,GAAG,IAAIrB,IAAE6D,IAAExC,IAAEoD,EAAC;AAAA,IAAC;AAAA,EAAC;AAAC,GAAE,KAAG,MAAK,KAAG,CAAAzE,OAAGA,KAAEA,GAAE,MAAM,EAAE,IAAE,CAAA,GAAG,KAAG,WAAU,KAAG,IAAI,OAAO,KAAG,GAAG,GAAE,KAAG,CAACA,IAAE6D,IAAE,MAAI;AAAC,QAAMxC,KAAE,OAAKwC,GAAE,MAAM,YAAUA,GAAE,MAAM,OAAKA,GAAE,MAAM,OAAKA,GAAE,OAAM,IAAE7D,MAAGA,GAAE,WAAS,IAAG,IAAE6D,GAAE,WAAS;AAAG,aAAU7D,MAAK,GAAG,OAAO,KAAK,CAAC,CAAC,EAAE,CAAAA,MAAK,KAAG,GAAGqB,IAAErB,IAAE,EAAEA,EAAC,GAAE,QAAO,GAAE6D,GAAE,OAAO;AAAE,aAAU7D,MAAK,GAAG,OAAO,KAAK,CAAC,CAAC,EAAE,IAAGqB,IAAErB,IAAE,EAAEA,EAAC,GAAE,EAAEA,EAAC,GAAE,GAAE6D,GAAE,OAAO;AAAC;AAAE,SAAS,GAAG7D,IAAE;AAAC,SAAOA,GAAE,SAAS,KAAK,IAAE,CAAC,GAAGA,GAAE,QAAQ,CAAAA,OAAG,UAAQA,GAAC,GAAG,KAAK,IAAEA;AAAC;AAAI,IAAO,KAAG,OAAG,KAAG,CAACA,IAAE6D,IAAE,GAAExC,OAAI;AAAC,QAAM,IAAEwC,GAAE,WAAW,CAAC;AAAE,MAAI,GAAE,GAAE,IAAE;AAAE,MAAG,SAAO,EAAE,OAAO,KAAE,EAAE,QAAM,GAAG,eAAe,EAAE,MAAM;AAAA,OAAM;AAAC,WAAK,KAAG,UAAQ,EAAE,QAAO,IAAE,EAAE,QAAM,GAAG,gBAAgB,KAAG,+BAA6B,gCAA8D,EAAE,KAAK,GAAE,MAAI,oBAAkB,EAAE,UAAQ,KAAG,QAAI,GAAG,MAAK,GAAE,EAAE;AAAE,QAAG,CAAC,CAAC,EAAE,YAAW,EAAG,cAAc,MAAM,KAAG,IAAoE,EAAE,WAAW,MAAI,IAAE,GAAE,IAAE,EAAE,WAAW,QAAO,EAAE,EAAE,KAAE,GAAG7D,IAAE,GAAE,CAAC,GAAE,KAAG,EAAE,YAAY,CAAC;AAAE,cAAQ,EAAE,QAAM,KAAG,QAAG,oBAAkB,EAAE,YAAU,KAAG;AAAA,EAAG;AAAC,SAAO,EAAE,MAAM,IAAE,IAAG;AAAC,GAAE,KAAG,CAACA,IAAE6D,IAAE,GAAExC,IAAE,GAAE,MAAI;AAAC,MAAI,GAAE,IAAErB;AAAE,OAAI,EAAE,cAAY,EAAE,YAAU,OAAK,IAAE,EAAE,aAAY,KAAG,GAAE,EAAE,EAAE,CAAAqB,GAAE,CAAC,MAAI,IAAE,GAAG,MAAK,GAAE,CAAC,GAAE,MAAIA,GAAE,CAAC,EAAE,QAAM,GAAE,GAAG,GAAE,GAAEwC,EAAC;AAAG,GAAE,KAAG,CAAC7D,IAAE6D,IAAE,MAAI;AAAC,WAAQxC,KAAEwC,IAAExC,MAAG,GAAE,EAAEA,IAAE;AAAC,UAAMwC,KAAE7D,GAAEqB,EAAC;AAAE,QAAGwC,IAAE;AAAC,YAAM7D,KAAE6D,GAAE;AAAM,MAAA7D,MAAGA,GAAE,OAAM;AAAA,IAAE;AAAA,EAAC;AAAC,GAAE,KAAG,CAACA,IAAE6D,IAAE,IAAE,UAAK7D,GAAE,UAAQ6D,GAAE,OAAM,KAAG,CAAC7D,IAAE6D,IAAE,IAAE,UAAK;AAAC,QAAMxC,KAAEwC,GAAE,QAAM7D,GAAE,OAAM,IAAEA,GAAE,YAAW,IAAE6D,GAAE,YAAW,IAAEA,GAAE,OAAM,IAAEA,GAAE;AAAO,WAAO,KAAG,GAAG7D,IAAE6D,IAAE,KAAG,UAAQ,KAAG,oBAAkB,KAAG,EAAE,GAAE,SAAO,KAAG,SAAO,KAAG,CAAC7D,IAAE6D,IAAEW,IAAEnD,IAAEoD,KAAE,UAAK;AAAC,QAAIC,IAAEC,KAAE,GAAEC,KAAE,GAAExD,KAAEyC,GAAE,SAAO,GAAEjB,KAAEiB,GAAE,CAAC,GAAEjD,KAAEiD,GAAEzC,EAAC,GAAEkD,KAAEjD,GAAE,SAAO,GAAEV,KAAEU,GAAE,CAAC,GAAEkD,KAAElD,GAAEiD,EAAC;AAAE,WAAKK,MAAGvD,MAAGwD,MAAGN,KAAG,SAAM1B,KAAEA,KAAEiB,GAAE,EAAEc,EAAC,IAAE,QAAM/D,KAAEA,KAAEiD,GAAE,EAAEzC,EAAC,IAAE,QAAMT,KAAEA,KAAEU,GAAE,EAAEuD,EAAC,IAAE,QAAML,KAAEA,KAAElD,GAAE,EAAEiD,EAAC,IAAE,GAAG1B,IAAEjC,IAAE8D,EAAC,KAAG,GAAG7B,IAAEjC,IAAE8D,EAAC,GAAE7B,KAAEiB,GAAE,EAAEc,EAAC,GAAEhE,KAAEU,GAAE,EAAEuD,EAAC,KAAG,GAAGhE,IAAE2D,IAAEE,EAAC,KAAG,GAAG7D,IAAE2D,IAAEE,EAAC,GAAE7D,KAAEiD,GAAE,EAAEzC,EAAC,GAAEmD,KAAElD,GAAE,EAAEiD,EAAC,KAAG,GAAG1B,IAAE2B,IAAEE,EAAC,KAAG,GAAG7B,IAAE2B,IAAEE,EAAC,GAAE,GAAGzE,IAAE4C,GAAE,OAAMhC,GAAE,MAAM,WAAW,GAAEgC,KAAEiB,GAAE,EAAEc,EAAC,GAAEJ,KAAElD,GAAE,EAAEiD,EAAC,KAAG,GAAG1D,IAAED,IAAE8D,EAAC,KAAG,GAAG7D,IAAED,IAAE8D,EAAC,GAAE,GAAGzE,IAAEY,GAAE,OAAMgC,GAAE,KAAK,GAAEhC,KAAEiD,GAAE,EAAEzC,EAAC,GAAET,KAAEU,GAAE,EAAEuD,EAAC,MAAIF,KAAE,GAAGb,MAAGA,GAAEe,EAAC,GAAEJ,IAAEI,EAAC,GAAEjE,KAAEU,GAAE,EAAEuD,EAAC,GAAEF,MAAG,GAAG9B,GAAE,MAAM,YAAW8B,IAAE9B,GAAE,KAAK;AAAG,IAAA+B,KAAEvD,KAAE,GAAGpB,IAAE,QAAMqB,GAAEiD,KAAE,CAAC,IAAE,OAAKjD,GAAEiD,KAAE,CAAC,EAAE,OAAME,IAAEnD,IAAEuD,IAAEN,EAAC,IAAEM,KAAEN,MAAG,GAAGT,IAAEc,IAAEvD,EAAC;AAAA,EAAC,GAAGC,IAAE,GAAEwC,IAAE,GAAE,CAAC,IAAE,SAAO,KAAG,SAAO7D,GAAE,WAASqB,GAAE,cAAY,KAAI,GAAGA,IAAE,MAAKwC,IAAE,GAAE,GAAE,EAAE,SAAO,CAAC,KAAG,CAAC,KAAG,MAAI,SAAO,KAAG,GAAG,GAAE,GAAE,EAAE,SAAO,CAAC,GAAE,MAAI,UAAQ,MAAI,KAAG,UAAK7D,GAAE,WAAS,MAAIqB,GAAE,OAAK;AAAE,GAAE,KAAG,CAACrB,IAAE6D,IAAE,MAAI,QAAM7D,KAAE,SAAOA,GAAE,aAAa6D,IAAE,CAAC,GAAE,KAAG,CAAC7D,IAAE6D,IAAE,IAAE,UAAK;AAAC,QAAMxC,KAAErB,GAAE,eAAc,IAAEA,GAAE,WAAU,IAAEA,GAAE,WAAS,GAAG,MAAK,IAAI,GAAE,KAAG,IAAE6D,OAAI,EAAE,UAAQ,KAAGA,KAAE,GAAG,MAAK,MAAKA,EAAC;AAAE,MAAI;AAAE,MAAG,KAAGxC,GAAE,SAAQ,KAAG,EAAE,QAAQ,YAAUrB,MAAK,OAAO,KAAK,EAAE,OAAO,EAAE,CAAAqB,GAAE,aAAarB,EAAC,KAAG,CAAC,CAAC,OAAM,OAAM,SAAQ,OAAO,EAAE,SAASA,EAAC,MAAI,EAAE,QAAQA,EAAC,IAAEqB,GAAErB,EAAC;AAAG,IAAE,QAAM,MAAK,EAAE,WAAS,GAAEA,GAAE,UAAQ,GAAE,EAAE,QAAM,EAAE,QAAMqB,GAAE,cAAYA,IAAKA,GAAE,MAAM,GAAK,MAAI,IAAE,EAAE,UAAS,GAAG,GAAE,GAAE,CAAC;AAAC,GAAE,KAAG,CAACrB,IAAE6D,OAAI;AAAC,EAAAA,MAAG,CAAC7D,GAAE,qBAAmB6D,GAAE,KAAK,KAAGA,GAAE,KAAK,EAAE,KAAK,IAAI,SAAS,CAAAA,OAAG7D,GAAE,oBAAkB6D,GAAC,CAAE;AAAC,GAAE,KAAG,CAAC7D,IAAE6D,OAAI;AAAC,MAAG7D,GAAE,WAAS,IAAG,IAAEA,GAAE,QAAQ,QAAO,MAAKA,GAAE,WAAS;AAAK,KAAGA,IAAEA,GAAE,mBAAmB;AAAE,SAAO,IAAI,MAAI,GAAGA,IAAE6D,EAAC,EAAC;AAAE,GAAE,KAAG,CAAC7D,IAAE6D,OAAI;AAAM,QAAC,IAAE7D,GAAE;AAAgB,EAACA,GAAE,UAAU,WAAU,MAAI;AAAA,EAAC;AAAE,QAAC,IAAEA,GAAE;AAAe,MAAG,CAAC,EAAE,OAAM,IAAI,MAAM,2BAA2B,EAAE,QAAQ,YAAW,CAAE,yNAAyN;AAAE,SAAW,GAAG,SAAW,MAAI,GAAGA,IAAE,GAAE6D,EAAC;AAAG,GAAE,KAAG,CAAC7D,IAAE6D,OAAI,GAAG7D,EAAC,IAAEA,GAAE,KAAK6D,EAAC,EAAE,OAAO,CAAA7D,OAAG;AAAC,UAAQ,MAAMA,EAAC,GAAE6D,GAAC;AAAE,MAAIA,GAAC,GAAG,KAAG,CAAA7D,OAAGA,cAAa,WAASA,MAAGA,GAAE,QAAM,cAAY,OAAOA,GAAE,MAAK,KAAG,OAAMA,IAAE6D,IAAE,MAAI;AAAC,MAAIxC;AAAO,QAAC,IAAErB,GAAE;AAAgB,EAACA,GAAE,UAAU,WAAU,MAAI;AAAA,EAAC;QAAG,IAAE,EAAE,MAAM;AAAE,OAAG,GAAGA,EAAC;AAAU,EAACA,GAAE,UAAU,WAAU,MAAI;AAAA,EAAC;AAAG,KAAGA,IAAE6D,IAAE,GAAE,CAAC,GAAE,MAAI,EAAE,KAAK,CAAA7D,OAAGA,GAAC,KAAK,EAAE,MAAM,IAAE;AAAgB;AAAC,UAAM6D,KAAE,SAAOxC,KAAE,EAAE,KAAK,KAAGA,KAAE,CAAA,GAAGmD,KAAE,MAAI,GAAGxE,EAAC;AAAE,UAAI6D,GAAE,SAAOW,GAAC,KAAI,QAAQ,IAAIX,EAAC,EAAE,KAAKW,EAAC,GAAExE,GAAE,WAAS,GAAE6D,GAAE,SAAO;AAAA,EAAE;AAAC,GAAE,KAAG,CAAC7D,IAAE6D,IAAE,GAAExC,OAAI;AAAC,MAAG;AAAC,IAAAwC,KAAEA,GAAE,OAAM,GAAG7D,GAAE,WAAS,KAAIA,GAAE,WAAS,GAAE,GAAGA,IAAE6D,IAAExC,EAAC;AAAA,EAAC,SAAOwC,IAAE;AAAC,OAAGA,IAAE7D,GAAE,aAAa;AAAA,EAAC;AAAC,SAAO;AAAI,GAAE,KAAG,CAAAA,OAAG;AAAC,EAAAA,GAAE,UAAU;AAAU,QAAM6D,KAAE7D,GAAE,eAAc,IAAE,MAAI;AAAA,EAAC,GAAEqB,KAAErB,GAAE,gBAAe,IAAEA,GAAE;AAAoB,OAAGA,GAAE,UAAQ,EAAC,KAAIA,GAAE,WAAS,IAAG,GAAG6D,EAAC,GAAE,GAAGxC,IAAE,kBAAkB,GAAMrB,GAAE,iBAAiB6D,EAAC,GAAE,KAAG,OAAM7D,GAAE,sBAAoBA,GAAE,qBAAoBA,GAAE,oBAAkB,SAAQ,MAAIA,GAAE,WAAS,IAAI,MAAI,GAAGA,IAAE,KAAE,EAAC,GAAGA,GAAE,WAAS;AAAI,GAAE,KAAG,CAAAA,OAAG;AAAC,KAAG,GAAG,eAAe,GAAE,IAAI,MAAI,GAAG,IAAG,WAAU,EAAC,QAAO,EAAC,WAAU,wBAAuB,EAAC,CAAC,EAAC;AAAE,GAAE,KAAG,CAACA,IAAE6D,IAAE,MAAI;AAAC,MAAG7D,MAAGA,GAAE6D,EAAC,EAAE,KAAG;AAAC,WAAO7D,GAAE6D,EAAC,EAAE,CAAC;AAAA,EAAC,SAAO7D,IAAE;AAAC,OAAGA,EAAC;AAAA,EAAC;AAAC,GAAE,KAAG,CAAAA,OAAG;AAAC,MAAI6D;AAAE,SAAO7D,GAAE,UAAU,IAAI,SAAO6D,KAAE,MAAIA,KAAE,UAAU;AAAC,GAAE,KAAG,CAAC7D,IAAE6D,IAAE,GAAExC,OAAI;AAAC,QAAM,IAAE,GAAGrB,EAAC;AAAE,MAAG,CAAC,EAAE,OAAM,IAAI,MAAM,mCAAmCqB,GAAE,SAAS,+YAA+Y;AAAE,QAAM,IAAE,EAAE,eAAc,IAAE,EAAE,iBAAiB,IAAIwC,EAAC,GAAE,IAAE,EAAE,SAAQzC,KAAE,EAAE;AAAe,MAAIwB,IAAEhC;AAAE,EAAAgC,KAAE,GAAEhC,KAAES,GAAE,UAAUwC,EAAC,EAAE,CAAC,GAAE,IAAE,QAAMjB,MAAG,GAAGA,EAAC,IAAEA,KAAE,IAAEhC,KAAE,YAAUgC,OAAI,OAAKA,MAAG,CAAC,CAACA,MAAG,IAAEhC,KAAE,OAAOgC,EAAC,IAAEA;AAAE,QAAM0B,KAAE,OAAO,MAAM,CAAC,KAAG,OAAO,MAAM,CAAC;AAAE,OAAI,EAAE,IAAE,MAAI,WAAS,OAAK,MAAI,KAAG,CAACA,QAAK,EAAE,iBAAiB,IAAIT,IAAE,CAAC,GAAEzC,KAAG;AAAC,QAAGC,GAAE,cAAY,MAAI,GAAE;AAAC,YAAMrB,KAAEqB,GAAE,WAAWwC,EAAC;AAAE,MAAA7D,MAAGA,GAAE,KAAK,CAAAA,OAAG;AAAC,YAAG;AAAC,UAAAoB,GAAEpB,EAAC,EAAE,GAAE,GAAE6D,EAAC;AAAA,QAAC,SAAO7D,KAAE;AAAC,aAAGA,KAAE,CAAC;AAAA,QAAC;AAAA,MAAC,EAAC;AAAA,IAAE;AAAC,UAAI,KAAG,MAAI,GAAG,GAAE,KAAE;AAAA,EAAC;AAAC,GAAE,KAAG,CAACA,IAAE6D,IAAE,MAAI;AAAC,MAAIxC,IAAE;AAAE,QAAM,IAAErB,GAAE;AAAU,MAAG6D,GAAE,aAAWA,GAAE,cAAY7D,GAAE,UAAS;AAAC,IAAAA,GAAE,YAAU,CAAC6D,GAAE,eAAaA,GAAE,aAAW7D,GAAE;AAAU,UAAM,IAAE,OAAO,QAAQ,SAAOqB,KAAEwC,GAAE,aAAWxC,KAAE,CAAA,CAAE;AAAE,QAAG,EAAE,KAAK,CAAC,CAACrB,IAAE,CAACqB,EAAC,CAAC,MAAI;AAAC,OAAC,KAAGA,MAAG,IAAE,KAAG,KAAGA,OAAI,OAAO,eAAe,GAAErB,IAAE,EAAC,MAAK;AAAC,eAAO6D,KAAE7D,IAAE,GAAG,IAAI,EAAE,iBAAiB,IAAI6D,EAAC;AAAE,YAAIA;AAAA,MAAC,GAAE,IAAIW,IAAE;AAAC,WAAG,MAAKxE,IAAEwE,IAAEX,EAAC;AAAA,MAAC,GAAE,cAAa,MAAG,YAAW,KAAE,CAAC;AAAA,IAAC,EAAC,GAAG,IAAE,GAAE;AAAC,YAAMW,KAAE,oBAAI;AAAI,QAAE,2BAAyB,SAASxE,IAAEqB,IAAEoD,IAAE;AAAC,WAAG,KAAK,MAAI;AAAC,cAAIE;AAAE,gBAAM,IAAEH,GAAE,IAAIxE,EAAC;AAAE,cAAG,KAAK,eAAe,CAAC,EAAE,CAAAyE,KAAE,KAAK,CAAC,GAAE,OAAO,KAAK,CAAC;AAAA,eAAM;AAAC,gBAAG,EAAE,eAAe,CAAC,KAAG,YAAU,OAAO,KAAK,CAAC,KAAG,KAAK,CAAC,KAAGA,GAAE;AAAO,gBAAG,QAAM,GAAE;AAAC,oBAAMD,KAAE,GAAG,IAAI,GAAEE,KAAE,QAAMF,KAAE,SAAOA,GAAE;AAAQ,kBAAGE,MAAG,EAAE,IAAEA,OAAI,MAAIA,MAAGD,OAAIpD,IAAE;AAAC,sBAAMqD,KAAEF,GAAE,gBAAeI,KAAE,SAAOD,KAAEd,GAAE,cAAY,SAAOc,GAAE3E,EAAC;AAAE,wBAAM4E,MAAGA,GAAE,SAAS,CAAAf,OAAG;AAAC,0BAAMa,GAAEb,EAAC,KAAGa,GAAEb,EAAC,EAAE,KAAKa,IAAED,IAAEpD,IAAErB,EAAC;AAAA,gBAAC;cAAG;AAAC;AAAA,YAAM;AAAA,UAAC;AAAC,eAAK,CAAC,KAAG,SAAOyE,MAAG,aAAW,OAAO,KAAK,CAAC,MAAIA;AAAA,QAAC,EAAC;AAAA,MAAE,GAAEzE,GAAE,qBAAmB,MAAM,KAAK,oBAAI,IAAI,CAAC,GAAG,OAAO,KAAK,SAAO,IAAE6D,GAAE,cAAY,IAAE,CAAA,CAAE,GAAE,GAAG,EAAE,QAAQ,CAAC,CAAC7D,IAAE6D,EAAC,MAAI,KAAGA,GAAE,CAAC,EAAC,EAAG,KAAK,CAAC,CAAC7D,IAAE6D,EAAC,MAAI;AAAC,cAAMxC,KAAEwC,GAAE,CAAC,KAAG7D;AAAE,eAAOwE,GAAE,IAAInD,IAAErB,EAAC,GAAEqB;AAAA,MAAC,EAAC,CAAE,CAAC,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC,SAAOrB;AAAC,GAAE,KAAG,OAAMA,IAAE6D,IAAE,GAAExC,OAAI;AAAC,MAAI;AAAE,MAAG,MAAI,KAAGwC,GAAE,UAAS;AAAC,IAAAA,GAAE,WAAS;AAAG,QAAG,EAAE,gBAAe;AAAC,YAAM7D,MAAG,CAACA,IAAE6D,IAAEW,OAAI;AAAC,cAAMnD,KAAErB,GAAE,UAAU,QAAQ,MAAK,GAAG,GAAEyE,KAAEzE,GAAE;AAAe,YAAG,CAACyE,GAAE;AAAO,cAAMC,KAAE,GAAG,IAAID,EAAC;AAAE,YAAGC,GAAE,QAAOA,GAAErD,EAAC;AAAE;AAAC,gBAAMrB,MAAE,CAAAA,SAAI,GAAG,IAAIyE,IAAEzE,GAAC,GAAEA,IAAEqB,EAAC;AAAG,cAAG,yBAAuBoD,GAAE,QAAO,QAAQ,QAAO,EAAG,MAAM,WAAU;AAAC,mBAAO;AAAA,UAAE,EAAC,EAAG,KAAKzE,KAAE,EAAE;AAAA,QAAC;AAAC,eAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAK787Z,KAAKyE,EAAC;AAAA,UAAa,MAAM,CAAAzE,SAAI,GAAG,IAAIyE,IAAEzE,GAAC,GAAEA,IAAEqB,EAAC,KAAI,EAAE;AAAA,MAAC,GAAG,CAAC;AAAE,UAAGrB,MAAG,UAASA,IAAE;AAAgB,YAAE,MAAMA;AAAA,MAAK,MAAM,KAAEA;AAAE,UAAG,CAAC,EAAE,OAAM,IAAI,MAAM,oBAAoB,EAAE,SAAS,IAAI6D,GAAE,UAAU,iBAAiB;AAAE,QAAE,cAAY,EAAE,aAAW,EAAE,UAAS,GAAG,GAAE,GAAE,CAAC,GAAE,EAAE,YAAU;AAAY,MAAC,EAAE,WAAU,MAAI;AAAA,MAAC;AAAG,MAAAA,GAAE,WAAS;AAAE,UAAG;AAAC,YAAI,EAAEA,EAAC;AAAA,MAAC,SAAO7D,IAAE;AAAC,WAAGA,EAAC;AAAA,MAAC;AAAC,MAAA6D,GAAE,WAAS,IAAGA,GAAE,WAAS,KAAQ,GAAGA,GAAE,cAAc;AAAA,IAAC,OAAK;AAAC,UAAE7D,GAAE;AAAY,YAAMwE,KAAExE,GAAE;AAAU,qBAAe,YAAYwE,EAAC,EAAE,MAAM,MAAIX,GAAE,WAAS,IAAG;AAAA,IAAE;AAAC,QAAG,KAAG,EAAE,OAAM;AAAC,UAAI7D;AAAE,kBAAU,OAAO,EAAE,UAAQA,KAAE,EAAE;AAAO,YAAM6D,KAAE,GAAG,CAAC;AAAE,UAAG,CAAC,GAAG,IAAIA,EAAC,GAAE;AAAS,QAAC,EAAE,WAAU,MAAI;AAAA,QAAC;AAAG,SAAC,CAAC7D,IAAE6D,IAAEW,OAAI;AAAC,cAAInD,KAAE,GAAG,IAAIrB,EAAC;AAAE,gBAAIwE,MAAGnD,KAAEA,MAAG,IAAI,iBAAc,YAAU,OAAOA,KAAEA,KAAEwC,KAAExC,GAAE,YAAYwC,EAAC,KAAGxC,KAAEwC,IAAE,GAAG,IAAI7D,IAAEqB,EAAC;AAAA,QAAC,GAAGwC,IAAE7D,IAAE,CAAC,EAAE,IAAE,EAAE,QAAQ;AAAA,MAAK;AAAA,IAAC;AAAA,EAAC;AAAC,QAAM,IAAE6D,GAAE,qBAAoB,IAAE,MAAI,GAAGA,IAAE,IAAE;AAAE,OAAG,EAAE,MAAM,IAAE,EAAE,MAAM,EAAE,KAAK,CAAC,IAAE,EAAC;AAAE,GAAE,KAAG,CAAA7D,OAAG;AAAC,KAAGA,IAAE,mBAAmB;AAAC,GAAE,KAAG,CAAAA,OAAG;AAAC,KAAGA,IAAE,sBAAsB;AAAC,GAAE,KAAG,CAACA,IAAE6D,KAAE,CAAA,MAAK;AAAC,MAAI;AAAO,QAAU,IAAE,CAAA,GAAG,IAAEA,GAAE,WAAS,CAAA,GAAG,IAAE,GAAG,gBAAe,IAAE,GAAG,MAAKzC,KAAE,EAAE,cAAc,eAAe,GAAEwB,KAAE,GAAG,cAAc,OAAO,GAAEhC,KAAE;AAAG,MAAI0D,IAAE3D,KAAE;AAAG,SAAO,OAAO,IAAGkD,EAAC,GAAE,GAAG,iBAAe,IAAI,IAAIA,GAAE,gBAAc,MAAK,GAAG,OAAO,EAAE;AAAK,MAAIU,KAAE;AAAG,MAAGvE,GAAE,KAAK,CAAAA,OAAG;AAAC,IAAAA,GAAE,CAAC,EAAE,KAAK,CAAA6D,OAAG;AAAC,UAAIW;AAAE,YAAMnD,KAAE,EAAC,SAAQwC,GAAE,CAAC,GAAE,WAAUA,GAAE,CAAC,GAAE,WAAUA,GAAE,CAAC,GAAE,aAAYA,GAAE,CAAC,EAAC;AAAE,UAAExC,GAAE,YAAUkD,KAAE,OAAIlD,GAAE,YAAUwC,GAAE,CAAC,GAAExC,GAAE,aAAW,SAAOmD,KAAEX,GAAE,CAAC,KAAGW,KAAE,CAAA;AAAG,YAAMI,KAAEvD,GAAE,WAAUD,KAAE,cAAc,YAAW;AAAA,QAAC,YAAYpB,IAAE;AAAC,cAAG,MAAMA,EAAC,GAAE,KAAK,8BAA4B,QAAI,CAACA,KAAE6D,OAAI;AAAC,kBAAMW,KAAE,EAAC,SAAQ,GAAE,eAAcxE,KAAE,WAAU6D,IAAE,kBAAiB,oBAAI,MAAG;AAAE,YAAAW,GAAE,mBAAiB,IAAI,SAAS,CAAAxE,QAAGwE,GAAE,mBAAiBxE,IAAC,GAAGA,IAAE,KAAK,IAAE,CAAA,GAAGA,IAAE,MAAM,IAAE,CAAA,GAAG,GAAG,IAAIA,KAAEwE,EAAC;AAAA,UAAC,GAAGxE,KAAE,MAAKqB,EAAC,GAAE,IAAEA,GAAE,QAAQ,KAAGrB,GAAE,YAAW;AAAC,gBAAG,WAASA,GAAE,WAAW,KAAK,OAAM,IAAI,MAAM,6CAA6CqB,GAAE,SAAS,oBAAoBrB,GAAE,WAAW,IAAI,+CAA+C;AAAA,UAAC,MAAM,CAAAA,GAAE,aAAa,EAAC,MAAK,OAAM,CAAC;AAAA,QAAC;AAAA,QAAC,oBAAmB;AAAC,aAAG,IAAI,GAAE,KAAK,gCAA8B,KAAK,8BAA4B,OAAIsE,OAAI,aAAaA,EAAC,GAAEA,KAAE,OAAM3D,KAAEC,GAAE,KAAK,IAAI,IAAE,GAAG,KAAK,OAAK,CAAAZ,OAAG;AAAC,gBAAG,MAAI,IAAE,GAAG,UAAS;AAAM,oBAAC6D,KAAE,GAAG7D,EAAC,GAAEwE,KAAEX,GAAE;AAAY,cAACW,GAAE,WAAU,MAAI;AAAA,cAAC;AAAG,kBAAG,IAAEX,GAAE,QAAQ,EAAC,QAAMA,KAAE,SAAOA,GAAE,kBAAgB,GAAGA,GAAE,cAAc,KAAG,QAAMA,KAAE,SAAOA,GAAE,qBAAmBA,GAAE,iBAAiB,MAAM,MAAI,GAAGA,GAAE,cAAc;mBAAQ;AAAC,gBAAAA,GAAE,WAAS;AAAE;AAAC,sBAAIW,KAAExE;AAAE,yBAAKwE,KAAEA,GAAE,cAAYA,GAAE,OAAM,KAAGA,GAAE,KAAK,GAAE;AAAC,uBAAGX,IAAEA,GAAE,sBAAoBW,EAAC;AAAE;AAAA,kBAAK;AAAA,gBAAC;AAAC,gBAAAA,GAAE,aAAW,OAAO,QAAQA,GAAE,SAAS,EAAE,KAAK,CAAC,CAACX,IAAE,CAACW,EAAC,CAAC,MAAI;AAAC,sBAAG,KAAGA,MAAGxE,GAAE,eAAe6D,EAAC,GAAE;AAAC,0BAAMW,KAAExE,GAAE6D,EAAC;AAAE,2BAAO7D,GAAE6D,EAAC,GAAE7D,GAAE6D,EAAC,IAAEW;AAAA,kBAAC;AAAA,gBAAC,EAAC,GAAG,GAAGxE,IAAE6D,IAAEW,EAAC;AAAA,cAAC;AAAA,YAAI;AAAA,UAAC,GAAG,IAAI,EAAC;AAAA,QAAE;AAAA,QAAC,uBAAsB;AAAC,aAAG,KAAK,OAAK,OAAMxE,OAAG;AAAC,gBAAG,MAAI,IAAE,GAAG,UAAS;AAAC,oBAAM6D,KAAE,GAAG7D,EAAC;AAAE,eAAC,QAAM6D,KAAE,SAAOA,GAAE,kBAAgB,GAAGA,GAAE,cAAc,KAAG,QAAMA,KAAE,SAAOA,GAAE,qBAAmBA,GAAE,iBAAiB,MAAM,MAAI,GAAGA,GAAE,cAAc,EAAC;AAAA,YAAE;AAAA,UAAC,GAAG,IAAI,EAAC;AAAA,QAAE;AAAA,QAAC,mBAAkB;AAAC,iBAAO,GAAG,IAAI,EAAE;AAAA,QAAgB;AAAA,MAAC;AAAE,MAAAxC,GAAE,iBAAerB,GAAE,CAAC,GAAE,EAAE,SAAS4E,EAAC,KAAG,EAAE,IAAIA,EAAC,MAAI,EAAE,KAAKA,EAAC,GAAE,EAAE,OAAOA,IAAE,GAAGxD,IAAEC,IAAE,CAAC,CAAC;AAAA,IAAE,EAAC;AAAA,EAAE,EAAC,GAAG,EAAE,SAAO,MAAIkD,OAAI3B,GAAE,eAAa,KAAIA,GAAE,eAAa,EAAE,KAAI,IAAG,oDAAmDA,GAAE,UAAU,SAAQ;AAAC,IAAAA,GAAE,aAAa,eAAc,EAAE;AAAE,UAAM5C,KAAE,SAAO,IAAE,GAAG,WAAS,IAAE,GAAG,EAAE;AAAE,YAAMA,MAAG4C,GAAE,aAAa,SAAQ5C,EAAC,GAAE,EAAE,aAAa4C,IAAExB,KAAEA,GAAE,cAAY,EAAE,UAAU;AAAA,EAAC;AAAC,EAAAT,KAAE,OAAGC,GAAE,SAAOA,GAAE,KAAK,CAAAZ,OAAGA,GAAE,kBAAiB,MAAK,GAAG,KAAK,MAAIsE,KAAE,WAAW,IAAG,EAAE,EAAC;AAAM;AAAE,EAAC,WAAU;AAAC,MAAG,eAAa,OAAO,UAAQ,WAAS,OAAO,WAAS,WAAS,OAAO,gBAAe;AAAC,QAAItE,KAAE;AAAY,WAAO,cAAY,WAAU;AAAC,aAAO,QAAQ,UAAUA,IAAE,CAAA,GAAG,KAAK,WAAW;AAAA,IAAC,GAAE,YAAY,YAAUA,GAAE,WAAU,YAAY,UAAU,cAAY,aAAY,OAAO,eAAe,aAAYA,EAAC;AAAA,EAAC;AAAC,GAAC;AAAG,IAAI,KAAG,OAAO,OAAO,EAAC,WAAU,MAAK,sBAAqB,OAAMA,IAAE6D,OAAI;AAAC,MAAG,eAAa,OAAO,OAAO,QAAO,MAAM,QAAO,GAAG,CAAC,CAAC,sBAAqB,CAAC,CAAC,GAAE,oBAAmB,EAAC,MAAK,CAAC,CAAC,GAAE,YAAW,CAAC,GAAE,aAAa,GAAE,eAAc,CAAC,GAAE,gBAAgB,GAAE,KAAI,CAAC,EAAE,GAAE,cAAa,CAAC,EAAE,GAAE,oBAAmB,CAAC,EAAE,EAAC,GAAE,MAAK,EAAC,eAAc,CAAC,qBAAqB,EAAC,CAAC,GAAE,CAAC,GAAE,oBAAmB,EAAC,YAAW,CAAC,GAAE,eAAe,GAAE,YAAW,CAAC,GAAE,aAAa,GAAE,SAAQ,CAAC,GAAE,UAAU,GAAE,oBAAmB,CAAC,EAAE,EAAC,CAAC,GAAE,CAAC,GAAE,mBAAkB,EAAC,MAAK,CAAC,CAAC,GAAE,YAAW,CAAC,GAAE,aAAa,GAAE,eAAc,CAAC,GAAE,gBAAgB,GAAE,KAAI,CAAC,EAAE,GAAE,cAAa,CAAC,EAAE,GAAE,oBAAmB,CAAC,EAAE,EAAC,GAAE,MAAK,EAAC,eAAc,CAAC,qBAAqB,EAAC,CAAC,CAAC,CAAC,CAAC,GAAEA,EAAC;AAAC,GAAE,UAAS,CAAA7D,OAAG,GAAG,UAAQA,GAAC,CAAC;AAAE,MAAM,KAAG,EAAC,YAAW,qBAAoB,GAAE,KAAG,CAAC,EAAC,WAAUA,GAAC,GAAE6D,OAAI,GAAG,OAAM,EAAC,OAAM,IAAG,OAAM7D,GAAC,GAAE6D,EAAC,GAAE,KAAG,CAAC,EAAC,MAAK7D,IAAE,MAAK6D,GAAC,MAAI,GAAG,OAAM,EAAC,OAAM,iBAAgB,OAAM,EAAC,SAAQ,KAAI,eAAc,MAAK,EAAC,GAAE,GAAG,OAAM,EAAC,OAAM,YAAW,GAAE,GAAG7D,IAAE,IAAI,CAAC,GAAE,GAAG,OAAM,EAAC,OAAM,aAAY,GAAE,GAAG,QAAO,EAAC,OAAM,EAAC,YAAW,KAAI,OAAM,QAAO,EAAC,GAAE6D,EAAC,CAAC,CAAC,GAAE,KAAG,MAAI,GAAG,OAAM,EAAC,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,MAAK,QAAO,OAAM,6BAA4B,GAAE,GAAG,QAAO,EAAC,GAAE,kRAAiR,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,sfAAqf,MAAK,UAAS,CAAC,CAAC,GAAE,KAAG,MAAI,GAAG,OAAM,EAAC,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,MAAK,QAAO,OAAM,6BAA4B,GAAE,GAAG,QAAO,EAAC,GAAE,mWAAkW,MAAK,UAAS,CAAC,CAAC,GAAE,KAAG,MAAI,GAAG,OAAM,EAAC,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,MAAK,QAAO,OAAM,6BAA4B,GAAE,GAAG,QAAO,EAAC,GAAE,yeAAwe,MAAK,UAAS,CAAC,CAAC,GAAE,KAAG,MAAI,GAAG,OAAM,EAAC,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,MAAK,QAAO,OAAM,6BAA4B,GAAE,GAAG,QAAO,EAAC,GAAE,wOAAuO,QAAO,SAAQ,gBAAe,OAAM,kBAAiB,SAAQ,mBAAkB,QAAO,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,eAAc,QAAO,SAAQ,gBAAe,OAAM,kBAAiB,SAAQ,mBAAkB,QAAO,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,oDAAmD,QAAO,SAAQ,gBAAe,OAAM,kBAAiB,SAAQ,mBAAkB,QAAO,CAAC,CAAC;AAAE,SAAS,GAAG,EAAC,SAAQ7D,GAAC,GAAE;AAAC,SAAO,GAAG,OAAM,EAAC,OAAM,EAAC,WAAU,UAAS,OAAM,WAAU,UAAS,KAAI,EAAC,GAAE,gBAAeA,KAAE,IAAIA,EAAC,KAAG,SAAS;AAAC;AAAC,MAAM,KAAG,MAAI,GAAG,OAAM,EAAC,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,MAAK,QAAO,OAAM,6BAA4B,GAAE,GAAG,QAAO,EAAC,OAAM,MAAK,QAAO,MAAK,MAAK,QAAO,CAAC,GAAE,GAAG,QAAO,EAAC,aAAY,WAAU,aAAY,WAAU,GAAE,yfAAwf,MAAK,UAAS,CAAC,CAAC,GAAE,KAAG,MAAI,GAAG,OAAM,EAAC,OAAM,OAAM,OAAM,8BAA6B,MAAK,QAAO,SAAQ,aAAY,GAAE,GAAG,QAAO,EAAC,MAAK,gBAAe,GAAE,spEAAqpE,CAAC,CAAC;AAAE,SAAS,GAAGA,IAAE6D,IAAE;AAAC,SAAO7D,GAAE,SAAS,CAAC,EAAE,SAAS6D,IAAE,GAAG;AAAC;AAAC,SAAS,GAAG7D,IAAE6D,IAAE;AAAC,QAAM,IAAE7D,KAAE6D;AAAE,SAAO,KAAG,IAAE,IAAEA,KAAE;AAAC;AAAC,SAAS,GAAG7D,IAAE6D,IAAE;AAAC,SAAO,IAAI,MAAM7D,EAAC,EAAE,KAAK6D,EAAC;AAAC;AAAC,SAAS,MAAM7D,IAAE;AAAC,MAAI6D,KAAE;AAAE,aAAUW,MAAKxE,GAAE,CAAA6D,KAAE,KAAK,IAAIA,IAAEW,GAAE,MAAM;AAAE,QAAM,IAAE,CAAA;AAAG,WAAQnD,KAAE,GAAEA,KAAEwC,IAAExC,KAAI,YAAUwC,MAAK7D,GAAE,CAAAqB,MAAGwC,GAAE,UAAQ,EAAE,KAAKA,GAAExC,EAAC,CAAC;AAAE,SAAO,IAAI,WAAW,CAAC;AAAC;AAAC,SAAS,GAAGrB,IAAE6D,IAAE,GAAE;AAAC,MAAG,IAAE,KAAG,IAAEA,GAAE,SAAO7D,GAAE,OAAO,QAAM;AAAG,WAAQqB,KAAE,GAAEA,KAAEwC,GAAE,QAAOxC,KAAI,KAAGwC,GAAExC,EAAC,MAAIrB,GAAE,IAAEqB,EAAC,EAAE,QAAM;AAAG,SAAM;AAAE;AAAC,SAAS,GAAGrB,IAAE;AAAC,SAAM,EAAC,KAAI,CAAA6D,OAAG7D,GAAE,SAAS6D,EAAC,GAAE,QAAO,CAAAA,OAAG;AAAC,QAAG,CAAC,MAAM,QAAQA,EAAC,KAAGA,GAAE,UAAQ,YAAU,OAAOA,GAAE,CAAC,EAAE,OAAM,IAAI,MAAM,kDAAkD;AAAE,WAAOA,GAAE,KAAK,CAAAA,OAAG;AAAC,UAAG,YAAU,OAAOA,GAAE,OAAM,IAAI,MAAM,uCAAuCA,EAAC,EAAE;AAAE,YAAM,IAAE7D,GAAE,QAAQ6D,EAAC;AAAE,UAAG,OAAK,EAAE,OAAM,IAAI,MAAM,oBAAoBA,EAAC,eAAe7D,EAAC,EAAE;AAAE,aAAO;AAAA,IAAC,EAAC;AAAA,EAAE,GAAE,QAAO,CAAA6D,OAAG;AAAC,QAAG,CAAC,MAAM,QAAQA,EAAC,KAAGA,GAAE,UAAQ,YAAU,OAAOA,GAAE,CAAC,EAAE,OAAM,IAAI,MAAM,qDAAqD;AAAE,WAAOA,GAAE,KAAK,CAAAA,OAAG;AAAC,WAAG,SAAS7D,IAAE;AAAC,YAAG,CAAC,OAAO,cAAcA,EAAC,EAAE,OAAM,IAAI,MAAM,kBAAkBA,EAAC,EAAE;AAAA,MAAC,GAAE6D,EAAC,GAAEA,KAAE,KAAGA,MAAG7D,GAAE,OAAO,OAAM,IAAI,MAAM,iCAAiC6D,EAAC,eAAe7D,GAAE,MAAM,GAAG;AAAE,aAAOA,GAAE6D,EAAC;AAAA,IAAC,EAAC;AAAA,EAAE,EAAC;AAAC;AAAC,MAAM,GAAE;AAAA,EAAC,OAAO,KAAK7D,IAAE6D,IAAE;AAAC,QAAG,YAAU,OAAO7D,OAAIA,KAAE,EAAC,QAAOA,IAAE,OAAMA,GAAC,IAAG,CAAC,OAAO,cAAcA,GAAE,MAAM,KAAGA,GAAE,WAAS,IAAE,EAAE,OAAM,IAAI,MAAM,wBAAwBA,GAAE,MAAM,KAAK,OAAOA,GAAE,MAAM,GAAG;AAAE,QAAG,CAAC,OAAO,cAAcA,GAAE,KAAK,KAAGA,GAAE,UAAQ,IAAE,EAAE,OAAM,IAAI,MAAM,uBAAuBA,GAAE,KAAK,KAAK,OAAOA,GAAE,KAAK,GAAG;AAAE,WAAO,WAAS6D,OAAI7D,KAAE,EAAC,OAAM,KAAK,IAAIA,GAAE,OAAM6D,GAAE,KAAK,GAAE,QAAO,KAAK,IAAI7D,GAAE,QAAO6D,GAAE,MAAM,EAAC,IAAG7D;AAAA,EAAC;AAAA,EAAC,OAAO,WAAWA,IAAE;AAAC,UAAM6D,MAAG7D,KAAEA,GAAE,QAAQ,SAAQ,EAAE,EAAE,QAAQ,SAAQ,EAAE,GAAG,MAAM,IAAI,GAAE,IAAE6D,GAAE,QAAOxC,KAAE,IAAI,MAAM,CAAC;AAAE,QAAI;AAAE,eAAUrB,MAAK6D,IAAE;AAAC,YAAMA,KAAE7D,GAAE,MAAM,EAAE,EAAE,KAAK,CAAAA,OAAG;AAAC,YAAG,QAAMA,GAAE,QAAM;AAAG,YAAG,QAAMA,GAAE,QAAM;AAAG,YAAG,QAAMA,GAAE,OAAM,IAAI,MAAM,qCAAqCA,EAAC,EAAE;AAAA,MAAC,EAAC;AAAG,UAAG,KAAG6D,GAAE,WAAS,EAAE,OAAM,IAAI,MAAM,gDAAgD,CAAC,QAAQA,GAAE,MAAM,EAAE;AAAE,UAAEA,GAAE,QAAOxC,GAAE,KAAKwC,EAAC;AAAA,IAAC;AAAC,WAAO,MAAI,IAAE,IAAG,IAAI,GAAG,EAAC,QAAO,GAAE,OAAM,EAAC,GAAExC,EAAC;AAAA,EAAC;AAAA,EAAC,YAAYrB,IAAE6D,IAAE;AAAC,UAAK,EAAC,QAAO,GAAE,OAAMxC,GAAC,IAAE,GAAG,KAAKrB,EAAC;AAAE,SAAK,OAAK6D,MAAG,MAAM,KAAK,EAAC,QAAO,EAAC,IAAG,MAAI,GAAGxC,IAAE,MAAM,EAAC,GAAG,KAAK,SAAO,GAAE,KAAK,QAAMA;AAAA,EAAC;AAAA,EAAC,MAAMrB,IAAE;AAAC,WAAO,KAAK,KAAKA,GAAE,CAAC,EAAEA,GAAE,CAAC;AAAA,EAAC;AAAA,EAAC,SAASA,IAAE;AAAC,WAAO,KAAGA,GAAE,KAAGA,GAAE,IAAE,KAAK,SAAO,KAAGA,GAAE,KAAGA,GAAE,IAAE,KAAK;AAAA,EAAM;AAAA,EAAC,KAAKA,IAAE;AAAC,QAAG,CAACA,GAAE,QAAM,EAAC,QAAO,KAAK,QAAO,OAAM,KAAK,MAAK;AAAE,UAAK,EAAC,GAAE6D,IAAE,GAAE,EAAC,IAAE,KAAK,GAAG7D,EAAC;AAAE,WAAM,EAAC,QAAO,KAAK,SAAO,GAAE,OAAM,KAAK,QAAM6D,GAAC;AAAA,EAAC;AAAA,EAAC,GAAG7D,IAAE;AAAC,QAAG,YAAU,OAAOA,OAAIA,KAAE,EAAC,GAAEA,IAAE,GAAEA,GAAC,IAAG,CAAC,OAAO,cAAcA,GAAE,CAAC,EAAE,OAAM,IAAI,MAAM,mBAAmBA,GAAE,CAAC,EAAE;AAAE,QAAG,CAAC,OAAO,cAAcA,GAAE,CAAC,EAAE,OAAM,IAAI,MAAM,mBAAmBA,GAAE,CAAC,EAAE;AAAE,WAAOA,GAAE,IAAE,GAAGA,GAAE,GAAE,KAAK,KAAK,GAAEA,GAAE,IAAE,GAAGA,GAAE,GAAE,KAAK,MAAM,GAAEA;AAAA,EAAC;AAAA,EAAC,KAAKA,IAAE6D,IAAE,GAAE;AAAC,UAAK,EAAC,GAAExC,IAAE,GAAE,EAAC,IAAE,KAAK,GAAGrB,EAAC,GAAE,EAAC,QAAO,GAAE,OAAM,EAAC,IAAE,GAAG,KAAK6D,IAAE,KAAK,KAAK,EAAC,GAAExC,IAAE,GAAE,EAAC,CAAC,CAAC;AAAE,aAAQrB,KAAE,GAAEA,KAAE,GAAEA,KAAI,UAAQ6D,KAAE,GAAEA,KAAE,GAAEA,KAAI,MAAK,KAAK,IAAE7D,EAAC,EAAEqB,KAAEwC,EAAC,IAAE,cAAY,OAAO,IAAE,EAAE,EAAC,GAAEA,IAAE,GAAE7D,GAAC,GAAE,KAAK,KAAK,IAAEA,EAAC,EAAEqB,KAAEwC,EAAC,CAAC,IAAE;AAAE,WAAO;AAAA,EAAI;AAAA,EAAC,SAAS7D,IAAE6D,IAAE,GAAE;AAAC,WAAO,KAAK,KAAK7D,IAAE6D,KAAG,CAAC7D,IAAE6D,QAAK,EAAE7D,IAAE6D,EAAC,GAAEA,IAAE;AAAA,EAAE;AAAA,EAAC,MAAM7D,IAAE6D,IAAE,GAAE;AAAC,WAAO,KAAK,KAAK7D,IAAE,EAAC,OAAM6D,IAAE,QAAO,EAAC,GAAE,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM7D,IAAE6D,IAAE,GAAE;AAAC,WAAO,KAAK,KAAK7D,IAAE,EAAC,OAAM,GAAE,QAAO6D,GAAC,GAAE,CAAC;AAAA,EAAC;AAAA,EAAC,OAAO7D,KAAE,GAAE6D,IAAE;AAAC,UAAM,IAAE,KAAK,SAAO,IAAE7D,IAAEqB,KAAE,KAAK,QAAM,IAAErB,IAAE,IAAE,GAAGA,IAAE6D,EAAC,GAAE,IAAE,MAAM,KAAK,EAAC,QAAO7D,GAAC,IAAG,MAAI,GAAGqB,IAAEwC,EAAC,EAAC;AAAG,WAAO,IAAI,GAAG,EAAC,QAAO,GAAE,OAAMxC,GAAC,GAAE,CAAC,GAAG,GAAE,GAAG,KAAK,KAAK,KAAK,CAAArB,OAAG,CAAC,GAAG,GAAE,GAAGA,IAAE,GAAG,CAAC,EAAC,GAAG,GAAG,CAAC,CAAC;AAAA,EAAC;AAAA,EAAC,MAAMA,IAAE6D,IAAE;AAAC,WAAO,KAAK,KAAK7D,IAAE6D,GAAE,KAAI,IAAI,CAAC,EAAC,GAAE7D,IAAE,GAAE,EAAC,MAAI6D,GAAE,KAAK,CAAC,EAAE7D,EAAC;EAAG;AAAA,EAAC,UAAUA,IAAE6D,KAAE,KAAK,KAAI,GAAG;AAAC,UAAM,IAAE,IAAI,GAAG,GAAG,KAAKA,IAAE,KAAK,KAAK,KAAK,GAAG7D,EAAC,CAAC,CAAC,CAAC;AAAE,WAAO,KAAK,KAAKA,IAAE6D,KAAG,CAAC,EAAC,GAAE7D,IAAE,GAAE6D,GAAC,GAAExC,OAAI,EAAE,KAAKwC,EAAC,EAAE7D,EAAC,IAAEqB,GAAC,GAAG;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,UAAK,EAAC,QAAOrB,IAAE,OAAM6D,GAAC,IAAE;AAAK,WAAO,IAAI,GAAG,EAAC,QAAOA,IAAE,OAAM7D,GAAC,CAAC,EAAE,KAAK,EAAC,GAAE,GAAE,GAAE,EAAC,GAAE,IAAE,IAAG,CAAC,EAAC,GAAEA,IAAE,GAAE6D,GAAC,MAAI,KAAK,KAAK7D,EAAC,EAAE6D,EAAC,EAAC;AAAA,EAAE;AAAA,EAAC,MAAM7D,IAAE;AAAC,QAAG,CAAC,OAAO,cAAcA,EAAC,KAAGA,KAAE,KAAK,OAAM,IAAI,MAAM,uBAAuBA,EAAC,EAAE;AAAE,UAAK,EAAC,QAAO6D,IAAE,OAAM,EAAC,IAAE;AAAK,WAAO,IAAI,GAAG,EAAC,QAAO7D,KAAE6D,IAAE,OAAM7D,KAAE,EAAC,CAAC,EAAE,KAAK,EAAC,GAAE,GAAE,GAAE,EAAC,GAAE,IAAE,IAAG,CAAC,EAAC,GAAE6D,IAAE,GAAEW,GAAC,MAAI,KAAK,KAAK,KAAK,MAAMA,KAAExE,EAAC,CAAC,EAAE,KAAK,MAAM6D,KAAE7D,EAAC,CAAC,EAAC;AAAA,EAAE;AAAA,EAAC,QAAO;AAAC,WAAO,IAAI,GAAG,KAAK,KAAI,CAAE,EAAE,KAAK,EAAC,GAAE,GAAE,GAAE,EAAC,GAAE,KAAK,KAAI,IAAI,CAAC,EAAC,GAAEA,IAAE,GAAE6D,GAAC,MAAI,KAAK,KAAKA,EAAC,EAAE7D,EAAC,EAAC;AAAA,EAAE;AAAA,EAAC,cAAa;AAAC,SAAK,SAAS,GAAE,IAAE,IAAG,CAACA,IAAE6D,OAAI;AAAC,UAAG,aAAW,OAAOA,GAAE,OAAM,IAAI,MAAM,wBAAsB,OAAOA,EAAC;AAAA,IAAC,EAAC;AAAA,EAAE;AAAA,EAAC,WAAU;AAAC,WAAO,KAAK,KAAK,KAAK,CAAA7D,OAAGA,GAAE,KAAK,CAAAA,OAAG,WAASA,KAAE,MAAIA,KAAE,MAAI,IAAG,EAAG,KAAK,EAAE,EAAC,EAAG,KAAK,IAAI;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,UAAK,EAAC,QAAOA,IAAE,OAAM6D,IAAE,MAAK,EAAC,IAAE;AAAK,QAAIxC,KAAE;AAAG,aAAQ,IAAE,GAAE,IAAErB,IAAE,KAAG,GAAE;AAAC,eAAQ,IAAE,GAAE,IAAE6D,IAAE,KAAI;AAAC,cAAMA,KAAE,EAAE,CAAC,EAAE,CAAC,GAAE,IAAE,IAAE,KAAG7D,MAAG,EAAE,IAAE,CAAC,EAAE,CAAC;AAAE,QAAA6D,MAAG,IAAE,CAACA,MAAG,IAAExC,MAAG,MAAIwC,MAAG,CAAC,IAAExC,MAAG,MAAIwC,MAAG,MAAIxC,MAAG,OAAKA,MAAG;AAAA,MAAG;AAAC,MAAAA,MAAG;AAAA,IAAI;AAAC,WAAOA;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,UAAMrB,KAAE,WAAO6D,KAAE,eAAY7D,EAAC,IAAG,IAAE,aAAUA,EAAC;AAAG,WAAO,KAAK,KAAK,KAAK,CAAAA,OAAGA,GAAE,KAAK,CAAAA,OAAGA,KAAE,IAAE6D,GAAC,EAAG,KAAK,EAAE,EAAC,EAAG,KAAK,IAAI;AAAA,EAAC;AAAA,EAAC,QAAO;AAAC,QAAI7D,KAAE,4DAA4D,KAAK,KAAK,IAAI,KAAK,MAAM;AAAsD,WAAO,KAAK,SAAS,GAAE,IAAE,IAAG,CAAC,EAAC,GAAE6D,IAAE,GAAE,EAAC,GAAExC,OAAI;AAAC,MAAAA,OAAIrB,MAAG,YAAY6D,EAAC,QAAQ,CAAC;AAAA,IAA4B,EAAC,GAAG7D,MAAG,UAASA;AAAA,EAAC;AAAA,EAAC,QAAO;AAAC,UAAMA,KAAE,CAAAA,OAAG,CAAC,MAAIA,IAAEA,OAAI,IAAE,GAAG,GAAE6D,KAAE,CAAC,GAAG7D,GAAE,KAAK,KAAK,GAAE,GAAGA,GAAE,KAAK,MAAM,CAAC,GAAE,IAAE;AAAG,SAAK,SAAS,GAAE,IAAE,IAAG,CAACA,IAAE6D,OAAI,EAAE,KAAK,EAAE,SAAKA,GAAE;AAAI,UAAMxC,KAAE,KAAI,IAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,GAAGwC,IAAE,KAAI,GAAE,GAAE,KAAI,KAAI,KAAI,GAAG,GAAG,KAAI,CAAC,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAGA,IAAE,GAAE,CAAC,GAAE,IAAE,KAAK,MAAM,EAAE,SAAOxC,EAAC;AAAE,aAAQrB,KAAE,GAAEA,KAAE,GAAEA,KAAI,GAAE,KAAK,KAAI,KAAI,GAAG,EAAE,MAAMqB,KAAErB,IAAEqB,MAAGrB,KAAE,EAAE,EAAE,KAAK,CAAAA,OAAG,CAACA,GAAC,CAAE;AAAE,WAAO,EAAE,KAAK,EAAE,SAAOqB,KAAE,GAAE,KAAI,GAAG,EAAE,MAAM,IAAEA,EAAC,EAAE,KAAK,CAAArB,OAAG,CAACA,GAAC,CAAE,GAAE,EAAE,KAAK,GAAE,KAAI,GAAE,EAAE,GAAE,IAAI,WAAW,CAAC;AAAA,EAAC;AAAA,EAAC,QAAQA,KAAE,OAAG;AAAC,UAAK,EAAC,QAAO6D,IAAE,OAAM,EAAC,IAAE,KAAK,KAAI,GAAGxC,KAAE,IAAI,WAAWwC,KAAE,KAAG7D,KAAE,IAAE,EAAE;AAAE,QAAI,IAAE;AAAE,aAAQ,IAAE,GAAE,IAAE6D,IAAE,IAAI,UAAQA,KAAE,GAAEA,KAAE,GAAEA,MAAI;AAAC,YAAMW,KAAE,KAAK,KAAK,CAAC,EAAEX,EAAC,IAAE,IAAE;AAAI,MAAAxC,GAAE,GAAG,IAAEmD,IAAEnD,GAAE,GAAG,IAAEmD,IAAEnD,GAAE,GAAG,IAAEmD,IAAExE,OAAIqB,GAAE,GAAG,IAAE;AAAA,IAAI;AAAC,WAAM,EAAC,QAAOwC,IAAE,OAAM,GAAE,MAAKxC,GAAC;AAAA,EAAC;AAAC;AAAC,MAAM,KAAG,CAAC,OAAM,UAAS,YAAW,MAAM,GAAE,KAAG,CAAC,WAAU,gBAAe,QAAO,SAAQ,KAAK,GAAE,KAAG,CAAC,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,IAAI,GAAE,KAAG,EAAC,KAAI,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,QAAO,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,UAAS,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,MAAK,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,EAAC,GAAE,KAAG,EAAC,KAAI,CAAC,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,QAAO,CAAC,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,UAAS,CAAC,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,MAAK,CAAC,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,EAAC,GAAE,KAAG,EAAC,MAAK,EAAC,QAAO,CAAArB,OAAG,KAAG,KAAGA,KAAE,IAAG,QAAO,CAAAA,QAAIA,KAAE,MAAI,EAAC,GAAE,UAAS,CAAAA,OAAG,KAAK,OAAOA,KAAE,KAAG,EAAE,GAAE,kBAAkBA,IAAE;AAAC,MAAG,MAAIA,GAAE,QAAM,CAAA;AAAG,QAAM6D,KAAE,GAAG,KAAK,OAAO7D,EAAC,IAAE,IAAE,GAAE,IAAE6D,KAAE,GAAExC,KAAE,KAAK,KAAK,IAAE,EAAE;AAAE,MAAI,IAAE,KAAK,MAAM,IAAEA,EAAC;AAAE,MAAE,IAAE,KAAG,IAAE,IAAEA,KAAE,KAAGA,OAAI,KAAG;AAAG,QAAM,IAAE,CAAC,CAAC;AAAE,WAAQrB,KAAE,GAAEA,KAAEqB,IAAErB,KAAI,GAAE,KAAK6D,MAAGxC,KAAErB,MAAG,CAAC;AAAE,SAAO,EAAE,KAAK6D,EAAC,GAAE;AAAC,GAAE,QAAO,EAAC,KAAI,GAAE,QAAO,GAAE,UAAS,GAAE,MAAK,EAAC,GAAE,YAAW,OAAM,WAAW7D,IAAE6D,IAAE;AAAC,QAAM,IAAE,GAAG,OAAO7D,EAAC,KAAG,IAAE6D;AAAE,MAAIxC,KAAE;AAAE,WAAQrB,KAAE,GAAEA,KAAE,IAAGA,KAAI,CAAAqB,KAAEA,MAAG,IAAE,QAAMA,MAAG;AAAG,UAAO,KAAG,KAAGA,MAAG,GAAG;AAAU,GAAE,YAAYrB,IAAE;AAAC,MAAI6D,KAAE7D;AAAE,WAAQA,KAAE,GAAEA,KAAE,IAAGA,KAAI,CAAA6D,KAAEA,MAAG,IAAE,QAAMA,MAAG;AAAI,SAAO7D,MAAG,KAAG6D;AAAC,GAAE,UAAS,EAAC,SAAQ,GAAG,YAAY,GAAE,aAAY,GAAG,+CAA+C,EAAC,GAAE,YAAW,CAAC7D,IAAE6D,QAAK,EAAC,SAAQ,CAAC,IAAG,IAAG,EAAE,GAAE,cAAa,CAAC,GAAE,IAAG,EAAE,GAAE,MAAK,CAAC,GAAE,IAAG,EAAE,GAAE,OAAM,CAAC,GAAE,IAAG,EAAE,GAAE,KAAI,CAAC,GAAE,GAAE,CAAC,EAAC,GAAEA,EAAC,EAAE,GAAG,SAAS7D,EAAC,CAAC,GAAG,UAAS,EAAC,SAAQ,QAAO,cAAa,QAAO,MAAK,QAAO,OAAM,QAAO,KAAI,OAAM,GAAE,SAASA,IAAE6D,IAAE;AAAC,QAAM,IAAE,GAAG7D,KAAE,CAAC,GAAEqB,KAAE,GAAGwC,EAAC,EAAE7D,KAAE,CAAC,GAAE,IAAE,GAAG6D,EAAC,EAAE7D,KAAE,CAAC,GAAE,IAAE,KAAK,MAAM,IAAE,CAAC,IAAEqB,IAAE,IAAE,IAAE,IAAE;AAAE,SAAM,EAAC,OAAMA,IAAE,WAAU,GAAE,aAAY,GAAE,UAAS,GAAE,UAAS,KAAG,IAAEA,KAAE,IAAG,QAAOA,KAAE,KAAG,IAAE,IAAE,EAAC;AAAC,EAAC,GAAE,KAAG,CAAC,CAACrB,IAAE6D,QAAK7D,KAAE6D,MAAG,KAAG,GAAE,CAAC7D,IAAE6D,OAAIA,KAAE,KAAG,GAAE,CAAC7D,IAAE6D,OAAI7D,KAAE,KAAG,GAAE,CAACA,IAAE6D,QAAK7D,KAAE6D,MAAG,KAAG,GAAE,CAAC7D,IAAE6D,QAAK,KAAK,MAAMA,KAAE,CAAC,IAAE,KAAK,MAAM7D,KAAE,CAAC,KAAG,KAAG,GAAE,CAACA,IAAE6D,OAAI7D,KAAE6D,KAAE,IAAE7D,KAAE6D,KAAE,KAAG,GAAE,CAAC7D,IAAE6D,QAAK7D,KAAE6D,KAAE,IAAE7D,KAAE6D,KAAE,KAAG,KAAG,GAAE,CAAC7D,IAAE6D,SAAM7D,KAAE6D,MAAG,IAAE7D,KAAE6D,KAAE,KAAG,KAAG,CAAC,GAAE,KAAG,EAAC,SAAQ,CAAA7D,OAAG;AAAC,QAAM6D,KAAE,GAAG,KAAI,CAAC,GAAE,IAAE,GAAG,KAAI,CAAC;AAAE,WAAQ7D,KAAE,GAAEqB,KAAE,GAAErB,KAAE,KAAIA,KAAI,CAAA6D,GAAE7D,EAAC,IAAEqB,IAAE,EAAEA,EAAC,IAAErB,IAAEqB,OAAI,GAAE,MAAIA,OAAIA,MAAG;AAAK,SAAM,EAAC,KAAIwC,IAAE,KAAI,EAAC;AAAC,GAAC,GAAI,KAAI,CAAA7D,OAAG,GAAG,OAAO,IAAIA,EAAC,GAAE,IAAIA,IAAE;AAAC,MAAG,MAAIA,GAAE,OAAM,IAAI,MAAM,qBAAqBA,EAAC,EAAE;AAAE,SAAO,GAAG,OAAO,IAAIA,EAAC,IAAE;AAAG,GAAE,KAAI,CAACA,IAAE6D,OAAI,MAAI7D,MAAG,MAAI6D,KAAE,IAAE,GAAG,OAAO,KAAK,GAAG,OAAO,IAAI7D,EAAC,IAAE,GAAG,OAAO,IAAI6D,EAAC,KAAG,GAAG,GAAE,KAAI,CAAC7D,IAAE6D,OAAI7D,KAAE6D,IAAE,KAAI,CAAC7D,IAAE6D,OAAI,GAAG,OAAO,IAAI,GAAG,OAAO,IAAI7D,EAAC,IAAE6D,KAAE,GAAG,GAAE,IAAI7D,IAAE;AAAC,MAAG,MAAIA,GAAE,OAAM,IAAI,MAAM,yBAAyBA,EAAC,EAAE;AAAE,SAAO,GAAG,OAAO,IAAI,MAAI,GAAG,OAAO,IAAIA,EAAC,CAAC;AAAC,GAAE,WAAWA,IAAE;AAAC,MAAG,KAAGA,GAAE,OAAO,OAAM,IAAI,MAAM,6BAA6B;AAAE,MAAG,MAAIA,GAAE,CAAC,EAAE,QAAOA;AAAE,MAAI6D,KAAE;AAAE,SAAKA,KAAE7D,GAAE,SAAO,KAAG,KAAGA,GAAE6D,EAAC,GAAEA,KAAI;AAAC,SAAO7D,GAAE,MAAM6D,EAAC;AAAC,GAAE,SAAS7D,IAAE6D,IAAE;AAAC,MAAG7D,KAAE,EAAE,OAAM,IAAI,MAAM,6BAA6BA,EAAC,EAAE;AAAE,MAAG,KAAG6D,GAAE,QAAM,CAAC,CAAC;AAAE,MAAI,IAAE,GAAG7D,KAAE,GAAE,CAAC;AAAE,SAAO,EAAE,CAAC,IAAE6D,IAAE,GAAG,WAAW,CAAC;AAAC,GAAE,QAAO,CAAA7D,OAAGA,GAAE,SAAO,GAAE,aAAY,CAACA,IAAE6D,OAAI7D,GAAE,GAAG,OAAOA,EAAC,IAAE6D,EAAC,GAAE,QAAQ7D,IAAE6D,IAAE;AAAC,MAAG,MAAI7D,GAAE,CAAC,KAAG,MAAI6D,GAAE,CAAC,EAAE,QAAM,CAAC,CAAC;AAAE,QAAM,IAAE,GAAG7D,GAAE,SAAO6D,GAAE,SAAO,GAAE,CAAC;AAAE,WAAQxC,KAAE,GAAEA,KAAErB,GAAE,QAAOqB,KAAI,UAAQ,IAAE,GAAE,IAAEwC,GAAE,QAAO,IAAI,GAAExC,KAAE,CAAC,IAAE,GAAG,IAAI,EAAEA,KAAE,CAAC,GAAE,GAAG,IAAIrB,GAAEqB,EAAC,GAAEwC,GAAE,CAAC,CAAC,CAAC;AAAE,SAAO,GAAG,WAAW,CAAC;AAAC,GAAE,cAAc7D,IAAE6D,IAAE;AAAC,MAAG,KAAGA,GAAE,QAAM,CAAC,CAAC;AAAE,MAAG,KAAGA,GAAE,QAAO7D;AAAE,QAAM,IAAE,GAAGA,GAAE,QAAO,CAAC;AAAE,WAAQqB,KAAE,GAAEA,KAAErB,GAAE,QAAOqB,KAAI,GAAEA,EAAC,IAAE,GAAG,IAAIrB,GAAEqB,EAAC,GAAEwC,EAAC;AAAE,SAAO,GAAG,WAAW,CAAC;AAAC,GAAE,gBAAgB7D,IAAE6D,IAAE,GAAE;AAAC,MAAGA,KAAE,EAAE,OAAM,IAAI,MAAM,kCAAkC;AAAE,MAAG,KAAG,EAAE,QAAM,CAAC,CAAC;AAAE,QAAMxC,KAAE,GAAGrB,GAAE,SAAO6D,IAAE,CAAC;AAAE,WAAQA,KAAE,GAAEA,KAAE7D,GAAE,QAAO6D,KAAI,CAAAxC,GAAEwC,EAAC,IAAE,GAAG,IAAI7D,GAAE6D,EAAC,GAAE,CAAC;AAAE,SAAO,GAAG,WAAWxC,EAAC;AAAC,GAAE,QAAQrB,IAAE6D,IAAE;AAAC,MAAG,MAAI7D,GAAE,CAAC,EAAE,QAAO6D;AAAE,MAAG,MAAIA,GAAE,CAAC,EAAE,QAAO7D;AAAE,MAAI,IAAEA,IAAEqB,KAAEwC;AAAE,IAAE,SAAOxC,GAAE,WAAS,CAAC,GAAEA,EAAC,IAAE,CAACA,IAAE,CAAC;AAAG,MAAI,IAAE,GAAGA,GAAE,QAAO,CAAC,GAAE,IAAEA,GAAE,SAAO,EAAE,QAAO,IAAEA,GAAE,MAAM,GAAE,CAAC;AAAE,WAAQrB,KAAE,GAAEA,KAAE,EAAE,QAAOA,KAAI,GAAEA,EAAC,IAAE,EAAEA,EAAC;AAAE,WAAQA,KAAE,GAAEA,KAAEqB,GAAE,QAAOrB,KAAI,GAAEA,EAAC,IAAE,GAAG,IAAI,EAAEA,KAAE,CAAC,GAAEqB,GAAErB,EAAC,CAAC;AAAE,SAAO,GAAG,WAAW,CAAC;AAAC,GAAE,cAAcA,IAAE6D,IAAE;AAAC,QAAM,IAAE,MAAM,KAAK7D,EAAC;AAAE,WAAQqB,KAAE,GAAEA,KAAErB,GAAE,SAAO6D,GAAE,SAAO,GAAExC,MAAI;AAAC,UAAMrB,KAAE,EAAEqB,EAAC;AAAE,QAAG,MAAIrB,GAAE,UAAQ,IAAE,GAAE,IAAE6D,GAAE,QAAO,IAAI,OAAIA,GAAE,CAAC,MAAI,EAAExC,KAAE,CAAC,IAAE,GAAG,IAAI,EAAEA,KAAE,CAAC,GAAE,GAAG,IAAIwC,GAAE,CAAC,GAAE7D,EAAC,CAAC;AAAA,EAAE;AAAC,SAAO,EAAE,MAAMA,GAAE,SAAO6D,GAAE,SAAO,GAAE,EAAE,MAAM;AAAC,GAAE,YAAY7D,IAAE;AAAC,MAAI6D,KAAE,CAAC,CAAC;AAAE,WAAQ,IAAE,GAAE,IAAE7D,IAAE,IAAI,CAAA6D,KAAE,GAAG,QAAQA,IAAE,CAAC,GAAE,GAAG,IAAI,GAAE,CAAC,CAAC,CAAC;AAAE,SAAOA;AAAC,GAAE,SAAS7D,IAAE6D,IAAE;AAAC,MAAG,KAAGA,GAAE,QAAO,GAAG,YAAY7D,IAAE,CAAC;AAAE,MAAI,IAAEA,GAAE,CAAC;AAAE,WAAQqB,KAAE,GAAEA,KAAErB,GAAE,QAAOqB,KAAI,KAAE,GAAG,IAAI,GAAG,IAAIwC,IAAE,CAAC,GAAE7D,GAAEqB,EAAC,CAAC;AAAE,SAAO;AAAC,GAAE,UAAUrB,IAAE6D,IAAE,GAAE;AAAC,KAAG,OAAO7D,EAAC,IAAE,GAAG,OAAO6D,EAAC,MAAI,CAAC7D,IAAE6D,EAAC,IAAE,CAACA,IAAE7D,EAAC;AAAG,MAAIqB,KAAErB,IAAE,IAAE6D,IAAE,IAAE,CAAC,CAAC,GAAE,IAAE,CAAC,CAAC;AAAE,SAAK,IAAE,GAAG,OAAO,CAAC,KAAG,KAAG;AAAC,QAAI7D,KAAEqB,IAAEwC,KAAE;AAAE,QAAGxC,KAAE,GAAE,IAAE,GAAE,MAAIA,GAAE,CAAC,EAAE,OAAM,IAAI,MAAM,gBAAgB;AAAE,QAAErB;AAAE,QAAIwE,KAAE,CAAC,CAAC;AAAE,UAAMI,KAAE,GAAG,IAAIvD,GAAE,CAAC,CAAC;AAAE,WAAK,GAAG,OAAO,CAAC,KAAG,GAAG,OAAOA,EAAC,KAAG,MAAI,EAAE,CAAC,KAAG;AAAC,YAAMrB,KAAE,GAAG,OAAO,CAAC,IAAE,GAAG,OAAOqB,EAAC,GAAEwC,KAAE,GAAG,IAAI,EAAE,CAAC,GAAEe,EAAC;AAAE,MAAAJ,KAAE,GAAG,QAAQA,IAAE,GAAG,SAASxE,IAAE6D,EAAC,CAAC,GAAE,IAAE,GAAG,QAAQ,GAAE,GAAG,gBAAgBxC,IAAErB,IAAE6D,EAAC,CAAC;AAAA,IAAC;AAAC,QAAGW,KAAE,GAAG,QAAQA,IAAE,CAAC,GAAE,IAAE,GAAG,QAAQA,IAAEX,EAAC,GAAE,GAAG,OAAO,CAAC,KAAG,GAAG,OAAOxC,EAAC,EAAE,OAAM,IAAI,MAAM,sBAAsB,CAAC,YAAYA,EAAC,EAAE;AAAA,EAAC;AAAC,QAAM,IAAE,GAAG,YAAY,GAAE,CAAC;AAAE,MAAG,KAAG,EAAE,OAAM,IAAI,MAAM,wBAAwB;AAAE,QAAMD,KAAE,GAAG,IAAI,CAAC;AAAE,SAAM,CAAC,GAAG,cAAc,GAAEA,EAAC,GAAE,GAAG,cAAc,GAAEA,EAAC,CAAC;AAAC,EAAC;AAAE,SAAS,GAAGpB,IAAE6D,IAAE;AAAC,QAAK,EAAC,OAAM,GAAE,aAAYxC,IAAE,WAAU,GAAE,UAAS,GAAE,OAAM,EAAC,IAAE,GAAG,SAASrB,IAAE6D,EAAC,GAAE,KAAGzC,KAAE,GAAE,EAAC,OAAOpB,IAAE;AAAC,UAAM6D,KAAE,GAAG,YAAYzC,EAAC,GAAEoD,KAAE,MAAM,KAAKxE,EAAC;AAAE,WAAOwE,GAAE,KAAK,GAAGX,GAAE,MAAM,GAAE,EAAE,EAAE,KAAK,CAAC,CAAC,GAAE,WAAW,KAAK,GAAG,cAAcW,IAAEX,EAAC,CAAC;AAAA,EAAC,GAAE,OAAO7D,IAAE;AAAC,UAAM6D,KAAE7D,GAAE,MAAK,GAAGwE,KAAE,GAAG,WAAW,MAAM,KAAKxE,EAAC,CAAC;AAAE,QAAIqB,KAAE,GAAGD,IAAE,CAAC,GAAEqD,KAAE;AAAG,aAAQzE,KAAE,GAAEA,KAAEoB,IAAEpB,MAAI;AAAC,YAAM6D,KAAE,GAAG,SAASW,IAAE,GAAG,IAAIxE,EAAC,CAAC;AAAE,MAAAqB,GAAEA,GAAE,SAAO,IAAErB,EAAC,IAAE6D,IAAE,MAAIA,OAAIY,KAAE;AAAA,IAAG;AAAC,QAAG,CAACA,GAAE,QAAOZ;AAAE,IAAAxC,KAAE,GAAG,WAAWA,EAAC;AAAE,UAAMqD,KAAE,GAAG,SAAStD,IAAE,CAAC,GAAE,CAACuD,IAAEC,EAAC,IAAE,GAAG,UAAUF,IAAErD,IAAED,EAAC,GAAEwB,KAAE,GAAG,GAAG,OAAO+B,EAAC,GAAE,CAAC;AAAE,QAAI/D,KAAE;AAAE,aAAQZ,KAAE,GAAEA,KAAE,OAAKY,KAAEgC,GAAE,QAAO5C,KAAI,OAAI,GAAG,SAAS2E,IAAE3E,EAAC,MAAI4C,GAAEhC,IAAG,IAAE,GAAG,IAAIZ,EAAC;AAAG,QAAGY,OAAIgC,GAAE,OAAO,OAAM,IAAI,MAAM,gCAAgC;AAAE,aAAQ5C,KAAE,GAAEA,KAAE4C,GAAE,QAAO5C,MAAI;AAAC,YAAMwE,KAAEX,GAAE,SAAO,IAAE,GAAG,IAAIjB,GAAE5C,EAAC,CAAC;AAAE,UAAGwE,KAAE,EAAE,OAAM,IAAI,MAAM,iCAAiC;AAAE,YAAMnD,KAAE,GAAG,IAAIuB,GAAE5C,EAAC,CAAC;AAAE,UAAIyE,KAAE;AAAE,eAAQZ,KAAE,GAAEA,KAAEjB,GAAE,QAAOiB,KAAI,CAAA7D,OAAI6D,OAAIY,KAAE,GAAG,IAAIA,IAAE,GAAG,IAAI,GAAE,GAAG,IAAI7B,GAAEiB,EAAC,GAAExC,EAAC,CAAC,CAAC;AAAG,MAAAwC,GAAEW,EAAC,IAAE,GAAG,IAAIX,GAAEW,EAAC,GAAE,GAAG,IAAI,GAAG,SAASI,IAAEvD,EAAC,GAAE,GAAG,IAAIoD,EAAC,CAAC,CAAC;AAAA,IAAC;AAAC,WAAOZ;AAAA,EAAC,EAAC;AAAG,MAAIzC;AAAE,SAAM,EAAC,OAAOpB,IAAE;AAAC,UAAM6D,KAAE,IAAGW,KAAE,CAAA;AAAG,aAAQG,KAAE,GAAEA,KAAE,GAAEA,MAAI;AAAC,YAAMF,KAAE,KAAGE,KAAEtD,KAAE,IAAE;AAAG,MAAAwC,GAAE,KAAK7D,GAAE,SAAS,GAAEyE,EAAC,CAAC,GAAED,GAAE,KAAK,EAAE,OAAOxE,GAAE,SAAS,GAAEyE,EAAC,CAAC,CAAC,GAAEzE,KAAEA,GAAE,SAASyE,EAAC;AAAA,IAAC;AAAC,UAAME,KAAE,GAAG,GAAGd,EAAC,GAAEzC,KAAE,GAAG,GAAGoD,EAAC,GAAE5B,KAAE,IAAI,WAAW+B,GAAE,SAAOvD,GAAE,MAAM;AAAE,WAAOwB,GAAE,IAAI+B,EAAC,GAAE/B,GAAE,IAAIxB,IAAEuD,GAAE,MAAM,GAAE/B;AAAA,EAAC,GAAE,OAAO5C,IAAE;AAAC,QAAGA,GAAE,WAAS,EAAE,OAAM,IAAI,MAAM,gCAAgCA,GAAE,MAAM,WAAW,CAAC,EAAE;AAAE,UAAM6D,KAAE,CAAA;AAAG,aAAQ7D,KAAE,GAAEA,KAAE,GAAEA,MAAI;AAAC,YAAMyE,KAAEzE,KAAEqB;AAAE,MAAAwC,GAAE,KAAK,IAAI,WAAW,IAAE,KAAGY,KAAE,IAAE,EAAE,CAAC;AAAA,IAAC;AAAC,QAAIrD,KAAE;AAAE,aAAQoD,KAAE,GAAEA,KAAE,GAAEA,KAAI,UAAQnD,KAAE,GAAEA,KAAE,GAAEA,KAAI,CAAAwC,GAAExC,EAAC,EAAEmD,EAAC,IAAExE,GAAEoB,IAAG;AAAE,aAAQoD,KAAEnD,IAAEmD,KAAE,GAAEA,KAAI,CAAAX,GAAEW,EAAC,EAAE,CAAC,IAAExE,GAAEoB,IAAG;AAAE,aAAQuD,KAAE,GAAEA,KAAE,IAAE,GAAEA,KAAI,UAAQH,KAAE,GAAEA,KAAE,GAAEA,MAAI;AAAC,YAAMC,KAAED,KAAEnD;AAAE,MAAAwC,GAAEW,EAAC,EAAEG,MAAGF,KAAE,IAAE,EAAE,IAAEzE,GAAEoB,IAAG;AAAA,IAAC;AAAC,UAAMwB,KAAE,CAAA;AAAG,eAAU5C,MAAK6D,GAAE,CAAAjB,GAAE,KAAK,GAAG,MAAM,KAAK,EAAE,OAAO5C,EAAC,CAAC,EAAE,MAAM,GAAE,CAAC,CAAC,CAAC;AAAE,WAAO,WAAW,KAAK4C,EAAC;AAAA,EAAC,EAAC;AAAC;AAAC,SAAS,GAAG5C,IAAE6D,IAAE,GAAExC,IAAE;AAAC,MAAI,IAAE,IAAG,IAAE,EAAE;AAAO,MAAG,cAAYA,IAAE;AAAC,UAAMrB,KAAE,GAAG,SAAS,QAAQ,OAAO,EAAE,MAAM,EAAE,CAAC,GAAE6D,KAAE7D,GAAE;AAAO,aAAQwE,KAAE,GAAEA,KAAEX,KAAE,GAAEW,MAAG,EAAE,MAAG,GAAG,MAAIxE,GAAEwE,EAAC,IAAE,KAAGxE,GAAEwE,KAAE,CAAC,IAAExE,GAAEwE,KAAE,CAAC,GAAE,EAAE;AAAE,IAAAX,KAAE,KAAG,IAAE,KAAG,GAAG7D,GAAE6D,KAAE,CAAC,GAAE,CAAC,IAAEA,KAAE,KAAG,MAAI,KAAG,GAAG,KAAG7D,GAAE6D,KAAE,CAAC,IAAE7D,GAAE6D,KAAE,CAAC,GAAE,CAAC;AAAA,EAAE,WAAS,mBAAiBxC,IAAE;AAAC,UAAMrB,KAAE,GAAG,SAAS,YAAY,OAAO,EAAE,MAAM,EAAE,CAAC,GAAE6D,KAAE7D,GAAE;AAAO,aAAQwE,KAAE,GAAEA,KAAEX,KAAE,GAAEW,MAAG,EAAE,MAAG,GAAG,KAAGxE,GAAEwE,EAAC,IAAExE,GAAEwE,KAAE,CAAC,GAAE,EAAE;AAAE,IAAAX,KAAE,KAAG,MAAI,KAAG,GAAG7D,GAAE6D,KAAE,CAAC,GAAE,CAAC;AAAA,EAAE,OAAK;AAAC,QAAG,WAASxC,GAAE,OAAM,IAAI,MAAM,0BAA0B;AAAE;AAAC,YAAMrB,MAAE,SAASA,IAAE;AAAC,YAAG,YAAU,OAAOA,GAAE,OAAM,IAAI,MAAM,sCAAoC,OAAOA,EAAC;AAAE,eAAO,IAAI,WAAY,IAAI,cAAa,OAAOA,EAAC,CAAC;AAAA,MAAC,GAAE,CAAC;AAAE,UAAEA,GAAE,QAAO,IAAE,MAAM,KAAKA,EAAC,EAAE,KAAK,CAAAA,OAAG,GAAGA,IAAE,CAAC,EAAC,EAAG,KAAK,EAAE;AAAA,IAAC;AAAA,EAAC;AAAC,QAAK,EAAC,UAAS,EAAC,IAAE,GAAG,SAASA,IAAE6D,EAAC,GAAE,IAAE,GAAG,GAAE,GAAG,WAAW7D,IAAEqB,EAAC,CAAC;AAAE,MAAID,KAAE,GAAG,SAASC,EAAC,IAAE,IAAE;AAAE,MAAGD,GAAE,SAAO,EAAE,OAAM,IAAI,MAAM,mBAAmB;AAAE,EAAAA,MAAG,IAAI,OAAO,KAAK,IAAI,GAAE,KAAK,IAAI,GAAE,IAAEA,GAAE,MAAM,CAAC,CAAC,GAAEA,GAAE,SAAO,MAAIA,MAAG,IAAI,OAAO,IAAEA,GAAE,SAAO,CAAC;AAAG,QAAMwB,KAAE;AAAmB,WAAQ5C,KAAE,GAAEoB,GAAE,WAAS,GAAEpB,KAAI,CAAAoB,MAAGwB,GAAE5C,KAAE,EAAE;AAAE,QAAMY,KAAE,WAAW,KAAKQ,GAAE,MAAM,SAAS,EAAE,KAAK,CAAApB,OAAG,OAAO,KAAKA,EAAC,EAAE,EAAC,CAAE;AAAE,SAAO,GAAGA,IAAE6D,EAAC,EAAE,OAAOjD,EAAC;AAAC;AAAC,SAAS,GAAGZ,IAAE6D,IAAE,GAAExC,IAAE,IAAE,OAAG;AAAC,QAAM,KAAE,SAASrB,IAAE6D,IAAEW,IAAEnD,KAAE,OAAG;AAAC,UAAMoD,KAAE,GAAG,KAAK,OAAOzE,EAAC;AAAE,QAAI0E,KAAE,IAAI,GAAGD,KAAE,CAAC;AAAE,UAAME,KAAE,IAAI,GAAG,CAAC,EAAE,KAAK,GAAE,GAAE,IAAE,EAAE,OAAO,GAAE,KAAE,EAAE,OAAO,GAAE,IAAE,EAAE,OAAO,GAAE,KAAE;AAAE,IAAAD,KAAEA,GAAE,MAAM,GAAEC,EAAC,EAAE,MAAM,EAAC,GAAE,CAACA,GAAE,OAAM,GAAE,EAAC,GAAEA,EAAC,EAAE,MAAM,EAAC,GAAE,GAAE,GAAE,CAACA,GAAE,OAAM,GAAEA,EAAC,GAAED,KAAEA,GAAE,UAAU,GAAED,EAAC;AAAE,UAAMG,KAAE,IAAI,GAAG,CAAC,EAAE,KAAK,GAAE,GAAE,IAAE,EAAE,OAAO,GAAE,KAAE,EAAE,OAAO,GAAE,IAAE,GAAExD,KAAE,GAAG,kBAAkBpB,EAAC;AAAE,eAAUA,MAAKoB,GAAE,YAAUyC,MAAKzC,GAAE,YAASsD,GAAE,KAAK1E,EAAC,EAAE6D,EAAC,KAAGa,GAAE,MAAM,EAAC,GAAEb,KAAE,GAAE,GAAE7D,KAAE,EAAC,GAAE4E,EAAC;AAAE,IAAAF,KAAEA,GAAE,MAAM,EAAC,GAAE,GAAE,GAAE,EAAC,GAAE,IAAE,IAAG,CAAC,EAAC,GAAE1E,GAAC,GAAE6D,OAAI,WAASA,KAAE7D,KAAE,KAAG,IAAE6D,KAAI,MAAM,EAAC,GAAE,GAAE,GAAE,EAAC,GAAE,IAAE,IAAG,CAAC,EAAC,GAAE7D,GAAC,GAAE6D,OAAI,WAASA,KAAE7D,KAAE,KAAG,IAAE6D,GAAC;AAAG;AAAC,YAAM7D,KAAE,GAAG,WAAW6D,IAAEW,EAAC,GAAEG,KAAE,CAAAd,OAAG,CAACxC,MAAG,MAAIrB,MAAG6D,KAAE;AAAG,eAAQ7D,MAAE,GAAEA,MAAE,GAAEA,MAAI,CAAA0E,GAAE,KAAK1E,GAAC,EAAE,CAAC,IAAE2E,GAAE3E,GAAC;AAAE,eAAQA,MAAE,GAAEA,MAAE,GAAEA,MAAI,CAAA0E,GAAE,KAAK1E,MAAE,CAAC,EAAE,CAAC,IAAE2E,GAAE3E,GAAC;AAAE,eAAQA,MAAE,GAAEA,MAAE,IAAGA,MAAI,CAAA0E,GAAE,KAAKD,KAAE,KAAGzE,GAAC,EAAE,CAAC,IAAE2E,GAAE3E,GAAC;AAAE,eAAQA,MAAE,GAAEA,MAAE,GAAEA,MAAI,CAAA0E,GAAE,KAAK,CAAC,EAAED,KAAEzE,MAAE,CAAC,IAAE2E,GAAE3E,GAAC;AAAE,eAAQA,MAAE,GAAEA,MAAE,GAAEA,MAAI,CAAA0E,GAAE,KAAK,CAAC,EAAE,KAAG1E,MAAE,IAAE,CAAC,IAAE2E,GAAE3E,GAAC;AAAE,eAAQA,MAAE,GAAEA,MAAE,IAAGA,MAAI,CAAA0E,GAAE,KAAK,CAAC,EAAE,KAAG1E,MAAE,CAAC,IAAE2E,GAAE3E,GAAC;AAAE,MAAA0E,GAAE,KAAKD,KAAE,CAAC,EAAE,CAAC,IAAE,CAACpD;AAAA,IAAC;AAAC,QAAGrB,MAAG,GAAE;AAAC,YAAM6D,KAAE,GAAG,YAAY7D,EAAC;AAAE,eAAQA,KAAE,GAAEA,KAAE,IAAGA,MAAG,GAAE;AAAC,cAAMwE,KAAE,CAACnD,MAAG,MAAIwC,MAAG7D,KAAE,IAAG2E,KAAE,KAAK,MAAM3E,KAAE,CAAC,GAAE4E,KAAE5E,KAAE,IAAEyE,KAAE,IAAE;AAAE,QAAAC,GAAE,KAAKC,EAAC,EAAEC,EAAC,IAAEJ,IAAEE,GAAE,KAAKE,EAAC,EAAED,EAAC,IAAEH;AAAA,MAAC;AAAA,IAAC;AAAC,WAAOE;AAAA,EAAC,GAAE1E,IAAE6D,IAAExC,IAAE,CAAC;AAAE,MAAI,IAAE;AAAE,QAAM,IAAE,IAAE,EAAE;AAAO,OAAG,SAASrB,IAAE6D,IAAEW,IAAE;AAAC,UAAMnD,KAAErB,GAAE,QAAOyE,KAAE,GAAGZ,EAAC;AAAE,QAAIa,KAAE,IAAGC,KAAEtD,KAAE;AAAE,aAAQwC,KAAExC,KAAE,GAAEwC,KAAE,GAAEA,MAAG,GAAE;AAAC,WAAI,KAAGA,OAAIA,KAAE,MAAIc,MAAGD,IAAE;AAAC,iBAAQrD,KAAE,GAAEA,KAAE,GAAEA,MAAG,GAAE;AAAC,gBAAMqD,KAAEb,KAAExC;AAAE,qBAASrB,GAAE,KAAK2E,EAAC,EAAED,EAAC,KAAGF,GAAEE,IAAEC,IAAEF,GAAEC,IAAEC,EAAC,CAAC;AAAA,QAAC;AAAC,YAAGA,KAAED,KAAE,KAAGC,KAAED,MAAGrD,GAAE;AAAA,MAAK;AAAC,MAAAqD,KAAE,CAACA;AAAA,IAAC;AAAA,EAAC,GAAE,GAAErD,KAAG,CAACrB,IAAE6D,IAAExC,OAAI;AAAC,QAAIoD,KAAE;AAAG,QAAE,MAAIA,KAAE,MAAI,EAAE,MAAI,CAAC,MAAI,IAAE,IAAE,KAAG,IAAG,MAAK,EAAE,KAAKZ,EAAC,EAAE7D,EAAC,IAAEyE,OAAIpD;AAAA,EAAC,EAAC,GAAG,MAAI,EAAE,OAAM,IAAI,MAAM,2BAA2B;AAAE,SAAO;AAAC;AAAC,SAAS,GAAGrB,IAAE;AAAC,QAAM6D,KAAE7D,GAAE,QAAO,GAAG,IAAE,CAAAA,OAAG;AAAC,QAAI6D,KAAE;AAAE,aAAQW,IAAEnD,KAAE,GAAEoD,KAAE,GAAEpD,KAAErB,GAAE,QAAOqB,KAAI,CAAAmD,OAAIxE,GAAEqB,EAAC,MAAIoD,MAAIpD,OAAIrB,GAAE,SAAO,OAAKyE,MAAG,MAAIZ,MAAGY,KAAE,IAAE,IAAGD,KAAExE,GAAEqB,EAAC,GAAEoD,KAAE;AAAG,WAAOZ;AAAA,EAAC;AAAE,MAAIxC,KAAE;AAAE,EAAArB,GAAE,KAAK,SAAS,CAAAA,OAAGqB,MAAG,EAAErB,EAAC,KAAI6D,GAAE,KAAK,SAAS,CAAA7D,OAAGqB,MAAG,EAAErB,EAAC,EAAC;AAAG,MAAI,IAAE,GAAE,IAAEA,GAAE;AAAK,QAAM,IAAEA,GAAE,QAAM,GAAE,IAAEA,GAAE,SAAO;AAAE,WAAQA,KAAE,GAAEA,KAAE,GAAEA,KAAI,UAAQ6D,KAAE,GAAEA,KAAE,GAAEA,MAAI;AAAC,UAAMW,KAAExE,KAAE,GAAEqB,KAAEwC,KAAE;AAAE,MAAE7D,EAAC,EAAE6D,EAAC,MAAI,EAAEW,EAAC,EAAEX,EAAC,KAAG,EAAEW,EAAC,EAAEX,EAAC,MAAI,EAAE7D,EAAC,EAAEqB,EAAC,KAAG,EAAEmD,EAAC,EAAEX,EAAC,MAAI,EAAEW,EAAC,EAAEnD,EAAC,MAAI,KAAG;AAAA,EAAE;AAAC,QAAMD,KAAE,CAAApB,OAAG;AAAC,UAAM6D,KAAE,CAAC,MAAG,OAAG,MAAG,MAAG,MAAG,OAAG,IAAE,GAAEW,KAAE,CAAC,OAAG,OAAG,OAAG,KAAE,GAAEnD,KAAE,CAAC,GAAGwC,IAAE,GAAGW,EAAC,GAAEC,KAAE,CAAC,GAAGD,IAAE,GAAGX,EAAC;AAAE,QAAIa,KAAE;AAAE,aAAQb,KAAE,GAAEA,KAAE7D,GAAE,QAAO6D,KAAI,IAAG7D,IAAEqB,IAAEwC,EAAC,MAAIa,MAAG,KAAI,GAAG1E,IAAEyE,IAAEZ,EAAC,MAAIa,MAAG;AAAI,WAAOA;AAAA,EAAC;AAAE,MAAI9B,KAAE;AAAE,aAAUiB,MAAK7D,GAAE,KAAK,CAAA4C,MAAGxB,GAAEyC,EAAC;AAAE,aAAU7D,MAAK6D,GAAE,KAAK,CAAAjB,MAAGxB,GAAEpB,EAAC;AAAE,MAAIY,KAAE;AAAE,EAAAZ,GAAE,SAAS,GAAE,IAAE,IAAG,CAACA,IAAE6D,OAAIjD,MAAGiD,KAAE,IAAE,EAAC;AAAG,QAAMS,KAAE1D,MAAGZ,GAAE,SAAOA,GAAE,SAAO,KAAIW,KAAE,KAAG,KAAK,MAAM,KAAK,IAAI2D,KAAE,EAAE,IAAE,CAAC;AAAE,SAAOjD,KAAE,IAAEuB,KAAEjC;AAAC;AAAC,SAAS,GAAGX,IAAE6D,KAAE,OAAM,IAAE,CAAA,GAAG;AAAC,QAAMxC,KAAE,WAAS,EAAE,MAAI,EAAE,MAAI;AAAS,IAAC,SAASrB,IAAE;AAAC,QAAG,CAAC,GAAG,SAASA,EAAC,EAAE,OAAM,IAAI,MAAM,iCAAiCA,EAAC,eAAe,EAAE,EAAE;AAAA,EAAC,GAAEqB,EAAC;AAAE,QAAM,IAAE,WAAS,EAAE,WAAS,EAAE,YAAS,SAASrB,IAAE;AAAC,QAAI6D,KAAE;AAAU,aAAQW,MAAKxE,GAAE,KAAG,CAAC,GAAG,SAAS,QAAQ,IAAIwE,EAAC,MAAIX,KAAE,gBAAe,CAAC,GAAG,SAAS,YAAY,IAAIW,EAAC,GAAG,QAAM;AAAO,WAAOX;AAAA,EAAC,GAAE7D,EAAC;AAAE,IAAC,SAASA,IAAE;AAAC,QAAG,CAAC,GAAG,SAASA,EAAC,EAAE,OAAM,IAAI,MAAM,0BAA0BA,EAAC,eAAe,EAAE,EAAE;AAAE,QAAG,YAAUA,MAAG,UAAQA,GAAE,OAAM,IAAI,MAAM,aAAaA,EAAC,2BAA2B;AAAA,EAAC,GAAE,CAAC,GAAE,WAAS,EAAE,SAAM,SAASA,IAAE;AAAC,QAAG,CAAC,CAAC,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,CAAC,EAAE,SAASA,EAAC,KAAG,CAAC,GAAGA,EAAC,EAAE,OAAM,IAAI,MAAM,gBAAgBA,EAAC,0BAA0B;AAAA,EAAC,GAAE,EAAE,IAAI;AAAE,MAAI,GAAE,IAAE,EAAE,SAAQ,IAAE,IAAI,MAAM,eAAe;AAAE,MAAG,WAAS,EAAE,GAAC,SAASA,IAAE;AAAC,QAAG,CAAC,OAAO,cAAcA,EAAC,KAAGA,KAAE,KAAGA,KAAE,GAAG,OAAM,IAAI,MAAM,mBAAmBA,EAAC,2BAA2B;AAAA,EAAC,GAAE,CAAC,GAAE,IAAE,GAAG,GAAEqB,IAAErB,IAAE,CAAC;AAAA,MAAO,UAAQ6D,KAAE,GAAEA,MAAG,IAAGA,KAAI,KAAG;AAAC,QAAE,GAAGA,IAAExC,IAAErB,IAAE,CAAC,GAAE,IAAE6D;AAAE;AAAA,EAAK,SAAO7D,IAAE;AAAC,QAAEA;AAAA,EAAC;AAAC,MAAG,CAAC,KAAG,CAAC,EAAE,OAAM;AAAE,MAAIoB,MAAE,SAASpB,IAAE6D,IAAEW,IAAEnD,IAAE;AAAC,QAAG,WAASA,IAAE;AAAC,YAAMoD,MAAE,WAAU;AAAC,YAAIzE,IAAE6D,KAAE,IAAE;AAAE,eAAM,EAAC,IAAIW,IAAEnD,IAAE;AAAC,UAAAmD,MAAGX,OAAI7D,KAAEqB,IAAEwC,KAAEW;AAAA,QAAE,GAAE,KAAI,MAAIxE,IAAE,OAAM,MAAI6D,GAAC;AAAA,MAAC,GAAC;AAAG,eAAQxC,KAAE,GAAEA,KAAE,GAAG,QAAOA,KAAI,CAAAoD,GAAE,IAAI,GAAG,GAAGzE,IAAE6D,IAAEW,IAAEnD,IAAE,IAAE,CAAC,GAAEA,EAAC;AAAE,MAAAA,KAAEoD,GAAE;IAAK;AAAC,QAAG,WAASpD,GAAE,OAAM,IAAI,MAAM,kBAAkB;AAAE,WAAO,GAAGrB,IAAE6D,IAAEW,IAAEnD,EAAC;AAAA,EAAC,GAAE,GAAEA,IAAE,GAAE,EAAE,IAAI;AAAE,EAAAD,GAAE,YAAW;AAAG,QAAMwB,KAAE,WAAS,EAAE,SAAO,IAAE,EAAE;AAAO,MAAG,CAAC,OAAO,cAAcA,EAAC,EAAE,OAAM,IAAI,MAAM,uBAAqB,OAAOA,EAAC;AAAE,MAAGxB,KAAEA,GAAE,OAAOwB,IAAE,KAAE,GAAE,WAAS,EAAE,UAAQxB,KAAEA,GAAE,MAAM,EAAE,KAAK,IAAG,UAAQyC,GAAE,QAAOzC,GAAE;AAAK,MAAG,YAAUyC,GAAE,QAAOzC,GAAE,QAAO;AAAG,MAAG,UAAQyC,GAAE,QAAOzC,GAAE,MAAK;AAAG,MAAG,UAAQyC,GAAE,QAAOzC,GAAE;AAAQ,MAAG,WAASyC,GAAE,QAAOzC,GAAE,OAAM;AAAG,QAAM,IAAI,MAAM,mBAAmByC,EAAC,EAAE;AAAC;AAAC,MAAM,KAAG,EAAC,SAAQ,WAAU,QAAO,UAAS,sBAAqB,uBAAsB,iBAAgB,iCAAgC,wBAAuB,mCAAkC,eAAc,EAAC,kBAAiB,iFAAgF,uBAAsB,gIAA+H,8BAA6B,oGAAmG,6BAA4B,6BAA4B,GAAE,eAAc,EAAC,4BAA2B,uFAAsF,yBAAwB,wDAAuD,0BAAyB,sGAAqG,YAAW,aAAY,GAAE,cAAa,EAAC,0BAAyB,qHAAoH,GAAE,iBAAgB,EAAC,gBAAe,gCAA+B,YAAW,cAAa,gBAAe,iBAAgB,EAAC;AAAE,MAAM,GAAE;AAAA,EAAC,YAAY7D,IAAE;AAAC,QAAI6D;AAAE,SAAK,eAAa,IAAG,KAAK,mBAAiB,CAAC,MAAK,MAAK,MAAK,MAAK,MAAK,IAAI,GAAE,KAAK,UAAQ,UAAQA,KAAE,QAAM7D,KAAE,SAAOA,GAAE,YAAU,WAAS6D,KAAEA,KAAE;AAAA,EAAqF;AAAA,EAAC,qBAAoB;AAAC,SAAI,UAAU,aAAW,CAAC,UAAU,QAAQ,GAAG,MAAM,CAAA7D,OAAGA,GAAE,cAAc,WAAW,IAAI,EAAC,EAAG,QAAM;AAAK,UAAMA,KAAE,UAAU,SAAS,YAAW,EAAG,MAAM,GAAG,EAAE,CAAC;AAAE,WAAO,KAAK,iBAAiB,SAASA,EAAC,IAAEA,KAAE;AAAA,EAAI;AAAA,EAAC,MAAM,KAAKA,IAAE;AAAC,UAAM6D,KAAE,KAAK,wBAAsB7D,GAAE;AAAY,UAAM,KAAK,iBAAiB6D,EAAC;AAAA,EAAC;AAAA,EAAC,MAAM,iBAAiB7D,IAAE;AAAC,UAAM6D,KAAE7D,GAAE,MAAM,GAAG,EAAE,CAAC;AAAE,QAAG,SAAO6D,MAAG,KAAK,iBAAiB,SAASA,EAAC,EAAE,KAAG;AAAC,YAAM7D,KAAE,GAAG,KAAK,OAAO,IAAI6D,EAAC,SAAQ,IAAE,MAAM,MAAM7D,EAAC;AAAE,UAAG,CAAC,EAAE,GAAG,OAAM,IAAI,MAAM,uBAAuB,EAAE,MAAM,EAAE;AAAE,WAAK,eAAa,MAAM,EAAE,KAAI;AAAA,IAAE,SAAOA,IAAE;AAAC,cAAQ,KAAK,oBAAoB6D,EAAC,2CAA0C7D,EAAC,GAAE,KAAK,eAAa;AAAA,IAAE;AAAA,QAAM,MAAK,eAAa;AAAA,EAAE;AAAA,EAAC,EAAEA,IAAE;AAAC,WAAO,KAAK,qBAAqBA,IAAE,KAAK,YAAY,KAAGA;AAAA,EAAC;AAAA,EAAC,qBAAqBA,IAAE6D,IAAE;AAAC,UAAM,IAAE7D,GAAE,MAAM,GAAG;AAAE,QAAIqB,KAAEwC;AAAE,eAAU7D,MAAK,GAAE;AAAC,UAAG,YAAU,OAAOqB,GAAE,QAAM;AAAG,MAAAA,KAAEA,GAAErB,EAAC;AAAA,IAAC;AAAC,WAAM,YAAU,OAAOqB,KAAEA,KAAE;AAAA,EAAE;AAAC;AAAC,IAAI;AAAG,EAAC,SAASrB,IAAE;AAAC,EAAAA,GAAE,mBAAiB,oBAAmBA,GAAE,2BAAyB,4BAA2BA,GAAE,2BAAyB;AAA0B,GAAE,OAAK,KAAG,CAAA,EAAG;AAAE,MAAM,KAAG,MAAK;AAAA,EAAC,YAAYA,IAAE;AAAC,OAAG,MAAKA,EAAC,GAAE,KAAK,QAAM,GAAG,MAAK,OAAS,GAAE,KAAK,yBAAuB,GAAG,MAAK,wBAA0B,GAAE,KAAK,iBAAe,GAAG,MAAK,gBAAkB,GAAE,KAAK,OAAK,QAAO,KAAK,aAAW,QAAO,KAAK,gBAAc,QAAO,KAAK,MAAI,GAAE,KAAK,eAAa,MAAG,KAAK,qBAAmB,OAAG,KAAK,UAAQ,KAAK,QAAQ,KAAK,IAAI,GAAE,KAAK,kCAAgC,KAAK,gCAAgC,KAAK,IAAI,GAAE,KAAK,SAAO,KAAK,OAAO,KAAK,IAAI,GAAE,KAAK,SAAO,KAAK,OAAO,KAAK,IAAI,GAAE,KAAK,OAAO,KAAK,gBAAc,IAAE,CAAC,GAAE,KAAK,eAAa,IAAI;AAAA,EAAE;AAAA,EAAC,mBAAkB;AAAC,SAAK,eAAe,KAAK,EAAC,OAAM,GAAG,kBAAiB,QAAO,EAAC,oBAAmB,OAAG,KAAI,MAAI,KAAK,MAAI,YAAU,SAAQ,EAAC,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,oBAAmB;AAAC,UAAM,KAAK,aAAa,KAAK,EAAC,aAAY,KAAI,CAAC,GAAE,KAAK,qBAAmB;AAAA,EAAE;AAAA,EAAC,oBAAoBA,IAAE;AAAC,IAAAA,KAAE,KAAK,OAAO,CAAC,IAAE,KAAK,OAAO,CAAC;AAAA,EAAC;AAAA,EAAC,QAAQA,KAAE,OAAG;AAAC,SAAK,MAAM,KAAK,EAAC,iBAAgBA,GAAC,CAAC;AAAA,EAAC;AAAA,EAAC,kCAAiC;AAAC,SAAK,eAAe,KAAK,EAAC,OAAM,GAAG,0BAAyB,QAAO,EAAC,aAAY,qBAAoB,KAAI,UAAS,EAAC,CAAC,GAAE,KAAK,uBAAuB,KAAI;AAAA,EAAE;AAAA,EAAC,OAAOA,IAAE6D,KAAE,OAAG;AAAC,IAAAA,MAAG,KAAK,eAAe,KAAK,EAAC,OAAM,GAAG,0BAAyB,QAAO,EAAC,QAAO,MAAI,KAAK,MAAI,sBAAoB,oBAAmB,EAAC,CAAC,GAAE,KAAK,MAAI7D,IAAE,KAAK,eAAa;AAAA,EAAE;AAAA,EAAC,SAAQ;AAAC,QAAG,CAAC,KAAK,mBAAmB,QAAO;AAAK,UAAMA,KAAE,CAAAA,OAAG,KAAK,aAAa,EAAEA,EAAC,GAAE6D,KAAE,KAAK,eAAa,KAAK,gBAAc,IAAE,IAAE,KAAK,KAAI,IAAE,GAAG,KAAK,MAAK,OAAM,EAAC,KAAI,UAAS,OAAM,EAAC,CAAC;AAAE,WAAO,GAAG,IAAG,EAAC,WAAU,gBAAe,GAAE,GAAG,OAAM,EAAC,OAAM,YAAW,SAAQ,MAAI,KAAK,QAAQ,IAAE,EAAC,CAAC,GAAE,GAAG,OAAM,EAAC,OAAM,QAAO,GAAE,GAAG,OAAM,EAAC,OAAM,uBAAsB,GAAE,GAAG,OAAM,EAAC,OAAM,QAAO,GAAE,GAAG,QAAO,EAAC,OAAM,eAAc,SAAQ,MAAI,KAAK,QAAQ,IAAE,EAAC,GAAE,GAAG,IAAG,IAAI,CAAC,CAAC,CAAC,GAAE,GAAG,OAAM,EAAC,OAAM,gBAAe,GAAE,GAAG,IAAG,IAAI,CAAC,GAAE,GAAG,OAAM,MAAK,GAAG,OAAM,EAAC,OAAM,eAAc,GAAE,GAAG,OAAM,EAAC,OAAM,gBAAe,GAAE,GAAG,OAAM,EAAC,SAAQ,MAAI,KAAK,OAAO,GAAE,IAAE,GAAE,OAAM,mBAAiB,MAAIA,KAAE,cAAY,IAAG,GAAE7D,GAAE,SAAS,CAAC,GAAE,GAAG,OAAM,EAAC,SAAQ,MAAI,KAAK,OAAO,GAAE,IAAE,GAAE,OAAM,mBAAiB,MAAI6D,KAAE,cAAY,IAAG,GAAE7D,GAAE,QAAQ,CAAC,CAAC,CAAC,GAAE,GAAG,OAAM,EAAC,OAAM,EAAC,SAAQ,MAAI6D,KAAE,SAAO,QAAO,EAAC,GAAE,GAAG,OAAM,EAAC,OAAM,gBAAe,GAAE,GAAG,OAAM,EAAC,OAAM,YAAW,OAAM,EAAC,WAAU,UAAS,WAAU,IAAG,EAAC,GAAE,KAAG,GAAG,OAAM,EAAC,IAAG,iBAAgB,OAAM,UAAS,WAAU,EAAC,CAAC,GAAE,GAAG,OAAM,EAAC,OAAM,oBAAmB,GAAE7D,GAAE,iBAAiB,GAAE,KAAI,GAAG,MAAK,IAAI,GAAE,GAAG,QAAO,EAAC,OAAM,OAAM,GAAE,GAAG,KAAI,MAAKA,GAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,GAAG,OAAM,EAAC,OAAM,EAAC,SAAQ,MAAI6D,KAAE,SAAO,QAAO,EAAC,GAAE,GAAG,OAAM,EAAC,OAAM,OAAM,GAAE,GAAG,IAAG,EAAC,MAAK,IAAG,MAAK7D,GAAE,gCAAgC,EAAC,CAAC,CAAC,GAAE,GAAG,OAAM,EAAC,OAAM,OAAM,GAAE,GAAG,IAAG,EAAC,MAAK,IAAG,MAAKA,GAAE,qCAAqC,EAAC,CAAC,CAAC,GAAE,GAAG,OAAM,EAAC,OAAM,OAAM,GAAE,GAAG,IAAG,EAAC,MAAK,IAAG,MAAKA,GAAE,4CAA4C,EAAC,CAAC,CAAC,GAAE,GAAG,UAAS,EAAC,OAAM,UAAS,SAAQ,MAAI,KAAK,kCAAiC,GAAE,GAAG,IAAG,IAAI,GAAE,GAAG,QAAO,EAAC,OAAM,uBAAsB,GAAEA,GAAE,2CAA2C,CAAC,CAAC,CAAC,CAAC,GAAE,GAAG,IAAG,EAAC,SAAQ,KAAK,WAAU,CAAC,CAAC,CAAC;AAAA,EAAC;AAAA,EAAC,IAAI,KAAI;AAAC,WAAO,GAAG,IAAI;AAAA,EAAC;AAAA,EAAC,WAAW,WAAU;AAAC,WAAM,EAAC,eAAc,CAAC,qBAAqB,EAAC;AAAA,EAAC;AAAC;AAAE,GAAG,QAAM;AAA2gG,MAAM,KAAG,MAAK;AAAA,EAAC,YAAYA,IAAE;AAAC,OAAG,MAAKA,EAAC,GAAE,KAAK,QAAM,GAAG,MAAK,OAAS,GAAE,KAAK,aAAW,GAAG,MAAK,YAAc,GAAE,KAAK,iBAAe,GAAG,MAAK,gBAAkB,GAAE,KAAK,aAAW,QAAO,KAAK,aAAW,QAAO,KAAK,UAAQ,QAAO,KAAK,qBAAmB,OAAG,KAAK,eAAa,IAAI;AAAA,EAAE;AAAA,EAAC,MAAM,oBAAmB;AAAC,UAAM,KAAK,aAAa,KAAK,EAAC,aAAY,KAAI,CAAC,GAAE,KAAK,qBAAmB;AAAA,EAAE;AAAA,EAAC,UAAS;AAAC,SAAK,MAAM,KAAI;AAAA,EAAE;AAAA,EAAC,eAAc;AAAC,SAAK,WAAW;EAAM;AAAA,EAAC,wBAAwBA,IAAE;AAAC,SAAK,eAAe,KAAK,EAAC,UAASA,GAAC,CAAC;AAAA,EAAC;AAAA,EAAC,uBAAsB;AAAC,SAAK,QAAO;AAAA,EAAE;AAAA,EAAC,SAAQ;AAAC,QAAIA;AAAE,QAAG,CAAC,KAAK,mBAAmB,QAAO;AAAK,UAAM6D,KAAE,UAAQ7D,KAAE,KAAK,eAAa,WAASA,MAAGA,IAAE,IAAE,KAAK,YAAWqB,KAAE,CAAArB,OAAG,KAAK,aAAa,EAAEA,EAAC;AAAE,WAAO,GAAG,IAAG,EAAC,WAAU,gBAAe,GAAE,GAAG,OAAM,EAAC,OAAM,YAAW,SAAQ,MAAI,KAAK,QAAO,EAAE,CAAC,GAAE,GAAG,OAAM,EAAC,OAAM,QAAO,GAAE,GAAG,OAAM,EAAC,OAAM,uBAAsB,GAAE,GAAG,OAAM,EAAC,OAAM,QAAO,GAAE,GAAG,QAAO,EAAC,OAAM,eAAc,SAAQ,MAAI,KAAK,QAAO,EAAE,GAAE,GAAG,IAAG,IAAI,CAAC,CAAC,CAAC,GAAE,GAAG,OAAM,EAAC,OAAM,gBAAe,GAAE,GAAG,IAAG,IAAI,CAAC,GAAE,GAAG,OAAM,MAAK,GAAG,OAAM,EAAC,OAAM,iBAAgB,OAAM,EAAC,eAAc,UAAS,OAAM,QAAO,EAAC,GAAE,GAAG,OAAM,EAAC,OAAM,YAAW,OAAM,EAAC,WAAU,UAAS,WAAU,QAAO,cAAa,QAAO,UAAS,OAAM,EAAC,GAAEqB,GAAEwC,KAAE,6CAA2C,uCAAuC,CAAC,GAAE,GAAG,OAAM,EAAC,IAAG,oBAAmB,OAAM,EAAC,SAAQ,QAAO,UAAS,QAAO,SAAQ,KAAK,UAAQ,UAAQ,OAAM,EAAC,GAAE,KAAK,OAAO,GAAEA,MAAG,GAAG,OAAM,EAAC,OAAM,SAAQ,GAAE,MAAKxC,GAAE,wCAAwC,CAAC,CAAC,GAAE,GAAG,OAAM,EAAC,OAAM,EAAC,WAAU,OAAM,EAAC,GAAE,GAAG,UAAS,EAAC,OAAM,eAAc,OAAM,EAAC,WAAU,OAAM,OAAM,WAAU,aAAY,WAAU,aAAY,OAAM,aAAY,SAAQ,iBAAgB,QAAO,GAAE,SAAQ,MAAI,KAAK,aAAY,EAAE,GAAEA,GAAE,0BAA0B,CAAC,CAAC,CAAC,GAAE,GAAG,IAAG,EAAC,SAAQ,EAAC,CAAC,CAAC,CAAC;AAAA,EAAC;AAAA,EAAC,IAAI,KAAI;AAAC,WAAO,GAAG,IAAI;AAAA,EAAC;AAAC;AAAE,GAAG,QAAM;AAA2gG,MAAM,KAAG,MAAI,GAAG,OAAM,EAAC,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,MAAK,QAAO,OAAM,6BAA4B,GAAE,GAAG,QAAO,EAAC,GAAE,i9BAAg9B,MAAK,QAAO,CAAC,CAAC,GAAE,KAAG,MAAI,GAAG,OAAM,EAAC,OAAM,OAAM,QAAO,OAAM,SAAQ,eAAc,MAAK,QAAO,OAAM,6BAA4B,GAAE,GAAG,QAAO,EAAC,OAAM,OAAM,QAAO,OAAM,MAAK,QAAO,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,0QAAyQ,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,qEAAoE,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,6DAA4D,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,2HAA0H,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,oEAAmE,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,2DAA0D,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,mIAAkI,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,mEAAkE,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,oGAAmG,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,mEAAkE,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,4FAA2F,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,6IAA4I,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,2IAA0I,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,wGAAuG,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,6FAA4F,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,oFAAmF,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,6FAA4F,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,qFAAoF,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,wFAAuF,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,qDAAoD,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,yEAAwE,MAAK,UAAS,CAAC,GAAE,GAAG,QAAO,EAAC,GAAE,yEAAwE,MAAK,UAAS,CAAC,CAAC,GAAE,KAAG,MAAK;AAAA,EAAC,YAAYrB,IAAE;AAAC,OAAG,MAAKA,EAAC,GAAE,KAAK,QAAM,GAAG,MAAK,OAAS,GAAE,KAAK,uBAAqB,GAAG,MAAK,sBAAwB,GAAE,KAAK,OAAK,QAAO,KAAK,aAAW,QAAO,KAAK,gBAAc,QAAO,KAAK,MAAI,GAAE,KAAK,eAAa,MAAG,KAAK,qBAAmB,OAAG,KAAK,eAAa,IAAI,MAAG,KAAK,OAAO,KAAK,gBAAc,IAAE,CAAC;AAAA,EAAC;AAAA,EAAC,MAAM,oBAAmB;AAAC,UAAM,KAAK,aAAa,KAAK,EAAC,aAAY,KAAI,CAAC,GAAE,KAAK,qBAAmB;AAAA,EAAE;AAAA,EAAC,QAAQA,KAAE,OAAG;AAAC,SAAK,MAAM,KAAK,EAAC,iBAAgBA,GAAC,CAAC;AAAA,EAAC;AAAA,EAAC,8BAA6B;AAAC,SAAK,qBAAqB,KAAI;AAAA,EAAE;AAAA,EAAC,OAAOA,IAAE;AAAC,SAAK,MAAIA,IAAE,KAAK,eAAa;AAAA,EAAE;AAAA,EAAC,uBAAsB;AAAC,SAAK,QAAO;AAAA,EAAE;AAAA,EAAC,oBAAoBA,IAAE;AAAC,IAAAA,KAAE,KAAK,OAAO,CAAC,IAAE,KAAK,OAAO,CAAC;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,QAAG,CAAC,KAAK,mBAAmB,QAAO;AAAK,UAAMA,KAAE,CAAAA,OAAG,KAAK,aAAa,EAAEA,EAAC,GAAE6D,KAAE,KAAK,YAAW,IAAE,KAAK,eAAa,KAAK,gBAAc,IAAE,IAAE,KAAK,KAAIxC,KAAE,GAAG,KAAK,MAAK,OAAM,EAAC,KAAI,UAAS,OAAM,EAAC,CAAC;AAAE,WAAO,GAAG,IAAG,EAAC,WAAU,eAAc,GAAE,GAAG,OAAM,EAAC,OAAM,YAAW,SAAQ,MAAI,KAAK,QAAQ,IAAE,EAAC,CAAC,GAAE,GAAG,OAAM,EAAC,OAAM,QAAO,GAAE,GAAG,OAAM,EAAC,OAAM,uBAAsB,GAAE,GAAG,OAAM,EAAC,OAAM,QAAO,GAAE,GAAG,QAAO,EAAC,OAAM,eAAc,SAAQ,MAAI,KAAK,QAAQ,IAAE,EAAC,GAAE,GAAG,IAAG,IAAI,CAAC,CAAC,CAAC,GAAE,GAAG,OAAM,EAAC,OAAM,gBAAe,GAAE,GAAG,IAAG,IAAI,CAAC,GAAE,GAAG,OAAM,MAAK,GAAG,OAAM,EAAC,OAAM,eAAc,GAAE,GAAG,OAAM,EAAC,OAAM,gBAAe,GAAE,GAAG,OAAM,EAAC,SAAQ,MAAI,KAAK,OAAO,CAAC,GAAE,OAAM,mBAAiB,MAAI,IAAE,cAAY,IAAG,GAAErB,GAAE,SAAS,CAAC,GAAE,GAAG,OAAM,EAAC,SAAQ,MAAI,KAAK,OAAO,CAAC,GAAE,OAAM,mBAAiB,MAAI,IAAE,cAAY,IAAG,GAAEA,GAAE,QAAQ,CAAC,CAAC,CAAC,GAAE,GAAG,OAAM,EAAC,OAAM,EAAC,SAAQ,MAAI,IAAE,SAAO,QAAO,EAAC,GAAE,GAAG,OAAM,EAAC,OAAM,gBAAe,GAAE,GAAG,OAAM,EAAC,OAAM,YAAW,OAAM,EAAC,WAAU,UAAS,WAAU,IAAG,EAAC,GAAE,GAAG,OAAM,EAAC,OAAM,UAAS,IAAG,iBAAgB,WAAUqB,GAAC,CAAC,GAAE,GAAG,OAAM,EAAC,OAAM,oBAAmB,GAAErB,GAAE,iBAAiB,GAAE,GAAG,MAAK,IAAI,GAAE,GAAG,QAAO,EAAC,OAAM,OAAM,GAAE,GAAG,KAAI,MAAKA,GAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,GAAG,OAAM,EAAC,OAAM,EAAC,SAAQ,MAAI,IAAE,SAAO,QAAO,EAAC,GAAE,GAAG,OAAM,EAAC,OAAM,EAAC,SAAQ,QAAO,gBAAe,UAAS,QAAO,OAAM,WAAU,MAAK,EAAC,GAAE,GAAG,IAAG,IAAI,CAAC,GAAE,GAAG,OAAM,EAAC,OAAM,iBAAgB,GAAEA,GAAE,uCAAuC,CAAC,GAAE,GAAG,UAAS,EAAC,OAAM,UAAS,SAAQ,MAAI,KAAK,4BAA2B,EAAE,GAAE,GAAG,IAAG,IAAI,GAAE,GAAG,QAAO,EAAC,OAAM,uBAAsB,GAAEA,GAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,GAAE,GAAG,IAAG,EAAC,SAAQ6D,GAAC,CAAC,CAAC,CAAC;AAAA,EAAC;AAAA,EAAC,IAAI,KAAI;AAAC,WAAO,GAAG,IAAI;AAAA,EAAC;AAAA,EAAC,WAAW,WAAU;AAAC,WAAM,EAAC,eAAc,CAAC,qBAAqB,EAAC;AAAA,EAAC;AAAC;AAAE,GAAG,QAAM;AAA2gG,IAAI,KAAG,OAAO,OAAO,EAAC,WAAU,MAAK,kBAAiB,IAAG,kBAAiB,IAAG,iBAAgB,GAAE,CAAC;","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]}