@tego/web 1.6.1 → 1.6.2

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 (268) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +29 -29
  3. package/package.json +3 -3
  4. package/public/browser-checker.js +215 -215
  5. package/public/global.css +63 -63
  6. package/rsbuild.config.ts +104 -103
  7. package/src/.plugins/index.ts +10 -3
  8. package/src/.plugins/packageMap.json +93 -0
  9. package/src/.plugins/packages/module_acl.ts +2 -0
  10. package/src/.plugins/packages/module_app_info.ts +2 -0
  11. package/src/.plugins/packages/module_auth.ts +2 -0
  12. package/src/.plugins/packages/module_backup.ts +2 -0
  13. package/src/.plugins/packages/module_cloud_component.ts +2 -0
  14. package/src/.plugins/packages/module_collection.ts +2 -0
  15. package/src/.plugins/packages/module_cron.ts +2 -0
  16. package/src/.plugins/packages/module_data_source.ts +2 -0
  17. package/src/.plugins/packages/module_env_secrets.ts +2 -0
  18. package/src/.plugins/packages/module_error_handler.ts +2 -0
  19. package/src/.plugins/packages/module_event_source.ts +2 -0
  20. package/src/.plugins/packages/module_file.ts +2 -0
  21. package/src/.plugins/packages/module_hera.ts +2 -0
  22. package/src/.plugins/packages/module_instrumentation.ts +2 -0
  23. package/src/.plugins/packages/module_message.ts +2 -0
  24. package/src/.plugins/packages/module_multi_app.ts +2 -0
  25. package/src/.plugins/packages/module_pdf.ts +2 -0
  26. package/src/.plugins/packages/module_ui_schema.ts +2 -0
  27. package/src/.plugins/packages/module_user.ts +2 -0
  28. package/src/.plugins/packages/module_web.ts +2 -0
  29. package/src/.plugins/packages/module_worker_thread.ts +2 -0
  30. package/src/.plugins/packages/module_workflow.ts +2 -0
  31. package/src/.plugins/packages/plugin_action_bulk_edit.ts +2 -0
  32. package/src/.plugins/packages/plugin_action_bulk_update.ts +2 -0
  33. package/src/.plugins/packages/plugin_action_custom_request.ts +2 -0
  34. package/src/.plugins/packages/plugin_action_duplicate.ts +2 -0
  35. package/src/.plugins/packages/plugin_action_export.ts +2 -0
  36. package/src/.plugins/packages/plugin_action_import.ts +2 -0
  37. package/src/.plugins/packages/plugin_action_print.ts +2 -0
  38. package/src/.plugins/packages/plugin_action_share.ts +2 -0
  39. package/src/.plugins/packages/plugin_adapter_bullmq.ts +2 -0
  40. package/src/.plugins/packages/plugin_adapter_red_node.ts +2 -0
  41. package/src/.plugins/packages/plugin_adapter_remix.ts +2 -0
  42. package/src/.plugins/packages/plugin_ai_chat.ts +2 -0
  43. package/src/.plugins/packages/plugin_api_keys.ts +2 -0
  44. package/src/.plugins/packages/plugin_api_logs.ts +2 -0
  45. package/src/.plugins/packages/plugin_audit_logs.ts +2 -0
  46. package/src/.plugins/packages/plugin_auth_cas.ts +2 -0
  47. package/src/.plugins/packages/plugin_auth_dingtalk.ts +2 -0
  48. package/src/.plugins/packages/plugin_auth_main_app.ts +2 -0
  49. package/src/.plugins/packages/plugin_auth_oidc.ts +2 -0
  50. package/src/.plugins/packages/plugin_auth_pages.ts +2 -0
  51. package/src/.plugins/packages/plugin_auth_prototype_lark.ts +2 -0
  52. package/src/.plugins/packages/plugin_auth_saml.ts +2 -0
  53. package/src/.plugins/packages/plugin_auth_sms.ts +2 -0
  54. package/src/.plugins/packages/plugin_auth_wechat.ts +2 -0
  55. package/src/.plugins/packages/plugin_auth_wecom.ts +2 -0
  56. package/src/.plugins/packages/plugin_block_calendar.ts +2 -0
  57. package/src/.plugins/packages/plugin_block_charts.ts +2 -0
  58. package/src/.plugins/packages/plugin_block_comments.ts +2 -0
  59. package/src/.plugins/packages/plugin_block_gantt.ts +2 -0
  60. package/src/.plugins/packages/plugin_block_kanban.ts +2 -0
  61. package/src/.plugins/packages/plugin_block_map.ts +2 -0
  62. package/src/.plugins/packages/plugin_block_presentation.ts +2 -0
  63. package/src/.plugins/packages/plugin_block_step_form.ts +2 -0
  64. package/src/.plugins/packages/plugin_data_source_common.ts +2 -0
  65. package/src/.plugins/packages/plugin_department.ts +2 -0
  66. package/src/.plugins/packages/plugin_devkit.ts +2 -0
  67. package/src/.plugins/packages/plugin_devtools.ts +2 -0
  68. package/src/.plugins/packages/plugin_evaluator_mathjs.ts +2 -0
  69. package/src/.plugins/packages/plugin_field_bank_card_number.ts +2 -0
  70. package/src/.plugins/packages/plugin_field_china_region.ts +2 -0
  71. package/src/.plugins/packages/plugin_field_encryption.ts +2 -0
  72. package/src/.plugins/packages/plugin_field_formula.ts +2 -0
  73. package/src/.plugins/packages/plugin_field_markdown_vditor.ts +2 -0
  74. package/src/.plugins/packages/plugin_field_sequence.ts +2 -0
  75. package/src/.plugins/packages/plugin_field_snapshot.ts +2 -0
  76. package/src/.plugins/packages/plugin_form_design.ts +2 -0
  77. package/src/.plugins/packages/plugin_full_text_search.ts +2 -0
  78. package/src/.plugins/packages/plugin_i18n_editor.ts +2 -0
  79. package/src/.plugins/packages/plugin_icon_pickerv2.ts +2 -0
  80. package/src/.plugins/packages/plugin_log_viewer.ts +2 -0
  81. package/src/.plugins/packages/plugin_manual_notification.ts +2 -0
  82. package/src/.plugins/packages/plugin_mock_collections.ts +2 -0
  83. package/src/.plugins/packages/plugin_multi_app_share_collection.ts +2 -0
  84. package/src/.plugins/packages/plugin_ocr_convert.ts +2 -0
  85. package/src/.plugins/packages/plugin_otp.ts +2 -0
  86. package/src/.plugins/packages/plugin_pagespy.ts +2 -0
  87. package/src/.plugins/packages/plugin_password_policy.ts +2 -0
  88. package/src/.plugins/packages/plugin_prototype_game_runesweeper.ts +2 -0
  89. package/src/.plugins/packages/plugin_prototype_online_user.ts +2 -0
  90. package/src/.plugins/packages/plugin_prototype_print_template.ts +2 -0
  91. package/src/.plugins/packages/plugin_prototype_simple_cms.ts +2 -0
  92. package/src/.plugins/packages/plugin_prototype_wechat_official_account.ts +2 -0
  93. package/src/.plugins/packages/plugin_sub_accounts.ts +2 -0
  94. package/src/.plugins/packages/plugin_text_copy.ts +2 -0
  95. package/src/.plugins/packages/plugin_theme_editor.ts +2 -0
  96. package/src/.plugins/packages/plugin_user_manual_feishu.ts +2 -0
  97. package/src/.plugins/packages/plugin_workflow_analysis.ts +2 -0
  98. package/src/.plugins/packages/plugin_workflow_approval.ts +2 -0
  99. package/src/.plugins/packages/plugin_workflow_test.ts +2 -0
  100. package/src/App.tsx +29 -29
  101. package/src/PluginWeb.ts +29 -29
  102. package/src/assets/index.html +10 -10
  103. package/src/dynamic-import.ts +19 -19
  104. package/src/env.d.ts +3 -3
  105. package/tsconfig.json +25 -25
  106. package/dist/assets/9414.046b4352.css +0 -1
  107. package/dist/assets/9414.a83d41b1.js +0 -616
  108. package/dist/assets/9414.a83d41b1.js.LICENSE.txt +0 -1855
  109. package/dist/assets/android-chrome-192x192.png +0 -0
  110. package/dist/assets/android-chrome-512x512.png +0 -0
  111. package/dist/assets/apple-touch-icon.png +0 -0
  112. package/dist/assets/async/1138.cfe1f631.js +0 -1
  113. package/dist/assets/async/1172.88cbb928.js +0 -1
  114. package/dist/assets/async/1182.8f2d2f16.js +0 -1
  115. package/dist/assets/async/1199.47f2bd4d.js +0 -1
  116. package/dist/assets/async/1202.30ca28be.js +0 -1
  117. package/dist/assets/async/1284.94e13e3f.js +0 -1
  118. package/dist/assets/async/1455.2eaf90fc.js +0 -1
  119. package/dist/assets/async/1508.d2e50b8d.js +0 -1
  120. package/dist/assets/async/1648.c6e4b183.js +0 -1
  121. package/dist/assets/async/176.f51cb97a.js +0 -1
  122. package/dist/assets/async/1832.b5e1954d.js +0 -1
  123. package/dist/assets/async/1881.517d46da.js +0 -1
  124. package/dist/assets/async/2043.0f1aad1d.js +0 -1
  125. package/dist/assets/async/2123.f354610d.js +0 -1
  126. package/dist/assets/async/2197.a83e7584.js +0 -1
  127. package/dist/assets/async/2248.de7e4743.js +0 -1
  128. package/dist/assets/async/226.05e16e95.js +0 -1
  129. package/dist/assets/async/228.5ce9eced.js +0 -1
  130. package/dist/assets/async/2287.5095ac52.js +0 -1
  131. package/dist/assets/async/2339.dcebeeac.js +0 -1
  132. package/dist/assets/async/2351.6e886747.js +0 -1
  133. package/dist/assets/async/2381.9d77b41f.js +0 -1
  134. package/dist/assets/async/2465.3b6fdb5f.js +0 -1
  135. package/dist/assets/async/2502.71a44e8b.js +0 -1
  136. package/dist/assets/async/2556.b11fe631.js +0 -1
  137. package/dist/assets/async/2744.3b44bb9d.js +0 -1
  138. package/dist/assets/async/2765.f7ccff44.js +0 -1
  139. package/dist/assets/async/2769.bec9a73d.js +0 -1
  140. package/dist/assets/async/2848.87328c7f.js +0 -1
  141. package/dist/assets/async/2852.c058e630.js +0 -1
  142. package/dist/assets/async/2951.29538af5.js +0 -1
  143. package/dist/assets/async/3018.069a46c5.js +0 -1
  144. package/dist/assets/async/3081.81e5ea4c.js +0 -1
  145. package/dist/assets/async/3237.520aced7.js +0 -1
  146. package/dist/assets/async/327.e6bd1130.js +0 -1
  147. package/dist/assets/async/3386.63466788.js +0 -1
  148. package/dist/assets/async/3448.3a42658f.js +0 -1
  149. package/dist/assets/async/3693.6af22124.js +0 -1
  150. package/dist/assets/async/3834.df7f64e2.js +0 -1
  151. package/dist/assets/async/4006.d6e11878.js +0 -1
  152. package/dist/assets/async/4026.04858a93.js +0 -1
  153. package/dist/assets/async/4176.f4781a6c.js +0 -1
  154. package/dist/assets/async/4248.e2936c43.js +0 -1
  155. package/dist/assets/async/4268.30780c48.js +0 -1
  156. package/dist/assets/async/4275.adc79ed0.js +0 -1
  157. package/dist/assets/async/4297.b377676e.js +0 -1
  158. package/dist/assets/async/4325.1bb6ebd9.js +0 -1
  159. package/dist/assets/async/446.de0d9ad3.js +0 -1
  160. package/dist/assets/async/4461.9961a64d.js +0 -1
  161. package/dist/assets/async/4519.2a988460.js +0 -1
  162. package/dist/assets/async/4521.58196cf3.js +0 -1
  163. package/dist/assets/async/4594.c64fdebd.js +0 -1
  164. package/dist/assets/async/4624.e81dd415.js +0 -1
  165. package/dist/assets/async/4689.66e7700f.js +0 -1
  166. package/dist/assets/async/4780.a487d29a.js +0 -1
  167. package/dist/assets/async/4885.1d2a3318.js +0 -1
  168. package/dist/assets/async/5019.01513475.js +0 -1
  169. package/dist/assets/async/5043.343699bd.js +0 -1
  170. package/dist/assets/async/505.7d67810e.js +0 -1
  171. package/dist/assets/async/5133.9ed72166.js +0 -1
  172. package/dist/assets/async/5195.4ed64bf5.js +0 -1
  173. package/dist/assets/async/5221.dfba0809.js +0 -1
  174. package/dist/assets/async/5246.4f2abac0.js +0 -1
  175. package/dist/assets/async/5324.794152e1.js +0 -1
  176. package/dist/assets/async/5593.deda668b.js +0 -1
  177. package/dist/assets/async/5604.bce3a93b.js +0 -1
  178. package/dist/assets/async/5621.c26eccae.js +0 -1
  179. package/dist/assets/async/564.f6d7cf79.js +0 -1
  180. package/dist/assets/async/5655.fa2a36e2.js +0 -1
  181. package/dist/assets/async/5701.fe3b09a9.js +0 -1
  182. package/dist/assets/async/5999.0ee04040.js +0 -1
  183. package/dist/assets/async/602.f010a114.js +0 -1
  184. package/dist/assets/async/6265.988a1dd5.js +0 -1
  185. package/dist/assets/async/6335.c7c58592.js +0 -1
  186. package/dist/assets/async/6339.af6b544d.js +0 -1
  187. package/dist/assets/async/6422.7d68bab5.js +0 -1
  188. package/dist/assets/async/6509.26908636.js +0 -1
  189. package/dist/assets/async/6621.a93ad48e.js +0 -1
  190. package/dist/assets/async/6644.eeca0466.js +0 -1
  191. package/dist/assets/async/6647.2878e0fd.js +0 -1
  192. package/dist/assets/async/6867.3f618013.js +0 -1
  193. package/dist/assets/async/7091.783bb037.js +0 -1
  194. package/dist/assets/async/7130.f5791dee.js +0 -1
  195. package/dist/assets/async/7147.e4db1072.js +0 -1
  196. package/dist/assets/async/7156.3022eff3.js +0 -1
  197. package/dist/assets/async/7284.16955956.js +0 -1
  198. package/dist/assets/async/7301.f887f1f6.js +0 -1
  199. package/dist/assets/async/7385.3a279b1e.js +0 -1
  200. package/dist/assets/async/7417.ba1f62d1.js +0 -1
  201. package/dist/assets/async/7421.bb8ec679.js +0 -1
  202. package/dist/assets/async/7487.26ecec06.js +0 -1
  203. package/dist/assets/async/7625.70e52d16.js +0 -1
  204. package/dist/assets/async/7633.d2d4dac4.js +0 -1
  205. package/dist/assets/async/7660.ac6a08d2.js +0 -1
  206. package/dist/assets/async/7682.eb2bdf23.js +0 -1
  207. package/dist/assets/async/773.c4bc5a4e.js +0 -1
  208. package/dist/assets/async/7765.2d562394.js +0 -1
  209. package/dist/assets/async/792.d8dd2807.js +0 -1
  210. package/dist/assets/async/7962.f9d16d04.js +0 -1
  211. package/dist/assets/async/7973.2876e356.js +0 -1
  212. package/dist/assets/async/8040.092c4512.js +0 -1
  213. package/dist/assets/async/8090.1ad8c1c6.js +0 -1
  214. package/dist/assets/async/81.c304bf8b.js +0 -1
  215. package/dist/assets/async/8125.c30582d5.js +0 -1
  216. package/dist/assets/async/823.563d35ae.js +0 -1
  217. package/dist/assets/async/8332.35c95cf2.js +0 -1
  218. package/dist/assets/async/8377.4b4d66ea.js +0 -1
  219. package/dist/assets/async/8381.eb5cb5ef.js +0 -1
  220. package/dist/assets/async/8598.07a662f4.js +0 -1
  221. package/dist/assets/async/8625.58dbf2b7.js +0 -1
  222. package/dist/assets/async/8637.a9b1434c.js +0 -1
  223. package/dist/assets/async/8650.4eb3d6bd.js +0 -1
  224. package/dist/assets/async/8706.bd5c53c2.js +0 -1
  225. package/dist/assets/async/8769.f01afed1.js +0 -1
  226. package/dist/assets/async/8806.5a06887a.js +0 -1
  227. package/dist/assets/async/8839.053e2906.js +0 -1
  228. package/dist/assets/async/8875.cc1a62fb.js +0 -1
  229. package/dist/assets/async/8890.311b581f.js +0 -1
  230. package/dist/assets/async/9011.03edce16.js +0 -1
  231. package/dist/assets/async/9130.0adedd1d.js +0 -1
  232. package/dist/assets/async/9171.53b206cd.js +0 -1
  233. package/dist/assets/async/9191.9876d97e.js +0 -1
  234. package/dist/assets/async/9226.af1bf751.js +0 -1
  235. package/dist/assets/async/9242.c43f1fe9.js +0 -1
  236. package/dist/assets/async/9249.f0b68f64.js +0 -1
  237. package/dist/assets/async/9270.f3727fa9.js +0 -1
  238. package/dist/assets/async/9288.bf60f304.js +0 -1
  239. package/dist/assets/async/9291.4accb4ff.js +0 -1
  240. package/dist/assets/async/9330.feff1dd9.js +0 -1
  241. package/dist/assets/async/9344.59994ae6.js +0 -1
  242. package/dist/assets/async/9370.9be8e3db.js +0 -1
  243. package/dist/assets/async/938.8c08f1b1.js +0 -1
  244. package/dist/assets/async/9458.9523bdf1.js +0 -1
  245. package/dist/assets/async/9507.b1da2ea9.js +0 -1
  246. package/dist/assets/async/9556.f3122530.js +0 -1
  247. package/dist/assets/async/9592.01694fad.js +0 -1
  248. package/dist/assets/async/9646.766c7014.js +0 -1
  249. package/dist/assets/async/9708.01475dbe.js +0 -1
  250. package/dist/assets/async/9716.476f3e02.js +0 -1
  251. package/dist/assets/async/9843.eadc2d9d.js +0 -1
  252. package/dist/assets/async/9844.dd777018.js +0 -1
  253. package/dist/assets/async/9854.2036e5ff.js +0 -1
  254. package/dist/assets/index.5774445a.css +0 -1
  255. package/dist/assets/index.bc15f016.js +0 -2
  256. package/dist/assets/index.bc15f016.js.LICENSE.txt +0 -6
  257. package/dist/assets/lib-axios.b7bbb6d6.js +0 -2
  258. package/dist/assets/lib-axios.b7bbb6d6.js.LICENSE.txt +0 -20
  259. package/dist/assets/lib-react.44bdac30.js +0 -2
  260. package/dist/assets/lib-react.44bdac30.js.LICENSE.txt +0 -48
  261. package/dist/assets/lib-router.2c58eb3b.js +0 -2
  262. package/dist/assets/lib-router.2c58eb3b.js.LICENSE.txt +0 -32
  263. package/dist/browser-checker.js +0 -215
  264. package/dist/favicon.ico +0 -0
  265. package/dist/global.css +0 -63
  266. package/dist/index.html +0 -10
  267. package/dist/manifest.webmanifest +0 -1
  268. package/dist/tachybase-logo.png +0 -0
