@powerhousedao/connect 1.0.4 → 1.0.9-dev.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 (273) hide show
  1. package/README.md +1 -0
  2. package/dist/.env +11 -6
  3. package/dist/assets/app-D9QJBr8i.css +5652 -0
  4. package/dist/assets/app-Uu65do7x.js +79314 -0
  5. package/dist/assets/app-loader-Bnp0H-wa.css +5497 -0
  6. package/dist/assets/app-loader-BnxLpX27.js +31458 -0
  7. package/dist/assets/ccip-CpD5P3bc.js +170 -0
  8. package/dist/assets/connect-loader-CvOC68Ih.mp4 +0 -0
  9. package/dist/assets/content-DV_bRXbH.js +3937 -0
  10. package/dist/assets/home-bg-BEhF9NuW.png +0 -0
  11. package/dist/assets/index-B4m3ucR9.js +12 -0
  12. package/dist/assets/index-Ch_NXi_f.js +46414 -0
  13. package/dist/assets/index-yrCJMRn6.js +2560 -0
  14. package/dist/assets/main.CpORyZoE.js +105 -0
  15. package/dist/assets/powerhouse-rounded-CeKGGUG4.png +0 -0
  16. package/dist/assets/renown-short-hover-BiSLBV7L.png +0 -0
  17. package/dist/assets/rwa-report-Bb0W5-ac.png +0 -0
  18. package/dist/assets/style-D4JhTt_m.css +1663 -0
  19. package/dist/external-packages.js +5 -0
  20. package/dist/hmr.js +4 -0
  21. package/dist/icon.ico +0 -0
  22. package/dist/index.html +48 -10
  23. package/dist/modules/@powerhousedao/reactor-browser/chunk-2ESYSVXG.js +48 -0
  24. package/dist/modules/@powerhousedao/reactor-browser/chunk-2X2M6BYG.js +2542 -0
  25. package/dist/modules/@powerhousedao/reactor-browser/chunk-45DCPCA7.js +67 -0
  26. package/dist/modules/@powerhousedao/reactor-browser/chunk-6MBHOHAA.js +2513 -0
  27. package/dist/modules/@powerhousedao/reactor-browser/chunk-7OQWVUC5.js +43 -0
  28. package/dist/modules/@powerhousedao/reactor-browser/chunk-DKDARAJS.js +0 -0
  29. package/dist/modules/@powerhousedao/reactor-browser/chunk-F3RCGUF6.js +53 -0
  30. package/dist/modules/@powerhousedao/reactor-browser/chunk-FQF4YAVC.js +11917 -0
  31. package/dist/modules/@powerhousedao/reactor-browser/chunk-FW7N6EJH.js +786 -0
  32. package/dist/modules/@powerhousedao/reactor-browser/chunk-G6LMXRY5.js +50 -0
  33. package/dist/modules/@powerhousedao/reactor-browser/chunk-GDP7BUIH.js +45 -0
  34. package/dist/modules/@powerhousedao/reactor-browser/chunk-IC6B3767.js +82 -0
  35. package/dist/modules/@powerhousedao/reactor-browser/chunk-IQTSFTNF.js +48 -0
  36. package/dist/modules/@powerhousedao/reactor-browser/chunk-J5TYPY7U.js +36 -0
  37. package/dist/modules/@powerhousedao/reactor-browser/chunk-LH2T6NLN.js +0 -0
  38. package/dist/modules/@powerhousedao/reactor-browser/chunk-LRNZZ3SR.js +14 -0
  39. package/dist/modules/@powerhousedao/reactor-browser/chunk-M2UUQ5LH.js +250 -0
  40. package/dist/modules/@powerhousedao/reactor-browser/chunk-N5UNGAA6.js +14051 -0
  41. package/dist/modules/@powerhousedao/reactor-browser/chunk-OVGOA2P5.js +11 -0
  42. package/dist/modules/@powerhousedao/reactor-browser/chunk-OYYVE7RP.js +178 -0
  43. package/dist/modules/@powerhousedao/reactor-browser/chunk-P6NJ6IAQ.js +12 -0
  44. package/dist/modules/@powerhousedao/reactor-browser/chunk-QXHTR6KF.js +0 -0
  45. package/dist/modules/@powerhousedao/reactor-browser/chunk-RGIB4DD4.js +162 -0
  46. package/dist/modules/@powerhousedao/reactor-browser/chunk-U36SV333.js +0 -0
  47. package/dist/modules/@powerhousedao/reactor-browser/chunk-UDKYG6I4.js +113 -0
  48. package/dist/modules/@powerhousedao/reactor-browser/chunk-XBTEGV5M.js +17 -0
  49. package/dist/modules/@powerhousedao/reactor-browser/chunk-Y7NTRTMT.js +25 -0
  50. package/dist/modules/@powerhousedao/reactor-browser/chunk-YG67WAIS.js +0 -0
  51. package/dist/modules/@powerhousedao/reactor-browser/chunk-YWKVPJNL.js +52 -0
  52. package/dist/modules/@powerhousedao/reactor-browser/chunk-ZL5IPB6D.js +0 -0
  53. package/dist/modules/@powerhousedao/reactor-browser/context/index.js +16 -0
  54. package/dist/modules/@powerhousedao/reactor-browser/context/read-mode.js +15 -0
  55. package/dist/modules/@powerhousedao/reactor-browser/crypto/browser.js +7 -0
  56. package/dist/modules/@powerhousedao/reactor-browser/crypto/index.js +7 -0
  57. package/dist/modules/@powerhousedao/reactor-browser/document-model.js +10 -0
  58. package/dist/modules/@powerhousedao/reactor-browser/hooks/document-state.js +96 -0
  59. package/dist/modules/@powerhousedao/reactor-browser/hooks/index.js +98 -0
  60. package/dist/modules/@powerhousedao/reactor-browser/hooks/useAddDebouncedOperations.js +11 -0
  61. package/dist/modules/@powerhousedao/reactor-browser/hooks/useConnectCrypto.js +12 -0
  62. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocument.js +7 -0
  63. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentDispatch.js +7 -0
  64. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentDrives.js +13 -0
  65. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentEditor.js +20 -0
  66. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDriveActions.js +9 -0
  67. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDriveActionsWithUiNodes.js +14 -0
  68. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDriveContext.js +9 -0
  69. package/dist/modules/@powerhousedao/reactor-browser/hooks/useUiNodesContext.js +46 -0
  70. package/dist/modules/@powerhousedao/reactor-browser/hooks/useUserPermissions.js +7 -0
  71. package/dist/modules/@powerhousedao/reactor-browser/index.js +125 -0
  72. package/dist/modules/@powerhousedao/reactor-browser/reactor.js +11 -0
  73. package/dist/modules/@powerhousedao/reactor-browser/renown/constants.js +53 -0
  74. package/dist/modules/@powerhousedao/reactor-browser/renown/types.js +1 -0
  75. package/dist/modules/@powerhousedao/reactor-browser/storage/index.js +1 -0
  76. package/dist/modules/@powerhousedao/reactor-browser/storage/types.js +1 -0
  77. package/dist/modules/@powerhousedao/reactor-browser/uiNodes/constants.js +37 -0
  78. package/dist/modules/@powerhousedao/reactor-browser/uiNodes/types.js +1 -0
  79. package/dist/modules/@powerhousedao/reactor-browser/utils/export-document.js +8 -0
  80. package/dist/modules/@powerhousedao/reactor-browser/utils/index.js +9 -0
  81. package/dist/modules/@powerhousedao/reactor-browser/utils/signature.js +10 -0
  82. package/dist/service-worker.js +46 -2
  83. package/dist/swEnv.js +9 -8
  84. package/dist/vite-envs.sh +56 -35
  85. package/nginx.conf +93 -0
  86. package/nginx.sh +10 -0
  87. package/package.json +36 -50
  88. package/dist/assets/ArrowFilledRight-blx8xu7X-D3d8PUWh.js +0 -2
  89. package/dist/assets/ArrowFilledRight-blx8xu7X-D3d8PUWh.js.map +0 -1
  90. package/dist/assets/ArrowLeft-7pYNK4eX-8ZR_YHAJ.js +0 -2
  91. package/dist/assets/ArrowLeft-7pYNK4eX-8ZR_YHAJ.js.map +0 -1
  92. package/dist/assets/ArrowUp-Bbr_dwo_-C5ppCQo4.js +0 -2
  93. package/dist/assets/ArrowUp-Bbr_dwo_-C5ppCQo4.js.map +0 -1
  94. package/dist/assets/BarChart-B0G05Nfd-CHDJ7OaJ.js +0 -2
  95. package/dist/assets/BarChart-B0G05Nfd-CHDJ7OaJ.js.map +0 -1
  96. package/dist/assets/BaseArrowLeft-DBzhFHMt-Dkbf2sWs.js +0 -2
  97. package/dist/assets/BaseArrowLeft-DBzhFHMt-Dkbf2sWs.js.map +0 -1
  98. package/dist/assets/BaseArrowRight-DYQTBWAs-CkkPllYm.js +0 -2
  99. package/dist/assets/BaseArrowRight-DYQTBWAs-CkkPllYm.js.map +0 -1
  100. package/dist/assets/Braces-N-sH2Zyc-3LcexUsR.js +0 -2
  101. package/dist/assets/Braces-N-sH2Zyc-3LcexUsR.js.map +0 -1
  102. package/dist/assets/Branch-CWdBw1_P-CmGdOXsI.js +0 -2
  103. package/dist/assets/Branch-CWdBw1_P-CmGdOXsI.js.map +0 -1
  104. package/dist/assets/BrickGlobe-67zaG6_H-DP0By6z_.js +0 -2
  105. package/dist/assets/BrickGlobe-67zaG6_H-DP0By6z_.js.map +0 -1
  106. package/dist/assets/Briefcase-CedW3KRR-DO5_k15F.js +0 -2
  107. package/dist/assets/Briefcase-CedW3KRR-DO5_k15F.js.map +0 -1
  108. package/dist/assets/Calendar-C-6HV96D-YetudWvP.js +0 -2
  109. package/dist/assets/Calendar-C-6HV96D-YetudWvP.js.map +0 -1
  110. package/dist/assets/Caret-Ep0j0fz2-By3ojfim.js +0 -2
  111. package/dist/assets/Caret-Ep0j0fz2-By3ojfim.js.map +0 -1
  112. package/dist/assets/CaretDown-3X7LFYBf-C43xdKg8.js +0 -2
  113. package/dist/assets/CaretDown-3X7LFYBf-C43xdKg8.js.map +0 -1
  114. package/dist/assets/CaretSort-BkGdLETT-DVOzEEqR.js +0 -2
  115. package/dist/assets/CaretSort-BkGdLETT-DVOzEEqR.js.map +0 -1
  116. package/dist/assets/Check-DV-U4AEq-B582NMZp.js +0 -2
  117. package/dist/assets/Check-DV-U4AEq-B582NMZp.js.map +0 -1
  118. package/dist/assets/CheckCircle-DI5fEgGd-CVF4LDhR.js +0 -2
  119. package/dist/assets/CheckCircle-DI5fEgGd-CVF4LDhR.js.map +0 -1
  120. package/dist/assets/CheckCircleFill-C-F0v5mB-BSW1YMqM.js +0 -2
  121. package/dist/assets/CheckCircleFill-C-F0v5mB-BSW1YMqM.js.map +0 -1
  122. package/dist/assets/Checkmark-BXnfChpo-CyQitGI2.js +0 -2
  123. package/dist/assets/Checkmark-BXnfChpo-CyQitGI2.js.map +0 -1
  124. package/dist/assets/ChevronDown-ouBxrU-k-eUsCPXcB.js +0 -2
  125. package/dist/assets/ChevronDown-ouBxrU-k-eUsCPXcB.js.map +0 -1
  126. package/dist/assets/Circle-n3-Wh4HS-8dOehHQf.js +0 -2
  127. package/dist/assets/Circle-n3-Wh4HS-8dOehHQf.js.map +0 -1
  128. package/dist/assets/CircleInfo-BhZY3C2Q-CZgYK1h2.js +0 -2
  129. package/dist/assets/CircleInfo-BhZY3C2Q-CZgYK1h2.js.map +0 -1
  130. package/dist/assets/ClockFill-Bd0t48q7-CcfHiJtH.js +0 -2
  131. package/dist/assets/ClockFill-Bd0t48q7-CcfHiJtH.js.map +0 -1
  132. package/dist/assets/CloudSlash-B-zJBjaD-CxVyp-Ac.js +0 -2
  133. package/dist/assets/CloudSlash-B-zJBjaD-CxVyp-Ac.js.map +0 -1
  134. package/dist/assets/Collapse-DRDB8Czs-CGcuZQgy.js +0 -2
  135. package/dist/assets/Collapse-DRDB8Czs-CGcuZQgy.js.map +0 -1
  136. package/dist/assets/Connect-Dme-qfKq-CgniLji8.js +0 -2
  137. package/dist/assets/Connect-Dme-qfKq-CgniLji8.js.map +0 -1
  138. package/dist/assets/Discord-CAS0Cj7s-CcsBWpnf.js +0 -2
  139. package/dist/assets/Discord-CAS0Cj7s-CcsBWpnf.js.map +0 -1
  140. package/dist/assets/Drive-GMcgBcIY-CzahDx9j.js +0 -2
  141. package/dist/assets/Drive-GMcgBcIY-CzahDx9j.js.map +0 -1
  142. package/dist/assets/Ellipsis-XK8AwMEC-BuVBeYhB.js +0 -2
  143. package/dist/assets/Ellipsis-XK8AwMEC-BuVBeYhB.js.map +0 -1
  144. package/dist/assets/Error-BmIZ2ZUy-CphzuMLn.js +0 -2
  145. package/dist/assets/Error-BmIZ2ZUy-CphzuMLn.js.map +0 -1
  146. package/dist/assets/Exclamation-CVsNS_QS-DLccamql.js +0 -2
  147. package/dist/assets/Exclamation-CVsNS_QS-DLccamql.js.map +0 -1
  148. package/dist/assets/FilesEarmark-CyrCQy8E-Bhut4E02.js +0 -2
  149. package/dist/assets/FilesEarmark-CyrCQy8E-Bhut4E02.js.map +0 -1
  150. package/dist/assets/FolderClose-DG_qHisc-CH6NoBuu.js +0 -2
  151. package/dist/assets/FolderClose-DG_qHisc-CH6NoBuu.js.map +0 -1
  152. package/dist/assets/FolderOpen-kDoWFkJO-Cciutkdg.js +0 -2
  153. package/dist/assets/FolderOpen-kDoWFkJO-Cciutkdg.js.map +0 -1
  154. package/dist/assets/FolderPlus-CSBSl9lZ-CifD0ek9.js +0 -2
  155. package/dist/assets/FolderPlus-CSBSl9lZ-CifD0ek9.js.map +0 -1
  156. package/dist/assets/Forum-DZ-CkLFh-BwabccAX.js +0 -2
  157. package/dist/assets/Forum-DZ-CkLFh-BwabccAX.js.map +0 -1
  158. package/dist/assets/Gear-cUlHJ4q6-B9R2l_9_.js +0 -2
  159. package/dist/assets/Gear-cUlHJ4q6-B9R2l_9_.js.map +0 -1
  160. package/dist/assets/Github-0PLiINY0-CjkZIHCO.js +0 -2
  161. package/dist/assets/Github-0PLiINY0-CjkZIHCO.js.map +0 -1
  162. package/dist/assets/Globe-CIYqVkpa-CL530H46.js +0 -2
  163. package/dist/assets/Globe-CIYqVkpa-CL530H46.js.map +0 -1
  164. package/dist/assets/GlobeWww-DN4yKujh-Ci7aa5CE.js +0 -2
  165. package/dist/assets/GlobeWww-DN4yKujh-Ci7aa5CE.js.map +0 -1
  166. package/dist/assets/Hdd-Dn_LdJIh-CJ6x9Bve.js +0 -2
  167. package/dist/assets/Hdd-Dn_LdJIh-CJ6x9Bve.js.map +0 -1
  168. package/dist/assets/History-BP4SmaS_-P4WBKyqX.js +0 -2
  169. package/dist/assets/History-BP4SmaS_-P4WBKyqX.js.map +0 -1
  170. package/dist/assets/InfoSquare-C98JaLiz-yPcGR71f.js +0 -2
  171. package/dist/assets/InfoSquare-C98JaLiz-yPcGR71f.js.map +0 -1
  172. package/dist/assets/Link-BF7aZjVu-CXIVQOz6.js +0 -2
  173. package/dist/assets/Link-BF7aZjVu-CXIVQOz6.js.map +0 -1
  174. package/dist/assets/Linkedin-DJwIkS6q-Dkb5Tp_Z.js +0 -2
  175. package/dist/assets/Linkedin-DJwIkS6q-Dkb5Tp_Z.js.map +0 -1
  176. package/dist/assets/Lock-PyaFHdNS-D_qxRTye.js +0 -2
  177. package/dist/assets/Lock-PyaFHdNS-D_qxRTye.js.map +0 -1
  178. package/dist/assets/M-DozhhPMY-DBQw97P_.js +0 -2
  179. package/dist/assets/M-DozhhPMY-DBQw97P_.js.map +0 -1
  180. package/dist/assets/Pencil-D7lvxXIP-D830iveq.js +0 -2
  181. package/dist/assets/Pencil-D7lvxXIP-D830iveq.js.map +0 -1
  182. package/dist/assets/People-CUB8LYKf-CyJmMqcw.js +0 -2
  183. package/dist/assets/People-CUB8LYKf-CyJmMqcw.js.map +0 -1
  184. package/dist/assets/Person-DuL4PQzm-ttQR0nPy.js +0 -2
  185. package/dist/assets/Person-DuL4PQzm-ttQR0nPy.js.map +0 -1
  186. package/dist/assets/Plus-DPFWGJM4-BztpK8li.js +0 -2
  187. package/dist/assets/Plus-DPFWGJM4-BztpK8li.js.map +0 -1
  188. package/dist/assets/PlusCircle-BEnWRjHa-w5zztKGx.js +0 -2
  189. package/dist/assets/PlusCircle-BEnWRjHa-w5zztKGx.js.map +0 -1
  190. package/dist/assets/PowerhouseLogoSmall-CmO95IAS-CDGLkst3.js +0 -2
  191. package/dist/assets/PowerhouseLogoSmall-CmO95IAS-CDGLkst3.js.map +0 -1
  192. package/dist/assets/Project-BlXuclr0-EsBam9d0.js +0 -2
  193. package/dist/assets/Project-BlXuclr0-EsBam9d0.js.map +0 -1
  194. package/dist/assets/RedoArrow-BJeEsiph-BbidqIFP.js +0 -2
  195. package/dist/assets/RedoArrow-BJeEsiph-BbidqIFP.js.map +0 -1
  196. package/dist/assets/Renown-6m7hx37h-CItksi2j.js +0 -2
  197. package/dist/assets/Renown-6m7hx37h-CItksi2j.js.map +0 -1
  198. package/dist/assets/RenownHover-CQ0TZHZv-cYQgnwQW.js +0 -2
  199. package/dist/assets/RenownHover-CQ0TZHZv-cYQgnwQW.js.map +0 -1
  200. package/dist/assets/Ring-DKv0gnwT-CDHLz87h.js +0 -2
  201. package/dist/assets/Ring-DKv0gnwT-CDHLz87h.js.map +0 -1
  202. package/dist/assets/Save-BBxj68pn-BkUvn89C.js +0 -2
  203. package/dist/assets/Save-BBxj68pn-BkUvn89C.js.map +0 -1
  204. package/dist/assets/Search-YUJuRBLe-CecGUkZA.js +0 -2
  205. package/dist/assets/Search-YUJuRBLe-CecGUkZA.js.map +0 -1
  206. package/dist/assets/Server-Bfkkjui1-lBan_3Dm.js +0 -2
  207. package/dist/assets/Server-Bfkkjui1-lBan_3Dm.js.map +0 -1
  208. package/dist/assets/Settings-mbbylBS5-Cca-sV-_.js +0 -2
  209. package/dist/assets/Settings-mbbylBS5-Cca-sV-_.js.map +0 -1
  210. package/dist/assets/Synced-DKJXzPiw-Cui8pDsS.js +0 -2
  211. package/dist/assets/Synced-DKJXzPiw-Cui8pDsS.js.map +0 -1
  212. package/dist/assets/Syncing-aT9WSMFf-2VhhyCcX.js +0 -2
  213. package/dist/assets/Syncing-aT9WSMFf-2VhhyCcX.js.map +0 -1
  214. package/dist/assets/Trash-CgSbHk-P-DIYkVMER.js +0 -2
  215. package/dist/assets/Trash-CgSbHk-P-DIYkVMER.js.map +0 -1
  216. package/dist/assets/TrashFill-DN50ercb-Oqx67xXN.js +0 -2
  217. package/dist/assets/TrashFill-DN50ercb-Oqx67xXN.js.map +0 -1
  218. package/dist/assets/VariantArrowLeft-CnuX59_e-6Zt_Q3tm.js +0 -2
  219. package/dist/assets/VariantArrowLeft-CnuX59_e-6Zt_Q3tm.js.map +0 -1
  220. package/dist/assets/VerticalDots-C8QYf7et-CCxZfvjq.js +0 -2
  221. package/dist/assets/VerticalDots-C8QYf7et-CCxZfvjq.js.map +0 -1
  222. package/dist/assets/WarningFill-WowAvi5P-D5XCckM6.js +0 -2
  223. package/dist/assets/WarningFill-WowAvi5P-D5XCckM6.js.map +0 -1
  224. package/dist/assets/XTwitter-k3Pt8itk-mvLk8TKx.js +0 -2
  225. package/dist/assets/XTwitter-k3Pt8itk-mvLk8TKx.js.map +0 -1
  226. package/dist/assets/Xmark-8qnJCs2Y-CZ3t0Fap.js +0 -2
  227. package/dist/assets/Xmark-8qnJCs2Y-CZ3t0Fap.js.map +0 -1
  228. package/dist/assets/XmarkLight-GHzDR5_F-CloMvuzt.js +0 -2
  229. package/dist/assets/XmarkLight-GHzDR5_F-CloMvuzt.js.map +0 -1
  230. package/dist/assets/Youtube-i8V0IXUU-Bkiwoayp.js +0 -2
  231. package/dist/assets/Youtube-i8V0IXUU-Bkiwoayp.js.map +0 -1
  232. package/dist/assets/app-BdM_bCqD.js +0 -842
  233. package/dist/assets/app-BdM_bCqD.js.map +0 -1
  234. package/dist/assets/app-loader-B7xllAoS.js +0 -3
  235. package/dist/assets/app-loader-B7xllAoS.js.map +0 -1
  236. package/dist/assets/app-loader-D5wPX62N.css +0 -1
  237. package/dist/assets/browser-CwKAjz_f.js +0 -43
  238. package/dist/assets/browser-CwKAjz_f.js.map +0 -1
  239. package/dist/assets/browser-Dmr6AWWk.js +0 -2
  240. package/dist/assets/browser-Dmr6AWWk.js.map +0 -1
  241. package/dist/assets/ccip-BoVyVgwR.js +0 -2
  242. package/dist/assets/ccip-BoVyVgwR.js.map +0 -1
  243. package/dist/assets/content-BmCNR4Pw.js +0 -6
  244. package/dist/assets/content-BmCNR4Pw.js.map +0 -1
  245. package/dist/assets/editor-Cma-7Z7k.js +0 -2
  246. package/dist/assets/editor-Cma-7Z7k.js.map +0 -1
  247. package/dist/assets/editor-IMwm8pim.js +0 -2
  248. package/dist/assets/editor-IMwm8pim.js.map +0 -1
  249. package/dist/assets/editor-vgD9wEAH.js +0 -2
  250. package/dist/assets/editor-vgD9wEAH.js.map +0 -1
  251. package/dist/assets/editors-DQC0rqOg.js +0 -347
  252. package/dist/assets/editors-DQC0rqOg.js.map +0 -1
  253. package/dist/assets/index-BP2fj1j6.js +0 -16
  254. package/dist/assets/index-BP2fj1j6.js.map +0 -1
  255. package/dist/assets/index-SwNHx8hV.js +0 -3
  256. package/dist/assets/index-SwNHx8hV.js.map +0 -1
  257. package/dist/assets/index-T6Et30Eh-CdVwpIBO.js +0 -12
  258. package/dist/assets/index-T6Et30Eh-CdVwpIBO.js.map +0 -1
  259. package/dist/assets/main.DQ-aV7Qq.js +0 -2
  260. package/dist/assets/main.DQ-aV7Qq.js.map +0 -1
  261. package/dist/assets/root-BKJF0Yl6.js +0 -12
  262. package/dist/assets/root-BKJF0Yl6.js.map +0 -1
  263. package/dist/assets/router-Hd499Vrp.js +0 -12
  264. package/dist/assets/router-Hd499Vrp.js.map +0 -1
  265. package/dist/assets/useUiNodes-Ch-W4vsB.js +0 -107
  266. package/dist/assets/useUiNodes-Ch-W4vsB.js.map +0 -1
  267. package/dist/service-worker.js.map +0 -1
  268. package/dist/studio/cli.js +0 -6
  269. package/dist/studio/helpers.d.ts +0 -2
  270. package/dist/studio/index.d.ts +0 -20
  271. package/dist/studio/index.js +0 -580
  272. package/dist/studio/server.d.ts +0 -7
  273. package/dist/studio/vite-plugin.d.ts +0 -12
