@starlove/orbit 1.4.1 → 2.0.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 (329) hide show
  1. package/Dockerfile +10 -8
  2. package/README.md +146 -164
  3. package/dist/full/csp.txt +1 -0
  4. package/dist/full/fonts/JetBrains_Mono/JetBrainsMono-subset.woff2 +0 -0
  5. package/dist/full/fonts/JetBrains_Mono/README.txt +5 -0
  6. package/dist/full/fonts/Mona_Sans/MonaSans-subset.woff2 +0 -0
  7. package/{public/fonts/Open_Sans → dist/full/fonts/Mona_Sans}/OFL.txt +93 -93
  8. package/dist/full/fonts/Mona_Sans/README.txt +10 -0
  9. package/{public/fonts/JetBrains_Mono → dist/full/fonts/Newsreader}/OFL.txt +93 -93
  10. package/dist/full/fonts/Newsreader/README.txt +8 -0
  11. package/dist/full/fonts/Newsreader/newsreader.woff2 +0 -0
  12. package/dist/full/index.html +36 -653
  13. package/dist/full/js/app.BmuponPJ.js +32 -0
  14. package/dist/full/js/app.BmuponPJ.js.map +1 -0
  15. package/dist/full/js/chunk.1fJGQGbW.js +2 -0
  16. package/dist/full/js/chunk.1fJGQGbW.js.map +1 -0
  17. package/dist/full/js/chunk.5D7JO2zp.js +2 -0
  18. package/dist/full/js/chunk.5D7JO2zp.js.map +1 -0
  19. package/dist/full/js/chunk.BrNn_D79.js +2 -0
  20. package/dist/full/js/chunk.BrNn_D79.js.map +1 -0
  21. package/dist/full/js/chunk.CokJXIqM.js +2 -0
  22. package/dist/full/js/chunk.CokJXIqM.js.map +1 -0
  23. package/dist/full/js/chunk.D_Haqy6R.js +2 -0
  24. package/dist/full/js/chunk.D_Haqy6R.js.map +1 -0
  25. package/dist/full/js/chunk.RO0jsH6I.js +15 -0
  26. package/dist/full/js/chunk.RO0jsH6I.js.map +1 -0
  27. package/dist/full/js/chunk.dqWOEtBM.js +2 -0
  28. package/dist/full/js/chunk.dqWOEtBM.js.map +1 -0
  29. package/dist/full/js/warm.f260bbbc.js +15 -0
  30. package/dist/full/orbits-favicon.png +0 -0
  31. package/dist/full/orbits-logo-bg-wide.png +0 -0
  32. package/dist/full/orbits-logo-bg.png +0 -0
  33. package/dist/full/orbits-logo.png +0 -0
  34. package/dist/full/styles.2b154ffe.css +1 -0
  35. package/dist/full/vendor/starlove-ui/theme-init.js +66 -0
  36. package/dist/full/version.json +2 -2
  37. package/docs/AGENT_GUIDE.md +114 -0
  38. package/docs/UPDATING.md +249 -64
  39. package/lib/adapters/indexeddb/blobs.d.ts +3 -0
  40. package/lib/adapters/indexeddb/blobs.js +54 -0
  41. package/lib/adapters/indexeddb/database.d.ts +60 -0
  42. package/lib/adapters/indexeddb/database.js +126 -0
  43. package/lib/adapters/indexeddb/index.d.ts +5 -0
  44. package/lib/adapters/indexeddb/index.js +3 -0
  45. package/lib/adapters/indexeddb/locks.d.ts +14 -0
  46. package/lib/adapters/indexeddb/locks.js +40 -0
  47. package/lib/adapters/indexeddb/store.d.ts +40 -0
  48. package/lib/adapters/indexeddb/store.js +424 -0
  49. package/lib/adapters/indexeddb/tables.d.ts +43 -0
  50. package/lib/adapters/indexeddb/tables.js +127 -0
  51. package/lib/adapters/memory/blobs.d.ts +3 -0
  52. package/lib/adapters/memory/blobs.js +44 -0
  53. package/lib/adapters/memory/board.d.ts +41 -0
  54. package/lib/adapters/memory/board.js +521 -0
  55. package/lib/adapters/memory/index.d.ts +2 -0
  56. package/lib/adapters/memory/index.js +2 -0
  57. package/lib/adapters/memory/search.d.ts +6 -0
  58. package/lib/adapters/memory/search.js +30 -0
  59. package/lib/adapters/memory/store.d.ts +34 -0
  60. package/lib/adapters/memory/store.js +266 -0
  61. package/lib/adapters/sqlite/backups.d.ts +53 -0
  62. package/lib/adapters/sqlite/backups.js +232 -0
  63. package/lib/adapters/sqlite/blobs.d.ts +14 -0
  64. package/lib/adapters/sqlite/blobs.js +109 -0
  65. package/lib/adapters/sqlite/board.d.ts +77 -0
  66. package/lib/adapters/sqlite/board.js +328 -0
  67. package/lib/adapters/sqlite/database.d.ts +67 -0
  68. package/lib/adapters/sqlite/database.js +285 -0
  69. package/lib/adapters/sqlite/index.d.ts +3 -0
  70. package/lib/adapters/sqlite/index.js +2 -0
  71. package/lib/adapters/sqlite/lock.d.ts +11 -0
  72. package/lib/adapters/sqlite/lock.js +34 -0
  73. package/lib/adapters/sqlite/records.d.ts +54 -0
  74. package/lib/adapters/sqlite/records.js +546 -0
  75. package/lib/adapters/sqlite/schema.d.ts +54 -0
  76. package/lib/adapters/sqlite/schema.js +276 -0
  77. package/lib/adapters/sqlite/store.d.ts +39 -0
  78. package/lib/adapters/sqlite/store.js +385 -0
  79. package/lib/browser/in-page.d.ts +31 -0
  80. package/lib/browser/in-page.js +46 -0
  81. package/lib/browser/old-preview.d.ts +13 -0
  82. package/lib/browser/old-preview.js +80 -0
  83. package/lib/browser/preview-board.d.ts +8 -0
  84. package/lib/browser/preview-board.js +69 -0
  85. package/lib/cli/main.d.ts +7 -0
  86. package/lib/cli/main.js +343 -0
  87. package/lib/cli/orbit.d.ts +8 -0
  88. package/lib/cli/orbit.js +25 -0
  89. package/lib/client/http.d.ts +38 -0
  90. package/lib/client/http.js +334 -0
  91. package/lib/client/local.d.ts +26 -0
  92. package/lib/client/local.js +190 -0
  93. package/lib/client/object-url.d.ts +8 -0
  94. package/lib/client/object-url.js +21 -0
  95. package/lib/client/types.d.ts +268 -0
  96. package/lib/client/types.js +8 -0
  97. package/lib/commands/agent-tools.d.ts +31 -0
  98. package/lib/commands/agent-tools.js +100 -0
  99. package/lib/commands/index.d.ts +56 -0
  100. package/lib/commands/index.js +298 -0
  101. package/lib/commands/parse.d.ts +73 -0
  102. package/lib/commands/parse.js +231 -0
  103. package/lib/commands/present.d.ts +134 -0
  104. package/lib/commands/present.js +198 -0
  105. package/lib/commands/session.d.ts +85 -0
  106. package/lib/commands/session.js +138 -0
  107. package/lib/commands/verbs.d.ts +35 -0
  108. package/lib/commands/verbs.js +842 -0
  109. package/lib/core/actors.d.ts +18 -0
  110. package/lib/core/actors.js +45 -0
  111. package/lib/core/agent.d.ts +128 -0
  112. package/lib/core/agent.js +323 -0
  113. package/lib/core/boards.d.ts +113 -0
  114. package/lib/core/boards.js +288 -0
  115. package/lib/core/bootstrap.d.ts +47 -0
  116. package/lib/core/bootstrap.js +100 -0
  117. package/lib/core/bytes.d.ts +10 -0
  118. package/lib/core/bytes.js +52 -0
  119. package/lib/core/card-paths.d.ts +25 -0
  120. package/lib/core/card-paths.js +44 -0
  121. package/lib/core/context.d.ts +60 -0
  122. package/lib/core/context.js +42 -0
  123. package/lib/core/cross-board.d.ts +81 -0
  124. package/lib/core/cross-board.js +228 -0
  125. package/lib/core/describe.d.ts +21 -0
  126. package/lib/core/describe.js +81 -0
  127. package/lib/core/errors.d.ts +159 -0
  128. package/lib/core/errors.js +160 -0
  129. package/lib/core/files.d.ts +79 -0
  130. package/lib/core/files.js +262 -0
  131. package/lib/core/history.d.ts +20 -0
  132. package/lib/core/history.js +53 -0
  133. package/lib/core/image-types.d.ts +16 -0
  134. package/lib/core/image-types.js +36 -0
  135. package/lib/core/model.d.ts +263 -0
  136. package/lib/core/model.js +34 -0
  137. package/lib/core/nebula-link.d.ts +14 -0
  138. package/lib/core/nebula-link.js +39 -0
  139. package/lib/core/relations.d.ts +58 -0
  140. package/lib/core/relations.js +112 -0
  141. package/lib/core/search.d.ts +38 -0
  142. package/lib/core/search.js +92 -0
  143. package/lib/core/sessions.d.ts +44 -0
  144. package/lib/core/sessions.js +158 -0
  145. package/lib/core/snapshot-schema.d.ts +295 -0
  146. package/lib/core/snapshot-schema.js +82 -0
  147. package/lib/core/snapshots.d.ts +75 -0
  148. package/lib/core/snapshots.js +409 -0
  149. package/lib/core/states.d.ts +25 -0
  150. package/lib/core/states.js +126 -0
  151. package/lib/core/text.d.ts +40 -0
  152. package/lib/core/text.js +113 -0
  153. package/lib/core/tickets.d.ts +69 -0
  154. package/lib/core/tickets.js +311 -0
  155. package/lib/core/trello.d.ts +17 -0
  156. package/lib/core/trello.js +269 -0
  157. package/lib/core/verdicts.d.ts +28 -0
  158. package/lib/core/verdicts.js +92 -0
  159. package/lib/core/views.d.ts +95 -0
  160. package/lib/core/views.js +186 -0
  161. package/lib/http/app.d.ts +46 -0
  162. package/lib/http/app.js +491 -0
  163. package/lib/mcp-server.d.ts +10 -0
  164. package/lib/mcp-server.js +120 -0
  165. package/lib/node/assets.d.ts +7 -0
  166. package/lib/node/assets.js +68 -0
  167. package/lib/node/data-folder.d.ts +21 -0
  168. package/lib/node/data-folder.js +34 -0
  169. package/lib/node/env.d.ts +38 -0
  170. package/lib/node/env.js +49 -0
  171. package/lib/node/host-check.d.ts +24 -0
  172. package/lib/node/host-check.js +53 -0
  173. package/lib/node/host-services.d.ts +9 -0
  174. package/lib/node/host-services.js +150 -0
  175. package/lib/node/local.d.ts +22 -0
  176. package/lib/node/local.js +61 -0
  177. package/lib/node/migrate.d.ts +53 -0
  178. package/lib/node/migrate.js +635 -0
  179. package/lib/node/package.d.ts +7 -0
  180. package/lib/node/package.js +14 -0
  181. package/lib/node/repo-board.d.ts +49 -0
  182. package/lib/node/repo-board.js +245 -0
  183. package/lib/node/serve.d.ts +8 -0
  184. package/lib/node/serve.js +106 -0
  185. package/lib/orbit.d.ts +47 -0
  186. package/lib/orbit.js +44 -0
  187. package/lib/quiet-sqlite-warning.d.ts +1 -0
  188. package/lib/quiet-sqlite-warning.js +18 -0
  189. package/lib/store/blob-path.d.ts +6 -0
  190. package/lib/store/blob-path.js +12 -0
  191. package/lib/store/conformance.d.ts +52 -0
  192. package/lib/store/conformance.js +1449 -0
  193. package/lib/store/search-words.d.ts +10 -0
  194. package/lib/store/search-words.js +19 -0
  195. package/lib/store/types.d.ts +452 -0
  196. package/lib/store/types.js +34 -0
  197. package/llms.txt +63 -0
  198. package/package.json +109 -25
  199. package/src/cli/orbit.js +11 -658
  200. package/src/mcp-server.js +16 -876
  201. package/SKILL-ORBIT.md +0 -151
  202. package/build.mjs +0 -210
  203. package/dist/full/js/app.4e6fbe20.js +0 -952
  204. package/dist/full/js/app.4e6fbe20.js.map +0 -7
  205. package/dist/full/styles.4e60d824.css +0 -1
  206. package/docs/AGENT_PROTOCOL.md +0 -424
  207. package/docs/MCP_SETUP.md +0 -54
  208. package/docs/ORBIT_DISPATCH.md +0 -280
  209. package/docs/SS-Orbit-Dark.png +0 -0
  210. package/docs/SS-Orbit-Light.png +0 -0
  211. package/docs/mcp-client.example.json +0 -13
  212. package/docs/setup/orbit-init-wizard.md +0 -174
  213. package/public/apple-touch-icon.png +0 -0
  214. package/public/cursors/live_arrow.cur +0 -0
  215. package/public/cursors/live_link.cur +0 -0
  216. package/public/cursors/live_move.cur +0 -0
  217. package/public/cursors/live_select.cur +0 -0
  218. package/public/cursors/live_unavail.cur +0 -0
  219. package/public/favicon-32x32.png +0 -0
  220. package/public/fonts/Chakra_Petch/ChakraPetch-Bold.ttf +0 -0
  221. package/public/fonts/Chakra_Petch/ChakraPetch-BoldItalic.ttf +0 -0
  222. package/public/fonts/Chakra_Petch/ChakraPetch-Italic.ttf +0 -0
  223. package/public/fonts/Chakra_Petch/ChakraPetch-Light.ttf +0 -0
  224. package/public/fonts/Chakra_Petch/ChakraPetch-LightItalic.ttf +0 -0
  225. package/public/fonts/Chakra_Petch/ChakraPetch-Medium.ttf +0 -0
  226. package/public/fonts/Chakra_Petch/ChakraPetch-MediumItalic.ttf +0 -0
  227. package/public/fonts/Chakra_Petch/ChakraPetch-Regular.ttf +0 -0
  228. package/public/fonts/Chakra_Petch/ChakraPetch-SemiBold.ttf +0 -0
  229. package/public/fonts/Chakra_Petch/ChakraPetch-SemiBoldItalic.ttf +0 -0
  230. package/public/fonts/Chakra_Petch/OFL.txt +0 -93
  231. package/public/fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf +0 -0
  232. package/public/fonts/Inter/Inter-VariableFont_opsz,wght.ttf +0 -0
  233. package/public/fonts/Inter/OFL.txt +0 -93
  234. package/public/fonts/Inter/README.txt +0 -118
  235. package/public/fonts/JetBrains_Mono/JetBrainsMono-Italic-VariableFont_wght.ttf +0 -0
  236. package/public/fonts/JetBrains_Mono/JetBrainsMono-VariableFont_wght.ttf +0 -0
  237. package/public/fonts/JetBrains_Mono/README.txt +0 -79
  238. package/public/fonts/OpenRing-Regular.ttf +0 -0
  239. package/public/fonts/Open_Sans/OpenSans-Italic-VariableFont_wdth,wght.ttf +0 -0
  240. package/public/fonts/Open_Sans/OpenSans-VariableFont_wdth,wght.ttf +0 -0
  241. package/public/fonts/Open_Sans/README.txt +0 -100
  242. package/public/fonts/Orbitron/OFL.txt +0 -93
  243. package/public/fonts/Orbitron/Orbitron-VariableFont_wght.ttf +0 -0
  244. package/public/fonts/Orbitron/README.txt +0 -68
  245. package/public/fonts/Rajdhani/OFL.txt +0 -93
  246. package/public/fonts/Rajdhani/Rajdhani-Bold.ttf +0 -0
  247. package/public/fonts/Rajdhani/Rajdhani-Light.ttf +0 -0
  248. package/public/fonts/Rajdhani/Rajdhani-Medium.ttf +0 -0
  249. package/public/fonts/Rajdhani/Rajdhani-Regular.ttf +0 -0
  250. package/public/fonts/Rajdhani/Rajdhani-SemiBold.ttf +0 -0
  251. package/public/fonts/runescape-uf.ttf +0 -0
  252. package/public/index.html +0 -769
  253. package/public/js/actor-labels.js +0 -65
  254. package/public/js/api.js +0 -39
  255. package/public/js/app.js +0 -45
  256. package/public/js/artifact-drawer.js +0 -79
  257. package/public/js/board-export.js +0 -161
  258. package/public/js/board-menu.js +0 -374
  259. package/public/js/card-actions.js +0 -545
  260. package/public/js/config.js +0 -20
  261. package/public/js/create-card.js +0 -190
  262. package/public/js/dom.js +0 -19
  263. package/public/js/drawer.js +0 -273
  264. package/public/js/font-preference.js +0 -230
  265. package/public/js/format.js +0 -433
  266. package/public/js/help-menu.js +0 -31
  267. package/public/js/icons.js +0 -16
  268. package/public/js/kanban.js +0 -694
  269. package/public/js/local-backend.js +0 -1015
  270. package/public/js/main.js +0 -161
  271. package/public/js/modal.js +0 -33
  272. package/public/js/motion-preference.js +0 -64
  273. package/public/js/panel.js +0 -58
  274. package/public/js/router.js +0 -134
  275. package/public/js/search.js +0 -56
  276. package/public/js/settings-tabs.js +0 -7
  277. package/public/js/settings.js +0 -1634
  278. package/public/js/sse.js +0 -159
  279. package/public/js/starscape.js +0 -332
  280. package/public/js/state.js +0 -129
  281. package/public/js/text-editing.js +0 -128
  282. package/public/js/theme-preference.js +0 -95
  283. package/public/js/ticket-detail.js +0 -1516
  284. package/public/js/ticket-typeahead.js +0 -49
  285. package/public/js/toast.js +0 -89
  286. package/public/js/topbar-notes.js +0 -155
  287. package/public/js/transport.js +0 -22
  288. package/public/js/typeahead.js +0 -206
  289. package/public/js/unread.js +0 -121
  290. package/public/js/update-check.js +0 -58
  291. package/public/js/url-routes.js +0 -94
  292. package/public/orbits-favicon.png +0 -0
  293. package/public/orbits-logo-bg-wide.png +0 -0
  294. package/public/orbits-logo-bg.png +0 -0
  295. package/public/orbits-logo.png +0 -0
  296. package/public/styles.css +0 -7709
  297. package/src/core/agent.js +0 -387
  298. package/src/core/agents-md.js +0 -109
  299. package/src/core/artifacts.js +0 -149
  300. package/src/core/attachments.js +0 -238
  301. package/src/core/auth.js +0 -85
  302. package/src/core/backups.js +0 -142
  303. package/src/core/board.js +0 -148
  304. package/src/core/boards.js +0 -409
  305. package/src/core/bootstrap.js +0 -170
  306. package/src/core/css-bundle.js +0 -30
  307. package/src/core/db.js +0 -315
  308. package/src/core/delete-board.js +0 -163
  309. package/src/core/dispatch.js +0 -1007
  310. package/src/core/events.js +0 -314
  311. package/src/core/http.js +0 -115
  312. package/src/core/migrate.js +0 -198
  313. package/src/core/paths.js +0 -55
  314. package/src/core/provision-repo-board.js +0 -119
  315. package/src/core/queries.js +0 -246
  316. package/src/core/registry.js +0 -211
  317. package/src/core/relations.js +0 -163
  318. package/src/core/review-verdicts.js +0 -138
  319. package/src/core/router.js +0 -556
  320. package/src/core/search.js +0 -183
  321. package/src/core/seed.js +0 -234
  322. package/src/core/snapshots.js +0 -692
  323. package/src/core/states.js +0 -167
  324. package/src/core/system-picker.js +0 -109
  325. package/src/core/tickets.js +0 -400
  326. package/src/core/util.js +0 -106
  327. package/src/core/version-check.js +0 -154
  328. package/src/mcp/orbit-client.js +0 -287
  329. package/src/server.js +0 -115
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"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,GAAI,CACFyrB,GAAW,YAAYI,EAAa,SAAS,EAC1C,EAAgC,CAAC,CACtC,OAAS7rB,EAAO,CACdgkB,GACE6H,EACA1H,EACAnkB,CACF,CACF,EACJ,MACF,IAAK,IACMyrB,KAAT,OACGC,IACK,EAAeD,GACjBQ,GACQzB,EAAa,WAAnB,EACIA,EAAa,KACFA,EAAa,WAAxB,OACEA,EAAa,cAAc,KAC3BA,EACNqB,EAAa,SACf,EACAK,GAAiB1B,CAAY,GAC7ByB,GAAuBR,GAAYI,EAAa,SAAS,GAC/D,MACF,IAAK,GACH,EAAiBJ,GACjB,EAA4BC,GAC5B,GAAaG,EAAa,UAAU,cACpC,GAAwB,CAAC,EACzBF,GACEnB,EACArG,EACA0H,CACF,EACA,GAAaC,EACb,GAAwBC,EACxB,MACF,IAAK,GACL,IAAK,IACL,IAAK,IACL,IAAK,IACH9H,GAA4B,EAAG4H,EAAc1H,CAAsB,EACnE4E,GACE9E,GAA4B,EAAG4H,EAAc1H,CAAsB,EACrEwH,GACEnB,EACArG,EACA0H,CACF,EACA,MACF,IAAK,GACH9C,IACGjE,GAAgB+G,EAAc1H,CAAsB,EACpD,EAAiB0H,EAAa,UAChB,OAAOC,EAAe,sBAArC,YACEvH,GACEsH,EACA1H,EACA2H,CACF,GACJH,GACEnB,EACArG,EACA0H,CACF,EACA,MACF,IAAK,IACHF,GACEnB,EACArG,EACA0H,CACF,EACA,MACF,IAAK,IACH,GACG,EAAiB9C,IACT8C,EAAa,gBAAtB,KACFF,GACEnB,EACArG,EACA0H,CACF,EACA,EAA4BC,EAC5B,MACF,IAAK,IACHhH,GAAgB+G,EAAc1H,CAAsB,EACpDwH,GACEnB,EACArG,EACA0H,CACF,EACA,MACF,IAAK,GACH9C,GACEjE,GAAgB+G,EAAc1H,CAAsB,EACtDwH,GACEnB,EACArG,EACA0H,CACF,EACA,MACF,QACEF,GACEnB,EACArG,EACA0H,CACF,CACJ,CACF,CACA,SAASnB,GAAiC,EAAc,EAAc,CACpE,GACW9G,EAAa,gBAAtB,OACE,EAAeA,EAAa,UACrB4G,IAAT,OACI,EAAeA,EAA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ACL,IAAK,YACL,IAAK,aACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,cACL,IAAK,WACL,IAAK,aACL,IAAK,eACL,IAAK,SACL,IAAK,kBACL,IAAK,YACL,IAAK,mBACL,IAAK,iBACL,IAAK,oBACL,IAAK,aACL,IAAK,YACL,IAAK,cACL,IAAK,OACL,IAAK,mBACL,IAAK,kBACL,IAAK,QACL,IAAK,aACL,IAAK,WACL,IAAK,SACL,IAAK,cACH,MAAO,GACT,IAAK,OACL,IAAK,YACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,YACL,IAAK,cACL,IAAK,aACL,IAAK,cACL,IAAK,SACL,IAAK,SACL,IAAK,YACL,IAAK,QACL,IAAK,aACL,IAAK,aACL,IAAK,eACL,IAAK,eACH,MAAO,GACT,IAAK,UACH,OAAQ7O,GAAwB,EAAhC,CACE,KAAKC,GACH,MAAO,GACT,KAAKC,GACH,MAAO,GACT,KAAKC,GACL,KAAKC,GACH,MAAO,IACT,KAAKC,GACH,MAAO,WACT,QACE,MAAO,GACX,CACF,QACE,MAAO,GACX,CACF,CACA,IAAI89C,GAA4B,CAAC,EAC/BC,GAAc,KACdC,GAAa,KACbC,GAAc,KACdC,GAAiB,IAAI,IACrBC,GAAwB,IAAI,IAC5BC,GAAiC,CAAC,EAClCT,GACE,sPAAsP,MACpP,GACF,EACJ,SAASF,GAAuB,EAAc,EAAa,CACzD,OAAQjvC,EAAR,CACE,IAAK,UACL,IAAK,WACH,GAAc,KACd,MACF,IAAK,YACL,IAAK,YACH,GAAa,KACb,MACF,IAAK,YACL,IAAK,WACH,GAAc,KACd,MACF,IAAK,cACL,IAAK,aACH0vC,GAAe,OAAOl0C,EAAY,SAAS,EAC3C,MACF,IAAK,oBACL,IAAK,qBACHm0C,GAAsB,OAAOn0C,EAAY,SAAS,CACtD,CACF,CACA,SAASq0C,GACP,EACA,EACA,EACA,EACA,EACA,EACA,CAuBA,OArBWC,IAAT,MACAA,EAAoB,cAAgBt0C,GAGjC,EAAsB,CACV,YACG,eACI,mBACL,cACb,iB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","names":["push","index","heap","node","parentIndex","parent","compare","peek","pop","first","last","length","halfLength","leftIndex","left","rightIndex","right","diff","a","b","localPerformance","localDate","initialTime","taskQueue","timerQueue","taskIdCounter","currentTask","currentPriorityLevel","isPerformingWork","isHostCallbackScheduled","isHostTimeoutScheduled","needsPaint","localSetTimeout","localClearTimeout","localSetImmediate","advanceTimers","timer","currentTime","handleTimeout","isMessageLoopRunning","schedulePerformWorkUntilDeadline","firstTimer","requestHostTimeout","taskTimeoutID","frameInterval","startTime","shouldYieldToHost","performWorkUntilDeadline","exports","hasMoreWork","previousPriorityLevel","callback","continuationCallback","channel","port","ms","fps","priorityLevel","eventHandler","options","timeout","parentPriorityLevel","require_scheduler_production","React","require_react","formatProdErrorMessage","url","code","i","noop","Internals","REACT_PORTAL_TYPE","REACT_RECOVERABLE_TYPE","REACT_OPTIMISTIC_KEY","createPortal$1","key","ReactSharedInternals","getCrossOriginStringAs","as","input","reason","container","children","previousTransition","previousUpdatePriority","fn","href","crossOrigin","integrity","fetchPriority","form","action","initialState","permalink","checkDCE","err","require_react_dom_production","Scheduler","require_scheduler","ReactDOM","require_react_dom","isValidContainer","getNearestMountedFiber","fiber","nextNode","getSuspenseInstanceFromFiber","suspenseState","getActivityInstanceFromFiber","activityState","assertIsMounted","findCurrentFiberUsingSlowPath","alternate","parentA","parentB","didFindChild","child$0","findCurrentHostFiberImpl","tag","traverseVisibleInstancesAndTextInstances","child","c","searchWithinHosts","getFragmentParentInstanceOrContainerFiber","fiberIsPortaledIntoHost","foundPortalParent","getFragmentInstanceOrTextInstanceSiblings","result","parentHostFiber","findFragmentInstanceOrTextInstanceSiblings","self","state","getInstanceFromHostFiber","searchTarget","searchBoundary","isFiberPrecedingCheck","boundary","target","isFiberFollowingCheck","getParentForFragmentAncestors","inst","getLowestCommonAncestor","depthA","tempA","instA","getParent","tempB","instB","assign","REACT_LEGACY_ELEMENT_TYPE","REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_CONSUMER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_ACTIVITY_TYPE","REACT_LEGACY_HIDDEN_TYPE","REACT_MEMO_CACHE_SENTINEL","REACT_VIEW_TRANSITION_TYPE","MAYBE_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","REACT_CLIENT_REFERENCE","getComponentNameFromType","type","innerType","isArrayImpl","ReactDOMSharedInternals","sharedNotPendingObject","valueStack","createCursor","defaultValue","cursor","value","contextStackCursor","contextFiberStackCursor","rootInstanceStackCursor","hostTransitionProviderCursor","pushHostContainer","nextRootInstance","getOwnHostContext","getChildHostContextProd","popHostContainer","pushHostContext","stateHook","JSCompiler_inline_result","popHostContext","prefix","suffix","describeBuiltInComponentFrame","x","match","name","reentry","describeNativeComponentFrame","previousPrepareStackTrace","RunInRootFrame","construct","Fake","control","x$1","prevProps","x$2","sample","namePropDescriptor","_RunInRootFrame$Deter","sampleStack","controlStack","sampleLines","controlLines","frame","describeFiber","childFiber","getStackByFiberInDevAndProd","info","previous","workInProgress","hasOwnProperty","scheduleCallback$3","cancelCallback$1","shouldYield","requestPaint","now","getCurrentPriorityLevel","ImmediatePriority","UserBlockingPriority","NormalPriority$1","LowPriority","IdlePriority","log$1","unstable_setDisableYieldValue","rendererID","injectedHook","setIsStrictModeForDevtools","newIsStrictMode","clz32","clz32Fallback","log","LN2","nextTransitionUpdateLane","nextTransitionDeferredLane","nextRetryLane","getHighestPriorityLanes","pendingSyncLanes","lanes","getNextLanes","pendingLanes","root","nextLanes","suspendedLanes","pingedLanes","nonIdlePendingLanes","rootHasPendingCommit","wipLanes","checkIfRootIsPrerendering","renderLanes","getEntangledLanes","allEntangledLanes","index$4","lane","computeExpirationTime","claimNextRetryLane","createLaneMap","laneMap","initial","markRootUpdated$1","updateLane","markRootFinished","previouslyPendingLanes","remainingLanes","entanglements","expirationTimes","hiddenUpdates","index$7","hiddenUpdatesForLane","update","spawnedLane","markSpawnedDeferredLane","suspendedRetryLanes","updatedLanes","finishedLanes","spawnedLaneIndex","entangledLanes","markRootEntangled","rootEntangledLanes","index$8","getBumpedLaneForHydration","renderLane","getBumpedLaneForHydrationByLane","lanesToEventPriority","resolveUpdatePriority","updatePriority","getEventPriority","runWithPriority","previousPriority","priority","randomKey","internalInstanceKey","internalPropsKey","internalContainerInstanceKey","internalEventHandlersKey","internalEventHandlerListenersKey","internalEventHandlesSetKey","internalRootNodeResourcesKey","internalHoistableMarker","internalLoadPendingKey","detachDeletedInstance","getClosestInstanceFromNode","targetInst","targetNode","parentNode","getParentHydrationBoundary","getInstanceFromNode","getNodeFromInstance","getResourcesFromRoot","resources","markNodeAsHoistable","clearPendingLoadOnNode","allNativeEvents","registrationNameDependencies","registerTwoPhaseEvent","registerDirectEvent","registrationName","dependencies","VALID_ATTRIBUTE_NAME_REGEX","illegalAttributeNameCache","validatedAttributeNameCache","isAttributeNameSafe","attributeName","viewTransitionMutationContext","pushMutationContext","prev","setValueForAttribute","prefix$10","setValueForKnownAttribute","setValueForNamespacedAttribute","namespace","getToStringValue","isCheckable","elem","trackValueOnNode","descriptor","valueField","get","set","currentValue","track","updateValueIfChanged","tracker","lastValue","escapeSelectorAttributeValueInsideDoubleQuotesRegex","escapeSelectorAttributeValueInsideDoubleQuotes","ch","updateInput","element","lastDefaultValue","setDefaultValue","checked","defaultChecked","initInput","isHydrating","updateOptions","multiple","propValue","setDefaultSelected","updateTextarea","initTextarea","setTextContent","text","firstChild","unitlessNumbers","setValueForStyle","isCustomProperty","styleName","style","setValueForStyles","styles","prevStyles","styleName$16","styleName$17","isCustomElement","tagName","aliases","isJavaScriptProtocol","sanitizeURL","noop$1","currentReplayingEvent","getEventTarget","nativeEvent","restoreTarget","restoreQueue","restoreStateOfTarget","internalInstance","props","otherNode","otherProps","isInsideEventHandler","batchedUpdates$1","flushSyncWork$1","getListener","stateNode","canUseDOM","passiveBrowserEventsSupported","startText","fallbackText","getData","start","startValue","startLength","end","endValue","endLength","minEnd","getEventCharCode","keyCode","functionThatReturnsTrue","functionThatReturnsFalse","createSyntheticEvent","SyntheticBaseEvent","propName","reactName","reactEventType","nativeEventTarget","Interface","event","EventInterface","SyntheticEvent","UIEventInterface","SyntheticUIEvent","lastMovementX","lastMovementY","lastMouseEvent","MouseEventInterface","getEventModifierState","SyntheticMouseEvent","SyntheticDragEvent","SyntheticFocusEvent","SyntheticAnimationEvent","SyntheticClipboardEvent","SyntheticCompositionEvent","normalizeKey","translateToKey","modifierKeyToProp","modifierStateGetter","keyArg","SyntheticKeyboardEvent","SyntheticPointerEvent","SyntheticSubmitEvent","SyntheticTouchEvent","SyntheticTransitionEvent","SyntheticWheelEvent","SyntheticToggleEvent","END_KEYCODES","canUseCompositionEvent","documentMode","canUseTextInputEvent","useFallbackCompositionData","SPACEBAR_CHAR","hasSpaceKeypress","isFallbackCompositionEnd","domEventName","getDataFromCustomEvent","isComposing","getNativeBeforeInputChars","getFallbackBeforeInputChars","supportedInputTypes","isTextInputElement","nodeName","createAndAccumulateChangeEvent","accumulateTwoPhaseListeners","dispatchQueue","activeElement$1","activeElementInst$1","runEventInBatch","processDispatchQueue","getInstIfValueChanged","getTargetInstForChangeEvent","isInputEventSupported","JSCompiler_inline_result$jscomp$318","isSupported$jscomp$inline_474","element$jscomp$inline_475","stopWatchingForValueChange","handlePropertyChange","handleEventsForInputEventPolyfill","getTargetInstForInputEventPolyfill","getTargetInstForClickEvent","getTargetInstForInputOrChangeEvent","is","y","objectIs","shallowEqual","objA","objB","keysA","keysB","currentKey","getActiveElement","doc","getLeafNode","getNodeForCharacterOffset","nodeEnd","offset","containsNode","outerNode","innerNode","getActiveElementDeep","containerInfo","hasSelectionCapabilities","skipSelectionChangeEvent","activeElement","activeElementInst","lastSelection","mouseDown","constructSelectEvent","makePrefixMap","prefixes","styleProp","eventName","vendorPrefixes","prefixedEventNames","getVendorPrefixedEventName","prefixMap","ANIMATION_END","ANIMATION_ITERATION","ANIMATION_START","TRANSITION_RUN","TRANSITION_START","TRANSITION_CANCEL","TRANSITION_END","topLevelEventsToReactNames","simpleEventPluginEvents","registerSimpleEvent","globalClientIdCounter$1","getViewTransitionName","instance","pendingEffectsRoot","globalClientId","getClassNameByType","classByType","className","activeTypes","pendingTransitionTypes","getViewTransitionClassName","defaultClass","eventClass","reportGlobalError","error","concurrentQueues","concurrentQueuesIndex","concurrentlyUpdatedLanes","finishQueueingConcurrentUpdates","endIndex","queue","pending","markUpdateLaneFromFiberToRoot","enqueueUpdate$1","enqueueConcurrentHookUpdate","getRootForUpdatedFiber","enqueueConcurrentRenderForLane","sourceFiber","isHidden","nestedUpdateCount","emptyContextObject","FiberNode","pendingProps","mode","createFiberImplClass","shouldConstruct","Component","createWorkInProgress","current","resetWorkInProgress","createFiberFromTypeAndProps","fiberTag","owner","isHostHoistableType","createFiberFromFragment","elements","createFiberFromText","content","createFiberFromDehydratedFragment","dehydratedNode","createFiberFromPortal","portal","CapturedStacks","createCapturedValueAtFiber","existing","source","forkStack","forkStackIndex","treeForkProvider","treeForkCount","idStack","idStackIndex","treeContextProvider","treeContextId","treeContextOverflow","pushTreeFork","totalChildren","pushTreeId","baseIdWithLeadingBit","baseLength","numberOfOverflowBits","pushMaterializedTreeId","popTreeContext","restoreSuspendedTreeContext","suspendedContext","hydrationParentFiber","nextHydratableInstance","hydrationErrors","rootOrSingletonContext","HydrationMismatchException","throwOnHydrationMismatch","queueHydrationError","prepareToHydrateHostInstance","listenToNonDelegatedEvent","mediaEventTypes","checkForUnmatchedText","popToNextHostParent","popHydrationState","JSCompiler_temp","shouldSetTextContent","getNextHydratableInstanceAfterHydrationBoundary","isSingletonScope","previousHydratableOnEnteringScopedSingleton","getNextHydratable","resetHydrationState","upgradeHydrationErrorsToRecoverable","queuedErrors","workInProgressRootRecoverableErrors","valueCursor","currentlyRenderingFiber$1","lastContextDependency","pushProvider","context","nextValue","popProvider","scheduleContextWorkOnParentPath","propagationRoot","propagateContextChanges","list","nextFiber","dependency","contexts","forcePropagateEntireTree","propagateParentContextChanges","isInsidePropagationBailout","currentParent","HostTransitionContext","checkIfContextChanged","currentDependencies","prepareToReadContext","readContext","readContextForConsumer","readContextDuringReconciliation","consumer","AbortControllerLocal","listeners","signal","listener","scheduleCallback$2","NormalPriority","CacheContext","createCache","releaseCache","cache","queueTransitionTypes","queued","transitionTypes","transitionType","entangledTransitionTypes","claimQueuedTransitionTypes","claimed","currentEntangledListeners","currentEntangledPendingCount","currentEntangledLane","currentEntangledActionThenable","entangleAsyncAction","entangledListeners","requestTransitionLane","resolve","thenable","pingEngtangledActionScope","chainThenableValue","thenableWithOverride","prevOnStartTransitionFinish","returnValue","transition","root$28","firstScheduledRoot","root$29","resumedCache","peekCacheFromPool","cacheResumedFromPreviousRender","workInProgressRoot","pushTransition","prevCachePool","getSuspendedCache","cacheFromPool","SuspenseException","SuspenseyCommitException","SuspenseActionException","noopSuspenseyCommitThenable","isThenableResolved","trackUsedThenable","thenableState","checkIfUseWrappedInAsyncCatch","fulfilledThenable","fulfilledValue","rejectedThenable","resolveLazy","init","lazyType","suspendedThenable","getSuspendedThenable","rejectedReason","thenableState$1","thenableIndexCounter$1","unwrapThenable","coerceRef","throwOnInvalidObjectTypeImpl","newChild","returnFiber","createChildReconciler","deleteChild","shouldTrackSideEffects","deletions","childToDelete","deleteRemainingChildren","currentFirstChild","mapRemainingChildren","existingChildren","useFiber","placeChild","newIndex","newFiber","lastPlacedIndex","placeSingleChild","updateTextNode","textContent","updateElement","elementType","updateFragment","updatePortal","fragment","createChild","updateSlot","oldFiber","updateFromMap","newIdx","reconcileChildrenArray","resultingFirstChild","previousNewFiber","nextOldFiber","newChildren","reconcileChildrenIterator","step","reconcileChildFibersImpl","firstChildFiber","reconcileChildFibers","mountChildFibers","hasForceUpdate","initializeUpdateQueue","cloneUpdateQueue","createUpdate","enqueueUpdate","updateQueue","executionContext","entangleTransitions","queueLanes","enqueueCapturedUpdate","newFirst","newLast","clone","capturedUpdate","didReadFromEntangledAsyncAction","suspendIfUpdateReadFromEntangledAsyncAction","entangledActionThenable","processUpdateQueue","workInProgress$jscomp$0","firstBaseUpdate","lastBaseUpdate","pendingQueue","lastPendingUpdate","firstPendingUpdate","newState","isHiddenUpdate","workInProgressRootRenderLanes","instance$jscomp$0","callCallback","commitCallbacks","callbacks","currentTreeHiddenStackCursor","prevEntangledRenderLanesCursor","pushHiddenContext","entangledRenderLanes","reuseHiddenContextOnStack","popHiddenContext","suspenseHandlerStackCursor","shellBoundary","pushPrimaryTreeSuspenseHandler","handler","suspenseStackCursor","pushDehydratedActivitySuspenseHandler","pushOffscreenSuspenseHandler","reuseSuspenseHandlerOnStack","popSuspenseHandler","pushSuspenseListContext","newContext","popSuspenseListContext","findFirstSuspended","row","isSuspenseInstancePending","isSuspenseInstanceFallback","currentlyRenderingFiber","currentHook","workInProgressHook","didScheduleRenderPhaseUpdate","didScheduleRenderPhaseUpdateDuringThisPass","shouldDoubleInvokeUserFnsInHooksDEV","localIdCounter","thenableIndexCounter","globalClientIdCounter","throwInvalidHookError","areHookInputsEqual","prevDeps","nextDeps","renderWithHooks","nextRenderLanes","HooksDispatcherOnMount","HooksDispatcherOnUpdate","secondArg","renderWithHooksAgain","finishRenderingHooks","ContextOnlyDispatcher","didRenderTooFewHooks","didReceiveUpdate","numberOfReRenders","HooksDispatcherOnRerender","TransitionAwareHostComponent","dispatcher","maybeThenable","useThenable","checkDidRenderIdHook","didRenderIdHook","bailoutHooks","resetHooksOnUnwind","mountWorkInProgressHook","hook","updateWorkInProgressHook","nextCurrentHook","nextWorkInProgressHook","createFunctionComponentUpdateQueue","use","usable","useMemoCache","memoCache","array","size","basicStateReducer","updateReducer","updateReducerImpl","reducer","baseQueue","baseFirst","newBaseQueueFirst","newBaseQueueLast","didReadFromEntangledAsyncAction$64","revertLane","rerenderReducer","dispatch","lastRenderPhaseUpdate","updateSyncExternalStore","isHydrating$jscomp$0","getServerSnapshot","getSnapshot","snapshotChanged","updateEffect","subscribeToStore","subscribe","pushSimpleEffect","updateStoreInstance","pushStoreConsistencyCheck","renderedSnapshot","nextSnapshot","checkIfSnapshotChanged","forceStoreRerender","latestGetSnapshot","scheduleUpdateOnFiber","mountStateImpl","initialStateInitializer","updateOptimisticImpl","passthrough","dispatchActionState","isRenderPhaseUpdate","actionQueue","actionNode","setPendingState","setState","runActionStateAction","payload","prevState","prevTransition","currentTransition","onStartTransitionFinish","handleActionReturnValue","onActionError","error$70","onActionSuccess","nextState","notifyActionListeners","actionStateReducer","mountActionState","ssrFormState","JSCompiler_inline_result$jscomp$0","inRootOrSingleton","initialStateProp","dispatchSetState","dispatchOptimisticSetState","updateActionState","updateActionStateImpl","currentStateHook","actionStateActionEffect","rerenderActionState","create","deps","updateRef","mountEffectImpl","fiberFlags","hookFlags","updateEffectImpl","mountEffect","useEffectEventImpl","componentUpdateQueue","events","updateEvent","ref","updateInsertionEffect","updateLayoutEffect","imperativeHandleEffect","refCleanup","updateImperativeHandle","mountDebugValue","updateCallback","updateMemo","nextCreate","mountDeferredValueImpl","initialValue","requestDeferredLane","updateDeferredValueImpl","prevValue","startTransition","pendingState","dispatchSetStateInternal","finishedState","requestUpdateLane","startHostTransition","formFiber","ensureFormComponentIsStateful","requestFormReset$1","formData","existingStateHook","initialResetState","useHostTransitionStatus","updateId","updateRefresh","refreshCache","provider","root$73","dispatchReducerAction","enqueueRenderPhaseUpdate","entangleTransitionUpdate","currentState","eagerState","throwIfDuringRender","initialArg","identifierPrefix","idWithLeadingBit","booleanOrThenable","applyDerivedStateFromProps","getDerivedStateFromProps","nextProps","ctor","classComponentUpdater","checkShouldComponentUpdate","newProps","nextContext","oldProps","oldState","callComponentWillReceiveProps","resolveClassComponentProps","baseProps","propName$77","defaultOnUncaughtError","defaultOnCaughtError","defaultOnRecoverableError","logUncaughtError","onUncaughtError","errorInfo","e$78","logCaughtError","onCaughtError","e$79","createRootErrorUpdate","createClassErrorUpdate","initializeClassErrorUpdate","getDerivedStateFromError","legacyErrorBoundariesThatAlreadyFailed","stack","throwException","rootRenderLanes","renderDidSuspendDelayIfPossible","workInProgressRootExitStatus","attachPingListener","wrapperError","workInProgressRootConcurrentErrors","SelectiveHydrationException","reconcileChildren","nextChildren","updateForwardRef","propsWithoutRef","bailoutOnAlreadyFinishedWork","updateMemoComponent","updateSimpleMemoComponent","checkScheduledUpdateOrContext","updateFunctionComponent","updateOffscreenComponent","deferHiddenOffscreenComponent","bailoutOffscreenComponent","nextBaseLanes","remainingChildLanes","mountActivityChildren","mountWorkInProgressOffscreenFiber","retryActivityComponentWithoutHydrating","updateActivityComponent","didSuspend","canHydrateHydrationBoundary","dehydrated","markRef","replayFunctionComponent","updateClassComponent","contextType","unresolvedOldProps","oldContext","contextType$jscomp$0","mountHostRootWithoutHydrating","SUSPENDED_MARKER","mountSuspenseOffscreenState","getRemainingWorkInPrimaryTree","primaryTreeDidDefer","workInProgressDeferredLane","updateSuspenseComponent","showFallback","mountSuspensePrimaryChildren","dehydrated$96","updateDehydratedSuspenseComponent","primaryChildren","offscreenProps","retrySuspenseComponentWithoutHydrating","suspenseInstance","didPrimaryChildrenDefer","digest","scheduleSuspenseWorkOnFiber","findLastContentRow","lastContentRow","currentRow","initSuspenseListRenderState","renderState","isBackwards","tail","tailMode","reverseChildren","nextRow","updateSuspenseListComponent","revealOrder","suspenseContext","shouldForceFallback","updateContextProvider","attemptEarlyBailoutIfNoScheduledUpdate","state$108","primaryChildLanes","beginWork","$$typeof","getResource","createHoistableInstance","resolveSingletonInstance","canHydrateInstance","canHydrateTextInstance","markUpdate","preloadInstanceAndSuspendIfNeeded","maySuspendCommit","shouldRemainOnPreviousScreen","preloadResourceAndSuspendIfNeeded","resource","preloadResource","scheduleRetryEffect","retryQueue","cutOffTailIfNeeded","tailNode","lastTailNode","hasRenderedATailFallback","bubbleProperties","didBailout","completedWork","newChildLanes","subtreeFlags","child$113","completeWork","nextResource","ownerDocument","getOwnerDocumentFromRootContainer","setInitialProperties","listenToAllSupportedEvents","workInProgressRootRenderTargetTime","unwindWork","unwindInterruptedWork","interruptedWork","commitHookEffectListMount","finishedWork","lastEffect","firstEffect","flags","captureCommitPhaseError","commitHookEffectListUnmount","destroy","nearestMountedAncestor","nearestMountedAncestor$jscomp$0","destroy_","commitClassCallbacks","safelyCallComponentWillUnmount","safelyAttachRef","instanceToUse","createViewTransitionInstance","fragmentInstance","FragmentInstance","addFragmentHandleToFiber","safelyDetachRef","error$148","commitNewChildToFragmentInstances","parentFragmentInstances","commitNewChildToFragmentInstance","commitFragmentInstanceInsertionEffects","isFragmentInstanceParent","commitFragmentInstanceDeletionEffects","deleteChildFromFragmentInstance","isFragmentInstanceHostBoundary","commitHostMount","commitHostUpdate","domElement","updateProperties","isHostParent","getHostSibling","insertOrAppendPlacementNodeIntoContainer","before","insertOrAppendPlacementNode","commitHostSingletonAcquisition","singleton","attributes","shouldStartViewTransition","appearingViewTransitions","trackEnterViewTransitions","placement","viewTransitionCancelableChildren","pushViewTransitionCancelableScope","prevChildren","viewTransitionHostInstanceIdx","applyViewTransitionToHostInstances","applyViewTransitionToHostInstancesRecursive","collectMeasurements","stopAtNestedViewTransitions","inViewport","measurement","measureInstance","applyViewTransitionName","restoreViewTransitionOnHostInstances","restoreViewTransitionName","commitAppearingPairViewTransitions","commitEnterViewTransitions","gesture","scheduleViewTransitionEvent","commitDeletedPairViewTransitions","pairs","deletion","pair","commitExitViewTransitions","commitNestedViewTransitions","changedParent","restorePairedViewTransitions","restoreEnterOrExitViewTransitions","restoreNestedViewTransitions","measureViewTransitionHostInstancesRecursive","previousMeasurements","previousMeasurement","nextMeasurement","parentViewTransition","newRect","newName","oldName","measureNestedViewTransitions","measureClonedInstance","offscreenSubtreeIsHidden","offscreenSubtreeWasHidden","offscreenDirectParentIsHidden","needsFormReset","PossiblyWeakSet","nextEffect","viewTransitionContextChanged","inUpdateViewTransition","rootViewTransitionAffected","rootViewTransitionNameCanceled","commitBeforeMutationEffects","_enabled","selection","anchorOffset","focusNode","indexWithinAnchor","indexWithinFocus","next","committedLanes","commitBeforeMutationEffects_complete","isViewTransitionEligible","isViewTransitionEligible$jscomp$0","resolvedPrevProps","clearContainerSparingly","commitLayoutEffectOnFiber","recursivelyTraverseLayoutEffects","finishedRoot","error$146","commitActivityHydrationCallbacks","commitSuspenseHydrationCallbacks","retryDehydratedSuspenseBoundary","registerSuspenseInstanceRetry","newOffscreenSubtreeWasHidden","recursivelyTraverseReappearLayoutEffects","hideOrUnhideAllChildren","parentFiber","hideOrUnhideAllChildrenOnFiber","display","hideOrUnhideNearestPortals","instance$jscomp$1","hideOrUnhideDehydratedBoundary","isHidden$jscomp$0","detachFiberAfterEffects","hostParent","hostParentIsContainer","recursivelyTraverseDeletionEffects","commitDeletionEffectsOnFiber","deletedFiber","prevHostParent","prevHostParentIsContainer","releaseSingletonInstance","clearHydrationBoundary","retryIfBlockedOn","getRetryCache","retryCache","attachSuspenseRetryListeners","wakeables","wakeable","retry","resolveRetryWakeable","recursivelyTraverseMutationEffects","root$jscomp$0","commitMutationEffectsOnFiber","currentHoistableRoot","ii","_eventPayloads$ii2","commitReconciliationEffects","getHydratableHoistableCache","mountHoistable","acquireResource","getHoistableRoot","recursivelyResetForms","prevOffscreenSubtreeIsHidden","prevOffscreenSubtreeWasHidden","prevOffscreenDirectParentIsHidden$166","recursivelyTraverseDisappearLayoutEffects","hostParentFiber","parent$jscomp$0","parent$149","parent$151","recursivelyTraverseAfterMutationEffects","commitAfterMutationEffectsOnFiber","layoutEffectTraversalFlags","layoutEffectTraversalFlags$jscomp$0","finishedRoot$jscomp$0","includeWorkInProgressEffects","hiddenCallbacks","commitOffscreenPassiveMountEffects","previousCache","commitCachePassiveMountEffect","recursivelyTraversePassiveMountEffects","commitPassiveMountOnFiber","committedTransitions","_finishedWork$memoize2","id","onPostCommit","recursivelyTraverseReconnectPassiveEffects","recursivelyTraverseAtomicPassiveEffects","committedLanes$jscomp$0","committedTransitions$jscomp$0","suspenseyCommitFlag","recursivelyAccumulateSuspenseyCommit","accumulateSuspenseyCommitOnFiber","suspendedState","suspendInstance","suspendResource","previousHoistableRoot","detachAlternateSiblings","previousFiber","recursivelyTraversePassiveUnmountEffects","commitPassiveUnmountEffectsInsideOfDeletedTree_begin","commitPassiveUnmountOnFiber","recursivelyTraverseDisconnectPassiveEffects","deletedSubtreeRoot","sibling","DefaultAsyncDispatcher","cacheForType","resourceType","PossiblyWeakMap","workInProgressSuspendedReason","workInProgressThrownValue","workInProgressRootDidSkipSuspendedSiblings","workInProgressRootIsPrerendering","workInProgressRootDidAttachPingListener","workInProgressRootSkippedLanes","workInProgressRootInterleavedUpdatedLanes","workInProgressRootPingedLanes","workInProgressSuspendedRetryLanes","workInProgressRootDidIncludeRecursiveRenderUpdate","globalMostRecentFallbackTime","globalMostRecentTransitionTime","workInProgressTransitions","pendingEffectsStatus","pendingFinishedWork","pendingEffectsLanes","pendingEffectsRemainingLanes","pendingPassiveTransitions","pendingRecoverableErrors","pendingViewTransition","pendingViewTransitionEvents","rootWithNestedUpdates","prepareFreshStack","markRootSuspended","ensureRootIsScheduled","performWorkOnRoot","shouldTimeSlice","forceSync","exitStatus","renderRootConcurrent","renderRootSync","renderWasConcurrent","isRenderConsistentWithExternalStores","wasRootDehydrated","scheduleTimeout","completeRootWhenReady","suspendedCommitReason","onUnsuspend","waitForCommitToBeReady","completeRoot","recoverableErrors","transitions","didIncludeRenderPhaseUpdate","didSkipSuspendedSiblings","completedRenderStartTime","completedRenderEndTime","check","didAttemptEntireTree","index$6","flushSyncWorkAcrossRoots_impl","resetWorkInProgressStack","timeoutHandle","cancelTimeout","handleThrow","thrownValue","pushDispatcher","prevDispatcher","pushAsyncDispatcher","prevAsyncDispatcher","prevExecutionContext","unitOfWork","throwAndUnwindWorkLoop","shouldYieldForPrerendering","workLoopSync","thrownValue$184","performUnitOfWork","replaySuspendedUnitOfWork","hostFiber","completeUnitOfWork","workLoopConcurrentByScheduler","thrownValue$186","suspendedReason","unwindUnitOfWork","skipSiblings","flushPendingEffects","commitRoot","scheduleCallback$1","flushPassiveEffects","startViewTransition","flushMutationEffects","flushLayoutEffects","flushAfterMutationEffects","flushSpawnedWork","reportViewTransitionError","onRecoverableError","rootMutationHasEffect","selectionInformation","curFocusedElem","priorFocusedElem","priorSelectionRange","win","start$jscomp$0","end$jscomp$0","startMarker","endMarker","range","eventsEnabled","rootHasLayoutEffect","committedViewTransition","passiveSubtreeMask","releaseRootPooledCache","recoverableError","renderPriority","captureCommitPhaseErrorOnRoot","rootFiber","pingCache","threadIDs","pingSuspendedRoot","retryTimedOutBoundary","retryLane","boundaryFiber","lastScheduledRoot","didScheduleMicrotask","mightHavePendingSyncWork","isFlushingWork","currentEventTransitionLane","scheduleImmediateRootScheduleTask","didPerformSomeWork","root$190","onlyLegacy","syncTransitionLanes","performSyncWorkOnRoot","processRootScheduleInImmediateTask","processRootScheduleInMicrotask","shouldAttemptEagerTransition","scheduleTaskForRootDuringMicrotask","index$5","expirationTime","performWorkOnRootViaSchedulerTask","originalCallbackNode","workInProgressRootRenderLanes$jscomp$0","didTimeout","scheduleMicrotask","actionScopeLane","coerceFormActionProp","actionProp","extractEvents$1","maybeTargetInst","submitter","i$jscomp$inline_1667","eventName$jscomp$inline_1668","nonDelegatedEvents","eventSystemFlags","_dispatchQueue$i","previousInstance","i$jscomp$0","_dispatchListeners$i","currentTarget","targetElement","listenerSetKey","addTrappedEventListener","listenToNativeEvent","isCapturePhaseListener","listeningMarker","rootContainerElement","listenerWrapper","dispatchDiscreteEvent","dispatchContinuousEvent","dispatchEvent","targetContainer","dispatchEventForPluginEventSystem","ancestorInst","targetInst$jscomp$0","nodeTag","grandTag","SyntheticEventCtor","inCapturePhase","accumulateTargetOnly","reactEventName","lastHostComponent","_instance","createDispatchListener","accumulateEnterLeaveListenersForEvent","getTargetInstFunc","handleEventFunc","fallbackData","eventType","captureName","targetFiber","_instance2","common","_instance3","NORMALIZE_NEWLINES_REGEX","NORMALIZE_NULL_AND_REPLACEMENT_REGEX","normalizeMarkupForTextOrAttribute","markup","clientText","serverText","setProp","setPropOnCustomElement","hasSrc","hasSrcSet","propKey","propValue$204","emptyProps","lastProps","lastProp","propKey$221","propKey$237","propKey$242","propKey$247","propKey$252","isLikelyStaticResource","initiatorType","estimateBandwidth","count","bits","resourceEntries","entry","transferSize","duration","overlapEntry","overlapStartTime","overlapTransferSize","overlapInitiatorType","namespaceURI","parentNamespace","rootContainerInstance","internalInstanceHandle","currentPopstateTransitionEvent","localPromise","localRequestAnimationFrame","handleErrorInNextTick","hydrationInstance","depth","parentInstance","clearSingletonPreambleContribution","node$jscomp$0","nextNode$jscomp$0","rect","viewTransitionName","createMeasurement","computedStyle","measuredRect","forceLayout","waitForImageToLoad","rootContainer","ownerWindow","pendingNavigation","previousFontLoadingStatus","mutationCallback","blockingPromises","suspenseyImages","imgBytes","suspenseyImage","estimateImageBytes","estimatedBytesWithinLimit","layoutCallback","afterMutationCallback","viewTransitionAnimations","animations","animation","effect","pseudoElement","height","unchangedDimensions","j","keyframe","w","spawnedWorkCallback","errorCallback","passiveCallback","ViewTransitionPseudoElement","pseudo","keyframes","scope","selector","fragmentFiber","cleanup","optionsOrUseCapture","indexOfEventListener","attachedListener","getAttachOptions","addEventListenerToChild","_listeners$index","removeEventListenerFromChild","opts","normalizeListenerOptions","eventListeners","item","temp","_eventListeners$i","setFocusOnFiberIfFocusable","focusOptions","setFocusIfFocusable","collectChildren","collection","blurActiveElementWithinFragment","observer","observeChild","observers","unobserveChild","pendingIntersectionUnobserves","intersectionUnobserveScheduled","schedulePendingIntersectionUnobserve","requestPostPaintCallback","rects","collectClientRects","getRootNodeOptions","parentHostInstance","parentHostInstanceFromDOM","firstResult","lastResult","otherNodeIsWithinFirstOrLastChild","validateDocumentPositionWithFiberTree","otherFiber","documentPosition","precedingBoundaryFiber","followingBoundaryFiber","scrollTextNodeIntoView","textNode","resolvedAlignToTop","alignToTop","hostSiblings","addFragmentHandleToInstance","_eventListeners$i3","childInstance","writeIdx","_eventListeners$i4","anyProps","nodeType","data","targetInstance","handleFocus","didFocus","time","preloadPropsMap","preconnectsSet","rootNode","previousDispatcher","flushSyncWork","requestFormReset","prefetchDNS","preconnect","preload","preloadModule","preinitScript","preinitStyle","preinitModuleScript","previousWasRendering","wasRendering","formInst","globalDocument","preconnectAs","limitedEscapedHref","rel","preloadSelector","getStyleKey","getScriptKey","getStylesheetSelectorFromKey","getScriptSelectorFromKey","precedence","adoptPreloadPropsForStylesheet","link","reject","insertStylesheet","src","scripts","adoptPreloadPropsForScript","currentProps","currentResource","styles$268","resource$269","preloadStylesheet","stylesheetPropsFromRawProps","rawProps","preloadProps","hoistableRoot","styleProps","instance$274","linkInstance","nodes","prior","tagCaches","caches","nodeKey","keyAttribute","hostContext","onUnsuspendImg","insertSuspendedStylesheets","stylesheetTimer","unsuspend","timeoutOffset","imgTimer","commit","checkIfFullyUnsuspended","precedencesByRoot","insertStylesheetIntoRoot","precedences","FiberRootNode","formState","createFiberRoot","hydrate","onDefaultTransitionIndicator","isStrictMode","initialChildren","getContextForSubtree","parentComponent","updateContainerImpl","markRetryLaneImpl","markRetryLaneIfNotHydrated","attemptContinuousHydration","attemptHydrationAtCurrentPriority","blockedOn","findInstanceBlockingEvent","return_targetInst","clearIfContinuousEvent","queueIfContinuousEvent","discreteReplayableEvents","findInstanceBlockingTarget","nearestMounted","hasScheduledReplayAttempt","queuedFocus","queuedDrag","queuedMouse","queuedPointers","queuedPointerCaptures","queuedExplicitHydrationTargets","accumulateOrCreateContinuousQueuedReplayableEvent","existingQueuedEvent","pointerId","attemptExplicitHydrationTarget","queuedTarget","attemptReplayContinuousQueuedEvent","queuedEvent","targetContainers","nextBlockedOn","nativeEventClone","attemptReplayContinuousQueuedEventInMap","map","replayUnblockedEvents","scheduleCallbackIfUnblocked","unblocked","lastScheduledReplayQueue","scheduleReplayQueueIfNeeded","formReplayingQueue","submitterOrAction","unblock","formProps","defaultOnDefaultTransitionIndicator","handleNavigate","handleNavigateComplete","pendingResolve","isCancelled","startFakeNavigation","currentEntry","ReactDOMRoot","internalRoot","ReactDOMHydrationRoot","isomorphicReactPackageVersion$jscomp$inline_2043","componentOrElement","internals$jscomp$inline_2586","hook$jscomp$inline_2587","require_react_dom_client_production","ERROR_CODES","OrbitError","isOrbitError","IMAGE_EXTENSIONS","DOWNLOAD_TYPE","isShownImage","mime","objectUrl","safe","bytes","released","repoFields","repo","fields","hintQuery","hint","createHttpClient","base","doFetch","sessionBoard","send","path","call","headers","body","response","message","method","request","query","ticket","ticketId","rest","contextQuery","contentPath","attachmentId","reply","q","board","patch","stateId","by","commentId","raw","meta","dispositionName","reviewId","entryId","relationId","filters","controller","followChanges","boardId","pause","done","lastId","delay","f","report","aborted","attempt","stop","quiet","watchdog","reader","buffer","frameId","line","utf8","openClient","PREFS_EVENT","THEME_KEY","MOTION_KEY","THEMES","MOTIONS","DARK","REDUCE","LABELS","hasDOM","matches","mediaList","read","write","forget","initialPrefs","params","search","pick","asked","valid","saved","stored","themeMode","t","resolvedTheme","motionMode","m","reducedMotion","capture","apply","root$1","attr","setTheme","save","changed$1","setMotion","onPrefs","e","detail","changed","sync","labels","resolved","group","hasSystem","pressed","word","motion","onClick","onStorage","migrate","kinds","kind","spec","legacy","old","users","applied","unwire","listen","wire","offDark","offReduce","initPrefs","useTheme","useState","import_react","undo","s","off","setMode","useCallback","__insertCSS","head","getAsset","SuccessIcon","InfoIcon","WarningIcon","ErrorIcon","bars","Loader","visible","CloseIcon","useIsDocumentHidden","isDocumentHidden","setIsDocumentHidden","toastsCounter","MAX_HISTORY_SIZE","getToastId","ToastState","subscriber","toast","toRemove","pendingDismissal","wasDismissed","dismissible","alreadyPending","p","promise","shouldDismiss","originalPromise","isHttpResponse","promiseData","description","toastSettings","unwrap","jsx","toastFunction","basicToast","isAction","VISIBLE_TOASTS_AMOUNT","VIEWPORT_OFFSET","MOBILE_VIEWPORT_OFFSET","TOAST_LIFETIME","TOAST_WIDTH","GAP","SWIPE_THRESHOLD","TIME_BEFORE_UNMOUNT","cn","classes","getDefaultSwipeDirections","position","directions","Toast","ToasterInvert","closeButtonFromToaster","durationFromToaster","swipeDirection","setSwipeDirection","swipeOutDirection","setSwipeOutDirection","mounted","setMounted","removed","setRemoved","swiping","setSwiping","swipeOut","setSwipeOut","isSwiped","setIsSwiped","offsetBeforeRemove","setOffsetBeforeRemove","initialHeight","setInitialHeight","remainingTime","dragStartTime","toastRef","isFront","isVisible","visibleToasts","toastType","toastTypeKey","toastClassname","toastDescriptionClassname","heightIndex","heights","closeButton","closeTimerStartTimeRef","lastCloseTimerStartTimeRef","pointerStartRef","toastsHeightBefore","reducerIndex","curr","swipeDirections","invert","disabled","gap","toastNode","setHeights","h","originalHeight","newHeight","deleteToast","removeToast","timeoutId","expanded","interacting","elapsedTime","getLoadingIcon","icons","classNames","icon","defaultRichColors","unstyled","expandByDefault","toasts","swipeAmountX","swipeAmountY","timeTaken","swipeAmount","velocity","_toastRef_current2","_toastRef_current3","_toastRef_current","_toastRef_current1","yDelta","xDelta","getDampening","delta","dampenedDelta","closeButtonAriaLabel","descriptionClassName","cancelButtonStyle","actionButtonStyle","getDocumentDirection","dirAttribute","assignOffset","defaultOffset","mobileOffset","isMobile","assignAll","Toaster","setToasts","filteredToasts","possiblePositions","setExpanded","setInteracting","actualTheme","setActualTheme","theme","listRef","hotkeyLabel","hotkey","lastFocusedElementRef","isFocusWithinRef","toastToRemove","import_react_dom","indexOfExistingToast","darkMediaQuery","handleKeyDown","_listRef_current1","customAriaLabel","containerAriaLabel","dir","richColors","toastOptions","expand","import_jsx_runtime","SonnerToaster","escapeHtml","MOJIBAKE_REPLACEMENTS","fixMojibake","out","from","to","cleanText","renderPreservedText","SAFE_LINK_PROTOCOLS","sanitizeMarkdownUrl","compact","scheme","renderEmphasis","html","renderLinksAndEmphasis","linkPattern","lastIndex","labelHtml","renderInlineMarkdown","codeStart","codeEnd","renderParagraph","lines","renderTaskItem","rawContent","renderMarkdown","renderBlocks","blocks","paragraph","blockquote","flushParagraph","flushList","classAttr","flushBlockquote","quoted","flushAll","codeLines","header","level","quoteMatch","ordered","unordered","task","formatDate","formatDateDetail","ticketLabel","stateClassFor","ticketOrState","canonicalTicketType","typeLabel","typeLabelLong","priorityLabel","priorityKeyFor","keys","createStoreImpl","partial","previousState","replace","getState","api","createState","createStore","identity","arg","useStore","slice","createImpl","useBoundStore","isIterable","obj","hasIterableEntries","compareEntries","mapA","valueA","mapB","valueB","compareIterables","iteratorA","iteratorB","nextA","nextB","shallow","useShallow","SETTINGS_TABS","isSettingsTab","normalizeSettingsTab","EMPTY_ROUTE","decodeSegment","parseHash","parts","hash","at","tab","buildHash","segs","boardSlug","view","createBoardStore","createUiStore","pickBoard","boards","sameJson","shareBoard","tickets","isAiReadyState","OrbitContext","createContext","useOrbit","app","useBoard","useUi","currentBoardOf","useCurrentBoard","useBoardStates","_temp","useVisibleStates","_temp3","states","_temp2","selectableStates","currentStateId","useBoardTickets","_temp4","useTicket","$","_c","t0","useBoardLabels","_temp5","label","show","extra","toast$1","errorMessage","downloadJson","blob","anchor","filename","moveCard","updated","useCardDrag","dragging","suppress","overColumn","setOver","column","column_0","column_1","ticketId_0","drag","MARGIN","HOVER_CLOSE_MS","placeMenu","maxLeft","vw","width","maxTop","vh","top","placeSubmenu","trigger","leftSide","maxHeight","archiveCard","itemsFor","enabledButtons","CardActionMenu","menu","t1","OpenMenu","items","useRef","openSub","setOpenSub","subRef","closeTimer","returnTo","place","setPlace","restore","t2","close","cancelClose","t3","t4","el","box","t5","t6","t7","closeNow","useEffectEvent","t8","stopTimers","t9","inside","t10","run","keyDown","button","inSub","all","all_0","item_0","t11","sub","t12","t13","t14","t15","t16","t17","t18","ItemList","t19","t20","Submenu","t21","createPortal","_Fragment","itemId","ownerRef","onEnter","onKeyDown","onFocusItem","onHover","onRun","openId","hasChildren","TrashIcon","RestoreIcon","TYPE_COLOURS","TypeIcon","canonical","PriorityPill","UnreadDot","stores","artifactStore","store","closeArtifact","localPathHint","mntDrive","slashDrive","drive","openArtifact","seq","ArtifactDrawer","open","title","present","setPresent","slid","setSlid","onKey","t22","t23","version","features","ErrorBoundary","WorkspaceFailed","READ_KEY","SEEDED_KEY","useUnreadStore","normalize","mapFor","entries","persist","seeded","unreadCount","markRead","timestamp","bumpUnread","clearUnread","seedReadIfNeeded","useUnreadCount","Card","epicChild","asEpicChild","selected","showPriority","unread","hasDescription","waitingOn","hasExpandable","fromKeyboard","t24","t25","t26","t27","CardExpandable","t28","other","CardMarkdown","DRAG_THRESHOLD","LINE_SCROLL_PX","useBoardPan","active","dragged","startX","startScroll","ignore","sideways","bothPanning","bothLastX","swallowMenu","beginBoth","delta_0","touchPanning","touchLastX","centre","x_0","delta_1","endTouch","touches","Kanban","loaded","noBoards","FirstRun","Lane","older","AI_READY_TITLE","epics","isAiReady","headingId","EmptyState","LaneBody","epicList","_temp6","_temp7","epicsHere","childrenOf","t_2","t_3","c_0","epic","siblings","EpicMiniHeader","c_2","flairFor","laneName","flair","CardDetail","lazy","SettingsPanel","Drawer","targetKey","setLast","shown","slidIn","setSlidIn","aside","hasTarget","finish","Suspense","DrawerShell","tabsRef","shellRef","useTabsScroll","tabs","activeTab","titleBlock","onTabSelect","onArchive","enabled","shell","max","px","frame_0","CARD_TOUCHING","OrbitApp","client","onPop","route","merged","withFamilies","change","stream","me","byId","slug","parsed","routeBoard","ui","pane","laneId","which","was","child_count","parent_ticket","sameCompact","BOARD_COLOURS","boardColour","QuickMenuCard","NEBULA_URL","PLACE","CARD_ID","LOGO_ID","placeLabel","hostname","boardHash","sessionHash","QuickMenuLogo","QuickMenu","opened","setOpened","sessions","adapter","TOAST_SEEN_KEY","snapshot","fetchVersionInfo","force","seen","markSeen","checkForUpdate","answer","useVersionInfo","useSyncExternalStore","useUpdateAvailable","DEFAULT_INDENT","clampIndex","lineStartFor","selectedLineRange","lineStart","selectionStart","effectiveEnd","selectionEnd","nextBreak","lineStartsForBlock","starts","block","leadingOutdentWidth","adjustmentBeforePosition","total","lineStarts","widths","applyTextareaIndentation","indentText","indent","shiftKey","nextCaret","lineEnd","nextBlock","selectionStartDelta","selectionEndDelta","indentOnTab","textarea","setValue","Typeahead","empty","inputRef","keyOf","min","most","onChange","onSelect","renderItem","valueOf","emptyText","minChars","maxItems","own","field","setOpen","setActive","blurTimer","long","r","choose","item_1","ticketCanonicalLabel","ticketMatchesQuery","resolveTicketFromLabel","trimmed","n","hit","TicketHitRow","TicketTypeahead","ParentEpicField","setText","onPick","CreateCard","setShown","CreateCardBody","hasBoard","onClose","CreateForm","fallback","setStateId","setDescription","setType","parentId","setParentId","created","submit","_temp8","Modal","dialog","labelledBy","Dialogs","HelpDialog","useOutsideClick","isInside","onOutside","outside","pressBeganInside","down","reset","click","began","hasSelectionWithin","anchorNode","flyoutShift","shift","viewportWidth","margin","fitToViewport","ExportPane","BoardIcon","BoardMenu","flyout","fit","BoardMenuBody","setPane","listing","BoardList","NewBoardForm","offsetFromPoint","caret","useInlineEdit","multiline","editing","setEditing","editor","onEditingChange","minHeight","scroll","editingNow","scroll_0","placeEditor","el_0","emptyMessage","onCommit","next_0","draft","ariaLabel","fieldName","editorNode","useEditableText","refocus","edit","EditableTextView","bodyClassName","ignoreClick","has","noun","lead","wrap","NOTE_FALLBACK","NOTES_PLACEHOLDER","notesSummary","notes","NotesStrip","summary","NotesPopover","NotesBody","Search","setQuery","hits","setHits","ask","Topbar","creating","OrbitBoardView","made","EscapeKey","startStarscape","starscape","startSky","scheduleMeteor","updateScrolled","grain","buildSignatureStars","canvas","milkyWay","ctx","DPR","stars","rafId","running","mouse","resize","buildStars","density","layers","rng","mulberry32","layer","pickWeighted","pickStarColor","onPointerMove","pulse","alpha","py","g","radius","grad","half","drawStaticFrame","isDark","reduced","star","spawnMeteor","startY","distance","angleDeg","rad","endX","endY","acc","weight","table","seed","savedTheme","osDark","startPreferences","media","showOs","follow","import_client"],"ignoreList":[0,1,2,3,4,5,11,12,13,14,16,17,18,19],"sources":["../../../node_modules/.pnpm/scheduler@0.28.0/node_modules/scheduler/cjs/scheduler.production.js","../../../node_modules/.pnpm/scheduler@0.28.0/node_modules/scheduler/index.js","../../../node_modules/.pnpm/react-dom@19.3.1_react@19.3.1/node_modules/react-dom/cjs/react-dom.production.js","../../../node_modules/.pnpm/react-dom@19.3.1_react@19.3.1/node_modules/react-dom/index.js","../../../node_modules/.pnpm/react-dom@19.3.1_react@19.3.1/node_modules/react-dom/cjs/react-dom-client.production.js","../../../node_modules/.pnpm/react-dom@19.3.1_react@19.3.1/node_modules/react-dom/client.js","../../../src/core/errors.ts","../../../src/core/image-types.ts","../../../src/client/object-url.ts","../../../src/client/http.ts","../../../web/src/clients/http.ts","../../../node_modules/.pnpm/@starlove+ui@3.4.0/node_modules/@starlove/ui/src/prefs.js","../../../node_modules/.pnpm/@starlove+ui-react@3.4.0_react@19.3.1_sonner@2.0.8_@types+react@19.3.0_react-dom@19.3.1_react@19.3.1__react@19.3.1_/node_modules/@starlove/ui-react/dist/chunk-7DFA2APW.js","../../../node_modules/.pnpm/sonner@2.0.8_@types+react@19.3.0_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/sonner/dist/index.mjs","../../../node_modules/.pnpm/@starlove+ui-react@3.4.0_react@19.3.1_sonner@2.0.8_@types+react@19.3.0_react-dom@19.3.1_react@19.3.1__react@19.3.1_/node_modules/@starlove/ui-react/dist/Toaster.js","../../../web/src/lib/format.ts","../../../node_modules/.pnpm/zustand@5.0.16_@types+react@19.3.0_react@19.3.1/node_modules/zustand/esm/vanilla.mjs","../../../node_modules/.pnpm/zustand@5.0.16_@types+react@19.3.0_react@19.3.1/node_modules/zustand/esm/react.mjs","../../../node_modules/.pnpm/zustand@5.0.16_@types+react@19.3.0_react@19.3.1/node_modules/zustand/esm/vanilla/shallow.mjs","../../../node_modules/.pnpm/zustand@5.0.16_@types+react@19.3.0_react@19.3.1/node_modules/zustand/esm/react/shallow.mjs","../../../web/src/lib/routes.ts","../../../web/src/orbit/stores.ts","../../../web/src/orbit/context.tsx","../../../web/src/ui/toast.ts","../../../web/src/board/useCardDrag.ts","../../../web/src/board/CardActionMenu.tsx","../../../web/src/ui/icons.tsx","../../../web/src/card/artifact.ts","../../../web/src/card/ArtifactDrawer.tsx","../../../web/src/config.ts","../../../web/src/ui/ErrorBoundary.tsx","../../../web/src/lib/unread.ts","../../../web/src/board/Card.tsx","../../../web/src/board/useBoardPan.ts","../../../web/src/board/Kanban.tsx","../../../web/src/drawer/Drawer.tsx","../../../web/src/orbit/app.ts","../../../web/src/quick-menu/colour.ts","../../../web/src/quick-menu/QuickMenu.tsx","../../../web/src/settings/update-check.ts","../../../web/src/lib/text-editing.ts","../../../web/src/ui/Typeahead.tsx","../../../web/src/topbar/ParentEpicField.tsx","../../../web/src/topbar/CreateCard.tsx","../../../web/src/topbar/Dialogs.tsx","../../../web/src/ui/outside.ts","../../../web/src/topbar/BoardMenu.tsx","../../../web/src/ui/InlineEdit.tsx","../../../web/src/ui/EditableText.tsx","../../../web/src/topbar/Notes.tsx","../../../web/src/topbar/Search.tsx","../../../web/src/topbar/Topbar.tsx","../../../web/src/OrbitBoardView.tsx","../../../web/src/ui/background.ts","../../../web/src/ui/preferences.ts","../../../web/src/main.tsx"],"sourcesContent":["/**\n * @license React\n * scheduler.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n a: for (; 0 < index; ) {\n var parentIndex = (index - 1) >>> 1,\n parent = heap[parentIndex];\n if (0 < compare(parent, node))\n (heap[parentIndex] = node), (heap[index] = parent), (index = parentIndex);\n else break a;\n }\n}\nfunction peek(heap) {\n return 0 === heap.length ? null : heap[0];\n}\nfunction pop(heap) {\n if (0 === heap.length) return null;\n var first = heap[0],\n last = heap.pop();\n if (last !== first) {\n heap[0] = last;\n a: for (\n var index = 0, length = heap.length, halfLength = length >>> 1;\n index < halfLength;\n\n ) {\n var leftIndex = 2 * (index + 1) - 1,\n left = heap[leftIndex],\n rightIndex = leftIndex + 1,\n right = heap[rightIndex];\n if (0 > compare(left, last))\n rightIndex < length && 0 > compare(right, left)\n ? ((heap[index] = right),\n (heap[rightIndex] = last),\n (index = rightIndex))\n : ((heap[index] = left),\n (heap[leftIndex] = last),\n (index = leftIndex));\n else if (rightIndex < length && 0 > compare(right, last))\n (heap[index] = right), (heap[rightIndex] = last), (index = rightIndex);\n else break a;\n }\n }\n return first;\n}\nfunction compare(a, b) {\n var diff = a.sortIndex - b.sortIndex;\n return 0 !== diff ? diff : a.id - b.id;\n}\nexports.unstable_now = void 0;\nif (\"object\" === typeof performance && \"function\" === typeof performance.now) {\n var localPerformance = performance;\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date,\n initialTime = localDate.now();\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n}\nvar taskQueue = [],\n timerQueue = [],\n taskIdCounter = 1,\n currentTask = null,\n currentPriorityLevel = 3,\n isPerformingWork = !1,\n isHostCallbackScheduled = !1,\n isHostTimeoutScheduled = !1,\n needsPaint = !1,\n localSetTimeout = \"function\" === typeof setTimeout ? setTimeout : null,\n localClearTimeout = \"function\" === typeof clearTimeout ? clearTimeout : null,\n localSetImmediate = \"undefined\" !== typeof setImmediate ? setImmediate : null;\nfunction advanceTimers(currentTime) {\n for (var timer = peek(timerQueue); null !== timer; ) {\n if (null === timer.callback) pop(timerQueue);\n else if (timer.startTime <= currentTime)\n pop(timerQueue),\n (timer.sortIndex = timer.expirationTime),\n push(taskQueue, timer);\n else break;\n timer = peek(timerQueue);\n }\n}\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = !1;\n advanceTimers(currentTime);\n if (!isHostCallbackScheduled)\n if (null !== peek(taskQueue))\n (isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline());\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n}\nvar isMessageLoopRunning = !1,\n taskTimeoutID = -1,\n frameInterval = 5,\n startTime = -1;\nfunction shouldYieldToHost() {\n return needsPaint\n ? !0\n : exports.unstable_now() - startTime < frameInterval\n ? !1\n : !0;\n}\nfunction performWorkUntilDeadline() {\n needsPaint = !1;\n if (isMessageLoopRunning) {\n var currentTime = exports.unstable_now();\n startTime = currentTime;\n var hasMoreWork = !0;\n try {\n a: {\n isHostCallbackScheduled = !1;\n isHostTimeoutScheduled &&\n ((isHostTimeoutScheduled = !1),\n localClearTimeout(taskTimeoutID),\n (taskTimeoutID = -1));\n isPerformingWork = !0;\n var previousPriorityLevel = currentPriorityLevel;\n try {\n b: {\n advanceTimers(currentTime);\n for (\n currentTask = peek(taskQueue);\n null !== currentTask &&\n !(\n currentTask.expirationTime > currentTime && shouldYieldToHost()\n );\n\n ) {\n var callback = currentTask.callback;\n if (\"function\" === typeof callback) {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var continuationCallback = callback(\n currentTask.expirationTime <= currentTime\n );\n currentTime = exports.unstable_now();\n if (\"function\" === typeof continuationCallback) {\n currentTask.callback = continuationCallback;\n advanceTimers(currentTime);\n hasMoreWork = !0;\n break b;\n }\n currentTask === peek(taskQueue) && pop(taskQueue);\n advanceTimers(currentTime);\n } else pop(taskQueue);\n currentTask = peek(taskQueue);\n }\n if (null !== currentTask) hasMoreWork = !0;\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(\n handleTimeout,\n firstTimer.startTime - currentTime\n );\n hasMoreWork = !1;\n }\n }\n break a;\n } finally {\n (currentTask = null),\n (currentPriorityLevel = previousPriorityLevel),\n (isPerformingWork = !1);\n }\n hasMoreWork = void 0;\n }\n } finally {\n hasMoreWork\n ? schedulePerformWorkUntilDeadline()\n : (isMessageLoopRunning = !1);\n }\n }\n}\nvar schedulePerformWorkUntilDeadline;\nif (\"function\" === typeof localSetImmediate)\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\nelse if (\"undefined\" !== typeof MessageChannel) {\n var channel = new MessageChannel(),\n port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\nexports.unstable_IdlePriority = 5;\nexports.unstable_ImmediatePriority = 1;\nexports.unstable_LowPriority = 4;\nexports.unstable_NormalPriority = 3;\nexports.unstable_Profiling = null;\nexports.unstable_UserBlockingPriority = 2;\nexports.unstable_cancelCallback = function (task) {\n task.callback = null;\n};\nexports.unstable_forceFrameRate = function (fps) {\n 0 > fps || 125 < fps\n ? console.error(\n \"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"\n )\n : (frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5);\n};\nexports.unstable_getCurrentPriorityLevel = function () {\n return currentPriorityLevel;\n};\nexports.unstable_next = function (eventHandler) {\n switch (currentPriorityLevel) {\n case 1:\n case 2:\n case 3:\n var priorityLevel = 3;\n break;\n default:\n priorityLevel = currentPriorityLevel;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_requestPaint = function () {\n needsPaint = !0;\n};\nexports.unstable_runWithPriority = function (priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n break;\n default:\n priorityLevel = 3;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_scheduleCallback = function (\n priorityLevel,\n callback,\n options\n) {\n var currentTime = exports.unstable_now();\n \"object\" === typeof options && null !== options\n ? ((options = options.delay),\n (options =\n \"number\" === typeof options && 0 < options\n ? currentTime + options\n : currentTime))\n : (options = currentTime);\n switch (priorityLevel) {\n case 1:\n var timeout = -1;\n break;\n case 2:\n timeout = 250;\n break;\n case 5:\n timeout = 1073741823;\n break;\n case 4:\n timeout = 1e4;\n break;\n default:\n timeout = 5e3;\n }\n timeout = options + timeout;\n priorityLevel = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: options,\n expirationTime: timeout,\n sortIndex: -1\n };\n options > currentTime\n ? ((priorityLevel.sortIndex = options),\n push(timerQueue, priorityLevel),\n null === peek(taskQueue) &&\n priorityLevel === peek(timerQueue) &&\n (isHostTimeoutScheduled\n ? (localClearTimeout(taskTimeoutID), (taskTimeoutID = -1))\n : (isHostTimeoutScheduled = !0),\n requestHostTimeout(handleTimeout, options - currentTime)))\n : ((priorityLevel.sortIndex = timeout),\n push(taskQueue, priorityLevel),\n isHostCallbackScheduled ||\n isPerformingWork ||\n ((isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline())));\n return priorityLevel;\n};\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = function (callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction noop() {}\nvar Internals = {\n d: {\n f: noop,\n r: function () {\n throw Error(formatProdErrorMessage(522));\n },\n D: noop,\n C: noop,\n L: noop,\n m: noop,\n X: noop,\n S: noop,\n M: noop\n },\n p: 0,\n findDOMNode: null\n },\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_RECOVERABLE_TYPE = Symbol.for(\"react.recoverable\"),\n REACT_OPTIMISTIC_KEY = Symbol.for(\"react.optimistic_key\");\nfunction createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key:\n null == key\n ? null\n : key === REACT_OPTIMISTIC_KEY\n ? REACT_OPTIMISTIC_KEY\n : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\nvar ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nfunction getCrossOriginStringAs(as, input) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input)\n return \"use-credentials\" === input ? input : \"\";\n}\nexports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n Internals;\nexports.browser = function (reason) {\n return { $$typeof: REACT_RECOVERABLE_TYPE, _reason: reason };\n};\nexports.createPortal = function (children, container) {\n var key =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (\n !container ||\n (1 !== container.nodeType &&\n 9 !== container.nodeType &&\n 11 !== container.nodeType)\n )\n throw Error(formatProdErrorMessage(299));\n return createPortal$1(children, container, null, key);\n};\nexports.flushSync = function (fn) {\n var previousTransition = ReactSharedInternals.T,\n previousUpdatePriority = Internals.p;\n try {\n if (((ReactSharedInternals.T = null), (Internals.p = 2), fn)) return fn();\n } finally {\n (ReactSharedInternals.T = previousTransition),\n (Internals.p = previousUpdatePriority),\n Internals.d.f();\n }\n};\nexports.preconnect = function (href, options) {\n \"string\" === typeof href &&\n (options\n ? ((options = options.crossOrigin),\n (options =\n \"string\" === typeof options\n ? \"use-credentials\" === options\n ? options\n : \"\"\n : void 0))\n : (options = null),\n Internals.d.C(href, options));\n};\nexports.prefetchDNS = function (href) {\n \"string\" === typeof href && Internals.d.D(href);\n};\nexports.preinit = function (href, options) {\n if (\"string\" === typeof href && options && \"string\" === typeof options.as) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),\n integrity =\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n fetchPriority =\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0;\n \"style\" === as\n ? Internals.d.S(\n href,\n \"string\" === typeof options.precedence ? options.precedence : void 0,\n {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n }\n )\n : \"script\" === as &&\n Internals.d.X(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n};\nexports.preinitModule = function (href, options) {\n if (\"string\" === typeof href)\n if (\"object\" === typeof options && null !== options) {\n if (null == options.as || \"script\" === options.as) {\n var crossOrigin = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n );\n Internals.d.M(href, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0\n });\n }\n } else null == options && Internals.d.M(href);\n};\nexports.preload = function (href, options) {\n if (\n \"string\" === typeof href &&\n \"object\" === typeof options &&\n null !== options &&\n \"string\" === typeof options.as\n ) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin);\n Internals.d.L(href, as, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n type: \"string\" === typeof options.type ? options.type : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0,\n referrerPolicy:\n \"string\" === typeof options.referrerPolicy\n ? options.referrerPolicy\n : void 0,\n imageSrcSet:\n \"string\" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,\n imageSizes:\n \"string\" === typeof options.imageSizes ? options.imageSizes : void 0,\n media: \"string\" === typeof options.media ? options.media : void 0\n });\n }\n};\nexports.preloadModule = function (href, options) {\n if (\"string\" === typeof href)\n if (options) {\n var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);\n Internals.d.m(href, {\n as:\n \"string\" === typeof options.as && \"script\" !== options.as\n ? options.as\n : void 0,\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0\n });\n } else Internals.d.m(href);\n};\nexports.requestFormReset = function (form) {\n Internals.d.r(form);\n};\nexports.unstable_batchedUpdates = function (fn, a) {\n return fn(a);\n};\nexports.useFormState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useFormState(action, initialState, permalink);\n};\nexports.useFormStatus = function () {\n return ReactSharedInternals.H.useHostTransitionStatus();\n};\nexports.version = \"19.3.1\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/**\n * @license React\n * react-dom-client.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n\"use strict\";\nvar Scheduler = require(\"scheduler\"),\n React = require(\"react\"),\n ReactDOM = require(\"react-dom\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction isValidContainer(node) {\n return !(\n !node ||\n (1 !== node.nodeType && 9 !== node.nodeType && 11 !== node.nodeType)\n );\n}\nfunction getNearestMountedFiber(fiber) {\n for (var node = fiber, nextNode = node; nextNode && !nextNode.alternate; )\n (node = nextNode),\n 0 !== (node.flags & 4098) && (fiber = node.return),\n (nextNode = node.return);\n for (; node.return; ) node = node.return;\n return 3 === node.tag ? fiber : null;\n}\nfunction getSuspenseInstanceFromFiber(fiber) {\n if (13 === fiber.tag) {\n var suspenseState = fiber.memoizedState;\n null === suspenseState &&\n ((fiber = fiber.alternate),\n null !== fiber && (suspenseState = fiber.memoizedState));\n if (null !== suspenseState) return suspenseState.dehydrated;\n }\n return null;\n}\nfunction getActivityInstanceFromFiber(fiber) {\n if (31 === fiber.tag) {\n var activityState = fiber.memoizedState;\n null === activityState &&\n ((fiber = fiber.alternate),\n null !== fiber && (activityState = fiber.memoizedState));\n if (null !== activityState) return activityState.dehydrated;\n }\n return null;\n}\nfunction assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber)\n throw Error(formatProdErrorMessage(188));\n}\nfunction findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n if (!alternate) {\n alternate = getNearestMountedFiber(fiber);\n if (null === alternate) throw Error(formatProdErrorMessage(188));\n return alternate !== fiber ? null : fiber;\n }\n for (var a = fiber, b = alternate; ; ) {\n var parentA = a.return;\n if (null === parentA) break;\n var parentB = parentA.alternate;\n if (null === parentB) {\n b = parentA.return;\n if (null !== b) {\n a = b;\n continue;\n }\n break;\n }\n if (parentA.child === parentB.child) {\n for (parentB = parentA.child; parentB; ) {\n if (parentB === a) return assertIsMounted(parentA), fiber;\n if (parentB === b) return assertIsMounted(parentA), alternate;\n parentB = parentB.sibling;\n }\n throw Error(formatProdErrorMessage(188));\n }\n if (a.return !== b.return) (a = parentA), (b = parentB);\n else {\n for (var didFindChild = !1, child$0 = parentA.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentA;\n b = parentB;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentA;\n a = parentB;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) {\n for (child$0 = parentB.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentB;\n b = parentA;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentB;\n a = parentA;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) throw Error(formatProdErrorMessage(189));\n }\n }\n if (a.alternate !== b) throw Error(formatProdErrorMessage(190));\n }\n if (3 !== a.tag) throw Error(formatProdErrorMessage(188));\n return a.stateNode.current === a ? fiber : alternate;\n}\nfunction findCurrentHostFiberImpl(node) {\n var tag = node.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;\n for (node = node.child; null !== node; ) {\n tag = findCurrentHostFiberImpl(node);\n if (null !== tag) return tag;\n node = node.sibling;\n }\n return null;\n}\nfunction traverseVisibleInstancesAndTextInstances(\n child,\n searchWithinHosts,\n fn,\n a,\n b,\n c\n) {\n for (; null !== child; ) {\n if (\n ((5 === child.tag || 27 === child.tag || 6 === child.tag) &&\n fn(child, a, b, c)) ||\n ((22 !== child.tag || null === child.memoizedState) &&\n (searchWithinHosts || (5 !== child.tag && 27 !== child.tag)) &&\n traverseVisibleInstancesAndTextInstances(\n child.child,\n searchWithinHosts,\n fn,\n a,\n b,\n c\n ))\n )\n return !0;\n child = child.sibling;\n }\n return !1;\n}\nfunction getFragmentParentInstanceOrContainerFiber(fiber) {\n for (fiber = fiber.return; null !== fiber; ) {\n if (3 === fiber.tag || 5 === fiber.tag || 27 === fiber.tag) return fiber;\n fiber = fiber.return;\n }\n return null;\n}\nfunction fiberIsPortaledIntoHost(fiber) {\n var foundPortalParent = !1;\n for (fiber = fiber.return; null !== fiber; ) {\n 4 === fiber.tag && (foundPortalParent = !0);\n if (3 === fiber.tag || 5 === fiber.tag || 27 === fiber.tag) break;\n fiber = fiber.return;\n }\n return foundPortalParent;\n}\nfunction getFragmentInstanceOrTextInstanceSiblings(fiber) {\n var result = [null, null],\n parentHostFiber = getFragmentParentInstanceOrContainerFiber(fiber);\n if (null === parentHostFiber) return result;\n findFragmentInstanceOrTextInstanceSiblings(\n result,\n fiber,\n parentHostFiber.child,\n { foundSelf: !1 }\n );\n return result;\n}\nfunction findFragmentInstanceOrTextInstanceSiblings(\n result,\n self,\n child,\n state\n) {\n for (; null !== child; ) {\n if (child === self) state.foundSelf = !0;\n else if (5 === child.tag || 27 === child.tag || 6 === child.tag) {\n if (state.foundSelf) return (result[1] = child), !0;\n result[0] = child;\n } else if (\n (22 !== child.tag || null === child.memoizedState) &&\n findFragmentInstanceOrTextInstanceSiblings(\n result,\n self,\n child.child,\n state\n )\n )\n return !0;\n child = child.sibling;\n }\n return !1;\n}\nfunction getInstanceFromHostFiber(fiber) {\n switch (fiber.tag) {\n case 5:\n case 27:\n case 6:\n return fiber.stateNode;\n case 3:\n return fiber.stateNode.containerInfo;\n default:\n throw Error(formatProdErrorMessage(559));\n }\n}\nvar searchTarget = null,\n searchBoundary = null;\nfunction isFiberPrecedingCheck(child, target, boundary) {\n return child === boundary\n ? !0\n : child === target\n ? ((searchTarget = child), !0)\n : !1;\n}\nfunction isFiberFollowingCheck(child, target, boundary) {\n return child === boundary\n ? ((searchBoundary = child), !1)\n : child === target\n ? (null !== searchBoundary && (searchTarget = child), !0)\n : !1;\n}\nfunction getParentForFragmentAncestors(inst) {\n if (null === inst) return null;\n do inst = null === inst ? null : inst.return;\n while (inst && 5 !== inst.tag && 27 !== inst.tag && 3 !== inst.tag);\n return inst ? inst : null;\n}\nfunction getLowestCommonAncestor(instA, instB, getParent) {\n for (var depthA = 0, tempA = instA; tempA; tempA = getParent(tempA)) depthA++;\n tempA = 0;\n for (var tempB = instB; tempB; tempB = getParent(tempB)) tempA++;\n for (; 0 < depthA - tempA; ) (instA = getParent(instA)), depthA--;\n for (; 0 < tempA - depthA; ) (instB = getParent(instB)), tempA--;\n for (; depthA--; ) {\n if (instA === instB || (null !== instB && instA === instB.alternate))\n return instA;\n instA = getParent(instA);\n instB = getParent(instB);\n }\n return null;\n}\nvar assign = Object.assign,\n REACT_LEGACY_ELEMENT_TYPE = Symbol.for(\"react.element\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\nSymbol.for(\"react.scope\");\nvar REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_LEGACY_HIDDEN_TYPE = Symbol.for(\"react.legacy_hidden\");\nSymbol.for(\"react.tracing_marker\");\nvar REACT_MEMO_CACHE_SENTINEL = Symbol.for(\"react.memo_cache_sentinel\"),\n REACT_VIEW_TRANSITION_TYPE = Symbol.for(\"react.view_transition\"),\n REACT_RECOVERABLE_TYPE = Symbol.for(\"react.recoverable\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\nfunction getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n case REACT_VIEW_TRANSITION_TYPE:\n return \"ViewTransition\";\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n}\nvar isArrayImpl = Array.isArray,\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n ReactDOMSharedInternals =\n ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n sharedNotPendingObject = {\n pending: !1,\n data: null,\n method: null,\n action: null\n },\n valueStack = [],\n index = -1;\nfunction createCursor(defaultValue) {\n return { current: defaultValue };\n}\nfunction pop(cursor) {\n 0 > index ||\n ((cursor.current = valueStack[index]), (valueStack[index] = null), index--);\n}\nfunction push(cursor, value) {\n index++;\n valueStack[index] = cursor.current;\n cursor.current = value;\n}\nvar contextStackCursor = createCursor(null),\n contextFiberStackCursor = createCursor(null),\n rootInstanceStackCursor = createCursor(null),\n hostTransitionProviderCursor = createCursor(null);\nfunction pushHostContainer(fiber, nextRootInstance) {\n push(rootInstanceStackCursor, nextRootInstance);\n push(contextFiberStackCursor, fiber);\n push(contextStackCursor, null);\n switch (nextRootInstance.nodeType) {\n case 9:\n case 11:\n fiber = (fiber = nextRootInstance.documentElement)\n ? (fiber = fiber.namespaceURI)\n ? getOwnHostContext(fiber)\n : 0\n : 0;\n break;\n default:\n if (\n ((fiber = nextRootInstance.tagName),\n (nextRootInstance = nextRootInstance.namespaceURI))\n )\n (nextRootInstance = getOwnHostContext(nextRootInstance)),\n (fiber = getChildHostContextProd(nextRootInstance, fiber));\n else\n switch (fiber) {\n case \"svg\":\n fiber = 1;\n break;\n case \"math\":\n fiber = 2;\n break;\n default:\n fiber = 0;\n }\n }\n pop(contextStackCursor);\n push(contextStackCursor, fiber);\n}\nfunction popHostContainer() {\n pop(contextStackCursor);\n pop(contextFiberStackCursor);\n pop(rootInstanceStackCursor);\n}\nfunction pushHostContext(fiber) {\n var stateHook = fiber.memoizedState;\n null !== stateHook &&\n ((HostTransitionContext._currentValue = stateHook.memoizedState),\n push(hostTransitionProviderCursor, fiber));\n stateHook = contextStackCursor.current;\n var JSCompiler_inline_result = getChildHostContextProd(stateHook, fiber.type);\n stateHook !== JSCompiler_inline_result &&\n (push(contextFiberStackCursor, fiber),\n push(contextStackCursor, JSCompiler_inline_result));\n}\nfunction popHostContext(fiber) {\n contextFiberStackCursor.current === fiber &&\n (pop(contextStackCursor), pop(contextFiberStackCursor));\n hostTransitionProviderCursor.current === fiber &&\n (pop(hostTransitionProviderCursor),\n (HostTransitionContext._currentValue = sharedNotPendingObject));\n}\nvar prefix, suffix;\nfunction describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" (<anonymous>)\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n}\nvar reentry = !1;\nfunction describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = !0;\n var previousPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$1) {\n control = x$1;\n }\n Fake = !1;\n try {\n var prevProps = Object.getOwnPropertyDescriptor(\n fn.prototype,\n \"props\"\n );\n Object.defineProperty(fn.prototype, \"props\", {\n configurable: !0,\n set: function () {\n throw Error();\n }\n });\n Fake = !0;\n new fn();\n } finally {\n Fake &&\n (void 0 !== prevProps\n ? Object.defineProperty(fn.prototype, \"props\", prevProps)\n : delete fn.prototype.props);\n }\n }\n } else {\n try {\n throw Error();\n } catch (x$2) {\n control = x$2;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n namePropDescriptor = RunInRootFrame = 0;\n RunInRootFrame < sampleLines.length &&\n !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\");\n\n )\n RunInRootFrame++;\n for (\n ;\n namePropDescriptor < controlLines.length &&\n !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n if (\n RunInRootFrame === sampleLines.length ||\n namePropDescriptor === controlLines.length\n )\n for (\n RunInRootFrame = sampleLines.length - 1,\n namePropDescriptor = controlLines.length - 1;\n 1 <= RunInRootFrame &&\n 0 <= namePropDescriptor &&\n sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor];\n\n )\n namePropDescriptor--;\n for (\n ;\n 1 <= RunInRootFrame && 0 <= namePropDescriptor;\n RunInRootFrame--, namePropDescriptor--\n )\n if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (\n (RunInRootFrame--,\n namePropDescriptor--,\n 0 > namePropDescriptor ||\n sampleLines[RunInRootFrame] !==\n controlLines[namePropDescriptor])\n ) {\n var frame =\n \"\\n\" +\n sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName &&\n frame.includes(\"<anonymous>\") &&\n (frame = frame.replace(\"<anonymous>\", fn.displayName));\n return frame;\n }\n while (1 <= RunInRootFrame && 0 <= namePropDescriptor);\n }\n break;\n }\n }\n } finally {\n (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace);\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(previousPrepareStackTrace)\n : \"\";\n}\nfunction describeFiber(fiber, childFiber) {\n switch (fiber.tag) {\n case 26:\n case 27:\n case 5:\n return describeBuiltInComponentFrame(fiber.type);\n case 16:\n return describeBuiltInComponentFrame(\"Lazy\");\n case 13:\n return fiber.child !== childFiber && null !== childFiber\n ? describeBuiltInComponentFrame(\"Suspense Fallback\")\n : describeBuiltInComponentFrame(\"Suspense\");\n case 19:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case 0:\n case 15:\n return describeNativeComponentFrame(fiber.type, !1);\n case 11:\n return describeNativeComponentFrame(fiber.type.render, !1);\n case 1:\n return describeNativeComponentFrame(fiber.type, !0);\n case 31:\n return describeBuiltInComponentFrame(\"Activity\");\n case 30:\n return describeBuiltInComponentFrame(\"ViewTransition\");\n default:\n return \"\";\n }\n}\nfunction getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = \"\",\n previous = null;\n do\n (info += describeFiber(workInProgress, previous)),\n (previous = workInProgress),\n (workInProgress = workInProgress.return);\n while (workInProgress);\n return info;\n } catch (x) {\n return \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty,\n scheduleCallback$3 = Scheduler.unstable_scheduleCallback,\n cancelCallback$1 = Scheduler.unstable_cancelCallback,\n shouldYield = Scheduler.unstable_shouldYield,\n requestPaint = Scheduler.unstable_requestPaint,\n now = Scheduler.unstable_now,\n getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel,\n ImmediatePriority = Scheduler.unstable_ImmediatePriority,\n UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,\n NormalPriority$1 = Scheduler.unstable_NormalPriority,\n LowPriority = Scheduler.unstable_LowPriority,\n IdlePriority = Scheduler.unstable_IdlePriority,\n log$1 = Scheduler.log,\n unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue,\n rendererID = null,\n injectedHook = null;\nfunction setIsStrictModeForDevtools(newIsStrictMode) {\n \"function\" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode);\n if (injectedHook && \"function\" === typeof injectedHook.setStrictMode)\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {}\n}\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,\n log = Math.log,\n LN2 = Math.LN2;\nfunction clz32Fallback(x) {\n x >>>= 0;\n return 0 === x ? 32 : (31 - ((log(x) / LN2) | 0)) | 0;\n}\nvar nextTransitionUpdateLane = 256,\n nextTransitionDeferredLane = 262144,\n nextRetryLane = 4194304;\nfunction getHighestPriorityLanes(lanes) {\n var pendingSyncLanes = lanes & 42;\n if (0 !== pendingSyncLanes) return pendingSyncLanes;\n switch (lanes & -lanes) {\n case 1:\n return 1;\n case 2:\n return 2;\n case 4:\n return 4;\n case 8:\n return 8;\n case 16:\n return 16;\n case 32:\n return 32;\n case 64:\n return 64;\n case 128:\n return 128;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n return lanes & -lanes;\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return lanes & 3932160;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return lanes & 62914560;\n case 67108864:\n return 67108864;\n case 134217728:\n return 134217728;\n case 268435456:\n return 268435456;\n case 536870912:\n return 536870912;\n case 1073741824:\n return 0;\n default:\n return lanes;\n }\n}\nfunction getNextLanes(root, wipLanes, rootHasPendingCommit) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) return 0;\n var nextLanes = 0,\n suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes;\n root = root.warmLanes;\n var nonIdlePendingLanes = pendingLanes & 134217727;\n 0 !== nonIdlePendingLanes\n ? ((pendingLanes = nonIdlePendingLanes & ~suspendedLanes),\n 0 !== pendingLanes\n ? (nextLanes = getHighestPriorityLanes(pendingLanes))\n : ((pingedLanes &= nonIdlePendingLanes),\n 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = nonIdlePendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit)))))\n : ((nonIdlePendingLanes = pendingLanes & ~suspendedLanes),\n 0 !== nonIdlePendingLanes\n ? (nextLanes = getHighestPriorityLanes(nonIdlePendingLanes))\n : 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = pendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))));\n return 0 === nextLanes\n ? 0\n : 0 !== wipLanes &&\n wipLanes !== nextLanes &&\n 0 === (wipLanes & suspendedLanes) &&\n ((suspendedLanes = nextLanes & -nextLanes),\n (rootHasPendingCommit = wipLanes & -wipLanes),\n suspendedLanes >= rootHasPendingCommit ||\n (32 === suspendedLanes && 0 !== (rootHasPendingCommit & 4194048)))\n ? wipLanes\n : nextLanes;\n}\nfunction checkIfRootIsPrerendering(root, renderLanes) {\n return (\n 0 ===\n (root.pendingLanes &\n ~(root.suspendedLanes & ~root.pingedLanes) &\n renderLanes)\n );\n}\nfunction getEntangledLanes(root, renderLanes) {\n 0 !== (renderLanes & 8) && (renderLanes |= renderLanes & 32);\n var allEntangledLanes = root.entangledLanes;\n if (0 !== allEntangledLanes)\n for (\n root = root.entanglements, allEntangledLanes &= renderLanes;\n 0 < allEntangledLanes;\n\n ) {\n var index$4 = 31 - clz32(allEntangledLanes),\n lane = 1 << index$4;\n renderLanes |= root[index$4];\n allEntangledLanes &= ~lane;\n }\n return renderLanes;\n}\nfunction computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case 1:\n case 2:\n case 4:\n case 8:\n case 64:\n return currentTime + 250;\n case 16:\n case 32:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return currentTime + 5e3;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return -1;\n case 67108864:\n case 134217728:\n case 268435456:\n case 536870912:\n case 1073741824:\n return -1;\n default:\n return -1;\n }\n}\nfunction claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304);\n return lane;\n}\nfunction createLaneMap(initial) {\n for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial);\n return laneMap;\n}\nfunction markRootUpdated$1(root, updateLane) {\n root.pendingLanes |= updateLane;\n 268435456 !== updateLane &&\n ((root.suspendedLanes = 0), (root.pingedLanes = 0), (root.warmLanes = 0));\n}\nfunction markRootFinished(\n root,\n finishedLanes,\n remainingLanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n) {\n var previouslyPendingLanes = root.pendingLanes;\n root.pendingLanes = remainingLanes;\n root.suspendedLanes = 0;\n root.pingedLanes = 0;\n root.warmLanes = 0;\n root.expiredLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n root.errorRecoveryDisabledLanes &= remainingLanes;\n root.shellSuspendCounter = 0;\n var entanglements = root.entanglements,\n expirationTimes = root.expirationTimes,\n hiddenUpdates = root.hiddenUpdates;\n for (\n remainingLanes = previouslyPendingLanes & ~remainingLanes;\n 0 < remainingLanes;\n\n ) {\n var index$7 = 31 - clz32(remainingLanes),\n lane = 1 << index$7;\n entanglements[index$7] = 0;\n expirationTimes[index$7] = -1;\n var hiddenUpdatesForLane = hiddenUpdates[index$7];\n if (null !== hiddenUpdatesForLane)\n for (\n hiddenUpdates[index$7] = null, index$7 = 0;\n index$7 < hiddenUpdatesForLane.length;\n index$7++\n ) {\n var update = hiddenUpdatesForLane[index$7];\n null !== update && (update.lane &= -536870913);\n }\n remainingLanes &= ~lane;\n }\n 0 !== spawnedLane && markSpawnedDeferredLane(root, spawnedLane, 0);\n 0 !== suspendedRetryLanes &&\n 0 === updatedLanes &&\n 0 !== root.tag &&\n (root.suspendedLanes |=\n suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));\n}\nfunction markSpawnedDeferredLane(root, spawnedLane, entangledLanes) {\n root.pendingLanes |= spawnedLane;\n root.suspendedLanes &= ~spawnedLane;\n var spawnedLaneIndex = 31 - clz32(spawnedLane);\n root.entangledLanes |= spawnedLane;\n root.entanglements[spawnedLaneIndex] =\n root.entanglements[spawnedLaneIndex] |\n 1073741824 |\n (entangledLanes & 261930);\n}\nfunction markRootEntangled(root, entangledLanes) {\n var rootEntangledLanes = (root.entangledLanes |= entangledLanes);\n for (root = root.entanglements; rootEntangledLanes; ) {\n var index$8 = 31 - clz32(rootEntangledLanes),\n lane = 1 << index$8;\n (lane & entangledLanes) | (root[index$8] & entangledLanes) &&\n (root[index$8] |= entangledLanes);\n rootEntangledLanes &= ~lane;\n }\n}\nfunction getBumpedLaneForHydration(root, renderLanes) {\n var renderLane = renderLanes & -renderLanes;\n renderLane =\n 0 !== (renderLane & 42) ? 1 : getBumpedLaneForHydrationByLane(renderLane);\n return 0 !== (renderLane & (root.suspendedLanes | renderLanes))\n ? 0\n : renderLane;\n}\nfunction getBumpedLaneForHydrationByLane(lane) {\n switch (lane) {\n case 2:\n lane = 1;\n break;\n case 8:\n lane = 4;\n break;\n case 32:\n lane = 16;\n break;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n lane = 128;\n break;\n case 268435456:\n lane = 134217728;\n break;\n default:\n lane = 0;\n }\n return lane;\n}\nfunction lanesToEventPriority(lanes) {\n lanes &= -lanes;\n return 2 < lanes\n ? 8 < lanes\n ? 0 !== (lanes & 134217727)\n ? 32\n : 268435456\n : 8\n : 2;\n}\nfunction resolveUpdatePriority() {\n var updatePriority = ReactDOMSharedInternals.p;\n if (0 !== updatePriority) return updatePriority;\n updatePriority = window.event;\n return void 0 === updatePriority ? 32 : getEventPriority(updatePriority.type);\n}\nfunction runWithPriority(priority, fn) {\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n return (ReactDOMSharedInternals.p = priority), fn();\n } finally {\n ReactDOMSharedInternals.p = previousPriority;\n }\n}\nvar randomKey = Math.random().toString(36).slice(2),\n internalInstanceKey = \"__reactFiber$\" + randomKey,\n internalPropsKey = \"__reactProps$\" + randomKey,\n internalContainerInstanceKey = \"__reactContainer$\" + randomKey,\n internalEventHandlersKey = \"__reactEvents$\" + randomKey,\n internalEventHandlerListenersKey = \"__reactListeners$\" + randomKey,\n internalEventHandlesSetKey = \"__reactHandles$\" + randomKey,\n internalRootNodeResourcesKey = \"__reactResources$\" + randomKey,\n internalHoistableMarker = \"__reactMarker$\" + randomKey,\n internalLoadPendingKey = \"__reactLoad$\" + randomKey;\nfunction detachDeletedInstance(node) {\n delete node[internalInstanceKey];\n delete node[internalPropsKey];\n delete node[internalEventHandlerListenersKey];\n delete node[internalEventHandlesSetKey];\n}\nfunction getClosestInstanceFromNode(targetNode) {\n var targetInst;\n if ((targetInst = targetNode[internalInstanceKey])) return targetInst;\n for (var parentNode = targetNode.parentNode; parentNode; ) {\n if (\n (targetInst =\n parentNode[internalContainerInstanceKey] ||\n parentNode[internalInstanceKey])\n ) {\n parentNode = targetInst.alternate;\n if (\n null !== targetInst.child ||\n (null !== parentNode && null !== parentNode.child)\n )\n for (\n targetNode = getParentHydrationBoundary(targetNode);\n null !== targetNode;\n\n ) {\n if ((parentNode = targetNode[internalInstanceKey])) return parentNode;\n targetNode = getParentHydrationBoundary(targetNode);\n }\n return targetInst;\n }\n targetNode = parentNode;\n parentNode = targetNode.parentNode;\n }\n return null;\n}\nfunction getInstanceFromNode(node) {\n if (\n (node = node[internalInstanceKey] || node[internalContainerInstanceKey])\n ) {\n var tag = node.tag;\n if (\n 5 === tag ||\n 6 === tag ||\n 13 === tag ||\n 31 === tag ||\n 26 === tag ||\n 27 === tag ||\n 3 === tag\n )\n return node;\n }\n return null;\n}\nfunction getNodeFromInstance(inst) {\n var tag = inst.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return inst.stateNode;\n throw Error(formatProdErrorMessage(33));\n}\nfunction getResourcesFromRoot(root) {\n var resources = root[internalRootNodeResourcesKey];\n resources ||\n (resources = root[internalRootNodeResourcesKey] =\n { hoistableStyles: new Map(), hoistableScripts: new Map() });\n return resources;\n}\nfunction markNodeAsHoistable(node) {\n node[internalHoistableMarker] = !0;\n}\nfunction clearPendingLoadOnNode(node) {\n node[internalLoadPendingKey] = void 0;\n}\nvar allNativeEvents = new Set(),\n registrationNameDependencies = {};\nfunction registerTwoPhaseEvent(registrationName, dependencies) {\n registerDirectEvent(registrationName, dependencies);\n registerDirectEvent(registrationName + \"Capture\", dependencies);\n}\nfunction registerDirectEvent(registrationName, dependencies) {\n registrationNameDependencies[registrationName] = dependencies;\n for (\n registrationName = 0;\n registrationName < dependencies.length;\n registrationName++\n )\n allNativeEvents.add(dependencies[registrationName]);\n}\nvar VALID_ATTRIBUTE_NAME_REGEX = RegExp(\n \"^[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\"\n ),\n illegalAttributeNameCache = {},\n validatedAttributeNameCache = {};\nfunction isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))\n return !0;\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return !1;\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))\n return (validatedAttributeNameCache[attributeName] = !0);\n illegalAttributeNameCache[attributeName] = !0;\n return !1;\n}\nvar viewTransitionMutationContext = !1;\nfunction pushMutationContext() {\n var prev = viewTransitionMutationContext;\n viewTransitionMutationContext = !1;\n return prev;\n}\nfunction setValueForAttribute(node, name, value) {\n if (isAttributeNameSafe(name))\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n node.removeAttribute(name);\n return;\n case \"boolean\":\n var prefix$10 = name.toLowerCase().slice(0, 5);\n if (\"data-\" !== prefix$10 && \"aria-\" !== prefix$10) {\n node.removeAttribute(name);\n return;\n }\n }\n node.setAttribute(name, value);\n }\n}\nfunction setValueForKnownAttribute(node, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n node.setAttribute(name, value);\n }\n}\nfunction setValueForNamespacedAttribute(node, namespace, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n node.setAttributeNS(namespace, name, value);\n }\n}\nfunction getToStringValue(value) {\n switch (typeof value) {\n case \"bigint\":\n case \"boolean\":\n case \"number\":\n case \"string\":\n case \"undefined\":\n return value;\n case \"object\":\n return value;\n default:\n return \"\";\n }\n}\nfunction isCheckable(elem) {\n var type = elem.type;\n return (\n (elem = elem.nodeName) &&\n \"input\" === elem.toLowerCase() &&\n (\"checkbox\" === type || \"radio\" === type)\n );\n}\nfunction trackValueOnNode(node, valueField, currentValue) {\n var descriptor = Object.getOwnPropertyDescriptor(\n node.constructor.prototype,\n valueField\n );\n if (\n !node.hasOwnProperty(valueField) &&\n \"undefined\" !== typeof descriptor &&\n \"function\" === typeof descriptor.get &&\n \"function\" === typeof descriptor.set\n ) {\n var get = descriptor.get,\n set = descriptor.set;\n Object.defineProperty(node, valueField, {\n configurable: !0,\n get: function () {\n return get.call(this);\n },\n set: function (value) {\n currentValue = \"\" + value;\n set.call(this, value);\n }\n });\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable\n });\n return {\n getValue: function () {\n return currentValue;\n },\n setValue: function (value) {\n currentValue = \"\" + value;\n },\n stopTracking: function () {\n node._valueTracker = null;\n delete node[valueField];\n }\n };\n }\n}\nfunction track(node) {\n if (!node._valueTracker) {\n var valueField = isCheckable(node) ? \"checked\" : \"value\";\n node._valueTracker = trackValueOnNode(\n node,\n valueField,\n \"\" + node[valueField]\n );\n }\n}\nfunction updateValueIfChanged(node) {\n if (!node) return !1;\n var tracker = node._valueTracker;\n if (!tracker) return !0;\n var lastValue = tracker.getValue();\n var value = \"\";\n node &&\n (value = isCheckable(node)\n ? node.checked\n ? \"true\"\n : \"false\"\n : node.value);\n node = value;\n return node !== lastValue ? (tracker.setValue(node), !0) : !1;\n}\nvar escapeSelectorAttributeValueInsideDoubleQuotesRegex = /[\\n\"\\\\]/g;\nfunction escapeSelectorAttributeValueInsideDoubleQuotes(value) {\n return value.replace(\n escapeSelectorAttributeValueInsideDoubleQuotesRegex,\n function (ch) {\n return \"\\\\\" + ch.charCodeAt(0).toString(16) + \" \";\n }\n );\n}\nfunction updateInput(\n element,\n value,\n defaultValue,\n lastDefaultValue,\n checked,\n defaultChecked,\n type,\n name\n) {\n element.name = \"\";\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type\n ? (element.type = type)\n : element.removeAttribute(\"type\");\n if (null != value)\n if (\"number\" === type) {\n if ((0 === value && \"\" === element.value) || element.value != value)\n element.value = \"\" + getToStringValue(value);\n } else\n element.value !== \"\" + getToStringValue(value) &&\n (element.value = \"\" + getToStringValue(value));\n else\n (\"submit\" !== type && \"reset\" !== type) || element.removeAttribute(\"value\");\n null != value\n ? \"number\" === type && element.value == value\n ? setDefaultValue(element, getToStringValue(element.value))\n : setDefaultValue(element, getToStringValue(value))\n : null != defaultValue\n ? setDefaultValue(element, getToStringValue(defaultValue))\n : null != lastDefaultValue && element.removeAttribute(\"value\");\n null == checked &&\n null != defaultChecked &&\n (element.defaultChecked = !!defaultChecked);\n null != checked &&\n (element.checked =\n checked && \"function\" !== typeof checked && \"symbol\" !== typeof checked);\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name\n ? (element.name = \"\" + getToStringValue(name))\n : element.removeAttribute(\"name\");\n}\nfunction initInput(\n element,\n value,\n defaultValue,\n checked,\n defaultChecked,\n type,\n name,\n isHydrating\n) {\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type &&\n (element.type = type);\n if (null != value || null != defaultValue) {\n if (\n !(\n (\"submit\" !== type && \"reset\" !== type) ||\n (void 0 !== value && null !== value)\n )\n ) {\n track(element);\n return;\n }\n defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n value = null != value ? \"\" + getToStringValue(value) : defaultValue;\n isHydrating || value === element.value || (element.value = value);\n element.defaultValue = value;\n }\n checked = null != checked ? checked : defaultChecked;\n checked =\n \"function\" !== typeof checked && \"symbol\" !== typeof checked && !!checked;\n element.checked = isHydrating ? element.checked : !!checked;\n element.defaultChecked = !!checked;\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name &&\n (element.name = name);\n track(element);\n}\nfunction setDefaultValue(node, value) {\n node.defaultValue !== \"\" + value && (node.defaultValue = \"\" + value);\n}\nfunction updateOptions(node, multiple, propValue, setDefaultSelected) {\n node = node.options;\n if (multiple) {\n multiple = {};\n for (var i = 0; i < propValue.length; i++)\n multiple[\"$\" + propValue[i]] = !0;\n for (propValue = 0; propValue < node.length; propValue++)\n (i = multiple.hasOwnProperty(\"$\" + node[propValue].value)),\n node[propValue].selected !== i && (node[propValue].selected = i),\n i && setDefaultSelected && (node[propValue].defaultSelected = !0);\n } else {\n propValue = \"\" + getToStringValue(propValue);\n multiple = null;\n for (i = 0; i < node.length; i++) {\n if (node[i].value === propValue) {\n node[i].selected = !0;\n setDefaultSelected && (node[i].defaultSelected = !0);\n return;\n }\n null !== multiple || node[i].disabled || (multiple = node[i]);\n }\n null !== multiple && (multiple.selected = !0);\n }\n}\nfunction updateTextarea(element, value, defaultValue) {\n if (\n null != value &&\n ((value = \"\" + getToStringValue(value)),\n value !== element.value && (element.value = value),\n null == defaultValue)\n ) {\n element.defaultValue !== value && (element.defaultValue = value);\n return;\n }\n element.defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n}\nfunction initTextarea(element, value, defaultValue, children) {\n if (null == value) {\n if (null != children) {\n if (null != defaultValue) throw Error(formatProdErrorMessage(92));\n if (isArrayImpl(children)) {\n if (1 < children.length) throw Error(formatProdErrorMessage(93));\n children = children[0];\n }\n defaultValue = children;\n }\n null == defaultValue && (defaultValue = \"\");\n value = defaultValue;\n }\n defaultValue = getToStringValue(value);\n element.defaultValue = defaultValue;\n children = element.textContent;\n children === defaultValue &&\n \"\" !== children &&\n null !== children &&\n (element.value = children);\n track(element);\n}\nfunction setTextContent(node, text) {\n if (text) {\n var firstChild = node.firstChild;\n if (\n firstChild &&\n firstChild === node.lastChild &&\n 3 === firstChild.nodeType\n ) {\n firstChild.nodeValue = text;\n return;\n }\n }\n node.textContent = text;\n}\nvar unitlessNumbers = new Set(\n \"animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp\".split(\n \" \"\n )\n);\nfunction setValueForStyle(style, styleName, value) {\n var isCustomProperty = 0 === styleName.indexOf(\"--\");\n null == value || \"boolean\" === typeof value || \"\" === value\n ? isCustomProperty\n ? style.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (style.cssFloat = \"\")\n : (style[styleName] = \"\")\n : isCustomProperty\n ? style.setProperty(styleName, value)\n : \"number\" !== typeof value ||\n 0 === value ||\n unitlessNumbers.has(styleName)\n ? \"float\" === styleName\n ? (style.cssFloat = value)\n : (style[styleName] = (\"\" + value).trim())\n : (style[styleName] = value + \"px\");\n}\nfunction setValueForStyles(node, styles, prevStyles) {\n if (null != styles && \"object\" !== typeof styles)\n throw Error(formatProdErrorMessage(62));\n node = node.style;\n if (null != prevStyles) {\n for (var styleName in prevStyles)\n !prevStyles.hasOwnProperty(styleName) ||\n (null != styles && styles.hasOwnProperty(styleName)) ||\n (0 === styleName.indexOf(\"--\")\n ? node.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (node.cssFloat = \"\")\n : (node[styleName] = \"\"),\n (viewTransitionMutationContext = !0));\n for (var styleName$16 in styles)\n (styleName = styles[styleName$16]),\n styles.hasOwnProperty(styleName$16) &&\n prevStyles[styleName$16] !== styleName &&\n (setValueForStyle(node, styleName$16, styleName),\n (viewTransitionMutationContext = !0));\n } else\n for (var styleName$17 in styles)\n styles.hasOwnProperty(styleName$17) &&\n setValueForStyle(node, styleName$17, styles[styleName$17]);\n}\nfunction isCustomElement(tagName) {\n if (-1 === tagName.indexOf(\"-\")) return !1;\n switch (tagName) {\n case \"annotation-xml\":\n case \"color-profile\":\n case \"font-face\":\n case \"font-face-src\":\n case \"font-face-uri\":\n case \"font-face-format\":\n case \"font-face-name\":\n case \"missing-glyph\":\n return !1;\n default:\n return !0;\n }\n}\nvar aliases = new Map([\n [\"acceptCharset\", \"accept-charset\"],\n [\"htmlFor\", \"for\"],\n [\"httpEquiv\", \"http-equiv\"],\n [\"crossOrigin\", \"crossorigin\"],\n [\"accentHeight\", \"accent-height\"],\n [\"alignmentBaseline\", \"alignment-baseline\"],\n [\"arabicForm\", \"arabic-form\"],\n [\"baselineShift\", \"baseline-shift\"],\n [\"capHeight\", \"cap-height\"],\n [\"clipPath\", \"clip-path\"],\n [\"clipRule\", \"clip-rule\"],\n [\"colorInterpolation\", \"color-interpolation\"],\n [\"colorInterpolationFilters\", \"color-interpolation-filters\"],\n [\"colorProfile\", \"color-profile\"],\n [\"colorRendering\", \"color-rendering\"],\n [\"dominantBaseline\", \"dominant-baseline\"],\n [\"enableBackground\", \"enable-background\"],\n [\"fillOpacity\", \"fill-opacity\"],\n [\"fillRule\", \"fill-rule\"],\n [\"floodColor\", \"flood-color\"],\n [\"floodOpacity\", \"flood-opacity\"],\n [\"fontFamily\", \"font-family\"],\n [\"fontSize\", \"font-size\"],\n [\"fontSizeAdjust\", \"font-size-adjust\"],\n [\"fontStretch\", \"font-stretch\"],\n [\"fontStyle\", \"font-style\"],\n [\"fontVariant\", \"font-variant\"],\n [\"fontWeight\", \"font-weight\"],\n [\"glyphName\", \"glyph-name\"],\n [\"glyphOrientationHorizontal\", \"glyph-orientation-horizontal\"],\n [\"glyphOrientationVertical\", \"glyph-orientation-vertical\"],\n [\"horizAdvX\", \"horiz-adv-x\"],\n [\"horizOriginX\", \"horiz-origin-x\"],\n [\"imageRendering\", \"image-rendering\"],\n [\"letterSpacing\", \"letter-spacing\"],\n [\"lightingColor\", \"lighting-color\"],\n [\"markerEnd\", \"marker-end\"],\n [\"markerMid\", \"marker-mid\"],\n [\"markerStart\", \"marker-start\"],\n [\"maskType\", \"mask-type\"],\n [\"overlinePosition\", \"overline-position\"],\n [\"overlineThickness\", \"overline-thickness\"],\n [\"paintOrder\", \"paint-order\"],\n [\"panose-1\", \"panose-1\"],\n [\"pointerEvents\", \"pointer-events\"],\n [\"renderingIntent\", \"rendering-intent\"],\n [\"shapeRendering\", \"shape-rendering\"],\n [\"stopColor\", \"stop-color\"],\n [\"stopOpacity\", \"stop-opacity\"],\n [\"strikethroughPosition\", \"strikethrough-position\"],\n [\"strikethroughThickness\", \"strikethrough-thickness\"],\n [\"strokeDasharray\", \"stroke-dasharray\"],\n [\"strokeDashoffset\", \"stroke-dashoffset\"],\n [\"strokeLinecap\", \"stroke-linecap\"],\n [\"strokeLinejoin\", \"stroke-linejoin\"],\n [\"strokeMiterlimit\", \"stroke-miterlimit\"],\n [\"strokeOpacity\", \"stroke-opacity\"],\n [\"strokeWidth\", \"stroke-width\"],\n [\"textAnchor\", \"text-anchor\"],\n [\"textDecoration\", \"text-decoration\"],\n [\"textRendering\", \"text-rendering\"],\n [\"transformOrigin\", \"transform-origin\"],\n [\"underlinePosition\", \"underline-position\"],\n [\"underlineThickness\", \"underline-thickness\"],\n [\"unicodeBidi\", \"unicode-bidi\"],\n [\"unicodeRange\", \"unicode-range\"],\n [\"unitsPerEm\", \"units-per-em\"],\n [\"vAlphabetic\", \"v-alphabetic\"],\n [\"vHanging\", \"v-hanging\"],\n [\"vIdeographic\", \"v-ideographic\"],\n [\"vMathematical\", \"v-mathematical\"],\n [\"vectorEffect\", \"vector-effect\"],\n [\"vertAdvY\", \"vert-adv-y\"],\n [\"vertOriginX\", \"vert-origin-x\"],\n [\"vertOriginY\", \"vert-origin-y\"],\n [\"wordSpacing\", \"word-spacing\"],\n [\"writingMode\", \"writing-mode\"],\n [\"xmlnsXlink\", \"xmlns:xlink\"],\n [\"xHeight\", \"x-height\"]\n ]),\n isJavaScriptProtocol =\n /^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*:/i;\nfunction sanitizeURL(url) {\n return isJavaScriptProtocol.test(\"\" + url)\n ? \"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\"\n : url;\n}\nfunction noop$1() {}\nvar currentReplayingEvent = null;\nfunction getEventTarget(nativeEvent) {\n nativeEvent = nativeEvent.target || nativeEvent.srcElement || window;\n nativeEvent.correspondingUseElement &&\n (nativeEvent = nativeEvent.correspondingUseElement);\n return 3 === nativeEvent.nodeType ? nativeEvent.parentNode : nativeEvent;\n}\nvar restoreTarget = null,\n restoreQueue = null;\nfunction restoreStateOfTarget(target) {\n var internalInstance = getInstanceFromNode(target);\n if (internalInstance && (target = internalInstance.stateNode)) {\n var props = target[internalPropsKey] || null;\n a: switch (((target = internalInstance.stateNode), internalInstance.type)) {\n case \"input\":\n updateInput(\n target,\n props.value,\n props.defaultValue,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name\n );\n internalInstance = props.name;\n if (\"radio\" === props.type && null != internalInstance) {\n for (props = target; props.parentNode; ) props = props.parentNode;\n props = props.querySelectorAll(\n 'input[name=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n \"\" + internalInstance\n ) +\n '\"][type=\"radio\"]'\n );\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n ) {\n var otherNode = props[internalInstance];\n if (otherNode !== target && otherNode.form === target.form) {\n var otherProps = otherNode[internalPropsKey] || null;\n if (!otherProps) throw Error(formatProdErrorMessage(90));\n updateInput(\n otherNode,\n otherProps.value,\n otherProps.defaultValue,\n otherProps.defaultValue,\n otherProps.checked,\n otherProps.defaultChecked,\n otherProps.type,\n otherProps.name\n );\n }\n }\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n )\n (otherNode = props[internalInstance]),\n otherNode.form === target.form && updateValueIfChanged(otherNode);\n }\n break a;\n case \"textarea\":\n updateTextarea(target, props.value, props.defaultValue);\n break a;\n case \"select\":\n (internalInstance = props.value),\n null != internalInstance &&\n updateOptions(target, !!props.multiple, internalInstance, !1);\n }\n }\n}\nvar isInsideEventHandler = !1;\nfunction batchedUpdates$1(fn, a, b) {\n if (isInsideEventHandler) return fn(a, b);\n isInsideEventHandler = !0;\n try {\n var JSCompiler_inline_result = fn(a);\n return JSCompiler_inline_result;\n } finally {\n if (\n ((isInsideEventHandler = !1),\n null !== restoreTarget || null !== restoreQueue)\n )\n if (\n (flushSyncWork$1(),\n restoreTarget &&\n ((a = restoreTarget),\n (fn = restoreQueue),\n (restoreQueue = restoreTarget = null),\n restoreStateOfTarget(a),\n fn))\n )\n for (a = 0; a < fn.length; a++) restoreStateOfTarget(fn[a]);\n }\n}\nfunction getListener(inst, registrationName) {\n var stateNode = inst.stateNode;\n if (null === stateNode) return null;\n var props = stateNode[internalPropsKey] || null;\n if (null === props) return null;\n stateNode = props[registrationName];\n a: switch (registrationName) {\n case \"onClick\":\n case \"onClickCapture\":\n case \"onDoubleClick\":\n case \"onDoubleClickCapture\":\n case \"onMouseDown\":\n case \"onMouseDownCapture\":\n case \"onMouseMove\":\n case \"onMouseMoveCapture\":\n case \"onMouseUp\":\n case \"onMouseUpCapture\":\n case \"onMouseEnter\":\n (props = !props.disabled) ||\n ((inst = inst.type),\n (props = !(\n \"button\" === inst ||\n \"input\" === inst ||\n \"select\" === inst ||\n \"textarea\" === inst\n )));\n inst = !props;\n break a;\n default:\n inst = !1;\n }\n if (inst) return null;\n if (stateNode && \"function\" !== typeof stateNode)\n throw Error(\n formatProdErrorMessage(231, registrationName, typeof stateNode)\n );\n return stateNode;\n}\nvar canUseDOM = !(\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ),\n passiveBrowserEventsSupported = !1;\nif (canUseDOM)\n try {\n var options = {};\n Object.defineProperty(options, \"passive\", {\n get: function () {\n passiveBrowserEventsSupported = !0;\n }\n });\n window.addEventListener(\"test\", options, options);\n window.removeEventListener(\"test\", options, options);\n } catch (e) {\n passiveBrowserEventsSupported = !1;\n }\nvar root = null,\n startText = null,\n fallbackText = null;\nfunction getData() {\n if (fallbackText) return fallbackText;\n var start,\n startValue = startText,\n startLength = startValue.length,\n end,\n endValue = \"value\" in root ? root.value : root.textContent,\n endLength = endValue.length;\n for (\n start = 0;\n start < startLength && startValue[start] === endValue[start];\n start++\n );\n var minEnd = startLength - start;\n for (\n end = 1;\n end <= minEnd &&\n startValue[startLength - end] === endValue[endLength - end];\n end++\n );\n return (fallbackText = endValue.slice(start, 1 < end ? 1 - end : void 0));\n}\nfunction getEventCharCode(nativeEvent) {\n var keyCode = nativeEvent.keyCode;\n \"charCode\" in nativeEvent\n ? ((nativeEvent = nativeEvent.charCode),\n 0 === nativeEvent && 13 === keyCode && (nativeEvent = 13))\n : (nativeEvent = keyCode);\n 10 === nativeEvent && (nativeEvent = 13);\n return 32 <= nativeEvent || 13 === nativeEvent ? nativeEvent : 0;\n}\nfunction functionThatReturnsTrue() {\n return !0;\n}\nfunction functionThatReturnsFalse() {\n return !1;\n}\nfunction createSyntheticEvent(Interface) {\n function SyntheticBaseEvent(\n reactName,\n reactEventType,\n targetInst,\n nativeEvent,\n nativeEventTarget\n ) {\n this._reactName = reactName;\n this._targetInst = targetInst;\n this.type = reactEventType;\n this.nativeEvent = nativeEvent;\n this.target = nativeEventTarget;\n this.currentTarget = null;\n for (var propName in Interface)\n Interface.hasOwnProperty(propName) &&\n ((reactName = Interface[propName]),\n (this[propName] = reactName\n ? reactName(nativeEvent)\n : nativeEvent[propName]));\n this.isDefaultPrevented = (\n null != nativeEvent.defaultPrevented\n ? nativeEvent.defaultPrevented\n : !1 === nativeEvent.returnValue\n )\n ? functionThatReturnsTrue\n : functionThatReturnsFalse;\n this.isPropagationStopped = functionThatReturnsFalse;\n return this;\n }\n assign(SyntheticBaseEvent.prototype, {\n preventDefault: function () {\n this.defaultPrevented = !0;\n var event = this.nativeEvent;\n event &&\n (event.preventDefault\n ? event.preventDefault()\n : \"unknown\" !== typeof event.returnValue && (event.returnValue = !1),\n (this.isDefaultPrevented = functionThatReturnsTrue));\n },\n stopPropagation: function () {\n var event = this.nativeEvent;\n event &&\n (event.stopPropagation\n ? event.stopPropagation()\n : \"unknown\" !== typeof event.cancelBubble &&\n (event.cancelBubble = !0),\n (this.isPropagationStopped = functionThatReturnsTrue));\n },\n persist: function () {},\n isPersistent: functionThatReturnsTrue\n });\n return SyntheticBaseEvent;\n}\nvar EventInterface = {\n eventPhase: 0,\n bubbles: 0,\n cancelable: 0,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: 0,\n isTrusted: 0\n },\n SyntheticEvent = createSyntheticEvent(EventInterface),\n UIEventInterface = assign({}, EventInterface, { view: 0, detail: 0 }),\n SyntheticUIEvent = createSyntheticEvent(UIEventInterface),\n lastMovementX,\n lastMovementY,\n lastMouseEvent,\n MouseEventInterface = assign({}, UIEventInterface, {\n screenX: 0,\n screenY: 0,\n clientX: 0,\n clientY: 0,\n pageX: 0,\n pageY: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n getModifierState: getEventModifierState,\n button: 0,\n buttons: 0,\n relatedTarget: function (event) {\n return void 0 === event.relatedTarget\n ? event.fromElement === event.srcElement\n ? event.toElement\n : event.fromElement\n : event.relatedTarget;\n },\n movementX: function (event) {\n if (\"movementX\" in event) return event.movementX;\n event !== lastMouseEvent &&\n (lastMouseEvent && \"mousemove\" === event.type\n ? ((lastMovementX = event.screenX - lastMouseEvent.screenX),\n (lastMovementY = event.screenY - lastMouseEvent.screenY))\n : (lastMovementY = lastMovementX = 0),\n (lastMouseEvent = event));\n return lastMovementX;\n },\n movementY: function (event) {\n return \"movementY\" in event ? event.movementY : lastMovementY;\n }\n }),\n SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface),\n DragEventInterface = assign({}, MouseEventInterface, { dataTransfer: 0 }),\n SyntheticDragEvent = createSyntheticEvent(DragEventInterface),\n FocusEventInterface = assign({}, UIEventInterface, { relatedTarget: 0 }),\n SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface),\n AnimationEventInterface = assign({}, EventInterface, {\n animationName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface),\n ClipboardEventInterface = assign({}, EventInterface, {\n clipboardData: function (event) {\n return \"clipboardData\" in event\n ? event.clipboardData\n : window.clipboardData;\n }\n }),\n SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface),\n CompositionEventInterface = assign({}, EventInterface, { data: 0 }),\n SyntheticCompositionEvent = createSyntheticEvent(CompositionEventInterface),\n normalizeKey = {\n Esc: \"Escape\",\n Spacebar: \" \",\n Left: \"ArrowLeft\",\n Up: \"ArrowUp\",\n Right: \"ArrowRight\",\n Down: \"ArrowDown\",\n Del: \"Delete\",\n Win: \"OS\",\n Menu: \"ContextMenu\",\n Apps: \"ContextMenu\",\n Scroll: \"ScrollLock\",\n MozPrintableKey: \"Unidentified\"\n },\n translateToKey = {\n 8: \"Backspace\",\n 9: \"Tab\",\n 12: \"Clear\",\n 13: \"Enter\",\n 16: \"Shift\",\n 17: \"Control\",\n 18: \"Alt\",\n 19: \"Pause\",\n 20: \"CapsLock\",\n 27: \"Escape\",\n 32: \" \",\n 33: \"PageUp\",\n 34: \"PageDown\",\n 35: \"End\",\n 36: \"Home\",\n 37: \"ArrowLeft\",\n 38: \"ArrowUp\",\n 39: \"ArrowRight\",\n 40: \"ArrowDown\",\n 45: \"Insert\",\n 46: \"Delete\",\n 112: \"F1\",\n 113: \"F2\",\n 114: \"F3\",\n 115: \"F4\",\n 116: \"F5\",\n 117: \"F6\",\n 118: \"F7\",\n 119: \"F8\",\n 120: \"F9\",\n 121: \"F10\",\n 122: \"F11\",\n 123: \"F12\",\n 144: \"NumLock\",\n 145: \"ScrollLock\",\n 224: \"Meta\"\n },\n modifierKeyToProp = {\n Alt: \"altKey\",\n Control: \"ctrlKey\",\n Meta: \"metaKey\",\n Shift: \"shiftKey\"\n };\nfunction modifierStateGetter(keyArg) {\n var nativeEvent = this.nativeEvent;\n return nativeEvent.getModifierState\n ? nativeEvent.getModifierState(keyArg)\n : (keyArg = modifierKeyToProp[keyArg])\n ? !!nativeEvent[keyArg]\n : !1;\n}\nfunction getEventModifierState() {\n return modifierStateGetter;\n}\nvar KeyboardEventInterface = assign({}, UIEventInterface, {\n key: function (nativeEvent) {\n if (nativeEvent.key) {\n var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n if (\"Unidentified\" !== key) return key;\n }\n return \"keypress\" === nativeEvent.type\n ? ((nativeEvent = getEventCharCode(nativeEvent)),\n 13 === nativeEvent ? \"Enter\" : String.fromCharCode(nativeEvent))\n : \"keydown\" === nativeEvent.type || \"keyup\" === nativeEvent.type\n ? translateToKey[nativeEvent.keyCode] || \"Unidentified\"\n : \"\";\n },\n code: 0,\n location: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n repeat: 0,\n locale: 0,\n getModifierState: getEventModifierState,\n charCode: function (event) {\n return \"keypress\" === event.type ? getEventCharCode(event) : 0;\n },\n keyCode: function (event) {\n return \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n },\n which: function (event) {\n return \"keypress\" === event.type\n ? getEventCharCode(event)\n : \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n }\n }),\n SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface),\n PointerEventInterface = assign({}, MouseEventInterface, {\n pointerId: 0,\n width: 0,\n height: 0,\n pressure: 0,\n tangentialPressure: 0,\n tiltX: 0,\n tiltY: 0,\n twist: 0,\n pointerType: 0,\n isPrimary: 0\n }),\n SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface),\n SubmitEventInterface = assign({}, EventInterface, { submitter: 0 }),\n SyntheticSubmitEvent = createSyntheticEvent(SubmitEventInterface),\n TouchEventInterface = assign({}, UIEventInterface, {\n touches: 0,\n targetTouches: 0,\n changedTouches: 0,\n altKey: 0,\n metaKey: 0,\n ctrlKey: 0,\n shiftKey: 0,\n getModifierState: getEventModifierState\n }),\n SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface),\n TransitionEventInterface = assign({}, EventInterface, {\n propertyName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface),\n WheelEventInterface = assign({}, MouseEventInterface, {\n deltaX: function (event) {\n return \"deltaX\" in event\n ? event.deltaX\n : \"wheelDeltaX\" in event\n ? -event.wheelDeltaX\n : 0;\n },\n deltaY: function (event) {\n return \"deltaY\" in event\n ? event.deltaY\n : \"wheelDeltaY\" in event\n ? -event.wheelDeltaY\n : \"wheelDelta\" in event\n ? -event.wheelDelta\n : 0;\n },\n deltaZ: 0,\n deltaMode: 0\n }),\n SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),\n ToggleEventInterface = assign({}, EventInterface, {\n newState: 0,\n oldState: 0,\n source: 0\n }),\n SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),\n END_KEYCODES = [9, 13, 27, 32],\n canUseCompositionEvent = canUseDOM && \"CompositionEvent\" in window,\n documentMode = null;\ncanUseDOM &&\n \"documentMode\" in document &&\n (documentMode = document.documentMode);\nvar canUseTextInputEvent = canUseDOM && \"TextEvent\" in window && !documentMode,\n useFallbackCompositionData =\n canUseDOM &&\n (!canUseCompositionEvent ||\n (documentMode && 8 < documentMode && 11 >= documentMode)),\n SPACEBAR_CHAR = String.fromCharCode(32),\n hasSpaceKeypress = !1;\nfunction isFallbackCompositionEnd(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"keyup\":\n return -1 !== END_KEYCODES.indexOf(nativeEvent.keyCode);\n case \"keydown\":\n return 229 !== nativeEvent.keyCode;\n case \"keypress\":\n case \"mousedown\":\n case \"focusout\":\n return !0;\n default:\n return !1;\n }\n}\nfunction getDataFromCustomEvent(nativeEvent) {\n nativeEvent = nativeEvent.detail;\n return \"object\" === typeof nativeEvent && \"data\" in nativeEvent\n ? nativeEvent.data\n : null;\n}\nvar isComposing = !1;\nfunction getNativeBeforeInputChars(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"compositionend\":\n return getDataFromCustomEvent(nativeEvent);\n case \"keypress\":\n if (32 !== nativeEvent.which) return null;\n hasSpaceKeypress = !0;\n return SPACEBAR_CHAR;\n case \"textInput\":\n return (\n (domEventName = nativeEvent.data),\n domEventName === SPACEBAR_CHAR && hasSpaceKeypress ? null : domEventName\n );\n default:\n return null;\n }\n}\nfunction getFallbackBeforeInputChars(domEventName, nativeEvent) {\n if (isComposing)\n return \"compositionend\" === domEventName ||\n (!canUseCompositionEvent &&\n isFallbackCompositionEnd(domEventName, nativeEvent))\n ? ((domEventName = getData()),\n (fallbackText = startText = root = null),\n (isComposing = !1),\n domEventName)\n : null;\n switch (domEventName) {\n case \"paste\":\n return null;\n case \"keypress\":\n if (\n !(nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) ||\n (nativeEvent.ctrlKey && nativeEvent.altKey)\n ) {\n if (nativeEvent.char && 1 < nativeEvent.char.length)\n return nativeEvent.char;\n if (nativeEvent.which) return String.fromCharCode(nativeEvent.which);\n }\n return null;\n case \"compositionend\":\n return useFallbackCompositionData && \"ko\" !== nativeEvent.locale\n ? null\n : nativeEvent.data;\n default:\n return null;\n }\n}\nvar supportedInputTypes = {\n color: !0,\n date: !0,\n datetime: !0,\n \"datetime-local\": !0,\n email: !0,\n month: !0,\n number: !0,\n password: !0,\n range: !0,\n search: !0,\n tel: !0,\n text: !0,\n time: !0,\n url: !0,\n week: !0\n};\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return \"input\" === nodeName\n ? !!supportedInputTypes[elem.type]\n : \"textarea\" === nodeName\n ? !0\n : !1;\n}\nfunction createAndAccumulateChangeEvent(\n dispatchQueue,\n inst,\n nativeEvent,\n target\n) {\n restoreTarget\n ? restoreQueue\n ? restoreQueue.push(target)\n : (restoreQueue = [target])\n : (restoreTarget = target);\n inst = accumulateTwoPhaseListeners(inst, \"onChange\");\n 0 < inst.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onChange\",\n \"change\",\n null,\n nativeEvent,\n target\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: inst }));\n}\nvar activeElement$1 = null,\n activeElementInst$1 = null;\nfunction runEventInBatch(dispatchQueue) {\n processDispatchQueue(dispatchQueue, 0);\n}\nfunction getInstIfValueChanged(targetInst) {\n var targetNode = getNodeFromInstance(targetInst);\n if (updateValueIfChanged(targetNode)) return targetInst;\n}\nfunction getTargetInstForChangeEvent(domEventName, targetInst) {\n if (\"change\" === domEventName) return targetInst;\n}\nvar isInputEventSupported = !1;\nif (canUseDOM) {\n var JSCompiler_inline_result$jscomp$318;\n if (canUseDOM) {\n var isSupported$jscomp$inline_474 = \"oninput\" in document;\n if (!isSupported$jscomp$inline_474) {\n var element$jscomp$inline_475 = document.createElement(\"div\");\n element$jscomp$inline_475.setAttribute(\"oninput\", \"return;\");\n isSupported$jscomp$inline_474 =\n \"function\" === typeof element$jscomp$inline_475.oninput;\n }\n JSCompiler_inline_result$jscomp$318 = isSupported$jscomp$inline_474;\n } else JSCompiler_inline_result$jscomp$318 = !1;\n isInputEventSupported =\n JSCompiler_inline_result$jscomp$318 &&\n (!document.documentMode || 9 < document.documentMode);\n}\nfunction stopWatchingForValueChange() {\n activeElement$1 &&\n (activeElement$1.detachEvent(\"onpropertychange\", handlePropertyChange),\n (activeElementInst$1 = activeElement$1 = null));\n}\nfunction handlePropertyChange(nativeEvent) {\n if (\n \"value\" === nativeEvent.propertyName &&\n getInstIfValueChanged(activeElementInst$1)\n ) {\n var dispatchQueue = [];\n createAndAccumulateChangeEvent(\n dispatchQueue,\n activeElementInst$1,\n nativeEvent,\n getEventTarget(nativeEvent)\n );\n batchedUpdates$1(runEventInBatch, dispatchQueue);\n }\n}\nfunction handleEventsForInputEventPolyfill(domEventName, target, targetInst) {\n \"focusin\" === domEventName\n ? (stopWatchingForValueChange(),\n (activeElement$1 = target),\n (activeElementInst$1 = targetInst),\n activeElement$1.attachEvent(\"onpropertychange\", handlePropertyChange))\n : \"focusout\" === domEventName && stopWatchingForValueChange();\n}\nfunction getTargetInstForInputEventPolyfill(domEventName) {\n if (\n \"selectionchange\" === domEventName ||\n \"keyup\" === domEventName ||\n \"keydown\" === domEventName\n )\n return getInstIfValueChanged(activeElementInst$1);\n}\nfunction getTargetInstForClickEvent(domEventName, targetInst) {\n if (\"click\" === domEventName) return getInstIfValueChanged(targetInst);\n}\nfunction getTargetInstForInputOrChangeEvent(domEventName, targetInst) {\n if (\"input\" === domEventName || \"change\" === domEventName)\n return getInstIfValueChanged(targetInst);\n}\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is;\nfunction shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) return !0;\n if (\n \"object\" !== typeof objA ||\n null === objA ||\n \"object\" !== typeof objB ||\n null === objB\n )\n return !1;\n var keysA = Object.keys(objA),\n keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return !1;\n for (keysB = 0; keysB < keysA.length; keysB++) {\n var currentKey = keysA[keysB];\n if (\n !hasOwnProperty.call(objB, currentKey) ||\n !objectIs(objA[currentKey], objB[currentKey])\n )\n return !1;\n }\n return !0;\n}\nfunction getActiveElement(doc) {\n doc = doc || (\"undefined\" !== typeof document ? document : void 0);\n if (\"undefined\" === typeof doc) return null;\n try {\n return doc.activeElement || doc.body;\n } catch (e$20) {\n return doc.body;\n }\n}\nfunction getLeafNode(node) {\n for (; node && node.firstChild; ) node = node.firstChild;\n return node;\n}\nfunction getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n root = 0;\n for (var nodeEnd; node; ) {\n if (3 === node.nodeType) {\n nodeEnd = root + node.textContent.length;\n if (root <= offset && nodeEnd >= offset)\n return { node: node, offset: offset - root };\n root = nodeEnd;\n }\n a: {\n for (; node; ) {\n if (node.nextSibling) {\n node = node.nextSibling;\n break a;\n }\n node = node.parentNode;\n }\n node = void 0;\n }\n node = getLeafNode(node);\n }\n}\nfunction containsNode(outerNode, innerNode) {\n return outerNode && innerNode\n ? outerNode === innerNode\n ? !0\n : outerNode && 3 === outerNode.nodeType\n ? !1\n : innerNode && 3 === innerNode.nodeType\n ? containsNode(outerNode, innerNode.parentNode)\n : \"contains\" in outerNode\n ? outerNode.contains(innerNode)\n : outerNode.compareDocumentPosition\n ? !!(outerNode.compareDocumentPosition(innerNode) & 16)\n : !1\n : !1;\n}\nfunction getActiveElementDeep(containerInfo) {\n containerInfo =\n null != containerInfo &&\n null != containerInfo.ownerDocument &&\n null != containerInfo.ownerDocument.defaultView\n ? containerInfo.ownerDocument.defaultView\n : window;\n for (\n var element = getActiveElement(containerInfo.document);\n element instanceof containerInfo.HTMLIFrameElement;\n\n ) {\n try {\n var JSCompiler_inline_result =\n \"string\" === typeof element.contentWindow.location.href;\n } catch (err) {\n JSCompiler_inline_result = !1;\n }\n if (JSCompiler_inline_result) containerInfo = element.contentWindow;\n else break;\n element = getActiveElement(containerInfo.document);\n }\n return element;\n}\nfunction hasSelectionCapabilities(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return (\n nodeName &&\n ((\"input\" === nodeName &&\n (\"text\" === elem.type ||\n \"search\" === elem.type ||\n \"tel\" === elem.type ||\n \"url\" === elem.type ||\n \"password\" === elem.type)) ||\n \"textarea\" === nodeName ||\n \"true\" === elem.contentEditable)\n );\n}\nvar skipSelectionChangeEvent =\n canUseDOM && \"documentMode\" in document && 11 >= document.documentMode,\n activeElement = null,\n activeElementInst = null,\n lastSelection = null,\n mouseDown = !1;\nfunction constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {\n var doc =\n nativeEventTarget.window === nativeEventTarget\n ? nativeEventTarget.document\n : 9 === nativeEventTarget.nodeType\n ? nativeEventTarget\n : nativeEventTarget.ownerDocument;\n mouseDown ||\n null == activeElement ||\n activeElement !== getActiveElement(doc) ||\n ((doc = activeElement),\n \"selectionStart\" in doc && hasSelectionCapabilities(doc)\n ? (doc = { start: doc.selectionStart, end: doc.selectionEnd })\n : ((doc = (\n (doc.ownerDocument && doc.ownerDocument.defaultView) ||\n window\n ).getSelection()),\n (doc = {\n anchorNode: doc.anchorNode,\n anchorOffset: doc.anchorOffset,\n focusNode: doc.focusNode,\n focusOffset: doc.focusOffset\n })),\n (lastSelection && shallowEqual(lastSelection, doc)) ||\n ((lastSelection = doc),\n (doc = accumulateTwoPhaseListeners(activeElementInst, \"onSelect\")),\n 0 < doc.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onSelect\",\n \"select\",\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: doc }),\n (nativeEvent.target = activeElement))));\n}\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\" + styleProp] = \"webkit\" + eventName;\n prefixes[\"Moz\" + styleProp] = \"moz\" + eventName;\n return prefixes;\n}\nvar vendorPrefixes = {\n animationend: makePrefixMap(\"Animation\", \"AnimationEnd\"),\n animationiteration: makePrefixMap(\"Animation\", \"AnimationIteration\"),\n animationstart: makePrefixMap(\"Animation\", \"AnimationStart\"),\n transitionrun: makePrefixMap(\"Transition\", \"TransitionRun\"),\n transitionstart: makePrefixMap(\"Transition\", \"TransitionStart\"),\n transitioncancel: makePrefixMap(\"Transition\", \"TransitionCancel\"),\n transitionend: makePrefixMap(\"Transition\", \"TransitionEnd\")\n },\n prefixedEventNames = {},\n style = {};\ncanUseDOM &&\n ((style = document.createElement(\"div\").style),\n \"AnimationEvent\" in window ||\n (delete vendorPrefixes.animationend.animation,\n delete vendorPrefixes.animationiteration.animation,\n delete vendorPrefixes.animationstart.animation),\n \"TransitionEvent\" in window ||\n delete vendorPrefixes.transitionend.transition);\nfunction getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) return prefixedEventNames[eventName];\n if (!vendorPrefixes[eventName]) return eventName;\n var prefixMap = vendorPrefixes[eventName],\n styleProp;\n for (styleProp in prefixMap)\n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style)\n return (prefixedEventNames[eventName] = prefixMap[styleProp]);\n return eventName;\n}\nvar ANIMATION_END = getVendorPrefixedEventName(\"animationend\"),\n ANIMATION_ITERATION = getVendorPrefixedEventName(\"animationiteration\"),\n ANIMATION_START = getVendorPrefixedEventName(\"animationstart\"),\n TRANSITION_RUN = getVendorPrefixedEventName(\"transitionrun\"),\n TRANSITION_START = getVendorPrefixedEventName(\"transitionstart\"),\n TRANSITION_CANCEL = getVendorPrefixedEventName(\"transitioncancel\"),\n TRANSITION_END = getVendorPrefixedEventName(\"transitionend\"),\n topLevelEventsToReactNames = new Map(),\n simpleEventPluginEvents =\n \"abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error fullscreenChange fullscreenError gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\n \" \"\n );\nsimpleEventPluginEvents.push(\"scrollEnd\");\nfunction registerSimpleEvent(domEventName, reactName) {\n topLevelEventsToReactNames.set(domEventName, reactName);\n registerTwoPhaseEvent(reactName, [domEventName]);\n}\nvar globalClientIdCounter$1 = 0;\nfunction getViewTransitionName(props, instance) {\n if (null != props.name && \"auto\" !== props.name) return props.name;\n if (null !== instance.autoName) return instance.autoName;\n props = pendingEffectsRoot.identifierPrefix;\n var globalClientId = globalClientIdCounter$1++;\n props = \"_\" + props + \"t_\" + globalClientId.toString(32) + \"_\";\n return (instance.autoName = props);\n}\nfunction getClassNameByType(classByType) {\n if (null == classByType || \"string\" === typeof classByType)\n return classByType;\n var className = null,\n activeTypes = pendingTransitionTypes;\n if (null !== activeTypes)\n for (var i = 0; i < activeTypes.length; i++) {\n var match = classByType[activeTypes[i]];\n if (null != match) {\n if (\"none\" === match) return \"none\";\n className = null == className ? match : className + (\" \" + match);\n }\n }\n return null == className ? classByType.default : className;\n}\nfunction getViewTransitionClassName(defaultClass, eventClass) {\n defaultClass = getClassNameByType(defaultClass);\n eventClass = getClassNameByType(eventClass);\n return null == eventClass\n ? \"auto\" === defaultClass\n ? null\n : defaultClass\n : \"auto\" === eventClass\n ? null\n : eventClass;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n concurrentQueues = [],\n concurrentQueuesIndex = 0,\n concurrentlyUpdatedLanes = 0;\nfunction finishQueueingConcurrentUpdates() {\n for (\n var endIndex = concurrentQueuesIndex,\n i = (concurrentlyUpdatedLanes = concurrentQueuesIndex = 0);\n i < endIndex;\n\n ) {\n var fiber = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var queue = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var update = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var lane = concurrentQueues[i];\n concurrentQueues[i++] = null;\n if (null !== queue && null !== update) {\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n }\n 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane);\n }\n}\nfunction enqueueUpdate$1(fiber, queue, update, lane) {\n concurrentQueues[concurrentQueuesIndex++] = fiber;\n concurrentQueues[concurrentQueuesIndex++] = queue;\n concurrentQueues[concurrentQueuesIndex++] = update;\n concurrentQueues[concurrentQueuesIndex++] = lane;\n concurrentlyUpdatedLanes |= lane;\n fiber.lanes |= lane;\n fiber = fiber.alternate;\n null !== fiber && (fiber.lanes |= lane);\n}\nfunction enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n enqueueUpdate$1(fiber, queue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction enqueueConcurrentRenderForLane(fiber, lane) {\n enqueueUpdate$1(fiber, null, null, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {\n sourceFiber.lanes |= lane;\n var alternate = sourceFiber.alternate;\n null !== alternate && (alternate.lanes |= lane);\n for (var isHidden = !1, parent = sourceFiber.return; null !== parent; )\n (parent.childLanes |= lane),\n (alternate = parent.alternate),\n null !== alternate && (alternate.childLanes |= lane),\n 22 === parent.tag &&\n ((sourceFiber = parent.stateNode),\n null === sourceFiber || sourceFiber._visibility & 1 || (isHidden = !0)),\n (sourceFiber = parent),\n (parent = parent.return);\n return 3 === sourceFiber.tag\n ? ((parent = sourceFiber.stateNode),\n isHidden &&\n null !== update &&\n ((isHidden = 31 - clz32(lane)),\n (sourceFiber = parent.hiddenUpdates),\n (alternate = sourceFiber[isHidden]),\n null === alternate\n ? (sourceFiber[isHidden] = [update])\n : alternate.push(update),\n (update.lane = lane | 536870912)),\n parent)\n : null;\n}\nfunction getRootForUpdatedFiber(sourceFiber) {\n if (50 < nestedUpdateCount)\n throw (\n ((nestedUpdateCount = 0),\n (rootWithNestedUpdates = null),\n Error(formatProdErrorMessage(185)))\n );\n for (var parent = sourceFiber.return; null !== parent; )\n (sourceFiber = parent), (parent = sourceFiber.return);\n return 3 === sourceFiber.tag ? sourceFiber.stateNode : null;\n}\nvar emptyContextObject = {};\nfunction FiberNode(tag, pendingProps, key, mode) {\n this.tag = tag;\n this.key = key;\n this.sibling =\n this.child =\n this.return =\n this.stateNode =\n this.type =\n this.elementType =\n null;\n this.index = 0;\n this.refCleanup = this.ref = null;\n this.pendingProps = pendingProps;\n this.dependencies =\n this.memoizedState =\n this.updateQueue =\n this.memoizedProps =\n null;\n this.mode = mode;\n this.subtreeFlags = this.flags = 0;\n this.deletions = null;\n this.childLanes = this.lanes = 0;\n this.alternate = null;\n}\nfunction createFiberImplClass(tag, pendingProps, key, mode) {\n return new FiberNode(tag, pendingProps, key, mode);\n}\nfunction shouldConstruct(Component) {\n Component = Component.prototype;\n return !(!Component || !Component.isReactComponent);\n}\nfunction createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n null === workInProgress\n ? ((workInProgress = createFiberImplClass(\n current.tag,\n pendingProps,\n current.key,\n current.mode\n )),\n (workInProgress.elementType = current.elementType),\n (workInProgress.type = current.type),\n (workInProgress.stateNode = current.stateNode),\n (workInProgress.alternate = current),\n (current.alternate = workInProgress))\n : ((workInProgress.pendingProps = pendingProps),\n (workInProgress.type = current.type),\n (workInProgress.flags = 0),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null));\n workInProgress.flags = current.flags & 1206910976;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue;\n pendingProps = current.dependencies;\n workInProgress.dependencies =\n null === pendingProps\n ? null\n : { lanes: pendingProps.lanes, firstContext: pendingProps.firstContext };\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n workInProgress.refCleanup = current.refCleanup;\n return workInProgress;\n}\nfunction resetWorkInProgress(workInProgress, renderLanes) {\n workInProgress.flags &= 1206910978;\n var current = workInProgress.alternate;\n null === current\n ? ((workInProgress.childLanes = 0),\n (workInProgress.lanes = renderLanes),\n (workInProgress.child = null),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.memoizedProps = null),\n (workInProgress.memoizedState = null),\n (workInProgress.updateQueue = null),\n (workInProgress.dependencies = null),\n (workInProgress.stateNode = null))\n : ((workInProgress.childLanes = current.childLanes),\n (workInProgress.lanes = current.lanes),\n (workInProgress.child = current.child),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null),\n (workInProgress.memoizedProps = current.memoizedProps),\n (workInProgress.memoizedState = current.memoizedState),\n (workInProgress.updateQueue = current.updateQueue),\n (workInProgress.type = current.type),\n (renderLanes = current.dependencies),\n (workInProgress.dependencies =\n null === renderLanes\n ? null\n : {\n lanes: renderLanes.lanes,\n firstContext: renderLanes.firstContext\n }));\n return workInProgress;\n}\nfunction createFiberFromTypeAndProps(\n type,\n key,\n pendingProps,\n owner,\n mode,\n lanes\n) {\n var fiberTag = 0;\n owner = type;\n if (\"function\" === typeof owner) shouldConstruct(owner) && (fiberTag = 1);\n else if (\"string\" === typeof owner)\n fiberTag = isHostHoistableType(\n type,\n pendingProps,\n contextStackCursor.current\n )\n ? 26\n : \"html\" === type || \"head\" === type || \"body\" === type\n ? 27\n : 5;\n else\n a: switch (owner) {\n case REACT_ACTIVITY_TYPE:\n return (\n (type = createFiberImplClass(31, pendingProps, key, mode)),\n (type.elementType = REACT_ACTIVITY_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(pendingProps.children, mode, lanes, key);\n case REACT_STRICT_MODE_TYPE:\n fiberTag = 8;\n mode |= 24;\n break;\n case REACT_PROFILER_TYPE:\n return (\n (type = createFiberImplClass(12, pendingProps, key, mode | 2)),\n (type.elementType = REACT_PROFILER_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_TYPE:\n return (\n (type = createFiberImplClass(13, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_LIST_TYPE:\n return (\n (type = createFiberImplClass(19, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_LIST_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_LEGACY_HIDDEN_TYPE:\n case REACT_VIEW_TRANSITION_TYPE:\n return (\n (type = mode | 32),\n (type = createFiberImplClass(30, pendingProps, key, type)),\n (type.elementType = REACT_VIEW_TRANSITION_TYPE),\n (type.lanes = lanes),\n (type.stateNode = {\n autoName: null,\n paired: null,\n clones: null,\n ref: null\n }),\n type\n );\n default:\n if (\"object\" === typeof owner && null !== owner)\n switch (owner.$$typeof) {\n case REACT_CONTEXT_TYPE:\n fiberTag = 10;\n break a;\n case REACT_CONSUMER_TYPE:\n fiberTag = 9;\n break a;\n case REACT_FORWARD_REF_TYPE:\n fiberTag = 11;\n break a;\n case REACT_MEMO_TYPE:\n fiberTag = 14;\n break a;\n case REACT_LAZY_TYPE:\n fiberTag = 16;\n owner = null;\n break a;\n }\n fiberTag = 29;\n pendingProps = Error(\n formatProdErrorMessage(130, null === type ? \"null\" : typeof type, \"\")\n );\n owner = null;\n }\n key = createFiberImplClass(fiberTag, pendingProps, key, mode);\n key.elementType = type;\n key.type = owner;\n key.lanes = lanes;\n return key;\n}\nfunction createFiberFromFragment(elements, mode, lanes, key) {\n elements = createFiberImplClass(7, elements, key, mode);\n elements.lanes = lanes;\n return elements;\n}\nfunction createFiberFromText(content, mode, lanes) {\n content = createFiberImplClass(6, content, null, mode);\n content.lanes = lanes;\n return content;\n}\nfunction createFiberFromDehydratedFragment(dehydratedNode) {\n var fiber = createFiberImplClass(18, null, null, 0);\n fiber.stateNode = dehydratedNode;\n return fiber;\n}\nfunction createFiberFromPortal(portal, mode, lanes) {\n mode = createFiberImplClass(\n 4,\n null !== portal.children ? portal.children : [],\n portal.key,\n mode\n );\n mode.lanes = lanes;\n mode.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n implementation: portal.implementation\n };\n return mode;\n}\nvar CapturedStacks = new WeakMap();\nfunction createCapturedValueAtFiber(value, source) {\n if (\"object\" === typeof value && null !== value) {\n var existing = CapturedStacks.get(value);\n if (void 0 !== existing) return existing;\n source = {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n CapturedStacks.set(value, source);\n return source;\n }\n return {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n}\nvar forkStack = [],\n forkStackIndex = 0,\n treeForkProvider = null,\n treeForkCount = 0,\n idStack = [],\n idStackIndex = 0,\n treeContextProvider = null,\n treeContextId = 1,\n treeContextOverflow = \"\";\nfunction pushTreeFork(workInProgress, totalChildren) {\n forkStack[forkStackIndex++] = treeForkCount;\n forkStack[forkStackIndex++] = treeForkProvider;\n treeForkProvider = workInProgress;\n treeForkCount = totalChildren;\n}\nfunction pushTreeId(workInProgress, totalChildren, index) {\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextProvider = workInProgress;\n var baseIdWithLeadingBit = treeContextId;\n workInProgress = treeContextOverflow;\n var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;\n baseIdWithLeadingBit &= ~(1 << baseLength);\n index += 1;\n var length = 32 - clz32(totalChildren) + baseLength;\n if (30 < length) {\n var numberOfOverflowBits = baseLength - (baseLength % 5);\n length = (\n baseIdWithLeadingBit &\n ((1 << numberOfOverflowBits) - 1)\n ).toString(32);\n baseIdWithLeadingBit >>= numberOfOverflowBits;\n baseLength -= numberOfOverflowBits;\n treeContextId =\n (1 << (32 - clz32(totalChildren) + baseLength)) |\n (index << baseLength) |\n baseIdWithLeadingBit;\n treeContextOverflow = length + workInProgress;\n } else\n (treeContextId =\n (1 << length) | (index << baseLength) | baseIdWithLeadingBit),\n (treeContextOverflow = workInProgress);\n}\nfunction pushMaterializedTreeId(workInProgress) {\n null !== workInProgress.return &&\n (pushTreeFork(workInProgress, 1), pushTreeId(workInProgress, 1, 0));\n}\nfunction popTreeContext(workInProgress) {\n for (; workInProgress === treeForkProvider; )\n (treeForkProvider = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null),\n (treeForkCount = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null);\n for (; workInProgress === treeContextProvider; )\n (treeContextProvider = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextOverflow = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextId = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null);\n}\nfunction restoreSuspendedTreeContext(workInProgress, suspendedContext) {\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextId = suspendedContext.id;\n treeContextOverflow = suspendedContext.overflow;\n treeContextProvider = workInProgress;\n}\nvar hydrationParentFiber = null,\n nextHydratableInstance = null,\n isHydrating = !1,\n hydrationErrors = null,\n rootOrSingletonContext = !1,\n HydrationMismatchException = Error(formatProdErrorMessage(519));\nfunction throwOnHydrationMismatch(fiber) {\n var error = Error(\n formatProdErrorMessage(\n 418,\n 1 < arguments.length && void 0 !== arguments[1] && arguments[1]\n ? \"text\"\n : \"HTML\",\n \"\"\n )\n );\n queueHydrationError(createCapturedValueAtFiber(error, fiber));\n throw HydrationMismatchException;\n}\nfunction prepareToHydrateHostInstance(fiber) {\n var instance = fiber.stateNode,\n type = fiber.type,\n props = fiber.memoizedProps;\n instance[internalInstanceKey] = fiber;\n instance[internalPropsKey] = props;\n switch (type) {\n case \"dialog\":\n listenToNonDelegatedEvent(\"cancel\", instance);\n listenToNonDelegatedEvent(\"close\", instance);\n break;\n case \"iframe\":\n case \"object\":\n case \"embed\":\n listenToNonDelegatedEvent(\"load\", instance);\n break;\n case \"video\":\n case \"audio\":\n for (type = 0; type < mediaEventTypes.length; type++)\n listenToNonDelegatedEvent(mediaEventTypes[type], instance);\n break;\n case \"source\":\n listenToNonDelegatedEvent(\"error\", instance);\n break;\n case \"img\":\n case \"image\":\n case \"link\":\n listenToNonDelegatedEvent(\"error\", instance);\n listenToNonDelegatedEvent(\"load\", instance);\n break;\n case \"details\":\n listenToNonDelegatedEvent(\"toggle\", instance);\n break;\n case \"input\":\n listenToNonDelegatedEvent(\"invalid\", instance);\n initInput(\n instance,\n props.value,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name,\n !0\n );\n break;\n case \"select\":\n listenToNonDelegatedEvent(\"invalid\", instance);\n break;\n case \"textarea\":\n listenToNonDelegatedEvent(\"invalid\", instance),\n initTextarea(instance, props.value, props.defaultValue, props.children);\n }\n type = props.children;\n (\"string\" !== typeof type &&\n \"number\" !== typeof type &&\n \"bigint\" !== typeof type) ||\n instance.textContent === \"\" + type ||\n !0 === props.suppressHydrationWarning ||\n checkForUnmatchedText(instance.textContent, type)\n ? (null != props.popover &&\n (listenToNonDelegatedEvent(\"beforetoggle\", instance),\n listenToNonDelegatedEvent(\"toggle\", instance)),\n null != props.onScroll && listenToNonDelegatedEvent(\"scroll\", instance),\n null != props.onScrollEnd &&\n listenToNonDelegatedEvent(\"scrollend\", instance),\n null != props.onClick && (instance.onclick = noop$1),\n (instance = !0))\n : (instance = !1);\n instance || throwOnHydrationMismatch(fiber, !0);\n}\nfunction popToNextHostParent(fiber) {\n for (hydrationParentFiber = fiber.return; hydrationParentFiber; )\n switch (hydrationParentFiber.tag) {\n case 5:\n case 31:\n case 13:\n rootOrSingletonContext = !1;\n return;\n case 27:\n case 3:\n rootOrSingletonContext = !0;\n return;\n default:\n hydrationParentFiber = hydrationParentFiber.return;\n }\n}\nfunction popHydrationState(fiber) {\n if (fiber !== hydrationParentFiber) return !1;\n if (!isHydrating) return popToNextHostParent(fiber), (isHydrating = !0), !1;\n var tag = fiber.tag,\n JSCompiler_temp;\n if ((JSCompiler_temp = 3 !== tag && 27 !== tag)) {\n if ((JSCompiler_temp = 5 === tag))\n (JSCompiler_temp = fiber.type),\n (JSCompiler_temp =\n !(\"form\" !== JSCompiler_temp && \"button\" !== JSCompiler_temp) ||\n shouldSetTextContent(fiber.type, fiber.memoizedProps));\n JSCompiler_temp = !JSCompiler_temp;\n }\n JSCompiler_temp && nextHydratableInstance && throwOnHydrationMismatch(fiber);\n popToNextHostParent(fiber);\n if (13 === tag) {\n fiber = fiber.memoizedState;\n fiber = null !== fiber ? fiber.dehydrated : null;\n if (!fiber) throw Error(formatProdErrorMessage(317));\n nextHydratableInstance =\n getNextHydratableInstanceAfterHydrationBoundary(fiber);\n } else if (31 === tag) {\n fiber = fiber.memoizedState;\n fiber = null !== fiber ? fiber.dehydrated : null;\n if (!fiber) throw Error(formatProdErrorMessage(317));\n nextHydratableInstance =\n getNextHydratableInstanceAfterHydrationBoundary(fiber);\n } else\n 27 === tag\n ? ((tag = nextHydratableInstance),\n isSingletonScope(fiber.type)\n ? ((fiber = previousHydratableOnEnteringScopedSingleton),\n (previousHydratableOnEnteringScopedSingleton = null),\n (nextHydratableInstance = fiber))\n : (nextHydratableInstance = tag))\n : (nextHydratableInstance = hydrationParentFiber\n ? getNextHydratable(fiber.stateNode.nextSibling)\n : null);\n return !0;\n}\nfunction resetHydrationState() {\n nextHydratableInstance = hydrationParentFiber = null;\n isHydrating = !1;\n}\nfunction upgradeHydrationErrorsToRecoverable() {\n var queuedErrors = hydrationErrors;\n null !== queuedErrors &&\n (null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = queuedErrors)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n queuedErrors\n ),\n (hydrationErrors = null));\n return queuedErrors;\n}\nfunction queueHydrationError(error) {\n null === hydrationErrors\n ? (hydrationErrors = [error])\n : hydrationErrors.push(error);\n}\nvar valueCursor = createCursor(null),\n currentlyRenderingFiber$1 = null,\n lastContextDependency = null;\nfunction pushProvider(providerFiber, context, nextValue) {\n push(valueCursor, context._currentValue);\n context._currentValue = nextValue;\n}\nfunction popProvider(context) {\n context._currentValue = valueCursor.current;\n pop(valueCursor);\n}\nfunction scheduleContextWorkOnParentPath(parent, renderLanes, propagationRoot) {\n for (; null !== parent; ) {\n var alternate = parent.alternate;\n (parent.childLanes & renderLanes) !== renderLanes\n ? ((parent.childLanes |= renderLanes),\n null !== alternate && (alternate.childLanes |= renderLanes))\n : null !== alternate &&\n (alternate.childLanes & renderLanes) !== renderLanes &&\n (alternate.childLanes |= renderLanes);\n if (parent === propagationRoot) break;\n parent = parent.return;\n }\n}\nfunction propagateContextChanges(\n workInProgress,\n contexts,\n renderLanes,\n forcePropagateEntireTree\n) {\n var fiber = workInProgress.child;\n null !== fiber && (fiber.return = workInProgress);\n for (; null !== fiber; ) {\n var list = fiber.dependencies;\n if (null !== list) {\n var nextFiber = fiber.child;\n list = list.firstContext;\n a: for (; null !== list; ) {\n var dependency = list;\n list = fiber;\n for (var i = 0; i < contexts.length; i++)\n if (dependency.context === contexts[i]) {\n list.lanes |= renderLanes;\n dependency = list.alternate;\n null !== dependency && (dependency.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(\n list.return,\n renderLanes,\n workInProgress\n );\n forcePropagateEntireTree || (nextFiber = null);\n break a;\n }\n list = dependency.next;\n }\n } else if (18 === fiber.tag) {\n nextFiber = fiber.return;\n if (null === nextFiber) throw Error(formatProdErrorMessage(341));\n nextFiber.lanes |= renderLanes;\n list = nextFiber.alternate;\n null !== list && (list.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(nextFiber, renderLanes, workInProgress);\n nextFiber = null;\n } else\n 13 === fiber.tag &&\n null !== fiber.memoizedState &&\n null === fiber.memoizedState.dehydrated\n ? ((fiber.lanes |= renderLanes),\n (nextFiber = fiber.alternate),\n null !== nextFiber && (nextFiber.lanes |= renderLanes),\n scheduleContextWorkOnParentPath(\n fiber.return,\n renderLanes,\n workInProgress\n ),\n (nextFiber = fiber.child),\n (nextFiber = null !== nextFiber ? nextFiber.sibling : null))\n : (nextFiber = fiber.child);\n if (null !== nextFiber) nextFiber.return = fiber;\n else\n for (nextFiber = fiber; null !== nextFiber; ) {\n if (nextFiber === workInProgress) {\n nextFiber = null;\n break;\n }\n fiber = nextFiber.sibling;\n if (null !== fiber) {\n fiber.return = nextFiber.return;\n nextFiber = fiber;\n break;\n }\n nextFiber = nextFiber.return;\n }\n fiber = nextFiber;\n }\n}\nfunction propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n forcePropagateEntireTree\n) {\n current = null;\n for (\n var parent = workInProgress, isInsidePropagationBailout = !1;\n null !== parent;\n\n ) {\n if (!isInsidePropagationBailout)\n if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = !0;\n else if (0 !== (parent.flags & 262144)) break;\n if (10 === parent.tag) {\n var currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent = currentParent.memoizedProps;\n if (null !== currentParent) {\n var context = parent.type;\n objectIs(parent.pendingProps.value, currentParent.value) ||\n (null !== current ? current.push(context) : (current = [context]));\n }\n } else if (parent === hostTransitionProviderCursor.current) {\n currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent.memoizedState.memoizedState !==\n parent.memoizedState.memoizedState &&\n (null !== current\n ? current.push(HostTransitionContext)\n : (current = [HostTransitionContext]));\n }\n parent = parent.return;\n }\n null !== current &&\n propagateContextChanges(\n workInProgress,\n current,\n renderLanes,\n forcePropagateEntireTree\n );\n workInProgress.flags |= 262144;\n return null !== current;\n}\nfunction checkIfContextChanged(currentDependencies) {\n for (\n currentDependencies = currentDependencies.firstContext;\n null !== currentDependencies;\n\n ) {\n if (\n !objectIs(\n currentDependencies.context._currentValue,\n currentDependencies.memoizedValue\n )\n )\n return !0;\n currentDependencies = currentDependencies.next;\n }\n return !1;\n}\nfunction prepareToReadContext(workInProgress) {\n currentlyRenderingFiber$1 = workInProgress;\n lastContextDependency = null;\n workInProgress = workInProgress.dependencies;\n null !== workInProgress && (workInProgress.firstContext = null);\n}\nfunction readContext(context) {\n return readContextForConsumer(currentlyRenderingFiber$1, context);\n}\nfunction readContextDuringReconciliation(consumer, context) {\n null === currentlyRenderingFiber$1 && prepareToReadContext(consumer);\n return readContextForConsumer(consumer, context);\n}\nfunction readContextForConsumer(consumer, context) {\n var value = context._currentValue;\n context = { context: context, memoizedValue: value, next: null };\n if (null === lastContextDependency) {\n if (null === consumer) throw Error(formatProdErrorMessage(308));\n lastContextDependency = context;\n consumer.dependencies = { lanes: 0, firstContext: context };\n consumer.flags |= 524288;\n } else lastContextDependency = lastContextDependency.next = context;\n return value;\n}\nvar AbortControllerLocal =\n \"undefined\" !== typeof AbortController\n ? AbortController\n : function () {\n var listeners = [],\n signal = (this.signal = {\n aborted: !1,\n addEventListener: function (type, listener) {\n listeners.push(listener);\n }\n });\n this.abort = function () {\n signal.aborted = !0;\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n },\n scheduleCallback$2 = Scheduler.unstable_scheduleCallback,\n NormalPriority = Scheduler.unstable_NormalPriority,\n CacheContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Consumer: null,\n Provider: null,\n _currentValue: null,\n _currentValue2: null,\n _threadCount: 0\n };\nfunction createCache() {\n return {\n controller: new AbortControllerLocal(),\n data: new Map(),\n refCount: 0\n };\n}\nfunction releaseCache(cache) {\n cache.refCount--;\n 0 === cache.refCount &&\n scheduleCallback$2(NormalPriority, function () {\n cache.controller.abort();\n });\n}\nfunction queueTransitionTypes(root, transitionTypes) {\n if (0 !== (root.pendingLanes & 4194048)) {\n var queued = root.transitionTypes;\n null === queued && (queued = root.transitionTypes = []);\n for (root = 0; root < transitionTypes.length; root++) {\n var transitionType = transitionTypes[root];\n -1 === queued.indexOf(transitionType) && queued.push(transitionType);\n }\n }\n}\nvar entangledTransitionTypes = null;\nfunction claimQueuedTransitionTypes(root) {\n var claimed = root.transitionTypes;\n root.transitionTypes = null;\n return claimed;\n}\nvar currentEntangledListeners = null,\n currentEntangledPendingCount = 0,\n currentEntangledLane = 0,\n currentEntangledActionThenable = null;\nfunction entangleAsyncAction(transition, thenable) {\n if (null === currentEntangledListeners) {\n var entangledListeners = (currentEntangledListeners = []);\n currentEntangledPendingCount = 0;\n currentEntangledLane = requestTransitionLane();\n currentEntangledActionThenable = {\n status: \"pending\",\n value: void 0,\n then: function (resolve) {\n entangledListeners.push(resolve);\n }\n };\n }\n currentEntangledPendingCount++;\n thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);\n return thenable;\n}\nfunction pingEngtangledActionScope() {\n if (\n 0 === --currentEntangledPendingCount &&\n ((entangledTransitionTypes = null), null !== currentEntangledListeners)\n ) {\n null !== currentEntangledActionThenable &&\n (currentEntangledActionThenable.status = \"fulfilled\");\n var listeners = currentEntangledListeners;\n currentEntangledListeners = null;\n currentEntangledLane = 0;\n currentEntangledActionThenable = null;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])();\n }\n}\nfunction chainThenableValue(thenable, result) {\n var listeners = [],\n thenableWithOverride = {\n status: \"pending\",\n value: null,\n reason: null,\n then: function (resolve) {\n listeners.push(resolve);\n }\n };\n thenable.then(\n function () {\n thenableWithOverride.status = \"fulfilled\";\n thenableWithOverride.value = result;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result);\n },\n function (error) {\n thenableWithOverride.status = \"rejected\";\n thenableWithOverride.reason = error;\n for (error = 0; error < listeners.length; error++)\n (0, listeners[error])(void 0);\n }\n );\n return thenableWithOverride;\n}\nvar prevOnStartTransitionFinish = ReactSharedInternals.S;\nReactSharedInternals.S = function (transition, returnValue) {\n globalMostRecentTransitionTime = now();\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n entangleAsyncAction(transition, returnValue);\n if (null !== entangledTransitionTypes)\n for (var root$28 = firstScheduledRoot; null !== root$28; )\n queueTransitionTypes(root$28, entangledTransitionTypes),\n (root$28 = root$28.next);\n root$28 = transition.types;\n if (null !== root$28) {\n for (var root$29 = firstScheduledRoot; null !== root$29; )\n queueTransitionTypes(root$29, root$28), (root$29 = root$29.next);\n if (0 !== currentEntangledLane) {\n root$29 = entangledTransitionTypes;\n null === root$29 && (root$29 = entangledTransitionTypes = []);\n for (var i = 0; i < root$28.length; i++) {\n var transitionType = root$28[i];\n -1 === root$29.indexOf(transitionType) && root$29.push(transitionType);\n }\n }\n }\n null !== prevOnStartTransitionFinish &&\n prevOnStartTransitionFinish(transition, returnValue);\n};\nvar resumedCache = createCursor(null);\nfunction peekCacheFromPool() {\n var cacheResumedFromPreviousRender = resumedCache.current;\n return null !== cacheResumedFromPreviousRender\n ? cacheResumedFromPreviousRender\n : workInProgressRoot.pooledCache;\n}\nfunction pushTransition(offscreenWorkInProgress, prevCachePool) {\n null === prevCachePool\n ? push(resumedCache, resumedCache.current)\n : push(resumedCache, prevCachePool.pool);\n}\nfunction getSuspendedCache() {\n var cacheFromPool = peekCacheFromPool();\n return null === cacheFromPool\n ? null\n : { parent: CacheContext._currentValue, pool: cacheFromPool };\n}\nvar SuspenseException = Error(formatProdErrorMessage(460)),\n SuspenseyCommitException = Error(formatProdErrorMessage(474)),\n SuspenseActionException = Error(formatProdErrorMessage(542)),\n noopSuspenseyCommitThenable = { then: function () {} };\nfunction isThenableResolved(thenable) {\n thenable = thenable.status;\n return \"fulfilled\" === thenable || \"rejected\" === thenable;\n}\nfunction trackUsedThenable(thenableState, thenable, index) {\n index = thenableState[index];\n void 0 === index\n ? thenableState.push(thenable)\n : index !== thenable && (thenable.then(noop$1, noop$1), (thenable = index));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n thenableState = thenable.reason;\n checkIfUseWrappedInAsyncCatch(thenableState);\n if (void 0 === thenableState && !(\"reason\" in thenable))\n throw Error(formatProdErrorMessage(600));\n throw thenableState;\n default:\n if (\"string\" === typeof thenable.status) thenable.then(noop$1, noop$1);\n else {\n thenableState = workInProgressRoot;\n if (null !== thenableState && 100 < thenableState.shellSuspendCounter)\n throw Error(formatProdErrorMessage(482));\n thenableState = thenable;\n thenableState.status = \"pending\";\n thenableState.then(\n function (fulfilledValue) {\n if (\"pending\" === thenable.status) {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = \"fulfilled\";\n fulfilledThenable.value = fulfilledValue;\n }\n },\n function (error) {\n if (\"pending\" === thenable.status) {\n var rejectedThenable = thenable;\n rejectedThenable.status = \"rejected\";\n rejectedThenable.reason = error;\n }\n }\n );\n }\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n}\nfunction resolveLazy(lazyType) {\n try {\n var init = lazyType._init;\n return init(lazyType._payload);\n } catch (x) {\n if (null !== x && \"object\" === typeof x && \"function\" === typeof x.then)\n throw ((suspendedThenable = x), SuspenseException);\n throw x;\n }\n}\nvar suspendedThenable = null;\nfunction getSuspendedThenable() {\n if (null === suspendedThenable) throw Error(formatProdErrorMessage(459));\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n}\nfunction checkIfUseWrappedInAsyncCatch(rejectedReason) {\n if (\n rejectedReason === SuspenseException ||\n rejectedReason === SuspenseActionException\n )\n throw Error(formatProdErrorMessage(483));\n}\nvar thenableState$1 = null,\n thenableIndexCounter$1 = 0;\nfunction unwrapThenable(thenable) {\n var index = thenableIndexCounter$1;\n thenableIndexCounter$1 += 1;\n null === thenableState$1 && (thenableState$1 = []);\n return trackUsedThenable(thenableState$1, thenable, index);\n}\nfunction coerceRef(workInProgress, element) {\n element = element.props.ref;\n workInProgress.ref = void 0 !== element ? element : null;\n}\nfunction throwOnInvalidObjectTypeImpl(returnFiber, newChild) {\n if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE)\n throw Error(formatProdErrorMessage(525));\n returnFiber = Object.prototype.toString.call(newChild);\n throw Error(\n formatProdErrorMessage(\n 31,\n \"[object Object]\" === returnFiber\n ? \"object with keys {\" + Object.keys(newChild).join(\", \") + \"}\"\n : returnFiber\n )\n );\n}\nfunction createChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (shouldTrackSideEffects) {\n var deletions = returnFiber.deletions;\n null === deletions\n ? ((returnFiber.deletions = [childToDelete]), (returnFiber.flags |= 16))\n : deletions.push(childToDelete);\n }\n }\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) return null;\n for (; null !== currentFirstChild; )\n deleteChild(returnFiber, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return null;\n }\n function mapRemainingChildren(currentFirstChild) {\n for (var existingChildren = new Map(); null !== currentFirstChild; )\n null === currentFirstChild.key\n ? existingChildren.set(currentFirstChild.index, currentFirstChild)\n : existingChildren.set(currentFirstChild.key, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return existingChildren;\n }\n function useFiber(fiber, pendingProps) {\n fiber = createWorkInProgress(fiber, pendingProps);\n fiber.index = 0;\n fiber.sibling = null;\n return fiber;\n }\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n if (!shouldTrackSideEffects)\n return (newFiber.flags |= 1048576), lastPlacedIndex;\n newIndex = newFiber.alternate;\n if (null !== newIndex)\n return (\n (newIndex = newIndex.index),\n newIndex < lastPlacedIndex\n ? ((newFiber.flags |= 2), lastPlacedIndex)\n : newIndex\n );\n newFiber.flags |= 134217730;\n return lastPlacedIndex;\n }\n function placeSingleChild(newFiber) {\n shouldTrackSideEffects &&\n null === newFiber.alternate &&\n (newFiber.flags |= 134217730);\n return newFiber;\n }\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (null === current || 6 !== current.tag)\n return (\n (current = createFiberFromText(textContent, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, textContent);\n current.return = returnFiber;\n return current;\n }\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n if (elementType === REACT_FRAGMENT_TYPE)\n return (\n (returnFiber = updateFragment(\n returnFiber,\n current,\n element.props.children,\n lanes,\n element.key\n )),\n coerceRef(returnFiber, element),\n returnFiber\n );\n if (\n null !== current &&\n (current.elementType === elementType ||\n (\"object\" === typeof elementType &&\n null !== elementType &&\n elementType.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(elementType) === current.type))\n )\n return (\n (current = useFiber(current, element.props)),\n coerceRef(current, element),\n (current.return = returnFiber),\n current\n );\n current = createFiberFromTypeAndProps(\n element.type,\n element.key,\n element.props,\n null,\n returnFiber.mode,\n lanes\n );\n coerceRef(current, element);\n current.return = returnFiber;\n return current;\n }\n function updatePortal(returnFiber, current, portal, lanes) {\n if (\n null === current ||\n 4 !== current.tag ||\n current.stateNode.containerInfo !== portal.containerInfo ||\n current.stateNode.implementation !== portal.implementation\n )\n return (\n (current = createFiberFromPortal(portal, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, portal.children || []);\n current.return = returnFiber;\n return current;\n }\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (null === current || 7 !== current.tag)\n return (\n (current = createFiberFromFragment(\n fragment,\n returnFiber.mode,\n lanes,\n key\n )),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, fragment);\n current.return = returnFiber;\n return current;\n }\n function createChild(returnFiber, newChild, lanes) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (newChild = createFiberFromText(\n \"\" + newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n lanes\n );\n case REACT_PORTAL_TYPE:\n return (\n (newChild = createFiberFromPortal(\n newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n createChild(returnFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (newChild = createFiberFromFragment(\n newChild,\n returnFiber.mode,\n lanes,\n null\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"function\" === typeof newChild.then)\n return createChild(returnFiber, unwrapThenable(newChild), lanes);\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return createChild(\n returnFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n var key = null !== oldFiber ? oldFiber.key : null;\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return null !== key\n ? null\n : updateTextNode(returnFiber, oldFiber, \"\" + newChild, lanes);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return newChild.key === key\n ? updateElement(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_PORTAL_TYPE:\n return newChild.key === key\n ? updatePortal(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n updateSlot(returnFiber, oldFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return null !== key\n ? null\n : updateFragment(returnFiber, oldFiber, newChild, lanes, null);\n if (\"function\" === typeof newChild.then)\n return updateSlot(\n returnFiber,\n oldFiber,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateSlot(\n returnFiber,\n oldFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n ) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateTextNode(returnFiber, existingChildren, \"\" + newChild, lanes)\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updateElement(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_PORTAL_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updatePortal(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateFragment(returnFiber, existingChildren, newChild, lanes, null)\n );\n if (\"function\" === typeof newChild.then)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null;\n null !== oldFiber && newIdx < newChildren.length;\n newIdx++\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(\n returnFiber,\n oldFiber,\n newChildren[newIdx],\n lanes\n );\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (newIdx === newChildren.length)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; newIdx < newChildren.length; newIdx++)\n (oldFiber = createChild(returnFiber, newChildren[newIdx], lanes)),\n null !== oldFiber &&\n ((currentFirstChild = placeChild(\n oldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = oldFiber)\n : (previousNewFiber.sibling = oldFiber),\n (previousNewFiber = oldFiber));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n newIdx < newChildren.length;\n newIdx++\n )\n (nextOldFiber = updateFromMap(\n oldFiber,\n returnFiber,\n newIdx,\n newChildren[newIdx],\n lanes\n )),\n null !== nextOldFiber &&\n (shouldTrackSideEffects &&\n ((newFiber = nextOldFiber.alternate),\n null !== newFiber &&\n oldFiber.delete(null === newFiber.key ? newIdx : newFiber.key)),\n (currentFirstChild = placeChild(\n nextOldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = nextOldFiber)\n : (previousNewFiber.sibling = nextOldFiber),\n (previousNewFiber = nextOldFiber));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n if (null == newChildren) throw Error(formatProdErrorMessage(151));\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null,\n step = newChildren.next();\n null !== oldFiber && !step.done;\n newIdx++, step = newChildren.next()\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (step.done)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; !step.done; newIdx++, step = newChildren.next())\n (step = createChild(returnFiber, step.value, lanes)),\n null !== step &&\n ((currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n !step.done;\n newIdx++, step = newChildren.next()\n )\n (step = updateFromMap(oldFiber, returnFiber, newIdx, step.value, lanes)),\n null !== step &&\n (shouldTrackSideEffects &&\n ((nextOldFiber = step.alternate),\n null !== nextOldFiber &&\n oldFiber.delete(\n null === nextOldFiber.key ? newIdx : nextOldFiber.key\n )),\n (currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n ) {\n \"object\" === typeof newChild &&\n null !== newChild &&\n newChild.type === REACT_FRAGMENT_TYPE &&\n null === newChild.key &&\n void 0 === newChild.props.ref &&\n (newChild = newChild.props.children);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n a: {\n for (var key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key) {\n key = newChild.type;\n if (key === REACT_FRAGMENT_TYPE) {\n if (7 === currentFirstChild.tag) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(\n currentFirstChild,\n newChild.props.children\n );\n coerceRef(lanes, newChild);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n } else if (\n currentFirstChild.elementType === key ||\n (\"object\" === typeof key &&\n null !== key &&\n key.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(key) === currentFirstChild.type)\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.props);\n coerceRef(lanes, newChild);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n } else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n newChild.type === REACT_FRAGMENT_TYPE\n ? ((lanes = createFiberFromFragment(\n newChild.props.children,\n returnFiber.mode,\n lanes,\n newChild.key\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : ((lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n (returnFiber = lanes));\n }\n return placeSingleChild(returnFiber);\n case REACT_PORTAL_TYPE:\n a: {\n for (key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key)\n if (\n 4 === currentFirstChild.tag &&\n currentFirstChild.stateNode.containerInfo ===\n newChild.containerInfo &&\n currentFirstChild.stateNode.implementation ===\n newChild.implementation\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.children || []);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n } else {\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n }\n else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n lanes = createFiberFromPortal(newChild, returnFiber.mode, lanes);\n lanes.return = returnFiber;\n returnFiber = lanes;\n }\n return placeSingleChild(returnFiber);\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild))\n return reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n if (getIteratorFn(newChild)) {\n key = getIteratorFn(newChild);\n if (\"function\" !== typeof key) throw Error(formatProdErrorMessage(150));\n newChild = key.call(newChild);\n return reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n }\n if (\"function\" === typeof newChild.then)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n ? ((newChild = \"\" + newChild),\n null !== currentFirstChild && 6 === currentFirstChild.tag\n ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling),\n (lanes = useFiber(currentFirstChild, newChild)),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : (deleteRemainingChildren(returnFiber, currentFirstChild),\n (lanes = createFiberFromText(newChild, returnFiber.mode, lanes)),\n (lanes.return = returnFiber),\n (returnFiber = lanes)),\n placeSingleChild(returnFiber))\n : deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n return function (returnFiber, currentFirstChild, newChild, lanes) {\n try {\n thenableIndexCounter$1 = 0;\n var firstChildFiber = reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n thenableState$1 = null;\n return firstChildFiber;\n } catch (x) {\n if (x === SuspenseException || x === SuspenseActionException) throw x;\n var fiber = createFiberImplClass(29, x, null, returnFiber.mode);\n fiber.lanes = lanes;\n fiber.return = returnFiber;\n return fiber;\n } finally {\n }\n };\n}\nvar reconcileChildFibers = createChildReconciler(!0),\n mountChildFibers = createChildReconciler(!1),\n hasForceUpdate = !1;\nfunction initializeUpdateQueue(fiber) {\n fiber.updateQueue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: { pending: null, lanes: 0, hiddenCallbacks: null },\n callbacks: null\n };\n}\nfunction cloneUpdateQueue(current, workInProgress) {\n current = current.updateQueue;\n workInProgress.updateQueue === current &&\n (workInProgress.updateQueue = {\n baseState: current.baseState,\n firstBaseUpdate: current.firstBaseUpdate,\n lastBaseUpdate: current.lastBaseUpdate,\n shared: current.shared,\n callbacks: null\n });\n}\nfunction createUpdate(lane) {\n return { lane: lane, tag: 0, payload: null, callback: null, next: null };\n}\nfunction enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n if (null === updateQueue) return null;\n updateQueue = updateQueue.shared;\n if (0 !== (executionContext & 2)) {\n var pending = updateQueue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n updateQueue.pending = update;\n update = getRootForUpdatedFiber(fiber);\n markUpdateLaneFromFiberToRoot(fiber, null, lane);\n return update;\n }\n enqueueUpdate$1(fiber, updateQueue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction entangleTransitions(root, fiber, lane) {\n fiber = fiber.updateQueue;\n if (null !== fiber && ((fiber = fiber.shared), 0 !== (lane & 4194048))) {\n var queueLanes = fiber.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n fiber.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nfunction enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n var queue = workInProgress.updateQueue,\n current = workInProgress.alternate;\n if (\n null !== current &&\n ((current = current.updateQueue), queue === current)\n ) {\n var newFirst = null,\n newLast = null;\n queue = queue.firstBaseUpdate;\n if (null !== queue) {\n do {\n var clone = {\n lane: queue.lane,\n tag: queue.tag,\n payload: queue.payload,\n callback: null,\n next: null\n };\n null === newLast\n ? (newFirst = newLast = clone)\n : (newLast = newLast.next = clone);\n queue = queue.next;\n } while (null !== queue);\n null === newLast\n ? (newFirst = newLast = capturedUpdate)\n : (newLast = newLast.next = capturedUpdate);\n } else newFirst = newLast = capturedUpdate;\n queue = {\n baseState: current.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: current.shared,\n callbacks: current.callbacks\n };\n workInProgress.updateQueue = queue;\n return;\n }\n workInProgress = queue.lastBaseUpdate;\n null === workInProgress\n ? (queue.firstBaseUpdate = capturedUpdate)\n : (workInProgress.next = capturedUpdate);\n queue.lastBaseUpdate = capturedUpdate;\n}\nvar didReadFromEntangledAsyncAction = !1;\nfunction suspendIfUpdateReadFromEntangledAsyncAction() {\n if (didReadFromEntangledAsyncAction) {\n var entangledActionThenable = currentEntangledActionThenable;\n if (null !== entangledActionThenable) throw entangledActionThenable;\n }\n}\nfunction processUpdateQueue(\n workInProgress$jscomp$0,\n props,\n instance$jscomp$0,\n renderLanes\n) {\n didReadFromEntangledAsyncAction = !1;\n var queue = workInProgress$jscomp$0.updateQueue;\n hasForceUpdate = !1;\n var firstBaseUpdate = queue.firstBaseUpdate,\n lastBaseUpdate = queue.lastBaseUpdate,\n pendingQueue = queue.shared.pending;\n if (null !== pendingQueue) {\n queue.shared.pending = null;\n var lastPendingUpdate = pendingQueue,\n firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null;\n null === lastBaseUpdate\n ? (firstBaseUpdate = firstPendingUpdate)\n : (lastBaseUpdate.next = firstPendingUpdate);\n lastBaseUpdate = lastPendingUpdate;\n var current = workInProgress$jscomp$0.alternate;\n null !== current &&\n ((current = current.updateQueue),\n (pendingQueue = current.lastBaseUpdate),\n pendingQueue !== lastBaseUpdate &&\n (null === pendingQueue\n ? (current.firstBaseUpdate = firstPendingUpdate)\n : (pendingQueue.next = firstPendingUpdate),\n (current.lastBaseUpdate = lastPendingUpdate)));\n }\n if (null !== firstBaseUpdate) {\n var newState = queue.baseState;\n lastBaseUpdate = 0;\n current = firstPendingUpdate = lastPendingUpdate = null;\n pendingQueue = firstBaseUpdate;\n do {\n var updateLane = pendingQueue.lane & -536870913,\n isHiddenUpdate = updateLane !== pendingQueue.lane;\n if (\n isHiddenUpdate\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n 0 !== updateLane &&\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction = !0);\n null !== current &&\n (current = current.next =\n {\n lane: 0,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: null,\n next: null\n });\n a: {\n var workInProgress = workInProgress$jscomp$0,\n update = pendingQueue;\n updateLane = props;\n var instance = instance$jscomp$0;\n switch (update.tag) {\n case 1:\n workInProgress = update.payload;\n if (\"function\" === typeof workInProgress) {\n newState = workInProgress.call(instance, newState, updateLane);\n break a;\n }\n newState = workInProgress;\n break a;\n case 3:\n workInProgress.flags = (workInProgress.flags & -65537) | 128;\n case 0:\n workInProgress = update.payload;\n updateLane =\n \"function\" === typeof workInProgress\n ? workInProgress.call(instance, newState, updateLane)\n : workInProgress;\n if (null === updateLane || void 0 === updateLane) break a;\n newState = assign({}, newState, updateLane);\n break a;\n case 2:\n hasForceUpdate = !0;\n }\n }\n updateLane = pendingQueue.callback;\n null !== updateLane &&\n ((workInProgress$jscomp$0.flags |= 64),\n isHiddenUpdate && (workInProgress$jscomp$0.flags |= 8192),\n (isHiddenUpdate = queue.callbacks),\n null === isHiddenUpdate\n ? (queue.callbacks = [updateLane])\n : isHiddenUpdate.push(updateLane));\n } else\n (isHiddenUpdate = {\n lane: updateLane,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: pendingQueue.callback,\n next: null\n }),\n null === current\n ? ((firstPendingUpdate = current = isHiddenUpdate),\n (lastPendingUpdate = newState))\n : (current = current.next = isHiddenUpdate),\n (lastBaseUpdate |= updateLane);\n pendingQueue = pendingQueue.next;\n if (null === pendingQueue)\n if (((pendingQueue = queue.shared.pending), null === pendingQueue))\n break;\n else\n (isHiddenUpdate = pendingQueue),\n (pendingQueue = isHiddenUpdate.next),\n (isHiddenUpdate.next = null),\n (queue.lastBaseUpdate = isHiddenUpdate),\n (queue.shared.pending = null);\n } while (1);\n null === current && (lastPendingUpdate = newState);\n queue.baseState = lastPendingUpdate;\n queue.firstBaseUpdate = firstPendingUpdate;\n queue.lastBaseUpdate = current;\n null === firstBaseUpdate && (queue.shared.lanes = 0);\n workInProgressRootSkippedLanes |= lastBaseUpdate;\n workInProgress$jscomp$0.lanes = lastBaseUpdate;\n workInProgress$jscomp$0.memoizedState = newState;\n }\n}\nfunction callCallback(callback, context) {\n if (\"function\" !== typeof callback)\n throw Error(formatProdErrorMessage(191, callback));\n callback.call(context);\n}\nfunction commitCallbacks(updateQueue, context) {\n var callbacks = updateQueue.callbacks;\n if (null !== callbacks)\n for (\n updateQueue.callbacks = null, updateQueue = 0;\n updateQueue < callbacks.length;\n updateQueue++\n )\n callCallback(callbacks[updateQueue], context);\n}\nvar currentTreeHiddenStackCursor = createCursor(null),\n prevEntangledRenderLanesCursor = createCursor(0);\nfunction pushHiddenContext(fiber, context) {\n fiber = entangledRenderLanes;\n push(prevEntangledRenderLanesCursor, fiber);\n push(currentTreeHiddenStackCursor, context);\n entangledRenderLanes = fiber | context.baseLanes;\n}\nfunction reuseHiddenContextOnStack() {\n push(prevEntangledRenderLanesCursor, entangledRenderLanes);\n push(currentTreeHiddenStackCursor, currentTreeHiddenStackCursor.current);\n}\nfunction popHiddenContext() {\n entangledRenderLanes = prevEntangledRenderLanesCursor.current;\n pop(currentTreeHiddenStackCursor);\n pop(prevEntangledRenderLanesCursor);\n}\nvar suspenseHandlerStackCursor = createCursor(null),\n shellBoundary = null;\nfunction pushPrimaryTreeSuspenseHandler(handler) {\n var current = handler.alternate;\n push(suspenseStackCursor, suspenseStackCursor.current & 1);\n push(suspenseHandlerStackCursor, handler);\n null === shellBoundary &&\n (null === current || null !== currentTreeHiddenStackCursor.current\n ? (shellBoundary = handler)\n : null !== current.memoizedState && (shellBoundary = handler));\n}\nfunction pushDehydratedActivitySuspenseHandler(fiber) {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, fiber);\n null === shellBoundary && (shellBoundary = fiber);\n}\nfunction pushOffscreenSuspenseHandler(fiber) {\n 22 === fiber.tag\n ? (push(suspenseStackCursor, suspenseStackCursor.current),\n push(suspenseHandlerStackCursor, fiber),\n null === shellBoundary && (shellBoundary = fiber))\n : reuseSuspenseHandlerOnStack();\n}\nfunction reuseSuspenseHandlerOnStack() {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current);\n}\nfunction popSuspenseHandler(fiber) {\n pop(suspenseHandlerStackCursor);\n shellBoundary === fiber && (shellBoundary = null);\n pop(suspenseStackCursor);\n}\nvar suspenseStackCursor = createCursor(0);\nfunction pushSuspenseListContext(fiber, newContext) {\n push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current);\n push(suspenseStackCursor, newContext);\n}\nfunction popSuspenseListContext(fiber) {\n pop(suspenseStackCursor);\n pop(suspenseHandlerStackCursor);\n shellBoundary === fiber && (shellBoundary = null);\n}\nfunction findFirstSuspended(row) {\n for (var node = row; null !== node; ) {\n if (13 === node.tag) {\n var state = node.memoizedState;\n if (\n null !== state &&\n ((state = state.dehydrated),\n null === state ||\n isSuspenseInstancePending(state) ||\n isSuspenseInstanceFallback(state))\n )\n return node;\n } else if (\n 19 === node.tag &&\n \"independent\" !== node.memoizedProps.revealOrder\n ) {\n if (0 !== (node.flags & 128)) return node;\n } else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === row) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === row) return null;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n return null;\n}\nvar renderLanes = 0,\n currentlyRenderingFiber = null,\n currentHook = null,\n workInProgressHook = null,\n didScheduleRenderPhaseUpdate = !1,\n didScheduleRenderPhaseUpdateDuringThisPass = !1,\n shouldDoubleInvokeUserFnsInHooksDEV = !1,\n localIdCounter = 0,\n thenableIndexCounter = 0,\n thenableState = null,\n globalClientIdCounter = 0;\nfunction throwInvalidHookError() {\n throw Error(formatProdErrorMessage(321));\n}\nfunction areHookInputsEqual(nextDeps, prevDeps) {\n if (null === prevDeps) return !1;\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++)\n if (!objectIs(nextDeps[i], prevDeps[i])) return !1;\n return !0;\n}\nfunction renderWithHooks(\n current,\n workInProgress,\n Component,\n props,\n secondArg,\n nextRenderLanes\n) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber = workInProgress;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = 0;\n ReactSharedInternals.H =\n null === current || null === current.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate;\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n nextRenderLanes = Component(props, secondArg);\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n didScheduleRenderPhaseUpdateDuringThisPass &&\n (nextRenderLanes = renderWithHooksAgain(\n workInProgress,\n Component,\n props,\n secondArg\n ));\n finishRenderingHooks(current);\n return nextRenderLanes;\n}\nfunction finishRenderingHooks(current) {\n ReactSharedInternals.H = ContextOnlyDispatcher;\n var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next;\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber = null;\n didScheduleRenderPhaseUpdate = !1;\n thenableIndexCounter = 0;\n thenableState = null;\n if (didRenderTooFewHooks) throw Error(formatProdErrorMessage(300));\n null === current ||\n didReceiveUpdate ||\n ((current = current.dependencies),\n null !== current &&\n checkIfContextChanged(current) &&\n (didReceiveUpdate = !0));\n}\nfunction renderWithHooksAgain(workInProgress, Component, props, secondArg) {\n currentlyRenderingFiber = workInProgress;\n var numberOfReRenders = 0;\n do {\n didScheduleRenderPhaseUpdateDuringThisPass && (thenableState = null);\n thenableIndexCounter = 0;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage(301));\n numberOfReRenders += 1;\n workInProgressHook = currentHook = null;\n if (null != workInProgress.updateQueue) {\n var children = workInProgress.updateQueue;\n children.lastEffect = null;\n children.events = null;\n children.stores = null;\n null != children.memoCache && (children.memoCache.index = 0);\n }\n ReactSharedInternals.H = HooksDispatcherOnRerender;\n children = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n return children;\n}\nfunction TransitionAwareHostComponent() {\n var dispatcher = ReactSharedInternals.H,\n maybeThenable = dispatcher.useState()[0];\n maybeThenable =\n \"function\" === typeof maybeThenable.then\n ? useThenable(maybeThenable)\n : maybeThenable;\n dispatcher = dispatcher.useState()[0];\n (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher &&\n (currentlyRenderingFiber.flags |= 1024);\n return maybeThenable;\n}\nfunction checkDidRenderIdHook() {\n var didRenderIdHook = 0 !== localIdCounter;\n localIdCounter = 0;\n return didRenderIdHook;\n}\nfunction bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue;\n workInProgress.flags &= -2053;\n current.lanes &= ~lanes;\n}\nfunction resetHooksOnUnwind(workInProgress) {\n if (didScheduleRenderPhaseUpdate) {\n for (\n workInProgress = workInProgress.memoizedState;\n null !== workInProgress;\n\n ) {\n var queue = workInProgress.queue;\n null !== queue && (queue.pending = null);\n workInProgress = workInProgress.next;\n }\n didScheduleRenderPhaseUpdate = !1;\n }\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber = null;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n thenableIndexCounter = localIdCounter = 0;\n thenableState = null;\n}\nfunction mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook = hook)\n : (workInProgressHook = workInProgressHook.next = hook);\n return workInProgressHook;\n}\nfunction updateWorkInProgressHook() {\n if (null === currentHook) {\n var nextCurrentHook = currentlyRenderingFiber.alternate;\n nextCurrentHook =\n null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;\n } else nextCurrentHook = currentHook.next;\n var nextWorkInProgressHook =\n null === workInProgressHook\n ? currentlyRenderingFiber.memoizedState\n : workInProgressHook.next;\n if (null !== nextWorkInProgressHook)\n (workInProgressHook = nextWorkInProgressHook),\n (currentHook = nextCurrentHook);\n else {\n if (null === nextCurrentHook) {\n if (null === currentlyRenderingFiber.alternate)\n throw Error(formatProdErrorMessage(467));\n throw Error(formatProdErrorMessage(310));\n }\n currentHook = nextCurrentHook;\n nextCurrentHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook =\n nextCurrentHook)\n : (workInProgressHook = workInProgressHook.next = nextCurrentHook);\n }\n return workInProgressHook;\n}\nfunction createFunctionComponentUpdateQueue() {\n return { lastEffect: null, events: null, stores: null, memoCache: null };\n}\nfunction useThenable(thenable) {\n var index = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n thenable = trackUsedThenable(thenableState, thenable, index);\n index = currentlyRenderingFiber;\n null ===\n (null === workInProgressHook\n ? index.memoizedState\n : workInProgressHook.next) &&\n ((index = index.alternate),\n (ReactSharedInternals.H =\n null === index || null === index.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate));\n return thenable;\n}\nfunction use(usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return useThenable(usable);\n if (usable.$$typeof === REACT_RECOVERABLE_TYPE) return;\n if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable);\n }\n throw Error(formatProdErrorMessage(438, String(usable)));\n}\nfunction useMemoCache(size) {\n var memoCache = null,\n updateQueue = currentlyRenderingFiber.updateQueue;\n null !== updateQueue && (memoCache = updateQueue.memoCache);\n if (null == memoCache) {\n var current = currentlyRenderingFiber.alternate;\n null !== current &&\n ((current = current.updateQueue),\n null !== current &&\n ((current = current.memoCache),\n null != current &&\n (memoCache = {\n data: current.data.map(function (array) {\n return array.slice();\n }),\n index: 0\n })));\n }\n null == memoCache && (memoCache = { data: [], index: 0 });\n null === updateQueue &&\n ((updateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = updateQueue));\n updateQueue.memoCache = memoCache;\n updateQueue = memoCache.data[memoCache.index];\n if (void 0 === updateQueue)\n for (\n updateQueue = memoCache.data[memoCache.index] = Array(size), current = 0;\n current < size;\n current++\n )\n updateQueue[current] = REACT_MEMO_CACHE_SENTINEL;\n memoCache.index++;\n return updateQueue;\n}\nfunction basicStateReducer(state, action) {\n return \"function\" === typeof action ? action(state) : action;\n}\nfunction updateReducer(reducer) {\n var hook = updateWorkInProgressHook();\n return updateReducerImpl(hook, currentHook, reducer);\n}\nfunction updateReducerImpl(hook, current, reducer) {\n var queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var baseQueue = hook.baseQueue,\n pendingQueue = queue.pending;\n if (null !== pendingQueue) {\n if (null !== baseQueue) {\n var baseFirst = baseQueue.next;\n baseQueue.next = pendingQueue.next;\n pendingQueue.next = baseFirst;\n }\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n pendingQueue = hook.baseState;\n if (null === baseQueue) hook.memoizedState = pendingQueue;\n else {\n current = baseQueue.next;\n var newBaseQueueFirst = (baseFirst = null),\n newBaseQueueLast = null,\n update = current,\n didReadFromEntangledAsyncAction$64 = !1;\n do {\n var updateLane = update.lane & -536870913;\n if (\n updateLane !== update.lane\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n var revertLane = update.revertLane;\n if (0 === revertLane)\n null !== newBaseQueueLast &&\n (newBaseQueueLast = newBaseQueueLast.next =\n {\n lane: 0,\n revertLane: 0,\n gesture: null,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$64 = !0);\n else if ((renderLanes & revertLane) === revertLane) {\n update = update.next;\n revertLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$64 = !0);\n continue;\n } else\n (updateLane = {\n lane: 0,\n revertLane: update.revertLane,\n gesture: null,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = updateLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = updateLane),\n (currentlyRenderingFiber.lanes |= revertLane),\n (workInProgressRootSkippedLanes |= revertLane);\n updateLane = update.action;\n shouldDoubleInvokeUserFnsInHooksDEV &&\n reducer(pendingQueue, updateLane);\n pendingQueue = update.hasEagerState\n ? update.eagerState\n : reducer(pendingQueue, updateLane);\n } else\n (revertLane = {\n lane: updateLane,\n revertLane: update.revertLane,\n gesture: update.gesture,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = revertLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = revertLane),\n (currentlyRenderingFiber.lanes |= updateLane),\n (workInProgressRootSkippedLanes |= updateLane);\n update = update.next;\n } while (null !== update && update !== current);\n null === newBaseQueueLast\n ? (baseFirst = pendingQueue)\n : (newBaseQueueLast.next = newBaseQueueFirst);\n if (\n !objectIs(pendingQueue, hook.memoizedState) &&\n ((didReceiveUpdate = !0),\n didReadFromEntangledAsyncAction$64 &&\n ((reducer = currentEntangledActionThenable), null !== reducer))\n )\n throw reducer;\n hook.memoizedState = pendingQueue;\n hook.baseState = baseFirst;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = pendingQueue;\n }\n null === baseQueue && (queue.lanes = 0);\n return [hook.memoizedState, queue.dispatch];\n}\nfunction rerenderReducer(reducer) {\n var hook = updateWorkInProgressHook(),\n queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var dispatch = queue.dispatch,\n lastRenderPhaseUpdate = queue.pending,\n newState = hook.memoizedState;\n if (null !== lastRenderPhaseUpdate) {\n queue.pending = null;\n var update = (lastRenderPhaseUpdate = lastRenderPhaseUpdate.next);\n do (newState = reducer(newState, update.action)), (update = update.next);\n while (update !== lastRenderPhaseUpdate);\n objectIs(newState, hook.memoizedState) || (didReceiveUpdate = !0);\n hook.memoizedState = newState;\n null === hook.baseQueue && (hook.baseState = newState);\n queue.lastRenderedState = newState;\n }\n return [newState, dispatch];\n}\nfunction updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = updateWorkInProgressHook(),\n isHydrating$jscomp$0 = isHydrating;\n if (isHydrating$jscomp$0) {\n if (void 0 === getServerSnapshot) throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else getServerSnapshot = getSnapshot();\n var snapshotChanged = !objectIs(\n (currentHook || hook).memoizedState,\n getServerSnapshot\n );\n snapshotChanged &&\n ((hook.memoizedState = getServerSnapshot), (didReceiveUpdate = !0));\n hook = hook.queue;\n updateEffect(subscribeToStore.bind(null, fiber, hook, subscribe), [\n subscribe\n ]);\n subscribe =\n hook.getSnapshot !== getSnapshot ||\n snapshotChanged ||\n (null !== workInProgressHook &&\n 0 !== (workInProgressHook.memoizedState.tag & 1));\n pushSimpleEffect(\n subscribe ? 9 : 8,\n { destroy: void 0 },\n updateStoreInstance.bind(null, fiber, hook, getServerSnapshot, getSnapshot),\n null\n );\n if (subscribe) {\n fiber.flags |= 2048;\n if (null === workInProgressRoot) throw Error(formatProdErrorMessage(349));\n isHydrating$jscomp$0 ||\n 0 !== (renderLanes & 127) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n return getServerSnapshot;\n}\nfunction pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= 16384;\n fiber = { getSnapshot: getSnapshot, value: renderedSnapshot };\n getSnapshot = currentlyRenderingFiber.updateQueue;\n null === getSnapshot\n ? ((getSnapshot = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = getSnapshot),\n (getSnapshot.stores = [fiber]))\n : ((renderedSnapshot = getSnapshot.stores),\n null === renderedSnapshot\n ? (getSnapshot.stores = [fiber])\n : renderedSnapshot.push(fiber));\n}\nfunction updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n}\nfunction subscribeToStore(fiber, inst, subscribe) {\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n });\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root && scheduleUpdateOnFiber(root, fiber, 2);\n}\nfunction mountStateImpl(initialState) {\n var hook = mountWorkInProgressHook();\n if (\"function\" === typeof initialState) {\n var initialStateInitializer = initialState;\n initialState = initialStateInitializer();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n initialStateInitializer();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n }\n hook.memoizedState = hook.baseState = initialState;\n hook.queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n return hook;\n}\nfunction updateOptimisticImpl(hook, current, passthrough, reducer) {\n hook.baseState = passthrough;\n return updateReducerImpl(\n hook,\n currentHook,\n \"function\" === typeof reducer ? reducer : basicStateReducer\n );\n}\nfunction dispatchActionState(\n fiber,\n actionQueue,\n setPendingState,\n setState,\n payload\n) {\n if (isRenderPhaseUpdate(fiber)) throw Error(formatProdErrorMessage(485));\n fiber = actionQueue.action;\n if (null !== fiber) {\n var actionNode = {\n payload: payload,\n action: fiber,\n next: null,\n isTransition: !0,\n status: \"pending\",\n value: null,\n reason: null,\n listeners: [],\n then: function (listener) {\n actionNode.listeners.push(listener);\n }\n };\n null !== ReactSharedInternals.T\n ? setPendingState(!0)\n : (actionNode.isTransition = !1);\n setState(actionNode);\n setPendingState = actionQueue.pending;\n null === setPendingState\n ? ((actionNode.next = actionQueue.pending = actionNode),\n runActionStateAction(actionQueue, actionNode))\n : ((actionNode.next = setPendingState.next),\n (actionQueue.pending = setPendingState.next = actionNode));\n }\n}\nfunction runActionStateAction(actionQueue, node) {\n var action = node.action,\n payload = node.payload,\n prevState = actionQueue.state;\n if (node.isTransition) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n currentTransition.types =\n null !== prevTransition ? prevTransition.types : null;\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = action(prevState, payload),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n handleActionReturnValue(actionQueue, node, returnValue);\n } catch (error) {\n onActionError(actionQueue, node, error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n } else\n try {\n (prevTransition = action(prevState, payload)),\n handleActionReturnValue(actionQueue, node, prevTransition);\n } catch (error$70) {\n onActionError(actionQueue, node, error$70);\n }\n}\nfunction handleActionReturnValue(actionQueue, node, returnValue) {\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ? returnValue.then(\n function (nextState) {\n onActionSuccess(actionQueue, node, nextState);\n },\n function (error) {\n return onActionError(actionQueue, node, error);\n }\n )\n : onActionSuccess(actionQueue, node, returnValue);\n}\nfunction onActionSuccess(actionQueue, actionNode, nextState) {\n actionNode.status = \"fulfilled\";\n actionNode.value = nextState;\n notifyActionListeners(actionNode);\n actionQueue.state = nextState;\n actionNode = actionQueue.pending;\n null !== actionNode &&\n ((nextState = actionNode.next),\n nextState === actionNode\n ? (actionQueue.pending = null)\n : ((nextState = nextState.next),\n (actionNode.next = nextState),\n runActionStateAction(actionQueue, nextState)));\n}\nfunction onActionError(actionQueue, actionNode, error) {\n var last = actionQueue.pending;\n actionQueue.pending = null;\n if (null !== last) {\n last = last.next;\n do\n (actionNode.status = \"rejected\"),\n (actionNode.reason = error),\n notifyActionListeners(actionNode),\n (actionNode = actionNode.next);\n while (actionNode !== last);\n }\n actionQueue.action = null;\n}\nfunction notifyActionListeners(actionNode) {\n actionNode = actionNode.listeners;\n for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])();\n}\nfunction actionStateReducer(oldState, newState) {\n return newState;\n}\nfunction mountActionState(action, initialStateProp) {\n if (isHydrating) {\n var ssrFormState = workInProgressRoot.formState;\n if (null !== ssrFormState) {\n a: {\n var JSCompiler_inline_result = currentlyRenderingFiber;\n if (isHydrating) {\n if (nextHydratableInstance) {\n b: {\n var JSCompiler_inline_result$jscomp$0 = nextHydratableInstance;\n for (\n var inRootOrSingleton = rootOrSingletonContext;\n 8 !== JSCompiler_inline_result$jscomp$0.nodeType;\n\n ) {\n if (!inRootOrSingleton) {\n JSCompiler_inline_result$jscomp$0 = null;\n break b;\n }\n JSCompiler_inline_result$jscomp$0 = getNextHydratable(\n JSCompiler_inline_result$jscomp$0.nextSibling\n );\n if (null === JSCompiler_inline_result$jscomp$0) {\n JSCompiler_inline_result$jscomp$0 = null;\n break b;\n }\n }\n inRootOrSingleton = JSCompiler_inline_result$jscomp$0.data;\n JSCompiler_inline_result$jscomp$0 =\n \"F!\" === inRootOrSingleton || \"F\" === inRootOrSingleton\n ? JSCompiler_inline_result$jscomp$0\n : null;\n }\n if (JSCompiler_inline_result$jscomp$0) {\n nextHydratableInstance = getNextHydratable(\n JSCompiler_inline_result$jscomp$0.nextSibling\n );\n JSCompiler_inline_result =\n \"F!\" === JSCompiler_inline_result$jscomp$0.data;\n break a;\n }\n }\n throwOnHydrationMismatch(JSCompiler_inline_result);\n }\n JSCompiler_inline_result = !1;\n }\n JSCompiler_inline_result && (initialStateProp = ssrFormState[0]);\n }\n }\n ssrFormState = mountWorkInProgressHook();\n ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp;\n JSCompiler_inline_result = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: actionStateReducer,\n lastRenderedState: initialStateProp\n };\n ssrFormState.queue = JSCompiler_inline_result;\n ssrFormState = dispatchSetState.bind(\n null,\n currentlyRenderingFiber,\n JSCompiler_inline_result\n );\n JSCompiler_inline_result.dispatch = ssrFormState;\n JSCompiler_inline_result = mountStateImpl(!1);\n inRootOrSingleton = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !1,\n JSCompiler_inline_result.queue\n );\n JSCompiler_inline_result = mountWorkInProgressHook();\n JSCompiler_inline_result$jscomp$0 = {\n state: initialStateProp,\n dispatch: null,\n action: action,\n pending: null\n };\n JSCompiler_inline_result.queue = JSCompiler_inline_result$jscomp$0;\n ssrFormState = dispatchActionState.bind(\n null,\n currentlyRenderingFiber,\n JSCompiler_inline_result$jscomp$0,\n inRootOrSingleton,\n ssrFormState\n );\n JSCompiler_inline_result$jscomp$0.dispatch = ssrFormState;\n JSCompiler_inline_result.memoizedState = action;\n return [initialStateProp, ssrFormState, !1];\n}\nfunction updateActionState(action) {\n var stateHook = updateWorkInProgressHook();\n return updateActionStateImpl(stateHook, currentHook, action);\n}\nfunction updateActionStateImpl(stateHook, currentStateHook, action) {\n currentStateHook = updateReducerImpl(\n stateHook,\n currentStateHook,\n actionStateReducer\n )[0];\n stateHook = updateReducer(basicStateReducer)[0];\n if (\n \"object\" === typeof currentStateHook &&\n null !== currentStateHook &&\n \"function\" === typeof currentStateHook.then\n )\n try {\n var state = useThenable(currentStateHook);\n } catch (x) {\n if (x === SuspenseException) throw SuspenseActionException;\n throw x;\n }\n else state = currentStateHook;\n currentStateHook = updateWorkInProgressHook();\n var actionQueue = currentStateHook.queue,\n dispatch = actionQueue.dispatch;\n action !== currentStateHook.memoizedState &&\n ((currentlyRenderingFiber.flags |= 2048),\n pushSimpleEffect(\n 9,\n { destroy: void 0 },\n actionStateActionEffect.bind(null, actionQueue, action),\n null\n ));\n return [state, dispatch, stateHook];\n}\nfunction actionStateActionEffect(actionQueue, action) {\n actionQueue.action = action;\n}\nfunction rerenderActionState(action) {\n var stateHook = updateWorkInProgressHook(),\n currentStateHook = currentHook;\n if (null !== currentStateHook)\n return updateActionStateImpl(stateHook, currentStateHook, action);\n updateWorkInProgressHook();\n stateHook = stateHook.memoizedState;\n currentStateHook = updateWorkInProgressHook();\n var dispatch = currentStateHook.queue.dispatch;\n currentStateHook.memoizedState = action;\n return [stateHook, dispatch, !1];\n}\nfunction pushSimpleEffect(tag, inst, create, deps) {\n tag = { tag: tag, create: create, deps: deps, inst: inst, next: null };\n inst = currentlyRenderingFiber.updateQueue;\n null === inst &&\n ((inst = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = inst));\n create = inst.lastEffect;\n null === create\n ? (inst.lastEffect = tag.next = tag)\n : ((deps = create.next),\n (create.next = tag),\n (tag.next = deps),\n (inst.lastEffect = tag));\n return tag;\n}\nfunction updateRef() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction mountEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = mountWorkInProgressHook();\n currentlyRenderingFiber.flags |= fiberFlags;\n hook.memoizedState = pushSimpleEffect(\n 1 | hookFlags,\n { destroy: void 0 },\n create,\n void 0 === deps ? null : deps\n );\n}\nfunction updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var inst = hook.memoizedState.inst;\n null !== currentHook &&\n null !== deps &&\n areHookInputsEqual(deps, currentHook.memoizedState.deps)\n ? (hook.memoizedState = pushSimpleEffect(hookFlags, inst, create, deps))\n : ((currentlyRenderingFiber.flags |= fiberFlags),\n (hook.memoizedState = pushSimpleEffect(\n 1 | hookFlags,\n inst,\n create,\n deps\n )));\n}\nfunction mountEffect(create, deps) {\n mountEffectImpl(8390656, 8, create, deps);\n}\nfunction updateEffect(create, deps) {\n updateEffectImpl(2048, 8, create, deps);\n}\nfunction useEffectEventImpl(payload) {\n currentlyRenderingFiber.flags |= 4;\n var componentUpdateQueue = currentlyRenderingFiber.updateQueue;\n if (null === componentUpdateQueue)\n (componentUpdateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = componentUpdateQueue),\n (componentUpdateQueue.events = [payload]);\n else {\n var events = componentUpdateQueue.events;\n null === events\n ? (componentUpdateQueue.events = [payload])\n : events.push(payload);\n }\n}\nfunction updateEvent(callback) {\n var ref = updateWorkInProgressHook().memoizedState;\n useEffectEventImpl({ ref: ref, nextImpl: callback });\n return function () {\n if (0 !== (executionContext & 2)) throw Error(formatProdErrorMessage(440));\n return ref.impl.apply(void 0, arguments);\n };\n}\nfunction updateInsertionEffect(create, deps) {\n return updateEffectImpl(4, 2, create, deps);\n}\nfunction updateLayoutEffect(create, deps) {\n return updateEffectImpl(4, 4, create, deps);\n}\nfunction imperativeHandleEffect(create, ref) {\n if (\"function\" === typeof ref) {\n create = create();\n var refCleanup = ref(create);\n return function () {\n \"function\" === typeof refCleanup ? refCleanup() : ref(null);\n };\n }\n if (null !== ref && void 0 !== ref)\n return (\n (create = create()),\n (ref.current = create),\n function () {\n ref.current = null;\n }\n );\n}\nfunction updateImperativeHandle(ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n updateEffectImpl(4, 4, imperativeHandleEffect.bind(null, create, ref), deps);\n}\nfunction mountDebugValue() {}\nfunction updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n hook.memoizedState = [callback, deps];\n return callback;\n}\nfunction updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n prevState = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [prevState, deps];\n return prevState;\n}\nfunction mountDeferredValueImpl(hook, value, initialValue) {\n if (\n void 0 === initialValue ||\n (0 !== (renderLanes & 1073741824) &&\n 0 === (workInProgressRootRenderLanes & 261930))\n )\n return (hook.memoizedState = value);\n hook.memoizedState = initialValue;\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return initialValue;\n}\nfunction updateDeferredValueImpl(hook, prevValue, value, initialValue) {\n if (objectIs(value, prevValue)) return value;\n if (null !== currentTreeHiddenStackCursor.current)\n return (\n (hook = mountDeferredValueImpl(hook, value, initialValue)),\n objectIs(hook, prevValue) || (didReceiveUpdate = !0),\n hook\n );\n if (\n 0 === (renderLanes & 106) ||\n (0 !== (renderLanes & 1073741824) &&\n 0 === (workInProgressRootRenderLanes & 261930))\n )\n return (didReceiveUpdate = !0), (hook.memoizedState = value);\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return prevValue;\n}\nfunction startTransition(fiber, queue, pendingState, finishedState, callback) {\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p =\n 0 !== previousPriority && 8 > previousPriority ? previousPriority : 8;\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n currentTransition.types =\n null !== prevTransition ? prevTransition.types : null;\n ReactSharedInternals.T = currentTransition;\n dispatchOptimisticSetState(fiber, !1, queue, pendingState);\n try {\n var returnValue = callback(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n if (\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ) {\n var thenableForFinishedState = chainThenableValue(\n returnValue,\n finishedState\n );\n dispatchSetStateInternal(\n fiber,\n queue,\n thenableForFinishedState,\n requestUpdateLane(fiber)\n );\n } else\n dispatchSetStateInternal(\n fiber,\n queue,\n finishedState,\n requestUpdateLane(fiber)\n );\n } catch (error) {\n dispatchSetStateInternal(\n fiber,\n queue,\n { then: function () {}, status: \"rejected\", reason: error },\n requestUpdateLane()\n );\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction noop() {}\nfunction startHostTransition(formFiber, pendingState, action, formData) {\n if (5 !== formFiber.tag) throw Error(formatProdErrorMessage(476));\n var queue = ensureFormComponentIsStateful(formFiber).queue;\n startTransition(\n formFiber,\n queue,\n pendingState,\n sharedNotPendingObject,\n null === action\n ? noop\n : function () {\n requestFormReset$1(formFiber);\n return action(formData);\n }\n );\n}\nfunction ensureFormComponentIsStateful(formFiber) {\n var existingStateHook = formFiber.memoizedState;\n if (null !== existingStateHook) return existingStateHook;\n existingStateHook = {\n memoizedState: sharedNotPendingObject,\n baseState: sharedNotPendingObject,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: sharedNotPendingObject\n },\n next: null\n };\n var initialResetState = {};\n existingStateHook.next = {\n memoizedState: initialResetState,\n baseState: initialResetState,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialResetState\n },\n next: null\n };\n formFiber.memoizedState = existingStateHook;\n formFiber = formFiber.alternate;\n null !== formFiber && (formFiber.memoizedState = existingStateHook);\n return existingStateHook;\n}\nfunction requestFormReset$1(formFiber) {\n var stateHook = ensureFormComponentIsStateful(formFiber);\n null === stateHook.next && (stateHook = formFiber.alternate.memoizedState);\n dispatchSetStateInternal(\n formFiber,\n stateHook.next.queue,\n {},\n requestUpdateLane()\n );\n}\nfunction useHostTransitionStatus() {\n return readContext(HostTransitionContext);\n}\nfunction updateId() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction updateRefresh() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction refreshCache(fiber) {\n for (var provider = fiber.return; null !== provider; ) {\n switch (provider.tag) {\n case 24:\n case 3:\n var lane = requestUpdateLane();\n fiber = createUpdate(lane);\n var root$73 = enqueueUpdate(provider, fiber, lane);\n null !== root$73 &&\n (scheduleUpdateOnFiber(root$73, provider, lane),\n entangleTransitions(root$73, provider, lane));\n provider = { cache: createCache() };\n fiber.payload = provider;\n return;\n }\n provider = provider.return;\n }\n}\nfunction dispatchReducerAction(fiber, queue, action) {\n var lane = requestUpdateLane();\n action = {\n lane: lane,\n revertLane: 0,\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n isRenderPhaseUpdate(fiber)\n ? enqueueRenderPhaseUpdate(queue, action)\n : ((action = enqueueConcurrentHookUpdate(fiber, queue, action, lane)),\n null !== action &&\n (scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane)));\n}\nfunction dispatchSetState(fiber, queue, action) {\n var lane = requestUpdateLane();\n dispatchSetStateInternal(fiber, queue, action, lane);\n}\nfunction dispatchSetStateInternal(fiber, queue, action, lane) {\n var update = {\n lane: lane,\n revertLane: 0,\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update);\n else {\n var alternate = fiber.alternate;\n if (\n 0 === fiber.lanes &&\n (null === alternate || 0 === alternate.lanes) &&\n ((alternate = queue.lastRenderedReducer), null !== alternate)\n )\n try {\n var currentState = queue.lastRenderedState,\n eagerState = alternate(currentState, action);\n update.hasEagerState = !0;\n update.eagerState = eagerState;\n if (objectIs(eagerState, currentState))\n return (\n enqueueUpdate$1(fiber, queue, update, 0),\n null === workInProgressRoot && finishQueueingConcurrentUpdates(),\n !1\n );\n } catch (error) {\n } finally {\n }\n action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n if (null !== action)\n return (\n scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane),\n !0\n );\n }\n return !1;\n}\nfunction dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) {\n action = {\n lane: 2,\n revertLane: requestTransitionLane(),\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) {\n if (throwIfDuringRender) throw Error(formatProdErrorMessage(479));\n } else\n (throwIfDuringRender = enqueueConcurrentHookUpdate(\n fiber,\n queue,\n action,\n 2\n )),\n null !== throwIfDuringRender &&\n scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2);\n}\nfunction isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return (\n fiber === currentlyRenderingFiber ||\n (null !== alternate && alternate === currentlyRenderingFiber)\n );\n}\nfunction enqueueRenderPhaseUpdate(queue, update) {\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate =\n !0;\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n}\nfunction entangleTransitionUpdate(root, queue, lane) {\n if (0 !== (lane & 4194048)) {\n var queueLanes = queue.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n queue.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nvar ContextOnlyDispatcher = {\n readContext: readContext,\n use: use,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError,\n useHostTransitionStatus: throwInvalidHookError,\n useFormState: throwInvalidHookError,\n useActionState: throwInvalidHookError,\n useOptimistic: throwInvalidHookError,\n useMemoCache: throwInvalidHookError,\n useCacheRefresh: throwInvalidHookError,\n useEffectEvent: throwInvalidHookError\n },\n HooksDispatcherOnMount = {\n readContext: readContext,\n use: use,\n useCallback: function (callback, deps) {\n mountWorkInProgressHook().memoizedState = [\n callback,\n void 0 === deps ? null : deps\n ];\n return callback;\n },\n useContext: readContext,\n useEffect: mountEffect,\n useImperativeHandle: function (ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n mountEffectImpl(\n 4194308,\n 4,\n imperativeHandleEffect.bind(null, create, ref),\n deps\n );\n },\n useLayoutEffect: function (create, deps) {\n return mountEffectImpl(4194308, 4, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n mountEffectImpl(4, 2, create, deps);\n },\n useMemo: function (nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var nextValue = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [nextValue, deps];\n return nextValue;\n },\n useReducer: function (reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n if (void 0 !== init) {\n var initialState = init(initialArg);\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n init(initialArg);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n } else initialState = initialArg;\n hook.memoizedState = hook.baseState = initialState;\n reducer = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = reducer;\n reducer = reducer.dispatch = dispatchReducerAction.bind(\n null,\n currentlyRenderingFiber,\n reducer\n );\n return [hook.memoizedState, reducer];\n },\n useRef: function (initialValue) {\n var hook = mountWorkInProgressHook();\n initialValue = { current: initialValue };\n return (hook.memoizedState = initialValue);\n },\n useState: function (initialState) {\n initialState = mountStateImpl(initialState);\n var queue = initialState.queue,\n dispatch = dispatchSetState.bind(null, currentlyRenderingFiber, queue);\n queue.dispatch = dispatch;\n return [initialState.memoizedState, dispatch];\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = mountWorkInProgressHook();\n return mountDeferredValueImpl(hook, value, initialValue);\n },\n useTransition: function () {\n var stateHook = mountStateImpl(!1);\n stateHook = startTransition.bind(\n null,\n currentlyRenderingFiber,\n stateHook.queue,\n !0,\n !1\n );\n mountWorkInProgressHook().memoizedState = stateHook;\n return [!1, stateHook];\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = mountWorkInProgressHook();\n if (isHydrating) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else {\n getServerSnapshot = getSnapshot();\n if (null === workInProgressRoot)\n throw Error(formatProdErrorMessage(349));\n 0 !== (workInProgressRootRenderLanes & 127) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n hook.memoizedState = getServerSnapshot;\n var inst = { value: getServerSnapshot, getSnapshot: getSnapshot };\n hook.queue = inst;\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [\n subscribe\n ]);\n fiber.flags |= 2048;\n pushSimpleEffect(\n 9,\n { destroy: void 0 },\n updateStoreInstance.bind(\n null,\n fiber,\n inst,\n getServerSnapshot,\n getSnapshot\n ),\n null\n );\n return getServerSnapshot;\n },\n useId: function () {\n var hook = mountWorkInProgressHook(),\n identifierPrefix = workInProgressRoot.identifierPrefix;\n if (isHydrating) {\n var JSCompiler_inline_result = treeContextOverflow;\n var idWithLeadingBit = treeContextId;\n JSCompiler_inline_result =\n (\n idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1))\n ).toString(32) + JSCompiler_inline_result;\n identifierPrefix =\n \"_\" + identifierPrefix + \"R_\" + JSCompiler_inline_result;\n JSCompiler_inline_result = localIdCounter++;\n 0 < JSCompiler_inline_result &&\n (identifierPrefix += \"H\" + JSCompiler_inline_result.toString(32));\n identifierPrefix += \"_\";\n } else\n (JSCompiler_inline_result = globalClientIdCounter++),\n (identifierPrefix =\n \"_\" +\n identifierPrefix +\n \"r_\" +\n JSCompiler_inline_result.toString(32) +\n \"_\");\n return (hook.memoizedState = identifierPrefix);\n },\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: mountActionState,\n useActionState: mountActionState,\n useOptimistic: function (passthrough) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = hook.baseState = passthrough;\n var queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: null,\n lastRenderedState: null\n };\n hook.queue = queue;\n hook = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !0,\n queue\n );\n queue.dispatch = hook;\n return [passthrough, hook];\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: function () {\n return (mountWorkInProgressHook().memoizedState = refreshCache.bind(\n null,\n currentlyRenderingFiber\n ));\n },\n useEffectEvent: function (callback) {\n var hook = mountWorkInProgressHook(),\n ref = { impl: callback };\n hook.memoizedState = ref;\n return function () {\n if (0 !== (executionContext & 2))\n throw Error(formatProdErrorMessage(440));\n return ref.impl.apply(void 0, arguments);\n };\n }\n },\n HooksDispatcherOnUpdate = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: updateReducer,\n useRef: updateRef,\n useState: function () {\n return updateReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = updateReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: updateActionState,\n useActionState: updateActionState,\n useOptimistic: function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: updateRefresh,\n useEffectEvent: updateEvent\n },\n HooksDispatcherOnRerender = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: rerenderReducer,\n useRef: updateRef,\n useState: function () {\n return rerenderReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return null === currentHook\n ? mountDeferredValueImpl(hook, value, initialValue)\n : updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = rerenderReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: rerenderActionState,\n useActionState: rerenderActionState,\n useOptimistic: function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n if (null !== currentHook)\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n hook.baseState = passthrough;\n return [passthrough, hook.queue.dispatch];\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: updateRefresh,\n useEffectEvent: updateEvent\n };\nfunction applyDerivedStateFromProps(\n workInProgress,\n ctor,\n getDerivedStateFromProps,\n nextProps\n) {\n ctor = workInProgress.memoizedState;\n getDerivedStateFromProps = getDerivedStateFromProps(nextProps, ctor);\n getDerivedStateFromProps =\n null === getDerivedStateFromProps || void 0 === getDerivedStateFromProps\n ? ctor\n : assign({}, ctor, getDerivedStateFromProps);\n workInProgress.memoizedState = getDerivedStateFromProps;\n 0 === workInProgress.lanes &&\n (workInProgress.updateQueue.baseState = getDerivedStateFromProps);\n}\nvar classComponentUpdater = {\n enqueueSetState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueReplaceState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 1;\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueForceUpdate: function (inst, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 2;\n void 0 !== callback && null !== callback && (update.callback = callback);\n callback = enqueueUpdate(inst, update, lane);\n null !== callback &&\n (scheduleUpdateOnFiber(callback, inst, lane),\n entangleTransitions(callback, inst, lane));\n }\n};\nfunction checkShouldComponentUpdate(\n workInProgress,\n ctor,\n oldProps,\n newProps,\n oldState,\n newState,\n nextContext\n) {\n workInProgress = workInProgress.stateNode;\n return \"function\" === typeof workInProgress.shouldComponentUpdate\n ? workInProgress.shouldComponentUpdate(newProps, newState, nextContext)\n : ctor.prototype && ctor.prototype.isPureReactComponent\n ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState)\n : !0;\n}\nfunction callComponentWillReceiveProps(\n workInProgress,\n instance,\n newProps,\n nextContext\n) {\n workInProgress = instance.state;\n \"function\" === typeof instance.componentWillReceiveProps &&\n instance.componentWillReceiveProps(newProps, nextContext);\n \"function\" === typeof instance.UNSAFE_componentWillReceiveProps &&\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n instance.state !== workInProgress &&\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n}\nfunction resolveClassComponentProps(Component, baseProps) {\n var newProps = baseProps;\n if (\"ref\" in baseProps) {\n newProps = {};\n for (var propName in baseProps)\n \"ref\" !== propName && (newProps[propName] = baseProps[propName]);\n }\n if ((Component = Component.defaultProps)) {\n newProps === baseProps && (newProps = assign({}, newProps));\n for (var propName$77 in Component)\n void 0 === newProps[propName$77] &&\n (newProps[propName$77] = Component[propName$77]);\n }\n return newProps;\n}\nfunction defaultOnUncaughtError(error) {\n reportGlobalError(error);\n}\nfunction defaultOnCaughtError(error) {\n console.error(error);\n}\nfunction defaultOnRecoverableError(error) {\n reportGlobalError(error);\n}\nfunction logUncaughtError(root, errorInfo) {\n try {\n var onUncaughtError = root.onUncaughtError;\n onUncaughtError(errorInfo.value, { componentStack: errorInfo.stack });\n } catch (e$78) {\n setTimeout(function () {\n throw e$78;\n });\n }\n}\nfunction logCaughtError(root, boundary, errorInfo) {\n try {\n var onCaughtError = root.onCaughtError;\n onCaughtError(errorInfo.value, {\n componentStack: errorInfo.stack,\n errorBoundary: 1 === boundary.tag ? boundary.stateNode : null\n });\n } catch (e$79) {\n setTimeout(function () {\n throw e$79;\n });\n }\n}\nfunction createRootErrorUpdate(root, errorInfo, lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n lane.payload = { element: null };\n lane.callback = function () {\n logUncaughtError(root, errorInfo);\n };\n return lane;\n}\nfunction createClassErrorUpdate(lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n return lane;\n}\nfunction initializeClassErrorUpdate(update, root, fiber, errorInfo) {\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n if (\"function\" === typeof getDerivedStateFromError) {\n var error = errorInfo.value;\n update.payload = function () {\n return getDerivedStateFromError(error);\n };\n update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n };\n }\n var inst = fiber.stateNode;\n null !== inst &&\n \"function\" === typeof inst.componentDidCatch &&\n (update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n \"function\" !== typeof getDerivedStateFromError &&\n (null === legacyErrorBoundariesThatAlreadyFailed\n ? (legacyErrorBoundariesThatAlreadyFailed = new Set([this]))\n : legacyErrorBoundariesThatAlreadyFailed.add(this));\n var stack = errorInfo.stack;\n this.componentDidCatch(errorInfo.value, {\n componentStack: null !== stack ? stack : \"\"\n });\n });\n}\nfunction throwException(\n root,\n returnFiber,\n sourceFiber,\n value,\n rootRenderLanes\n) {\n sourceFiber.flags |= 32768;\n if (\n null !== value &&\n \"object\" === typeof value &&\n \"function\" === typeof value.then\n ) {\n returnFiber = sourceFiber.alternate;\n null !== returnFiber &&\n propagateParentContextChanges(\n returnFiber,\n sourceFiber,\n rootRenderLanes,\n !0\n );\n sourceFiber = suspenseHandlerStackCursor.current;\n if (null !== sourceFiber) {\n switch (sourceFiber.tag) {\n case 31:\n case 13:\n case 19:\n return (\n null === shellBoundary\n ? renderDidSuspendDelayIfPossible()\n : null === sourceFiber.alternate &&\n 0 === workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 3),\n (sourceFiber.flags &= -257),\n (sourceFiber.flags |= 65536),\n (sourceFiber.lanes = rootRenderLanes),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? (sourceFiber.updateQueue = new Set([value]))\n : returnFiber.add(value),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n case 22:\n return (\n (sourceFiber.flags |= 65536),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? ((returnFiber = {\n transitions: null,\n markerInstances: null,\n retryQueue: new Set([value])\n }),\n (sourceFiber.updateQueue = returnFiber))\n : ((sourceFiber = returnFiber.retryQueue),\n null === sourceFiber\n ? (returnFiber.retryQueue = new Set([value]))\n : sourceFiber.add(value)),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n }\n throw Error(formatProdErrorMessage(435, sourceFiber.tag));\n }\n attachPingListener(root, value, rootRenderLanes);\n renderDidSuspendDelayIfPossible();\n return !1;\n }\n if (isHydrating)\n return (\n (returnFiber = suspenseHandlerStackCursor.current),\n null !== returnFiber\n ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256),\n (returnFiber.flags |= 65536),\n (returnFiber.lanes = rootRenderLanes),\n value !== HydrationMismatchException &&\n ((root = Error(formatProdErrorMessage(422), { cause: value })),\n queueHydrationError(createCapturedValueAtFiber(root, sourceFiber))))\n : (value !== HydrationMismatchException &&\n ((returnFiber = Error(formatProdErrorMessage(423), {\n cause: value\n })),\n queueHydrationError(\n createCapturedValueAtFiber(returnFiber, sourceFiber)\n )),\n (root = root.current.alternate),\n (root.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (root.lanes |= rootRenderLanes),\n (value = createCapturedValueAtFiber(value, sourceFiber)),\n (rootRenderLanes = createRootErrorUpdate(\n root.stateNode,\n value,\n rootRenderLanes\n )),\n enqueueCapturedUpdate(root, rootRenderLanes),\n 4 !== workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 2)),\n !1\n );\n var wrapperError = Error(formatProdErrorMessage(520), { cause: value });\n wrapperError = createCapturedValueAtFiber(wrapperError, sourceFiber);\n null === workInProgressRootConcurrentErrors\n ? (workInProgressRootConcurrentErrors = [wrapperError])\n : workInProgressRootConcurrentErrors.push(wrapperError);\n 4 !== workInProgressRootExitStatus && (workInProgressRootExitStatus = 2);\n if (null === returnFiber) return !0;\n value = createCapturedValueAtFiber(value, sourceFiber);\n sourceFiber = returnFiber;\n do {\n switch (sourceFiber.tag) {\n case 3:\n return (\n (sourceFiber.flags |= 65536),\n (root = rootRenderLanes & -rootRenderLanes),\n (sourceFiber.lanes |= root),\n (root = createRootErrorUpdate(sourceFiber.stateNode, value, root)),\n enqueueCapturedUpdate(sourceFiber, root),\n !1\n );\n case 1:\n returnFiber = sourceFiber.type;\n wrapperError = sourceFiber.stateNode;\n if (\n 0 === (sourceFiber.flags & 128) &&\n (\"function\" === typeof returnFiber.getDerivedStateFromError ||\n (null !== wrapperError &&\n \"function\" === typeof wrapperError.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(wrapperError))))\n )\n return (\n (sourceFiber.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (sourceFiber.lanes |= rootRenderLanes),\n (rootRenderLanes = createClassErrorUpdate(rootRenderLanes)),\n initializeClassErrorUpdate(\n rootRenderLanes,\n root,\n sourceFiber,\n value\n ),\n enqueueCapturedUpdate(sourceFiber, rootRenderLanes),\n !1\n );\n break;\n case 22:\n if (null !== sourceFiber.memoizedState)\n return (sourceFiber.flags |= 65536), !1;\n }\n sourceFiber = sourceFiber.return;\n } while (null !== sourceFiber);\n return !1;\n}\nvar SelectiveHydrationException = Error(formatProdErrorMessage(461)),\n didReceiveUpdate = !1;\nfunction reconcileChildren(current, workInProgress, nextChildren, renderLanes) {\n workInProgress.child =\n null === current\n ? mountChildFibers(workInProgress, null, nextChildren, renderLanes)\n : reconcileChildFibers(\n workInProgress,\n current.child,\n nextChildren,\n renderLanes\n );\n}\nfunction updateForwardRef(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n Component = Component.render;\n var ref = workInProgress.ref;\n if (\"ref\" in nextProps) {\n var propsWithoutRef = {};\n for (var key in nextProps)\n \"ref\" !== key && (propsWithoutRef[key] = nextProps[key]);\n } else propsWithoutRef = nextProps;\n prepareToReadContext(workInProgress);\n nextProps = renderWithHooks(\n current,\n workInProgress,\n Component,\n propsWithoutRef,\n ref,\n renderLanes\n );\n key = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && key && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null === current) {\n var type = Component.type;\n if (\n \"function\" === typeof type &&\n !shouldConstruct(type) &&\n void 0 === type.defaultProps &&\n null === Component.compare\n )\n return (\n (workInProgress.tag = 15),\n (workInProgress.type = type),\n updateSimpleMemoComponent(\n current,\n workInProgress,\n type,\n nextProps,\n renderLanes\n )\n );\n current = createFiberFromTypeAndProps(\n Component.type,\n null,\n nextProps,\n workInProgress,\n workInProgress.mode,\n renderLanes\n );\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n }\n type = current.child;\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n var prevProps = type.memoizedProps;\n Component = Component.compare;\n Component = null !== Component ? Component : shallowEqual;\n if (Component(prevProps, nextProps) && current.ref === workInProgress.ref)\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n workInProgress.flags |= 1;\n current = createWorkInProgress(type, nextProps);\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n}\nfunction updateSimpleMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null !== current) {\n var prevProps = current.memoizedProps;\n if (\n shallowEqual(prevProps, nextProps) &&\n current.ref === workInProgress.ref\n )\n if (\n ((didReceiveUpdate = !1),\n (workInProgress.pendingProps = nextProps = prevProps),\n checkScheduledUpdateOrContext(current, renderLanes))\n )\n 0 !== (current.flags & 131072) && (didReceiveUpdate = !0);\n else\n return (\n (workInProgress.lanes = current.lanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n }\n return updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n );\n}\nfunction updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n nextProps\n) {\n var nextChildren = nextProps.children,\n prevState = null !== current ? current.memoizedState : null;\n null === current &&\n null === workInProgress.stateNode &&\n (workInProgress.stateNode = {\n _visibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null\n });\n if (\"hidden\" === nextProps.mode) {\n if (0 !== (workInProgress.flags & 128)) {\n prevState =\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes;\n if (null !== current) {\n nextProps = workInProgress.child = current.child;\n for (nextChildren = 0; null !== nextProps; )\n (nextChildren =\n nextChildren | nextProps.lanes | nextProps.childLanes),\n (nextProps = nextProps.sibling);\n nextProps = nextChildren & ~prevState;\n } else (nextProps = 0), (workInProgress.child = null);\n return deferHiddenOffscreenComponent(\n current,\n workInProgress,\n prevState,\n renderLanes,\n nextProps\n );\n }\n if (0 !== (renderLanes & 536870912))\n (workInProgress.memoizedState = { baseLanes: 0, cachePool: null }),\n null !== current &&\n pushTransition(\n workInProgress,\n null !== prevState ? prevState.cachePool : null\n ),\n null !== prevState\n ? pushHiddenContext(workInProgress, prevState)\n : reuseHiddenContextOnStack(),\n pushOffscreenSuspenseHandler(workInProgress);\n else\n return (\n (nextProps = workInProgress.lanes = 536870912),\n deferHiddenOffscreenComponent(\n current,\n workInProgress,\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes,\n renderLanes,\n nextProps\n )\n );\n } else\n null !== prevState\n ? (pushTransition(workInProgress, prevState.cachePool),\n pushHiddenContext(workInProgress, prevState),\n reuseSuspenseHandlerOnStack(),\n (workInProgress.memoizedState = null))\n : (null !== current && pushTransition(workInProgress, null),\n reuseHiddenContextOnStack(),\n reuseSuspenseHandlerOnStack());\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nfunction bailoutOffscreenComponent(current, workInProgress) {\n (null !== current && 22 === current.tag) ||\n null !== workInProgress.stateNode ||\n (workInProgress.stateNode = {\n _visibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null\n });\n return workInProgress.sibling;\n}\nfunction deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextBaseLanes,\n renderLanes,\n remainingChildLanes\n) {\n var JSCompiler_inline_result = peekCacheFromPool();\n JSCompiler_inline_result =\n null === JSCompiler_inline_result\n ? null\n : { parent: CacheContext._currentValue, pool: JSCompiler_inline_result };\n workInProgress.memoizedState = {\n baseLanes: nextBaseLanes,\n cachePool: JSCompiler_inline_result\n };\n null !== current && pushTransition(workInProgress, null);\n reuseHiddenContextOnStack();\n pushOffscreenSuspenseHandler(workInProgress);\n null !== current &&\n propagateParentContextChanges(current, workInProgress, renderLanes, !0);\n workInProgress.childLanes = remainingChildLanes;\n return null;\n}\nfunction mountActivityChildren(workInProgress, nextProps) {\n nextProps = mountWorkInProgressOffscreenFiber(\n { mode: nextProps.mode, children: nextProps.children },\n workInProgress.mode\n );\n nextProps.ref = workInProgress.ref;\n workInProgress.child = nextProps;\n nextProps.return = workInProgress;\n return nextProps;\n}\nfunction retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountActivityChildren(workInProgress, workInProgress.pendingProps);\n current.flags |= 2;\n popSuspenseHandler(workInProgress);\n workInProgress.memoizedState = null;\n return current;\n}\nfunction updateActivityComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n didSuspend = 0 !== (workInProgress.flags & 128);\n workInProgress.flags &= -129;\n if (null === current) {\n if (isHydrating) {\n if (\"hidden\" === nextProps.mode)\n return (\n (current = mountActivityChildren(workInProgress, nextProps)),\n (workInProgress.lanes = 536870912),\n (current.memoizedState = { baseLanes: 0, cachePool: null }),\n bailoutOffscreenComponent(null, current)\n );\n pushDehydratedActivitySuspenseHandler(workInProgress);\n (current = nextHydratableInstance)\n ? ((current = canHydrateHydrationBoundary(\n current,\n rootOrSingletonContext\n )),\n (current = null !== current && \"&\" === current.data ? current : null),\n null !== current &&\n ((workInProgress.memoizedState = {\n dehydrated: current,\n treeContext:\n null !== treeContextProvider\n ? { id: treeContextId, overflow: treeContextOverflow }\n : null,\n retryLane: 536870912,\n hydrationErrors: null\n }),\n (renderLanes = createFiberFromDehydratedFragment(current)),\n (renderLanes.return = workInProgress),\n (workInProgress.child = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null)))\n : (current = null);\n if (null === current) throw throwOnHydrationMismatch(workInProgress);\n workInProgress.lanes = 536870912;\n return null;\n }\n return mountActivityChildren(workInProgress, nextProps);\n }\n var prevState = current.memoizedState;\n if (null !== prevState) {\n var dehydrated = prevState.dehydrated;\n pushDehydratedActivitySuspenseHandler(workInProgress);\n if (didSuspend)\n if (workInProgress.flags & 256)\n (workInProgress.flags &= -257),\n (workInProgress = retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n ));\n else if (null !== workInProgress.memoizedState)\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null);\n else throw Error(formatProdErrorMessage(558));\n else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(current, workInProgress, renderLanes, !1),\n (didSuspend = 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || didSuspend)\n ) {\n if (null === currentTreeHiddenStackCursor.current) {\n nextProps = workInProgressRoot;\n if (\n null !== nextProps &&\n ((dehydrated = getBumpedLaneForHydration(nextProps, renderLanes)),\n 0 !== dehydrated && dehydrated !== prevState.retryLane)\n )\n throw (\n ((prevState.retryLane = dehydrated),\n enqueueConcurrentRenderForLane(current, dehydrated),\n scheduleUpdateOnFiber(nextProps, current, dehydrated),\n SelectiveHydrationException)\n );\n renderDidSuspendDelayIfPossible();\n }\n workInProgress = retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n (current = prevState.treeContext),\n (nextHydratableInstance = getNextHydratable(dehydrated.nextSibling)),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (rootOrSingletonContext = !1),\n null !== current &&\n restoreSuspendedTreeContext(workInProgress, current),\n (workInProgress = mountActivityChildren(workInProgress, nextProps)),\n (workInProgress.flags |= 134221824);\n return workInProgress;\n }\n current = createWorkInProgress(current.child, {\n mode: nextProps.mode,\n children: nextProps.children\n });\n current.ref = workInProgress.ref;\n workInProgress.child = current;\n current.return = workInProgress;\n return current;\n}\nfunction markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n if (null === ref)\n null !== current &&\n null !== current.ref &&\n (workInProgress.flags |= 4194816);\n else {\n if (\"function\" !== typeof ref && \"object\" !== typeof ref)\n throw Error(formatProdErrorMessage(284));\n if (null === current || current.ref !== ref)\n workInProgress.flags |= 4194816;\n }\n}\nfunction updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n Component = renderWithHooks(\n current,\n workInProgress,\n Component,\n nextProps,\n void 0,\n renderLanes\n );\n nextProps = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && nextProps && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, Component, renderLanes);\n return workInProgress.child;\n}\nfunction replayFunctionComponent(\n current,\n workInProgress,\n nextProps,\n Component,\n secondArg,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n workInProgress.updateQueue = null;\n nextProps = renderWithHooksAgain(\n workInProgress,\n Component,\n nextProps,\n secondArg\n );\n finishRenderingHooks(current);\n Component = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && Component && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateClassComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n if (null === workInProgress.stateNode) {\n var context = emptyContextObject,\n contextType = Component.contextType;\n \"object\" === typeof contextType &&\n null !== contextType &&\n (context = readContext(contextType));\n context = new Component(nextProps, context);\n workInProgress.memoizedState =\n null !== context.state && void 0 !== context.state ? context.state : null;\n context.updater = classComponentUpdater;\n workInProgress.stateNode = context;\n context._reactInternals = workInProgress;\n context = workInProgress.stateNode;\n context.props = nextProps;\n context.state = workInProgress.memoizedState;\n context.refs = {};\n initializeUpdateQueue(workInProgress);\n contextType = Component.contextType;\n context.context =\n \"object\" === typeof contextType && null !== contextType\n ? readContext(contextType)\n : emptyContextObject;\n context.state = workInProgress.memoizedState;\n contextType = Component.getDerivedStateFromProps;\n \"function\" === typeof contextType &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n contextType,\n nextProps\n ),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof Component.getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n ((contextType = context.state),\n \"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount(),\n contextType !== context.state &&\n classComponentUpdater.enqueueReplaceState(context, context.state, null),\n processUpdateQueue(workInProgress, nextProps, context, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction(),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308);\n nextProps = !0;\n } else if (null === current) {\n context = workInProgress.stateNode;\n var unresolvedOldProps = workInProgress.memoizedProps,\n oldProps = resolveClassComponentProps(Component, unresolvedOldProps);\n context.props = oldProps;\n var oldContext = context.context,\n contextType$jscomp$0 = Component.contextType;\n contextType = emptyContextObject;\n \"object\" === typeof contextType$jscomp$0 &&\n null !== contextType$jscomp$0 &&\n (contextType = readContext(contextType$jscomp$0));\n var getDerivedStateFromProps = Component.getDerivedStateFromProps;\n contextType$jscomp$0 =\n \"function\" === typeof getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate;\n unresolvedOldProps = workInProgress.pendingProps !== unresolvedOldProps;\n contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((unresolvedOldProps || oldContext !== contextType) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n contextType\n ));\n hasForceUpdate = !1;\n var oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n oldContext = workInProgress.memoizedState;\n unresolvedOldProps || oldState !== oldContext || hasForceUpdate\n ? (\"function\" === typeof getDerivedStateFromProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n getDerivedStateFromProps,\n nextProps\n ),\n (oldContext = workInProgress.memoizedState)),\n (oldProps =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n oldProps,\n nextProps,\n oldState,\n oldContext,\n contextType\n ))\n ? (contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n (\"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount()),\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = oldContext)),\n (context.props = nextProps),\n (context.state = oldContext),\n (context.context = contextType),\n (nextProps = oldProps))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (nextProps = !1));\n } else {\n context = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n contextType = workInProgress.memoizedProps;\n contextType$jscomp$0 = resolveClassComponentProps(Component, contextType);\n context.props = contextType$jscomp$0;\n getDerivedStateFromProps = workInProgress.pendingProps;\n oldState = context.context;\n oldContext = Component.contextType;\n oldProps = emptyContextObject;\n \"object\" === typeof oldContext &&\n null !== oldContext &&\n (oldProps = readContext(oldContext));\n unresolvedOldProps = Component.getDerivedStateFromProps;\n (oldContext =\n \"function\" === typeof unresolvedOldProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate) ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((contextType !== getDerivedStateFromProps || oldState !== oldProps) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n oldProps\n ));\n hasForceUpdate = !1;\n oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n var newState = workInProgress.memoizedState;\n contextType !== getDerivedStateFromProps ||\n oldState !== newState ||\n hasForceUpdate ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies))\n ? (\"function\" === typeof unresolvedOldProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n unresolvedOldProps,\n nextProps\n ),\n (newState = workInProgress.memoizedState)),\n (contextType$jscomp$0 =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n contextType$jscomp$0,\n nextProps,\n oldState,\n newState,\n oldProps\n ) ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies)))\n ? (oldContext ||\n (\"function\" !== typeof context.UNSAFE_componentWillUpdate &&\n \"function\" !== typeof context.componentWillUpdate) ||\n (\"function\" === typeof context.componentWillUpdate &&\n context.componentWillUpdate(nextProps, newState, oldProps),\n \"function\" === typeof context.UNSAFE_componentWillUpdate &&\n context.UNSAFE_componentWillUpdate(\n nextProps,\n newState,\n oldProps\n )),\n \"function\" === typeof context.componentDidUpdate &&\n (workInProgress.flags |= 4),\n \"function\" === typeof context.getSnapshotBeforeUpdate &&\n (workInProgress.flags |= 1024))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = newState)),\n (context.props = nextProps),\n (context.state = newState),\n (context.context = oldProps),\n (nextProps = contextType$jscomp$0))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (nextProps = !1));\n }\n context = nextProps;\n markRef(current, workInProgress);\n nextProps = 0 !== (workInProgress.flags & 128);\n context || nextProps\n ? ((context = workInProgress.stateNode),\n (Component =\n nextProps && \"function\" !== typeof Component.getDerivedStateFromError\n ? null\n : context.render()),\n (workInProgress.flags |= 1),\n null !== current && nextProps\n ? ((workInProgress.child = reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n )),\n (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n Component,\n renderLanes\n )))\n : reconcileChildren(current, workInProgress, Component, renderLanes),\n (workInProgress.memoizedState = context.state),\n (current = workInProgress.child))\n : (current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n ));\n return current;\n}\nfunction mountHostRootWithoutHydrating(\n current,\n workInProgress,\n nextChildren,\n renderLanes\n) {\n resetHydrationState();\n workInProgress.flags |= 256;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nvar SUSPENDED_MARKER = {\n dehydrated: null,\n treeContext: null,\n retryLane: 0,\n hydrationErrors: null\n};\nfunction mountSuspenseOffscreenState(renderLanes) {\n return { baseLanes: renderLanes, cachePool: getSuspendedCache() };\n}\nfunction getRemainingWorkInPrimaryTree(\n current,\n primaryTreeDidDefer,\n renderLanes\n) {\n current = null !== current ? current.childLanes & ~renderLanes : 0;\n primaryTreeDidDefer && (current |= workInProgressDeferredLane);\n return current;\n}\nfunction updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n showFallback = !1,\n didSuspend = 0 !== (workInProgress.flags & 128),\n JSCompiler_temp;\n (JSCompiler_temp = didSuspend) ||\n (JSCompiler_temp =\n null !== current && null === current.memoizedState\n ? !1\n : 0 !== (suspenseStackCursor.current & 2));\n JSCompiler_temp && ((showFallback = !0), (workInProgress.flags &= -129));\n JSCompiler_temp = 0 !== (workInProgress.flags & 32);\n workInProgress.flags &= -33;\n if (null === current) {\n if (isHydrating) {\n showFallback\n ? pushPrimaryTreeSuspenseHandler(workInProgress)\n : reuseSuspenseHandlerOnStack();\n (current = nextHydratableInstance)\n ? ((current = canHydrateHydrationBoundary(\n current,\n rootOrSingletonContext\n )),\n (current = null !== current && \"&\" !== current.data ? current : null),\n null !== current &&\n ((workInProgress.memoizedState = {\n dehydrated: current,\n treeContext:\n null !== treeContextProvider\n ? { id: treeContextId, overflow: treeContextOverflow }\n : null,\n retryLane: 536870912,\n hydrationErrors: null\n }),\n (renderLanes = createFiberFromDehydratedFragment(current)),\n (renderLanes.return = workInProgress),\n (workInProgress.child = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null)))\n : (current = null);\n if (null === current) throw throwOnHydrationMismatch(workInProgress);\n isSuspenseInstanceFallback(current)\n ? (workInProgress.lanes = 32)\n : (workInProgress.lanes = 536870912);\n return null;\n }\n didSuspend = nextProps.children;\n nextProps = nextProps.fallback;\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(),\n (showFallback = workInProgress.mode),\n (didSuspend = mountWorkInProgressOffscreenFiber(\n { mode: \"hidden\", children: didSuspend },\n showFallback\n )),\n (nextProps = createFiberFromFragment(\n nextProps,\n showFallback,\n renderLanes,\n null\n )),\n (didSuspend.return = workInProgress),\n (nextProps.return = workInProgress),\n (didSuspend.sibling = nextProps),\n (workInProgress.child = didSuspend),\n (nextProps = workInProgress.child),\n (nextProps.memoizedState = mountSuspenseOffscreenState(renderLanes)),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n bailoutOffscreenComponent(null, nextProps)\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n return mountSuspensePrimaryChildren(workInProgress, didSuspend);\n }\n var prevState = current.memoizedState;\n if (null !== prevState) {\n var dehydrated$96 = prevState.dehydrated;\n if (null !== dehydrated$96)\n return updateDehydratedSuspenseComponent(\n current,\n workInProgress,\n didSuspend,\n JSCompiler_temp,\n nextProps,\n dehydrated$96,\n prevState,\n renderLanes\n );\n }\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(),\n (showFallback = nextProps.fallback),\n (didSuspend = workInProgress.mode),\n (prevState = current.child),\n (dehydrated$96 = prevState.sibling),\n (nextProps = createWorkInProgress(prevState, {\n mode: \"hidden\",\n children: nextProps.children\n })),\n (nextProps.subtreeFlags = prevState.subtreeFlags & 1206910976),\n null !== dehydrated$96\n ? (showFallback = createWorkInProgress(dehydrated$96, showFallback))\n : ((showFallback = createFiberFromFragment(\n showFallback,\n didSuspend,\n renderLanes,\n null\n )),\n (showFallback.flags |= 2)),\n (showFallback.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextProps.sibling = showFallback),\n (workInProgress.child = nextProps),\n bailoutOffscreenComponent(null, nextProps),\n (nextProps = workInProgress.child),\n (showFallback = current.child.memoizedState),\n null === showFallback\n ? (showFallback = mountSuspenseOffscreenState(renderLanes))\n : ((didSuspend = showFallback.cachePool),\n null !== didSuspend\n ? ((prevState = CacheContext._currentValue),\n (didSuspend =\n didSuspend.parent !== prevState\n ? { parent: prevState, pool: prevState }\n : didSuspend))\n : (didSuspend = getSuspendedCache()),\n (showFallback = {\n baseLanes: showFallback.baseLanes | renderLanes,\n cachePool: didSuspend\n })),\n (nextProps.memoizedState = showFallback),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n bailoutOffscreenComponent(current.child, nextProps)\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n renderLanes = current.child;\n current = renderLanes.sibling;\n renderLanes = createWorkInProgress(renderLanes, {\n mode: \"visible\",\n children: nextProps.children\n });\n renderLanes.return = workInProgress;\n renderLanes.sibling = null;\n null !== current &&\n ((JSCompiler_temp = workInProgress.deletions),\n null === JSCompiler_temp\n ? ((workInProgress.deletions = [current]), (workInProgress.flags |= 16))\n : JSCompiler_temp.push(current));\n workInProgress.child = renderLanes;\n workInProgress.memoizedState = null;\n return renderLanes;\n}\nfunction mountSuspensePrimaryChildren(workInProgress, primaryChildren) {\n primaryChildren = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: primaryChildren },\n workInProgress.mode\n );\n primaryChildren.return = workInProgress;\n return (workInProgress.child = primaryChildren);\n}\nfunction mountWorkInProgressOffscreenFiber(offscreenProps, mode) {\n offscreenProps = createFiberImplClass(22, offscreenProps, null, mode);\n offscreenProps.lanes = 0;\n return offscreenProps;\n}\nfunction retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountSuspensePrimaryChildren(\n workInProgress,\n workInProgress.pendingProps.children\n );\n current.flags |= 2;\n workInProgress.memoizedState = null;\n return current;\n}\nfunction updateDehydratedSuspenseComponent(\n current,\n workInProgress,\n didSuspend,\n didPrimaryChildrenDefer,\n nextProps,\n suspenseInstance,\n suspenseState,\n renderLanes\n) {\n if (didSuspend) {\n if (workInProgress.flags & 256)\n return (\n pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags &= -257),\n retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n )\n );\n if (null !== workInProgress.memoizedState)\n return (\n reuseSuspenseHandlerOnStack(),\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n null\n );\n reuseSuspenseHandlerOnStack();\n suspenseInstance = nextProps.fallback;\n suspenseState = workInProgress.mode;\n nextProps = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: nextProps.children },\n suspenseState\n );\n suspenseInstance = createFiberFromFragment(\n suspenseInstance,\n suspenseState,\n renderLanes,\n null\n );\n suspenseInstance.flags |= 2;\n nextProps.return = workInProgress;\n suspenseInstance.return = workInProgress;\n nextProps.sibling = suspenseInstance;\n workInProgress.child = nextProps;\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n nextProps = workInProgress.child;\n nextProps.memoizedState = mountSuspenseOffscreenState(renderLanes);\n nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n didPrimaryChildrenDefer,\n renderLanes\n );\n workInProgress.memoizedState = SUSPENDED_MARKER;\n return bailoutOffscreenComponent(null, nextProps);\n }\n pushPrimaryTreeSuspenseHandler(workInProgress);\n if (isSuspenseInstanceFallback(suspenseInstance)) {\n didPrimaryChildrenDefer =\n suspenseInstance.nextSibling && suspenseInstance.nextSibling.dataset;\n if (didPrimaryChildrenDefer) var digest = didPrimaryChildrenDefer.dgst;\n didPrimaryChildrenDefer = digest;\n \"\" !== didPrimaryChildrenDefer &&\n ((nextProps = Error(formatProdErrorMessage(419))),\n (nextProps.stack = \"\"),\n (nextProps.digest = didPrimaryChildrenDefer),\n queueHydrationError({ value: nextProps, source: null, stack: null }));\n return retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n }\n didReceiveUpdate ||\n propagateParentContextChanges(current, workInProgress, renderLanes, !1);\n didPrimaryChildrenDefer = 0 !== (renderLanes & current.childLanes);\n if (didReceiveUpdate || didPrimaryChildrenDefer) {\n if (null !== currentTreeHiddenStackCursor.current)\n return retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n didPrimaryChildrenDefer = workInProgressRoot;\n if (\n null !== didPrimaryChildrenDefer &&\n ((nextProps = getBumpedLaneForHydration(\n didPrimaryChildrenDefer,\n renderLanes\n )),\n 0 !== nextProps && nextProps !== suspenseState.retryLane)\n )\n throw (\n ((suspenseState.retryLane = nextProps),\n enqueueConcurrentRenderForLane(current, nextProps),\n scheduleUpdateOnFiber(didPrimaryChildrenDefer, current, nextProps),\n SelectiveHydrationException)\n );\n isSuspenseInstancePending(suspenseInstance) ||\n renderDidSuspendDelayIfPossible();\n return retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n }\n if (isSuspenseInstancePending(suspenseInstance))\n return (\n (workInProgress.flags |= 192),\n (workInProgress.child = current.child),\n null\n );\n current = suspenseState.treeContext;\n nextHydratableInstance = getNextHydratable(suspenseInstance.nextSibling);\n hydrationParentFiber = workInProgress;\n isHydrating = !0;\n hydrationErrors = null;\n rootOrSingletonContext = !1;\n null !== current && restoreSuspendedTreeContext(workInProgress, current);\n workInProgress = mountSuspensePrimaryChildren(\n workInProgress,\n nextProps.children\n );\n workInProgress.flags |= 134221824;\n return workInProgress;\n}\nfunction scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes |= renderLanes;\n var alternate = fiber.alternate;\n null !== alternate && (alternate.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n}\nfunction findLastContentRow(firstChild) {\n for (var lastContentRow = null; null !== firstChild; ) {\n var currentRow = firstChild.alternate;\n null !== currentRow &&\n null === findFirstSuspended(currentRow) &&\n (lastContentRow = firstChild);\n firstChild = firstChild.sibling;\n }\n return lastContentRow;\n}\nfunction initSuspenseListRenderState(\n workInProgress,\n isBackwards,\n tail,\n lastContentRow,\n tailMode,\n treeForkCount\n) {\n var renderState = workInProgress.memoizedState;\n null === renderState\n ? (workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode,\n treeForkCount: treeForkCount\n })\n : ((renderState.isBackwards = isBackwards),\n (renderState.rendering = null),\n (renderState.renderingStartTime = 0),\n (renderState.last = lastContentRow),\n (renderState.tail = tail),\n (renderState.tailMode = tailMode),\n (renderState.treeForkCount = treeForkCount));\n}\nfunction reverseChildren(fiber) {\n var row = fiber.child;\n for (fiber.child = null; null !== row; ) {\n var nextRow = row.sibling;\n row.sibling = fiber.child;\n fiber.child = row;\n row = nextRow;\n }\n}\nfunction updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n revealOrder = nextProps.revealOrder,\n tailMode = nextProps.tail;\n nextProps = nextProps.children;\n var suspenseContext = suspenseStackCursor.current;\n if (workInProgress.flags & 128)\n return pushSuspenseListContext(workInProgress, suspenseContext), null;\n var shouldForceFallback = 0 !== (suspenseContext & 2);\n shouldForceFallback\n ? ((suspenseContext = (suspenseContext & 1) | 2),\n (workInProgress.flags |= 128))\n : (suspenseContext &= 1);\n pushSuspenseListContext(workInProgress, suspenseContext);\n \"backwards\" === revealOrder && null !== current\n ? (reverseChildren(current),\n reconcileChildren(current, workInProgress, nextProps, renderLanes),\n reverseChildren(current))\n : reconcileChildren(current, workInProgress, nextProps, renderLanes);\n nextProps = isHydrating ? treeForkCount : 0;\n if (!shouldForceFallback && null !== current && 0 !== (current.flags & 128))\n a: for (current = workInProgress.child; null !== current; ) {\n if (13 === current.tag)\n null !== current.memoizedState &&\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (19 === current.tag)\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (null !== current.child) {\n current.child.return = current;\n current = current.child;\n continue;\n }\n if (current === workInProgress) break a;\n for (; null === current.sibling; ) {\n if (null === current.return || current.return === workInProgress)\n break a;\n current = current.return;\n }\n current.sibling.return = current.return;\n current = current.sibling;\n }\n switch (revealOrder) {\n case \"backwards\":\n renderLanes = findLastContentRow(workInProgress.child);\n null === renderLanes\n ? ((revealOrder = workInProgress.child), (workInProgress.child = null))\n : ((revealOrder = renderLanes.sibling),\n (renderLanes.sibling = null),\n reverseChildren(workInProgress));\n initSuspenseListRenderState(\n workInProgress,\n !0,\n revealOrder,\n null,\n tailMode,\n nextProps\n );\n break;\n case \"unstable_legacy-backwards\":\n renderLanes = null;\n revealOrder = workInProgress.child;\n for (workInProgress.child = null; null !== revealOrder; ) {\n current = revealOrder.alternate;\n if (null !== current && null === findFirstSuspended(current)) {\n workInProgress.child = revealOrder;\n break;\n }\n current = revealOrder.sibling;\n revealOrder.sibling = renderLanes;\n renderLanes = revealOrder;\n revealOrder = current;\n }\n initSuspenseListRenderState(\n workInProgress,\n !0,\n renderLanes,\n null,\n tailMode,\n nextProps\n );\n break;\n case \"together\":\n initSuspenseListRenderState(\n workInProgress,\n !1,\n null,\n null,\n void 0,\n nextProps\n );\n break;\n case \"independent\":\n workInProgress.memoizedState = null;\n break;\n default:\n (renderLanes = findLastContentRow(workInProgress.child)),\n null === renderLanes\n ? ((revealOrder = workInProgress.child),\n (workInProgress.child = null))\n : ((revealOrder = renderLanes.sibling), (renderLanes.sibling = null)),\n initSuspenseListRenderState(\n workInProgress,\n !1,\n revealOrder,\n renderLanes,\n tailMode,\n nextProps\n );\n }\n return workInProgress.child;\n}\nfunction updateContextProvider(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps;\n pushProvider(workInProgress, workInProgress.type, newProps.value);\n reconcileChildren(current, workInProgress, newProps.children, renderLanes);\n return workInProgress.child;\n}\nfunction bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n null !== current && (workInProgress.dependencies = current.dependencies);\n workInProgressRootSkippedLanes |= workInProgress.lanes;\n if (0 === (renderLanes & workInProgress.childLanes))\n if (null !== current) {\n if (\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n 0 === (renderLanes & workInProgress.childLanes))\n )\n return null;\n } else return null;\n if (null !== current && workInProgress.child !== current.child)\n throw Error(formatProdErrorMessage(153));\n if (null !== workInProgress.child) {\n current = workInProgress.child;\n renderLanes = createWorkInProgress(current, current.pendingProps);\n workInProgress.child = renderLanes;\n for (renderLanes.return = workInProgress; null !== current.sibling; )\n (current = current.sibling),\n (renderLanes = renderLanes.sibling =\n createWorkInProgress(current, current.pendingProps)),\n (renderLanes.return = workInProgress);\n renderLanes.sibling = null;\n }\n return workInProgress.child;\n}\nfunction checkScheduledUpdateOrContext(current, renderLanes) {\n if (0 !== (current.lanes & renderLanes)) return !0;\n current = current.dependencies;\n return null !== current && checkIfContextChanged(current) ? !0 : !1;\n}\nfunction attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n) {\n switch (workInProgress.tag) {\n case 3:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n resetHydrationState();\n break;\n case 27:\n case 5:\n pushHostContext(workInProgress);\n break;\n case 4:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n break;\n case 10:\n pushProvider(\n workInProgress,\n workInProgress.type,\n workInProgress.memoizedProps.value\n );\n break;\n case 31:\n if (null !== workInProgress.memoizedState)\n return (\n (workInProgress.flags |= 128),\n pushDehydratedActivitySuspenseHandler(workInProgress),\n null\n );\n break;\n case 13:\n var state$108 = workInProgress.memoizedState;\n if (null !== state$108) {\n if (null !== state$108.dehydrated)\n return (\n pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags |= 128),\n null\n );\n state$108 = propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n );\n var primaryChildLanes = workInProgress.child.childLanes;\n if (state$108 || 0 !== (renderLanes & primaryChildLanes))\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n pushPrimaryTreeSuspenseHandler(workInProgress);\n current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n return null !== current ? current.sibling : null;\n }\n pushPrimaryTreeSuspenseHandler(workInProgress);\n break;\n case 19:\n if (workInProgress.flags & 128)\n return updateSuspenseListComponent(\n current,\n workInProgress,\n renderLanes\n );\n primaryChildLanes = 0 !== (current.flags & 128);\n state$108 = 0 !== (renderLanes & workInProgress.childLanes);\n state$108 ||\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n (state$108 = 0 !== (renderLanes & workInProgress.childLanes)));\n if (primaryChildLanes) {\n if (state$108)\n return updateSuspenseListComponent(\n current,\n workInProgress,\n renderLanes\n );\n workInProgress.flags |= 128;\n }\n primaryChildLanes = workInProgress.memoizedState;\n null !== primaryChildLanes &&\n ((primaryChildLanes.rendering = null),\n (primaryChildLanes.tail = null),\n (primaryChildLanes.lastEffect = null));\n pushSuspenseListContext(workInProgress, suspenseStackCursor.current);\n if (state$108) break;\n else return null;\n case 22:\n return (\n (workInProgress.lanes = 0),\n updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n workInProgress.pendingProps\n )\n );\n case 24:\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n }\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n}\nfunction beginWork(current, workInProgress, renderLanes) {\n if (null !== current)\n if (current.memoizedProps !== workInProgress.pendingProps)\n didReceiveUpdate = !0;\n else {\n if (\n !checkScheduledUpdateOrContext(current, renderLanes) &&\n 0 === (workInProgress.flags & 128)\n )\n return (\n (didReceiveUpdate = !1),\n attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n )\n );\n didReceiveUpdate = 0 !== (current.flags & 131072) ? !0 : !1;\n }\n else\n (didReceiveUpdate = !1),\n isHydrating &&\n 0 !== (workInProgress.flags & 1048576) &&\n pushTreeId(workInProgress, treeForkCount, workInProgress.index);\n workInProgress.lanes = 0;\n switch (workInProgress.tag) {\n case 16:\n a: {\n var props = workInProgress.pendingProps;\n current = resolveLazy(workInProgress.elementType);\n workInProgress.type = current;\n if (\"function\" === typeof current)\n shouldConstruct(current)\n ? ((props = resolveClassComponentProps(current, props)),\n (workInProgress.tag = 1),\n (workInProgress = updateClassComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n )))\n : ((workInProgress.tag = 0),\n (workInProgress = updateFunctionComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n )));\n else {\n if (void 0 !== current && null !== current) {\n var $$typeof = current.$$typeof;\n if ($$typeof === REACT_FORWARD_REF_TYPE) {\n workInProgress.tag = 11;\n workInProgress = updateForwardRef(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n );\n break a;\n } else if ($$typeof === REACT_MEMO_TYPE) {\n workInProgress.tag = 14;\n workInProgress = updateMemoComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n );\n break a;\n } else if ($$typeof === REACT_CONTEXT_TYPE) {\n workInProgress.tag = 10;\n workInProgress.type = current;\n workInProgress = updateContextProvider(\n null,\n workInProgress,\n renderLanes\n );\n break a;\n }\n }\n workInProgress = getComponentNameFromType(current) || current;\n throw Error(formatProdErrorMessage(306, workInProgress, \"\"));\n }\n }\n return workInProgress;\n case 0:\n return updateFunctionComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 1:\n return (\n (props = workInProgress.type),\n ($$typeof = resolveClassComponentProps(\n props,\n workInProgress.pendingProps\n )),\n updateClassComponent(\n current,\n workInProgress,\n props,\n $$typeof,\n renderLanes\n )\n );\n case 3:\n a: {\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n );\n if (null === current) throw Error(formatProdErrorMessage(387));\n props = workInProgress.pendingProps;\n var prevState = workInProgress.memoizedState;\n $$typeof = prevState.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, props, null, renderLanes);\n var nextState = workInProgress.memoizedState;\n props = nextState.cache;\n pushProvider(workInProgress, CacheContext, props);\n props !== prevState.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n );\n suspendIfUpdateReadFromEntangledAsyncAction();\n props = nextState.element;\n if (prevState.isDehydrated)\n if (\n ((prevState = {\n element: props,\n isDehydrated: !1,\n cache: nextState.cache\n }),\n (workInProgress.updateQueue.baseState = prevState),\n (workInProgress.memoizedState = prevState),\n workInProgress.flags & 256)\n ) {\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n props,\n renderLanes\n );\n break a;\n } else if (props !== $$typeof) {\n $$typeof = createCapturedValueAtFiber(\n Error(formatProdErrorMessage(424)),\n workInProgress\n );\n queueHydrationError($$typeof);\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n props,\n renderLanes\n );\n break a;\n } else {\n current = workInProgress.stateNode.containerInfo;\n switch (current.nodeType) {\n case 9:\n current = current.body;\n break;\n default:\n current =\n \"HTML\" === current.nodeName\n ? current.ownerDocument.body\n : current;\n }\n nextHydratableInstance = getNextHydratable(current.firstChild);\n hydrationParentFiber = workInProgress;\n isHydrating = !0;\n hydrationErrors = null;\n rootOrSingletonContext = !0;\n renderLanes = mountChildFibers(\n workInProgress,\n null,\n props,\n renderLanes\n );\n for (workInProgress.child = renderLanes; renderLanes; )\n (renderLanes.flags = (renderLanes.flags & -3) | 134221824),\n (renderLanes = renderLanes.sibling);\n }\n else {\n resetHydrationState();\n if (props === $$typeof) {\n workInProgress = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n break a;\n }\n reconcileChildren(current, workInProgress, props, renderLanes);\n }\n workInProgress = workInProgress.child;\n }\n return workInProgress;\n case 26:\n return (\n markRef(current, workInProgress),\n null === current\n ? (renderLanes = getResource(\n workInProgress.type,\n null,\n workInProgress.pendingProps,\n null\n ))\n ? (workInProgress.memoizedState = renderLanes)\n : isHydrating ||\n (workInProgress.stateNode = createHoistableInstance(\n workInProgress.type,\n workInProgress.pendingProps,\n rootInstanceStackCursor.current,\n workInProgress\n ))\n : (workInProgress.memoizedState = getResource(\n workInProgress.type,\n current.memoizedProps,\n workInProgress.pendingProps,\n current.memoizedState\n )),\n null\n );\n case 27:\n return (\n pushHostContext(workInProgress),\n null === current &&\n isHydrating &&\n ((props = workInProgress.stateNode =\n resolveSingletonInstance(\n workInProgress.type,\n workInProgress.pendingProps,\n rootInstanceStackCursor.current\n )),\n (hydrationParentFiber = workInProgress),\n (rootOrSingletonContext = !0),\n ($$typeof = nextHydratableInstance),\n isSingletonScope(workInProgress.type)\n ? ((previousHydratableOnEnteringScopedSingleton = $$typeof),\n (nextHydratableInstance = getNextHydratable(props.firstChild)))\n : (nextHydratableInstance = $$typeof)),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n markRef(current, workInProgress),\n null === current && (workInProgress.flags |= 4194304),\n workInProgress.child\n );\n case 5:\n if (null === current && isHydrating) {\n if (($$typeof = props = nextHydratableInstance))\n (props = canHydrateInstance(\n props,\n workInProgress.type,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== props\n ? ((workInProgress.stateNode = props),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = getNextHydratable(props.firstChild)),\n (rootOrSingletonContext = !1),\n ($$typeof = !0))\n : ($$typeof = !1);\n $$typeof || throwOnHydrationMismatch(workInProgress);\n }\n pushHostContext(workInProgress);\n $$typeof = workInProgress.type;\n prevState = workInProgress.pendingProps;\n nextState = null !== current ? current.memoizedProps : null;\n props = prevState.children;\n shouldSetTextContent($$typeof, prevState)\n ? (props = null)\n : null !== nextState &&\n shouldSetTextContent($$typeof, nextState) &&\n (workInProgress.flags |= 32);\n null !== workInProgress.memoizedState &&\n (($$typeof = renderWithHooks(\n current,\n workInProgress,\n TransitionAwareHostComponent,\n null,\n null,\n renderLanes\n )),\n (HostTransitionContext._currentValue = $$typeof));\n markRef(current, workInProgress);\n reconcileChildren(current, workInProgress, props, renderLanes);\n return workInProgress.child;\n case 6:\n if (null === current && isHydrating) {\n if ((current = renderLanes = nextHydratableInstance))\n (renderLanes = canHydrateTextInstance(\n renderLanes,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== renderLanes\n ? ((workInProgress.stateNode = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null),\n (current = !0))\n : (current = !1);\n current || throwOnHydrationMismatch(workInProgress);\n }\n return null;\n case 13:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n case 4:\n return (\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n ),\n (props = workInProgress.pendingProps),\n null === current\n ? (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n props,\n renderLanes\n ))\n : reconcileChildren(current, workInProgress, props, renderLanes),\n workInProgress.child\n );\n case 11:\n return updateForwardRef(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 7:\n return (\n (props = workInProgress.pendingProps),\n markRef(current, workInProgress),\n reconcileChildren(current, workInProgress, props, renderLanes),\n workInProgress.child\n );\n case 8:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 12:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 10:\n return updateContextProvider(current, workInProgress, renderLanes);\n case 9:\n return (\n ($$typeof = workInProgress.type._context),\n (props = workInProgress.pendingProps.children),\n prepareToReadContext(workInProgress),\n ($$typeof = readContext($$typeof)),\n (props = props($$typeof)),\n (workInProgress.flags |= 1),\n reconcileChildren(current, workInProgress, props, renderLanes),\n workInProgress.child\n );\n case 14:\n return updateMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 15:\n return updateSimpleMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 19:\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n case 31:\n return updateActivityComponent(current, workInProgress, renderLanes);\n case 22:\n return updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n workInProgress.pendingProps\n );\n case 24:\n return (\n prepareToReadContext(workInProgress),\n (props = readContext(CacheContext)),\n null === current\n ? (($$typeof = peekCacheFromPool()),\n null === $$typeof &&\n (($$typeof = workInProgressRoot),\n (prevState = createCache()),\n ($$typeof.pooledCache = prevState),\n prevState.refCount++,\n null !== prevState && ($$typeof.pooledCacheLanes |= renderLanes),\n ($$typeof = prevState)),\n (workInProgress.memoizedState = { parent: props, cache: $$typeof }),\n initializeUpdateQueue(workInProgress),\n pushProvider(workInProgress, CacheContext, $$typeof))\n : (0 !== (current.lanes & renderLanes) &&\n (cloneUpdateQueue(current, workInProgress),\n processUpdateQueue(workInProgress, null, null, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction()),\n ($$typeof = current.memoizedState),\n (prevState = workInProgress.memoizedState),\n $$typeof.parent !== props\n ? (($$typeof = { parent: props, cache: props }),\n (workInProgress.memoizedState = $$typeof),\n 0 === workInProgress.lanes &&\n (workInProgress.memoizedState =\n workInProgress.updateQueue.baseState =\n $$typeof),\n pushProvider(workInProgress, CacheContext, props))\n : ((props = prevState.cache),\n pushProvider(workInProgress, CacheContext, props),\n props !== $$typeof.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n ))),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 30:\n return (\n null === workInProgress.stateNode &&\n (workInProgress.stateNode = {\n autoName: null,\n paired: null,\n clones: null,\n ref: null\n }),\n (props = workInProgress.pendingProps),\n null != props.name && \"auto\" !== props.name\n ? (workInProgress.flags |= null === current ? 18882560 : 18874368)\n : isHydrating && pushMaterializedTreeId(workInProgress),\n null !== current && current.memoizedProps.name !== props.name\n ? (workInProgress.flags |= 4194816)\n : markRef(current, workInProgress),\n reconcileChildren(current, workInProgress, props.children, renderLanes),\n workInProgress.child\n );\n case 29:\n throw workInProgress.pendingProps;\n }\n throw Error(formatProdErrorMessage(156, workInProgress.tag));\n}\nfunction markUpdate(workInProgress) {\n workInProgress.flags |= 4;\n}\nfunction preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n oldProps,\n newProps,\n renderLanes\n) {\n var JSCompiler_temp;\n if ((JSCompiler_temp = 0 !== (workInProgress.mode & 32)))\n JSCompiler_temp =\n null === oldProps\n ? maySuspendCommit(type, newProps)\n : maySuspendCommit(type, newProps) &&\n (newProps.src !== oldProps.src ||\n newProps.srcSet !== oldProps.srcSet);\n if (JSCompiler_temp) {\n if (\n ((workInProgress.flags |= 16777216),\n (renderLanes & 335544128) === renderLanes)\n )\n if (workInProgress.stateNode.complete) workInProgress.flags |= 8192;\n else if (shouldRemainOnPreviousScreen()) workInProgress.flags |= 8192;\n else\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n } else workInProgress.flags &= -16777217;\n}\nfunction preloadResourceAndSuspendIfNeeded(workInProgress, resource) {\n if (\"stylesheet\" !== resource.type || 0 !== (resource.state.loading & 4))\n workInProgress.flags &= -16777217;\n else if (((workInProgress.flags |= 16777216), !preloadResource(resource)))\n if (shouldRemainOnPreviousScreen()) workInProgress.flags |= 8192;\n else\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n}\nfunction scheduleRetryEffect(workInProgress, retryQueue) {\n null !== retryQueue && (workInProgress.flags |= 4);\n workInProgress.flags & 16384 &&\n ((retryQueue =\n 22 !== workInProgress.tag ? claimNextRetryLane() : 536870912),\n (workInProgress.lanes |= retryQueue),\n (workInProgressSuspendedRetryLanes |= retryQueue));\n}\nfunction cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n if (!isHydrating)\n switch (renderState.tailMode) {\n case \"visible\":\n break;\n case \"collapsed\":\n for (\n var tailNode = renderState.tail, lastTailNode = null;\n null !== tailNode;\n\n )\n null !== tailNode.alternate && (lastTailNode = tailNode),\n (tailNode = tailNode.sibling);\n null === lastTailNode\n ? hasRenderedATailFallback || null === renderState.tail\n ? (renderState.tail = null)\n : (renderState.tail.sibling = null)\n : (lastTailNode.sibling = null);\n break;\n default:\n hasRenderedATailFallback = renderState.tail;\n for (tailNode = null; null !== hasRenderedATailFallback; )\n null !== hasRenderedATailFallback.alternate &&\n (tailNode = hasRenderedATailFallback),\n (hasRenderedATailFallback = hasRenderedATailFallback.sibling);\n null === tailNode\n ? (renderState.tail = null)\n : (tailNode.sibling = null);\n }\n}\nfunction bubbleProperties(completedWork) {\n var didBailout =\n null !== completedWork.alternate &&\n completedWork.alternate.child === completedWork.child,\n newChildLanes = 0,\n subtreeFlags = 0;\n if (didBailout)\n for (var child$113 = completedWork.child; null !== child$113; )\n (newChildLanes |= child$113.lanes | child$113.childLanes),\n (subtreeFlags |= child$113.subtreeFlags & 1206910976),\n (subtreeFlags |= child$113.flags & 1206910976),\n (child$113.return = completedWork),\n (child$113 = child$113.sibling);\n else\n for (child$113 = completedWork.child; null !== child$113; )\n (newChildLanes |= child$113.lanes | child$113.childLanes),\n (subtreeFlags |= child$113.subtreeFlags),\n (subtreeFlags |= child$113.flags),\n (child$113.return = completedWork),\n (child$113 = child$113.sibling);\n completedWork.subtreeFlags |= subtreeFlags;\n completedWork.childLanes = newChildLanes;\n return didBailout;\n}\nfunction completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps;\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 16:\n case 15:\n case 0:\n case 11:\n case 7:\n case 8:\n case 12:\n case 9:\n case 14:\n return bubbleProperties(workInProgress), null;\n case 1:\n return bubbleProperties(workInProgress), null;\n case 3:\n renderLanes = workInProgress.stateNode;\n newProps = null;\n null !== current && (newProps = current.memoizedState.cache);\n workInProgress.memoizedState.cache !== newProps &&\n (workInProgress.flags |= 2048);\n popProvider(CacheContext);\n popHostContainer();\n renderLanes.pendingContext &&\n ((renderLanes.context = renderLanes.pendingContext),\n (renderLanes.pendingContext = null));\n if (null === current || null === current.child)\n popHydrationState(workInProgress)\n ? markUpdate(workInProgress)\n : null === current ||\n (current.memoizedState.isDehydrated &&\n 0 === (workInProgress.flags & 256)) ||\n ((workInProgress.flags |= 1024),\n upgradeHydrationErrorsToRecoverable());\n bubbleProperties(workInProgress);\n return null;\n case 26:\n var type = workInProgress.type,\n nextResource = workInProgress.memoizedState;\n null === current\n ? (markUpdate(workInProgress),\n null !== nextResource\n ? (bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(workInProgress, nextResource))\n : (bubbleProperties(workInProgress),\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n null,\n newProps,\n renderLanes\n )))\n : nextResource\n ? nextResource !== current.memoizedState\n ? (markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(workInProgress, nextResource))\n : (bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217))\n : ((current = current.memoizedProps),\n current !== newProps && markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n current,\n newProps,\n renderLanes\n ));\n return null;\n case 27:\n popHostContext(workInProgress);\n renderLanes = rootInstanceStackCursor.current;\n type = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n workInProgress.subtreeFlags &= -33554433;\n return null;\n }\n current = contextStackCursor.current;\n popHydrationState(workInProgress)\n ? prepareToHydrateHostInstance(workInProgress, current)\n : ((current = resolveSingletonInstance(type, newProps, renderLanes)),\n (workInProgress.stateNode = current),\n markUpdate(workInProgress));\n }\n bubbleProperties(workInProgress);\n workInProgress.subtreeFlags &= -33554433;\n return null;\n case 5:\n popHostContext(workInProgress);\n type = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n workInProgress.subtreeFlags &= -33554433;\n return null;\n }\n nextResource = contextStackCursor.current;\n if (popHydrationState(workInProgress))\n prepareToHydrateHostInstance(workInProgress, nextResource);\n else {\n var ownerDocument = getOwnerDocumentFromRootContainer(\n rootInstanceStackCursor.current\n );\n switch (nextResource) {\n case 1:\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/2000/svg\",\n type\n );\n break;\n case 2:\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/1998/Math/MathML\",\n type\n );\n break;\n default:\n switch (type) {\n case \"svg\":\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/2000/svg\",\n type\n );\n break;\n case \"math\":\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/1998/Math/MathML\",\n type\n );\n break;\n case \"script\":\n nextResource = ownerDocument.createElement(\"div\");\n nextResource.innerHTML = \"<script>\\x3c/script>\";\n nextResource = nextResource.removeChild(\n nextResource.firstChild\n );\n break;\n case \"select\":\n nextResource =\n \"string\" === typeof newProps.is\n ? ownerDocument.createElement(\"select\", {\n is: newProps.is\n })\n : ownerDocument.createElement(\"select\");\n newProps.multiple\n ? (nextResource.multiple = !0)\n : newProps.size && (nextResource.size = newProps.size);\n break;\n default:\n nextResource =\n \"string\" === typeof newProps.is\n ? ownerDocument.createElement(type, { is: newProps.is })\n : ownerDocument.createElement(type);\n }\n }\n nextResource[internalInstanceKey] = workInProgress;\n nextResource[internalPropsKey] = newProps;\n a: for (\n ownerDocument = workInProgress.child;\n null !== ownerDocument;\n\n ) {\n if (5 === ownerDocument.tag || 6 === ownerDocument.tag)\n nextResource.appendChild(ownerDocument.stateNode);\n else if (\n 4 !== ownerDocument.tag &&\n 27 !== ownerDocument.tag &&\n null !== ownerDocument.child\n ) {\n ownerDocument.child.return = ownerDocument;\n ownerDocument = ownerDocument.child;\n continue;\n }\n if (ownerDocument === workInProgress) break a;\n for (; null === ownerDocument.sibling; ) {\n if (\n null === ownerDocument.return ||\n ownerDocument.return === workInProgress\n )\n break a;\n ownerDocument = ownerDocument.return;\n }\n ownerDocument.sibling.return = ownerDocument.return;\n ownerDocument = ownerDocument.sibling;\n }\n workInProgress.stateNode = nextResource;\n a: switch (\n (setInitialProperties(nextResource, type, newProps), type)\n ) {\n case \"button\":\n case \"input\":\n case \"select\":\n case \"textarea\":\n newProps = !!newProps.autoFocus;\n break a;\n case \"img\":\n newProps = !0;\n break a;\n default:\n newProps = !1;\n }\n newProps && markUpdate(workInProgress);\n }\n }\n bubbleProperties(workInProgress);\n workInProgress.subtreeFlags &= -33554433;\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n workInProgress.type,\n null === current ? null : current.memoizedProps,\n workInProgress.pendingProps,\n renderLanes\n );\n return null;\n case 6:\n if (current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (\"string\" !== typeof newProps && null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n current = rootInstanceStackCursor.current;\n if (popHydrationState(workInProgress)) {\n current = workInProgress.stateNode;\n renderLanes = workInProgress.memoizedProps;\n newProps = null;\n type = hydrationParentFiber;\n if (null !== type)\n switch (type.tag) {\n case 27:\n case 5:\n newProps = type.memoizedProps;\n }\n current[internalInstanceKey] = workInProgress;\n current =\n current.nodeValue === renderLanes ||\n (null !== newProps && !0 === newProps.suppressHydrationWarning) ||\n checkForUnmatchedText(current.nodeValue, renderLanes)\n ? !0\n : !1;\n current || throwOnHydrationMismatch(workInProgress, !0);\n } else\n (current =\n getOwnerDocumentFromRootContainer(current).createTextNode(\n newProps\n )),\n (current[internalInstanceKey] = workInProgress),\n (workInProgress.stateNode = current);\n }\n bubbleProperties(workInProgress);\n return null;\n case 31:\n renderLanes = workInProgress.memoizedState;\n if (null === current || null !== current.memoizedState) {\n newProps = popHydrationState(workInProgress);\n if (null !== renderLanes) {\n if (null === current) {\n if (!newProps) throw Error(formatProdErrorMessage(318));\n current = workInProgress.memoizedState;\n current = null !== current ? current.dehydrated : null;\n if (!current) throw Error(formatProdErrorMessage(557));\n current[internalInstanceKey] = workInProgress;\n } else\n resetHydrationState(),\n 0 === (workInProgress.flags & 128) &&\n (workInProgress.memoizedState = null),\n (workInProgress.flags |= 4);\n bubbleProperties(workInProgress);\n current = !1;\n } else\n (renderLanes = upgradeHydrationErrorsToRecoverable()),\n null !== current &&\n null !== current.memoizedState &&\n (current.memoizedState.hydrationErrors = renderLanes),\n (current = !0);\n if (!current) {\n if (workInProgress.flags & 256)\n return popSuspenseHandler(workInProgress), workInProgress;\n popSuspenseHandler(workInProgress);\n return null;\n }\n if (0 !== (workInProgress.flags & 128))\n throw Error(formatProdErrorMessage(558));\n }\n bubbleProperties(workInProgress);\n return null;\n case 13:\n newProps = workInProgress.memoizedState;\n if (\n null === current ||\n (null !== current.memoizedState &&\n null !== current.memoizedState.dehydrated)\n ) {\n type = popHydrationState(workInProgress);\n if (null !== newProps && null !== newProps.dehydrated) {\n if (null === current) {\n if (!type) throw Error(formatProdErrorMessage(318));\n type = workInProgress.memoizedState;\n type = null !== type ? type.dehydrated : null;\n if (!type) throw Error(formatProdErrorMessage(317));\n type[internalInstanceKey] = workInProgress;\n } else\n resetHydrationState(),\n 0 === (workInProgress.flags & 128) &&\n (workInProgress.memoizedState = null),\n (workInProgress.flags |= 4);\n bubbleProperties(workInProgress);\n type = !1;\n } else\n (type = upgradeHydrationErrorsToRecoverable()),\n null !== current &&\n null !== current.memoizedState &&\n (current.memoizedState.hydrationErrors = type),\n (type = !0);\n if (!type) {\n if (workInProgress.flags & 256)\n return popSuspenseHandler(workInProgress), workInProgress;\n popSuspenseHandler(workInProgress);\n return null;\n }\n }\n popSuspenseHandler(workInProgress);\n if (0 !== (workInProgress.flags & 128))\n return (workInProgress.lanes = renderLanes), workInProgress;\n renderLanes = null !== newProps;\n current = null !== current && null !== current.memoizedState;\n renderLanes &&\n ((newProps = workInProgress.child),\n (type = null),\n null !== newProps.alternate &&\n null !== newProps.alternate.memoizedState &&\n null !== newProps.alternate.memoizedState.cachePool &&\n (type = newProps.alternate.memoizedState.cachePool.pool),\n (nextResource = null),\n null !== newProps.memoizedState &&\n null !== newProps.memoizedState.cachePool &&\n (nextResource = newProps.memoizedState.cachePool.pool),\n nextResource !== type && (newProps.flags |= 2048));\n renderLanes !== current &&\n renderLanes &&\n (workInProgress.child.flags |= 8192);\n scheduleRetryEffect(workInProgress, workInProgress.updateQueue);\n bubbleProperties(workInProgress);\n return null;\n case 4:\n return (\n popHostContainer(),\n null === current &&\n listenToAllSupportedEvents(workInProgress.stateNode.containerInfo),\n (workInProgress.flags |= 67108864),\n bubbleProperties(workInProgress),\n null\n );\n case 10:\n return (\n popProvider(workInProgress.type), bubbleProperties(workInProgress), null\n );\n case 19:\n popSuspenseListContext(workInProgress);\n newProps = workInProgress.memoizedState;\n if (null === newProps) return bubbleProperties(workInProgress), null;\n type = 0 !== (workInProgress.flags & 128);\n nextResource = newProps.rendering;\n if (null === nextResource)\n if (type) cutOffTailIfNeeded(newProps, !1);\n else {\n if (\n 0 !== workInProgressRootExitStatus ||\n (null !== current && 0 !== (current.flags & 128))\n )\n for (current = workInProgress.child; null !== current; ) {\n nextResource = findFirstSuspended(current);\n if (null !== nextResource) {\n workInProgress.flags |= 128;\n cutOffTailIfNeeded(newProps, !1);\n current = nextResource.updateQueue;\n workInProgress.updateQueue = current;\n scheduleRetryEffect(workInProgress, current);\n workInProgress.subtreeFlags = 0;\n current = renderLanes;\n for (renderLanes = workInProgress.child; null !== renderLanes; )\n resetWorkInProgress(renderLanes, current),\n (renderLanes = renderLanes.sibling);\n pushSuspenseListContext(\n workInProgress,\n (suspenseStackCursor.current & 1) | 2\n );\n isHydrating &&\n pushTreeFork(workInProgress, newProps.treeForkCount);\n return workInProgress.child;\n }\n current = current.sibling;\n }\n null !== newProps.tail &&\n now() > workInProgressRootRenderTargetTime &&\n ((workInProgress.flags |= 128),\n (type = !0),\n cutOffTailIfNeeded(newProps, !1),\n (workInProgress.lanes = 4194304));\n }\n else {\n if (!type)\n if (\n ((current = findFirstSuspended(nextResource)), null !== current)\n ) {\n if (\n ((workInProgress.flags |= 128),\n (type = !0),\n (current = current.updateQueue),\n (workInProgress.updateQueue = current),\n scheduleRetryEffect(workInProgress, current),\n cutOffTailIfNeeded(newProps, !0),\n null === newProps.tail &&\n \"collapsed\" !== newProps.tailMode &&\n \"visible\" !== newProps.tailMode &&\n !nextResource.alternate &&\n !isHydrating)\n )\n return bubbleProperties(workInProgress), null;\n } else\n 2 * now() - newProps.renderingStartTime >\n workInProgressRootRenderTargetTime &&\n 536870912 !== renderLanes &&\n ((workInProgress.flags |= 128),\n (type = !0),\n cutOffTailIfNeeded(newProps, !1),\n (workInProgress.lanes = 4194304));\n newProps.isBackwards\n ? ((nextResource.sibling = workInProgress.child),\n (workInProgress.child = nextResource))\n : ((current = newProps.last),\n null !== current\n ? (current.sibling = nextResource)\n : (workInProgress.child = nextResource),\n (newProps.last = nextResource));\n }\n if (null !== newProps.tail) {\n current = newProps.tail;\n a: {\n for (renderLanes = current; null !== renderLanes; ) {\n if (null !== renderLanes.alternate) {\n renderLanes = !1;\n break a;\n }\n renderLanes = renderLanes.sibling;\n }\n renderLanes = !0;\n }\n newProps.rendering = current;\n newProps.tail = current.sibling;\n newProps.renderingStartTime = now();\n current.sibling = null;\n nextResource = suspenseStackCursor.current;\n nextResource = type ? (nextResource & 1) | 2 : nextResource & 1;\n \"visible\" === newProps.tailMode ||\n \"collapsed\" === newProps.tailMode ||\n !renderLanes ||\n isHydrating\n ? pushSuspenseListContext(workInProgress, nextResource)\n : ((renderLanes = nextResource),\n push(suspenseHandlerStackCursor, workInProgress),\n push(suspenseStackCursor, renderLanes),\n null === shellBoundary && (shellBoundary = workInProgress));\n isHydrating && pushTreeFork(workInProgress, newProps.treeForkCount);\n return current;\n }\n bubbleProperties(workInProgress);\n return null;\n case 22:\n case 23:\n return (\n popSuspenseHandler(workInProgress),\n popHiddenContext(),\n (newProps = null !== workInProgress.memoizedState),\n null !== current\n ? (null !== current.memoizedState) !== newProps &&\n (workInProgress.flags |= 8192)\n : newProps && (workInProgress.flags |= 8192),\n newProps\n ? 0 !== (renderLanes & 536870912) &&\n 0 === (workInProgress.flags & 128) &&\n (bubbleProperties(workInProgress),\n workInProgress.subtreeFlags & 6 && (workInProgress.flags |= 8192))\n : bubbleProperties(workInProgress),\n (renderLanes = workInProgress.updateQueue),\n null !== renderLanes &&\n scheduleRetryEffect(workInProgress, renderLanes.retryQueue),\n (renderLanes = null),\n null !== current &&\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n (renderLanes = current.memoizedState.cachePool.pool),\n (newProps = null),\n null !== workInProgress.memoizedState &&\n null !== workInProgress.memoizedState.cachePool &&\n (newProps = workInProgress.memoizedState.cachePool.pool),\n newProps !== renderLanes && (workInProgress.flags |= 2048),\n null !== current && pop(resumedCache),\n null\n );\n case 24:\n return (\n (renderLanes = null),\n null !== current && (renderLanes = current.memoizedState.cache),\n workInProgress.memoizedState.cache !== renderLanes &&\n (workInProgress.flags |= 2048),\n popProvider(CacheContext),\n bubbleProperties(workInProgress),\n null\n );\n case 25:\n return null;\n case 30:\n return (\n (workInProgress.flags |= 33554432),\n bubbleProperties(workInProgress),\n null\n );\n }\n throw Error(formatProdErrorMessage(156, workInProgress.tag));\n}\nfunction unwindWork(current, workInProgress) {\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 1:\n return (\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 3:\n return (\n popProvider(CacheContext),\n popHostContainer(),\n (current = workInProgress.flags),\n 0 !== (current & 65536) && 0 === (current & 128)\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 26:\n case 27:\n case 5:\n return popHostContext(workInProgress), null;\n case 31:\n if (null !== workInProgress.memoizedState) {\n popSuspenseHandler(workInProgress);\n if (null === workInProgress.alternate)\n throw Error(formatProdErrorMessage(340));\n resetHydrationState();\n }\n current = workInProgress.flags;\n return current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null;\n case 13:\n popSuspenseHandler(workInProgress);\n current = workInProgress.memoizedState;\n if (null !== current && null !== current.dehydrated) {\n if (null === workInProgress.alternate)\n throw Error(formatProdErrorMessage(340));\n resetHydrationState();\n }\n current = workInProgress.flags;\n return current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null;\n case 19:\n return (\n popSuspenseListContext(workInProgress),\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128),\n (current = workInProgress.memoizedState),\n null !== current &&\n ((current.rendering = null), (current.tail = null)),\n (workInProgress.flags |= 4),\n workInProgress)\n : null\n );\n case 4:\n return popHostContainer(), null;\n case 10:\n return popProvider(workInProgress.type), null;\n case 22:\n case 23:\n return (\n popSuspenseHandler(workInProgress),\n popHiddenContext(),\n null !== current && pop(resumedCache),\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 24:\n return popProvider(CacheContext), null;\n case 25:\n return null;\n default:\n return null;\n }\n}\nfunction unwindInterruptedWork(current, interruptedWork) {\n popTreeContext(interruptedWork);\n switch (interruptedWork.tag) {\n case 3:\n popProvider(CacheContext);\n popHostContainer();\n break;\n case 26:\n case 27:\n case 5:\n popHostContext(interruptedWork);\n break;\n case 4:\n popHostContainer();\n break;\n case 31:\n null !== interruptedWork.memoizedState &&\n popSuspenseHandler(interruptedWork);\n break;\n case 13:\n popSuspenseHandler(interruptedWork);\n break;\n case 19:\n popSuspenseListContext(interruptedWork);\n break;\n case 10:\n popProvider(interruptedWork.type);\n break;\n case 22:\n case 23:\n popSuspenseHandler(interruptedWork);\n popHiddenContext();\n null !== current && pop(resumedCache);\n break;\n case 24:\n popProvider(CacheContext);\n }\n}\nfunction commitHookEffectListMount(flags, finishedWork) {\n try {\n var updateQueue = finishedWork.updateQueue,\n lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== lastEffect) {\n var firstEffect = lastEffect.next;\n updateQueue = firstEffect;\n do {\n if ((updateQueue.tag & flags) === flags) {\n lastEffect = void 0;\n var create = updateQueue.create,\n inst = updateQueue.inst;\n lastEffect = create();\n inst.destroy = lastEffect;\n }\n updateQueue = updateQueue.next;\n } while (updateQueue !== firstEffect);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction commitHookEffectListUnmount(\n flags,\n finishedWork,\n nearestMountedAncestor$jscomp$0\n) {\n try {\n var updateQueue = finishedWork.updateQueue,\n lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== lastEffect) {\n var firstEffect = lastEffect.next;\n updateQueue = firstEffect;\n do {\n if ((updateQueue.tag & flags) === flags) {\n var inst = updateQueue.inst,\n destroy = inst.destroy;\n if (void 0 !== destroy) {\n inst.destroy = void 0;\n lastEffect = finishedWork;\n var nearestMountedAncestor = nearestMountedAncestor$jscomp$0,\n destroy_ = destroy;\n try {\n destroy_();\n } catch (error) {\n captureCommitPhaseError(\n lastEffect,\n nearestMountedAncestor,\n error\n );\n }\n }\n }\n updateQueue = updateQueue.next;\n } while (updateQueue !== firstEffect);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction commitClassCallbacks(finishedWork) {\n var updateQueue = finishedWork.updateQueue;\n if (null !== updateQueue) {\n var instance = finishedWork.stateNode;\n try {\n commitCallbacks(updateQueue, instance);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n}\nfunction safelyCallComponentWillUnmount(\n current,\n nearestMountedAncestor,\n instance\n) {\n instance.props = resolveClassComponentProps(\n current.type,\n current.memoizedProps\n );\n instance.state = current.memoizedState;\n try {\n instance.componentWillUnmount();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\nfunction safelyAttachRef(current, nearestMountedAncestor) {\n try {\n var ref = current.ref;\n if (null !== ref) {\n switch (current.tag) {\n case 26:\n case 27:\n case 5:\n var instanceToUse = current.stateNode;\n break;\n case 30:\n var instance = current.stateNode,\n name = getViewTransitionName(current.memoizedProps, instance);\n if (null === instance.ref || instance.ref.name !== name)\n instance.ref = createViewTransitionInstance(name);\n instanceToUse = instance.ref;\n break;\n case 7:\n if (null === current.stateNode) {\n var fragmentInstance = new FragmentInstance(current);\n traverseVisibleInstancesAndTextInstances(\n current.child,\n !1,\n addFragmentHandleToFiber,\n fragmentInstance,\n void 0,\n void 0\n );\n current.stateNode = fragmentInstance;\n }\n instanceToUse = current.stateNode;\n break;\n default:\n instanceToUse = current.stateNode;\n }\n \"function\" === typeof ref\n ? (current.refCleanup = ref(instanceToUse))\n : (ref.current = instanceToUse);\n }\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\nfunction safelyDetachRef(current, nearestMountedAncestor) {\n var ref = current.ref,\n refCleanup = current.refCleanup;\n if (null !== ref)\n if (\"function\" === typeof refCleanup)\n try {\n refCleanup();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n } finally {\n (current.refCleanup = null),\n (current = current.alternate),\n null != current && (current.refCleanup = null);\n }\n else if (\"function\" === typeof ref)\n try {\n ref(null);\n } catch (error$148) {\n captureCommitPhaseError(current, nearestMountedAncestor, error$148);\n }\n else ref.current = null;\n}\nfunction commitNewChildToFragmentInstances(fiber, parentFragmentInstances) {\n if (\n (5 === fiber.tag || 27 === fiber.tag || 6 === fiber.tag) &&\n null === fiber.alternate &&\n null !== parentFragmentInstances\n )\n for (var i = 0; i < parentFragmentInstances.length; i++)\n commitNewChildToFragmentInstance(\n fiber.stateNode,\n parentFragmentInstances[i]\n );\n}\nfunction commitFragmentInstanceInsertionEffects(fiber) {\n for (var parent = fiber.return; null !== parent; ) {\n isFragmentInstanceParent(parent) &&\n commitNewChildToFragmentInstance(fiber.stateNode, parent.stateNode);\n if (isFragmentInstanceHostBoundary(parent)) break;\n parent = parent.return;\n }\n}\nfunction commitFragmentInstanceDeletionEffects(fiber) {\n for (var parent = fiber.return; null !== parent; ) {\n isFragmentInstanceParent(parent) &&\n deleteChildFromFragmentInstance(fiber.stateNode, parent.stateNode);\n if (isFragmentInstanceHostBoundary(parent)) break;\n parent = parent.return;\n }\n}\nfunction isFragmentInstanceHostBoundary(fiber) {\n return 5 === fiber.tag || 3 === fiber.tag || 27 === fiber.tag;\n}\nfunction isFragmentInstanceParent(fiber) {\n return fiber && 7 === fiber.tag && null !== fiber.stateNode;\n}\nfunction commitHostMount(finishedWork) {\n var type = finishedWork.type,\n props = finishedWork.memoizedProps,\n instance = finishedWork.stateNode;\n try {\n a: switch (type) {\n case \"button\":\n case \"input\":\n case \"select\":\n case \"textarea\":\n props.autoFocus && instance.focus();\n break a;\n case \"img\":\n props.src\n ? (instance.src = props.src)\n : props.srcSet && (instance.srcset = props.srcSet);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction commitHostUpdate(finishedWork, newProps, oldProps) {\n try {\n var domElement = finishedWork.stateNode;\n updateProperties(domElement, finishedWork.type, oldProps, newProps);\n domElement[internalPropsKey] = newProps;\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction isHostParent(fiber) {\n return (\n 5 === fiber.tag ||\n 3 === fiber.tag ||\n 26 === fiber.tag ||\n (27 === fiber.tag && isSingletonScope(fiber.type)) ||\n 4 === fiber.tag\n );\n}\nfunction getHostSibling(fiber) {\n a: for (;;) {\n for (; null === fiber.sibling; ) {\n if (null === fiber.return || isHostParent(fiber.return)) return null;\n fiber = fiber.return;\n }\n fiber.sibling.return = fiber.return;\n for (\n fiber = fiber.sibling;\n 5 !== fiber.tag && 6 !== fiber.tag && 18 !== fiber.tag;\n\n ) {\n if (27 === fiber.tag && isSingletonScope(fiber.type)) continue a;\n if (fiber.flags & 2) continue a;\n if (null === fiber.child || 4 === fiber.tag) continue a;\n else (fiber.child.return = fiber), (fiber = fiber.child);\n }\n if (!(fiber.flags & 2)) return fiber.stateNode;\n }\n}\nfunction insertOrAppendPlacementNodeIntoContainer(\n node,\n before,\n parent,\n parentFragmentInstances\n) {\n var tag = node.tag;\n if (5 === tag || 6 === tag)\n (tag = node.stateNode),\n before\n ? (9 === parent.nodeType\n ? parent.body\n : \"HTML\" === parent.nodeName\n ? parent.ownerDocument.body\n : parent\n ).insertBefore(tag, before)\n : ((before =\n 9 === parent.nodeType\n ? parent.body\n : \"HTML\" === parent.nodeName\n ? parent.ownerDocument.body\n : parent),\n before.appendChild(tag),\n (parent = parent._reactRootContainer),\n (null !== parent && void 0 !== parent) ||\n null !== before.onclick ||\n (before.onclick = noop$1)),\n commitNewChildToFragmentInstances(node, parentFragmentInstances),\n (viewTransitionMutationContext = !0);\n else if (\n 4 !== tag &&\n (27 === tag &&\n (commitNewChildToFragmentInstances(node, parentFragmentInstances),\n (parentFragmentInstances = null),\n isSingletonScope(node.type) &&\n ((parent = node.stateNode), (before = null))),\n (node = node.child),\n null !== node)\n )\n for (\n insertOrAppendPlacementNodeIntoContainer(\n node,\n before,\n parent,\n parentFragmentInstances\n ),\n node = node.sibling;\n null !== node;\n\n )\n insertOrAppendPlacementNodeIntoContainer(\n node,\n before,\n parent,\n parentFragmentInstances\n ),\n (node = node.sibling);\n}\nfunction insertOrAppendPlacementNode(\n node,\n before,\n parent,\n parentFragmentInstances\n) {\n var tag = node.tag;\n if (5 === tag || 6 === tag)\n (tag = node.stateNode),\n before ? parent.insertBefore(tag, before) : parent.appendChild(tag),\n commitNewChildToFragmentInstances(node, parentFragmentInstances),\n (viewTransitionMutationContext = !0);\n else if (\n 4 !== tag &&\n (27 === tag &&\n (commitNewChildToFragmentInstances(node, parentFragmentInstances),\n (parentFragmentInstances = null),\n isSingletonScope(node.type) && (parent = node.stateNode)),\n (node = node.child),\n null !== node)\n )\n for (\n insertOrAppendPlacementNode(\n node,\n before,\n parent,\n parentFragmentInstances\n ),\n node = node.sibling;\n null !== node;\n\n )\n insertOrAppendPlacementNode(\n node,\n before,\n parent,\n parentFragmentInstances\n ),\n (node = node.sibling);\n}\nfunction commitHostSingletonAcquisition(finishedWork) {\n var singleton = finishedWork.stateNode,\n props = finishedWork.memoizedProps;\n try {\n for (\n var type = finishedWork.type, attributes = singleton.attributes;\n attributes.length;\n\n )\n singleton.removeAttributeNode(attributes[0]);\n setInitialProperties(singleton, type, props);\n singleton[internalInstanceKey] = finishedWork;\n singleton[internalPropsKey] = props;\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nvar shouldStartViewTransition = !1,\n appearingViewTransitions = null;\nfunction trackEnterViewTransitions(placement) {\n if (30 === placement.tag || 0 !== (placement.subtreeFlags & 33554432))\n shouldStartViewTransition = !0;\n}\nvar viewTransitionCancelableChildren = null;\nfunction pushViewTransitionCancelableScope() {\n var prevChildren = viewTransitionCancelableChildren;\n viewTransitionCancelableChildren = null;\n return prevChildren;\n}\nvar viewTransitionHostInstanceIdx = 0;\nfunction applyViewTransitionToHostInstances(\n fiber,\n name,\n className,\n collectMeasurements,\n stopAtNestedViewTransitions\n) {\n viewTransitionHostInstanceIdx = 0;\n return applyViewTransitionToHostInstancesRecursive(\n fiber.child,\n name,\n className,\n collectMeasurements,\n stopAtNestedViewTransitions\n );\n}\nfunction applyViewTransitionToHostInstancesRecursive(\n child,\n name,\n className,\n collectMeasurements,\n stopAtNestedViewTransitions\n) {\n for (var inViewport = !1; null !== child; ) {\n if (5 === child.tag) {\n var instance = child.stateNode;\n if (null !== collectMeasurements) {\n var measurement = measureInstance(instance);\n collectMeasurements.push(measurement);\n measurement.view && (inViewport = !0);\n } else\n inViewport || (measureInstance(instance).view && (inViewport = !0));\n shouldStartViewTransition = !0;\n applyViewTransitionName(\n instance,\n 0 === viewTransitionHostInstanceIdx\n ? name\n : name + \"_\" + viewTransitionHostInstanceIdx,\n className\n );\n viewTransitionHostInstanceIdx++;\n } else if (22 !== child.tag || null === child.memoizedState)\n (30 === child.tag && stopAtNestedViewTransitions) ||\n (applyViewTransitionToHostInstancesRecursive(\n child.child,\n name,\n className,\n collectMeasurements,\n stopAtNestedViewTransitions\n ) &&\n (inViewport = !0));\n child = child.sibling;\n }\n return inViewport;\n}\nfunction restoreViewTransitionOnHostInstances(\n child,\n stopAtNestedViewTransitions\n) {\n for (; null !== child; ) {\n if (5 === child.tag)\n restoreViewTransitionName(child.stateNode, child.memoizedProps);\n else if (22 !== child.tag || null === child.memoizedState)\n (30 === child.tag && stopAtNestedViewTransitions) ||\n restoreViewTransitionOnHostInstances(\n child.child,\n stopAtNestedViewTransitions\n );\n child = child.sibling;\n }\n}\nfunction commitAppearingPairViewTransitions(placement) {\n if (0 !== (placement.subtreeFlags & 18874368))\n for (placement = placement.child; null !== placement; ) {\n if (22 !== placement.tag || null === placement.memoizedState)\n if (\n (commitAppearingPairViewTransitions(placement),\n 30 === placement.tag &&\n 0 !== (placement.flags & 18874368) &&\n placement.stateNode.paired)\n ) {\n var props = placement.memoizedProps;\n if (null == props.name || \"auto\" === props.name)\n throw Error(formatProdErrorMessage(544));\n var name = props.name;\n props = getViewTransitionClassName(props.default, props.share);\n \"none\" !== props &&\n (applyViewTransitionToHostInstances(\n placement,\n name,\n props,\n null,\n !1\n ) ||\n restoreViewTransitionOnHostInstances(placement.child, !1));\n }\n placement = placement.sibling;\n }\n}\nfunction commitEnterViewTransitions(placement, gesture) {\n if (30 === placement.tag) {\n var state = placement.stateNode,\n props = placement.memoizedProps,\n name = getViewTransitionName(props, state),\n className = getViewTransitionClassName(\n props.default,\n state.paired ? props.share : props.enter\n );\n \"none\" !== className\n ? applyViewTransitionToHostInstances(placement, name, className, null, !1)\n ? (commitAppearingPairViewTransitions(placement),\n state.paired ||\n gesture ||\n scheduleViewTransitionEvent(placement, props.onEnter))\n : restoreViewTransitionOnHostInstances(placement.child, !1)\n : commitAppearingPairViewTransitions(placement);\n } else if (0 !== (placement.subtreeFlags & 33554432))\n for (placement = placement.child; null !== placement; )\n commitEnterViewTransitions(placement, gesture),\n (placement = placement.sibling);\n else commitAppearingPairViewTransitions(placement);\n}\nfunction commitDeletedPairViewTransitions(deletion) {\n if (\n null !== appearingViewTransitions &&\n 0 !== appearingViewTransitions.size\n ) {\n var pairs = appearingViewTransitions;\n if (0 !== (deletion.subtreeFlags & 18874368))\n for (deletion = deletion.child; null !== deletion; ) {\n if (22 !== deletion.tag || null === deletion.memoizedState) {\n if (30 === deletion.tag && 0 !== (deletion.flags & 18874368)) {\n var props = deletion.memoizedProps,\n name = props.name;\n if (null != name && \"auto\" !== name) {\n var pair = pairs.get(name);\n if (void 0 !== pair) {\n var className = getViewTransitionClassName(\n props.default,\n props.share\n );\n \"none\" !== className &&\n (applyViewTransitionToHostInstances(\n deletion,\n name,\n className,\n null,\n !1\n )\n ? ((className = deletion.stateNode),\n (pair.paired = className),\n (className.paired = pair),\n scheduleViewTransitionEvent(deletion, props.onShare))\n : restoreViewTransitionOnHostInstances(deletion.child, !1));\n pairs.delete(name);\n if (0 === pairs.size) break;\n }\n }\n }\n commitDeletedPairViewTransitions(deletion);\n }\n deletion = deletion.sibling;\n }\n }\n}\nfunction commitExitViewTransitions(deletion) {\n if (30 === deletion.tag) {\n var props = deletion.memoizedProps,\n name = getViewTransitionName(props, deletion.stateNode),\n pair =\n null !== appearingViewTransitions\n ? appearingViewTransitions.get(name)\n : void 0,\n className = getViewTransitionClassName(\n props.default,\n void 0 !== pair ? props.share : props.exit\n );\n \"none\" !== className &&\n (applyViewTransitionToHostInstances(deletion, name, className, null, !1)\n ? void 0 !== pair\n ? ((className = deletion.stateNode),\n (pair.paired = className),\n (className.paired = pair),\n appearingViewTransitions.delete(name),\n scheduleViewTransitionEvent(deletion, props.onShare))\n : scheduleViewTransitionEvent(deletion, props.onExit)\n : restoreViewTransitionOnHostInstances(deletion.child, !1));\n null !== appearingViewTransitions &&\n commitDeletedPairViewTransitions(deletion);\n } else if (0 !== (deletion.subtreeFlags & 33554432))\n for (deletion = deletion.child; null !== deletion; )\n commitExitViewTransitions(deletion), (deletion = deletion.sibling);\n else\n null !== appearingViewTransitions &&\n commitDeletedPairViewTransitions(deletion);\n}\nfunction commitNestedViewTransitions(changedParent) {\n for (changedParent = changedParent.child; null !== changedParent; ) {\n if (30 === changedParent.tag) {\n var props = changedParent.memoizedProps,\n name = getViewTransitionName(props, changedParent.stateNode);\n props = getViewTransitionClassName(props.default, props.update);\n changedParent.flags &= -5;\n \"none\" !== props &&\n applyViewTransitionToHostInstances(\n changedParent,\n name,\n props,\n (changedParent.memoizedState = []),\n !1\n );\n } else\n 0 !== (changedParent.subtreeFlags & 33554432) &&\n commitNestedViewTransitions(changedParent);\n changedParent = changedParent.sibling;\n }\n}\nfunction restorePairedViewTransitions(parent) {\n if (0 !== (parent.subtreeFlags & 18874368))\n for (parent = parent.child; null !== parent; ) {\n if (22 !== parent.tag || null === parent.memoizedState) {\n if (30 === parent.tag && 0 !== (parent.flags & 18874368)) {\n var instance = parent.stateNode;\n null !== instance.paired &&\n ((instance.paired = null),\n restoreViewTransitionOnHostInstances(parent.child, !1));\n }\n restorePairedViewTransitions(parent);\n }\n parent = parent.sibling;\n }\n}\nfunction restoreEnterOrExitViewTransitions(fiber) {\n if (30 === fiber.tag)\n (fiber.stateNode.paired = null),\n restoreViewTransitionOnHostInstances(fiber.child, !1),\n restorePairedViewTransitions(fiber);\n else if (0 !== (fiber.subtreeFlags & 33554432))\n for (fiber = fiber.child; null !== fiber; )\n restoreEnterOrExitViewTransitions(fiber), (fiber = fiber.sibling);\n else restorePairedViewTransitions(fiber);\n}\nfunction restoreNestedViewTransitions(changedParent) {\n for (changedParent = changedParent.child; null !== changedParent; )\n 30 === changedParent.tag\n ? restoreViewTransitionOnHostInstances(changedParent.child, !1)\n : 0 !== (changedParent.subtreeFlags & 33554432) &&\n restoreNestedViewTransitions(changedParent),\n (changedParent = changedParent.sibling);\n}\nfunction measureViewTransitionHostInstancesRecursive(\n parentViewTransition,\n child,\n newName,\n oldName,\n className,\n previousMeasurements,\n stopAtNestedViewTransitions\n) {\n for (var inViewport = !1; null !== child; ) {\n if (5 === child.tag) {\n var instance = child.stateNode;\n if (\n null !== previousMeasurements &&\n viewTransitionHostInstanceIdx < previousMeasurements.length\n ) {\n var previousMeasurement =\n previousMeasurements[viewTransitionHostInstanceIdx],\n nextMeasurement = measureInstance(instance);\n if (previousMeasurement.view || nextMeasurement.view) inViewport = !0;\n var JSCompiler_temp;\n if ((JSCompiler_temp = 0 === (parentViewTransition.flags & 4)))\n if (nextMeasurement.clip) JSCompiler_temp = !0;\n else {\n JSCompiler_temp = previousMeasurement.rect;\n var newRect = nextMeasurement.rect;\n JSCompiler_temp =\n JSCompiler_temp.y !== newRect.y ||\n JSCompiler_temp.x !== newRect.x ||\n JSCompiler_temp.height !== newRect.height ||\n JSCompiler_temp.width !== newRect.width;\n }\n JSCompiler_temp && (parentViewTransition.flags |= 4);\n nextMeasurement.abs\n ? (nextMeasurement = !previousMeasurement.abs)\n : ((previousMeasurement = previousMeasurement.rect),\n (nextMeasurement = nextMeasurement.rect),\n (nextMeasurement =\n previousMeasurement.height !== nextMeasurement.height ||\n previousMeasurement.width !== nextMeasurement.width));\n nextMeasurement && (parentViewTransition.flags |= 32);\n } else parentViewTransition.flags |= 32;\n 0 !== (parentViewTransition.flags & 4) &&\n applyViewTransitionName(\n instance,\n 0 === viewTransitionHostInstanceIdx\n ? newName\n : newName + \"_\" + viewTransitionHostInstanceIdx,\n className\n );\n (inViewport && 0 !== (parentViewTransition.flags & 4)) ||\n (null === viewTransitionCancelableChildren &&\n (viewTransitionCancelableChildren = []),\n viewTransitionCancelableChildren.push(\n instance,\n 0 === viewTransitionHostInstanceIdx\n ? oldName\n : oldName + \"_\" + viewTransitionHostInstanceIdx,\n child.memoizedProps\n ));\n viewTransitionHostInstanceIdx++;\n } else if (22 !== child.tag || null === child.memoizedState)\n 30 === child.tag && stopAtNestedViewTransitions\n ? (parentViewTransition.flags |= child.flags & 32)\n : measureViewTransitionHostInstancesRecursive(\n parentViewTransition,\n child.child,\n newName,\n oldName,\n className,\n previousMeasurements,\n stopAtNestedViewTransitions\n ) && (inViewport = !0);\n child = child.sibling;\n }\n return inViewport;\n}\nfunction measureNestedViewTransitions(changedParent, gesture) {\n for (changedParent = changedParent.child; null !== changedParent; ) {\n if (30 === changedParent.tag) {\n var props = changedParent.memoizedProps,\n state = changedParent.stateNode,\n name = getViewTransitionName(props, state),\n className = getViewTransitionClassName(props.default, props.update);\n if (gesture) {\n state = state.clones;\n var previousMeasurements =\n null === state ? null : state.map(measureClonedInstance);\n } else\n (previousMeasurements = changedParent.memoizedState),\n (changedParent.memoizedState = null);\n state = changedParent;\n var child = changedParent.child;\n viewTransitionHostInstanceIdx = 0;\n name = measureViewTransitionHostInstancesRecursive(\n state,\n child,\n name,\n name,\n className,\n previousMeasurements,\n !1\n );\n 0 !== (changedParent.flags & 4) &&\n name &&\n (gesture || scheduleViewTransitionEvent(changedParent, props.onUpdate));\n } else\n 0 !== (changedParent.subtreeFlags & 33554432) &&\n measureNestedViewTransitions(changedParent, gesture);\n changedParent = changedParent.sibling;\n }\n}\nvar offscreenSubtreeIsHidden = !1,\n offscreenSubtreeWasHidden = !1,\n offscreenDirectParentIsHidden = !1,\n needsFormReset = !1,\n PossiblyWeakSet = \"function\" === typeof WeakSet ? WeakSet : Set,\n nextEffect = null,\n viewTransitionContextChanged = !1,\n inUpdateViewTransition = !1,\n rootViewTransitionAffected = !1,\n rootViewTransitionNameCanceled = !1;\nfunction commitBeforeMutationEffects(root, firstChild, committedLanes) {\n root = root.containerInfo;\n eventsEnabled = _enabled;\n root = getActiveElementDeep(root);\n if (hasSelectionCapabilities(root)) {\n if (\"selectionStart\" in root)\n var JSCompiler_temp = {\n start: root.selectionStart,\n end: root.selectionEnd\n };\n else\n a: {\n JSCompiler_temp =\n ((JSCompiler_temp = root.ownerDocument) &&\n JSCompiler_temp.defaultView) ||\n window;\n var selection =\n JSCompiler_temp.getSelection && JSCompiler_temp.getSelection();\n if (selection && 0 !== selection.rangeCount) {\n JSCompiler_temp = selection.anchorNode;\n var anchorOffset = selection.anchorOffset,\n focusNode = selection.focusNode;\n selection = selection.focusOffset;\n try {\n JSCompiler_temp.nodeType, focusNode.nodeType;\n } catch (e$21) {\n JSCompiler_temp = null;\n break a;\n }\n var length = 0,\n start = -1,\n end = -1,\n indexWithinAnchor = 0,\n indexWithinFocus = 0,\n node = root,\n parentNode = null;\n b: for (;;) {\n for (var next; ; ) {\n node !== JSCompiler_temp ||\n (0 !== anchorOffset && 3 !== node.nodeType) ||\n (start = length + anchorOffset);\n node !== focusNode ||\n (0 !== selection && 3 !== node.nodeType) ||\n (end = length + selection);\n 3 === node.nodeType && (length += node.nodeValue.length);\n if (null === (next = node.firstChild)) break;\n parentNode = node;\n node = next;\n }\n for (;;) {\n if (node === root) break b;\n parentNode === JSCompiler_temp &&\n ++indexWithinAnchor === anchorOffset &&\n (start = length);\n parentNode === focusNode &&\n ++indexWithinFocus === selection &&\n (end = length);\n if (null !== (next = node.nextSibling)) break;\n node = parentNode;\n parentNode = node.parentNode;\n }\n node = next;\n }\n JSCompiler_temp =\n -1 === start || -1 === end ? null : { start: start, end: end };\n } else JSCompiler_temp = null;\n }\n JSCompiler_temp = JSCompiler_temp || { start: 0, end: 0 };\n } else JSCompiler_temp = null;\n selectionInformation = { focusedElem: root, selectionRange: JSCompiler_temp };\n _enabled = !1;\n committedLanes = (committedLanes & 335544064) === committedLanes;\n nextEffect = firstChild;\n for (firstChild = committedLanes ? 9270 : 1024; null !== nextEffect; ) {\n root = nextEffect;\n if (\n committedLanes &&\n ((JSCompiler_temp = root.deletions), null !== JSCompiler_temp)\n )\n for (\n anchorOffset = 0;\n anchorOffset < JSCompiler_temp.length;\n anchorOffset++\n )\n committedLanes &&\n commitExitViewTransitions(JSCompiler_temp[anchorOffset]);\n if (null === root.alternate && 0 !== (root.flags & 2))\n committedLanes && trackEnterViewTransitions(root),\n commitBeforeMutationEffects_complete(committedLanes);\n else {\n if (22 === root.tag)\n if (((JSCompiler_temp = root.alternate), null !== root.memoizedState)) {\n null !== JSCompiler_temp &&\n null === JSCompiler_temp.memoizedState &&\n committedLanes &&\n commitExitViewTransitions(JSCompiler_temp);\n commitBeforeMutationEffects_complete(committedLanes);\n continue;\n } else if (\n null !== JSCompiler_temp &&\n null !== JSCompiler_temp.memoizedState\n ) {\n committedLanes && trackEnterViewTransitions(root);\n commitBeforeMutationEffects_complete(committedLanes);\n continue;\n }\n JSCompiler_temp = root.child;\n 0 !== (root.subtreeFlags & firstChild) && null !== JSCompiler_temp\n ? ((JSCompiler_temp.return = root), (nextEffect = JSCompiler_temp))\n : (committedLanes && commitNestedViewTransitions(root),\n commitBeforeMutationEffects_complete(committedLanes));\n }\n }\n appearingViewTransitions = null;\n}\nfunction commitBeforeMutationEffects_complete(\n isViewTransitionEligible$jscomp$0\n) {\n for (; null !== nextEffect; ) {\n var fiber = nextEffect,\n isViewTransitionEligible = isViewTransitionEligible$jscomp$0,\n current = fiber.alternate,\n flags = fiber.flags;\n switch (fiber.tag) {\n case 0:\n case 11:\n case 15:\n break;\n case 1:\n if (0 !== (flags & 1024) && null !== current) {\n isViewTransitionEligible = void 0;\n flags = current.memoizedProps;\n current = current.memoizedState;\n var instance = fiber.stateNode;\n try {\n var resolvedPrevProps = resolveClassComponentProps(\n fiber.type,\n flags\n );\n isViewTransitionEligible = instance.getSnapshotBeforeUpdate(\n resolvedPrevProps,\n current\n );\n instance.__reactInternalSnapshotBeforeUpdate =\n isViewTransitionEligible;\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n }\n break;\n case 3:\n if (0 !== (flags & 1024))\n if (\n ((current = fiber.stateNode.containerInfo),\n (isViewTransitionEligible = current.nodeType),\n 9 === isViewTransitionEligible)\n )\n clearContainerSparingly(current);\n else if (1 === isViewTransitionEligible)\n switch (current.nodeName) {\n case \"HEAD\":\n case \"HTML\":\n case \"BODY\":\n clearContainerSparingly(current);\n break;\n default:\n current.textContent = \"\";\n }\n break;\n case 5:\n case 26:\n case 27:\n case 6:\n case 4:\n case 17:\n break;\n case 30:\n isViewTransitionEligible &&\n null !== current &&\n ((isViewTransitionEligible = getViewTransitionName(\n current.memoizedProps,\n current.stateNode\n )),\n (flags = fiber.memoizedProps),\n (flags = getViewTransitionClassName(flags.default, flags.update)),\n \"none\" !== flags &&\n applyViewTransitionToHostInstances(\n current,\n isViewTransitionEligible,\n flags,\n (current.memoizedState = []),\n !0\n ));\n break;\n default:\n if (0 !== (flags & 1024)) throw Error(formatProdErrorMessage(163));\n }\n current = fiber.sibling;\n if (null !== current) {\n current.return = fiber.return;\n nextEffect = current;\n break;\n }\n nextEffect = fiber.return;\n }\n}\nfunction commitLayoutEffectOnFiber(finishedRoot, current, finishedWork) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 && commitHookEffectListMount(5, finishedWork);\n break;\n case 1:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n if (flags & 4)\n if (((finishedRoot = finishedWork.stateNode), null === current))\n try {\n finishedRoot.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n else {\n var prevProps = resolveClassComponentProps(\n finishedWork.type,\n current.memoizedProps\n );\n current = current.memoizedState;\n try {\n finishedRoot.componentDidUpdate(\n prevProps,\n current,\n finishedRoot.__reactInternalSnapshotBeforeUpdate\n );\n } catch (error$146) {\n captureCommitPhaseError(\n finishedWork,\n finishedWork.return,\n error$146\n );\n }\n }\n flags & 64 && commitClassCallbacks(finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 3:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n if (\n flags & 64 &&\n ((finishedRoot = finishedWork.updateQueue), null !== finishedRoot)\n ) {\n current = null;\n if (null !== finishedWork.child)\n switch (finishedWork.child.tag) {\n case 27:\n case 5:\n current = finishedWork.child.stateNode;\n break;\n case 1:\n current = finishedWork.child.stateNode;\n }\n try {\n commitCallbacks(finishedRoot, current);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n break;\n case 27:\n null === current &&\n flags & 4 &&\n commitHostSingletonAcquisition(finishedWork);\n case 26:\n case 5:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n null === current && flags & 4 && commitHostMount(finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 12:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n break;\n case 31:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 && commitActivityHydrationCallbacks(finishedRoot, finishedWork);\n break;\n case 13:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n flags & 64 &&\n ((finishedRoot = finishedWork.memoizedState),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.dehydrated),\n null !== finishedRoot &&\n ((finishedWork = retryDehydratedSuspenseBoundary.bind(\n null,\n finishedWork\n )),\n registerSuspenseInstanceRetry(finishedRoot, finishedWork))));\n break;\n case 22:\n flags = null !== finishedWork.memoizedState || offscreenSubtreeIsHidden;\n if (!flags) {\n var newOffscreenSubtreeWasHidden =\n (null !== current && null !== current.memoizedState) ||\n offscreenSubtreeWasHidden;\n current = offscreenSubtreeIsHidden;\n prevProps = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = flags;\n (offscreenSubtreeWasHidden = newOffscreenSubtreeWasHidden) && !prevProps\n ? ((flags = 2),\n 0 !== (finishedWork.subtreeFlags & 8772) && (flags |= 1),\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n flags\n ))\n : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n offscreenSubtreeIsHidden = current;\n offscreenSubtreeWasHidden = prevProps;\n }\n break;\n case 30:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 7:\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n default:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n }\n}\nfunction hideOrUnhideAllChildren(parentFiber, isHidden) {\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n hideOrUnhideAllChildrenOnFiber(parentFiber, isHidden),\n (parentFiber = parentFiber.sibling);\n}\nfunction hideOrUnhideAllChildrenOnFiber(fiber, isHidden) {\n switch (fiber.tag) {\n case 5:\n case 26:\n try {\n var instance = fiber.stateNode;\n if (isHidden) {\n var style = instance.style;\n \"function\" === typeof style.setProperty\n ? style.setProperty(\"display\", \"none\", \"important\")\n : (style.display = \"none\");\n } else {\n var instance$jscomp$0 = fiber.stateNode,\n styleProp = fiber.memoizedProps.style,\n display =\n void 0 !== styleProp &&\n null !== styleProp &&\n styleProp.hasOwnProperty(\"display\")\n ? styleProp.display\n : null;\n instance$jscomp$0.style.display =\n null == display || \"boolean\" === typeof display\n ? \"\"\n : (\"\" + display).trim();\n }\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n hideOrUnhideNearestPortals(fiber, isHidden);\n break;\n case 6:\n try {\n (fiber.stateNode.nodeValue = isHidden ? \"\" : fiber.memoizedProps),\n (viewTransitionMutationContext = !0);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n break;\n case 18:\n try {\n var instance$jscomp$1 = fiber.stateNode;\n isHidden\n ? hideOrUnhideDehydratedBoundary(instance$jscomp$1, !0)\n : hideOrUnhideDehydratedBoundary(fiber.stateNode, !1);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n break;\n case 22:\n case 23:\n null === fiber.memoizedState && hideOrUnhideAllChildren(fiber, isHidden);\n break;\n default:\n hideOrUnhideAllChildren(fiber, isHidden);\n }\n}\nfunction hideOrUnhideNearestPortals(parentFiber, isHidden$jscomp$0) {\n if (parentFiber.subtreeFlags & 67108864)\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n a: {\n var fiber = parentFiber,\n isHidden = isHidden$jscomp$0;\n switch (fiber.tag) {\n case 4:\n hideOrUnhideAllChildrenOnFiber(fiber, isHidden);\n break a;\n case 22:\n null === fiber.memoizedState &&\n hideOrUnhideNearestPortals(fiber, isHidden);\n break a;\n default:\n hideOrUnhideNearestPortals(fiber, isHidden);\n }\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction detachFiberAfterEffects(fiber) {\n var alternate = fiber.alternate;\n null !== alternate &&\n ((fiber.alternate = null), detachFiberAfterEffects(alternate));\n fiber.child = null;\n fiber.deletions = null;\n fiber.sibling = null;\n 5 === fiber.tag &&\n ((alternate = fiber.stateNode),\n null !== alternate && detachDeletedInstance(alternate));\n fiber.stateNode = null;\n fiber.return = null;\n fiber.dependencies = null;\n fiber.memoizedProps = null;\n fiber.memoizedState = null;\n fiber.pendingProps = null;\n fiber.stateNode = null;\n fiber.updateQueue = null;\n}\nvar hostParent = null,\n hostParentIsContainer = !1;\nfunction recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n parent\n) {\n for (parent = parent.child; null !== parent; )\n commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, parent),\n (parent = parent.sibling);\n}\nfunction commitDeletionEffectsOnFiber(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n) {\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberUnmount)\n try {\n injectedHook.onCommitFiberUnmount(rendererID, deletedFiber);\n } catch (err) {}\n switch (deletedFiber.tag) {\n case 26:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n deletedFiber.memoizedState\n ? deletedFiber.memoizedState.count--\n : deletedFiber.stateNode &&\n !offscreenSubtreeWasHidden &&\n ((deletedFiber = deletedFiber.stateNode),\n deletedFiber.parentNode.removeChild(deletedFiber));\n break;\n case 27:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n commitFragmentInstanceDeletionEffects(deletedFiber);\n var prevHostParent = hostParent,\n prevHostParentIsContainer = hostParentIsContainer;\n isSingletonScope(deletedFiber.type) &&\n ((hostParent = deletedFiber.stateNode), (hostParentIsContainer = !1));\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n releaseSingletonInstance(\n deletedFiber.stateNode,\n deletedFiber.type,\n deletedFiber.memoizedProps\n );\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n break;\n case 5:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor),\n commitFragmentInstanceDeletionEffects(deletedFiber);\n case 6:\n 6 === deletedFiber.tag &&\n commitFragmentInstanceDeletionEffects(deletedFiber);\n prevHostParent = hostParent;\n prevHostParentIsContainer = hostParentIsContainer;\n hostParent = null;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n if (null !== hostParent)\n if (hostParentIsContainer)\n try {\n (9 === hostParent.nodeType\n ? hostParent.body\n : \"HTML\" === hostParent.nodeName\n ? hostParent.ownerDocument.body\n : hostParent\n ).removeChild(deletedFiber.stateNode),\n (viewTransitionMutationContext = !0);\n } catch (error) {\n captureCommitPhaseError(\n deletedFiber,\n nearestMountedAncestor,\n error\n );\n }\n else\n try {\n hostParent.removeChild(deletedFiber.stateNode),\n (viewTransitionMutationContext = !0);\n } catch (error) {\n captureCommitPhaseError(\n deletedFiber,\n nearestMountedAncestor,\n error\n );\n }\n break;\n case 18:\n null !== hostParent &&\n (hostParentIsContainer\n ? ((finishedRoot = hostParent),\n clearHydrationBoundary(\n 9 === finishedRoot.nodeType\n ? finishedRoot.body\n : \"HTML\" === finishedRoot.nodeName\n ? finishedRoot.ownerDocument.body\n : finishedRoot,\n deletedFiber.stateNode\n ),\n retryIfBlockedOn(finishedRoot))\n : clearHydrationBoundary(hostParent, deletedFiber.stateNode));\n break;\n case 4:\n prevHostParent = hostParent;\n prevHostParentIsContainer = hostParentIsContainer;\n hostParent = deletedFiber.stateNode.containerInfo;\n hostParentIsContainer = !0;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n break;\n case 0:\n case 11:\n case 14:\n case 15:\n commitHookEffectListUnmount(2, deletedFiber, nearestMountedAncestor);\n offscreenSubtreeWasHidden ||\n commitHookEffectListUnmount(4, deletedFiber, nearestMountedAncestor);\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 1:\n offscreenSubtreeWasHidden ||\n (safelyDetachRef(deletedFiber, nearestMountedAncestor),\n (prevHostParent = deletedFiber.stateNode),\n \"function\" === typeof prevHostParent.componentWillUnmount &&\n safelyCallComponentWillUnmount(\n deletedFiber,\n nearestMountedAncestor,\n prevHostParent\n ));\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 21:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 22:\n offscreenSubtreeWasHidden =\n (prevHostParent = offscreenSubtreeWasHidden) ||\n null !== deletedFiber.memoizedState;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n offscreenSubtreeWasHidden = prevHostParent;\n break;\n case 30:\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 7:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n default:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n }\n}\nfunction commitActivityHydrationCallbacks(finishedRoot, finishedWork) {\n if (\n null === finishedWork.memoizedState &&\n ((finishedRoot = finishedWork.alternate),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.memoizedState), null !== finishedRoot))\n ) {\n finishedRoot = finishedRoot.dehydrated;\n try {\n retryIfBlockedOn(finishedRoot);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n}\nfunction commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {\n if (\n null === finishedWork.memoizedState &&\n ((finishedRoot = finishedWork.alternate),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.memoizedState),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.dehydrated), null !== finishedRoot)))\n )\n try {\n retryIfBlockedOn(finishedRoot);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction getRetryCache(finishedWork) {\n switch (finishedWork.tag) {\n case 31:\n case 13:\n case 19:\n var retryCache = finishedWork.stateNode;\n null === retryCache &&\n (retryCache = finishedWork.stateNode = new PossiblyWeakSet());\n return retryCache;\n case 22:\n return (\n (finishedWork = finishedWork.stateNode),\n (retryCache = finishedWork._retryCache),\n null === retryCache &&\n (retryCache = finishedWork._retryCache = new PossiblyWeakSet()),\n retryCache\n );\n default:\n throw Error(formatProdErrorMessage(435, finishedWork.tag));\n }\n}\nfunction attachSuspenseRetryListeners(finishedWork, wakeables) {\n var retryCache = getRetryCache(finishedWork);\n wakeables.forEach(function (wakeable) {\n if (!retryCache.has(wakeable)) {\n retryCache.add(wakeable);\n var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);\n wakeable.then(retry, retry);\n }\n });\n}\nfunction recursivelyTraverseMutationEffects(root$jscomp$0, parentFiber, lanes) {\n var deletions = parentFiber.deletions;\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i],\n root = root$jscomp$0,\n returnFiber = parentFiber,\n parent = returnFiber;\n a: for (; null !== parent; ) {\n switch (parent.tag) {\n case 27:\n if (isSingletonScope(parent.type)) {\n hostParent = parent.stateNode;\n hostParentIsContainer = !1;\n break a;\n }\n break;\n case 5:\n hostParent = parent.stateNode;\n hostParentIsContainer = !1;\n break a;\n case 3:\n case 4:\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = !0;\n break a;\n }\n parent = parent.return;\n }\n if (null === hostParent) throw Error(formatProdErrorMessage(160));\n commitDeletionEffectsOnFiber(root, returnFiber, childToDelete);\n hostParent = null;\n hostParentIsContainer = !1;\n root = childToDelete.alternate;\n null !== root && (root.return = null);\n childToDelete.return = null;\n }\n if (parentFiber.subtreeFlags & 13886)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitMutationEffectsOnFiber(parentFiber, root$jscomp$0, lanes),\n (parentFiber = parentFiber.sibling);\n}\nvar currentHoistableRoot = null;\nfunction commitMutationEffectsOnFiber(finishedWork, root, lanes) {\n var current = finishedWork.alternate,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n if (\n flags & 4 &&\n ((current = finishedWork.updateQueue),\n (current = null !== current ? current.events : null),\n null !== current)\n )\n for (var ii = 0; ii < current.length; ii++) {\n var _eventPayloads$ii2 = current[ii];\n _eventPayloads$ii2.ref.impl = _eventPayloads$ii2.nextImpl;\n }\n recursivelyTraverseMutationEffects(root, finishedWork, lanes);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n (commitHookEffectListUnmount(3, finishedWork, finishedWork.return),\n commitHookEffectListMount(3, finishedWork),\n commitHookEffectListUnmount(5, finishedWork, finishedWork.return));\n break;\n case 1:\n recursivelyTraverseMutationEffects(root, finishedWork, lanes);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n flags & 64 &&\n offscreenSubtreeIsHidden &&\n ((finishedWork = finishedWork.updateQueue),\n null !== finishedWork &&\n ((root = finishedWork.callbacks),\n null !== root &&\n ((lanes = finishedWork.shared.hiddenCallbacks),\n (finishedWork.shared.hiddenCallbacks =\n null === lanes ? root : lanes.concat(root)))));\n break;\n case 26:\n ii = currentHoistableRoot;\n recursivelyTraverseMutationEffects(root, finishedWork, lanes);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n if (flags & 4)\n if (\n ((flags = null !== current ? current.memoizedState : null),\n (lanes = finishedWork.memoizedState),\n null === current)\n )\n if (null === lanes)\n if (null === finishedWork.stateNode)\n if (offscreenSubtreeIsHidden)\n finishedWork.stateNode = createHoistableInstance(\n finishedWork.type,\n finishedWork.memoizedProps,\n root.containerInfo,\n finishedWork\n );\n else {\n a: {\n root = finishedWork.type;\n lanes = finishedWork.memoizedProps;\n flags = ii.ownerDocument || ii;\n b: switch (root) {\n case \"title\":\n current = flags.getElementsByTagName(\"title\")[0];\n if (\n !current ||\n current[internalHoistableMarker] ||\n current[internalInstanceKey] ||\n \"http://www.w3.org/2000/svg\" === current.namespaceURI ||\n current.hasAttribute(\"itemprop\")\n )\n (current = flags.createElement(root)),\n flags.head.insertBefore(\n current,\n flags.querySelector(\"head > title\")\n );\n setInitialProperties(current, root, lanes);\n current[internalInstanceKey] = finishedWork;\n markNodeAsHoistable(current);\n root = current;\n break a;\n case \"link\":\n if (\n (ii = getHydratableHoistableCache(\n \"link\",\n \"href\",\n flags\n ).get(root + (lanes.href || \"\")))\n )\n for (\n _eventPayloads$ii2 = 0;\n _eventPayloads$ii2 < ii.length;\n _eventPayloads$ii2++\n )\n if (\n ((current = ii[_eventPayloads$ii2]),\n current.getAttribute(\"href\") ===\n (null == lanes.href || \"\" === lanes.href\n ? null\n : lanes.href) &&\n current.getAttribute(\"rel\") ===\n (null == lanes.rel ? null : lanes.rel) &&\n current.getAttribute(\"title\") ===\n (null == lanes.title ? null : lanes.title) &&\n current.getAttribute(\"crossorigin\") ===\n (null == lanes.crossOrigin\n ? null\n : lanes.crossOrigin))\n ) {\n ii.splice(_eventPayloads$ii2, 1);\n break b;\n }\n current = flags.createElement(root);\n setInitialProperties(current, root, lanes);\n flags.head.appendChild(current);\n break;\n case \"meta\":\n if (\n (ii = getHydratableHoistableCache(\n \"meta\",\n \"content\",\n flags\n ).get(root + (lanes.content || \"\")))\n )\n for (\n _eventPayloads$ii2 = 0;\n _eventPayloads$ii2 < ii.length;\n _eventPayloads$ii2++\n )\n if (\n ((current = ii[_eventPayloads$ii2]),\n current.getAttribute(\"content\") ===\n (null == lanes.content\n ? null\n : \"\" + lanes.content) &&\n current.getAttribute(\"name\") ===\n (null == lanes.name ? null : lanes.name) &&\n current.getAttribute(\"property\") ===\n (null == lanes.property\n ? null\n : lanes.property) &&\n current.getAttribute(\"http-equiv\") ===\n (null == lanes.httpEquiv\n ? null\n : lanes.httpEquiv) &&\n current.getAttribute(\"charset\") ===\n (null == lanes.charSet ? null : lanes.charSet))\n ) {\n ii.splice(_eventPayloads$ii2, 1);\n break b;\n }\n current = flags.createElement(root);\n setInitialProperties(current, root, lanes);\n flags.head.appendChild(current);\n break;\n default:\n throw Error(formatProdErrorMessage(468, root));\n }\n current[internalInstanceKey] = finishedWork;\n markNodeAsHoistable(current);\n root = current;\n }\n finishedWork.stateNode = root;\n }\n else\n offscreenSubtreeIsHidden ||\n mountHoistable(ii, finishedWork.type, finishedWork.stateNode);\n else\n finishedWork.stateNode = acquireResource(\n ii,\n lanes,\n finishedWork.memoizedProps\n );\n else\n flags !== lanes\n ? (null === flags\n ? ((root = current.stateNode),\n null === root ||\n offscreenSubtreeWasHidden ||\n root.parentNode.removeChild(root))\n : flags.count--,\n null === lanes\n ? offscreenSubtreeIsHidden ||\n mountHoistable(ii, finishedWork.type, finishedWork.stateNode)\n : acquireResource(ii, lanes, finishedWork.memoizedProps))\n : null === lanes &&\n null !== finishedWork.stateNode &&\n commitHostUpdate(\n finishedWork,\n finishedWork.memoizedProps,\n current.memoizedProps\n );\n break;\n case 27:\n recursivelyTraverseMutationEffects(root, finishedWork, lanes);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n null !== current &&\n flags & 4 &&\n commitHostUpdate(\n finishedWork,\n finishedWork.memoizedProps,\n current.memoizedProps\n );\n break;\n case 5:\n ii = offscreenDirectParentIsHidden;\n offscreenDirectParentIsHidden = !1;\n recursivelyTraverseMutationEffects(root, finishedWork, lanes);\n offscreenDirectParentIsHidden = ii;\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n if (finishedWork.flags & 32) {\n root = finishedWork.stateNode;\n try {\n setTextContent(root, \"\"), (viewTransitionMutationContext = !0);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n flags & 4 &&\n null != finishedWork.stateNode &&\n ((root = finishedWork.memoizedProps),\n commitHostUpdate(\n finishedWork,\n root,\n null !== current ? current.memoizedProps : root\n ));\n flags & 1024 && (needsFormReset = !0);\n break;\n case 6:\n recursivelyTraverseMutationEffects(root, finishedWork, lanes);\n commitReconciliationEffects(finishedWork);\n if (flags & 4) {\n if (null === finishedWork.stateNode)\n throw Error(formatProdErrorMessage(162));\n root = finishedWork.memoizedProps;\n lanes = finishedWork.stateNode;\n try {\n (lanes.nodeValue = root), (viewTransitionMutationContext = !0);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n break;\n case 3:\n viewTransitionMutationContext = !1;\n tagCaches = null;\n ii = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(root.containerInfo);\n recursivelyTraverseMutationEffects(root, finishedWork, lanes);\n currentHoistableRoot = ii;\n commitReconciliationEffects(finishedWork);\n if (flags & 4 && null !== current && current.memoizedState.isDehydrated)\n try {\n retryIfBlockedOn(root.containerInfo);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n needsFormReset &&\n ((needsFormReset = !1), recursivelyResetForms(finishedWork));\n viewTransitionMutationContext = !1;\n break;\n case 4:\n flags = offscreenDirectParentIsHidden;\n offscreenDirectParentIsHidden = offscreenSubtreeIsHidden;\n current = pushMutationContext();\n ii = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(\n finishedWork.stateNode.containerInfo\n );\n recursivelyTraverseMutationEffects(root, finishedWork, lanes);\n commitReconciliationEffects(finishedWork);\n currentHoistableRoot = ii;\n viewTransitionMutationContext &&\n inUpdateViewTransition &&\n (rootViewTransitionAffected = !0);\n viewTransitionMutationContext = current;\n offscreenDirectParentIsHidden = flags;\n break;\n case 12:\n recursivelyTraverseMutationEffects(root, finishedWork, lanes);\n commitReconciliationEffects(finishedWork);\n break;\n case 31:\n recursivelyTraverseMutationEffects(root, finishedWork, lanes);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n ((root = finishedWork.updateQueue),\n null !== root &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, root)));\n break;\n case 13:\n recursivelyTraverseMutationEffects(root, finishedWork, lanes);\n commitReconciliationEffects(finishedWork);\n finishedWork.child.flags & 8192 &&\n (null !== finishedWork.memoizedState) !==\n (null !== current && null !== current.memoizedState) &&\n (globalMostRecentFallbackTime = now());\n flags & 4 &&\n ((root = finishedWork.updateQueue),\n null !== root &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, root)));\n break;\n case 22:\n ii = null !== finishedWork.memoizedState;\n _eventPayloads$ii2 = null !== current && null !== current.memoizedState;\n var prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden,\n prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden,\n prevOffscreenDirectParentIsHidden$166 = offscreenDirectParentIsHidden;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden || ii;\n offscreenDirectParentIsHidden =\n prevOffscreenDirectParentIsHidden$166 || ii;\n offscreenSubtreeWasHidden =\n prevOffscreenSubtreeWasHidden || _eventPayloads$ii2;\n recursivelyTraverseMutationEffects(root, finishedWork, lanes);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n offscreenDirectParentIsHidden = prevOffscreenDirectParentIsHidden$166;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;\n commitReconciliationEffects(finishedWork);\n flags & 8192 &&\n ((root = finishedWork.stateNode),\n (root._visibility = ii ? root._visibility & -2 : root._visibility | 1),\n !ii ||\n null === current ||\n _eventPayloads$ii2 ||\n offscreenSubtreeIsHidden ||\n offscreenSubtreeWasHidden ||\n ((root = _eventPayloads$ii2 || offscreenSubtreeWasHidden),\n (lanes = offscreenSubtreeIsHidden),\n (current = offscreenSubtreeWasHidden),\n (offscreenSubtreeIsHidden = ii || offscreenSubtreeIsHidden),\n (offscreenSubtreeWasHidden = root),\n recursivelyTraverseDisappearLayoutEffects(finishedWork, 2),\n (offscreenSubtreeIsHidden = lanes),\n (offscreenSubtreeWasHidden = current)),\n (!ii && offscreenDirectParentIsHidden) ||\n hideOrUnhideAllChildren(finishedWork, ii));\n flags & 4 &&\n ((root = finishedWork.updateQueue),\n null !== root &&\n ((lanes = root.retryQueue),\n null !== lanes &&\n ((root.retryQueue = null),\n attachSuspenseRetryListeners(finishedWork, lanes))));\n break;\n case 19:\n recursivelyTraverseMutationEffects(root, finishedWork, lanes);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n ((root = finishedWork.updateQueue),\n null !== root &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, root)));\n break;\n case 30:\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n flags = pushMutationContext();\n ii = inUpdateViewTransition;\n _eventPayloads$ii2 = (lanes & 335544064) === lanes;\n prevOffscreenSubtreeIsHidden = finishedWork.memoizedProps;\n inUpdateViewTransition =\n _eventPayloads$ii2 &&\n \"none\" !==\n getViewTransitionClassName(\n prevOffscreenSubtreeIsHidden.default,\n prevOffscreenSubtreeIsHidden.update\n );\n recursivelyTraverseMutationEffects(root, finishedWork, lanes);\n commitReconciliationEffects(finishedWork);\n _eventPayloads$ii2 &&\n null !== current &&\n viewTransitionMutationContext &&\n (finishedWork.flags |= 4);\n inUpdateViewTransition = ii;\n viewTransitionMutationContext = flags;\n break;\n case 21:\n break;\n case 7:\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return)),\n current &&\n null !== current.stateNode &&\n (current.stateNode._fragmentFiber = finishedWork);\n default:\n recursivelyTraverseMutationEffects(root, finishedWork, lanes),\n commitReconciliationEffects(finishedWork);\n }\n}\nfunction commitReconciliationEffects(finishedWork) {\n var flags = finishedWork.flags;\n if (flags & 2) {\n try {\n for (\n var hostParentFiber, parentFiber = finishedWork.return;\n null !== parentFiber;\n\n ) {\n if (isHostParent(parentFiber)) {\n hostParentFiber = parentFiber;\n break;\n }\n parentFiber = parentFiber.return;\n }\n parentFiber = null;\n for (var parent = finishedWork.return; null !== parent; ) {\n if (isFragmentInstanceParent(parent)) {\n var fragmentInstance = parent.stateNode;\n null === parentFiber\n ? (parentFiber = [fragmentInstance])\n : parentFiber.push(fragmentInstance);\n }\n if (isFragmentInstanceHostBoundary(parent)) break;\n parent = parent.return;\n }\n var JSCompiler_inline_result = parentFiber;\n if (null == hostParentFiber) throw Error(formatProdErrorMessage(160));\n switch (hostParentFiber.tag) {\n case 27:\n var parent$jscomp$0 = hostParentFiber.stateNode,\n before = getHostSibling(finishedWork);\n insertOrAppendPlacementNode(\n finishedWork,\n before,\n parent$jscomp$0,\n JSCompiler_inline_result\n );\n break;\n case 5:\n var parent$149 = hostParentFiber.stateNode;\n hostParentFiber.flags & 32 &&\n (setTextContent(parent$149, \"\"), (hostParentFiber.flags &= -33));\n var before$150 = getHostSibling(finishedWork);\n insertOrAppendPlacementNode(\n finishedWork,\n before$150,\n parent$149,\n JSCompiler_inline_result\n );\n break;\n case 3:\n case 4:\n var parent$151 = hostParentFiber.stateNode.containerInfo,\n before$152 = getHostSibling(finishedWork);\n insertOrAppendPlacementNodeIntoContainer(\n finishedWork,\n before$152,\n parent$151,\n JSCompiler_inline_result\n );\n break;\n default:\n throw Error(formatProdErrorMessage(161));\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n finishedWork.flags &= -3;\n }\n flags & 4096 && (finishedWork.flags &= -4097);\n}\nfunction recursivelyResetForms(parentFiber) {\n if (parentFiber.subtreeFlags & 1024)\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var fiber = parentFiber;\n recursivelyResetForms(fiber);\n 5 === fiber.tag &&\n fiber.flags & 1024 &&\n ((fiber = fiber.stateNode),\n (_enabled = !0),\n fiber.reset(),\n (_enabled = !1));\n parentFiber = parentFiber.sibling;\n }\n}\nfunction recursivelyTraverseAfterMutationEffects(root, parentFiber) {\n if (parentFiber.subtreeFlags & 9270)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitAfterMutationEffectsOnFiber(parentFiber, root),\n (parentFiber = parentFiber.sibling);\n else measureNestedViewTransitions(parentFiber, !1);\n}\nfunction commitAfterMutationEffectsOnFiber(finishedWork, root) {\n var current = finishedWork.alternate;\n if (null === current) commitEnterViewTransitions(finishedWork, !1);\n else\n switch (finishedWork.tag) {\n case 3:\n rootViewTransitionNameCanceled = viewTransitionContextChanged = !1;\n pushViewTransitionCancelableScope();\n recursivelyTraverseAfterMutationEffects(root, finishedWork);\n if (!viewTransitionContextChanged && !rootViewTransitionAffected) {\n finishedWork = viewTransitionCancelableChildren;\n if (null !== finishedWork)\n for (var i = 0; i < finishedWork.length; i += 3) {\n current = finishedWork[i];\n var oldName = finishedWork[i + 1];\n restoreViewTransitionName(current, finishedWork[i + 2]);\n current = current.ownerDocument.documentElement;\n null !== current &&\n current.animate(\n { opacity: [0, 0], pointerEvents: [\"none\", \"none\"] },\n {\n duration: 0,\n fill: \"forwards\",\n pseudoElement: \"::view-transition-group(\" + oldName + \")\"\n }\n );\n }\n finishedWork = root.containerInfo;\n finishedWork =\n 9 === finishedWork.nodeType\n ? finishedWork.documentElement\n : finishedWork.ownerDocument.documentElement;\n null !== finishedWork &&\n \"\" === finishedWork.style.viewTransitionName &&\n ((finishedWork.style.viewTransitionName = \"none\"),\n finishedWork.animate(\n { opacity: [0, 0], pointerEvents: [\"none\", \"none\"] },\n {\n duration: 0,\n fill: \"forwards\",\n pseudoElement: \"::view-transition-group(root)\"\n }\n ),\n finishedWork.animate(\n { width: [0, 0], height: [0, 0] },\n {\n duration: 0,\n fill: \"forwards\",\n pseudoElement: \"::view-transition\"\n }\n ));\n rootViewTransitionNameCanceled = !0;\n }\n viewTransitionCancelableChildren = null;\n break;\n case 5:\n recursivelyTraverseAfterMutationEffects(root, finishedWork);\n break;\n case 4:\n i = viewTransitionContextChanged;\n viewTransitionContextChanged = !1;\n recursivelyTraverseAfterMutationEffects(root, finishedWork);\n viewTransitionContextChanged && (rootViewTransitionAffected = !0);\n viewTransitionContextChanged = i;\n break;\n case 22:\n null === finishedWork.memoizedState &&\n (null !== current.memoizedState\n ? commitEnterViewTransitions(finishedWork, !1)\n : recursivelyTraverseAfterMutationEffects(root, finishedWork));\n break;\n case 30:\n i = viewTransitionContextChanged;\n oldName = pushViewTransitionCancelableScope();\n viewTransitionContextChanged = !1;\n recursivelyTraverseAfterMutationEffects(root, finishedWork);\n viewTransitionContextChanged && (finishedWork.flags |= 4);\n var props = finishedWork.memoizedProps,\n state = finishedWork.stateNode;\n root = getViewTransitionName(props, state);\n state = getViewTransitionName(current.memoizedProps, state);\n var className = getViewTransitionClassName(props.default, props.update);\n \"none\" === className\n ? (root = !1)\n : ((props = current.memoizedState),\n (current.memoizedState = null),\n (current = finishedWork.child),\n (viewTransitionHostInstanceIdx = 0),\n (root = measureViewTransitionHostInstancesRecursive(\n finishedWork,\n current,\n root,\n state,\n className,\n props,\n !0\n )),\n viewTransitionHostInstanceIdx !==\n (null === props ? 0 : props.length) &&\n (finishedWork.flags |= 32));\n 0 !== (finishedWork.flags & 4) && root\n ? (scheduleViewTransitionEvent(\n finishedWork,\n finishedWork.memoizedProps.onUpdate\n ),\n (viewTransitionCancelableChildren = oldName))\n : null !== oldName &&\n (oldName.push.apply(oldName, viewTransitionCancelableChildren),\n (viewTransitionCancelableChildren = oldName));\n viewTransitionContextChanged = 0 !== (finishedWork.flags & 32) ? !0 : i;\n break;\n default:\n recursivelyTraverseAfterMutationEffects(root, finishedWork);\n }\n}\nfunction recursivelyTraverseLayoutEffects(root, parentFiber) {\n if (parentFiber.subtreeFlags & 8772)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitLayoutEffectOnFiber(root, parentFiber.alternate, parentFiber),\n (parentFiber = parentFiber.sibling);\n}\nfunction recursivelyTraverseDisappearLayoutEffects(\n parentFiber,\n layoutEffectTraversalFlags$jscomp$0\n) {\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedWork = parentFiber,\n layoutEffectTraversalFlags = layoutEffectTraversalFlags$jscomp$0;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n commitHookEffectListUnmount(4, finishedWork, finishedWork.return);\n recursivelyTraverseDisappearLayoutEffects(\n finishedWork,\n layoutEffectTraversalFlags\n );\n break;\n case 1:\n safelyDetachRef(finishedWork, finishedWork.return);\n var instance = finishedWork.stateNode;\n \"function\" === typeof instance.componentWillUnmount &&\n safelyCallComponentWillUnmount(\n finishedWork,\n finishedWork.return,\n instance\n );\n recursivelyTraverseDisappearLayoutEffects(\n finishedWork,\n layoutEffectTraversalFlags\n );\n break;\n case 27:\n 0 !== (layoutEffectTraversalFlags & 2) &&\n releaseSingletonInstance(\n finishedWork.stateNode,\n finishedWork.type,\n finishedWork.memoizedProps\n );\n case 5:\n safelyDetachRef(finishedWork, finishedWork.return);\n (5 !== finishedWork.tag && 27 !== finishedWork.tag) ||\n commitFragmentInstanceDeletionEffects(finishedWork);\n recursivelyTraverseDisappearLayoutEffects(\n finishedWork,\n layoutEffectTraversalFlags\n );\n break;\n case 6:\n commitFragmentInstanceDeletionEffects(finishedWork);\n break;\n case 26:\n safelyDetachRef(finishedWork, finishedWork.return);\n instance = finishedWork.stateNode;\n null !== finishedWork.memoizedState ||\n null === instance ||\n offscreenSubtreeWasHidden ||\n instance.parentNode.removeChild(instance);\n recursivelyTraverseDisappearLayoutEffects(\n finishedWork,\n layoutEffectTraversalFlags\n );\n break;\n case 22:\n null === finishedWork.memoizedState &&\n recursivelyTraverseDisappearLayoutEffects(\n finishedWork,\n layoutEffectTraversalFlags\n );\n break;\n case 30:\n safelyDetachRef(finishedWork, finishedWork.return);\n recursivelyTraverseDisappearLayoutEffects(\n finishedWork,\n layoutEffectTraversalFlags\n );\n break;\n case 7:\n safelyDetachRef(finishedWork, finishedWork.return);\n default:\n recursivelyTraverseDisappearLayoutEffects(\n finishedWork,\n layoutEffectTraversalFlags\n );\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction recursivelyTraverseReappearLayoutEffects(\n finishedRoot$jscomp$0,\n parentFiber,\n layoutEffectTraversalFlags\n) {\n layoutEffectTraversalFlags =\n 0 !== (parentFiber.subtreeFlags & 8772)\n ? layoutEffectTraversalFlags\n : layoutEffectTraversalFlags & -2;\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var current = parentFiber.alternate,\n finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n flags = finishedWork.flags,\n includeWorkInProgressEffects = 0 !== (layoutEffectTraversalFlags & 1);\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n layoutEffectTraversalFlags\n );\n commitHookEffectListMount(4, finishedWork);\n break;\n case 1:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n layoutEffectTraversalFlags\n );\n current = finishedWork;\n finishedRoot = current.stateNode;\n if (\"function\" === typeof finishedRoot.componentDidMount)\n try {\n finishedRoot.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(current, current.return, error);\n }\n current = finishedWork;\n finishedRoot = current.updateQueue;\n if (null !== finishedRoot) {\n var instance = current.stateNode;\n try {\n var hiddenCallbacks = finishedRoot.shared.hiddenCallbacks;\n if (null !== hiddenCallbacks)\n for (\n finishedRoot.shared.hiddenCallbacks = null, finishedRoot = 0;\n finishedRoot < hiddenCallbacks.length;\n finishedRoot++\n )\n callCallback(hiddenCallbacks[finishedRoot], instance);\n } catch (error) {\n captureCommitPhaseError(current, current.return, error);\n }\n }\n includeWorkInProgressEffects &&\n flags & 64 &&\n commitClassCallbacks(finishedWork);\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 27:\n 0 !== (layoutEffectTraversalFlags & 2) &&\n commitHostSingletonAcquisition(finishedWork);\n case 5:\n (5 !== finishedWork.tag && 27 !== finishedWork.tag) ||\n commitFragmentInstanceInsertionEffects(finishedWork);\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n layoutEffectTraversalFlags\n );\n includeWorkInProgressEffects &&\n null === current &&\n flags & 4 &&\n commitHostMount(finishedWork);\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 6:\n commitFragmentInstanceInsertionEffects(finishedWork);\n break;\n case 26:\n instance = finishedWork.stateNode;\n null !== finishedWork.memoizedState ||\n null === instance ||\n offscreenSubtreeIsHidden ||\n mountHoistable(\n getHoistableRoot(instance.ownerDocument),\n finishedWork.type,\n instance\n );\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n layoutEffectTraversalFlags\n );\n includeWorkInProgressEffects &&\n null === current &&\n flags & 4 &&\n commitHostMount(finishedWork);\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 12:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n layoutEffectTraversalFlags\n );\n break;\n case 31:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n layoutEffectTraversalFlags\n );\n includeWorkInProgressEffects &&\n flags & 4 &&\n commitActivityHydrationCallbacks(finishedRoot, finishedWork);\n break;\n case 13:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n layoutEffectTraversalFlags\n );\n includeWorkInProgressEffects &&\n flags & 4 &&\n commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n break;\n case 22:\n null === finishedWork.memoizedState &&\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n layoutEffectTraversalFlags\n );\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 30:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n layoutEffectTraversalFlags\n );\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 7:\n safelyAttachRef(finishedWork, finishedWork.return);\n default:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n layoutEffectTraversalFlags\n );\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction commitOffscreenPassiveMountEffects(current, finishedWork) {\n var previousCache = null;\n null !== current &&\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n (previousCache = current.memoizedState.cachePool.pool);\n current = null;\n null !== finishedWork.memoizedState &&\n null !== finishedWork.memoizedState.cachePool &&\n (current = finishedWork.memoizedState.cachePool.pool);\n current !== previousCache &&\n (null != current && current.refCount++,\n null != previousCache && releaseCache(previousCache));\n}\nfunction commitCachePassiveMountEffect(current, finishedWork) {\n current = null;\n null !== finishedWork.alternate &&\n (current = finishedWork.alternate.memoizedState.cache);\n finishedWork = finishedWork.memoizedState.cache;\n finishedWork !== current &&\n (finishedWork.refCount++, null != current && releaseCache(current));\n}\nfunction recursivelyTraversePassiveMountEffects(\n root,\n parentFiber,\n committedLanes,\n committedTransitions\n) {\n var isViewTransitionEligible =\n (committedLanes & 335544064) === committedLanes;\n if (parentFiber.subtreeFlags & (isViewTransitionEligible ? 10262 : 10256))\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitPassiveMountOnFiber(\n root,\n parentFiber,\n committedLanes,\n committedTransitions\n ),\n (parentFiber = parentFiber.sibling);\n else isViewTransitionEligible && restoreNestedViewTransitions(parentFiber);\n}\nfunction commitPassiveMountOnFiber(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n) {\n var isViewTransitionEligible =\n (committedLanes & 335544064) === committedLanes;\n isViewTransitionEligible &&\n null === finishedWork.alternate &&\n null !== finishedWork.return &&\n null !== finishedWork.return.alternate &&\n restoreEnterOrExitViewTransitions(finishedWork);\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 && commitHookEffectListMount(9, finishedWork);\n break;\n case 1:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 3:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n isViewTransitionEligible &&\n rootViewTransitionNameCanceled &&\n ((finishedRoot = finishedRoot.containerInfo),\n (finishedRoot =\n 9 === finishedRoot.nodeType\n ? finishedRoot.body\n : \"HTML\" === finishedRoot.nodeName\n ? finishedRoot.ownerDocument.body\n : finishedRoot),\n \"root\" === finishedRoot.style.viewTransitionName &&\n (finishedRoot.style.viewTransitionName = \"\"),\n (finishedRoot = finishedRoot.ownerDocument.documentElement),\n null !== finishedRoot &&\n \"none\" === finishedRoot.style.viewTransitionName &&\n (finishedRoot.style.viewTransitionName = \"\"));\n flags & 2048 &&\n ((flags = null),\n null !== finishedWork.alternate &&\n (flags = finishedWork.alternate.memoizedState.cache),\n (finishedWork = finishedWork.memoizedState.cache),\n finishedWork !== flags &&\n (finishedWork.refCount++, null != flags && releaseCache(flags)));\n break;\n case 12:\n if (flags & 2048) {\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags = finishedWork.stateNode;\n try {\n var _finishedWork$memoize2 = finishedWork.memoizedProps,\n id = _finishedWork$memoize2.id,\n onPostCommit = _finishedWork$memoize2.onPostCommit;\n \"function\" === typeof onPostCommit &&\n onPostCommit(\n id,\n null === finishedWork.alternate ? \"mount\" : \"update\",\n flags.passiveEffectDuration,\n -0\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n } else\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 31:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 13:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 23:\n break;\n case 22:\n _finishedWork$memoize2 = finishedWork.stateNode;\n id = finishedWork.alternate;\n null !== finishedWork.memoizedState\n ? (isViewTransitionEligible &&\n null !== id &&\n null === id.memoizedState &&\n restoreEnterOrExitViewTransitions(id),\n _finishedWork$memoize2._visibility & 2\n ? recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n )\n : recursivelyTraverseAtomicPassiveEffects(\n finishedRoot,\n finishedWork\n ))\n : (isViewTransitionEligible &&\n null !== id &&\n null !== id.memoizedState &&\n restoreEnterOrExitViewTransitions(finishedWork),\n _finishedWork$memoize2._visibility & 2\n ? recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n )\n : ((_finishedWork$memoize2._visibility |= 2),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n 0 !== (finishedWork.subtreeFlags & 10256) || !1\n )));\n flags & 2048 && commitOffscreenPassiveMountEffects(id, finishedWork);\n break;\n case 24:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n case 30:\n isViewTransitionEligible &&\n ((flags = finishedWork.alternate),\n null !== flags &&\n (restoreViewTransitionOnHostInstances(flags.child, !0),\n restoreViewTransitionOnHostInstances(finishedWork.child, !0)));\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n default:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n }\n}\nfunction recursivelyTraverseReconnectPassiveEffects(\n finishedRoot$jscomp$0,\n parentFiber,\n committedLanes$jscomp$0,\n committedTransitions$jscomp$0,\n includeWorkInProgressEffects\n) {\n includeWorkInProgressEffects =\n includeWorkInProgressEffects &&\n (0 !== (parentFiber.subtreeFlags & 10256) || !1);\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n committedLanes = committedLanes$jscomp$0,\n committedTransitions = committedTransitions$jscomp$0,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n commitHookEffectListMount(8, finishedWork);\n break;\n case 23:\n break;\n case 22:\n var instance = finishedWork.stateNode;\n null !== finishedWork.memoizedState\n ? instance._visibility & 2\n ? recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n )\n : recursivelyTraverseAtomicPassiveEffects(\n finishedRoot,\n finishedWork\n )\n : ((instance._visibility |= 2),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n ));\n includeWorkInProgressEffects &&\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction recursivelyTraverseAtomicPassiveEffects(\n finishedRoot$jscomp$0,\n parentFiber\n) {\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 22:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n }\n parentFiber = parentFiber.sibling;\n }\n}\nvar suspenseyCommitFlag = 8192;\nfunction recursivelyAccumulateSuspenseyCommit(\n parentFiber,\n committedLanes,\n suspendedState\n) {\n if (parentFiber.subtreeFlags & suspenseyCommitFlag)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n accumulateSuspenseyCommitOnFiber(\n parentFiber,\n committedLanes,\n suspendedState\n ),\n (parentFiber = parentFiber.sibling);\n}\nfunction accumulateSuspenseyCommitOnFiber(\n fiber,\n committedLanes,\n suspendedState\n) {\n switch (fiber.tag) {\n case 26:\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n );\n fiber.flags & suspenseyCommitFlag &&\n (null !== fiber.memoizedState\n ? suspendResource(\n suspendedState,\n currentHoistableRoot,\n fiber.memoizedState,\n fiber.memoizedProps\n )\n : ((fiber = fiber.stateNode),\n (committedLanes & 335544128) === committedLanes &&\n suspendInstance(suspendedState, fiber)));\n break;\n case 5:\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n );\n fiber.flags & suspenseyCommitFlag &&\n ((fiber = fiber.stateNode),\n (committedLanes & 335544128) === committedLanes &&\n suspendInstance(suspendedState, fiber));\n break;\n case 3:\n case 4:\n var previousHoistableRoot = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(fiber.stateNode.containerInfo);\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n );\n currentHoistableRoot = previousHoistableRoot;\n break;\n case 22:\n null === fiber.memoizedState &&\n ((previousHoistableRoot = fiber.alternate),\n null !== previousHoistableRoot &&\n null !== previousHoistableRoot.memoizedState\n ? ((previousHoistableRoot = suspenseyCommitFlag),\n (suspenseyCommitFlag = 16777216),\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n ),\n (suspenseyCommitFlag = previousHoistableRoot))\n : recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n ));\n break;\n case 30:\n if (\n 0 !== (fiber.flags & suspenseyCommitFlag) &&\n ((previousHoistableRoot = fiber.memoizedProps.name),\n null != previousHoistableRoot && \"auto\" !== previousHoistableRoot)\n ) {\n var state = fiber.stateNode;\n state.paired = null;\n null === appearingViewTransitions &&\n (appearingViewTransitions = new Map());\n appearingViewTransitions.set(previousHoistableRoot, state);\n }\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n );\n break;\n default:\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n );\n }\n}\nfunction detachAlternateSiblings(parentFiber) {\n var previousFiber = parentFiber.alternate;\n if (\n null !== previousFiber &&\n ((parentFiber = previousFiber.child), null !== parentFiber)\n ) {\n previousFiber.child = null;\n do\n (previousFiber = parentFiber.sibling),\n (parentFiber.sibling = null),\n (parentFiber = previousFiber);\n while (null !== parentFiber);\n }\n}\nfunction recursivelyTraversePassiveUnmountEffects(parentFiber) {\n var deletions = parentFiber.deletions;\n if (0 !== (parentFiber.flags & 16)) {\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n childToDelete,\n parentFiber\n );\n }\n detachAlternateSiblings(parentFiber);\n }\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitPassiveUnmountOnFiber(parentFiber),\n (parentFiber = parentFiber.sibling);\n}\nfunction commitPassiveUnmountOnFiber(finishedWork) {\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n finishedWork.flags & 2048 &&\n commitHookEffectListUnmount(9, finishedWork, finishedWork.return);\n break;\n case 3:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n case 12:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n case 22:\n var instance = finishedWork.stateNode;\n null !== finishedWork.memoizedState &&\n instance._visibility & 2 &&\n (null === finishedWork.return || 13 !== finishedWork.return.tag)\n ? ((instance._visibility &= -3),\n recursivelyTraverseDisconnectPassiveEffects(finishedWork))\n : recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n default:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n }\n}\nfunction recursivelyTraverseDisconnectPassiveEffects(parentFiber) {\n var deletions = parentFiber.deletions;\n if (0 !== (parentFiber.flags & 16)) {\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n childToDelete,\n parentFiber\n );\n }\n detachAlternateSiblings(parentFiber);\n }\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n deletions = parentFiber;\n switch (deletions.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListUnmount(8, deletions, deletions.return);\n recursivelyTraverseDisconnectPassiveEffects(deletions);\n break;\n case 22:\n i = deletions.stateNode;\n i._visibility & 2 &&\n ((i._visibility &= -3),\n recursivelyTraverseDisconnectPassiveEffects(deletions));\n break;\n default:\n recursivelyTraverseDisconnectPassiveEffects(deletions);\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n deletedSubtreeRoot,\n nearestMountedAncestor\n) {\n for (; null !== nextEffect; ) {\n var fiber = nextEffect;\n switch (fiber.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListUnmount(8, fiber, nearestMountedAncestor);\n break;\n case 23:\n case 22:\n if (\n null !== fiber.memoizedState &&\n null !== fiber.memoizedState.cachePool\n ) {\n var cache = fiber.memoizedState.cachePool.pool;\n null != cache && cache.refCount++;\n }\n break;\n case 24:\n releaseCache(fiber.memoizedState.cache);\n }\n cache = fiber.child;\n if (null !== cache) (cache.return = fiber), (nextEffect = cache);\n else\n a: for (fiber = deletedSubtreeRoot; null !== nextEffect; ) {\n cache = nextEffect;\n var sibling = cache.sibling,\n returnFiber = cache.return;\n detachFiberAfterEffects(cache);\n if (cache === fiber) {\n nextEffect = null;\n break a;\n }\n if (null !== sibling) {\n sibling.return = returnFiber;\n nextEffect = sibling;\n break a;\n }\n nextEffect = returnFiber;\n }\n }\n}\nvar DefaultAsyncDispatcher = {\n getCacheForType: function (resourceType) {\n var cache = readContext(CacheContext),\n cacheForType = cache.data.get(resourceType);\n void 0 === cacheForType &&\n ((cacheForType = resourceType()),\n cache.data.set(resourceType, cacheForType));\n return cacheForType;\n },\n cacheSignal: function () {\n return readContext(CacheContext).controller.signal;\n }\n },\n PossiblyWeakMap = \"function\" === typeof WeakMap ? WeakMap : Map,\n executionContext = 0,\n workInProgressRoot = null,\n workInProgress = null,\n workInProgressRootRenderLanes = 0,\n workInProgressSuspendedReason = 0,\n workInProgressThrownValue = null,\n workInProgressRootDidSkipSuspendedSiblings = !1,\n workInProgressRootIsPrerendering = !1,\n workInProgressRootDidAttachPingListener = !1,\n entangledRenderLanes = 0,\n workInProgressRootExitStatus = 0,\n workInProgressRootSkippedLanes = 0,\n workInProgressRootInterleavedUpdatedLanes = 0,\n workInProgressRootPingedLanes = 0,\n workInProgressDeferredLane = 0,\n workInProgressSuspendedRetryLanes = 0,\n workInProgressRootConcurrentErrors = null,\n workInProgressRootRecoverableErrors = null,\n workInProgressRootDidIncludeRecursiveRenderUpdate = !1,\n globalMostRecentFallbackTime = 0,\n globalMostRecentTransitionTime = 0,\n workInProgressRootRenderTargetTime = Infinity,\n workInProgressTransitions = null,\n legacyErrorBoundariesThatAlreadyFailed = null,\n pendingEffectsStatus = 0,\n pendingEffectsRoot = null,\n pendingFinishedWork = null,\n pendingEffectsLanes = 0,\n pendingEffectsRemainingLanes = 0,\n pendingPassiveTransitions = null,\n pendingRecoverableErrors = null,\n pendingViewTransition = null,\n pendingViewTransitionEvents = null,\n pendingTransitionTypes = null,\n nestedUpdateCount = 0,\n rootWithNestedUpdates = null;\nfunction requestUpdateLane() {\n return 0 !== (executionContext & 2) && 0 !== workInProgressRootRenderLanes\n ? workInProgressRootRenderLanes & -workInProgressRootRenderLanes\n : null !== ReactSharedInternals.T\n ? requestTransitionLane()\n : resolveUpdatePriority();\n}\nfunction requestDeferredLane() {\n if (0 === workInProgressDeferredLane)\n if (0 === (workInProgressRootRenderLanes & 536870912) || isHydrating) {\n var lane = nextTransitionDeferredLane;\n nextTransitionDeferredLane <<= 1;\n 0 === (nextTransitionDeferredLane & 3932160) &&\n (nextTransitionDeferredLane = 262144);\n workInProgressDeferredLane = lane;\n } else workInProgressDeferredLane = 536870912;\n lane = suspenseHandlerStackCursor.current;\n null !== lane && (lane.flags |= 32);\n return workInProgressDeferredLane;\n}\nfunction scheduleViewTransitionEvent(fiber, callback) {\n if (null != callback) {\n var state = fiber.stateNode,\n instance = state.ref;\n null === instance &&\n (instance = state.ref =\n createViewTransitionInstance(\n getViewTransitionName(fiber.memoizedProps, state)\n ));\n null === pendingViewTransitionEvents && (pendingViewTransitionEvents = []);\n pendingViewTransitionEvents.push(callback.bind(null, instance));\n }\n}\nfunction scheduleUpdateOnFiber(root, fiber, lane) {\n if (\n (root === workInProgressRoot &&\n (2 === workInProgressSuspendedReason ||\n 9 === workInProgressSuspendedReason)) ||\n null !== root.cancelPendingCommit\n )\n prepareFreshStack(root, 0),\n markRootSuspended(\n root,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n );\n markRootUpdated$1(root, lane);\n if (0 === (executionContext & 2) || root !== workInProgressRoot)\n root === workInProgressRoot &&\n (0 === (executionContext & 2) &&\n (workInProgressRootInterleavedUpdatedLanes |= lane),\n 4 === workInProgressRootExitStatus &&\n markRootSuspended(\n root,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n )),\n ensureRootIsScheduled(root);\n}\nfunction performWorkOnRoot(root$jscomp$0, lanes, forceSync) {\n if (0 !== (executionContext & 6)) throw Error(formatProdErrorMessage(327));\n var shouldTimeSlice =\n (!forceSync &&\n 0 === (lanes & 127) &&\n 0 === (lanes & root$jscomp$0.expiredLanes)) ||\n checkIfRootIsPrerendering(root$jscomp$0, lanes),\n exitStatus = shouldTimeSlice\n ? renderRootConcurrent(root$jscomp$0, lanes)\n : renderRootSync(root$jscomp$0, lanes, !0),\n renderWasConcurrent = shouldTimeSlice;\n do {\n if (0 === exitStatus) {\n workInProgressRootIsPrerendering &&\n !shouldTimeSlice &&\n markRootSuspended(root$jscomp$0, lanes, 0, !1);\n break;\n } else {\n forceSync = root$jscomp$0.current.alternate;\n if (\n renderWasConcurrent &&\n !isRenderConsistentWithExternalStores(forceSync)\n ) {\n exitStatus = renderRootSync(root$jscomp$0, lanes, !1);\n renderWasConcurrent = !1;\n continue;\n }\n if (2 === exitStatus) {\n renderWasConcurrent = lanes;\n if (root$jscomp$0.errorRecoveryDisabledLanes & renderWasConcurrent)\n var JSCompiler_inline_result = 0;\n else\n (JSCompiler_inline_result = root$jscomp$0.pendingLanes & -536870913),\n (JSCompiler_inline_result =\n 0 !== JSCompiler_inline_result\n ? JSCompiler_inline_result\n : JSCompiler_inline_result & 536870912\n ? 536870912\n : 0);\n if (0 !== JSCompiler_inline_result) {\n lanes = JSCompiler_inline_result;\n a: {\n var root = root$jscomp$0;\n exitStatus = workInProgressRootConcurrentErrors;\n var wasRootDehydrated = root.current.memoizedState.isDehydrated;\n wasRootDehydrated &&\n (prepareFreshStack(root, JSCompiler_inline_result).flags |= 256);\n JSCompiler_inline_result = renderRootSync(\n root,\n JSCompiler_inline_result,\n !1\n );\n if (\n 2 !== JSCompiler_inline_result &&\n 6 !== JSCompiler_inline_result\n ) {\n if (\n workInProgressRootDidAttachPingListener &&\n !wasRootDehydrated\n ) {\n root.errorRecoveryDisabledLanes |= renderWasConcurrent;\n workInProgressRootInterleavedUpdatedLanes |=\n renderWasConcurrent;\n exitStatus = 4;\n break a;\n }\n renderWasConcurrent = workInProgressRootRecoverableErrors;\n workInProgressRootRecoverableErrors = exitStatus;\n null !== renderWasConcurrent &&\n (null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = renderWasConcurrent)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n renderWasConcurrent\n ));\n }\n exitStatus = JSCompiler_inline_result;\n }\n renderWasConcurrent = !1;\n if (2 !== exitStatus) continue;\n }\n }\n if (1 === exitStatus) {\n prepareFreshStack(root$jscomp$0, 0);\n markRootSuspended(root$jscomp$0, lanes, 0, !0);\n break;\n }\n a: {\n shouldTimeSlice = root$jscomp$0;\n renderWasConcurrent = exitStatus;\n switch (renderWasConcurrent) {\n case 0:\n case 1:\n throw Error(formatProdErrorMessage(345));\n case 4:\n if ((lanes & 4194048) !== lanes && (lanes & 62914560) !== lanes)\n break;\n case 6:\n markRootSuspended(\n shouldTimeSlice,\n lanes,\n workInProgressDeferredLane,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n break a;\n case 2:\n workInProgressRootRecoverableErrors = null;\n break;\n case 3:\n case 5:\n break;\n default:\n throw Error(formatProdErrorMessage(329));\n }\n if (\n (lanes & 62914560) === lanes &&\n ((exitStatus = globalMostRecentFallbackTime + 300 - now()),\n 10 < exitStatus)\n ) {\n markRootSuspended(\n shouldTimeSlice,\n lanes,\n workInProgressDeferredLane,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n if (0 !== getNextLanes(shouldTimeSlice, 0, !0)) break a;\n pendingEffectsLanes = lanes;\n shouldTimeSlice.timeoutHandle = scheduleTimeout(\n completeRootWhenReady.bind(\n null,\n shouldTimeSlice,\n forceSync,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n lanes,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes,\n workInProgressRootDidSkipSuspendedSiblings,\n renderWasConcurrent,\n \"Throttled\",\n -0,\n 0\n ),\n exitStatus\n );\n break a;\n }\n completeRootWhenReady(\n shouldTimeSlice,\n forceSync,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n lanes,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes,\n workInProgressRootDidSkipSuspendedSiblings,\n renderWasConcurrent,\n null,\n -0,\n 0\n );\n }\n }\n break;\n } while (1);\n ensureRootIsScheduled(root$jscomp$0);\n}\nfunction completeRootWhenReady(\n root,\n finishedWork,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n lanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n didSkipSuspendedSiblings,\n exitStatus,\n suspendedCommitReason,\n completedRenderStartTime,\n completedRenderEndTime\n) {\n root.timeoutHandle = -1;\n var subtreeFlags = finishedWork.subtreeFlags,\n isViewTransitionEligible = (lanes & 335544064) === lanes;\n suspendedCommitReason = null;\n if (\n isViewTransitionEligible ||\n subtreeFlags & 8192 ||\n 16785408 === (subtreeFlags & 16785408)\n )\n if (\n ((suspendedCommitReason = {\n stylesheets: null,\n count: 0,\n imgCount: 0,\n imgBytes: 0,\n suspenseyImages: [],\n waitingForImages: !0,\n waitingForViewTransition: !1,\n unsuspend: noop$1\n }),\n (appearingViewTransitions = null),\n accumulateSuspenseyCommitOnFiber(\n finishedWork,\n lanes,\n suspendedCommitReason\n ),\n isViewTransitionEligible &&\n ((subtreeFlags = suspendedCommitReason),\n (isViewTransitionEligible = root.containerInfo),\n (isViewTransitionEligible = (\n 9 === isViewTransitionEligible.nodeType\n ? isViewTransitionEligible\n : isViewTransitionEligible.ownerDocument\n ).__reactViewTransition),\n null != isViewTransitionEligible &&\n (subtreeFlags.count++,\n (subtreeFlags.waitingForViewTransition = !0),\n (subtreeFlags = onUnsuspend.bind(subtreeFlags)),\n isViewTransitionEligible.finished.then(subtreeFlags, subtreeFlags))),\n (subtreeFlags =\n (lanes & 62914560) === lanes\n ? globalMostRecentFallbackTime - now()\n : (lanes & 4194048) === lanes\n ? globalMostRecentTransitionTime - now()\n : 0),\n (subtreeFlags = waitForCommitToBeReady(\n suspendedCommitReason,\n subtreeFlags\n )),\n null !== subtreeFlags)\n ) {\n pendingEffectsLanes = lanes;\n root.cancelPendingCommit = subtreeFlags(\n completeRoot.bind(\n null,\n root,\n finishedWork,\n lanes,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n didSkipSuspendedSiblings,\n exitStatus,\n suspendedCommitReason,\n null,\n completedRenderStartTime,\n completedRenderEndTime\n )\n );\n markRootSuspended(root, lanes, spawnedLane, !didSkipSuspendedSiblings);\n return;\n }\n completeRoot(\n root,\n finishedWork,\n lanes,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n didSkipSuspendedSiblings,\n exitStatus,\n suspendedCommitReason\n );\n}\nfunction isRenderConsistentWithExternalStores(finishedWork) {\n for (var node = finishedWork; ; ) {\n var tag = node.tag;\n if (\n (0 === tag || 11 === tag || 15 === tag) &&\n node.flags & 16384 &&\n ((tag = node.updateQueue),\n null !== tag && ((tag = tag.stores), null !== tag))\n )\n for (var i = 0; i < tag.length; i++) {\n var check = tag[i],\n getSnapshot = check.getSnapshot;\n check = check.value;\n try {\n if (!objectIs(getSnapshot(), check)) return !1;\n } catch (error) {\n return !1;\n }\n }\n tag = node.child;\n if (node.subtreeFlags & 16384 && null !== tag)\n (tag.return = node), (node = tag);\n else {\n if (node === finishedWork) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === finishedWork) return !0;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n return !0;\n}\nfunction markRootSuspended(\n root,\n suspendedLanes,\n spawnedLane,\n didAttemptEntireTree\n) {\n suspendedLanes = getEntangledLanes(root, suspendedLanes);\n suspendedLanes &= ~workInProgressRootPingedLanes;\n suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes;\n root.suspendedLanes |= suspendedLanes;\n root.pingedLanes &= ~suspendedLanes;\n didAttemptEntireTree && (root.warmLanes |= suspendedLanes);\n didAttemptEntireTree = root.expirationTimes;\n for (var lanes = suspendedLanes; 0 < lanes; ) {\n var index$6 = 31 - clz32(lanes),\n lane = 1 << index$6;\n didAttemptEntireTree[index$6] = -1;\n lanes &= ~lane;\n }\n 0 !== spawnedLane &&\n markSpawnedDeferredLane(root, spawnedLane, suspendedLanes);\n}\nfunction flushSyncWork$1() {\n return 0 === (executionContext & 6)\n ? (flushSyncWorkAcrossRoots_impl(0, !1), !1)\n : !0;\n}\nfunction resetWorkInProgressStack() {\n if (null !== workInProgress) {\n if (0 === workInProgressSuspendedReason)\n var interruptedWork = workInProgress.return;\n else\n (interruptedWork = workInProgress),\n (lastContextDependency = currentlyRenderingFiber$1 = null),\n resetHooksOnUnwind(interruptedWork),\n (thenableState$1 = null),\n (thenableIndexCounter$1 = 0),\n (interruptedWork = workInProgress);\n for (; null !== interruptedWork; )\n unwindInterruptedWork(interruptedWork.alternate, interruptedWork),\n (interruptedWork = interruptedWork.return);\n workInProgress = null;\n }\n}\nfunction prepareFreshStack(root, lanes) {\n var timeoutHandle = root.timeoutHandle;\n -1 !== timeoutHandle &&\n ((root.timeoutHandle = -1), cancelTimeout(timeoutHandle));\n timeoutHandle = root.cancelPendingCommit;\n null !== timeoutHandle &&\n ((root.cancelPendingCommit = null), timeoutHandle());\n pendingEffectsLanes = 0;\n resetWorkInProgressStack();\n workInProgressRoot = root;\n workInProgress = timeoutHandle = createWorkInProgress(root.current, null);\n workInProgressRootRenderLanes = lanes;\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n workInProgressRootDidSkipSuspendedSiblings = !1;\n workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root, lanes);\n workInProgressRootDidAttachPingListener = !1;\n workInProgressSuspendedRetryLanes =\n workInProgressDeferredLane =\n workInProgressRootPingedLanes =\n workInProgressRootInterleavedUpdatedLanes =\n workInProgressRootSkippedLanes =\n workInProgressRootExitStatus =\n 0;\n workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors =\n null;\n workInProgressRootDidIncludeRecursiveRenderUpdate = !1;\n entangledRenderLanes = getEntangledLanes(root, lanes);\n finishQueueingConcurrentUpdates();\n return timeoutHandle;\n}\nfunction handleThrow(root, thrownValue) {\n currentlyRenderingFiber = null;\n ReactSharedInternals.H = ContextOnlyDispatcher;\n thrownValue === SuspenseException || thrownValue === SuspenseActionException\n ? ((thrownValue = getSuspendedThenable()),\n (workInProgressSuspendedReason = 3))\n : thrownValue === SuspenseyCommitException\n ? ((thrownValue = getSuspendedThenable()),\n (workInProgressSuspendedReason = 4))\n : (workInProgressSuspendedReason =\n thrownValue === SelectiveHydrationException\n ? 8\n : null !== thrownValue &&\n \"object\" === typeof thrownValue &&\n \"function\" === typeof thrownValue.then\n ? 6\n : 1);\n workInProgressThrownValue = thrownValue;\n null === workInProgress &&\n ((workInProgressRootExitStatus = 1),\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n ));\n}\nfunction shouldRemainOnPreviousScreen() {\n var handler = suspenseHandlerStackCursor.current;\n return null === handler\n ? !0\n : (workInProgressRootRenderLanes & 4194048) ===\n workInProgressRootRenderLanes\n ? null === shellBoundary\n ? !0\n : !1\n : (workInProgressRootRenderLanes & 62914560) ===\n workInProgressRootRenderLanes ||\n 0 !== (workInProgressRootRenderLanes & 536870912)\n ? handler === shellBoundary\n : !1;\n}\nfunction pushDispatcher() {\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = ContextOnlyDispatcher;\n return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher;\n}\nfunction pushAsyncDispatcher() {\n var prevAsyncDispatcher = ReactSharedInternals.A;\n ReactSharedInternals.A = DefaultAsyncDispatcher;\n return prevAsyncDispatcher;\n}\nfunction renderDidSuspendDelayIfPossible() {\n workInProgressRootExitStatus = 4;\n workInProgressRootDidSkipSuspendedSiblings ||\n ((workInProgressRootRenderLanes & 4194048) !==\n workInProgressRootRenderLanes &&\n null !== suspenseHandlerStackCursor.current) ||\n (workInProgressRootIsPrerendering = !0);\n (0 === (workInProgressRootSkippedLanes & 134217727) &&\n 0 === (workInProgressRootInterleavedUpdatedLanes & 134217727)) ||\n null === workInProgressRoot ||\n markRootSuspended(\n workInProgressRoot,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n );\n}\nfunction renderRootSync(root, lanes, shouldYieldForPrerendering) {\n var prevExecutionContext = executionContext;\n executionContext |= 2;\n var prevDispatcher = pushDispatcher(),\n prevAsyncDispatcher = pushAsyncDispatcher();\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes)\n (workInProgressTransitions = null), prepareFreshStack(root, lanes);\n lanes = !1;\n var exitStatus = workInProgressRootExitStatus;\n a: do\n try {\n if (0 !== workInProgressSuspendedReason && null !== workInProgress) {\n var unitOfWork = workInProgress,\n thrownValue = workInProgressThrownValue;\n switch (workInProgressSuspendedReason) {\n case 8:\n resetWorkInProgressStack();\n exitStatus = 6;\n break a;\n case 3:\n case 2:\n case 9:\n case 6:\n null === suspenseHandlerStackCursor.current && (lanes = !0);\n var reason = workInProgressSuspendedReason;\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason);\n if (\n shouldYieldForPrerendering &&\n workInProgressRootIsPrerendering\n ) {\n exitStatus = 0;\n break a;\n }\n break;\n default:\n (reason = workInProgressSuspendedReason),\n (workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason);\n }\n }\n workLoopSync();\n exitStatus = workInProgressRootExitStatus;\n break;\n } catch (thrownValue$184) {\n handleThrow(root, thrownValue$184);\n }\n while (1);\n lanes && root.shellSuspendCounter++;\n lastContextDependency = currentlyRenderingFiber$1 = null;\n executionContext = prevExecutionContext;\n ReactSharedInternals.H = prevDispatcher;\n ReactSharedInternals.A = prevAsyncDispatcher;\n null === workInProgress &&\n ((workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0),\n finishQueueingConcurrentUpdates());\n return exitStatus;\n}\nfunction workLoopSync() {\n for (; null !== workInProgress; ) performUnitOfWork(workInProgress);\n}\nfunction renderRootConcurrent(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= 2;\n var prevDispatcher = pushDispatcher(),\n prevAsyncDispatcher = pushAsyncDispatcher();\n workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes\n ? ((workInProgressTransitions = null),\n (workInProgressRootRenderTargetTime = now() + 500),\n prepareFreshStack(root, lanes))\n : (workInProgressRootIsPrerendering = checkIfRootIsPrerendering(\n root,\n lanes\n ));\n a: do\n try {\n if (0 !== workInProgressSuspendedReason && null !== workInProgress) {\n lanes = workInProgress;\n var thrownValue = workInProgressThrownValue;\n b: switch (workInProgressSuspendedReason) {\n case 1:\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 1);\n break;\n case 2:\n case 9:\n if (isThenableResolved(thrownValue)) {\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n replaySuspendedUnitOfWork(lanes);\n break;\n }\n lanes = function () {\n (2 !== workInProgressSuspendedReason &&\n 9 !== workInProgressSuspendedReason) ||\n workInProgressRoot !== root ||\n (workInProgressSuspendedReason = 7);\n ensureRootIsScheduled(root);\n };\n thrownValue.then(lanes, lanes);\n break a;\n case 3:\n workInProgressSuspendedReason = 7;\n break a;\n case 4:\n workInProgressSuspendedReason = 5;\n break a;\n case 7:\n isThenableResolved(thrownValue)\n ? ((workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n replaySuspendedUnitOfWork(lanes))\n : ((workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 7));\n break;\n case 5:\n var resource = null;\n switch (workInProgress.tag) {\n case 26:\n resource = workInProgress.memoizedState;\n case 5:\n case 27:\n var hostFiber = workInProgress;\n if (\n resource\n ? preloadResource(resource)\n : hostFiber.stateNode.complete\n ) {\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n var sibling = hostFiber.sibling;\n if (null !== sibling) workInProgress = sibling;\n else {\n var returnFiber = hostFiber.return;\n null !== returnFiber\n ? ((workInProgress = returnFiber),\n completeUnitOfWork(returnFiber))\n : (workInProgress = null);\n }\n break b;\n }\n }\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 5);\n break;\n case 6:\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 6);\n break;\n case 8:\n resetWorkInProgressStack();\n workInProgressRootExitStatus = 6;\n break a;\n default:\n throw Error(formatProdErrorMessage(462));\n }\n }\n workLoopConcurrentByScheduler();\n break;\n } catch (thrownValue$186) {\n handleThrow(root, thrownValue$186);\n }\n while (1);\n lastContextDependency = currentlyRenderingFiber$1 = null;\n ReactSharedInternals.H = prevDispatcher;\n ReactSharedInternals.A = prevAsyncDispatcher;\n executionContext = prevExecutionContext;\n if (null !== workInProgress) return 0;\n workInProgressRoot = null;\n workInProgressRootRenderLanes = 0;\n finishQueueingConcurrentUpdates();\n return workInProgressRootExitStatus;\n}\nfunction workLoopConcurrentByScheduler() {\n for (; null !== workInProgress && !shouldYield(); )\n performUnitOfWork(workInProgress);\n}\nfunction performUnitOfWork(unitOfWork) {\n var next = beginWork(unitOfWork.alternate, unitOfWork, entangledRenderLanes);\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === next ? completeUnitOfWork(unitOfWork) : (workInProgress = next);\n}\nfunction replaySuspendedUnitOfWork(unitOfWork) {\n var next = unitOfWork;\n var current = next.alternate;\n switch (next.tag) {\n case 15:\n case 0:\n next = replayFunctionComponent(\n current,\n next,\n next.pendingProps,\n next.type,\n void 0,\n workInProgressRootRenderLanes\n );\n break;\n case 11:\n next = replayFunctionComponent(\n current,\n next,\n next.pendingProps,\n next.type.render,\n next.ref,\n workInProgressRootRenderLanes\n );\n break;\n case 5:\n resetHooksOnUnwind(next);\n var fiber = next;\n fiber === hydrationParentFiber &&\n (isHydrating\n ? (popToNextHostParent(fiber),\n 5 === fiber.tag &&\n null != fiber.stateNode &&\n (nextHydratableInstance = fiber.stateNode))\n : (popToNextHostParent(fiber), (isHydrating = !0)));\n default:\n unwindInterruptedWork(current, next),\n (next = workInProgress =\n resetWorkInProgress(next, entangledRenderLanes)),\n (next = beginWork(current, next, entangledRenderLanes));\n }\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === next ? completeUnitOfWork(unitOfWork) : (workInProgress = next);\n}\nfunction throwAndUnwindWorkLoop(\n root,\n unitOfWork,\n thrownValue,\n suspendedReason\n) {\n lastContextDependency = currentlyRenderingFiber$1 = null;\n resetHooksOnUnwind(unitOfWork);\n thenableState$1 = null;\n thenableIndexCounter$1 = 0;\n var returnFiber = unitOfWork.return;\n try {\n if (\n throwException(\n root,\n returnFiber,\n unitOfWork,\n thrownValue,\n workInProgressRootRenderLanes\n )\n ) {\n workInProgressRootExitStatus = 1;\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n workInProgress = null;\n return;\n }\n } catch (error) {\n if (null !== returnFiber) throw ((workInProgress = returnFiber), error);\n workInProgressRootExitStatus = 1;\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n workInProgress = null;\n return;\n }\n if (unitOfWork.flags & 32768) {\n if (isHydrating || 1 === suspendedReason) root = !0;\n else if (\n workInProgressRootIsPrerendering ||\n 0 !== (workInProgressRootRenderLanes & 536870912)\n )\n root = !1;\n else if (\n ((workInProgressRootDidSkipSuspendedSiblings = root = !0),\n 2 === suspendedReason ||\n 9 === suspendedReason ||\n 3 === suspendedReason ||\n 6 === suspendedReason)\n )\n (suspendedReason = suspenseHandlerStackCursor.current),\n null !== suspendedReason &&\n 13 === suspendedReason.tag &&\n (suspendedReason.flags |= 16384);\n unwindUnitOfWork(unitOfWork, root);\n } else completeUnitOfWork(unitOfWork);\n}\nfunction completeUnitOfWork(unitOfWork) {\n var completedWork = unitOfWork;\n do {\n if (0 !== (completedWork.flags & 32768)) {\n unwindUnitOfWork(\n completedWork,\n workInProgressRootDidSkipSuspendedSiblings\n );\n return;\n }\n unitOfWork = completedWork.return;\n var next = completeWork(\n completedWork.alternate,\n completedWork,\n entangledRenderLanes\n );\n if (null !== next) {\n workInProgress = next;\n return;\n }\n completedWork = completedWork.sibling;\n if (null !== completedWork) {\n workInProgress = completedWork;\n return;\n }\n workInProgress = completedWork = unitOfWork;\n } while (null !== completedWork);\n 0 === workInProgressRootExitStatus && (workInProgressRootExitStatus = 5);\n}\nfunction unwindUnitOfWork(unitOfWork, skipSiblings) {\n do {\n var next = unwindWork(unitOfWork.alternate, unitOfWork);\n if (null !== next) {\n next.flags &= 32767;\n workInProgress = next;\n return;\n }\n next = unitOfWork.return;\n null !== next &&\n ((next.flags |= 32768), (next.subtreeFlags = 0), (next.deletions = null));\n if (\n !skipSiblings &&\n ((unitOfWork = unitOfWork.sibling), null !== unitOfWork)\n ) {\n workInProgress = unitOfWork;\n return;\n }\n workInProgress = unitOfWork = next;\n } while (null !== unitOfWork);\n workInProgressRootExitStatus = 6;\n workInProgress = null;\n}\nfunction completeRoot(\n root,\n finishedWork,\n lanes,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n didSkipSuspendedSiblings,\n exitStatus,\n suspendedState\n) {\n root.cancelPendingCommit = null;\n do flushPendingEffects();\n while (0 !== pendingEffectsStatus);\n if (0 !== (executionContext & 6)) throw Error(formatProdErrorMessage(327));\n if (null !== finishedWork) {\n if (finishedWork === root.current) throw Error(formatProdErrorMessage(177));\n root === workInProgressRoot &&\n ((workInProgress = workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0));\n pendingFinishedWork = finishedWork;\n pendingEffectsRoot = root;\n pendingEffectsLanes = lanes;\n pendingPassiveTransitions = transitions;\n pendingRecoverableErrors = recoverableErrors;\n commitRoot(\n root,\n finishedWork,\n lanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n suspendedState\n );\n }\n}\nfunction commitRoot(\n root,\n finishedWork,\n lanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n suspendedState\n) {\n var remainingLanes = finishedWork.lanes | finishedWork.childLanes;\n pendingEffectsRemainingLanes = remainingLanes;\n remainingLanes |= concurrentlyUpdatedLanes;\n markRootFinished(\n root,\n lanes,\n remainingLanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n );\n pendingViewTransitionEvents = null;\n (lanes & 335544064) === lanes\n ? ((pendingTransitionTypes = claimQueuedTransitionTypes(root)),\n (spawnedLane = 10262))\n : ((pendingTransitionTypes = null), (spawnedLane = 10256));\n 0 !== (finishedWork.subtreeFlags & spawnedLane) ||\n 0 !== (finishedWork.flags & spawnedLane)\n ? ((root.callbackNode = null),\n (root.callbackPriority = 0),\n scheduleCallback$1(NormalPriority$1, function () {\n flushPassiveEffects();\n return null;\n }))\n : ((root.callbackNode = null), (root.callbackPriority = 0));\n shouldStartViewTransition = !1;\n spawnedLane = 0 !== (finishedWork.flags & 13878);\n if (0 !== (finishedWork.subtreeFlags & 13878) || spawnedLane) {\n spawnedLane = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n updatedLanes = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = 2;\n suspendedRetryLanes = executionContext;\n executionContext |= 4;\n try {\n commitBeforeMutationEffects(root, finishedWork, lanes);\n } finally {\n (executionContext = suspendedRetryLanes),\n (ReactDOMSharedInternals.p = updatedLanes),\n (ReactSharedInternals.T = spawnedLane);\n }\n }\n pendingEffectsStatus = 1;\n shouldStartViewTransition\n ? (pendingViewTransition = startViewTransition(\n suspendedState,\n root.containerInfo,\n pendingTransitionTypes,\n flushMutationEffects,\n flushLayoutEffects,\n flushAfterMutationEffects,\n flushSpawnedWork,\n flushPassiveEffects,\n reportViewTransitionError,\n null,\n null\n ))\n : (flushMutationEffects(), flushLayoutEffects(), flushSpawnedWork());\n}\nfunction reportViewTransitionError(error) {\n if (0 !== pendingEffectsStatus) {\n var onRecoverableError = pendingEffectsRoot.onRecoverableError;\n onRecoverableError(error, { componentStack: null });\n }\n}\nfunction flushAfterMutationEffects() {\n 3 === pendingEffectsStatus &&\n ((pendingEffectsStatus = 0),\n commitAfterMutationEffectsOnFiber(pendingFinishedWork, pendingEffectsRoot),\n (pendingEffectsStatus = 4));\n}\nfunction flushMutationEffects() {\n if (1 === pendingEffectsStatus) {\n pendingEffectsStatus = 0;\n var root = pendingEffectsRoot,\n finishedWork = pendingFinishedWork,\n lanes = pendingEffectsLanes,\n rootMutationHasEffect = 0 !== (finishedWork.flags & 13878);\n if (0 !== (finishedWork.subtreeFlags & 13878) || rootMutationHasEffect) {\n rootMutationHasEffect = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = 2;\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n try {\n inUpdateViewTransition = rootViewTransitionAffected = !1;\n commitMutationEffectsOnFiber(finishedWork, root, lanes);\n lanes = selectionInformation;\n var curFocusedElem = getActiveElementDeep(root.containerInfo),\n priorFocusedElem = lanes.focusedElem,\n priorSelectionRange = lanes.selectionRange;\n if (\n curFocusedElem !== priorFocusedElem &&\n priorFocusedElem &&\n priorFocusedElem.ownerDocument &&\n containsNode(\n priorFocusedElem.ownerDocument.documentElement,\n priorFocusedElem\n )\n ) {\n if (\n null !== priorSelectionRange &&\n hasSelectionCapabilities(priorFocusedElem)\n ) {\n var start = priorSelectionRange.start,\n end = priorSelectionRange.end;\n void 0 === end && (end = start);\n if (\"selectionStart\" in priorFocusedElem)\n (priorFocusedElem.selectionStart = start),\n (priorFocusedElem.selectionEnd = Math.min(\n end,\n priorFocusedElem.value.length\n ));\n else {\n var doc = priorFocusedElem.ownerDocument || document,\n win = (doc && doc.defaultView) || window;\n if (win.getSelection) {\n var selection = win.getSelection(),\n length = priorFocusedElem.textContent.length,\n start$jscomp$0 = Math.min(priorSelectionRange.start, length),\n end$jscomp$0 =\n void 0 === priorSelectionRange.end\n ? start$jscomp$0\n : Math.min(priorSelectionRange.end, length);\n !selection.extend &&\n start$jscomp$0 > end$jscomp$0 &&\n ((curFocusedElem = end$jscomp$0),\n (end$jscomp$0 = start$jscomp$0),\n (start$jscomp$0 = curFocusedElem));\n var startMarker = getNodeForCharacterOffset(\n priorFocusedElem,\n start$jscomp$0\n ),\n endMarker = getNodeForCharacterOffset(\n priorFocusedElem,\n end$jscomp$0\n );\n if (\n startMarker &&\n endMarker &&\n (1 !== selection.rangeCount ||\n selection.anchorNode !== startMarker.node ||\n selection.anchorOffset !== startMarker.offset ||\n selection.focusNode !== endMarker.node ||\n selection.focusOffset !== endMarker.offset)\n ) {\n var range = doc.createRange();\n range.setStart(startMarker.node, startMarker.offset);\n selection.removeAllRanges();\n start$jscomp$0 > end$jscomp$0\n ? (selection.addRange(range),\n selection.extend(endMarker.node, endMarker.offset))\n : (range.setEnd(endMarker.node, endMarker.offset),\n selection.addRange(range));\n }\n }\n }\n }\n doc = [];\n for (\n selection = priorFocusedElem;\n (selection = selection.parentNode);\n\n )\n 1 === selection.nodeType &&\n doc.push({\n element: selection,\n left: selection.scrollLeft,\n top: selection.scrollTop\n });\n \"function\" === typeof priorFocusedElem.focus &&\n priorFocusedElem.focus();\n for (\n priorFocusedElem = 0;\n priorFocusedElem < doc.length;\n priorFocusedElem++\n ) {\n var info = doc[priorFocusedElem];\n info.element.scrollLeft = info.left;\n info.element.scrollTop = info.top;\n }\n }\n _enabled = !!eventsEnabled;\n selectionInformation = eventsEnabled = null;\n } finally {\n (executionContext = prevExecutionContext),\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = rootMutationHasEffect);\n }\n }\n root.current = finishedWork;\n pendingEffectsStatus = 2;\n }\n}\nfunction flushLayoutEffects() {\n if (2 === pendingEffectsStatus) {\n pendingEffectsStatus = 0;\n var root = pendingEffectsRoot,\n finishedWork = pendingFinishedWork,\n rootHasLayoutEffect = 0 !== (finishedWork.flags & 8772);\n if (0 !== (finishedWork.subtreeFlags & 8772) || rootHasLayoutEffect) {\n rootHasLayoutEffect = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = 2;\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n try {\n commitLayoutEffectOnFiber(root, finishedWork.alternate, finishedWork);\n } finally {\n (executionContext = prevExecutionContext),\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = rootHasLayoutEffect);\n }\n }\n pendingEffectsStatus = 3;\n }\n}\nfunction flushSpawnedWork() {\n if (4 === pendingEffectsStatus || 3 === pendingEffectsStatus) {\n pendingEffectsStatus = 0;\n var committedViewTransition = pendingViewTransition;\n pendingViewTransition = null;\n requestPaint();\n var root = pendingEffectsRoot,\n finishedWork = pendingFinishedWork,\n lanes = pendingEffectsLanes,\n recoverableErrors = pendingRecoverableErrors,\n passiveSubtreeMask = (lanes & 335544064) === lanes ? 10262 : 10256;\n 0 !== (finishedWork.subtreeFlags & passiveSubtreeMask) ||\n 0 !== (finishedWork.flags & passiveSubtreeMask)\n ? (pendingEffectsStatus = 5)\n : ((pendingEffectsStatus = 0),\n (pendingFinishedWork = pendingEffectsRoot = null),\n releaseRootPooledCache(root, root.pendingLanes));\n passiveSubtreeMask = root.pendingLanes;\n 0 === passiveSubtreeMask && (legacyErrorBoundariesThatAlreadyFailed = null);\n lanesToEventPriority(lanes);\n finishedWork = finishedWork.stateNode;\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberRoot)\n try {\n injectedHook.onCommitFiberRoot(\n rendererID,\n finishedWork,\n void 0,\n 128 === (finishedWork.current.flags & 128)\n );\n } catch (err) {}\n if (null !== recoverableErrors) {\n finishedWork = ReactSharedInternals.T;\n passiveSubtreeMask = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = 2;\n ReactSharedInternals.T = null;\n try {\n for (\n var onRecoverableError = root.onRecoverableError, i = 0;\n i < recoverableErrors.length;\n i++\n ) {\n var recoverableError = recoverableErrors[i];\n onRecoverableError(recoverableError.value, {\n componentStack: recoverableError.stack\n });\n }\n } finally {\n (ReactSharedInternals.T = finishedWork),\n (ReactDOMSharedInternals.p = passiveSubtreeMask);\n }\n }\n recoverableErrors = pendingViewTransitionEvents;\n onRecoverableError = pendingTransitionTypes;\n pendingTransitionTypes = null;\n if (\n null !== recoverableErrors &&\n ((pendingViewTransitionEvents = null),\n null === onRecoverableError && (onRecoverableError = []),\n null !== committedViewTransition)\n )\n for (\n recoverableError = 0;\n recoverableError < recoverableErrors.length;\n recoverableError++\n )\n (finishedWork = (0, recoverableErrors[recoverableError])(\n onRecoverableError\n )),\n void 0 !== finishedWork &&\n committedViewTransition.finished.finally(finishedWork);\n 0 !== (pendingEffectsLanes & 3) && flushPendingEffects();\n ensureRootIsScheduled(root);\n passiveSubtreeMask = root.pendingLanes;\n 0 !== (lanes & 261930) && 0 !== (passiveSubtreeMask & 42)\n ? root === rootWithNestedUpdates\n ? nestedUpdateCount++\n : ((nestedUpdateCount = 0), (rootWithNestedUpdates = root))\n : ((nestedUpdateCount = 0), (rootWithNestedUpdates = null));\n flushSyncWorkAcrossRoots_impl(0, !1);\n }\n}\nfunction releaseRootPooledCache(root, remainingLanes) {\n 0 === (root.pooledCacheLanes &= remainingLanes) &&\n ((remainingLanes = root.pooledCache),\n null != remainingLanes &&\n ((root.pooledCache = null), releaseCache(remainingLanes)));\n}\nfunction flushPendingEffects() {\n null !== pendingViewTransition &&\n (pendingViewTransition.skipTransition(), (pendingViewTransition = null));\n flushMutationEffects();\n flushLayoutEffects();\n flushSpawnedWork();\n return flushPassiveEffects();\n}\nfunction flushPassiveEffects() {\n if (5 !== pendingEffectsStatus) return !1;\n var root = pendingEffectsRoot,\n remainingLanes = pendingEffectsRemainingLanes;\n pendingEffectsRemainingLanes = 0;\n var renderPriority = lanesToEventPriority(pendingEffectsLanes),\n prevTransition = ReactSharedInternals.T,\n previousPriority = ReactDOMSharedInternals.p;\n try {\n ReactDOMSharedInternals.p = 32 > renderPriority ? 32 : renderPriority;\n ReactSharedInternals.T = null;\n renderPriority = pendingPassiveTransitions;\n pendingPassiveTransitions = null;\n var root$jscomp$0 = pendingEffectsRoot,\n lanes = pendingEffectsLanes;\n pendingEffectsStatus = 0;\n pendingFinishedWork = pendingEffectsRoot = null;\n pendingEffectsLanes = 0;\n if (0 !== (executionContext & 6)) throw Error(formatProdErrorMessage(331));\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n commitPassiveUnmountOnFiber(root$jscomp$0.current);\n commitPassiveMountOnFiber(\n root$jscomp$0,\n root$jscomp$0.current,\n lanes,\n renderPriority\n );\n executionContext = prevExecutionContext;\n flushSyncWorkAcrossRoots_impl(0, !1);\n if (\n injectedHook &&\n \"function\" === typeof injectedHook.onPostCommitFiberRoot\n )\n try {\n injectedHook.onPostCommitFiberRoot(rendererID, root$jscomp$0);\n } catch (err) {}\n return !0;\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition),\n releaseRootPooledCache(root, remainingLanes);\n }\n}\nfunction captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n sourceFiber = createRootErrorUpdate(rootFiber.stateNode, sourceFiber, 2);\n rootFiber = enqueueUpdate(rootFiber, sourceFiber, 2);\n null !== rootFiber &&\n (markRootUpdated$1(rootFiber, 2), ensureRootIsScheduled(rootFiber));\n}\nfunction captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error) {\n if (3 === sourceFiber.tag)\n captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error);\n else\n for (; null !== nearestMountedAncestor; ) {\n if (3 === nearestMountedAncestor.tag) {\n captureCommitPhaseErrorOnRoot(\n nearestMountedAncestor,\n sourceFiber,\n error\n );\n break;\n } else if (1 === nearestMountedAncestor.tag) {\n var instance = nearestMountedAncestor.stateNode;\n if (\n \"function\" ===\n typeof nearestMountedAncestor.type.getDerivedStateFromError ||\n (\"function\" === typeof instance.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(instance)))\n ) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n error = createClassErrorUpdate(2);\n instance = enqueueUpdate(nearestMountedAncestor, error, 2);\n null !== instance &&\n (initializeClassErrorUpdate(\n error,\n instance,\n nearestMountedAncestor,\n sourceFiber\n ),\n markRootUpdated$1(instance, 2),\n ensureRootIsScheduled(instance));\n break;\n }\n }\n nearestMountedAncestor = nearestMountedAncestor.return;\n }\n}\nfunction attachPingListener(root, wakeable, lanes) {\n var pingCache = root.pingCache;\n if (null === pingCache) {\n pingCache = root.pingCache = new PossiblyWeakMap();\n var threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n } else\n (threadIDs = pingCache.get(wakeable)),\n void 0 === threadIDs &&\n ((threadIDs = new Set()), pingCache.set(wakeable, threadIDs));\n threadIDs.has(lanes) ||\n ((workInProgressRootDidAttachPingListener = !0),\n threadIDs.add(lanes),\n (root = pingSuspendedRoot.bind(null, root, wakeable, lanes)),\n wakeable.then(root, root));\n}\nfunction pingSuspendedRoot(root, wakeable, pingedLanes) {\n var pingCache = root.pingCache;\n null !== pingCache && pingCache.delete(wakeable);\n root.pingedLanes |= root.suspendedLanes & pingedLanes;\n root.warmLanes &= ~pingedLanes;\n workInProgressRoot === root &&\n (workInProgressRootRenderLanes & pingedLanes) === pingedLanes &&\n (4 === workInProgressRootExitStatus ||\n (3 === workInProgressRootExitStatus &&\n (workInProgressRootRenderLanes & 62914560) ===\n workInProgressRootRenderLanes &&\n 300 > now() - globalMostRecentFallbackTime)\n ? 0 === (executionContext & 2)\n ? prepareFreshStack(root, 0)\n : (workInProgressRootPingedLanes |= pingedLanes)\n : (workInProgressRootPingedLanes |= pingedLanes),\n workInProgressSuspendedRetryLanes === workInProgressRootRenderLanes &&\n (workInProgressSuspendedRetryLanes = 0));\n ensureRootIsScheduled(root);\n}\nfunction retryTimedOutBoundary(boundaryFiber, retryLane) {\n 0 === retryLane && (retryLane = claimNextRetryLane());\n boundaryFiber = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);\n null !== boundaryFiber &&\n (markRootUpdated$1(boundaryFiber, retryLane),\n ensureRootIsScheduled(boundaryFiber));\n}\nfunction retryDehydratedSuspenseBoundary(boundaryFiber) {\n var suspenseState = boundaryFiber.memoizedState,\n retryLane = 0;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction resolveRetryWakeable(boundaryFiber, wakeable) {\n var retryLane = 0;\n switch (boundaryFiber.tag) {\n case 31:\n case 13:\n var retryCache = boundaryFiber.stateNode;\n var suspenseState = boundaryFiber.memoizedState;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n break;\n case 19:\n retryCache = boundaryFiber.stateNode;\n break;\n case 22:\n retryCache = boundaryFiber.stateNode._retryCache;\n break;\n default:\n throw Error(formatProdErrorMessage(314));\n }\n null !== retryCache && retryCache.delete(wakeable);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction scheduleCallback$1(priorityLevel, callback) {\n return scheduleCallback$3(priorityLevel, callback);\n}\nvar firstScheduledRoot = null,\n lastScheduledRoot = null,\n didScheduleMicrotask = !1,\n mightHavePendingSyncWork = !1,\n isFlushingWork = !1,\n currentEventTransitionLane = 0;\nfunction ensureRootIsScheduled(root) {\n root !== lastScheduledRoot &&\n null === root.next &&\n (null === lastScheduledRoot\n ? (firstScheduledRoot = lastScheduledRoot = root)\n : (lastScheduledRoot = lastScheduledRoot.next = root));\n mightHavePendingSyncWork = !0;\n didScheduleMicrotask ||\n ((didScheduleMicrotask = !0), scheduleImmediateRootScheduleTask());\n}\nfunction flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) {\n if (!isFlushingWork && mightHavePendingSyncWork) {\n isFlushingWork = !0;\n do {\n var didPerformSomeWork = !1;\n for (var root$190 = firstScheduledRoot; null !== root$190; ) {\n if (!onlyLegacy)\n if (0 !== syncTransitionLanes) {\n var pendingLanes = root$190.pendingLanes;\n if (0 === pendingLanes) var JSCompiler_inline_result = 0;\n else {\n var suspendedLanes = root$190.suspendedLanes,\n pingedLanes = root$190.pingedLanes;\n JSCompiler_inline_result =\n (1 << (31 - clz32(42 | syncTransitionLanes) + 1)) - 1;\n JSCompiler_inline_result &=\n pendingLanes & ~(suspendedLanes & ~pingedLanes);\n JSCompiler_inline_result =\n JSCompiler_inline_result & 201326741\n ? (JSCompiler_inline_result & 201326741) | 1\n : JSCompiler_inline_result\n ? JSCompiler_inline_result | 2\n : 0;\n }\n 0 !== JSCompiler_inline_result &&\n ((didPerformSomeWork = !0),\n performSyncWorkOnRoot(root$190, JSCompiler_inline_result));\n } else\n (JSCompiler_inline_result = workInProgressRootRenderLanes),\n (JSCompiler_inline_result = getNextLanes(\n root$190,\n root$190 === workInProgressRoot ? JSCompiler_inline_result : 0,\n null !== root$190.cancelPendingCommit ||\n -1 !== root$190.timeoutHandle\n )),\n 0 === (JSCompiler_inline_result & 3) ||\n checkIfRootIsPrerendering(root$190, JSCompiler_inline_result) ||\n ((didPerformSomeWork = !0),\n performSyncWorkOnRoot(root$190, JSCompiler_inline_result));\n root$190 = root$190.next;\n }\n } while (didPerformSomeWork);\n isFlushingWork = !1;\n }\n}\nfunction processRootScheduleInImmediateTask() {\n processRootScheduleInMicrotask();\n}\nfunction processRootScheduleInMicrotask() {\n mightHavePendingSyncWork = didScheduleMicrotask = !1;\n var syncTransitionLanes = 0;\n 0 !== currentEventTransitionLane &&\n shouldAttemptEagerTransition() &&\n (syncTransitionLanes = currentEventTransitionLane);\n for (\n var currentTime = now(), prev = null, root = firstScheduledRoot;\n null !== root;\n\n ) {\n var next = root.next,\n nextLanes = scheduleTaskForRootDuringMicrotask(root, currentTime);\n if (0 === nextLanes)\n (root.next = null),\n null === prev ? (firstScheduledRoot = next) : (prev.next = next),\n null === next && (lastScheduledRoot = prev);\n else if (\n ((prev = root), 0 !== syncTransitionLanes || 0 !== (nextLanes & 3))\n )\n mightHavePendingSyncWork = !0;\n root = next;\n }\n (0 !== pendingEffectsStatus && 5 !== pendingEffectsStatus) ||\n flushSyncWorkAcrossRoots_impl(syncTransitionLanes, !1);\n 0 !== currentEventTransitionLane && (currentEventTransitionLane = 0);\n}\nfunction scheduleTaskForRootDuringMicrotask(root, currentTime) {\n for (\n var suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes,\n expirationTimes = root.expirationTimes,\n lanes = root.pendingLanes & -62914561;\n 0 < lanes;\n\n ) {\n var index$5 = 31 - clz32(lanes),\n lane = 1 << index$5,\n expirationTime = expirationTimes[index$5];\n if (-1 === expirationTime) {\n if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes))\n expirationTimes[index$5] = computeExpirationTime(lane, currentTime);\n } else expirationTime <= currentTime && (root.expiredLanes |= lane);\n lanes &= ~lane;\n }\n currentTime = workInProgressRoot;\n suspendedLanes = workInProgressRootRenderLanes;\n suspendedLanes = getNextLanes(\n root,\n root === currentTime ? suspendedLanes : 0,\n null !== root.cancelPendingCommit || -1 !== root.timeoutHandle\n );\n pingedLanes = root.callbackNode;\n if (\n 0 === suspendedLanes ||\n (root === currentTime &&\n (2 === workInProgressSuspendedReason ||\n 9 === workInProgressSuspendedReason)) ||\n null !== root.cancelPendingCommit\n )\n return (\n null !== pingedLanes &&\n null !== pingedLanes &&\n cancelCallback$1(pingedLanes),\n (root.callbackNode = null),\n (root.callbackPriority = 0)\n );\n if (\n 0 === (suspendedLanes & 3) ||\n checkIfRootIsPrerendering(root, suspendedLanes)\n ) {\n currentTime = suspendedLanes & -suspendedLanes;\n if (currentTime === root.callbackPriority) return currentTime;\n null !== pingedLanes && cancelCallback$1(pingedLanes);\n switch (lanesToEventPriority(suspendedLanes)) {\n case 2:\n case 8:\n suspendedLanes = UserBlockingPriority;\n break;\n case 32:\n suspendedLanes = NormalPriority$1;\n break;\n case 268435456:\n suspendedLanes = IdlePriority;\n break;\n default:\n suspendedLanes = NormalPriority$1;\n }\n pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root);\n suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes);\n root.callbackPriority = currentTime;\n root.callbackNode = suspendedLanes;\n return currentTime;\n }\n null !== pingedLanes && null !== pingedLanes && cancelCallback$1(pingedLanes);\n root.callbackPriority = 2;\n root.callbackNode = null;\n return 2;\n}\nfunction performWorkOnRootViaSchedulerTask(root, didTimeout) {\n if (0 !== pendingEffectsStatus && 5 !== pendingEffectsStatus)\n return (root.callbackNode = null), (root.callbackPriority = 0), null;\n var originalCallbackNode = root.callbackNode;\n if (flushPendingEffects() && root.callbackNode !== originalCallbackNode)\n return null;\n var workInProgressRootRenderLanes$jscomp$0 = workInProgressRootRenderLanes;\n workInProgressRootRenderLanes$jscomp$0 = getNextLanes(\n root,\n root === workInProgressRoot ? workInProgressRootRenderLanes$jscomp$0 : 0,\n null !== root.cancelPendingCommit || -1 !== root.timeoutHandle\n );\n if (0 === workInProgressRootRenderLanes$jscomp$0) return null;\n performWorkOnRoot(root, workInProgressRootRenderLanes$jscomp$0, didTimeout);\n scheduleTaskForRootDuringMicrotask(root, now());\n return null != root.callbackNode && root.callbackNode === originalCallbackNode\n ? performWorkOnRootViaSchedulerTask.bind(null, root)\n : null;\n}\nfunction performSyncWorkOnRoot(root, lanes) {\n if (flushPendingEffects()) return null;\n performWorkOnRoot(root, lanes, !0);\n}\nfunction scheduleImmediateRootScheduleTask() {\n scheduleMicrotask(function () {\n 0 !== (executionContext & 6)\n ? scheduleCallback$3(\n ImmediatePriority,\n processRootScheduleInImmediateTask\n )\n : processRootScheduleInMicrotask();\n });\n}\nfunction requestTransitionLane() {\n if (0 === currentEventTransitionLane) {\n var actionScopeLane = currentEntangledLane;\n 0 === actionScopeLane &&\n ((actionScopeLane = nextTransitionUpdateLane),\n (nextTransitionUpdateLane <<= 1),\n 0 === (nextTransitionUpdateLane & 261888) &&\n (nextTransitionUpdateLane = 256));\n currentEventTransitionLane = actionScopeLane;\n }\n return currentEventTransitionLane;\n}\nfunction coerceFormActionProp(actionProp) {\n return null == actionProp ||\n \"symbol\" === typeof actionProp ||\n \"boolean\" === typeof actionProp\n ? null\n : \"function\" === typeof actionProp\n ? actionProp\n : sanitizeURL(actionProp);\n}\nfunction extractEvents$1(\n dispatchQueue,\n domEventName,\n maybeTargetInst,\n nativeEvent,\n nativeEventTarget\n) {\n if (\n \"submit\" === domEventName &&\n maybeTargetInst &&\n maybeTargetInst.stateNode === nativeEventTarget\n ) {\n var action = coerceFormActionProp(\n (nativeEventTarget[internalPropsKey] || null).action\n ),\n submitter = nativeEvent.submitter;\n submitter &&\n ((domEventName = (domEventName = submitter[internalPropsKey] || null)\n ? coerceFormActionProp(domEventName.formAction)\n : submitter.getAttribute(\"formAction\")),\n null !== domEventName && ((action = domEventName), (submitter = null)));\n var event = new SyntheticEvent(\n \"action\",\n \"action\",\n null,\n nativeEvent,\n nativeEventTarget\n );\n dispatchQueue.push({\n event: event,\n listeners: [\n {\n instance: null,\n listener: function () {\n if (nativeEvent.defaultPrevented) {\n if (0 !== currentEventTransitionLane) {\n var formData = new FormData(nativeEventTarget, submitter);\n startHostTransition(\n maybeTargetInst,\n {\n pending: !0,\n data: formData,\n method: nativeEventTarget.method,\n action: action\n },\n null,\n formData\n );\n }\n } else\n \"function\" === typeof action &&\n (event.preventDefault(),\n (formData = new FormData(nativeEventTarget, submitter)),\n startHostTransition(\n maybeTargetInst,\n {\n pending: !0,\n data: formData,\n method: nativeEventTarget.method,\n action: action\n },\n action,\n formData\n ));\n },\n currentTarget: nativeEventTarget\n }\n ]\n });\n }\n}\nfor (\n var i$jscomp$inline_1667 = 0;\n i$jscomp$inline_1667 < simpleEventPluginEvents.length;\n i$jscomp$inline_1667++\n) {\n var eventName$jscomp$inline_1668 =\n simpleEventPluginEvents[i$jscomp$inline_1667],\n domEventName$jscomp$inline_1669 =\n eventName$jscomp$inline_1668.toLowerCase(),\n capitalizedEvent$jscomp$inline_1670 =\n eventName$jscomp$inline_1668[0].toUpperCase() +\n eventName$jscomp$inline_1668.slice(1);\n registerSimpleEvent(\n domEventName$jscomp$inline_1669,\n \"on\" + capitalizedEvent$jscomp$inline_1670\n );\n}\nregisterSimpleEvent(ANIMATION_END, \"onAnimationEnd\");\nregisterSimpleEvent(ANIMATION_ITERATION, \"onAnimationIteration\");\nregisterSimpleEvent(ANIMATION_START, \"onAnimationStart\");\nregisterSimpleEvent(\"dblclick\", \"onDoubleClick\");\nregisterSimpleEvent(\"focusin\", \"onFocus\");\nregisterSimpleEvent(\"focusout\", \"onBlur\");\nregisterSimpleEvent(TRANSITION_RUN, \"onTransitionRun\");\nregisterSimpleEvent(TRANSITION_START, \"onTransitionStart\");\nregisterSimpleEvent(TRANSITION_CANCEL, \"onTransitionCancel\");\nregisterSimpleEvent(TRANSITION_END, \"onTransitionEnd\");\nregisterDirectEvent(\"onMouseEnter\", [\"mouseout\", \"mouseover\"]);\nregisterDirectEvent(\"onMouseLeave\", [\"mouseout\", \"mouseover\"]);\nregisterDirectEvent(\"onPointerEnter\", [\"pointerout\", \"pointerover\"]);\nregisterDirectEvent(\"onPointerLeave\", [\"pointerout\", \"pointerover\"]);\nregisterTwoPhaseEvent(\n \"onChange\",\n \"change click focusin focusout input keydown keyup selectionchange\".split(\" \")\n);\nregisterTwoPhaseEvent(\n \"onSelect\",\n \"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\n \" \"\n )\n);\nregisterTwoPhaseEvent(\"onBeforeInput\", [\n \"compositionend\",\n \"keypress\",\n \"textInput\",\n \"paste\"\n]);\nregisterTwoPhaseEvent(\n \"onCompositionEnd\",\n \"compositionend focusout keydown keypress keyup mousedown\".split(\" \")\n);\nregisterTwoPhaseEvent(\n \"onCompositionStart\",\n \"compositionstart focusout keydown keypress keyup mousedown\".split(\" \")\n);\nregisterTwoPhaseEvent(\n \"onCompositionUpdate\",\n \"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \")\n);\nvar mediaEventTypes =\n \"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\n \" \"\n ),\n nonDelegatedEvents = new Set(\n \"beforetoggle cancel close invalid load scroll scrollend toggle\"\n .split(\" \")\n .concat(mediaEventTypes)\n );\nfunction processDispatchQueue(dispatchQueue, eventSystemFlags) {\n eventSystemFlags = 0 !== (eventSystemFlags & 4);\n for (var i = 0; i < dispatchQueue.length; i++) {\n var _dispatchQueue$i = dispatchQueue[i],\n event = _dispatchQueue$i.event;\n _dispatchQueue$i = _dispatchQueue$i.listeners;\n a: {\n var previousInstance = void 0;\n if (eventSystemFlags)\n for (\n var i$jscomp$0 = _dispatchQueue$i.length - 1;\n 0 <= i$jscomp$0;\n i$jscomp$0--\n ) {\n var _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0],\n instance = _dispatchListeners$i.instance,\n currentTarget = _dispatchListeners$i.currentTarget;\n _dispatchListeners$i = _dispatchListeners$i.listener;\n if (instance !== previousInstance && event.isPropagationStopped())\n break a;\n previousInstance = _dispatchListeners$i;\n event.currentTarget = currentTarget;\n try {\n previousInstance(event);\n } catch (error) {\n reportGlobalError(error);\n }\n event.currentTarget = null;\n previousInstance = instance;\n }\n else\n for (\n i$jscomp$0 = 0;\n i$jscomp$0 < _dispatchQueue$i.length;\n i$jscomp$0++\n ) {\n _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0];\n instance = _dispatchListeners$i.instance;\n currentTarget = _dispatchListeners$i.currentTarget;\n _dispatchListeners$i = _dispatchListeners$i.listener;\n if (instance !== previousInstance && event.isPropagationStopped())\n break a;\n previousInstance = _dispatchListeners$i;\n event.currentTarget = currentTarget;\n try {\n previousInstance(event);\n } catch (error) {\n reportGlobalError(error);\n }\n event.currentTarget = null;\n previousInstance = instance;\n }\n }\n }\n}\nfunction listenToNonDelegatedEvent(domEventName, targetElement) {\n var JSCompiler_inline_result = targetElement[internalEventHandlersKey];\n void 0 === JSCompiler_inline_result &&\n (JSCompiler_inline_result = targetElement[internalEventHandlersKey] =\n new Set());\n var listenerSetKey = domEventName + \"__bubble\";\n JSCompiler_inline_result.has(listenerSetKey) ||\n (addTrappedEventListener(targetElement, domEventName, 2, !1),\n JSCompiler_inline_result.add(listenerSetKey));\n}\nfunction listenToNativeEvent(domEventName, isCapturePhaseListener, target) {\n var eventSystemFlags = 0;\n isCapturePhaseListener && (eventSystemFlags |= 4);\n addTrappedEventListener(\n target,\n domEventName,\n eventSystemFlags,\n isCapturePhaseListener\n );\n}\nvar listeningMarker = \"_reactListening\" + Math.random().toString(36).slice(2);\nfunction listenToAllSupportedEvents(rootContainerElement) {\n if (!rootContainerElement[listeningMarker]) {\n rootContainerElement[listeningMarker] = !0;\n allNativeEvents.forEach(function (domEventName) {\n \"selectionchange\" !== domEventName &&\n (nonDelegatedEvents.has(domEventName) ||\n listenToNativeEvent(domEventName, !1, rootContainerElement),\n listenToNativeEvent(domEventName, !0, rootContainerElement));\n });\n var ownerDocument =\n 9 === rootContainerElement.nodeType\n ? rootContainerElement\n : rootContainerElement.ownerDocument;\n null === ownerDocument ||\n ownerDocument[listeningMarker] ||\n ((ownerDocument[listeningMarker] = !0),\n listenToNativeEvent(\"selectionchange\", !1, ownerDocument));\n }\n}\nfunction addTrappedEventListener(\n targetContainer,\n domEventName,\n eventSystemFlags,\n isCapturePhaseListener\n) {\n switch (getEventPriority(domEventName)) {\n case 2:\n var listenerWrapper = dispatchDiscreteEvent;\n break;\n case 8:\n listenerWrapper = dispatchContinuousEvent;\n break;\n default:\n listenerWrapper = dispatchEvent;\n }\n eventSystemFlags = listenerWrapper.bind(\n null,\n domEventName,\n eventSystemFlags,\n targetContainer\n );\n listenerWrapper = void 0;\n !passiveBrowserEventsSupported ||\n (\"touchstart\" !== domEventName &&\n \"touchmove\" !== domEventName &&\n \"wheel\" !== domEventName) ||\n (listenerWrapper = !0);\n isCapturePhaseListener\n ? void 0 !== listenerWrapper\n ? targetContainer.addEventListener(domEventName, eventSystemFlags, {\n capture: !0,\n passive: listenerWrapper\n })\n : targetContainer.addEventListener(domEventName, eventSystemFlags, !0)\n : void 0 !== listenerWrapper\n ? targetContainer.addEventListener(domEventName, eventSystemFlags, {\n passive: listenerWrapper\n })\n : targetContainer.addEventListener(domEventName, eventSystemFlags, !1);\n}\nfunction dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n targetInst$jscomp$0,\n targetContainer\n) {\n var ancestorInst = targetInst$jscomp$0;\n if (\n 0 === (eventSystemFlags & 1) &&\n 0 === (eventSystemFlags & 2) &&\n null !== targetInst$jscomp$0\n )\n a: for (;;) {\n if (null === targetInst$jscomp$0) return;\n var nodeTag = targetInst$jscomp$0.tag;\n if (3 === nodeTag || 4 === nodeTag) {\n var container = targetInst$jscomp$0.stateNode.containerInfo;\n if (container === targetContainer) break;\n if (4 === nodeTag)\n for (nodeTag = targetInst$jscomp$0.return; null !== nodeTag; ) {\n var grandTag = nodeTag.tag;\n if (\n (3 === grandTag || 4 === grandTag) &&\n nodeTag.stateNode.containerInfo === targetContainer\n )\n return;\n nodeTag = nodeTag.return;\n }\n for (; null !== container; ) {\n nodeTag = getClosestInstanceFromNode(container);\n if (null === nodeTag) return;\n grandTag = nodeTag.tag;\n if (\n 5 === grandTag ||\n 6 === grandTag ||\n 26 === grandTag ||\n 27 === grandTag\n ) {\n targetInst$jscomp$0 = ancestorInst = nodeTag;\n continue a;\n }\n container = container.parentNode;\n }\n }\n targetInst$jscomp$0 = targetInst$jscomp$0.return;\n }\n batchedUpdates$1(function () {\n var targetInst = ancestorInst,\n nativeEventTarget = getEventTarget(nativeEvent),\n dispatchQueue = [];\n a: {\n var reactName = topLevelEventsToReactNames.get(domEventName);\n if (void 0 !== reactName) {\n var SyntheticEventCtor = SyntheticEvent,\n reactEventType = domEventName;\n switch (domEventName) {\n case \"keypress\":\n if (0 === getEventCharCode(nativeEvent)) break a;\n case \"keydown\":\n case \"keyup\":\n SyntheticEventCtor = SyntheticKeyboardEvent;\n break;\n case \"focusin\":\n reactEventType = \"focus\";\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n case \"focusout\":\n reactEventType = \"blur\";\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n case \"beforeblur\":\n case \"afterblur\":\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n case \"click\":\n if (2 === nativeEvent.button) break a;\n case \"auxclick\":\n case \"dblclick\":\n case \"mousedown\":\n case \"mousemove\":\n case \"mouseup\":\n case \"mouseout\":\n case \"mouseover\":\n case \"contextmenu\":\n SyntheticEventCtor = SyntheticMouseEvent;\n break;\n case \"drag\":\n case \"dragend\":\n case \"dragenter\":\n case \"dragexit\":\n case \"dragleave\":\n case \"dragover\":\n case \"dragstart\":\n case \"drop\":\n SyntheticEventCtor = SyntheticDragEvent;\n break;\n case \"touchcancel\":\n case \"touchend\":\n case \"touchmove\":\n case \"touchstart\":\n SyntheticEventCtor = SyntheticTouchEvent;\n break;\n case ANIMATION_END:\n case ANIMATION_ITERATION:\n case ANIMATION_START:\n SyntheticEventCtor = SyntheticAnimationEvent;\n break;\n case TRANSITION_END:\n SyntheticEventCtor = SyntheticTransitionEvent;\n break;\n case \"scroll\":\n case \"scrollend\":\n SyntheticEventCtor = SyntheticUIEvent;\n break;\n case \"wheel\":\n SyntheticEventCtor = SyntheticWheelEvent;\n break;\n case \"copy\":\n case \"cut\":\n case \"paste\":\n SyntheticEventCtor = SyntheticClipboardEvent;\n break;\n case \"gotpointercapture\":\n case \"lostpointercapture\":\n case \"pointercancel\":\n case \"pointerdown\":\n case \"pointermove\":\n case \"pointerout\":\n case \"pointerover\":\n case \"pointerup\":\n SyntheticEventCtor = SyntheticPointerEvent;\n break;\n case \"submit\":\n SyntheticEventCtor = SyntheticSubmitEvent;\n break;\n case \"toggle\":\n case \"beforetoggle\":\n SyntheticEventCtor = SyntheticToggleEvent;\n }\n var inCapturePhase = 0 !== (eventSystemFlags & 4),\n accumulateTargetOnly =\n !inCapturePhase &&\n (\"scroll\" === domEventName || \"scrollend\" === domEventName),\n reactEventName = inCapturePhase\n ? null !== reactName\n ? reactName + \"Capture\"\n : null\n : reactName;\n inCapturePhase = [];\n for (\n var instance = targetInst, lastHostComponent;\n null !== instance;\n\n ) {\n var _instance = instance;\n lastHostComponent = _instance.stateNode;\n _instance = _instance.tag;\n (5 !== _instance && 26 !== _instance && 27 !== _instance) ||\n null === lastHostComponent ||\n null === reactEventName ||\n ((_instance = getListener(instance, reactEventName)),\n null != _instance &&\n inCapturePhase.push(\n createDispatchListener(instance, _instance, lastHostComponent)\n ));\n if (accumulateTargetOnly) break;\n instance = instance.return;\n }\n 0 < inCapturePhase.length &&\n ((reactName = new SyntheticEventCtor(\n reactName,\n reactEventType,\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: reactName, listeners: inCapturePhase }));\n }\n }\n if (0 === (eventSystemFlags & 7)) {\n a: {\n SyntheticEventCtor =\n \"mouseover\" === domEventName || \"pointerover\" === domEventName;\n reactName =\n \"mouseout\" === domEventName || \"pointerout\" === domEventName;\n if (\n SyntheticEventCtor &&\n nativeEvent !== currentReplayingEvent &&\n (reactEventType =\n nativeEvent.relatedTarget || nativeEvent.fromElement) &&\n (getClosestInstanceFromNode(reactEventType) ||\n reactEventType[internalContainerInstanceKey])\n )\n break a;\n if (reactName || SyntheticEventCtor) {\n reactEventType =\n nativeEventTarget.window === nativeEventTarget\n ? nativeEventTarget\n : (SyntheticEventCtor = nativeEventTarget.ownerDocument)\n ? SyntheticEventCtor.defaultView ||\n SyntheticEventCtor.parentWindow\n : window;\n if (reactName) {\n if (\n ((SyntheticEventCtor =\n nativeEvent.relatedTarget || nativeEvent.toElement),\n (reactName = targetInst),\n (SyntheticEventCtor = SyntheticEventCtor\n ? getClosestInstanceFromNode(SyntheticEventCtor)\n : null),\n null !== SyntheticEventCtor &&\n ((accumulateTargetOnly =\n getNearestMountedFiber(SyntheticEventCtor)),\n (inCapturePhase = SyntheticEventCtor.tag),\n SyntheticEventCtor !== accumulateTargetOnly ||\n (5 !== inCapturePhase &&\n 27 !== inCapturePhase &&\n 6 !== inCapturePhase)))\n )\n SyntheticEventCtor = null;\n } else (reactName = null), (SyntheticEventCtor = targetInst);\n if (reactName !== SyntheticEventCtor) {\n inCapturePhase = SyntheticMouseEvent;\n _instance = \"onMouseLeave\";\n reactEventName = \"onMouseEnter\";\n instance = \"mouse\";\n if (\"pointerout\" === domEventName || \"pointerover\" === domEventName)\n (inCapturePhase = SyntheticPointerEvent),\n (_instance = \"onPointerLeave\"),\n (reactEventName = \"onPointerEnter\"),\n (instance = \"pointer\");\n accumulateTargetOnly =\n null == reactName\n ? reactEventType\n : getNodeFromInstance(reactName);\n lastHostComponent =\n null == SyntheticEventCtor\n ? reactEventType\n : getNodeFromInstance(SyntheticEventCtor);\n reactEventType = new inCapturePhase(\n _instance,\n instance + \"leave\",\n reactName,\n nativeEvent,\n nativeEventTarget\n );\n reactEventType.target = accumulateTargetOnly;\n reactEventType.relatedTarget = lastHostComponent;\n _instance = null;\n getClosestInstanceFromNode(nativeEventTarget) === targetInst &&\n ((inCapturePhase = new inCapturePhase(\n reactEventName,\n instance + \"enter\",\n SyntheticEventCtor,\n nativeEvent,\n nativeEventTarget\n )),\n (inCapturePhase.target = lastHostComponent),\n (inCapturePhase.relatedTarget = accumulateTargetOnly),\n (_instance = inCapturePhase));\n accumulateTargetOnly = _instance;\n inCapturePhase =\n reactName && SyntheticEventCtor\n ? getLowestCommonAncestor(\n reactName,\n SyntheticEventCtor,\n getParent\n )\n : null;\n null !== reactName &&\n accumulateEnterLeaveListenersForEvent(\n dispatchQueue,\n reactEventType,\n reactName,\n inCapturePhase,\n !1\n );\n null !== SyntheticEventCtor &&\n null !== accumulateTargetOnly &&\n accumulateEnterLeaveListenersForEvent(\n dispatchQueue,\n accumulateTargetOnly,\n SyntheticEventCtor,\n inCapturePhase,\n !0\n );\n }\n }\n }\n a: {\n reactName = targetInst ? getNodeFromInstance(targetInst) : window;\n SyntheticEventCtor =\n reactName.nodeName && reactName.nodeName.toLowerCase();\n if (\n \"select\" === SyntheticEventCtor ||\n (\"input\" === SyntheticEventCtor && \"file\" === reactName.type)\n )\n var getTargetInstFunc = getTargetInstForChangeEvent;\n else if (isTextInputElement(reactName))\n if (isInputEventSupported)\n getTargetInstFunc = getTargetInstForInputOrChangeEvent;\n else {\n getTargetInstFunc = getTargetInstForInputEventPolyfill;\n var handleEventFunc = handleEventsForInputEventPolyfill;\n }\n else\n (SyntheticEventCtor = reactName.nodeName),\n !SyntheticEventCtor ||\n \"input\" !== SyntheticEventCtor.toLowerCase() ||\n (\"checkbox\" !== reactName.type && \"radio\" !== reactName.type)\n ? targetInst &&\n isCustomElement(targetInst.elementType) &&\n (getTargetInstFunc = getTargetInstForChangeEvent)\n : (getTargetInstFunc = getTargetInstForClickEvent);\n if (\n getTargetInstFunc &&\n (getTargetInstFunc = getTargetInstFunc(domEventName, targetInst))\n ) {\n createAndAccumulateChangeEvent(\n dispatchQueue,\n getTargetInstFunc,\n nativeEvent,\n nativeEventTarget\n );\n break a;\n }\n handleEventFunc && handleEventFunc(domEventName, reactName, targetInst);\n }\n handleEventFunc = targetInst ? getNodeFromInstance(targetInst) : window;\n switch (domEventName) {\n case \"focusin\":\n if (\n isTextInputElement(handleEventFunc) ||\n \"true\" === handleEventFunc.contentEditable\n )\n (activeElement = handleEventFunc),\n (activeElementInst = targetInst),\n (lastSelection = null);\n break;\n case \"focusout\":\n lastSelection = activeElementInst = activeElement = null;\n break;\n case \"mousedown\":\n mouseDown = !0;\n break;\n case \"contextmenu\":\n case \"mouseup\":\n case \"dragend\":\n mouseDown = !1;\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n break;\n case \"selectionchange\":\n if (skipSelectionChangeEvent) break;\n case \"keydown\":\n case \"keyup\":\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n }\n var fallbackData;\n if (canUseCompositionEvent)\n b: {\n switch (domEventName) {\n case \"compositionstart\":\n var eventType = \"onCompositionStart\";\n break b;\n case \"compositionend\":\n eventType = \"onCompositionEnd\";\n break b;\n case \"compositionupdate\":\n eventType = \"onCompositionUpdate\";\n break b;\n }\n eventType = void 0;\n }\n else\n isComposing\n ? isFallbackCompositionEnd(domEventName, nativeEvent) &&\n (eventType = \"onCompositionEnd\")\n : \"keydown\" === domEventName &&\n 229 === nativeEvent.keyCode &&\n (eventType = \"onCompositionStart\");\n eventType &&\n (useFallbackCompositionData &&\n \"ko\" !== nativeEvent.locale &&\n (isComposing || \"onCompositionStart\" !== eventType\n ? \"onCompositionEnd\" === eventType &&\n isComposing &&\n (fallbackData = getData())\n : ((root = nativeEventTarget),\n (startText = \"value\" in root ? root.value : root.textContent),\n (isComposing = !0))),\n (handleEventFunc = accumulateTwoPhaseListeners(targetInst, eventType)),\n 0 < handleEventFunc.length &&\n ((eventType = new SyntheticCompositionEvent(\n eventType,\n domEventName,\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: eventType, listeners: handleEventFunc }),\n fallbackData\n ? (eventType.data = fallbackData)\n : ((fallbackData = getDataFromCustomEvent(nativeEvent)),\n null !== fallbackData && (eventType.data = fallbackData))));\n if (\n (fallbackData = canUseTextInputEvent\n ? getNativeBeforeInputChars(domEventName, nativeEvent)\n : getFallbackBeforeInputChars(domEventName, nativeEvent))\n )\n (eventType = accumulateTwoPhaseListeners(targetInst, \"onBeforeInput\")),\n 0 < eventType.length &&\n ((handleEventFunc = new SyntheticCompositionEvent(\n \"onBeforeInput\",\n \"beforeinput\",\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({\n event: handleEventFunc,\n listeners: eventType\n }),\n (handleEventFunc.data = fallbackData));\n extractEvents$1(\n dispatchQueue,\n domEventName,\n targetInst,\n nativeEvent,\n nativeEventTarget\n );\n }\n processDispatchQueue(dispatchQueue, eventSystemFlags);\n });\n}\nfunction createDispatchListener(instance, listener, currentTarget) {\n return {\n instance: instance,\n listener: listener,\n currentTarget: currentTarget\n };\n}\nfunction accumulateTwoPhaseListeners(targetFiber, reactName) {\n for (\n var captureName = reactName + \"Capture\", listeners = [];\n null !== targetFiber;\n\n ) {\n var _instance2 = targetFiber,\n stateNode = _instance2.stateNode;\n _instance2 = _instance2.tag;\n (5 !== _instance2 && 26 !== _instance2 && 27 !== _instance2) ||\n null === stateNode ||\n ((_instance2 = getListener(targetFiber, captureName)),\n null != _instance2 &&\n listeners.unshift(\n createDispatchListener(targetFiber, _instance2, stateNode)\n ),\n (_instance2 = getListener(targetFiber, reactName)),\n null != _instance2 &&\n listeners.push(\n createDispatchListener(targetFiber, _instance2, stateNode)\n ));\n if (3 === targetFiber.tag) return listeners;\n targetFiber = targetFiber.return;\n }\n return [];\n}\nfunction getParent(inst) {\n if (null === inst) return null;\n do inst = inst.return;\n while (inst && 5 !== inst.tag && 27 !== inst.tag);\n return inst ? inst : null;\n}\nfunction accumulateEnterLeaveListenersForEvent(\n dispatchQueue,\n event,\n target,\n common,\n inCapturePhase\n) {\n for (\n var registrationName = event._reactName, listeners = [];\n null !== target && target !== common;\n\n ) {\n var _instance3 = target,\n alternate = _instance3.alternate,\n stateNode = _instance3.stateNode;\n _instance3 = _instance3.tag;\n if (null !== alternate && alternate === common) break;\n (5 !== _instance3 && 26 !== _instance3 && 27 !== _instance3) ||\n null === stateNode ||\n ((alternate = stateNode),\n inCapturePhase\n ? ((stateNode = getListener(target, registrationName)),\n null != stateNode &&\n listeners.unshift(\n createDispatchListener(target, stateNode, alternate)\n ))\n : inCapturePhase ||\n ((stateNode = getListener(target, registrationName)),\n null != stateNode &&\n listeners.push(\n createDispatchListener(target, stateNode, alternate)\n )));\n target = target.return;\n }\n 0 !== listeners.length &&\n dispatchQueue.push({ event: event, listeners: listeners });\n}\nvar NORMALIZE_NEWLINES_REGEX = /\\r\\n?/g,\n NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\\u0000|\\uFFFD/g;\nfunction normalizeMarkupForTextOrAttribute(markup) {\n return (\"string\" === typeof markup ? markup : \"\" + markup)\n .replace(NORMALIZE_NEWLINES_REGEX, \"\\n\")\n .replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, \"\");\n}\nfunction checkForUnmatchedText(serverText, clientText) {\n clientText = normalizeMarkupForTextOrAttribute(clientText);\n return normalizeMarkupForTextOrAttribute(serverText) === clientText ? !0 : !1;\n}\nfunction setProp(domElement, tag, key, value, props, prevValue) {\n switch (key) {\n case \"children\":\n if (\"string\" === typeof value)\n \"body\" === tag ||\n (\"textarea\" === tag && \"\" === value) ||\n setTextContent(domElement, value);\n else if (\"number\" === typeof value || \"bigint\" === typeof value)\n \"body\" !== tag && setTextContent(domElement, \"\" + value);\n else return;\n break;\n case \"className\":\n setValueForKnownAttribute(domElement, \"class\", value);\n break;\n case \"tabIndex\":\n setValueForKnownAttribute(domElement, \"tabindex\", value);\n break;\n case \"dir\":\n case \"role\":\n case \"viewBox\":\n case \"width\":\n case \"height\":\n setValueForKnownAttribute(domElement, key, value);\n break;\n case \"style\":\n setValueForStyles(domElement, value, prevValue);\n return;\n case \"data\":\n if (\"object\" !== tag) {\n setValueForKnownAttribute(domElement, \"data\", value);\n break;\n }\n case \"src\":\n case \"href\":\n if (\"\" === value && (\"a\" !== tag || \"href\" !== key)) {\n domElement.removeAttribute(key);\n break;\n }\n if (\n null == value ||\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n \"boolean\" === typeof value\n ) {\n domElement.removeAttribute(key);\n break;\n }\n value = sanitizeURL(value);\n domElement.setAttribute(key, value);\n break;\n case \"action\":\n case \"formAction\":\n if (\"function\" === typeof value) {\n domElement.setAttribute(\n key,\n \"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')\"\n );\n break;\n } else\n \"function\" === typeof prevValue &&\n (\"formAction\" === key\n ? (\"input\" !== tag &&\n setProp(domElement, tag, \"name\", props.name, props, null),\n setProp(\n domElement,\n tag,\n \"formEncType\",\n props.formEncType,\n props,\n null\n ),\n setProp(\n domElement,\n tag,\n \"formMethod\",\n props.formMethod,\n props,\n null\n ),\n setProp(\n domElement,\n tag,\n \"formTarget\",\n props.formTarget,\n props,\n null\n ))\n : (setProp(domElement, tag, \"encType\", props.encType, props, null),\n setProp(domElement, tag, \"method\", props.method, props, null),\n setProp(domElement, tag, \"target\", props.target, props, null)));\n if (\n null == value ||\n \"symbol\" === typeof value ||\n \"boolean\" === typeof value\n ) {\n domElement.removeAttribute(key);\n break;\n }\n value = sanitizeURL(value);\n domElement.setAttribute(key, value);\n break;\n case \"onClick\":\n null != value && (domElement.onclick = noop$1);\n return;\n case \"onScroll\":\n null != value && listenToNonDelegatedEvent(\"scroll\", domElement);\n return;\n case \"onScrollEnd\":\n null != value && listenToNonDelegatedEvent(\"scrollend\", domElement);\n return;\n case \"dangerouslySetInnerHTML\":\n if (null != value) {\n if (\"object\" !== typeof value || !(\"__html\" in value))\n throw Error(formatProdErrorMessage(61));\n key = value.__html;\n if (null != key) {\n if (null != props.children) throw Error(formatProdErrorMessage(60));\n (null != prevValue ? prevValue.__html : void 0) !== key &&\n (domElement.innerHTML = key);\n }\n }\n break;\n case \"multiple\":\n domElement.multiple =\n value && \"function\" !== typeof value && \"symbol\" !== typeof value;\n break;\n case \"muted\":\n domElement.muted =\n value && \"function\" !== typeof value && \"symbol\" !== typeof value;\n break;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"defaultValue\":\n case \"defaultChecked\":\n case \"innerHTML\":\n case \"ref\":\n break;\n case \"autoFocus\":\n break;\n case \"xlinkHref\":\n if (\n null == value ||\n \"function\" === typeof value ||\n \"boolean\" === typeof value ||\n \"symbol\" === typeof value\n ) {\n domElement.removeAttribute(\"xlink:href\");\n break;\n }\n key = sanitizeURL(value);\n domElement.setAttributeNS(\n \"http://www.w3.org/1999/xlink\",\n \"xlink:href\",\n key\n );\n break;\n case \"contentEditable\":\n case \"spellCheck\":\n case \"draggable\":\n case \"value\":\n case \"autoReverse\":\n case \"externalResourcesRequired\":\n case \"focusable\":\n case \"preserveAlpha\":\n null != value && \"function\" !== typeof value && \"symbol\" !== typeof value\n ? domElement.setAttribute(key, value)\n : domElement.removeAttribute(key);\n break;\n case \"inert\":\n case \"allowFullScreen\":\n case \"async\":\n case \"autoPlay\":\n case \"controls\":\n case \"credentialless\":\n case \"default\":\n case \"defer\":\n case \"disabled\":\n case \"disablePictureInPicture\":\n case \"disableRemotePlayback\":\n case \"formNoValidate\":\n case \"hidden\":\n case \"loop\":\n case \"noModule\":\n case \"noValidate\":\n case \"open\":\n case \"playsInline\":\n case \"readOnly\":\n case \"required\":\n case \"reversed\":\n case \"scoped\":\n case \"seamless\":\n case \"itemScope\":\n value && \"function\" !== typeof value && \"symbol\" !== typeof value\n ? domElement.setAttribute(key, \"\")\n : domElement.removeAttribute(key);\n break;\n case \"capture\":\n case \"download\":\n !0 === value\n ? domElement.setAttribute(key, \"\")\n : !1 !== value &&\n null != value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value\n ? domElement.setAttribute(key, value)\n : domElement.removeAttribute(key);\n break;\n case \"cols\":\n case \"rows\":\n case \"size\":\n case \"span\":\n null != value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n !isNaN(value) &&\n 1 <= value\n ? domElement.setAttribute(key, value)\n : domElement.removeAttribute(key);\n break;\n case \"rowSpan\":\n case \"start\":\n null == value ||\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n isNaN(value)\n ? domElement.removeAttribute(key)\n : domElement.setAttribute(key, value);\n break;\n case \"popover\":\n listenToNonDelegatedEvent(\"beforetoggle\", domElement);\n listenToNonDelegatedEvent(\"toggle\", domElement);\n setValueForAttribute(domElement, \"popover\", value);\n break;\n case \"xlinkActuate\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:actuate\",\n value\n );\n break;\n case \"xlinkArcrole\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:arcrole\",\n value\n );\n break;\n case \"xlinkRole\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:role\",\n value\n );\n break;\n case \"xlinkShow\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:show\",\n value\n );\n break;\n case \"xlinkTitle\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:title\",\n value\n );\n break;\n case \"xlinkType\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:type\",\n value\n );\n break;\n case \"xmlBase\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/XML/1998/namespace\",\n \"xml:base\",\n value\n );\n break;\n case \"xmlLang\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/XML/1998/namespace\",\n \"xml:lang\",\n value\n );\n break;\n case \"xmlSpace\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/XML/1998/namespace\",\n \"xml:space\",\n value\n );\n break;\n case \"is\":\n setValueForAttribute(domElement, \"is\", value);\n break;\n case \"innerText\":\n case \"textContent\":\n return;\n default:\n if (\n !(2 < key.length) ||\n (\"o\" !== key[0] && \"O\" !== key[0]) ||\n (\"n\" !== key[1] && \"N\" !== key[1])\n )\n (key = aliases.get(key) || key),\n setValueForAttribute(domElement, key, value);\n else return;\n }\n viewTransitionMutationContext = !0;\n}\nfunction setPropOnCustomElement(domElement, tag, key, value, props, prevValue) {\n switch (key) {\n case \"style\":\n setValueForStyles(domElement, value, prevValue);\n return;\n case \"dangerouslySetInnerHTML\":\n if (null != value) {\n if (\"object\" !== typeof value || !(\"__html\" in value))\n throw Error(formatProdErrorMessage(61));\n key = value.__html;\n if (null != key) {\n if (null != props.children) throw Error(formatProdErrorMessage(60));\n (null != prevValue ? prevValue.__html : void 0) !== key &&\n (domElement.innerHTML = key);\n }\n }\n break;\n case \"children\":\n if (\"string\" === typeof value) setTextContent(domElement, value);\n else if (\"number\" === typeof value || \"bigint\" === typeof value)\n setTextContent(domElement, \"\" + value);\n else return;\n break;\n case \"onScroll\":\n null != value && listenToNonDelegatedEvent(\"scroll\", domElement);\n return;\n case \"onScrollEnd\":\n null != value && listenToNonDelegatedEvent(\"scrollend\", domElement);\n return;\n case \"onClick\":\n null != value && (domElement.onclick = noop$1);\n return;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"innerHTML\":\n case \"ref\":\n return;\n case \"innerText\":\n case \"textContent\":\n return;\n default:\n if (!registrationNameDependencies.hasOwnProperty(key))\n a: {\n if (\n \"o\" === key[0] &&\n \"n\" === key[1] &&\n ((props = key.endsWith(\"Capture\")),\n (prevValue = key.slice(2, props ? key.length - 7 : void 0)),\n (tag = domElement[internalPropsKey] || null),\n (tag = null != tag ? tag[key] : null),\n \"function\" === typeof tag &&\n domElement.removeEventListener(prevValue, tag, props),\n \"function\" === typeof value)\n ) {\n \"function\" !== typeof tag &&\n null !== tag &&\n (key in domElement\n ? (domElement[key] = null)\n : domElement.hasAttribute(key) &&\n domElement.removeAttribute(key));\n domElement.addEventListener(prevValue, value, props);\n break a;\n }\n viewTransitionMutationContext = !0;\n key in domElement\n ? (domElement[key] = value)\n : !0 === value\n ? domElement.setAttribute(key, \"\")\n : setValueForAttribute(domElement, key, value);\n }\n return;\n }\n viewTransitionMutationContext = !0;\n}\nfunction setInitialProperties(domElement, tag, props) {\n switch (tag) {\n case \"div\":\n case \"span\":\n case \"svg\":\n case \"path\":\n case \"a\":\n case \"g\":\n case \"p\":\n case \"li\":\n break;\n case \"img\":\n listenToNonDelegatedEvent(\"error\", domElement);\n listenToNonDelegatedEvent(\"load\", domElement);\n var hasSrc = !1,\n hasSrcSet = !1,\n propKey;\n for (propKey in props)\n if (props.hasOwnProperty(propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"src\":\n hasSrc = !0;\n break;\n case \"srcSet\":\n hasSrcSet = !0;\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(137, tag));\n default:\n setProp(domElement, tag, propKey, propValue, props, null);\n }\n }\n hasSrcSet &&\n setProp(domElement, tag, \"srcSet\", props.srcSet, props, null);\n hasSrc && setProp(domElement, tag, \"src\", props.src, props, null);\n return;\n case \"input\":\n listenToNonDelegatedEvent(\"invalid\", domElement);\n var defaultValue = (propKey = propValue = hasSrcSet = null),\n checked = null,\n defaultChecked = null;\n for (hasSrc in props)\n if (props.hasOwnProperty(hasSrc)) {\n var propValue$204 = props[hasSrc];\n if (null != propValue$204)\n switch (hasSrc) {\n case \"name\":\n hasSrcSet = propValue$204;\n break;\n case \"type\":\n propValue = propValue$204;\n break;\n case \"checked\":\n checked = propValue$204;\n break;\n case \"defaultChecked\":\n defaultChecked = propValue$204;\n break;\n case \"value\":\n propKey = propValue$204;\n break;\n case \"defaultValue\":\n defaultValue = propValue$204;\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n if (null != propValue$204)\n throw Error(formatProdErrorMessage(137, tag));\n break;\n default:\n setProp(domElement, tag, hasSrc, propValue$204, props, null);\n }\n }\n initInput(\n domElement,\n propKey,\n defaultValue,\n checked,\n defaultChecked,\n propValue,\n hasSrcSet,\n !1\n );\n return;\n case \"select\":\n listenToNonDelegatedEvent(\"invalid\", domElement);\n hasSrc = propValue = propKey = null;\n for (hasSrcSet in props)\n if (\n props.hasOwnProperty(hasSrcSet) &&\n ((defaultValue = props[hasSrcSet]), null != defaultValue)\n )\n switch (hasSrcSet) {\n case \"value\":\n propKey = defaultValue;\n break;\n case \"defaultValue\":\n propValue = defaultValue;\n break;\n case \"multiple\":\n hasSrc = defaultValue;\n default:\n setProp(domElement, tag, hasSrcSet, defaultValue, props, null);\n }\n tag = propKey;\n props = propValue;\n domElement.multiple = !!hasSrc;\n null != tag\n ? updateOptions(domElement, !!hasSrc, tag, !1)\n : null != props && updateOptions(domElement, !!hasSrc, props, !0);\n return;\n case \"textarea\":\n listenToNonDelegatedEvent(\"invalid\", domElement);\n propKey = hasSrcSet = hasSrc = null;\n for (propValue in props)\n if (\n props.hasOwnProperty(propValue) &&\n ((defaultValue = props[propValue]), null != defaultValue)\n )\n switch (propValue) {\n case \"value\":\n hasSrc = defaultValue;\n break;\n case \"defaultValue\":\n hasSrcSet = defaultValue;\n break;\n case \"children\":\n propKey = defaultValue;\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != defaultValue) throw Error(formatProdErrorMessage(91));\n break;\n default:\n setProp(domElement, tag, propValue, defaultValue, props, null);\n }\n initTextarea(domElement, hasSrc, hasSrcSet, propKey);\n return;\n case \"option\":\n for (checked in props)\n if (\n props.hasOwnProperty(checked) &&\n ((hasSrc = props[checked]), null != hasSrc)\n )\n switch (checked) {\n case \"selected\":\n domElement.selected =\n hasSrc &&\n \"function\" !== typeof hasSrc &&\n \"symbol\" !== typeof hasSrc;\n break;\n default:\n setProp(domElement, tag, checked, hasSrc, props, null);\n }\n return;\n case \"dialog\":\n listenToNonDelegatedEvent(\"beforetoggle\", domElement);\n listenToNonDelegatedEvent(\"toggle\", domElement);\n listenToNonDelegatedEvent(\"cancel\", domElement);\n listenToNonDelegatedEvent(\"close\", domElement);\n break;\n case \"iframe\":\n case \"object\":\n listenToNonDelegatedEvent(\"load\", domElement);\n break;\n case \"video\":\n case \"audio\":\n for (hasSrc = 0; hasSrc < mediaEventTypes.length; hasSrc++)\n listenToNonDelegatedEvent(mediaEventTypes[hasSrc], domElement);\n break;\n case \"image\":\n listenToNonDelegatedEvent(\"error\", domElement);\n listenToNonDelegatedEvent(\"load\", domElement);\n break;\n case \"details\":\n listenToNonDelegatedEvent(\"toggle\", domElement);\n break;\n case \"embed\":\n case \"source\":\n case \"link\":\n listenToNonDelegatedEvent(\"error\", domElement),\n listenToNonDelegatedEvent(\"load\", domElement);\n case \"area\":\n case \"base\":\n case \"br\":\n case \"col\":\n case \"hr\":\n case \"keygen\":\n case \"meta\":\n case \"param\":\n case \"track\":\n case \"wbr\":\n case \"menuitem\":\n for (defaultChecked in props)\n if (\n props.hasOwnProperty(defaultChecked) &&\n ((hasSrc = props[defaultChecked]), null != hasSrc)\n )\n switch (defaultChecked) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(137, tag));\n default:\n setProp(domElement, tag, defaultChecked, hasSrc, props, null);\n }\n return;\n default:\n if (isCustomElement(tag)) {\n for (propValue$204 in props)\n props.hasOwnProperty(propValue$204) &&\n ((hasSrc = props[propValue$204]),\n void 0 !== hasSrc &&\n setPropOnCustomElement(\n domElement,\n tag,\n propValue$204,\n hasSrc,\n props,\n void 0\n ));\n return;\n }\n }\n for (defaultValue in props)\n props.hasOwnProperty(defaultValue) &&\n ((hasSrc = props[defaultValue]),\n null != hasSrc &&\n setProp(domElement, tag, defaultValue, hasSrc, props, null));\n}\nvar emptyProps = {};\nfunction updateProperties(domElement, tag, lastProps, nextProps) {\n switch (tag) {\n case \"div\":\n case \"span\":\n case \"svg\":\n case \"path\":\n case \"a\":\n case \"g\":\n case \"p\":\n case \"li\":\n break;\n case \"input\":\n var name = null,\n type = null,\n value = null,\n defaultValue = null,\n lastDefaultValue = null,\n checked = null,\n defaultChecked = null;\n for (propKey in lastProps) {\n var lastProp = lastProps[propKey];\n if (lastProps.hasOwnProperty(propKey) && null != lastProp)\n switch (propKey) {\n case \"checked\":\n break;\n case \"value\":\n break;\n case \"defaultValue\":\n lastDefaultValue = lastProp;\n default:\n nextProps.hasOwnProperty(propKey) ||\n setProp(domElement, tag, propKey, null, nextProps, lastProp);\n }\n }\n for (var propKey$221 in nextProps) {\n var propKey = nextProps[propKey$221];\n lastProp = lastProps[propKey$221];\n if (\n nextProps.hasOwnProperty(propKey$221) &&\n (null != propKey || null != lastProp)\n )\n switch (propKey$221) {\n case \"type\":\n propKey !== lastProp && (viewTransitionMutationContext = !0);\n type = propKey;\n break;\n case \"name\":\n propKey !== lastProp && (viewTransitionMutationContext = !0);\n name = propKey;\n break;\n case \"checked\":\n propKey !== lastProp && (viewTransitionMutationContext = !0);\n checked = propKey;\n break;\n case \"defaultChecked\":\n propKey !== lastProp && (viewTransitionMutationContext = !0);\n defaultChecked = propKey;\n break;\n case \"value\":\n propKey !== lastProp && (viewTransitionMutationContext = !0);\n value = propKey;\n break;\n case \"defaultValue\":\n propKey !== lastProp && (viewTransitionMutationContext = !0);\n defaultValue = propKey;\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n if (null != propKey)\n throw Error(formatProdErrorMessage(137, tag));\n break;\n default:\n propKey !== lastProp &&\n setProp(\n domElement,\n tag,\n propKey$221,\n propKey,\n nextProps,\n lastProp\n );\n }\n }\n updateInput(\n domElement,\n value,\n defaultValue,\n lastDefaultValue,\n checked,\n defaultChecked,\n type,\n name\n );\n return;\n case \"select\":\n propKey = value = defaultValue = propKey$221 = null;\n for (type in lastProps)\n if (\n ((lastDefaultValue = lastProps[type]),\n lastProps.hasOwnProperty(type) && null != lastDefaultValue)\n )\n switch (type) {\n case \"value\":\n break;\n case \"multiple\":\n propKey = lastDefaultValue;\n default:\n nextProps.hasOwnProperty(type) ||\n setProp(\n domElement,\n tag,\n type,\n null,\n nextProps,\n lastDefaultValue\n );\n }\n for (name in nextProps)\n if (\n ((type = nextProps[name]),\n (lastDefaultValue = lastProps[name]),\n nextProps.hasOwnProperty(name) &&\n (null != type || null != lastDefaultValue))\n )\n switch (name) {\n case \"value\":\n type !== lastDefaultValue && (viewTransitionMutationContext = !0);\n propKey$221 = type;\n break;\n case \"defaultValue\":\n type !== lastDefaultValue && (viewTransitionMutationContext = !0);\n defaultValue = type;\n break;\n case \"multiple\":\n type !== lastDefaultValue && (viewTransitionMutationContext = !0),\n (value = type);\n default:\n type !== lastDefaultValue &&\n setProp(\n domElement,\n tag,\n name,\n type,\n nextProps,\n lastDefaultValue\n );\n }\n tag = defaultValue;\n lastProps = value;\n nextProps = propKey;\n null != propKey$221\n ? updateOptions(domElement, !!lastProps, propKey$221, !1)\n : !!nextProps !== !!lastProps &&\n (null != tag\n ? updateOptions(domElement, !!lastProps, tag, !0)\n : updateOptions(domElement, !!lastProps, lastProps ? [] : \"\", !1));\n return;\n case \"textarea\":\n propKey = propKey$221 = null;\n for (defaultValue in lastProps)\n if (\n ((name = lastProps[defaultValue]),\n lastProps.hasOwnProperty(defaultValue) &&\n null != name &&\n !nextProps.hasOwnProperty(defaultValue))\n )\n switch (defaultValue) {\n case \"value\":\n break;\n case \"children\":\n break;\n default:\n setProp(domElement, tag, defaultValue, null, nextProps, name);\n }\n for (value in nextProps)\n if (\n ((name = nextProps[value]),\n (type = lastProps[value]),\n nextProps.hasOwnProperty(value) && (null != name || null != type))\n )\n switch (value) {\n case \"value\":\n name !== type && (viewTransitionMutationContext = !0);\n propKey$221 = name;\n break;\n case \"defaultValue\":\n name !== type && (viewTransitionMutationContext = !0);\n propKey = name;\n break;\n case \"children\":\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != name) throw Error(formatProdErrorMessage(91));\n break;\n default:\n name !== type &&\n setProp(domElement, tag, value, name, nextProps, type);\n }\n updateTextarea(domElement, propKey$221, propKey);\n return;\n case \"option\":\n for (var propKey$237 in lastProps)\n if (\n ((propKey$221 = lastProps[propKey$237]),\n lastProps.hasOwnProperty(propKey$237) &&\n null != propKey$221 &&\n !nextProps.hasOwnProperty(propKey$237))\n )\n switch (propKey$237) {\n case \"selected\":\n domElement.selected = !1;\n break;\n default:\n setProp(\n domElement,\n tag,\n propKey$237,\n null,\n nextProps,\n propKey$221\n );\n }\n for (lastDefaultValue in nextProps)\n if (\n ((propKey$221 = nextProps[lastDefaultValue]),\n (propKey = lastProps[lastDefaultValue]),\n nextProps.hasOwnProperty(lastDefaultValue) &&\n propKey$221 !== propKey &&\n (null != propKey$221 || null != propKey))\n )\n switch (lastDefaultValue) {\n case \"selected\":\n propKey$221 !== propKey && (viewTransitionMutationContext = !0);\n domElement.selected =\n propKey$221 &&\n \"function\" !== typeof propKey$221 &&\n \"symbol\" !== typeof propKey$221;\n break;\n default:\n setProp(\n domElement,\n tag,\n lastDefaultValue,\n propKey$221,\n nextProps,\n propKey\n );\n }\n return;\n case \"img\":\n case \"link\":\n case \"area\":\n case \"base\":\n case \"br\":\n case \"col\":\n case \"embed\":\n case \"hr\":\n case \"keygen\":\n case \"meta\":\n case \"param\":\n case \"source\":\n case \"track\":\n case \"wbr\":\n case \"menuitem\":\n for (var propKey$242 in lastProps)\n (propKey$221 = lastProps[propKey$242]),\n lastProps.hasOwnProperty(propKey$242) &&\n null != propKey$221 &&\n !nextProps.hasOwnProperty(propKey$242) &&\n setProp(domElement, tag, propKey$242, null, nextProps, propKey$221);\n for (checked in nextProps)\n if (\n ((propKey$221 = nextProps[checked]),\n (propKey = lastProps[checked]),\n nextProps.hasOwnProperty(checked) &&\n propKey$221 !== propKey &&\n (null != propKey$221 || null != propKey))\n )\n switch (checked) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n if (null != propKey$221)\n throw Error(formatProdErrorMessage(137, tag));\n break;\n default:\n setProp(\n domElement,\n tag,\n checked,\n propKey$221,\n nextProps,\n propKey\n );\n }\n return;\n default:\n if (isCustomElement(tag)) {\n for (var propKey$247 in lastProps)\n (propKey$221 = lastProps[propKey$247]),\n lastProps.hasOwnProperty(propKey$247) &&\n void 0 !== propKey$221 &&\n !nextProps.hasOwnProperty(propKey$247) &&\n setPropOnCustomElement(\n domElement,\n tag,\n propKey$247,\n void 0,\n nextProps,\n propKey$221\n );\n for (defaultChecked in nextProps)\n (propKey$221 = nextProps[defaultChecked]),\n (propKey = lastProps[defaultChecked]),\n !nextProps.hasOwnProperty(defaultChecked) ||\n propKey$221 === propKey ||\n (void 0 === propKey$221 && void 0 === propKey) ||\n setPropOnCustomElement(\n domElement,\n tag,\n defaultChecked,\n propKey$221,\n nextProps,\n propKey\n );\n return;\n }\n }\n for (var propKey$252 in lastProps)\n (propKey$221 = lastProps[propKey$252]),\n lastProps.hasOwnProperty(propKey$252) &&\n null != propKey$221 &&\n !nextProps.hasOwnProperty(propKey$252) &&\n setProp(domElement, tag, propKey$252, null, nextProps, propKey$221);\n for (lastProp in nextProps)\n (propKey$221 = nextProps[lastProp]),\n (propKey = lastProps[lastProp]),\n !nextProps.hasOwnProperty(lastProp) ||\n propKey$221 === propKey ||\n (null == propKey$221 && null == propKey) ||\n setProp(domElement, tag, lastProp, propKey$221, nextProps, propKey);\n}\nfunction isLikelyStaticResource(initiatorType) {\n switch (initiatorType) {\n case \"css\":\n case \"script\":\n case \"font\":\n case \"img\":\n case \"image\":\n case \"input\":\n case \"link\":\n return !0;\n default:\n return !1;\n }\n}\nfunction estimateBandwidth() {\n if (\"function\" === typeof performance.getEntriesByType) {\n for (\n var count = 0,\n bits = 0,\n resourceEntries = performance.getEntriesByType(\"resource\"),\n i = 0;\n i < resourceEntries.length;\n i++\n ) {\n var entry = resourceEntries[i],\n transferSize = entry.transferSize,\n initiatorType = entry.initiatorType,\n duration = entry.duration;\n if (transferSize && duration && isLikelyStaticResource(initiatorType)) {\n initiatorType = 0;\n duration = entry.responseEnd;\n for (i += 1; i < resourceEntries.length; i++) {\n var overlapEntry = resourceEntries[i],\n overlapStartTime = overlapEntry.startTime;\n if (overlapStartTime > duration) break;\n var overlapTransferSize = overlapEntry.transferSize,\n overlapInitiatorType = overlapEntry.initiatorType;\n overlapTransferSize &&\n isLikelyStaticResource(overlapInitiatorType) &&\n ((overlapEntry = overlapEntry.responseEnd),\n (initiatorType +=\n overlapTransferSize *\n (overlapEntry < duration\n ? 1\n : (duration - overlapStartTime) /\n (overlapEntry - overlapStartTime))));\n }\n --i;\n bits += (8 * (transferSize + initiatorType)) / (entry.duration / 1e3);\n count++;\n if (10 < count) break;\n }\n }\n if (0 < count) return bits / count / 1e6;\n }\n return navigator.connection &&\n ((count = navigator.connection.downlink), \"number\" === typeof count)\n ? count\n : 5;\n}\nvar eventsEnabled = null,\n selectionInformation = null;\nfunction getOwnerDocumentFromRootContainer(rootContainerElement) {\n return 9 === rootContainerElement.nodeType\n ? rootContainerElement\n : rootContainerElement.ownerDocument;\n}\nfunction getOwnHostContext(namespaceURI) {\n switch (namespaceURI) {\n case \"http://www.w3.org/2000/svg\":\n return 1;\n case \"http://www.w3.org/1998/Math/MathML\":\n return 2;\n default:\n return 0;\n }\n}\nfunction getChildHostContextProd(parentNamespace, type) {\n if (0 === parentNamespace)\n switch (type) {\n case \"svg\":\n return 1;\n case \"math\":\n return 2;\n default:\n return 0;\n }\n return 1 === parentNamespace && \"foreignObject\" === type\n ? 0\n : parentNamespace;\n}\nfunction createHoistableInstance(\n type,\n props,\n rootContainerInstance,\n internalInstanceHandle\n) {\n rootContainerInstance = getOwnerDocumentFromRootContainer(\n rootContainerInstance\n ).createElement(type);\n rootContainerInstance[internalInstanceKey] = internalInstanceHandle;\n rootContainerInstance[internalPropsKey] = props;\n setInitialProperties(rootContainerInstance, type, props);\n markNodeAsHoistable(rootContainerInstance);\n return rootContainerInstance;\n}\nfunction shouldSetTextContent(type, props) {\n return (\n \"textarea\" === type ||\n \"noscript\" === type ||\n \"string\" === typeof props.children ||\n \"number\" === typeof props.children ||\n \"bigint\" === typeof props.children ||\n (\"object\" === typeof props.dangerouslySetInnerHTML &&\n null !== props.dangerouslySetInnerHTML &&\n null != props.dangerouslySetInnerHTML.__html)\n );\n}\nvar currentPopstateTransitionEvent = null;\nfunction shouldAttemptEagerTransition() {\n var event = window.event;\n if (event && \"popstate\" === event.type) {\n if (event === currentPopstateTransitionEvent) return !1;\n currentPopstateTransitionEvent = event;\n return !0;\n }\n currentPopstateTransitionEvent = null;\n return !1;\n}\nvar scheduleTimeout = \"function\" === typeof setTimeout ? setTimeout : void 0,\n cancelTimeout = \"function\" === typeof clearTimeout ? clearTimeout : void 0,\n localPromise = \"function\" === typeof Promise ? Promise : void 0,\n localRequestAnimationFrame =\n \"function\" === typeof requestAnimationFrame\n ? requestAnimationFrame\n : scheduleTimeout,\n scheduleMicrotask =\n \"function\" === typeof queueMicrotask\n ? queueMicrotask\n : \"undefined\" !== typeof localPromise\n ? function (callback) {\n return localPromise\n .resolve(null)\n .then(callback)\n .catch(handleErrorInNextTick);\n }\n : scheduleTimeout;\nfunction handleErrorInNextTick(error) {\n setTimeout(function () {\n throw error;\n });\n}\nfunction isSingletonScope(type) {\n return \"head\" === type;\n}\nfunction clearHydrationBoundary(parentInstance, hydrationInstance) {\n var node = hydrationInstance,\n depth = 0;\n do {\n var nextNode = node.nextSibling;\n parentInstance.removeChild(node);\n if (nextNode && 8 === nextNode.nodeType)\n if (((node = nextNode.data), \"/$\" === node || \"/&\" === node)) {\n if (0 === depth) {\n parentInstance.removeChild(nextNode);\n retryIfBlockedOn(hydrationInstance);\n return;\n }\n depth--;\n } else if (\n \"$\" === node ||\n \"$?\" === node ||\n \"$~\" === node ||\n \"$!\" === node ||\n \"&\" === node\n )\n depth++;\n else if (\"html\" === node)\n clearSingletonPreambleContribution(\n parentInstance.ownerDocument.documentElement\n );\n else if (\"head\" === node) {\n node = parentInstance.ownerDocument.head;\n clearSingletonPreambleContribution(node);\n for (var node$jscomp$0 = node.firstChild; node$jscomp$0; ) {\n var nextNode$jscomp$0 = node$jscomp$0.nextSibling,\n nodeName = node$jscomp$0.nodeName;\n node$jscomp$0[internalHoistableMarker] ||\n \"SCRIPT\" === nodeName ||\n \"STYLE\" === nodeName ||\n (\"LINK\" === nodeName &&\n \"stylesheet\" === node$jscomp$0.rel.toLowerCase()) ||\n node.removeChild(node$jscomp$0);\n node$jscomp$0 = nextNode$jscomp$0;\n }\n } else\n \"body\" === node &&\n clearSingletonPreambleContribution(parentInstance.ownerDocument.body);\n node = nextNode;\n } while (node);\n retryIfBlockedOn(hydrationInstance);\n}\nfunction hideOrUnhideDehydratedBoundary(suspenseInstance, isHidden) {\n var node = suspenseInstance;\n suspenseInstance = 0;\n do {\n var nextNode = node.nextSibling;\n 1 === node.nodeType\n ? isHidden\n ? ((node._stashedDisplay = node.style.display),\n (node.style.display = \"none\"))\n : ((node.style.display = node._stashedDisplay || \"\"),\n \"\" === node.getAttribute(\"style\") && node.removeAttribute(\"style\"))\n : 3 === node.nodeType &&\n (isHidden\n ? ((node._stashedText = node.nodeValue), (node.nodeValue = \"\"))\n : (node.nodeValue = node._stashedText || \"\"));\n if (nextNode && 8 === nextNode.nodeType)\n if (((node = nextNode.data), \"/$\" === node))\n if (0 === suspenseInstance) break;\n else suspenseInstance--;\n else\n (\"$\" !== node && \"$?\" !== node && \"$~\" !== node && \"$!\" !== node) ||\n suspenseInstance++;\n node = nextNode;\n } while (node);\n}\nfunction applyViewTransitionName(instance, name, className) {\n name = CSS.escape(name) !== name ? \"r-\" + btoa(name).replace(/=/g, \"\") : name;\n instance.style.viewTransitionName = name;\n null != className && (instance.style.viewTransitionClass = className);\n className = getComputedStyle(instance);\n if (\"inline\" === className.display) {\n name = instance.getClientRects();\n if (1 === name.length) var JSCompiler_inline_result = 1;\n else\n for (var i = (JSCompiler_inline_result = 0); i < name.length; i++) {\n var rect = name[i];\n 0 < rect.width && 0 < rect.height && JSCompiler_inline_result++;\n }\n 1 === JSCompiler_inline_result &&\n ((instance = instance.style),\n (instance.display = 1 === name.length ? \"inline-block\" : \"block\"),\n (instance.marginTop = \"-\" + className.paddingTop),\n (instance.marginBottom = \"-\" + className.paddingBottom));\n }\n}\nfunction restoreViewTransitionName(instance, props) {\n instance = instance.style;\n props = props.style;\n var viewTransitionName =\n null != props\n ? props.hasOwnProperty(\"viewTransitionName\")\n ? props.viewTransitionName\n : props.hasOwnProperty(\"view-transition-name\")\n ? props[\"view-transition-name\"]\n : null\n : null;\n instance.viewTransitionName =\n null == viewTransitionName || \"boolean\" === typeof viewTransitionName\n ? \"\"\n : (\"\" + viewTransitionName).trim();\n viewTransitionName =\n null != props\n ? props.hasOwnProperty(\"viewTransitionClass\")\n ? props.viewTransitionClass\n : props.hasOwnProperty(\"view-transition-class\")\n ? props[\"view-transition-class\"]\n : null\n : null;\n instance.viewTransitionClass =\n null == viewTransitionName || \"boolean\" === typeof viewTransitionName\n ? \"\"\n : (\"\" + viewTransitionName).trim();\n \"inline-block\" === instance.display &&\n (null == props\n ? (instance.display = instance.margin = \"\")\n : ((viewTransitionName = props.display),\n (instance.display =\n null == viewTransitionName || \"boolean\" === typeof viewTransitionName\n ? \"\"\n : viewTransitionName),\n (viewTransitionName = props.margin),\n null != viewTransitionName\n ? (instance.margin = viewTransitionName)\n : ((viewTransitionName = props.hasOwnProperty(\"marginTop\")\n ? props.marginTop\n : props[\"margin-top\"]),\n (instance.marginTop =\n null == viewTransitionName ||\n \"boolean\" === typeof viewTransitionName\n ? \"\"\n : viewTransitionName),\n (props = props.hasOwnProperty(\"marginBottom\")\n ? props.marginBottom\n : props[\"margin-bottom\"]),\n (instance.marginBottom =\n null == props || \"boolean\" === typeof props ? \"\" : props))));\n}\nfunction createMeasurement(rect, computedStyle, element) {\n element = element.ownerDocument.defaultView;\n return {\n rect: rect,\n abs:\n \"absolute\" === computedStyle.position ||\n \"fixed\" === computedStyle.position,\n clip:\n \"none\" !== computedStyle.clipPath ||\n \"visible\" !== computedStyle.overflow ||\n \"none\" !== computedStyle.filter ||\n \"none\" !== computedStyle.mask ||\n \"none\" !== computedStyle.mask ||\n \"0px\" !== computedStyle.borderRadius,\n view:\n 0 <= rect.bottom &&\n 0 <= rect.right &&\n rect.top <= element.innerHeight &&\n rect.left <= element.innerWidth\n };\n}\nfunction measureInstance(instance) {\n var rect = instance.getBoundingClientRect(),\n computedStyle = getComputedStyle(instance);\n return createMeasurement(rect, computedStyle, instance);\n}\nfunction measureClonedInstance(instance) {\n var measuredRect = instance.getBoundingClientRect();\n measuredRect = new DOMRect(\n measuredRect.x + 2e4,\n measuredRect.y + 2e4,\n measuredRect.width,\n measuredRect.height\n );\n var computedStyle = getComputedStyle(instance);\n return createMeasurement(measuredRect, computedStyle, instance);\n}\nfunction forceLayout(ownerDocument) {\n return ownerDocument.documentElement.clientHeight;\n}\nfunction waitForImageToLoad(resolve) {\n this.addEventListener(\"load\", resolve);\n this.addEventListener(\"error\", resolve);\n}\nfunction startViewTransition(\n suspendedState,\n rootContainer,\n transitionTypes,\n mutationCallback,\n layoutCallback,\n afterMutationCallback,\n spawnedWorkCallback,\n passiveCallback,\n errorCallback\n) {\n var ownerDocument =\n 9 === rootContainer.nodeType ? rootContainer : rootContainer.ownerDocument;\n try {\n var transition = ownerDocument.startViewTransition({\n update: function () {\n var ownerWindow = ownerDocument.defaultView,\n pendingNavigation =\n ownerWindow.navigation && ownerWindow.navigation.transition,\n previousFontLoadingStatus = ownerDocument.fonts.status;\n mutationCallback();\n var blockingPromises = [];\n \"loaded\" === previousFontLoadingStatus &&\n (forceLayout(ownerDocument),\n \"loading\" === ownerDocument.fonts.status &&\n blockingPromises.push(ownerDocument.fonts.ready));\n previousFontLoadingStatus = blockingPromises.length;\n if (null !== suspendedState)\n for (\n var suspenseyImages = suspendedState.suspenseyImages,\n imgBytes = 0,\n i = 0;\n i < suspenseyImages.length;\n i++\n ) {\n var suspenseyImage = suspenseyImages[i];\n if (!suspenseyImage.complete) {\n var rect = suspenseyImage.getBoundingClientRect();\n if (\n 0 < rect.bottom &&\n 0 < rect.right &&\n rect.top < ownerWindow.innerHeight &&\n rect.left < ownerWindow.innerWidth\n ) {\n imgBytes += estimateImageBytes(suspenseyImage);\n if (imgBytes > estimatedBytesWithinLimit) {\n blockingPromises.length = previousFontLoadingStatus;\n break;\n }\n suspenseyImage = new Promise(\n waitForImageToLoad.bind(suspenseyImage)\n );\n blockingPromises.push(suspenseyImage);\n }\n }\n }\n if (0 < blockingPromises.length)\n return (\n (ownerWindow = Promise.race([\n Promise.all(blockingPromises),\n new Promise(function (resolve) {\n return setTimeout(resolve, 500);\n })\n ]).then(layoutCallback, layoutCallback)),\n (pendingNavigation\n ? Promise.allSettled([pendingNavigation.finished, ownerWindow])\n : ownerWindow\n ).then(afterMutationCallback, afterMutationCallback)\n );\n layoutCallback();\n if (pendingNavigation)\n return pendingNavigation.finished.then(\n afterMutationCallback,\n afterMutationCallback\n );\n afterMutationCallback();\n },\n types: transitionTypes\n });\n ownerDocument.__reactViewTransition = transition;\n var viewTransitionAnimations = [];\n transition.ready.then(\n function () {\n for (\n var animations = ownerDocument.documentElement.getAnimations({\n subtree: !0\n }),\n i = 0;\n i < animations.length;\n i++\n ) {\n var animation = animations[i],\n effect = animation.effect,\n pseudoElement = effect.pseudoElement;\n if (\n null != pseudoElement &&\n pseudoElement.startsWith(\"::view-transition\")\n ) {\n viewTransitionAnimations.push(animation);\n animation = effect.getKeyframes();\n for (\n var height = (pseudoElement = void 0),\n unchangedDimensions = !0,\n j = 0;\n j < animation.length;\n j++\n ) {\n var keyframe = animation[j],\n w = keyframe.width;\n if (void 0 === pseudoElement) pseudoElement = w;\n else if (pseudoElement !== w) {\n unchangedDimensions = !1;\n break;\n }\n w = keyframe.height;\n if (void 0 === height) height = w;\n else if (height !== w) {\n unchangedDimensions = !1;\n break;\n }\n delete keyframe.width;\n delete keyframe.height;\n \"none\" === keyframe.transform && delete keyframe.transform;\n }\n unchangedDimensions &&\n void 0 !== pseudoElement &&\n void 0 !== height &&\n (effect.setKeyframes(animation),\n (unchangedDimensions = getComputedStyle(\n effect.target,\n effect.pseudoElement\n )),\n unchangedDimensions.width !== pseudoElement ||\n unchangedDimensions.height !== height) &&\n ((unchangedDimensions = animation[0]),\n (unchangedDimensions.width = pseudoElement),\n (unchangedDimensions.height = height),\n (unchangedDimensions = animation[animation.length - 1]),\n (unchangedDimensions.width = pseudoElement),\n (unchangedDimensions.height = height),\n effect.setKeyframes(animation));\n }\n }\n spawnedWorkCallback();\n },\n function (error) {\n ownerDocument.__reactViewTransition === transition &&\n (ownerDocument.__reactViewTransition = null);\n try {\n if (\"object\" === typeof error && null !== error)\n switch (error.name) {\n case \"InvalidStateError\":\n if (\n \"View transition was skipped because document visibility state is hidden.\" ===\n error.message ||\n \"Skipping view transition because document visibility state has become hidden.\" ===\n error.message ||\n \"Skipping view transition because viewport size changed.\" ===\n error.message ||\n \"Transition was aborted because of invalid state\" ===\n error.message\n )\n error = null;\n }\n null !== error && errorCallback(error);\n } finally {\n mutationCallback(), layoutCallback(), spawnedWorkCallback();\n }\n }\n );\n transition.finished.finally(function () {\n for (var i = 0; i < viewTransitionAnimations.length; i++)\n viewTransitionAnimations[i].cancel();\n ownerDocument.__reactViewTransition === transition &&\n (ownerDocument.__reactViewTransition = null);\n passiveCallback();\n });\n return transition;\n } catch (x) {\n return mutationCallback(), layoutCallback(), spawnedWorkCallback(), null;\n }\n}\nfunction ViewTransitionPseudoElement(pseudo, name) {\n this._scope = document.documentElement;\n this._selector = \"::view-transition-\" + pseudo + \"(\" + name + \")\";\n}\nViewTransitionPseudoElement.prototype.animate = function (keyframes, options) {\n options =\n \"number\" === typeof options ? { duration: options } : assign({}, options);\n options.pseudoElement = this._selector;\n return this._scope.animate(keyframes, options);\n};\nViewTransitionPseudoElement.prototype.getAnimations = function () {\n for (\n var scope = this._scope,\n selector = this._selector,\n animations = scope.getAnimations({ subtree: !0 }),\n result = [],\n i = 0;\n i < animations.length;\n i++\n ) {\n var effect = animations[i].effect;\n null !== effect &&\n effect.target === scope &&\n effect.pseudoElement === selector &&\n result.push(animations[i]);\n }\n return result;\n};\nViewTransitionPseudoElement.prototype.getComputedStyle = function () {\n return getComputedStyle(this._scope, this._selector);\n};\nfunction createViewTransitionInstance(name) {\n return {\n name: name,\n group: new ViewTransitionPseudoElement(\"group\", name),\n imagePair: new ViewTransitionPseudoElement(\"image-pair\", name),\n old: new ViewTransitionPseudoElement(\"old\", name),\n new: new ViewTransitionPseudoElement(\"new\", name)\n };\n}\nfunction FragmentInstance(fragmentFiber) {\n this._fragmentFiber = fragmentFiber;\n this._observers = this._eventListeners = null;\n}\nFragmentInstance.prototype.addEventListener = function (\n type,\n listener,\n optionsOrUseCapture\n) {\n var signal = null,\n cleanup = null;\n if (\n null != optionsOrUseCapture &&\n \"boolean\" !== typeof optionsOrUseCapture &&\n ((signal = optionsOrUseCapture.signal || null),\n null !== signal && signal.aborted)\n )\n return;\n null === this._eventListeners && (this._eventListeners = []);\n var listeners = this._eventListeners;\n if (\n -1 === indexOfEventListener(listeners, type, listener, optionsOrUseCapture)\n ) {\n var fragmentInstance = this,\n attachedListener = listener;\n null != optionsOrUseCapture &&\n \"boolean\" !== typeof optionsOrUseCapture &&\n !0 === optionsOrUseCapture.once &&\n (attachedListener = function (event) {\n fragmentInstance.removeEventListener(\n type,\n listener,\n optionsOrUseCapture\n );\n \"function\" === typeof listener\n ? listener.call(this, event)\n : listener.handleEvent(event);\n });\n null !== signal &&\n ((cleanup = fragmentInstance.removeEventListener.bind(\n fragmentInstance,\n type,\n listener,\n optionsOrUseCapture\n )),\n signal.addEventListener(\"abort\", cleanup, { once: !0 }),\n (cleanup = signal.removeEventListener.bind(signal, \"abort\", cleanup)));\n signal = getAttachOptions(optionsOrUseCapture);\n listeners.push({\n type: type,\n listener: listener,\n optionsOrUseCapture: optionsOrUseCapture,\n attachedListener: attachedListener,\n cleanup: cleanup\n });\n traverseVisibleInstancesAndTextInstances(\n this._fragmentFiber.child,\n !1,\n addEventListenerToChild,\n type,\n attachedListener,\n signal\n );\n }\n this._eventListeners = listeners;\n};\nfunction addEventListenerToChild(child, type, listener, optionsOrUseCapture) {\n getInstanceFromHostFiber(child).addEventListener(\n type,\n listener,\n optionsOrUseCapture\n );\n return !1;\n}\nFragmentInstance.prototype.removeEventListener = function (\n type,\n listener,\n optionsOrUseCapture\n) {\n var listeners = this._eventListeners;\n if (\n null !== listeners &&\n ((listener = indexOfEventListener(\n listeners,\n type,\n listener,\n optionsOrUseCapture\n )),\n -1 !== listener)\n ) {\n var _listeners$index = listeners[listener];\n optionsOrUseCapture = _listeners$index.attachedListener;\n var cleanup = _listeners$index.cleanup;\n _listeners$index = getAttachOptions(_listeners$index.optionsOrUseCapture);\n traverseVisibleInstancesAndTextInstances(\n this._fragmentFiber.child,\n !1,\n removeEventListenerFromChild,\n type,\n optionsOrUseCapture,\n _listeners$index\n );\n listeners.splice(listener, 1);\n null !== cleanup && cleanup();\n }\n};\nfunction removeEventListenerFromChild(\n child,\n type,\n listener,\n optionsOrUseCapture\n) {\n getInstanceFromHostFiber(child).removeEventListener(\n type,\n listener,\n optionsOrUseCapture\n );\n return !1;\n}\nfunction getAttachOptions(opts) {\n return null != opts &&\n \"boolean\" !== typeof opts &&\n (!0 === opts.once || opts.signal instanceof AbortSignal)\n ? { capture: opts.capture, passive: opts.passive }\n : opts;\n}\nfunction normalizeListenerOptions(opts) {\n return null == opts\n ? \"c=0\"\n : \"boolean\" === typeof opts\n ? \"c=\" + (opts ? \"1\" : \"0\")\n : \"c=\" + (opts.capture ? \"1\" : \"0\");\n}\nfunction indexOfEventListener(\n eventListeners,\n type,\n listener,\n optionsOrUseCapture\n) {\n if (0 === eventListeners.length) return -1;\n optionsOrUseCapture = normalizeListenerOptions(optionsOrUseCapture);\n for (var i = 0; i < eventListeners.length; i++) {\n var item = eventListeners[i];\n if (\n item.type === type &&\n item.listener === listener &&\n normalizeListenerOptions(item.optionsOrUseCapture) === optionsOrUseCapture\n )\n return i;\n }\n return -1;\n}\nFragmentInstance.prototype.dispatchEvent = function (event) {\n var parentHostFiber = getFragmentParentInstanceOrContainerFiber(\n this._fragmentFiber\n );\n if (null === parentHostFiber) return !0;\n parentHostFiber = getInstanceFromHostFiber(parentHostFiber);\n var eventListeners = this._eventListeners;\n if (\n (null !== eventListeners && 0 < eventListeners.length) ||\n !event.bubbles\n ) {\n var temp =\n 9 === parentHostFiber.nodeType\n ? parentHostFiber.createComment(\"\")\n : document.createTextNode(\"\");\n if (eventListeners)\n for (var i = 0; i < eventListeners.length; i++) {\n var _eventListeners$i = eventListeners[i];\n temp.addEventListener(\n _eventListeners$i.type,\n _eventListeners$i.attachedListener,\n getAttachOptions(_eventListeners$i.optionsOrUseCapture)\n );\n }\n parentHostFiber.appendChild(temp);\n event = temp.dispatchEvent(event);\n if (eventListeners)\n for (i = 0; i < eventListeners.length; i++)\n (_eventListeners$i = eventListeners[i]),\n temp.removeEventListener(\n _eventListeners$i.type,\n _eventListeners$i.attachedListener,\n getAttachOptions(_eventListeners$i.optionsOrUseCapture)\n );\n parentHostFiber.removeChild(temp);\n return event;\n }\n return parentHostFiber.dispatchEvent(event);\n};\nFragmentInstance.prototype.focus = function (focusOptions) {\n traverseVisibleInstancesAndTextInstances(\n this._fragmentFiber.child,\n !0,\n setFocusOnFiberIfFocusable,\n focusOptions,\n void 0,\n void 0\n );\n};\nfunction setFocusOnFiberIfFocusable(fiber, focusOptions) {\n if (6 === fiber.tag) return !1;\n fiber = getInstanceFromHostFiber(fiber);\n return setFocusIfFocusable(fiber, focusOptions);\n}\nFragmentInstance.prototype.focusLast = function (focusOptions) {\n var children = [];\n traverseVisibleInstancesAndTextInstances(\n this._fragmentFiber.child,\n !0,\n collectChildren,\n children,\n void 0,\n void 0\n );\n for (\n var i = children.length - 1;\n 0 <= i && !setFocusOnFiberIfFocusable(children[i], focusOptions);\n i--\n );\n};\nfunction collectChildren(child, collection) {\n collection.push(child);\n return !1;\n}\nFragmentInstance.prototype.blur = function () {\n var parentHostFiber = getFragmentParentInstanceOrContainerFiber(\n this._fragmentFiber\n );\n null !== parentHostFiber &&\n ((parentHostFiber = getInstanceFromHostFiber(parentHostFiber)),\n (parentHostFiber =\n getOwnerDocumentFromRootContainer(parentHostFiber).activeElement),\n null !== parentHostFiber &&\n traverseVisibleInstancesAndTextInstances(\n this._fragmentFiber.child,\n !1,\n blurActiveElementWithinFragment,\n parentHostFiber,\n void 0,\n void 0\n ));\n};\nfunction blurActiveElementWithinFragment(child, activeElement) {\n if (6 === child.tag) return !1;\n child = getInstanceFromHostFiber(child);\n return child === activeElement || child.contains(activeElement)\n ? (activeElement.blur(), !0)\n : !1;\n}\nFragmentInstance.prototype.observeUsing = function (observer) {\n null === this._observers && (this._observers = new Set());\n this._observers.add(observer);\n traverseVisibleInstancesAndTextInstances(\n this._fragmentFiber.child,\n !1,\n observeChild,\n observer,\n void 0,\n void 0\n );\n};\nfunction observeChild(child, observer) {\n if (6 === child.tag) return !1;\n child = getInstanceFromHostFiber(child);\n observer.observe(child);\n return !1;\n}\nFragmentInstance.prototype.unobserveUsing = function (observer) {\n var observers = this._observers;\n if (null !== observers && observers.has(observer)) {\n observers.delete(observer);\n traverseVisibleInstancesAndTextInstances(\n this._fragmentFiber.child,\n !1,\n unobserveChild,\n observer,\n void 0,\n void 0\n );\n for (\n var i = (observers = 0);\n i < pendingIntersectionUnobserves.length;\n i++\n ) {\n var pending = pendingIntersectionUnobserves[i];\n pending.fragmentInstance === this && pending.observer === observer\n ? observer.unobserve(pending.instance)\n : (pendingIntersectionUnobserves[observers++] = pending);\n }\n pendingIntersectionUnobserves.length = observers;\n }\n};\nfunction unobserveChild(child, observer) {\n if (6 === child.tag) return !1;\n child = getInstanceFromHostFiber(child);\n observer.unobserve(child);\n return !1;\n}\nvar pendingIntersectionUnobserves = [],\n intersectionUnobserveScheduled = !1;\nfunction schedulePendingIntersectionUnobserve(\n fragmentInstance,\n observer,\n instance\n) {\n pendingIntersectionUnobserves.push({\n fragmentInstance: fragmentInstance,\n observer: observer,\n instance: instance\n });\n intersectionUnobserveScheduled ||\n ((intersectionUnobserveScheduled = !0),\n requestPostPaintCallback(function () {\n intersectionUnobserveScheduled = !1;\n var pending = pendingIntersectionUnobserves;\n pendingIntersectionUnobserves = [];\n for (var i = 0; i < pending.length; i++) {\n var item = pending[i];\n item.observer.unobserve(item.instance);\n }\n }));\n}\nFragmentInstance.prototype.getClientRects = function () {\n var rects = [];\n traverseVisibleInstancesAndTextInstances(\n this._fragmentFiber.child,\n !1,\n collectClientRects,\n rects,\n void 0,\n void 0\n );\n return rects;\n};\nfunction collectClientRects(child, rects) {\n if (6 === child.tag) {\n child = child.stateNode;\n var range = child.ownerDocument.createRange();\n range.selectNodeContents(child);\n rects.push.apply(rects, range.getClientRects());\n } else\n (child = getInstanceFromHostFiber(child)),\n rects.push.apply(rects, child.getClientRects());\n return !1;\n}\nFragmentInstance.prototype.getRootNode = function (getRootNodeOptions) {\n var parentHostFiber = getFragmentParentInstanceOrContainerFiber(\n this._fragmentFiber\n );\n return null === parentHostFiber\n ? this\n : getInstanceFromHostFiber(parentHostFiber).getRootNode(getRootNodeOptions);\n};\nFragmentInstance.prototype.compareDocumentPosition = function (otherNode) {\n var parentHostFiber = getFragmentParentInstanceOrContainerFiber(\n this._fragmentFiber\n );\n if (null === parentHostFiber) return Node.DOCUMENT_POSITION_DISCONNECTED;\n var children = [];\n traverseVisibleInstancesAndTextInstances(\n this._fragmentFiber.child,\n !1,\n collectChildren,\n children,\n void 0,\n void 0\n );\n var parentHostInstance = getInstanceFromHostFiber(parentHostFiber);\n if (0 === children.length) {\n children = parentHostInstance;\n if (fiberIsPortaledIntoHost(this._fragmentFiber)) {\n a: {\n for (\n parentHostFiber = this._fragmentFiber.return;\n null !== parentHostFiber;\n\n ) {\n if (4 === parentHostFiber.tag) {\n parentHostFiber = parentHostFiber.stateNode.containerInfo;\n break a;\n }\n if (\n 3 === parentHostFiber.tag ||\n 5 === parentHostFiber.tag ||\n 27 === parentHostFiber.tag\n )\n break;\n parentHostFiber = parentHostFiber.return;\n }\n parentHostFiber = null;\n }\n null != parentHostFiber && (children = parentHostFiber);\n }\n parentHostFiber = this._fragmentFiber;\n var result = (parentHostInstance =\n children.compareDocumentPosition(otherNode));\n children === otherNode\n ? (result = Node.DOCUMENT_POSITION_CONTAINS)\n : parentHostInstance & Node.DOCUMENT_POSITION_CONTAINED_BY &&\n ((children =\n getFragmentInstanceOrTextInstanceSiblings(parentHostFiber)[1]),\n null === children\n ? (result = Node.DOCUMENT_POSITION_PRECEDING)\n : ((otherNode =\n getInstanceFromHostFiber(children).compareDocumentPosition(\n otherNode\n )),\n (result =\n 0 === otherNode || otherNode & Node.DOCUMENT_POSITION_FOLLOWING\n ? Node.DOCUMENT_POSITION_FOLLOWING\n : Node.DOCUMENT_POSITION_PRECEDING)));\n return (result |= Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC);\n }\n parentHostFiber = getInstanceFromHostFiber(children[0]);\n result = getInstanceFromHostFiber(children[children.length - 1]);\n var parentHostInstanceFromDOM = fiberIsPortaledIntoHost(this._fragmentFiber)\n ? parentHostFiber.parentElement\n : parentHostInstance;\n if (null == parentHostInstanceFromDOM)\n return Node.DOCUMENT_POSITION_DISCONNECTED;\n parentHostInstance =\n parentHostInstanceFromDOM.compareDocumentPosition(parentHostFiber) &\n Node.DOCUMENT_POSITION_CONTAINED_BY;\n parentHostInstanceFromDOM =\n parentHostInstanceFromDOM.compareDocumentPosition(result) &\n Node.DOCUMENT_POSITION_CONTAINED_BY;\n var firstResult = parentHostFiber.compareDocumentPosition(otherNode),\n lastResult = result.compareDocumentPosition(otherNode),\n otherNodeIsWithinFirstOrLastChild =\n firstResult & Node.DOCUMENT_POSITION_CONTAINED_BY ||\n lastResult & Node.DOCUMENT_POSITION_CONTAINED_BY;\n lastResult =\n parentHostInstance &&\n parentHostInstanceFromDOM &&\n firstResult & Node.DOCUMENT_POSITION_FOLLOWING &&\n lastResult & Node.DOCUMENT_POSITION_PRECEDING;\n parentHostFiber =\n (parentHostInstance && parentHostFiber === otherNode) ||\n (parentHostInstanceFromDOM && result === otherNode) ||\n otherNodeIsWithinFirstOrLastChild ||\n lastResult\n ? Node.DOCUMENT_POSITION_CONTAINED_BY\n : (!parentHostInstance && parentHostFiber === otherNode) ||\n (!parentHostInstanceFromDOM && result === otherNode)\n ? Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC\n : firstResult;\n return parentHostFiber & Node.DOCUMENT_POSITION_DISCONNECTED ||\n parentHostFiber & Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC ||\n validateDocumentPositionWithFiberTree(\n parentHostFiber,\n this._fragmentFiber,\n children[0],\n children[children.length - 1],\n otherNode\n )\n ? parentHostFiber\n : Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC;\n};\nfunction validateDocumentPositionWithFiberTree(\n documentPosition,\n fragmentFiber,\n precedingBoundaryFiber,\n followingBoundaryFiber,\n otherNode\n) {\n var otherFiber = getClosestInstanceFromNode(otherNode);\n if (documentPosition & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n if ((precedingBoundaryFiber = !!otherFiber))\n a: {\n for (; null !== otherFiber; ) {\n if (\n 7 === otherFiber.tag &&\n (otherFiber === fragmentFiber ||\n otherFiber.alternate === fragmentFiber)\n ) {\n precedingBoundaryFiber = !0;\n break a;\n }\n otherFiber = otherFiber.return;\n }\n precedingBoundaryFiber = !1;\n }\n return precedingBoundaryFiber;\n }\n if (documentPosition & Node.DOCUMENT_POSITION_CONTAINS) {\n if (null === otherFiber)\n return (\n (otherFiber = otherNode.ownerDocument),\n otherNode === otherFiber ||\n otherNode === otherFiber.documentElement ||\n otherNode === otherFiber.body\n );\n a: {\n otherFiber = fragmentFiber;\n for (\n fragmentFiber =\n getFragmentParentInstanceOrContainerFiber(fragmentFiber);\n null !== otherFiber;\n\n ) {\n if (\n !(\n (5 !== otherFiber.tag &&\n 3 !== otherFiber.tag &&\n 27 !== otherFiber.tag) ||\n (otherFiber !== fragmentFiber &&\n otherFiber.alternate !== fragmentFiber)\n )\n ) {\n otherFiber = !0;\n break a;\n }\n otherFiber = otherFiber.return;\n }\n otherFiber = !1;\n }\n return otherFiber;\n }\n return documentPosition & Node.DOCUMENT_POSITION_PRECEDING\n ? ((fragmentFiber = !!otherFiber) &&\n !(fragmentFiber = otherFiber === precedingBoundaryFiber) &&\n ((fragmentFiber = getLowestCommonAncestor(\n precedingBoundaryFiber,\n otherFiber,\n getParentForFragmentAncestors\n )),\n null === fragmentFiber\n ? (fragmentFiber = !1)\n : (traverseVisibleInstancesAndTextInstances(\n fragmentFiber,\n !0,\n isFiberPrecedingCheck,\n otherFiber,\n precedingBoundaryFiber\n ),\n (otherFiber = searchTarget),\n (searchTarget = null),\n (fragmentFiber = null !== otherFiber))),\n fragmentFiber)\n : documentPosition & Node.DOCUMENT_POSITION_FOLLOWING\n ? ((fragmentFiber = !!otherFiber) &&\n !(fragmentFiber = otherFiber === followingBoundaryFiber) &&\n ((fragmentFiber = getLowestCommonAncestor(\n followingBoundaryFiber,\n otherFiber,\n getParentForFragmentAncestors\n )),\n null === fragmentFiber\n ? (fragmentFiber = !1)\n : (traverseVisibleInstancesAndTextInstances(\n fragmentFiber,\n !0,\n isFiberFollowingCheck,\n otherFiber,\n followingBoundaryFiber\n ),\n (otherFiber = searchTarget),\n (searchBoundary = searchTarget = null),\n (fragmentFiber = null !== otherFiber))),\n fragmentFiber)\n : !1;\n}\nfunction scrollTextNodeIntoView(textNode, resolvedAlignToTop) {\n var range = textNode.ownerDocument.createRange();\n range.selectNodeContents(textNode);\n textNode = range.getBoundingClientRect();\n window.scrollTo(\n window.scrollX + textNode.left,\n resolvedAlignToTop\n ? window.scrollY + textNode.top\n : window.scrollY + textNode.bottom - window.innerHeight\n );\n}\nFragmentInstance.prototype.scrollIntoView = function (alignToTop) {\n if (\"object\" === typeof alignToTop) throw Error(formatProdErrorMessage(566));\n var children = [];\n traverseVisibleInstancesAndTextInstances(\n this._fragmentFiber.child,\n !1,\n collectChildren,\n children,\n void 0,\n void 0\n );\n var resolvedAlignToTop = !1 !== alignToTop;\n if (0 === children.length) {\n var hostSiblings = getFragmentInstanceOrTextInstanceSiblings(\n this._fragmentFiber\n );\n hostSiblings = resolvedAlignToTop\n ? hostSiblings[1] ||\n hostSiblings[0] ||\n getFragmentParentInstanceOrContainerFiber(this._fragmentFiber)\n : hostSiblings[0] || hostSiblings[1];\n if (null === hostSiblings) return;\n if (6 === hostSiblings.tag) {\n alignToTop = getInstanceFromHostFiber(hostSiblings);\n scrollTextNodeIntoView(alignToTop, resolvedAlignToTop);\n return;\n }\n hostSiblings = getInstanceFromHostFiber(hostSiblings);\n if (9 !== hostSiblings.nodeType) {\n if (11 === hostSiblings.nodeType) {\n resolvedAlignToTop = \"host\" in hostSiblings ? hostSiblings.host : null;\n null !== resolvedAlignToTop &&\n resolvedAlignToTop.scrollIntoView(alignToTop);\n return;\n }\n hostSiblings.scrollIntoView(alignToTop);\n }\n }\n for (\n hostSiblings = resolvedAlignToTop ? children.length - 1 : 0;\n hostSiblings !== (resolvedAlignToTop ? -1 : children.length);\n\n ) {\n var child = children[hostSiblings];\n 6 === child.tag\n ? ((child = getInstanceFromHostFiber(child)),\n scrollTextNodeIntoView(child, resolvedAlignToTop))\n : getInstanceFromHostFiber(child).scrollIntoView(alignToTop);\n hostSiblings += resolvedAlignToTop ? -1 : 1;\n }\n};\nfunction addFragmentHandleToFiber(child, fragmentInstance) {\n child = getInstanceFromHostFiber(child);\n addFragmentHandleToInstance(child, fragmentInstance);\n return !1;\n}\nfunction addFragmentHandleToInstance(instance, fragmentInstance) {\n null == instance.reactFragments && (instance.reactFragments = new Set());\n instance.reactFragments.add(fragmentInstance);\n}\nfunction commitNewChildToFragmentInstance(childInstance, fragmentInstance) {\n var eventListeners = fragmentInstance._eventListeners;\n if (null !== eventListeners)\n for (var i$jscomp$0 = 0; i$jscomp$0 < eventListeners.length; i$jscomp$0++) {\n var _eventListeners$i3 = eventListeners[i$jscomp$0];\n childInstance.addEventListener(\n _eventListeners$i3.type,\n _eventListeners$i3.attachedListener,\n getAttachOptions(_eventListeners$i3.optionsOrUseCapture)\n );\n }\n 3 !== childInstance.nodeType &&\n ((eventListeners = fragmentInstance._observers),\n null !== eventListeners &&\n eventListeners.forEach(function (observer) {\n for (\n var writeIdx = 0, i = 0;\n i < pendingIntersectionUnobserves.length;\n i++\n ) {\n var pending = pendingIntersectionUnobserves[i];\n if (\n pending.fragmentInstance !== fragmentInstance ||\n pending.observer !== observer ||\n pending.instance !== childInstance\n )\n pendingIntersectionUnobserves[writeIdx++] = pending;\n }\n pendingIntersectionUnobserves.length = writeIdx;\n observer.observe(childInstance);\n }),\n addFragmentHandleToInstance(childInstance, fragmentInstance));\n}\nfunction deleteChildFromFragmentInstance(childInstance, fragmentInstance) {\n var eventListeners = fragmentInstance._eventListeners;\n if (null !== eventListeners)\n for (var i = 0; i < eventListeners.length; i++) {\n var _eventListeners$i4 = eventListeners[i];\n childInstance.removeEventListener(\n _eventListeners$i4.type,\n _eventListeners$i4.attachedListener,\n getAttachOptions(_eventListeners$i4.optionsOrUseCapture)\n );\n }\n 3 !== childInstance.nodeType &&\n ((eventListeners = fragmentInstance._observers),\n null !== eventListeners &&\n eventListeners.forEach(function (observer) {\n \"string\" === typeof observer.rootMargin\n ? schedulePendingIntersectionUnobserve(\n fragmentInstance,\n observer,\n childInstance\n )\n : observer.unobserve(childInstance);\n }),\n null != childInstance.reactFragments &&\n childInstance.reactFragments.delete(fragmentInstance));\n}\nfunction clearContainerSparingly(container) {\n var nextNode = container.firstChild;\n nextNode && 10 === nextNode.nodeType && (nextNode = nextNode.nextSibling);\n for (; nextNode; ) {\n var node = nextNode;\n nextNode = nextNode.nextSibling;\n switch (node.nodeName) {\n case \"HTML\":\n case \"HEAD\":\n case \"BODY\":\n clearContainerSparingly(node);\n detachDeletedInstance(node);\n continue;\n case \"SCRIPT\":\n case \"STYLE\":\n continue;\n case \"LINK\":\n if (\"stylesheet\" === node.rel.toLowerCase()) continue;\n }\n container.removeChild(node);\n }\n}\nfunction canHydrateInstance(instance, type, props, inRootOrSingleton) {\n for (; 1 === instance.nodeType; ) {\n var anyProps = props;\n if (instance.nodeName.toLowerCase() !== type.toLowerCase()) {\n if (\n !inRootOrSingleton &&\n (\"INPUT\" !== instance.nodeName || \"hidden\" !== instance.type)\n )\n break;\n } else if (!inRootOrSingleton)\n if (\"input\" === type && \"hidden\" === instance.type) {\n var name = null == anyProps.name ? null : \"\" + anyProps.name;\n if (\n \"hidden\" === anyProps.type &&\n instance.getAttribute(\"name\") === name\n )\n return instance;\n } else return instance;\n else if (!instance[internalHoistableMarker])\n switch (type) {\n case \"meta\":\n if (!instance.hasAttribute(\"itemprop\")) break;\n return instance;\n case \"link\":\n name = instance.getAttribute(\"rel\");\n if (\"stylesheet\" === name && instance.hasAttribute(\"data-precedence\"))\n break;\n else if (\n name !== anyProps.rel ||\n instance.getAttribute(\"href\") !==\n (null == anyProps.href || \"\" === anyProps.href\n ? null\n : anyProps.href) ||\n instance.getAttribute(\"crossorigin\") !==\n (null == anyProps.crossOrigin ? null : anyProps.crossOrigin) ||\n instance.getAttribute(\"title\") !==\n (null == anyProps.title ? null : anyProps.title)\n )\n break;\n return instance;\n case \"style\":\n if (instance.hasAttribute(\"data-precedence\")) break;\n return instance;\n case \"script\":\n name = instance.getAttribute(\"src\");\n if (\n (name !== (null == anyProps.src ? null : anyProps.src) ||\n instance.getAttribute(\"type\") !==\n (null == anyProps.type ? null : anyProps.type) ||\n instance.getAttribute(\"crossorigin\") !==\n (null == anyProps.crossOrigin ? null : anyProps.crossOrigin)) &&\n name &&\n instance.hasAttribute(\"async\") &&\n !instance.hasAttribute(\"itemprop\")\n )\n break;\n return instance;\n default:\n return instance;\n }\n instance = getNextHydratable(instance.nextSibling);\n if (null === instance) break;\n }\n return null;\n}\nfunction canHydrateTextInstance(instance, text, inRootOrSingleton) {\n if (\"\" === text) return null;\n for (; 3 !== instance.nodeType; ) {\n if (\n (1 !== instance.nodeType ||\n \"INPUT\" !== instance.nodeName ||\n \"hidden\" !== instance.type) &&\n !inRootOrSingleton\n )\n return null;\n instance = getNextHydratable(instance.nextSibling);\n if (null === instance) return null;\n }\n return instance;\n}\nfunction canHydrateHydrationBoundary(instance, inRootOrSingleton) {\n for (; 8 !== instance.nodeType; ) {\n if (\n (1 !== instance.nodeType ||\n \"INPUT\" !== instance.nodeName ||\n \"hidden\" !== instance.type) &&\n !inRootOrSingleton\n )\n return null;\n instance = getNextHydratable(instance.nextSibling);\n if (null === instance) return null;\n }\n return instance;\n}\nfunction isSuspenseInstancePending(instance) {\n return \"$?\" === instance.data || \"$~\" === instance.data;\n}\nfunction isSuspenseInstanceFallback(instance) {\n return (\n \"$!\" === instance.data ||\n (\"$?\" === instance.data && \"loading\" !== instance.ownerDocument.readyState)\n );\n}\nfunction registerSuspenseInstanceRetry(instance, callback) {\n var ownerDocument = instance.ownerDocument;\n if (\"$~\" === instance.data) instance._reactRetry = callback;\n else if (\"$?\" !== instance.data || \"loading\" !== ownerDocument.readyState)\n callback();\n else {\n var listener = function () {\n callback();\n ownerDocument.removeEventListener(\"DOMContentLoaded\", listener);\n };\n ownerDocument.addEventListener(\"DOMContentLoaded\", listener);\n instance._reactRetry = listener;\n }\n}\nfunction getNextHydratable(node) {\n for (; null != node; node = node.nextSibling) {\n var nodeType = node.nodeType;\n if (1 === nodeType || 3 === nodeType) break;\n if (8 === nodeType) {\n nodeType = node.data;\n if (\n \"$\" === nodeType ||\n \"$!\" === nodeType ||\n \"$?\" === nodeType ||\n \"$~\" === nodeType ||\n \"&\" === nodeType ||\n \"F!\" === nodeType ||\n \"F\" === nodeType\n )\n break;\n if (\"/$\" === nodeType || \"/&\" === nodeType) return null;\n }\n }\n return node;\n}\nvar previousHydratableOnEnteringScopedSingleton = null;\nfunction getNextHydratableInstanceAfterHydrationBoundary(hydrationInstance) {\n hydrationInstance = hydrationInstance.nextSibling;\n for (var depth = 0; hydrationInstance; ) {\n if (8 === hydrationInstance.nodeType) {\n var data = hydrationInstance.data;\n if (\"/$\" === data || \"/&\" === data) {\n if (0 === depth)\n return getNextHydratable(hydrationInstance.nextSibling);\n depth--;\n } else\n (\"$\" !== data &&\n \"$!\" !== data &&\n \"$?\" !== data &&\n \"$~\" !== data &&\n \"&\" !== data) ||\n depth++;\n }\n hydrationInstance = hydrationInstance.nextSibling;\n }\n return null;\n}\nfunction getParentHydrationBoundary(targetInstance) {\n targetInstance = targetInstance.previousSibling;\n for (var depth = 0; targetInstance; ) {\n if (8 === targetInstance.nodeType) {\n var data = targetInstance.data;\n if (\n \"$\" === data ||\n \"$!\" === data ||\n \"$?\" === data ||\n \"$~\" === data ||\n \"&\" === data\n ) {\n if (0 === depth) return targetInstance;\n depth--;\n } else (\"/$\" !== data && \"/&\" !== data) || depth++;\n }\n targetInstance = targetInstance.previousSibling;\n }\n return null;\n}\nfunction setFocusIfFocusable(node, focusOptions) {\n function handleFocus() {\n didFocus = !0;\n }\n if (node.ownerDocument.activeElement === node) return !0;\n var didFocus = !1;\n try {\n node.ownerDocument.addEventListener(\"focus\", handleFocus, !0),\n (node.focus || HTMLElement.prototype.focus).call(node, focusOptions);\n } finally {\n node.ownerDocument.removeEventListener(\"focus\", handleFocus, !0);\n }\n return didFocus;\n}\nfunction requestPostPaintCallback(callback) {\n localRequestAnimationFrame(function () {\n localRequestAnimationFrame(function (time) {\n return callback(time);\n });\n });\n}\nfunction resolveSingletonInstance(type, props, rootContainerInstance) {\n props = getOwnerDocumentFromRootContainer(rootContainerInstance);\n switch (type) {\n case \"html\":\n type = props.documentElement;\n if (!type) throw Error(formatProdErrorMessage(452));\n return type;\n case \"head\":\n type = props.head;\n if (!type) throw Error(formatProdErrorMessage(453));\n return type;\n case \"body\":\n type = props.body;\n if (!type) throw Error(formatProdErrorMessage(454));\n return type;\n default:\n throw Error(formatProdErrorMessage(451));\n }\n}\nfunction releaseSingletonInstance(instance, type, props) {\n for (var propKey in props) {\n var propValue = props[propKey];\n props.hasOwnProperty(propKey) &&\n null != propValue &&\n setProp(instance, type, propKey, null, emptyProps, propValue);\n }\n null != props.dangerouslySetInnerHTML && (instance.textContent = \"\");\n instance.onclick === noop$1 && (instance.onclick = null);\n detachDeletedInstance(instance);\n}\nfunction clearSingletonPreambleContribution(instance) {\n for (var attributes = instance.attributes; attributes.length; )\n instance.removeAttributeNode(attributes[0]);\n detachDeletedInstance(instance);\n}\nvar preloadPropsMap = new Map(),\n preconnectsSet = new Set();\nfunction getHoistableRoot(container) {\n if (\"function\" === typeof container.getRootNode) {\n var rootNode = container.getRootNode();\n if (9 === rootNode.nodeType || 11 === rootNode.nodeType) return rootNode;\n }\n return 9 === container.nodeType ? container : container.ownerDocument;\n}\nvar previousDispatcher = ReactDOMSharedInternals.d;\nReactDOMSharedInternals.d = {\n f: flushSyncWork,\n r: requestFormReset,\n D: prefetchDNS,\n C: preconnect,\n L: preload,\n m: preloadModule,\n X: preinitScript,\n S: preinitStyle,\n M: preinitModuleScript\n};\nfunction flushSyncWork() {\n var previousWasRendering = previousDispatcher.f(),\n wasRendering = flushSyncWork$1();\n return previousWasRendering || wasRendering;\n}\nfunction requestFormReset(form) {\n var formInst = getInstanceFromNode(form);\n null !== formInst && 5 === formInst.tag && \"form\" === formInst.type\n ? requestFormReset$1(formInst)\n : previousDispatcher.r(form);\n}\nvar globalDocument = \"undefined\" === typeof document ? null : document;\nfunction preconnectAs(rel, href, crossOrigin) {\n var ownerDocument = globalDocument;\n if (ownerDocument && \"string\" === typeof href && href) {\n var limitedEscapedHref =\n escapeSelectorAttributeValueInsideDoubleQuotes(href);\n limitedEscapedHref =\n 'link[rel=\"' + rel + '\"][href=\"' + limitedEscapedHref + '\"]';\n \"string\" === typeof crossOrigin &&\n (limitedEscapedHref += '[crossorigin=\"' + crossOrigin + '\"]');\n preconnectsSet.has(limitedEscapedHref) ||\n (preconnectsSet.add(limitedEscapedHref),\n (rel = { rel: rel, crossOrigin: crossOrigin, href: href }),\n null === ownerDocument.querySelector(limitedEscapedHref) &&\n ((href = ownerDocument.createElement(\"link\")),\n setInitialProperties(href, \"link\", rel),\n markNodeAsHoistable(href),\n ownerDocument.head.appendChild(href)));\n }\n}\nfunction prefetchDNS(href) {\n previousDispatcher.D(href);\n preconnectAs(\"dns-prefetch\", href, null);\n}\nfunction preconnect(href, crossOrigin) {\n previousDispatcher.C(href, crossOrigin);\n preconnectAs(\"preconnect\", href, crossOrigin);\n}\nfunction preload(href, as, options) {\n previousDispatcher.L(href, as, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && href && as) {\n var preloadSelector =\n 'link[rel=\"preload\"][as=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(as) +\n '\"]';\n \"image\" === as\n ? options && options.imageSrcSet\n ? ((preloadSelector +=\n '[imagesrcset=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n options.imageSrcSet\n ) +\n '\"]'),\n \"string\" === typeof options.imageSizes &&\n (preloadSelector +=\n '[imagesizes=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n options.imageSizes\n ) +\n '\"]'))\n : (preloadSelector +=\n '[href=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(href) +\n '\"]')\n : (preloadSelector +=\n '[href=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(href) +\n '\"]');\n var key = preloadSelector;\n switch (as) {\n case \"style\":\n key = getStyleKey(href);\n break;\n case \"script\":\n key = getScriptKey(href);\n }\n if (\n !(\n preloadPropsMap.has(key) ||\n ((href = assign(\n {\n rel: \"preload\",\n href:\n \"image\" === as && options && options.imageSrcSet ? void 0 : href,\n as: as\n },\n options\n )),\n preloadPropsMap.set(key, href),\n null !== ownerDocument.querySelector(preloadSelector) ||\n (\"style\" === as &&\n ownerDocument.querySelector(getStylesheetSelectorFromKey(key))) ||\n (\"script\" === as &&\n ownerDocument.querySelector(getScriptSelectorFromKey(key))))\n )\n ) {\n var instance = ownerDocument.createElement(\"link\");\n setInitialProperties(instance, \"link\", href);\n \"style\" === as &&\n ((instance[internalLoadPendingKey] = !0),\n (instance.onload = instance.onerror =\n function () {\n clearPendingLoadOnNode(instance);\n }));\n markNodeAsHoistable(instance);\n ownerDocument.head.appendChild(instance);\n }\n }\n}\nfunction preloadModule(href, options) {\n previousDispatcher.m(href, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && href) {\n var as = options && \"string\" === typeof options.as ? options.as : \"script\",\n preloadSelector =\n 'link[rel=\"modulepreload\"][as=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(as) +\n '\"][href=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(href) +\n '\"]',\n key = preloadSelector;\n switch (as) {\n case \"audioworklet\":\n case \"paintworklet\":\n case \"serviceworker\":\n case \"sharedworker\":\n case \"worker\":\n case \"script\":\n key = getScriptKey(href);\n }\n if (\n !preloadPropsMap.has(key) &&\n ((href = assign({ rel: \"modulepreload\", href: href }, options)),\n preloadPropsMap.set(key, href),\n null === ownerDocument.querySelector(preloadSelector))\n ) {\n switch (as) {\n case \"audioworklet\":\n case \"paintworklet\":\n case \"serviceworker\":\n case \"sharedworker\":\n case \"worker\":\n case \"script\":\n if (ownerDocument.querySelector(getScriptSelectorFromKey(key)))\n return;\n }\n as = ownerDocument.createElement(\"link\");\n setInitialProperties(as, \"link\", href);\n markNodeAsHoistable(as);\n ownerDocument.head.appendChild(as);\n }\n }\n}\nfunction preinitStyle(href, precedence, options) {\n previousDispatcher.S(href, precedence, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && href) {\n var styles = getResourcesFromRoot(ownerDocument).hoistableStyles,\n key = getStyleKey(href);\n precedence = precedence || \"default\";\n var resource = styles.get(key);\n if (!resource) {\n var state = { loading: 0, preload: null };\n if (\n (resource = ownerDocument.querySelector(\n getStylesheetSelectorFromKey(key)\n ))\n )\n state.loading = 5;\n else {\n href = assign(\n { rel: \"stylesheet\", href: href, \"data-precedence\": precedence },\n options\n );\n (options = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForStylesheet(href, options);\n var link = (resource = ownerDocument.createElement(\"link\"));\n markNodeAsHoistable(link);\n setInitialProperties(link, \"link\", href);\n link._p = new Promise(function (resolve, reject) {\n link.onload = resolve;\n link.onerror = reject;\n });\n link.addEventListener(\"load\", function () {\n state.loading |= 1;\n });\n link.addEventListener(\"error\", function () {\n state.loading |= 2;\n });\n state.loading |= 4;\n insertStylesheet(resource, precedence, ownerDocument);\n }\n resource = {\n type: \"stylesheet\",\n instance: resource,\n count: 1,\n state: state\n };\n styles.set(key, resource);\n }\n }\n}\nfunction preinitScript(src, options) {\n previousDispatcher.X(src, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && src) {\n var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts,\n key = getScriptKey(src),\n resource = scripts.get(key);\n resource ||\n ((resource = ownerDocument.querySelector(getScriptSelectorFromKey(key))),\n resource ||\n ((src = assign({ src: src, async: !0 }, options)),\n (options = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForScript(src, options),\n (resource = ownerDocument.createElement(\"script\")),\n markNodeAsHoistable(resource),\n setInitialProperties(resource, \"link\", src),\n ownerDocument.head.appendChild(resource)),\n (resource = {\n type: \"script\",\n instance: resource,\n count: 1,\n state: null\n }),\n scripts.set(key, resource));\n }\n}\nfunction preinitModuleScript(src, options) {\n previousDispatcher.M(src, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && src) {\n var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts,\n key = getScriptKey(src),\n resource = scripts.get(key);\n resource ||\n ((resource = ownerDocument.querySelector(getScriptSelectorFromKey(key))),\n resource ||\n ((src = assign({ src: src, async: !0, type: \"module\" }, options)),\n (options = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForScript(src, options),\n (resource = ownerDocument.createElement(\"script\")),\n markNodeAsHoistable(resource),\n setInitialProperties(resource, \"link\", src),\n ownerDocument.head.appendChild(resource)),\n (resource = {\n type: \"script\",\n instance: resource,\n count: 1,\n state: null\n }),\n scripts.set(key, resource));\n }\n}\nfunction getResource(type, currentProps, pendingProps, currentResource) {\n var JSCompiler_inline_result = (JSCompiler_inline_result =\n rootInstanceStackCursor.current)\n ? getHoistableRoot(JSCompiler_inline_result)\n : null;\n if (!JSCompiler_inline_result) throw Error(formatProdErrorMessage(446));\n switch (type) {\n case \"meta\":\n case \"title\":\n return null;\n case \"style\":\n return \"string\" === typeof pendingProps.precedence &&\n \"string\" === typeof pendingProps.href\n ? ((pendingProps = getStyleKey(pendingProps.href)),\n (currentProps = getResourcesFromRoot(\n JSCompiler_inline_result\n ).hoistableStyles),\n (currentResource = currentProps.get(pendingProps)),\n currentResource ||\n ((currentResource = {\n type: \"style\",\n instance: null,\n count: 0,\n state: null\n }),\n currentProps.set(pendingProps, currentResource)),\n currentResource)\n : { type: \"void\", instance: null, count: 0, state: null };\n case \"link\":\n if (\n \"stylesheet\" === pendingProps.rel &&\n \"string\" === typeof pendingProps.href &&\n \"string\" === typeof pendingProps.precedence\n ) {\n type = getStyleKey(pendingProps.href);\n var styles$268 = getResourcesFromRoot(\n JSCompiler_inline_result\n ).hoistableStyles,\n resource$269 = styles$268.get(type);\n resource$269 ||\n ((JSCompiler_inline_result =\n JSCompiler_inline_result.ownerDocument || JSCompiler_inline_result),\n (resource$269 = {\n type: \"stylesheet\",\n instance: null,\n count: 0,\n state: { loading: 0, preload: null }\n }),\n styles$268.set(type, resource$269),\n (styles$268 = JSCompiler_inline_result.querySelector(\n getStylesheetSelectorFromKey(type)\n ))\n ? styles$268._p ||\n ((resource$269.instance = styles$268),\n (resource$269.state.loading = 5))\n : ((styles$268 = preloadPropsMap.get(type)),\n styles$268 ||\n ((styles$268 = {\n rel: \"preload\",\n as: \"style\",\n href: pendingProps.href,\n crossOrigin: pendingProps.crossOrigin,\n integrity: pendingProps.integrity,\n media: pendingProps.media,\n hrefLang: pendingProps.hrefLang,\n referrerPolicy: pendingProps.referrerPolicy\n }),\n preloadPropsMap.set(type, styles$268)),\n preloadStylesheet(\n JSCompiler_inline_result,\n type,\n styles$268,\n resource$269.state\n )));\n if (currentProps && null === currentResource)\n throw Error(formatProdErrorMessage(528, \"\"));\n return resource$269;\n }\n if (currentProps && null !== currentResource)\n throw Error(formatProdErrorMessage(529, \"\"));\n return null;\n case \"script\":\n return (\n (currentProps = pendingProps.async),\n (pendingProps = pendingProps.src),\n \"string\" === typeof pendingProps &&\n currentProps &&\n \"function\" !== typeof currentProps &&\n \"symbol\" !== typeof currentProps\n ? ((pendingProps = getScriptKey(pendingProps)),\n (currentProps = getResourcesFromRoot(\n JSCompiler_inline_result\n ).hoistableScripts),\n (currentResource = currentProps.get(pendingProps)),\n currentResource ||\n ((currentResource = {\n type: \"script\",\n instance: null,\n count: 0,\n state: null\n }),\n currentProps.set(pendingProps, currentResource)),\n currentResource)\n : { type: \"void\", instance: null, count: 0, state: null }\n );\n default:\n throw Error(formatProdErrorMessage(444, type));\n }\n}\nfunction getStyleKey(href) {\n return 'href=\"' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '\"';\n}\nfunction getStylesheetSelectorFromKey(key) {\n return 'link[rel=\"stylesheet\"][' + key + \"]\";\n}\nfunction stylesheetPropsFromRawProps(rawProps) {\n return assign({}, rawProps, {\n \"data-precedence\": rawProps.precedence,\n precedence: null\n });\n}\nfunction preloadStylesheet(ownerDocument, key, preloadProps, state) {\n if (\n (key = ownerDocument.querySelector(\n 'link[rel=\"preload\"][as=\"style\"][' + key + \"]\"\n ))\n ) {\n if (!0 !== key[internalLoadPendingKey]) {\n state.loading = 1;\n return;\n }\n } else\n (key = ownerDocument.createElement(\"link\")),\n (key[internalLoadPendingKey] = !0),\n (key.onload = key.onerror = clearPendingLoadOnNode.bind(null, key)),\n setInitialProperties(key, \"link\", preloadProps),\n markNodeAsHoistable(key),\n ownerDocument.head.appendChild(key);\n state.preload = key;\n key.addEventListener(\"load\", function () {\n return (state.loading |= 1);\n });\n key.addEventListener(\"error\", function () {\n return (state.loading |= 2);\n });\n}\nfunction getScriptKey(src) {\n return '[src=\"' + escapeSelectorAttributeValueInsideDoubleQuotes(src) + '\"]';\n}\nfunction getScriptSelectorFromKey(key) {\n return \"script[async]\" + key;\n}\nfunction acquireResource(hoistableRoot, resource, props) {\n resource.count++;\n if (null === resource.instance)\n switch (resource.type) {\n case \"style\":\n var instance = hoistableRoot.querySelector(\n 'style[data-href~=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(props.href) +\n '\"]'\n );\n if (instance)\n return (\n (resource.instance = instance),\n markNodeAsHoistable(instance),\n instance\n );\n var styleProps = assign({}, props, {\n \"data-href\": props.href,\n \"data-precedence\": props.precedence,\n href: null,\n precedence: null\n });\n instance = (hoistableRoot.ownerDocument || hoistableRoot).createElement(\n \"style\"\n );\n markNodeAsHoistable(instance);\n setInitialProperties(instance, \"style\", styleProps);\n insertStylesheet(instance, props.precedence, hoistableRoot);\n return (resource.instance = instance);\n case \"stylesheet\":\n styleProps = getStyleKey(props.href);\n var instance$274 = hoistableRoot.querySelector(\n getStylesheetSelectorFromKey(styleProps)\n );\n if (instance$274)\n return (\n (resource.state.loading |= 4),\n (resource.instance = instance$274),\n markNodeAsHoistable(instance$274),\n instance$274\n );\n instance = stylesheetPropsFromRawProps(props);\n (styleProps = preloadPropsMap.get(styleProps)) &&\n adoptPreloadPropsForStylesheet(instance, styleProps);\n instance$274 = (\n hoistableRoot.ownerDocument || hoistableRoot\n ).createElement(\"link\");\n markNodeAsHoistable(instance$274);\n var linkInstance = instance$274;\n linkInstance._p = new Promise(function (resolve, reject) {\n linkInstance.onload = resolve;\n linkInstance.onerror = reject;\n });\n setInitialProperties(instance$274, \"link\", instance);\n resource.state.loading |= 4;\n insertStylesheet(instance$274, props.precedence, hoistableRoot);\n return (resource.instance = instance$274);\n case \"script\":\n instance$274 = getScriptKey(props.src);\n if (\n (styleProps = hoistableRoot.querySelector(\n getScriptSelectorFromKey(instance$274)\n ))\n )\n return (\n (resource.instance = styleProps),\n markNodeAsHoistable(styleProps),\n styleProps\n );\n instance = props;\n if ((styleProps = preloadPropsMap.get(instance$274)))\n (instance = assign({}, props)),\n adoptPreloadPropsForScript(instance, styleProps);\n hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;\n styleProps = hoistableRoot.createElement(\"script\");\n markNodeAsHoistable(styleProps);\n setInitialProperties(styleProps, \"link\", instance);\n hoistableRoot.head.appendChild(styleProps);\n return (resource.instance = styleProps);\n case \"void\":\n return null;\n default:\n throw Error(formatProdErrorMessage(443, resource.type));\n }\n else\n \"stylesheet\" === resource.type &&\n 0 === (resource.state.loading & 4) &&\n ((instance = resource.instance),\n (resource.state.loading |= 4),\n insertStylesheet(instance, props.precedence, hoistableRoot));\n return resource.instance;\n}\nfunction insertStylesheet(instance, precedence, root) {\n for (\n var nodes = root.querySelectorAll(\n 'link[rel=\"stylesheet\"][data-precedence],style[data-precedence]'\n ),\n last = nodes.length ? nodes[nodes.length - 1] : null,\n prior = last,\n i = 0;\n i < nodes.length;\n i++\n ) {\n var node = nodes[i];\n if (node.dataset.precedence === precedence) prior = node;\n else if (prior !== last) break;\n }\n prior\n ? prior.parentNode.insertBefore(instance, prior.nextSibling)\n : ((precedence = 9 === root.nodeType ? root.head : root),\n precedence.insertBefore(instance, precedence.firstChild));\n}\nfunction adoptPreloadPropsForStylesheet(stylesheetProps, preloadProps) {\n null == stylesheetProps.crossOrigin &&\n (stylesheetProps.crossOrigin = preloadProps.crossOrigin);\n null == stylesheetProps.referrerPolicy &&\n (stylesheetProps.referrerPolicy = preloadProps.referrerPolicy);\n null == stylesheetProps.title && (stylesheetProps.title = preloadProps.title);\n}\nfunction adoptPreloadPropsForScript(scriptProps, preloadProps) {\n null == scriptProps.crossOrigin &&\n (scriptProps.crossOrigin = preloadProps.crossOrigin);\n null == scriptProps.referrerPolicy &&\n (scriptProps.referrerPolicy = preloadProps.referrerPolicy);\n null == scriptProps.integrity &&\n (scriptProps.integrity = preloadProps.integrity);\n}\nvar tagCaches = null;\nfunction getHydratableHoistableCache(type, keyAttribute, ownerDocument) {\n if (null === tagCaches) {\n var cache = new Map();\n var caches = (tagCaches = new Map());\n caches.set(ownerDocument, cache);\n } else\n (caches = tagCaches),\n (cache = caches.get(ownerDocument)),\n cache || ((cache = new Map()), caches.set(ownerDocument, cache));\n if (cache.has(type)) return cache;\n cache.set(type, null);\n ownerDocument = ownerDocument.getElementsByTagName(type);\n for (caches = 0; caches < ownerDocument.length; caches++) {\n var node = ownerDocument[caches];\n if (\n !(\n node[internalHoistableMarker] ||\n node[internalInstanceKey] ||\n (\"link\" === type && \"stylesheet\" === node.getAttribute(\"rel\"))\n ) &&\n \"http://www.w3.org/2000/svg\" !== node.namespaceURI\n ) {\n var nodeKey = node.getAttribute(keyAttribute) || \"\";\n nodeKey = type + nodeKey;\n var existing = cache.get(nodeKey);\n existing ? existing.push(node) : cache.set(nodeKey, [node]);\n }\n }\n return cache;\n}\nfunction mountHoistable(hoistableRoot, type, instance) {\n hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;\n hoistableRoot.head.insertBefore(\n instance,\n \"title\" === type ? hoistableRoot.querySelector(\"head > title\") : null\n );\n}\nfunction isHostHoistableType(type, props, hostContext) {\n if (1 === hostContext || null != props.itemProp) return !1;\n switch (type) {\n case \"meta\":\n case \"title\":\n return !0;\n case \"style\":\n if (\n \"string\" !== typeof props.precedence ||\n \"string\" !== typeof props.href ||\n \"\" === props.href\n )\n break;\n return !0;\n case \"link\":\n if (\n \"string\" !== typeof props.rel ||\n \"string\" !== typeof props.href ||\n \"\" === props.href ||\n props.onLoad ||\n props.onError\n )\n break;\n switch (props.rel) {\n case \"stylesheet\":\n return (\n (type = props.disabled),\n \"string\" === typeof props.precedence && null == type\n );\n default:\n return !0;\n }\n case \"script\":\n if (\n props.async &&\n \"function\" !== typeof props.async &&\n \"symbol\" !== typeof props.async &&\n !props.onLoad &&\n !props.onError &&\n props.src &&\n \"string\" === typeof props.src\n )\n return !0;\n }\n return !1;\n}\nfunction maySuspendCommit(type, props) {\n return (\n \"img\" === type &&\n null != props.src &&\n \"\" !== props.src &&\n null == props.onLoad &&\n \"lazy\" !== props.loading\n );\n}\nfunction preloadResource(resource) {\n return \"stylesheet\" === resource.type && 0 === (resource.state.loading & 3)\n ? !1\n : !0;\n}\nfunction estimateImageBytes(instance) {\n return (\n (instance.width || 100) *\n (instance.height || 100) *\n (\"number\" === typeof devicePixelRatio ? devicePixelRatio : 1) *\n 0.25\n );\n}\nfunction suspendInstance(state, instance) {\n \"function\" === typeof instance.decode &&\n (state.imgCount++,\n instance.complete ||\n ((state.imgBytes += estimateImageBytes(instance)),\n state.suspenseyImages.push(instance)),\n (state = onUnsuspendImg.bind(state)),\n instance.decode().then(state, state));\n}\nfunction suspendResource(state, hoistableRoot, resource, props) {\n if (\n \"stylesheet\" === resource.type &&\n (\"string\" !== typeof props.media ||\n !1 !== matchMedia(props.media).matches) &&\n 0 === (resource.state.loading & 4)\n ) {\n if (null === resource.instance) {\n var key = getStyleKey(props.href),\n instance = hoistableRoot.querySelector(\n getStylesheetSelectorFromKey(key)\n );\n if (instance) {\n hoistableRoot = instance._p;\n null !== hoistableRoot &&\n \"object\" === typeof hoistableRoot &&\n \"function\" === typeof hoistableRoot.then &&\n (state.count++,\n (state = onUnsuspend.bind(state)),\n hoistableRoot.then(state, state));\n resource.state.loading |= 4;\n resource.instance = instance;\n markNodeAsHoistable(instance);\n return;\n }\n instance = hoistableRoot.ownerDocument || hoistableRoot;\n props = stylesheetPropsFromRawProps(props);\n (key = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForStylesheet(props, key);\n instance = instance.createElement(\"link\");\n markNodeAsHoistable(instance);\n var linkInstance = instance;\n linkInstance._p = new Promise(function (resolve, reject) {\n linkInstance.onload = resolve;\n linkInstance.onerror = reject;\n });\n setInitialProperties(instance, \"link\", props);\n resource.instance = instance;\n }\n null === state.stylesheets && (state.stylesheets = new Map());\n state.stylesheets.set(resource, hoistableRoot);\n (hoistableRoot = resource.state.preload) &&\n 0 === (resource.state.loading & 3) &&\n (state.count++,\n (resource = onUnsuspend.bind(state)),\n hoistableRoot.addEventListener(\"load\", resource),\n hoistableRoot.addEventListener(\"error\", resource));\n }\n}\nvar estimatedBytesWithinLimit = 0;\nfunction waitForCommitToBeReady(state, timeoutOffset) {\n state.stylesheets &&\n 0 === state.count &&\n insertSuspendedStylesheets(state, state.stylesheets);\n return 0 < state.count || 0 < state.imgCount\n ? function (commit) {\n var stylesheetTimer = setTimeout(function () {\n state.stylesheets &&\n insertSuspendedStylesheets(state, state.stylesheets);\n if (state.unsuspend) {\n var unsuspend = state.unsuspend;\n state.unsuspend = null;\n unsuspend();\n }\n }, 6e4 + timeoutOffset);\n 0 < state.imgBytes &&\n 0 === estimatedBytesWithinLimit &&\n (estimatedBytesWithinLimit = 62500 * estimateBandwidth());\n var imgTimer = setTimeout(\n function () {\n state.waitingForImages = !1;\n if (\n 0 === state.count &&\n (state.stylesheets &&\n insertSuspendedStylesheets(state, state.stylesheets),\n state.unsuspend)\n ) {\n var unsuspend = state.unsuspend;\n state.unsuspend = null;\n unsuspend();\n }\n },\n (state.imgBytes > estimatedBytesWithinLimit ? 50 : 800) +\n timeoutOffset\n );\n state.unsuspend = commit;\n return function () {\n state.unsuspend = null;\n clearTimeout(stylesheetTimer);\n clearTimeout(imgTimer);\n };\n }\n : null;\n}\nfunction checkIfFullyUnsuspended(state) {\n if (0 === state.count && (0 === state.imgCount || !state.waitingForImages))\n if (state.stylesheets) insertSuspendedStylesheets(state, state.stylesheets);\n else if (state.unsuspend) {\n var unsuspend = state.unsuspend;\n state.unsuspend = null;\n unsuspend();\n }\n}\nfunction onUnsuspend() {\n this.count--;\n checkIfFullyUnsuspended(this);\n}\nfunction onUnsuspendImg() {\n this.imgCount--;\n checkIfFullyUnsuspended(this);\n}\nvar precedencesByRoot = null;\nfunction insertSuspendedStylesheets(state, resources) {\n state.stylesheets = null;\n null !== state.unsuspend &&\n (state.count++,\n (precedencesByRoot = new Map()),\n resources.forEach(insertStylesheetIntoRoot, state),\n (precedencesByRoot = null),\n onUnsuspend.call(state));\n}\nfunction insertStylesheetIntoRoot(root, resource) {\n if (!(resource.state.loading & 4)) {\n var precedences = precedencesByRoot.get(root);\n if (precedences) var last = precedences.get(null);\n else {\n precedences = new Map();\n precedencesByRoot.set(root, precedences);\n for (\n var nodes = root.querySelectorAll(\n \"link[data-precedence],style[data-precedence]\"\n ),\n i = 0;\n i < nodes.length;\n i++\n ) {\n var node = nodes[i];\n if (\n \"LINK\" === node.nodeName ||\n \"not all\" !== node.getAttribute(\"media\")\n )\n precedences.set(node.dataset.precedence, node), (last = node);\n }\n last && precedences.set(null, last);\n }\n nodes = resource.instance;\n node = nodes.getAttribute(\"data-precedence\");\n i = precedences.get(node) || last;\n i === last && precedences.set(null, nodes);\n precedences.set(node, nodes);\n this.count++;\n last = onUnsuspend.bind(this);\n nodes.addEventListener(\"load\", last);\n nodes.addEventListener(\"error\", last);\n i\n ? i.parentNode.insertBefore(nodes, i.nextSibling)\n : ((root = 9 === root.nodeType ? root.head : root),\n root.insertBefore(nodes, root.firstChild));\n resource.state.loading |= 4;\n }\n}\nvar HostTransitionContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Provider: null,\n Consumer: null,\n _currentValue: sharedNotPendingObject,\n _currentValue2: sharedNotPendingObject,\n _threadCount: 0\n};\nfunction FiberRootNode(\n containerInfo,\n tag,\n hydrate,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n onDefaultTransitionIndicator,\n formState\n) {\n this.tag = 1;\n this.containerInfo = containerInfo;\n this.pingCache = this.current = this.pendingChildren = null;\n this.timeoutHandle = -1;\n this.callbackNode =\n this.next =\n this.pendingContext =\n this.context =\n this.cancelPendingCommit =\n null;\n this.callbackPriority = 0;\n this.expirationTimes = createLaneMap(-1);\n this.entangledLanes =\n this.shellSuspendCounter =\n this.errorRecoveryDisabledLanes =\n this.expiredLanes =\n this.warmLanes =\n this.pingedLanes =\n this.suspendedLanes =\n this.pendingLanes =\n 0;\n this.entanglements = createLaneMap(0);\n this.hiddenUpdates = createLaneMap(null);\n this.identifierPrefix = identifierPrefix;\n this.onUncaughtError = onUncaughtError;\n this.onCaughtError = onCaughtError;\n this.onRecoverableError = onRecoverableError;\n this.pooledCache = null;\n this.pooledCacheLanes = 0;\n this.formState = formState;\n this.transitionTypes = null;\n this.incompleteTransitions = new Map();\n}\nfunction createFiberRoot(\n containerInfo,\n tag,\n hydrate,\n initialChildren,\n hydrationCallbacks,\n isStrictMode,\n identifierPrefix,\n formState,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n onDefaultTransitionIndicator\n) {\n containerInfo = new FiberRootNode(\n containerInfo,\n tag,\n hydrate,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n onDefaultTransitionIndicator,\n formState\n );\n tag = 1;\n !0 === isStrictMode && (tag |= 24);\n isStrictMode = createFiberImplClass(3, null, null, tag);\n containerInfo.current = isStrictMode;\n isStrictMode.stateNode = containerInfo;\n tag = createCache();\n tag.refCount++;\n containerInfo.pooledCache = tag;\n tag.refCount++;\n isStrictMode.memoizedState = {\n element: initialChildren,\n isDehydrated: hydrate,\n cache: tag\n };\n initializeUpdateQueue(isStrictMode);\n return containerInfo;\n}\nfunction getContextForSubtree(parentComponent) {\n if (!parentComponent) return emptyContextObject;\n parentComponent = emptyContextObject;\n return parentComponent;\n}\nfunction updateContainerImpl(\n rootFiber,\n lane,\n element,\n container,\n parentComponent,\n callback\n) {\n parentComponent = getContextForSubtree(parentComponent);\n null === container.context\n ? (container.context = parentComponent)\n : (container.pendingContext = parentComponent);\n container = createUpdate(lane);\n container.payload = { element: element };\n callback = void 0 === callback ? null : callback;\n null !== callback && (container.callback = callback);\n element = enqueueUpdate(rootFiber, container, lane);\n null !== element &&\n (scheduleUpdateOnFiber(element, rootFiber, lane),\n entangleTransitions(element, rootFiber, lane));\n}\nfunction markRetryLaneImpl(fiber, retryLane) {\n fiber = fiber.memoizedState;\n if (null !== fiber && null !== fiber.dehydrated) {\n var a = fiber.retryLane;\n fiber.retryLane = 0 !== a && a < retryLane ? a : retryLane;\n }\n}\nfunction markRetryLaneIfNotHydrated(fiber, retryLane) {\n markRetryLaneImpl(fiber, retryLane);\n (fiber = fiber.alternate) && markRetryLaneImpl(fiber, retryLane);\n}\nfunction attemptContinuousHydration(fiber) {\n if (13 === fiber.tag || 31 === fiber.tag) {\n var root = enqueueConcurrentRenderForLane(fiber, 67108864);\n null !== root && scheduleUpdateOnFiber(root, fiber, 67108864);\n markRetryLaneIfNotHydrated(fiber, 67108864);\n }\n}\nfunction attemptHydrationAtCurrentPriority(fiber) {\n if (13 === fiber.tag || 31 === fiber.tag) {\n var lane = requestUpdateLane();\n lane = getBumpedLaneForHydrationByLane(lane);\n var root = enqueueConcurrentRenderForLane(fiber, lane);\n null !== root && scheduleUpdateOnFiber(root, fiber, lane);\n markRetryLaneIfNotHydrated(fiber, lane);\n }\n}\nvar _enabled = !0;\nfunction dispatchDiscreteEvent(\n domEventName,\n eventSystemFlags,\n container,\n nativeEvent\n) {\n var prevTransition = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n (ReactDOMSharedInternals.p = 2),\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction dispatchContinuousEvent(\n domEventName,\n eventSystemFlags,\n container,\n nativeEvent\n) {\n var prevTransition = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n (ReactDOMSharedInternals.p = 8),\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction dispatchEvent(\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n) {\n if (_enabled) {\n var blockedOn = findInstanceBlockingEvent(nativeEvent);\n if (null === blockedOn)\n dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n return_targetInst,\n targetContainer\n ),\n clearIfContinuousEvent(domEventName, nativeEvent);\n else if (\n queueIfContinuousEvent(\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )\n )\n nativeEvent.stopPropagation();\n else if (\n (clearIfContinuousEvent(domEventName, nativeEvent),\n eventSystemFlags & 4 &&\n -1 < discreteReplayableEvents.indexOf(domEventName))\n ) {\n for (; null !== blockedOn; ) {\n var fiber = getInstanceFromNode(blockedOn);\n if (null !== fiber)\n switch (fiber.tag) {\n case 3:\n fiber = fiber.stateNode;\n if (fiber.current.memoizedState.isDehydrated) {\n var lanes = getHighestPriorityLanes(fiber.pendingLanes);\n if (0 !== lanes) {\n var root = fiber;\n root.pendingLanes |= 2;\n for (root.entangledLanes |= 2; lanes; ) {\n var lane = 1 << (31 - clz32(lanes));\n root.entanglements[1] |= lane;\n lanes &= ~lane;\n }\n ensureRootIsScheduled(fiber);\n 0 === (executionContext & 6) &&\n ((workInProgressRootRenderTargetTime = now() + 500),\n flushSyncWorkAcrossRoots_impl(0, !1));\n }\n }\n break;\n case 31:\n case 13:\n (root = enqueueConcurrentRenderForLane(fiber, 2)),\n null !== root && scheduleUpdateOnFiber(root, fiber, 2),\n flushSyncWork$1(),\n markRetryLaneIfNotHydrated(fiber, 2);\n }\n fiber = findInstanceBlockingEvent(nativeEvent);\n null === fiber &&\n dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n return_targetInst,\n targetContainer\n );\n if (fiber === blockedOn) break;\n blockedOn = fiber;\n }\n null !== blockedOn && nativeEvent.stopPropagation();\n } else\n dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n null,\n targetContainer\n );\n }\n}\nfunction findInstanceBlockingEvent(nativeEvent) {\n nativeEvent = getEventTarget(nativeEvent);\n return findInstanceBlockingTarget(nativeEvent);\n}\nvar return_targetInst = null;\nfunction findInstanceBlockingTarget(targetNode) {\n return_targetInst = null;\n targetNode = getClosestInstanceFromNode(targetNode);\n if (null !== targetNode) {\n var nearestMounted = getNearestMountedFiber(targetNode);\n if (null === nearestMounted) targetNode = null;\n else {\n var tag = nearestMounted.tag;\n if (13 === tag) {\n targetNode = getSuspenseInstanceFromFiber(nearestMounted);\n if (null !== targetNode) return targetNode;\n targetNode = null;\n } else if (31 === tag) {\n targetNode = getActivityInstanceFromFiber(nearestMounted);\n if (null !== targetNode) return targetNode;\n targetNode = null;\n } else if (3 === tag) {\n if (nearestMounted.stateNode.current.memoizedState.isDehydrated)\n return 3 === nearestMounted.tag\n ? nearestMounted.stateNode.containerInfo\n : null;\n targetNode = null;\n } else nearestMounted !== targetNode && (targetNode = null);\n }\n }\n return_targetInst = targetNode;\n return null;\n}\nfunction getEventPriority(domEventName) {\n switch (domEventName) {\n case \"beforetoggle\":\n case \"cancel\":\n case \"click\":\n case \"close\":\n case \"contextmenu\":\n case \"copy\":\n case \"cut\":\n case \"auxclick\":\n case \"dblclick\":\n case \"dragend\":\n case \"dragstart\":\n case \"drop\":\n case \"focusin\":\n case \"focusout\":\n case \"input\":\n case \"invalid\":\n case \"keydown\":\n case \"keypress\":\n case \"keyup\":\n case \"mousedown\":\n case \"mouseup\":\n case \"paste\":\n case \"pause\":\n case \"play\":\n case \"pointercancel\":\n case \"pointerdown\":\n case \"pointerup\":\n case \"ratechange\":\n case \"reset\":\n case \"seeked\":\n case \"submit\":\n case \"toggle\":\n case \"touchcancel\":\n case \"touchend\":\n case \"touchstart\":\n case \"volumechange\":\n case \"change\":\n case \"selectionchange\":\n case \"textInput\":\n case \"compositionstart\":\n case \"compositionend\":\n case \"compositionupdate\":\n case \"beforeblur\":\n case \"afterblur\":\n case \"beforeinput\":\n case \"blur\":\n case \"fullscreenchange\":\n case \"fullscreenerror\":\n case \"focus\":\n case \"hashchange\":\n case \"popstate\":\n case \"select\":\n case \"selectstart\":\n return 2;\n case \"drag\":\n case \"dragenter\":\n case \"dragexit\":\n case \"dragleave\":\n case \"dragover\":\n case \"mousemove\":\n case \"mouseout\":\n case \"mouseover\":\n case \"pointermove\":\n case \"pointerout\":\n case \"pointerover\":\n case \"resize\":\n case \"scroll\":\n case \"touchmove\":\n case \"wheel\":\n case \"mouseenter\":\n case \"mouseleave\":\n case \"pointerenter\":\n case \"pointerleave\":\n return 8;\n case \"message\":\n switch (getCurrentPriorityLevel()) {\n case ImmediatePriority:\n return 2;\n case UserBlockingPriority:\n return 8;\n case NormalPriority$1:\n case LowPriority:\n return 32;\n case IdlePriority:\n return 268435456;\n default:\n return 32;\n }\n default:\n return 32;\n }\n}\nvar hasScheduledReplayAttempt = !1,\n queuedFocus = null,\n queuedDrag = null,\n queuedMouse = null,\n queuedPointers = new Map(),\n queuedPointerCaptures = new Map(),\n queuedExplicitHydrationTargets = [],\n discreteReplayableEvents =\n \"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset\".split(\n \" \"\n );\nfunction clearIfContinuousEvent(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"focusin\":\n case \"focusout\":\n queuedFocus = null;\n break;\n case \"dragenter\":\n case \"dragleave\":\n queuedDrag = null;\n break;\n case \"mouseover\":\n case \"mouseout\":\n queuedMouse = null;\n break;\n case \"pointerover\":\n case \"pointerout\":\n queuedPointers.delete(nativeEvent.pointerId);\n break;\n case \"gotpointercapture\":\n case \"lostpointercapture\":\n queuedPointerCaptures.delete(nativeEvent.pointerId);\n }\n}\nfunction accumulateOrCreateContinuousQueuedReplayableEvent(\n existingQueuedEvent,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n) {\n if (\n null === existingQueuedEvent ||\n existingQueuedEvent.nativeEvent !== nativeEvent\n )\n return (\n (existingQueuedEvent = {\n blockedOn: blockedOn,\n domEventName: domEventName,\n eventSystemFlags: eventSystemFlags,\n nativeEvent: nativeEvent,\n targetContainers: [targetContainer]\n }),\n null !== blockedOn &&\n ((blockedOn = getInstanceFromNode(blockedOn)),\n null !== blockedOn && attemptContinuousHydration(blockedOn)),\n existingQueuedEvent\n );\n existingQueuedEvent.eventSystemFlags |= eventSystemFlags;\n blockedOn = existingQueuedEvent.targetContainers;\n null !== targetContainer &&\n -1 === blockedOn.indexOf(targetContainer) &&\n blockedOn.push(targetContainer);\n return existingQueuedEvent;\n}\nfunction queueIfContinuousEvent(\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n) {\n switch (domEventName) {\n case \"focusin\":\n return (\n (queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedFocus,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )),\n !0\n );\n case \"dragenter\":\n return (\n (queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedDrag,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )),\n !0\n );\n case \"mouseover\":\n return (\n (queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedMouse,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )),\n !0\n );\n case \"pointerover\":\n var pointerId = nativeEvent.pointerId;\n queuedPointers.set(\n pointerId,\n accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedPointers.get(pointerId) || null,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )\n );\n return !0;\n case \"gotpointercapture\":\n return (\n (pointerId = nativeEvent.pointerId),\n queuedPointerCaptures.set(\n pointerId,\n accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedPointerCaptures.get(pointerId) || null,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )\n ),\n !0\n );\n }\n return !1;\n}\nfunction attemptExplicitHydrationTarget(queuedTarget) {\n var targetInst = getClosestInstanceFromNode(queuedTarget.target);\n if (null !== targetInst) {\n var nearestMounted = getNearestMountedFiber(targetInst);\n if (null !== nearestMounted)\n if (((targetInst = nearestMounted.tag), 13 === targetInst)) {\n if (\n ((targetInst = getSuspenseInstanceFromFiber(nearestMounted)),\n null !== targetInst)\n ) {\n queuedTarget.blockedOn = targetInst;\n runWithPriority(queuedTarget.priority, function () {\n attemptHydrationAtCurrentPriority(nearestMounted);\n });\n return;\n }\n } else if (31 === targetInst) {\n if (\n ((targetInst = getActivityInstanceFromFiber(nearestMounted)),\n null !== targetInst)\n ) {\n queuedTarget.blockedOn = targetInst;\n runWithPriority(queuedTarget.priority, function () {\n attemptHydrationAtCurrentPriority(nearestMounted);\n });\n return;\n }\n } else if (\n 3 === targetInst &&\n nearestMounted.stateNode.current.memoizedState.isDehydrated\n ) {\n queuedTarget.blockedOn =\n 3 === nearestMounted.tag\n ? nearestMounted.stateNode.containerInfo\n : null;\n return;\n }\n }\n queuedTarget.blockedOn = null;\n}\nfunction attemptReplayContinuousQueuedEvent(queuedEvent) {\n if (null !== queuedEvent.blockedOn) return !1;\n for (\n var targetContainers = queuedEvent.targetContainers;\n 0 < targetContainers.length;\n\n ) {\n var nextBlockedOn = findInstanceBlockingEvent(queuedEvent.nativeEvent);\n if (null === nextBlockedOn) {\n nextBlockedOn = queuedEvent.nativeEvent;\n var nativeEventClone = new nextBlockedOn.constructor(\n nextBlockedOn.type,\n nextBlockedOn\n );\n currentReplayingEvent = nativeEventClone;\n nextBlockedOn.target.dispatchEvent(nativeEventClone);\n currentReplayingEvent = null;\n } else\n return (\n (targetContainers = getInstanceFromNode(nextBlockedOn)),\n null !== targetContainers &&\n attemptContinuousHydration(targetContainers),\n (queuedEvent.blockedOn = nextBlockedOn),\n !1\n );\n targetContainers.shift();\n }\n return !0;\n}\nfunction attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) {\n attemptReplayContinuousQueuedEvent(queuedEvent) && map.delete(key);\n}\nfunction replayUnblockedEvents() {\n hasScheduledReplayAttempt = !1;\n null !== queuedFocus &&\n attemptReplayContinuousQueuedEvent(queuedFocus) &&\n (queuedFocus = null);\n null !== queuedDrag &&\n attemptReplayContinuousQueuedEvent(queuedDrag) &&\n (queuedDrag = null);\n null !== queuedMouse &&\n attemptReplayContinuousQueuedEvent(queuedMouse) &&\n (queuedMouse = null);\n queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap);\n queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap);\n}\nfunction scheduleCallbackIfUnblocked(queuedEvent, unblocked) {\n queuedEvent.blockedOn === unblocked &&\n ((queuedEvent.blockedOn = null),\n hasScheduledReplayAttempt ||\n ((hasScheduledReplayAttempt = !0),\n Scheduler.unstable_scheduleCallback(\n Scheduler.unstable_NormalPriority,\n replayUnblockedEvents\n )));\n}\nvar lastScheduledReplayQueue = null;\nfunction scheduleReplayQueueIfNeeded(formReplayingQueue) {\n lastScheduledReplayQueue !== formReplayingQueue &&\n ((lastScheduledReplayQueue = formReplayingQueue),\n Scheduler.unstable_scheduleCallback(\n Scheduler.unstable_NormalPriority,\n function () {\n lastScheduledReplayQueue === formReplayingQueue &&\n (lastScheduledReplayQueue = null);\n for (var i = 0; i < formReplayingQueue.length; i += 3) {\n var form = formReplayingQueue[i],\n submitterOrAction = formReplayingQueue[i + 1],\n formData = formReplayingQueue[i + 2];\n if (\"function\" !== typeof submitterOrAction)\n if (null === findInstanceBlockingTarget(submitterOrAction || form))\n continue;\n else break;\n var formInst = getInstanceFromNode(form);\n null !== formInst &&\n (formReplayingQueue.splice(i, 3),\n (i -= 3),\n startHostTransition(\n formInst,\n {\n pending: !0,\n data: formData,\n method: form.method,\n action: submitterOrAction\n },\n submitterOrAction,\n formData\n ));\n }\n }\n ));\n}\nfunction retryIfBlockedOn(unblocked) {\n function unblock(queuedEvent) {\n return scheduleCallbackIfUnblocked(queuedEvent, unblocked);\n }\n null !== queuedFocus && scheduleCallbackIfUnblocked(queuedFocus, unblocked);\n null !== queuedDrag && scheduleCallbackIfUnblocked(queuedDrag, unblocked);\n null !== queuedMouse && scheduleCallbackIfUnblocked(queuedMouse, unblocked);\n queuedPointers.forEach(unblock);\n queuedPointerCaptures.forEach(unblock);\n for (var i = 0; i < queuedExplicitHydrationTargets.length; i++) {\n var queuedTarget = queuedExplicitHydrationTargets[i];\n queuedTarget.blockedOn === unblocked && (queuedTarget.blockedOn = null);\n }\n for (\n ;\n 0 < queuedExplicitHydrationTargets.length &&\n ((i = queuedExplicitHydrationTargets[0]), null === i.blockedOn);\n\n )\n attemptExplicitHydrationTarget(i),\n null === i.blockedOn && queuedExplicitHydrationTargets.shift();\n i = (unblocked.ownerDocument || unblocked).$$reactFormReplay;\n if (null != i)\n for (queuedTarget = 0; queuedTarget < i.length; queuedTarget += 3) {\n var form = i[queuedTarget],\n submitterOrAction = i[queuedTarget + 1],\n formProps = form[internalPropsKey] || null;\n if (\"function\" === typeof submitterOrAction)\n formProps || scheduleReplayQueueIfNeeded(i);\n else if (formProps) {\n var action = null;\n if (submitterOrAction && submitterOrAction.hasAttribute(\"formAction\"))\n if (\n ((form = submitterOrAction),\n (formProps = submitterOrAction[internalPropsKey] || null))\n )\n action = formProps.formAction;\n else {\n if (null !== findInstanceBlockingTarget(form)) continue;\n }\n else action = formProps.action;\n \"function\" === typeof action\n ? (i[queuedTarget + 1] = action)\n : (i.splice(queuedTarget, 3), (queuedTarget -= 3));\n scheduleReplayQueueIfNeeded(i);\n }\n }\n}\nfunction defaultOnDefaultTransitionIndicator() {\n function handleNavigate(event) {\n event.canIntercept &&\n \"react-transition\" === event.info &&\n event.intercept({\n handler: function () {\n return new Promise(function (resolve) {\n return (pendingResolve = resolve);\n });\n },\n focusReset: \"manual\",\n scroll: \"manual\"\n });\n }\n function handleNavigateComplete() {\n null !== pendingResolve && (pendingResolve(), (pendingResolve = null));\n isCancelled || setTimeout(startFakeNavigation, 20);\n }\n function startFakeNavigation() {\n if (!isCancelled && !navigation.transition) {\n var currentEntry = navigation.currentEntry;\n currentEntry &&\n null != currentEntry.url &&\n navigation.navigate(currentEntry.url, {\n state: currentEntry.getState(),\n info: \"react-transition\",\n history: \"replace\"\n });\n }\n }\n if (\"object\" === typeof navigation) {\n var isCancelled = !1,\n pendingResolve = null;\n navigation.addEventListener(\"navigate\", handleNavigate);\n navigation.addEventListener(\"navigatesuccess\", handleNavigateComplete);\n navigation.addEventListener(\"navigateerror\", handleNavigateComplete);\n setTimeout(startFakeNavigation, 100);\n return function () {\n isCancelled = !0;\n navigation.removeEventListener(\"navigate\", handleNavigate);\n navigation.removeEventListener(\"navigatesuccess\", handleNavigateComplete);\n navigation.removeEventListener(\"navigateerror\", handleNavigateComplete);\n null !== pendingResolve && (pendingResolve(), (pendingResolve = null));\n };\n }\n}\nfunction ReactDOMRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\nReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render =\n function (children) {\n var root = this._internalRoot;\n if (null === root) throw Error(formatProdErrorMessage(409));\n var current = root.current,\n lane = requestUpdateLane();\n updateContainerImpl(current, lane, children, root, null, null);\n };\nReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount =\n function () {\n var root = this._internalRoot;\n if (null !== root) {\n this._internalRoot = null;\n var container = root.containerInfo;\n updateContainerImpl(root.current, 2, null, root, null, null);\n flushSyncWork$1();\n container[internalContainerInstanceKey] = null;\n }\n };\nfunction ReactDOMHydrationRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\nReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {\n if (target) {\n var updatePriority = resolveUpdatePriority();\n target = { blockedOn: null, target: target, priority: updatePriority };\n for (\n var i = 0;\n i < queuedExplicitHydrationTargets.length &&\n 0 !== updatePriority &&\n updatePriority < queuedExplicitHydrationTargets[i].priority;\n i++\n );\n queuedExplicitHydrationTargets.splice(i, 0, target);\n 0 === i && attemptExplicitHydrationTarget(target);\n }\n};\nvar isomorphicReactPackageVersion$jscomp$inline_2043 = React.version;\nif (\n \"19.3.1\" !==\n isomorphicReactPackageVersion$jscomp$inline_2043\n)\n throw Error(\n formatProdErrorMessage(\n 527,\n isomorphicReactPackageVersion$jscomp$inline_2043,\n \"19.3.1\"\n )\n );\nReactDOMSharedInternals.findDOMNode = function (componentOrElement) {\n var fiber = componentOrElement._reactInternals;\n if (void 0 === fiber) {\n if (\"function\" === typeof componentOrElement.render)\n throw Error(formatProdErrorMessage(188));\n componentOrElement = Object.keys(componentOrElement).join(\",\");\n throw Error(formatProdErrorMessage(268, componentOrElement));\n }\n componentOrElement = findCurrentFiberUsingSlowPath(fiber);\n componentOrElement =\n null !== componentOrElement\n ? findCurrentHostFiberImpl(componentOrElement)\n : null;\n componentOrElement =\n null === componentOrElement ? null : componentOrElement.stateNode;\n return componentOrElement;\n};\nvar internals$jscomp$inline_2586 = {\n bundleType: 0,\n version: \"19.3.1\",\n rendererPackageName: \"react-dom\",\n currentDispatcherRef: ReactSharedInternals,\n reconcilerVersion: \"19.3.1\"\n};\nif (\"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {\n var hook$jscomp$inline_2587 = __REACT_DEVTOOLS_GLOBAL_HOOK__;\n if (\n !hook$jscomp$inline_2587.isDisabled &&\n hook$jscomp$inline_2587.supportsFiber\n )\n try {\n (rendererID = hook$jscomp$inline_2587.inject(\n internals$jscomp$inline_2586\n )),\n (injectedHook = hook$jscomp$inline_2587);\n } catch (err) {}\n}\nexports.createRoot = function (container, options) {\n if (!isValidContainer(container)) throw Error(formatProdErrorMessage(299));\n var isStrictMode = !1,\n identifierPrefix = \"\",\n onUncaughtError = defaultOnUncaughtError,\n onCaughtError = defaultOnCaughtError,\n onRecoverableError = defaultOnRecoverableError;\n null !== options &&\n void 0 !== options &&\n (!0 === options.unstable_strictMode && (isStrictMode = !0),\n void 0 !== options.identifierPrefix &&\n (identifierPrefix = options.identifierPrefix),\n void 0 !== options.onUncaughtError &&\n (onUncaughtError = options.onUncaughtError),\n void 0 !== options.onCaughtError && (onCaughtError = options.onCaughtError),\n void 0 !== options.onRecoverableError &&\n (onRecoverableError = options.onRecoverableError));\n options = createFiberRoot(\n container,\n 1,\n !1,\n null,\n null,\n isStrictMode,\n identifierPrefix,\n null,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n defaultOnDefaultTransitionIndicator\n );\n container[internalContainerInstanceKey] = options.current;\n listenToAllSupportedEvents(container);\n return new ReactDOMRoot(options);\n};\nexports.hydrateRoot = function (container, initialChildren, options) {\n if (!isValidContainer(container)) throw Error(formatProdErrorMessage(299));\n var isStrictMode = !1,\n identifierPrefix = \"\",\n onUncaughtError = defaultOnUncaughtError,\n onCaughtError = defaultOnCaughtError,\n onRecoverableError = defaultOnRecoverableError,\n formState = null;\n null !== options &&\n void 0 !== options &&\n (!0 === options.unstable_strictMode && (isStrictMode = !0),\n void 0 !== options.identifierPrefix &&\n (identifierPrefix = options.identifierPrefix),\n void 0 !== options.onUncaughtError &&\n (onUncaughtError = options.onUncaughtError),\n void 0 !== options.onCaughtError && (onCaughtError = options.onCaughtError),\n void 0 !== options.onRecoverableError &&\n (onRecoverableError = options.onRecoverableError),\n void 0 !== options.formState && (formState = options.formState));\n initialChildren = createFiberRoot(\n container,\n 1,\n !0,\n initialChildren,\n null != options ? options : null,\n isStrictMode,\n identifierPrefix,\n formState,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n defaultOnDefaultTransitionIndicator\n );\n initialChildren.context = getContextForSubtree(null);\n options = initialChildren.current;\n isStrictMode = requestUpdateLane();\n isStrictMode = getBumpedLaneForHydrationByLane(isStrictMode);\n identifierPrefix = createUpdate(isStrictMode);\n identifierPrefix.callback = null;\n enqueueUpdate(options, identifierPrefix, isStrictMode);\n options = isStrictMode;\n initialChildren.current.lanes = options;\n markRootUpdated$1(initialChildren, options);\n ensureRootIsScheduled(initialChildren);\n container[internalContainerInstanceKey] = initialChildren.current;\n listenToAllSupportedEvents(container);\n return new ReactDOMHydrationRoot(initialChildren);\n};\nexports.version = \"19.3.1\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom-client.production.js');\n} else {\n module.exports = require('./cjs/react-dom-client.development.js');\n}\n","/**\n * Orbit's errors. Each carries a code, the same codes Orbit's answers have\n * always used (`invalid_state`, `board_not_found`...), and a kind that says\n * what went wrong in words any transport understands. The core and the storage\n * adapters throw them; each transport maps the kind to its own form: an HTTP\n * status (`HTTP_STATUS` below), an MCP tool error, a CLI exit code.\n *\n * `message` is what people and agents read. It is the code itself unless a\n * clearer sentence was given, which is what Orbit's answers and the command\n * language (\"Orbit refused: invalid state.\") already show.\n */\n\nexport type ErrorKind =\n /** The request is malformed or names something that can't be used. */\n | \"invalid\"\n /** No one is signed in where an account is needed (hosts with accounts). */\n | \"unauthorized\"\n /** The actor may not do this. */\n | \"forbidden\"\n | \"not_found\"\n /** The address exists, but not for this method (HTTP only). */\n | \"method_not_allowed\"\n /** The request collides with what is there now. */\n | \"conflict\"\n | \"too_large\"\n | \"unsupported_type\"\n /** This Orbit can't do it here (a feature of another host). */\n | \"not_supported\"\n /** Storage is busy or out of room; the same request may work later. */\n | \"unavailable\"\n /** A fault in Orbit or its storage. The message never carries a database's words. */\n | \"internal\";\n\n/** Every code Orbit raises, with its kind. */\nexport const ERROR_CODES = {\n // Boards\n board_not_found: \"not_found\",\n board_id_required: \"invalid\",\n board_id_mismatch: \"invalid\",\n board_slug_taken: \"conflict\",\n board_slug_confirmation_required: \"invalid\",\n board_has_no_states: \"invalid\",\n board_files_busy: \"conflict\",\n board_file_missing: \"conflict\",\n unsafe_board_db_path: \"conflict\",\n missing_name: \"invalid\",\n\n // Lanes\n state_not_found: \"not_found\",\n invalid_state: \"invalid\",\n invalid_state_order: \"invalid\",\n invalid_state_role: \"invalid\",\n state_has_tickets: \"conflict\",\n cannot_delete_last_state: \"conflict\",\n cannot_rename_ai_ready_lane: \"conflict\",\n ai_ready_lane_must_be_named_ai_ready: \"conflict\",\n missing_in_progress_state: \"invalid\",\n missing_review_state: \"invalid\",\n missing_next_state: \"invalid\",\n\n // Cards\n ticket_not_found: \"not_found\",\n missing_title: \"invalid\",\n invalid_ticket_type: \"invalid\",\n invalid_number: \"invalid\",\n invalid_nebula_url: \"invalid\",\n ticket_id_or_number_or_title_required: \"invalid\",\n missing_ticket_id: \"invalid\",\n ticket_not_archived: \"conflict\",\n invalid_parent_ticket: \"invalid\",\n epic_cannot_have_parent: \"invalid\",\n ticket_cannot_parent_itself: \"invalid\",\n ticket_parent_cycle: \"invalid\",\n missing_label: \"invalid\",\n\n // Comments\n comment_not_found: \"not_found\",\n missing_body: \"invalid\",\n omitted_for_ai_required: \"invalid\",\n\n // Relations\n relation_not_found: \"not_found\",\n relation_exists: \"conflict\",\n relation_self: \"invalid\",\n relation_redundant_with_parent: \"invalid\",\n hierarchy_uses_parent_ticket_id: \"invalid\",\n blocker_target_already_done: \"invalid\",\n blocker_source_already_done: \"invalid\",\n invalid_relation_type: \"invalid\",\n missing_source_ticket_id: \"invalid\",\n missing_target_ticket_id: \"invalid\",\n\n // Journal\n board_entry_not_found: \"not_found\",\n invalid_project_entry_type: \"invalid\",\n missing_entry_title: \"invalid\",\n entry_not_struck: \"conflict\",\n\n // Agents\n forbidden: \"forbidden\",\n missing_message: \"invalid\",\n missing_summary: \"invalid\",\n invalid_since: \"invalid\",\n\n // Review verdicts\n review_verdict_not_found: \"not_found\",\n missing_verdict: \"invalid\",\n invalid_review_verdict: \"invalid\",\n invalid_blocking_findings: \"invalid\",\n invalid_optional_findings: \"invalid\",\n invalid_evidence_commands: \"invalid\",\n invalid_supersedes_prior_review_id: \"invalid\",\n superseded_review_ticket_mismatch: \"invalid\",\n\n // Images\n attachment_not_found: \"not_found\",\n attachment_file_missing: \"not_found\",\n empty_attachment: \"invalid\",\n invalid_attachment_path: \"invalid\",\n attachment_too_large: \"too_large\",\n unsupported_attachment_type: \"unsupported_type\",\n attachment_type_mismatch: \"unsupported_type\",\n\n // Markdown artifacts\n artifact_not_found: \"not_found\",\n artifact_path_required: \"invalid\",\n artifact_path_outside_allowed_roots: \"invalid\",\n artifact_root_unavailable: \"invalid\",\n artifact_not_file: \"invalid\",\n artifact_too_large: \"too_large\",\n unsupported_artifact_type: \"unsupported_type\",\n\n // Import and export\n invalid_import_snapshot: \"invalid\",\n snapshot_missing_board: \"invalid\",\n import_requires_empty_board_or_replace_existing: \"conflict\",\n import_would_delete_hidden_comments: \"conflict\",\n\n // Requests (raised by the HTTP transport)\n not_found: \"not_found\",\n method_not_allowed: \"method_not_allowed\",\n invalid_json: \"invalid\",\n invalid_body: \"invalid\",\n payload_too_large: \"too_large\",\n cross_site_request: \"forbidden\",\n folder_picker_unavailable: \"not_supported\",\n\n // Storage (raised by adapters; see docs/ARCHITECTURE.md)\n duplicate_id: \"conflict\",\n ticket_number_taken: \"conflict\",\n state_name_taken: \"conflict\",\n label_name_taken: \"conflict\",\n invalid_reference: \"invalid\",\n invalid_blob_path: \"invalid\",\n blob_exists: \"conflict\",\n write_closed: \"internal\",\n storage_busy: \"unavailable\",\n storage_full: \"unavailable\",\n storage_failed: \"internal\",\n\n // Data folders (raised when a store opens; see docs/ARCHITECTURE.md, \"Adapter notes\")\n data_needs_migration: \"unavailable\",\n data_from_newer_orbit: \"unavailable\",\n // `orbit migrate`: a source it can't read, or a folder it won't write into\n migration_source_unreadable: \"invalid\",\n migration_target_in_use: \"conflict\"\n} as const satisfies Record<string, ErrorKind>;\n\nexport type ErrorCode = keyof typeof ERROR_CODES;\n\n/** The HTTP status each kind answers with: the statuses Orbit's API has always used for these codes. */\nexport const HTTP_STATUS = {\n invalid: 400,\n unauthorized: 401,\n forbidden: 403,\n not_found: 404,\n method_not_allowed: 405,\n conflict: 409,\n too_large: 413,\n unsupported_type: 415,\n not_supported: 501,\n unavailable: 503,\n internal: 500\n} as const satisfies Record<ErrorKind, number>;\n\nexport class OrbitError extends Error {\n readonly code: ErrorCode;\n readonly kind: ErrorKind;\n\n constructor(code: ErrorCode, options: { message?: string; cause?: unknown } = {}) {\n super(options.message ?? code, options.cause === undefined ? undefined : { cause: options.cause });\n this.name = \"OrbitError\";\n this.code = code;\n this.kind = ERROR_CODES[code];\n }\n}\n\n/** True for an OrbitError, from this copy of Orbit or another (a host may bundle its own). */\nexport function isOrbitError(value: unknown): value is OrbitError {\n return value instanceof OrbitError || (value instanceof Error && value.name === \"OrbitError\" && typeof (value as { code?: unknown }).code === \"string\" && typeof (value as { kind?: unknown }).kind === \"string\");\n}\n","/**\n * Which attachments Orbit shows as images, apart from the rest of the core\n * so a client (the HTTP client, an object URL) can ask without loading it.\n */\n\n/**\n * The image types Orbit shows: raster formats a browser draws without running\n * anything. An SVG can carry script, so Orbit neither takes a new one nor\n * shows an old one; see `storedImageType` in `files.ts`.\n */\nexport const IMAGE_EXTENSIONS = new Map([\n [\"image/png\", \".png\"],\n [\"image/jpeg\", \".jpg\"],\n [\"image/gif\", \".gif\"],\n [\"image/webp\", \".webp\"],\n [\"image/avif\", \".avif\"]\n]);\n\nconst TYPE_NAMES = new Map([\n [\"image/svg+xml\", \"SVG\"],\n [\"image/bmp\", \"BMP\"],\n [\"image/x-ms-bmp\", \"BMP\"],\n [\"image/tiff\", \"TIFF\"],\n [\"image/heic\", \"HEIC\"],\n [\"image/x-icon\", \"ICO\"],\n [\"image/vnd.microsoft.icon\", \"ICO\"]\n]);\n\n/** What an upload of another type is told, naming the type it sent (`mime`, already lowercased, without parameters). */\nexport function unsupportedTypeMessage(mime: string): string {\n const named = TYPE_NAMES.get(mime) ?? (/^[a-z0-9][a-z0-9.+-]{0,60}\\/[a-z0-9][a-z0-9.+-]{0,60}$/.test(mime) ? mime : mime ? \"that type\" : \"a file without a type\");\n return `Orbit takes PNG, JPEG, GIF, WebP and AVIF images, not ${named}.`;\n}\n\n/** What a file Orbit won't show is stored and served as: bytes to download, never a page. */\nexport const DOWNLOAD_TYPE = \"application/octet-stream\";\n\n/** True for a type Orbit shows as an image; any other attachment is a file to download. */\nexport function isShownImage(mime: string): boolean {\n return IMAGE_EXTENSIONS.has(mime);\n}\n","import { DOWNLOAD_TYPE, isShownImage } from \"../core/image-types.ts\";\nimport type { ImageUrl } from \"./types.ts\";\n\n/**\n * Bytes as an object URL, which `release()` revokes (once). A `blob:` URL\n * runs in the page's own origin, so only a type Orbit shows as an image keeps\n * its type; anything else (an SVG, which can carry script) becomes bytes to\n * download, which a browser never renders as a page.\n */\nexport function objectUrl(bytes: Uint8Array, type: string): ImageUrl {\n const safe = isShownImage((type.split(\";\")[0] ?? \"\").trim().toLowerCase()) ? type : DOWNLOAD_TYPE;\n const url = URL.createObjectURL(new Blob([bytes as Uint8Array<ArrayBuffer>], { type: safe }));\n let released = false;\n return {\n url,\n release() {\n if (released) return;\n released = true;\n URL.revokeObjectURL(url);\n }\n };\n}\n","/**\n * The OrbitClient over HTTP: `createHttpClient({ baseUrl })` calls an Orbit's\n * JSON API with any `fetch` (remote agents, the CLI in remote mode, the web\n * app, the Suite). Each method is one route; a refusal comes back as the\n * OrbitError the server answered with.\n *\n * A command session's board lives here, on the caller's side: the server\n * forgets between requests, so each command sends the board this client\n * chose last, and the caller's orbit.json as it reads it.\n */\n\nimport { ERROR_CODES, OrbitError } from \"../core/errors.ts\";\nimport type { ErrorCode } from \"../core/errors.ts\";\nimport type { BoardChange } from \"../core/model.ts\";\nimport type { RepoChoice } from \"../commands/index.ts\";\nimport type { ContextOptions } from \"../core/agent.ts\";\nimport { DOWNLOAD_TYPE, isShownImage } from \"../core/image-types.ts\";\nimport { objectUrl } from \"./object-url.ts\";\nimport type { CommandReply, Hint, OrbitClient, StreamState } from \"./types.ts\";\n\nexport interface HttpClientOptions {\n baseUrl: string;\n /** Default: globalThis.fetch. The browser edition passes its in-page app's. */\n fetch?: typeof fetch;\n /** x-orbit-agent-name, or a host's own auth. */\n headers?: Record<string, string>;\n /** The board a command session starts on (ORBIT_BOARD). */\n board?: string | null;\n /** The caller's orbit.json, read where it runs, sent with each command. */\n repo?: () => RepoChoice | null;\n /**\n * How `attachments.url()` gives an image: `route` (the default), the\n * server's address for its bytes; `object`, the bytes fetched and given as\n * an object URL, for a `fetch` no browser can reach by address (the\n * browser edition's in-page app) or a server that needs headers.\n */\n images?: \"route\" | \"object\";\n /** The live stream's reconnect delays, in ms: the first, and the most it doubles to. Default 1,000 and 30,000. */\n reconnect?: { firstMs?: number; maxMs?: number };\n /** With no byte from the stream for this long (heartbeats included), it reconnects. Default 75,000 (the server's heartbeat is 30,000). */\n staleMs?: number;\n}\n\ntype Query = Record<string, unknown>;\n\ninterface Call {\n query?: Query;\n body?: unknown;\n raw?: { bytes: Uint8Array; type: string; name?: string };\n ok?: number[];\n}\n\nfunction repoFields(repo: RepoChoice | null): Record<string, string> {\n if (!repo) return {};\n const fields: Record<string, string> = {};\n if (repo.board) fields.repo_board = repo.board;\n if (repo.problem) fields.repo_board_problem = repo.problem;\n if (repo.problem === \"not_slug\" && typeof repo.value === \"string\") fields.repo_board = repo.value;\n return fields;\n}\n\nconst hintQuery = (hint: Hint = {}): Query => ({ board_id: hint.board_id, board: hint.board });\n\nexport function createHttpClient(options: HttpClientOptions): OrbitClient {\n const base = options.baseUrl.replace(/\\/+$/, \"\");\n const doFetch = options.fetch ?? globalThis.fetch.bind(globalThis);\n let sessionBoard = options.board ?? null;\n\n async function send(method: string, path: string, call: Call = {}): Promise<Response> {\n const url = new URL(`${base}${path}`);\n for (const [key, value] of Object.entries(call.query ?? {})) {\n if (value !== undefined && value !== null && value !== \"\" && value !== false) url.searchParams.set(key, typeof value === \"string\" ? value : JSON.stringify(value));\n }\n const headers: Record<string, string> = { ...options.headers };\n let body: RequestInit[\"body\"];\n if (call.raw) {\n headers[\"Content-Type\"] = call.raw.type;\n if (call.raw.name) headers[\"X-File-Name\"] = call.raw.name;\n body = call.raw.bytes as Uint8Array<ArrayBuffer>;\n } else if (call.body !== undefined) {\n headers[\"Content-Type\"] = \"application/json\";\n body = JSON.stringify(call.body);\n }\n const response = await doFetch(url, { method, headers, body });\n if (!(call.ok ?? [200, 201, 202]).includes(response.status)) {\n const text = await response.text();\n let payload: { error?: unknown; message?: unknown } = {};\n try {\n payload = JSON.parse(text) as typeof payload;\n } catch {\n payload = { message: text };\n }\n const code = typeof payload.error === \"string\" ? payload.error : \"\";\n const message = typeof payload.message === \"string\" && payload.message ? payload.message : code || `Orbit API ${method} ${url.pathname} failed with HTTP ${response.status}`;\n if (code in ERROR_CODES) throw new OrbitError(code as ErrorCode, { message });\n throw new Error(message);\n }\n return response;\n }\n\n async function request<T>(method: string, path: string, call: Call = {}): Promise<T> {\n const response = await send(method, path, call);\n const text = await response.text();\n return (text ? JSON.parse(text) : {}) as T;\n }\n\n const id = encodeURIComponent;\n const get = <T>(path: string, query?: Query): Promise<T> => request<T>(\"GET\", path, query ? { query } : {});\n const ticket = (ticketId: string, rest = \"\"): string => `/api/tickets/${id(ticketId)}${rest}`;\n const contextQuery = (opts: ContextOptions = {}, hint?: Hint): Query => ({\n ...hintQuery(hint),\n max_chars_per_field: opts.max_chars_per_field,\n comment_limit: opts.comment_limit,\n include_parent_full: opts.include_parent_full ? \"true\" : undefined,\n include_related_full: opts.include_related_full ? \"true\" : undefined\n });\n const contentPath = (ticketId: string, attachmentId: string): string => ticket(ticketId, `/attachments/${id(attachmentId)}/content`);\n\n return {\n health: () => get(\"/api/health\"),\n version: (opts = {}) => get(\"/api/version\", { refresh: opts.refresh ? \"1\" : undefined }),\n update: () => request(\"POST\", \"/api/update\"),\n bootstrap: (hint) => get(\"/api/bootstrap\", hintQuery(hint)),\n sessions: (opts = {}) => get(\"/api/sessions\", { since: opts.since }),\n async command(input) {\n const body = {\n command: input.command,\n argv: input.argv,\n text: input.text,\n json: Boolean(input.json),\n read_only: Boolean(input.readOnly),\n board: sessionBoard,\n transport: input.transport ?? \"mcp\",\n ...repoFields(options.repo?.() ?? null)\n };\n const reply = await request<CommandReply>(\"POST\", \"/api/cmd\", { body, ok: [200, 422] });\n if (reply.board) sessionBoard = reply.board;\n return reply;\n },\n search: (hint, q) =>\n get(\"/api/search\", {\n ...hintQuery(hint),\n q: q.q,\n limit: q.limit,\n mode: q.mode,\n include_full: q.include_full ? \"true\" : undefined,\n fields: Array.isArray(q.fields) ? q.fields.join(\",\") : q.fields,\n max_chars_per_field: q.max_chars_per_field\n }),\n boards: {\n list: () => get(\"/api/boards\"),\n create: (input) => request(\"POST\", \"/api/boards\", { body: input }),\n update: (board, patch) => request(\"PATCH\", `/api/boards/${id(board)}`, { body: patch }),\n remove: (board, input) => request(\"DELETE\", `/api/boards/${id(board)}`, { body: input }),\n context: (board, opts = {}) => get(`/api/boards/${id(board)}/context`, { include_struck: opts.include_struck ? \"true\" : undefined }),\n archive: (board) => get(`/api/boards/${id(board)}/archive`),\n export: (board, opts = {}) => get(`/api/boards/${id(board)}/export`, { include_attachments: opts.include_attachments ? \"true\" : undefined }),\n import: (input) => request(\"POST\", \"/api/admin/import\", { body: input })\n },\n states: {\n create: (board, input) => request(\"POST\", `/api/boards/${id(board)}/states`, { body: input }),\n update: (stateId, patch, hint) => request(\"PATCH\", `/api/states/${id(stateId)}`, { body: patch, query: hintQuery(hint) }),\n reorder: (board, input) => request(\"PATCH\", `/api/boards/${id(board)}/states`, { body: input }),\n remove: (stateId, hint) => request(\"DELETE\", `/api/states/${id(stateId)}`, { query: hintQuery(hint) })\n },\n tickets: {\n create: (input) => request(\"POST\", \"/api/tickets\", { body: input }),\n lookup: (hint, by) => get(\"/api/tickets/lookup\", { ...hintQuery(hint), number: by.number, title: by.title }),\n read: (ticketId, hint) => get(ticket(ticketId), hintQuery(hint)),\n update: (ticketId, patch, hint) => request(\"PATCH\", ticket(ticketId), { body: patch, query: hintQuery(hint) }),\n archive: (ticketId, hint) => request(\"POST\", ticket(ticketId, \"/archive\"), { query: hintQuery(hint) }),\n restore: (ticketId, hint) => request(\"POST\", ticket(ticketId, \"/restore\"), { query: hintQuery(hint) }),\n remove: (ticketId, hint) => request(\"DELETE\", ticket(ticketId), { query: hintQuery(hint) }),\n context: (ticketId, opts, hint) => get(ticket(ticketId, \"/context\"), contextQuery(opts, hint)),\n contextFull: (ticketId, opts, hint) => get(ticket(ticketId, \"/context/full\"), contextQuery(opts, hint)),\n dispatchPacket: (ticketId, opts, hint) => get(ticket(ticketId, \"/dispatch-packet\"), contextQuery(opts, hint)),\n history: (ticketId, hint) => get(ticket(ticketId, \"/history\"), hintQuery(hint)),\n relations: (ticketId, hint) => get(ticket(ticketId, \"/relations\"), hintQuery(hint)),\n blockers: (ticketId, hint) => get(ticket(ticketId, \"/blockers\"), hintQuery(hint))\n },\n comments: {\n list: (ticketId, hint) => get(ticket(ticketId, \"/comments\"), hintQuery(hint)),\n create: (ticketId, input, hint) => request(\"POST\", ticket(ticketId, \"/comments\"), { body: input, query: hintQuery(hint) }),\n update: (ticketId, commentId, patch, hint) => request(\"PATCH\", ticket(ticketId, `/comments/${id(commentId)}`), { body: patch, query: hintQuery(hint) })\n },\n attachments: {\n list: (ticketId, hint) => get(ticket(ticketId, \"/attachments\"), hintQuery(hint)),\n create: (ticketId, bytes, meta, hint) => {\n const raw: NonNullable<Call[\"raw\"]> = { bytes, type: meta.mime_type };\n if (meta.original_name) raw.name = meta.original_name;\n return request(\"POST\", ticket(ticketId, \"/attachments\"), { raw, query: hintQuery(hint) });\n },\n async content(ticketId, attachmentId, hint) {\n const response = await send(\"GET\", contentPath(ticketId, attachmentId), { query: hintQuery(hint) });\n const mime = response.headers.get(\"content-type\") ?? DOWNLOAD_TYPE;\n return { bytes: new Uint8Array(await response.arrayBuffer()), mime_type: mime, download_only: !isShownImage(mime), original_name: dispositionName(response.headers.get(\"content-disposition\")) };\n },\n async url(ticketId, attachmentId, hint) {\n if (options.images === \"object\") {\n const response = await send(\"GET\", contentPath(ticketId, attachmentId), { query: hintQuery(hint) });\n return objectUrl(new Uint8Array(await response.arrayBuffer()), response.headers.get(\"content-type\") ?? \"application/octet-stream\");\n }\n const url = new URL(`${base}${contentPath(ticketId, attachmentId)}`);\n for (const [key, value] of Object.entries(hintQuery(hint))) if (typeof value === \"string\" && value) url.searchParams.set(key, value);\n return { url: url.href, release: () => undefined };\n },\n remove: (ticketId, attachmentId, hint) => request(\"DELETE\", ticket(ticketId, `/attachments/${id(attachmentId)}`), { query: hintQuery(hint) })\n },\n artifacts: {\n read: (ticketId, path, hint) => get(ticket(ticketId, \"/artifacts/markdown\"), { ...hintQuery(hint), path }),\n write: (ticketId, input, hint) => request(\"POST\", ticket(ticketId, \"/artifacts/markdown\"), { body: input, query: hintQuery(hint) })\n },\n verdicts: {\n list: (ticketId, opts = {}, hint) => get(ticket(ticketId, \"/review-verdicts\"), { ...hintQuery(hint), limit: opts.limit }),\n create: (ticketId, input, hint) => request(\"POST\", ticket(ticketId, \"/review-verdicts\"), { body: input, query: hintQuery(hint) }),\n get: (reviewId, hint) => get(`/api/review-verdicts/${id(reviewId)}`, hintQuery(hint))\n },\n entries: {\n create: (board, input) => request(\"POST\", `/api/boards/${id(board)}/entries`, { body: input }),\n update: (entryId, patch, hint) => request(\"PATCH\", `/api/board-entries/${id(entryId)}`, { body: patch, query: hintQuery(hint) }),\n remove: (entryId, hint) => request(\"DELETE\", `/api/board-entries/${id(entryId)}`, { query: hintQuery(hint) })\n },\n relations: {\n create: (input) => request(\"POST\", \"/api/relations\", { body: input }),\n remove: (relationId, hint) => request(\"DELETE\", `/api/relations/${id(relationId)}`, { query: hintQuery(hint) })\n },\n agent: {\n claimNext: (hint, filters = {}) => request(\"POST\", \"/api/agent/claim-next\", { body: { ...filters, ...hintQuery(hint) } }),\n claim: (input) => request(\"POST\", \"/api/agent/claim\", { body: input }),\n checkpoint: (input) => request(\"POST\", \"/api/agent/checkpoint\", { body: input }),\n complete: (input) => request(\"POST\", \"/api/agent/complete\", { body: input })\n },\n changes(boardId, listener, opts = {}) {\n const controller = new AbortController();\n void followChanges({\n doFetch,\n url: `${base}/api/events/stream?board_id=${id(boardId)}`,\n headers: options.headers ?? {},\n signal: controller.signal,\n listener,\n onState: opts.onState ?? (() => undefined),\n firstMs: options.reconnect?.firstMs ?? 1000,\n maxMs: options.reconnect?.maxMs ?? 30_000,\n staleMs: options.staleMs ?? 75_000\n });\n return () => {\n controller.abort();\n };\n }\n };\n}\n\ninterface Follow {\n doFetch: typeof fetch;\n url: string;\n headers: Record<string, string>;\n signal: AbortSignal;\n listener: (change: BoardChange) => void;\n onState: (state: StreamState) => void;\n firstMs: number;\n maxMs: number;\n staleMs: number;\n}\n\n/** Resolves after `ms`, or at once when `signal` aborts. */\nfunction pause(ms: number, signal: AbortSignal): Promise<void> {\n return new Promise((resolve) => {\n const timer = setTimeout(done, ms);\n function done(): void {\n clearTimeout(timer);\n signal.removeEventListener(\"abort\", done);\n resolve();\n }\n signal.addEventListener(\"abort\", done);\n });\n}\n\n/**\n * Follows a board's server-sent event stream until aborted: each change to\n * `listener`, in order. When the stream drops it waits (1 s, doubling to\n * 30 s) and reconnects with `Last-Event-ID`, so the server replays what was\n * missed. Its state goes to `onState`: connecting, then live, then down\n * while it is lost (and retrying), live again once back. A board that is\n * gone (404) ends it, down.\n */\nasync function followChanges(f: Follow): Promise<void> {\n let lastId: string | null = null;\n let delay = f.firstMs;\n let state: StreamState | null = null;\n const report = (next: StreamState): void => {\n if (next === state || f.signal.aborted) return;\n state = next;\n f.onState(next);\n };\n const aborted = (): boolean => f.signal.aborted;\n report(\"connecting\");\n while (!aborted()) {\n const attempt = new AbortController();\n const stop = (): void => {\n attempt.abort();\n };\n f.signal.addEventListener(\"abort\", stop);\n const quiet: { timer: ReturnType<typeof setTimeout> | null } = { timer: null };\n const watchdog = (): void => {\n if (quiet.timer) clearTimeout(quiet.timer);\n quiet.timer = setTimeout(stop, f.staleMs);\n };\n try {\n const headers: Record<string, string> = { ...f.headers, Accept: \"text/event-stream\" };\n if (lastId) headers[\"Last-Event-ID\"] = lastId;\n watchdog();\n const response = await f.doFetch(f.url, { headers, signal: attempt.signal });\n if (response.status === 404) {\n report(\"down\");\n return;\n }\n if (!response.ok || !response.body) throw new Error(`event stream answered ${response.status}`);\n report(\"live\");\n delay = f.firstMs;\n const reader = response.body.pipeThrough(new TextDecoderStream()).getReader();\n let buffer = \"\";\n for (;;) {\n const { done, value } = await reader.read();\n if (done) break;\n watchdog();\n buffer += value;\n let end: number;\n while ((end = buffer.indexOf(\"\\n\\n\")) >= 0) {\n const frame = buffer.slice(0, end);\n buffer = buffer.slice(end + 2);\n let data = \"\";\n let frameId: string | null = null;\n for (const line of frame.split(\"\\n\")) {\n if (line.startsWith(\"data: \")) data += (data ? \"\\n\" : \"\") + line.slice(6);\n else if (line.startsWith(\"id: \")) frameId = line.slice(4);\n }\n if (!data) continue;\n if (frameId) lastId = frameId;\n f.listener(JSON.parse(data) as BoardChange);\n }\n }\n } catch {\n // Dropped, refused or gone quiet: wait, then reconnect.\n } finally {\n if (quiet.timer) clearTimeout(quiet.timer);\n f.signal.removeEventListener(\"abort\", stop);\n }\n if (aborted()) return;\n report(\"down\");\n await pause(delay, f.signal);\n delay = Math.min(delay * 2, f.maxMs);\n }\n}\n\n/** The file name a `Content-Disposition` gives (its UTF-8 form first), or \"\". */\nfunction dispositionName(value: string | null): string {\n if (!value) return \"\";\n const utf8 = /filename\\*=UTF-8''([^;]+)/i.exec(value);\n if (utf8?.[1]) {\n try {\n return decodeURIComponent(utf8[1]);\n } catch {\n // Fall back to the plain name.\n }\n }\n return /filename=\"([^\"]*)\"/i.exec(value)?.[1] ?? \"\";\n}\n","// The full edition: the Orbit that served this page, over HTTP.\n\nimport { createHttpClient } from \"../../../src/client/http.ts\";\nimport type { OrbitClient } from \"../../../src/client/types.ts\";\n\nexport function openClient(): Promise<OrbitClient> {\n return Promise.resolve(createHttpClient({ baseUrl: location.origin }));\n}\n","/**\n * Starscape v3 — preferences: the theme, reduced motion and capture mode.\n *\n * One plain-JS layer for every Starscape app. The state lives on <html>:\n *\n * data-theme=\"light|dark\" absent: follow the OS (prefers-color-scheme)\n * data-motion=\"reduce|full\" absent: follow the OS (prefers-reduced-motion)\n * data-shot capture mode (?shot): one still frame, for\n * screenshots and social cards\n * data-js JavaScript runs, so controls that need it show\n *\n * theme-init.js applies the saved choices before first paint, so no page\n * flashes the wrong theme; this module wires up the controls and keeps\n * everything in step:\n *\n * [data-set-theme=\"light|dark|system\"] buttons, e.g. the Night/Day switch\n * (components/theme-switch); their\n * aria-pressed follows the theme\n * [data-theme-toggle] the sun/moon button\n * (components/theme-toggle): flips\n * light and dark; its label says what\n * a press will do\n * [data-set-motion=\"reduce|full|system\"] buttons; aria-pressed follows\n * meta[name=\"theme-color\"][data-light][data-dark] follows the theme\n *\n * import { initPrefs, setTheme, resolvedTheme, onPrefs } from '@starlove/ui/prefs';\n * const undo = initPrefs(); // once; calling it again is safe\n *\n * Choices are saved in localStorage (starscape-theme, starscape-motion), the\n * keys useTheme and useMotion have always used. SSR-safe: without a DOM every\n * reader returns the default and every writer does nothing.\n */\n\nexport const PREFS_EVENT = 'starscape:prefs';\nexport const THEME_KEY = 'starscape-theme';\nexport const MOTION_KEY = 'starscape-motion';\n\nconst THEMES = ['system', 'light', 'dark'];\nconst MOTIONS = ['system', 'reduce', 'full'];\nconst DARK = '(prefers-color-scheme: dark)';\nconst REDUCE = '(prefers-reduced-motion: reduce)';\n\n/** The sun/moon button's words. Translate them with initPrefs({ labels }), or per button with data-label-to-light and data-label-to-dark. */\nexport const LABELS = {\n toLight: 'Switch to light theme',\n toDark: 'Switch to dark theme',\n};\n\nconst hasDOM = () => typeof document !== 'undefined';\nconst root = () => document.documentElement;\nconst matches = (query) => !!mediaList(query)?.matches;\n\nfunction read(key) {\n try {\n return localStorage.getItem(key);\n } catch {\n return null; // Storage is blocked: the choice lasts for this page only.\n }\n}\nfunction write(key, value) {\n try {\n localStorage.setItem(key, value);\n } catch {\n /* As above. */\n }\n}\nfunction forget(key) {\n try {\n localStorage.removeItem(key);\n } catch {\n /* As above. */\n }\n}\n\n/**\n * What a page applies on load, from its query string and the saved choices:\n * a preview parameter wins and isn't saved (?theme=, ?motion=), then the saved\n * choice, then null, which keeps what the markup says (or follows the OS).\n * Pure, so theme-init.js's copy of it is tested against this one.\n *\n * @param {string} search location.search\n * @param {Record<string, string | null | undefined>} stored saved values by key\n */\nexport function initialPrefs(search, stored) {\n const params = new URLSearchParams(search || '');\n const pick = (name, key, valid) => {\n const asked = params.get(name);\n if (valid.includes(asked)) return asked;\n const saved = stored[key];\n return valid.includes(saved) ? saved : null;\n };\n return {\n theme: pick('theme', THEME_KEY, THEMES),\n motion: pick('motion', MOTION_KEY, MOTIONS),\n shot: params.has('shot'),\n };\n}\n\n/** The theme mode on <html>: 'light', 'dark', or 'system' when it follows the OS. */\nexport function themeMode() {\n if (!hasDOM()) return 'system';\n const t = root().getAttribute('data-theme');\n return t === 'light' || t === 'dark' ? t : 'system';\n}\n\n/** The theme in effect: the mode, or the OS's choice in system mode. */\nexport function resolvedTheme() {\n const mode = themeMode();\n if (mode !== 'system') return mode;\n return matches(DARK) ? 'dark' : 'light';\n}\n\n/** The motion mode on <html>: 'reduce', 'full', or 'system' when it follows the OS. */\nexport function motionMode() {\n if (!hasDOM()) return 'system';\n const m = root().getAttribute('data-motion');\n return m === 'reduce' || m === 'full' ? m : 'system';\n}\n\n/** Whether motion is reduced: the mode, or the OS's setting in system mode. */\nexport function reducedMotion() {\n const mode = motionMode();\n if (mode === 'reduce') return true;\n if (mode === 'full') return false;\n return matches(REDUCE);\n}\n\n/** Capture mode (?shot): one still frame, no transitions, for renders and social cards. */\nexport function capture() {\n return hasDOM() && root().hasAttribute('data-shot');\n}\n\nfunction apply(attr, value) {\n if (value === 'system') root().removeAttribute(attr);\n else root().setAttribute(attr, value);\n}\n\n/** Sets the theme ('light', 'dark' or 'system'), saves it unless { save: false }, and tells everyone. */\nexport function setTheme(mode, { save = true } = {}) {\n if (!hasDOM() || !THEMES.includes(mode)) return;\n apply('data-theme', mode);\n if (save) write(THEME_KEY, mode);\n changed();\n}\n\n/** Sets motion ('reduce', 'full' or 'system'), saves it unless { save: false }, and tells everyone. */\nexport function setMotion(mode, { save = true } = {}) {\n if (!hasDOM() || !MOTIONS.includes(mode)) return;\n apply('data-motion', mode);\n if (save) write(MOTION_KEY, mode);\n changed();\n}\n\n/** Calls fn whenever the theme or motion changes, from a control, a setter, another tab or the OS. Returns an unsubscribe. */\nexport function onPrefs(fn) {\n if (!hasDOM()) return () => {};\n const listener = (e) => fn(e.detail);\n document.addEventListener(PREFS_EVENT, listener);\n return () => document.removeEventListener(PREFS_EVENT, listener);\n}\n\nfunction detail() {\n return { theme: themeMode(), resolvedTheme: resolvedTheme(), motion: motionMode(), reducedMotion: reducedMotion() };\n}\n\nfunction changed() {\n sync();\n document.dispatchEvent(new CustomEvent(PREFS_EVENT, { detail: detail() }));\n}\n\nlet labels = LABELS;\n\n/** Brings every control and the theme-color meta in step with <html>. */\nfunction sync() {\n const mode = themeMode();\n const resolved = resolvedTheme();\n for (const b of document.querySelectorAll('[data-set-theme]')) {\n const value = b.getAttribute('data-set-theme');\n if (!THEMES.includes(value)) continue;\n // A switch without a System button shows the theme in effect as pressed.\n const group = b.closest('[role=\"group\"]') || b.parentElement;\n const hasSystem = !!group && !!group.querySelector('[data-set-theme=\"system\"]');\n const pressed = value === mode || (mode === 'system' && !hasSystem && value === resolved);\n b.setAttribute('aria-pressed', String(pressed));\n }\n for (const b of document.querySelectorAll('[data-theme-toggle]')) {\n const word = resolved === 'dark'\n ? b.getAttribute('data-label-to-light') || labels.toLight\n : b.getAttribute('data-label-to-dark') || labels.toDark;\n b.setAttribute('aria-label', word);\n }\n const motion = motionMode();\n for (const b of document.querySelectorAll('[data-set-motion]')) {\n const value = b.getAttribute('data-set-motion');\n if (MOTIONS.includes(value)) b.setAttribute('aria-pressed', String(value === motion));\n }\n const meta = document.querySelector('meta[name=\"theme-color\"][data-light][data-dark]');\n if (meta) meta.setAttribute('content', meta.getAttribute(resolved === 'dark' ? 'data-dark' : 'data-light'));\n}\n\nfunction onClick(e) {\n if (e.defaultPrevented || !(e.target instanceof Element)) return;\n const set = e.target.closest('[data-set-theme]');\n if (set) return setTheme(set.getAttribute('data-set-theme'));\n if (e.target.closest('[data-theme-toggle]')) return setTheme(resolvedTheme() === 'dark' ? 'light' : 'dark');\n const motion = e.target.closest('[data-set-motion]');\n if (motion) setMotion(motion.getAttribute('data-set-motion'));\n}\n\nfunction onStorage(e) {\n // Another tab chose: follow it here too, without saving again.\n if (e.key === THEME_KEY && THEMES.includes(e.newValue)) setTheme(e.newValue, { save: false });\n else if (e.key === MOTION_KEY && MOTIONS.includes(e.newValue)) setMotion(e.newValue, { save: false });\n}\n\n/**\n * Moves an app's old saved choice to the shared key once, then forgets the old\n * key. A spec is the old key, or { key, map } when its values differ\n * (starscape.biz: { key: 'ss-theme', map: { night: 'dark', day: 'light' } }).\n * A choice already saved under the shared key wins.\n */\nfunction migrate(legacy) {\n const kinds = { theme: [THEME_KEY, THEMES, 'data-theme'], motion: [MOTION_KEY, MOTIONS, 'data-motion'] };\n for (const kind of Object.keys(kinds)) {\n const spec = legacy[kind];\n if (!spec) continue;\n const [target, valid, attr] = kinds[kind];\n const { key, map } = typeof spec === 'string' ? { key: spec } : spec;\n const old = read(key);\n if (old === null || key === target) continue;\n // A newer choice wins: the old key has nothing left to give.\n if (read(target) !== null) {\n forget(key);\n continue;\n }\n const value = map && Object.prototype.hasOwnProperty.call(map, old) ? map[old] : old;\n // A value this spec can't read stays where it is, for a corrected spec to\n // move later; forgetting it first lost the choice for good (Secu, 3.4.0).\n if (!valid.includes(value)) continue;\n write(target, value);\n // Forget the old key only once the new one holds the choice.\n if (read(target) === value) forget(key);\n // A preview parameter still wins for this page.\n if (!new URLSearchParams(location.search).has(kind)) apply(attr, value);\n }\n}\n\nlet users = 0;\nlet applied = false;\nlet unwire = null;\n\n/** A media query list, or null where matchMedia is missing, returns nothing or throws. */\nfunction mediaList(query) {\n try {\n return typeof matchMedia === 'function' ? matchMedia(query) ?? null : null;\n } catch {\n return null;\n }\n}\n\n/** Listen to a media query list, old Safari's addListener included; returns the undo. */\nfunction listen(list, fn) {\n if (typeof list?.addEventListener === 'function') {\n list.addEventListener('change', fn);\n return () => list.removeEventListener('change', fn);\n }\n if (typeof list?.addListener === 'function') {\n list.addListener(fn);\n return () => list.removeListener(fn);\n }\n return () => {};\n}\n\nfunction wire() {\n document.addEventListener('click', onClick);\n const offDark = listen(mediaList(DARK), changed);\n const offReduce = listen(mediaList(REDUCE), changed);\n addEventListener('storage', onStorage);\n return () => {\n document.removeEventListener('click', onClick);\n offDark();\n offReduce();\n removeEventListener('storage', onStorage);\n };\n}\n\n/**\n * Wires up the controls, the OS settings and other tabs. On the page's first\n * call it applies the saved choices too, for apps without theme-init.js (the\n * same rule, so the result is the same). Safe to call from several places,\n * React hooks included: each call returns its own undo, and the listeners go\n * when the last one is undone.\n *\n * @param {{ legacy?: { theme?: LegacySpec, motion?: LegacySpec }, labels?: Partial<typeof LABELS> }} [options]\n */\nexport function initPrefs(options = {}) {\n if (!hasDOM()) return () => {};\n root().setAttribute('data-js', '');\n if (options.labels && users === 0) labels = { ...LABELS, ...options.labels };\n if (!applied) {\n applied = true;\n const init = initialPrefs(location.search, { [THEME_KEY]: read(THEME_KEY), [MOTION_KEY]: read(MOTION_KEY) });\n if (init.theme) apply('data-theme', init.theme);\n if (init.motion) apply('data-motion', init.motion);\n if (init.shot) root().setAttribute('data-shot', '');\n }\n if (options.legacy) migrate(options.legacy);\n if (users++ === 0) unwire = wire();\n sync();\n let done = false;\n return () => {\n if (done) return;\n done = true;\n if (--users === 0) {\n unwire?.();\n unwire = null;\n labels = LABELS;\n }\n };\n}\n","// src/useTheme.ts\nimport { useCallback, useEffect, useState } from \"react\";\nimport {\n initPrefs,\n onPrefs,\n resolvedTheme,\n setTheme,\n themeMode\n} from \"@starlove/ui/prefs\";\nvar read = () => ({ mode: themeMode(), resolved: resolvedTheme() });\nfunction useTheme(options) {\n const [state, setState] = useState(read);\n useEffect(() => {\n const undo = initPrefs(options);\n const update = () => setState((s) => {\n const next = read();\n return next.mode === s.mode && next.resolved === s.resolved ? s : next;\n });\n const off = onPrefs(update);\n update();\n return () => {\n off();\n undo();\n };\n }, []);\n const setMode = useCallback((m) => setTheme(m), []);\n return { mode: state.mode, resolved: state.resolved, setMode };\n}\n\nexport {\n useTheme\n};\n//# sourceMappingURL=chunk-7DFA2APW.js.map","'use client';\nfunction __insertCSS(code) {\n if (!code || typeof document == 'undefined') return\n let head = document.head || document.getElementsByTagName('head')[0]\n let style = document.createElement('style')\n style.type = 'text/css'\n head.appendChild(style)\n ;style.styleSheet ? (style.styleSheet.cssText = code) : style.appendChild(document.createTextNode(code))\n}\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nconst getAsset = (type)=>{\n switch(type){\n case 'success':\n return SuccessIcon;\n case 'info':\n return InfoIcon;\n case 'warning':\n return WarningIcon;\n case 'error':\n return ErrorIcon;\n default:\n return null;\n }\n};\nconst bars = Array(12).fill(0);\nconst Loader = ({ visible, className })=>{\n return /*#__PURE__*/ React.createElement(\"div\", {\n className: [\n 'sonner-loading-wrapper',\n className\n ].filter(Boolean).join(' '),\n \"data-visible\": visible\n }, /*#__PURE__*/ React.createElement(\"div\", {\n className: \"sonner-spinner\"\n }, bars.map((_, i)=>/*#__PURE__*/ React.createElement(\"div\", {\n className: \"sonner-loading-bar\",\n key: `spinner-bar-${i}`\n }))));\n};\nconst SuccessIcon = /*#__PURE__*/ React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n height: \"20\",\n width: \"20\",\n \"aria-hidden\": \"true\"\n}, /*#__PURE__*/ React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z\",\n clipRule: \"evenodd\"\n}));\nconst WarningIcon = /*#__PURE__*/ React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n height: \"20\",\n width: \"20\",\n \"aria-hidden\": \"true\"\n}, /*#__PURE__*/ React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z\",\n clipRule: \"evenodd\"\n}));\nconst InfoIcon = /*#__PURE__*/ React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n height: \"20\",\n width: \"20\",\n \"aria-hidden\": \"true\"\n}, /*#__PURE__*/ React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z\",\n clipRule: \"evenodd\"\n}));\nconst ErrorIcon = /*#__PURE__*/ React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n height: \"20\",\n width: \"20\",\n \"aria-hidden\": \"true\"\n}, /*#__PURE__*/ React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z\",\n clipRule: \"evenodd\"\n}));\nconst CloseIcon = /*#__PURE__*/ React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"12\",\n height: \"12\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"1.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n \"aria-hidden\": \"true\"\n}, /*#__PURE__*/ React.createElement(\"line\", {\n x1: \"18\",\n y1: \"6\",\n x2: \"6\",\n y2: \"18\"\n}), /*#__PURE__*/ React.createElement(\"line\", {\n x1: \"6\",\n y1: \"6\",\n x2: \"18\",\n y2: \"18\"\n}));\n\nconst useIsDocumentHidden = ()=>{\n const [isDocumentHidden, setIsDocumentHidden] = React.useState(document.hidden);\n React.useEffect(()=>{\n const callback = ()=>{\n setIsDocumentHidden(document.hidden);\n };\n document.addEventListener('visibilitychange', callback);\n return ()=>document.removeEventListener('visibilitychange', callback);\n }, []);\n return isDocumentHidden;\n};\n\nlet toastsCounter = 1;\n// Amount of toasts kept in `toast.getHistory()`. Dismissed toasts above this limit are\n// dropped so long-running apps don't hold on to them (and their JSX) forever.\nconst MAX_HISTORY_SIZE = 100;\n// A toast keeps the id it was given, otherwise it gets the next one from the counter.\n// `custom` needs the same id `create` would pick, as it hands it to the JSX callback.\nconst getToastId = (data)=>{\n var _data_id;\n return typeof (data == null ? void 0 : data.id) === 'number' || (data == null ? void 0 : (_data_id = data.id) == null ? void 0 : _data_id.length) > 0 ? data.id : toastsCounter++;\n};\nclass Observer {\n constructor(){\n // We use arrow functions to maintain the correct `this` reference\n this.subscribe = (subscriber)=>{\n this.subscribers.push(subscriber);\n // A toast can be created before the `Toaster` had a chance to subscribe, e.g. when it's\n // called in an effect of a component rendered above the `Toaster`. Replay whatever is\n // still active so it doesn't get lost.\n this.getActiveToasts().forEach((toast)=>subscriber(toast));\n return ()=>{\n const index = this.subscribers.indexOf(subscriber);\n this.subscribers.splice(index, 1);\n };\n };\n this.publish = (data)=>{\n this.subscribers.forEach((subscriber)=>subscriber(data));\n };\n this.addToast = (data)=>{\n this.publish(data);\n this.toasts = [\n ...this.toasts,\n data\n ];\n this.trimHistory();\n };\n // Keeps the history bounded without ever dropping a toast that's still on screen.\n this.trimHistory = ()=>{\n let toRemove = this.toasts.length - MAX_HISTORY_SIZE;\n if (toRemove <= 0) return;\n this.toasts = this.toasts.filter((toast)=>{\n if (toRemove > 0 && this.dismissedToasts.has(toast.id)) {\n this.dismissedToasts.delete(toast.id);\n toRemove--;\n return false;\n }\n return true;\n });\n };\n this.create = (data)=>{\n const { message, ...rest } = data;\n const id = getToastId(data);\n // A dismissal that hasn't reached the subscribers yet gets cancelled: the toast is still\n // on screen, so this is an update of it rather than a new toast. Without this, creating a\n // toast right after dismissing the same id (React's double effect in StrictMode does\n // exactly that) would have the pending dismissal remove the toast that just got created.\n const pendingDismissal = this.pendingDismissals.get(id);\n if (pendingDismissal !== undefined) {\n cancelAnimationFrame(pendingDismissal);\n this.pendingDismissals.delete(id);\n this.dismissedToasts.delete(id);\n }\n const wasDismissed = this.dismissedToasts.has(id);\n const dismissible = data.dismissible === undefined ? true : data.dismissible;\n if (wasDismissed) {\n this.dismissedToasts.delete(id);\n // The previous toast with this id is gone, so this is a brand new toast. Drop the old\n // one instead of merging into it, otherwise its props (e.g. `action`) leak into the new one.\n this.toasts = this.toasts.filter((toast)=>toast.id !== id);\n }\n const alreadyExists = wasDismissed ? undefined : this.toasts.find((toast)=>{\n return toast.id === id;\n });\n if (alreadyExists) {\n this.toasts = this.toasts.map((toast)=>{\n if (toast.id === id) {\n this.publish({\n ...toast,\n ...data,\n id,\n title: message\n });\n return {\n ...toast,\n ...data,\n id,\n dismissible,\n title: message\n };\n }\n return toast;\n });\n } else {\n this.addToast({\n title: message,\n ...rest,\n dismissible,\n id\n });\n }\n return id;\n };\n this.dismiss = (id)=>{\n if (id === undefined || id === null) {\n this.getActiveToasts().forEach((toast)=>{\n this.dismissedToasts.add(toast.id);\n this.subscribers.forEach((subscriber)=>subscriber({\n id: toast.id,\n dismiss: true\n }));\n });\n return id;\n }\n this.dismissedToasts.add(id);\n const alreadyPending = this.pendingDismissals.get(id);\n if (alreadyPending !== undefined) {\n cancelAnimationFrame(alreadyPending);\n }\n this.pendingDismissals.set(id, requestAnimationFrame(()=>{\n this.pendingDismissals.delete(id);\n this.subscribers.forEach((subscriber)=>subscriber({\n id,\n dismiss: true\n }));\n }));\n return id;\n };\n this.message = (message, data)=>{\n // `type: undefined` resets the type when this updates a toast that had one, e.g. turning\n // a loading toast into a plain one.\n return this.create({\n ...data,\n message,\n type: undefined\n });\n };\n this.error = (message, data)=>{\n return this.create({\n ...data,\n message,\n type: 'error'\n });\n };\n this.success = (message, data)=>{\n return this.create({\n ...data,\n type: 'success',\n message\n });\n };\n this.info = (message, data)=>{\n return this.create({\n ...data,\n type: 'info',\n message\n });\n };\n this.warning = (message, data)=>{\n return this.create({\n ...data,\n type: 'warning',\n message\n });\n };\n this.loading = (message, data)=>{\n return this.create({\n ...data,\n type: 'loading',\n message\n });\n };\n this.promise = (promise, data)=>{\n if (!data) {\n // Nothing to show\n return;\n }\n let id = undefined;\n if (data.loading !== undefined) {\n id = this.create({\n ...data,\n promise,\n type: 'loading',\n message: data.loading,\n description: typeof data.description !== 'function' ? data.description : undefined\n });\n }\n const p = Promise.resolve(promise instanceof Function ? promise() : promise);\n let shouldDismiss = id !== undefined;\n let result;\n const originalPromise = p.then(async (response)=>{\n result = [\n 'resolve',\n response\n ];\n const isReactElementResponse = React.isValidElement(response);\n if (isReactElementResponse) {\n shouldDismiss = false;\n this.create({\n id,\n type: 'default',\n message: response\n });\n } else if (isHttpResponse(response) && !response.ok) {\n shouldDismiss = false;\n const promiseData = typeof data.error === 'function' ? await data.error(`HTTP error! status: ${response.status}`) : data.error;\n const description = typeof data.description === 'function' ? await data.description(`HTTP error! status: ${response.status}`) : data.description;\n const isExtendedResult = typeof promiseData === 'object' && !React.isValidElement(promiseData);\n const toastSettings = isExtendedResult ? promiseData : {\n message: promiseData\n };\n this.create({\n id,\n type: 'error',\n description,\n ...toastSettings\n });\n } else if (response instanceof Error) {\n shouldDismiss = false;\n const promiseData = typeof data.error === 'function' ? await data.error(response) : data.error;\n const description = typeof data.description === 'function' ? await data.description(response) : data.description;\n const isExtendedResult = typeof promiseData === 'object' && !React.isValidElement(promiseData);\n const toastSettings = isExtendedResult ? promiseData : {\n message: promiseData\n };\n this.create({\n id,\n type: 'error',\n description,\n ...toastSettings\n });\n } else if (data.success !== undefined) {\n shouldDismiss = false;\n const promiseData = typeof data.success === 'function' ? await data.success(response) : data.success;\n const description = typeof data.description === 'function' ? await data.description(response) : data.description;\n const isExtendedResult = typeof promiseData === 'object' && !React.isValidElement(promiseData);\n const toastSettings = isExtendedResult ? promiseData : {\n message: promiseData\n };\n this.create({\n id,\n type: 'success',\n description,\n ...toastSettings\n });\n }\n }).catch(async (error)=>{\n result = [\n 'reject',\n error\n ];\n if (data.error !== undefined) {\n shouldDismiss = false;\n const promiseData = typeof data.error === 'function' ? await data.error(error) : data.error;\n const description = typeof data.description === 'function' ? await data.description(error) : data.description;\n const isExtendedResult = typeof promiseData === 'object' && !React.isValidElement(promiseData);\n const toastSettings = isExtendedResult ? promiseData : {\n message: promiseData\n };\n this.create({\n id,\n type: 'error',\n description,\n ...toastSettings\n });\n }\n }).finally(()=>{\n if (shouldDismiss) {\n // Toast is still in load state (and will be indefinitely — dismiss it)\n this.dismiss(id);\n id = undefined;\n }\n data.finally == null ? void 0 : data.finally.call(data);\n });\n const unwrap = ()=>new Promise((resolve, reject)=>originalPromise.then(()=>result[0] === 'reject' ? reject(result[1]) : resolve(result[1])).catch(reject));\n if (typeof id !== 'string' && typeof id !== 'number') {\n // cannot Object.assign on undefined\n return {\n unwrap\n };\n } else {\n return Object.assign(id, {\n unwrap\n });\n }\n };\n this.custom = (jsx, data)=>{\n const id = getToastId(data);\n // A custom toast has no type, so it resets the one of the toast it replaces\n this.create({\n ...data,\n jsx: jsx(id),\n id,\n type: undefined\n });\n return id;\n };\n this.getActiveToasts = ()=>{\n return this.toasts.filter((toast)=>!this.dismissedToasts.has(toast.id));\n };\n this.subscribers = [];\n this.toasts = [];\n this.dismissedToasts = new Set();\n this.pendingDismissals = new Map();\n }\n}\nconst ToastState = new Observer();\n// bind this to the toast function\nconst toastFunction = (message, data)=>{\n return ToastState.message(message, data);\n};\nconst isHttpResponse = (data)=>{\n return data && typeof data === 'object' && 'ok' in data && typeof data.ok === 'boolean' && 'status' in data && typeof data.status === 'number';\n};\nconst basicToast = toastFunction;\nconst getHistory = ()=>ToastState.toasts;\nconst getToasts = ()=>ToastState.getActiveToasts();\n// We use `Object.assign` to maintain the correct types as we would lose them otherwise\nconst toast = Object.assign(basicToast, {\n success: ToastState.success,\n info: ToastState.info,\n warning: ToastState.warning,\n error: ToastState.error,\n custom: ToastState.custom,\n message: ToastState.message,\n promise: ToastState.promise,\n dismiss: ToastState.dismiss,\n loading: ToastState.loading\n}, {\n getHistory,\n getToasts\n});\n\n__insertCSS(\"[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--normal-text);background:var(--normal-bg);border:1px solid var(--normal-border);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{-webkit-user-select:none;user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}\");\n\nfunction isAction(action) {\n return action.label !== undefined;\n}\n\n// Visible toasts amount\nconst VISIBLE_TOASTS_AMOUNT = 3;\n// Viewport padding\nconst VIEWPORT_OFFSET = '24px';\n// Mobile viewport padding\nconst MOBILE_VIEWPORT_OFFSET = '16px';\n// Default lifetime of a toasts (in ms)\nconst TOAST_LIFETIME = 4000;\n// Default toast width\nconst TOAST_WIDTH = 356;\n// Default gap between toasts\nconst GAP = 14;\n// Threshold to dismiss a toast\nconst SWIPE_THRESHOLD = 45;\n// Equal to exit animation duration\nconst TIME_BEFORE_UNMOUNT = 200;\nfunction cn(...classes) {\n return classes.filter(Boolean).join(' ');\n}\nfunction getDefaultSwipeDirections(position) {\n const [y, x] = position.split('-');\n const directions = [];\n if (y) {\n directions.push(y);\n }\n if (x) {\n directions.push(x);\n }\n return directions;\n}\nconst Toast = (props)=>{\n var _toast_classNames, _toast_classNames1, _toast_classNames2, _toast_classNames3, _toast_classNames4, _toast_classNames5, _toast_classNames6, _toast_classNames7, _toast_classNames8;\n const { invert: ToasterInvert, toast, unstyled, interacting, setHeights, visibleToasts, heights, index, toasts, expanded, removeToast, defaultRichColors, closeButton: closeButtonFromToaster, style, cancelButtonStyle, actionButtonStyle, className = '', descriptionClassName = '', duration: durationFromToaster, position, gap, expandByDefault, classNames, icons, closeButtonAriaLabel = 'Close toast' } = props;\n const [swipeDirection, setSwipeDirection] = React.useState(null);\n const [swipeOutDirection, setSwipeOutDirection] = React.useState(null);\n const [mounted, setMounted] = React.useState(false);\n const [removed, setRemoved] = React.useState(false);\n const [swiping, setSwiping] = React.useState(false);\n const [swipeOut, setSwipeOut] = React.useState(false);\n const [isSwiped, setIsSwiped] = React.useState(false);\n const [offsetBeforeRemove, setOffsetBeforeRemove] = React.useState(0);\n const [initialHeight, setInitialHeight] = React.useState(0);\n const remainingTime = React.useRef(toast.duration || durationFromToaster || TOAST_LIFETIME);\n const dragStartTime = React.useRef(null);\n const toastRef = React.useRef(null);\n const isFront = index === 0;\n const isVisible = index + 1 <= visibleToasts;\n const toastType = toast.type;\n // Toasts created with `toast()` have no type, `classNames.default` is the key for those.\n const toastTypeKey = toastType != null ? toastType : 'default';\n const dismissible = toast.dismissible !== false;\n const toastClassname = toast.className || '';\n const toastDescriptionClassname = toast.descriptionClassName || '';\n // Height index is used to calculate the offset as it gets updated before the toast array, which means we can calculate the new layout faster.\n const heightIndex = React.useMemo(()=>heights.findIndex((height)=>height.toastId === toast.id) || 0, [\n heights,\n toast.id\n ]);\n const closeButton = React.useMemo(()=>{\n var _toast_closeButton;\n return (_toast_closeButton = toast.closeButton) != null ? _toast_closeButton : closeButtonFromToaster;\n }, [\n toast.closeButton,\n closeButtonFromToaster\n ]);\n const duration = React.useMemo(()=>toast.duration || durationFromToaster || TOAST_LIFETIME, [\n toast.duration,\n durationFromToaster\n ]);\n const closeTimerStartTimeRef = React.useRef(0);\n const offset = React.useRef(0);\n const lastCloseTimerStartTimeRef = React.useRef(0);\n const pointerStartRef = React.useRef(null);\n const [y, x] = position.split('-');\n const toastsHeightBefore = React.useMemo(()=>{\n return heights.reduce((prev, curr, reducerIndex)=>{\n // Calculate offset up until current toast\n if (reducerIndex >= heightIndex) {\n return prev;\n }\n return prev + curr.height;\n }, 0);\n }, [\n heights,\n heightIndex\n ]);\n const isDocumentHidden = useIsDocumentHidden();\n const swipeDirections = React.useMemo(()=>{\n var _props_swipeDirections;\n return (_props_swipeDirections = props.swipeDirections) != null ? _props_swipeDirections : getDefaultSwipeDirections(position);\n }, [\n props.swipeDirections,\n position\n ]);\n const invert = toast.invert || ToasterInvert;\n const disabled = toastType === 'loading';\n offset.current = React.useMemo(()=>heightIndex * gap + toastsHeightBefore, [\n heightIndex,\n toastsHeightBefore\n ]);\n React.useEffect(()=>{\n remainingTime.current = duration;\n }, [\n duration\n ]);\n React.useEffect(()=>{\n // Trigger enter animation without using CSS animation\n setMounted(true);\n }, []);\n React.useEffect(()=>{\n const toastNode = toastRef.current;\n if (toastNode) {\n const height = toastNode.getBoundingClientRect().height;\n // Add toast height to heights array after the toast is mounted\n setInitialHeight(height);\n setHeights((h)=>[\n {\n toastId: toast.id,\n height,\n position: toast.position\n },\n ...h\n ]);\n return ()=>setHeights((h)=>h.filter((height)=>height.toastId !== toast.id));\n }\n }, [\n setHeights,\n toast.id\n ]);\n React.useLayoutEffect(()=>{\n // Keep height up to date with the content in case it updates\n if (!mounted) return;\n const toastNode = toastRef.current;\n const originalHeight = toastNode.style.height;\n toastNode.style.height = 'auto';\n const newHeight = toastNode.getBoundingClientRect().height;\n toastNode.style.height = originalHeight;\n setInitialHeight(newHeight);\n setHeights((heights)=>{\n const alreadyExists = heights.find((height)=>height.toastId === toast.id);\n if (!alreadyExists) {\n return [\n {\n toastId: toast.id,\n height: newHeight,\n position: toast.position\n },\n ...heights\n ];\n } else {\n return heights.map((height)=>height.toastId === toast.id ? {\n ...height,\n height: newHeight\n } : height);\n }\n });\n }, [\n mounted,\n toast.title,\n toast.description,\n setHeights,\n toast.id,\n toast.jsx,\n toast.action,\n toast.cancel\n ]);\n const deleteToast = React.useCallback(()=>{\n // Save the offset for the exit swipe animation\n setRemoved(true);\n setOffsetBeforeRemove(offset.current);\n setHeights((h)=>h.filter((height)=>height.toastId !== toast.id));\n setTimeout(()=>{\n removeToast(toast);\n }, TIME_BEFORE_UNMOUNT);\n }, [\n toast,\n removeToast,\n setHeights,\n offset\n ]);\n React.useEffect(()=>{\n if (toast.promise && toastType === 'loading' || toast.duration === Infinity || toast.type === 'loading') return;\n let timeoutId;\n // Pause the timer on each hover\n const pauseTimer = ()=>{\n if (lastCloseTimerStartTimeRef.current < closeTimerStartTimeRef.current) {\n // Get the elapsed time since the timer started\n const elapsedTime = new Date().getTime() - closeTimerStartTimeRef.current;\n remainingTime.current = remainingTime.current - elapsedTime;\n }\n lastCloseTimerStartTimeRef.current = new Date().getTime();\n };\n const startTimer = ()=>{\n // setTimeout(, Infinity) behaves as if the delay is 0.\n // As a result, the toast would be closed immediately, giving the appearance that it was never rendered.\n // See: https://github.com/denysdovhan/wtfjs?tab=readme-ov-file#an-infinite-timeout\n if (remainingTime.current === Infinity) return;\n closeTimerStartTimeRef.current = new Date().getTime();\n // Let the toast know it has started\n timeoutId = setTimeout(()=>{\n toast.onAutoClose == null ? void 0 : toast.onAutoClose.call(toast, toast);\n deleteToast();\n }, remainingTime.current);\n };\n if (expanded || interacting || isDocumentHidden) {\n pauseTimer();\n } else {\n startTimer();\n }\n return ()=>clearTimeout(timeoutId);\n }, [\n expanded,\n interacting,\n toast,\n toastType,\n isDocumentHidden,\n deleteToast\n ]);\n React.useEffect(()=>{\n if (toast.delete) {\n deleteToast();\n toast.onDismiss == null ? void 0 : toast.onDismiss.call(toast, toast);\n }\n }, [\n deleteToast,\n toast.delete\n ]);\n function getLoadingIcon() {\n var _toast_classNames;\n if (icons == null ? void 0 : icons.loading) {\n var _toast_classNames1;\n return /*#__PURE__*/ React.createElement(\"div\", {\n className: cn(classNames == null ? void 0 : classNames.loader, toast == null ? void 0 : (_toast_classNames1 = toast.classNames) == null ? void 0 : _toast_classNames1.loader, 'sonner-loader'),\n \"data-visible\": toastType === 'loading'\n }, icons.loading);\n }\n return /*#__PURE__*/ React.createElement(Loader, {\n className: cn(classNames == null ? void 0 : classNames.loader, toast == null ? void 0 : (_toast_classNames = toast.classNames) == null ? void 0 : _toast_classNames.loader),\n visible: toastType === 'loading'\n });\n }\n const icon = toast.icon || (icons == null ? void 0 : icons[toastType]) || getAsset(toastType);\n var _toast_richColors, _icons_close;\n return /*#__PURE__*/ React.createElement(\"li\", {\n tabIndex: 0,\n ref: toastRef,\n className: cn(className, toastClassname, classNames == null ? void 0 : classNames.toast, toast == null ? void 0 : (_toast_classNames = toast.classNames) == null ? void 0 : _toast_classNames.toast, classNames == null ? void 0 : classNames[toastTypeKey], toast == null ? void 0 : (_toast_classNames1 = toast.classNames) == null ? void 0 : _toast_classNames1[toastTypeKey]),\n \"data-sonner-toast\": \"\",\n \"data-rich-colors\": (_toast_richColors = toast.richColors) != null ? _toast_richColors : defaultRichColors,\n \"data-styled\": !Boolean(toast.jsx || toast.unstyled || unstyled),\n \"data-mounted\": mounted,\n \"data-promise\": Boolean(toast.promise),\n \"data-swiped\": isSwiped,\n \"data-removed\": removed,\n \"data-visible\": isVisible,\n \"data-y-position\": y,\n \"data-x-position\": x,\n \"data-index\": index,\n \"data-front\": isFront,\n \"data-swiping\": swiping,\n \"data-dismissible\": dismissible,\n \"data-type\": toastType,\n \"data-invert\": invert,\n \"data-swipe-out\": swipeOut,\n \"data-swipe-direction\": swipeOutDirection,\n \"data-expanded\": Boolean(expanded || expandByDefault && mounted),\n \"data-testid\": toast.testId,\n style: {\n '--index': index,\n '--toasts-before': index,\n '--z-index': toasts.length - index,\n '--offset': `${removed ? offsetBeforeRemove : offset.current}px`,\n '--initial-height': expandByDefault ? 'auto' : `${initialHeight}px`,\n ...style,\n ...toast.style\n },\n onDragEnd: ()=>{\n setSwiping(false);\n setSwipeDirection(null);\n pointerStartRef.current = null;\n },\n onPointerDown: (event)=>{\n if (event.button === 2) return; // Return early on right click\n if (disabled || !dismissible) return;\n dragStartTime.current = new Date();\n setOffsetBeforeRemove(offset.current);\n // Ensure we maintain correct pointer capture even when going outside of the toast (e.g. when swiping)\n event.target.setPointerCapture(event.pointerId);\n if (event.target.tagName === 'BUTTON') return;\n setSwiping(true);\n pointerStartRef.current = {\n x: event.clientX,\n y: event.clientY\n };\n },\n onPointerUp: ()=>{\n var _toastRef_current, _toastRef_current1, _dragStartTime_current;\n if (swipeOut || !dismissible) return;\n pointerStartRef.current = null;\n const swipeAmountX = Number(((_toastRef_current = toastRef.current) == null ? void 0 : _toastRef_current.style.getPropertyValue('--swipe-amount-x').replace('px', '')) || 0);\n const swipeAmountY = Number(((_toastRef_current1 = toastRef.current) == null ? void 0 : _toastRef_current1.style.getPropertyValue('--swipe-amount-y').replace('px', '')) || 0);\n const timeTaken = new Date().getTime() - ((_dragStartTime_current = dragStartTime.current) == null ? void 0 : _dragStartTime_current.getTime());\n const swipeAmount = swipeDirection === 'x' ? swipeAmountX : swipeAmountY;\n const velocity = Math.abs(swipeAmount) / timeTaken;\n // Movement towards a direction that isn't allowed is dampened, not blocked, so a fast\n // flick can still pass the velocity check. Only dismiss if the direction is allowed.\n const isAllowedDirection = swipeDirection === 'x' ? swipeDirections.includes(swipeAmountX > 0 ? 'right' : 'left') : swipeDirections.includes(swipeAmountY > 0 ? 'bottom' : 'top');\n if (isAllowedDirection && (Math.abs(swipeAmount) >= SWIPE_THRESHOLD || velocity > 0.11)) {\n setOffsetBeforeRemove(offset.current);\n toast.onDismiss == null ? void 0 : toast.onDismiss.call(toast, toast);\n if (swipeDirection === 'x') {\n setSwipeOutDirection(swipeAmountX > 0 ? 'right' : 'left');\n } else {\n setSwipeOutDirection(swipeAmountY > 0 ? 'down' : 'up');\n }\n deleteToast();\n setSwipeOut(true);\n return;\n } else {\n var _toastRef_current2, _toastRef_current3;\n (_toastRef_current2 = toastRef.current) == null ? void 0 : _toastRef_current2.style.setProperty('--swipe-amount-x', `0px`);\n (_toastRef_current3 = toastRef.current) == null ? void 0 : _toastRef_current3.style.setProperty('--swipe-amount-y', `0px`);\n }\n setIsSwiped(false);\n setSwiping(false);\n setSwipeDirection(null);\n },\n onPointerMove: (event)=>{\n var _window_getSelection, // Apply transform using both x and y values\n _toastRef_current, _toastRef_current1;\n if (!pointerStartRef.current || !dismissible) return;\n const isHighlighted = ((_window_getSelection = window.getSelection()) == null ? void 0 : _window_getSelection.toString().length) > 0;\n if (isHighlighted) return;\n const yDelta = event.clientY - pointerStartRef.current.y;\n const xDelta = event.clientX - pointerStartRef.current.x;\n // Determine swipe direction if not already locked\n if (!swipeDirection && (Math.abs(xDelta) > 1 || Math.abs(yDelta) > 1)) {\n setSwipeDirection(Math.abs(xDelta) > Math.abs(yDelta) ? 'x' : 'y');\n }\n let swipeAmount = {\n x: 0,\n y: 0\n };\n const getDampening = (delta)=>{\n const factor = Math.abs(delta) / 20;\n return 1 / (1.5 + factor);\n };\n // Only apply swipe in the locked direction\n if (swipeDirection === 'y') {\n // Handle vertical swipes\n if (swipeDirections.includes('top') || swipeDirections.includes('bottom')) {\n if (swipeDirections.includes('top') && yDelta < 0 || swipeDirections.includes('bottom') && yDelta > 0) {\n swipeAmount.y = yDelta;\n } else {\n // Smoothly transition to dampened movement\n const dampenedDelta = yDelta * getDampening(yDelta);\n // Ensure we don't jump when transitioning to dampened movement\n swipeAmount.y = Math.abs(dampenedDelta) < Math.abs(yDelta) ? dampenedDelta : yDelta;\n }\n }\n } else if (swipeDirection === 'x') {\n // Handle horizontal swipes\n if (swipeDirections.includes('left') || swipeDirections.includes('right')) {\n if (swipeDirections.includes('left') && xDelta < 0 || swipeDirections.includes('right') && xDelta > 0) {\n swipeAmount.x = xDelta;\n } else {\n // Smoothly transition to dampened movement\n const dampenedDelta = xDelta * getDampening(xDelta);\n // Ensure we don't jump when transitioning to dampened movement\n swipeAmount.x = Math.abs(dampenedDelta) < Math.abs(xDelta) ? dampenedDelta : xDelta;\n }\n }\n }\n if (Math.abs(swipeAmount.x) > 0 || Math.abs(swipeAmount.y) > 0) {\n setIsSwiped(true);\n }\n (_toastRef_current = toastRef.current) == null ? void 0 : _toastRef_current.style.setProperty('--swipe-amount-x', `${swipeAmount.x}px`);\n (_toastRef_current1 = toastRef.current) == null ? void 0 : _toastRef_current1.style.setProperty('--swipe-amount-y', `${swipeAmount.y}px`);\n }\n }, closeButton && !toast.jsx && toastType !== 'loading' ? /*#__PURE__*/ React.createElement(\"button\", {\n \"aria-label\": closeButtonAriaLabel,\n \"data-disabled\": disabled,\n \"data-close-button\": true,\n onClick: disabled || !dismissible ? ()=>{} : ()=>{\n deleteToast();\n toast.onDismiss == null ? void 0 : toast.onDismiss.call(toast, toast);\n },\n className: cn(classNames == null ? void 0 : classNames.closeButton, toast == null ? void 0 : (_toast_classNames2 = toast.classNames) == null ? void 0 : _toast_classNames2.closeButton)\n }, (_icons_close = icons == null ? void 0 : icons.close) != null ? _icons_close : CloseIcon) : null, (toastType || toast.icon || toast.promise) && toast.icon !== null && ((icons == null ? void 0 : icons[toastType]) !== null || toast.icon) ? /*#__PURE__*/ React.createElement(\"div\", {\n \"data-icon\": \"\",\n className: cn(classNames == null ? void 0 : classNames.icon, toast == null ? void 0 : (_toast_classNames3 = toast.classNames) == null ? void 0 : _toast_classNames3.icon)\n }, toastType === 'loading' ? toast.icon || getLoadingIcon() : toast.promise ? getLoadingIcon() : null, toastType !== 'loading' ? icon : null) : null, /*#__PURE__*/ React.createElement(\"div\", {\n \"data-content\": \"\",\n className: cn(classNames == null ? void 0 : classNames.content, toast == null ? void 0 : (_toast_classNames4 = toast.classNames) == null ? void 0 : _toast_classNames4.content)\n }, /*#__PURE__*/ React.createElement(\"div\", {\n \"data-title\": \"\",\n className: cn(classNames == null ? void 0 : classNames.title, toast == null ? void 0 : (_toast_classNames5 = toast.classNames) == null ? void 0 : _toast_classNames5.title)\n }, toast.jsx ? toast.jsx : typeof toast.title === 'function' ? toast.title() : toast.title), toast.description ? /*#__PURE__*/ React.createElement(\"div\", {\n \"data-description\": \"\",\n className: cn(descriptionClassName, toastDescriptionClassname, classNames == null ? void 0 : classNames.description, toast == null ? void 0 : (_toast_classNames6 = toast.classNames) == null ? void 0 : _toast_classNames6.description)\n }, typeof toast.description === 'function' ? toast.description() : toast.description) : null), /*#__PURE__*/ React.isValidElement(toast.cancel) ? toast.cancel : toast.cancel && isAction(toast.cancel) ? /*#__PURE__*/ React.createElement(\"button\", {\n \"data-button\": true,\n \"data-cancel\": true,\n style: toast.cancelButtonStyle || cancelButtonStyle,\n onClick: (event)=>{\n // We need to check twice because typescript\n if (!isAction(toast.cancel)) return;\n if (!dismissible) return;\n toast.cancel.onClick == null ? void 0 : toast.cancel.onClick.call(toast.cancel, event);\n deleteToast();\n },\n className: cn(classNames == null ? void 0 : classNames.cancelButton, toast == null ? void 0 : (_toast_classNames7 = toast.classNames) == null ? void 0 : _toast_classNames7.cancelButton)\n }, toast.cancel.label) : null, /*#__PURE__*/ React.isValidElement(toast.action) ? toast.action : toast.action && isAction(toast.action) ? /*#__PURE__*/ React.createElement(\"button\", {\n \"data-button\": true,\n \"data-action\": true,\n style: toast.actionButtonStyle || actionButtonStyle,\n onClick: (event)=>{\n // We need to check twice because typescript\n if (!isAction(toast.action)) return;\n toast.action.onClick == null ? void 0 : toast.action.onClick.call(toast.action, event);\n if (event.defaultPrevented) return;\n deleteToast();\n },\n className: cn(classNames == null ? void 0 : classNames.actionButton, toast == null ? void 0 : (_toast_classNames8 = toast.classNames) == null ? void 0 : _toast_classNames8.actionButton)\n }, toast.action.label) : null);\n};\nfunction getDocumentDirection() {\n if (typeof window === 'undefined') return 'ltr';\n if (typeof document === 'undefined') return 'ltr'; // For Fresh purpose\n const dirAttribute = document.documentElement.getAttribute('dir');\n if (dirAttribute === 'auto' || !dirAttribute) {\n return window.getComputedStyle(document.documentElement).direction;\n }\n return dirAttribute;\n}\nfunction assignOffset(defaultOffset, mobileOffset) {\n const styles = {};\n [\n defaultOffset,\n mobileOffset\n ].forEach((offset, index)=>{\n const isMobile = index === 1;\n const prefix = isMobile ? '--mobile-offset' : '--offset';\n const defaultValue = isMobile ? MOBILE_VIEWPORT_OFFSET : VIEWPORT_OFFSET;\n function assignAll(offset) {\n [\n 'top',\n 'right',\n 'bottom',\n 'left'\n ].forEach((key)=>{\n styles[`${prefix}-${key}`] = typeof offset === 'number' ? `${offset}px` : offset;\n });\n }\n if (typeof offset === 'number' || typeof offset === 'string') {\n assignAll(offset);\n } else if (typeof offset === 'object') {\n [\n 'top',\n 'right',\n 'bottom',\n 'left'\n ].forEach((key)=>{\n if (offset[key] === undefined) {\n styles[`${prefix}-${key}`] = defaultValue;\n } else {\n styles[`${prefix}-${key}`] = typeof offset[key] === 'number' ? `${offset[key]}px` : offset[key];\n }\n });\n } else {\n assignAll(defaultValue);\n }\n });\n return styles;\n}\nfunction useSonner() {\n const [activeToasts, setActiveToasts] = React.useState([]);\n React.useEffect(()=>{\n return ToastState.subscribe((toast)=>{\n if (toast.dismiss) {\n setTimeout(()=>{\n ReactDOM.flushSync(()=>{\n setActiveToasts((toasts)=>toasts.filter((t)=>t.id !== toast.id));\n });\n });\n return;\n }\n // Prevent batching, temp solution.\n setTimeout(()=>{\n ReactDOM.flushSync(()=>{\n setActiveToasts((toasts)=>{\n const indexOfExistingToast = toasts.findIndex((t)=>t.id === toast.id);\n // Update the toast if it already exists\n if (indexOfExistingToast !== -1) {\n return [\n ...toasts.slice(0, indexOfExistingToast),\n {\n ...toasts[indexOfExistingToast],\n ...toast\n },\n ...toasts.slice(indexOfExistingToast + 1)\n ];\n }\n return [\n toast,\n ...toasts\n ];\n });\n });\n });\n });\n }, []);\n return {\n toasts: activeToasts\n };\n}\nconst Toaster = /*#__PURE__*/ React.forwardRef(function Toaster(props, ref) {\n const { id, invert, position = 'bottom-right', hotkey = [\n 'altKey',\n 'KeyT'\n ], expand, closeButton, className, offset, mobileOffset, theme = 'light', richColors, duration, style, visibleToasts = VISIBLE_TOASTS_AMOUNT, toastOptions, dir = getDocumentDirection(), gap = GAP, icons, customAriaLabel, containerAriaLabel = 'Notifications' } = props;\n const [toasts, setToasts] = React.useState([]);\n const filteredToasts = React.useMemo(()=>{\n if (id) {\n return toasts.filter((toast)=>toast.toasterId === id);\n }\n return toasts.filter((toast)=>!toast.toasterId);\n }, [\n toasts,\n id\n ]);\n const possiblePositions = React.useMemo(()=>{\n return Array.from(new Set([\n position\n ].concat(filteredToasts.filter((toast)=>toast.position).map((toast)=>toast.position))));\n }, [\n filteredToasts,\n position\n ]);\n const [heights, setHeights] = React.useState([]);\n const [expanded, setExpanded] = React.useState(false);\n const [interacting, setInteracting] = React.useState(false);\n const [actualTheme, setActualTheme] = React.useState(theme !== 'system' ? theme : typeof window !== 'undefined' ? window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light' : 'light');\n const listRef = React.useRef(null);\n const hotkeyLabel = hotkey.join('+').replace(/Key/g, '').replace(/Digit/g, '');\n const lastFocusedElementRef = React.useRef(null);\n const isFocusWithinRef = React.useRef(false);\n const removeToast = React.useCallback((toastToRemove)=>{\n setToasts((toasts)=>{\n var _toasts_find;\n if (!((_toasts_find = toasts.find((toast)=>toast.id === toastToRemove.id)) == null ? void 0 : _toasts_find.delete)) {\n ToastState.dismiss(toastToRemove.id);\n }\n return toasts.filter(({ id })=>id !== toastToRemove.id);\n });\n }, []);\n React.useEffect(()=>{\n return ToastState.subscribe((toast)=>{\n if (toast.dismiss) {\n // Prevent batching of other state updates\n requestAnimationFrame(()=>{\n setToasts((toasts)=>toasts.map((t)=>t.id === toast.id ? {\n ...t,\n delete: true\n } : t));\n });\n return;\n }\n // Prevent batching, temp solution.\n setTimeout(()=>{\n ReactDOM.flushSync(()=>{\n setToasts((toasts)=>{\n const indexOfExistingToast = toasts.findIndex((t)=>t.id === toast.id);\n // Update the toast if it already exists\n if (indexOfExistingToast !== -1) {\n return [\n ...toasts.slice(0, indexOfExistingToast),\n {\n ...toasts[indexOfExistingToast],\n ...toast\n },\n ...toasts.slice(indexOfExistingToast + 1)\n ];\n }\n return [\n toast,\n ...toasts\n ];\n });\n });\n });\n });\n }, []);\n React.useEffect(()=>{\n if (theme !== 'system') {\n setActualTheme(theme);\n return;\n }\n if (theme === 'system') {\n // check if current preference is dark\n if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {\n // it's currently dark\n setActualTheme('dark');\n } else {\n // it's not dark\n setActualTheme('light');\n }\n }\n if (typeof window === 'undefined') return;\n const darkMediaQuery = window.matchMedia('(prefers-color-scheme: dark)');\n try {\n // Chrome & Firefox\n darkMediaQuery.addEventListener('change', ({ matches })=>{\n if (matches) {\n setActualTheme('dark');\n } else {\n setActualTheme('light');\n }\n });\n } catch (error) {\n // Safari < 14\n darkMediaQuery.addListener(({ matches })=>{\n try {\n if (matches) {\n setActualTheme('dark');\n } else {\n setActualTheme('light');\n }\n } catch (e) {\n console.error(e);\n }\n });\n }\n }, [\n theme\n ]);\n React.useEffect(()=>{\n // Ensure expanded is always false when no toasts are present / only one left\n if (toasts.length <= 1) {\n setExpanded(false);\n }\n }, [\n toasts\n ]);\n React.useEffect(()=>{\n const handleKeyDown = (event)=>{\n var _listRef_current;\n const isHotkeyPressed = hotkey.length > 0 && hotkey.every((key)=>event[key] || event.code === key);\n if (isHotkeyPressed) {\n var _listRef_current1;\n setExpanded(true);\n (_listRef_current1 = listRef.current) == null ? void 0 : _listRef_current1.focus();\n }\n if (event.code === 'Escape' && (document.activeElement === listRef.current || ((_listRef_current = listRef.current) == null ? void 0 : _listRef_current.contains(document.activeElement)))) {\n setExpanded(false);\n }\n };\n document.addEventListener('keydown', handleKeyDown);\n return ()=>document.removeEventListener('keydown', handleKeyDown);\n }, [\n hotkey\n ]);\n React.useEffect(()=>{\n if (listRef.current) {\n return ()=>{\n if (lastFocusedElementRef.current) {\n lastFocusedElementRef.current.focus({\n preventScroll: true\n });\n lastFocusedElementRef.current = null;\n isFocusWithinRef.current = false;\n }\n };\n }\n }, [\n listRef.current\n ]);\n return(// Remove item from normal navigation flow, only available via hotkey\n /*#__PURE__*/ React.createElement(\"section\", {\n ref: ref,\n \"aria-label\": customAriaLabel != null ? customAriaLabel : `${containerAriaLabel} ${hotkeyLabel}`,\n tabIndex: -1,\n \"aria-live\": \"polite\",\n \"aria-relevant\": \"additions text\",\n \"aria-atomic\": \"false\",\n suppressHydrationWarning: true,\n \"data-react-aria-top-layer\": true\n }, possiblePositions.map((position, index)=>{\n var _heights_;\n const [y, x] = position.split('-');\n if (!filteredToasts.length) return null;\n return /*#__PURE__*/ React.createElement(\"ol\", {\n key: position,\n dir: dir === 'auto' ? getDocumentDirection() : dir,\n tabIndex: -1,\n ref: listRef,\n className: className,\n \"data-sonner-toaster\": true,\n \"data-sonner-theme\": actualTheme,\n \"data-y-position\": y,\n \"data-x-position\": x,\n style: {\n '--front-toast-height': `${((_heights_ = heights[0]) == null ? void 0 : _heights_.height) || 0}px`,\n '--width': `${TOAST_WIDTH}px`,\n '--gap': `${gap}px`,\n ...style,\n ...assignOffset(offset, mobileOffset)\n },\n onBlur: (event)=>{\n if (isFocusWithinRef.current && !event.currentTarget.contains(event.relatedTarget)) {\n isFocusWithinRef.current = false;\n if (lastFocusedElementRef.current) {\n lastFocusedElementRef.current.focus({\n preventScroll: true\n });\n lastFocusedElementRef.current = null;\n }\n }\n },\n onFocus: (event)=>{\n const isNotDismissible = event.target instanceof HTMLElement && event.target.dataset.dismissible === 'false';\n if (isNotDismissible) return;\n if (!isFocusWithinRef.current) {\n isFocusWithinRef.current = true;\n lastFocusedElementRef.current = event.relatedTarget;\n }\n },\n onMouseEnter: ()=>setExpanded(true),\n onMouseMove: ()=>setExpanded(true),\n onMouseLeave: ()=>{\n // Avoid setting expanded to false when interacting with a toast, e.g. swiping\n if (!interacting) {\n setExpanded(false);\n }\n },\n onDragEnd: ()=>setExpanded(false),\n onPointerDown: (event)=>{\n const isNotDismissible = event.target instanceof HTMLElement && event.target.dataset.dismissible === 'false';\n if (isNotDismissible) return;\n setInteracting(true);\n },\n onPointerUp: ()=>setInteracting(false)\n }, filteredToasts.filter((toast)=>!toast.position && index === 0 || toast.position === position).map((toast, index)=>{\n var _toastOptions_duration, _toastOptions_closeButton;\n return /*#__PURE__*/ React.createElement(Toast, {\n key: toast.id,\n icons: icons,\n index: index,\n toast: toast,\n defaultRichColors: richColors,\n duration: (_toastOptions_duration = toastOptions == null ? void 0 : toastOptions.duration) != null ? _toastOptions_duration : duration,\n className: toastOptions == null ? void 0 : toastOptions.className,\n descriptionClassName: toastOptions == null ? void 0 : toastOptions.descriptionClassName,\n invert: invert,\n visibleToasts: visibleToasts,\n closeButton: (_toastOptions_closeButton = toastOptions == null ? void 0 : toastOptions.closeButton) != null ? _toastOptions_closeButton : closeButton,\n interacting: interacting,\n position: position,\n style: toastOptions == null ? void 0 : toastOptions.style,\n unstyled: toastOptions == null ? void 0 : toastOptions.unstyled,\n classNames: toastOptions == null ? void 0 : toastOptions.classNames,\n cancelButtonStyle: toastOptions == null ? void 0 : toastOptions.cancelButtonStyle,\n actionButtonStyle: toastOptions == null ? void 0 : toastOptions.actionButtonStyle,\n closeButtonAriaLabel: toastOptions == null ? void 0 : toastOptions.closeButtonAriaLabel,\n removeToast: removeToast,\n toasts: filteredToasts.filter((t)=>t.position == toast.position),\n heights: heights.filter((h)=>h.position == toast.position),\n setHeights: setHeights,\n expandByDefault: expand,\n gap: gap,\n expanded: expanded,\n swipeDirections: props.swipeDirections\n });\n }));\n })));\n});\n\nexport { Toaster, toast, useSonner };\n","import {\n useTheme\n} from \"./chunk-7DFA2APW.js\";\n\n// src/Toaster.tsx\nimport { Toaster as SonnerToaster } from \"sonner\";\nimport { jsx } from \"react/jsx-runtime\";\nvar Toaster = ({\n richColors = true,\n closeButton = true,\n ...rest\n}) => {\n const { resolved } = useTheme();\n return /* @__PURE__ */ jsx(\n SonnerToaster,\n {\n theme: resolved,\n richColors,\n closeButton,\n ...rest\n }\n );\n};\nexport {\n Toaster\n};\n//# sourceMappingURL=Toaster.js.map","// Pure string helpers: escape, dates, ticket/type/priority labels, and\n// Orbit's markdown renderer. Its fence rules are a contract: ss-intake\n// escapes strangers' text for them (a fence opens on /^\\s*```/ and closes\n// only on /^\\s*```\\s*$/). The renderer escapes everything it is given, so\n// what it returns is safe to set as HTML.\n\n/** A value as text: strings and numbers as themselves, anything else as nothing. */\nfunction text(value: unknown): string {\n return typeof value === \"string\" ? value : typeof value === \"number\" ? String(value) : \"\";\n}\n\nexport function escapeHtml(value: unknown): string {\n return text(value)\n .replaceAll(\"&\", \"&amp;\")\n .replaceAll(\"<\", \"&lt;\")\n .replaceAll(\">\", \"&gt;\")\n .replaceAll('\"', \"&quot;\")\n .replaceAll(\"'\", \"&#039;\");\n}\n\n// UTF-8 bytes mis-decoded as CP-437 (the typical Windows-tmux artifact).\n// Ported from a local fix-newlines utility — every entry is [mojibake sequence,\n// what it should have been]. Long sequences first so shorter prefixes do not\n// eat them.\nconst MOJIBAKE_REPLACEMENTS: [string, string][] = [\n // General Punctuation (UTF-8 E2 80 XX → CP-437 \"ΓÇ\" + glyph)\n [\"ΓÇô\", \"–\"],\n [\"ΓÇö\", \"—\"],\n [\"ΓÇ£\", '\"'],\n [\"ΓÇ¥\", '\"'],\n [\"ΓÇÿ\", \"'\"],\n [\"ΓÇÖ\", \"'\"],\n [\"ΓǪ\", \"…\"],\n [\"ΓÇó\", \"•\"],\n [\"ΓÇ░\", \"‰\"],\n [\"ΓÇ╣\", \"‹\"],\n [\"ΓÇ║\", \"›\"],\n\n // Box drawing — light (UTF-8 E2 94 XX → CP-437 \"Γö\" + glyph)\n [\"ΓöÇ\", \"─\"],\n [\"Γöé\", \"│\"],\n [\"Γöî\", \"┌\"],\n [\"ΓöÉ\", \"┐\"],\n [\"Γöö\", \"└\"],\n [\"Γöÿ\", \"┘\"],\n [\"Γö£\", \"├\"],\n [\"Γöñ\", \"┤\"],\n [\"Γö¼\", \"┬\"],\n [\"Γö┤\", \"┴\"],\n [\"Γö╝\", \"┼\"],\n\n // Box drawing — heavy/double + rounded corners (UTF-8 E2 95 XX → \"Γò\" + glyph)\n [\"ΓòÉ\", \"═\"],\n [\"Γòæ\", \"║\"],\n [\"ΓòÆ\", \"╒\"],\n [\"Γòö\", \"╔\"],\n [\"Γò¡\", \"╭\"],\n [\"Γò«\", \"╮\"],\n [\"Γò»\", \"╯\"],\n [\"Γò░\", \"╰\"],\n\n // Geometric shapes (UTF-8 E2 96 XX / E2 97 XX → \"Γû\" / \"Γù\" + glyph)\n [\"Γûæ\", \"░\"],\n [\"ΓûÆ\", \"▒\"],\n [\"Γûô\", \"▓\"],\n [\"ΓûÉ\", \"▐\"],\n [\"Γûî\", \"▌\"],\n [\"ΓûÄ\", \">\"],\n [\"Γûá\", \"■\"],\n [\"Γû╝\", \"▼\"],\n [\"ΓùÅ\", \"●\"],\n [\"Γùï\", \"○\"],\n\n // Misc symbols (UTF-8 E2 9A XX → \"ΓÜ\" + glyph)\n [\"ΓÜò\", \"⚕\"],\n [\"ΓÜá\", \"⚠\"],\n [\"ΓÜí\", \"⚡\"],\n [\"ΓÜô\", \"⚓\"],\n\n // Arrows (UTF-8 E2 86 XX → \"Γå\" + glyph)\n [\"ΓåÉ\", \"←\"],\n [\"Γåæ\", \"↑\"],\n [\"ΓåÆ\", \"→\"],\n [\"Γåô\", \"↓\"],\n [\"Γåö\", \"↔\"],\n\n // Latin-1 Supplement (UTF-8 C2 XX → CP-437 \"┬\" + glyph)\n [\"┬á\", \" \"],\n [\"┬⌐\", \"©\"],\n [\"┬«\", \"®\"],\n [\"┬░\", \"°\"],\n [\"┬º\", \"§\"],\n [\"┬╖\", \"·\"],\n\n // Stray curly quotes that survived as proper Unicode; normalize to ASCII\n // straight quotes so pasted terminal/log text stays consistent.\n [\"“\", '\"'],\n [\"”\", '\"'],\n [\"‘\", \"'\"],\n [\"’\", \"'\"],\n];\n\nfunction fixMojibake(text: string): string {\n if (!text) return text;\n let out = text;\n for (const [from, to] of MOJIBAKE_REPLACEMENTS) {\n out = out.split(from).join(to);\n }\n return out;\n}\n\n/**\n * Repair common mojibake and normalize line endings without disturbing the\n * author's indentation or soft line breaks. Use this on inbound text before\n * saving (so the DB stays clean going forward) and again before rendering (so\n * existing dirty rows display fixed without a migration).\n */\nexport function cleanText(value: unknown): string {\n if (!value) return \"\";\n return fixMojibake(text(value)).replace(/\\r\\n?/g, \"\\n\");\n}\n\nexport function renderPreservedText(value: unknown): string {\n return escapeHtml(cleanText(value));\n}\n\nconst SAFE_LINK_PROTOCOLS = new Set([\"http:\", \"https:\", \"mailto:\", \"tel:\"]);\n\nfunction sanitizeMarkdownUrl(value: string): string {\n const href = value.trim();\n if (!href) return \"\";\n\n // Collapse control characters/whitespace before checking the scheme so inputs\n // like `java\\nscript:` or `jav\\tascript:` cannot bypass the blocklist.\n const compact = href.replace(/[\\u0000-\\u001f\\u007f\\s]+/g, \"\").toLowerCase();\n if (/^(?:javascript|data|vbscript):/.test(compact)) return \"\";\n\n const scheme = compact.match(/^([a-z][a-z0-9+.-]*):/);\n if (scheme && !SAFE_LINK_PROTOCOLS.has(`${scheme[1]}:`)) return \"\";\n\n return href;\n}\n\nfunction renderEmphasis(text: string): string {\n let html = escapeHtml(text);\n html = html.replace(/(\\*\\*|__)(?=\\S)([\\s\\S]*?\\S)\\1/g, \"<strong>$2</strong>\");\n html = html.replace(/(\\*|_)(?=\\S)([^*_]*?\\S)\\1/g, \"<em>$2</em>\");\n return html;\n}\n\nfunction renderLinksAndEmphasis(text: string): string {\n const linkPattern = /\\[([^\\]\\n]+)\\]\\(([^)\\s]+)(?:\\s+\"[^\"]*\")?\\)/g;\n let html = \"\";\n let lastIndex = 0;\n let match: RegExpExecArray | null;\n\n while ((match = linkPattern.exec(text))) {\n html += renderEmphasis(text.slice(lastIndex, match.index));\n\n const labelHtml = renderEmphasis(match[1] ?? \"\");\n const href = sanitizeMarkdownUrl(match[2] ?? \"\");\n html += href\n ? `<a href=\"${escapeHtml(href)}\" target=\"_blank\" rel=\"noopener noreferrer\">${labelHtml}</a>`\n : labelHtml;\n\n lastIndex = match.index + match[0].length;\n }\n\n html += renderEmphasis(text.slice(lastIndex));\n return html;\n}\n\nfunction renderInlineMarkdown(value: unknown): string {\n const source = text(value);\n let html = \"\";\n let cursor = 0;\n\n while (cursor < source.length) {\n const codeStart = source.indexOf(\"`\", cursor);\n if (codeStart === -1) {\n html += renderLinksAndEmphasis(source.slice(cursor));\n break;\n }\n\n const codeEnd = source.indexOf(\"`\", codeStart + 1);\n if (codeEnd === -1) {\n html += renderLinksAndEmphasis(source.slice(cursor));\n break;\n }\n\n html += renderLinksAndEmphasis(source.slice(cursor, codeStart));\n html += `<code>${escapeHtml(source.slice(codeStart + 1, codeEnd))}</code>`;\n cursor = codeEnd + 1;\n }\n\n return html;\n}\n\nfunction renderParagraph(lines: string[]): string {\n return `<p>${renderInlineMarkdown(lines.join(\"\\n\")).replaceAll(\"\\n\", \"<br>\")}</p>`;\n}\n\nfunction renderTaskItem(rawContent: string): { checked: boolean; html: string } | null {\n // GFM-style `- [ ] text` or `- [x] text`. We render as a disabled checkbox\n // followed by the inline-rendered remainder. The list itself gets a\n // `task-list` class so CSS can drop the default bullet.\n const match = rawContent.match(/^\\[( |x|X)\\]\\s+(.*)$/);\n if (!match) return null;\n const checked = (match[1] ?? \"\").toLowerCase() === \"x\";\n const body = renderInlineMarkdown((match[2] ?? \"\").trim()).replaceAll(\"\\n\", \"<br>\");\n return {\n checked,\n html: `<input type=\"checkbox\" disabled${checked ? \" checked\" : \"\"}> ${body}`,\n };\n}\n\n/** Quotes nest this deep at most; deeper, the rest is plain text (a thousand `>` must never exhaust the stack). */\nexport const MAX_QUOTE_DEPTH = 32;\n\nexport function renderMarkdown(value: unknown): string {\n return renderBlocks(value, 0);\n}\n\nfunction renderBlocks(value: unknown, depth: number): string {\n // Mojibake repair runs at render time too so existing dirty rows display\n // cleanly without a backfill. cleanText also normalizes line endings.\n const source = cleanText(value);\n if (!source.trim()) return \"\";\n\n const blocks: string[] = [];\n const lines = source.split(\"\\n\");\n let paragraph: string[] = [];\n let list: { type: \"ol\" | \"ul\"; items: { html: string; taskClass?: string }[]; taskList: boolean } | null = null;\n let blockquote: string[] | null = null;\n\n const flushParagraph = () => {\n if (!paragraph.length) return;\n blocks.push(renderParagraph(paragraph));\n paragraph = [];\n };\n\n const flushList = () => {\n if (!list) return;\n const classAttr = list.taskList ? ' class=\"task-list\"' : \"\";\n blocks.push(\n `<${list.type}${classAttr}>${list.items\n .map((item) => `<li${item.taskClass ? ` class=\"${item.taskClass}\"` : \"\"}>${item.html}</li>`)\n .join(\"\")}</${list.type}>`\n );\n list = null;\n };\n\n const flushBlockquote = () => {\n if (!blockquote) return;\n const quoted = blockquote.join(\"\\n\");\n blocks.push(`<blockquote>${depth + 1 < MAX_QUOTE_DEPTH ? renderBlocks(quoted, depth + 1) : `<p>${renderPreservedText(quoted).replaceAll(\"\\n\", \"<br>\")}</p>`}</blockquote>`);\n blockquote = null;\n };\n\n const flushAll = () => {\n flushParagraph();\n flushList();\n flushBlockquote();\n };\n\n for (let i = 0; i < lines.length; i += 1) {\n const line = lines[i] ?? \"\";\n\n if (/^\\s*```/.test(line)) {\n flushAll();\n const codeLines: string[] = [];\n i += 1;\n while (i < lines.length && !/^\\s*```\\s*$/.test(lines[i] ?? \"\")) {\n codeLines.push(lines[i] ?? \"\");\n i += 1;\n }\n blocks.push(`<pre><code>${escapeHtml(codeLines.join(\"\\n\"))}</code></pre>`);\n continue;\n }\n\n // Horizontal rule: a line of three+ dashes / asterisks / underscores.\n if (/^\\s*(?:-\\s*){3,}\\s*$/.test(line) || /^\\s*(?:\\*\\s*){3,}\\s*$/.test(line) || /^\\s*(?:_\\s*){3,}\\s*$/.test(line)) {\n flushAll();\n blocks.push(\"<hr>\");\n continue;\n }\n\n // ATX header: 1-6 # followed by a space and content.\n const header = line.match(/^\\s{0,3}(#{1,6})\\s+(.+?)\\s*#*\\s*$/);\n if (header) {\n flushAll();\n const level = (header[1] ?? \"#\").length;\n blocks.push(`<h${level}>${renderInlineMarkdown(header[2])}</h${level}>`);\n continue;\n }\n\n // Blockquote: `> ...`. We collect consecutive `>` lines, strip the leading\n // marker, and recurse so quoted content can itself contain lists/headers.\n const quoteMatch = line.match(/^\\s{0,3}>\\s?(.*)$/);\n if (quoteMatch) {\n flushParagraph();\n flushList();\n if (!blockquote) blockquote = [];\n blockquote.push(quoteMatch[1] ?? \"\");\n continue;\n }\n if (blockquote && !line.trim()) {\n flushBlockquote();\n continue;\n }\n flushBlockquote();\n\n if (!line.trim()) {\n flushParagraph();\n flushList();\n continue;\n }\n\n const ordered = line.match(/^\\s*\\d+[.)]\\s+(.+)$/);\n const unordered = line.match(/^\\s*[-*+]\\s+(.+)$/);\n if (ordered || unordered) {\n flushParagraph();\n const type = ordered ? \"ol\" : \"ul\";\n const content = ((ordered ?? unordered)?.[1] ?? \"\").trim();\n\n let task: { checked: boolean; html: string } | null = null;\n if (unordered) task = renderTaskItem(content);\n\n if (!list || list.type !== type || list.taskList !== Boolean(task)) {\n flushList();\n list = { type, items: [], taskList: Boolean(task) };\n }\n\n if (task) {\n list.items.push({\n html: task.html,\n taskClass: task.checked ? \"task-item task-item-done\" : \"task-item\",\n });\n } else {\n list.items.push({\n html: renderInlineMarkdown(content).replaceAll(\"\\n\", \"<br>\"),\n });\n }\n continue;\n }\n\n flushList();\n paragraph.push(line);\n }\n\n flushAll();\n\n return blocks.join(\"\");\n}\n\nexport function formatDate(value: string | null | undefined): string {\n if (!value) return \"\";\n return new Intl.DateTimeFormat(undefined, {\n month: \"short\",\n day: \"numeric\",\n hour: \"numeric\",\n minute: \"2-digit\"\n }).format(new Date(value));\n}\n\n/** Richer timestamp for the detail pane “Updated” line (refreshes after every save). */\nexport function formatDateDetail(value: string | null | undefined): string {\n if (!value) return \"\";\n return new Intl.DateTimeFormat(undefined, {\n year: \"numeric\",\n month: \"short\",\n day: \"numeric\",\n hour: \"numeric\",\n minute: \"2-digit\",\n second: \"2-digit\"\n }).format(new Date(value));\n}\n\nexport function ticketLabel(ticket: { number: number | string }): string {\n return `#${ticket.number}`;\n}\n\nexport function stateClassFor(ticketOrState: { state_role?: string | null; role?: string | null; state_name?: string | null; name?: string | null } | null | undefined): string {\n const source =\n ticketOrState?.state_role || ticketOrState?.role || ticketOrState?.state_name || ticketOrState?.name || \"state\";\n return source\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, \"-\")\n .replace(/^-|-$/g, \"\") || \"state\";\n}\n\nexport type TicketType = \"epic\" | \"feature\" | \"task\" | \"bug\";\n\nexport function canonicalTicketType(type: unknown): TicketType {\n if (type === \"epic\" || type === \"feature\" || type === \"bug\" || type === \"task\") return type;\n return \"task\";\n}\n\n// Short label for dense surfaces (card pills, child-card pills).\nexport function typeLabel(type: unknown): string {\n const labels: Record<TicketType, string> = {\n epic: \"Epic\",\n feature: \"Feature\",\n task: \"Task\",\n bug: \"Bug\"\n };\n return labels[canonicalTicketType(type)];\n}\n\n// Long, hierarchy-aware label for dropdowns where we have the room.\nexport function typeLabelLong(type: unknown): string {\n const labels: Record<TicketType, string> = {\n epic: \"Epic\",\n feature: \"Feature\",\n task: \"Task\",\n bug: \"Bug\"\n };\n return labels[canonicalTicketType(type)];\n}\n\nexport function priorityLabel(priority: unknown): string {\n const labels: Record<number, string> = {\n 0: \"MAYBE\",\n 1: \"LOW\",\n 2: \"MED\",\n 3: \"HIGH\",\n 4: \"URGENT\"\n };\n return labels[Number(priority)] || \"MED\";\n}\n\n/** Lowercase key used for CSS class targeting: `priority-maybe`, `priority-urgent`, etc. */\nexport function priorityKeyFor(priority: unknown): string {\n const keys = [\"maybe\", \"low\", \"med\", \"high\", \"urgent\"];\n const n = Number(priority);\n return keys[Number.isFinite(n) ? Math.max(0, Math.min(4, Math.trunc(n))) : 2] ?? \"med\";\n}\n","const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = ((createState) => createState ? createStoreImpl(createState) : createStoreImpl);\n\nexport { createStore };\n","import React from 'react';\nimport { createStore } from 'zustand/vanilla';\n\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity) {\n const slice = React.useSyncExternalStore(\n api.subscribe,\n React.useCallback(() => selector(api.getState()), [api, selector]),\n () => selector(api.getInitialState())\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n const api = createStore(createState);\n const useBoundStore = (selector) => useStore(api, selector);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = ((createState) => createState ? createImpl(createState) : createImpl);\n\nexport { create, useStore };\n","const isIterable = (obj) => Symbol.iterator in obj;\nconst hasIterableEntries = (value) => (\n // HACK: avoid checking entries type\n \"entries\" in value\n);\nconst compareEntries = (valueA, valueB) => {\n const mapA = valueA instanceof Map ? valueA : new Map(valueA.entries());\n const mapB = valueB instanceof Map ? valueB : new Map(valueB.entries());\n if (mapA.size !== mapB.size) {\n return false;\n }\n for (const [key, value] of mapA) {\n if (!mapB.has(key) || !Object.is(value, mapB.get(key))) {\n return false;\n }\n }\n return true;\n};\nconst compareIterables = (valueA, valueB) => {\n const iteratorA = valueA[Symbol.iterator]();\n const iteratorB = valueB[Symbol.iterator]();\n let nextA = iteratorA.next();\n let nextB = iteratorB.next();\n while (!nextA.done && !nextB.done) {\n if (!Object.is(nextA.value, nextB.value)) {\n return false;\n }\n nextA = iteratorA.next();\n nextB = iteratorB.next();\n }\n return !!nextA.done && !!nextB.done;\n};\nfunction shallow(valueA, valueB) {\n if (Object.is(valueA, valueB)) {\n return true;\n }\n if (typeof valueA !== \"object\" || valueA === null || typeof valueB !== \"object\" || valueB === null) {\n return false;\n }\n if (Object.getPrototypeOf(valueA) !== Object.getPrototypeOf(valueB)) {\n return false;\n }\n if (isIterable(valueA) && isIterable(valueB)) {\n if (hasIterableEntries(valueA) && hasIterableEntries(valueB)) {\n return compareEntries(valueA, valueB);\n }\n return compareIterables(valueA, valueB);\n }\n return compareEntries(\n { entries: () => Object.entries(valueA) },\n { entries: () => Object.entries(valueB) }\n );\n}\n\nexport { shallow };\n","import React from 'react';\nimport { shallow } from 'zustand/vanilla/shallow';\n\nfunction useShallow(selector) {\n const prev = React.useRef(void 0);\n return (state) => {\n const next = selector(state);\n return shallow(prev.current, next) ? prev.current : prev.current = next;\n };\n}\n\nexport { useShallow };\n","// The app's addresses, in the hash so the app works wherever it is mounted\n// (`/`, the site's `/app/`, a static file): `#/b/<slug>` a board,\n// `#/b/<slug>/t/<ticket id>` a card, `#/b/<slug>/settings/<tab>` Settings.\n\nexport const SETTINGS_TABS = [\"lanes\", \"appearance\", \"archive\", \"notes\", \"journal\", \"ai\", \"data\"] as const;\nexport type SettingsTab = (typeof SETTINGS_TABS)[number];\n\nexport function isSettingsTab(value: unknown): value is SettingsTab {\n return typeof value === \"string\" && (SETTINGS_TABS as readonly string[]).includes(value);\n}\n\nexport function normalizeSettingsTab(value: unknown): SettingsTab {\n return isSettingsTab(value) ? value : \"lanes\";\n}\n\nexport interface Route {\n boardSlug: string;\n view: \"board\" | \"ticket\" | \"settings\";\n ticketId: string;\n tab: SettingsTab | \"\";\n}\n\nexport const EMPTY_ROUTE: Route = Object.freeze({ boardSlug: \"\", view: \"board\", ticketId: \"\", tab: \"\" });\n\nfunction decodeSegment(value: string): string {\n try {\n return decodeURIComponent(value);\n } catch {\n return value;\n }\n}\n\n/** The route a hash names, or null for none (`#`, `#/` or an address that isn't one). */\nexport function parseHash(hash: string): Route | null {\n const parts = hash.replace(/^#/, \"\").replace(/^\\/+/, \"\").replace(/\\/+$/, \"\").split(\"/\").filter(Boolean);\n if (!parts.length) return null;\n const out: Route = { ...EMPTY_ROUTE };\n let i = 0;\n if (parts[0] === \"b\") {\n if (!parts[1]) return null;\n out.boardSlug = decodeSegment(parts[1]);\n i = 2;\n } else if (parts[0] !== \"t\" && parts[0] !== \"settings\") {\n return null;\n }\n const at = parts[i];\n const next = parts[i + 1];\n if (at === \"t\" && next) {\n out.view = \"ticket\";\n out.ticketId = decodeSegment(next);\n } else if (at === \"settings\") {\n out.view = \"settings\";\n const tab = next ? decodeSegment(next) : \"\";\n if (isSettingsTab(tab)) out.tab = tab;\n }\n return out;\n}\n\nexport function buildHash({ boardSlug, view, ticketId, tab }: Route): string {\n const segs: string[] = [];\n if (boardSlug) segs.push(\"b\", encodeURIComponent(boardSlug));\n if (view === \"ticket\" && ticketId) segs.push(\"t\", encodeURIComponent(ticketId));\n else if (view === \"settings\") {\n segs.push(\"settings\");\n if (tab) segs.push(tab);\n }\n return `#/${segs.join(\"/\")}`;\n}\n","// What the web app knows, in two zustand stores, and the one object that\n// keeps them: OrbitApp. The board store holds the board as Orbit last\n// answered (bootstrap), fed by the client and its live changes; the UI store\n// holds what the person has open. Components read both through selectors, so\n// a change redraws only the components whose slice changed.\n\nimport { createStore } from \"zustand/vanilla\";\nimport type { StoreApi } from \"zustand/vanilla\";\nimport type { Bootstrap, BootstrapTicket } from \"../../../src/core/bootstrap.ts\";\nimport type { Board, State } from \"../../../src/core/model.ts\";\nimport type { StreamState } from \"../../../src/client/types.ts\";\nimport { EMPTY_ROUTE, normalizeSettingsTab } from \"../lib/routes.ts\";\nimport type { Route, SettingsTab } from \"../lib/routes.ts\";\n\nexport type Ticket = BootstrapTicket;\n\nexport interface BoardState {\n /** The last bootstrap; unchanged tickets keep their objects from one read to the next. */\n data: Bootstrap | null;\n boardId: string;\n boardSlug: string;\n /** The current board's cards per lane id, in the board's order; an unchanged lane keeps its array. */\n lanes: Record<string, Ticket[]>;\n /** The live stream's state, for its notice. */\n stream: StreamState;\n}\n\nexport type Popover = \"board-menu\" | \"create\" | \"notes\" | \"quick-menu\" | null;\nexport type BoardMenuPane = \"list\" | \"new\" | \"export\";\n\nexport interface CardMenu {\n ticketId: string;\n x: number;\n y: number;\n}\n\nexport interface UiState {\n route: Route;\n /** Settings' last tab (mab_settings_tab). */\n settingsTab: SettingsTab;\n /** Show the priority pill on cards (mab_show_priority). */\n showPriority: boolean;\n /** Cards opened on the board, by id. */\n expanded: Record<string, true>;\n /** The one topbar popover open, if any. */\n popover: Popover;\n boardMenuPane: BoardMenuPane;\n /** The lane New Card was opened for (\"\" for the default). */\n createLaneId: string;\n helpOpen: boolean;\n cardMenu: CardMenu | null;\n}\n\nfunction read(key: string): string | null {\n try {\n return localStorage.getItem(key);\n } catch {\n return null;\n }\n}\n\nexport function createBoardStore(): StoreApi<BoardState> {\n return createStore<BoardState>(() => ({ data: null, boardId: \"\", boardSlug: \"\", lanes: {}, stream: \"connecting\" }));\n}\n\nexport function createUiStore(): StoreApi<UiState> {\n return createStore<UiState>(() => ({\n route: EMPTY_ROUTE,\n settingsTab: normalizeSettingsTab(read(\"mab_settings_tab\")),\n showPriority: read(\"mab_show_priority\") !== \"false\",\n expanded: {},\n popover: null,\n boardMenuPane: \"list\",\n createLaneId: \"\",\n helpOpen: false,\n cardMenu: null\n }));\n}\n\n/** The board to show: the one asked for (by id, then slug), else Orbit's active board, else the first. */\nexport function pickBoard(data: Bootstrap, boardId: string, boardSlug: string): Board | null {\n const boards = data.boards;\n return (\n (boardId ? boards.find((b) => b.id === boardId) : undefined) ??\n (boardSlug ? (boards.find((b) => b.slug === boardSlug) ?? boards.find((b) => b.id === boardSlug)) : undefined) ??\n boards.find((b) => b.id === data.active_board_id) ??\n boards[0] ??\n null\n );\n}\n\nconst sameJson = (a: unknown, b: unknown): boolean => JSON.stringify(a) === JSON.stringify(b);\n\n/**\n * The new bootstrap with every ticket that didn't change kept as the object\n * the board already holds, and each lane's array kept when its cards are the\n * same: what lets a live change redraw only what it changed.\n */\nexport function shareBoard(previous: BoardState, data: Bootstrap, boardId: string): Pick<BoardState, \"data\" | \"lanes\"> {\n const before = new Map((previous.data?.tickets ?? []).map((t) => [t.id, t]));\n const tickets = data.tickets.map((ticket) => {\n const old = before.get(ticket.id);\n return old && old.updated_at === ticket.updated_at && sameJson(old, ticket) ? old : ticket;\n });\n const lanes: Record<string, Ticket[]> = {};\n for (const state of data.states) if (state.board_id === boardId) lanes[state.id] = [];\n for (const ticket of tickets) {\n if (ticket.board_id !== boardId) continue;\n lanes[ticket.state_id]?.push(ticket);\n }\n for (const [id, list] of Object.entries(lanes)) {\n const old = previous.lanes[id];\n if (old && old.length === list.length && old.every((t, i) => t === list[i])) lanes[id] = old;\n }\n return { data: { ...data, tickets }, lanes };\n}\n\nexport function isAiReadyState(state: Pick<State, \"role\" | \"name\"> | null | undefined): boolean {\n return state?.role === \"ai_ready\" || state?.name === \"AI Ready\";\n}\n","// The app's controller for the components under it, and hooks that read its\n// stores through selectors. A selector that builds a new array or object\n// each time goes through useShallow, so the component redraws only when\n// what it picked changed.\n\nimport { createContext, use } from \"react\";\nimport { useStore } from \"zustand\";\nimport { useShallow } from \"zustand/shallow\";\nimport type { Board, State } from \"../../../src/core/model.ts\";\nimport type { OrbitApp } from \"./app.ts\";\nimport { isAiReadyState } from \"./stores.ts\";\nimport type { BoardState, Ticket, UiState } from \"./stores.ts\";\n\nexport const OrbitContext = createContext<OrbitApp | null>(null);\n\nexport function useOrbit(): OrbitApp {\n const app = use(OrbitContext);\n if (!app) throw new Error(\"useOrbit needs an OrbitBoardView around it\");\n return app;\n}\n\nexport function useBoard<T>(selector: (state: BoardState) => T): T {\n return useStore(useOrbit().board, selector);\n}\n\nexport function useUi<T>(selector: (state: UiState) => T): T {\n return useStore(useOrbit().ui, selector);\n}\n\nexport function currentBoardOf(state: BoardState): Board | undefined {\n return state.data?.boards.find((b) => b.id === state.boardId);\n}\n\n/** The board being shown. */\nexport function useCurrentBoard(): Board | undefined {\n return useBoard(currentBoardOf);\n}\n\n/** The current board's lanes, in order. */\nexport function useBoardStates(): State[] {\n return useBoard(useShallow((s) => (s.data?.states ?? []).filter((state) => state.board_id === s.boardId)));\n}\n\n/** The lanes the board shows: AI Ready only on a board with agents. */\nexport function useVisibleStates(): State[] {\n return useBoard(\n useShallow((s) => {\n const states = (s.data?.states ?? []).filter((state) => state.board_id === s.boardId);\n return currentBoardOf(s)?.ai_enabled !== 0 ? states : states.filter((state) => !isAiReadyState(state));\n })\n );\n}\n\n/** The lanes a card may be moved to; a card already in AI Ready keeps it as a choice. */\nexport function selectableStates(states: State[], board: Board | undefined, currentStateId = \"\"): State[] {\n if (board?.ai_enabled !== 0) return states;\n return states.filter((state) => !isAiReadyState(state) || state.id === currentStateId);\n}\n\n/** The current board's cards (archived ones aren't in the bootstrap). */\nexport function useBoardTickets(): Ticket[] {\n return useBoard(useShallow((s) => (s.data?.tickets ?? []).filter((t) => t.board_id === s.boardId)));\n}\n\n/** One card of the loaded boards, by id. */\nexport function useTicket(id: string): Ticket | undefined {\n return useBoard((s) => (id ? s.data?.tickets.find((t) => t.id === id) : undefined));\n}\n\n/** Labels the current board has, for suggestions. */\nexport function useBoardLabels(): { id: string; name: string; color: string }[] {\n return useBoard(useShallow((s) => (s.data?.labels ?? []).filter((label) => label.board_id === s.boardId)));\n}\n","// Toasts, on ss-ui's Toaster (sonner). One message is said once: a drawer's\n// parallel reads failing together would otherwise stack identical toasts. A\n// toast with an action (Undo) stays its own.\n\nimport { toast as sonner } from \"sonner\";\nimport type { ExternalToast } from \"sonner\";\n\ntype Kind = \"info\" | \"success\" | \"warning\" | \"error\" | \"removed\";\n\nexport interface ToastAction {\n label: string;\n onClick: () => void;\n}\n\nfunction show(kind: Kind, message: string, options: { duration?: number; action?: ToastAction } = {}): void {\n const extra: ExternalToast = { duration: options.duration ?? 4000 };\n if (options.action) {\n const action = options.action;\n extra.action = { label: action.label, onClick: () => action.onClick() };\n } else {\n extra.id = `${kind}:${message}`;\n }\n switch (kind) {\n case \"info\":\n sonner.info(message, extra);\n break;\n case \"success\":\n sonner.success(message, extra);\n break;\n case \"warning\":\n sonner.warning(message, extra);\n break;\n case \"error\":\n sonner.error(message, extra);\n break;\n case \"removed\":\n sonner(message, extra);\n break;\n }\n}\n\nexport const toast = {\n info: (message: string, options?: { duration?: number; action?: ToastAction }) => show(\"info\", message, options),\n success: (message: string, options?: { duration?: number; action?: ToastAction }) => show(\"success\", message, options),\n warning: (message: string, options?: { duration?: number; action?: ToastAction }) => show(\"warning\", message, options),\n error: (message: string, options?: { duration?: number; action?: ToastAction }) => show(\"error\", message, options),\n removed: (message: string, options?: { duration?: number; action?: ToastAction }) => show(\"removed\", message, options)\n};\n\n/** The words of a refusal: Orbit's own message when it gave one. */\nexport function errorMessage(error: unknown): string {\n if (error instanceof Error && error.message) return error.message;\n return \"Request failed\";\n}\n\nexport function downloadJson(filename: string, value: unknown): void {\n const blob = new Blob([JSON.stringify(value, null, 2)], { type: \"application/json\" });\n const url = URL.createObjectURL(blob);\n const anchor = document.createElement(\"a\");\n anchor.href = url;\n anchor.download = filename;\n document.body.append(anchor);\n anchor.click();\n anchor.remove();\n URL.revokeObjectURL(url);\n}\n","// Moving a card to another lane by dragging it (the browser's own drag and\n// drop, as before). The board listens once, on its container; each card\n// starts and ends its own drag. A drop opens nothing: the browser follows a\n// drag with a click on the card, which is swallowed.\n//\n// The keyboard and touch have the card's menu (its context menu: the menu\n// key or Shift+F10, a long press), whose \"Move to\" moves it the same way.\n\nimport { useState } from \"react\";\nimport type { DragEvent } from \"react\";\nimport type { OrbitApp } from \"../orbit/app.ts\";\n\nexport interface CardDrag {\n start: (event: DragEvent<HTMLElement>, ticketId: string) => void;\n end: () => void;\n /** True once, for the click a drag ends with. */\n swallowClick: () => boolean;\n inFlight: () => boolean;\n /** For the board's container. */\n over: (event: DragEvent<HTMLElement>) => void;\n drop: (event: DragEvent<HTMLElement>) => void;\n}\n\nexport async function moveCard(app: OrbitApp, ticketId: string, stateId: string): Promise<void> {\n const updated = await app.call(() => app.client.tickets.update(ticketId, { state_id: stateId }, app.hint()));\n app.upsertTicket(updated);\n}\n\nexport function useCardDrag(app: OrbitApp): CardDrag {\n const [drag] = useState<CardDrag>(() => {\n let dragging = false;\n let suppress = false;\n let overColumn: Element | null = null;\n const setOver = (column: Element | null): void => {\n if (overColumn === column) return;\n overColumn?.classList.remove(\"drag-over\");\n overColumn = column;\n overColumn?.classList.add(\"drag-over\");\n };\n return {\n start: (event, ticketId) => {\n app.ui.setState({ cardMenu: null });\n dragging = true;\n event.dataTransfer.setData(\"text/plain\", ticketId);\n event.dataTransfer.effectAllowed = \"move\";\n },\n end: () => {\n dragging = false;\n setOver(null);\n suppress = true;\n // If no click follows (a drag cancelled oddly), don't eat the next real one.\n setTimeout(() => {\n suppress = false;\n }, 0);\n },\n swallowClick: () => {\n if (!suppress) return false;\n suppress = false;\n return true;\n },\n inFlight: () => dragging,\n over: (event) => {\n const column = event.target instanceof Element ? event.target.closest(\".column\") : null;\n if (!column) return;\n event.preventDefault();\n setOver(column);\n },\n drop: (event) => {\n const column = event.target instanceof Element ? event.target.closest<HTMLElement>(\".column\") : null;\n if (!column) return;\n event.preventDefault();\n setOver(null);\n const ticketId = event.dataTransfer.getData(\"text/plain\");\n const stateId = column.dataset.stateId;\n if (!ticketId || !stateId) return;\n app.closePopover(\"create\");\n moveCard(app, ticketId, stateId).catch(() => undefined);\n }\n };\n });\n return drag;\n}\n","// A card's menu (its context menu): Move to, Priority and Type, each a\n// submenu, then Open and Archive. Submenus live in the page's body, beside\n// the menu, so the menu's backdrop blur doesn't become their frame. Arrow\n// keys move through it, Right and Left go in and out of a submenu, Escape\n// goes back; a press outside, a scroll, a resize or leaving the window closes it.\n\nimport { useEffect, useEffectEvent, useLayoutEffect, useRef, useState } from \"react\";\nimport type { KeyboardEvent, ReactNode } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { canonicalTicketType, priorityLabel, typeLabel } from \"../lib/format.ts\";\nimport { useOrbit, useTicket, useUi, useVisibleStates } from \"../orbit/context.tsx\";\nimport type { OrbitApp } from \"../orbit/app.ts\";\nimport type { Ticket } from \"../orbit/stores.ts\";\nimport { toast } from \"../ui/toast.ts\";\nimport { moveCard } from \"./useCardDrag.ts\";\n\nconst MARGIN = 8;\nconst GAP = 6;\nconst HOVER_CLOSE_MS = 180;\n\ninterface Item {\n id: string;\n label: string;\n run?: () => void;\n checked?: boolean;\n disabled?: boolean;\n danger?: boolean;\n children?: Item[];\n}\n\nexport function placeMenu(x: number, y: number, width: number, height: number, vw: number, vh: number): { left: number; top: number } {\n const maxLeft = Math.max(MARGIN, vw - width - MARGIN);\n const maxTop = Math.max(MARGIN, vh - height - MARGIN);\n const left = x + width + MARGIN > vw ? x - width : x;\n const top = y + height + MARGIN > vh ? y - height : y;\n return { left: Math.min(Math.max(MARGIN, left), maxLeft), top: Math.min(Math.max(MARGIN, top), maxTop) };\n}\n\nfunction placeSubmenu(trigger: DOMRect, width: number, height: number, vw: number, vh: number): { left: number; top: number; maxHeight: number } {\n const maxLeft = Math.max(MARGIN, vw - width - MARGIN);\n const right = trigger.right + GAP;\n const leftSide = trigger.left - width - GAP;\n const fitsRight = right + width + MARGIN <= vw;\n const fitsLeft = leftSide >= MARGIN;\n const left = fitsRight || !fitsLeft ? right : leftSide;\n const maxHeight = Math.max(0, vh - MARGIN * 2);\n const maxTop = Math.max(MARGIN, vh - Math.min(height, maxHeight) - MARGIN);\n return { left: Math.min(Math.max(MARGIN, left), maxLeft), top: Math.min(Math.max(MARGIN, trigger.top - GAP), maxTop), maxHeight };\n}\n\nasync function archiveCard(app: OrbitApp, ticket: Ticket): Promise<void> {\n if (!confirm(`Archive \"${ticket.title || \"card\"}\"? You can restore it from Settings → Card Archive.`)) return;\n await app.call(() => app.client.tickets.archive(ticket.id, app.hint()));\n toast.removed(`Archived: ${ticket.title || \"card\"}`);\n await app.load();\n}\n\nfunction itemsFor(app: OrbitApp, ticket: Ticket, lanes: { id: string; name: string }[]): Item[] {\n const patch = (body: { priority?: number; type?: string }): void => {\n app.call(() => app.client.tickets.update(ticket.id, body, app.hint())).then((t) => app.upsertTicket(t), () => undefined);\n };\n return [\n { id: \"move\", label: \"Move to\", children: lanes.map((lane) => ({ id: `move:${lane.id}`, label: lane.name, checked: lane.id === ticket.state_id, disabled: lane.id === ticket.state_id, run: () => void moveCard(app, ticket.id, lane.id).catch(() => undefined) })) },\n { id: \"priority\", label: \"Priority\", children: [0, 1, 2, 3, 4].map((p) => ({ id: `priority:${p}`, label: priorityLabel(p), checked: ticket.priority === p, disabled: ticket.priority === p, run: () => patch({ priority: p }) })) },\n { id: \"type\", label: \"Type\", children: ([\"epic\", \"feature\", \"task\", \"bug\"] as const).map((t) => ({ id: `type:${t}`, label: typeLabel(t), checked: canonicalTicketType(ticket.type) === t, disabled: canonicalTicketType(ticket.type) === t, run: () => patch({ type: t }) })) },\n { id: \"open\", label: \"Open\", run: () => void app.openTicket(ticket.id) },\n { id: \"archive\", label: \"Archive\", danger: true, run: () => void archiveCard(app, ticket).catch(() => undefined) }\n ];\n}\n\nconst enabledButtons = (list: Element | null): HTMLButtonElement[] =>\n list ? [...list.querySelectorAll<HTMLButtonElement>(\":scope > .card-action-menu-item > .card-action-button\")].filter((b) => !b.disabled) : [];\n\nexport function CardActionMenu() {\n const menu = useUi((s) => s.cardMenu);\n const ticket = useTicket(menu?.ticketId ?? \"\");\n if (!menu || !ticket) return null;\n return <OpenMenu key={`${menu.ticketId}:${menu.x}:${menu.y}`} ticket={ticket} x={menu.x} y={menu.y} />;\n}\n\nfunction OpenMenu({ ticket, x, y }: { ticket: Ticket; x: number; y: number }) {\n const app = useOrbit();\n const lanes = useVisibleStates();\n const items = itemsFor(app, ticket, lanes);\n const root = useRef<HTMLDivElement>(null);\n const [openSub, setOpenSub] = useState<string | null>(null);\n const subRef = useRef<HTMLDivElement>(null);\n const closeTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n const returnTo = useRef<Element | null>(document.activeElement);\n const [place, setPlace] = useState<{ left: number; top: number } | null>(null);\n\n const close = (restore = false): void => {\n app.ui.setState({ cardMenu: null });\n if (restore && returnTo.current instanceof HTMLElement && returnTo.current.isConnected) returnTo.current.focus({ preventScroll: true });\n };\n const cancelClose = (): void => {\n if (closeTimer.current) clearTimeout(closeTimer.current);\n closeTimer.current = null;\n };\n\n useLayoutEffect(() => {\n const el = root.current;\n if (!el) return;\n const box = el.getBoundingClientRect();\n setPlace(placeMenu(x, y, box.width, box.height, innerWidth, innerHeight));\n }, [x, y]);\n useEffect(() => {\n if (place) enabledButtons(root.current?.querySelector(\".card-action-menu-list\") ?? null)[0]?.focus({ preventScroll: true });\n }, [place]);\n\n // Bound once while the menu is open; these read the latest close.\n const closeNow = useEffectEvent(() => close());\n const stopTimers = useEffectEvent(() => cancelClose());\n useEffect(() => {\n const inside = (target: EventTarget | null): boolean => target instanceof Node && Boolean(root.current?.contains(target) || subRef.current?.contains(target));\n const controller = new AbortController();\n const { signal } = controller;\n const frame = requestAnimationFrame(() => {\n document.addEventListener(\"pointerdown\", (event) => {\n if (!inside(event.target)) closeNow();\n }, { signal, capture: true });\n });\n document.addEventListener(\"scroll\", (event) => {\n if (!inside(event.target)) closeNow();\n }, { signal, capture: true, passive: true });\n addEventListener(\"resize\", () => closeNow(), { signal, passive: true });\n addEventListener(\"blur\", () => closeNow(), { signal });\n return () => {\n cancelAnimationFrame(frame);\n controller.abort();\n stopTimers();\n };\n }, []);\n\n const run = (item: Item): void => {\n if (item.disabled) return;\n if (item.children) {\n cancelClose();\n setOpenSub(item.id);\n requestAnimationFrame(() => enabledButtons(subRef.current?.querySelector(\".card-action-menu-list\") ?? null)[0]?.focus({ preventScroll: true }));\n return;\n }\n close();\n item.run?.();\n };\n\n const keyDown = (event: KeyboardEvent<HTMLElement>, inSub: boolean): void => {\n const button = event.target instanceof Element ? event.target.closest<HTMLButtonElement>(\"button.card-action-button\") : null;\n if (!button) return;\n const list = button.closest(\".card-action-menu-list\");\n const id = button.dataset.menuId ?? \"\";\n if (event.key === \"Escape\") {\n event.preventDefault();\n event.stopPropagation();\n if (inSub) {\n setOpenSub(null);\n root.current?.querySelector<HTMLButtonElement>(`[data-menu-id=\"${openSub ?? \"\"}\"]`)?.focus({ preventScroll: true });\n } else close(true);\n return;\n }\n if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n const all = enabledButtons(list);\n const at = all.indexOf(button);\n const next = at === -1 ? 0 : (at + (event.key === \"ArrowDown\" ? 1 : -1) + all.length) % all.length;\n all[next]?.focus({ preventScroll: true });\n return;\n }\n if (event.key === \"Home\" || event.key === \"End\") {\n event.preventDefault();\n const all = enabledButtons(list);\n all[event.key === \"Home\" ? 0 : all.length - 1]?.focus({ preventScroll: true });\n return;\n }\n const item = items.find((i) => i.id === id);\n if (event.key === \"ArrowRight\" && item?.children) {\n event.preventDefault();\n run(item);\n return;\n }\n if (event.key === \"ArrowLeft\" && inSub) {\n event.preventDefault();\n setOpenSub(null);\n root.current?.querySelector<HTMLButtonElement>(`[data-menu-id=\"${openSub ?? \"\"}\"]`)?.focus({ preventScroll: true });\n }\n };\n\n const sub = items.find((i) => i.id === openSub);\n return createPortal(\n <>\n <div\n ref={root}\n className=\"card-action-menu\"\n role=\"menu\"\n aria-label={`Actions for #${ticket.number} ${ticket.title || \"card\"}`.trim()}\n data-ticket-id={ticket.id}\n style={place ? { left: `${place.left}px`, top: `${place.top}px` } : { visibility: \"hidden\" }}\n onKeyDown={(event) => keyDown(event, false)}\n >\n <ItemList\n items={items}\n openId={openSub}\n onRun={run}\n onHover={(item) => {\n cancelClose();\n if (item.children) setOpenSub(item.id);\n else closeTimer.current = setTimeout(() => setOpenSub(null), HOVER_CLOSE_MS);\n }}\n onFocusItem={(item) => {\n cancelClose();\n setOpenSub(item.children ? item.id : null);\n }}\n />\n </div>\n {sub?.children ? (\n <Submenu ownerRef={root} subRef={subRef} itemId={sub.id} onEnter={cancelClose} onKeyDown={(event) => keyDown(event, true)}>\n <ItemList items={sub.children} openId={null} onRun={run} />\n </Submenu>\n ) : null}\n </>,\n document.body\n );\n}\n\nfunction Submenu({ ownerRef, subRef, itemId, onEnter, onKeyDown, children }: { ownerRef: React.RefObject<HTMLDivElement | null>; subRef: React.RefObject<HTMLDivElement | null>; itemId: string; onEnter: () => void; onKeyDown: (event: KeyboardEvent<HTMLElement>) => void; children: ReactNode }) {\n const [place, setPlace] = useState<{ left: number; top: number; maxHeight: number } | null>(null);\n useLayoutEffect(() => {\n const trigger = ownerRef.current?.querySelector(`[data-menu-id=\"${itemId}\"]`);\n const el = subRef.current;\n if (!trigger || !el) return;\n el.style.maxHeight = `${Math.max(0, innerHeight - MARGIN * 2)}px`;\n const box = el.getBoundingClientRect();\n setPlace(placeSubmenu(trigger.getBoundingClientRect(), box.width, box.height, innerWidth, innerHeight));\n }, [ownerRef, subRef, itemId]);\n return (\n <div\n ref={subRef}\n className=\"card-action-submenu is-open\"\n role=\"menu\"\n style={place ? { left: `${place.left}px`, top: `${place.top}px`, maxHeight: `${place.maxHeight}px` } : { left: 0, top: 0 }}\n onPointerEnter={onEnter}\n onPointerOver={onEnter}\n onKeyDown={onKeyDown}\n >\n {children}\n </div>\n );\n}\n\nfunction ItemList({ items, openId, onRun, onHover, onFocusItem }: { items: Item[]; openId: string | null; onRun: (item: Item) => void; onHover?: (item: Item) => void; onFocusItem?: (item: Item) => void }) {\n return (\n <ul className=\"card-action-menu-list\" role=\"none\">\n {items.map((item) => {\n const hasChildren = Boolean(item.children?.length);\n return (\n <li key={item.id} className={`card-action-menu-item${hasChildren ? \" has-submenu\" : \"\"}${item.danger ? \" is-danger\" : \"\"}${hasChildren && openId === item.id ? \" is-open\" : \"\"}`} role=\"none\" onPointerOver={() => onHover?.(item)}>\n <button\n type=\"button\"\n className=\"card-action-button\"\n role={item.checked ? \"menuitemcheckbox\" : \"menuitem\"}\n data-menu-id={item.id}\n disabled={item.disabled}\n aria-checked={item.checked ? true : undefined}\n aria-haspopup={hasChildren ? \"menu\" : undefined}\n aria-expanded={hasChildren ? openId === item.id : undefined}\n onFocus={() => onFocusItem?.(item)}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n onRun(item);\n }}\n >\n {hasChildren ? null : (\n <span className=\"card-action-check\" aria-hidden=\"true\">\n {item.checked ? \"✓\" : \"\"}\n </span>\n )}\n <span className=\"card-action-label\">{item.label}</span>\n {hasChildren ? (\n <span className=\"card-action-arrow\" aria-hidden=\"true\">\n ›\n </span>\n ) : null}\n </button>\n </li>\n );\n })}\n </ul>\n );\n}\n","// The small pictures the app draws in more than one place.\n\nimport { canonicalTicketType, priorityKeyFor, priorityLabel } from \"../lib/format.ts\";\n\nexport function CloseIcon() {\n return (\n <svg className=\"ui-icon ui-icon-x\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M6 6l12 12M18 6 6 18\" />\n </svg>\n );\n}\n\n/** Trash bin: archive and delete actions. */\nexport function TrashIcon({ size }: { size?: number }) {\n return (\n <svg\n className={size ? undefined : \"ui-icon ui-icon-trash\"}\n viewBox=\"0 0 24 24\"\n width={size}\n height={size}\n aria-hidden=\"true\"\n focusable=\"false\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M3 6h18\" />\n <path d=\"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\" />\n <path d=\"M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6\" />\n <path d=\"M10 11v6\" />\n <path d=\"M14 11v6\" />\n </svg>\n );\n}\n\nexport function RestoreIcon() {\n return (\n <svg viewBox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"M3 12a9 9 0 1 0 3-6.7\" />\n <path d=\"M3 4v5h5\" />\n </svg>\n );\n}\n\nconst TYPE_COLOURS = { epic: \"#c084fc\", feature: \"#4ade80\", bug: \"#f87171\", task: \"#60a5fa\" } as const;\n\n/** A card type's icon, in the type's colour. */\nexport function TypeIcon({ type }: { type: unknown }) {\n const canonical = canonicalTicketType(type);\n return (\n <svg className=\"card-type-icon\" viewBox=\"0 0 24 24\" style={{ color: TYPE_COLOURS[canonical] }}>\n {canonical === \"epic\" ? <path d=\"M12 2L14.5 9.5L22 12L14.5 14.5L12 22L9.5 14.5L2 12L9.5 9.5L12 2Z\" fill=\"currentColor\" /> : null}\n {canonical === \"feature\" ? <path d=\"M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2v16z\" fill=\"currentColor\" /> : null}\n {canonical === \"bug\" ? (\n <>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M12 8v4M12 16h.01\" />\n </>\n ) : null}\n {canonical === \"task\" ? (\n <>\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" />\n <path d=\"M9 12l2 2 4-4\" />\n </>\n ) : null}\n </svg>\n );\n}\n\n/** The priority pill, shaped like the type pill and coloured per priority. */\nexport function PriorityPill({ priority }: { priority: unknown }) {\n return (\n <div className=\"card-priority-id priority-pill\" data-variant={priorityKeyFor(priority)}>\n <span className=\"card-priority-label\">{priorityLabel(priority)}</span>\n </div>\n );\n}\n\n/** A card's unread mark: a dot for one change, a number for more. */\nexport function UnreadDot({ count }: { count: number }) {\n if (count <= 0) return null;\n if (count === 1) return <span className=\"card-unread-dot\" role=\"status\" aria-label=\"1 unread update\" />;\n return (\n <span className=\"card-unread-dot has-count\" role=\"status\" aria-label={`${count} unread updates`}>\n {count > 99 ? \"99+\" : count}\n </span>\n );\n}\n","// The artifact drawer's state: a markdown file a card links to (its AI plan's\n// handoff, its work summary's report), read through Orbit and shown over the\n// card. One per app, so two mounted board views never share one.\n\nimport { createStore } from \"zustand/vanilla\";\nimport type { StoreApi } from \"zustand/vanilla\";\nimport { isOrbitError } from \"../../../src/core/errors.ts\";\nimport { escapeHtml, renderMarkdown } from \"../lib/format.ts\";\nimport type { OrbitApp } from \"../orbit/app.ts\";\nimport { toast } from \"../ui/toast.ts\";\n\nexport type ArtifactBody = { kind: \"loading\" } | { kind: \"markdown\"; html: string } | { kind: \"error\"; html: string };\n\nexport interface ArtifactState {\n open: boolean;\n title: string;\n path: string;\n body: ArtifactBody;\n /** Bumped on each open, so a late answer for an earlier one is dropped. */\n seq: number;\n}\n\nconst stores = new WeakMap<OrbitApp, StoreApi<ArtifactState>>();\n\nexport function artifactStore(app: OrbitApp): StoreApi<ArtifactState> {\n let store = stores.get(app);\n if (!store) {\n store = createStore<ArtifactState>(() => ({ open: false, title: \"Artifact\", path: \"\", body: { kind: \"loading\" }, seq: 0 }));\n stores.set(app, store);\n }\n return store;\n}\n\nexport function closeArtifact(app: OrbitApp): void {\n artifactStore(app).setState({ open: false });\n}\n\n/** Why a file couldn't be read, with the Windows spelling of a WSL or Git Bash path. Escaped HTML. */\nfunction localPathHint(path: string, error: unknown): string {\n const code = isOrbitError(error) ? error.code : error instanceof Error && error.message ? error.message : \"Unable to load artifact\";\n const parts = [escapeHtml(code)];\n if (code === \"artifact_path_outside_allowed_roots\" || code === \"artifact_not_found\") {\n parts.push(\n \"<br><br>The Orbit server could not read that artifact path. If this webapp is hosted on another machine, the file needs to be stored on the hosted Orbit server or linked as a server-readable/repo-relative path.\"\n );\n }\n const mntDrive = /^\\/mnt\\/([a-z])\\/(.+)$/i.exec(path);\n const slashDrive = /^\\/([a-z])\\/Users\\/(.+)$/i.exec(path);\n if (mntDrive) {\n const drive = (mntDrive[1] ?? \"\").toUpperCase();\n parts.push(`<br><br>Windows spelling for this WSL path: <code>${escapeHtml(`${drive}:\\\\${(mntDrive[2] ?? \"\").replace(/\\//g, \"\\\\\")}`)}</code>`);\n } else if (slashDrive) {\n const drive = (slashDrive[1] ?? \"\").toUpperCase();\n parts.push(`<br><br>Windows spelling for this path: <code>${escapeHtml(`${drive}:\\\\Users\\\\${(slashDrive[2] ?? \"\").replace(/\\//g, \"\\\\\")}`)}</code>`);\n }\n return parts.join(\"\");\n}\n\n/** Opens the drawer on a card's file. Answers whether it could be read, so the caller can ask for another path. */\nexport async function openArtifact(app: OrbitApp, { ticketId, path, title = \"Linked artifact\" }: { ticketId: string; path: string; title?: string }): Promise<boolean> {\n if (!ticketId || !path) return false;\n const store = artifactStore(app);\n const seq = store.getState().seq + 1;\n store.setState({ open: true, title, path, body: { kind: \"loading\" }, seq });\n try {\n const result = await app.call(() => app.client.artifacts.read(ticketId, path, app.hint()));\n if (store.getState().seq === seq) {\n const html = renderMarkdown(result.content || \"\") || `<p>${escapeHtml(\"Empty artifact.\")}</p>`;\n store.setState({ path: result.path || path, body: { kind: \"markdown\", html } });\n }\n return true;\n } catch (error) {\n if (store.getState().seq === seq) store.setState({ body: { kind: \"error\", html: localPathHint(path, error) } });\n toast.error(\"Artifact could not be opened\");\n return false;\n }\n}\n","// The artifact drawer: a card's linked markdown file, over the card's drawer.\n// It slides in when opened (openArtifact), and out on its close button, its\n// backdrop or Escape; Escape closes it alone, leaving the card open.\n\nimport { useEffect, useState } from \"react\";\nimport { useStore } from \"zustand\";\nimport { useOrbit } from \"../orbit/context.tsx\";\nimport { CloseIcon } from \"../ui/icons.tsx\";\nimport { artifactStore, closeArtifact } from \"./artifact.ts\";\n\nexport function ArtifactDrawer() {\n const app = useOrbit();\n const store = artifactStore(app);\n const open = useStore(store, (s) => s.open);\n const title = useStore(store, (s) => s.title);\n const path = useStore(store, (s) => s.path);\n const body = useStore(store, (s) => s.body);\n // In the page (not hidden): from opening until the slide out has finished.\n const [present, setPresent] = useState(false);\n if (open && !present) setPresent(true);\n // The classes that slide it in go on a frame after it's in the page, so the move animates.\n const [slid, setSlid] = useState(false);\n\n useEffect(() => {\n const frame = requestAnimationFrame(() => setSlid(open));\n if (open) return () => cancelAnimationFrame(frame);\n const timer = setTimeout(() => setPresent(false), 260);\n return () => {\n cancelAnimationFrame(frame);\n clearTimeout(timer);\n };\n }, [open]);\n\n useEffect(() => {\n if (!open) return;\n const onKey = (event: KeyboardEvent): void => {\n if (event.key !== \"Escape\") return;\n // Marked handled, so the app's Escape doesn't close the card under it too.\n event.preventDefault();\n closeArtifact(app);\n };\n document.addEventListener(\"keydown\", onKey, true);\n return () => document.removeEventListener(\"keydown\", onKey, true);\n }, [app, open]);\n\n const visible = open && slid;\n return (\n <>\n <div id=\"artifactDrawerBackdrop\" className={`artifact-drawer-backdrop${visible ? \" is-visible\" : \"\"}`} hidden={!present} aria-hidden=\"true\" onClick={() => closeArtifact(app)} />\n <aside id=\"artifactDrawer\" className={`artifact-drawer${visible ? \" is-open\" : \"\"}`} hidden={!present} aria-label=\"Linked markdown artifact\">\n <header className=\"artifact-drawer-header\">\n <div className=\"artifact-drawer-title-block\">\n <h2 id=\"artifactDrawerTitle\" className=\"artifact-drawer-title\">\n {title}\n </h2>\n <p id=\"artifactDrawerMeta\" className=\"artifact-drawer-meta\">\n {path}\n </p>\n </div>\n <button type=\"button\" id=\"artifactDrawerCloseBtn\" className=\"drawer-close artifact-drawer-close\" aria-label=\"Close artifact\" onClick={() => closeArtifact(app)}>\n <CloseIcon />\n </button>\n </header>\n <div id=\"artifactDrawerBody\" className=\"artifact-drawer-body\">\n {present && body.kind === \"loading\" ? <p className=\"artifact-drawer-loading\">Loading artifact…</p> : null}\n {present && body.kind === \"markdown\" ? <article className=\"markdown-body artifact-markdown-body\" dangerouslySetInnerHTML={{ __html: body.html }} /> : null}\n {present && body.kind === \"error\" ? <p className=\"artifact-drawer-error\" dangerouslySetInnerHTML={{ __html: body.html }} /> : null}\n </div>\n </aside>\n </>\n );\n}\n","// The edition this build is, and what it can do. The browser edition runs\n// Orbit's core in the page: several boards and live updates between tabs,\n// and no agents, folder picker or self-update.\n\nexport const edition: \"full\" | \"preview\" = __ORBIT_EDITION__;\nexport const version: string = __ORBIT_VERSION__;\n\nexport const features = {\n ai: edition === \"full\",\n attachments: true\n} as const;\n","// Catches what a part of the app throws while drawing, so one card (a\n// description deeper than the renderer allows, say) can't take the whole\n// app down with it: that part shows its fallback instead.\n\nimport { Component } from \"react\";\nimport type { ErrorInfo, ReactNode } from \"react\";\n\ninterface Props {\n /** What to show in place of the children once they have thrown. */\n fallback: ReactNode;\n children: ReactNode;\n}\n\nexport class ErrorBoundary extends Component<Props, { failed: boolean }> {\n override state = { failed: false };\n\n static getDerivedStateFromError(): { failed: boolean } {\n return { failed: true };\n }\n\n override componentDidCatch(error: Error, info: ErrorInfo): void {\n console.error(\"Orbit couldn't draw part of the page:\", error, info.componentStack);\n }\n\n override render(): ReactNode {\n return this.state.failed ? this.props.fallback : this.props.children;\n }\n}\n\n/** The whole workspace's fallback: one plain line and a way back. */\nexport function WorkspaceFailed() {\n return (\n <div className=\"workspace-failed\" role=\"alert\">\n <p>Orbit hit a problem drawing this page. Your boards are saved.</p>\n <button type=\"button\" onClick={() => window.location.reload()}>\n Reload\n </button>\n </div>\n );\n}\n","// Per-card \"unread updates\", kept in this browser (localStorage), so no\n// server change is needed. Each card has the time its person last looked\n// (readAt) and how many changes by someone else came since (count): the card\n// shows a dot for one, a number for more.\n//\n// A card is read when its person opens it, when the change is their own, and,\n// once per board, when the board is first seen, so a first visit doesn't light\n// up every card.\n\nimport { create } from \"zustand\";\n\nconst READ_KEY = (boardId: string): string => `mab_card_read:${boardId}`;\nconst SEEDED_KEY = (boardId: string): string => `mab_card_read_seeded:${boardId}`;\n\ninterface Entry {\n readAt: string | null;\n count: number;\n}\n\nconst cache = new Map<string, Map<string, Entry>>();\n\n/** Bumped on every change; each card's selector reads its own count, so only cards whose count changed redraw. */\nconst useUnreadStore = create<{ version: number }>(() => ({ version: 0 }));\nconst changed = (): void => {\n useUnreadStore.setState((s) => ({ version: s.version + 1 }));\n};\n\nfunction normalize(raw: unknown): Entry {\n if (!raw) return { readAt: null, count: 0 };\n if (typeof raw === \"string\") return { readAt: raw, count: 0 };\n const value = raw as { readAt?: unknown; count?: unknown };\n return { readAt: typeof value.readAt === \"string\" ? value.readAt : null, count: Number(value.count) || 0 };\n}\n\nfunction mapFor(boardId: string): Map<string, Entry> {\n let entries = cache.get(boardId);\n if (entries) return entries;\n entries = new Map();\n try {\n const raw = localStorage.getItem(READ_KEY(boardId));\n if (raw) for (const [id, value] of Object.entries(JSON.parse(raw) as Record<string, unknown>)) entries.set(id, normalize(value));\n } catch {\n // Unreadable or blocked storage: start empty.\n }\n cache.set(boardId, entries);\n return entries;\n}\n\nfunction persist(boardId: string): void {\n const entries = cache.get(boardId);\n if (!entries) return;\n try {\n localStorage.setItem(READ_KEY(boardId), JSON.stringify(Object.fromEntries(entries)));\n } catch {\n // Storage full or blocked: the counts live for this visit.\n }\n changed();\n}\n\nfunction seeded(boardId: string): boolean {\n try {\n return localStorage.getItem(SEEDED_KEY(boardId)) === \"1\";\n } catch {\n return false;\n }\n}\n\nexport function unreadCount(boardId: string, ticketId: string): number {\n if (!boardId || !ticketId) return 0;\n const entry = mapFor(boardId).get(ticketId);\n // A card with no entry appeared after the board was first seen: one change.\n if (!entry) return seeded(boardId) ? 1 : 0;\n return entry.count;\n}\n\nexport function markRead(boardId: string, ticketId: string, timestamp?: string | null): void {\n if (!boardId || !ticketId) return;\n const entries = mapFor(boardId);\n const entry = entries.get(ticketId);\n if (entry && entry.count === 0 && entry.readAt && timestamp && entry.readAt >= timestamp) return;\n entries.set(ticketId, { count: 0, readAt: timestamp || entry?.readAt || null });\n persist(boardId);\n}\n\nexport function bumpUnread(boardId: string, ticketId: string): void {\n if (!boardId || !ticketId) return;\n const entries = mapFor(boardId);\n const entry = entries.get(ticketId) ?? { readAt: null, count: 0 };\n entries.set(ticketId, { ...entry, count: entry.count + 1 });\n persist(boardId);\n}\n\nexport function clearUnread(boardId: string, ticketId: string): void {\n if (!boardId || !ticketId) return;\n if (!mapFor(boardId).delete(ticketId)) return;\n persist(boardId);\n}\n\n/** The first time a board is seen, every card on it starts read. */\nexport function seedReadIfNeeded(boardId: string, tickets: readonly { id: string; updated_at?: string | null }[]): void {\n if (!boardId || seeded(boardId)) return;\n const entries = mapFor(boardId);\n for (const ticket of tickets) {\n if (!entries.has(ticket.id) && ticket.updated_at) entries.set(ticket.id, { readAt: ticket.updated_at, count: 0 });\n }\n try {\n localStorage.setItem(SEEDED_KEY(boardId), \"1\");\n } catch {\n // Blocked storage: seeded again next visit, which is harmless.\n }\n persist(boardId);\n}\n\n/** The card's unread count; the card redraws only when it changes. */\nexport function useUnreadCount(boardId: string, ticketId: string): number {\n return useUnreadStore(() => unreadCount(boardId, ticketId));\n}\n","// A card on the board: its title, number, type and priority, an unread mark,\n// and, when it has more to show, a toggle that opens its description, labels\n// and family. Pressing the card opens its drawer; dragging it moves it to\n// another lane (useCardDrag); its context menu (right-click, a long press,\n// the keyboard's menu key) has the rest.\n\nimport { ErrorBoundary } from \"../ui/ErrorBoundary.tsx\";\nimport { renderMarkdown, canonicalTicketType, priorityKeyFor, ticketLabel, typeLabel } from \"../lib/format.ts\";\nimport { useUnreadCount } from \"../lib/unread.ts\";\nimport { useOrbit, useUi } from \"../orbit/context.tsx\";\nimport type { Ticket } from \"../orbit/stores.ts\";\nimport { PriorityPill, TypeIcon, UnreadDot } from \"../ui/icons.tsx\";\nimport type { CardDrag } from \"./useCardDrag.ts\";\n\ninterface CardProps {\n ticket: Ticket;\n asEpicChild?: boolean;\n drag: CardDrag;\n}\n\nexport function Card({ ticket, asEpicChild: epicChild, drag }: CardProps) {\n // Defaults go in the body: the React Compiler skips a component with defaults in its parameters.\n const asEpicChild = epicChild ?? false;\n const app = useOrbit();\n const expanded = useUi((s) => Boolean(s.expanded[ticket.id]));\n const selected = useUi((s) => s.route.view === \"ticket\" && s.route.ticketId === ticket.id);\n const showPriority = useUi((s) => s.showPriority);\n const unread = useUnreadCount(ticket.board_id, ticket.id);\n const type = canonicalTicketType(ticket.type);\n const hasDescription = Boolean((ticket.description || \"\").trim());\n // Cards on other boards it waits on; a closed card waits on nothing.\n const waitingOn = ticket.waiting_on?.length && ticket.state_role !== \"done\" && !/^cancel/i.test(ticket.state_name) ? ticket.waiting_on : null;\n const hasExpandable = hasDescription || ticket.labels.length > 0 || Boolean(ticket.parent_ticket) || ticket.child_count > 0;\n\n const trigger = (\n <>\n {/* The spaces keep the words apart in the card's text, as a screen reader and search read it. */}\n <span className=\"ticket-number\">{ticketLabel(ticket)}</span>{\" \"}\n <div className={`card-type-id type-pill-${type}`}>\n <TypeIcon type={ticket.type} />\n <span className=\"card-type-label\">{typeLabel(ticket.type).toUpperCase()}</span>\n </div>{\" \"}\n {showPriority ? <PriorityPill priority={ticket.priority} /> : null}{\" \"}\n {ticket.nebula_url ? <span className=\"card-nebula\" role=\"img\" aria-label=\"Linked to Nebula\" title=\"Linked to a Nebula file or folder\" /> : null}\n {waitingOn ? (\n <span className=\"card-waiting\" title={`Waiting on ${waitingOn.map((other) => `${other.board_slug}#${other.number} ${other.title}`).join(\"; \")}`}>\n waits on {waitingOn[0]?.board_slug}#{waitingOn[0]?.number}\n {waitingOn.length > 1 ? ` +${waitingOn.length - 1}` : \"\"}\n </span>\n ) : null}{\" \"}\n {hasExpandable ? (\n <svg className=\"card-expand-chevron\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <path d=\"M6 9l6 6 6-6\" />\n </svg>\n ) : null}\n </>\n );\n\n return (\n <article\n className={`card type-${type} priority-${priorityKeyFor(ticket.priority)}${expanded ? \" is-expanded\" : \"\"}${asEpicChild ? \" is-epic-child\" : \"\"} ${selected ? \"selected\" : \"\"}`}\n data-variant={type}\n draggable=\"true\"\n data-ticket-id={ticket.id}\n // Reachable by Tab: Enter opens the card (its lane select moves it), and\n // the menu key or Shift+F10 opens its menu (Move to).\n tabIndex={0}\n onKeyDown={(event) => {\n if (event.key !== \"Enter\" || event.target !== event.currentTarget) return;\n event.preventDefault();\n app.closePopover(\"create\");\n void app.openTicket(ticket.id);\n }}\n onDragStart={(event) => drag.start(event, ticket.id)}\n onDragEnd={drag.end}\n onClick={(event) => {\n if ((event.target as Element).closest(\"a\")) return;\n if (drag.swallowClick()) {\n event.preventDefault();\n return;\n }\n app.closePopover(\"create\");\n void app.openTicket(ticket.id);\n }}\n onContextMenu={(event) => {\n event.preventDefault();\n event.stopPropagation();\n if (drag.inFlight()) {\n app.ui.setState({ cardMenu: null });\n return;\n }\n // A menu opened from the keyboard has no pointer: put it at the card.\n const box = event.currentTarget.getBoundingClientRect();\n const fromKeyboard = event.clientX === 0 && event.clientY === 0;\n app.closePopover(\"create\");\n app.ui.setState({ cardMenu: { ticketId: ticket.id, x: fromKeyboard ? box.left + 16 : event.clientX, y: fromKeyboard ? box.top + 16 : event.clientY } });\n }}\n >\n <UnreadDot count={unread} />\n <h3>{ticket.title}</h3>\n <div className=\"card-meta\">\n {hasExpandable ? (\n <button\n type=\"button\"\n className=\"card-expand-trigger\"\n data-variant=\"card-accordion\"\n data-card-toggle=\"\"\n aria-expanded={expanded}\n onClick={(event) => {\n event.stopPropagation();\n event.preventDefault();\n app.toggleExpanded(ticket.id);\n }}\n >\n {trigger}\n </button>\n ) : (\n <div className=\"card-expand-trigger card-expand-trigger--static\">{trigger}</div>\n )}\n </div>\n {hasExpandable && expanded ? <CardExpandable ticket={ticket} /> : null}\n </article>\n );\n}\n\n/** A description as markdown; its own component, so the boundary around it catches what the parse throws. */\nfunction CardMarkdown({ text }: { text: string }) {\n return <div className=\"card-description markdown-body\" dangerouslySetInnerHTML={{ __html: renderMarkdown(text) }} />;\n}\n\n/** What an opened card shows: the one costly part (a markdown parse), drawn only when opened. */\nfunction CardExpandable({ ticket }: { ticket: Ticket }) {\n const description = ticket.description || \"\";\n return (\n <div className=\"card-expandable\">\n {description.trim() ? (\n <ErrorBoundary fallback={<div className=\"card-description card-description-plain\">{description}</div>}>\n <CardMarkdown text={description} />\n </ErrorBoundary>\n ) : null}\n {ticket.labels.length ? (\n <div className=\"labels\">\n {ticket.labels.map((label) => (\n <span key={label.id} className=\"label\" style={{ \"--label-color\": label.color } as React.CSSProperties}>\n {label.name}\n </span>\n ))}\n </div>\n ) : null}\n {ticket.parent_ticket ? <div className=\"parent-line\">-&gt; {ticketLabel(ticket.parent_ticket)}</div> : null}\n {ticket.child_count ? (\n <div className=\"child-count\">\n {ticket.child_count} feature{ticket.child_count === 1 ? \"\" : \"s\"} inside\n </div>\n ) : null}\n </div>\n );\n}\n","// Panning the board sideways: drag its empty space, hold both mouse buttons\n// anywhere (over cards too), drag two fingers, or turn a sideways wheel. A\n// right-click on the board outside a card shows no browser menu. A pan ends\n// with a click, which is swallowed so nothing opens.\n\nimport { useEffect } from \"react\";\nimport type { RefObject } from \"react\";\n\nconst DRAG_THRESHOLD = 4;\nconst LINE_SCROLL_PX = 16;\n\nexport function useBoardPan(ref: RefObject<HTMLElement | null>): void {\n useEffect(() => {\n const board = ref.current;\n if (!board) return;\n const controller = new AbortController();\n const { signal } = controller;\n let active = false;\n let dragged = false;\n let startX = 0;\n let startScroll = 0;\n let pointerId = 0;\n const ignore = (target: EventTarget | null): boolean =>\n target instanceof Element && Boolean(target.closest(\".card\") ?? target.closest(\"a, button, input, select, textarea, [draggable='true']\"));\n\n board.addEventListener(\n \"wheel\",\n (event) => {\n if (event.defaultPrevented || event.ctrlKey) return;\n const sideways = event.deltaX || (event.shiftKey ? event.deltaY : 0);\n if (!sideways) return;\n if (!(Math.abs(sideways) >= Math.abs(event.deltaY) || event.shiftKey) || board.scrollWidth <= board.clientWidth) return;\n event.preventDefault();\n board.scrollLeft += event.deltaMode === WheelEvent.DOM_DELTA_LINE ? sideways * LINE_SCROLL_PX : event.deltaMode === WheelEvent.DOM_DELTA_PAGE ? sideways * Math.max(board.clientWidth, 1) : sideways;\n },\n { passive: false, signal }\n );\n\n board.addEventListener(\n \"pointerdown\",\n (event) => {\n if (event.button !== 0) return;\n // A fresh press clears a swallow left by a pan that ended with no click.\n dragged = false;\n if (ignore(event.target)) return;\n active = true;\n pointerId = event.pointerId;\n startX = event.clientX;\n startScroll = board.scrollLeft;\n board.classList.add(\"is-grabbing\");\n },\n { signal }\n );\n board.addEventListener(\n \"pointermove\",\n (event) => {\n if (!active || event.pointerId !== pointerId) return;\n const delta = event.clientX - startX;\n if (!dragged && Math.abs(delta) > DRAG_THRESHOLD) {\n dragged = true;\n try {\n board.setPointerCapture(pointerId);\n } catch {\n // Some browsers can't capture here; the pan still follows.\n }\n }\n if (dragged) {\n event.preventDefault();\n board.scrollLeft = startScroll - delta;\n }\n },\n { signal }\n );\n const end = (event: PointerEvent): void => {\n if (!active || event.pointerId !== pointerId) return;\n active = false;\n board.classList.remove(\"is-grabbing\");\n try {\n board.releasePointerCapture(pointerId);\n } catch {\n // Nothing was captured.\n }\n };\n board.addEventListener(\"pointerup\", end, { signal });\n board.addEventListener(\"pointercancel\", end, { signal });\n board.addEventListener(\"pointerleave\", end, { signal });\n board.addEventListener(\n \"click\",\n (event) => {\n if (!dragged) return;\n event.stopPropagation();\n event.preventDefault();\n dragged = false;\n },\n { capture: true, signal }\n );\n\n // Both mouse buttons held: pan anywhere, over cards too.\n let bothPanning = false;\n let bothLastX = 0;\n let swallowMenu = false;\n const beginBoth = (x: number): void => {\n bothPanning = true;\n bothLastX = x;\n swallowMenu = true;\n active = false;\n board.classList.add(\"is-grabbing\");\n };\n board.addEventListener(\n \"pointerdown\",\n (event) => {\n if (event.pointerType === \"mouse\" && (event.buttons & 3) === 3) beginBoth(event.clientX);\n },\n { signal }\n );\n board.addEventListener(\n \"pointermove\",\n (event) => {\n if (event.pointerType !== \"mouse\") return;\n if ((event.buttons & 3) === 3) {\n event.preventDefault();\n if (!bothPanning) {\n beginBoth(event.clientX);\n return;\n }\n const delta = event.clientX - bothLastX;\n if (delta) {\n board.scrollLeft -= delta;\n bothLastX = event.clientX;\n dragged = true;\n }\n } else if (bothPanning) {\n bothPanning = false;\n board.classList.remove(\"is-grabbing\");\n }\n },\n { signal }\n );\n board.addEventListener(\n \"pointerup\",\n (event) => {\n if (event.pointerType === \"mouse\" && bothPanning && (event.buttons & 3) !== 3) {\n bothPanning = false;\n board.classList.remove(\"is-grabbing\");\n }\n },\n { signal }\n );\n board.addEventListener(\n \"contextmenu\",\n (event) => {\n if (swallowMenu) {\n event.preventDefault();\n event.stopPropagation();\n swallowMenu = false;\n return;\n }\n const onCard = event.target instanceof Element && event.target.closest(\".card\");\n if (!onCard) {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n { capture: true, signal }\n );\n\n // Two fingers: touch events, so the browser's own two-finger scroll can be stopped.\n let touchPanning = false;\n let touchLastX = 0;\n const centre = (touches: TouchList): number => ((touches[0]?.clientX ?? 0) + (touches[1]?.clientX ?? 0)) / 2;\n board.addEventListener(\n \"touchstart\",\n (event) => {\n dragged = false;\n if (event.touches.length === 2) {\n touchPanning = true;\n touchLastX = centre(event.touches);\n active = false;\n board.classList.add(\"is-grabbing\");\n } else {\n touchPanning = false;\n }\n },\n { passive: true, signal }\n );\n board.addEventListener(\n \"touchmove\",\n (event) => {\n if (!touchPanning || event.touches.length !== 2) return;\n const x = centre(event.touches);\n const delta = x - touchLastX;\n if (delta) {\n event.preventDefault();\n board.scrollLeft -= delta;\n touchLastX = x;\n dragged = true;\n }\n },\n { passive: false, signal }\n );\n const endTouch = (event: TouchEvent): void => {\n if (event.touches.length < 2 && touchPanning) {\n touchPanning = false;\n board.classList.remove(\"is-grabbing\");\n }\n };\n board.addEventListener(\"touchend\", endTouch, { passive: true, signal });\n board.addEventListener(\"touchcancel\", endTouch, { passive: true, signal });\n return () => controller.abort();\n }, [ref]);\n}\n","// The board: a lane per state, each with its cards (epics with their\n// children under them), or the welcome when there are no boards yet.\n\nimport { useRef } from \"react\";\nimport { useShallow } from \"zustand/shallow\";\nimport type { ReactNode } from \"react\";\nimport type { State } from \"../../../src/core/model.ts\";\nimport { features } from \"../config.ts\";\nimport { canonicalTicketType, ticketLabel } from \"../lib/format.ts\";\nimport { useBoard, useOrbit, useVisibleStates } from \"../orbit/context.tsx\";\nimport type { Ticket } from \"../orbit/stores.ts\";\nimport { TypeIcon } from \"../ui/icons.tsx\";\nimport { Card } from \"./Card.tsx\";\nimport { useBoardPan } from \"./useBoardPan.ts\";\nimport { useCardDrag } from \"./useCardDrag.ts\";\nimport type { CardDrag } from \"./useCardDrag.ts\";\n\nexport function Kanban() {\n const app = useOrbit();\n const loaded = useBoard((s) => s.data !== null);\n const noBoards = useBoard((s) => s.data !== null && s.data.boards.length === 0);\n const states = useVisibleStates();\n const drag = useCardDrag(app);\n const ref = useRef<HTMLDivElement>(null);\n useBoardPan(ref);\n return (\n <div ref={ref} id=\"kanban\" className=\"kanban\" aria-live=\"polite\" onDragOver={drag.over} onDrop={drag.drop}>\n {loaded && noBoards ? <FirstRun /> : states.map((state) => <Lane key={state.id} state={state} drag={drag} />)}\n </div>\n );\n}\n\nfunction FirstRun() {\n const app = useOrbit();\n // An upgrader's boards waiting in an older Orbit's folder: the way to bring them, where they look first.\n const older = useBoard((s) => s.data?.meta.older_data === true);\n return (\n <section className=\"orbit-first-run\" aria-labelledby=\"firstRunTitle\">\n <span className=\"orbit-first-run-eyebrow\">WELCOME TO ORBIT</span>\n <h1 id=\"firstRunTitle\">A place for what you’re building.</h1>\n <p>Create a board or bring one with you.</p>\n {older ? (\n <p className=\"orbit-first-run-older\">\n Your boards from an older Orbit are in <code>~/.orbit</code>: bring them here with <code>orbit migrate</code>.\n </p>\n ) : null}\n <div className=\"orbit-first-run-actions\">\n <button type=\"button\" data-first-run=\"new\" onClick={(event) => {\n event.stopPropagation();\n app.openBoardMenu(\"new\");\n }}>\n Create a board\n </button>\n <button type=\"button\" data-variant=\"ghost\" data-first-run=\"import\" onClick={(event) => {\n event.stopPropagation();\n app.openBoardMenu(\"export\");\n }}>\n Import a board\n </button>\n </div>\n <p className=\"orbit-first-run-agents\">Then tell your AI agents once, and they keep the board with you as they work.</p>\n </section>\n );\n}\n\nconst AI_READY_TITLE = \"Cards with a goal and a “done when”, for an agent to take with orbit take\";\n\nfunction Lane({ state, drag }: { state: State; drag: CardDrag }) {\n const app = useOrbit();\n const tickets = useBoard((s) => s.lanes[state.id]);\n const epics = useBoard(useShallow((s) => (s.data?.tickets ?? []).filter((t) => t.board_id === s.boardId && canonicalTicketType(t.type) === \"epic\")));\n const isAiReady = state.name === \"AI Ready\";\n const count = tickets?.length ?? 0;\n const headingId = `lane-${state.id}`;\n return (\n <section\n className={`column lane${isAiReady ? \" column--ai-ready\" : \"\"}`}\n data-flat=\"\"\n data-accent={isAiReady ? \"ai-ready\" : undefined}\n data-state-id={state.id}\n data-state-name={state.name}\n aria-labelledby={headingId}\n >\n <div className=\"column-head lane-head\">\n <h2 id={headingId} className=\"lane-title\" title={isAiReady ? AI_READY_TITLE : undefined}>\n {isAiReady ? <span className=\"agent-dot\" aria-hidden=\"true\" /> : null}\n {state.name}\n </h2>\n <div className=\"column-head-actions lane-actions\">\n <button type=\"button\" className=\"column-add-btn\" data-variant=\"plus\" data-add-to-state={state.id} title=\"New card\" aria-label={`New card in ${state.name}`} onClick={(event) => {\n event.stopPropagation();\n app.openCreate(state.id);\n }}>\n +\n </button>\n <span className=\"count\">{count}</span>\n </div>\n </div>\n {count === 0 || !tickets ? <EmptyState laneName={state.name} /> : <LaneBody tickets={tickets} epicList={epics} drag={drag} />}\n <button type=\"button\" className=\"add-card-phantom\" data-add-to-state={state.id} onClick={(event) => {\n event.stopPropagation();\n app.openCreate(state.id);\n }}>\n + Add a card\n </button>\n </section>\n );\n}\n\n/**\n * The lane's cards, with epics in mind: an epic's children in this lane sit\n * under it; children whose epic is in another lane sit under a small header\n * naming it, so the family still shows.\n */\nfunction LaneBody({ tickets, epicList, drag }: { tickets: Ticket[]; epicList: Ticket[]; drag: CardDrag }) {\n const epics = new Map(epicList.map((t) => [t.id, t]));\n const epicsHere = new Set(tickets.filter((t) => canonicalTicketType(t.type) === \"epic\").map((t) => t.id));\n const childrenOf = new Map<string, Ticket[]>();\n for (const t of tickets) {\n if (t.parent_ticket_id && epics.has(t.parent_ticket_id)) {\n const list = childrenOf.get(t.parent_ticket_id) ?? [];\n list.push(t);\n childrenOf.set(t.parent_ticket_id, list);\n }\n }\n const done = new Set<string>();\n const blocks: ReactNode[] = [];\n for (const t of tickets) {\n if (done.has(t.id)) continue;\n if (canonicalTicketType(t.type) === \"epic\") {\n const children = childrenOf.get(t.id) ?? [];\n blocks.push(<Card key={t.id} ticket={t} drag={drag} />);\n if (children.length) {\n blocks.push(\n <div key={`${t.id}:children`} className=\"epic-children\">\n {children.map((c) => (\n <Card key={c.id} ticket={c} asEpicChild drag={drag} />\n ))}\n </div>\n );\n for (const c of children) done.add(c.id);\n }\n done.add(t.id);\n continue;\n }\n // A child whose epic is in this lane comes with its epic.\n if (t.parent_ticket_id && epicsHere.has(t.parent_ticket_id)) continue;\n const epic = t.parent_ticket_id ? epics.get(t.parent_ticket_id) : undefined;\n if (epic) {\n const siblings = childrenOf.get(epic.id) ?? [];\n blocks.push(<EpicMiniHeader key={`${epic.id}:header`} epic={epic} />);\n blocks.push(\n <div key={`${epic.id}:children`} className=\"epic-children\">\n {siblings.map((c) => (\n <Card key={c.id} ticket={c} asEpicChild drag={drag} />\n ))}\n </div>\n );\n for (const c of siblings) done.add(c.id);\n continue;\n }\n blocks.push(<Card key={t.id} ticket={t} drag={drag} />);\n done.add(t.id);\n }\n return <>{blocks}</>;\n}\n\nfunction EpicMiniHeader({ epic }: { epic: Ticket }) {\n const app = useOrbit();\n return (\n <div className=\"epic-mini-header\" data-ticket-id={epic.id} title=\"Open epic\" onClick={() => {\n app.closePopover(\"create\");\n void app.openTicket(epic.id);\n }}>\n <div className=\"card-type-id type-pill-epic\">\n <TypeIcon type=\"epic\" />\n <span className=\"card-type-label\">EPIC</span>\n </div>\n <span className=\"ticket-number\">{ticketLabel(epic)}</span>\n <span className=\"epic-mini-title\">{epic.title}</span>\n </div>\n );\n}\n\ninterface Flair {\n icon: ReactNode;\n title: string;\n subtitle: string;\n action?: boolean;\n}\n\nfunction flairFor(laneName: string): Flair {\n const name = laneName.toLowerCase();\n if (name === \"ai ready\") {\n return {\n icon: (\n <svg className=\"empty-state-icon ai-sparkle\" viewBox=\"0 0 24 24\">\n <path d=\"M12 3L14.5 9L21 11.5L14.5 14L12 20L9.5 14L3 11.5L9.5 9L12 3Z\" fill=\"currentColor\" opacity=\"0.65\" />\n <circle cx=\"12\" cy=\"11.5\" r=\"1.8\" fill=\"#fff\" />\n </svg>\n ),\n title: \"Ready for agents\",\n subtitle: \"Cards with a goal and a “done when”, for an agent to take\",\n action: features.ai\n };\n }\n if (name.includes(\"progress\")) {\n return {\n icon: (\n <svg className=\"empty-state-icon orbit\" viewBox=\"0 0 100 100\">\n <circle cx=\"50\" cy=\"50\" r=\"10\" fill=\"currentColor\" opacity=\"0.9\" />\n <circle className=\"ring\" cx=\"50\" cy=\"50\" r=\"30\" stroke=\"currentColor\" strokeDasharray=\"4 6\" />\n <circle className=\"satellite\" cx=\"80\" cy=\"50\" r=\"4\" fill=\"currentColor\" />\n </svg>\n ),\n title: \"Work in progress\",\n subtitle: \"Cards someone is working on, you or an agent\"\n };\n }\n if (name.includes(\"review\")) {\n return {\n icon: (\n <svg className=\"empty-state-icon star\" viewBox=\"0 0 24 24\">\n <path d=\"M12 2L14.5 9.5L22 12L14.5 14.5L12 22L9.5 14.5L2 12L9.5 9.5L12 2Z\" fill=\"currentColor\" />\n </svg>\n ),\n title: \"Under review\",\n subtitle: \"Cards wait here for a person to check\"\n };\n }\n if (name.includes(\"todo\") || name.includes(\"backlog\")) {\n return {\n icon: (\n <svg className=\"empty-state-icon ai-sparkle\" viewBox=\"0 0 24 24\">\n <path d=\"M12 3L14.5 9L21 11.5L14.5 14L12 20L9.5 14L3 11.5L9.5 9L12 3Z\" fill=\"currentColor\" opacity=\"0.5\" />\n <path d=\"M19 8L20 10L21 8L20 6L19 8ZM19 16L20 18L21 16L20 14L19 16ZM5 8L6 10L7 8L6 6L5 8Z\" fill=\"currentColor\" />\n </svg>\n ),\n title: \"Ready for launch\",\n subtitle: \"Add a card, or ask your agent to plan some\"\n };\n }\n if (name.includes(\"done\") || name.includes(\"finished\")) {\n return {\n icon: (\n <svg className=\"empty-state-icon\" viewBox=\"0 0 24 24\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M8 12L11 15L16 9\" />\n </svg>\n ),\n title: \"Done\",\n subtitle: \"Move finished cards here\"\n };\n }\n if (name.includes(\"cancel\")) {\n return {\n icon: (\n <svg className=\"empty-state-icon\" viewBox=\"0 0 24 24\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" opacity=\"0.2\" />\n <path d=\"M15 9L9 15M9 9l6 6\" />\n </svg>\n ),\n title: \"Not moving forward\",\n subtitle: \"Parked or replaced\"\n };\n }\n return {\n icon: (\n <svg className=\"empty-state-icon\" viewBox=\"0 0 24 24\">\n <path d=\"M18 6L6 18M6 6l12 12\" opacity=\"0.5\" />\n </svg>\n ),\n title: \"Nothing here yet\",\n subtitle: \"Add a card, or drag one in\"\n };\n}\n\nfunction EmptyState({ laneName }: { laneName: string }) {\n const app = useOrbit();\n const flair = flairFor(laneName);\n return (\n <div className=\"column-empty-state\">\n <div className=\"empty-state-visual\">\n <div className=\"empty-state-glow\" />\n {flair.icon}\n </div>\n <div className=\"empty-state-title\">{flair.title}</div>\n <div className=\"empty-state-subtitle\">{flair.subtitle}</div>\n {flair.action ? (\n <button type=\"button\" className=\"empty-state-action\" data-variant=\"ghost\" data-connect-agents=\"\" onClick={(event) => {\n event.stopPropagation();\n void app.openConnectAgents();\n }}>\n Connect your agents\n </button>\n ) : null}\n </div>\n );\n}\n","// The drawer on the right: a card's detail, or Settings. It slides in when\n// the address names a card or Settings, and out again (keeping what it showed\n// until it has gone). DrawerShell is its header and body, filled by the card\n// and by Settings.\n\nimport { lazy, Suspense, useEffect, useRef, useState } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { useOrbit, useUi } from \"../orbit/context.tsx\";\nimport { CloseIcon } from \"../ui/icons.tsx\";\n\n// The card and Settings load when first opened, so the board paints sooner;\n// the build's warm-up fetches them once the board is up.\nconst CardDetail = lazy(() => import(\"../card/CardDetail.tsx\").then((m) => ({ default: m.CardDetail })));\nconst SettingsPanel = lazy(() => import(\"../settings/SettingsPanel.tsx\").then((m) => ({ default: m.SettingsPanel })));\n\ntype Shown = { view: \"ticket\"; ticketId: string } | { view: \"settings\" };\n\nexport function Drawer() {\n const app = useOrbit();\n const view = useUi((s) => s.route.view);\n const ticketId = useUi((s) => s.route.ticketId);\n const target: Shown | null = view === \"ticket\" && ticketId ? { view: \"ticket\", ticketId } : view === \"settings\" ? { view: \"settings\" } : null;\n const targetKey = target ? (target.view === \"ticket\" ? `t:${target.ticketId}` : \"settings\") : \"\";\n // What the drawer shows: the target, or while it slides out, what it showed last.\n const [last, setLast] = useState<{ key: string; shown: Shown } | null>(null);\n if (target && last?.key !== targetKey) setLast({ key: targetKey, shown: target });\n const shown = target ?? last?.shown ?? null;\n const [slidIn, setSlidIn] = useState(false);\n const open = slidIn && target !== null;\n const aside = useRef<HTMLElement>(null);\n\n const hasTarget = target !== null;\n useEffect(() => {\n if (hasTarget) {\n const frame = requestAnimationFrame(() => setSlidIn(true));\n return () => cancelAnimationFrame(frame);\n }\n let done = false;\n const finish = (): void => {\n if (done) return;\n done = true;\n setSlidIn(false);\n setLast(null);\n };\n const el = aside.current;\n el?.addEventListener(\"transitionend\", finish, { once: true });\n const timer = setTimeout(finish, 360);\n return () => {\n clearTimeout(timer);\n el?.removeEventListener(\"transitionend\", finish);\n };\n // A new target (another card) runs it again, so a slide-out in progress stops.\n }, [hasTarget, targetKey]);\n\n const mode = shown?.view;\n return (\n <>\n <div id=\"drawerBackdrop\" className={`drawer-backdrop${open ? \" is-visible\" : \"\"}`} hidden={!shown} aria-hidden=\"true\" onClick={() => void app.closeDrawer()} />\n <aside ref={aside} id=\"drawer\" className={`drawer${open ? \" is-open\" : \"\"}${mode ? \" is-wide\" : \"\"}${mode === \"settings\" ? \" is-settings\" : \"\"}`} hidden={!shown} aria-label=\"Panel\">\n <Suspense fallback={null}>\n {shown?.view === \"ticket\" ? <CardDetail key={shown.ticketId} ticketId={shown.ticketId} /> : null}\n {shown?.view === \"settings\" ? <SettingsPanel /> : null}\n </Suspense>\n </aside>\n </>\n );\n}\n\nexport interface DrawerTab {\n id: string;\n label: string;\n}\n\ninterface DrawerShellProps {\n /** What the title block holds: an eyebrow (.drawer-eyebrow), the title (h2.drawer-title.drawer-title-text), a subtitle (.drawer-subtitle). */\n titleBlock: ReactNode;\n tabs?: DrawerTab[];\n activeTab?: string;\n onTabSelect?: (id: string) => void;\n /** The trash button in the header (a card's drawer). */\n onArchive?: () => void;\n children: ReactNode;\n}\n\n/** The drawer's header (title, tabs, archive and close) and its scrolling body. */\nexport function DrawerShell({ titleBlock, tabs, activeTab, onTabSelect, onArchive, children }: DrawerShellProps) {\n const app = useOrbit();\n const tabsRef = useRef<HTMLElement>(null);\n const shellRef = useRef<HTMLDivElement>(null);\n useTabsScroll(tabsRef, shellRef, Boolean(tabs?.length), activeTab ?? \"\");\n return (\n <>\n <header className=\"drawer-header\">\n <div id=\"drawerTitleBlock\" className=\"drawer-title-block\">\n {titleBlock}\n </div>\n <div ref={shellRef} id=\"drawerTabsShell\" className=\"drawer-tabs-shell\" hidden={!tabs?.length}>\n <nav ref={tabsRef} id=\"drawerTabs\" className=\"drawer-tabs\" role=\"tablist\">\n {tabs?.map((tab) => (\n <button key={tab.id} type=\"button\" role=\"tab\" className={`drawer-tab ${tab.id === activeTab ? \"is-active\" : \"\"}`} data-drawer-tab={tab.id} aria-selected={tab.id === activeTab} onClick={() => onTabSelect?.(tab.id)}>\n {tab.label}\n </button>\n ))}\n </nav>\n </div>\n <button type=\"button\" id=\"drawerArchiveBtn\" className=\"drawer-archive\" aria-label=\"Archive card\" title=\"Archive card\" hidden={!onArchive} onClick={onArchive}>\n <svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"M3 6h18\" />\n <path d=\"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\" />\n <path d=\"M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6\" />\n <path d=\"M10 11v6\" />\n <path d=\"M14 11v6\" />\n </svg>\n </button>\n <button type=\"button\" id=\"drawerCloseBtn\" className=\"drawer-close\" aria-label=\"Close panel\" onClick={() => void app.closeDrawer()}>\n <CloseIcon />\n </button>\n </header>\n <div id=\"drawerInner\" className=\"drawer-inner\">\n {children}\n </div>\n </>\n );\n}\n\n/**\n * The tab strip scrolls sideways when it overflows: fades at the edges that\n * can scroll, a vertical wheel pans it, and a drag pans it (a small threshold\n * keeps clicks on tabs). The active tab is kept in view.\n */\nfunction useTabsScroll(tabsRef: React.RefObject<HTMLElement | null>, shellRef: React.RefObject<HTMLDivElement | null>, enabled: boolean, activeTab: string): void {\n useEffect(() => {\n const tabs = tabsRef.current;\n const shell = shellRef.current;\n if (!enabled || !tabs || !shell) return;\n const controller = new AbortController();\n const { signal } = controller;\n const sync = (): void => {\n const max = tabs.scrollWidth - tabs.clientWidth;\n if (max <= 1) {\n shell.classList.remove(\"can-scroll-left\", \"can-scroll-right\");\n return;\n }\n shell.classList.toggle(\"can-scroll-left\", tabs.scrollLeft > 1);\n shell.classList.toggle(\"can-scroll-right\", tabs.scrollLeft < max - 1);\n };\n tabs.addEventListener(\"scroll\", sync, { passive: true, signal });\n const observer = typeof ResizeObserver === \"undefined\" ? null : new ResizeObserver(sync);\n observer?.observe(tabs);\n tabs.addEventListener(\n \"wheel\",\n (event) => {\n if (event.defaultPrevented || event.ctrlKey || tabs.scrollWidth <= tabs.clientWidth) return;\n const delta = event.deltaX || event.deltaY;\n if (!delta) return;\n event.preventDefault();\n const px = event.deltaMode === WheelEvent.DOM_DELTA_LINE ? delta * 16 : event.deltaMode === WheelEvent.DOM_DELTA_PAGE ? delta * Math.max(tabs.clientWidth, 1) : delta;\n tabs.scrollLeft += px;\n },\n { passive: false, signal }\n );\n let active = false;\n let dragged = false;\n let startX = 0;\n let startScroll = 0;\n let pointerId = 0;\n tabs.addEventListener(\n \"pointerdown\",\n (event) => {\n if (event.button !== 0 || tabs.scrollWidth <= tabs.clientWidth) return;\n dragged = false;\n active = true;\n pointerId = event.pointerId;\n startX = event.clientX;\n startScroll = tabs.scrollLeft;\n },\n { signal }\n );\n tabs.addEventListener(\n \"pointermove\",\n (event) => {\n if (!active || event.pointerId !== pointerId) return;\n const delta = event.clientX - startX;\n if (!dragged && Math.abs(delta) > 4) {\n dragged = true;\n try {\n tabs.setPointerCapture(pointerId);\n } catch {\n // Some browsers can't capture here; the drag still pans.\n }\n tabs.classList.add(\"is-grabbing\");\n }\n if (dragged) {\n event.preventDefault();\n tabs.scrollLeft = startScroll - delta;\n }\n },\n { signal }\n );\n const end = (event: PointerEvent): void => {\n if (!active || event.pointerId !== pointerId) return;\n active = false;\n tabs.classList.remove(\"is-grabbing\");\n try {\n tabs.releasePointerCapture(pointerId);\n } catch {\n // Nothing was captured.\n }\n };\n tabs.addEventListener(\"pointerup\", end, { signal });\n tabs.addEventListener(\"pointercancel\", end, { signal });\n tabs.addEventListener(\"pointerleave\", end, { signal });\n tabs.addEventListener(\n \"click\",\n (event) => {\n if (!dragged) return;\n event.stopPropagation();\n event.preventDefault();\n dragged = false;\n },\n { capture: true, signal }\n );\n const frame = requestAnimationFrame(sync);\n return () => {\n controller.abort();\n observer?.disconnect();\n cancelAnimationFrame(frame);\n shell.classList.remove(\"can-scroll-left\", \"can-scroll-right\");\n tabs.classList.remove(\"is-grabbing\");\n };\n }, [tabsRef, shellRef, enabled]);\n\n useEffect(() => {\n if (!enabled) return;\n const frame = requestAnimationFrame(() => tabsRef.current?.querySelector(\".drawer-tab.is-active\")?.scrollIntoView({ block: \"nearest\", inline: \"nearest\" }));\n return () => cancelAnimationFrame(frame);\n }, [tabsRef, enabled, activeTab]);\n}\n","// OrbitApp: the web app's one controller. It holds the client and the two\n// stores, follows the address (hash routes), reads the board, and keeps it\n// live from the client's changes(): each change marks cards unread, says what\n// happened in a toast, and reads the board again (300 ms after the last\n// change, so a burst is one read).\n\nimport type { OrbitClient, Hint } from \"../../../src/client/types.ts\";\nimport type { Bootstrap } from \"../../../src/core/bootstrap.ts\";\nimport type { BoardChange } from \"../../../src/core/model.ts\";\nimport type { StoreApi } from \"zustand/vanilla\";\nimport { features } from \"../config.ts\";\nimport { buildHash, EMPTY_ROUTE, normalizeSettingsTab, parseHash } from \"../lib/routes.ts\";\nimport type { Route, SettingsTab } from \"../lib/routes.ts\";\nimport { bumpUnread, clearUnread, markRead, seedReadIfNeeded } from \"../lib/unread.ts\";\nimport { errorMessage, toast } from \"../ui/toast.ts\";\nimport { createBoardStore, createUiStore, pickBoard, shareBoard } from \"./stores.ts\";\nimport type { BoardMenuPane, BoardState, Ticket, UiState } from \"./stores.ts\";\n\n/** Changes that touch a card as its person sees it: they count as unread. */\nconst CARD_TOUCHING = new Set([\"ticket_created\", \"state_changed\", \"ticket_updated\", \"comment_created\", \"comment_ai_omission_changed\", \"agent_claimed\", \"checkpoint_requested\", \"agent_completed\"]);\n\nexport interface NavigateTo {\n boardId?: string;\n boardSlug?: string;\n view?: Route[\"view\"];\n ticketId?: string;\n tab?: SettingsTab | \"\";\n}\n\nfunction save(key: string, value: string): void {\n try {\n localStorage.setItem(key, value);\n } catch {\n // Blocked storage: the choice lasts this visit.\n }\n}\n\nexport class OrbitApp {\n readonly client: OrbitClient;\n readonly board: StoreApi<BoardState>;\n readonly ui: StoreApi<UiState>;\n private streamBoard = \"\";\n private stopStream: (() => void) | null = null;\n private reloadTimer: ReturnType<typeof setTimeout> | null = null;\n private wasDown = false;\n private wasLive = false;\n private started = false;\n\n constructor(client: OrbitClient) {\n this.client = client;\n this.board = createBoardStore();\n this.ui = createUiStore();\n }\n\n /**\n * Starts reading the board the address names, once. The entry calls it\n * before React's first render, so the read and React's start overlap.\n */\n prime(): void {\n if (this.started) return;\n this.started = true;\n void this.first();\n }\n\n /** Reads the board the address names, then follows the address and the board's changes. Returns the stop. */\n start(): () => void {\n const onPop = (): void => void this.applyRoute();\n addEventListener(\"popstate\", onPop);\n this.prime();\n return () => {\n removeEventListener(\"popstate\", onPop);\n this.stopStream?.();\n this.stopStream = null;\n this.streamBoard = \"\";\n if (this.reloadTimer) clearTimeout(this.reloadTimer);\n };\n }\n\n private async first(): Promise<void> {\n const route = parseHash(location.hash);\n if (route?.boardSlug) this.board.setState({ boardSlug: route.boardSlug });\n try {\n await this.load();\n } catch {\n // Said in a toast; the app stays up with nothing loaded.\n }\n if (route) await this.applyRoute();\n else this.syncUrl({ replace: true });\n // The board is up: the build's warm-up may now fetch the on-demand chunks.\n document.dispatchEvent(new Event(\"orbit:ready\"));\n }\n\n /** Where a request about the current board says to look. */\n hint(): Hint {\n const { boardId } = this.board.getState();\n return boardId ? { board_id: boardId } : {};\n }\n\n /** Runs a request; a refusal is said in a toast and thrown on. */\n async call<T>(request: () => Promise<T>): Promise<T> {\n try {\n return await request();\n } catch (error) {\n toast.error(errorMessage(error));\n throw error;\n }\n }\n\n /** Reads the board (bootstrap) and shows it. */\n async load(): Promise<void> {\n this.closePopovers();\n const { boardId, boardSlug } = this.board.getState();\n const hint: Hint = boardId ? { board_id: boardId } : boardSlug ? { board: boardSlug } : {};\n const data = await this.call(() => this.client.bootstrap(hint));\n this.show(data);\n }\n\n private show(data: Parameters<typeof shareBoard>[1]): void {\n const state = this.board.getState();\n const board = pickBoard(data, state.boardId, state.boardSlug);\n const boardId = board?.id ?? \"\";\n this.board.setState({ ...shareBoard(state, data, boardId), boardId, boardSlug: board?.slug ?? \"\" });\n seedReadIfNeeded(boardId, data.tickets.filter((t) => t.board_id === boardId));\n if (boardId !== this.streamBoard) this.follow(boardId);\n }\n\n /** Reads the board again soon: a burst of changes is one read. */\n reloadSoon(): void {\n if (this.reloadTimer) clearTimeout(this.reloadTimer);\n this.reloadTimer = setTimeout(() => {\n this.reloadTimer = null;\n const { boardId, boardSlug } = this.board.getState();\n const hint: Hint = boardId ? { board_id: boardId } : boardSlug ? { board: boardSlug } : {};\n this.call(() => this.client.bootstrap(hint)).then((data) => this.show(data), () => undefined);\n }, 300);\n }\n\n /** A card a write answered with, shown at once, before the change's read. */\n upsertTicket(ticket: Partial<Ticket> & { id: string }): void {\n const state = this.board.getState();\n const data = state.data;\n if (!data) return;\n const index = data.tickets.findIndex((t) => t.id === ticket.id);\n const previous = index >= 0 ? data.tickets[index] : undefined;\n if (!previous && !(\"board_id\" in ticket)) return;\n const merged = {\n ...previous,\n ...ticket,\n labels: ticket.labels ?? previous?.labels ?? [],\n comment_count: ticket.comment_count ?? previous?.comment_count ?? 0,\n child_count: ticket.child_count ?? previous?.child_count ?? 0,\n parent_ticket: ticket.parent_ticket ?? previous?.parent_ticket ?? null\n } as Ticket;\n const tickets = data.tickets.slice();\n if (index >= 0) tickets.splice(index, 1, merged);\n else tickets.push(merged);\n tickets.sort((a, b) => b.updated_at.localeCompare(a.updated_at) || a.id.localeCompare(b.id));\n this.board.setState(shareBoard(state, { ...data, tickets: withFamilies(tickets) }, state.boardId));\n }\n\n /** A board a write answered with (its name, notes, settings), shown at once. */\n upsertBoard(board: Partial<Bootstrap[\"boards\"][number]> & { id: string }): void {\n const state = this.board.getState();\n const data = state.data;\n if (!data) return;\n const boards = data.boards.map((b) => (b.id === board.id ? { ...b, ...board } : b));\n this.board.setState({ data: { ...data, boards }, ...(board.id === state.boardId && board.slug ? { boardSlug: board.slug } : {}) });\n }\n\n // ------------------------------------------------------------------ live\n\n private follow(boardId: string): void {\n this.stopStream?.();\n this.stopStream = null;\n this.streamBoard = boardId;\n this.wasDown = false;\n this.wasLive = false;\n if (!boardId) return;\n this.stopStream = this.client.changes(boardId, (change) => this.onChange(change), {\n onState: (stream) => {\n this.board.setState({ stream });\n if (stream === \"live\") {\n if (this.wasDown) toast.success(\"Live updates reconnected\");\n this.wasDown = false;\n this.wasLive = true;\n } else if (stream === \"down\" && this.wasLive && !this.wasDown) {\n this.wasDown = true;\n toast.warning(\"Live updates disconnected. Retrying…\");\n }\n }\n });\n }\n\n private onChange(change: BoardChange): void {\n const { boardId, data } = this.board.getState();\n const type = change.type;\n const ticket = change.ticket_id ? data?.tickets.find((t) => t.id === change.ticket_id) : undefined;\n const me = data?.actor.name;\n if (change.ticket_id) {\n if (me && change.actor === me) markRead(boardId, change.ticket_id, change.timestamp);\n else if (type === \"ticket_deleted\") clearUnread(boardId, change.ticket_id);\n else if (CARD_TOUCHING.has(type)) bumpUnread(boardId, change.ticket_id);\n }\n this.say(type, change, ticket);\n this.reloadSoon();\n }\n\n /** The toast for a change, if it has one. */\n private say(type: string, change: BoardChange, ticket: Ticket | undefined): void {\n const text = (value: unknown): string => (typeof value === \"string\" ? value : \"\");\n switch (type) {\n case \"ticket_created\":\n toast.success(`Card created: ${text(change.data.title) || \"New card\"}`);\n return;\n case \"state_changed\":\n toast.info(`${ticket ? `#${ticket.number} ${ticket.title}` : \"Card\"} → ${text(change.data.to)}`);\n return;\n case \"ticket_updated\": {\n const fields = change.data.fields && typeof change.data.fields === \"object\" ? Object.keys(change.data.fields).join(\", \") : \"\";\n toast.info(`${ticket ? `#${ticket.number}` : \"Card\"} updated${fields ? `: ${fields}` : \"\"}`);\n return;\n }\n case \"comment_created\":\n toast.info(`New comment on ${ticket ? `#${ticket.number}` : \"ticket\"}`);\n return;\n case \"agent_claimed\":\n toast.info(`Agent claimed ${ticket ? `#${ticket.number} ${ticket.title}` : \"a ticket\"}`);\n return;\n case \"checkpoint_requested\":\n toast.warning(`${ticket ? `#${ticket.number}` : \"A card\"} has a question for you`);\n return;\n case \"agent_completed\":\n toast.success(`Agent completed ${ticket ? `#${ticket.number} ${ticket.title}` : \"a ticket\"}`);\n return;\n default:\n return;\n }\n }\n\n // ---------------------------------------------------------------- routes\n\n private routeFor(to: NavigateTo): Route {\n const { data, boardSlug } = this.board.getState();\n const boards = data?.boards ?? [];\n const byId = to.boardId ? boards.find((b) => b.id === to.boardId || b.slug === to.boardId) : undefined;\n const slug = to.boardSlug ?? byId?.slug ?? to.boardId ?? boardSlug;\n const view = to.view ?? \"board\";\n return {\n boardSlug: slug,\n view,\n ticketId: view === \"ticket\" ? (to.ticketId ?? \"\") : \"\",\n tab: view === \"settings\" ? normalizeSettingsTab(to.tab || this.ui.getState().settingsTab) : \"\"\n };\n }\n\n /** Goes to an address: a board, a card, or Settings and a tab. */\n async navigate(to: NavigateTo, { replace = false }: { replace?: boolean } = {}): Promise<void> {\n const hash = buildHash(this.routeFor(to));\n if (location.hash !== hash) {\n if (replace) history.replaceState(null, \"\", hash);\n else history.pushState(null, \"\", hash);\n }\n await this.applyRoute();\n }\n\n /** Puts the address in step with what's shown, without showing anything new. */\n syncUrl({ replace = false }: { replace?: boolean } = {}): void {\n const { route } = this.ui.getState();\n const hash = buildHash({ ...route, boardSlug: this.board.getState().boardSlug || route.boardSlug });\n if (location.hash === hash) return;\n if (replace) history.replaceState(null, \"\", hash);\n else history.pushState(null, \"\", hash);\n }\n\n /** Shows what the address names. */\n async applyRoute(): Promise<void> {\n const parsed = parseHash(location.hash);\n const route = parsed ?? EMPTY_ROUTE;\n const state = this.board.getState();\n const boards = state.data?.boards ?? [];\n const routeBoard = route.boardSlug ? (boards.find((b) => b.slug === route.boardSlug) ?? boards.find((b) => b.id === route.boardSlug)) : undefined;\n const previous = state.boardId;\n if (routeBoard) this.board.setState({ boardId: routeBoard.id, boardSlug: routeBoard.slug });\n else if (route.boardSlug) this.board.setState({ boardSlug: route.boardSlug });\n // A board named by its id, or an address the app writes another way: put the canonical one in place.\n if (parsed && routeBoard) {\n const canonical = buildHash({ ...route, boardSlug: routeBoard.slug });\n if (canonical !== location.hash) history.replaceState(null, \"\", canonical);\n }\n const ui: Partial<UiState> = { route: { ...route, boardSlug: routeBoard?.slug ?? route.boardSlug }, popover: null, cardMenu: null };\n if (route.view === \"settings\" && route.tab) {\n ui.settingsTab = route.tab;\n save(\"mab_settings_tab\", route.tab);\n }\n this.ui.setState(ui);\n const now = this.board.getState().boardId;\n if (now && now !== previous) await this.load().catch(() => undefined);\n }\n\n // ------------------------------------------------------------------ UI\n\n closePopovers(): void {\n const ui = this.ui.getState();\n if (ui.popover === \"board-menu\" || ui.popover === \"create\" || ui.cardMenu) this.ui.setState({ popover: ui.popover === \"board-menu\" || ui.popover === \"create\" ? null : ui.popover, cardMenu: null });\n }\n\n openBoardMenu(pane: BoardMenuPane = \"list\"): void {\n this.ui.setState({ popover: \"board-menu\", boardMenuPane: pane, cardMenu: null });\n }\n\n openCreate(laneId = \"\"): void {\n this.ui.setState({ popover: \"create\", createLaneId: laneId, cardMenu: null });\n }\n\n closePopover(which: NonNullable<UiState[\"popover\"]>): void {\n if (this.ui.getState().popover === which) this.ui.setState({ popover: null });\n }\n\n /** Opens a card's drawer, or Settings. */\n openTicket(ticketId: string): Promise<void> {\n return this.navigate({ view: \"ticket\", ticketId });\n }\n\n closeDrawer(): Promise<void> {\n return this.navigate({ view: \"board\" });\n }\n\n openSettings(tab?: SettingsTab): Promise<void> {\n return this.navigate({ view: \"settings\", tab: tab ?? this.ui.getState().settingsTab });\n }\n\n /** Connect your agents: Settings, AI, where that section comes first (on a computer's Orbit). */\n async openConnectAgents(): Promise<void> {\n this.ui.setState({ helpOpen: false });\n if (!features.ai) {\n toast.info(\"Agents connect to Orbit on your computer: npm i -g @starlove/orbit, then orbit run.\");\n return;\n }\n if (!this.board.getState().boardId) {\n this.openBoardMenu(\"new\");\n return;\n }\n await this.openSettings(\"ai\");\n }\n\n setShowPriority(show: boolean): void {\n save(\"mab_show_priority\", String(show));\n this.ui.setState({ showPriority: show });\n }\n\n toggleExpanded(ticketId: string): void {\n const { [ticketId]: was, ...rest } = this.ui.getState().expanded;\n this.ui.setState({ expanded: was ? rest : { ...rest, [ticketId]: true } });\n }\n}\n\n/**\n * Each card's epic line and each epic's count of cards inside, worked out\n * again over the board's cards, so a change of epic, a title or a lane shows on\n * every card it touches at once. A card whose line and count are unchanged\n * stays the same object, so only the cards that changed redraw.\n */\nfunction withFamilies(tickets: Ticket[]): Ticket[] {\n const byId = new Map(tickets.map((t) => [t.id, t]));\n const children = new Map<string, number>();\n for (const t of tickets) if (t.parent_ticket_id) children.set(t.parent_ticket_id, (children.get(t.parent_ticket_id) ?? 0) + 1);\n return tickets.map((t) => {\n const child_count = children.get(t.id) ?? 0;\n const parent = t.parent_ticket_id ? byId.get(t.parent_ticket_id) : undefined;\n // An epic that isn't among the open cards (archived) keeps the line the server gave.\n const parent_ticket = !t.parent_ticket_id\n ? null\n : parent\n ? { id: parent.id, board_id: parent.board_id, board_slug: parent.board_slug, number: parent.number, title: parent.title, type: parent.type, state_name: parent.state_name, state_role: parent.state_role, priority: parent.priority }\n : t.parent_ticket?.id === t.parent_ticket_id\n ? t.parent_ticket\n : null;\n if (child_count === t.child_count && sameCompact(parent_ticket, t.parent_ticket)) return t;\n return { ...t, child_count, parent_ticket: sameCompact(parent_ticket, t.parent_ticket) ? t.parent_ticket : parent_ticket };\n });\n}\n\nfunction sameCompact(a: Ticket[\"parent_ticket\"], b: Ticket[\"parent_ticket\"]): boolean {\n if (a === b) return true;\n if (!a || !b) return false;\n return a.id === b.id && a.number === b.number && a.title === b.title && a.type === b.type && a.state_name === b.state_name && a.state_role === b.state_role && a.priority === b.priority && a.board_slug === b.board_slug;\n}\n","/**\n * Quick menu: a colour per board, derived from its id, with no schema change.\n *\n * Nebula's planet hues (ss-nebula src/files/palette.ts, PLANET_COLOURS at\n * 49c23b5), each moved to a mid tone that stands out 3:1 or more against the\n * card by day (#fffcf6) and by night (#16213e), so a planet reads in both\n * themes. When boards gain a stored colour, it wins.\n */\n\nexport const BOARD_COLOURS = Object.freeze([\n { name: \"Periwinkle\", value: \"#6575e4\" },\n { name: \"Violet\", value: \"#8869e5\" },\n { name: \"Orchid\", value: \"#c83fdd\" },\n { name: \"Rose\", value: \"#dd3f92\" },\n { name: \"Coral\", value: \"#da512f\" },\n { name: \"Amber\", value: \"#9d791c\" },\n { name: \"Green\", value: \"#1b9146\" },\n { name: \"Teal\", value: \"#1d8e80\" },\n { name: \"Cyan\", value: \"#1c8b9d\" },\n { name: \"Blue\", value: \"#347fdb\" },\n { name: \"Silver\", value: \"#717e9f\" }\n] as const);\n\n/** FNV-1a over the id: the same board always gets the same colour. */\nexport function boardColour(id: string | null | undefined): string {\n let hash = 0x811c9dc5;\n for (const ch of id ?? \"\") {\n hash ^= ch.codePointAt(0) ?? 0;\n hash = Math.imul(hash, 0x01000193) >>> 0;\n }\n return BOARD_COLOURS[hash % BOARD_COLOURS.length]?.value ?? \"#717e9f\";\n}\n","// Orbit's side of the quick menu: the logo that opens it, and the adapter\n// that gives the menu (./QuickMenuCard.tsx, which knows nothing of Orbit) its\n// boards, sessions and ways to go somewhere.\n//\n// Whether it's open is the UI store's `popover`, so one topbar popover is\n// open at a time: opening the menu closes Notes For You, and the reverse.\n\nimport { lazy, Suspense, useState } from \"react\";\nimport { features } from \"../config.ts\";\nimport { buildHash } from \"../lib/routes.ts\";\nimport { useBoard, useOrbit, useUi } from \"../orbit/context.tsx\";\nimport { boardColour } from \"./colour.ts\";\nimport type { MenuBoard, MenuSession, QuickMenuAdapter } from \"./model.ts\";\n\n// The menu itself loads when first opened (the build's warm-up fetches it once\n// the board is up), so the board paints sooner.\nconst QuickMenuCard = lazy(() => import(\"./QuickMenuCard.tsx\").then((m) => ({ default: m.QuickMenuCard })));\n\n/**\n * Where the Nebula row goes. A board doesn't know its Nebula project yet\n * (boards have no `project_id` yet), so it opens Nebula's home.\n */\nexport const NEBULA_URL = \"https://nebula.starscape.app/\";\n\n/** This Orbit's place in pins. Place names come later; for now every pin is this computer's. */\nconst PLACE = \"this-computer\";\n\n/** The dialog's id: the logo's aria-controls names it. */\nconst CARD_ID = \"quickMenuCard\";\nconst LOGO_ID = \"brandFocusBtn\";\n\n/** The place's words: this computer when the app runs here, else the server's name. */\nfunction placeLabel(hostname = location.hostname): string {\n return [\"localhost\", \"127.0.0.1\", \"::1\", \"[::1]\", \"\"].includes(hostname) ? \"This computer\" : hostname;\n}\n\nconst boardHash = (slug: string): string => buildHash({ boardSlug: slug, view: \"board\", ticketId: \"\", tab: \"\" });\nconst sessionHash = (s: MenuSession): string => (s.card ? buildHash({ boardSlug: s.board.slug, view: \"ticket\", ticketId: s.card.id, tab: \"\" }) : boardHash(s.board.slug));\n\n/** The logo: it opens the quick menu, and closes it again. */\nexport function QuickMenuLogo() {\n const app = useOrbit();\n const open = useUi((s) => s.popover === \"quick-menu\");\n return (\n <button\n id={LOGO_ID}\n type=\"button\"\n className=\"brand-focus-btn\"\n data-variant=\"brand-focus\"\n aria-label=\"Quick menu\"\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n aria-controls={CARD_ID}\n onClick={(event) => {\n // No stopPropagation: other popovers close on this click.\n event.preventDefault();\n if (open) {\n app.closePopover(\"quick-menu\");\n event.currentTarget.focus({ preventScroll: true });\n } else {\n app.ui.setState({ popover: \"quick-menu\" });\n }\n }}\n >\n <img className=\"mark\" src=\"./orbits-logo.png\" alt=\"Orbits logo\" />\n </button>\n );\n}\n\n/** The menu, in its mount after the topbar. */\nexport function QuickMenu() {\n const app = useOrbit();\n const open = useUi((s) => s.popover === \"quick-menu\");\n const boardId = useBoard((s) => s.boardId);\n // Once opened it stays in the page, so its close can fade.\n const [opened, setOpened] = useState(false);\n if (open && !opened) setOpened(true);\n const adapter: QuickMenuAdapter = {\n app: \"orbit\",\n place: PLACE,\n placeLabel: placeLabel(),\n nebulaUrl: NEBULA_URL,\n currentBoardId: boardId || null,\n // Reads go straight to the client, not through app.call: the menu reads\n // every 30 seconds while open and says a failure itself, so no toast.\n async listBoards(): Promise<MenuBoard[]> {\n const { boards } = await app.client.boards.list();\n return boards.map((b) => ({ id: b.id, slug: b.slug, name: b.name, lastActiveAt: b.last_active_at || null, colour: boardColour(b.id) }));\n },\n async listSessions(): Promise<MenuSession[]> {\n // The browser edition has no agents.\n if (!features.ai) return [];\n const { sessions } = await app.client.sessions({ since: \"2h\" });\n return sessions;\n },\n boardHref: (board) => boardHash(board.slug),\n sessionHref: sessionHash,\n openBoard: (board) => void app.navigate({ boardSlug: board.slug, boardId: board.id, view: \"board\" }),\n openSession: (s) => void app.navigate(s.card ? { boardSlug: s.board.slug, boardId: s.board.id, view: \"ticket\", ticketId: s.card.id } : { boardSlug: s.board.slug, boardId: s.board.id, view: \"board\" })\n };\n return (\n <div id=\"quickMenu\" className=\"qm-mount\">\n {opened ? (\n <Suspense fallback={null}>\n <QuickMenuCard adapter={adapter} open={open} onClose={() => app.closePopover(\"quick-menu\")} opener={() => document.getElementById(LOGO_ID)} cardId={CARD_ID} />\n </Suspense>\n ) : null}\n </div>\n );\n}\n","// Whether a newer Orbit is out. Once at start the app asks its Orbit\n// (client.version()); if so, the Settings button shows a dot and a toast says\n// so, once per version. Settings > Data's \"Version & Updates\" card reads the\n// same answer and asks again with Check now.\n//\n// A host with no version check (the browser edition) refuses with not_found,\n// and any other failure is swallowed too: the check is best effort.\n\nimport { useSyncExternalStore } from \"react\";\nimport type { VersionInfo } from \"../../../src/client/types.ts\";\nimport type { OrbitApp } from \"../orbit/app.ts\";\nimport { toast } from \"../ui/toast.ts\";\n\nconst TOAST_SEEN_KEY = \"orbit:updateToastSeen\";\n\nlet info: VersionInfo | null = null;\nconst listeners = new Set<() => void>();\nconst checked = new WeakSet<OrbitApp>();\n\nfunction subscribe(listener: () => void): () => void {\n listeners.add(listener);\n return () => listeners.delete(listener);\n}\n\nconst snapshot = (): VersionInfo | null => info;\n\n/** Asks for the version (`force` checks again now). A failure keeps the last answer and returns null. */\nexport async function fetchVersionInfo(app: OrbitApp, { force = false }: { force?: boolean } = {}): Promise<VersionInfo | null> {\n try {\n const next = await app.client.version(force ? { refresh: true } : undefined);\n info = next;\n for (const listener of listeners) listener();\n return next;\n } catch {\n return null;\n }\n}\n\nfunction seen(): string | null {\n try {\n return localStorage.getItem(TOAST_SEEN_KEY);\n } catch {\n return null;\n }\n}\n\nfunction markSeen(version: string): void {\n try {\n localStorage.setItem(TOAST_SEEN_KEY, version);\n } catch {\n // Blocked storage: the toast may come again next visit.\n }\n}\n\n/** Checks once, after the board is up, whether a newer Orbit is out (best effort). */\nexport function checkForUpdate(app: OrbitApp): void {\n if (checked.has(app)) return;\n checked.add(app);\n void fetchVersionInfo(app).then((answer) => {\n if (!answer?.updateAvailable || !answer.latest) return;\n if (seen() === answer.latest) return;\n markSeen(answer.latest);\n // The toast's button opens Settings > Data, where the steps to update are.\n toast.info(`Orbit v${answer.latest} is available →`, {\n duration: 8000,\n action: { label: \"Open Settings\", onClick: () => void app.openSettings(\"data\") }\n });\n });\n}\n\n/** The last version answer, or null before one came (or where there is none). */\nexport function useVersionInfo(): VersionInfo | null {\n return useSyncExternalStore(subscribe, snapshot);\n}\n\n/** Whether a newer Orbit is out, for the dot on Settings. */\nexport function useUpdateAvailable(): boolean {\n return Boolean(useVersionInfo()?.updateAvailable);\n}\n","import type { KeyboardEvent } from \"react\";\nimport { flushSync } from \"react-dom\";\n\n// Tab and Shift+Tab in a textarea indent and outdent the selected lines, as\n// in a code editor, instead of leaving the field.\n\nconst DEFAULT_INDENT = \"\\t\";\n\nfunction clampIndex(value: string, index: number): number {\n const n = index;\n if (!Number.isFinite(n)) return 0;\n return Math.max(0, Math.min(value.length, n));\n}\n\nfunction lineStartFor(value: string, index: number): number {\n return value.lastIndexOf(\"\\n\", Math.max(0, index - 1)) + 1;\n}\n\nfunction selectedLineRange(value: string, selectionStart: number, selectionEnd: number): { lineStart: number; lineEnd: number } {\n const lineStart = lineStartFor(value, selectionStart);\n const effectiveEnd =\n selectionEnd > selectionStart && value[selectionEnd - 1] === \"\\n\"\n ? selectionEnd - 1\n : selectionEnd;\n const nextBreak = value.indexOf(\"\\n\", Math.max(lineStart, effectiveEnd));\n return {\n lineStart,\n lineEnd: nextBreak === -1 ? value.length : nextBreak,\n };\n}\n\nfunction lineStartsForBlock(block: string, lineStart: number): number[] {\n const starts: number[] = [];\n let cursor = lineStart;\n for (const line of block.split(\"\\n\")) {\n starts.push(cursor);\n cursor += line.length + 1;\n }\n return starts;\n}\n\nfunction leadingOutdentWidth(line: string): number {\n if (line.startsWith(\"\\t\")) return 1;\n const spaces = line.match(/^ {1,2}/)?.[0] || \"\";\n return spaces.length;\n}\n\nfunction adjustmentBeforePosition(position: number, lineStarts: number[], widths: number[]): number {\n let total = 0;\n for (let i = 0; i < lineStarts.length; i += 1) {\n const start = lineStarts[i] ?? 0;\n if (position <= start) continue;\n total += Math.min(widths[i] ?? 0, position - start);\n }\n return total;\n}\n\nexport interface Indented {\n value: string;\n selectionStart: number;\n selectionEnd: number;\n handled: boolean;\n}\n\nexport function applyTextareaIndentation({\n value = \"\",\n selectionStart = 0,\n selectionEnd = selectionStart,\n shiftKey = false,\n indent = DEFAULT_INDENT,\n}: { value?: string; selectionStart?: number; selectionEnd?: number; shiftKey?: boolean; indent?: string } = {}): Indented {\n const source = value;\n const start = clampIndex(source, selectionStart);\n const end = clampIndex(source, selectionEnd);\n const first = Math.min(start, end);\n const last = Math.max(start, end);\n const indentText = indent || DEFAULT_INDENT;\n\n if (!shiftKey && first === last) {\n const nextValue = `${source.slice(0, first)}${indentText}${source.slice(last)}`;\n const nextCaret = first + indentText.length;\n return {\n value: nextValue,\n selectionStart: nextCaret,\n selectionEnd: nextCaret,\n handled: true,\n };\n }\n\n const { lineStart, lineEnd } = selectedLineRange(source, first, last);\n const block = source.slice(lineStart, lineEnd);\n const lines = block.split(\"\\n\");\n const lineStarts = lineStartsForBlock(block, lineStart);\n\n if (!shiftKey) {\n const widths = lines.map(() => indentText.length);\n const nextBlock = lines.map((line) => `${indentText}${line}`).join(\"\\n\");\n const selectionStartDelta = adjustmentBeforePosition(first, lineStarts, widths);\n const selectionEndDelta = adjustmentBeforePosition(last, lineStarts, widths);\n return {\n value: `${source.slice(0, lineStart)}${nextBlock}${source.slice(lineEnd)}`,\n selectionStart: first + selectionStartDelta,\n selectionEnd: last + selectionEndDelta,\n handled: true,\n };\n }\n\n const widths = lines.map(leadingOutdentWidth);\n const nextBlock = lines\n .map((line, index) => line.slice(widths[index] ?? 0))\n .join(\"\\n\");\n const selectionStartDelta = adjustmentBeforePosition(first, lineStarts, widths);\n const selectionEndDelta = adjustmentBeforePosition(last, lineStarts, widths);\n return {\n value: `${source.slice(0, lineStart)}${nextBlock}${source.slice(lineEnd)}`,\n selectionStart: first - selectionStartDelta,\n selectionEnd: last - selectionEndDelta,\n handled: true,\n };\n}\n\n\n/**\n * Tab in a textarea: indent or outdent through `setValue` (the field's draft),\n * then put the selection where the text moved. Returns whether it handled the key.\n */\nexport function indentOnTab(event: KeyboardEvent<HTMLTextAreaElement>, setValue: (value: string) => void): boolean {\n if (event.key !== \"Tab\" || event.altKey || event.ctrlKey || event.metaKey) return false;\n event.preventDefault();\n const textarea = event.currentTarget;\n const next = applyTextareaIndentation({ value: textarea.value, selectionStart: textarea.selectionStart, selectionEnd: textarea.selectionEnd, shiftKey: event.shiftKey });\n flushSync(() => setValue(next.value));\n textarea.setSelectionRange(next.selectionStart, next.selectionEnd);\n return next.handled;\n}\n","// A text field with a styled list of suggestions under it, in place of a\n// <datalist> (which browsers draw in their own popup). The list reuses the\n// topbar search's look. Choosing a row only fills the field: the form around\n// it still owns what happens (its Add or Set button, its Enter), so a field\n// works the same with or without it.\n//\n// The list lives in the page's body, fixed under the field, so a panel's\n// `overflow: hidden` can't clip it; it follows the field on scroll and resize.\n//\n// TicketTypeahead is the one for picking a card: rows show its number, title,\n// type and lane, and choosing one writes \"#12: Title\", which\n// resolveTicketFromLabel reads back.\n\nimport { useEffect, useLayoutEffect, useRef, useState } from \"react\";\nimport type { InputHTMLAttributes, KeyboardEvent, ReactNode, RefObject } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { canonicalTicketType, stateClassFor, ticketLabel, typeLabel } from \"../lib/format.ts\";\n\ntype InputAttributes = Omit<InputHTMLAttributes<HTMLInputElement>, \"value\" | \"defaultValue\" | \"onChange\" | \"onFocus\" | \"onBlur\" | \"onSelect\" | \"type\" | \"children\">;\n\nexport interface TypeaheadProps<T> extends InputAttributes {\n /** The field's text (controlled). */\n value: string;\n /** Told the new text on each keystroke, and a chosen row's text (valueOf) before onSelect. */\n onChange: (value: string) => void;\n /** The candidates; the list shows those that match what's typed, all of them (up to maxItems) when nothing is. */\n items: readonly T[];\n /** Whether a candidate matches the typed text, trimmed and lowercased. */\n match: (item: T, query: string) => boolean;\n /** What a row shows, inside its .search-hit. */\n renderItem: (item: T) => ReactNode;\n /** The text a chosen row writes into the field. */\n valueOf: (item: T) => string;\n /** A candidate's stable key. */\n keyOf: (item: T) => string;\n /** Told the chosen candidate, after onChange. */\n onSelect?: (item: T) => void;\n /** Shown when typed text matches nothing. */\n emptyText?: string;\n /** The list opens once this many characters are typed. */\n minChars?: number;\n maxItems?: number;\n /** The input, for a host that moves focus to it (a Clear button). */\n inputRef?: RefObject<HTMLInputElement | null>;\n}\n\n/**\n * The field and its list. Other input attributes (className, name,\n * placeholder, aria-label, data-*) go on the input. `onKeyDown` is the\n * host's: it runs for every key the list didn't take (Enter with no row\n * highlighted reaches it, so a form can add what was typed).\n */\nexport function Typeahead<T>({\n value,\n onChange,\n items,\n match,\n renderItem,\n valueOf,\n keyOf,\n onSelect,\n emptyText: empty,\n minChars: min,\n maxItems: most,\n inputRef,\n onKeyDown,\n ...input\n}: TypeaheadProps<T>) {\n // Defaults go in the body: the React Compiler skips a component with defaults in its parameters.\n const emptyText = empty ?? \"No matches\";\n const minChars = min ?? 0;\n const maxItems = most ?? 8;\n const own = useRef<HTMLInputElement>(null);\n const field = inputRef ?? own;\n const list = useRef<HTMLDivElement>(null);\n const [open, setOpen] = useState(false);\n const [active, setActive] = useState(-1);\n const blurTimer = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n\n const query = value.trim().toLowerCase();\n const long = query.length >= minChars;\n const visible = open && long ? (query ? items.filter((item) => match(item, query)) : items).slice(0, maxItems) : [];\n // An empty field with nothing to suggest shows nothing; typed text that matches nothing says so.\n const shown = open && long && (visible.length > 0 || query !== \"\");\n const current = active < visible.length ? active : -1;\n\n useLayoutEffect(() => {\n if (!shown) return;\n const place = (): void => {\n const el = list.current;\n const anchor = field.current;\n if (!el || !anchor) return;\n const r = anchor.getBoundingClientRect();\n el.style.left = `${r.left}px`;\n el.style.width = `${r.width}px`;\n el.style.top = `${r.bottom + 4}px`;\n };\n place();\n addEventListener(\"scroll\", place, true);\n addEventListener(\"resize\", place);\n return () => {\n removeEventListener(\"scroll\", place, true);\n removeEventListener(\"resize\", place);\n };\n }, [shown, field]);\n\n useLayoutEffect(() => {\n if (current < 0) return;\n list.current?.querySelector(`[data-index=\"${current}\"]`)?.scrollIntoView({ block: \"nearest\" });\n }, [current]);\n\n useEffect(() => {\n const timer = blurTimer;\n return () => clearTimeout(timer.current);\n }, []);\n\n const close = (): void => {\n setOpen(false);\n setActive(-1);\n };\n\n const choose = (item: T): void => {\n clearTimeout(blurTimer.current);\n onChange(valueOf(item));\n close();\n field.current?.focus();\n onSelect?.(item);\n };\n\n const keyDown = (event: KeyboardEvent<HTMLInputElement>): void => {\n if (shown) {\n if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n const count = visible.length;\n if (!count) return;\n const next = current + (event.key === \"ArrowDown\" ? 1 : -1);\n setActive(((next % count) + count) % count);\n return;\n }\n const item = current >= 0 ? visible[current] : undefined;\n if (event.key === \"Enter\" && item !== undefined) {\n // A highlighted row takes Enter, so the form doesn't also add the half-typed text.\n event.preventDefault();\n choose(item);\n return;\n }\n if (event.key === \"Escape\") {\n // Escape closes the list only, not the drawer around it.\n event.stopPropagation();\n close();\n return;\n }\n }\n onKeyDown?.(event);\n };\n\n return (\n <>\n <input\n {...input}\n ref={field}\n type=\"text\"\n value={value}\n onChange={(event) => {\n onChange(event.currentTarget.value);\n setOpen(true);\n setActive(-1);\n }}\n onFocus={() => {\n clearTimeout(blurTimer.current);\n setOpen(true);\n setActive(-1);\n }}\n onBlur={() => {\n blurTimer.current = setTimeout(close, 120);\n }}\n onKeyDown={keyDown}\n />\n {shown\n ? createPortal(\n <div ref={list} className=\"search-results typeahead-results\" role=\"listbox\" aria-label=\"Suggestions\">\n {visible.length ? (\n visible.map((item, i) => (\n <div\n key={keyOf(item)}\n className={`search-hit${i === current ? \" is-active\" : \"\"}`}\n role=\"option\"\n aria-selected={i === current}\n data-index={i}\n // A press, not a click: it comes before the field's blur, which would close the list.\n onMouseDown={(event) => {\n event.preventDefault();\n choose(item);\n }}\n >\n {renderItem(item)}\n </div>\n ))\n ) : (\n <div className=\"search-hit typeahead-empty\">{emptyText}</div>\n )}\n </div>,\n document.body\n )\n : null}\n </>\n );\n}\n\n/** A card as the ticket typeahead shows it. */\nexport interface TypeaheadTicket {\n id: string;\n number: number;\n title: string;\n type: string;\n state_name?: string | null;\n state_role?: string | null;\n}\n\n/** The text a chosen card writes into the field, which resolveTicketFromLabel reads back. */\nexport function ticketCanonicalLabel(ticket: { number: number; title: string }): string {\n return `#${ticket.number}: ${ticket.title}`;\n}\n\n/** A card matches by its number (\"12\", \"#12\") or a piece of its title. `query` is lowercased. */\nexport function ticketMatchesQuery(ticket: { number: number; title: string }, query: string): boolean {\n const q = query.replace(/^#/, \"\");\n return String(ticket.number).startsWith(q) || ticket.title.toLowerCase().includes(query);\n}\n\n/** The card a field's text names: \"#12\", \"12 anything\", or a chosen row's \"#12: Title\". */\nexport function resolveTicketFromLabel<T extends { id: string; number: number; title: string }>(label: string, tickets: readonly T[]): T | undefined {\n const trimmed = label.trim();\n const match = /^#?(\\d+)\\b/.exec(trimmed);\n if (match) {\n const n = Number(match[1]);\n const hit = tickets.find((t) => t.number === n);\n if (hit) return hit;\n }\n return tickets.find((t) => ticketCanonicalLabel(t) === trimmed);\n}\n\n/** A card's row: bold number, title, then its type and lane, as the topbar search shows them. */\nexport function TicketHitRow({ ticket }: { ticket: TypeaheadTicket }) {\n const type = canonicalTicketType(ticket.type);\n return (\n <>\n <span className=\"search-hit-main\">\n <strong>{ticketLabel(ticket)}</strong>\n <span className=\"search-hit-title\">{ticket.title}</span>\n </span>\n <span className={`search-hit-type type-pill-${type}`}>{typeLabel(ticket.type)}</span>\n <span className=\"search-hit-state\" data-variant={stateClassFor(ticket)}>\n {ticket.state_name || \"State\"}\n </span>\n </>\n );\n}\n\n/** The typeahead for picking a card from `items`. */\nexport function TicketTypeahead<T extends TypeaheadTicket>(props: Omit<TypeaheadProps<T>, \"match\" | \"renderItem\" | \"valueOf\" | \"keyOf\" | \"emptyText\">) {\n return (\n <Typeahead<T>\n {...props}\n match={ticketMatchesQuery}\n renderItem={(ticket) => <TicketHitRow ticket={ticket} />}\n valueOf={ticketCanonicalLabel}\n keyOf={(ticket) => ticket.id}\n emptyText=\"No matching tickets\"\n />\n );\n}\n","// New Card's parent epic: typed, then picked from the board's epics. The\n// field shows the pick's \"#12: Title\"; only an explicit pick is sent, so\n// typing again drops it.\n\nimport { useState } from \"react\";\nimport { useBoardTickets } from \"../orbit/context.tsx\";\nimport { TicketTypeahead } from \"../ui/Typeahead.tsx\";\n\nexport function ParentEpicField({ onPick }: { onPick: (ticketId: string) => void }) {\n const [text, setText] = useState(\"\");\n const epics = useBoardTickets().filter((ticket) => ticket.type === \"epic\");\n return (\n <label className=\"control-field\" id=\"createTicketParentField\">\n <span className=\"control-field-label\">Parent epic</span>\n <TicketTypeahead\n id=\"createTicketParent\"\n name=\"parent_target\"\n placeholder=\"Search epic… (optional)\"\n autoComplete=\"off\"\n aria-label=\"Parent epic\"\n value={text}\n onChange={(value) => {\n setText(value);\n onPick(\"\");\n }}\n items={epics}\n onSelect={(ticket) => onPick(ticket.id)}\n />\n </label>\n );\n}\n","// New Card: a compact panel at the top right (apart from the drawer), opened\n// from the topbar, a lane's + or its \"Add a card\". Before any board there's\n// nowhere for a card to go, so it says so and offers to make one.\n\nimport { useEffect, useRef, useState } from \"react\";\nimport type { SyntheticEvent } from \"react\";\nimport { useBoard, useOrbit, useUi, useVisibleStates } from \"../orbit/context.tsx\";\nimport { indentOnTab } from \"../lib/text-editing.ts\";\nimport { CloseIcon } from \"../ui/icons.tsx\";\nimport { ParentEpicField } from \"./ParentEpicField.tsx\";\n\nexport function CreateCard() {\n const app = useOrbit();\n const open = useUi((s) => s.popover === \"create\");\n const laneId = useUi((s) => s.createLaneId);\n // Kept in the page while it slides out.\n const [mounted, setMounted] = useState(false);\n const [shown, setShown] = useState(false);\n if (open && !mounted) setMounted(true);\n const visible = open && shown;\n\n useEffect(() => {\n if (open) {\n const frame = requestAnimationFrame(() => setShown(true));\n return () => cancelAnimationFrame(frame);\n }\n const timer = setTimeout(() => {\n setShown(false);\n setMounted(false);\n }, 220);\n return () => clearTimeout(timer);\n }, [open]);\n\n // New Card and the drawer don't show together.\n useEffect(() => {\n if (open && app.ui.getState().route.view !== \"board\") void app.closeDrawer().then(() => app.openCreate(app.ui.getState().createLaneId));\n }, [app, open]);\n\n const close = (): void => app.closePopover(\"create\");\n return (\n <>\n <div id=\"createFlyoutBackdrop\" className={`create-flyout-backdrop${visible ? \" is-visible\" : \"\"}`} hidden={!mounted} aria-hidden=\"true\" onClick={close} />\n <div id=\"createFlyout\" className={`create-flyout${visible ? \" is-open\" : \"\"}`} hidden={!mounted} role=\"dialog\" aria-label=\"New card\">\n <div id=\"createFlyoutInner\" className=\"create-flyout-inner\">\n {mounted ? <CreateCardBody key={laneId} laneId={laneId} onClose={close} /> : null}\n </div>\n </div>\n </>\n );\n}\n\nfunction CreateCardBody({ laneId, onClose }: { laneId: string; onClose: () => void }) {\n const app = useOrbit();\n const hasBoard = useBoard((s) => Boolean(s.data?.boards.length && s.boardId));\n const head = (\n <div className=\"create-flyout-head\">\n <h2>New card</h2>\n <button type=\"button\" className=\"create-flyout-close ghost\" id=\"createFlyoutClose\" aria-label=\"Close\" onClick={onClose}>\n <CloseIcon />\n </button>\n </div>\n );\n if (!hasBoard) {\n return (\n <>\n {head}\n <div className=\"create-flyout-form\">\n <p className=\"create-flyout-empty\">Cards live on a board, and there isn’t one yet. Make a board first.</p>\n <button\n type=\"button\"\n id=\"createFlyoutMakeBoard\"\n ref={(el) => {\n if (el) requestAnimationFrame(() => el.focus());\n }}\n onClick={(event) => {\n event.stopPropagation();\n app.openBoardMenu(\"new\");\n }}\n >\n Create a board\n </button>\n </div>\n </>\n );\n }\n return (\n <>\n {head}\n <CreateForm laneId={laneId} />\n </>\n );\n}\n\nfunction CreateForm({ laneId }: { laneId: string }) {\n const app = useOrbit();\n const states = useVisibleStates();\n const fallback = states.find((s) => s.is_default) ?? states[0];\n const [stateId, setStateId] = useState(laneId && states.some((s) => s.id === laneId) ? laneId : (fallback?.id ?? \"\"));\n const [description, setDescription] = useState(\"\");\n const [type, setType] = useState(\"task\");\n const [parentId, setParentId] = useState(\"\");\n const title = useRef<HTMLInputElement>(null);\n useEffect(() => {\n const frame = requestAnimationFrame(() => title.current?.focus());\n return () => cancelAnimationFrame(frame);\n }, []);\n\n const submit = async (event: SyntheticEvent<HTMLFormElement>): Promise<void> => {\n event.preventDefault();\n const data = new FormData(event.currentTarget);\n const text = (name: string): string => {\n const value = data.get(name);\n return typeof value === \"string\" ? value : \"\";\n };\n const labels = text(\"labels\")\n .split(\",\")\n .map((item) => item.trim())\n .filter(Boolean);\n const created = await app.call(() =>\n app.client.tickets.create({\n board_id: app.board.getState().boardId,\n title: text(\"title\"),\n description,\n type,\n parent_ticket_id: type === \"epic\" ? null : parentId || null,\n state_id: stateId,\n priority: Number(text(\"priority\")),\n labels\n })\n );\n app.closePopover(\"create\");\n app.upsertTicket(created);\n await app.openTicket(created.id);\n };\n\n return (\n <form id=\"createTicketForm\" className=\"create-flyout-form\" onSubmit={(event) => void submit(event).catch(() => undefined)}>\n <input ref={title} id=\"createTicketTitle\" name=\"title\" type=\"text\" placeholder=\"Title: what is this card?\" autoComplete=\"off\" required />\n <textarea id=\"createTicketDescription\" name=\"description\" placeholder=\"Description (optional)\" value={description} onChange={(event) => setDescription(event.currentTarget.value)} onKeyDown={(event) => indentOnTab(event, setDescription)} />\n <div className=\"control-grid\">\n <label className=\"control-field\">\n <span className=\"control-field-label\">LANE</span>\n <select id=\"createTicketState\" name=\"state\" className=\"select-chevron-field\" aria-label=\"Lane\" value={stateId} onChange={(event) => setStateId(event.currentTarget.value)}>\n {states.map((state) => (\n <option key={state.id} value={state.id}>\n {state.name}\n </option>\n ))}\n </select>\n </label>\n <label className=\"control-field\">\n <span className=\"control-field-label\">TYPE</span>\n <select\n id=\"createTicketType\"\n name=\"type\"\n className=\"select-chevron-field\"\n aria-label=\"Ticket type\"\n value={type}\n onChange={(event) => {\n setType(event.currentTarget.value);\n if (event.currentTarget.value === \"epic\") setParentId(\"\");\n }}\n >\n <option value=\"epic\">Epic</option>\n <option value=\"feature\">Feature</option>\n <option value=\"task\">Task</option>\n <option value=\"bug\">Bug</option>\n </select>\n </label>\n <label className=\"control-field\">\n <span className=\"control-field-label\">PRIORITY</span>\n <select id=\"createTicketPriority\" name=\"priority\" className=\"select-chevron-field\" aria-label=\"Priority\" defaultValue=\"2\">\n <option value=\"4\">URGENT</option>\n <option value=\"3\">HIGH</option>\n <option value=\"2\">MED</option>\n <option value=\"1\">LOW</option>\n <option value=\"0\">MAYBE</option>\n </select>\n </label>\n </div>\n {/* An epic can't have a parent: the field goes, and with it any pick. */}\n {type === \"epic\" ? null : <ParentEpicField onPick={setParentId} />}\n <input id=\"createTicketLabels\" name=\"labels\" type=\"text\" placeholder=\"Labels (comma-separated)\" />\n <button type=\"submit\">Create card</button>\n </form>\n );\n}\n","// The two dialogs over the board: the welcome (the browser edition's first\n// screen, each time it opens) and Help & About. Both are native <dialog>s\n// shown as modals, so Escape and the focus trap are the browser's; a press\n// on the backdrop or a close button closes them.\n\nimport { useEffect, useRef, useState } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { edition, version } from \"../config.ts\";\nimport { useOrbit, useUi } from \"../orbit/context.tsx\";\n\nfunction Modal({ id, labelledBy, open, onClose, className, children }: { id: string; labelledBy: string; open: boolean; onClose: () => void; className?: string; children: ReactNode }) {\n const dialog = useRef<HTMLDialogElement>(null);\n useEffect(() => {\n const el = dialog.current;\n if (!el) return;\n if (open && !el.open) {\n el.showModal();\n el.querySelector<HTMLElement>(\"[data-modal-initial-focus]\")?.focus({ preventScroll: true });\n } else if (!open && el.open) el.close();\n }, [open]);\n return (\n <dialog\n ref={dialog}\n id={id}\n className={`orbit-dialog${className ? ` ${className}` : \"\"}`}\n aria-labelledby={labelledBy}\n onClose={onClose}\n onClick={(event) => {\n // The dialog element itself is the backdrop, outside its inner box.\n if (event.target === event.currentTarget) event.currentTarget.close();\n }}\n >\n {children}\n </dialog>\n );\n}\n\nexport function Dialogs() {\n return (\n <>\n {edition === \"preview\" ? <WelcomeDialog /> : null}\n <HelpDialog />\n </>\n );\n}\n\nfunction WelcomeDialog() {\n const [open, setOpen] = useState(true);\n return (\n <Modal id=\"welcomeDialog\" labelledBy=\"welcomeDialogTitle\" open={open} onClose={() => setOpen(false)}>\n <div className=\"welcome-dialog-inner\">\n <div className=\"welcome-dialog-head\">\n <img className=\"welcome-dialog-logo\" src=\"./orbits-logo.png\" alt=\"\" aria-hidden=\"true\" />\n <span className=\"welcome-dialog-edition-pill\">Browser edition</span>\n </div>\n <div className=\"welcome-dialog-body\">\n <h2 id=\"welcomeDialogTitle\" className=\"welcome-dialog-title\">\n Try Orbit in your browser\n </h2>\n <p className=\"welcome-dialog-lede\">Your boards stay in this browser, on this device.</p>\n <ul className=\"welcome-dialog-notices\">\n <li>\n <span className=\"welcome-dialog-notice-label\">Agents</span>\n Agents connect to Orbit on your computer or server.{\" \"}\n <a className=\"welcome-dialog-link\" href=\"https://orbit.starscape.app/install\">\n Install it in one line\n </a>\n </li>\n <li>\n <span className=\"welcome-dialog-notice-label\">Coming soon</span>\n Orbit and Nebula, hosted: one Starscape account, nothing to run, and dead simple for your agent.\n </li>\n </ul>\n </div>\n <footer className=\"welcome-dialog-footer\">\n <button type=\"button\" className=\"welcome-dialog-cta\" data-modal-initial-focus onClick={() => setOpen(false)}>\n Get started\n </button>\n </footer>\n </div>\n </Modal>\n );\n}\n\nfunction HelpDialog() {\n const app = useOrbit();\n const open = useUi((s) => s.helpOpen);\n const close = (): void => app.ui.setState({ helpOpen: false });\n return (\n <Modal id=\"helpDialog\" labelledBy=\"helpDialogTitle\" open={open} onClose={close}>\n <div className=\"welcome-dialog-inner help-dialog-inner\">\n <div className=\"welcome-dialog-head\">\n <img className=\"welcome-dialog-logo\" src=\"./orbits-logo.png\" alt=\"\" aria-hidden=\"true\" />\n <span className=\"welcome-dialog-edition-pill\" id=\"helpDialogVersion\">\n {version ? `v${version}` : \"Orbit\"}\n </span>\n <button type=\"button\" className=\"help-dialog-close\" aria-label=\"Close\" onClick={close}>\n <svg className=\"ui-icon ui-icon-x\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M6 6l12 12M18 6 6 18\" />\n </svg>\n </button>\n </div>\n <div className=\"welcome-dialog-body\">\n <h2 id=\"helpDialogTitle\" className=\"welcome-dialog-title\">\n Starscape Orbit\n </h2>\n <p className=\"welcome-dialog-lede\">A kanban board for you and your AI agents. You plan here; your agents take cards from the same board and hand them back for review.</p>\n <section className=\"help-dialog-section\" aria-label=\"Getting started\">\n <h3 className=\"help-dialog-heading\">Getting started</h3>\n <ol className=\"help-dialog-steps\">\n <li className=\"help-dialog-step\">\n <span className=\"help-dialog-step__index\">01</span>\n <div>\n <h4>Create a board</h4>\n <p>\n Use the <strong>Board</strong> menu, then <strong>New</strong>, and give it a name.\n </p>\n </div>\n </li>\n <li className=\"help-dialog-step\">\n <span className=\"help-dialog-step__index\">02</span>\n <div>\n <h4>Add cards, and stage some for agents</h4>\n <p>\n Capture work with <strong>New Card</strong>. <strong>AI Ready</strong> holds work an agent may take: a card with a goal and a &ldquo;done when&rdquo;.\n </p>\n </div>\n </li>\n <li className=\"help-dialog-step\">\n <span className=\"help-dialog-step__index\">03</span>\n <div>\n <h4>Connect your agents</h4>\n <p>Tell your agents once, and they work from the board after that.</p>\n <button\n type=\"button\"\n className=\"help-dialog-connect\"\n data-variant=\"secondary\"\n onClick={(event) => {\n event.stopPropagation();\n void app.openConnectAgents();\n }}\n >\n Connect your agents\n </button>\n </div>\n </li>\n </ol>\n </section>\n <section className=\"help-dialog-section\" aria-label=\"Links\">\n <h3 className=\"help-dialog-heading\">Links</h3>\n <ul className=\"help-dialog-links\">\n <li>\n <a className=\"welcome-dialog-link\" href=\"https://orbit.starscape.app\" target=\"_blank\" rel=\"noopener\">\n Documentation\n </a>\n </li>\n <li>\n <a className=\"welcome-dialog-link\" href=\"https://orbit.starscape.app/support\" target=\"_blank\" rel=\"noopener\">\n Support / Tip\n </a>\n </li>\n {/* The site's edition runs on Starscape's address, so Starscape's privacy page covers it. */}\n {edition === \"preview\" ? (\n <li>\n <a className=\"welcome-dialog-link\" href=\"https://starscape.biz/privacy/#apps\" target=\"_blank\" rel=\"noopener\">\n Privacy\n </a>\n </li>\n ) : null}\n </ul>\n </section>\n </div>\n <footer className=\"welcome-dialog-footer\">\n <button type=\"button\" className=\"welcome-dialog-cta\" onClick={close}>\n Got it\n </button>\n </footer>\n </div>\n </Modal>\n );\n}\n","// \"Click outside\" for popovers that hold text people select.\n//\n// Browsers fire the click that ends a drag on the nearest common ancestor of\n// where the press began and where it ended. So when someone selects text in a\n// popover and lets go past its edge, that click lands outside the popover,\n// and a plain \"click outside closes\" would shut it on their selection. This\n// remembers where the press began: a click counts as outside only when its\n// press began outside too. A click with no press (from the keyboard) is\n// judged by its target alone.\n\nimport { useEffect, useEffectEvent } from \"react\";\n\n/**\n * Calls `onOutside` for a click outside, while `enabled`. `isInside` says\n * whether a node is part of the popover (its trigger usually counts).\n */\nexport function useOutsideClick(isInside: (target: Node | null) => boolean, onOutside: () => void, enabled = true): void {\n const inside = useEffectEvent((target: EventTarget | null) => isInside(target instanceof Node ? target : null));\n const outside = useEffectEvent(() => onOutside());\n useEffect(() => {\n if (!enabled) return;\n let pressBeganInside = false;\n const down = (event: PointerEvent): void => {\n pressBeganInside = inside(event.target);\n };\n // A press that never becomes a click (a cancelled touch, a key typed\n // before the next click) must not shield the click after it.\n const reset = (): void => {\n pressBeganInside = false;\n };\n const click = (event: MouseEvent): void => {\n const began = pressBeganInside;\n pressBeganInside = false;\n if (began || inside(event.target)) return;\n outside();\n };\n document.addEventListener(\"pointerdown\", down, true);\n document.addEventListener(\"pointercancel\", reset, true);\n document.addEventListener(\"keydown\", reset, true);\n document.addEventListener(\"click\", click);\n return () => {\n document.removeEventListener(\"pointerdown\", down, true);\n document.removeEventListener(\"pointercancel\", reset, true);\n document.removeEventListener(\"keydown\", reset, true);\n document.removeEventListener(\"click\", click);\n };\n }, [enabled]);\n}\n\n/** True when text is selected (not just a caret) and the selection starts or ends inside `node`. */\nexport function hasSelectionWithin(node: Node | null, selection: Selection | null = getSelection()): boolean {\n if (!node || !selection || selection.isCollapsed || !selection.rangeCount) return false;\n const { anchorNode, focusNode } = selection;\n return Boolean((anchorNode && node.contains(anchorNode)) || (focusNode && node.contains(focusNode)));\n}\n\n/** How far (px) to move a flyout whose box is `rect` so it sits inside a screen `viewportWidth` wide. */\nexport function flyoutShift(rect: DOMRect, viewportWidth: number, margin = 12): number {\n let shift = 0;\n if (rect.right > viewportWidth - margin) shift = viewportWidth - margin - rect.right;\n if (rect.left + shift < margin) shift = margin - rect.left;\n return Math.round(shift);\n}\n\n/** Moves an open flyout sideways into view (and back, when it already fits). */\nexport function fitToViewport(el: HTMLElement | null): void {\n if (!el || el.hidden) return;\n el.style.translate = \"\";\n const shift = flyoutShift(el.getBoundingClientRect(), document.documentElement.clientWidth);\n if (shift) el.style.translate = `${shift}px 0`;\n}\n","// The board menu (the board chip in the topbar): every board to switch to,\n// New (a board's name and slug), and Export (every board as one ZIP, and\n// Import from such a ZIP or one snapshot). It keeps inside the screen on a\n// phone, and a click whose press began outside closes it.\n\nimport { lazy, Suspense, useLayoutEffect, useRef } from \"react\";\nimport type { SyntheticEvent } from \"react\";\nimport { features } from \"../config.ts\";\nimport { useBoard, useCurrentBoard, useOrbit, useUi } from \"../orbit/context.tsx\";\nimport type { BoardMenuPane } from \"../orbit/stores.ts\";\nimport { fitToViewport, useOutsideClick } from \"../ui/outside.ts\";\nimport { toast } from \"../ui/toast.ts\";\n\n// Export and Import (the ZIP code) load when that pane first opens.\nconst ExportPane = lazy(() => import(\"./BoardExportPane.tsx\").then((m) => ({ default: m.ExportPane })));\n\nfunction BoardIcon() {\n return (\n <svg className=\"topbar-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <rect x=\"4\" y=\"2\" width=\"6\" height=\"20\" rx=\"0.75\" stroke=\"currentColor\" strokeWidth=\"2\" />\n <rect x=\"14\" y=\"2\" width=\"6\" height=\"20\" rx=\"0.75\" stroke=\"currentColor\" strokeWidth=\"2\" />\n </svg>\n );\n}\n\nexport function BoardMenu() {\n const app = useOrbit();\n const board = useCurrentBoard();\n const open = useUi((s) => s.popover === \"board-menu\");\n const pane = useUi((s) => s.boardMenuPane);\n const root = useRef<HTMLDivElement>(null);\n const flyout = useRef<HTMLDivElement>(null);\n useOutsideClick((target) => Boolean(target && root.current?.contains(target)), () => app.closePopover(\"board-menu\"), open);\n\n useLayoutEffect(() => {\n if (!open) return;\n const fit = (): void => fitToViewport(flyout.current);\n fit();\n addEventListener(\"resize\", fit);\n return () => removeEventListener(\"resize\", fit);\n }, [open, pane]);\n\n return (\n <div className=\"topbar-menu\" ref={root}>\n <button\n type=\"button\"\n id=\"boardMenuBtn\"\n className=\"topbar-chip topbar-ctl-shrink\"\n data-variant=\"board-chip\"\n aria-expanded={open}\n aria-haspopup=\"true\"\n aria-controls=\"boardFlyout\"\n aria-label={board?.name ?? \"Board\"}\n title={board ? `${board.name} (slug: ${board.slug})` : \"Choose board\"}\n onClick={(event) => {\n event.stopPropagation();\n if (open) app.closePopover(\"board-menu\");\n else app.openBoardMenu(\"list\");\n }}\n >\n <BoardIcon />\n <span className=\"topbar-chip-label\">{board?.name ?? \"Board\"}</span>\n </button>\n <div ref={flyout} id=\"boardFlyout\" className=\"menu-flyout menu-flyout--align-end\" hidden={!open} role=\"menu\">\n {open ? <BoardMenuBody pane={pane} /> : null}\n </div>\n </div>\n );\n}\n\nfunction BoardMenuBody({ pane }: { pane: BoardMenuPane }) {\n const app = useOrbit();\n const setPane = (next: BoardMenuPane): void => app.ui.setState({ boardMenuPane: next });\n const listing = pane !== \"list\";\n return (\n <>\n <div className=\"menu-flyout-head menu-flyout-head--actions\">\n <span>Board</span>\n <span className=\"menu-flyout-actions\">\n <button type=\"button\" data-variant=\"ghost\" data-board-view={listing ? \"list\" : \"new\"} onClick={(event) => {\n event.stopPropagation();\n setPane(listing ? \"list\" : \"new\");\n }}>\n {listing ? \"List\" : \"New\"}\n </button>\n <button type=\"button\" data-variant=\"ghost\" data-board-view=\"export\" onClick={(event) => {\n event.stopPropagation();\n setPane(\"export\");\n }}>\n Export\n </button>\n </span>\n </div>\n {pane === \"list\" ? <BoardList /> : null}\n {pane === \"new\" ? <NewBoardForm /> : null}\n {pane === \"export\" ? (\n <Suspense fallback={null}>\n <ExportPane />\n </Suspense>\n ) : null}\n </>\n );\n}\n\nfunction BoardList() {\n const app = useOrbit();\n const boards = useBoard((s) => s.data?.boards ?? []);\n const current = useBoard((s) => s.boardId);\n return (\n <div className=\"menu-flyout-list\">\n {boards.length ? (\n boards.map((b) => (\n <button key={b.id} type=\"button\" className={`menu-flyout-item ${b.id === current ? \"is-current\" : \"\"}`} data-variant=\"menu-item\" data-pick-board={b.id} role=\"menuitem\" onClick={(event) => {\n event.stopPropagation();\n app.closePopover(\"board-menu\");\n if (b.id === current) return;\n app.closePopover(\"create\");\n void app.navigate({ boardId: b.id, view: \"board\" });\n }}>\n <span className=\"menu-flyout-item-title\">{b.name}</span>\n <span className=\"menu-flyout-item-meta\">{b.slug}</span>\n </button>\n ))\n ) : (\n <p className=\"menu-flyout-hint menu-flyout-hint--empty\">No boards yet. Create or import one to begin.</p>\n )}\n </div>\n );\n}\n\nfunction NewBoardForm() {\n const app = useOrbit();\n const submit = async (event: SyntheticEvent<HTMLFormElement>): Promise<void> => {\n event.preventDefault();\n const data = new FormData(event.currentTarget);\n const name = data.get(\"name\");\n const slug = data.get(\"slug\");\n const created = await app.call(() =>\n app.client.boards.create({\n name: typeof name === \"string\" ? name : \"\",\n ...(typeof slug === \"string\" && slug.trim() ? { slug: slug.trim() } : {}),\n // The browser edition has no agents, so its boards start without the agent lanes.\n ...(features.ai ? {} : { ai_enabled: false })\n })\n );\n app.closePopover(\"board-menu\");\n // Land on the new board: its lanes are ready, and Settings is a click away.\n app.board.setState({ boardId: created.id, boardSlug: created.slug });\n await app.load();\n await app.navigate({ boardId: created.id, boardSlug: created.slug, view: \"board\" });\n toast.success(\"Board created\");\n };\n return (\n <div className=\"menu-flyout-section\">\n <h3 className=\"menu-flyout-heading\">New Board</h3>\n <form id=\"createBoardForm\" className=\"menu-flyout-form\" onSubmit={(event) => void submit(event).catch(() => undefined)}>\n <input name=\"name\" type=\"text\" required placeholder=\"Board name\" aria-label=\"Board name\" autoComplete=\"off\" ref={(el) => el?.focus()} />\n <input name=\"slug\" type=\"text\" placeholder=\"Slug (optional)\" aria-label=\"Slug (optional)\" autoComplete=\"off\" />\n <button type=\"submit\">Create board</button>\n </form>\n </div>\n );\n}\n\n","// An inline editor: a field's text, shown as itself until someone clicks or\n// presses Enter on it, then an input or textarea in its place. The draft is\n// seeded once, when editing starts, so a live change to the field never\n// overwrites what someone is typing; it shows when they leave. Blur or Enter\n// saves (Cmd/Ctrl+Enter in a textarea), Escape cancels, and Tab indents in a\n// textarea.\n\nimport { useEffect, useRef, useState } from \"react\";\nimport type { KeyboardEvent, MouseEvent, ReactNode } from \"react\";\nimport { indentOnTab } from \"../lib/text-editing.ts\";\nimport { toast } from \"./toast.ts\";\n\n/** Where in `node`'s text a click landed, so the caret goes there. */\nfunction offsetFromPoint(node: Element, x: number, y: number, max: number): number | null {\n let range: Range | null = null;\n const doc = document as Omit<Document, \"caretPositionFromPoint\"> & { caretPositionFromPoint?: (x: number, y: number) => { offsetNode: Node; offset: number } | null };\n if (doc.caretPositionFromPoint) {\n const position = doc.caretPositionFromPoint(x, y);\n if (position?.offsetNode && (position.offsetNode === node || node.contains(position.offsetNode))) {\n range = document.createRange();\n range.setStart(node, 0);\n range.setEnd(position.offsetNode, position.offset);\n }\n // WebKit before Safari 18 has only caretRangeFromPoint.\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n } else if (typeof document.caretRangeFromPoint === \"function\") {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const caret = document.caretRangeFromPoint(x, y);\n if (caret?.startContainer && (caret.startContainer === node || node.contains(caret.startContainer))) {\n range = document.createRange();\n range.setStart(node, 0);\n range.setEnd(caret.startContainer, caret.startOffset);\n }\n }\n if (!range) return null;\n return Math.max(0, Math.min(max, range.toString().length));\n}\n\nexport interface InlineEditStart {\n /**\n * Start editing. A click on the field passes its event, so the caret lands\n * where it pointed; a control beside the field passes the field as `field`,\n * so the editor takes the field's place and height.\n */\n start: (event?: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>, field?: HTMLElement | null) => void;\n}\n\nexport interface InlineEditOptions {\n /** The saved text. */\n value: string;\n /** Names the field being edited (data-editing-field). */\n fieldName: string;\n multiline?: boolean;\n ariaLabel?: string;\n /** Said when the edit would leave the field empty; nothing is saved. */\n emptyMessage?: string;\n /** Saves a changed value (raw for a textarea, trimmed for an input). */\n onCommit: (next: string) => Promise<void> | void;\n /** Told when editing starts and ends. */\n onEditingChange?: (editing: boolean) => void;\n}\n\ninterface Editing {\n draft: string;\n initial: string;\n minHeight: number;\n}\n\ninterface Placement {\n caret: number | null;\n scroll: { container: HTMLElement; top: number; nodeTop: number } | null;\n}\n\n/**\n * The editor while editing (else null) and `start`, for the field's own\n * element to call on a click or Enter: `edit.editor ?? <div onClick={edit.start}>…</div>`.\n */\nexport function useInlineEdit({ value, fieldName, multiline: lines, ariaLabel, emptyMessage, onCommit, onEditingChange }: InlineEditOptions): InlineEditStart & { editor: ReactNode; editing: boolean } {\n // Defaults go in the body: the React Compiler skips a hook with defaults in its parameters.\n const multiline = lines ?? true;\n const [editing, setEditing] = useState<Editing | null>(null);\n const editor = useRef<(HTMLTextAreaElement & HTMLInputElement) | null>(null);\n const done = useRef(false);\n const pending = useRef<Placement | null>(null);\n\n const start = (event?: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>, field?: HTMLElement | null): void => {\n if (editing) return;\n const node = field ?? event?.currentTarget ?? null;\n let caret: number | null = null;\n let minHeight = 0;\n let scroll: Placement[\"scroll\"] = null;\n if (multiline && node) {\n if (!field && event && \"clientX\" in event) caret = offsetFromPoint(node, event.clientX, event.clientY, value.length);\n minHeight = Math.ceil(node.getBoundingClientRect().height);\n const container = node.closest<HTMLElement>(\".drawer-inner\");\n if (container) scroll = { container, top: container.scrollTop, nodeTop: node.getBoundingClientRect().top };\n }\n done.current = false;\n pending.current = { caret, scroll };\n setEditing({ draft: value, initial: value, minHeight });\n onEditingChange?.(true);\n };\n\n const editingNow = editing !== null;\n /** Puts focus, the caret and the scroll where the click was, once the editor is in the page. */\n const placeEditor = (el: (HTMLTextAreaElement & HTMLInputElement) | null): void => {\n editor.current = el;\n const place = pending.current;\n if (!el || !place) return;\n pending.current = null;\n el.focus({ preventScroll: true });\n if (!multiline) {\n el.select();\n return;\n }\n el.setSelectionRange(place.caret ?? 0, place.caret ?? 0);\n const scroll = place.scroll;\n if (scroll) {\n const next = scroll.container.scrollTop + (el.getBoundingClientRect().top - scroll.nodeTop);\n scroll.container.scrollTop = Number.isFinite(next) ? Math.max(0, next) : scroll.top;\n }\n };\n\n // Some surfaces aren't focusable, so a press on them doesn't blur the editor in every browser.\n useEffect(() => {\n if (!editingNow) return;\n const down = (event: PointerEvent): void => {\n const el = editor.current;\n if (el && event.target instanceof Node && !el.contains(event.target)) el.blur();\n };\n document.addEventListener(\"pointerdown\", down, true);\n return () => document.removeEventListener(\"pointerdown\", down, true);\n }, [editingNow]);\n\n const finish = (): void => {\n done.current = true;\n setEditing(null);\n onEditingChange?.(false);\n };\n\n const commit = async (): Promise<void> => {\n if (!editing || done.current) return;\n const next = multiline ? editing.draft : editing.draft.trim();\n finish();\n if (next === editing.initial) return;\n if (emptyMessage && !next.trim()) {\n toast.warning(emptyMessage);\n return;\n }\n await onCommit(next);\n };\n\n const keyDown = (event: KeyboardEvent<HTMLTextAreaElement & HTMLInputElement>): void => {\n if (multiline && indentOnTab(event, (draft) => setEditing((e) => (e ? { ...e, draft } : e)))) return;\n if (event.key === \"Escape\") {\n // Escape cancels the edit only, not the drawer around it.\n event.preventDefault();\n event.stopPropagation();\n if (!done.current) finish();\n return;\n }\n if (event.key === \"Enter\" && (!multiline || event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n void commit();\n }\n };\n\n if (editing) {\n const change = (draft: string): void => setEditing((e) => (e ? { ...e, draft } : e));\n const editorNode = multiline ? (\n <textarea\n ref={placeEditor}\n className=\"inline-desc-editor\"\n value={editing.draft}\n data-editing-field={fieldName}\n aria-label={ariaLabel}\n rows={Math.max(3, editing.initial.split(\"\\n\").length + 1)}\n style={editing.minHeight ? { minHeight: `${editing.minHeight}px` } : undefined}\n onChange={(event) => change(event.currentTarget.value)}\n onBlur={() => void commit()}\n onKeyDown={keyDown}\n />\n ) : (\n <input\n ref={placeEditor}\n className=\"inline-title-editor\"\n type=\"text\"\n maxLength={500}\n autoComplete=\"off\"\n spellCheck\n value={editing.draft}\n data-editing-field={fieldName}\n aria-label={ariaLabel}\n onChange={(event) => change(event.currentTarget.value)}\n onBlur={() => void commit()}\n onKeyDown={keyDown}\n />\n );\n return { editor: editorNode, editing: true, start };\n }\n return { editor: null, editing: false, start };\n}\n","// Text people read, and edit in place: the text is plain content a screen\n// reader reads as it is (no tab stop, no role), and a small button beside it,\n// \"Edit <noun>\" (\"Add <noun>\" while there is none), opens the editor in its\n// place, as a click on the text does. Leaving the editor from the keyboard\n// (Escape, or Cmd or Ctrl+Enter) puts focus back on the button; a blur leaves\n// it where it went. The card's description follows the same pattern.\n\nimport { useEffect, useRef } from \"react\";\nimport type { MouseEvent, ReactNode, RefObject } from \"react\";\nimport { useInlineEdit } from \"./InlineEdit.tsx\";\nimport type { InlineEditOptions } from \"./InlineEdit.tsx\";\n\nexport interface EditableText {\n edit: ReturnType<typeof useInlineEdit>;\n button: RefObject<HTMLButtonElement | null>;\n body: RefObject<HTMLDivElement | null>;\n}\n\n/** useInlineEdit, with focus going back to the Edit button when the editor is left from the keyboard. */\nexport function useEditableText(options: InlineEditOptions): EditableText {\n const button = useRef<HTMLButtonElement>(null);\n const body = useRef<HTMLDivElement>(null);\n const refocus = useRef(false);\n const { onEditingChange, fieldName } = options;\n const edit = useInlineEdit({\n ...options,\n onEditingChange: (editing) => {\n // Escape or Cmd+Enter leave with focus still in the editor; a blur has already moved it.\n if (!editing) refocus.current = document.activeElement?.getAttribute(\"data-editing-field\") === fieldName;\n onEditingChange?.(editing);\n }\n });\n useEffect(() => {\n if (edit.editing || !refocus.current) return;\n refocus.current = false;\n button.current?.focus({ preventScroll: true });\n }, [edit.editing]);\n return { edit, button, body };\n}\n\nexport interface EditableTextViewProps {\n field: EditableText;\n /** What the button edits, in lower case: \"notes\", \"agent instructions\". */\n noun: string;\n has: boolean;\n fieldName: string;\n /** The text as sanitised HTML (renderPreservedText, or an escaped placeholder). */\n html: string;\n bodyClassName: string;\n /** Shown at the start of the button's row: the field's label or its explanation. */\n lead?: ReactNode;\n /** A click on the text that shouldn't edit (a drag that selected text to copy it). */\n ignoreClick?: (event: MouseEvent<HTMLDivElement>) => boolean;\n /** A box around the text and its editor (a scrolling area). */\n wrap?: { id?: string; className: string };\n}\n\nexport function EditableTextView({ field, noun, has, fieldName, html, bodyClassName, lead, ignoreClick, wrap }: EditableTextViewProps) {\n const { edit, button, body } = field;\n const text = edit.editor ?? (\n <div\n ref={body}\n className={bodyClassName}\n data-edit-field={fieldName}\n title=\"Click to edit\"\n onClick={(event) => {\n event.stopPropagation();\n if (ignoreClick?.(event)) return;\n edit.start(event);\n }}\n dangerouslySetInnerHTML={{ __html: html }}\n />\n );\n return (\n <>\n <div className={edit.editing ? \"editable-text-bar is-editing\" : \"editable-text-bar\"}>\n {lead}\n <button\n ref={button}\n type=\"button\"\n className=\"detail-action-btn editable-text-edit\"\n data-variant=\"ghost\"\n onClick={(event) => {\n event.stopPropagation();\n edit.start(event, body.current);\n }}\n >\n {has ? `Edit ${noun}` : `Add ${noun}`}\n </button>\n </div>\n {wrap ? (\n <div id={wrap.id} className={wrap.className}>\n {text}\n </div>\n ) : (\n text\n )}\n </>\n );\n}\n","// Notes For You: the board's notes (project_notes), as a strip in the topbar\n// and a popover it opens, where the notes read as text and \"Edit notes\" (or a\n// click on them) edits them in place. A drag that selects text in the notes is\n// for copying, not editing; a click whose press began outside closes the\n// popover; Escape closes it.\n\nimport { useRef } from \"react\";\nimport { cleanText, renderPreservedText } from \"../lib/format.ts\";\nimport { useCurrentBoard, useOrbit, useUi } from \"../orbit/context.tsx\";\nimport { EditableTextView, useEditableText } from \"../ui/EditableText.tsx\";\nimport { hasSelectionWithin, useOutsideClick } from \"../ui/outside.ts\";\n\nconst NOTE_FALLBACK = \"No board notes yet\";\nconst NOTES_PLACEHOLDER = \"Add board notes for yourself and your agents…\";\n\nfunction notesSummary(notes: string | undefined): string {\n const text = cleanText(notes ?? \"\")\n .split(\"\\n\")\n .map((line) => line.trim())\n .filter(Boolean)\n .join(\" \")\n .replace(/\\s+/g, \" \")\n .trim();\n return text || NOTE_FALLBACK;\n}\n\n/** The strip that opens the notes. */\nexport function NotesStrip() {\n const app = useOrbit();\n const board = useCurrentBoard();\n const open = useUi((s) => s.popover === \"notes\");\n const summary = notesSummary(board?.project_notes);\n const empty = summary === NOTE_FALLBACK;\n return (\n <button\n id=\"brandNotesBtn\"\n type=\"button\"\n className=\"topbar-notes brand-notes-strip\"\n data-variant=\"topbar-notes\"\n aria-label={`Show board notes: ${summary}`}\n aria-expanded={open}\n aria-controls=\"brandFocusPopover\"\n data-empty={empty ? \"true\" : \"false\"}\n data-state={open ? \"open\" : \"closed\"}\n onClick={(event) => {\n event.stopPropagation();\n app.ui.setState({ popover: open ? null : \"notes\" });\n }}\n >\n <span id=\"brandNotesText\" className=\"topbar-notes__text\">\n {empty ? \"\" : summary}\n </span>\n </button>\n );\n}\n\n/** The popover, under the logo. */\nexport function NotesPopover() {\n const app = useOrbit();\n const open = useUi((s) => s.popover === \"notes\");\n const root = useRef<HTMLDivElement>(null);\n useOutsideClick((target) => Boolean(target && (root.current?.contains(target) || document.getElementById(\"brandNotesBtn\")?.contains(target))), () => app.closePopover(\"notes\"), open);\n return (\n <div ref={root} id=\"brandFocusPopover\" className=\"brand-focus-popover\" role=\"dialog\" aria-label=\"Notes For You\" hidden={!open}>\n <div className=\"inline-md-field brand-focus-notes-field\">{open ? <NotesBody /> : null}</div>\n </div>\n );\n}\n\nfunction NotesBody() {\n const app = useOrbit();\n const board = useCurrentBoard();\n const notes = board?.project_notes ?? \"\";\n const field = useEditableText({\n value: notes,\n fieldName: \"project_notes\",\n multiline: true,\n ariaLabel: \"Edit Notes For You\",\n onCommit: async (next) => {\n if (!board) return;\n const updated = await app.call(() => app.client.boards.update(board.id, { project_notes: cleanText(next) }));\n app.upsertBoard(updated);\n }\n });\n const has = Boolean(notes.trim());\n return (\n <EditableTextView\n field={field}\n noun=\"notes\"\n has={has}\n fieldName=\"project_notes\"\n lead={<span className=\"inline-md-field-label notes-for-you-title\">Notes For You</span>}\n html={has ? renderPreservedText(notes) : NOTES_PLACEHOLDER}\n bodyClassName={`inline-md-field-body preserved-text-body editable-field settings-notes-body brand-focus-notes-edit${has ? \"\" : \" is-placeholder\"}`}\n // A drag that selected text in the notes is for copying them.\n ignoreClick={(event) => hasSelectionWithin(event.currentTarget)}\n wrap={{ id: \"brandFocusNotes\", className: \"brand-focus-notes-body\" }}\n />\n );\n}\n","// Topbar search: as someone types (after 220 ms, from two letters), the\n// board's cards that match, under the field; choosing one opens it. A click\n// whose press began outside closes the results.\n\nimport { useEffect, useRef, useState } from \"react\";\nimport type { SearchHit } from \"../../../src/core/search.ts\";\nimport { stateClassFor, ticketLabel } from \"../lib/format.ts\";\nimport { useCurrentBoard, useOrbit } from \"../orbit/context.tsx\";\nimport { useOutsideClick } from \"../ui/outside.ts\";\n\nexport function Search() {\n const app = useOrbit();\n const board = useCurrentBoard();\n const [query, setQuery] = useState(\"\");\n const [hits, setHits] = useState<SearchHit[] | null>(null);\n const root = useRef<HTMLDivElement>(null);\n const asked = useRef(0);\n\n useEffect(() => {\n const q = query.trim();\n const slug = board?.slug;\n const timer = setTimeout(() => {\n const ask = ++asked.current;\n if (q.length < 2 || !slug) {\n setHits(null);\n return;\n }\n app.call(() => app.client.search({ board: slug }, { q })).then(\n (answer) => {\n if (ask === asked.current) setHits(answer.results);\n },\n () => undefined\n );\n }, 220);\n return () => clearTimeout(timer);\n }, [app, query, board?.slug]);\n\n useOutsideClick((target) => Boolean(target && root.current?.contains(target)), () => setHits(null), hits !== null);\n\n const open = (hit: SearchHit): void => {\n const id = hit.id ?? hit.ticket_id;\n if (!id) return;\n app.closePopover(\"create\");\n setHits(null);\n void app.openTicket(id);\n };\n\n return (\n <div className=\"topbar-search\" id=\"topbarSearch\" ref={root}>\n <input id=\"searchInput\" placeholder=\"Search tickets, comments, decisions...\" autoComplete=\"off\" value={query} onChange={(event) => setQuery(event.currentTarget.value)} />\n <div id=\"searchResults\" className=\"search-results\" hidden={hits === null}>\n {hits?.length === 0 ? <div className=\"search-hit\">No results</div> : null}\n {hits?.map((hit) => (\n <div\n key={hit.id ?? hit.ticket_id}\n className=\"search-hit\"\n data-ticket-id={hit.id ?? hit.ticket_id}\n role=\"button\"\n tabIndex={0}\n onClick={() => open(hit)}\n onKeyDown={(event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n open(hit);\n }\n }}\n >\n <span className=\"search-hit-main\">\n <strong>{ticketLabel({ number: hit.number ?? \"\" })}</strong>\n <span className=\"search-hit-title\">{hit.title}</span>\n </span>\n <span className=\"search-hit-state\" data-variant={stateClassFor(hit)}>\n {hit.state_name || \"State\"}\n </span>\n </div>\n ))}\n </div>\n </div>\n );\n}\n","// The topbar: the logo (the quick menu), Notes For You, search, New Card, the\n// board menu, the theme button, Help and Settings. On a phone Help and\n// Settings show only their icons, so each carries its name.\n\nimport { useEffect } from \"react\";\nimport { QuickMenuLogo } from \"../quick-menu/QuickMenu.tsx\";\nimport { useBoard, useOrbit, useUi } from \"../orbit/context.tsx\";\nimport { useUpdateAvailable } from \"../settings/update-check.ts\";\nimport { BoardMenu } from \"./BoardMenu.tsx\";\nimport { NotesPopover, NotesStrip } from \"./Notes.tsx\";\nimport { Search } from \"./Search.tsx\";\n\nexport function Topbar() {\n const app = useOrbit();\n const loaded = useBoard((s) => s.data !== null);\n const noBoards = useBoard((s) => s.data !== null && s.data.boards.length === 0);\n const creating = useUi((s) => s.popover === \"create\");\n const update = useUpdateAvailable();\n\n // Before any board, the header offers only the board menu (styles.css hides New Card and search).\n useEffect(() => {\n if (loaded) document.documentElement.toggleAttribute(\"data-no-boards\", noBoards);\n }, [loaded, noBoards]);\n\n return (\n <header className=\"topbar\">\n <div className=\"brand\" aria-label=\"Orbit\">\n <QuickMenuLogo />\n <NotesPopover />\n </div>\n <div className=\"controls\">\n <NotesStrip />\n <span className=\"topbar-controls-gap\" aria-hidden=\"true\" />\n <Search />\n <button\n id=\"newTicketBtn\"\n type=\"button\"\n className=\"topbar-btn topbar-ctl-shrink\"\n data-variant=\"cta\"\n aria-label=\"New Card\"\n onClick={(event) => {\n event.stopPropagation();\n if (creating) app.closePopover(\"create\");\n else app.openCreate(\"\");\n }}\n >\n <span className=\"btn-plus\" aria-hidden=\"true\" />\n <span className=\"topbar-btn-label\">New Card</span>\n </button>\n <BoardMenu />\n {/* ss-ui's sun/moon button: @starlove/ui/prefs flips the theme on its\n click and says what a press will do. The icons are Orbit's. */}\n <button id=\"themeToggle\" type=\"button\" className=\"topbar-btn topbar-ctl-shrink\" data-variant=\"theme\" data-theme-toggle aria-label=\"Switch theme\">\n <svg className=\"topbar-icon\" data-icon=\"sun\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"5\" />\n <path d=\"M12 1v2m0 18v2M4.2 4.2l1.4 1.4m12.8 12.8l1.4 1.4M1 12h2m18 0h2M4.2 19.8l1.4-1.4M18.4 5.6l1.4-1.4\" />\n </svg>\n <svg className=\"topbar-icon\" data-icon=\"moon\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" aria-hidden=\"true\">\n <path d=\"M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z\" />\n </svg>\n </button>\n <button\n id=\"helpBtn\"\n type=\"button\"\n className=\"topbar-btn topbar-ctl-shrink\"\n data-variant=\"translucent\"\n aria-haspopup=\"dialog\"\n aria-controls=\"helpDialog\"\n aria-label=\"Help\"\n onClick={() => app.ui.setState({ helpOpen: true })}\n >\n <svg className=\"topbar-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3\" />\n <path d=\"M12 17h.01\" />\n </svg>\n <span className=\"topbar-btn-label\">Help</span>\n </button>\n <button\n id=\"settingsBtn\"\n type=\"button\"\n className=\"topbar-btn topbar-ctl-shrink\"\n data-variant=\"translucent\"\n aria-label=\"Settings\"\n onClick={() => {\n app.closePopovers();\n void app.openSettings();\n }}\n >\n <svg className=\"topbar-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"M12.22 2h-.44a2 2 0 00-2 2v.18a2 2 0 01-1 1.73l-.43.25a2 2 0 01-2 0l-.15-.08a2 2 0 00-2.73.73l-.22.38a2 2 0 00.73 2.73l.15.1a2 2 0 011 1.72v.51a2 2 0 01-1 1.74l-.15.09a2 2 0 00-.73 2.73l.22.38a2 2 0 002.73.73l.15-.08a2 2 0 012 0l.43.25a2 2 0 011 1.73V20a2 2 0 002 2h.44a2 2 0 002-2v-.18a2 2 0 011-1.73l.43-.25a2 2 0 012 0l.15.08a2 2 0 002.73-.73l.22-.39a2 2 0 00-.73-2.73l-.15-.08a2 2 0 01-1-1.74v-.5a2 2 0 011-1.74l.15-.09a2 2 0 00.73-2.73l-.22-.38a2 2 0 00-2.73-.73l-.15.08a2 2 0 01-2 0l-.43-.25a2 2 0 01-1-1.73V4a2 2 0 00-2-2z\" />\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n </svg>\n <span className=\"topbar-btn-label\">Settings</span>\n <span className=\"topbar-update-dot\" title=\"Update available\" hidden={!update} />\n </button>\n </div>\n </header>\n );\n}\n","// The board view: Orbit's whole workspace (topbar, board, drawer, dialogs)\n// for one OrbitClient. The full edition mounts it over HTTP, the browser\n// edition over its in-page Orbit; a host such as the Suite can mount it with\n// its own client.\n\nimport { useEffect, useState } from \"react\";\nimport { Toaster } from \"@starlove/ui-react/toaster\";\nimport type { OrbitClient } from \"../../src/client/types.ts\";\nimport { CardActionMenu } from \"./board/CardActionMenu.tsx\";\nimport { ArtifactDrawer } from \"./card/ArtifactDrawer.tsx\";\nimport { Kanban } from \"./board/Kanban.tsx\";\nimport { Drawer } from \"./drawer/Drawer.tsx\";\nimport { OrbitApp } from \"./orbit/app.ts\";\nimport { OrbitContext, useOrbit, useUi } from \"./orbit/context.tsx\";\nimport { QuickMenu } from \"./quick-menu/QuickMenu.tsx\";\nimport { checkForUpdate } from \"./settings/update-check.ts\";\nimport { CreateCard } from \"./topbar/CreateCard.tsx\";\nimport { Dialogs } from \"./topbar/Dialogs.tsx\";\nimport { Topbar } from \"./topbar/Topbar.tsx\";\nimport { ErrorBoundary, WorkspaceFailed } from \"./ui/ErrorBoundary.tsx\";\n\n/** The workspace for a client; `app`, when given, is one made (and primed) for that client already. */\nexport function OrbitBoardView({ client, app: made }: { client: OrbitClient; app?: OrbitApp }) {\n const [app] = useState(() => made ?? new OrbitApp(client));\n useEffect(() => app.start(), [app]);\n useEffect(() => checkForUpdate(app), [app]);\n return (\n <ErrorBoundary fallback={<WorkspaceFailed />}>\n <OrbitContext value={app}>\n <Topbar />\n <QuickMenu />\n <CreateCard />\n <main className=\"board-main\">\n <Kanban />\n </main>\n <footer className=\"frame-footer\" aria-label=\"Application signature\">\n <span className=\"frame-footer-title\">Orbit</span>\n <span className=\"frame-footer-subtitle\">\n <em>a Starscape app</em>\n </span>\n </footer>\n <Drawer />\n <ArtifactDrawer />\n <Dialogs />\n <CardActionMenu />\n <EscapeKey />\n <Toaster position=\"bottom-right\" />\n </OrbitContext>\n </ErrorBoundary>\n );\n}\n\n/**\n * Escape closes what's on top: the board menu, then New Card, then the\n * drawer. An inline editor's own Escape cancels its edit and stops there.\n */\nfunction EscapeKey() {\n const app = useOrbit();\n const view = useUi((s) => s.route.view);\n useEffect(() => {\n const onKey = (event: KeyboardEvent): void => {\n if (event.key !== \"Escape\" || event.defaultPrevented) return;\n const ui = app.ui.getState();\n if (ui.popover === \"board-menu\" || ui.popover === \"create\") {\n app.ui.setState({ popover: null });\n return;\n }\n if (ui.popover === \"notes\") {\n app.ui.setState({ popover: null });\n return;\n }\n if (ui.popover === \"quick-menu\" || ui.helpOpen || ui.cardMenu) return;\n if (view === \"board\") return;\n void app.closeDrawer();\n };\n document.addEventListener(\"keydown\", onKey);\n return () => document.removeEventListener(\"keydown\", onKey);\n }, [app, view]);\n return null;\n}\n","// Animated starfield background, signature stars and meteors, which follow\n// the theme. It draws behind the app, outside React.\n//\n// Background stars are drawn on a 2D canvas so each star has its own twinkle\n// period, phase, and warmth — scintillation that reads as per-star rather\n// than whole-layer. Layers parallax to the cursor by depth. The Milky Way,\n// nebula ghosts, signature stars with spikes, and meteors stay in CSS.\n\nimport { onPrefs, reducedMotion, resolvedTheme } from \"@starlove/ui/prefs\";\n\n/** Starts the sky behind the app (once the theme is on <html>, so its first sync sees it). */\nexport function startStarscape(): void {\n const starscape = startSky();\n scheduleMeteor();\n // The sticky topbar gets a tinted glass panel once the page scrolls.\n const updateScrolled = (): void => {\n document.body.classList.toggle(\"is-scrolled\", window.scrollY > 4);\n };\n window.addEventListener(\"scroll\", updateScrolled, { passive: true });\n updateScrolled();\n // A theme or motion change, from a control, another tab or the OS.\n onPrefs(() => starscape.sync());\n}\n\ninterface Star {\n x: number;\n y: number;\n size: number;\n depth: number;\n glow: number;\n rgb: [number, number, number];\n period: number;\n phase: number;\n amp: number;\n baseAlpha: number;\n}\n\nfunction startSky(): { sync: () => void } {\n const grain = document.querySelector<HTMLElement>(\".grain\");\n if (!grain) return { sync: () => undefined };\n\n buildSignatureStars(grain);\n\n const canvas = document.createElement(\"canvas\");\n canvas.className = \"starfield-canvas\";\n canvas.setAttribute(\"aria-hidden\", \"true\");\n const milkyWay = grain.querySelector(\".milky-way\");\n if (milkyWay && milkyWay.nextSibling) {\n grain.insertBefore(canvas, milkyWay.nextSibling);\n } else if (milkyWay) {\n grain.appendChild(canvas);\n } else {\n grain.insertBefore(canvas, grain.firstChild);\n }\n\n const context = canvas.getContext(\"2d\");\n if (!context) return { sync: () => undefined };\n const ctx: CanvasRenderingContext2D = context;\n const DPR = Math.min(window.devicePixelRatio || 1, 2);\n let width = 0;\n let height = 0;\n let stars: Star[] = [];\n let rafId = 0;\n let running = false;\n\n // Eased mouse position, normalized to [-0.5, 0.5]. Lerp gives inertia.\n const mouse = { x: 0, y: 0, tx: 0, ty: 0 };\n\n function resize(): void {\n width = window.innerWidth;\n height = window.innerHeight;\n canvas.width = Math.round(width * DPR);\n canvas.height = Math.round(height * DPR);\n canvas.style.width = `${width}px`;\n canvas.style.height = `${height}px`;\n ctx.setTransform(DPR, 0, 0, DPR, 0, 0);\n buildStars();\n }\n\n function buildStars(): void {\n // Star count scales with viewport area so wide screens don't read empty.\n const density = (width * height) / (1440 * 900);\n const layers: { count: number; depth: number; sizes: [number, number][]; glow: number }[] = [\n { count: Math.round(320 * density), depth: 0.12, sizes: [[1, 0.9], [1.4, 0.1]], glow: 0 },\n { count: Math.round(160 * density), depth: 0.30, sizes: [[1, 0.5], [1.6, 0.4], [2.4, 0.1]], glow: 1.8 },\n { count: Math.round(44 * density), depth: 0.58, sizes: [[1.8, 0.5], [2.6, 0.38], [3.6, 0.12]], glow: 2.4 }\n ];\n const rng = mulberry32(0xc0ffee);\n stars = [];\n for (const layer of layers) {\n for (let i = 0; i < layer.count; i++) {\n const size = pickWeighted(rng(), layer.sizes);\n stars.push({\n x: rng() * width,\n y: rng() * height,\n size,\n depth: layer.depth,\n glow: size >= 2 ? layer.glow : 0,\n rgb: pickStarColor(rng()),\n period: 2.2 + rng() * 5.4,\n phase: rng() * Math.PI * 2,\n amp: 0.25 + rng() * 0.5,\n baseAlpha: size < 1.5 ? 0.45 + rng() * 0.28 : 0.55 + rng() * 0.22\n });\n }\n }\n }\n\n function pickStarColor(r: number): [number, number, number] {\n if (r < 0.80) return [255, 255, 255];\n if (r < 0.93) return [255, 222, 186];\n return [195, 218, 255];\n }\n\n function onPointerMove(e: PointerEvent): void {\n if (!width || !height) return;\n mouse.tx = e.clientX / width - 0.5;\n mouse.ty = e.clientY / height - 0.5;\n }\n\n function frame(t: number): void {\n mouse.x += (mouse.tx - mouse.x) * 0.06;\n mouse.y += (mouse.ty - mouse.y) * 0.06;\n\n ctx.clearRect(0, 0, width, height);\n ctx.globalCompositeOperation = \"lighter\";\n\n const time = t / 1000;\n const parallaxPx = 70;\n\n for (let i = 0; i < stars.length; i++) {\n const s = stars[i];\n if (!s) continue;\n const pulse = 0.5 + 0.5 * Math.sin(time * ((2 * Math.PI) / s.period) + s.phase);\n const alpha = s.baseAlpha * (1 - s.amp + s.amp * pulse);\n const px = s.x - mouse.x * s.depth * parallaxPx;\n const py = s.y - mouse.y * s.depth * parallaxPx;\n const [r, g, b] = s.rgb;\n\n if (s.glow > 0) {\n // Glowed stars: soft halo + circular core (arc, not rect) so the\n // bright center doesn't read as a square at larger zoom levels.\n const radius = s.size * s.glow;\n const grad = ctx.createRadialGradient(px, py, 0, px, py, radius);\n grad.addColorStop(0, `rgba(${r},${g},${b},${alpha * 0.85})`);\n grad.addColorStop(0.35, `rgba(${r},${g},${b},${alpha * 0.3})`);\n grad.addColorStop(1, `rgba(${r},${g},${b},0)`);\n ctx.fillStyle = grad;\n ctx.beginPath();\n ctx.arc(px, py, radius, 0, Math.PI * 2);\n ctx.fill();\n\n ctx.fillStyle = `rgba(${r},${g},${b},${alpha})`;\n ctx.beginPath();\n ctx.arc(px, py, s.size / 2, 0, Math.PI * 2);\n ctx.fill();\n } else {\n // Sub-pixel dim stars: fillRect is fine — they're one device pixel.\n const half = s.size / 2;\n ctx.fillStyle = `rgba(${r},${g},${b},${alpha})`;\n ctx.fillRect(px - half, py - half, s.size, s.size);\n }\n }\n\n ctx.globalCompositeOperation = \"source-over\";\n if (running) rafId = requestAnimationFrame(frame);\n }\n\n function drawStaticFrame(): void {\n ctx.clearRect(0, 0, width, height);\n ctx.globalCompositeOperation = \"lighter\";\n for (const s of stars) {\n const [r, g, b] = s.rgb;\n ctx.fillStyle = `rgba(${r},${g},${b},${s.baseAlpha})`;\n if (s.glow > 0) {\n ctx.beginPath();\n ctx.arc(s.x, s.y, s.size / 2, 0, Math.PI * 2);\n ctx.fill();\n } else {\n const half = s.size / 2;\n ctx.fillRect(s.x - half, s.y - half, s.size, s.size);\n }\n }\n ctx.globalCompositeOperation = \"source-over\";\n }\n\n function start(): void {\n if (running) return;\n running = true;\n rafId = requestAnimationFrame(frame);\n }\n\n function stop(): void {\n running = false;\n cancelAnimationFrame(rafId);\n }\n\n function sync(): void {\n const isDark = resolvedTheme() === \"dark\";\n const reduced = reducedMotion();\n if (!isDark) {\n stop();\n ctx.clearRect(0, 0, width, height);\n return;\n }\n if (!stars.length) resize();\n if (reduced || document.hidden) {\n stop();\n drawStaticFrame();\n } else {\n start();\n }\n }\n\n window.addEventListener(\"resize\", () => {\n resize();\n sync();\n }, { passive: true });\n window.addEventListener(\"pointermove\", onPointerMove, { passive: true });\n document.addEventListener(\"visibilitychange\", sync);\n\n resize();\n sync();\n return { sync };\n}\n\nfunction buildSignatureStars(grain: HTMLElement): void {\n grain.querySelectorAll(\".signature-star\").forEach((el) => el.remove());\n const rng = mulberry32(0x5ca1e5);\n const SIG_COUNT = 7;\n for (let i = 0; i < SIG_COUNT; i++) {\n const star = document.createElement(\"div\");\n star.className = \"signature-star\";\n star.setAttribute(\"aria-hidden\", \"true\");\n star.style.left = (6 + rng() * 88).toFixed(2) + \"%\";\n star.style.top = (8 + rng() * 78).toFixed(2) + \"%\";\n star.style.animationDelay = (-rng() * 4.8).toFixed(2) + \"s\";\n grain.appendChild(star);\n }\n}\n\n/* Shooting stars — rare streaks that cross the sky. CSS handles the trail\n and fade; JS picks the trajectory and reschedules the next one. */\nfunction scheduleMeteor(): void {\n const delay = 14000 + Math.random() * 28000;\n setTimeout(spawnMeteor, delay);\n}\n\nfunction spawnMeteor(): void {\n const isDark = resolvedTheme() === \"dark\";\n const reduced = reducedMotion();\n const grain = document.querySelector(\".grain\");\n if (!isDark || reduced || document.hidden || !grain) {\n scheduleMeteor();\n return;\n }\n\n const vw = window.innerWidth;\n const vh = window.innerHeight;\n const startX = Math.random() * vw * 0.6;\n const startY = Math.random() * vh * 0.55;\n const distance = 380 + Math.random() * 520;\n const angleDeg = 18 + Math.random() * 26;\n const rad = (angleDeg * Math.PI) / 180;\n const endX = startX + Math.cos(rad) * distance;\n const endY = startY + Math.sin(rad) * distance;\n\n const m = document.createElement(\"div\");\n m.className = \"meteor\";\n m.setAttribute(\"aria-hidden\", \"true\");\n m.style.setProperty(\"--from-x\", `${startX}px`);\n m.style.setProperty(\"--from-y\", `${startY}px`);\n m.style.setProperty(\"--to-x\", `${endX}px`);\n m.style.setProperty(\"--to-y\", `${endY}px`);\n m.style.setProperty(\"--angle\", `${angleDeg}deg`);\n grain.appendChild(m);\n m.addEventListener(\"animationend\", () => m.remove(), { once: true });\n\n scheduleMeteor();\n}\n\nfunction pickWeighted(r: number, table: [number, number][]): number {\n let acc = 0;\n for (const [value, weight] of table) {\n acc += weight;\n if (r < acc) return value;\n }\n return table[table.length - 1]?.[0] ?? 1;\n}\n\nfunction mulberry32(seed: number): () => number {\n let a = seed >>> 0;\n return function (): number {\n a = (a + 0x6d2b79f5) >>> 0;\n let t = a;\n t = Math.imul(t ^ (t >>> 15), t | 1);\n t ^= t + Math.imul(t ^ (t >>> 7), t | 61);\n return ((t ^ (t >>> 14)) >>> 0) / 4294967296;\n };\n}\n","// Theme and motion: @starlove/ui's preferences (ss-ui 3.4). theme-init.js\n// (index.html) applies the saved choices before first paint; this starts the\n// rest once. Orbit's styles key off <html data-theme> alone (they have no\n// prefers-color-scheme rules), so with nothing saved the OS's theme is\n// written there, without saving it, and follows the OS.\n\nimport { THEME_KEY, initPrefs, setTheme, themeMode } from \"@starlove/ui/prefs\";\n\nconst DARK = \"(prefers-color-scheme: dark)\";\n\nfunction savedTheme(): string | null {\n try {\n const value = localStorage.getItem(THEME_KEY);\n return value === \"light\" || value === \"dark\" ? value : null;\n } catch {\n return null; // Storage is blocked: nothing is saved.\n }\n}\n\nfunction osDark(): MediaQueryList | null {\n try {\n return matchMedia(DARK);\n } catch {\n return null;\n }\n}\n\n/** Starts the preferences (before anything reads the theme); returns the undo. */\nexport function startPreferences(): () => void {\n const undo = initPrefs();\n const media = osDark();\n const showOs = (): void => setTheme(media?.matches ? \"dark\" : \"light\", { save: false });\n const follow = (): void => {\n if (!savedTheme()) showOs();\n };\n if (themeMode() === \"system\") showOs();\n media?.addEventListener(\"change\", follow);\n return () => {\n media?.removeEventListener(\"change\", follow);\n undo();\n };\n}\n","// The web app's entry: preferences and the starfield first, then the client\n// this edition uses, then the board view.\n\nimport { createRoot } from \"react-dom/client\";\nimport { openClient } from \"#orbit-client\";\nimport { OrbitBoardView } from \"./OrbitBoardView.tsx\";\nimport { OrbitApp } from \"./orbit/app.ts\";\nimport { startStarscape } from \"./ui/background.ts\";\nimport { startPreferences } from \"./ui/preferences.ts\";\nimport { toast, errorMessage } from \"./ui/toast.ts\";\n\nstartPreferences();\nstartStarscape();\n\nconst root = document.getElementById(\"root\");\nif (root) {\n openClient().then(\n (client) => {\n // The board's first read starts now, beside React's first render.\n const app = new OrbitApp(client);\n app.prime();\n createRoot(root).render(<OrbitBoardView client={client} app={app} />);\n },\n (error: unknown) => toast.error(`Orbit could not start: ${errorMessage(error)}`)\n );\n}\n"],"file":"app.BmuponPJ.js"}