@@ -1,2 +0,0 @@
1
- /*! For license information please see lib-router.2c58eb3b.js.LICENSE.txt */
2
- "use strict";(self.webpackChunk_tego_web=self.webpackChunk_tego_web||[]).push([["9535"],{94014:function(e,t,r){var n,a,o,i;function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}r.d(t,{AO:()=>v,B6:()=>D,G3:()=>et,Gh:()=>N,HC:()=>$,HS:()=>F,HW:()=>ee,Oi:()=>h,Pq:()=>B,RO:()=>_,Rr:()=>y,Sk:()=>V,TM:()=>d,V2:()=>W,VV:()=>J,aE:()=>eo,o1:()=>L,pX:()=>K,pb:()=>A,rc:()=>n,ro:()=>S,sC:()=>u,tH:()=>H,tW:()=>P,ue:()=>E,v6:()=>z,yD:()=>O,zR:()=>c}),(o=n||(n={})).Pop="POP",o.Push="PUSH",o.Replace="REPLACE";let s="popstate";function u(e){let t;void 0===e&&(e={});let{initialEntries:r=["/"],initialIndex:a,v5Compat:o=!1}=e;t=r.map((e,t)=>c(e,"string"==typeof e?null:e.state,0===t?"default":void 0));let i=u(null==a?t.length-1:a),l=n.Pop,s=null;function u(e){return Math.min(Math.max(e,0),t.length-1)}function c(e,r,n){void 0===r&&(r=null);let a=m(t?t[i].pathname:"/",e,r,n);return f("/"===a.pathname.charAt(0),"relative pathnames are not supported in memory history: "+JSON.stringify(e)),a}function d(e){return"string"==typeof e?e:v(e)}return{get index(){return i},get action(){return l},get location(){return t[i]},createHref:d,createURL:e=>new URL(d(e),"http://localhost"),encodeLocation(e){let t="string"==typeof e?y(e):e;return{pathname:t.pathname||"",search:t.search||"",hash:t.hash||""}},push(e,r){l=n.Push;let a=c(e,r);i+=1,t.splice(i,t.length,a),o&&s&&s({action:l,location:a,delta:1})},replace(e,r){l=n.Replace;let a=c(e,r);t[i]=a,o&&s&&s({action:l,location:a,delta:0})},go(e){l=n.Pop;let r=u(i+e),a=t[r];i=r,s&&s({action:l,location:a,delta:e})},listen:e=>(s=e,()=>{s=null})}}function c(e){return void 0===e&&(e={}),g(function(e,t){let{pathname:r,search:n,hash:a}=e.location;return m("",{pathname:r,search:n,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")},function(e,t){return"string"==typeof t?t:v(t)},null,e)}function d(e){return void 0===e&&(e={}),g(function(e,t){let{pathname:r="/",search:n="",hash:a=""}=y(e.location.hash.substr(1));return r.startsWith("/")||r.startsWith(".")||(r="/"+r),m("",{pathname:r,search:n,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")},function(e,t){let r=e.document.querySelector("base"),n="";if(r&&r.getAttribute("href")){let t=e.location.href,r=t.indexOf("#");n=-1===r?t:t.slice(0,r)}return n+"#"+("string"==typeof t?t:v(t))},function(e,t){f("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")},e)}function h(e,t){if(!1===e||null==e)throw Error(t)}function f(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw Error(t)}catch(e){}}}function p(e,t){return{usr:e.state,key:e.key,idx:t}}function m(e,t,r,n){return void 0===r&&(r=null),l({pathname:"string"==typeof e?e:e.pathname,search:"",hash:""},"string"==typeof t?y(t):t,{state:r,key:t&&t.key||n||Math.random().toString(36).substr(2,8)})}function v(e){let{pathname:t="/",search:r="",hash:n=""}=e;return r&&"?"!==r&&(t+="?"===r.charAt(0)?r:"?"+r),n&&"#"!==n&&(t+="#"===n.charAt(0)?n:"#"+n),t}function y(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function g(e,t,r,a){void 0===a&&(a={});let{window:o=document.defaultView,v5Compat:i=!1}=a,u=o.history,c=n.Pop,d=null,f=y();function y(){return(u.state||{idx:null}).idx}function g(){c=n.Pop;let e=y(),t=null==e?null:e-f;f=e,d&&d({action:c,location:w.location,delta:t})}function b(e){let t="null"!==o.location.origin?o.location.origin:o.location.href,r="string"==typeof e?e:v(e);return h(t,"No window.location.(origin|href) available to create URL for href: "+(r=r.replace(/ $/,"%20"))),new URL(r,t)}null==f&&(f=0,u.replaceState(l({},u.state,{idx:f}),""));let w={get action(){return c},get location(){return e(o,u)},listen(e){if(d)throw Error("A history only accepts one active listener");return o.addEventListener(s,g),d=e,()=>{o.removeEventListener(s,g),d=null}},createHref:e=>t(o,e),createURL:b,encodeLocation(e){let t=b(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){c=n.Push;let a=m(w.location,e,t);r&&r(a,e);let l=p(a,f=y()+1),s=w.createHref(a);try{u.pushState(l,"",s)}catch(e){if(e instanceof DOMException&&"DataCloneError"===e.name)throw e;o.location.assign(s)}i&&d&&d({action:c,location:w.location,delta:1})},replace:function(e,t){c=n.Replace;let a=m(w.location,e,t);r&&r(a,e);let o=p(a,f=y()),l=w.createHref(a);u.replaceState(o,"",l),i&&d&&d({action:c,location:w.location,delta:0})},go:e=>u.go(e)};return w}(i=a||(a={})).data="data",i.deferred="deferred",i.redirect="redirect",i.error="error";let b=new Set(["lazy","caseSensitive","path","id","index","children"]);function w(e,t,r,n){return void 0===r&&(r=[]),void 0===n&&(n={}),e.map((e,a)=>{let o=[...r,String(a)],i="string"==typeof e.id?e.id:o.join("-");if(h(!0!==e.index||!e.children,"Cannot specify children on an index route"),h(!n[i],'Found a route id collision on id "'+i+"\". Route id's must be globally unique within Data Router usages"),!0===e.index){let r=l({},e,t(e),{id:i});return n[i]=r,r}{let r=l({},e,t(e),{id:i,children:void 0});return n[i]=r,e.children&&(r.children=w(e.children,t,o,n)),r}})}function E(e,t,r){return void 0===r&&(r="/"),R(e,t,r,!1)}function R(e,t,r,n){let a=A(("string"==typeof t?y(t):t).pathname||"/",r);if(null==a)return null;let o=function e(t,r,n,a){void 0===r&&(r=[]),void 0===n&&(n=[]),void 0===a&&(a="");let o=(t,o,i)=>{var l,s;let u,c,d={relativePath:void 0===i?t.path||"":i,caseSensitive:!0===t.caseSensitive,childrenIndex:o,route:t};d.relativePath.startsWith("/")&&(h(d.relativePath.startsWith(a),'Absolute route path "'+d.relativePath+'" nested under path "'+a+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),d.relativePath=d.relativePath.slice(a.length));let f=F([a,d.relativePath]),p=n.concat(d);t.children&&t.children.length>0&&(h(!0!==t.index,'Index routes must not have child routes. Please remove all child routes from route path "'+f+'".'),e(t.children,r,p,f)),(null!=t.path||t.index)&&r.push({path:f,score:(l=f,s=t.index,c=(u=l.split("/")).length,u.some(C)&&(c+=-2),s&&(c+=2),u.filter(e=>!C(e)).reduce((e,t)=>e+(x.test(t)?3:""===t?1:10),c)),routesMeta:p})};return t.forEach((e,t)=>{var r;if(""!==e.path&&null!=(r=e.path)&&r.includes("?"))for(let r of function e(t){let r=t.split("/");if(0===r.length)return[];let[n,...a]=r,o=n.endsWith("?"),i=n.replace(/\?$/,"");if(0===a.length)return o?[i,""]:[i];let l=e(a.join("/")),s=[];return s.push(...l.map(e=>""===e?i:[i,e].join("/"))),o&&s.push(...l),s.map(e=>t.startsWith("/")&&""===e?"/":e)}(e.path))o(e,t,r);else o(e,t)}),r}(e);o.sort((e,t)=>{var r,n;return e.score!==t.score?t.score-e.score:(r=e.routesMeta.map(e=>e.childrenIndex),n=t.routesMeta.map(e=>e.childrenIndex),r.length===n.length&&r.slice(0,-1).every((e,t)=>e===n[t])?r[r.length-1]-n[n.length-1]:0)});let i=null;for(let e=0;null==i&&e<o.length;++e){let t=_(a);i=function(e,t,r){void 0===r&&(r=!1);let{routesMeta:n}=e,a={},o="/",i=[];for(let e=0;e<n.length;++e){let l=n[e],s=e===n.length-1,u="/"===o?t:t.slice(o.length)||"/",c=D({path:l.relativePath,caseSensitive:l.caseSensitive,end:s},u),d=l.route;if(!c&&s&&r&&!n[n.length-1].route.index&&(c=D({path:l.relativePath,caseSensitive:l.caseSensitive,end:!1},u)),!c)return null;Object.assign(a,c.params),i.push({params:a,pathname:F([o,c.pathname]),pathnameBase:M(F([o,c.pathnameBase])),route:d}),"/"!==c.pathnameBase&&(o=F([o,c.pathnameBase]))}return i}(o[e],t,n)}return i}function S(e,t){let{route:r,pathname:n,params:a}=e;return{id:r.id,pathname:n,params:a,data:t[r.id],handle:r.handle}}let x=/^:[\w-]+$/,C=e=>"*"===e;function P(e,t){void 0===t&&(t={});let r=e;r.endsWith("*")&&"*"!==r&&!r.endsWith("/*")&&(f(!1,'Route path "'+r+'" will be treated as if it were "'+r.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+r.replace(/\*$/,"/*")+'".'),r=r.replace(/\*$/,"/*"));let n=r.startsWith("/")?"/":"",a=e=>null==e?"":"string"==typeof e?e:String(e);return n+r.split(/\/+/).map((e,r,n)=>{if(r===n.length-1&&"*"===e)return a(t["*"]);let o=e.match(/^:([\w-]+)(\??)$/);if(o){let[,e,r]=o,n=t[e];return h("?"===r||null!=n,'Missing ":'+e+'" param'),a(n)}return e.replace(/\?$/g,"")}).filter(e=>!!e).join("/")}function D(e,t){var r,n,a;let o,i;"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[l,s]=(r=e.path,n=e.caseSensitive,a=e.end,void 0===n&&(n=!1),void 0===a&&(a=!0),f("*"===r||!r.endsWith("*")||r.endsWith("/*"),'Route path "'+r+'" will be treated as if it were "'+r.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+r.replace(/\*$/,"/*")+'".'),o=[],i="^"+r.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(e,t,r)=>(o.push({paramName:t,isOptional:null!=r}),r?"/?([^\\/]+)?":"/([^\\/]+)")),r.endsWith("*")?(o.push({paramName:"*"}),i+="*"===r||"/*"===r?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?i+="\\/*$":""!==r&&"/"!==r&&(i+="(?:(?=\\/|$))"),[new RegExp(i,n?void 0:"i"),o]),u=t.match(l);if(!u)return null;let c=u[0],d=c.replace(/(.)\/+$/,"$1"),h=u.slice(1);return{params:s.reduce((e,t,r)=>{let{paramName:n,isOptional:a}=t;if("*"===n){let e=h[r]||"";d=c.slice(0,c.length-e.length).replace(/(.)\/+$/,"$1")}let o=h[r];return a&&!o?e[n]=void 0:e[n]=(o||"").replace(/%2F/g,"/"),e},{}),pathname:c,pathnameBase:d,pattern:e}}function _(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(t){return f(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+t+")."),e}}function A(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&"/"!==n?null:e.slice(r)||"/"}function L(e,t){var r;let n;void 0===t&&(t="/");let{pathname:a,search:o="",hash:i=""}="string"==typeof e?y(e):e;return{pathname:a?a.startsWith("/")?a:(r=a,n=t.replace(/\/+$/,"").split("/"),r.split("/").forEach(e=>{".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)}),n.length>1?n.join("/"):"/"):t,search:T(o),hash:j(i)}}function k(e,t,r,n){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field [")+JSON.stringify(n)+"]. Please separate it out to the `to."+r+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function U(e){return e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0)}function O(e,t){let r=U(e);return t?r.map((e,t)=>t===r.length-1?e.pathname:e.pathnameBase):r.map(e=>e.pathnameBase)}function N(e,t,r,n){let a,o;void 0===n&&(n=!1),"string"==typeof e?a=y(e):(h(!(a=l({},e)).pathname||!a.pathname.includes("?"),k("?","pathname","search",a)),h(!a.pathname||!a.pathname.includes("#"),k("#","pathname","hash",a)),h(!a.search||!a.search.includes("#"),k("#","search","hash",a)));let i=""===e||""===a.pathname,s=i?"/":a.pathname;if(null==s)o=r;else{let e=t.length-1;if(!n&&s.startsWith("..")){let t=s.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}o=e>=0?t[e]:"/"}let u=L(a,o),c=s&&"/"!==s&&s.endsWith("/"),d=(i||"."===s)&&r.endsWith("/");return!u.pathname.endsWith("/")&&(c||d)&&(u.pathname+="/"),u}let F=e=>e.join("/").replace(/\/\/+/g,"/"),M=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),T=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",j=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"",B=function(e,t){void 0===t&&(t={});let r="number"==typeof t?{status:t}:t,n=new Headers(r.headers);return n.has("Content-Type")||n.set("Content-Type","application/json; charset=utf-8"),new Response(JSON.stringify(e),l({},r,{headers:n}))};class H extends Error{}class I{constructor(e,t){let r;this.pendingKeysSet=new Set,this.subscribers=new Set,this.deferredKeys=[],h(e&&"object"==typeof e&&!Array.isArray(e),"defer() only accepts plain objects"),this.abortPromise=new Promise((e,t)=>r=t),this.controller=new AbortController;let n=()=>r(new H("Deferred data aborted"));this.unlistenAbortSignal=()=>this.controller.signal.removeEventListener("abort",n),this.controller.signal.addEventListener("abort",n),this.data=Object.entries(e).reduce((e,t)=>{let[r,n]=t;return Object.assign(e,{[r]:this.trackPromise(r,n)})},{}),this.done&&this.unlistenAbortSignal(),this.init=t}trackPromise(e,t){if(!(t instanceof Promise))return t;this.deferredKeys.push(e),this.pendingKeysSet.add(e);let r=Promise.race([t,this.abortPromise]).then(t=>this.onSettle(r,e,void 0,t),t=>this.onSettle(r,e,t));return r.catch(()=>{}),Object.defineProperty(r,"_tracked",{get:()=>!0}),r}onSettle(e,t,r,n){if(this.controller.signal.aborted&&r instanceof H)return this.unlistenAbortSignal(),Object.defineProperty(e,"_error",{get:()=>r}),Promise.reject(r);if(this.pendingKeysSet.delete(t),this.done&&this.unlistenAbortSignal(),void 0===r&&void 0===n){let r=Error('Deferred data for key "'+t+'" resolved/rejected with `undefined`, you must resolve/reject with a value or `null`.');return Object.defineProperty(e,"_error",{get:()=>r}),this.emit(!1,t),Promise.reject(r)}return void 0===n?(Object.defineProperty(e,"_error",{get:()=>r}),this.emit(!1,t),Promise.reject(r)):(Object.defineProperty(e,"_data",{get:()=>n}),this.emit(!1,t),n)}emit(e,t){this.subscribers.forEach(r=>r(e,t))}subscribe(e){return this.subscribers.add(e),()=>this.subscribers.delete(e)}cancel(){this.controller.abort(),this.pendingKeysSet.forEach((e,t)=>this.pendingKeysSet.delete(t)),this.emit(!0)}async resolveData(e){let t=!1;if(!this.done){let r=()=>this.cancel();e.addEventListener("abort",r),t=await new Promise(t=>{this.subscribe(n=>{e.removeEventListener("abort",r),(n||this.done)&&t(n)})})}return t}get done(){return 0===this.pendingKeysSet.size}get unwrappedData(){return h(null!==this.data&&this.done,"Can only unwrap data on initialized and settled deferreds"),Object.entries(this.data).reduce((e,t)=>{let[r,n]=t;return Object.assign(e,{[r]:function(e){if(!(e instanceof Promise&&!0===e._tracked))return e;if(e._error)throw e._error;return e._data}(n)})},{})}get pendingKeys(){return Array.from(this.pendingKeysSet)}}let z=function(e,t){return void 0===t&&(t={}),new I(e,"number"==typeof t?{status:t}:t)},W=function(e,t){void 0===t&&(t=302);let r=t;"number"==typeof r?r={status:r}:void 0===r.status&&(r.status=302);let n=new Headers(r.headers);return n.set("Location",e),new Response(null,l({},r,{headers:n}))},V=(e,t)=>{let r=W(e,t);return r.headers.set("X-Remix-Reload-Document","true"),r},$=(e,t)=>{let r=W(e,t);return r.headers.set("X-Remix-Replace","true"),r};class J{constructor(e,t,r,n){void 0===n&&(n=!1),this.status=e,this.statusText=t||"",this.internal=n,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}}function K(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}let q=["post","put","patch","delete"],Y=new Set(q),X=new Set(["get",...q]),G=new Set([301,302,303,307,308]),Q=new Set([307,308]),Z={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ee={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},et={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},er=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,en=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),ea="remix-router-transitions";function eo(e){let t,r,o,i,s,u,c=e.window?e.window:"undefined"!=typeof window?window:void 0,d=void 0!==c&&void 0!==c.document&&void 0!==c.document.createElement,p=!d;if(h(e.routes.length>0,"You must provide a non-empty routes array to createRouter"),e.mapRouteProperties)t=e.mapRouteProperties;else if(e.detectErrorBoundary){let r=e.detectErrorBoundary;t=e=>({hasErrorBoundary:r(e)})}else t=en;let v={},y=w(e.routes,t,void 0,v),g=e.basename||"/",b=e.dataStrategy||em,x=e.patchRoutesOnNavigation,C=l({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1,v7_skipActionErrorRevalidation:!1},e.future),P=null,D=new Set,_=null,L=null,k=null,U=null!=e.hydrationData,O=E(y,e.history.location,g),N=null;if(null==O&&!x){let t=e_(404,{pathname:e.history.location.pathname}),{matches:r,route:n}=eD(y);O=r,N={[n.id]:t}}if(O&&!e.hydrationData&&ta(O,y,e.history.location.pathname).active&&(O=null),O)if(O.some(e=>e.route.lazy))o=!1;else if(O.some(e=>e.route.loader))if(C.v7_partialHydration){let t=e.hydrationData?e.hydrationData.loaderData:null,r=e.hydrationData?e.hydrationData.errors:null;if(r){let e=O.findIndex(e=>void 0!==r[e.route.id]);o=O.slice(0,e+1).every(e=>!ec(e.route,t,r))}else o=O.every(e=>!ec(e.route,t,r))}else o=null!=e.hydrationData;else o=!0;else if(o=!1,O=[],C.v7_partialHydration){let t=ta(null,y,e.history.location.pathname);t.active&&t.matches&&(O=t.matches)}let F={historyAction:e.history.action,location:e.history.location,matches:O,initialized:o,navigation:Z,restoreScrollPosition:null==e.hydrationData&&null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||N,fetchers:new Map,blockers:new Map},M=n.Pop,T=!1,j=!1,B=new Map,H=null,I=!1,z=!1,W=[],V=new Set,$=new Map,J=0,q=-1,Y=new Map,X=new Set,eo=new Map,es=new Map,ed=new Set,eh=new Map,ep=new Map;function ey(e,t){void 0===t&&(t={}),F=l({},F,e);let r=[],n=[];C.v7_fetcherPersist&&F.fetchers.forEach((e,t)=>{"idle"===e.state&&(ed.has(t)?n.push(t):r.push(t))}),[...D].forEach(e=>e(F,{deletedFetchers:n,viewTransitionOpts:t.viewTransitionOpts,flushSync:!0===t.flushSync})),C.v7_fetcherPersist&&(r.forEach(e=>F.fetchers.delete(e)),n.forEach(e=>e7(e)))}function eE(t,a,o){var i,s;let u,c,{flushSync:d}=void 0===o?{}:o,h=null!=F.actionData&&null!=F.navigation.formMethod&&eM(F.navigation.formMethod)&&"loading"===F.navigation.state&&(null==(i=t.state)?void 0:i._isRedirect)!==!0;u=a.actionData?Object.keys(a.actionData).length>0?a.actionData:null:h?F.actionData:null;let f=a.loaderData?ex(F.loaderData,a.loaderData,a.matches||[],a.errors):F.loaderData,p=F.blockers;p.size>0&&(p=new Map(p)).forEach((e,t)=>p.set(t,et));let m=!0===T||null!=F.navigation.formMethod&&eM(F.navigation.formMethod)&&(null==(s=t.state)?void 0:s._isRedirect)!==!0;if(r&&(y=r,r=void 0),I||M===n.Pop||(M===n.Push?e.history.push(t,t.state):M===n.Replace&&e.history.replace(t,t.state)),M===n.Pop){let e=B.get(F.location.pathname);e&&e.has(t.pathname)?c={currentLocation:F.location,nextLocation:t}:B.has(t.pathname)&&(c={currentLocation:t,nextLocation:F.location})}else if(j){let e=B.get(F.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),B.set(F.location.pathname,e)),c={currentLocation:F.location,nextLocation:t}}ey(l({},a,{actionData:u,loaderData:f,historyAction:M,location:t,initialized:!0,navigation:Z,revalidation:"idle",restoreScrollPosition:tn(t,a.matches||F.matches),preventScrollReset:m,blockers:p}),{viewTransitionOpts:c,flushSync:!0===d}),M=n.Pop,T=!1,j=!1,I=!1,z=!1,W=[]}async function eR(t,r){if("number"==typeof t)return void e.history.go(t);let a=ei(F.location,F.matches,g,C.v7_prependBasename,t,C.v7_relativeSplatPath,null==r?void 0:r.fromRouteId,null==r?void 0:r.relative),{path:o,submission:i,error:s}=el(C.v7_normalizeFormMethod,!1,a,r),u=F.location,c=m(F.location,o,r&&r.state);c=l({},c,e.history.encodeLocation(c));let d=r&&null!=r.replace?r.replace:void 0,h=n.Push;!0===d?h=n.Replace:!1===d||null!=i&&eM(i.formMethod)&&i.formAction===F.location.pathname+F.location.search&&(h=n.Replace);let f=r&&"preventScrollReset"in r?!0===r.preventScrollReset:void 0,p=!0===(r&&r.flushSync),v=e9({currentLocation:u,nextLocation:c,historyAction:h});return v?void e8(v,{state:"blocked",location:c,proceed(){e8(v,{state:"proceeding",proceed:void 0,reset:void 0,location:c}),eR(t,r)},reset(){let e=new Map(F.blockers);e.set(v,et),ey({blockers:e})}}):await eL(h,c,{submission:i,pendingError:s,preventScrollReset:f,replace:r&&r.replace,enableViewTransition:r&&r.viewTransition,flushSync:p})}async function eL(t,n,o){var i,u,c,d;let h;s&&s.abort(),s=null,M=t,I=!0===(o&&o.startUninterruptedRevalidation),i=F.location,u=F.matches,_&&k&&(_[tr(i,u)]=k()),T=!0===(o&&o.preventScrollReset),j=!0===(o&&o.enableViewTransition);let f=r||y,p=o&&o.overrideNavigation,m=E(f,n,g),v=!0===(o&&o.flushSync),b=ta(m,f,n.pathname);if(b.active&&b.matches&&(m=b.matches),!m){let{error:e,notFoundMatches:t,route:r}=te(n.pathname);eE(n,{matches:t,loaderData:{},errors:{[r.id]:e}},{flushSync:v});return}if(F.initialized&&!z&&(c=F.location,d=n,c.pathname===d.pathname&&c.search===d.search&&(""===c.hash?""!==d.hash:c.hash===d.hash||""!==d.hash||!1))&&!(o&&o.submission&&eM(o.submission.formMethod)))return void eE(n,{matches:m},{flushSync:v});s=new AbortController;let w=ew(e.history,n,s.signal,o&&o.submission);if(o&&o.pendingError)h=[eP(m).route.id,{type:a.error,error:o.pendingError}];else if(o&&o.submission&&eM(o.submission.formMethod)){let t=await eN(w,n,o.submission,m,b.active,{replace:o.replace,flushSync:v});if(t.shortCircuited)return;if(t.pendingActionResult){let[e,r]=t.pendingActionResult;if(eU(r)&&K(r.error)&&404===r.error.status){s=null,eE(n,{matches:t.matches,loaderData:{},errors:{[e]:r.error}});return}}m=t.matches||m,h=t.pendingActionResult,p=eW(n,o.submission),v=!1,b.active=!1,w=ew(e.history,w.url,w.signal)}let{shortCircuited:R,matches:S,loaderData:x,errors:C}=await eH(w,n,m,b.active,p,o&&o.submission,o&&o.fetcherSubmission,o&&o.replace,o&&!0===o.initialHydration,v,h);R||(s=null,eE(n,l({matches:S||m},eC(h),{loaderData:x,errors:C})))}async function eN(e,t,r,o,i,l){var s;let u;if(void 0===l&&(l={}),eQ(),ey({navigation:{state:"submitting",location:t,formMethod:(s=r).formMethod,formAction:s.formAction,formEncType:s.formEncType,formData:s.formData,json:s.json,text:s.text}},{flushSync:!0===l.flushSync}),i){let r=await to(o,t.pathname,e.signal);if("aborted"===r.type)return{shortCircuited:!0};if("error"===r.type){let e=eP(r.partialMatches).route.id;return{matches:r.partialMatches,pendingActionResult:[e,{type:a.error,error:r.error}]}}if(r.matches)o=r.matches;else{let{notFoundMatches:e,error:r,route:n}=te(t.pathname);return{matches:e,pendingActionResult:[n.id,{type:a.error,error:r}]}}}let c=eI(o,t);if(c.route.action||c.route.lazy){if(u=(await eX("action",F,e,[c],o,null))[c.route.id],e.signal.aborted)return{shortCircuited:!0}}else u={type:a.error,error:e_(405,{method:e.method,pathname:t.pathname,routeId:c.route.id})};if(eO(u)){let t;return t=l&&null!=l.replace?l.replace:eb(u.response.headers.get("Location"),new URL(e.url),g)===F.location.pathname+F.location.search,await eY(e,u,!0,{submission:r,replace:t}),{shortCircuited:!0}}if(ek(u))throw e_(400,{type:"defer-action"});if(eU(u)){let e=eP(o,c.route.id);return!0!==(l&&l.replace)&&(M=n.Push),{matches:o,pendingActionResult:[e.route.id,u]}}return{matches:o,pendingActionResult:[c.route.id,u]}}async function eH(t,n,a,o,i,u,c,d,h,f,p){let m=i||eW(n,u),v=u||c||ez(m),b=!I&&(!C.v7_partialHydration||!h);if(o){if(b){let e=eJ(p);ey(l({navigation:m},void 0!==e?{actionData:e}:{}),{flushSync:f})}let e=await to(a,n.pathname,t.signal);if("aborted"===e.type)return{shortCircuited:!0};if("error"===e.type){let t=eP(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}if(e.matches)a=e.matches;else{let{error:e,notFoundMatches:t,route:r}=te(n.pathname);return{matches:t,loaderData:{},errors:{[r.id]:e}}}}let w=r||y,[E,R]=eu(e.history,F,a,v,n,C.v7_partialHydration&&!0===h,C.v7_skipActionErrorRevalidation,z,W,V,ed,eo,X,w,g,p);if(tt(e=>!(a&&a.some(t=>t.route.id===e))||E&&E.some(t=>t.route.id===e)),q=++J,0===E.length&&0===R.length){let e=e6();return eE(n,l({matches:a,loaderData:{},errors:p&&eU(p[1])?{[p[0]]:p[1].error}:null},eC(p),e?{fetchers:new Map(F.fetchers)}:{}),{flushSync:f}),{shortCircuited:!0}}if(b){let e={};if(!o){e.navigation=m;let t=eJ(p);void 0!==t&&(e.actionData=t)}R.length>0&&(R.forEach(e=>{let t=F.fetchers.get(e.key),r=eV(void 0,t?t.data:void 0);F.fetchers.set(e.key,r)}),e.fetchers=new Map(F.fetchers)),ey(e,{flushSync:f})}R.forEach(e=>{e4(e.key),e.controller&&$.set(e.key,e.controller)});let S=()=>R.forEach(e=>e4(e.key));s&&s.signal.addEventListener("abort",S);let{loaderResults:x,fetcherResults:P}=await eG(F,a,E,R,t);if(t.signal.aborted)return{shortCircuited:!0};s&&s.signal.removeEventListener("abort",S),R.forEach(e=>$.delete(e.key));let D=eA(x);if(D)return await eY(t,D.result,!0,{replace:d}),{shortCircuited:!0};if(D=eA(P))return X.add(D.key),await eY(t,D.result,!0,{replace:d}),{shortCircuited:!0};let{loaderData:_,errors:A}=eS(F,a,x,p,R,P,eh);eh.forEach((e,t)=>{e.subscribe(r=>{(r||e.done)&&eh.delete(t)})}),C.v7_partialHydration&&h&&F.errors&&(A=l({},F.errors,A));let L=e6(),k=e3(q),U=L||k||R.length>0;return l({matches:a,loaderData:_,errors:A},U?{fetchers:new Map(F.fetchers)}:{})}function eJ(e){if(e&&!eU(e[1]))return{[e[0]]:e[1].data};if(F.actionData)if(0===Object.keys(F.actionData).length)return null;else return F.actionData}async function eK(t,n,a,o,i,l,u,c,d){var f,p;function m(e){if(!e.route.action&&!e.route.lazy){let e=e_(405,{method:d.formMethod,pathname:a,routeId:n});return e0(t,n,e,{flushSync:u}),!0}return!1}if(eQ(),eo.delete(t),!l&&m(o))return;let v=F.fetchers.get(t);eZ(t,(f=d,p=v,{state:"submitting",formMethod:f.formMethod,formAction:f.formAction,formEncType:f.formEncType,formData:f.formData,json:f.json,text:f.text,data:p?p.data:void 0}),{flushSync:u});let b=new AbortController,w=ew(e.history,a,b.signal,d);if(l){let e=await to(i,a,w.signal);if("aborted"===e.type)return;if("error"===e.type)return void e0(t,n,e.error,{flushSync:u});if(!e.matches)return void e0(t,n,e_(404,{pathname:a}),{flushSync:u});if(m(o=eI(i=e.matches,a)))return}$.set(t,b);let R=J,S=(await eX("action",F,w,[o],i,t))[o.route.id];if(w.signal.aborted){$.get(t)===b&&$.delete(t);return}if(C.v7_fetcherPersist&&ed.has(t)){if(eO(S)||eU(S))return void eZ(t,e$(void 0))}else{if(eO(S))return($.delete(t),q>R)?void eZ(t,e$(void 0)):(X.add(t),eZ(t,eV(d)),eY(w,S,!1,{fetcherSubmission:d,preventScrollReset:c}));if(eU(S))return void e0(t,n,S.error)}if(ek(S))throw e_(400,{type:"defer-action"});let x=F.navigation.location||F.location,P=ew(e.history,x,b.signal),D=r||y,_="idle"!==F.navigation.state?E(D,F.navigation.location,g):F.matches;h(_,"Didn't find any matches after fetcher action");let A=++J;Y.set(t,A);let L=eV(d,S.data);F.fetchers.set(t,L);let[k,U]=eu(e.history,F,_,d,x,!1,C.v7_skipActionErrorRevalidation,z,W,V,ed,eo,X,D,g,[o.route.id,S]);U.filter(e=>e.key!==t).forEach(e=>{let t=e.key,r=F.fetchers.get(t),n=eV(void 0,r?r.data:void 0);F.fetchers.set(t,n),e4(t),e.controller&&$.set(t,e.controller)}),ey({fetchers:new Map(F.fetchers)});let O=()=>U.forEach(e=>e4(e.key));b.signal.addEventListener("abort",O);let{loaderResults:N,fetcherResults:T}=await eG(F,_,k,U,P);if(b.signal.aborted)return;b.signal.removeEventListener("abort",O),Y.delete(t),$.delete(t),U.forEach(e=>$.delete(e.key));let j=eA(N);if(j)return eY(P,j.result,!1,{preventScrollReset:c});if(j=eA(T))return X.add(j.key),eY(P,j.result,!1,{preventScrollReset:c});let{loaderData:B,errors:H}=eS(F,_,N,void 0,U,T,eh);if(F.fetchers.has(t)){let e=e$(S.data);F.fetchers.set(t,e)}e3(A),"loading"===F.navigation.state&&A>q?(h(M,"Expected pending action"),s&&s.abort(),eE(F.navigation.location,{matches:_,loaderData:B,errors:H,fetchers:new Map(F.fetchers)})):(ey({errors:H,loaderData:ex(F.loaderData,B,_,H),fetchers:new Map(F.fetchers)}),z=!1)}async function eq(t,r,n,a,o,i,l,s,u){let c=F.fetchers.get(t);eZ(t,eV(u,c?c.data:void 0),{flushSync:l});let d=new AbortController,f=ew(e.history,n,d.signal);if(i){let e=await to(o,n,f.signal);if("aborted"===e.type)return;if("error"===e.type)return void e0(t,r,e.error,{flushSync:l});if(!e.matches)return void e0(t,r,e_(404,{pathname:n}),{flushSync:l});a=eI(o=e.matches,n)}$.set(t,d);let p=J,m=(await eX("loader",F,f,[a],o,t))[a.route.id];if(ek(m)&&(m=await eB(m,f.signal,!0)||m),$.get(t)===d&&$.delete(t),!f.signal.aborted){if(ed.has(t))return void eZ(t,e$(void 0));if(eO(m))if(q>p)return void eZ(t,e$(void 0));else{X.add(t),await eY(f,m,!1,{preventScrollReset:s});return}if(eU(m))return void e0(t,r,m.error);h(!ek(m),"Unhandled fetcher deferred data"),eZ(t,e$(m.data))}}async function eY(t,r,a,o){let{submission:i,fetcherSubmission:u,preventScrollReset:f,replace:p}=void 0===o?{}:o;r.response.headers.has("X-Remix-Revalidate")&&(z=!0);let v=r.response.headers.get("Location");h(v,"Expected a Location header on the redirect Response"),v=eb(v,new URL(t.url),g);let y=m(F.location,v,{_isRedirect:!0});if(d){let t=!1;if(r.response.headers.has("X-Remix-Reload-Document"))t=!0;else if(er.test(v)){let r=e.history.createURL(v);t=r.origin!==c.location.origin||null==A(r.pathname,g)}if(t)return void(p?c.location.replace(v):c.location.assign(v))}s=null;let b=!0===p||r.response.headers.has("X-Remix-Replace")?n.Replace:n.Push,{formMethod:w,formAction:E,formEncType:R}=F.navigation;!i&&!u&&w&&E&&R&&(i=ez(F.navigation));let S=i||u;if(Q.has(r.response.status)&&S&&eM(S.formMethod))await eL(b,y,{submission:l({},S,{formAction:v}),preventScrollReset:f||T,enableViewTransition:a?j:void 0});else{let e=eW(y,i);await eL(b,y,{overrideNavigation:e,fetcherSubmission:u,preventScrollReset:f||T,enableViewTransition:a?j:void 0})}}async function eX(e,r,n,o,i,l){let s,u={};try{s=await ev(b,e,r,n,o,i,l,v,t)}catch(e){return o.forEach(t=>{u[t.route.id]={type:a.error,error:e}}),u}for(let[e,t]of Object.entries(s)){var c;if(eF((c=t).result)&&G.has(c.result.status)){let r=t.result;u[e]={type:a.redirect,response:function(e,t,r,n,a,o){let i=e.headers.get("Location");if(h(i,"Redirects returned/thrown from loaders/actions must have a Location header"),!er.test(i)){let l=n.slice(0,n.findIndex(e=>e.route.id===r)+1);i=ei(new URL(t.url),l,a,!0,i,o),e.headers.set("Location",i)}return e}(r,n,e,i,g,C.v7_relativeSplatPath)}}else u[e]=await eg(t)}return u}async function eG(t,r,n,o,i){let l=t.matches,s=eX("loader",t,i,n,r,null),u=Promise.all(o.map(async r=>{if(!r.matches||!r.match||!r.controller)return Promise.resolve({[r.key]:{type:a.error,error:e_(404,{pathname:r.path})}});{let n=(await eX("loader",t,ew(e.history,r.path,r.controller.signal),[r.match],r.matches,r.key))[r.match.route.id];return{[r.key]:n}}})),c=await s,d=(await u).reduce((e,t)=>Object.assign(e,t),{});return await Promise.all([eT(r,c,i.signal,l,t.loaderData),ej(r,d,o)]),{loaderResults:c,fetcherResults:d}}function eQ(){z=!0,W.push(...tt()),eo.forEach((e,t)=>{$.has(t)&&V.add(t),e4(t)})}function eZ(e,t,r){void 0===r&&(r={}),F.fetchers.set(e,t),ey({fetchers:new Map(F.fetchers)},{flushSync:!0===(r&&r.flushSync)})}function e0(e,t,r,n){void 0===n&&(n={});let a=eP(F.matches,t);e7(e),ey({errors:{[a.route.id]:r},fetchers:new Map(F.fetchers)},{flushSync:!0===(n&&n.flushSync)})}function e1(e){return C.v7_fetcherPersist&&(es.set(e,(es.get(e)||0)+1),ed.has(e)&&ed.delete(e)),F.fetchers.get(e)||ee}function e7(e){let t=F.fetchers.get(e);$.has(e)&&!(t&&"loading"===t.state&&Y.has(e))&&e4(e),eo.delete(e),Y.delete(e),X.delete(e),ed.delete(e),V.delete(e),F.fetchers.delete(e)}function e4(e){let t=$.get(e);t&&(t.abort(),$.delete(e))}function e2(e){for(let t of e){let e=e$(e1(t).data);F.fetchers.set(t,e)}}function e6(){let e=[],t=!1;for(let r of X){let n=F.fetchers.get(r);h(n,"Expected fetcher: "+r),"loading"===n.state&&(X.delete(r),e.push(r),t=!0)}return e2(e),t}function e3(e){let t=[];for(let[r,n]of Y)if(n<e){let e=F.fetchers.get(r);h(e,"Expected fetcher: "+r),"loading"===e.state&&(e4(r),Y.delete(r),t.push(r))}return e2(t),t.length>0}function e5(e){F.blockers.delete(e),ep.delete(e)}function e8(e,t){let r=F.blockers.get(e)||et;h("unblocked"===r.state&&"blocked"===t.state||"blocked"===r.state&&"blocked"===t.state||"blocked"===r.state&&"proceeding"===t.state||"blocked"===r.state&&"unblocked"===t.state||"proceeding"===r.state&&"unblocked"===t.state,"Invalid blocker state transition: "+r.state+" -> "+t.state);let n=new Map(F.blockers);n.set(e,t),ey({blockers:n})}function e9(e){let{currentLocation:t,nextLocation:r,historyAction:n}=e;if(0===ep.size)return;ep.size>1&&f(!1,"A router only supports one blocker at a time");let a=Array.from(ep.entries()),[o,i]=a[a.length-1],l=F.blockers.get(o);if((!l||"proceeding"!==l.state)&&i({currentLocation:t,nextLocation:r,historyAction:n}))return o}function te(e){let t=e_(404,{pathname:e}),{matches:n,route:a}=eD(r||y);return tt(),{notFoundMatches:n,route:a,error:t}}function tt(e){let t=[];return eh.forEach((r,n)=>{(!e||e(n))&&(r.cancel(),t.push(n),eh.delete(n))}),t}function tr(e,t){return L&&L(e,t.map(e=>S(e,F.loaderData)))||e.key}function tn(e,t){if(_){let r=_[tr(e,t)];if("number"==typeof r)return r}return null}function ta(e,t,r){if(x){if(!e)return{active:!0,matches:R(t,r,g,!0)||[]};else if(Object.keys(e[0].params).length>0)return{active:!0,matches:R(t,r,g,!0)}}return{active:!1,matches:null}}async function to(e,n,a){if(!x)return{type:"success",matches:e};let o=e;for(;;){let e=null==r,i=r||y,l=v;try{await x({path:n,matches:o,patch:(e,r)=>{a.aborted||ef(e,r,i,l,t)}})}catch(e){return{type:"error",error:e,partialMatches:o}}finally{e&&!a.aborted&&(y=[...y])}if(a.aborted)return{type:"aborted"};let s=E(i,n,g);if(s)return{type:"success",matches:s};let u=R(i,n,g,!0);if(!u||o.length===u.length&&o.every((e,t)=>e.route.id===u[t].route.id))return{type:"success",matches:null};o=u}}return i={get basename(){return g},get future(){return C},get state(){return F},get routes(){return y},get window(){return c},initialize:function(){if(P=e.history.listen(t=>{let{action:r,location:n,delta:a}=t;if(u){u(),u=void 0;return}f(0===ep.size||null!=a,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let o=e9({currentLocation:F.location,nextLocation:n,historyAction:r});if(o&&null!=a){let t=new Promise(e=>{u=e});e.history.go(-1*a),e8(o,{state:"blocked",location:n,proceed(){e8(o,{state:"proceeding",proceed:void 0,reset:void 0,location:n}),t.then(()=>e.history.go(a))},reset(){let e=new Map(F.blockers);e.set(o,et),ey({blockers:e})}});return}return eL(r,n)}),d){var t=c,r=B;try{let e=t.sessionStorage.getItem(ea);if(e){let t=JSON.parse(e);for(let[e,n]of Object.entries(t||{}))n&&Array.isArray(n)&&r.set(e,new Set(n||[]))}}catch(e){}let e=()=>(function(e,t){if(t.size>0){let r={};for(let[e,n]of t)r[e]=[...n];try{e.sessionStorage.setItem(ea,JSON.stringify(r))}catch(e){f(!1,"Failed to save applied view transitions in sessionStorage ("+e+").")}}})(c,B);c.addEventListener("pagehide",e),H=()=>c.removeEventListener("pagehide",e)}return F.initialized||eL(n.Pop,F.location,{initialHydration:!0}),i},subscribe:function(e){return D.add(e),()=>D.delete(e)},enableScrollRestoration:function(e,t,r){if(_=e,k=t,L=r||null,!U&&F.navigation===Z){U=!0;let e=tn(F.location,F.matches);null!=e&&ey({restoreScrollPosition:e})}return()=>{_=null,k=null,L=null}},navigate:eR,fetch:function(e,t,n,a){if(p)throw Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");e4(e);let o=!0===(a&&a.flushSync),i=r||y,l=ei(F.location,F.matches,g,C.v7_prependBasename,n,C.v7_relativeSplatPath,t,null==a?void 0:a.relative),s=E(i,l,g),u=ta(s,i,l);if(u.active&&u.matches&&(s=u.matches),!s)return void e0(e,t,e_(404,{pathname:l}),{flushSync:o});let{path:c,submission:d,error:h}=el(C.v7_normalizeFormMethod,!0,l,a);if(h)return void e0(e,t,h,{flushSync:o});let f=eI(s,c),m=!0===(a&&a.preventScrollReset);d&&eM(d.formMethod)?eK(e,t,c,f,s,u.active,o,m,d):(eo.set(e,{routeId:t,path:c}),eq(e,t,c,f,s,u.active,o,m,d))},revalidate:function(){if(eQ(),ey({revalidation:"loading"}),"submitting"!==F.navigation.state){if("idle"===F.navigation.state)return void eL(F.historyAction,F.location,{startUninterruptedRevalidation:!0});eL(M||F.historyAction,F.navigation.location,{overrideNavigation:F.navigation,enableViewTransition:!0===j})}},createHref:t=>e.history.createHref(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:e1,deleteFetcher:function(e){if(C.v7_fetcherPersist){let t=(es.get(e)||0)-1;t<=0?(es.delete(e),ed.add(e)):es.set(e,t)}else e7(e);ey({fetchers:new Map(F.fetchers)})},dispose:function(){P&&P(),H&&H(),D.clear(),s&&s.abort(),F.fetchers.forEach((e,t)=>e7(t)),F.blockers.forEach((e,t)=>e5(t))},getBlocker:function(e,t){let r=F.blockers.get(e)||et;return ep.get(e)!==t&&ep.set(e,t),r},deleteBlocker:e5,patchRoutes:function(e,n){let a=null==r;ef(e,n,r||y,v,t),a&&(y=[...y],ey({}))},_internalFetchControllers:$,_internalActiveDeferreds:eh,_internalSetRoutes:function(e){r=w(e,t,void 0,v={})}}}function ei(e,t,r,n,a,o,i,l){let s,u;if(i){for(let e of(s=[],t))if(s.push(e),e.route.id===i){u=e;break}}else s=t,u=t[t.length-1];let c=N(a||".",O(s,o),A(e.pathname,r)||e.pathname,"path"===l);if(null==a&&(c.search=e.search,c.hash=e.hash),(null==a||""===a||"."===a)&&u){let e=eH(c.search);if(u.route.index&&!e)c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index";else if(!u.route.index&&e){let e=new URLSearchParams(c.search),t=e.getAll("index");e.delete("index"),t.filter(e=>e).forEach(t=>e.append("index",t));let r=e.toString();c.search=r?"?"+r:""}}return n&&"/"!==r&&(c.pathname="/"===c.pathname?r:F([r,c.pathname])),v(c)}function el(e,t,r,n){var a;let o,i;if(!n||!(null!=n&&("formData"in n&&null!=n.formData||"body"in n&&void 0!==n.body)))return{path:r};if(n.formMethod&&(a=n.formMethod,!X.has(a.toLowerCase())))return{path:r,error:e_(405,{method:n.formMethod})};let l=()=>({path:r,error:e_(400,{type:"invalid-body"})}),s=n.formMethod||"get",u=e?s.toUpperCase():s.toLowerCase(),c=eL(r);if(void 0!==n.body){if("text/plain"===n.formEncType){if(!eM(u))return l();let e="string"==typeof n.body?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((e,t)=>{let[r,n]=t;return""+e+r+"="+n+"\n"},""):String(n.body);return{path:r,submission:{formMethod:u,formAction:c,formEncType:n.formEncType,formData:void 0,json:void 0,text:e}}}else if("application/json"===n.formEncType){if(!eM(u))return l();try{let e="string"==typeof n.body?JSON.parse(n.body):n.body;return{path:r,submission:{formMethod:u,formAction:c,formEncType:n.formEncType,formData:void 0,json:e,text:void 0}}}catch(e){return l()}}}if(h("function"==typeof FormData,"FormData is not available in this environment"),n.formData)o=eE(n.formData),i=n.formData;else if(n.body instanceof FormData)o=eE(n.body),i=n.body;else if(n.body instanceof URLSearchParams)i=eR(o=n.body);else if(null==n.body)o=new URLSearchParams,i=new FormData;else try{o=new URLSearchParams(n.body),i=eR(o)}catch(e){return l()}let d={formMethod:u,formAction:c,formEncType:n&&n.formEncType||"application/x-www-form-urlencoded",formData:i,json:void 0,text:void 0};if(eM(d.formMethod))return{path:r,submission:d};let f=y(r);return t&&f.search&&eH(f.search)&&o.append("index",""),f.search="?"+o,{path:v(f),submission:d}}function es(e,t,r){void 0===r&&(r=!1);let n=e.findIndex(e=>e.route.id===t);return n>=0?e.slice(0,r?n+1:n):e}function eu(e,t,r,n,a,o,i,s,u,c,d,h,f,p,m,v){let y=v?eU(v[1])?v[1].error:v[1].data:void 0,g=e.createURL(t.location),b=e.createURL(a),w=r;o&&t.errors?w=es(r,Object.keys(t.errors)[0],!0):v&&eU(v[1])&&(w=es(r,v[0]));let R=v?v[1].statusCode:void 0,S=i&&R&&R>=400,x=w.filter((e,r)=>{var a,i,c;let d,h,{route:f}=e;if(f.lazy)return!0;if(null==f.loader)return!1;if(o)return ec(f,t.loaderData,t.errors);if(a=t.loaderData,i=t.matches[r],c=e,d=!i||c.route.id!==i.route.id,h=void 0===a[c.route.id],d||h||u.some(t=>t===e.route.id))return!0;let p=t.matches[r];return eh(e,l({currentUrl:g,currentParams:p.params,nextUrl:b,nextParams:e.params},n,{actionResult:y,actionStatus:R,defaultShouldRevalidate:!S&&(s||g.pathname+g.search===b.pathname+b.search||g.search!==b.search||ed(p,e))}))}),C=[];return h.forEach((e,a)=>{if(o||!r.some(t=>t.route.id===e.routeId)||d.has(a))return;let i=E(p,e.path,m);if(!i)return void C.push({key:a,routeId:e.routeId,path:e.path,matches:null,match:null,controller:null});let u=t.fetchers.get(a),h=eI(i,e.path),v=!1;f.has(a)?v=!1:c.has(a)?(c.delete(a),v=!0):v=u&&"idle"!==u.state&&void 0===u.data?s:eh(h,l({currentUrl:g,currentParams:t.matches[t.matches.length-1].params,nextUrl:b,nextParams:r[r.length-1].params},n,{actionResult:y,actionStatus:R,defaultShouldRevalidate:!S&&s})),v&&C.push({key:a,routeId:e.routeId,path:e.path,matches:i,match:h,controller:new AbortController})}),[x,C]}function ec(e,t,r){if(e.lazy)return!0;if(!e.loader)return!1;let n=null!=t&&void 0!==t[e.id],a=null!=r&&void 0!==r[e.id];return(!!n||!a)&&("function"==typeof e.loader&&!0===e.loader.hydrate||!n&&!a)}function ed(e,t){let r=e.route.path;return e.pathname!==t.pathname||null!=r&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function eh(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if("boolean"==typeof r)return r}return t.defaultShouldRevalidate}function ef(e,t,r,n,a){var o;let i;if(e){let t=n[e];h(t,"No route found to patch children into: routeId = "+e),t.children||(t.children=[]),i=t.children}else i=r;let l=w(t.filter(e=>!i.some(t=>(function e(t,r){return"id"in t&&"id"in r&&t.id===r.id||t.index===r.index&&t.path===r.path&&t.caseSensitive===r.caseSensitive&&((!t.children||0===t.children.length)&&(!r.children||0===r.children.length)||t.children.every((t,n)=>{var a;return null==(a=r.children)?void 0:a.some(r=>e(t,r))}))})(e,t))),a,[e||"_","patch",String((null==(o=i)?void 0:o.length)||"0")],n);i.push(...l)}async function ep(e,t,r){if(!e.lazy)return;let n=await e.lazy();if(!e.lazy)return;let a=r[e.id];h(a,"No route found in manifest");let o={};for(let e in n){let t=void 0!==a[e]&&"hasErrorBoundary"!==e;f(!t,'Route "'+a.id+'" has a static property "'+e+'" defined but its lazy function is also returning a value for this property. The lazy route property "'+e+'" will be ignored.'),t||b.has(e)||(o[e]=n[e])}Object.assign(a,o),Object.assign(a,l({},t(a),{lazy:void 0}))}async function em(e){let{matches:t}=e,r=t.filter(e=>e.shouldLoad);return(await Promise.all(r.map(e=>e.resolve()))).reduce((e,t,n)=>Object.assign(e,{[r[n].route.id]:t}),{})}async function ev(e,t,r,n,o,i,s,u,c,d){let h=i.map(e=>e.route.lazy?ep(e.route,c,u):void 0),f=i.map((e,r)=>{let i=h[r],s=o.some(t=>t.route.id===e.route.id),u=async r=>(r&&"GET"===n.method&&(e.route.lazy||e.route.loader)&&(s=!0),s?ey(t,n,e,i,r,d):Promise.resolve({type:a.data,result:void 0}));return l({},e,{shouldLoad:s,resolve:u})}),p=await e({matches:f,request:n,params:i[0].params,fetcherKey:s,context:d});try{await Promise.all(h)}catch(e){}return p}async function ey(e,t,r,n,o,i){let l,s,u=n=>{let a,l=new Promise((e,t)=>a=t);s=()=>a(),t.signal.addEventListener("abort",s);let u=a=>"function"!=typeof n?Promise.reject(Error("You cannot call the handler for a route which defines a boolean "+('"'+e+'" [routeId: ')+r.route.id+"]")):n({request:t,params:r.params,context:i},...void 0!==a?[a]:[]);return Promise.race([(async()=>{try{let e=await (o?o(e=>u(e)):u());return{type:"data",result:e}}catch(e){return{type:"error",result:e}}})(),l])};try{let o=r.route[e];if(n)if(o){let e,[t]=await Promise.all([u(o).catch(t=>{e=t}),n]);if(void 0!==e)throw e;l=t}else if(await n,o=r.route[e])l=await u(o);else{if("action"!==e)return{type:a.data,result:void 0};let n=new URL(t.url),o=n.pathname+n.search;throw e_(405,{method:t.method,pathname:o,routeId:r.route.id})}else if(o)l=await u(o);else{let e=new URL(t.url),r=e.pathname+e.search;throw e_(404,{pathname:r})}h(void 0!==l.result,"You defined "+("action"===e?"an action":"a loader")+" for route "+('"'+r.route.id+"\" but didn't return anything from your `")+e+"` function. Please return a value or `null`.")}catch(e){return{type:a.error,result:e}}finally{s&&t.signal.removeEventListener("abort",s)}return l}async function eg(e){var t,r,n,o,i,l,s;let{result:u,type:c}=e;if(eF(u)){let e;try{let t=u.headers.get("Content-Type");e=t&&/\bapplication\/json\b/.test(t)?null==u.body?null:await u.json():await u.text()}catch(e){return{type:a.error,error:e}}return c===a.error?{type:a.error,error:new J(u.status,u.statusText,e),statusCode:u.status,headers:u.headers}:{type:a.data,data:e,statusCode:u.status,headers:u.headers}}if(c===a.error){if(eN(u)){if(u.data instanceof Error)return{type:a.error,error:u.data,statusCode:null==(r=u.init)?void 0:r.status};u=new J((null==(t=u.init)?void 0:t.status)||500,void 0,u.data)}return{type:a.error,error:u,statusCode:K(u)?u.status:void 0}}return(s=u)&&"object"==typeof s&&"object"==typeof s.data&&"function"==typeof s.subscribe&&"function"==typeof s.cancel&&"function"==typeof s.resolveData?{type:a.deferred,deferredData:u,statusCode:null==(n=u.init)?void 0:n.status,headers:(null==(o=u.init)?void 0:o.headers)&&new Headers(u.init.headers)}:eN(u)?{type:a.data,data:u.data,statusCode:null==(i=u.init)?void 0:i.status,headers:null!=(l=u.init)&&l.headers?new Headers(u.init.headers):void 0}:{type:a.data,data:u}}function eb(e,t,r){if(er.test(e)){let n=new URL(e.startsWith("//")?t.protocol+e:e),a=null!=A(n.pathname,r);if(n.origin===t.origin&&a)return n.pathname+n.search+n.hash}return e}function ew(e,t,r,n){let a=e.createURL(eL(t)).toString(),o={signal:r};if(n&&eM(n.formMethod)){let{formMethod:e,formEncType:t}=n;o.method=e.toUpperCase(),"application/json"===t?(o.headers=new Headers({"Content-Type":t}),o.body=JSON.stringify(n.json)):"text/plain"===t?o.body=n.text:"application/x-www-form-urlencoded"===t&&n.formData?o.body=eE(n.formData):o.body=n.formData}return new Request(a,o)}function eE(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,"string"==typeof n?n:n.name);return t}function eR(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function eS(e,t,r,n,a,o,i){let s,u,c,d,f,p,{loaderData:m,errors:v}=(u={},c=null,d=!1,f={},p=n&&eU(n[1])?n[1].error:void 0,t.forEach(e=>{if(!(e.route.id in r))return;let n=e.route.id,a=r[n];if(h(!eO(a),"Cannot handle redirect results in processLoaderData"),eU(a)){let e=a.error;void 0!==p&&(e=p,p=void 0),c=c||{},1;{let r=eP(t,n);null==c[r.route.id]&&(c[r.route.id]=e)}u[n]=void 0,d||(d=!0,s=K(a.error)?a.error.status:500),a.headers&&(f[n]=a.headers)}else ek(a)?(i.set(n,a.deferredData),u[n]=a.deferredData.data,null==a.statusCode||200===a.statusCode||d||(s=a.statusCode)):(u[n]=a.data,a.statusCode&&200!==a.statusCode&&!d&&(s=a.statusCode)),a.headers&&(f[n]=a.headers)}),void 0!==p&&n&&(c={[n[0]]:p},u[n[0]]=void 0),{loaderData:u,errors:c,statusCode:s||200,loaderHeaders:f});return a.forEach(t=>{let{key:r,match:n,controller:a}=t,i=o[r];if(h(i,"Did not find corresponding fetcher result"),!a||!a.signal.aborted)if(eU(i)){let t=eP(e.matches,null==n?void 0:n.route.id);v&&v[t.route.id]||(v=l({},v,{[t.route.id]:i.error})),e.fetchers.delete(r)}else if(eO(i))h(!1,"Unhandled fetcher revalidation redirect");else if(ek(i))h(!1,"Unhandled fetcher deferred data");else{let t=e$(i.data);e.fetchers.set(r,t)}}),{loaderData:m,errors:v}}function ex(e,t,r,n){let a=l({},t);for(let o of r){let r=o.route.id;if(t.hasOwnProperty(r)?void 0!==t[r]&&(a[r]=t[r]):void 0!==e[r]&&o.route.loader&&(a[r]=e[r]),n&&n.hasOwnProperty(r))break}return a}function eC(e){return e?eU(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function eP(e,t){return(t?e.slice(0,e.findIndex(e=>e.route.id===t)+1):[...e]).reverse().find(e=>!0===e.route.hasErrorBoundary)||e[0]}function eD(e){let t=1===e.length?e[0]:e.find(e=>e.index||!e.path||"/"===e.path)||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function e_(e,t){let{pathname:r,routeId:n,method:a,type:o,message:i}=void 0===t?{}:t,l="Unknown Server Error",s="Unknown @remix-run/router error";return 400===e?(l="Bad Request",a&&r&&n?s="You made a "+a+' request to "'+r+'" but did not provide a `loader` for route "'+n+'", so there is no way to handle the request.':"defer-action"===o?s="defer() is not supported in actions":"invalid-body"===o&&(s="Unable to encode submission body")):403===e?(l="Forbidden",s='Route "'+n+'" does not match URL "'+r+'"'):404===e?(l="Not Found",s='No route matches URL "'+r+'"'):405===e&&(l="Method Not Allowed",a&&r&&n?s="You made a "+a.toUpperCase()+' request to "'+r+'" but did not provide an `action` for route "'+n+'", so there is no way to handle the request.':a&&(s='Invalid request method "'+a.toUpperCase()+'"')),new J(e||500,l,Error(s),!0)}function eA(e){let t=Object.entries(e);for(let e=t.length-1;e>=0;e--){let[r,n]=t[e];if(eO(n))return{key:r,result:n}}}function eL(e){let t="string"==typeof e?y(e):e;return v(l({},t,{hash:""}))}function ek(e){return e.type===a.deferred}function eU(e){return e.type===a.error}function eO(e){return(e&&e.type)===a.redirect}function eN(e){return"object"==typeof e&&null!=e&&"type"in e&&"data"in e&&"init"in e&&"DataWithResponseInit"===e.type}function eF(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"object"==typeof e.headers&&void 0!==e.body}function eM(e){return Y.has(e.toLowerCase())}async function eT(e,t,r,n,a){let o=Object.entries(t);for(let i=0;i<o.length;i++){let[l,s]=o[i],u=e.find(e=>(null==e?void 0:e.route.id)===l);if(!u)continue;let c=n.find(e=>e.route.id===u.route.id),d=null!=c&&!ed(c,u)&&(a&&a[u.route.id])!==void 0;ek(s)&&d&&await eB(s,r,!1).then(e=>{e&&(t[l]=e)})}}async function ej(e,t,r){for(let n=0;n<r.length;n++){let{key:a,routeId:o,controller:i}=r[n],l=t[a];e.find(e=>(null==e?void 0:e.route.id)===o)&&ek(l)&&(h(i,"Expected an AbortController for revalidating fetcher deferred result"),await eB(l,i.signal,!0).then(e=>{e&&(t[a]=e)}))}}async function eB(e,t,r){if(void 0===r&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:a.data,data:e.deferredData.unwrappedData}}catch(e){return{type:a.error,error:e}}return{type:a.data,data:e.deferredData.data}}}function eH(e){return new URLSearchParams(e).getAll("index").some(e=>""===e)}function eI(e,t){let r="string"==typeof t?y(t).search:t.search;if(e[e.length-1].route.index&&eH(r||""))return e[e.length-1];let n=U(e);return n[n.length-1]}function ez(e){let{formMethod:t,formAction:r,formEncType:n,text:a,formData:o,json:i}=e;if(t&&r&&n){if(null!=a)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a};else if(null!=o)return{formMethod:t,formAction:r,formEncType:n,formData:o,json:void 0,text:void 0};else if(void 0!==i)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:i,text:void 0}}}function eW(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function eV(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function e$(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}Symbol("deferred")},1235:function(e,t,r){r.r(t),r.d(t,{AbortedDeferredError:()=>h.tH,Await:()=>d.Await,BrowserRouter:()=>M,Form:()=>W,HashRouter:()=>T,Link:()=>I,MemoryRouter:()=>d.MemoryRouter,NavLink:()=>z,Navigate:()=>d.Navigate,NavigationType:()=>h.rc,Outlet:()=>d.Outlet,Route:()=>d.Route,Router:()=>d.Router,RouterProvider:()=>N,Routes:()=>d.Routes,ScrollRestoration:()=>V,UNSAFE_DataRouterContext:()=>d.UNSAFE_DataRouterContext,UNSAFE_DataRouterStateContext:()=>d.UNSAFE_DataRouterStateContext,UNSAFE_ErrorResponseImpl:()=>h.VV,UNSAFE_FetchersContext:()=>_,UNSAFE_LocationContext:()=>d.UNSAFE_LocationContext,UNSAFE_NavigationContext:()=>d.UNSAFE_NavigationContext,UNSAFE_RouteContext:()=>d.UNSAFE_RouteContext,UNSAFE_ViewTransitionContext:()=>D,UNSAFE_useRouteId:()=>d.UNSAFE_useRouteId,UNSAFE_useScrollRestoration:()=>en,createBrowserRouter:()=>x,createHashRouter:()=>C,createMemoryRouter:()=>d.createMemoryRouter,createPath:()=>h.AO,createRoutesFromChildren:()=>d.createRoutesFromChildren,createRoutesFromElements:()=>d.createRoutesFromElements,createSearchParams:()=>y,defer:()=>h.v6,generatePath:()=>h.tW,isRouteErrorResponse:()=>h.pX,json:()=>h.Pq,matchPath:()=>h.B6,matchRoutes:()=>h.ue,parsePath:()=>h.Rr,redirect:()=>h.V2,redirectDocument:()=>h.Sk,renderMatches:()=>d.renderMatches,replace:()=>h.HC,resolvePath:()=>h.o1,unstable_HistoryRouter:()=>j,unstable_usePrompt:()=>eo,useActionData:()=>d.useActionData,useAsyncError:()=>d.useAsyncError,useAsyncValue:()=>d.useAsyncValue,useBeforeUnload:()=>ea,useBlocker:()=>d.useBlocker,useFetcher:()=>Z,useFetchers:()=>ee,useFormAction:()=>Q,useHref:()=>d.useHref,useInRouterContext:()=>d.useInRouterContext,useLinkClickHandler:()=>K,useLoaderData:()=>d.useLoaderData,useLocation:()=>d.useLocation,useMatch:()=>d.useMatch,useMatches:()=>d.useMatches,useNavigate:()=>d.useNavigate,useNavigation:()=>d.useNavigation,useNavigationType:()=>d.useNavigationType,useOutlet:()=>d.useOutlet,useOutletContext:()=>d.useOutletContext,useParams:()=>d.useParams,useResolvedPath:()=>d.useResolvedPath,useRevalidator:()=>d.useRevalidator,useRouteError:()=>d.useRouteError,useRouteLoaderData:()=>d.useRouteLoaderData,useRoutes:()=>d.useRoutes,useSearchParams:()=>q,useSubmit:()=>G,useViewTransitionState:()=>ei});var n,a,o,i,l,s,u=r(22155),c=r(70316),d=r(62837),h=r(94014);function f(){return(f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function p(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}let m="application/x-www-form-urlencoded";function v(e){return null!=e&&"string"==typeof e.tagName}function y(e){return void 0===e&&(e=""),new URLSearchParams("string"==typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map(e=>[r,e]):[[r,n]])},[]))}let g=null,b=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function w(e){return null==e||b.has(e)?e:null}let E=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],R=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],S=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","viewTransition"];try{window.__reactRouterVersion="6"}catch(e){}function x(e,t){return(0,h.aE)({basename:null==t?void 0:t.basename,future:f({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:(0,h.zR)({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||P(),routes:e,mapRouteProperties:d.UNSAFE_mapRouteProperties,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation,window:null==t?void 0:t.window}).initialize()}function C(e,t){return(0,h.aE)({basename:null==t?void 0:t.basename,future:f({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:(0,h.TM)({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||P(),routes:e,mapRouteProperties:d.UNSAFE_mapRouteProperties,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation,window:null==t?void 0:t.window}).initialize()}function P(){var e;let t=null==(e=window)?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=f({},t,{errors:function(e){if(!e)return null;let t=Object.entries(e),r={};for(let[e,n]of t)if(n&&"RouteErrorResponse"===n.__type)r[e]=new h.VV(n.status,n.statusText,n.data,!0===n.internal);else if(n&&"Error"===n.__type){if(n.__subType){let t=window[n.__subType];if("function"==typeof t)try{let a=new t(n.message);a.stack="",r[e]=a}catch(e){}}if(null==r[e]){let t=Error(n.message);t.stack="",r[e]=t}}else r[e]=n;return r}(t.errors)})),t}let D=u.createContext({isTransitioning:!1}),_=u.createContext(new Map),A=(o||(o=r.t(u,2))).startTransition,L=(i||(i=r.t(c,2))).flushSync,k=(o||(o=r.t(u,2))).useId;function U(e){L?L(e):e()}class O{constructor(){this.status="pending",this.promise=new Promise((e,t)=>{this.resolve=t=>{"pending"===this.status&&(this.status="resolved",e(t))},this.reject=e=>{"pending"===this.status&&(this.status="rejected",t(e))}})}}function N(e){let{fallbackElement:t,router:r,future:n}=e,[a,o]=u.useState(r.state),[i,l]=u.useState(),[s,c]=u.useState({isTransitioning:!1}),[h,f]=u.useState(),[p,m]=u.useState(),[v,y]=u.useState(),g=u.useRef(new Map),{v7_startTransition:b}=n||{},w=u.useCallback(e=>{if(b)A?A(e):e();else e()},[b]),E=u.useCallback((e,t)=>{let{deletedFetchers:n,flushSync:a,viewTransitionOpts:i}=t;n.forEach(e=>g.current.delete(e)),e.fetchers.forEach((e,t)=>{void 0!==e.data&&g.current.set(t,e.data)});let s=null==r.window||null==r.window.document||"function"!=typeof r.window.document.startViewTransition;if(!i||s)return void(a?U(()=>o(e)):w(()=>o(e)));if(a){U(()=>{p&&(h&&h.resolve(),p.skipTransition()),c({isTransitioning:!0,flushSync:!0,currentLocation:i.currentLocation,nextLocation:i.nextLocation})});let t=r.window.document.startViewTransition(()=>{U(()=>o(e))});t.finished.finally(()=>{U(()=>{f(void 0),m(void 0),l(void 0),c({isTransitioning:!1})})}),U(()=>m(t));return}p?(h&&h.resolve(),p.skipTransition(),y({state:e,currentLocation:i.currentLocation,nextLocation:i.nextLocation})):(l(e),c({isTransitioning:!0,flushSync:!1,currentLocation:i.currentLocation,nextLocation:i.nextLocation}))},[r.window,p,h,g,w]);u.useLayoutEffect(()=>r.subscribe(E),[r,E]),u.useEffect(()=>{s.isTransitioning&&!s.flushSync&&f(new O)},[s]),u.useEffect(()=>{if(h&&i&&r.window){let e=h.promise,t=r.window.document.startViewTransition(async()=>{w(()=>o(i)),await e});t.finished.finally(()=>{f(void 0),m(void 0),l(void 0),c({isTransitioning:!1})}),m(t)}},[w,i,h,r.window]),u.useEffect(()=>{h&&i&&a.location.key===i.location.key&&h.resolve()},[h,p,a.location,i]),u.useEffect(()=>{!s.isTransitioning&&v&&(l(v.state),c({isTransitioning:!0,flushSync:!1,currentLocation:v.currentLocation,nextLocation:v.nextLocation}),y(void 0))},[s.isTransitioning,v]),u.useEffect(()=>{},[]);let R=u.useMemo(()=>({createHref:r.createHref,encodeLocation:r.encodeLocation,go:e=>r.navigate(e),push:(e,t,n)=>r.navigate(e,{state:t,preventScrollReset:null==n?void 0:n.preventScrollReset}),replace:(e,t,n)=>r.navigate(e,{replace:!0,state:t,preventScrollReset:null==n?void 0:n.preventScrollReset})}),[r]),S=r.basename||"/",x=u.useMemo(()=>({router:r,navigator:R,static:!1,basename:S}),[r,R,S]),C=u.useMemo(()=>({v7_relativeSplatPath:r.future.v7_relativeSplatPath}),[r.future.v7_relativeSplatPath]);return u.useEffect(()=>(0,d.UNSAFE_logV6DeprecationWarnings)(n,r.future),[n,r.future]),u.createElement(u.Fragment,null,u.createElement(d.UNSAFE_DataRouterContext.Provider,{value:x},u.createElement(d.UNSAFE_DataRouterStateContext.Provider,{value:a},u.createElement(_.Provider,{value:g.current},u.createElement(D.Provider,{value:s},u.createElement(d.Router,{basename:S,location:a.location,navigationType:a.historyAction,navigator:R,future:C},a.initialized||r.future.v7_partialHydration?u.createElement(F,{routes:r.routes,future:r.future,state:a}):t))))),null)}let F=u.memo(function(e){let{routes:t,future:r,state:n}=e;return(0,d.UNSAFE_useRoutesImpl)(t,void 0,n,r)});function M(e){let{basename:t,children:r,future:n,window:a}=e,o=u.useRef();null==o.current&&(o.current=(0,h.zR)({window:a,v5Compat:!0}));let i=o.current,[l,s]=u.useState({action:i.action,location:i.location}),{v7_startTransition:c}=n||{},f=u.useCallback(e=>{c&&A?A(()=>s(e)):s(e)},[s,c]);return u.useLayoutEffect(()=>i.listen(f),[i,f]),u.useEffect(()=>(0,d.UNSAFE_logV6DeprecationWarnings)(n),[n]),u.createElement(d.Router,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:i,future:n})}function T(e){let{basename:t,children:r,future:n,window:a}=e,o=u.useRef();null==o.current&&(o.current=(0,h.TM)({window:a,v5Compat:!0}));let i=o.current,[l,s]=u.useState({action:i.action,location:i.location}),{v7_startTransition:c}=n||{},f=u.useCallback(e=>{c&&A?A(()=>s(e)):s(e)},[s,c]);return u.useLayoutEffect(()=>i.listen(f),[i,f]),u.useEffect(()=>(0,d.UNSAFE_logV6DeprecationWarnings)(n),[n]),u.createElement(d.Router,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:i,future:n})}function j(e){let{basename:t,children:r,future:n,history:a}=e,[o,i]=u.useState({action:a.action,location:a.location}),{v7_startTransition:l}=n||{},s=u.useCallback(e=>{l&&A?A(()=>i(e)):i(e)},[i,l]);return u.useLayoutEffect(()=>a.listen(s),[a,s]),u.useEffect(()=>(0,d.UNSAFE_logV6DeprecationWarnings)(n),[n]),u.createElement(d.Router,{basename:t,children:r,location:o.location,navigationType:o.action,navigator:a,future:n})}let B="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,H=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,I=u.forwardRef(function(e,t){let r,{onClick:n,relative:a,reloadDocument:o,replace:i,state:l,target:s,to:c,preventScrollReset:m,viewTransition:v}=e,y=p(e,E),{basename:g}=u.useContext(d.UNSAFE_NavigationContext),b=!1;if("string"==typeof c&&H.test(c)&&(r=c,B))try{let e=new URL(window.location.href),t=new URL(c.startsWith("//")?e.protocol+c:c),r=(0,h.pb)(t.pathname,g);t.origin===e.origin&&null!=r?c=r+t.search+t.hash:b=!0}catch(e){}let w=(0,d.useHref)(c,{relative:a}),R=K(c,{replace:i,state:l,target:s,preventScrollReset:m,relative:a,viewTransition:v});return u.createElement("a",f({},y,{href:r||w,onClick:b||o?n:function(e){n&&n(e),e.defaultPrevented||R(e)},ref:t,target:s}))}),z=u.forwardRef(function(e,t){let r,{"aria-current":n="page",caseSensitive:a=!1,className:o="",end:i=!1,style:l,to:s,viewTransition:c,children:m}=e,v=p(e,R),y=(0,d.useResolvedPath)(s,{relative:v.relative}),g=(0,d.useLocation)(),b=u.useContext(d.UNSAFE_DataRouterStateContext),{navigator:w,basename:E}=u.useContext(d.UNSAFE_NavigationContext),S=null!=b&&ei(y)&&!0===c,x=w.encodeLocation?w.encodeLocation(y).pathname:y.pathname,C=g.pathname,P=b&&b.navigation&&b.navigation.location?b.navigation.location.pathname:null;a||(C=C.toLowerCase(),P=P?P.toLowerCase():null,x=x.toLowerCase()),P&&E&&(P=(0,h.pb)(P,E)||P);let D="/"!==x&&x.endsWith("/")?x.length-1:x.length,_=C===x||!i&&C.startsWith(x)&&"/"===C.charAt(D),A=null!=P&&(P===x||!i&&P.startsWith(x)&&"/"===P.charAt(x.length)),L={isActive:_,isPending:A,isTransitioning:S},k=_?n:void 0;r="function"==typeof o?o(L):[o,_?"active":null,A?"pending":null,S?"transitioning":null].filter(Boolean).join(" ");let U="function"==typeof l?l(L):l;return u.createElement(I,f({},v,{"aria-current":k,className:r,ref:t,style:U,to:s,viewTransition:c}),"function"==typeof m?m(L):m)}),W=u.forwardRef((e,t)=>{let{fetcherKey:r,navigate:n,reloadDocument:a,replace:o,state:i,method:l="get",action:s,onSubmit:c,relative:d,preventScrollReset:h,viewTransition:m}=e,v=p(e,S),y=G(),g=Q(s,{relative:d}),b="get"===l.toLowerCase()?"get":"post";return u.createElement("form",f({ref:t,method:b,action:g,onSubmit:a?c:e=>{if(c&&c(e),e.defaultPrevented)return;e.preventDefault();let t=e.nativeEvent.submitter,a=(null==t?void 0:t.getAttribute("formmethod"))||l;y(t||e.currentTarget,{fetcherKey:r,method:a,navigate:n,replace:o,state:i,relative:d,preventScrollReset:h,viewTransition:m})}},v))});function V(e){let{getKey:t,storageKey:r}=e;return en({getKey:t,storageKey:r}),null}function $(e){let t=u.useContext(d.UNSAFE_DataRouterContext);return t||(0,h.Oi)(!1),t}function J(e){let t=u.useContext(d.UNSAFE_DataRouterStateContext);return t||(0,h.Oi)(!1),t}function K(e,t){let{target:r,replace:n,state:a,preventScrollReset:o,relative:i,viewTransition:l}=void 0===t?{}:t,s=(0,d.useNavigate)(),c=(0,d.useLocation)(),f=(0,d.useResolvedPath)(e,{relative:i});return u.useCallback(t=>{0!==t.button||r&&"_self"!==r||t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||(t.preventDefault(),s(e,{replace:void 0!==n?n:(0,h.AO)(c)===(0,h.AO)(f),state:a,preventScrollReset:o,relative:i,viewTransition:l}))},[c,s,f,n,a,r,e,o,i,l])}function q(e){let t=u.useRef(y(e)),r=u.useRef(!1),n=(0,d.useLocation)(),a=u.useMemo(()=>{var e,a;let o;return e=n.search,a=r.current?null:t.current,o=y(e),a&&a.forEach((e,t)=>{o.has(t)||a.getAll(t).forEach(e=>{o.append(t,e)})}),o},[n.search]),o=(0,d.useNavigate)(),i=u.useCallback((e,t)=>{let n=y("function"==typeof e?e(a):e);r.current=!0,o("?"+n,t)},[o,a]);return[a,i]}(n=l||(l={})).UseScrollRestoration="useScrollRestoration",n.UseSubmit="useSubmit",n.UseSubmitFetcher="useSubmitFetcher",n.UseFetcher="useFetcher",n.useViewTransitionState="useViewTransitionState",(a=s||(s={})).UseFetcher="useFetcher",a.UseFetchers="useFetchers",a.UseScrollRestoration="useScrollRestoration";let Y=0,X=()=>"__"+String(++Y)+"__";function G(){let{router:e}=$(l.UseSubmit),{basename:t}=u.useContext(d.UNSAFE_NavigationContext),r=(0,d.UNSAFE_useRouteId)();return u.useCallback(function(n,a){if(void 0===a&&(a={}),"undefined"==typeof document)throw Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.");let{action:o,method:i,encType:l,formData:s,body:u}=function(e,t){let r,n,a,o,i;if(v(e)&&"form"===e.tagName.toLowerCase()){let i=e.getAttribute("action");n=i?(0,h.pb)(i,t):null,r=e.getAttribute("method")||"get",a=w(e.getAttribute("enctype"))||m,o=new FormData(e)}else if(v(e)&&"button"===e.tagName.toLowerCase()||v(e)&&"input"===e.tagName.toLowerCase()&&("submit"===e.type||"image"===e.type)){let i=e.form;if(null==i)throw Error('Cannot submit a <button> or <input type="submit"> without a <form>');let l=e.getAttribute("formaction")||i.getAttribute("action");if(n=l?(0,h.pb)(l,t):null,r=e.getAttribute("formmethod")||i.getAttribute("method")||"get",a=w(e.getAttribute("formenctype"))||w(i.getAttribute("enctype"))||m,o=new FormData(i,e),!function(){if(null===g)try{new FormData(document.createElement("form"),0),g=!1}catch(e){g=!0}return g}()){let{name:t,type:r,value:n}=e;if("image"===r){let e=t?t+".":"";o.append(e+"x","0"),o.append(e+"y","0")}else t&&o.append(t,n)}}else if(v(e))throw Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');else r="get",n=null,a=m,i=e;return o&&"text/plain"===a&&(i=o,o=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:o,body:i}}(n,t);if(!1===a.navigate){let t=a.fetcherKey||X();e.fetch(t,r,a.action||o,{preventScrollReset:a.preventScrollReset,formData:s,body:u,formMethod:a.method||i,formEncType:a.encType||l,flushSync:a.flushSync})}else e.navigate(a.action||o,{preventScrollReset:a.preventScrollReset,formData:s,body:u,formMethod:a.method||i,formEncType:a.encType||l,replace:a.replace,state:a.state,fromRouteId:r,flushSync:a.flushSync,viewTransition:a.viewTransition})},[e,t,r])}function Q(e,t){let{relative:r}=void 0===t?{}:t,{basename:n}=u.useContext(d.UNSAFE_NavigationContext),a=u.useContext(d.UNSAFE_RouteContext);a||(0,h.Oi)(!1);let[o]=a.matches.slice(-1),i=f({},(0,d.useResolvedPath)(e||".",{relative:r})),l=(0,d.useLocation)();if(null==e){i.search=l.search;let e=new URLSearchParams(i.search),t=e.getAll("index");if(t.some(e=>""===e)){e.delete("index"),t.filter(e=>e).forEach(t=>e.append("index",t));let r=e.toString();i.search=r?"?"+r:""}}return(!e||"."===e)&&o.route.index&&(i.search=i.search?i.search.replace(/^\?/,"?index&"):"?index"),"/"!==n&&(i.pathname="/"===i.pathname?n:(0,h.HS)([n,i.pathname])),(0,h.AO)(i)}function Z(e){var t;let{key:r}=void 0===e?{}:e,{router:n}=$(l.UseFetcher),a=J(s.UseFetcher),o=u.useContext(_),i=u.useContext(d.UNSAFE_RouteContext),c=null==(t=i.matches[i.matches.length-1])?void 0:t.route.id;o||(0,h.Oi)(!1),i||(0,h.Oi)(!1),null==c&&(0,h.Oi)(!1);let p=k?k():"",[m,v]=u.useState(r||p);r&&r!==m?v(r):m||v(X()),u.useEffect(()=>(n.getFetcher(m),()=>{n.deleteFetcher(m)}),[n,m]);let y=u.useCallback((e,t)=>{c||(0,h.Oi)(!1),n.fetch(m,c,e,t)},[m,c,n]),g=G(),b=u.useCallback((e,t)=>{g(e,f({},t,{navigate:!1,fetcherKey:m}))},[m,g]),w=u.useMemo(()=>u.forwardRef((e,t)=>u.createElement(W,f({},e,{navigate:!1,fetcherKey:m,ref:t}))),[m]),E=a.fetchers.get(m)||h.HW,R=o.get(m);return u.useMemo(()=>f({Form:w,submit:b,load:y},E,{data:R}),[w,b,y,E,R])}function ee(){return Array.from(J(s.UseFetchers).fetchers.entries()).map(e=>{let[t,r]=e;return f({},r,{key:t})})}let et="react-router-scroll-positions",er={};function en(e){let{getKey:t,storageKey:r}=void 0===e?{}:e,{router:n}=$(l.UseScrollRestoration),{restoreScrollPosition:a,preventScrollReset:o}=J(s.UseScrollRestoration),{basename:i}=u.useContext(d.UNSAFE_NavigationContext),c=(0,d.useLocation)(),p=(0,d.useMatches)(),m=(0,d.useNavigation)();u.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),function(e,t){let{capture:r}={};u.useEffect(()=>{let t=null!=r?{capture:r}:void 0;return window.addEventListener("pagehide",e,t),()=>{window.removeEventListener("pagehide",e,t)}},[e,r])}(u.useCallback(()=>{"idle"===m.state&&(er[(t?t(c,p):null)||c.key]=window.scrollY);try{sessionStorage.setItem(r||et,JSON.stringify(er))}catch(e){}window.history.scrollRestoration="auto"},[r,t,m.state,c,p])),"undefined"!=typeof document&&(u.useLayoutEffect(()=>{try{let e=sessionStorage.getItem(r||et);e&&(er=JSON.parse(e))}catch(e){}},[r]),u.useLayoutEffect(()=>{let e=t&&"/"!==i?(e,r)=>t(f({},e,{pathname:(0,h.pb)(e.pathname,i)||e.pathname}),r):t,r=null==n?void 0:n.enableScrollRestoration(er,()=>window.scrollY,e);return()=>r&&r()},[n,i,t]),u.useLayoutEffect(()=>{if(!1!==a){if("number"==typeof a)return void window.scrollTo(0,a);if(c.hash){let e=document.getElementById(decodeURIComponent(c.hash.slice(1)));if(e)return void e.scrollIntoView()}!0!==o&&window.scrollTo(0,0)}},[c,a,o]))}function ea(e,t){let{capture:r}=t||{};u.useEffect(()=>{let t=null!=r?{capture:r}:void 0;return window.addEventListener("beforeunload",e,t),()=>{window.removeEventListener("beforeunload",e,t)}},[e,r])}function eo(e){let{when:t,message:r}=e,n=(0,d.useBlocker)(t);u.useEffect(()=>{"blocked"===n.state&&(window.confirm(r)?setTimeout(n.proceed,0):n.reset())},[n,r]),u.useEffect(()=>{"blocked"!==n.state||t||n.reset()},[n,t])}function ei(e,t){void 0===t&&(t={});let r=u.useContext(D);null==r&&(0,h.Oi)(!1);let{basename:n}=$(l.useViewTransitionState),a=(0,d.useResolvedPath)(e,{relative:t.relative});if(!r.isTransitioning)return!1;let o=(0,h.pb)(r.currentLocation.pathname,n)||r.currentLocation.pathname,i=(0,h.pb)(r.nextLocation.pathname,n)||r.nextLocation.pathname;return null!=(0,h.B6)(a.pathname,i)||null!=(0,h.B6)(a.pathname,o)}},62837:function(e,t,r){r.r(t),r.d(t,{AbortedDeferredError:()=>s.tH,Await:()=>ed,MemoryRouter:()=>eo,Navigate:()=>ei,NavigationType:()=>s.rc,Outlet:()=>el,Route:()=>es,Router:()=>eu,RouterProvider:()=>en,Routes:()=>ec,UNSAFE_DataRouterContext:()=>c,UNSAFE_DataRouterStateContext:()=>d,UNSAFE_LocationContext:()=>p,UNSAFE_NavigationContext:()=>f,UNSAFE_RouteContext:()=>m,UNSAFE_logV6DeprecationWarnings:()=>et,UNSAFE_mapRouteProperties:()=>eg,UNSAFE_useRouteId:()=>H,UNSAFE_useRoutesImpl:()=>L,createMemoryRouter:()=>eb,createPath:()=>s.AO,createRoutesFromChildren:()=>ev,createRoutesFromElements:()=>ev,defer:()=>s.v6,generatePath:()=>s.tW,isRouteErrorResponse:()=>s.pX,json:()=>s.Pq,matchPath:()=>s.B6,matchRoutes:()=>s.ue,parsePath:()=>s.Rr,redirect:()=>s.V2,redirectDocument:()=>s.Sk,renderMatches:()=>ey,replace:()=>s.HC,resolvePath:()=>s.o1,useActionData:()=>J,useAsyncError:()=>Y,useAsyncValue:()=>q,useBlocker:()=>G,useHref:()=>y,useInRouterContext:()=>g,useLoaderData:()=>V,useLocation:()=>b,useMatch:()=>E,useMatches:()=>W,useNavigate:()=>S,useNavigation:()=>I,useNavigationType:()=>w,useOutlet:()=>P,useOutletContext:()=>C,useParams:()=>D,useResolvedPath:()=>_,useRevalidator:()=>z,useRouteError:()=>K,useRouteLoaderData:()=>$,useRoutes:()=>A});var n,a,o,i,l=r(22155),s=r(94014);function u(){return(u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}let c=l.createContext(null),d=l.createContext(null),h=l.createContext(null),f=l.createContext(null),p=l.createContext(null),m=l.createContext({outlet:null,matches:[],isDataRoute:!1}),v=l.createContext(null);function y(e,t){let{relative:r}=void 0===t?{}:t;g()||(0,s.Oi)(!1);let{basename:n,navigator:a}=l.useContext(f),{hash:o,pathname:i,search:u}=_(e,{relative:r}),c=i;return"/"!==n&&(c="/"===i?n:(0,s.HS)([n,i])),a.createHref({pathname:c,search:u,hash:o})}function g(){return null!=l.useContext(p)}function b(){return g()||(0,s.Oi)(!1),l.useContext(p).location}function w(){return l.useContext(p).navigationType}function E(e){g()||(0,s.Oi)(!1);let{pathname:t}=b();return l.useMemo(()=>(0,s.B6)(e,(0,s.RO)(t)),[t,e])}function R(e){l.useContext(f).static||l.useLayoutEffect(e)}function S(){let{isDataRoute:e}=l.useContext(m);return e?function(){let{router:e}=T(F.UseNavigateStable),t=B(M.UseNavigateStable),r=l.useRef(!1);return R(()=>{r.current=!0}),l.useCallback(function(n,a){void 0===a&&(a={}),r.current&&("number"==typeof n?e.navigate(n):e.navigate(n,u({fromRouteId:t},a)))},[e,t])}():function(){g()||(0,s.Oi)(!1);let e=l.useContext(c),{basename:t,future:r,navigator:n}=l.useContext(f),{matches:a}=l.useContext(m),{pathname:o}=b(),i=JSON.stringify((0,s.yD)(a,r.v7_relativeSplatPath)),u=l.useRef(!1);return R(()=>{u.current=!0}),l.useCallback(function(r,a){if(void 0===a&&(a={}),!u.current)return;if("number"==typeof r)return void n.go(r);let l=(0,s.Gh)(r,JSON.parse(i),o,"path"===a.relative);null==e&&"/"!==t&&(l.pathname="/"===l.pathname?t:(0,s.HS)([t,l.pathname])),(a.replace?n.replace:n.push)(l,a.state,a)},[t,n,i,o,e])}()}let x=l.createContext(null);function C(){return l.useContext(x)}function P(e){let t=l.useContext(m).outlet;return t?l.createElement(x.Provider,{value:e},t):t}function D(){let{matches:e}=l.useContext(m),t=e[e.length-1];return t?t.params:{}}function _(e,t){let{relative:r}=void 0===t?{}:t,{future:n}=l.useContext(f),{matches:a}=l.useContext(m),{pathname:o}=b(),i=JSON.stringify((0,s.yD)(a,n.v7_relativeSplatPath));return l.useMemo(()=>(0,s.Gh)(e,JSON.parse(i),o,"path"===r),[e,i,o,r])}function A(e,t){return L(e,t)}function L(e,t,r,n){let a;g()||(0,s.Oi)(!1);let{navigator:o}=l.useContext(f),{matches:i}=l.useContext(m),c=i[i.length-1],d=c?c.params:{};c&&c.pathname;let h=c?c.pathnameBase:"/";c&&c.route;let v=b();if(t){var y;let e="string"==typeof t?(0,s.Rr)(t):t;"/"===h||(null==(y=e.pathname)?void 0:y.startsWith(h))||(0,s.Oi)(!1),a=e}else a=v;let w=a.pathname||"/",E=w;if("/"!==h){let e=h.replace(/^\//,"").split("/");E="/"+w.replace(/^\//,"").split("/").slice(e.length).join("/")}let R=(0,s.ue)(e,{pathname:E}),S=N(R&&R.map(e=>Object.assign({},e,{params:Object.assign({},d,e.params),pathname:(0,s.HS)([h,o.encodeLocation?o.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?h:(0,s.HS)([h,o.encodeLocation?o.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})),i,r,n);return t&&S?l.createElement(p.Provider,{value:{location:u({pathname:"/",search:"",hash:"",state:null,key:"default"},a),navigationType:s.rc.Pop}},S):S}let k=l.createElement(function(){let e=K(),t=(0,s.pX)(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null;return l.createElement(l.Fragment,null,l.createElement("h2",null,"Unexpected Application Error!"),l.createElement("h3",{style:{fontStyle:"italic"}},t),r?l.createElement("pre",{style:{padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"}},r):null,null)},null);class U extends l.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?l.createElement(m.Provider,{value:this.props.routeContext},l.createElement(v.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function O(e){let{routeContext:t,match:r,children:n}=e,a=l.useContext(c);return a&&a.static&&a.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=r.route.id),l.createElement(m.Provider,{value:t},n)}function N(e,t,r,n){var a,o;if(void 0===t&&(t=[]),void 0===r&&(r=null),void 0===n&&(n=null),null==e){if(!r)return null;if(r.errors)e=r.matches;else{if(null==(o=n)||!o.v7_partialHydration||0!==t.length||r.initialized||!(r.matches.length>0))return null;e=r.matches}}let i=e,u=null==(a=r)?void 0:a.errors;if(null!=u){let e=i.findIndex(e=>e.route.id&&(null==u?void 0:u[e.route.id])!==void 0);e>=0||(0,s.Oi)(!1),i=i.slice(0,Math.min(i.length,e+1))}let c=!1,d=-1;if(r&&n&&n.v7_partialHydration)for(let e=0;e<i.length;e++){let t=i[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(d=e),t.route.id){let{loaderData:e,errors:n}=r,a=t.route.loader&&void 0===e[t.route.id]&&(!n||void 0===n[t.route.id]);if(t.route.lazy||a){c=!0,i=d>=0?i.slice(0,d+1):[i[0]];break}}}return i.reduceRight((e,n,a)=>{var o;let s,h=!1,f=null,p=null;r&&(s=u&&n.route.id?u[n.route.id]:void 0,f=n.route.errorElement||k,c&&(d<0&&0===a?(o="route-fallback",Q[o]||(Q[o]=!0),h=!0,p=null):d===a&&(h=!0,p=n.route.hydrateFallbackElement||null)));let m=t.concat(i.slice(0,a+1)),v=()=>{let t;return t=s?f:h?p:n.route.Component?l.createElement(n.route.Component,null):n.route.element?n.route.element:e,l.createElement(O,{match:n,routeContext:{outlet:e,matches:m,isDataRoute:null!=r},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||0===a)?l.createElement(U,{location:r.location,revalidation:r.revalidation,component:f,error:s,children:v(),routeContext:{outlet:null,matches:m,isDataRoute:!0}}):v()},null)}var F=((n=F||{}).UseBlocker="useBlocker",n.UseRevalidator="useRevalidator",n.UseNavigateStable="useNavigate",n),M=((a=M||{}).UseBlocker="useBlocker",a.UseLoaderData="useLoaderData",a.UseActionData="useActionData",a.UseRouteError="useRouteError",a.UseNavigation="useNavigation",a.UseRouteLoaderData="useRouteLoaderData",a.UseMatches="useMatches",a.UseRevalidator="useRevalidator",a.UseNavigateStable="useNavigate",a.UseRouteId="useRouteId",a);function T(e){let t=l.useContext(c);return t||(0,s.Oi)(!1),t}function j(e){let t=l.useContext(d);return t||(0,s.Oi)(!1),t}function B(e){let t,r=((t=l.useContext(m))||(0,s.Oi)(!1),t),n=r.matches[r.matches.length-1];return n.route.id||(0,s.Oi)(!1),n.route.id}function H(){return B(M.UseRouteId)}function I(){return j(M.UseNavigation).navigation}function z(){let e=T(F.UseRevalidator),t=j(M.UseRevalidator);return l.useMemo(()=>({revalidate:e.router.revalidate,state:t.revalidation}),[e.router.revalidate,t.revalidation])}function W(){let{matches:e,loaderData:t}=j(M.UseMatches);return l.useMemo(()=>e.map(e=>(0,s.ro)(e,t)),[e,t])}function V(){let e=j(M.UseLoaderData),t=B(M.UseLoaderData);return e.errors&&null!=e.errors[t]?void console.error("You cannot `useLoaderData` in an errorElement (routeId: "+t+")"):e.loaderData[t]}function $(e){return j(M.UseRouteLoaderData).loaderData[e]}function J(){let e=j(M.UseActionData),t=B(M.UseLoaderData);return e.actionData?e.actionData[t]:void 0}function K(){var e;let t=l.useContext(v),r=j(M.UseRouteError),n=B(M.UseRouteError);return void 0!==t?t:null==(e=r.errors)?void 0:e[n]}function q(){let e=l.useContext(h);return null==e?void 0:e._data}function Y(){let e=l.useContext(h);return null==e?void 0:e._error}let X=0;function G(e){let{router:t,basename:r}=T(F.UseBlocker),n=j(M.UseBlocker),[a,o]=l.useState(""),i=l.useCallback(t=>{if("function"!=typeof e)return!!e;if("/"===r)return e(t);let{currentLocation:n,nextLocation:a,historyAction:o}=t;return e({currentLocation:u({},n,{pathname:(0,s.pb)(n.pathname,r)||n.pathname}),nextLocation:u({},a,{pathname:(0,s.pb)(a.pathname,r)||a.pathname}),historyAction:o})},[r,e]);return l.useEffect(()=>{let e=String(++X);return o(e),()=>t.deleteBlocker(e)},[t]),l.useEffect(()=>{""!==a&&t.getBlocker(a,i)},[t,a,i]),a&&n.blockers.has(a)?n.blockers.get(a):s.G3}let Q={},Z={},ee=(e,t,r)=>{var n;!Z[n="⚠️ React Router Future Flag Warning: "+t+". You can use the `"+e+"` future flag to opt-in early. For more information, see "+r+"."]&&(Z[n]=!0,console.warn(n))};function et(e,t){(null==e?void 0:e.v7_startTransition)===void 0&&ee("v7_startTransition","React Router will begin wrapping state updates in `React.startTransition` in v7","https://reactrouter.com/v6/upgrading/future#v7_starttransition"),(null==e?void 0:e.v7_relativeSplatPath)!==void 0||t&&t.v7_relativeSplatPath||ee("v7_relativeSplatPath","Relative route resolution within Splat routes is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath"),t&&(void 0===t.v7_fetcherPersist&&ee("v7_fetcherPersist","The persistence behavior of fetchers is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_fetcherpersist"),void 0===t.v7_normalizeFormMethod&&ee("v7_normalizeFormMethod","Casing of `formMethod` fields is being normalized to uppercase in v7","https://reactrouter.com/v6/upgrading/future#v7_normalizeformmethod"),void 0===t.v7_partialHydration&&ee("v7_partialHydration","`RouterProvider` hydration behavior is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_partialhydration"),void 0===t.v7_skipActionErrorRevalidation&&ee("v7_skipActionErrorRevalidation","The revalidation behavior after 4xx/5xx `action` responses is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_skipactionerrorrevalidation"))}let er=(i||(i=r.t(l,2))).startTransition;function en(e){let{fallbackElement:t,router:r,future:n}=e,[a,o]=l.useState(r.state),{v7_startTransition:i}=n||{},s=l.useCallback(e=>{i&&er?er(()=>o(e)):o(e)},[o,i]);l.useLayoutEffect(()=>r.subscribe(s),[r,s]),l.useEffect(()=>{},[]);let u=l.useMemo(()=>({createHref:r.createHref,encodeLocation:r.encodeLocation,go:e=>r.navigate(e),push:(e,t,n)=>r.navigate(e,{state:t,preventScrollReset:null==n?void 0:n.preventScrollReset}),replace:(e,t,n)=>r.navigate(e,{replace:!0,state:t,preventScrollReset:null==n?void 0:n.preventScrollReset})}),[r]),h=r.basename||"/",f=l.useMemo(()=>({router:r,navigator:u,static:!1,basename:h}),[r,u,h]);return l.useEffect(()=>et(n,r.future),[r,n]),l.createElement(l.Fragment,null,l.createElement(c.Provider,{value:f},l.createElement(d.Provider,{value:a},l.createElement(eu,{basename:h,location:a.location,navigationType:a.historyAction,navigator:u,future:{v7_relativeSplatPath:r.future.v7_relativeSplatPath}},a.initialized||r.future.v7_partialHydration?l.createElement(ea,{routes:r.routes,future:r.future,state:a}):t))),null)}function ea(e){let{routes:t,future:r,state:n}=e;return L(t,void 0,n,r)}function eo(e){let{basename:t,children:r,initialEntries:n,initialIndex:a,future:o}=e,i=l.useRef();null==i.current&&(i.current=(0,s.sC)({initialEntries:n,initialIndex:a,v5Compat:!0}));let u=i.current,[c,d]=l.useState({action:u.action,location:u.location}),{v7_startTransition:h}=o||{},f=l.useCallback(e=>{h&&er?er(()=>d(e)):d(e)},[d,h]);return l.useLayoutEffect(()=>u.listen(f),[u,f]),l.useEffect(()=>et(o),[o]),l.createElement(eu,{basename:t,children:r,location:c.location,navigationType:c.action,navigator:u,future:o})}function ei(e){let{to:t,replace:r,state:n,relative:a}=e;g()||(0,s.Oi)(!1);let{future:o,static:i}=l.useContext(f),{matches:u}=l.useContext(m),{pathname:c}=b(),d=S(),h=JSON.stringify((0,s.Gh)(t,(0,s.yD)(u,o.v7_relativeSplatPath),c,"path"===a));return l.useEffect(()=>d(JSON.parse(h),{replace:r,state:n,relative:a}),[d,h,a,r,n]),null}function el(e){return P(e.context)}function es(e){(0,s.Oi)(!1)}function eu(e){let{basename:t="/",children:r=null,location:n,navigationType:a=s.rc.Pop,navigator:o,static:i=!1,future:c}=e;g()&&(0,s.Oi)(!1);let d=t.replace(/^\/*/,"/"),h=l.useMemo(()=>({basename:d,navigator:o,static:i,future:u({v7_relativeSplatPath:!1},c)}),[d,c,o,i]);"string"==typeof n&&(n=(0,s.Rr)(n));let{pathname:m="/",search:v="",hash:y="",state:b=null,key:w="default"}=n,E=l.useMemo(()=>{let e=(0,s.pb)(m,d);return null==e?null:{location:{pathname:e,search:v,hash:y,state:b,key:w},navigationType:a}},[d,m,v,y,b,w,a]);return null==E?null:l.createElement(f.Provider,{value:h},l.createElement(p.Provider,{children:r,value:E}))}function ec(e){let{children:t,location:r}=e;return L(ev(t),r)}function ed(e){let{children:t,errorElement:r,resolve:n}=e;return l.createElement(ep,{resolve:n,errorElement:r},l.createElement(em,null,t))}var eh=((o=eh||{})[o.pending=0]="pending",o[o.success=1]="success",o[o.error=2]="error",o);let ef=new Promise(()=>{});class ep extends l.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error("<Await> caught the following error during render",e,t)}render(){let{children:e,errorElement:t,resolve:r}=this.props,n=null,a=eh.pending;if(r instanceof Promise)if(this.state.error){a=eh.error;let e=this.state.error;Object.defineProperty(n=Promise.reject().catch(()=>{}),"_tracked",{get:()=>!0}),Object.defineProperty(n,"_error",{get:()=>e})}else r._tracked?a="_error"in(n=r)?eh.error:"_data"in n?eh.success:eh.pending:(a=eh.pending,Object.defineProperty(r,"_tracked",{get:()=>!0}),n=r.then(e=>Object.defineProperty(r,"_data",{get:()=>e}),e=>Object.defineProperty(r,"_error",{get:()=>e})));else a=eh.success,Object.defineProperty(n=Promise.resolve(),"_tracked",{get:()=>!0}),Object.defineProperty(n,"_data",{get:()=>r});if(a===eh.error&&n._error instanceof s.tH)throw ef;if(a===eh.error&&!t)throw n._error;if(a===eh.error)return l.createElement(h.Provider,{value:n,children:t});if(a===eh.success)return l.createElement(h.Provider,{value:n,children:e});throw n}}function em(e){let{children:t}=e,r=q(),n="function"==typeof t?t(r):t;return l.createElement(l.Fragment,null,n)}function ev(e,t){void 0===t&&(t=[]);let r=[];return l.Children.forEach(e,(e,n)=>{if(!l.isValidElement(e))return;let a=[...t,n];if(e.type===l.Fragment)return void r.push.apply(r,ev(e.props.children,a));e.type!==es&&(0,s.Oi)(!1),e.props.index&&e.props.children&&(0,s.Oi)(!1);let o={id:e.props.id||a.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(o.children=ev(e.props.children,a)),r.push(o)}),r}function ey(e){return N(e)}function eg(e){let t={hasErrorBoundary:null!=e.ErrorBoundary||null!=e.errorElement};return e.Component&&Object.assign(t,{element:l.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:l.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:l.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}function eb(e,t){return(0,s.aE)({basename:null==t?void 0:t.basename,future:u({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:(0,s.sC)({initialEntries:null==t?void 0:t.initialEntries,initialIndex:null==t?void 0:t.initialIndex}),hydrationData:null==t?void 0:t.hydrationData,routes:e,mapRouteProperties:eg,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation}).initialize()}}}]);
@@ -1,32 +0,0 @@
1
- /**
2
- * @remix-run/router v1.21.0
3
- *
4
- * Copyright (c) Remix Software Inc.
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE.md file in the root directory of this source tree.
8
- *
9
- * @license MIT
10
- */
11
-
12
- /**
13
- * React Router DOM v6.28.1
14
- *
15
- * Copyright (c) Remix Software Inc.
16
- *
17
- * This source code is licensed under the MIT license found in the
18
- * LICENSE.md file in the root directory of this source tree.
19
- *
20
- * @license MIT
21
- */
22
-
23
- /**
24
- * React Router v6.28.1
25
- *
26
- * Copyright (c) Remix Software Inc.
27
- *
28
- * This source code is licensed under the MIT license found in the
29
- * LICENSE.md file in the root directory of this source tree.
30
- *
31
- * @license MIT
32
- */
@@ -1,215 +0,0 @@
1
- var showLog = true;
2
- function log(m) {
3
- if (window.console && showLog) {
4
- console.log(m);
5
- }
6
- }
7
- function css_browser_selector(u) {
8
- var uaInfo = {},
9
- screens = [320, 480, 640, 768, 1024, 1152, 1280, 1440, 1680, 1920, 2560],
10
- allScreens = screens.length,
11
- ua = u.toLowerCase(),
12
- is = function (t) {
13
- return RegExp(t, 'i').test(ua);
14
- },
15
- version = function (p, n) {
16
- n = n.replace('.', '_');
17
- var i = n.indexOf('_'),
18
- ver = '';
19
- while (i > 0) {
20
- ver += ' ' + p + n.substring(0, i);
21
- i = n.indexOf('_', i + 1);
22
- }
23
- ver += ' ' + p + n;
24
- return ver;
25
- },
26
- g = 'gecko',
27
- w = 'webkit',
28
- c = 'chrome',
29
- f = 'firefox',
30
- s = 'safari',
31
- o = 'opera',
32
- m = 'mobile',
33
- a = 'android',
34
- bb = 'blackberry',
35
- lang = 'lang_',
36
- dv = 'device_',
37
- html = document.documentElement,
38
- b = [
39
- (!/opera|webtv/i.test(ua) && /msie\s(\d+)/.test(ua)) || /trident\/.*rv:([0-9]{1,}[.0-9]{0,})/.test(ua)
40
- ? 'ie ie' + (/trident\/4\.0/.test(ua) ? '8' : RegExp.$1 == '11.0' ? '11' : RegExp.$1)
41
- : is('firefox/')
42
- ? g +
43
- ' ' +
44
- f +
45
- (/firefox\/((\d+)(\.(\d+))(\.\d+)*)/.test(ua)
46
- ? ' ' + f + RegExp.$2 + ' ' + f + RegExp.$2 + '_' + RegExp.$4
47
- : '')
48
- : is('gecko/')
49
- ? g
50
- : is('opera')
51
- ? o +
52
- (/version\/((\d+)(\.(\d+))(\.\d+)*)/.test(ua)
53
- ? ' ' + o + RegExp.$2 + ' ' + o + RegExp.$2 + '_' + RegExp.$4
54
- : /opera(\s|\/)(\d+)\.(\d+)/.test(ua)
55
- ? ' ' + o + RegExp.$2 + ' ' + o + RegExp.$2 + '_' + RegExp.$3
56
- : '')
57
- : is('konqueror')
58
- ? 'konqueror'
59
- : is('blackberry')
60
- ? bb +
61
- (/Version\/(\d+)(\.(\d+)+)/i.test(ua)
62
- ? ' ' + bb + RegExp.$1 + ' ' + bb + RegExp.$1 + RegExp.$2.replace('.', '_')
63
- : /Blackberry ?(([0-9]+)([a-z]?))[/|;]/gi.test(ua)
64
- ? ' ' + bb + RegExp.$2 + (RegExp.$3 ? ' ' + bb + RegExp.$2 + RegExp.$3 : '')
65
- : '')
66
- : is('android')
67
- ? a +
68
- (/Version\/(\d+)(\.(\d+))+/i.test(ua)
69
- ? ' ' + a + RegExp.$1 + ' ' + a + RegExp.$1 + RegExp.$2.replace('.', '_')
70
- : '') +
71
- (/Android (.+); (.+) Build/i.test(ua)
72
- ? ' ' + dv + RegExp.$2.replace(/ /g, '_').replace(/-/g, '_')
73
- : '')
74
- : is('chrome')
75
- ? w +
76
- ' ' +
77
- c +
78
- (/chrome\/((\d+)(\.(\d+))(\.\d+)*)/.test(ua)
79
- ? ' ' + c + RegExp.$2 + (RegExp.$4 > 0 ? ' ' + c + RegExp.$2 + '_' + RegExp.$4 : '')
80
- : '')
81
- : is('iron')
82
- ? w + ' iron'
83
- : is('applewebkit/')
84
- ? w +
85
- ' ' +
86
- s +
87
- (/version\/((\d+)(\.(\d+))(\.\d+)*)/.test(ua)
88
- ? ' ' + s + RegExp.$2 + ' ' + s + RegExp.$2 + RegExp.$3.replace('.', '_')
89
- : / Safari\/(\d+)/i.test(ua)
90
- ? RegExp.$1 == '419' || RegExp.$1 == '417' || RegExp.$1 == '416' || RegExp.$1 == '412'
91
- ? ' ' + s + '2_0'
92
- : RegExp.$1 == '312'
93
- ? ' ' + s + '1_3'
94
- : RegExp.$1 == '125'
95
- ? ' ' + s + '1_2'
96
- : RegExp.$1 == '85'
97
- ? ' ' + s + '1_0'
98
- : ''
99
- : '')
100
- : is('mozilla/')
101
- ? g
102
- : '',
103
- is('android|mobi|mobile|j2me|iphone|ipod|ipad|blackberry|playbook|kindle|silk') ? m : '',
104
- is('j2me')
105
- ? 'j2me'
106
- : is('ipad|ipod|iphone')
107
- ? (/CPU( iPhone)? OS (\d+[_|.]\d+([_|.]\d+)*)/i.test(ua) ? 'ios' + version('ios', RegExp.$2) : '') +
108
- ' ' +
109
- (/(ip(ad|od|hone))/gi.test(ua) ? RegExp.$1 : '')
110
- : is('playbook')
111
- ? 'playbook'
112
- : is('kindle|silk')
113
- ? 'kindle'
114
- : is('playbook')
115
- ? 'playbook'
116
- : is('mac')
117
- ? 'mac' +
118
- (/mac os x ((\d+)[.|_](\d+))/.test(ua)
119
- ? ' mac' + RegExp.$2 + ' mac' + RegExp.$1.replace('.', '_')
120
- : '')
121
- : is('win')
122
- ? 'win' +
123
- (is('windows nt 6.2')
124
- ? ' win8'
125
- : is('windows nt 6.1')
126
- ? ' win7'
127
- : is('windows nt 6.0')
128
- ? ' vista'
129
- : is('windows nt 5.2') || is('windows nt 5.1')
130
- ? ' win_xp'
131
- : is('windows nt 5.0')
132
- ? ' win_2k'
133
- : is('windows nt 4.0') || is('WinNT4.0')
134
- ? ' win_nt'
135
- : '')
136
- : is('freebsd')
137
- ? 'freebsd'
138
- : is('x11|linux')
139
- ? 'linux'
140
- : '',
141
- /[; |[](([a-z]{2})(-[a-z]{2})?)[)|;|\]]/i.test(ua)
142
- ? (lang + RegExp.$2).replace('-', '_') + (RegExp.$3 != '' ? (' ' + lang + RegExp.$1).replace('-', '_') : '')
143
- : '',
144
- is('ipad|iphone|ipod') && !is('safari') ? 'ipad_app' : '',
145
- ];
146
- console.debug(ua);
147
- function screenSize() {
148
- var w = window.outerWidth || html.clientWidth;
149
- var h = window.outerHeight || html.clientHeight;
150
- uaInfo.orientation = w < h ? 'portrait' : 'landscape';
151
- html.className = html.className.replace(/ ?orientation_\w+/g, '').replace(/ [min|max|cl]+[w|h]_\d+/g, '');
152
- for (var i = allScreens - 1; i >= 0; i--) {
153
- if (w >= screens[i]) {
154
- uaInfo.maxw = screens[i];
155
- break;
156
- }
157
- }
158
- var widthClasses = '';
159
- for (var info in uaInfo) {
160
- widthClasses += ' ' + info + '_' + uaInfo[info];
161
- }
162
- html.className = html.className + widthClasses;
163
- return widthClasses;
164
- }
165
- window.onresize = screenSize;
166
- screenSize();
167
- function retina() {
168
- var r = window.devicePixelRatio > 1;
169
- if (r) {
170
- html.className += ' retina';
171
- } else {
172
- html.className += ' non-retina';
173
- }
174
- }
175
- retina();
176
- var cssbs = b.join(' ') + ' js ';
177
- html.className = (cssbs + html.className.replace(/\b(no[-|_]?)?js\b/g, '')).replace(/^ /, '').replace(/ +/g, ' ');
178
- return cssbs;
179
- }
180
-
181
- // 适配平板设备
182
- function tabletOrWebScreen() {
183
- var width = Math.max(screen.width, screen.height);
184
- var height = Math.min(screen.width, screen.height);
185
- if (width >= 768 && height >= 768) {
186
- return true;
187
- }
188
- return false;
189
- }
190
-
191
- function browser_check(u) {
192
- try {
193
- var isTablet = RegExp('ipad|tablet', 'i').test(u);
194
-
195
- var isTabletScreen = tabletOrWebScreen();
196
-
197
- if (isTablet || isTabletScreen) {
198
- var meta = document.querySelector('meta[name="viewport"]');
199
- if (!meta) {
200
- // 如果没有找到,创建一个新的meta标签
201
- meta = document.createElement('meta');
202
- meta.setAttribute('name', 'viewport');
203
- document.head.appendChild(meta);
204
- }
205
- // 设置initial-scale
206
- meta.setAttribute('content', 'initial-scale=1.0');
207
- }
208
- } catch (error) {
209
- console.log('browser_check', error);
210
- }
211
- }
212
-
213
- css_browser_selector(navigator.userAgent);
214
-
215
- browser_check(navigator.userAgent);
package/dist/favicon.ico DELETED
Binary file
package/dist/global.css DELETED
@@ -1,63 +0,0 @@
1
- #root {
2
- width: 100%;
3
- height: 100%;
4
- }
5
- /* width */
6
- .win ::-webkit-scrollbar {
7
- width: 8px;
8
- height: 8px;
9
- }
10
-
11
- /* Track */
12
- .win ::-webkit-scrollbar-track {
13
- background: var(--colorBgScrollTrack);
14
- }
15
-
16
- /* Handle */
17
- .win ::-webkit-scrollbar-thumb {
18
- background: var(--colorBgScrollBar);
19
- border-radius: 4px;
20
- }
21
-
22
- /* Handle on hover */
23
- .win ::-webkit-scrollbar-thumb:hover {
24
- background: var(--colorBgScrollBarHover);
25
- }
26
-
27
- .win ::-webkit-scrollbar-thumb:active {
28
- background: var(--colorBgScrollBarActive);
29
- }
30
-
31
- .win .rc-virtual-list-scrollbar-thumb {
32
- background: var(--colorBgScrollBar);
33
- }
34
- .win .rc-virtual-list-scrollbar-thumb:hover {
35
- background: var(--colorBgScrollBarHover);
36
- }
37
- .win .rc-virtual-list-scrollbar-thumb:active {
38
- background: var(--colorBgScrollBarActive);
39
- }
40
-
41
- body a {
42
- color: var(--colorPrimaryText);
43
- }
44
-
45
- body a:hover {
46
- color: var(--colorPrimaryTextHover);
47
- }
48
-
49
- body a:active {
50
- color: var(--colorPrimaryTextActive);
51
- }
52
-
53
- .ant-btn-link {
54
- color: var(--colorPrimaryText);
55
- }
56
-
57
- .ant-btn-link:hover {
58
- color: var(--colorPrimaryTextHover);
59
- }
60
-
61
- .ant-btn-link:active {
62
- color: var(--colorPrimaryTextActive);
63
- }
package/dist/index.html DELETED
@@ -1,10 +0,0 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <link rel="stylesheet" href="/global.css">
5
- <script src="/browser-checker.js"></script>
6
- <link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon.png"><link rel="manifest" href="/manifest.webmanifest"><link rel="icon" href="/favicon.ico"><title>Tachybase</title><meta charset="UTF-8"><meta name="viewport" content="initial-scale=0.1"><link href="/assets/9414.046b4352.css" rel="stylesheet"><link href="/assets/index.5774445a.css" rel="stylesheet"></head>
7
- <body>
8
- <div id="root"></div>
9
- <script defer src="/assets/lib-react.44bdac30.js"></script><script defer src="/assets/lib-router.2c58eb3b.js"></script><script defer src="/assets/lib-axios.b7bbb6d6.js"></script><script defer src="/assets/9414.a83d41b1.js"></script><script defer src="/assets/index.bc15f016.js"></script></body>
10
- </html>
@@ -1 +0,0 @@
1
- {"name":"Tachybase","icons":[{"src":"/assets/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/assets/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}]}
Binary file