vibe64 0.1.35 → 0.1.37

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 (210) hide show
  1. package/bin/run.js +1984 -1685
  2. package/bin/server.js +158 -111
  3. package/bin/upgrade-state.js +5754 -5522
  4. package/dist/assets/GithubBrowserTabs-BykoCFfz.js +1 -0
  5. package/dist/assets/{StudioErrorNotice-sQfmeR-z.js → StudioErrorNotice-CSrUw1QV.js} +1 -1
  6. package/dist/assets/{Vibe64AsyncModuleState-Dx7YKRPp.js → Vibe64AsyncModuleState-Do9EqX3S.js} +1 -1
  7. package/dist/assets/Vibe64AuthSettingsButton-CIwtchKm.js +5 -0
  8. package/dist/assets/Vibe64AuthSettingsButton-M44SSmZ9.css +1 -0
  9. package/dist/assets/{Vibe64DashboardBackButton-yE6cyYg2.js → Vibe64DashboardBackButton-BH_8j_VR.js} +1 -1
  10. package/dist/assets/Vibe64DashboardShell-DXVDJUAY.js +1 -0
  11. package/dist/assets/{Vibe64DashboardShell-MBkUHjs-.css → Vibe64DashboardShell-De2mbdpI.css} +1 -1
  12. package/dist/assets/{Vibe64DatabaseWorkspace-BONJdxBS.js → Vibe64DatabaseWorkspace-Ca8IHSRq.js} +3 -3
  13. package/dist/assets/{Vibe64DatabaseWorkspace-CR4pzzcf.css → Vibe64DatabaseWorkspace-DPDMxhAW.css} +1 -1
  14. package/dist/assets/Vibe64OutputControls-Co5YzwcK.css +1 -0
  15. package/dist/assets/Vibe64OutputControls-DngQNTTt.js +8 -0
  16. package/dist/assets/{Vibe64RepositoryWorkspace-CVHcT93M.css → Vibe64RepositoryWorkspace-Agyt4O-V.css} +1 -1
  17. package/dist/assets/{Vibe64RepositoryWorkspace-ByQlZbyO.js → Vibe64RepositoryWorkspace-BfsZozSJ.js} +2 -2
  18. package/dist/assets/Vibe64SessionFiles-Bl8wJ5Sk.css +1 -0
  19. package/dist/assets/Vibe64SessionFiles-n87RqqY6.js +41 -0
  20. package/dist/assets/{Vibe64TemporaryAiFixAction-BGlcrq4d.js → Vibe64TemporaryAiFixAction-BiuIE9mC.js} +1 -1
  21. package/dist/assets/{Vibe64UiStoryboardView-Brlwdvqi.js → Vibe64UiStoryboardView-BhKRpL0N.js} +1 -1
  22. package/dist/assets/{Vibe64UnavailableSessions-zwlWlcZD.js → Vibe64UnavailableSessions-Ca5nC7KH.js} +1 -1
  23. package/dist/assets/{_sessionId_-CvOkQbVy.js → _sessionId_-B_TTRB4c.js} +1 -1
  24. package/dist/assets/{_sessionTool_-Dwod5ns9.js → _sessionTool_-1V-z6Pbp.js} +1 -1
  25. package/dist/assets/_slug_-Buxpw0T4.css +1 -0
  26. package/dist/assets/_slug_-DsqilUs_.js +24 -0
  27. package/dist/assets/{access-BVu5XYm2.js → access-tl4ht_d8.js} +1 -1
  28. package/dist/assets/app-CZu7oxUO.css +1 -0
  29. package/dist/assets/app-DT4_MliP.js +1 -0
  30. package/dist/assets/{assistantRouting-CwbwfkwB.js → assistantRouting-D4XpXcEf.js} +1 -1
  31. package/dist/assets/{changes-olY8cnFK.js → changes-DZWHZguL.js} +1 -1
  32. package/dist/assets/client-BWV84wi2.js +2 -0
  33. package/dist/assets/client-DGrP-2AJ.css +1 -0
  34. package/dist/assets/conversation-B90ERX9h.js +17 -0
  35. package/dist/assets/conversation-vxJGwmtW.css +1 -0
  36. package/dist/assets/{dashboard-BnXD-H4R.js → dashboard-iREwhGqv.js} +1 -1
  37. package/dist/assets/definitions-CNu5E87y.js +1 -0
  38. package/dist/assets/{env-DJhnLOH7.css → env-BzRtyO0w.css} +1 -1
  39. package/dist/assets/env-D5KpTEw7.js +1 -0
  40. package/dist/assets/health-BJvooRnJ.css +1 -0
  41. package/dist/assets/health-BhoO1d4h.js +1 -0
  42. package/dist/assets/{history-BxlpB-YH.js → history-DVURy45X.js} +1 -1
  43. package/dist/assets/{incoming-BOxRVlOM.js → incoming-DzADFGqp.js} +1 -1
  44. package/dist/assets/index-GBRpNZLy.js +138 -0
  45. package/dist/assets/index-irlMYzLh.css +1 -0
  46. package/dist/assets/{integrations-BFltGDVI.js → integrations-Dy5jIiJ5.js} +2 -2
  47. package/dist/assets/issues-lh7R775d.js +1 -0
  48. package/dist/assets/learning-_O1PEaam.js +1 -0
  49. package/dist/assets/mdi-CG9pWOSj.js +1 -0
  50. package/dist/assets/placement-BF-zIEhA.js +1 -0
  51. package/dist/assets/pull-requests-ByE-Dvk7.js +1 -0
  52. package/dist/assets/{repository-JWLVST3D.js → repository-BUfUAyS9.js} +1 -1
  53. package/dist/assets/roboto-latin-wght-normal-ccAYIvAh.woff2 +0 -0
  54. package/dist/assets/{session-C5Nj8Dlq.js → session-BdhKrcX4.js} +1 -1
  55. package/dist/assets/settings-CzhIcn9K.js +1 -0
  56. package/dist/assets/shared-DpMvYJO3.js +2 -0
  57. package/dist/assets/studioGateApi-DcCqiD9V.js +1 -0
  58. package/dist/assets/studioUrls-DmMMIScP.js +1 -0
  59. package/dist/assets/useArchivedVibe64Sessions-CLHJOyeW.js +1 -0
  60. package/dist/assets/useCommand-Bqxb-naz.js +1 -0
  61. package/dist/assets/useEndpointResource-DWoQ2keu.js +1 -0
  62. package/dist/assets/useRealtimeEvent-Bwapstla.js +1 -0
  63. package/dist/assets/{useUiFeedback-0FqKuZRP.js → useUiFeedback-BPBF_0bp.js} +1 -1
  64. package/dist/assets/useVibe64ConversationLog-B4JgmxUf.js +1 -0
  65. package/dist/assets/useVibe64DatabaseTools-4o6S8eXq.js +1 -0
  66. package/dist/assets/useVibe64Learning-DyqXkpLw.js +1 -0
  67. package/dist/assets/useVibe64ProjectScope-Bp1ImZlz.js +1 -0
  68. package/dist/assets/useVibe64SessionData-YhhE_5pC.js +1 -0
  69. package/dist/assets/useVibe64SessionSelection-CuZCzAcY.js +1 -0
  70. package/dist/assets/useVibe64SystemGraph-B4RmsC9Y.js +1 -0
  71. package/dist/assets/{useVibe64Terminal-BPnN25WH.js → useVibe64Terminal-Cg3idMcy.js} +1 -1
  72. package/dist/assets/vibe64AssistantHost-CP6oxv5b.js +1 -0
  73. package/dist/assets/{vibe64SessionFocus-kqPOPaOH.js → vibe64SessionFocus-Cz5Vq1re.js} +1 -1
  74. package/dist/assets/{vibe64SessionInfo-BHxtTrLX.js → vibe64SessionInfo-BuBUdL-e.js} +1 -1
  75. package/dist/assets/{vibe64SessionPanelModel-BMf64fv7.js → vibe64SessionPanelModel-DDorOuiL.js} +1 -1
  76. package/dist/assets/{vibe64SessionToolDefinitions-NfLd1HZI.js → vibe64SessionToolDefinitions-BJaJH5LR.js} +1 -1
  77. package/dist/index.html +21 -20
  78. package/docs/colleague-usage/account-profile-and-appearance.md +8 -2
  79. package/docs/colleague-usage/ai-accounts-and-routing.md +127 -16
  80. package/docs/colleague-usage/ai-onboarding.md +229 -0
  81. package/docs/colleague-usage/coding-agent-goal-pause.md +5 -5
  82. package/docs/colleague-usage/coding-agents.md +21 -0
  83. package/docs/colleague-usage/colleague-watches.md +4 -23
  84. package/docs/colleague-usage/colleague.md +10 -2
  85. package/docs/colleague-usage/connected-projects.md +10 -2
  86. package/docs/colleague-usage/conversation-context.md +2 -0
  87. package/docs/colleague-usage/dashboard-navigation.md +19 -27
  88. package/docs/colleague-usage/database.md +6 -11
  89. package/docs/colleague-usage/development-copies.md +2 -1
  90. package/docs/colleague-usage/development-env.md +6 -0
  91. package/docs/colleague-usage/github-work.md +9 -0
  92. package/docs/colleague-usage/health-checks.md +11 -5
  93. package/docs/colleague-usage/integrations.md +3 -1
  94. package/docs/colleague-usage/learning-code-questions.md +23 -51
  95. package/docs/colleague-usage/learning-course-catalogue.md +8 -6
  96. package/docs/colleague-usage/learning-environment.md +337 -0
  97. package/docs/colleague-usage/learning-history.md +70 -101
  98. package/docs/colleague-usage/learning-mode-ui.md +129 -214
  99. package/docs/colleague-usage/learning-practice-projects.md +178 -78
  100. package/docs/colleague-usage/learning-teacher-guide.md +48 -26
  101. package/docs/colleague-usage/learning-with-colleague.md +195 -216
  102. package/docs/colleague-usage/lesson-authoring.md +41 -24
  103. package/docs/colleague-usage/lesson-step-bar.md +99 -0
  104. package/docs/colleague-usage/managed-app-access.md +7 -0
  105. package/docs/colleague-usage/message-delivery-recovery.md +7 -6
  106. package/docs/colleague-usage/preview-browser-checks.md +9 -1
  107. package/docs/colleague-usage/preview-starting-application.md +0 -1
  108. package/docs/colleague-usage/preview.md +12 -1
  109. package/docs/colleague-usage/project-messages.md +2 -2
  110. package/docs/colleague-usage/project-setup.md +9 -2
  111. package/docs/colleague-usage/running-vibe64-on-your-computer.md +61 -0
  112. package/docs/colleague-usage/sessions.md +25 -33
  113. package/docs/colleague-usage/teaching-content.md +14 -40
  114. package/docs/colleague-usage/temporary-chats.md +23 -2
  115. package/docs/colleague-usage/voice-chat.md +5 -10
  116. package/docs/colleague-usage/voice-face-and-speaking-voice.md +6 -8
  117. package/docs/colleague-usage/voice-recovery.md +3 -2
  118. package/docs/templates/learn-topic/README.md +6 -6
  119. package/docs/templates/learn-topic/training/lessons/TOPIC-01/lesson.json +28 -7
  120. package/docs/templates/learn-topic/training/lessons/TOPIC-01/notes.md +19 -0
  121. package/docs/templates/learn-topic/training/lessons/TOPIC-01/steps/check-understanding.md +3 -0
  122. package/docs/templates/learn-topic/training/lessons/TOPIC-01/steps/explain-idea.md +3 -0
  123. package/docs/templates/learn-topic/training/lessons/TOPIC-01/steps/try-it.md +3 -0
  124. package/docs/templates/learn-topic/training/outline.md +1 -1
  125. package/docs/training-content.md +319 -66
  126. package/node_modules/@jskit-ai/assistant-core/package.json +1 -1
  127. package/node_modules/@jskit-ai/assistant-runtime/package.json +1 -1
  128. package/node_modules/@jskit-ai/assistant-runtime/patterns/assistant-surface/PATTERN.md +3 -2
  129. package/node_modules/@jskit-ai/assistant-runtime/patterns/assistant-surface/example/integrations.json +3 -2
  130. package/node_modules/@jskit-ai/assistant-voice/package.json +1 -1
  131. package/node_modules/@jskit-ai/connectors-catalog/package.json +1 -1
  132. package/node_modules/@jskit-ai/connectors-catalog/patterns/ai-connections/PATTERN.md +4 -3
  133. package/node_modules/@jskit-ai/connectors-catalog/src/shared/ai-models.json +0 -1
  134. package/node_modules/@local/vibe64-accounts/package.json +1 -0
  135. package/node_modules/@local/vibe64-colleague/package.json +2 -1
  136. package/node_modules/@local/vibe64-core/package.json +3 -0
  137. package/node_modules/@local/vibe64-execution/package.json +1 -0
  138. package/node_modules/@local/vibe64-execution/src/host/execHelper.js +171 -174
  139. package/node_modules/@local/vibe64-execution/src/server/engines/stdioBridge.js +9 -9
  140. package/node_modules/@local/vibe64-execution/src/server/hostProfile.js +12 -0
  141. package/node_modules/@local/vibe64-genesis/README.md +10 -37
  142. package/node_modules/@local/vibe64-genesis/bin/vibe64-genesis-host-context +790 -779
  143. package/node_modules/@local/vibe64-genesis/package.json +1 -0
  144. package/node_modules/@local/vibe64-genesis/src/server/agentSpecs.js +255 -0
  145. package/node_modules/@local/vibe64-genesis/src/server/index.js +473 -450
  146. package/node_modules/@local/vibe64-genesis/src/server/promptContext.js +148 -148
  147. package/node_modules/@local/vibe64-project/package.json +2 -1
  148. package/node_modules/@local/vibe64-runtime/package.json +1 -2
  149. package/node_modules/@local/vibe64-runtime/src/server/codexAppServerProcess.js +526 -512
  150. package/node_modules/@local/vibe64-runtime/src/shared/assistantRoutingScores.json +0 -1
  151. package/node_modules/@local/vibe64-source-editor/package.json +1 -0
  152. package/node_modules/@local/vibe64-terminals/package.json +2 -0
  153. package/node_modules/@local/vibe64-terminals/src/server/opencodeSessionEnvironmentPlugin.js +129 -131
  154. package/node_modules/@local/vibe64-terminals/src/server/sessionWorkOperationCommand.js +1508 -1456
  155. package/node_modules/@local/vibe64-training/package.json +16 -27
  156. package/package.json +7 -7
  157. package/server.bundle.mjs +41339 -41635
  158. package/dist/assets/GithubBrowserTabs-DO5PHon-.js +0 -1
  159. package/dist/assets/GithubMarkdown-BQ6MfCDJ.js +0 -3
  160. package/dist/assets/GithubMarkdown-U7-j-qNI.css +0 -1
  161. package/dist/assets/Vibe64DashboardShell-CuCVMhOc.js +0 -1
  162. package/dist/assets/Vibe64OutputControls-DAAmA09l.js +0 -8
  163. package/dist/assets/Vibe64OutputControls-DPBsyDZM.css +0 -1
  164. package/dist/assets/Vibe64SessionFiles-B0u9HKdF.js +0 -107
  165. package/dist/assets/Vibe64SessionFiles-NjOMVwPR.css +0 -1
  166. package/dist/assets/_slug_-B31c15cc.css +0 -1
  167. package/dist/assets/_slug_-Dy35qLo1.js +0 -1
  168. package/dist/assets/app-DRXCcv05.css +0 -1
  169. package/dist/assets/app-zt7HwQKT.js +0 -1
  170. package/dist/assets/client-BrV4QPwG.js +0 -2
  171. package/dist/assets/client-C1bwIlu6.css +0 -1
  172. package/dist/assets/definitions-DaOPIkyB.js +0 -1
  173. package/dist/assets/env-DN0vW4EI.js +0 -1
  174. package/dist/assets/health-7oIQODer.css +0 -1
  175. package/dist/assets/health-Z6m96GDr.js +0 -1
  176. package/dist/assets/index-BUq-MczL.js +0 -86
  177. package/dist/assets/index-DtmBqE3h.css +0 -1
  178. package/dist/assets/issues-1iS5zoed.js +0 -1
  179. package/dist/assets/layout-BkWVNT37.js +0 -1
  180. package/dist/assets/mdi-C54lQ0i_.js +0 -1
  181. package/dist/assets/placement-DLsU3pCW.js +0 -1
  182. package/dist/assets/pull-requests-BJOwNL4k.js +0 -1
  183. package/dist/assets/settings-c273Ikrm.js +0 -1
  184. package/dist/assets/shared-YZb7ocaK.js +0 -2
  185. package/dist/assets/studioGateApi-DhA9IJGZ.js +0 -1
  186. package/dist/assets/studioUrls-Dj8rXeXO.js +0 -1
  187. package/dist/assets/useArchivedVibe64Sessions-CVZx2Rtm.js +0 -1
  188. package/dist/assets/useCommand-DWuxfAV0.js +0 -1
  189. package/dist/assets/useEndpointResource-MWVNfmMa.js +0 -1
  190. package/dist/assets/useVibe64ConversationLog-8cKh1eDm.js +0 -1
  191. package/dist/assets/useVibe64DatabaseTools-BcRG1s3i.js +0 -1
  192. package/dist/assets/useVibe64LearningMode-Bl0dGdCh.js +0 -28
  193. package/dist/assets/useVibe64LearningMode-C3PcXdVg.css +0 -1
  194. package/dist/assets/useVibe64ProjectScope-DOEVkBqX.js +0 -1
  195. package/dist/assets/useVibe64SessionData-DFTyLzci.js +0 -1
  196. package/dist/assets/useVibe64SessionSelection-j9lsllx4.js +0 -1
  197. package/dist/assets/useVibe64SystemGraph-tNkIwSBQ.js +0 -1
  198. package/dist/assets/vibe64AssistantHost-DdE_-lZF.js +0 -1
  199. package/dist/assets/vibe64LessonDashboard-DlKYjisq.js +0 -1
  200. package/dist/assets/vibe64ProjectScope.local-DqT6e5un.js +0 -1
  201. package/docs/colleague-usage/learning-chat-retention.md +0 -74
  202. package/docs/colleague-usage/learning-diagrams-and-voice.md +0 -97
  203. package/docs/colleague-usage/learning-lesson-watch.md +0 -95
  204. package/docs/colleague-usage/learning-native-session.md +0 -206
  205. package/docs/colleague-usage/learning-practical-exercises.md +0 -71
  206. package/docs/colleague-usage/learning-practical-gestures.md +0 -48
  207. package/docs/colleague-usage/learning-session-creation.md +0 -95
  208. package/docs/colleague-usage/lesson-practical-assessment.md +0 -54
  209. package/docs/colleague-usage/preview-lesson-presentation.md +0 -56
  210. package/docs/templates/learn-topic/training/lessons/TOPIC-01/lesson.md +0 -44