@@ -1 +0,0 @@
1
- {"version":3,"file":"useUiNodes-Ch-W4vsB.js","sources":["../../src/store/document-drive.ts","../../src/utils/drive-sections.ts","../../src/hooks/useDocumentDriveById.ts","../../../../node_modules/.pnpm/lz-string@1.5.0/node_modules/lz-string/libs/lz-string.js","../../src/utils/getSwitchboardUrl.ts","../../src/utils/openUrl.ts","../../src/hooks/useOpenSwitchboardLink.ts","../../src/hooks/useUiNodes.ts"],"sourcesContent":["import { FILE, TUiNodesContext } from '@powerhousedao/design-system';\nimport { Document, Operation } from 'document-model/document';\nimport { atom, useAtom } from 'jotai';\nimport { useCallback, useEffect, useMemo } from 'react';\nimport { IReadModeContext } from 'src/context/read-mode';\nimport { documentToHash } from 'src/hooks/useDocumentDrives';\nimport { TDocumentDriveServer } from 'src/hooks/useDocumentDriveServer';\nimport { logger } from 'src/services/logger';\n\nfunction debounceOperations(\n callback: (operations: Operation[]) => Promise<Document | undefined>,\n timeout = 50,\n) {\n let timer: number;\n const operations: Operation[] = [];\n return (operation: Operation) => {\n if (timer) {\n clearTimeout(timer);\n }\n const index = operations.findIndex(\n op => op.scope === operation.scope && op.index === operation.index,\n );\n if (index > -1) {\n const oldOperation = operations[index];\n if (\n !(\n oldOperation.type === operation.type &&\n JSON.stringify(operation.input) ===\n JSON.stringify(oldOperation.input)\n )\n ) {\n console.warn(\n 'Two conflicting operations were dispatched:',\n oldOperation,\n operation,\n );\n }\n operations[index] = operation;\n } else {\n operations.push(operation);\n }\n return new Promise<Document | undefined>((resolve, reject) => {\n timer = setTimeout(() => {\n callback(operations).then(resolve).catch(reject);\n }, timeout) as unknown as number;\n });\n };\n}\n\ntype FileNodeDocument =\n | {\n driveId: string;\n documentId: string;\n documentType: string;\n document: Document | undefined;\n status: 'LOADING' | 'ERROR';\n }\n | {\n driveId: string;\n documentId: string;\n documentType: string;\n document: Document;\n status: 'LOADED';\n }\n | undefined;\n\nconst documentCacheAtom = atom(new Map<string, Document>());\n\nconst singletonFileNodeDocumentAtom = atom<FileNodeDocument>(undefined);\nconst fileNodeDocumentAtom = atom(\n get => get(singletonFileNodeDocumentAtom),\n (get, set, newValue: FileNodeDocument) => {\n const currentValue = get(singletonFileNodeDocumentAtom);\n\n // if document will be loaded then sets\n // the cached version while it loads\n const documentCache = get(documentCacheAtom);\n if (!newValue?.document && newValue?.status === 'LOADING') {\n newValue.document = documentCache.get(\n `${newValue.driveId}:${newValue.documentId}`,\n );\n }\n\n // only change if the provided file node is different\n if (\n currentValue?.driveId !== newValue?.driveId ||\n currentValue?.documentId !== newValue?.documentId ||\n currentValue?.documentType !== newValue?.documentType ||\n currentValue?.status !== newValue?.status ||\n !!currentValue?.document !== !!newValue?.document ||\n (currentValue?.document &&\n newValue?.document &&\n documentToHash(currentValue.document) !==\n documentToHash(newValue.document))\n ) {\n // if document has been fetched then updates the cache\n if (newValue?.status === 'LOADED') {\n documentCache.set(\n `${newValue.driveId}:${newValue.documentId}`,\n newValue.document,\n );\n }\n\n set(singletonFileNodeDocumentAtom, newValue);\n return true;\n }\n\n return false;\n },\n);\n\nconst selectedDocumentAtom = atom(\n get => get(fileNodeDocumentAtom)?.document,\n (get, set, document: Document | undefined) => {\n const fileNodeDocument = get(fileNodeDocumentAtom);\n if (!fileNodeDocument) {\n throw new Error('fileNodeDocument is undefined');\n } else if (!document) {\n set(fileNodeDocumentAtom, undefined);\n } else {\n set(fileNodeDocumentAtom, { ...fileNodeDocument, document });\n }\n },\n);\n\nexport function useFileNodeDocument(\n props: TUiNodesContext & TDocumentDriveServer & IReadModeContext,\n) {\n const {\n selectedNode,\n selectedDriveNode,\n openFile,\n addOperations,\n onStrandUpdate,\n fetchDocument: fetchReadDocument,\n } = props;\n const [fileNodeDocument, setFileNodeDocument] =\n useAtom(fileNodeDocumentAtom);\n const isReadMode =\n selectedDriveNode?.sharingType !== 'LOCAL' &&\n selectedDriveNode?.syncStatus === undefined;\n const driveId = selectedNode?.driveId;\n const documentId = selectedNode?.id;\n const kind = selectedNode?.kind;\n const documentType =\n kind === 'FILE' ? selectedNode?.documentType : undefined;\n\n const [selectedDocument, setSelectedDocument] =\n useAtom(selectedDocumentAtom);\n\n const fetchDocument = useCallback(\n async (driveId: string, id: string, documentType: string) => {\n const document = await (isReadMode\n ? fetchReadDocument(driveId, id, documentType)\n : openFile(driveId, id));\n if (document instanceof Error) {\n throw document;\n }\n return document;\n },\n [fetchReadDocument, isReadMode, openFile],\n );\n\n useEffect(() => {\n // if selected node is undefine then clears fileNodeDocument\n if (!driveId || !documentId || !documentType) {\n if (fileNodeDocument) {\n setFileNodeDocument(undefined);\n }\n return;\n }\n\n // if selectedNode changes then fetches fileNodeDocument\n if (\n driveId !== fileNodeDocument?.driveId ||\n documentId !== fileNodeDocument.documentId ||\n documentType !== fileNodeDocument.documentType\n ) {\n const changed = setFileNodeDocument({\n driveId,\n documentId,\n documentType,\n document: undefined,\n status: 'LOADING',\n });\n\n // if the selected file node changed then fetches the new document\n if (changed) {\n fetchDocument(driveId, documentId, documentType)\n .then(document =>\n setFileNodeDocument(\n document\n ? {\n driveId,\n documentId,\n documentType,\n document,\n status: 'LOADED',\n }\n : {\n driveId,\n documentId,\n documentType,\n document,\n status: 'ERROR',\n },\n ),\n )\n .catch(error => {\n logger.error(error);\n setFileNodeDocument({\n driveId,\n documentId,\n documentType,\n document: undefined,\n status: 'ERROR',\n });\n });\n }\n }\n }, [\n selectedNode,\n documentId,\n documentType,\n driveId,\n fetchDocument,\n fileNodeDocument,\n setFileNodeDocument,\n ]);\n\n useEffect(() => {\n if (\n !fileNodeDocument?.driveId ||\n !fileNodeDocument.documentId ||\n !fileNodeDocument.documentType\n ) {\n return;\n }\n\n // watches for strand updates to update the document\n const removeListener = onStrandUpdate(strand => {\n if (\n strand.driveId === fileNodeDocument.driveId &&\n strand.documentId === fileNodeDocument.documentId\n ) {\n fetchDocument(\n fileNodeDocument.driveId,\n fileNodeDocument.documentId,\n fileNodeDocument.documentType,\n )\n .then(setSelectedDocument)\n .catch(logger.error);\n }\n });\n\n return removeListener;\n }, [\n fileNodeDocument?.driveId,\n fileNodeDocument?.documentId,\n fileNodeDocument?.documentType,\n onStrandUpdate,\n fetchDocument,\n setSelectedDocument,\n ]);\n\n const addOperationToSelectedDocument = useMemo(() => {\n if (driveId && documentId && kind === FILE) {\n return debounceOperations(operations =>\n addOperations(driveId, documentId, operations),\n );\n }\n }, [addOperations, driveId, documentId, kind]);\n\n const isSelectedDocument =\n kind === FILE &&\n fileNodeDocument?.driveId === driveId &&\n fileNodeDocument?.documentId === documentId;\n\n return useMemo(\n () => ({\n fileNodeDocument,\n selectedDocument: isSelectedDocument ? selectedDocument : undefined,\n setSelectedDocument,\n addOperationToSelectedDocument,\n }),\n [\n fileNodeDocument,\n isSelectedDocument,\n selectedDocument,\n setSelectedDocument,\n addOperationToSelectedDocument,\n ],\n );\n}\n","import {\n CLOUD,\n debugNodeOptions,\n defaultDriveOptions,\n defaultFileOptions,\n defaultFolderOptions,\n DELETE,\n DRIVE,\n FILE,\n FOLDER,\n LOCAL,\n PUBLIC,\n SharingType,\n} from '@powerhousedao/design-system';\nimport connectConfig from 'connect-config';\nimport { ReactNode } from 'react';\n\n// Enables debug options for the drive\nconst connectDebug = localStorage.getItem('CONNECT_DEBUG') === 'true';\n\nconst DriveSections: {\n sharingType: SharingType;\n label: ReactNode;\n}[] = [\n { sharingType: PUBLIC, label: 'Public Drives' },\n { sharingType: CLOUD, label: 'Secure Cloud Drives' },\n { sharingType: LOCAL, label: 'My Local Drives' },\n] as const;\n\nconst getSectionConfig = (sharingType: SharingType) => {\n return connectConfig.drives.sections[sharingType];\n};\n\nexport function getDriveNodeOptions(sharingType: SharingType) {\n const options = [...defaultDriveOptions];\n\n if (connectConfig.drives.sections[sharingType].allowDelete) {\n options.push(DELETE);\n }\n\n if (connectDebug) {\n options.push(...debugNodeOptions);\n }\n\n return options;\n}\n\nexport function getFileNodeOptions() {\n const options = [...defaultFileOptions];\n\n if (connectDebug) {\n options.push(...debugNodeOptions);\n }\n\n return options;\n}\n\nexport function getFolderNodeOptions() {\n const options = [...defaultFolderOptions];\n\n if (connectDebug) {\n options.push(...debugNodeOptions);\n }\n\n return options;\n}\n\nexport function getNodeOptions() {\n return {\n [LOCAL]: {\n [DRIVE]: getDriveNodeOptions(LOCAL),\n [FOLDER]: getFolderNodeOptions(),\n [FILE]: getFileNodeOptions(),\n },\n [CLOUD]: {\n [DRIVE]: getDriveNodeOptions(CLOUD),\n [FOLDER]: getFolderNodeOptions(),\n [FILE]: getFileNodeOptions(),\n },\n [PUBLIC]: {\n [DRIVE]: getDriveNodeOptions(PUBLIC),\n [FOLDER]: getFolderNodeOptions(),\n [FILE]: getFileNodeOptions(),\n },\n } as const;\n}\n\nexport const driveSections = DriveSections.filter(\n section => getSectionConfig(section.sharingType).enabled,\n).map(section => {\n const sectionConfig = getSectionConfig(section.sharingType);\n\n return {\n ...section,\n disableAddDrives: !sectionConfig.allowAdd,\n };\n});\n","import { DocumentDriveState } from 'document-model-libs/document-drive';\nimport { useDocumentDriveServer } from './useDocumentDriveServer';\n\ntype ExtendedDocumentDriveState = DocumentDriveState & { remoteUrl?: string };\n\nexport function useDocumentDriveById(driveId: string | undefined) {\n const { documentDrives } = useDocumentDriveServer();\n\n if (!driveId)\n return {\n drive: null,\n remoteUrl: null,\n isRemoteDrive: false,\n };\n\n const drive = documentDrives.find(\n drive => drive.state.global.id === driveId,\n );\n\n const pullResponder = drive?.state.local.triggers.find(\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n trigger => trigger.type === 'PullResponder',\n );\n\n const { remoteUrl } = (drive?.state.global ||\n {}) as ExtendedDocumentDriveState;\n\n const isRemoteDrive = !!remoteUrl || !!pullResponder;\n\n return {\n drive,\n remoteUrl: remoteUrl || pullResponder?.data?.url,\n isRemoteDrive,\n };\n}\n","// Copyright (c) 2013 Pieroxy <pieroxy@pieroxy.net>\n// This work is free. You can redistribute it and/or modify it\n// under the terms of the WTFPL, Version 2\n// For more information see LICENSE.txt or http://www.wtfpl.net/\n//\n// For more information, the home page:\n// http://pieroxy.net/blog/pages/lz-string/testing.html\n//\n// LZ-based compression algorithm, version 1.4.5\nvar LZString = (function() {\n\n// private property\nvar f = String.fromCharCode;\nvar keyStrBase64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\nvar keyStrUriSafe = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$\";\nvar baseReverseDic = {};\n\nfunction getBaseValue(alphabet, character) {\n if (!baseReverseDic[alphabet]) {\n baseReverseDic[alphabet] = {};\n for (var i=0 ; i<alphabet.length ; i++) {\n baseReverseDic[alphabet][alphabet.charAt(i)] = i;\n }\n }\n return baseReverseDic[alphabet][character];\n}\n\nvar LZString = {\n compressToBase64 : function (input) {\n if (input == null) return \"\";\n var res = LZString._compress(input, 6, function(a){return keyStrBase64.charAt(a);});\n switch (res.length % 4) { // To produce valid Base64\n default: // When could this happen ?\n case 0 : return res;\n case 1 : return res+\"===\";\n case 2 : return res+\"==\";\n case 3 : return res+\"=\";\n }\n },\n\n decompressFromBase64 : function (input) {\n if (input == null) return \"\";\n if (input == \"\") return null;\n return LZString._decompress(input.length, 32, function(index) { return getBaseValue(keyStrBase64, input.charAt(index)); });\n },\n\n compressToUTF16 : function (input) {\n if (input == null) return \"\";\n return LZString._compress(input, 15, function(a){return f(a+32);}) + \" \";\n },\n\n decompressFromUTF16: function (compressed) {\n if (compressed == null) return \"\";\n if (compressed == \"\") return null;\n return LZString._decompress(compressed.length, 16384, function(index) { return compressed.charCodeAt(index) - 32; });\n },\n\n //compress into uint8array (UCS-2 big endian format)\n compressToUint8Array: function (uncompressed) {\n var compressed = LZString.compress(uncompressed);\n var buf=new Uint8Array(compressed.length*2); // 2 bytes per character\n\n for (var i=0, TotalLen=compressed.length; i<TotalLen; i++) {\n var current_value = compressed.charCodeAt(i);\n buf[i*2] = current_value >>> 8;\n buf[i*2+1] = current_value % 256;\n }\n return buf;\n },\n\n //decompress from uint8array (UCS-2 big endian format)\n decompressFromUint8Array:function (compressed) {\n if (compressed===null || compressed===undefined){\n return LZString.decompress(compressed);\n } else {\n var buf=new Array(compressed.length/2); // 2 bytes per character\n for (var i=0, TotalLen=buf.length; i<TotalLen; i++) {\n buf[i]=compressed[i*2]*256+compressed[i*2+1];\n }\n\n var result = [];\n buf.forEach(function (c) {\n result.push(f(c));\n });\n return LZString.decompress(result.join(''));\n\n }\n\n },\n\n\n //compress into a string that is already URI encoded\n compressToEncodedURIComponent: function (input) {\n if (input == null) return \"\";\n return LZString._compress(input, 6, function(a){return keyStrUriSafe.charAt(a);});\n },\n\n //decompress from an output of compressToEncodedURIComponent\n decompressFromEncodedURIComponent:function (input) {\n if (input == null) return \"\";\n if (input == \"\") return null;\n input = input.replace(/ /g, \"+\");\n return LZString._decompress(input.length, 32, function(index) { return getBaseValue(keyStrUriSafe, input.charAt(index)); });\n },\n\n compress: function (uncompressed) {\n return LZString._compress(uncompressed, 16, function(a){return f(a);});\n },\n _compress: function (uncompressed, bitsPerChar, getCharFromInt) {\n if (uncompressed == null) return \"\";\n var i, value,\n context_dictionary= {},\n context_dictionaryToCreate= {},\n context_c=\"\",\n context_wc=\"\",\n context_w=\"\",\n context_enlargeIn= 2, // Compensate for the first entry which should not count\n context_dictSize= 3,\n context_numBits= 2,\n context_data=[],\n context_data_val=0,\n context_data_position=0,\n ii;\n\n for (ii = 0; ii < uncompressed.length; ii += 1) {\n context_c = uncompressed.charAt(ii);\n if (!Object.prototype.hasOwnProperty.call(context_dictionary,context_c)) {\n context_dictionary[context_c] = context_dictSize++;\n context_dictionaryToCreate[context_c] = true;\n }\n\n context_wc = context_w + context_c;\n if (Object.prototype.hasOwnProperty.call(context_dictionary,context_wc)) {\n context_w = context_wc;\n } else {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate,context_w)) {\n if (context_w.charCodeAt(0)<256) {\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<8 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n } else {\n value = 1;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | value;\n if (context_data_position ==bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = 0;\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<16 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n delete context_dictionaryToCreate[context_w];\n } else {\n value = context_dictionary[context_w];\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n // Add wc to the dictionary.\n context_dictionary[context_wc] = context_dictSize++;\n context_w = String(context_c);\n }\n }\n\n // Output the code for w.\n if (context_w !== \"\") {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate,context_w)) {\n if (context_w.charCodeAt(0)<256) {\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<8 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n } else {\n value = 1;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | value;\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = 0;\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<16 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n delete context_dictionaryToCreate[context_w];\n } else {\n value = context_dictionary[context_w];\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n }\n\n // Mark the end of the stream\n value = 2;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n // Flush the last char\n while (true) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data.push(getCharFromInt(context_data_val));\n break;\n }\n else context_data_position++;\n }\n return context_data.join('');\n },\n\n decompress: function (compressed) {\n if (compressed == null) return \"\";\n if (compressed == \"\") return null;\n return LZString._decompress(compressed.length, 32768, function(index) { return compressed.charCodeAt(index); });\n },\n\n _decompress: function (length, resetValue, getNextValue) {\n var dictionary = [],\n next,\n enlargeIn = 4,\n dictSize = 4,\n numBits = 3,\n entry = \"\",\n result = [],\n i,\n w,\n bits, resb, maxpower, power,\n c,\n data = {val:getNextValue(0), position:resetValue, index:1};\n\n for (i = 0; i < 3; i += 1) {\n dictionary[i] = i;\n }\n\n bits = 0;\n maxpower = Math.pow(2,2);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n switch (next = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2,8);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n c = f(bits);\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2,16);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n c = f(bits);\n break;\n case 2:\n return \"\";\n }\n dictionary[3] = c;\n w = c;\n result.push(c);\n while (true) {\n if (data.index > length) {\n return \"\";\n }\n\n bits = 0;\n maxpower = Math.pow(2,numBits);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n switch (c = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2,8);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n dictionary[dictSize++] = f(bits);\n c = dictSize-1;\n enlargeIn--;\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2,16);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n dictionary[dictSize++] = f(bits);\n c = dictSize-1;\n enlargeIn--;\n break;\n case 2:\n return result.join('');\n }\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++;\n }\n\n if (dictionary[c]) {\n entry = dictionary[c];\n } else {\n if (c === dictSize) {\n entry = w + w.charAt(0);\n } else {\n return null;\n }\n }\n result.push(entry);\n\n // Add w+entry[0] to the dictionary.\n dictionary[dictSize++] = w + entry.charAt(0);\n enlargeIn--;\n\n w = entry;\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++;\n }\n\n }\n }\n};\n return LZString;\n})();\n\nif (typeof define === 'function' && define.amd) {\n define(function () { return LZString; });\n} else if( typeof module !== 'undefined' && module != null ) {\n module.exports = LZString\n} else if( typeof angular !== 'undefined' && angular != null ) {\n angular.module('LZString', [])\n .factory('LZString', function () {\n return LZString;\n });\n}\n","import LZString from 'lz-string';\n\nconst rwaQuery = `... on RealWorldAssets {\n state {\n portfolio {\n __typename\n ... on FixedIncome {\n name\n CUSIP\n purchaseDate\n purchasePrice\n purchaseProceeds\n salesProceeds\n totalDiscount\n spvId\n }\n ... on Cash {\n id\n balance\n }\n }\n transactions {\n id\n type\n entryTime\n cashBalanceChange\n fees {\n id\n serviceProviderFeeTypeId\n amount\n }\n txRef\n cashTransaction {\n id\n assetId\n amount\n entryTime\n tradeTime\n settlementTime\n accountId\n counterPartyAccountId\n }\n fixedIncomeTransaction {\n id\n assetId\n amount\n entryTime\n tradeTime\n settlementTime\n accountId\n counterPartyAccountId\n }\n }\n }\n }`;\n\nconst accountSnapshot = `... on AccountSnapshot {\n state {\n id\n ownerId\n ownerType\n period\n start\n end\n actualsComparison {\n month\n reportedActuals\n currency\n netExpenses {\n offChainIncluded {amount difference}\n onChainOnly {amount difference}\n }\n }\n snapshotAccount {\n id\n accountLabel\n accountAddress\n accountType\n groupAccountId\n offChain\n upstreamAccountId\n }\n }\n }`;\n\nconst budgetStatement = `... on BudgetStatement {\n state {\n month\n quoteCurrency\n accounts {\n name\n address\n lineItems {\n actual\n payment\n budgetCap\n }\n }\n ftes {\n value\n }\n }\n }`;\n\nconst getQuery = (\n documentId: string,\n documentType: string,\n encodeQuery = true,\n) => {\n let query = ``;\n\n if (documentType === 'powerhouse/account-snapshot') {\n query = accountSnapshot;\n }\n\n if (documentType === 'powerhouse/budget-statement') {\n query = budgetStatement;\n }\n\n if (documentType === 'makerdao/rwa-portfolio') {\n query = rwaQuery;\n }\n\n const queryString = `query {\n document(id:\"${documentId}\") {\n name\n documentType\n revision\n created\n lastModified\n ${query}\n }\n}`;\n\n if (!encodeQuery) {\n return queryString;\n }\n\n return encodeURIComponent(queryString);\n};\n\nconst getLocalReactorUrl = (\n remoteUrl: string,\n documentType: string,\n documentId: string,\n) => {\n const query = getQuery(documentId, documentType, false);\n\n const explorerURLState = LZString.compressToEncodedURIComponent(\n JSON.stringify({\n document: query.trim(),\n }),\n );\n\n const url = remoteUrl + `?explorerURLState=${explorerURLState}`;\n return url.toString();\n};\n\nexport const getSwitchboardUrl = (\n remoteUrl: string,\n documentType: string,\n documentId: string,\n) => {\n if (remoteUrl.includes('localhost')) {\n return getLocalReactorUrl(remoteUrl, documentType, documentId);\n }\n\n const explorerUrl = remoteUrl.replace(/\\/d\\//, '/graphql/');\n const query = getQuery(documentId, documentType);\n const url = explorerUrl + `?query=${query}`;\n\n return url.toString();\n};\n","const openBrowserUrl = (url: string) => window.open(url, '_blank');\n\nexport const openUrl = window.electronAPI?.openURL ?? openBrowserUrl;\n","import { FILE, UiNode } from '@powerhousedao/design-system';\nimport { getSwitchboardUrl } from 'src/utils/getSwitchboardUrl';\nimport { openUrl } from 'src/utils/openUrl';\nimport { useDocumentDriveById } from './useDocumentDriveById';\n\nexport const useOpenSwitchboardLink = (driveId: string | undefined) => {\n const { isRemoteDrive, remoteUrl } = useDocumentDriveById(driveId);\n\n return async (uiNode?: UiNode | null) => {\n if (uiNode?.kind !== FILE || !remoteUrl || !isRemoteDrive) return;\n\n const url = new URL(remoteUrl);\n const baseUrl = url.origin;\n\n const switchboardUrl = getSwitchboardUrl(\n remoteUrl,\n uiNode.documentType,\n uiNode.id,\n );\n\n await openUrl(switchboardUrl);\n };\n};\n","import {\n AddLocalDriveInput,\n AddRemoteDriveInput,\n CLOUD,\n DRIVE,\n FILE,\n FOLDER,\n LOCAL,\n PUBLIC,\n SharingType,\n SUCCESS,\n toast,\n UiDriveNode,\n UiFileNode,\n UiFolderNode,\n UiNode,\n useUiNodesContext,\n} from '@powerhousedao/design-system';\nimport { ReadDrive } from 'document-drive';\nimport { DocumentDriveDocument } from 'document-model-libs/document-drive';\nimport { useCallback, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useModal } from 'src/components/modal';\nimport { useReadModeContext } from 'src/context/read-mode';\nimport { useFileNodeDocument } from 'src/store/document-drive';\nimport {\n useFilteredDocumentModels,\n useGetDocumentModel,\n} from 'src/store/document-model';\nimport { getNodeOptions } from 'src/utils/drive-sections';\nimport { makeNodeSlugFromNodeName } from 'src/utils/slug';\nimport { useDocumentDriveById } from './useDocumentDriveById';\nimport { useDocumentDriveServer } from './useDocumentDriveServer';\nimport { useOpenSwitchboardLink } from './useOpenSwitchboardLink';\nimport { useUserPermissions } from './useUserPermissions';\n\nexport function useUiNodes() {\n const { showModal } = useModal();\n const { t } = useTranslation();\n const uiNodesContext = useUiNodesContext();\n const {\n selectedDriveNode,\n driveNodes,\n selectedParentNode,\n setSelectedNode,\n getParentNode,\n } = uiNodesContext;\n const readModeContext = useReadModeContext();\n const documentDriveServer = useDocumentDriveServer();\n const {\n addFolder,\n addFile,\n renameNode,\n deleteNode,\n addDrive,\n addRemoteDrive,\n deleteDrive,\n renameDrive,\n setDriveAvailableOffline,\n setDriveSharingType,\n copyNode,\n moveNode,\n getSyncStatus,\n removeTrigger,\n addTrigger,\n registerNewPullResponderTrigger,\n } = documentDriveServer;\n const selectedDocumentDrive = useDocumentDriveById(selectedDriveNode?.id);\n const openSwitchboardLink = useOpenSwitchboardLink(selectedDriveNode?.id);\n const userPermissions = useUserPermissions();\n const nodeOptions = getNodeOptions();\n const documentModels = useFilteredDocumentModels();\n const getDocumentModel = useGetDocumentModel();\n const fileNodeDocument = useFileNodeDocument({\n ...uiNodesContext,\n ...documentDriveServer,\n ...readModeContext,\n });\n\n const makeUiDriveNode = useCallback(\n async (drive: DocumentDriveDocument | ReadDrive) => {\n const isReadDrive = 'readContext' in drive;\n const { id, name, icon, slug } = drive.state.global;\n const { sharingType: _sharingType, availableOffline } = !isReadDrive\n ? drive.state.local\n : { sharingType: PUBLIC, availableOffline: false };\n const __sharingType = _sharingType?.toUpperCase();\n const sharingType = (\n __sharingType === 'PRIVATE' ? LOCAL : __sharingType\n ) as SharingType;\n const driveSyncStatus = !isReadDrive\n ? await getSyncStatus(id, sharingType)\n : undefined;\n\n // TODO: rempve this after integration in design-system\n const normalizedDriveSyncStatus =\n driveSyncStatus === 'INITIAL_SYNC'\n ? 'SYNCING'\n : driveSyncStatus;\n\n const driveNode: UiDriveNode = {\n id,\n name,\n slug: slug || null,\n kind: DRIVE,\n children: [],\n nodeMap: {},\n sharingType,\n syncStatus: normalizedDriveSyncStatus,\n availableOffline,\n icon,\n parentFolder: null,\n driveId: id,\n };\n\n const nodes = drive.state.global.nodes.map(n => {\n const node = {\n ...n,\n slug: makeNodeSlugFromNodeName(n.name),\n driveId: id,\n parentFolder: n.parentFolder || id,\n kind: n.kind.toUpperCase(),\n syncStatus: normalizedDriveSyncStatus,\n sharingType,\n };\n\n if (node.kind === DRIVE) {\n throw new Error('Drive nodes should not be nested');\n }\n\n if (node.kind === FILE) {\n return node as UiFileNode;\n }\n\n return {\n ...node,\n children: [],\n } as UiFolderNode;\n });\n\n for (const node of nodes) {\n driveNode.nodeMap[node.id] = node;\n }\n\n // eslint-disable-next-line @typescript-eslint/await-thenable\n for await (const node of nodes) {\n if (node.kind === FILE) {\n const fileSyncStatus = !isReadDrive\n ? await getSyncStatus(\n node.synchronizationUnits[0].syncId,\n sharingType,\n )\n : undefined;\n\n // TODO: rempve this after integration in design-system\n const normalizedFileSyncStatus =\n fileSyncStatus === 'INITIAL_SYNC'\n ? 'SYNCING'\n : fileSyncStatus;\n\n node.syncStatus = normalizedFileSyncStatus;\n }\n\n if (node.parentFolder === id) {\n driveNode.children.push(node);\n continue;\n }\n const parent = driveNode.nodeMap[node.parentFolder];\n\n if (parent.kind === FILE) {\n throw new Error(\n `Parent node ${node.parentFolder} is a file, not a folder`,\n );\n }\n\n parent.children.push(node);\n\n if (node.syncStatus !== SUCCESS) {\n parent.syncStatus = node.syncStatus;\n }\n }\n\n return driveNode;\n },\n [getSyncStatus],\n );\n\n const makeUiDriveNodes = useCallback(\n async (documentDrives: DocumentDriveDocument[]) => {\n return Promise.all(documentDrives.map(makeUiDriveNode));\n },\n [makeUiDriveNode],\n );\n\n const onAddFolder = useCallback(\n async (name: string, parentNode: UiNode | null) => {\n if (!parentNode) {\n throw new Error('Parent node is required');\n }\n if (parentNode.kind === FILE) {\n throw new Error('Cannot add folder to a file');\n }\n return await addFolder(parentNode.driveId, name, parentNode.id);\n },\n [addFolder],\n );\n\n const onRenameNode = useCallback(\n async (name: string, uiNode: UiNode) => {\n if (uiNode.kind === DRIVE) {\n throw new Error(\n 'Drive can only be renamed from the drive settings modal',\n );\n }\n return await renameNode(uiNode.driveId, uiNode.id, name);\n },\n [renameNode],\n );\n\n const onCopyNode = useCallback(\n async (uiNode: UiNode, targetNode: UiNode) => {\n if (uiNode.kind === DRIVE) {\n throw new Error('Drive cannot be duplicated');\n }\n\n await copyNode(uiNode, targetNode);\n },\n [copyNode],\n );\n\n const onMoveNode = useCallback(\n async (uiNode: UiNode, targetNode: UiNode) => {\n if (uiNode.kind === DRIVE) {\n throw new Error('Drive cannot be moved');\n }\n\n await moveNode(uiNode, targetNode);\n },\n [moveNode],\n );\n\n const onAddFile = useCallback(\n async (file: File, parentNode: UiNode | null) => {\n if (!parentNode) {\n throw new Error('Parent node is required');\n }\n if (parentNode.kind === FILE) {\n throw new Error('Cannot add file to a file');\n }\n\n const fileName = file.name.replace(/\\.zip$/gim, '');\n\n return await addFile(\n file,\n parentNode.driveId,\n fileName,\n parentNode.id,\n );\n },\n [addFile],\n );\n\n const onDuplicateNode = useCallback(\n async (uiNode: UiNode) => {\n if (!selectedParentNode) return;\n\n if (uiNode.kind === DRIVE) {\n throw new Error('Drive cannot be duplicated');\n }\n\n await copyNode(uiNode, selectedParentNode);\n },\n [copyNode, selectedParentNode],\n );\n\n const onDeleteNode = useCallback(\n (uiNode: UiFileNode | UiFolderNode) => {\n showModal('deleteItem', {\n uiNode,\n onDelete: async closeModal => {\n closeModal();\n\n const i18nKey =\n uiNode.kind === FOLDER\n ? 'notifications.deleteFolderSuccess'\n : 'notifications.fileDeleteSuccess';\n\n const parentNode = getParentNode(uiNode);\n\n await deleteNode(uiNode.driveId, uiNode.id);\n\n setSelectedNode(parentNode);\n\n toast(t(i18nKey), { type: 'connect-deleted' });\n },\n });\n },\n [deleteNode, getParentNode, setSelectedNode, showModal, t],\n );\n\n const onDeleteDrive = useCallback(\n (uiDriveNode: UiDriveNode) => {\n showModal('deleteDriveModal', {\n uiDriveNode,\n onDelete: async closeModal => {\n closeModal();\n await deleteDrive(uiDriveNode.id);\n\n setSelectedNode(driveNodes[0]);\n\n toast(t('notifications.deleteDriveSuccess'), {\n type: 'connect-deleted',\n });\n },\n });\n },\n [deleteDrive, driveNodes, setSelectedNode, showModal, t],\n );\n\n const onAddLocalDrive = useCallback(\n async (data: AddLocalDriveInput) => {\n try {\n const newDrive = await addDrive({\n global: {\n name: data.name,\n id: undefined,\n icon: null,\n slug: null,\n },\n local: {\n availableOffline: data.availableOffline,\n sharingType: data.sharingType.toLowerCase(),\n listeners: [],\n triggers: [],\n },\n });\n\n toast(t('notifications.addDriveSuccess'), {\n type: 'connect-success',\n });\n\n const newDriveNode = await makeUiDriveNode(newDrive);\n\n setSelectedNode(newDriveNode);\n } catch (e) {\n console.error(e);\n }\n },\n [addDrive, makeUiDriveNode, setSelectedNode, t],\n );\n\n const onAddRemoteDrive = useCallback(\n async (data: AddRemoteDriveInput) => {\n try {\n const newDrive = await addRemoteDrive(data.url, {\n sharingType: data.sharingType,\n availableOffline: data.availableOffline,\n listeners: [\n {\n block: true,\n callInfo: {\n data: data.url,\n name: 'switchboard-push',\n transmitterType: 'SwitchboardPush',\n },\n filter: {\n branch: ['main'],\n documentId: ['*'],\n documentType: ['*'],\n scope: ['global'],\n },\n label: 'Switchboard Sync',\n listenerId: '1',\n system: true,\n },\n ],\n triggers: [],\n pullInterval: 3000,\n });\n\n toast(t('notifications.addDriveSuccess'), {\n type: 'connect-success',\n });\n\n const newDriveNode = await makeUiDriveNode(newDrive);\n\n setSelectedNode(newDriveNode);\n } catch (e) {\n console.error(e);\n }\n },\n [addRemoteDrive, makeUiDriveNode, setSelectedNode, t],\n );\n\n const showAddDriveModal = useCallback(\n (groupSharingType: SharingType) => {\n if (groupSharingType === LOCAL) {\n showModal('addLocalDrive', {\n onAddLocalDrive,\n });\n } else {\n showModal('addRemoteDrive', {\n onAddRemoteDrive,\n groupSharingType,\n });\n }\n },\n [onAddLocalDrive, onAddRemoteDrive, showModal],\n );\n\n const onRenameDrive = useCallback(\n async (uiDriveNode: UiDriveNode, newName: string) => {\n await renameDrive(uiDriveNode.id, newName);\n },\n [renameDrive],\n );\n\n const onChangeSharingType = useCallback(\n async (uiDriveNode: UiDriveNode, newSharingType: SharingType) => {\n await setDriveSharingType(uiDriveNode.id, newSharingType);\n },\n [setDriveSharingType],\n );\n\n const onChangeAvailableOffline = useCallback(\n async (uiDriveNode: UiDriveNode, newAvailableOffline: boolean) => {\n await setDriveAvailableOffline(uiDriveNode.id, newAvailableOffline);\n },\n [setDriveAvailableOffline],\n );\n\n const showDriveSettingsModal = useCallback(\n (uiDriveNode: UiDriveNode) => {\n showModal('driveSettings', {\n uiDriveNode,\n onRenameDrive,\n onDeleteDrive,\n onChangeSharingType,\n onChangeAvailableOffline,\n });\n },\n [\n onChangeAvailableOffline,\n onChangeSharingType,\n onDeleteDrive,\n onRenameDrive,\n showModal,\n ],\n );\n\n const onAddAndSelectNewFolder = useCallback(\n async (name: string) => {\n if (!name || !selectedParentNode) return;\n\n const newFolder = await onAddFolder(name, selectedParentNode);\n\n setSelectedNode({\n ...newFolder,\n kind: FOLDER,\n slug: makeNodeSlugFromNodeName(newFolder.name),\n parentFolder: selectedParentNode.id,\n syncStatus: selectedParentNode.syncStatus,\n driveId: selectedParentNode.driveId,\n sharingType: selectedParentNode.sharingType,\n children: [],\n });\n },\n [onAddFolder, selectedParentNode, setSelectedNode],\n );\n\n const onAddTrigger = useCallback(\n async (uiNodeDriveId: string) => {\n const url = window.prompt('url') || '';\n\n const pullResponderTrigger = await registerNewPullResponderTrigger(\n uiNodeDriveId,\n url,\n { pullInterval: 6000 },\n );\n await addTrigger(uiNodeDriveId, pullResponderTrigger);\n },\n [addTrigger, registerNewPullResponderTrigger],\n );\n\n const onRemoveTrigger = useCallback(\n async (uiNodeDriveId: string) => {\n const triggerId = window.prompt('triggerId:');\n\n if (triggerId) {\n await removeTrigger(uiNodeDriveId, triggerId);\n }\n },\n [removeTrigger],\n );\n\n const onAddInvalidTrigger = useCallback(\n async (uiNodeDriveId: string) => {\n const url = window.prompt('url') || '';\n\n await addTrigger(uiNodeDriveId, {\n id: 'some-invalid-id',\n type: 'PullResponder',\n data: {\n interval: '3000',\n listenerId: 'invalid-listener-id',\n url,\n },\n });\n },\n [addTrigger],\n );\n\n const driveNodesBySharingType = useMemo(\n () =>\n driveNodes.reduce<Record<SharingType, UiDriveNode[]>>(\n (acc, driveNode) => {\n acc[driveNode.sharingType].push(driveNode);\n return acc;\n },\n {\n [PUBLIC]: [],\n [CLOUD]: [],\n [LOCAL]: [],\n },\n ),\n [driveNodes],\n );\n\n return useMemo(\n () => ({\n ...documentDriveServer,\n ...uiNodesContext,\n ...userPermissions,\n ...selectedDocumentDrive,\n ...fileNodeDocument,\n nodeOptions,\n driveNodesBySharingType,\n documentModels,\n onAddFolder,\n onAddFile,\n onCopyNode,\n onMoveNode,\n onRenameNode,\n onDuplicateNode,\n onDeleteNode,\n onDeleteDrive,\n makeUiDriveNodes,\n onAddAndSelectNewFolder,\n showAddDriveModal,\n showDriveSettingsModal,\n openSwitchboardLink,\n onAddTrigger,\n onRemoveTrigger,\n onAddInvalidTrigger,\n getDocumentModel,\n }),\n [\n documentDriveServer,\n uiNodesContext,\n userPermissions,\n selectedDocumentDrive,\n fileNodeDocument,\n nodeOptions,\n driveNodesBySharingType,\n documentModels,\n onAddFolder,\n onAddFile,\n onCopyNode,\n onMoveNode,\n onRenameNode,\n onDuplicateNode,\n onDeleteNode,\n onDeleteDrive,\n makeUiDriveNodes,\n onAddAndSelectNewFolder,\n showAddDriveModal,\n showDriveSettingsModal,\n openSwitchboardLink,\n onAddTrigger,\n onRemoveTrigger,\n onAddInvalidTrigger,\n getDocumentModel,\n ],\n );\n}\n\nexport type TUiNodes = ReturnType<typeof useUiNodes>;\n"],"names":["debounceOperations","callback","timeout","timer","operations","operation","index","op","oldOperation","resolve","reject","documentCacheAtom","atom","singletonFileNodeDocumentAtom","fileNodeDocumentAtom","get","set","newValue","currentValue","documentCache","documentToHash","selectedDocumentAtom","_a","document","fileNodeDocument","useFileNodeDocument","props","selectedNode","selectedDriveNode","openFile","addOperations","onStrandUpdate","fetchReadDocument","setFileNodeDocument","useAtom","isReadMode","driveId","documentId","kind","documentType","selectedDocument","setSelectedDocument","fetchDocument","useCallback","id","useEffect","error","logger","strand","addOperationToSelectedDocument","useMemo","FILE","isSelectedDocument","connectDebug","DriveSections","PUBLIC","CLOUD","LOCAL","getSectionConfig","sharingType","connectConfig","getDriveNodeOptions","options","defaultDriveOptions","DELETE","debugNodeOptions","getFileNodeOptions","defaultFileOptions","getFolderNodeOptions","defaultFolderOptions","getNodeOptions","DRIVE","FOLDER","driveSections","section","sectionConfig","useDocumentDriveById","documentDrives","useDocumentDriveServer","drive","pullResponder","trigger","remoteUrl","isRemoteDrive","LZString","f","keyStrBase64","keyStrUriSafe","baseReverseDic","getBaseValue","alphabet","character","i","input","res","a","compressed","uncompressed","buf","TotalLen","current_value","result","c","bitsPerChar","getCharFromInt","value","context_dictionary","context_dictionaryToCreate","context_c","context_wc","context_w","context_enlargeIn","context_dictSize","context_numBits","context_data","context_data_val","context_data_position","ii","length","resetValue","getNextValue","dictionary","enlargeIn","dictSize","numBits","entry","w","bits","resb","maxpower","power","data","module","rwaQuery","accountSnapshot","budgetStatement","getQuery","encodeQuery","query","queryString","getLocalReactorUrl","explorerURLState","getSwitchboardUrl","explorerUrl","openBrowserUrl","url","openUrl","useOpenSwitchboardLink","uiNode","switchboardUrl","useUiNodes","showModal","useModal","t","useTranslation","uiNodesContext","useUiNodesContext","driveNodes","selectedParentNode","setSelectedNode","getParentNode","readModeContext","useReadModeContext","documentDriveServer","addFolder","addFile","renameNode","deleteNode","addDrive","addRemoteDrive","deleteDrive","renameDrive","setDriveAvailableOffline","setDriveSharingType","copyNode","moveNode","getSyncStatus","removeTrigger","addTrigger","registerNewPullResponderTrigger","selectedDocumentDrive","openSwitchboardLink","userPermissions","useUserPermissions","nodeOptions","documentModels","useFilteredDocumentModels","getDocumentModel","useGetDocumentModel","makeUiDriveNode","isReadDrive","name","icon","slug","_sharingType","availableOffline","__sharingType","driveSyncStatus","normalizedDriveSyncStatus","driveNode","nodes","n","node","makeNodeSlugFromNodeName","fileSyncStatus","normalizedFileSyncStatus","parent","SUCCESS","makeUiDriveNodes","onAddFolder","parentNode","onRenameNode","onCopyNode","targetNode","onMoveNode","onAddFile","file","fileName","onDuplicateNode","onDeleteNode","closeModal","i18nKey","toast","onDeleteDrive","uiDriveNode","onAddLocalDrive","newDrive","newDriveNode","e","onAddRemoteDrive","showAddDriveModal","groupSharingType","onRenameDrive","newName","onChangeSharingType","newSharingType","onChangeAvailableOffline","newAvailableOffline","showDriveSettingsModal","onAddAndSelectNewFolder","newFolder","onAddTrigger","uiNodeDriveId","pullResponderTrigger","onRemoveTrigger","triggerId","onAddInvalidTrigger","driveNodesBySharingType","acc"],"mappings":"ogBASA,SAASA,GACLC,EACAC,EAAU,GACZ,CACM,IAAAC,EACJ,MAAMC,EAA0B,CAAC,EACjC,OAAQC,GAAyB,CACzBF,GACA,aAAaA,CAAK,EAEtB,MAAMG,EAAQF,EAAW,aACfG,EAAG,QAAUF,EAAU,OAASE,EAAG,QAAUF,EAAU,KACjE,EACA,GAAIC,EAAQ,GAAI,CACN,MAAAE,EAAeJ,EAAWE,CAAK,EAG7BE,EAAa,OAASH,EAAU,MAChC,KAAK,UAAUA,EAAU,KAAK,IAC1B,KAAK,UAAUG,EAAa,KAAK,GAGjC,QAAA,KACJ,8CACAA,EACAH,CACJ,EAEJD,EAAWE,CAAK,EAAID,CAAA,MAEpBD,EAAW,KAAKC,CAAS,EAE7B,OAAO,IAAI,QAA8B,CAACI,EAASC,IAAW,CAC1DP,EAAQ,WAAW,IAAM,CACrBF,EAASG,CAAU,EAAE,KAAKK,CAAO,EAAE,MAAMC,CAAM,GAChDR,CAAO,CAAA,CACb,CACL,CACJ,CAmBA,MAAMS,GAAoBC,EAAS,IAAA,GAAuB,EAEpDC,EAAgCD,EAAuB,MAAS,EAChEE,EAAuBF,EACzBG,GAAOA,EAAIF,CAA6B,EACxC,CAACE,EAAKC,EAAKC,IAA+B,CAChC,MAAAC,EAAeH,EAAIF,CAA6B,EAIhDM,EAAgBJ,EAAIJ,EAAiB,EAQ3C,MAPI,EAACM,GAAA,MAAAA,EAAU,YAAYA,GAAA,YAAAA,EAAU,UAAW,YAC5CA,EAAS,SAAWE,EAAc,IAC9B,GAAGF,EAAS,OAAO,IAAIA,EAAS,UAAU,EAC9C,IAKAC,GAAA,YAAAA,EAAc,YAAYD,GAAA,YAAAA,EAAU,WACpCC,GAAA,YAAAA,EAAc,eAAeD,GAAA,YAAAA,EAAU,cACvCC,GAAA,YAAAA,EAAc,iBAAiBD,GAAA,YAAAA,EAAU,gBACzCC,GAAA,YAAAA,EAAc,WAAWD,GAAA,YAAAA,EAAU,SACnC,CAAC,EAACC,GAAA,MAAAA,EAAc,WAAa,CAAC,EAACD,GAAA,MAAAA,EAAU,WACxCC,GAAA,MAAAA,EAAc,WACXD,GAAA,MAAAA,EAAU,WACVG,GAAeF,EAAa,QAAQ,IAChCE,GAAeH,EAAS,QAAQ,IAGpCA,GAAA,YAAAA,EAAU,UAAW,UACPE,EAAA,IACV,GAAGF,EAAS,OAAO,IAAIA,EAAS,UAAU,GAC1CA,EAAS,QACb,EAGJD,EAAIH,EAA+BI,CAAQ,EACpC,IAGJ,EAAA,CAEf,EAEMI,GAAuBT,EACzBG,GAAO,OAAA,OAAAO,EAAAP,EAAID,CAAoB,IAAxB,YAAAQ,EAA2B,UAClC,CAACP,EAAKC,EAAKO,IAAmC,CACpC,MAAAC,EAAmBT,EAAID,CAAoB,EACjD,GAAKU,EAEOD,EAGRP,EAAIF,EAAsB,CAAE,GAAGU,EAAkB,SAAAD,EAAU,EAF3DP,EAAIF,EAAsB,MAAS,MAF7B,OAAA,IAAI,MAAM,+BAA+B,CAKnD,CAER,EAEO,SAASW,GACZC,EACF,CACQ,KAAA,CACF,aAAAC,EACA,kBAAAC,EACA,SAAAC,EACA,cAAAC,EACA,eAAAC,EACA,cAAeC,CAAA,EACfN,EACE,CAACF,EAAkBS,CAAmB,EACxCC,GAAQpB,CAAoB,EAC1BqB,GACFP,GAAA,YAAAA,EAAmB,eAAgB,UACnCA,GAAA,YAAAA,EAAmB,cAAe,OAChCQ,EAAUT,GAAA,YAAAA,EAAc,QACxBU,EAAaV,GAAA,YAAAA,EAAc,GAC3BW,EAAOX,GAAA,YAAAA,EAAc,KACrBY,EACFD,IAAS,OAASX,GAAA,YAAAA,EAAc,aAAe,OAE7C,CAACa,EAAkBC,CAAmB,EACxCP,GAAQb,EAAoB,EAE1BqB,EAAgBC,EAClB,MAAOP,EAAiBQ,EAAYL,IAAyB,CACnD,MAAAhB,EAAW,MAAOY,EAClBH,EAAkBI,EAASQ,EAAIL,CAAY,EAC3CV,EAASO,EAASQ,CAAE,GAC1B,GAAIrB,aAAoB,MACd,MAAAA,EAEH,OAAAA,CACX,EACA,CAACS,EAAmBG,EAAYN,CAAQ,CAC5C,EAEAgB,GAAU,IAAM,CAEZ,GAAI,CAACT,GAAW,CAACC,GAAc,CAACE,EAAc,CACtCf,GACAS,EAAoB,MAAS,EAEjC,MAAA,EAKAG,KAAYZ,GAAA,YAAAA,EAAkB,UAC9Ba,IAAeb,EAAiB,YAChCe,IAAiBf,EAAiB,eAElBS,EAAoB,CAChC,QAAAG,EACA,WAAAC,EACA,aAAAE,EACA,SAAU,OACV,OAAQ,SAAA,CACX,GAIiBG,EAAAN,EAASC,EAAYE,CAAY,EAC1C,KACGhB,GAAAU,EACIV,EACM,CACI,QAAAa,EACA,WAAAC,EACA,aAAAE,EACA,SAAAhB,EACA,OAAQ,QAAA,EAEZ,CACI,QAAAa,EACA,WAAAC,EACA,aAAAE,EACA,SAAAhB,EACA,OAAQ,OAAA,CACZ,CACV,EAEH,MAAeuB,GAAA,CACZC,GAAO,MAAMD,CAAK,EACEb,EAAA,CAChB,QAAAG,EACA,WAAAC,EACA,aAAAE,EACA,SAAU,OACV,OAAQ,OAAA,CACX,CAAA,CACJ,CAEb,EACD,CACCZ,EACAU,EACAE,EACAH,EACAM,EACAlB,EACAS,CAAA,CACH,EAEDY,GAAU,IAEF,EAACrB,GAAA,MAAAA,EAAkB,UACnB,CAACA,EAAiB,YAClB,CAACA,EAAiB,aAElB,OAImBO,EAAyBiB,GAAA,CAExCA,EAAO,UAAYxB,EAAiB,SACpCwB,EAAO,aAAexB,EAAiB,YAEvCkB,EACIlB,EAAiB,QACjBA,EAAiB,WACjBA,EAAiB,cAEhB,KAAKiB,CAAmB,EACxB,MAAMM,GAAO,KAAK,CAC3B,CACH,EAGF,CACCvB,GAAA,YAAAA,EAAkB,QAClBA,GAAA,YAAAA,EAAkB,WAClBA,GAAA,YAAAA,EAAkB,aAClBO,EACAW,EACAD,CAAA,CACH,EAEK,MAAAQ,EAAiCC,EAAQ,IAAM,CAC7C,GAAAd,GAAWC,GAAcC,IAASa,EAC3B,OAAAnD,GACHI,GAAA0B,EAAcM,EAASC,EAAYjC,CAAU,CACjD,GAEL,CAAC0B,EAAeM,EAASC,EAAYC,CAAI,CAAC,EAEvCc,EACFd,IAASa,IACT3B,GAAA,YAAAA,EAAkB,WAAYY,IAC9BZ,GAAA,YAAAA,EAAkB,cAAea,EAE9B,OAAAa,EACH,KAAO,CACH,iBAAA1B,EACA,iBAAkB4B,EAAqBZ,EAAmB,OAC1D,oBAAAC,EACA,+BAAAQ,CAAA,GAEJ,CACIzB,EACA4B,EACAZ,EACAC,EACAQ,CAAA,CAER,CACJ,CCnRA,MAAMI,EAAe,aAAa,QAAQ,eAAe,IAAM,OAEzDC,GAGA,CACF,CAAE,YAAaC,EAAQ,MAAO,eAAgB,EAC9C,CAAE,YAAaC,EAAO,MAAO,qBAAsB,EACnD,CAAE,YAAaC,EAAO,MAAO,iBAAkB,CACnD,EAEMC,GAAoBC,GACfC,GAAc,OAAO,SAASD,CAAW,EAG7C,SAASE,EAAoBF,EAA0B,CACpD,MAAAG,EAAU,CAAC,GAAGC,EAAmB,EAEvC,OAAIH,GAAc,OAAO,SAASD,CAAW,EAAE,aAC3CG,EAAQ,KAAKE,EAAM,EAGnBX,GACQS,EAAA,KAAK,GAAGG,CAAgB,EAG7BH,CACX,CAEO,SAASI,GAAqB,CAC3B,MAAAJ,EAAU,CAAC,GAAGK,EAAkB,EAEtC,OAAId,GACQS,EAAA,KAAK,GAAGG,CAAgB,EAG7BH,CACX,CAEO,SAASM,GAAuB,CAC7B,MAAAN,EAAU,CAAC,GAAGO,EAAoB,EAExC,OAAIhB,GACQS,EAAA,KAAK,GAAGG,CAAgB,EAG7BH,CACX,CAEO,SAASQ,IAAiB,CACtB,MAAA,CACH,CAACb,CAAK,EAAG,CACL,CAACc,CAAK,EAAGV,EAAoBJ,CAAK,EAClC,CAACe,CAAM,EAAGJ,EAAqB,EAC/B,CAACjB,CAAI,EAAGe,EAAmB,CAC/B,EACA,CAACV,CAAK,EAAG,CACL,CAACe,CAAK,EAAGV,EAAoBL,CAAK,EAClC,CAACgB,CAAM,EAAGJ,EAAqB,EAC/B,CAACjB,CAAI,EAAGe,EAAmB,CAC/B,EACA,CAACX,CAAM,EAAG,CACN,CAACgB,CAAK,EAAGV,EAAoBN,CAAM,EACnC,CAACiB,CAAM,EAAGJ,EAAqB,EAC/B,CAACjB,CAAI,EAAGe,EAAmB,CAAA,CAEnC,CACJ,CAEO,MAAMO,GAAgBnB,GAAc,OAC5BoB,GAAAhB,GAAiBgB,EAAQ,WAAW,EAAE,OACrD,EAAE,IAAeA,GAAA,CACP,MAAAC,EAAgBjB,GAAiBgB,EAAQ,WAAW,EAEnD,MAAA,CACH,GAAGA,EACH,iBAAkB,CAACC,EAAc,QACrC,CACJ,CAAC,EC3FM,SAASC,GAAqBxC,EAA6B,OACxD,KAAA,CAAE,eAAAyC,CAAe,EAAIC,GAAuB,EAElD,GAAI,CAAC1C,EACM,MAAA,CACH,MAAO,KACP,UAAW,KACX,cAAe,EACnB,EAEJ,MAAM2C,EAAQF,EAAe,KACzBE,GAASA,EAAM,MAAM,OAAO,KAAO3C,CACvC,EAEM4C,EAAgBD,GAAA,YAAAA,EAAO,MAAM,MAAM,SAAS,KAE9CE,GAAWA,EAAQ,OAAS,iBAG1B,CAAE,UAAAC,CAAU,GAAKH,GAAA,YAAAA,EAAO,MAAM,SAChC,CAAC,EAECI,EAAgB,CAAC,CAACD,GAAa,CAAC,CAACF,EAEhC,MAAA,CACH,MAAAD,EACA,UAAWG,KAAa5D,EAAA0D,GAAA,YAAAA,EAAe,OAAf,YAAA1D,EAAqB,KAC7C,cAAA6D,CACJ,CACJ,6CCzBA,IAAIC,EAAY,UAAW,CAG3B,IAAIC,EAAI,OAAO,aACXC,EAAe,oEACfC,EAAgB,oEAChBC,EAAiB,CAAE,EAEvB,SAASC,EAAaC,EAAUC,EAAW,CACzC,GAAI,CAACH,EAAeE,CAAQ,EAAG,CAC7BF,EAAeE,CAAQ,EAAI,CAAE,EAC7B,QAASE,EAAE,EAAIA,EAAEF,EAAS,OAASE,IACjCJ,EAAeE,CAAQ,EAAEA,EAAS,OAAOE,CAAC,CAAC,EAAIA,EAGnD,OAAOJ,EAAeE,CAAQ,EAAEC,CAAS,EAG3C,IAAIP,EAAW,CACb,iBAAmB,SAAUS,EAAO,CAClC,GAAIA,GAAS,KAAM,MAAO,GAC1B,IAAIC,EAAMV,EAAS,UAAUS,EAAO,EAAG,SAASE,EAAE,CAAC,OAAOT,EAAa,OAAOS,CAAC,CAAE,CAAC,EAClF,OAAQD,EAAI,OAAS,EAAC,CACtB,QACA,IAAK,GAAI,OAAOA,EAChB,IAAK,GAAI,OAAOA,EAAI,MACpB,IAAK,GAAI,OAAOA,EAAI,KACpB,IAAK,GAAI,OAAOA,EAAI,IAErB,EAED,qBAAuB,SAAUD,EAAO,CACtC,OAAIA,GAAS,KAAa,GACtBA,GAAS,GAAW,KACjBT,EAAS,YAAYS,EAAM,OAAQ,GAAI,SAASvF,EAAO,CAAE,OAAOmF,EAAaH,EAAcO,EAAM,OAAOvF,CAAK,CAAC,EAAI,CAC1H,EAED,gBAAkB,SAAUuF,EAAO,CACjC,OAAIA,GAAS,KAAa,GACnBT,EAAS,UAAUS,EAAO,GAAI,SAASE,EAAE,CAAC,OAAOV,EAAEU,EAAE,EAAE,CAAE,CAAC,EAAI,GACtE,EAED,oBAAqB,SAAUC,EAAY,CACzC,OAAIA,GAAc,KAAa,GAC3BA,GAAc,GAAW,KACtBZ,EAAS,YAAYY,EAAW,OAAQ,MAAO,SAAS1F,EAAO,CAAE,OAAO0F,EAAW,WAAW1F,CAAK,EAAI,EAAG,CAAE,CACpH,EAGD,qBAAsB,SAAU2F,EAAc,CAI5C,QAHID,EAAaZ,EAAS,SAASa,CAAY,EAC3CC,EAAI,IAAI,WAAWF,EAAW,OAAO,CAAC,EAEjCJ,EAAE,EAAGO,EAASH,EAAW,OAAQJ,EAAEO,EAAUP,IAAK,CACzD,IAAIQ,EAAgBJ,EAAW,WAAWJ,CAAC,EAC3CM,EAAIN,EAAE,CAAC,EAAIQ,IAAkB,EAC7BF,EAAIN,EAAE,EAAE,CAAC,EAAIQ,EAAgB,IAE/B,OAAOF,CACR,EAGD,yBAAyB,SAAUF,EAAY,CAC7C,GAAIA,GAAa,KACb,OAAOZ,EAAS,WAAWY,CAAU,EAGrC,QADIE,EAAI,IAAI,MAAMF,EAAW,OAAO,CAAC,EAC5BJ,EAAE,EAAGO,EAASD,EAAI,OAAQN,EAAEO,EAAUP,IAC7CM,EAAIN,CAAC,EAAEI,EAAWJ,EAAE,CAAC,EAAE,IAAII,EAAWJ,EAAE,EAAE,CAAC,EAG7C,IAAIS,EAAS,CAAE,EACf,OAAAH,EAAI,QAAQ,SAAUI,EAAG,CACvBD,EAAO,KAAKhB,EAAEiB,CAAC,CAAC,CAC1B,CAAS,EACMlB,EAAS,WAAWiB,EAAO,KAAK,EAAE,CAAC,CAI/C,EAID,8BAA+B,SAAUR,EAAO,CAC9C,OAAIA,GAAS,KAAa,GACnBT,EAAS,UAAUS,EAAO,EAAG,SAASE,EAAE,CAAC,OAAOR,EAAc,OAAOQ,CAAC,CAAE,CAAC,CACjF,EAGD,kCAAkC,SAAUF,EAAO,CACjD,OAAIA,GAAS,KAAa,GACtBA,GAAS,GAAW,MACxBA,EAAQA,EAAM,QAAQ,KAAM,GAAG,EACxBT,EAAS,YAAYS,EAAM,OAAQ,GAAI,SAASvF,EAAO,CAAE,OAAOmF,EAAaF,EAAeM,EAAM,OAAOvF,CAAK,CAAC,EAAI,EAC3H,EAED,SAAU,SAAU2F,EAAc,CAChC,OAAOb,EAAS,UAAUa,EAAc,GAAI,SAASF,EAAE,CAAC,OAAOV,EAAEU,CAAC,CAAE,CAAC,CACtE,EACD,UAAW,SAAUE,EAAcM,EAAaC,EAAgB,CAC9D,GAAIP,GAAgB,KAAM,MAAO,GACjC,IAAIL,EAAGa,EACHC,EAAoB,CAAE,EACtBC,EAA4B,CAAE,EAC9BC,EAAU,GACVC,EAAW,GACXC,EAAU,GACVC,EAAmB,EACnBC,EAAkB,EAClBC,EAAiB,EACjBC,EAAa,CAAE,EACfC,EAAiB,EACjBC,EAAsB,EACtBC,EAEJ,IAAKA,EAAK,EAAGA,EAAKpB,EAAa,OAAQoB,GAAM,EAQ3C,GAPAT,EAAYX,EAAa,OAAOoB,CAAE,EAC7B,OAAO,UAAU,eAAe,KAAKX,EAAmBE,CAAS,IACpEF,EAAmBE,CAAS,EAAII,IAChCL,EAA2BC,CAAS,EAAI,IAG1CC,EAAaC,EAAYF,EACrB,OAAO,UAAU,eAAe,KAAKF,EAAmBG,CAAU,EACpEC,EAAYD,MACP,CACL,GAAI,OAAO,UAAU,eAAe,KAAKF,EAA2BG,CAAS,EAAG,CAC9E,GAAIA,EAAU,WAAW,CAAC,EAAE,IAAK,CAC/B,IAAKlB,EAAE,EAAIA,EAAEqB,EAAkBrB,IAC7BuB,EAAoBA,GAAoB,EACpCC,GAAyBb,EAAY,GACvCa,EAAwB,EACxBF,EAAa,KAAKV,EAAeW,CAAgB,CAAC,EAClDA,EAAmB,GAEnBC,IAIJ,IADAX,EAAQK,EAAU,WAAW,CAAC,EACzBlB,EAAE,EAAIA,EAAE,EAAIA,IACfuB,EAAoBA,GAAoB,EAAMV,EAAM,EAChDW,GAAyBb,EAAY,GACvCa,EAAwB,EACxBF,EAAa,KAAKV,EAAeW,CAAgB,CAAC,EAClDA,EAAmB,GAEnBC,IAEFX,EAAQA,GAAS,CAE/B,KAAiB,CAEL,IADAA,EAAQ,EACHb,EAAE,EAAIA,EAAEqB,EAAkBrB,IAC7BuB,EAAoBA,GAAoB,EAAKV,EACzCW,GAAwBb,EAAY,GACtCa,EAAwB,EACxBF,EAAa,KAAKV,EAAeW,CAAgB,CAAC,EAClDA,EAAmB,GAEnBC,IAEFX,EAAQ,EAGV,IADAA,EAAQK,EAAU,WAAW,CAAC,EACzBlB,EAAE,EAAIA,EAAE,GAAKA,IAChBuB,EAAoBA,GAAoB,EAAMV,EAAM,EAChDW,GAAyBb,EAAY,GACvCa,EAAwB,EACxBF,EAAa,KAAKV,EAAeW,CAAgB,CAAC,EAClDA,EAAmB,GAEnBC,IAEFX,EAAQA,GAAS,EAGrBM,IACIA,GAAqB,IACvBA,EAAoB,KAAK,IAAI,EAAGE,CAAe,EAC/CA,KAEF,OAAON,EAA2BG,CAAS,CACrD,KAEU,KADAL,EAAQC,EAAmBI,CAAS,EAC/BlB,EAAE,EAAIA,EAAEqB,EAAkBrB,IAC7BuB,EAAoBA,GAAoB,EAAMV,EAAM,EAChDW,GAAyBb,EAAY,GACvCa,EAAwB,EACxBF,EAAa,KAAKV,EAAeW,CAAgB,CAAC,EAClDA,EAAmB,GAEnBC,IAEFX,EAAQA,GAAS,EAKrBM,IACIA,GAAqB,IACvBA,EAAoB,KAAK,IAAI,EAAGE,CAAe,EAC/CA,KAGFP,EAAmBG,CAAU,EAAIG,IACjCF,EAAY,OAAOF,CAAS,EAKhC,GAAIE,IAAc,GAAI,CACpB,GAAI,OAAO,UAAU,eAAe,KAAKH,EAA2BG,CAAS,EAAG,CAC9E,GAAIA,EAAU,WAAW,CAAC,EAAE,IAAK,CAC/B,IAAKlB,EAAE,EAAIA,EAAEqB,EAAkBrB,IAC7BuB,EAAoBA,GAAoB,EACpCC,GAAyBb,EAAY,GACvCa,EAAwB,EACxBF,EAAa,KAAKV,EAAeW,CAAgB,CAAC,EAClDA,EAAmB,GAEnBC,IAIJ,IADAX,EAAQK,EAAU,WAAW,CAAC,EACzBlB,EAAE,EAAIA,EAAE,EAAIA,IACfuB,EAAoBA,GAAoB,EAAMV,EAAM,EAChDW,GAAyBb,EAAY,GACvCa,EAAwB,EACxBF,EAAa,KAAKV,EAAeW,CAAgB,CAAC,EAClDA,EAAmB,GAEnBC,IAEFX,EAAQA,GAAS,CAE7B,KAAe,CAEL,IADAA,EAAQ,EACHb,EAAE,EAAIA,EAAEqB,EAAkBrB,IAC7BuB,EAAoBA,GAAoB,EAAKV,EACzCW,GAAyBb,EAAY,GACvCa,EAAwB,EACxBF,EAAa,KAAKV,EAAeW,CAAgB,CAAC,EAClDA,EAAmB,GAEnBC,IAEFX,EAAQ,EAGV,IADAA,EAAQK,EAAU,WAAW,CAAC,EACzBlB,EAAE,EAAIA,EAAE,GAAKA,IAChBuB,EAAoBA,GAAoB,EAAMV,EAAM,EAChDW,GAAyBb,EAAY,GACvCa,EAAwB,EACxBF,EAAa,KAAKV,EAAeW,CAAgB,CAAC,EAClDA,EAAmB,GAEnBC,IAEFX,EAAQA,GAAS,EAGrBM,IACIA,GAAqB,IACvBA,EAAoB,KAAK,IAAI,EAAGE,CAAe,EAC/CA,KAEF,OAAON,EAA2BG,CAAS,CACnD,KAEQ,KADAL,EAAQC,EAAmBI,CAAS,EAC/BlB,EAAE,EAAIA,EAAEqB,EAAkBrB,IAC7BuB,EAAoBA,GAAoB,EAAMV,EAAM,EAChDW,GAAyBb,EAAY,GACvCa,EAAwB,EACxBF,EAAa,KAAKV,EAAeW,CAAgB,CAAC,EAClDA,EAAmB,GAEnBC,IAEFX,EAAQA,GAAS,EAKrBM,IACIA,GAAqB,IACvBA,EAAoB,KAAK,IAAI,EAAGE,CAAe,EAC/CA,KAMJ,IADAR,EAAQ,EACHb,EAAE,EAAIA,EAAEqB,EAAkBrB,IAC7BuB,EAAoBA,GAAoB,EAAMV,EAAM,EAChDW,GAAyBb,EAAY,GACvCa,EAAwB,EACxBF,EAAa,KAAKV,EAAeW,CAAgB,CAAC,EAClDA,EAAmB,GAEnBC,IAEFX,EAAQA,GAAS,EAInB,OAEE,GADAU,EAAoBA,GAAoB,EACpCC,GAAyBb,EAAY,EAAG,CAC1CW,EAAa,KAAKV,EAAeW,CAAgB,CAAC,EAClD,WAEGC,IAEP,OAAOF,EAAa,KAAK,EAAE,CAC5B,EAED,WAAY,SAAUlB,EAAY,CAChC,OAAIA,GAAc,KAAa,GAC3BA,GAAc,GAAW,KACtBZ,EAAS,YAAYY,EAAW,OAAQ,MAAO,SAAS1F,EAAO,CAAE,OAAO0F,EAAW,WAAW1F,CAAK,CAAE,CAAE,CAC/G,EAED,YAAa,SAAUgH,EAAQC,EAAYC,EAAc,CACvD,IAAIC,EAAa,CAAE,EAEfC,EAAY,EACZC,EAAW,EACXC,EAAU,EACVC,EAAQ,GACRxB,EAAS,CAAE,EACXT,EACAkC,EACAC,EAAMC,EAAMC,EAAUC,EACtB5B,EACA6B,EAAO,CAAC,IAAIX,EAAa,CAAC,EAAG,SAASD,EAAY,MAAM,CAAC,EAE7D,IAAK3B,EAAI,EAAGA,EAAI,EAAGA,GAAK,EACtB6B,EAAW7B,CAAC,EAAIA,EAMlB,IAHAmC,EAAO,EACPE,EAAW,KAAK,IAAI,EAAE,CAAC,EACvBC,EAAM,EACCA,GAAOD,GACZD,EAAOG,EAAK,IAAMA,EAAK,SACvBA,EAAK,WAAa,EACdA,EAAK,UAAY,IACnBA,EAAK,SAAWZ,EAChBY,EAAK,IAAMX,EAAaW,EAAK,OAAO,GAEtCJ,IAASC,EAAK,EAAI,EAAI,GAAKE,EAC3BA,IAAU,EAGZ,OAAeH,EAAI,CACjB,IAAK,GAID,IAHAA,EAAO,EACPE,EAAW,KAAK,IAAI,EAAE,CAAC,EACvBC,EAAM,EACCA,GAAOD,GACZD,EAAOG,EAAK,IAAMA,EAAK,SACvBA,EAAK,WAAa,EACdA,EAAK,UAAY,IACnBA,EAAK,SAAWZ,EAChBY,EAAK,IAAMX,EAAaW,EAAK,OAAO,GAEtCJ,IAASC,EAAK,EAAI,EAAI,GAAKE,EAC3BA,IAAU,EAEd5B,EAAIjB,EAAE0C,CAAI,EACV,MACF,IAAK,GAID,IAHAA,EAAO,EACPE,EAAW,KAAK,IAAI,EAAE,EAAE,EACxBC,EAAM,EACCA,GAAOD,GACZD,EAAOG,EAAK,IAAMA,EAAK,SACvBA,EAAK,WAAa,EACdA,EAAK,UAAY,IACnBA,EAAK,SAAWZ,EAChBY,EAAK,IAAMX,EAAaW,EAAK,OAAO,GAEtCJ,IAASC,EAAK,EAAI,EAAI,GAAKE,EAC3BA,IAAU,EAEd5B,EAAIjB,EAAE0C,CAAI,EACV,MACF,IAAK,GACH,MAAO,GAKX,IAHAN,EAAW,CAAC,EAAInB,EAChBwB,EAAIxB,EACJD,EAAO,KAAKC,CAAC,IACA,CACX,GAAI6B,EAAK,MAAQb,EACf,MAAO,GAMT,IAHAS,EAAO,EACPE,EAAW,KAAK,IAAI,EAAEL,CAAO,EAC7BM,EAAM,EACCA,GAAOD,GACZD,EAAOG,EAAK,IAAMA,EAAK,SACvBA,EAAK,WAAa,EACdA,EAAK,UAAY,IACnBA,EAAK,SAAWZ,EAChBY,EAAK,IAAMX,EAAaW,EAAK,OAAO,GAEtCJ,IAASC,EAAK,EAAI,EAAI,GAAKE,EAC3BA,IAAU,EAGZ,OAAQ5B,EAAIyB,EAAI,CACd,IAAK,GAIH,IAHAA,EAAO,EACPE,EAAW,KAAK,IAAI,EAAE,CAAC,EACvBC,EAAM,EACCA,GAAOD,GACZD,EAAOG,EAAK,IAAMA,EAAK,SACvBA,EAAK,WAAa,EACdA,EAAK,UAAY,IACnBA,EAAK,SAAWZ,EAChBY,EAAK,IAAMX,EAAaW,EAAK,OAAO,GAEtCJ,IAASC,EAAK,EAAI,EAAI,GAAKE,EAC3BA,IAAU,EAGZT,EAAWE,GAAU,EAAItC,EAAE0C,CAAI,EAC/BzB,EAAIqB,EAAS,EACbD,IACA,MACF,IAAK,GAIH,IAHAK,EAAO,EACPE,EAAW,KAAK,IAAI,EAAE,EAAE,EACxBC,EAAM,EACCA,GAAOD,GACZD,EAAOG,EAAK,IAAMA,EAAK,SACvBA,EAAK,WAAa,EACdA,EAAK,UAAY,IACnBA,EAAK,SAAWZ,EAChBY,EAAK,IAAMX,EAAaW,EAAK,OAAO,GAEtCJ,IAASC,EAAK,EAAI,EAAI,GAAKE,EAC3BA,IAAU,EAEZT,EAAWE,GAAU,EAAItC,EAAE0C,CAAI,EAC/BzB,EAAIqB,EAAS,EACbD,IACA,MACF,IAAK,GACH,OAAOrB,EAAO,KAAK,EAAE,EAQzB,GALIqB,GAAa,IACfA,EAAY,KAAK,IAAI,EAAGE,CAAO,EAC/BA,KAGEH,EAAWnB,CAAC,EACduB,EAAQJ,EAAWnB,CAAC,UAEhBA,IAAMqB,EACRE,EAAQC,EAAIA,EAAE,OAAO,CAAC,MAEtB,QAAO,KAGXzB,EAAO,KAAKwB,CAAK,EAGjBJ,EAAWE,GAAU,EAAIG,EAAID,EAAM,OAAO,CAAC,EAC3CH,IAEAI,EAAID,EAEAH,GAAa,IACfA,EAAY,KAAK,IAAI,EAAGE,CAAO,EAC/BA,MAKP,EACC,OAAOxC,CACT,EAAI,EAIwCgD,GAAU,KACpDA,UAAiBhD,EACR,OAAO,QAAY,KAAe,SAAW,MACtD,QAAQ,OAAO,WAAY,CAAE,CAAA,EAC5B,QAAQ,WAAY,UAAY,CAC/B,OAAOA,CACX,CAAG,0CCtfGiD,GAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAsDXC,GAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KA6BlBC,GAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAmBlBC,GAAW,CACbnG,EACAE,EACAkG,EAAc,KACb,CACD,IAAIC,EAAQ,GAERnG,IAAiB,gCACTmG,EAAAJ,IAGR/F,IAAiB,gCACTmG,EAAAH,IAGRhG,IAAiB,2BACTmG,EAAAL,IAGZ,MAAMM,EAAc;AAAA,iBACPtG,CAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMrBqG,CAAK;AAAA;AAAA,GAIP,OAAKD,EAIE,mBAAmBE,CAAW,EAH1BA,CAIf,EAEMC,GAAqB,CACvB1D,EACA3C,EACAF,IACC,CACD,MAAMqG,EAAQF,GAASnG,EAAYE,EAAc,EAAK,EAEhDsG,EAAmBzD,GAAS,8BAC9B,KAAK,UAAU,CACX,SAAUsD,EAAM,KAAK,CACxB,CAAA,CACL,EAGA,OADYxD,EAAY,qBAAqB2D,CAAgB,IAClD,SAAS,CACxB,EAEaC,GAAoB,CAC7B5D,EACA3C,EACAF,IACC,CACG,GAAA6C,EAAU,SAAS,WAAW,EACvB,OAAA0D,GAAmB1D,EAAW3C,EAAcF,CAAU,EAGjE,MAAM0G,EAAc7D,EAAU,QAAQ,QAAS,WAAW,EACpDwD,EAAQF,GAASnG,EAAYE,CAAY,EAG/C,OAFYwG,EAAc,UAAUL,CAAK,IAE9B,SAAS,CACxB,EC5KMM,GAAkBC,GAAgB,OAAO,KAAKA,EAAK,QAAQ,SAEpD,MAAAC,KAAU5H,GAAA,OAAO,cAAP,YAAAA,GAAoB,UAAW0H,GCGzCG,GAA0B/G,GAAgC,CACnE,KAAM,CAAE,cAAA+C,EAAe,UAAAD,GAAcN,GAAqBxC,CAAO,EAEjE,MAAO,OAAOgH,GAA2B,CACrC,IAAIA,GAAA,YAAAA,EAAQ,QAASjG,GAAQ,CAAC+B,GAAa,CAACC,EAAe,OAE/C,IAAI,IAAID,CAAS,EACT,OAEpB,MAAMmE,EAAiBP,GACnB5D,EACAkE,EAAO,aACPA,EAAO,EACX,EAEA,MAAMF,GAAQG,CAAc,CAChC,CACJ,ECcO,SAASC,IAAa,CACnB,KAAA,CAAE,UAAAC,CAAU,EAAIC,GAAS,EACzB,CAAE,EAAAC,CAAE,EAAIC,GAAe,EACvBC,EAAiBC,GAAkB,EACnC,CACF,kBAAAhI,EACA,WAAAiI,EACA,mBAAAC,EACA,gBAAAC,EACA,cAAAC,CAAA,EACAL,EACEM,EAAkBC,GAAmB,EACrCC,EAAsBrF,GAAuB,EAC7C,CACF,UAAAsF,EACA,QAAAC,EACA,WAAAC,EACA,WAAAC,EACA,SAAAC,EACA,eAAAC,EACA,YAAAC,EACA,YAAAC,EACA,yBAAAC,EACA,oBAAAC,EACA,SAAAC,EACA,SAAAC,EACA,cAAAC,EACA,cAAAC,EACA,WAAAC,EACA,gCAAAC,EAAA,EACAhB,EACEiB,GAAwBxG,GAAqBhD,GAAA,YAAAA,EAAmB,EAAE,EAClEyJ,GAAsBlC,GAAuBvH,GAAA,YAAAA,EAAmB,EAAE,EAClE0J,GAAkBC,GAAmB,EACrCC,GAAclH,GAAe,EAC7BmH,GAAiBC,GAA0B,EAC3CC,GAAmBC,GAAoB,EACvCpK,GAAmBC,GAAoB,CACzC,GAAGkI,EACH,GAAGQ,EACH,GAAGF,CAAA,CACN,EAEK4B,EAAkBlJ,EACpB,MAAOoC,GAA6C,CAChD,MAAM+G,EAAc,gBAAiB/G,EAC/B,CAAE,GAAAnC,EAAI,KAAAmJ,EAAM,KAAAC,GAAM,KAAAC,IAASlH,EAAM,MAAM,OACvC,CAAE,YAAamH,EAAc,iBAAAC,IAAsBL,EAEnD,CAAE,YAAavI,EAAQ,iBAAkB,EAAM,EAD/CwB,EAAM,MAAM,MAEZqH,GAAgBF,GAAA,YAAAA,EAAc,cAC9BvI,EACFyI,KAAkB,UAAY3I,EAAQ2I,GAEpCC,GAAmBP,EAEnB,OADA,MAAMd,EAAcpI,EAAIe,CAAW,EAInC2I,GACFD,KAAoB,eACd,UACAA,GAEJE,EAAyB,CAC3B,GAAA3J,EACA,KAAAmJ,EACA,KAAME,IAAQ,KACd,KAAM1H,EACN,SAAU,CAAC,EACX,QAAS,CAAC,EACV,YAAAZ,EACA,WAAY2I,GACZ,iBAAAH,GACA,KAAAH,GACA,aAAc,KACd,QAASpJ,CACb,EAEM4J,GAAQzH,EAAM,MAAM,OAAO,MAAM,IAAS0H,GAAA,CAC5C,MAAMC,EAAO,CACT,GAAGD,EACH,KAAME,GAAyBF,EAAE,IAAI,EACrC,QAAS7J,EACT,aAAc6J,EAAE,cAAgB7J,EAChC,KAAM6J,EAAE,KAAK,YAAY,EACzB,WAAYH,GACZ,YAAA3I,CACJ,EAEI,GAAA+I,EAAK,OAASnI,EACR,MAAA,IAAI,MAAM,kCAAkC,EAGlD,OAAAmI,EAAK,OAASvJ,EACPuJ,EAGJ,CACH,GAAGA,EACH,SAAU,CAAA,CACd,CAAA,CACH,EAED,UAAWA,KAAQF,GACLD,EAAA,QAAQG,EAAK,EAAE,EAAIA,EAIjC,gBAAiBA,KAAQF,GAAO,CACxB,GAAAE,EAAK,OAASvJ,EAAM,CACd,MAAAyJ,GAAkBd,EAKlB,OAJA,MAAMd,EACF0B,EAAK,qBAAqB,CAAC,EAAE,OAC7B/I,CAEJ,EAGAkJ,GACFD,KAAmB,eACb,UACAA,GAEVF,EAAK,WAAaG,EAAA,CAGlB,GAAAH,EAAK,eAAiB9J,EAAI,CAChB2J,EAAA,SAAS,KAAKG,CAAI,EAC5B,QAAA,CAEJ,MAAMI,EAASP,EAAU,QAAQG,EAAK,YAAY,EAE9C,GAAAI,EAAO,OAAS3J,EAChB,MAAM,IAAI,MACN,eAAeuJ,EAAK,YAAY,0BACpC,EAGGI,EAAA,SAAS,KAAKJ,CAAI,EAErBA,EAAK,aAAeK,KACpBD,EAAO,WAAaJ,EAAK,WAC7B,CAGG,OAAAH,CACX,EACA,CAACvB,CAAa,CAClB,EAEMgC,GAAmBrK,EACrB,MAAOkC,GACI,QAAQ,IAAIA,EAAe,IAAIgH,CAAe,CAAC,EAE1D,CAACA,CAAe,CACpB,EAEMoB,EAActK,EAChB,MAAOoJ,EAAcmB,IAA8B,CAC/C,GAAI,CAACA,EACK,MAAA,IAAI,MAAM,yBAAyB,EAEzC,GAAAA,EAAW,OAAS/J,EACd,MAAA,IAAI,MAAM,6BAA6B,EAEjD,OAAO,MAAMiH,EAAU8C,EAAW,QAASnB,EAAMmB,EAAW,EAAE,CAClE,EACA,CAAC9C,CAAS,CACd,EAEM+C,GAAexK,EACjB,MAAOoJ,EAAc3C,IAAmB,CAChC,GAAAA,EAAO,OAAS7E,EAChB,MAAM,IAAI,MACN,yDACJ,EAEJ,OAAO,MAAM+F,EAAWlB,EAAO,QAASA,EAAO,GAAI2C,CAAI,CAC3D,EACA,CAACzB,CAAU,CACf,EAEM8C,GAAazK,EACf,MAAOyG,EAAgBiE,IAAuB,CACtC,GAAAjE,EAAO,OAAS7E,EACV,MAAA,IAAI,MAAM,4BAA4B,EAG1C,MAAAuG,EAAS1B,EAAQiE,CAAU,CACrC,EACA,CAACvC,CAAQ,CACb,EAEMwC,GAAa3K,EACf,MAAOyG,EAAgBiE,IAAuB,CACtC,GAAAjE,EAAO,OAAS7E,EACV,MAAA,IAAI,MAAM,uBAAuB,EAGrC,MAAAwG,EAAS3B,EAAQiE,CAAU,CACrC,EACA,CAACtC,CAAQ,CACb,EAEMwC,GAAY5K,EACd,MAAO6K,EAAYN,IAA8B,CAC7C,GAAI,CAACA,EACK,MAAA,IAAI,MAAM,yBAAyB,EAEzC,GAAAA,EAAW,OAAS/J,EACd,MAAA,IAAI,MAAM,2BAA2B,EAG/C,MAAMsK,EAAWD,EAAK,KAAK,QAAQ,YAAa,EAAE,EAElD,OAAO,MAAMnD,EACTmD,EACAN,EAAW,QACXO,EACAP,EAAW,EACf,CACJ,EACA,CAAC7C,CAAO,CACZ,EAEMqD,GAAkB/K,EACpB,MAAOyG,GAAmB,CACtB,GAAKU,EAED,IAAAV,EAAO,OAAS7E,EACV,MAAA,IAAI,MAAM,4BAA4B,EAG1C,MAAAuG,EAAS1B,EAAQU,CAAkB,EAC7C,EACA,CAACgB,EAAUhB,CAAkB,CACjC,EAEM6D,GAAehL,EAChByG,GAAsC,CACnCG,EAAU,aAAc,CACpB,OAAAH,EACA,SAAU,MAAMwE,GAAc,CACfA,EAAA,EAEX,MAAMC,EACFzE,EAAO,OAAS5E,EACV,oCACA,kCAEJ0I,EAAalD,EAAcZ,CAAM,EAEvC,MAAMmB,EAAWnB,EAAO,QAASA,EAAO,EAAE,EAE1CW,EAAgBmD,CAAU,EAE1BY,EAAMrE,EAAEoE,CAAO,EAAG,CAAE,KAAM,kBAAmB,CAAA,CACjD,CACH,CACL,EACA,CAACtD,EAAYP,EAAeD,EAAiBR,EAAWE,CAAC,CAC7D,EAEMsE,EAAgBpL,EACjBqL,GAA6B,CAC1BzE,EAAU,mBAAoB,CAC1B,YAAAyE,EACA,SAAU,MAAMJ,GAAc,CACfA,EAAA,EACL,MAAAlD,EAAYsD,EAAY,EAAE,EAEhBjE,EAAAF,EAAW,CAAC,CAAC,EAEvBiE,EAAArE,EAAE,kCAAkC,EAAG,CACzC,KAAM,iBAAA,CACT,CAAA,CACL,CACH,CACL,EACA,CAACiB,EAAab,EAAYE,EAAiBR,EAAWE,CAAC,CAC3D,EAEMwE,GAAkBtL,EACpB,MAAOwF,GAA6B,CAC5B,GAAA,CACM,MAAA+F,EAAW,MAAM1D,EAAS,CAC5B,OAAQ,CACJ,KAAMrC,EAAK,KACX,GAAI,OACJ,KAAM,KACN,KAAM,IACV,EACA,MAAO,CACH,iBAAkBA,EAAK,iBACvB,YAAaA,EAAK,YAAY,YAAY,EAC1C,UAAW,CAAC,EACZ,SAAU,CAAA,CAAC,CACf,CACH,EAEK2F,EAAArE,EAAE,+BAA+B,EAAG,CACtC,KAAM,iBAAA,CACT,EAEK,MAAA0E,EAAe,MAAMtC,EAAgBqC,CAAQ,EAEnDnE,EAAgBoE,CAAY,QACvBC,EAAG,CACR,QAAQ,MAAMA,CAAC,CAAA,CAEvB,EACA,CAAC5D,EAAUqB,EAAiB9B,EAAiBN,CAAC,CAClD,EAEM4E,GAAmB1L,EACrB,MAAOwF,GAA8B,CAC7B,GAAA,CACA,MAAM+F,EAAW,MAAMzD,EAAetC,EAAK,IAAK,CAC5C,YAAaA,EAAK,YAClB,iBAAkBA,EAAK,iBACvB,UAAW,CACP,CACI,MAAO,GACP,SAAU,CACN,KAAMA,EAAK,IACX,KAAM,mBACN,gBAAiB,iBACrB,EACA,OAAQ,CACJ,OAAQ,CAAC,MAAM,EACf,WAAY,CAAC,GAAG,EAChB,aAAc,CAAC,GAAG,EAClB,MAAO,CAAC,QAAQ,CACpB,EACA,MAAO,mBACP,WAAY,IACZ,OAAQ,EAAA,CAEhB,EACA,SAAU,CAAC,EACX,aAAc,GAAA,CACjB,EAEK2F,EAAArE,EAAE,+BAA+B,EAAG,CACtC,KAAM,iBAAA,CACT,EAEK,MAAA0E,EAAe,MAAMtC,EAAgBqC,CAAQ,EAEnDnE,EAAgBoE,CAAY,QACvBC,EAAG,CACR,QAAQ,MAAMA,CAAC,CAAA,CAEvB,EACA,CAAC3D,EAAgBoB,EAAiB9B,EAAiBN,CAAC,CACxD,EAEM6E,GAAoB3L,EACrB4L,GAAkC,CAC3BA,IAAqB9K,EACrB8F,EAAU,gBAAiB,CACvB,gBAAA0E,EAAA,CACH,EAED1E,EAAU,iBAAkB,CACxB,iBAAA8E,GACA,iBAAAE,CAAA,CACH,CAET,EACA,CAACN,GAAiBI,GAAkB9E,CAAS,CACjD,EAEMiF,GAAgB7L,EAClB,MAAOqL,EAA0BS,IAAoB,CAC3C,MAAA9D,EAAYqD,EAAY,GAAIS,CAAO,CAC7C,EACA,CAAC9D,CAAW,CAChB,EAEM+D,GAAsB/L,EACxB,MAAOqL,EAA0BW,IAAgC,CACvD,MAAA9D,EAAoBmD,EAAY,GAAIW,CAAc,CAC5D,EACA,CAAC9D,CAAmB,CACxB,EAEM+D,GAA2BjM,EAC7B,MAAOqL,EAA0Ba,IAAiC,CACxD,MAAAjE,EAAyBoD,EAAY,GAAIa,CAAmB,CACtE,EACA,CAACjE,CAAwB,CAC7B,EAEMkE,GAAyBnM,EAC1BqL,GAA6B,CAC1BzE,EAAU,gBAAiB,CACvB,YAAAyE,EACA,cAAAQ,GACA,cAAAT,EACA,oBAAAW,GACA,yBAAAE,EAAA,CACH,CACL,EACA,CACIA,GACAF,GACAX,EACAS,GACAjF,CAAA,CAER,EAEMwF,GAA0BpM,EAC5B,MAAOoJ,GAAiB,CAChB,GAAA,CAACA,GAAQ,CAACjC,EAAoB,OAElC,MAAMkF,EAAY,MAAM/B,EAAYlB,EAAMjC,CAAkB,EAE5CC,EAAA,CACZ,GAAGiF,EACH,KAAMxK,EACN,KAAMmI,GAAyBqC,EAAU,IAAI,EAC7C,aAAclF,EAAmB,GACjC,WAAYA,EAAmB,WAC/B,QAASA,EAAmB,QAC5B,YAAaA,EAAmB,YAChC,SAAU,CAAA,CAAC,CACd,CACL,EACA,CAACmD,EAAanD,EAAoBC,CAAe,CACrD,EAEMkF,GAAetM,EACjB,MAAOuM,GAA0B,CAC7B,MAAMjG,EAAM,OAAO,OAAO,KAAK,GAAK,GAE9BkG,EAAuB,MAAMhE,GAC/B+D,EACAjG,EACA,CAAE,aAAc,GAAK,CACzB,EACM,MAAAiC,EAAWgE,EAAeC,CAAoB,CACxD,EACA,CAACjE,EAAYC,EAA+B,CAChD,EAEMiE,GAAkBzM,EACpB,MAAOuM,GAA0B,CACvB,MAAAG,EAAY,OAAO,OAAO,YAAY,EAExCA,GACM,MAAApE,EAAciE,EAAeG,CAAS,CAEpD,EACA,CAACpE,CAAa,CAClB,EAEMqE,GAAsB3M,EACxB,MAAOuM,GAA0B,CAC7B,MAAMjG,EAAM,OAAO,OAAO,KAAK,GAAK,GAEpC,MAAMiC,EAAWgE,EAAe,CAC5B,GAAI,kBACJ,KAAM,gBACN,KAAM,CACF,SAAU,OACV,WAAY,sBACZ,IAAAjG,CAAA,CACJ,CACH,CACL,EACA,CAACiC,CAAU,CACf,EAEMqE,GAA0BrM,EAC5B,IACI2G,EAAW,OACP,CAAC2F,EAAKjD,KACFiD,EAAIjD,EAAU,WAAW,EAAE,KAAKA,CAAS,EAClCiD,GAEX,CACI,CAACjM,CAAM,EAAG,CAAC,EACX,CAACC,CAAK,EAAG,CAAC,EACV,CAACC,CAAK,EAAG,CAAA,CAAC,CAElB,EACJ,CAACoG,CAAU,CACf,EAEO,OAAA3G,EACH,KAAO,CACH,GAAGiH,EACH,GAAGR,EACH,GAAG2B,GACH,GAAGF,GACH,GAAG5J,GACH,YAAAgK,GACA,wBAAA+D,GACA,eAAA9D,GACA,YAAAwB,EACA,UAAAM,GACA,WAAAH,GACA,WAAAE,GACA,aAAAH,GACA,gBAAAO,GACA,aAAAC,GACA,cAAAI,EACA,iBAAAf,GACA,wBAAA+B,GACA,kBAAAT,GACA,uBAAAQ,GACA,oBAAAzD,GACA,aAAA4D,GACA,gBAAAG,GACA,oBAAAE,GACA,iBAAA3D,EAAA,GAEJ,CACIxB,EACAR,EACA2B,GACAF,GACA5J,GACAgK,GACA+D,GACA9D,GACAwB,EACAM,GACAH,GACAE,GACAH,GACAO,GACAC,GACAI,EACAf,GACA+B,GACAT,GACAQ,GACAzD,GACA4D,GACAG,GACAE,GACA3D,EAAA,CAER,CACJ","x_google_ignoreList":[3]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"service-worker.js","sources":["../src/service-worker.ts"],"sourcesContent":["/// <reference lib=\"WebWorker\" />\n\nimport { ServiceWorkerEvent } from './utils/registerServiceWorker';\n\nconst _self = self as unknown as ServiceWorkerGlobalScope;\n\nconst APP_VERSION = __APP_VERSION__;\nconst REQUIRES_HARD_REFRESH = __REQUIRES_HARD_REFRESH__;\n\nconst VERSION_CACHE = 'version-cache';\nconst VERSION_KEY = 'app-version';\n\n_self.addEventListener('install', () => {\n _self.skipWaiting().catch(console.error);\n});\n\n_self.addEventListener('activate', (event: ExtendableEvent) => {\n event.waitUntil(_self.clients.claim());\n\n checkAppVersion(APP_VERSION, REQUIRES_HARD_REFRESH).catch(console.error);\n});\n\nexport type NEW_VERSION_AVAILABLE_MESSAGE = {\n type: 'NEW_VERSION_AVAILABLE';\n version: string;\n requiresHardRefresh: boolean;\n};\n\nexport type ServiceWorkerMessageData = NEW_VERSION_AVAILABLE_MESSAGE;\n\nexport type ServiceWorkerMessage = ServiceWorkerEvent<ServiceWorkerMessageData>;\n\nfunction postMessage(client: Client, message: ServiceWorkerMessageData) {\n return client.postMessage(message);\n}\n\nasync function checkAppVersion(version: string, requiresHardRefresh: boolean) {\n try {\n const cache = await caches.open(VERSION_CACHE);\n const cachedResponse = await cache.match(VERSION_KEY);\n\n let currentVersion = '';\n\n if (cachedResponse) {\n currentVersion = await cachedResponse.text();\n }\n\n if (currentVersion === '') {\n // Initial cache\n await cache.put(VERSION_KEY, new Response(version));\n } else if (currentVersion !== version) {\n // New version detected\n console.log('Current version:', currentVersion);\n console.log('New version:', version);\n\n // Update the stored version\n await cache.put(VERSION_KEY, new Response(version));\n\n // Update clients\n await updateClients(version, requiresHardRefresh);\n }\n } catch (error) {\n console.error('Error checking version:', error);\n }\n}\n\nasync function updateClients(version: string, requiresHardRefresh: boolean) {\n await _self.clients.claim();\n const clients = await _self.clients.matchAll();\n clients.forEach(client => {\n postMessage(client, {\n type: 'NEW_VERSION_AVAILABLE',\n version,\n requiresHardRefresh,\n });\n });\n}\n"],"names":["_self","APP_VERSION","REQUIRES_HARD_REFRESH","VERSION_CACHE","VERSION_KEY","event","checkAppVersion","postMessage","client","message","version","requiresHardRefresh","cache","cachedResponse","currentVersion","updateClients","error"],"mappings":"AAIA,MAAMA,EAAQ,KAERC,EAAc,QACdC,EAAwB,GAExBC,EAAgB,gBAChBC,EAAc,cAEpBJ,EAAM,iBAAiB,UAAW,IAAM,CACpCA,EAAM,YAAY,EAAE,MAAM,QAAQ,KAAK,CAC3C,CAAC,EAEDA,EAAM,iBAAiB,WAAaK,GAA2B,CAC3DA,EAAM,UAAUL,EAAM,QAAQ,MAAA,CAAO,EAErCM,EAAgBL,EAAaC,CAAqB,EAAE,MAAM,QAAQ,KAAK,CAC3E,CAAC,EAYD,SAASK,EAAYC,EAAgBC,EAAmC,CAC7D,OAAAD,EAAO,YAAYC,CAAO,CACrC,CAEA,eAAeH,EAAgBI,EAAiBC,EAA8B,CACtE,GAAA,CACA,MAAMC,EAAQ,MAAM,OAAO,KAAKT,CAAa,EACvCU,EAAiB,MAAMD,EAAM,MAAMR,CAAW,EAEpD,IAAIU,EAAiB,GAEjBD,IACiBC,EAAA,MAAMD,EAAe,KAAK,GAG3CC,IAAmB,GAEnB,MAAMF,EAAM,IAAIR,EAAa,IAAI,SAASM,CAAO,CAAC,EAC3CI,IAAmBJ,IAElB,QAAA,IAAI,mBAAoBI,CAAc,EACtC,QAAA,IAAI,eAAgBJ,CAAO,EAGnC,MAAME,EAAM,IAAIR,EAAa,IAAI,SAASM,CAAO,CAAC,EAG5C,MAAAK,EAAcL,EAASC,CAAmB,SAE/CK,EAAO,CACJ,QAAA,MAAM,0BAA2BA,CAAK,CAAA,CAEtD,CAEA,eAAeD,EAAcL,EAAiBC,EAA8B,CAClE,MAAAX,EAAM,QAAQ,MAAM,GACV,MAAMA,EAAM,QAAQ,SAAS,GACrC,QAAkBQ,GAAA,CACtBD,EAAYC,EAAQ,CAChB,KAAM,wBACN,QAAAE,EACA,oBAAAC,CAAA,CACH,CAAA,CACJ,CACL"}
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env node
2
- /* eslint-disable no-undef */
3
-
4
- import { program } from './index.js';
5
-
6
- program.parse(process.argv);
@@ -1,2 +0,0 @@
1
- export declare function backupIndexHtml(restore?: boolean): void;
2
- export declare function removeBase64EnvValues(): void;
@@ -1,20 +0,0 @@
1
- import { Command } from 'commander';
2
- export type Project = {
3
- name: string;
4
- path: string;
5
- };
6
- export type ConnectStudioOptions = {
7
- port?: string;
8
- host?: boolean;
9
- https?: boolean;
10
- configFile?: string;
11
- localEditors?: string;
12
- localDocuments?: string;
13
- open?: boolean;
14
- packages?: {
15
- packageName: string;
16
- }[];
17
- };
18
- export declare function generateImportSctipt(outputPath: string, projects: Project[]): void;
19
- export declare function startConnectStudio(options: ConnectStudioOptions): Promise<void> | undefined;
20
- export declare const program: Command;