@@ -1 +0,0 @@
1
- import{D as createVNode,E as createTextVNode,On as unref,g as computed,mt as openBlock,qt as withCtx,v as createBlock}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{g as useRoute}from"./useApi-BPuI6ZR9-CFWU1m37.js";import{a as projectSlugFromRoute,r as projectAppPath}from"./vibe64ProjectScope.local-DqT6e5un.js";import{Jn as mdiSourcePull,Mn as mdiRecordCircleOutline}from"./mdi-C54lQ0i_.js";import{cn as VTab,sn as VTabs}from"./index-BUq-MczL.js";var _sfc_main={__name:`GithubBrowserTabs`,setup(__props){const route=useRoute();const projectSlug=computed(()=>projectSlugFromRoute(route));const selected=computed(()=>route.path.endsWith(`/pull-requests`)?`pull-requests`:`issues`);return(_ctx,_cache)=>{return openBlock(),createBlock(VTabs,{"model-value":selected.value,color:`primary`,density:`compact`,"aria-label":`Issues and pull requests`},{default:withCtx(()=>[createVNode(VTab,{value:`issues`,"prepend-icon":unref(mdiRecordCircleOutline),to:{path:unref(projectAppPath)(projectSlug.value,`/dashboard/issues`),query:{...unref(route).query,issue:void 0}}},{default:withCtx(()=>[..._cache[0]||(_cache[0]=[createTextVNode(` Issues `,-1)])]),_:1},8,[`prepend-icon`,`to`]),createVNode(VTab,{value:`pull-requests`,"prepend-icon":unref(mdiSourcePull),to:{path:unref(projectAppPath)(projectSlug.value,`/dashboard/pull-requests`),query:{...unref(route).query,pr:void 0,createPullRequest:void 0}}},{default:withCtx(()=>[..._cache[1]||(_cache[1]=[createTextVNode(` Pull requests `,-1)])]),_:1},8,[`prepend-icon`,`to`])]),_:1},8,[`model-value`])}}};export{_sfc_main as t};
@@ -1,3 +0,0 @@
1
- import{On as unref,b as createElementBlock,g as computed,mt as openBlock,v as createBlock}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper-DNW4j-dv.js";import{an as parseLongTextReviewBlocks,in as LongTextPreviewBlocks_default}from"./index-BUq-MczL.js";function _OverloadYield(e,d){this.v=e,this.k=d}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _arrayWithHoles(r){if(Array.isArray(r))return r}function _iterableToArrayLimit(r,l){var t=null==r?null:`undefined`!=typeof Symbol&&r[Symbol.iterator]||r[`@@iterator`];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t.return&&(u=t.return(),Object(u)!==u))return}finally{if(o)throw n}}return a}}function _nonIterableRest(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest()}function _unsupportedIterableToArray(r,a){if(r){if(`string`==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return`Object`===t&&r.constructor&&(t=r.constructor.name),`Map`===t||`Set`===t?Array.from(r):`Arguments`===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function AsyncGenerator(e){var t,n;function resume(t,n){try{var r=e[t](n),o=r.value,u=o instanceof _OverloadYield;Promise.resolve(u?o.v:o).then(function(n){if(u){var i=`return`===t&&o.k?t:`next`;if(!o.k||n.done)return resume(i,n);n=e[i](n).value}settle(!!r.done,n)},function(e){resume(`throw`,e)})}catch(e){settle(2,e)}}function settle(e,r){2===e?t.reject(r):t.resolve({value:r,done:e}),(t=t.next)?resume(t.key,t.arg):n=null}this._invoke=function(e,r){return new Promise(function(o,u){var i={key:e,arg:r,resolve:o,reject:u,next:null};n?n=n.next=i:(t=n=i,resume(e,r))})},`function`!=typeof e.return&&(this.return=void 0)}AsyncGenerator.prototype[`function`==typeof Symbol&&Symbol.asyncIterator||`@@asyncIterator`]=function(){return this},AsyncGenerator.prototype.next=function(e){return this._invoke(`next`,e)},AsyncGenerator.prototype.throw=function(e){return this._invoke(`throw`,e)},AsyncGenerator.prototype.return=function(e){return this._invoke(`return`,e)};var entries=Object.entries;var setPrototypeOf=Object.setPrototypeOf;var isFrozen=Object.isFrozen;var getPrototypeOf=Object.getPrototypeOf;var getOwnPropertyDescriptor=Object.getOwnPropertyDescriptor;var freeze=Object.freeze;var seal=Object.seal;var create=Object.create;var _ref=typeof Reflect!==`undefined`&&Reflect;var apply=_ref.apply;var construct=_ref.construct;if(!freeze)freeze=function freeze(x){return x};if(!seal)seal=function seal(x){return x};if(!apply)apply=function apply(func,thisArg){for(var _len=arguments.length,args=new Array(_len>2?_len-2:0),_key=2;_key<_len;_key++)args[_key-2]=arguments[_key];return func.apply(thisArg,args)};if(!construct)construct=function construct(Func){for(var _len2=arguments.length,args=new Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++)args[_key2-1]=arguments[_key2];return new Func(...args)};var arrayForEach=unapply(Array.prototype.forEach);Array.prototype.indexOf;var arrayLastIndexOf=unapply(Array.prototype.lastIndexOf);var arrayPop=unapply(Array.prototype.pop);var arrayPush=unapply(Array.prototype.push);Array.prototype.slice;var arraySplice=unapply(Array.prototype.splice);var arrayIsArray=Array.isArray;var stringToLowerCase=unapply(String.prototype.toLowerCase);var stringToString=unapply(String.prototype.toString);var stringMatch=unapply(String.prototype.match);var stringReplace=unapply(String.prototype.replace);var stringIndexOf=unapply(String.prototype.indexOf);var stringTrim=unapply(String.prototype.trim);var numberToString=unapply(Number.prototype.toString);var booleanToString=unapply(Boolean.prototype.toString);var bigintToString=typeof BigInt===`undefined`?null:unapply(BigInt.prototype.toString);var symbolToString=typeof Symbol===`undefined`?null:unapply(Symbol.prototype.toString);var objectHasOwnProperty=unapply(Object.prototype.hasOwnProperty);var objectToString=unapply(Object.prototype.toString);var regExpTest=unapply(RegExp.prototype.test);var typeErrorCreate=unconstruct(TypeError);function unapply(func){return function(thisArg){if(thisArg instanceof RegExp)thisArg.lastIndex=0;for(var _len3=arguments.length,args=new Array(_len3>1?_len3-1:0),_key3=1;_key3<_len3;_key3++)args[_key3-1]=arguments[_key3];return apply(func,thisArg,args)}}function unconstruct(Func){return function(){for(var _len4=arguments.length,args=new Array(_len4),_key4=0;_key4<_len4;_key4++)args[_key4]=arguments[_key4];return construct(Func,args)}}function addToSet(set,array){let transformCaseFunc=arguments.length>2&&arguments[2]!==void 0?arguments[2]:stringToLowerCase;if(setPrototypeOf)setPrototypeOf(set,null);if(!arrayIsArray(array))return set;let l=array.length;while(l--){let element=array[l];if(typeof element===`string`){const lcElement=transformCaseFunc(element);if(lcElement!==element){if(!isFrozen(array))array[l]=lcElement;element=lcElement}}set[element]=true}return set}function cleanArray(array){for(let index=0;index<array.length;index++)if(!objectHasOwnProperty(array,index))array[index]=null;return array}function clone(object){const newObject=create(null);for(const _ref2 of entries(object)){var _ref3=_slicedToArray(_ref2,2);const property=_ref3[0];const value=_ref3[1];if(objectHasOwnProperty(object,property)){if(arrayIsArray(value))newObject[property]=cleanArray(value);else if(value&&typeof value===`object`&&value.constructor===Object)newObject[property]=clone(value);else newObject[property]=value}}return newObject}function stringifyValue(value){switch(typeof value){case`string`:return value;case`number`:return numberToString(value);case`boolean`:return booleanToString(value);case`bigint`:return bigintToString?bigintToString(value):`0`;case`symbol`:return symbolToString?symbolToString(value):`Symbol()`;case`undefined`:return objectToString(value);case`function`:case`object`:{if(value===null)return objectToString(value);const valueAsRecord=value;const valueToString=lookupGetter(valueAsRecord,`toString`);if(typeof valueToString===`function`){const stringified=valueToString(valueAsRecord);return typeof stringified===`string`?stringified:objectToString(stringified)}return objectToString(value)}default:return objectToString(value)}}function lookupGetter(object,prop){while(object!==null){const desc=getOwnPropertyDescriptor(object,prop);if(desc){if(desc.get)return unapply(desc.get);if(typeof desc.value===`function`)return unapply(desc.value)}object=getPrototypeOf(object)}function fallbackValue(){return null}return fallbackValue}function isRegex(value){try{regExpTest(value,``);return true}catch(_unused){return false}}var html$1=freeze([`a`,`abbr`,`acronym`,`address`,`area`,`article`,`aside`,`audio`,`b`,`bdi`,`bdo`,`big`,`blink`,`blockquote`,`body`,`br`,`button`,`canvas`,`caption`,`center`,`cite`,`code`,`col`,`colgroup`,`content`,`data`,`datalist`,`dd`,`decorator`,`del`,`details`,`dfn`,`dialog`,`dir`,`div`,`dl`,`dt`,`element`,`em`,`fieldset`,`figcaption`,`figure`,`font`,`footer`,`form`,`h1`,`h2`,`h3`,`h4`,`h5`,`h6`,`head`,`header`,`hgroup`,`hr`,`html`,`i`,`img`,`input`,`ins`,`kbd`,`label`,`legend`,`li`,`main`,`map`,`mark`,`marquee`,`menu`,`menuitem`,`meter`,`nav`,`nobr`,`ol`,`optgroup`,`option`,`output`,`p`,`picture`,`pre`,`progress`,`q`,`rp`,`rt`,`ruby`,`s`,`samp`,`search`,`section`,`select`,`shadow`,`slot`,`small`,`source`,`spacer`,`span`,`strike`,`strong`,`style`,`sub`,`summary`,`sup`,`table`,`tbody`,`td`,`template`,`textarea`,`tfoot`,`th`,`thead`,`time`,`tr`,`track`,`tt`,`u`,`ul`,`var`,`video`,`wbr`]);var svg$1=freeze([`svg`,`a`,`altglyph`,`altglyphdef`,`altglyphitem`,`animatecolor`,`animatemotion`,`animatetransform`,`circle`,`clippath`,`defs`,`desc`,`ellipse`,`enterkeyhint`,`exportparts`,`filter`,`font`,`g`,`glyph`,`glyphref`,`hkern`,`image`,`inputmode`,`line`,`lineargradient`,`marker`,`mask`,`metadata`,`mpath`,`part`,`path`,`pattern`,`polygon`,`polyline`,`radialgradient`,`rect`,`stop`,`style`,`switch`,`symbol`,`text`,`textpath`,`title`,`tref`,`tspan`,`view`,`vkern`]);var svgFilters=freeze([`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feDistantLight`,`feDropShadow`,`feFlood`,`feFuncA`,`feFuncB`,`feFuncG`,`feFuncR`,`feGaussianBlur`,`feImage`,`feMerge`,`feMergeNode`,`feMorphology`,`feOffset`,`fePointLight`,`feSpecularLighting`,`feSpotLight`,`feTile`,`feTurbulence`]);var svgDisallowed=freeze([`animate`,`color-profile`,`cursor`,`discard`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`foreignobject`,`hatch`,`hatchpath`,`mesh`,`meshgradient`,`meshpatch`,`meshrow`,`missing-glyph`,`script`,`set`,`solidcolor`,`unknown`,`use`]);var mathMl$1=freeze([`math`,`menclose`,`merror`,`mfenced`,`mfrac`,`mglyph`,`mi`,`mlabeledtr`,`mmultiscripts`,`mn`,`mo`,`mover`,`mpadded`,`mphantom`,`mroot`,`mrow`,`ms`,`mspace`,`msqrt`,`mstyle`,`msub`,`msup`,`msubsup`,`mtable`,`mtd`,`mtext`,`mtr`,`munder`,`munderover`,`mprescripts`]);var mathMlDisallowed=freeze([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]);var text=freeze([`#text`]);var html=freeze([`accept`,`action`,`align`,`alt`,`autocapitalize`,`autocomplete`,`autopictureinpicture`,`autoplay`,`background`,`bgcolor`,`border`,`capture`,`cellpadding`,`cellspacing`,`checked`,`cite`,`class`,`clear`,`color`,`cols`,`colspan`,`command`,`commandfor`,`controls`,`controlslist`,`coords`,`crossorigin`,`datetime`,`decoding`,`default`,`dir`,`disabled`,`disablepictureinpicture`,`disableremoteplayback`,`download`,`draggable`,`enctype`,`enterkeyhint`,`exportparts`,`face`,`for`,`headers`,`height`,`hidden`,`high`,`href`,`hreflang`,`id`,`inert`,`inputmode`,`integrity`,`ismap`,`kind`,`label`,`lang`,`list`,`loading`,`loop`,`low`,`max`,`maxlength`,`media`,`method`,`min`,`minlength`,`multiple`,`muted`,`name`,`nonce`,`noshade`,`novalidate`,`nowrap`,`open`,`optimum`,`part`,`pattern`,`placeholder`,`playsinline`,`popover`,`popovertarget`,`popovertargetaction`,`poster`,`preload`,`pubdate`,`radiogroup`,`readonly`,`rel`,`required`,`rev`,`reversed`,`role`,`rows`,`rowspan`,`spellcheck`,`scope`,`selected`,`shape`,`size`,`sizes`,`slot`,`span`,`srclang`,`start`,`src`,`srcset`,`step`,`style`,`summary`,`tabindex`,`title`,`translate`,`type`,`usemap`,`valign`,`value`,`width`,`wrap`,`xmlns`]);var svg=freeze([`accent-height`,`accumulate`,`additive`,`alignment-baseline`,`amplitude`,`ascent`,`attributename`,`attributetype`,`azimuth`,`basefrequency`,`baseline-shift`,`begin`,`bias`,`by`,`class`,`clip`,`clippathunits`,`clip-path`,`clip-rule`,`color`,`color-interpolation`,`color-interpolation-filters`,`color-profile`,`color-rendering`,`cx`,`cy`,`d`,`dx`,`dy`,`diffuseconstant`,`direction`,`display`,`divisor`,`dominant-baseline`,`dur`,`edgemode`,`elevation`,`end`,`exponent`,`fill`,`fill-opacity`,`fill-rule`,`filter`,`filterunits`,`flood-color`,`flood-opacity`,`font-family`,`font-size`,`font-size-adjust`,`font-stretch`,`font-style`,`font-variant`,`font-weight`,`fx`,`fy`,`g1`,`g2`,`glyph-name`,`glyphref`,`gradientunits`,`gradienttransform`,`height`,`href`,`id`,`image-rendering`,`in`,`in2`,`intercept`,`k`,`k1`,`k2`,`k3`,`k4`,`kerning`,`keypoints`,`keysplines`,`keytimes`,`lang`,`lengthadjust`,`letter-spacing`,`kernelmatrix`,`kernelunitlength`,`lighting-color`,`local`,`marker-end`,`marker-mid`,`marker-start`,`markerheight`,`markerunits`,`markerwidth`,`maskcontentunits`,`maskunits`,`max`,`mask`,`mask-type`,`media`,`method`,`mode`,`min`,`name`,`numoctaves`,`offset`,`operator`,`opacity`,`order`,`orient`,`orientation`,`origin`,`overflow`,`paint-order`,`path`,`pathlength`,`patterncontentunits`,`patterntransform`,`patternunits`,`pointer-events`,`points`,`preservealpha`,`preserveaspectratio`,`primitiveunits`,`r`,`rx`,`ry`,`radius`,`refx`,`refy`,`repeatcount`,`repeatdur`,`restart`,`result`,`rotate`,`scale`,`seed`,`shape-rendering`,`slope`,`specularconstant`,`specularexponent`,`spreadmethod`,`startoffset`,`stddeviation`,`stitchtiles`,`stop-color`,`stop-opacity`,`stroke-dasharray`,`stroke-dashoffset`,`stroke-linecap`,`stroke-linejoin`,`stroke-miterlimit`,`stroke-opacity`,`stroke`,`stroke-width`,`style`,`surfacescale`,`systemlanguage`,`tabindex`,`tablevalues`,`targetx`,`targety`,`transform`,`transform-origin`,`text-anchor`,`text-decoration`,`text-orientation`,`text-rendering`,`textlength`,`type`,`u1`,`u2`,`unicode`,`values`,`vector-effect`,`viewbox`,`visibility`,`version`,`vert-adv-y`,`vert-origin-x`,`vert-origin-y`,`width`,`word-spacing`,`wrap`,`writing-mode`,`xchannelselector`,`ychannelselector`,`x`,`x1`,`x2`,`xmlns`,`y`,`y1`,`y2`,`z`,`zoomandpan`]);var mathMl=freeze([`accent`,`accentunder`,`align`,`bevelled`,`close`,`columnalign`,`columnlines`,`columnspacing`,`columnspan`,`denomalign`,`depth`,`dir`,`display`,`displaystyle`,`encoding`,`fence`,`frame`,`height`,`href`,`id`,`largeop`,`length`,`linethickness`,`lquote`,`lspace`,`mathbackground`,`mathcolor`,`mathsize`,`mathvariant`,`maxsize`,`minsize`,`movablelimits`,`notation`,`numalign`,`open`,`rowalign`,`rowlines`,`rowspacing`,`rowspan`,`rspace`,`rquote`,`scriptlevel`,`scriptminsize`,`scriptsizemultiplier`,`selection`,`separator`,`separators`,`stretchy`,`subscriptshift`,`supscriptshift`,`symmetric`,`voffset`,`width`,`xmlns`]);var xml=freeze([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]);var MUSTACHE_EXPR=seal(/{{[\w\W]*|^[\w\W]*}}/g);var ERB_EXPR=seal(/<%[\w\W]*|^[\w\W]*%>/g);var TMPLIT_EXPR=seal(/\${[\w\W]*/g);var DATA_ATTR=seal(/^data-[\-\w.\u00B7-\uFFFF]+$/);var ARIA_ATTR=seal(/^aria-[\-\w]+$/);var IS_ALLOWED_URI=seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i);var IS_SCRIPT_OR_DATA=seal(/^(?:\w+script|data):/i);var ATTR_WHITESPACE=seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g);var DOCTYPE_NAME=seal(/^html$/i);var CUSTOM_ELEMENT=seal(/^[a-z][.\w]*(-[.\w]+)+$/i);var ELEMENT_MARKUP_PROBE=seal(/<[/\w!]/g);var COMMENT_MARKUP_PROBE=seal(/<[/\w]/g);var FALLBACK_TAG_CLOSE=seal(/<\/no(script|embed|frames)/i);var SELF_CLOSING_TAG=seal(/\/>/i);var NODE_TYPE={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12};var LITERAL_TEXT_ELEMENT_NAMES=[`style`,`script`,`xmp`,`iframe`,`noembed`,`noframes`,`plaintext`,`noscript`];var LITERAL_TEXT_ELEMENTS=freeze(addToSet({},LITERAL_TEXT_ELEMENT_NAMES));var LITERAL_TEXT_CLOSE=function(){const map={};arrayForEach(LITERAL_TEXT_ELEMENT_NAMES,name=>{map[name]=seal(new RegExp(`</`+name+`(?=[\\t\\n\\f\\r />])`,`i`))});return freeze(map)}();var getGlobal=function getGlobal(){return typeof window===`undefined`?null:window};var _createTrustedTypesPolicy=function _createTrustedTypesPolicy(trustedTypes,purifyHostElement){if(typeof trustedTypes!==`object`||typeof trustedTypes.createPolicy!==`function`)return null;let suffix=null;const ATTR_NAME=`data-tt-policy-suffix`;if(purifyHostElement&&purifyHostElement.hasAttribute(ATTR_NAME))suffix=purifyHostElement.getAttribute(ATTR_NAME);const policyName=`dompurify`+(suffix?`#`+suffix:``);try{return trustedTypes.createPolicy(policyName,{createHTML(html){return html},createScriptURL(scriptUrl){return scriptUrl}})}catch(_){console.warn(`TrustedTypes policy `+policyName+` could not be created.`);return null}};var _createHooksMap=function _createHooksMap(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};var _resolveSetOption=function _resolveSetOption(cfg,key,fallback,options){return objectHasOwnProperty(cfg,key)&&arrayIsArray(cfg[key])?addToSet(options.base?clone(options.base):{},cfg[key],options.transform):fallback};var _resolveObjectOption=function _resolveObjectOption(cfg,key,makeFallback){const value=objectHasOwnProperty(cfg,key)?cfg[key]:void 0;return value&&typeof value===`object`?clone(value):makeFallback()};function createDOMPurify(){let window=arguments.length>0&&arguments[0]!==void 0?arguments[0]:getGlobal();const DOMPurify=root=>createDOMPurify(root);DOMPurify.version=`3.4.16`;DOMPurify.removed=[];if(!window||!window.document||window.document.nodeType!==NODE_TYPE.document||!window.Element){DOMPurify.isSupported=false;return DOMPurify}let document=window.document;const originalDocument=document;const currentScript=originalDocument.currentScript;window.DocumentFragment;const HTMLTemplateElement=window.HTMLTemplateElement,Node=window.Node,Element=window.Element,NodeFilter=window.NodeFilter;window.NamedNodeMap===void 0&&(window.NamedNodeMap||window.MozNamedAttrMap);window.HTMLFormElement;const DOMParser=window.DOMParser,trustedTypes=window.trustedTypes;const ElementPrototype=Element.prototype;const cloneNode=lookupGetter(ElementPrototype,`cloneNode`);const remove=lookupGetter(ElementPrototype,`remove`);const removeAttributeNode=lookupGetter(ElementPrototype,`removeAttributeNode`);const getNextSibling=lookupGetter(ElementPrototype,`nextSibling`);const getChildNodes=lookupGetter(ElementPrototype,`childNodes`);const getParentNode=lookupGetter(ElementPrototype,`parentNode`);const getShadowRoot=lookupGetter(ElementPrototype,`shadowRoot`);const getAttributes=lookupGetter(ElementPrototype,`attributes`);const getNodeType=Node&&Node.prototype?lookupGetter(Node.prototype,`nodeType`):null;const getNodeName=Node&&Node.prototype?lookupGetter(Node.prototype,`nodeName`):null;const getOwnerDocument=Node&&Node.prototype?lookupGetter(Node.prototype,`ownerDocument`):null;const _readNodeType=function _readNodeType(node){return getNodeType?getNodeType(node):node.nodeType};const _readNodeName=function _readNodeName(node){return getNodeName?getNodeName(node):node.nodeName};if(typeof HTMLTemplateElement===`function`){const template=document.createElement(`template`);if(template.content&&template.content.ownerDocument)document=template.content.ownerDocument}let trustedTypesPolicy;let emptyHTML=``;let defaultTrustedTypesPolicy;let defaultTrustedTypesPolicyResolved=false;let IN_TRUSTED_TYPES_POLICY=0;const _assertNotInTrustedTypesPolicy=function _assertNotInTrustedTypesPolicy(){if(IN_TRUSTED_TYPES_POLICY>0)throw typeErrorCreate(`A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.`)};const _createTrustedHTML=function _createTrustedHTML(html){_assertNotInTrustedTypesPolicy();IN_TRUSTED_TYPES_POLICY++;try{return trustedTypesPolicy.createHTML(html)}finally{IN_TRUSTED_TYPES_POLICY--}};const _createTrustedScriptURL=function _createTrustedScriptURL(scriptUrl){_assertNotInTrustedTypesPolicy();IN_TRUSTED_TYPES_POLICY++;try{return trustedTypesPolicy.createScriptURL(scriptUrl)}finally{IN_TRUSTED_TYPES_POLICY--}};const _getDefaultTrustedTypesPolicy=function _getDefaultTrustedTypesPolicy(){if(!defaultTrustedTypesPolicyResolved){defaultTrustedTypesPolicy=_createTrustedTypesPolicy(trustedTypes,currentScript);defaultTrustedTypesPolicyResolved=true}return defaultTrustedTypesPolicy};const _document=document,implementation=_document.implementation,createNodeIterator=_document.createNodeIterator,createDocumentFragment=_document.createDocumentFragment,getElementsByTagName=_document.getElementsByTagName;const importNode=originalDocument.importNode;let hooks=_createHooksMap();DOMPurify.isSupported=typeof entries===`function`&&typeof getParentNode===`function`&&implementation&&implementation.createHTMLDocument!==void 0;const MUSTACHE_EXPR$1=MUSTACHE_EXPR,ERB_EXPR$1=ERB_EXPR,TMPLIT_EXPR$1=TMPLIT_EXPR,DATA_ATTR$1=DATA_ATTR,ARIA_ATTR$1=ARIA_ATTR,IS_SCRIPT_OR_DATA$1=IS_SCRIPT_OR_DATA,ATTR_WHITESPACE$1=ATTR_WHITESPACE,CUSTOM_ELEMENT$1=CUSTOM_ELEMENT;let IS_ALLOWED_URI$1=IS_ALLOWED_URI;let ALLOWED_TAGS=null;const DEFAULT_ALLOWED_TAGS=addToSet({},[...html$1,...svg$1,...svgFilters,...mathMl$1,...text]);let ALLOWED_ATTR=null;const DEFAULT_ALLOWED_ATTR=addToSet({},[...html,...svg,...mathMl,...xml]);let CUSTOM_ELEMENT_HANDLING=Object.seal(create(null,{tagNameCheck:{writable:true,configurable:false,enumerable:true,value:null},attributeNameCheck:{writable:true,configurable:false,enumerable:true,value:null},allowCustomizedBuiltInElements:{writable:true,configurable:false,enumerable:true,value:false}}));let FORBID_TAGS=null;let FORBID_ATTR=null;const EXTRA_ELEMENT_HANDLING=Object.seal(create(null,{tagCheck:{writable:true,configurable:false,enumerable:true,value:null},attributeCheck:{writable:true,configurable:false,enumerable:true,value:null}}));let ALLOW_ARIA_ATTR=true;let ALLOW_DATA_ATTR=true;let ALLOW_UNKNOWN_PROTOCOLS=false;let ALLOW_SELF_CLOSE_IN_ATTR=true;let SAFE_FOR_TEMPLATES=false;let SAFE_FOR_XML=true;let WHOLE_DOCUMENT=false;let SET_CONFIG=false;let SET_CONFIG_ALLOWED_TAGS=null;let SET_CONFIG_ALLOWED_ATTR=null;let FORCE_BODY=false;let RETURN_DOM=false;let RETURN_DOM_FRAGMENT=false;let RETURN_TRUSTED_TYPE=false;let SANITIZE_DOM=true;let SANITIZE_NAMED_PROPS=false;const SANITIZE_NAMED_PROPS_PREFIX=`user-content-`;let KEEP_CONTENT=true;let IN_PLACE=false;let USE_PROFILES={};let FORBID_CONTENTS=null;const DEFAULT_FORBID_CONTENTS=addToSet({},[`annotation-xml`,`audio`,`colgroup`,`desc`,`foreignobject`,`head`,`iframe`,`math`,`mi`,`mn`,`mo`,`ms`,`mtext`,`noembed`,`noframes`,`noscript`,`plaintext`,`script`,`selectedcontent`,`style`,`svg`,`template`,`thead`,`title`,`video`,`xmp`]);let DATA_URI_TAGS=null;const DEFAULT_DATA_URI_TAGS=addToSet({},[`audio`,`video`,`img`,`source`,`image`,`track`]);let URI_SAFE_ATTRIBUTES=null;const DEFAULT_URI_SAFE_ATTRIBUTES=addToSet({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]);const MATHML_NAMESPACE=`http://www.w3.org/1998/Math/MathML`;const SVG_NAMESPACE=`http://www.w3.org/2000/svg`;const HTML_NAMESPACE=`http://www.w3.org/1999/xhtml`;let NAMESPACE=HTML_NAMESPACE;let IS_EMPTY_INPUT=false;let ALLOWED_NAMESPACES=null;const DEFAULT_ALLOWED_NAMESPACES=addToSet({},[MATHML_NAMESPACE,SVG_NAMESPACE,HTML_NAMESPACE],stringToString);const DEFAULT_MATHML_TEXT_INTEGRATION_POINTS=freeze([`mi`,`mo`,`mn`,`ms`,`mtext`]);let MATHML_TEXT_INTEGRATION_POINTS=addToSet({},DEFAULT_MATHML_TEXT_INTEGRATION_POINTS);const DEFAULT_HTML_INTEGRATION_POINTS=freeze([`annotation-xml`]);let HTML_INTEGRATION_POINTS=addToSet({},DEFAULT_HTML_INTEGRATION_POINTS);const COMMON_SVG_AND_HTML_ELEMENTS=addToSet({},[`title`,`style`,`font`,`a`,`script`]);let PARSER_MEDIA_TYPE=null;const SUPPORTED_PARSER_MEDIA_TYPES=[`application/xhtml+xml`,`text/html`];const DEFAULT_PARSER_MEDIA_TYPE=`text/html`;let transformCaseFunc=null;let CONFIG=null;const formElement=document.createElement(`form`);const isRegexOrFunction=function isRegexOrFunction(testValue){return testValue instanceof RegExp||testValue instanceof Function};const _parseConfig=function _parseConfig(){let cfg=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(CONFIG&&CONFIG===cfg)return;if(!cfg||typeof cfg!==`object`)cfg={};cfg=clone(cfg);PARSER_MEDIA_TYPE=SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE)===-1?DEFAULT_PARSER_MEDIA_TYPE:cfg.PARSER_MEDIA_TYPE;transformCaseFunc=PARSER_MEDIA_TYPE===`application/xhtml+xml`?stringToString:stringToLowerCase;ALLOWED_TAGS=_resolveSetOption(cfg,`ALLOWED_TAGS`,DEFAULT_ALLOWED_TAGS,{transform:transformCaseFunc});ALLOWED_ATTR=_resolveSetOption(cfg,`ALLOWED_ATTR`,DEFAULT_ALLOWED_ATTR,{transform:transformCaseFunc});ALLOWED_NAMESPACES=_resolveSetOption(cfg,`ALLOWED_NAMESPACES`,DEFAULT_ALLOWED_NAMESPACES,{transform:stringToString});URI_SAFE_ATTRIBUTES=_resolveSetOption(cfg,`ADD_URI_SAFE_ATTR`,DEFAULT_URI_SAFE_ATTRIBUTES,{transform:transformCaseFunc,base:DEFAULT_URI_SAFE_ATTRIBUTES});DATA_URI_TAGS=_resolveSetOption(cfg,`ADD_DATA_URI_TAGS`,DEFAULT_DATA_URI_TAGS,{transform:transformCaseFunc,base:DEFAULT_DATA_URI_TAGS});FORBID_CONTENTS=_resolveSetOption(cfg,`FORBID_CONTENTS`,DEFAULT_FORBID_CONTENTS,{transform:transformCaseFunc});FORBID_TAGS=_resolveSetOption(cfg,`FORBID_TAGS`,clone({}),{transform:transformCaseFunc});FORBID_ATTR=_resolveSetOption(cfg,`FORBID_ATTR`,clone({}),{transform:transformCaseFunc});USE_PROFILES=objectHasOwnProperty(cfg,`USE_PROFILES`)?cfg.USE_PROFILES&&typeof cfg.USE_PROFILES===`object`?clone(cfg.USE_PROFILES):cfg.USE_PROFILES:false;ALLOW_ARIA_ATTR=cfg.ALLOW_ARIA_ATTR!==false;ALLOW_DATA_ATTR=cfg.ALLOW_DATA_ATTR!==false;ALLOW_UNKNOWN_PROTOCOLS=cfg.ALLOW_UNKNOWN_PROTOCOLS||false;ALLOW_SELF_CLOSE_IN_ATTR=cfg.ALLOW_SELF_CLOSE_IN_ATTR!==false;SAFE_FOR_TEMPLATES=cfg.SAFE_FOR_TEMPLATES||false;SAFE_FOR_XML=cfg.SAFE_FOR_XML!==false;WHOLE_DOCUMENT=cfg.WHOLE_DOCUMENT||false;RETURN_DOM=cfg.RETURN_DOM||false;RETURN_DOM_FRAGMENT=cfg.RETURN_DOM_FRAGMENT||false;RETURN_TRUSTED_TYPE=cfg.RETURN_TRUSTED_TYPE||false;FORCE_BODY=cfg.FORCE_BODY||false;SANITIZE_DOM=cfg.SANITIZE_DOM!==false;SANITIZE_NAMED_PROPS=cfg.SANITIZE_NAMED_PROPS||false;KEEP_CONTENT=cfg.KEEP_CONTENT!==false;IN_PLACE=cfg.IN_PLACE||false;IS_ALLOWED_URI$1=isRegex(cfg.ALLOWED_URI_REGEXP)?cfg.ALLOWED_URI_REGEXP:IS_ALLOWED_URI;NAMESPACE=typeof cfg.NAMESPACE===`string`?cfg.NAMESPACE:HTML_NAMESPACE;MATHML_TEXT_INTEGRATION_POINTS=_resolveObjectOption(cfg,`MATHML_TEXT_INTEGRATION_POINTS`,()=>addToSet({},DEFAULT_MATHML_TEXT_INTEGRATION_POINTS));HTML_INTEGRATION_POINTS=_resolveObjectOption(cfg,`HTML_INTEGRATION_POINTS`,()=>addToSet({},DEFAULT_HTML_INTEGRATION_POINTS));const customElementHandling=_resolveObjectOption(cfg,`CUSTOM_ELEMENT_HANDLING`,()=>create(null));CUSTOM_ELEMENT_HANDLING=create(null);if(objectHasOwnProperty(customElementHandling,`tagNameCheck`)&&isRegexOrFunction(customElementHandling.tagNameCheck))CUSTOM_ELEMENT_HANDLING.tagNameCheck=customElementHandling.tagNameCheck;if(objectHasOwnProperty(customElementHandling,`attributeNameCheck`)&&isRegexOrFunction(customElementHandling.attributeNameCheck))CUSTOM_ELEMENT_HANDLING.attributeNameCheck=customElementHandling.attributeNameCheck;if(objectHasOwnProperty(customElementHandling,`allowCustomizedBuiltInElements`)&&typeof customElementHandling.allowCustomizedBuiltInElements===`boolean`)CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=customElementHandling.allowCustomizedBuiltInElements;seal(CUSTOM_ELEMENT_HANDLING);if(SAFE_FOR_TEMPLATES)ALLOW_DATA_ATTR=false;if(RETURN_DOM_FRAGMENT)RETURN_DOM=true;if(USE_PROFILES){ALLOWED_TAGS=addToSet({},text);ALLOWED_ATTR=create(null);if(USE_PROFILES.html===true){addToSet(ALLOWED_TAGS,html$1);addToSet(ALLOWED_ATTR,html)}if(USE_PROFILES.svg===true){addToSet(ALLOWED_TAGS,svg$1);addToSet(ALLOWED_ATTR,svg);addToSet(ALLOWED_ATTR,xml)}if(USE_PROFILES.svgFilters===true){addToSet(ALLOWED_TAGS,svgFilters);addToSet(ALLOWED_ATTR,svg);addToSet(ALLOWED_ATTR,xml)}if(USE_PROFILES.mathMl===true){addToSet(ALLOWED_TAGS,mathMl$1);addToSet(ALLOWED_ATTR,mathMl);addToSet(ALLOWED_ATTR,xml)}}EXTRA_ELEMENT_HANDLING.tagCheck=null;EXTRA_ELEMENT_HANDLING.attributeCheck=null;if(objectHasOwnProperty(cfg,`ADD_TAGS`)){if(typeof cfg.ADD_TAGS===`function`)EXTRA_ELEMENT_HANDLING.tagCheck=cfg.ADD_TAGS;else if(arrayIsArray(cfg.ADD_TAGS)){if(ALLOWED_TAGS===DEFAULT_ALLOWED_TAGS)ALLOWED_TAGS=clone(ALLOWED_TAGS);addToSet(ALLOWED_TAGS,cfg.ADD_TAGS,transformCaseFunc)}}if(objectHasOwnProperty(cfg,`ADD_ATTR`)){if(typeof cfg.ADD_ATTR===`function`)EXTRA_ELEMENT_HANDLING.attributeCheck=cfg.ADD_ATTR;else if(arrayIsArray(cfg.ADD_ATTR)){if(ALLOWED_ATTR===DEFAULT_ALLOWED_ATTR)ALLOWED_ATTR=clone(ALLOWED_ATTR);addToSet(ALLOWED_ATTR,cfg.ADD_ATTR,transformCaseFunc)}}if(objectHasOwnProperty(cfg,`ADD_FORBID_CONTENTS`)&&arrayIsArray(cfg.ADD_FORBID_CONTENTS)){if(FORBID_CONTENTS===DEFAULT_FORBID_CONTENTS)FORBID_CONTENTS=clone(FORBID_CONTENTS);addToSet(FORBID_CONTENTS,cfg.ADD_FORBID_CONTENTS,transformCaseFunc)}if(KEEP_CONTENT)ALLOWED_TAGS[`#text`]=true;if(WHOLE_DOCUMENT)addToSet(ALLOWED_TAGS,[`html`,`head`,`body`]);if(ALLOWED_TAGS.table){addToSet(ALLOWED_TAGS,[`tbody`]);delete FORBID_TAGS.tbody}if(cfg.TRUSTED_TYPES_POLICY){if(typeof cfg.TRUSTED_TYPES_POLICY.createHTML!==`function`)throw typeErrorCreate(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL!==`function`)throw typeErrorCreate(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);const previousTrustedTypesPolicy=trustedTypesPolicy;trustedTypesPolicy=cfg.TRUSTED_TYPES_POLICY;try{emptyHTML=_createTrustedHTML(``)}catch(error){trustedTypesPolicy=previousTrustedTypesPolicy;throw error}}else if(cfg.TRUSTED_TYPES_POLICY===null){trustedTypesPolicy=void 0;emptyHTML=``}else{if(trustedTypesPolicy===void 0)trustedTypesPolicy=_getDefaultTrustedTypesPolicy();if(trustedTypesPolicy&&typeof emptyHTML===`string`)emptyHTML=_createTrustedHTML(``)}if(freeze)freeze(cfg);CONFIG=cfg};const ALL_SVG_TAGS=addToSet({},[...svg$1,...svgFilters,...svgDisallowed]);const ALL_MATHML_TAGS=addToSet({},[...mathMl$1,...mathMlDisallowed]);const _checkSvgNamespace=function _checkSvgNamespace(tagName,parent,parentTagName){if(parent.namespaceURI===HTML_NAMESPACE)return tagName===`svg`;if(parent.namespaceURI===MATHML_NAMESPACE)return tagName===`svg`&&(parentTagName===`annotation-xml`||MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);return Boolean(ALL_SVG_TAGS[tagName])};const _checkMathMlNamespace=function _checkMathMlNamespace(tagName,parent,parentTagName){if(parent.namespaceURI===HTML_NAMESPACE)return tagName===`math`;if(parent.namespaceURI===SVG_NAMESPACE)return tagName===`math`&&HTML_INTEGRATION_POINTS[parentTagName];return Boolean(ALL_MATHML_TAGS[tagName])};const _checkHtmlNamespace=function _checkHtmlNamespace(tagName,parent,parentTagName){if(parent.namespaceURI===SVG_NAMESPACE&&!HTML_INTEGRATION_POINTS[parentTagName])return false;if(parent.namespaceURI===MATHML_NAMESPACE&&!MATHML_TEXT_INTEGRATION_POINTS[parentTagName])return false;return!ALL_MATHML_TAGS[tagName]&&(COMMON_SVG_AND_HTML_ELEMENTS[tagName]||!ALL_SVG_TAGS[tagName])};const _checkValidNamespace=function _checkValidNamespace(element){let parent=getParentNode(element);if(!parent||!parent.tagName)parent={namespaceURI:NAMESPACE,tagName:`template`};const tagName=stringToLowerCase(element.tagName);const parentTagName=stringToLowerCase(parent.tagName);if(!ALLOWED_NAMESPACES[element.namespaceURI])return false;if(element.namespaceURI===SVG_NAMESPACE)return _checkSvgNamespace(tagName,parent,parentTagName);if(element.namespaceURI===MATHML_NAMESPACE)return _checkMathMlNamespace(tagName,parent,parentTagName);if(element.namespaceURI===HTML_NAMESPACE)return _checkHtmlNamespace(tagName,parent,parentTagName);if(PARSER_MEDIA_TYPE===`application/xhtml+xml`&&ALLOWED_NAMESPACES[element.namespaceURI])return true;return false};const _forceRemove=function _forceRemove(node){arrayPush(DOMPurify.removed,{element:node});try{getParentNode(node).removeChild(node)}catch(_){remove(node);if(!getParentNode(node))throw typeErrorCreate(`a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place`)}};const _stripAttributeNode=function _stripAttributeNode(element,attribute,name){try{removeAttributeNode(element,attribute)}catch(_){try{element.removeAttribute(name)}catch(_){}}};const _neutralizeRoot=function _neutralizeRoot(root){_neutralizeSubtree(root);const childNodes=getChildNodes(root);if(childNodes){const snapshot=[];arrayForEach(childNodes,child=>{arrayPush(snapshot,child)});arrayForEach(snapshot,child=>{try{remove(child)}catch(_){}})}const attributes=getAttributes(root);if(attributes)for(let i=attributes.length-1;i>=0;--i){const attribute=attributes[i];const name=attribute&&attribute.name;if(typeof name===`string`)_stripAttributeNode(root,attribute,name)}};const _removeAttribute=function _removeAttribute(name,element,attr){if(!attr)try{attr=element.getAttributeNode(name)}catch(_){attr=null}arrayPush(DOMPurify.removed,{attribute:attr||null,from:element});try{if(attr)removeAttributeNode(element,attr);else element.removeAttribute(name)}catch(_){try{element.removeAttribute(name)}catch(_){}}if(name===`is`){if(RETURN_DOM||RETURN_DOM_FRAGMENT)try{_forceRemove(element)}catch(_){}else try{element.setAttribute(name,``)}catch(_){}}};const _stripDisallowedAttributes=function _stripDisallowedAttributes(element){const attributes=getAttributes(element);if(!attributes)return;for(let i=attributes.length-1;i>=0;--i){const attribute=attributes[i];const name=attribute&&attribute.name;if(typeof name!==`string`||ALLOWED_ATTR[transformCaseFunc(name)])continue;_stripAttributeNode(element,attribute,name)}};const _neutralizeSubtree=function _neutralizeSubtree(root){const stack=[root];while(stack.length>0){const node=stack.pop();if(_readNodeType(node)===NODE_TYPE.element)_stripDisallowedAttributes(node);const childNodes=getChildNodes(node);if(childNodes)for(let i=childNodes.length-1;i>=0;--i)stack.push(childNodes[i])}};const _isPatchLinkageAttribute=function _isPatchLinkageAttribute(lcName,lcTag){if(!SAFE_FOR_XML)return false;if(lcName===`patchsrc`)return true;return lcName===`for`&&lcTag!==`label`&&lcTag!==`output`};const _neutralizePatchLinkage=function _neutralizePatchLinkage(root){if(!SAFE_FOR_XML)return;const stack=[root];while(stack.length>0){const node=stack.pop();const nodeType=_readNodeType(node);if(nodeType===NODE_TYPE.processingInstruction||nodeType===NODE_TYPE.comment&&regExpTest(COMMENT_MARKUP_PROBE,node.data)){try{remove(node)}catch(_){}continue}if(nodeType===NODE_TYPE.element){const element=node;const lcTag=transformCaseFunc(_readNodeName(node));try{if(element.hasAttribute&&element.hasAttribute(`patchsrc`))element.removeAttribute(`patchsrc`);if(element.hasAttribute&&element.hasAttribute(`for`)&&_isPatchLinkageAttribute(`for`,lcTag))element.removeAttribute(`for`)}catch(_){}}const childNodes=getChildNodes(node);if(childNodes)for(let i=childNodes.length-1;i>=0;--i)stack.push(childNodes[i])}};const _initDocument=function _initDocument(dirty){let doc=null;let leadingWhitespace=null;if(FORCE_BODY)dirty=`<remove></remove>`+dirty;else{const matches=stringMatch(dirty,/^[\r\n\t ]+/);leadingWhitespace=matches&&matches[0]}if(PARSER_MEDIA_TYPE===`application/xhtml+xml`&&NAMESPACE===HTML_NAMESPACE)dirty=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+dirty+`</body></html>`;const dirtyPayload=trustedTypesPolicy?_createTrustedHTML(dirty):dirty;if(NAMESPACE===HTML_NAMESPACE)try{doc=new DOMParser().parseFromString(dirtyPayload,PARSER_MEDIA_TYPE)}catch(_){}if(!doc||!doc.documentElement){doc=implementation.createDocument(NAMESPACE,`template`,null);try{doc.documentElement.innerHTML=IS_EMPTY_INPUT?emptyHTML:dirtyPayload}catch(_){}}const body=doc.body||doc.documentElement;if(dirty&&leadingWhitespace)body.insertBefore(document.createTextNode(leadingWhitespace),body.childNodes[0]||null);if(NAMESPACE===HTML_NAMESPACE)return getElementsByTagName.call(doc,WHOLE_DOCUMENT?`html`:`body`)[0];return WHOLE_DOCUMENT?doc.documentElement:body};const _createNodeIterator=function _createNodeIterator(root){const doc=getOwnerDocument?getOwnerDocument(root):root.ownerDocument;return createNodeIterator.call(doc||root,root,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_COMMENT|NodeFilter.SHOW_TEXT|NodeFilter.SHOW_PROCESSING_INSTRUCTION|NodeFilter.SHOW_CDATA_SECTION,null)};const _stripTemplateExpressions=function _stripTemplateExpressions(value){value=stringReplace(value,MUSTACHE_EXPR$1,` `);value=stringReplace(value,ERB_EXPR$1,` `);value=stringReplace(value,TMPLIT_EXPR$1,` `);return value};const _scrubTemplateExpressions2=function _scrubTemplateExpressions(node){var _node$querySelectorAl;node.normalize();const doc=getOwnerDocument?getOwnerDocument(node):node.ownerDocument;const walker=createNodeIterator.call(doc||node,node,NodeFilter.SHOW_TEXT|NodeFilter.SHOW_COMMENT|NodeFilter.SHOW_CDATA_SECTION|NodeFilter.SHOW_PROCESSING_INSTRUCTION,null);let currentNode=walker.nextNode();while(currentNode){currentNode.data=_stripTemplateExpressions(currentNode.data);currentNode=walker.nextNode()}const templates=(_node$querySelectorAl=node.querySelectorAll)===null||_node$querySelectorAl===void 0?void 0:_node$querySelectorAl.call(node,`template`);if(templates)arrayForEach(templates,tmpl=>{if(_isDocumentFragment(tmpl.content))_scrubTemplateExpressions2(tmpl.content)})};const _isClobbered=function _isClobbered(element){const realTagName=getNodeName?getNodeName(element):null;if(typeof realTagName!==`string`)return false;if(transformCaseFunc(realTagName)!==`form`)return false;return typeof element.nodeName!==`string`||typeof element.textContent!==`string`||typeof element.removeChild!==`function`||element.attributes!==getAttributes(element)||typeof element.removeAttribute!==`function`||typeof element.removeAttributeNode!==`function`||typeof element.getAttributeNode!==`function`||typeof element.setAttribute!==`function`||typeof element.namespaceURI!==`string`||typeof element.insertBefore!==`function`||typeof element.hasChildNodes!==`function`||element.nodeType!==getNodeType(element)||element.childNodes!==getChildNodes(element)};const _isDocumentFragment=function _isDocumentFragment(value){if(!getNodeType||typeof value!==`object`||value===null)return false;try{return getNodeType(value)===NODE_TYPE.documentFragment}catch(_){return false}};const _isNode=function _isNode(value){if(!getNodeType||typeof value!==`object`||value===null)return false;try{return typeof getNodeType(value)===`number`}catch(_){return false}};function _executeHooks(hooks,currentNode,data){if(hooks.length===0)return;arrayForEach(hooks,hook=>{hook.call(DOMPurify,currentNode,data,CONFIG)})}const _isUnsafeNode=function _isUnsafeNode(currentNode,tagName){if(SAFE_FOR_XML&&currentNode.hasChildNodes()&&!_isNode(currentNode.firstElementChild)&&regExpTest(ELEMENT_MARKUP_PROBE,currentNode.textContent)&&regExpTest(ELEMENT_MARKUP_PROBE,currentNode.innerHTML))return true;if(SAFE_FOR_XML&&currentNode.namespaceURI===HTML_NAMESPACE&&LITERAL_TEXT_ELEMENTS[tagName]&&(_isNode(currentNode.firstElementChild)||typeof currentNode.textContent===`string`&&regExpTest(LITERAL_TEXT_CLOSE[tagName],currentNode.textContent)))return true;if(currentNode.nodeType===NODE_TYPE.processingInstruction)return true;if(SAFE_FOR_XML&&currentNode.nodeType===NODE_TYPE.comment&&regExpTest(COMMENT_MARKUP_PROBE,currentNode.data))return true;return false};const _matchesNameCheck=function _matchesNameCheck(check,name){if(check instanceof RegExp)return regExpTest(check,name);if(check instanceof Function){for(var _len=arguments.length,args=new Array(_len>2?_len-2:0),_key=2;_key<_len;_key++)args[_key-2]=arguments[_key];return Boolean(check(name,...args))}return false};const _sanitizeDisallowedNode=function _sanitizeDisallowedNode(currentNode,tagName,root){if(!FORBID_TAGS[tagName]&&_isBasicCustomElement(tagName)&&_matchesNameCheck(CUSTOM_ELEMENT_HANDLING.tagNameCheck,tagName))return false;if(KEEP_CONTENT&&!FORBID_CONTENTS[tagName]){const parentNode=getParentNode(currentNode);const childNodes=getChildNodes(currentNode);if(childNodes&&parentNode){const childCount=childNodes.length;for(let i=childCount-1;i>=0;--i){const hoisted=currentNode===root?cloneNode(childNodes[i],true):childNodes[i];parentNode.insertBefore(hoisted,getNextSibling(currentNode))}}}_forceRemove(currentNode);return true};const _forkSharedAllowlist=function _forkSharedAllowlist(hookList,set,defaultSet,setConfigSet){if(hookList.length===0)return set;return set===defaultSet||set===setConfigSet?clone(set):set};const _handleHookDetachedNode=function _handleHookDetachedNode(currentNode,root){if(currentNode===root||getParentNode(currentNode)!==null)return false;if(IN_PLACE)_neutralizeSubtree(currentNode);return true};const _sanitizeElements=function _sanitizeElements(currentNode,root){_executeHooks(hooks.beforeSanitizeElements,currentNode,null);if(_handleHookDetachedNode(currentNode,root))return true;if(_isClobbered(currentNode)){_forceRemove(currentNode);return true}const tagName=transformCaseFunc(_readNodeName(currentNode));ALLOWED_TAGS=_forkSharedAllowlist(hooks.uponSanitizeElement,ALLOWED_TAGS,DEFAULT_ALLOWED_TAGS,SET_CONFIG_ALLOWED_TAGS);_executeHooks(hooks.uponSanitizeElement,currentNode,{tagName,allowedTags:ALLOWED_TAGS});if(_handleHookDetachedNode(currentNode,root))return true;if(_isUnsafeNode(currentNode,tagName)){_forceRemove(currentNode);return true}if(FORBID_TAGS[tagName]||!(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function&&EXTRA_ELEMENT_HANDLING.tagCheck(tagName))&&!ALLOWED_TAGS[tagName]){const removed=_sanitizeDisallowedNode(currentNode,tagName,root);if(removed===false){_executeHooks(hooks.afterSanitizeElements,currentNode,null);if(_handleHookDetachedNode(currentNode,root))return true}return removed}if(_readNodeType(currentNode)===NODE_TYPE.element&&!_checkValidNamespace(currentNode)){_forceRemove(currentNode);return true}if((tagName===`noscript`||tagName===`noembed`||tagName===`noframes`)&&regExpTest(FALLBACK_TAG_CLOSE,currentNode.innerHTML)){_forceRemove(currentNode);return true}if(SAFE_FOR_TEMPLATES&&currentNode.nodeType===NODE_TYPE.text){const content=_stripTemplateExpressions(currentNode.textContent);if(currentNode.textContent!==content){arrayPush(DOMPurify.removed,{element:currentNode.cloneNode()});currentNode.textContent=content}}_executeHooks(hooks.afterSanitizeElements,currentNode,null);return _handleHookDetachedNode(currentNode,root)};const _isValidAttribute=function _isValidAttribute(lcTag,lcName,value){if(FORBID_ATTR[lcName])return false;if(_isPatchLinkageAttribute(lcName,lcTag))return false;if(SANITIZE_DOM&&(lcName===`id`||lcName===`name`)&&(value in document||value in formElement))return false;const nameIsPermitted=ALLOWED_ATTR[lcName]||EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function&&EXTRA_ELEMENT_HANDLING.attributeCheck(lcName,lcTag);if(ALLOW_DATA_ATTR&&regExpTest(DATA_ATTR$1,lcName))return true;if(ALLOW_ARIA_ATTR&&regExpTest(ARIA_ATTR$1,lcName))return true;if(!nameIsPermitted)return _isBasicCustomElement(lcTag)&&_matchesNameCheck(CUSTOM_ELEMENT_HANDLING.tagNameCheck,lcTag)&&_matchesNameCheck(CUSTOM_ELEMENT_HANDLING.attributeNameCheck,lcName,lcTag)||lcName===`is`&&CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&_matchesNameCheck(CUSTOM_ELEMENT_HANDLING.tagNameCheck,value);if(URI_SAFE_ATTRIBUTES[lcName])return true;if(regExpTest(IS_ALLOWED_URI$1,stringReplace(value,ATTR_WHITESPACE$1,``)))return true;if((lcName===`src`||lcName===`xlink:href`||lcName===`href`)&&lcTag!==`script`&&stringIndexOf(value,`data:`)===0&&DATA_URI_TAGS[lcTag])return true;if(ALLOW_UNKNOWN_PROTOCOLS&&!regExpTest(IS_SCRIPT_OR_DATA$1,stringReplace(value,ATTR_WHITESPACE$1,``)))return true;return!value};const RESERVED_CUSTOM_ELEMENT_NAMES=addToSet({},[`annotation-xml`,`color-profile`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`missing-glyph`]);const _isBasicCustomElement=function _isBasicCustomElement(tagName){return!RESERVED_CUSTOM_ELEMENT_NAMES[stringToLowerCase(tagName)]&&regExpTest(CUSTOM_ELEMENT$1,tagName)};const _applyTrustedTypesToAttribute=function _applyTrustedTypesToAttribute(lcTag,lcName,namespaceURI,value){if(trustedTypesPolicy&&typeof trustedTypes===`object`&&typeof trustedTypes.getAttributeType===`function`&&!namespaceURI)switch(trustedTypes.getAttributeType(lcTag,lcName)){case`TrustedHTML`:return _createTrustedHTML(value);case`TrustedScriptURL`:return _createTrustedScriptURL(value)}return value};const _setAttributeValue=function _setAttributeValue(currentNode,name,namespaceURI,value){try{if(namespaceURI)currentNode.setAttributeNS(namespaceURI,name,value);else currentNode.setAttribute(name,value);if(_isClobbered(currentNode)){_forceRemove(currentNode);return false}return true}catch(_){_removeAttribute(name,currentNode);return false}};const _sanitizeAttributes=function _sanitizeAttributes(currentNode,root){_executeHooks(hooks.beforeSanitizeAttributes,currentNode,null);if(_handleHookDetachedNode(currentNode,root))return;const attributes=currentNode.attributes;if(!attributes||_isClobbered(currentNode))return;ALLOWED_ATTR=_forkSharedAllowlist(hooks.uponSanitizeAttribute,ALLOWED_ATTR,DEFAULT_ALLOWED_ATTR,SET_CONFIG_ALLOWED_ATTR);const hookEvent={attrName:``,attrValue:``,keepAttr:true,allowedAttributes:ALLOWED_ATTR,forceKeepAttr:void 0};let l=attributes.length;const lcTag=transformCaseFunc(currentNode.nodeName);while(l--){const attr=attributes[l];const name=attr.name,namespaceURI=attr.namespaceURI,attrValue=attr.value;const lcName=transformCaseFunc(name);const initValue=attrValue;let value=name===`value`?initValue:stringTrim(initValue);let recreatedNamedProp=false;hookEvent.attrName=lcName;hookEvent.attrValue=value;hookEvent.keepAttr=true;hookEvent.forceKeepAttr=void 0;_executeHooks(hooks.uponSanitizeAttribute,currentNode,hookEvent);value=hookEvent.attrValue;if(SANITIZE_NAMED_PROPS&&(lcName===`id`||lcName===`name`)&&stringIndexOf(value,SANITIZE_NAMED_PROPS_PREFIX)!==0){_removeAttribute(name,currentNode,attr);value=SANITIZE_NAMED_PROPS_PREFIX+value;recreatedNamedProp=true}if(SAFE_FOR_XML&&regExpTest(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,value)){_removeAttribute(name,currentNode,attr);continue}if(lcName===`attributename`&&stringMatch(value,`href`)){_removeAttribute(name,currentNode,attr);continue}if(hookEvent.forceKeepAttr)continue;if(!hookEvent.keepAttr){_removeAttribute(name,currentNode,attr);continue}if(!ALLOW_SELF_CLOSE_IN_ATTR&&regExpTest(SELF_CLOSING_TAG,value)){_removeAttribute(name,currentNode,attr);continue}if(SAFE_FOR_TEMPLATES)value=_stripTemplateExpressions(value);if(!_isValidAttribute(lcTag,lcName,value)){_removeAttribute(name,currentNode,attr);continue}value=_applyTrustedTypesToAttribute(lcTag,lcName,namespaceURI,value);if(value!==initValue){if(_setAttributeValue(currentNode,name,namespaceURI,value)&&recreatedNamedProp)arrayPop(DOMPurify.removed)}}_executeHooks(hooks.afterSanitizeAttributes,currentNode,null);_handleHookDetachedNode(currentNode,root)};const _sanitizeShadowDOM2=function _sanitizeShadowDOM(fragment){let shadowNode=null;const shadowIterator=_createNodeIterator(fragment);_executeHooks(hooks.beforeSanitizeShadowDOM,fragment,null);while(shadowNode=shadowIterator.nextNode()){_executeHooks(hooks.uponSanitizeShadowNode,shadowNode,null);_sanitizeElements(shadowNode,fragment);_sanitizeAttributes(shadowNode,fragment);if(_isDocumentFragment(shadowNode.content))_sanitizeShadowDOM2(shadowNode.content);if(_readNodeType(shadowNode)===NODE_TYPE.element){const innerSr=getShadowRoot(shadowNode);if(_isDocumentFragment(innerSr)){_sanitizeAttachedShadowRoots(innerSr);_sanitizeShadowDOM2(innerSr)}}}_executeHooks(hooks.afterSanitizeShadowDOM,fragment,null)};const _sanitizeAttachedShadowRoots=function _sanitizeAttachedShadowRoots(root){const stack=[{node:root,shadow:null}];while(stack.length>0){const item=stack.pop();if(item.shadow){_sanitizeShadowDOM2(item.shadow);continue}const node=item.node;const isElement=_readNodeType(node)===NODE_TYPE.element;const childNodes=getChildNodes(node);if(childNodes)for(let i=childNodes.length-1;i>=0;--i)stack.push({node:childNodes[i],shadow:null});if(isElement){const rootName=getNodeName?getNodeName(node):null;if(typeof rootName===`string`&&transformCaseFunc(rootName)===`template`){const content=node.content;if(_isDocumentFragment(content))stack.push({node:content,shadow:null})}}if(isElement){const sr=getShadowRoot(node);if(_isDocumentFragment(sr))stack.push({node:null,shadow:sr},{node:sr,shadow:null})}}};DOMPurify.sanitize=function(dirty){let cfg=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};let body=null;let importedNode=null;let currentNode=null;let returnNode=null;IS_EMPTY_INPUT=!dirty;if(IS_EMPTY_INPUT)dirty=`<!-->`;if(typeof dirty!==`string`&&!_isNode(dirty)){dirty=stringifyValue(dirty);if(typeof dirty!==`string`)throw typeErrorCreate(`dirty is not a string, aborting`)}if(!DOMPurify.isSupported)return dirty;if(SET_CONFIG){ALLOWED_TAGS=SET_CONFIG_ALLOWED_TAGS;ALLOWED_ATTR=SET_CONFIG_ALLOWED_ATTR}else _parseConfig(cfg);if(hooks.uponSanitizeElement.length>0||hooks.uponSanitizeAttribute.length>0)ALLOWED_TAGS=clone(ALLOWED_TAGS);if(hooks.uponSanitizeAttribute.length>0)ALLOWED_ATTR=clone(ALLOWED_ATTR);DOMPurify.removed=[];const inPlace=IN_PLACE&&typeof dirty!==`string`&&_isNode(dirty);if(inPlace){_neutralizePatchLinkage(dirty);const nn=_readNodeName(dirty);if(typeof nn===`string`){const tagName=transformCaseFunc(nn);if(!ALLOWED_TAGS[tagName]||FORBID_TAGS[tagName]){_neutralizeRoot(dirty);throw typeErrorCreate(`root node is forbidden and cannot be sanitized in-place`)}}if(_isClobbered(dirty)){_neutralizeRoot(dirty);throw typeErrorCreate(`root node is clobbered and cannot be sanitized in-place`)}try{_sanitizeAttachedShadowRoots(dirty)}catch(error){_neutralizeRoot(dirty);throw error}}else if(_isNode(dirty)){body=_initDocument(`<!---->`);importedNode=body.ownerDocument.importNode(dirty,true);if(importedNode.nodeType===NODE_TYPE.element&&importedNode.nodeName===`BODY`)body=importedNode;else if(importedNode.nodeName===`HTML`)body=importedNode;else body.appendChild(importedNode);_sanitizeAttachedShadowRoots(body)}else{if(!RETURN_DOM&&!SAFE_FOR_TEMPLATES&&!WHOLE_DOCUMENT&&dirty.indexOf(`<`)===-1)return trustedTypesPolicy&&RETURN_TRUSTED_TYPE?_createTrustedHTML(dirty):dirty;body=_initDocument(dirty);if(!body)return RETURN_DOM?null:RETURN_TRUSTED_TYPE?emptyHTML:``}if(body&&FORCE_BODY)_forceRemove(body.firstChild);const walkRoot=inPlace?dirty:body;try{const nodeIterator=_createNodeIterator(walkRoot);while(currentNode=nodeIterator.nextNode()){_sanitizeElements(currentNode,walkRoot);_sanitizeAttributes(currentNode,walkRoot);if(_isDocumentFragment(currentNode.content))_sanitizeShadowDOM2(currentNode.content)}}catch(error){if(inPlace){_neutralizeRoot(dirty);arrayForEach(DOMPurify.removed,entry=>{if(entry.element)_neutralizeSubtree(entry.element)})}throw error}if(inPlace){let rootWasRemoved=false;arrayForEach(DOMPurify.removed,entry=>{if(entry.element){if(entry.element===dirty)rootWasRemoved=true;_neutralizeSubtree(entry.element)}});if(rootWasRemoved)throw typeErrorCreate(`a node selected for removal could not be safely returned; refusing to sanitize in place`);if(SAFE_FOR_TEMPLATES)_scrubTemplateExpressions2(dirty);return dirty}if(RETURN_DOM){if(SAFE_FOR_TEMPLATES)_scrubTemplateExpressions2(body);if(RETURN_DOM_FRAGMENT){returnNode=createDocumentFragment.call(body.ownerDocument);while(body.firstChild)returnNode.appendChild(body.firstChild)}else returnNode=body;if(ALLOWED_ATTR.shadowroot||ALLOWED_ATTR.shadowrootmode)returnNode=importNode.call(originalDocument,returnNode,true);return returnNode}let serializedHTML=WHOLE_DOCUMENT?body.outerHTML:body.innerHTML;if(WHOLE_DOCUMENT&&ALLOWED_TAGS[`!doctype`]&&body.ownerDocument&&body.ownerDocument.doctype&&body.ownerDocument.doctype.name&&regExpTest(DOCTYPE_NAME,body.ownerDocument.doctype.name))serializedHTML=`<!DOCTYPE `+body.ownerDocument.doctype.name+`>
3
- `+serializedHTML;if(SAFE_FOR_TEMPLATES)serializedHTML=_stripTemplateExpressions(serializedHTML);return trustedTypesPolicy&&RETURN_TRUSTED_TYPE?_createTrustedHTML(serializedHTML):serializedHTML};DOMPurify.setConfig=function(){let cfg=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};_parseConfig(cfg);SET_CONFIG=true;SET_CONFIG_ALLOWED_TAGS=ALLOWED_TAGS;SET_CONFIG_ALLOWED_ATTR=ALLOWED_ATTR};DOMPurify.clearConfig=function(){CONFIG=null;SET_CONFIG=false;SET_CONFIG_ALLOWED_TAGS=null;SET_CONFIG_ALLOWED_ATTR=null;trustedTypesPolicy=defaultTrustedTypesPolicy;emptyHTML=``};DOMPurify.isValidAttribute=function(tag,attr,value){if(!CONFIG)_parseConfig({});const lcTag=transformCaseFunc(tag);const lcName=transformCaseFunc(attr);return _isValidAttribute(lcTag,lcName,value)};DOMPurify.addHook=function(entryPoint,hookFunction){if(typeof hookFunction!==`function`)return;if(!objectHasOwnProperty(hooks,entryPoint))return;arrayPush(hooks[entryPoint],hookFunction)};DOMPurify.removeHook=function(entryPoint,hookFunction){if(!objectHasOwnProperty(hooks,entryPoint))return;if(hookFunction!==void 0){const index=arrayLastIndexOf(hooks[entryPoint],hookFunction);return index===-1?void 0:arraySplice(hooks[entryPoint],index,1)[0]}return arrayPop(hooks[entryPoint])};DOMPurify.removeHooks=function(entryPoint){if(!objectHasOwnProperty(hooks,entryPoint))return;hooks[entryPoint]=[]};DOMPurify.removeAllHooks=function(){hooks=_createHooksMap()};return DOMPurify}var purify_default=createDOMPurify();var _hoisted_1=[`innerHTML`];var _sfc_main={__name:`GithubMarkdown`,props:{html:{type:String,default:``},text:{type:String,default:``}},setup(__props){const props=__props;const sanitizedHtml=computed(()=>purify_default.sanitize(props.html,{ALLOWED_TAGS:[`a`,`b`,`blockquote`,`br`,`code`,`del`,`details`,`div`,`em`,`h1`,`h2`,`h3`,`h4`,`h5`,`h6`,`hr`,`img`,`li`,`ol`,`p`,`pre`,`s`,`span`,`strong`,`sub`,`summary`,`sup`,`table`,`tbody`,`td`,`th`,`thead`,`tr`,`ul`],ALLOWED_ATTR:[`href`,`src`,`alt`,`title`,`width`,`height`,`colspan`,`rowspan`,`start`],ALLOW_DATA_ATTR:false,ALLOW_ARIA_ATTR:false}));const blocks=computed(()=>parseLongTextReviewBlocks(props.text));return(_ctx,_cache)=>{return __props.html?(openBlock(),createElementBlock(`div`,{key:0,class:`github-markdown`,innerHTML:sanitizedHtml.value},null,8,_hoisted_1)):(openBlock(),createBlock(unref(LongTextPreviewBlocks_default),{key:1,blocks:blocks.value},null,8,[`blocks`]))}}};var GithubMarkdown_default=_plugin_vue_export_helper_default(_sfc_main,[[`__scopeId`,`data-v-3636cce2`]]);export{GithubMarkdown_default as t};
@@ -1 +0,0 @@
1
- .github-markdown[data-v-3636cce2]{overflow-wrap:anywhere;min-width:0;font-size:.88rem;line-height:1.5}.github-markdown[data-v-3636cce2] img{vertical-align:middle;max-width:100%;height:auto}.github-markdown[data-v-3636cce2] p,.github-markdown[data-v-3636cce2] ul,.github-markdown[data-v-3636cce2] ol,.github-markdown[data-v-3636cce2] blockquote,.github-markdown[data-v-3636cce2] pre,.github-markdown[data-v-3636cce2] table{margin-block:.6rem}.github-markdown[data-v-3636cce2] :first-child{margin-top:0}.github-markdown[data-v-3636cce2] :last-child{margin-bottom:0}.github-markdown[data-v-3636cce2] ul,.github-markdown[data-v-3636cce2] ol{padding-inline-start:1.5rem}.github-markdown[data-v-3636cce2] pre{border-radius:8px;padding:.6rem;overflow-x:auto}.github-markdown[data-v-3636cce2] code,.github-markdown[data-v-3636cce2] pre{background:rgba(var(--v-theme-surface-variant), .5)}.github-markdown[data-v-3636cce2] blockquote{border-inline-start:3px solid rgba(var(--v-border-color), var(--v-border-opacity));padding-inline-start:1rem}.github-markdown[data-v-3636cce2] table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.github-markdown[data-v-3636cce2] th,.github-markdown[data-v-3636cce2] td{border:1px solid rgba(var(--v-border-color), var(--v-border-opacity));padding:.4rem .6rem}
@@ -1 +0,0 @@
1
- import{D as createVNode,Lt as useSlots,On as unref,Zn as normalizeClass,_ as createBaseVNode,b as createElementBlock,ct as onMounted,g as computed,gt as provide,it as onBeforeUnmount,mt as openBlock,qt as withCtx,tr as toDisplayString,v as createBlock,vn as ref,xt as renderSlot,y as createCommentVNode}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{t as useEndpointResource}from"./useEndpointResource-MWVNfmMa.js";import{_ as useRouter,g as useRoute}from"./useApi-BPuI6ZR9-CFWU1m37.js";import{a as projectSlugFromRoute,r as projectAppPath}from"./vibe64ProjectScope.local-DqT6e5un.js";import{t as VSelect}from"./VSelect-DL3HaA5m.js";import{n as VList}from"./VMenu-C_x18lwb.js";import{t as VSheet}from"./VSheet-DZWsu0kL.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper-DNW4j-dv.js";import{r as scopedDevelopmentApiUrl}from"./studioUrls-Dj8rXeXO.js";import{a as VIBE64_ACTIVE_SESSION_NAV_KEY,o as _sfc_main$2}from"./index-BUq-MczL.js";import{t as getPlacements}from"./placement-DLsU3pCW.js";function normalizeRoutePath(pathValue=``){const path=String(pathValue||``).trim();if(!path||path===`/`)return path||`/`;return path.replace(/\/+$/u,``)}function routePathContainsSection(routePathValue=``,sectionPathValue=``){const routePath=normalizeRoutePath(routePathValue);const sectionPath=normalizeRoutePath(sectionPathValue);return Boolean(sectionPath&&sectionPath!==`/`&&(routePath===sectionPath||routePath.startsWith(`${sectionPath}/`)))}var _hoisted_1$1={key:0,class:`section-container-shell__heading`};var _hoisted_2={key:0,class:`section-container-shell__title`};var _hoisted_3={key:1,class:`text-body-2 text-medium-emphasis mb-0`};var _hoisted_4={class:`section-container-shell__body`};var _hoisted_5={key:1,class:`section-container-shell__nav`,"aria-label":`Dashboard sections`};var _hoisted_6={class:`section-container-shell__content`};var MOBILE_SECTION_MEDIA_QUERY=`(max-width: 760px)`;var _sfc_main$1={__name:`SectionContainerShell`,props:{navigationCollapsed:{type:Boolean,default:false},title:{type:String,default:``},subtitle:{type:String,default:``},mobileSectionLinks:{type:Array,default:()=>[]}},setup(__props){const props=__props;const slots=useSlots();const route=useRoute();const router=useRouter();const mobileSectionLayout=ref(initialMobileSectionLayout());let mobileSectionMediaQuery=null;const resolvedTitle=computed(()=>String(props.title||``).trim());const resolvedSubtitle=computed(()=>String(props.subtitle||``).trim());const hasHeading=computed(()=>Boolean(resolvedTitle.value||resolvedSubtitle.value));const hasTabs=computed(()=>Boolean(slots.tabs));const mobileSectionLinks=computed(()=>{return props.mobileSectionLinks.map(link=>({disabled:link?.disabled===true,icon:String(link?.icon||``),id:String(link?.id||link?.to||link?.label||``),label:String(link?.label||``),to:normalizeRoutePath(link?.to||``)})).filter(link=>Boolean(link.id&&link.label&&link.to))});const mobileSectionsActive=computed(()=>Boolean(mobileSectionLayout.value&&mobileSectionLinks.value.length));const activeMobileSection=computed(()=>{return mobileSectionLinks.value.find(link=>routePathContainsSection(route.path||``,link.to))||null});const activeMobileSectionValue=computed(()=>activeMobileSection.value?.to||null);function initialMobileSectionLayout(){if(typeof window===`undefined`||typeof window.matchMedia!==`function`)return false;return window.matchMedia(MOBILE_SECTION_MEDIA_QUERY).matches}function syncMobileSectionLayout(){mobileSectionLayout.value=Boolean(mobileSectionMediaQuery?.matches)}function selectMobileSection(value=``){const targetPath=normalizeRoutePath(value||``);if(!targetPath||targetPath===activeMobileSectionValue.value)return;const targetLink=mobileSectionLinks.value.find(link=>link.to===targetPath);if(!targetLink||targetLink.disabled)return;router.push(targetLink.to)}onMounted(()=>{if(typeof window===`undefined`||typeof window.matchMedia!==`function`)return;mobileSectionMediaQuery=window.matchMedia(MOBILE_SECTION_MEDIA_QUERY);syncMobileSectionLayout();if(typeof mobileSectionMediaQuery.addEventListener===`function`)mobileSectionMediaQuery.addEventListener(`change`,syncMobileSectionLayout);else mobileSectionMediaQuery.addListener?.(syncMobileSectionLayout)});onBeforeUnmount(()=>{if(typeof mobileSectionMediaQuery?.removeEventListener===`function`)mobileSectionMediaQuery.removeEventListener(`change`,syncMobileSectionLayout);else mobileSectionMediaQuery?.removeListener?.(syncMobileSectionLayout);mobileSectionMediaQuery=null});return(_ctx,_cache)=>{return openBlock(),createElementBlock(`section`,{class:normalizeClass([`section-container-shell`,{"section-container-shell--with-heading":hasHeading.value,"section-container-shell--collapsed":__props.navigationCollapsed}])},[hasHeading.value?(openBlock(),createElementBlock(`header`,_hoisted_1$1,[resolvedTitle.value?(openBlock(),createElementBlock(`h1`,_hoisted_2,toDisplayString(resolvedTitle.value),1)):createCommentVNode(``,true),resolvedSubtitle.value?(openBlock(),createElementBlock(`p`,_hoisted_3,toDisplayString(resolvedSubtitle.value),1)):createCommentVNode(``,true)])):createCommentVNode(``,true),createVNode(VSheet,{rounded:__props.navigationCollapsed?0:`xl`,border:!__props.navigationCollapsed,class:`section-container-shell__panel`},{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_4,[mobileSectionsActive.value&&!__props.navigationCollapsed?(openBlock(),createBlock(VSelect,{key:0,class:`section-container-shell__mobile-select`,"model-value":activeMobileSectionValue.value,items:mobileSectionLinks.value,"item-title":`label`,"item-value":`to`,"item-props":item=>({disabled:item.disabled,prependIcon:item.icon||void 0}),"prepend-inner-icon":activeMobileSection.value?.icon||void 0,label:`Dashboard section`,rounded:`lg`,variant:`outlined`,"hide-details":``,"onUpdate:modelValue":selectMobileSection},null,8,[`model-value`,`items`,`item-props`,`prepend-inner-icon`])):createCommentVNode(``,true),hasTabs.value&&!mobileSectionsActive.value&&!__props.navigationCollapsed?(openBlock(),createElementBlock(`nav`,_hoisted_5,[createVNode(VList,{nav:``,"bg-color":`transparent`,density:`compact`},{default:withCtx(()=>[renderSlot(_ctx.$slots,`tabs`,{},void 0,true)]),_:3})])):createCommentVNode(``,true),createBaseVNode(`main`,_hoisted_6,[renderSlot(_ctx.$slots,`default`,{},void 0,true)])])]),_:3},8,[`rounded`,`border`])],2)}}};var SectionContainerShell_default=_plugin_vue_export_helper_default(_sfc_main$1,[[`__scopeId`,`data-v-4976d7b0`]]);function useVibe64DashboardPage({dashboardContext=null}={}){const route=useRoute();const projectSlug=computed(()=>projectSlugFromRoute(route));const projectBasePath=computed(()=>projectAppPath(projectSlug.value));return{dashboardSectionLinks:computed(()=>getPlacements().filter(placement=>placement?.kind===`link`&&placement?.owner===`app-dashboard`&&placement?.target===`page.section-nav`&&dashboardPlacementVisible(placement,dashboardContext)).sort((left,right)=>Number(left?.order||0)-Number(right?.order||0)).map(placement=>({disabled:placement?.props?.disabled===true,icon:placement?.props?.icon||``,id:placement?.id||``,label:placement?.props?.label||``,to:`${projectBasePath.value}${dashboardSectionSuffix(placement)}`})))}}function dashboardPlacementVisible(placement={},dashboardContext=null){const predicate=placement?.props?.visibleWhen;if(typeof predicate!==`function`)return true;const context=typeof dashboardContext===`function`?dashboardContext():dashboardContext?.value??dashboardContext;return predicate(context&&typeof context===`object`?context:{})===true}function activeSessionMobileSectionLinks(activeSessionNav=null){if(!activeSessionNav?.visible||!Array.isArray(activeSessionNav.tools))return[];return activeSessionNav.tools.map(tool=>({disabled:tool?.disabled===true,icon:String(tool?.icon||``),id:`active-session:${String(tool?.id||tool?.to||tool?.label||``)}`,label:String(tool?.label||``),to:String(tool?.to||``)})).filter(tool=>Boolean(tool.id!==`active-session:`&&tool.label&&tool.to))}function dashboardSectionSuffix(placement={}){const suffix=String(placement?.props?.scopedSuffix||placement?.props?.unscopedSuffix||``).trim();if(!suffix)return``;const projectRelativeSuffix=suffix.replace(/^\/+/u,``).replace(/^project\/\[slug\](?=\/|$)/u,``).replace(/^\[slug\](?=\/|$)/u,``).replace(/^\/+/u,``);return projectRelativeSuffix?`/${projectRelativeSuffix}`:``}var _hoisted_1={key:0,class:`vibe64-dashboard-nav-group-label`};var _sfc_main={__name:`Vibe64DashboardShell`,props:{dashboardContext:{default:()=>({}),type:Object}},setup(__props){const props=__props;const route=useRoute();const incomingPath=computed(()=>scopedDevelopmentApiUrl(`/api/vibe64/incoming`,projectSlugFromRoute(route)));const incomingQuery=computed(()=>({sessionId:props.dashboardContext.sessionId,state:`pending`,limit:1}));const incoming=useEndpointResource({path:incomingPath,readQuery:incomingQuery,queryKey:computed(()=>[`vibe64.incoming`,incomingPath.value,`badge`,incomingQuery.value]),enabled:computed(()=>props.dashboardContext.active!==false&&Boolean(props.dashboardContext.sessionId)&&!props.dashboardContext.lessonDashboard&&props.dashboardContext.projectContext?.repositoryMode===`github`),queryOptions:{retry:false,staleTime:3e4,refetchInterval:6e4}});const incomingCount=computed(()=>incoming.loadError.value?null:incoming.data.value?.pendingCount??null);provide(`vibe64.incoming.pendingCount`,incomingCount);const githubBrowserOpen=computed(()=>/\/dashboard\/(issues|pull-requests)\/?$/u.test(route.path));const{dashboardSectionLinks}=useVibe64DashboardPage({dashboardContext:()=>props.dashboardContext});const activeSessionNav=computed(()=>{const nav=props.dashboardContext?.activeSessionNav||null;return nav&&typeof nav===`object`?nav:null});const mobileDashboardSectionLinks=computed(()=>[...dashboardSectionLinks.value.map(link=>link.id===`vibe64.incoming.link`&&incomingCount.value>0?{...link,label:`${link.label} (${incomingCount.value})`}:link),...activeSessionMobileSectionLinks(activeSessionNav.value)]);provide(VIBE64_ACTIVE_SESSION_NAV_KEY,activeSessionNav);return(_ctx,_cache)=>{return openBlock(),createBlock(SectionContainerShell_default,{"mobile-section-links":mobileDashboardSectionLinks.value,"navigation-collapsed":githubBrowserOpen.value},{tabs:withCtx(()=>[unref(dashboardSectionLinks).length?(openBlock(),createElementBlock(`span`,_hoisted_1,`Project`)):createCommentVNode(``,true),createVNode(unref(_sfc_main$2),{target:`app-dashboard:primary-menu`,context:__props.dashboardContext},null,8,[`context`]),createVNode(unref(_sfc_main$2),{target:`app-dashboard:active-session-menu`,context:{activeSessionNav:activeSessionNav.value||{}}},null,8,[`context`])]),default:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},void 0,true)]),_:3},8,[`mobile-section-links`,`navigation-collapsed`])}}};var Vibe64DashboardShell_default=_plugin_vue_export_helper_default(_sfc_main,[[`__scopeId`,`data-v-afa88091`]]);export{Vibe64DashboardShell_default as t};