@pie-players/pie-assessment-toolkit 0.3.74 → 1.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/README.md +658 -714
  2. package/custom-elements.json +1315 -0
  3. package/dist/attempt/TestSession.d.ts +1 -21
  4. package/dist/attempt/TestSession.js +16 -102
  5. package/dist/components/ItemScope.custom-element.d.ts +1 -0
  6. package/dist/components/ItemScope.custom-element.js +1 -0
  7. package/dist/components/ItemToolBar.custom-element.js +1 -1
  8. package/dist/components/PieAssessmentToolkit.custom-element.js +14 -14
  9. package/dist/components/SectionToolBar.custom-element.js +1 -1
  10. package/dist/components/chunks/ItemToolBar-3zrc4p3d.js +4 -0
  11. package/dist/components/chunks/ItemToolBar-66hcwmfw.js +2 -0
  12. package/dist/components/chunks/ItemToolBar-9gqhfxtn.js +40 -0
  13. package/dist/components/chunks/ItemToolBar-hzc5wyjp.js +2 -0
  14. package/dist/components/chunks/{ItemToolBar-gmrryv2v.js → ItemToolBar-kkj69ptr.js} +1 -1
  15. package/dist/components/chunks/ItemToolBar-vdkyn9f3.js +2 -0
  16. package/dist/components/chunks/sre-engine-bj997w4b.js +1 -0
  17. package/dist/components/item-scope-element.d.ts +2 -0
  18. package/dist/components/item-scope-element.js +2 -0
  19. package/dist/context/assessment-toolkit-context.d.ts +33 -6
  20. package/dist/index.d.ts +25 -50
  21. package/dist/index.js +15 -45
  22. package/dist/policy/core/PolicySource.d.ts +2 -2
  23. package/dist/policy/core/ToolPolicyEngine.d.ts +118 -34
  24. package/dist/policy/core/ToolPolicyEngine.js +203 -56
  25. package/dist/policy/core/compose-decision.d.ts +28 -7
  26. package/dist/policy/core/compose-decision.js +95 -74
  27. package/dist/policy/core/decision-types.d.ts +98 -55
  28. package/dist/policy/core/feature-decision.d.ts +28 -19
  29. package/dist/policy/core/feature-decision.js +15 -11
  30. package/dist/policy/core/pnp-policy-inputs.d.ts +29 -35
  31. package/dist/policy/core/pnp-policy-inputs.js +40 -88
  32. package/dist/policy/core/provenance.d.ts +10 -5
  33. package/dist/policy/core/provenance.js +1 -1
  34. package/dist/policy/core/tool-parameters.d.ts +11 -0
  35. package/dist/policy/core/tool-parameters.js +15 -0
  36. package/dist/policy/engine.d.ts +7 -23
  37. package/dist/policy/engine.js +5 -20
  38. package/dist/policy/sources/PnpPolicySource.d.ts +43 -68
  39. package/dist/policy/sources/PnpPolicySource.js +133 -132
  40. package/dist/runtime/SectionControllerBinding.d.ts +283 -0
  41. package/dist/runtime/SectionControllerBinding.js +456 -0
  42. package/dist/runtime/SectionRuntimeEngine.d.ts +26 -289
  43. package/dist/runtime/SectionRuntimeEngine.js +30 -372
  44. package/dist/runtime/adapter/SectionEngineAdapter.d.ts +19 -80
  45. package/dist/runtime/adapter/SectionEngineAdapter.js +19 -92
  46. package/dist/runtime/adapter/dom-event-bridge.d.ts +15 -30
  47. package/dist/runtime/adapter/dom-event-bridge.js +17 -44
  48. package/dist/runtime/adapter/subscriber-fanout.d.ts +1 -3
  49. package/dist/runtime/adapter/subscriber-fanout.js +2 -6
  50. package/dist/runtime/catalog-context.d.ts +19 -0
  51. package/dist/runtime/catalog-context.js +28 -0
  52. package/dist/runtime/composition-emit-scheduler.d.ts +12 -18
  53. package/dist/runtime/composition-emit-scheduler.js +10 -16
  54. package/dist/runtime/content-language.d.ts +32 -0
  55. package/dist/runtime/content-language.js +46 -0
  56. package/dist/runtime/content-region.d.ts +13 -0
  57. package/dist/runtime/content-region.js +29 -0
  58. package/dist/runtime/content-registration.d.ts +13 -0
  59. package/dist/runtime/content-registration.js +25 -0
  60. package/dist/runtime/core/SectionEngineCore.d.ts +2 -4
  61. package/dist/runtime/core/SectionEngineCore.js +2 -6
  62. package/dist/runtime/core/cohort.d.ts +1 -6
  63. package/dist/runtime/core/cohort.js +1 -10
  64. package/dist/runtime/core/engine-input.d.ts +18 -30
  65. package/dist/runtime/core/engine-input.js +11 -12
  66. package/dist/runtime/core/engine-output.d.ts +17 -40
  67. package/dist/runtime/core/engine-output.js +9 -21
  68. package/dist/runtime/core/engine-readiness.d.ts +5 -37
  69. package/dist/runtime/core/engine-readiness.js +8 -41
  70. package/dist/runtime/core/engine-resolver.d.ts +46 -74
  71. package/dist/runtime/core/engine-resolver.js +18 -43
  72. package/dist/runtime/core/engine-state.d.ts +28 -36
  73. package/dist/runtime/core/engine-state.js +18 -21
  74. package/dist/runtime/core/engine-transition.d.ts +14 -19
  75. package/dist/runtime/core/engine-transition.js +74 -53
  76. package/dist/runtime/engine.d.ts +16 -19
  77. package/dist/runtime/engine.js +12 -19
  78. package/dist/runtime/page-warnings.d.ts +13 -0
  79. package/dist/runtime/page-warnings.js +22 -0
  80. package/dist/runtime/policy-input-forwarding.d.ts +25 -0
  81. package/dist/runtime/policy-input-forwarding.js +25 -0
  82. package/dist/runtime/registration-events.d.ts +22 -14
  83. package/dist/runtime/runtime-event-claim.d.ts +8 -0
  84. package/dist/runtime/runtime-event-claim.js +15 -0
  85. package/dist/runtime/runtime-id.d.ts +1 -1
  86. package/dist/runtime/runtime-id.js +1 -1
  87. package/dist/runtime/shell-event-bridge.d.ts +45 -0
  88. package/dist/runtime/shell-event-bridge.js +127 -0
  89. package/dist/runtime/shell-registration.d.ts +73 -0
  90. package/dist/runtime/shell-registration.js +95 -0
  91. package/dist/runtime/shell-scope.d.ts +68 -0
  92. package/dist/runtime/shell-scope.js +194 -0
  93. package/dist/runtime/tool-host-contract.d.ts +8 -14
  94. package/dist/runtime/tool-host-contract.js +12 -12
  95. package/dist/runtime/unclaimed-registration-watch.d.ts +7 -0
  96. package/dist/runtime/unclaimed-registration-watch.js +23 -0
  97. package/dist/services/AccessibilityCatalogResolver.d.ts +21 -31
  98. package/dist/services/AccessibilityCatalogResolver.js +29 -42
  99. package/dist/services/ElementToolStateStore.d.ts +42 -67
  100. package/dist/services/ElementToolStateStore.js +65 -71
  101. package/dist/services/HighlightCoordinator.d.ts +28 -40
  102. package/dist/services/HighlightCoordinator.js +459 -381
  103. package/dist/services/RangeSerializer.d.ts +11 -33
  104. package/dist/services/RangeSerializer.js +88 -59
  105. package/dist/services/SSMLExtractor.d.ts +8 -31
  106. package/dist/services/SSMLExtractor.js +18 -40
  107. package/dist/services/TTSService.d.ts +159 -119
  108. package/dist/services/TTSService.js +937 -822
  109. package/dist/services/ToolCoordinator.d.ts +42 -102
  110. package/dist/services/ToolCoordinator.js +178 -256
  111. package/dist/services/ToolRegistry.d.ts +152 -133
  112. package/dist/services/ToolRegistry.js +192 -178
  113. package/dist/services/ToolkitCoordinator.d.ts +233 -237
  114. package/dist/services/ToolkitCoordinator.js +615 -557
  115. package/dist/services/audio-handoff.d.ts +6 -7
  116. package/dist/services/audio-handoff.js +20 -14
  117. package/dist/services/catalog-owner.d.ts +0 -1
  118. package/dist/services/framework-error-bus.d.ts +3 -6
  119. package/dist/services/framework-error-bus.js +3 -6
  120. package/dist/services/framework-error.d.ts +51 -13
  121. package/dist/services/framework-error.js +19 -20
  122. package/dist/services/interfaces.d.ts +189 -184
  123. package/dist/services/section-controller-types.d.ts +7 -7
  124. package/dist/services/section-session-assignment.d.ts +21 -0
  125. package/dist/services/section-session-assignment.js +80 -0
  126. package/dist/services/spoken-audio-cards.d.ts +2 -6
  127. package/dist/services/spoken-audio-cards.js +2 -6
  128. package/dist/services/tool-config-defaults.d.ts +3 -3
  129. package/dist/services/tool-config-defaults.js +3 -3
  130. package/dist/services/tool-config-validation.d.ts +9 -12
  131. package/dist/services/tool-config-validation.js +47 -87
  132. package/dist/services/tool-context.d.ts +7 -31
  133. package/dist/services/tool-context.js +99 -65
  134. package/dist/services/tool-failure.d.ts +30 -0
  135. package/dist/services/tool-failure.js +11 -0
  136. package/dist/services/tool-icons.d.ts +5 -5
  137. package/dist/services/tool-icons.js +6 -5
  138. package/dist/services/tool-instance-id.d.ts +8 -7
  139. package/dist/services/tool-instance-id.js +12 -24
  140. package/dist/services/tool-providers/TTSToolProvider.d.ts +20 -58
  141. package/dist/services/tool-providers/TTSToolProvider.js +32 -85
  142. package/dist/services/tool-providers/ToolProviderApi.d.ts +10 -11
  143. package/dist/services/tool-providers/ToolProviderRegistry.d.ts +29 -60
  144. package/dist/services/tool-providers/ToolProviderRegistry.js +128 -144
  145. package/dist/services/tool-request.d.ts +31 -12
  146. package/dist/services/tool-request.js +31 -16
  147. package/dist/services/toolbar-decided-tools.d.ts +16 -0
  148. package/dist/services/toolbar-decided-tools.js +29 -0
  149. package/dist/services/toolbar-items.js +2 -5
  150. package/dist/services/tools-config-normalizer.d.ts +33 -29
  151. package/dist/services/tools-config-normalizer.js +26 -28
  152. package/dist/services/tts/browser-provider.d.ts +39 -6
  153. package/dist/services/tts/browser-provider.js +280 -160
  154. package/dist/services/tts/catalog-span-alignment.js +14 -7
  155. package/dist/services/tts/flat-tree.d.ts +64 -0
  156. package/dist/services/tts/flat-tree.js +269 -0
  157. package/dist/services/tts/generated-speech/assemble-plan.d.ts +3 -1
  158. package/dist/services/tts/generated-speech/assemble-plan.js +3 -1
  159. package/dist/services/tts/generated-speech/dom/build-dom-plan.d.ts +2 -0
  160. package/dist/services/tts/generated-speech/dom/build-dom-plan.js +1 -1
  161. package/dist/services/tts/generated-speech/dom/to-chunk-inputs.d.ts +2 -2
  162. package/dist/services/tts/generated-speech/index.d.ts +1 -1
  163. package/dist/services/tts/generated-speech/index.js +1 -1
  164. package/dist/services/tts/generated-speech/math-speech-cache.d.ts +3 -1
  165. package/dist/services/tts/generated-speech/math-speech-cache.js +5 -1
  166. package/dist/services/tts/generated-speech/types.d.ts +1 -1
  167. package/dist/services/tts/generated-speech/types.js +1 -1
  168. package/dist/services/tts/highlight-pipeline/create-highlight-plan.js +22 -16
  169. package/dist/services/tts/highlight-pipeline/prose-boundary-resolver.js +6 -4
  170. package/dist/services/tts/highlight-pipeline/readable-region.js +3 -2
  171. package/dist/services/tts/highlight-pipeline/types.d.ts +5 -0
  172. package/dist/services/tts/highlight-pipeline/visible-map-range.d.ts +12 -0
  173. package/dist/services/tts/highlight-pipeline/visible-map-range.js +73 -7
  174. package/dist/services/tts/highlight-target-resolver.d.ts +12 -0
  175. package/dist/services/tts/math-aware-text-processing.d.ts +5 -1
  176. package/dist/services/tts/math-aware-text-processing.js +42 -47
  177. package/dist/services/tts/math-control-names.d.ts +21 -0
  178. package/dist/services/tts/math-control-names.js +142 -0
  179. package/dist/services/tts/math-speech.d.ts +12 -1
  180. package/dist/services/tts/math-speech.js +54 -18
  181. package/dist/services/tts/mathml-sanitization.d.ts +7 -0
  182. package/dist/services/tts/mathml-sanitization.js +9 -1
  183. package/dist/services/tts/provider-options.d.ts +52 -0
  184. package/dist/services/tts/provider-options.js +1 -0
  185. package/dist/services/tts/ssml/spoken-text.d.ts +2 -26
  186. package/dist/services/tts/ssml/spoken-text.js +29 -0
  187. package/dist/services/tts/start-failure.d.ts +4 -0
  188. package/dist/services/tts/start-failure.js +19 -0
  189. package/dist/services/tts/text-processing.d.ts +9 -0
  190. package/dist/services/tts/text-processing.js +46 -33
  191. package/dist/services/tts/text-segmentation.d.ts +12 -0
  192. package/dist/services/tts/text-segmentation.js +60 -10
  193. package/dist/services/tts-runtime-config.d.ts +54 -26
  194. package/dist/services/tts-runtime-config.js +27 -112
  195. package/dist/tools/content-capability-resolution.d.ts +9 -11
  196. package/dist/tools/content-capability-resolution.js +8 -45
  197. package/dist/tools/registration.d.ts +59 -0
  198. package/dist/tools/registration.js +55 -0
  199. package/dist/tools/registrations/toolbar-registration-helpers.d.ts +6 -0
  200. package/dist/tools/registrations/toolbar-registration-helpers.js +8 -2
  201. package/dist/tools/tool-surface-host.d.ts +6 -10
  202. package/dist/tools/tool-surface-host.js +45 -50
  203. package/dist/tools/tool-tag-map.d.ts +5 -15
  204. package/dist/tools/tool-tag-map.js +6 -20
  205. package/dist/utils/structural-equality.d.ts +11 -0
  206. package/dist/utils/structural-equality.js +47 -0
  207. package/package.json +15 -29
  208. package/dist/attempt/adapters/activity-to-test-attempt-session.d.ts +0 -49
  209. package/dist/attempt/adapters/activity-to-test-attempt-session.js +0 -138
  210. package/dist/components/chunks/ItemToolBar-b9dz5jvd.js +0 -40
  211. package/dist/components/chunks/ItemToolBar-h4xap0t0.js +0 -4
  212. package/dist/components/chunks/ItemToolBar-wr2myaah.js +0 -2
  213. package/dist/components/chunks/sre-engine-wf9s43gg.js +0 -1
  214. package/dist/context/runtime-context-consumer.d.ts +0 -13
  215. package/dist/context/runtime-context-consumer.js +0 -18
  216. package/dist/item-loader.d.ts +0 -44
  217. package/dist/item-loader.js +0 -61
  218. package/dist/policy/core/engine-context.d.ts +0 -29
  219. package/dist/policy/core/engine-context.js +0 -27
  220. package/dist/policy/core/policy-source-tag.d.ts +0 -31
  221. package/dist/policy/core/policy-source-tag.js +0 -28
  222. package/dist/policy/internal.d.ts +0 -25
  223. package/dist/policy/internal.js +0 -25
  224. package/dist/runtime/adapter/coordinator-bridge.d.ts +0 -92
  225. package/dist/runtime/adapter/coordinator-bridge.js +0 -126
  226. package/dist/runtime/adapter/framework-error-bridge.d.ts +0 -36
  227. package/dist/runtime/adapter/framework-error-bridge.js +0 -46
  228. package/dist/runtime/adapter/instrumentation-bridge.d.ts +0 -31
  229. package/dist/runtime/adapter/instrumentation-bridge.js +0 -38
  230. package/dist/runtime/core/engine-stage-derivation.d.ts +0 -18
  231. package/dist/runtime/core/engine-stage-derivation.js +0 -29
  232. package/dist/runtime/engine-context.d.ts +0 -39
  233. package/dist/runtime/engine-context.js +0 -31
  234. package/dist/runtime/internal.d.ts +0 -43
  235. package/dist/runtime/internal.js +0 -45
  236. package/dist/runtime/section-runtime-engine-host-context.d.ts +0 -74
  237. package/dist/runtime/section-runtime-engine-host-context.js +0 -57
  238. package/dist/runtime/stage-emit-gate.d.ts +0 -92
  239. package/dist/runtime/stage-emit-gate.js +0 -82
  240. package/dist/services/ContextVariableStore.d.ts +0 -113
  241. package/dist/services/ContextVariableStore.js +0 -206
  242. package/dist/services/I18nService.d.ts +0 -47
  243. package/dist/services/I18nService.js +0 -84
  244. package/dist/services/ThemeProvider.d.ts +0 -95
  245. package/dist/services/ThemeProvider.js +0 -334
  246. package/dist/services/defaultPersonalNeedsProfile.d.ts +0 -21
  247. package/dist/services/defaultPersonalNeedsProfile.js +0 -26
  248. package/dist/services/pnp-standard-features.d.ts +0 -238
  249. package/dist/services/pnp-standard-features.js +0 -338
  250. package/dist/services/tts-control-events.d.ts +0 -13
  251. package/dist/services/tts-control-events.js +0 -7
  252. package/dist/tools/client.d.ts +0 -10
  253. package/dist/tools/client.js +0 -10
  254. package/dist/tools/internal.d.ts +0 -44
  255. package/dist/tools/internal.js +0 -39
  256. package/dist/utils/logger.d.ts +0 -6
  257. package/dist/utils/logger.js +0 -10
@@ -1 +1 @@
1
- import"./chunks/ItemToolBar-b9dz5jvd.js";import{G as w,I as G,J as Y,c as U,d as V,f as F,o as E,t as W,v as X}from"./chunks/ItemToolBar-h4xap0t0.js";import"./chunks/ItemToolBar-gmrryv2v.js";var x=(H,A)=>{if(customElements.get(H))return;try{customElements.define(H,A)}catch(C){if(!(C instanceof DOMException&&C.name==="NotSupportedError"||C&&typeof C==="object"&&C.name==="NotSupportedError")||!customElements.get(H))throw C}},D=W("<pie-item-toolbar></pie-item-toolbar>",2);function Z(H,A){U(A,!0);let C=G(A,"enabledTools",7,""),J=G(A,"position",7,"bottom"),K=G(A,"sectionId",7,""),L=G(A,"size",7,"md"),M=G(A,"language",7,"en-US"),O=G(A,"toolRegistry",7,null),P=G(A,"item",7,null),Q=G(A,"hostButtons",23,()=>[]);var j={get enabledTools(){return C()},set enabledTools(k){C(k),F()},get position(){return J()},set position(k){J(k),F()},get sectionId(){return K()},set sectionId(k){K(k),F()},get size(){return L()},set size(k){L(k),F()},get language(){return M()},set language(k){M(k),F()},get toolRegistry(){return O()},set toolRegistry(k){O(k),F()},get item(){return P()},set item(k){P(k),F()},get hostButtons(){return Q()},set hostButtons(k){Q(k),F()}},q=D();return w(q,"level","section"),E(()=>w(q,"scope-id",K())),E(()=>w(q,"section-id",K())),E(()=>w(q,"tools",C())),w(q,"content-kind","section"),E(()=>w(q,"position",J())),E(()=>w(q,"size",L())),E(()=>w(q,"language",M())),E(()=>w(q,"toolRegistry",O())),E(()=>w(q,"item",P())),E(()=>w(q,"hostButtons",Q())),X(H,q),V(j)}x("pie-section-toolbar",Y(Z,{enabledTools:{attribute:"enabled-tools",type:"String"},position:{attribute:"position",type:"String"},sectionId:{attribute:"section-id",type:"String"},size:{attribute:"size",type:"String"},language:{attribute:"language",type:"String"},toolRegistry:{type:"Object"},item:{type:"Object"},hostButtons:{type:"Object"}},[],[],{mode:"open"}));export{Z as default};
1
+ import"./chunks/ItemToolBar-9gqhfxtn.js";import"./chunks/ItemToolBar-hzc5wyjp.js";import{H as E,M as W,O as X,_ as w,aa as G,ba as Y,v as U,w as V,y as F}from"./chunks/ItemToolBar-3zrc4p3d.js";import"./chunks/ItemToolBar-kkj69ptr.js";var x=(H,A)=>{if(customElements.get(H))return;try{customElements.define(H,A)}catch(C){if(!(C instanceof DOMException&&C.name==="NotSupportedError"||C&&typeof C==="object"&&C.name==="NotSupportedError")||!customElements.get(H))throw C}},D=W("<pie-item-toolbar></pie-item-toolbar>",2);function Z(H,A){U(A,!0);let C=G(A,"enabledTools",7,""),J=G(A,"position",7,"bottom"),K=G(A,"sectionId",7,""),L=G(A,"size",7,"md"),M=G(A,"language",7,""),O=G(A,"toolRegistry",7,null),P=G(A,"item",7,null),Q=G(A,"hostButtons",23,()=>[]);var j={get enabledTools(){return C()},set enabledTools(k){C(k),F()},get position(){return J()},set position(k){J(k),F()},get sectionId(){return K()},set sectionId(k){K(k),F()},get size(){return L()},set size(k){L(k),F()},get language(){return M()},set language(k){M(k),F()},get toolRegistry(){return O()},set toolRegistry(k){O(k),F()},get item(){return P()},set item(k){P(k),F()},get hostButtons(){return Q()},set hostButtons(k){Q(k),F()}},q=D();return w(q,"level","section"),E(()=>w(q,"scope-id",K())),E(()=>w(q,"section-id",K())),E(()=>w(q,"tools",C())),w(q,"content-kind","section"),E(()=>w(q,"position",J())),E(()=>w(q,"size",L())),E(()=>w(q,"language",M())),E(()=>w(q,"toolRegistry",O())),E(()=>w(q,"item",P())),E(()=>w(q,"hostButtons",Q())),X(H,q),V(j)}x("pie-section-toolbar",Y(Z,{enabledTools:{attribute:"enabled-tools",type:"String"},position:{attribute:"position",type:"String"},sectionId:{attribute:"section-id",type:"String"},size:{attribute:"size",type:"String"},language:{attribute:"language",type:"String"},toolRegistry:{type:"Object"},item:{type:"Object"},hostButtons:{type:"Object"}},[],[],{mode:"open"}));export{Z as default};
@@ -0,0 +1,4 @@
1
+ var g9="5";if(typeof window<"u")((window.__svelte??={}).v??=new Set).add(g9);var o7=Array.isArray,h9=Array.prototype.indexOf,qQ=Array.prototype.includes,AQ=Array.from,mQ=Object.keys,P7=Object.defineProperty,H7=Object.getOwnPropertyDescriptor,X0=Object.getOwnPropertyDescriptors,h0=Object.prototype,v9=Array.prototype,$Q=Object.getPrototypeOf,v0=Object.isExtensible;var h7=()=>{};function Z0(Q){for(var J=0;J<Q.length;J++)Q[J]()}function z0(){var Q,J,W=new Promise((K,X)=>{Q=K,J=X});return{promise:W,resolve:Q,reject:J}}var g=2,v7=4,e7=8,UQ=16777216,n=16,i=32,z7=64,NQ=128,G0=256,G7=512,T=1024,N=2048,m=4096,d=8192,y=16384,V7=32768,QQ=33554432,B7=65536,PQ=131072,m0=262144,m7=524288,m9=1048576,x7=33554432,uQ=2097152,N7=4194304,R7=8388608,q7=Symbol("$state"),V0=Symbol("component"),pQ=Symbol("legacy props"),u9=Symbol(""),u0=Symbol("proxy path"),q0=Symbol("attributes"),fQ=Symbol("class"),p0=Symbol("style"),dQ=Symbol("text"),f0=Symbol("form reset"),p9=Symbol("hmr anchor"),s7=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},d0=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml");var RQ=3,D7=8;var f9=1,d9=2,_0=4,_9=8,l9=16,i9=1,c9=2,o9=4,s9=8,r9=16;var a9=1,n9=2;var jQ="[",JQ="[!",l0="[?",HQ="]",u7={};var E=Symbol("uninitialized"),E7=Symbol("filename"),t9=Symbol("hmr"),$0="http://www.w3.org/1999/xhtml",_Q="http://www.w3.org/2000/svg",i0="http://www.w3.org/1998/Math/MathML";function e9(){console.warn("https://svelte.dev/e/derived_inert")}function QJ(Q,J,W){console.warn("https://svelte.dev/e/hydration_attribute_changed")}function WQ(Q){console.warn("https://svelte.dev/e/hydration_mismatch")}function JJ(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function WJ(Q){var J=L;if(J===null)return O.f|=R7,Q;if((J.f&V7)===0&&(J.f&v7)===0)throw Q;Y7(Q,J)}function Y7(Q,J){if(J!==null&&(J.f&y)!==0)return;while(J!==null){if((J.f&NQ)!==0&&(J.f&(y|QQ))===0){if((J.f&V7)===0)throw Q;try{J.b.error(Q);return}catch(W){Q=W}}J=J.parent}throw Q}function XJ(){throw Error("https://svelte.dev/e/async_derived_orphan")}function ZJ(Q,J,W){throw Error("https://svelte.dev/e/each_key_duplicate")}function zJ(Q){throw Error("https://svelte.dev/e/effect_in_teardown")}function GJ(){throw Error("https://svelte.dev/e/effect_in_unowned_derived")}function VJ(Q){throw Error("https://svelte.dev/e/effect_orphan")}function qJ(){throw Error("https://svelte.dev/e/effect_update_depth_exceeded")}function $J(){throw Error("https://svelte.dev/e/hydration_failed")}function UJ(Q){throw Error("https://svelte.dev/e/props_invalid_value")}function PJ(){throw Error("https://svelte.dev/e/state_descriptors_fixed")}function HJ(){throw Error("https://svelte.dev/e/state_prototype_fixed")}function BJ(){throw Error("https://svelte.dev/e/state_unsafe_mutation")}function YJ(){throw Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}var Q7=!1,KQ=!1;var C=null;function r7(Q){C=Q}function c0(Q,J=!1,W){C={p:C,i:!1,c:null,e:null,s:Q,x:null,r:L,l:KQ&&!J?{s:null,u:null,$:[]}:null}}function o0(Q){var J=C,W=J.e;if(W!==null){J.e=null;for(var K of W)s0(K)}if(Q!==void 0)J.x=Q;return J.i=!0,C=J.p,lQ(Q)}function lQ(Q={}){return P7(Q,V0,{value:!0}),Q}function k7(){return!KQ||C!==null&&C.l===null}var BQ=[];function LJ(){var Q=BQ;BQ=[],Z0(Q)}function s(Q){if(BQ.length===0&&!YQ){var J=BQ;queueMicrotask(()=>{if(J===BQ)LJ()})}BQ.push(Q)}function FJ(){while(BQ.length>0)LJ()}function P0(Q){return Q===this.v}function H0(Q,J){return Q!=Q?J==J:Q!==J||Q!==null&&typeof Q==="object"||typeof Q==="function"}function B0(Q){return!H0(Q,this.v)}function MQ(Q,J){return Q.label=J,r0(Q.v,J),Q}function r0(Q,J){return Q?.[u0]?.(J),Q}function p7(Q){var J=O,W=L;u(null),_(null);try{return Q()}finally{u(J),_(W)}}function L0(Q,J,W,K){let X=k7()?ZQ:LQ;var Z=Q.filter((q)=>!q.settled),z=J.map(X);if(W.length===0&&Z.length===0){K(z);return}var G=L,V=DJ(),H=Z.length===1?Z[0].promise:Z.length>1?Promise.all(Z.map((q)=>q.promise)):null;function P(q){if((G.f&y)!==0)return;V();try{K([...z,...q])}catch(B){Y7(B,G)}TQ()}var $=a0();if(W.length===0){H.then(()=>P([])).finally($);return}function U(){Promise.all(W.map((q)=>n0(q))).then(P).catch((q)=>Y7(q,G)).finally($)}if(H)H.then(()=>{V(),U(),TQ()});else U()}function DJ(){var Q=L,J=O,W=C,K=S;if(!1)var X;return function(z=!0){if(_(Q),u(J),r7(W),z&&(Q.f&y)===0)K?.activate(),K?.apply()}}var N4=!1;function TQ(Q=!0){if(N4=!1,_(null),u(null),r7(null),Q)S?.deactivate()}function a0(){var Q=L,J=Q.b,W=S,K=!!J?.is_rendered();return J?.update_pending_count(1,W),W.increment(K,Q),()=>{J?.update_pending_count(-1,W),W.decrement(K,Q)}}var T4=~(N|m|T);function j(Q,J){Q.f=Q.f&T4|J}function xQ(Q){if((Q.f&G7)!==0||Q.deps===null)j(Q,T);else j(Q,m)}function ZQ(Q){var J=g|N;if(L!==null)L.f|=m7;return{ctx:C,deps:null,effects:null,equals:P0,f:J,fn:Q,reactions:null,rv:0,v:E,wv:0,parent:L,ac:null}}var EQ=Symbol("obsolete");function n0(Q,J,W){let K=L;if(K===null)XJ();var X=void 0,Z=K7(E),z=!O,G=new Set;return wJ(()=>{var V=L,H=z0();X=H.promise;try{Promise.resolve(Q()).then(H.resolve,(q)=>{if(q!==s7)H.reject(q)}).finally(TQ)}catch(q){H.reject(q),TQ()}var P=S;if(z){if((V.f&V7)!==0)var $=a0();if(K.b?.is_rendered())P.async_deriveds.get(V)?.reject(EQ);else for(let q of G.values())q.reject(EQ);G.add(H),P.async_deriveds.set(V,H)}let U=(q,B=void 0)=>{if($?.(),G.delete(H),B===EQ)return;if(P.activate(),B)Z.f|=R7,b7(Z,B);else{if((Z.f&R7)!==0)Z.f^=R7;b7(Z,q)}P.deactivate()};H.promise.then(U,(q)=>U(null,q||"unknown"))}),W7(()=>{for(let V of G)V.reject(EQ)}),new Promise((V)=>{function H(P){function $(){if(P===X)V(Z);else H(X)}P.then($,$)}H(X)})}function x4(Q){let J=ZQ(Q);if(!Q7)O0(J);return J}function LQ(Q){let J=ZQ(Q);return J.equals=B0,J}function E4(Q){var J=Q.effects;if(J!==null){Q.effects=null;for(var W=0;W<J.length;W+=1)v(J[W])}}function cQ(Q){var J,W=L,K=Q.parent;if(!S7&&K!==null&&Q.v!==E&&(K.f&(y|d))!==0)return e9(),Q.v;_(K);try{E4(Q),J=J9(Q)}finally{_(W)}return J}function e0(Q){var J=cQ(Q);if(!Q.equals(J)){if(Q.wv=rQ(),!S?.is_fork||Q.deps===null){if(S!==null)S.capture(Q,J,!0),FQ?.capture(Q,J,!0);else Q.v=J;if(Q.deps===null){j(Q,T);return}}}if(S7)return;if(r!==null){if(XQ()||S?.is_fork)r.set(Q,J)}else xQ(Q)}function SJ(Q){if(Q.effects===null)return;for(let J of Q.effects)if(J.teardown||J.ac){if(J.teardown?.(),J.ac!==null)p7(()=>{J.ac.abort(s7),J.ac=null});if(J.fn!==null)J.teardown=h7;OQ(J,0),sQ(J)}}function Q9(Q){if(Q.effects===null)return;for(let J of Q.effects)if(J.teardown&&J.fn!==null)f7(J)}var oQ=new Set,j7=new Map;var CJ=!1;function K7(Q,J){var W={f:0,v:Q,reactions:null,equals:P0,rv:0,wv:0};return W}function d7(Q,J){let W=K7(Q,J);return O0(W),W}function SQ(Q,J=!1,W=!0){let K=K7(Q);if(!J)K.equals=B0;if(KQ&&W&&C!==null&&C.l!==null)(C.l.s??=[]).push(K);return K}function X7(Q,J,W=!1){if(O!==null&&(!C7||(O.f&PQ)!==0)&&k7()&&(O.f&(g|n|N7|PQ))!==0&&(y7===null||!y7.has(Q)))BJ();let K=W?a7(J):J;return b7(Q,K,aQ)}var DQ=null,W9=0;function b7(Q,J,W=null){if(!Q.equals(J)){if(S7)j7.set(Q,J);else if(!j7.has(Q))j7.set(Q,Q.v);var K=J7.ensure();if(K.capture(Q,J),(Q.f&g)!==0){let X=Q;if((Q.f&N)!==0)cQ(X);if(r===null)xQ(X)}if(Q.wv=rQ(),DQ=null,W9=0,IJ(Q,N,W),DQ=null,k7()&&L!==null&&(L.f&T)!==0&&(L.f&(i|z7))===0)if(w7===null)AJ([Q]);else w7.push(Q);if(!K.is_fork&&oQ.size>0&&!CJ)K9()}return J}function K9(){CJ=!1;for(let Q of oQ){if((Q.f&T)!==0)j(Q,m);let J;try{J=zQ(Q)}catch{J=!0}if(J)f7(Q)}oQ.clear()}function wQ(Q){X7(Q,Q.v+1)}function IJ(Q,J,W){var K=Q.reactions;if(K===null)return;var X=k7(),Z=K.length;if(W9+=Z,W9>1e5&&DQ===null)DQ=new Set;if(DQ!==null){if(DQ.has(Q))return;DQ.add(Q)}for(var z=0;z<Z;z++){var G=K[z],V=G.f;if(!X&&G===L)continue;var H=(V&N)===0;if(H)j(G,J);if((V&PQ)!==0)oQ.add(G);else if((V&g)!==0){var P=G;r?.delete(P),IJ(P,m,W)}else if(H){var $=G;if((V&n)!==0&&T7!==null)T7.add($);if(W!==null)W.push($);else nQ($)}}}function D0(Q,J,W){if((Q.f&N)!==0)J.add(Q);else if((Q.f&m)!==0)W.add(Q);j(Q,T)}var S0=null,kQ=null,S=null,FQ=null,r=null,Z9=null,YQ=!1,X9=!1,bQ=null,aQ=null,NJ=0;var y4=1;class J7{id=y4++;#Q=!1;linked=!0;#J=null;#W=null;async_deriveds=new Map;current=new Map;previous=new Map;#G=new Set;#X=new Set;#z=0;#K=new Map;#V=null;#Z=[];#B=[];#q=new Set;#$=new Set;#P=new Map;#M=new Set;is_fork=!1;#U=!1;constructor(){if(kQ===null)S0=kQ=this;else kQ.#W=this,this.#J=kQ;kQ=this}#D(){if(this.is_fork)return!0;for(let W of this.#K.keys()){var Q=W,J=!1;while(Q.parent!==null){if(this.#P.has(Q)){J=!0;break}Q=Q.parent}if(!J)return!0}return!1}skip_effect(Q){if(!this.#P.has(Q))this.#P.set(Q,{d:[],m:[]});this.#M.delete(Q)}unskip_effect(Q,J=(W)=>this.schedule(W)){var W=this.#P.get(Q);if(W){this.#P.delete(Q);for(var K of W.d)j(K,N),J(K);for(K of W.m)j(K,m),J(K)}this.#M.add(Q)}#S(){var Q=[];for(let X of this.#Z){if((X.f&y)!==0||(X.f&(N|m))===0)continue;var J=X,W=!1;while(J.parent!==null){J=J.parent;var K=J.f;if((K&(z7|i))!==0){if((K&T)===0){W=!0;break}J.f^=T}}if(!W)Q.push(J)}return this.#Z=[],Q}#L(){this.#Q=!0;for(let z of this.#q)this.#$.delete(z),j(z,N),this.schedule(z);for(let z of this.#$)j(z,m),this.schedule(z);this.apply();var Q=bQ=[],J=[],W=aQ=[];while(this.#Z.length>0){if(NJ++>1000)this.#Y(),g4();for(let z of this.#S())try{this.#F(z,Q,J)}catch(G){if(xJ(z),!this.#D())this.discard();throw G}}if(S=null,W.length>0){var K=J7.ensure();for(let z of W)K.schedule(z)}if(bQ=null,aQ=null,this.#D()){this.#H(J),this.#H(Q);for(let[z,G]of this.#P)TJ(z,G);if(W.length>0)S.#L();return}let X=this.#C();if(X){this.#H(J),this.#H(Q),X.#w(this);return}this.#q.clear(),this.#$.clear();for(let z of this.#G)z(this);this.#G.clear(),FQ=this,RJ(J),RJ(Q),FQ=null,this.#V?.resolve();var Z=S;if(this.#z===0&&(this.#Z.length===0||Z!==null)){if(this.#Y(),Q7)this.#O(),S=Z}if(this.#Z.length>0)if(Z!==null){for(let z of this.#Z)Z.#Z.push(z);this.#Z=[]}else Z=this;if(Z!==null)j7.clear(),Z.#L()}#F(Q,J,W){Q.f^=T;var K=Q.first;while(K!==null){var X=K.f,Z=(X&(i|z7))!==0,z=Z&&(X&T)!==0,G=z||(X&d)!==0||this.#P.has(K);if(!G&&K.fn!==null){if(Z)K.f^=T;else if((X&v7)!==0)J.push(K);else if(Q7&&(X&(e7|UQ))!==0)W.push(K);else if(zQ(K)){if((X&n)!==0)this.#$.add(K);f7(K)}var V=K.first;if(V!==null){K=V;continue}}while(K!==null){var H=K.next;if(H!==null){K=H;break}K=K.parent}}}#C(){var Q=this.#J;while(Q!==null){if(!Q.is_fork){for(let[J,[,W]]of this.current)if(Q.current.has(J)&&!W)return Q}Q=Q.#J}return null}#w(Q){for(let[W,K]of Q.current){if(!this.previous.has(W)&&Q.previous.has(W))this.previous.set(W,Q.previous.get(W));this.current.set(W,K)}for(let[W,K]of Q.async_deriveds){let X=this.async_deriveds.get(W);if(X)K.promise.then(X.resolve).catch(X.reject)}Q.async_deriveds.clear(),this.transfer_effects(Q.#q,Q.#$);let J=(W)=>{var K=W.reactions;if(K===null)return;if((W.f&g)!==0&&(W.f&(N|m))===0)return;for(let z of K){var X=z.f;if((X&g)!==0)J(z);else{var Z=z;if(X&(N7|n)&&!this.async_deriveds.has(Z))this.#$.delete(Z),j(Z,N),this.schedule(Z)}}};for(let W of this.current.keys())J(W);this.oncommit(()=>Q.discard()),Q.#Y(),S=this,this.#L()}#H(Q){for(var J=0;J<Q.length;J+=1)D0(Q[J],this.#q,this.#$)}capture(Q,J,W=!1){if(Q.v!==E&&!this.previous.has(Q))this.previous.set(Q,Q.v);if((Q.f&R7)===0)this.current.set(Q,[J,W]),r?.set(Q,J);if(!this.is_fork)Q.v=J}activate(){S=this}deactivate(){S=null,r=null}flush(){try{X9=!0,S=this,this.#L()}finally{NJ=0,Z9=null,bQ=null,aQ=null,X9=!1,S=null,r=null,j7.clear()}}discard(){for(let Q of this.#X)Q(this);this.#X.clear();for(let Q of this.async_deriveds.values())Q.reject(EQ);this.#Y(),this.#V?.resolve()}register_created_effect(Q){this.#B.push(Q)}#O(){for(let P=S0;P!==null;P=P.#W){var Q=P.id<this.id,J=[];for(let[$,[U,q]]of this.current){if(P.current.has($)){var W=P.current.get($)[0];if(Q&&U!==W)P.current.set($,[U,q]);else continue}J.push($)}if(Q)for(let[$,U]of this.async_deriveds){let q=P.async_deriveds.get($);if(q)U.promise.then(q.resolve).catch(q.reject)}var K=[...P.current.keys()].filter(($)=>!P.current.get($)[1]);if(!P.#Q||K.length===0)continue;var X=K.filter(($)=>!this.current.has($));if(X.length===0){if(Q)P.discard()}else if(J.length>0){if(Q)for(let $ of this.#M)P.unskip_effect($,(U)=>{if((U.f&(n|N7))!==0)P.schedule(U);else P.#H([U])});P.activate();var Z=new Set,z=new Map;for(var G of J)jJ(G,X,Z,z);z=new Map;var V=[...P.current].filter(([$,U])=>{let q=this.current.get($);if(!q)return!0;return q[0]!==U[0]||q[1]!==U[1]}).map(([$])=>$);if(V.length>0){for(let $ of this.#B)if(($.f&(y|d|PQ))===0&&z9($,V,z))if(($.f&(N7|n))!==0)j($,N),P.schedule($);else P.#q.add($)}if(P.#Z.length>0&&!P.#U){P.apply();for(var H of P.#S())P.#F(H,[],[])}P.deactivate()}}}increment(Q,J){if(this.#z+=1,Q){let W=this.#K.get(J)??0;this.#K.set(J,W+1)}}decrement(Q,J){if(this.#z-=1,Q){let W=this.#K.get(J)??0;if(W===1)this.#K.delete(J);else this.#K.set(J,W-1)}if(this.#U)return;this.#U=!0,s(()=>{if(this.#U=!1,this.linked)this.flush()})}transfer_effects(Q,J){for(let W of Q)this.#q.add(W);for(let W of J)this.#$.add(W);Q.clear(),J.clear()}oncommit(Q){this.#G.add(Q)}ondiscard(Q){this.#X.add(Q)}settled(){return(this.#V??=z0()).promise}static ensure(){if(S===null){let Q=S=new J7;if(!X9&&!YQ)s(()=>{if(!Q.#Q)Q.flush()})}return S}apply(){if(!Q7||!this.is_fork&&this.#J===null&&this.#W===null){r=null;return}r=new Map;for(let[J,[W]]of this.current)r.set(J,W);for(let J=S0;J!==null;J=J.#W){if(J===this||J.is_fork)continue;var Q=!1;if(J.id<this.id)for(let[W,[,K]]of J.current){if(K)continue;if(this.current.has(W)){Q=!0;break}}if(!Q){for(let[W,K]of J.previous)if(!r.has(W))r.set(W,K)}}}schedule(Q){if(Z9=Q,Q.b?.is_pending&&(Q.f&(v7|e7|UQ))!==0&&(Q.f&V7)===0){Q.b.defer_effect(Q);return}this.#Z.push(Q)}#Y(){if(!this.linked)return;var Q=this.#J,J=this.#W;if(Q===null)S0=J;else Q.#W=J;if(J===null)kQ=Q;else J.#J=Q;this.linked=!1}}function yQ(Q){var J=YQ;YQ=!0;try{var W;if(Q){if(S!==null&&!S.is_fork)S.flush();W=Q()}while(!0){if(FJ(),S===null)return W;S.flush()}}finally{YQ=J}}function g4(){if(!1){var Q;for(let W of S.current.keys())for(let[K,X]of W.updated??[])var J}try{qJ()}catch(W){Y7(W,Z9)}}var T7=null;function RJ(Q){var J=Q.length;if(J===0)return;var W=0;while(W<J){var K=Q[W++];if((K.f&(y|d))===0&&zQ(K)){if(T7=new Set,f7(K),K.deps===null&&K.first===null&&K.nodes===null&&K.teardown===null&&K.ac===null)G9(K);if(T7?.size>0){j7.clear();for(let X of T7){if((X.f&(y|d))!==0)continue;let Z=[X],z=X.parent;while(z!==null){if(T7.has(z))T7.delete(z),Z.push(z);z=z.parent}for(let G=Z.length-1;G>=0;G--){let V=Z[G];if((V.f&(y|d))!==0)continue;f7(V)}}T7.clear()}}}T7=null}function jJ(Q,J,W,K){if(W.has(Q))return;if(W.add(Q),Q.reactions!==null)for(let X of Q.reactions){let Z=X.f;if((Z&g)!==0)jJ(X,J,W,K);else if((Z&(N7|n))!==0&&(Z&N)===0&&z9(X,J,K))j(X,N),nQ(X)}}function z9(Q,J,W){let K=W.get(Q);if(K!==void 0)return K;if(Q.deps!==null)for(let X of Q.deps){if(qQ.call(J,X))return!0;if((X.f&g)!==0&&z9(X,J,W))return W.set(X,!0),!0}return W.set(Q,!1),!1}function nQ(Q){S.schedule(Q)}function TJ(Q,J){if((Q.f&i)!==0&&(Q.f&T)!==0)return;if((Q.f&N)!==0)J.d.push(Q);else if((Q.f&m)!==0)J.m.push(Q);j(Q,T);var W=Q.first;while(W!==null)TJ(W,J),W=W.next}function xJ(Q){j(Q,T);var J=Q.first;while(J!==null)xJ(J),J=J.next}function kJ(Q){if(L===null){if(O===null)VJ(Q);GJ()}if(S7)zJ(Q)}function v4(Q,J){var W=J.last;if(W===null)J.last=J.first=Q;else W.next=Q,Q.prev=W,J.last=Q}function _7(Q,J){var W=L;if(W!==null&&(W.f&d)!==0)Q|=d;var K={ctx:C,deps:null,nodes:null,f:Q|N|G7,first:null,fn:J,last:null,next:null,parent:W,b:W&&W.b,prev:null,teardown:null,wv:0,ac:null};S?.register_created_effect(K);var X=K;if((Q&v7)!==0)if(bQ!==null)bQ.push(K);else J7.ensure().schedule(K);else if(J!==null){try{f7(K)}catch(z){throw v(K),z}if(X.deps===null&&X.teardown===null&&X.nodes===null&&X.first===X.last&&(X.f&m7)===0){if(X=X.first,(Q&n)!==0&&(Q&B7)!==0&&X!==null)X.f|=B7}}if(X!==null){if(X.parent=W,W!==null)v4(X,W);if(O!==null&&(O.f&g)!==0&&(Q&z7)===0){var Z=O;(Z.effects??=[]).push(X)}}return K}function XQ(){return O!==null&&!C7}function W7(Q){let J=_7(e7,null);return j(J,T),J.teardown=Q,J}function q9(Q){kJ("$effect");var J=L.f,W=!O&&(J&i)!==0&&C!==null&&!C.i;if(W){var K=C;(K.e??=[]).push(Q)}else return s0(Q)}function s0(Q){return _7(v7|m9,Q)}function $9(Q){J7.ensure();let J=_7(z7|m7,Q);return()=>{v(J)}}function bJ(Q){J7.ensure();let J=_7(z7|m7,Q);return(W={})=>{return new Promise((K)=>{if(W.outro)l7(J,()=>{v(J),K(void 0)});else v(J),K(void 0)})}}function U7(Q){return _7(v7,Q)}function wJ(Q){return _7(N7|m7,Q)}function a(Q,J=0){return _7(e7|J,Q)}function U9(Q,J=[],W=[],K=[]){L0(K,J,W,(X)=>{_7(e7,()=>{Q(...X.map(A))})})}function L7(Q,J=0){var W=_7(n|J,Q);return W}function o(Q){return _7(i|m7,Q)}function P9(Q){var J=Q.teardown;if(J!==null){let W=S7,K=O;V9(!0),u(null);try{J.call(null)}catch(X){Y7(X,Q.parent)}finally{V9(W),u(K)}}}function sQ(Q,J=!1){var W=Q.first;Q.first=Q.last=null;while(W!==null){let X=W.ac;if(X!==null)p7(()=>{X.abort(s7)});var K=W.next;if((W.f&z7)!==0)W.parent=null;else v(W,J);W=K}}function yJ(Q){var J=Q.first;while(J!==null){var W=J.next;if((J.f&i)===0)v(J);J=W}}function v(Q,J=!0){var W=!1;if((J||(Q.f&m0)!==0)&&Q.nodes!==null&&Q.nodes.end!==null)H9(Q.nodes.start,Q.nodes.end),W=!0;Q.f|=QQ,sQ(Q,J&&!W),OQ(Q,0);var K=Q.nodes&&Q.nodes.t;if(K!==null)for(let Z of K)Z.stop();P9(Q),Q.f^=QQ,Q.f|=y;var X=Q.parent;if(X!==null&&X.first!==null)G9(Q);Q.next=Q.prev=Q.teardown=Q.ctx=Q.deps=Q.fn=Q.nodes=Q.ac=Q.b=null}function H9(Q,J){while(Q!==null){var W=Q===J?null:c(Q);Q.remove(),Q=W}}function G9(Q){var{parent:J,prev:W,next:K}=Q;if(W!==null)W.next=K;if(K!==null)K.prev=W;if(J!==null){if(J.first===Q)J.first=K;if(J.last===Q)J.last=W}}function l7(Q,J,W=!0){var K=[];Q.f|=G0,gJ(Q,K,!0);var X=()=>{if(W)v(Q);if(J)J()},Z=K.length;if(Z>0){var z=()=>--Z||X();for(var G of K)G.out(z)}else X()}function gJ(Q,J,W){if((Q.f&d)!==0)return;Q.f^=d;var K=Q.nodes&&Q.nodes.t;if(K!==null){for(let G of K)if(G.is_global||W)J.push(G)}var X=Q.first;while(X!==null){var Z=X.next;if((X.f&z7)===0){var z=(X.f&B7)!==0||(X.f&i)!==0&&(Q.f&n)!==0;gJ(X,J,z?W:!1)}X=Z}}function gQ(Q){Q.f&=~G0,hJ(Q,!0)}function hJ(Q,J){if((Q.f&G0)!==0)return;if((Q.f&d)===0)return;if(Q.f^=d,(Q.f&T)===0)j(Q,N),J7.ensure().schedule(Q);var W=Q.first;while(W!==null){var K=W.next,X=(W.f&B7)!==0||(W.f&i)!==0;hJ(W,X?J:!1),W=K}var Z=Q.nodes&&Q.nodes.t;if(Z!==null){for(let z of Z)if(z.is_global||J)z.in()}}function hQ(Q,J){if(!Q.nodes)return;var W=Q.nodes.start,K=Q.nodes.end;while(W!==null){var X=W===K?null:c(W);J.append(W),W=X}}var vJ=null;var w0=!1,S7=!1;function V9(Q){S7=Q}var O=null,C7=!1;function u(Q){O=Q}var L=null;function _(Q){L=Q}var y7=null;function O0(Q){if(O!==null&&(!Q7&&(O.f&uQ)!==0||(O.f&g)!==0))(y7??=new Set).add(Q)}var $7=null,M7=0,w7=null;function AJ(Q){w7=Q}var uJ=1,CQ=0,GQ=CQ;function B9(Q){GQ=Q}function rQ(){return++uJ}function zQ(Q){var J=Q.f;if((J&N)!==0)return!0;if((J&m)!==0){var W=Q.deps,K=W.length;for(var X=0;X<K;X++){var Z=W[X];if(zQ(Z))e0(Z);if(Z.wv>Q.wv)return!0}if((J&G7)!==0&&r===null)j(Q,T)}return!1}function pJ(Q,J,W=!0){var K=Q.reactions;if(K===null)return;if(!Q7&&y7!==null&&y7.has(Q))return;for(var X=0;X<K.length;X++){var Z=K[X];if((Z.f&g)!==0)pJ(Z,J,!1);else if(J===Z){if(W)j(Z,N);else if((Z.f&T)!==0)j(Z,m);nQ(Z)}}}function J9(Q){var J=$7,W=M7,K=w7,X=O,Z=y7,z=C,G=C7,V=GQ,H=Q.f;if($7=null,M7=0,w7=null,O=(H&(i|z7))===0?Q:null,y7=null,r7(Q.ctx),C7=!1,GQ=++CQ,Q.ac!==null)p7(()=>{Q.ac.abort(s7)}),Q.ac=null;try{Q.f|=uQ;var P=Q.fn,$=P();Q.f|=V7;var U=mJ(Q);if(k7()&&w7!==null&&!C7&&U!==null&&(Q.f&(g|m|N))===0)for(var q=0;q<w7.length;q++)pJ(w7[q],Q);if(X!==null&&X!==Q){if(CQ++,X.deps!==null)for(let B=0;B<W;B+=1)X.deps[B].rv=CQ;if(J!==null)for(let B of J)B.rv=CQ;if(w7!==null)if(K===null)K=w7;else K.push(...w7)}if((Q.f&R7)!==0)Q.f^=R7;return $}catch(B){return mJ(Q),WJ(B)}finally{Q.f^=uQ,$7=J,M7=W,w7=K,O=X,y7=Z,r7(z),C7=G,GQ=V}}function mJ(Q){var J=Q.deps,W=S?.is_fork;if($7!==null){var K;if(!W)OQ(Q,M7);if(J!==null&&M7>0){J.length=M7+$7.length;for(K=0;K<$7.length;K++)J[M7+K]=$7[K]}else Q.deps=J=$7;if(XQ()&&(Q.f&G7)!==0)for(K=M7;K<J.length;K++)(J[K].reactions??=[]).push(Q)}else if(!W&&J!==null&&M7<J.length)OQ(Q,M7),J.length=M7;return J}function u4(Q,J){let W=J.reactions;if(W!==null){var K=h9.call(W,Q);if(K!==-1){var X=W.length-1;if(X===0)W=J.reactions=null;else W[K]=W[X],W.pop()}}if(W===null&&(J.f&g)!==0&&($7===null||!qQ.call($7,J))){var Z=J;if((Z.f&G7)!==0)Z.f^=G7;if(Z.v!==E)xQ(Z);if(Z.ac!==null)p7(()=>{Z.ac.abort(s7),Z.ac=null,j(Z,N)});SJ(Z),OQ(Z,0)}}function OQ(Q,J){var W=Q.deps;if(W===null)return;for(var K=J;K<W.length;K++)u4(Q,W[K])}function f7(Q){var J=Q.f;if((J&y)!==0)return;j(Q,T);var W=L,K=w0;if(L=Q,w0=(J&(i|z7))===0,!1)var X,Z;try{if((J&(n|UQ))!==0)yJ(Q);else sQ(Q);P9(Q);var z=J9(Q);if(Q.teardown=typeof z==="function"?z:null,Q.wv=uJ,!1)for(var G of Q.deps);}finally{w0=K,L=W}}function A(Q){var J=Q.f,W=(J&g)!==0;if(vJ?.add(Q),O!==null&&!C7){var K=L!==null&&(L.f&y)!==0;if(!K&&(y7===null||!y7.has(Q))){var X=O.deps;if((O.f&uQ)!==0){if(Q.rv<CQ)if(Q.rv=CQ,$7===null&&X!==null&&X[M7]===Q)M7++;else if($7===null)$7=[Q];else $7.push(Q)}else{if(O.deps??=[],!qQ.call(O.deps,Q))O.deps.push(Q);var Z=Q.reactions;if(Z===null)Q.reactions=[O];else if(!qQ.call(Z,O))Z.push(O)}}}if(!1){if(!C7&&R4&&S===null&&FQ===null&&!R4.warned&&(R4.effect.f&uQ)===0&&!R4.effect_deps.has(Q))var z;if(t0&&!C7&&R5!==null&&O!==null&&R5.reaction===O){if(Q.trace);else if(z)var G,V}}if(S7&&j7.has(Q))return j7.get(Q);if(W){var H=Q;if(S7){var P=H.v;if((H.f&T)===0&&H.reactions!==null||dJ(H))P=cQ(H);return j7.set(H,P),P}var $=(H.f&G7)===0&&!C7&&O!==null&&(w0||(O.f&G7)!==0),U=(H.f&V7)===0;if(zQ(H)){if($)H.f|=G7;e0(H)}if($&&!U)Q9(H),fJ(H)}if(r?.has(Q))return r.get(Q);if((Q.f&R7)!==0)throw Q.v;return Q.v}function fJ(Q){if(Q.f|=G7,Q.deps===null)return;for(let J of Q.deps)if((J.reactions??=[]).push(Q),(J.f&g)!==0&&(J.f&G7)===0)Q9(J),fJ(J)}function dJ(Q){if(Q.v===E)return!0;if(Q.deps===null)return!1;for(let J of Q.deps){if(j7.has(J))return!0;if((J.f&g)!==0&&dJ(J))return!0}return!1}function k(Q){var J=C7;try{return C7=!0,Q()}finally{C7=J}}function I0(Q){if(typeof Q!=="object"||!Q||Q instanceof EventTarget)return;if(q7 in Q)C0(Q);else if(!Array.isArray(Q))for(let J in Q){let W=Q[J];if(typeof W==="object"&&W&&q7 in W)C0(W)}}function C0(Q,J=new Set){if(typeof Q==="object"&&Q!==null&&!(Q instanceof EventTarget)&&!J.has(Q)){if(J.add(Q),Q instanceof Date)Q.getTime();for(let K in Q)try{C0(Q[K],J)}catch(X){}let W=$Q(Q);if(W!==Object.prototype&&W!==Array.prototype&&W!==Map.prototype&&W!==Set.prototype&&W!==Date.prototype){let K=X0(W);for(let X in K){let Z=K[X].get;if(Z)try{Z.call(Q)}catch(z){}}}}}var p4=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function a7(Q){if(typeof Q!=="object"||Q===null||q7 in Q||V0 in Q)return Q;let J=$Q(Q);if(J!==h0&&J!==v9)return Q;var W=new Map,K=o7(Q),X=d7(0),Z=null,z=GQ,G=($)=>{if(GQ===z)return $();var U=O,q=GQ;u(null),B9(z);var B=$();return u(U),B9(q),B};if(K)W.set("length",d7(Q.length,Z));var V="";let H=!1;function P($){if(H)return;H=!0,V=$,MQ(X,`${V} version`);for(let[U,q]of W)MQ(q,f4(V,U));H=!1}return new Proxy(Q,{defineProperty($,U,q){if(!("value"in q)||q.configurable===!1||q.enumerable===!1||q.writable===!1)PJ();var B=W.get(U);if(B===void 0)G(()=>{var F=d7(q.value,Z);return W.set(U,F),F});else X7(B,q.value,!0);return!0},deleteProperty($,U){var q=W.get(U);if(q===void 0){if(U in $){let B=G(()=>d7(E,Z));W.set(U,B),wQ(X)}}else X7(q,E),wQ(X);return!0},get($,U,q){if(U===q7)return Q;var B=W.get(U),F=U in $;if(B===void 0&&(!F||H7($,U)?.writable))B=G(()=>{var w=a7(F?$[U]:E),b=d7(w,Z);return b}),W.set(U,B);if(B!==void 0){var Y=A(B);return Y===E?void 0:Y}return Reflect.get($,U,q)},getOwnPropertyDescriptor($,U){this.has?.($,U);var q=Reflect.getOwnPropertyDescriptor($,U),B=W.get(U);if(B!==void 0){var F=A(B);if(F===E)return;if(q&&"value"in q)q.value=F;else return{enumerable:!0,configurable:!0,value:F,writable:!0}}return q},has($,U){if(U===q7)return!0;var q=W.get(U),B=q!==void 0&&q.v!==E||Reflect.has($,U);if(q!==void 0||L!==null&&(!B||H7($,U)?.writable)){if(q===void 0)q=G(()=>{var Y=B?a7($[U]):E,w=d7(Y,Z);return w}),W.set(U,q);var F=A(q);if(F===E)return!1}return B},set($,U,q,B){var F=W.get(U),Y=U in $;if(K&&U==="length")for(var w=q;w<F.v;w+=1){var b=W.get(w+"");if(b!==void 0)X7(b,E);else if(w in $)b=G(()=>d7(E,Z)),W.set(w+"",b)}if(F===void 0){if(!Y||H7($,U)?.writable)F=G(()=>d7(void 0,Z)),X7(F,a7(q)),W.set(U,F)}else{Y=F.v!==E;var x=G(()=>a7(q));X7(F,x)}var I=Reflect.getOwnPropertyDescriptor($,U);if(I?.set)I.set.call(B,q);if(!Y){if(K&&typeof U==="string"){var A7=W.get("length"),Z7=Number(U);if(Number.isInteger(Z7)&&Z7>=A7.v)X7(A7,Z7+1)}wQ(X)}return!0},ownKeys($){A(X);var U=Reflect.ownKeys($).filter((F)=>{var Y=W.get(F);return Y===void 0||Y.v!==E});for(var[q,B]of W)if(B.v!==E&&!(q in $))U.push(q);return U},setPrototypeOf(){HJ()}})}function f4(Q,J){if(typeof J==="symbol")return`${Q}[Symbol(${J.description??""})]`;if(p4.test(J))return`${Q}.${J}`;return/^\d+$/.test(J)?`${Q}[${J}]`:`${Q}['${J}']`}var Y9,_J,U0,lJ,iJ;function N0(){if(Y9!==void 0)return;Y9=window,_J=document,U0=/Firefox/.test(navigator.userAgent);var Q=Element.prototype,J=Node.prototype,W=Text.prototype;if(lJ=H7(J,"firstChild").get,iJ=H7(J,"nextSibling").get,v0(Q))Q[fQ]=void 0,Q[q0]=null,Q[p0]=void 0,Q.__e=void 0;if(v0(W))W[dQ]=void 0}function p(Q=""){return document.createTextNode(Q)}function h(Q){return lJ.call(Q)}function c(Q){return iJ.call(Q)}function cJ(Q,J){if(!M)return h(Q);var W=h(D);if(W===null)W=D.appendChild(p());else if(J&&W.nodeType!==RQ){var K=p();return W?.before(K),R(K),K}if(J)j0(W);return R(W),W}function d4(Q,J=!1){if(!M){var W=h(Q);if(W instanceof Comment&&W.data==="")return c(W);return W}if(J){if(D?.nodeType!==RQ){var K=p();return D?.before(K),R(K),K}j0(D)}return D}function _4(Q,J=!1){if(!M)return h(Q);var W=cJ(Q,J);return A0(Q),W}function l4(Q,J=1,W=!1){let K=M?D:Q;var X;while(J--)X=K,K=c(K);if(!M)return K;if(W){if(K?.nodeType!==RQ){var Z=p();if(K===null)X?.after(Z);else K.before(Z);return R(Z),Z}j0(K)}return R(K),K}function iQ(Q){Q.textContent=""}function R0(){if(!Q7)return!1;if(T7!==null)return!1;var Q=L.f;return(Q&V7)!==0}function I7(Q,J,W){if(J==null||J===$0)return W?document.createElement(Q,{is:W}):document.createElement(Q);return W?document.createElementNS(J,Q,{is:W}):document.createElementNS(J,Q)}function j0(Q){if(Q.nodeValue.length<65536)return;let J=Q.nextSibling;while(J!==null&&J.nodeType===RQ)J.remove(),Q.nodeValue+=J.nodeValue,J=Q.nextSibling}var M=!1;function f(Q){M=Q}var D;function R(Q){if(Q===null)throw WQ(),u7;return D=Q}function l(){return R(c(D))}function A0(Q){if(!M)return;if(c(D)!==null)throw WQ(),u7;D=Q}function M9(Q=1){if(M){var J=Q,W=D;while(J--)W=c(W);D=W}}function i7(Q=!0){var J=0,W=D;while(!0){if(W.nodeType===D7){var K=W.data;if(K===HQ){if(J===0)return W;J-=1}else if(K===jQ||K===JQ||K[0]==="["&&!isNaN(Number(K.slice(1))))J+=1}var X=c(W);if(Q)W.remove();W=X}}function eQ(Q){if(!Q||Q.nodeType!==D7)throw WQ(),u7;return Q.data}var vQ=Symbol("events"),O9=new Set,T0=new Set;function oJ(Q,J,W){(J[vQ]??={})[Q]=W}function sJ(Q){for(var J=0;J<Q.length;J++)O9.add(Q[J]);for(var W of T0)W(Q)}var L9=null,F9=!1;function D9(Q){var J=this,W=J.ownerDocument,K=Q.type,X=Q.composedPath?.()||[],Z=X[0]||Q.target;if(L9=Q,!F9)F9=!0,setTimeout(()=>{F9=!1,L9=null});var z=0,G=L9===Q&&Q[vQ];if(G){var V=X.indexOf(G);if(V!==-1&&(J===document||J===window)){Q[vQ]=J;return}var H=X.indexOf(J);if(H===-1)return;if(V<=H)z=V}if(Z=X[z]||Q.target,Z===J)return;P7(Q,"currentTarget",{configurable:!0,get(){return Z||W}});var P=O,$=L;u(null),_(null);try{var U,q=[];while(Z!==null){if(Z===J)break;try{var B=Z[vQ]?.[K];if(B!=null&&(!Z.disabled||Q.target===Z))B.call(Z,Q)}catch(F){if(U)q.push(F);else U=F}if(Q.cancelBubble)break;z++,Z=z<X.length?X[z]:null}if(U){for(let F of q)queueMicrotask(()=>{throw F});throw U}}finally{Q[vQ]=J,delete Q.currentTarget,u(P),_($)}}var i4=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:(Q)=>{return Q}});function rJ(Q){return i4?.createHTML(Q)??Q}function S9(Q){var J=I7("template");return J.innerHTML=rJ(Q.replaceAll("<!>","<!---->")),J.content}function F7(Q,J){var W=L;if(W.nodes===null)W.nodes={start:Q,end:J,a:null,t:null}}function s4(Q,J){var W=(J&a9)!==0,K=(J&n9)!==0,X,Z=!Q.startsWith("<!>");return()=>{if(M)return F7(D,null),D;if(X===void 0){if(X=S9(Z?Q:"<!>"+Q),!W)X=h(X)}var z=K||U0?document.importNode(X,!0):X.cloneNode(!0);if(W){var G=h(z),V=z.lastChild;F7(G,V)}else F7(z,z);return z}}function r4(){if(M)return F7(D,null),D;var Q=document.createDocumentFragment(),J=document.createComment(""),W=p();return Q.append(J,W),F7(J,W),Q}function Q0(Q,J){if(M){var W=L;if((W.f&V7)===0||W.nodes.end===null)W.nodes.end=D;l();return}if(Q===null)return;Q.before(J)}var a4=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","indeterminate","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","seamless","selected","webkitdirectory","defer","disablepictureinpicture","disableremoteplayback"];var fW=[...a4,"formNoValidate","isMap","noModule","playsInline","readOnly","value","volume","defaultValue","defaultChecked","srcObject","noValidate","allowFullscreen","disablePictureInPicture","disableRemotePlayback"];var n4=["touchstart","touchmove"];function aJ(Q){return n4.includes(Q)}var t4=["$state","$state.raw","$derived","$derived.by"],dW=[...t4,"$state.eager","$state.snapshot","$props","$props.id","$bindable","$effect","$effect.pre","$effect.tracking","$effect.root","$effect.pending","$inspect","$inspect().with","$inspect.trace","$host"];function nJ(Q){let J=0,W=K7(0),K;return()=>{if(XQ())A(W),a(()=>{if(J===0)K=k(()=>Q(()=>wQ(W)));return J+=1,()=>{s(()=>{if(J-=1,J===0)K?.(),K=void 0,wQ(W)})}})}}var e4=B7|m7;function C9(Q,J,W,K){new tJ(Q,J,W,K)}class tJ{parent;is_pending=!1;transform_error;#Q;#J=M?D:null;#W;#G;#X;#z=null;#K=null;#V=null;#Z=null;#B=0;#q=0;#$=!1;#P=new Set;#M=new Set;#U=null;#D=nJ(()=>{return this.#U=K7(this.#B),()=>{this.#U=null}});constructor(Q,J,W,K){if(this.#Q=Q,this.#W=J,this.#G=(X)=>{var Z=L;Z.b=this,Z.f|=NQ,W(X)},this.parent=L.b,this.transform_error=K??this.parent?.transform_error??((X)=>X),this.#X=L7(()=>{if(M){let X=this.#J;l();let Z=X.data===JQ;if(X.data.startsWith(l0)){let G=JSON.parse(X.data.slice(l0.length));this.#L(G)}else if(Z)this.#C();else this.#S()}else this.#w()},e4),M)this.#Q=D}#S(){try{this.#z=o(()=>this.#G(this.#Q))}catch(Q){this.error(Q)}}#L(Q){let J=this.#W.failed,{reset:W,invoke_onerror:K}=this.#F(Q);if(s(K),!J)return;this.#V=o(()=>{J(this.#Q,()=>Q,()=>W)})}#F(Q){var J=!1,W=!1;let K=()=>{if(J){JJ();return}if(J=!0,W)YJ();if(this.#V!==null)l7(this.#V,()=>{this.#V=null});this.#O(()=>{this.#w()})};return{reset:K,invoke_onerror:()=>{try{W=!0,this.#W.onerror?.(Q,K),W=!1}catch(Z){Y7(Z,this.#X&&this.#X.parent)}}}}#C(){let Q=this.#W.pending;if(!Q)return;this.is_pending=!0,this.#K=o(()=>Q(this.#Q)),s(()=>{var J=this.#Z=document.createDocumentFragment(),W=p(),K=!1;if(J.append(W),this.#z=this.#O(()=>{try{return o(()=>this.#G(W))}catch(X){try{this.error(X),K=!0}catch(Z){Y7(Z,this.#X.parent)}return null}}),this.#z===null){if(this.#Z=null,K)this.#H(S);return}if(this.#q===0)this.#Q.before(J),this.#Z=null,l7(this.#K,()=>{this.#K=null}),this.#H(S)})}#w(){try{if(this.is_pending=this.has_pending_snippet(),this.#q=0,this.#B=0,this.#z=o(()=>{this.#G(this.#Q)}),this.#q>0){var Q=this.#Z=document.createDocumentFragment();hQ(this.#z,Q);let J=this.#W.pending;this.#K=o(()=>J(this.#Q))}else this.#H(S)}catch(J){this.error(J)}}#H(Q){this.is_pending=!1,Q.transfer_effects(this.#P,this.#M)}defer_effect(Q){D0(Q,this.#P,this.#M)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#W.pending}#O(Q){var J=L,W=O,K=C;_(this.#X),u(this.#X),r7(this.#X.ctx);try{return J7.ensure(),Q()}finally{_(J),u(W),r7(K)}}#Y(Q,J){if(!this.has_pending_snippet()){if(this.parent)this.parent.#Y(Q,J);return}if(this.#q+=Q,this.#q===0){if(this.#H(J),this.#K)l7(this.#K,()=>{this.#K=null});if(this.#Z)this.#Q.before(this.#Z),this.#Z=null}}update_pending_count(Q,J){if(this.#Y(Q,J),this.#B+=Q,!this.#U||this.#$)return;this.#$=!0,s(()=>{if(this.#$=!1,this.#U)b7(this.#U,this.#B)})}get_effect_pending(){return this.#D(),A(this.#U)}error(Q){if(!this.#W.onerror&&!this.#W.failed)throw Q;if(S?.is_fork){if(this.#z)S.skip_effect(this.#z);if(this.#K)S.skip_effect(this.#K);if(this.#V)S.skip_effect(this.#V);S.oncommit(()=>{this.#I(Q)})}else this.#I(Q)}#I(Q){if(this.#z)v(this.#z),this.#z=null;if(this.#K)v(this.#K),this.#K=null;if(this.#V)v(this.#V),this.#V=null;if(M)R(this.#J),M9(),R(i7());let J=this.#W.failed,W=(K)=>{let{reset:X,invoke_onerror:Z}=this.#F(K);if(Z(),J)this.#V=this.#O(()=>{try{return o(()=>{var z=L;z.b=this,z.f|=NQ,J(this.#Q,()=>K,()=>X)})}catch(z){return Y7(z,this.#X.parent),null}})};s(()=>{var K;try{K=this.transform_error(Q)}catch(X){Y7(X,this.#X&&this.#X.parent);return}if(K!==null&&typeof K==="object"&&typeof K.then==="function")K.then(W,(X)=>Y7(X,this.#X&&this.#X.parent));else W(K)})}}var I9=!0;function Q8(Q,J){var W=J==null?"":typeof J==="object"?`${J}`:J;if(W!==(Q[dQ]??=Q.nodeValue))Q[dQ]=W,Q.nodeValue=`${W}`}function E0(Q,J){return eJ(Q,J)}function N9(Q,J){N0(),J.intro=J.intro??!1;let W=J.target,K=M,X=D;try{var Z=h(W);while(Z&&(Z.nodeType!==D7||Z.data!==jQ))Z=c(Z);if(!Z)throw u7;f(!0),R(Z);let z=eJ(Q,{...J,anchor:Z});return f(!1),z}catch(z){if(z instanceof Error&&z.message.split(`
2
+ `).some((G)=>G.startsWith("https://svelte.dev/e/")))throw z;if(z!==u7)console.warn("Failed to hydrate: ",z);if(J.recover===!1)$J();return N0(),iQ(W),f(!1),E0(Q,J)}finally{f(K),R(X)}}var x0=new Map;function eJ(Q,{target:J,anchor:W,props:K={},events:X,context:Z,intro:z=!0,transformError:G}){N0();var V=void 0,H=bJ(()=>{var P=W??J.appendChild(p());C9(P,{pending:()=>{}},(q)=>{c0({});var B=C;if(Z)B.c=Z;if(X)K.$$events=X;if(M)F7(q,null);if(I9=z,V=Q(q,K)||lQ(),I9=!0,M){if(L.nodes.end=D,D===null||D.nodeType!==D7||D.data!==HQ)throw WQ(),u7}o0()},G);var $=new Set,U=(q)=>{for(var B=0;B<q.length;B++){var F=q[B];if($.has(F))continue;$.add(F);var Y=aJ(F);for(let x of[J,document]){var w=x0.get(x);if(w===void 0)w=new Map,x0.set(x,w);var b=w.get(F);if(b===void 0)x.addEventListener(F,D9,{passive:Y}),w.set(F,1);else w.set(F,b+1)}}};return U(AQ(O9)),T0.add(U),()=>{for(var q of $)for(let Y of[J,document]){var B=x0.get(Y),F=B.get(q);if(--F==0){if(Y.removeEventListener(q,D9),B.delete(q),B.size===0)x0.delete(Y)}else B.set(q,F)}if(T0.delete(U),P!==W)P.parentNode?.removeChild(P)}});return A9.set(V,H),V}var A9=new WeakMap;function R9(Q,J){let W=A9.get(Q);if(W)return A9.delete(Q),W(J);return Promise.resolve()}class n7{anchor;#Q=new Map;#J=new Map;#W=new Map;#G=new Set;#X=!0;constructor(Q,J=!0){this.anchor=Q,this.#X=J}#z=(Q)=>{if(!this.#Q.has(Q))return;var J=this.#Q.get(Q),W=this.#J.get(J);if(W)gQ(W),this.#G.delete(J);else{var K=this.#W.get(J);if(K)gQ(K.effect),this.#J.set(J,K.effect),this.#W.delete(J),K.fragment.lastChild.remove(),this.anchor.before(K.fragment),W=K.effect}for(let[X,Z]of this.#Q){if(this.#Q.delete(X),X===Q)break;let z=this.#W.get(Z);if(z)v(z.effect),this.#W.delete(Z)}for(let[X,Z]of this.#J){if(X===J||this.#G.has(X))continue;let z=()=>{if(Array.from(this.#Q.values()).includes(X)){var V=document.createDocumentFragment();hQ(Z,V),V.append(p()),this.#W.set(X,{effect:Z,fragment:V})}else v(Z);this.#G.delete(X),this.#J.delete(X)};if(this.#X||!W)this.#G.add(X),l7(Z,z,!1);else z()}};#K=(Q)=>{this.#Q.delete(Q);let J=Array.from(this.#Q.values());for(let[W,K]of this.#W)if(!J.includes(W))v(K.effect),this.#W.delete(W)};ensure(Q,J){var W=S,K=R0();if(J&&!this.#J.has(Q)&&!this.#W.has(Q))if(K){var X=document.createDocumentFragment(),Z=p();X.append(Z),this.#W.set(Q,{effect:o(()=>J(Z)),fragment:X})}else this.#J.set(Q,o(()=>J(this.anchor)));if(this.#Q.set(W,Q),K){for(let[z,G]of this.#J)if(z===Q)W.unskip_effect(G);else W.skip_effect(G);for(let[z,G]of this.#W)if(z===Q)W.unskip_effect(G.effect);else W.skip_effect(G.effect);W.oncommit(this.#z),W.ondiscard(this.#K)}else{if(M)this.anchor=D;this.#z(W)}}}function K8(Q,J,W=!1){var K;if(M)K=D,l();var X=new n7(Q),Z=W?B7:0;function z(G,V){if(M){var H=eQ(K);if(G!==parseInt(H.substring(1))){var P=i7();R(P),X.anchor=P,f(!1),X.ensure(G,V),f(!0);return}}X.ensure(G,V)}L7(()=>{var G=!1;if(J((V,H=0)=>{G=!0,z(H,V)}),!G)z(-1,null)},Z)}var X8=Symbol("NaN");function Z8(Q,J,W){if(M)l();var K=new n7(Q),X=!k7();L7(()=>{var Z=J();if(Z!==Z)Z=X8;if(X&&Z!==null&&typeof Z==="object")Z={};K.ensure(Z,W)})}function z8(Q,J,W){var K=[],X=J.length,Z,z=J.length;for(var G=0;G<X;G++){let $=J[G];l7($,()=>{if(Z){if(Z.pending.delete($),Z.done.add($),Z.pending.size===0){var U=Q.outrogroups;if(j9(Q,AQ(Z.done)),U.delete(Z),U.size===0)Q.outrogroups=null}}else z-=1},!1)}if(z===0){var V=K.length===0&&W!==null&&Q.pending.size===0;if(V){var H=W,P=H.parentNode;iQ(P),P.append(H),Q.items.clear()}j9(Q,J,!V)}else Z={pending:new Set(J),done:new Set},(Q.outrogroups??=new Set).add(Z)}function j9(Q,J,W=!0){var K;if(Q.pending.size>0){K=new Set;for(let z of Q.pending.values())for(let G of z)K.add(Q.items.get(G).e)}for(var X=0;X<J.length;X++){var Z=J[X];if(K?.has(Z)){Z.f|=x7;let z=document.createDocumentFragment();hQ(Z,z)}else v(J[X],W)}}var W4;function G8(Q,J,W,K,X,Z=null){var z=Q,G=new Map,V=(J&_0)!==0;if(V){var H=Q;z=M?R(h(H)):H.appendChild(p())}if(M)l();var P=null,$=LQ(()=>{var x=W();return o7(x)?x:x==null?[]:AQ(x)}),U,q=new Map,B=!0;function F(x){if((b.effect.f&y)!==0)return;if(b.pending.delete(x),b.fallback=P,V8(b,U,z,J,K),P!==null)if(U.length===0)if((P.f&x7)===0)gQ(P);else P.f^=x7,W0(P,null,z);else l7(P,()=>{P=null})}function Y(x){b.pending.delete(x)}var w=L7(()=>{U=A($);var x=U.length;let I=!1;if(M){var A7=eQ(z)===JQ;if(A7!==(x===0))z=i7(),R(z),f(!1),I=!0}var Z7=new Set,O7=S,IQ=R0();for(var t7=0;t7<x;t7+=1){if(M&&D.nodeType===D7&&D.data===HQ)z=D,I=!0,f(!1);var g7=U[t7],K0=K(g7,t7);if(!1)var Q1;var c7=B?null:G.get(K0);if(c7){if(c7.v)b7(c7.v,g7);if(c7.i)b7(c7.i,t7);if(IQ)O7.unskip_effect(c7.e)}else{if(c7=q8(G,B?z:W4??=p(),g7,K0,t7,X,J,W),!B)c7.e.f|=x7;G.set(K0,c7)}Z7.add(K0)}if(x===0&&Z&&!P)if(B)P=o(()=>Z(z));else P=o(()=>Z(W4??=p())),P.f|=x7;if(x>Z7.size)ZJ("","","");if(M&&x>0)R(i7());if(!B)if(q.set(O7,Z7),IQ){for(let[w4,C4]of G)if(!Z7.has(w4))O7.skip_effect(C4.e);O7.oncommit(F),O7.ondiscard(Y)}else F(O7);if(I)f(!0);A($)}),b={effect:w,flags:J,items:G,pending:q,outrogroups:null,fallback:P};if(B=!1,M)z=D}function J0(Q){while(Q!==null&&(Q.f&i)===0)Q=Q.next;return Q}function V8(Q,J,W,K,X){var Z=(K&_9)!==0,z=J.length,G=Q.items,V=J0(Q.effect.first),H,P=null,$,U=[],q=[],B,F,Y,w;if(Z){for(w=0;w<z;w+=1)if(B=J[w],F=X(B,w),Y=G.get(F).e,(Y.f&x7)===0)Y.nodes?.a?.measure(),($??=new Set).add(Y)}for(w=0;w<z;w+=1){if(B=J[w],F=X(B,w),Y=G.get(F).e,Q.outrogroups!==null)for(let g7 of Q.outrogroups)g7.pending.delete(Y),g7.done.delete(Y);if((Y.f&d)!==0){if(gQ(Y),Z)Y.nodes?.a?.unfix(),($??=new Set).delete(Y)}if((Y.f&x7)!==0)if(Y.f^=x7,Y===V)W0(Y,null,W);else{var b=P?P.next:V;if(Y===Q.effect.last)Q.effect.last=Y.prev;if(Y.prev)Y.prev.next=Y.next;if(Y.next)Y.next.prev=Y.prev;VQ(Q,P,Y),VQ(Q,Y,b),W0(Y,b,W),P=Y,U=[],q=[],V=J0(P.next);continue}if(Y!==V){if(H!==void 0&&H.has(Y)){if(U.length<q.length){var x=q[0],I;P=x.prev;var A7=U[0],Z7=U[U.length-1];for(I=0;I<U.length;I+=1)W0(U[I],x,W);for(I=0;I<q.length;I+=1)H.delete(q[I]);VQ(Q,A7.prev,Z7.next),VQ(Q,P,A7),VQ(Q,Z7,x),V=x,P=Z7,w-=1,U=[],q=[]}else H.delete(Y),W0(Y,V,W),VQ(Q,Y.prev,Y.next),VQ(Q,Y,P===null?Q.effect.first:P.next),VQ(Q,P,Y),P=Y;continue}U=[],q=[];while(V!==null&&V!==Y)(H??=new Set).add(V),q.push(V),V=J0(V.next);if(V===null)continue}if((Y.f&x7)===0)U.push(Y);P=Y,V=J0(Y.next)}if(Q.outrogroups!==null){for(let g7 of Q.outrogroups)if(g7.pending.size===0)j9(Q,AQ(g7.done)),Q.outrogroups?.delete(g7);if(Q.outrogroups.size===0)Q.outrogroups=null}if(V!==null||H!==void 0){var O7=[];if(H!==void 0){for(Y of H)if((Y.f&d)===0)O7.push(Y)}while(V!==null){if((V.f&d)===0&&V!==Q.fallback)O7.push(V);V=J0(V.next)}var IQ=O7.length;if(IQ>0){var t7=(K&_0)!==0&&z===0?W:null;if(Z){for(w=0;w<IQ;w+=1)O7[w].nodes?.a?.measure();for(w=0;w<IQ;w+=1)O7[w].nodes?.a?.fix()}z8(Q,O7,t7)}}if(Z)s(()=>{if($===void 0)return;for(Y of $)Y.nodes?.a?.apply()})}function q8(Q,J,W,K,X,Z,z,G){var V=(z&f9)!==0?(z&l9)===0?SQ(W,!1,!1):K7(W):null,H=(z&d9)!==0?K7(X):null;return{v:V,i:H,e:o(()=>{return Z(J,V??W,H??X,G),()=>{Q.delete(K)}})}}function W0(Q,J,W){if(!Q.nodes)return;var K=Q.nodes.start,X=Q.nodes.end,Z=J&&(J.f&x7)===0?J.nodes.start:W;while(K!==null){var z=c(K);if(Z.before(K),K===X)return;K=z}}function VQ(Q,J,W){if(J===null)Q.effect.first=W;else J.next=W;if(W===null)Q.effect.last=J;else W.prev=J}function $8(Q,J,W=!1,K=!1,X=!1,Z=!1){var z=Q,G="";if(W){var V=Q;if(M)z=R(h(V))}U9(()=>{var H=L;if(G===(G=J()??"")){if(M)l();return}if(W&&!M){if(H.nodes=null,V.innerHTML=G,G!=="")F7(h(V),V.lastChild);return}if(H.nodes!==null)H9(H.nodes.start,H.nodes.end),H.nodes=null;if(G==="")return;if(M){var P=D.data,$=l(),U=$;while($!==null&&($.nodeType!==D7||$.data!==""))U=$,$=c($);if($===null)throw WQ(),u7;F7(D,U),z=R($);return}var q=K?_Q:X?i0:void 0,B=I7(K?"svg":X?"math":"template",q);B.innerHTML=G;var F=K||X?B:B.content;if(F7(h(F),F.lastChild),K||X)while(h(F))z.before(h(F));else z.before(F)})}function U8(Q,J,W,K,X){if(M)l();if(J.$$host?.$$shadowRoot){let G=I7("slot");if(W!=="default")G.name=W;if(Q0(Q,G),X!==null){let V=p();G.append(V),X(V)}return}var Z=J.$$slots?.[W],z=!1;if(Z===!0)Z=J[W==="default"?"children":W],z=!0;if(Z===void 0){if(X!==null)X(Q)}else Z(Q,z?()=>K:K)}function F8(Q,J){U7(()=>{Q=L?.parent?.nodes?.start??Q;var W=Q.getRootNode(),K=W.host?W:W.head??W.ownerDocument.head;if(!K.querySelector("#"+J.hash)){let X=I7("style");X.id=J.hash,X.textContent=J.code,K.appendChild(X)}})}function O8(Q,J,W){U7(()=>{var K=k(()=>J(Q,W?.())||{});if(W&&K?.update){var X=!1,Z={};a(()=>{var z=W();if(I0(z),X&&H0(Z,z))Z=z,K.update(z)}),X=!0}if(K?.destroy)return()=>K.destroy()})}function K4(Q){var J,W,K="";if(typeof Q=="string"||typeof Q=="number")K+=Q;else if(typeof Q=="object")if(Array.isArray(Q)){var X=Q.length;for(J=0;J<X;J++)Q[J]&&(W=K4(Q[J]))&&(K&&(K+=" "),K+=W)}else for(W in Q)Q[W]&&(K&&(K+=" "),K+=W);return K}function X4(){for(var Q,J,W=0,K="",X=arguments.length;W<X;W++)(Q=arguments[W])&&(J=K4(Q))&&(K&&(K+=" "),K+=J);return K}function z4(Q){if(typeof Q==="object")return X4(Q);else return Q??""}var Z4=[...`
3
+ \r\f \v\uFEFF`];function G4(Q,J,W){var K=Q==null?"":""+Q;if(J)K=K?K+" "+J:J;if(W){for(var X of Object.keys(W))if(W[X])K=K?K+" "+X:X;else if(K.length){var Z=X.length,z=0;while((z=K.indexOf(X,z))>=0){var G=z+Z;if((z===0||Z4.includes(K[z-1]))&&(G===K.length||Z4.includes(K[G])))K=(z===0?"":K.substring(0,z))+K.substring(G+1);else z=G}}}return K===""?null:K}function V4(Q,J,W,K,X,Z){var z=Q[fQ];if(M||z!==W||z===void 0){var G=G4(W,K,Z);if(!M||G!==Q.getAttribute("class"))if(G==null)Q.removeAttribute("class");else if(J)Q.className=G;else Q.setAttribute("class",G);Q[fQ]=W}else if(Z&&X!==Z)for(var V in Z){var H=!!Z[V];if(X==null||H!==!!X[V])Q.classList.toggle(V,H)}return Z}var x8=Symbol("class"),E8=Symbol("style"),k8=Symbol("is custom element"),b8=Symbol("is html"),y8=d0?"link":"LINK";function U4(Q,J,W,K){var X=h8(Q);if(M){if(X[J]=Q.getAttribute(J),J==="src"||J==="srcset"||J==="href"&&Q.nodeName===y8){if(!K)v8(Q,J,W??"");return}}if(X[J]===(X[J]=W))return;if(J==="loading")Q[u9]=W;if(W==null)Q.removeAttribute(J);else if(typeof W!=="string"&&P4(Q).has(J))Q[J]=W;else Q.setAttribute(J,W)}function g8(Q,J,W){var K=O,X=L;let Z=M;if(M)f(!1);u(null),_(null);try{if(J!=="style"&&(T9.has(Q.getAttribute("is")||Q.nodeName)||!customElements||customElements.get(Q.getAttribute("is")||Q.nodeName.toLowerCase())?P4(Q).has(J):W&&typeof W==="object"))Q[J]=W;else U4(Q,J,W==null?W:String(W))}finally{if(u(K),_(X),Z)f(!0)}}function h8(Q){return Q[q0]??={[k8]:Q.nodeName.includes("-"),[b8]:Q.namespaceURI===$0}}var T9=new Map;function P4(Q){var J=Q.getAttribute("is")||Q.nodeName,W=T9.get(J);if(W)return W;T9.set(J,W=new Set);var K,X=Q,Z=Element.prototype;while(Z!==X){K=X0(X);for(var z in K)if(K[z].set&&z!=="innerHTML"&&z!=="textContent"&&z!=="innerText")W.add(z);X=$Q(X)}return W}function v8(Q,J,W){return}function x9(Q,J){if(Q===J)return!0;return new URL(Q,document.baseURI).href===new URL(J,document.baseURI).href}function q4(Q){return Q.split(",").map((J)=>J.trim().split(" ").filter(Boolean))}function m8(Q,J){var W=q4(Q.srcset),K=q4(J);return K.length===W.length&&K.every(([X,Z],z)=>Z===W[z][1]&&(x9(W[z][0],X)||x9(X,W[z][0])))}class H4{#Q=new WeakMap;#J;#W;static entries=new WeakMap;constructor(Q){this.#W=Q}observe(Q,J){var W=this.#Q.get(Q)||new Set;return W.add(J),this.#Q.set(Q,W),this.#G().observe(Q,this.#W),()=>{var K=this.#Q.get(Q);if(K.delete(J),K.size===0)this.#Q.delete(Q),this.#J.unobserve(Q)}}#G(){return this.#J??(this.#J=new ResizeObserver((Q)=>{for(var J of Q){H4.entries.set(J.target,J);for(var W of this.#Q.get(J.target)||[])W(J)}}))}}function E9(Q,J){return Q===J||Q?.[q7]===J}function u8(Q=lQ(),J,W,K){var X=C.r,Z=L;return U7(()=>{var z,G;return a(()=>{z=G,G=K?.()||[],k(()=>{if(!E9(W(...G),Q)){if(J(Q,...G),z&&E9(W(...z),Q))J(null,...z)}})}),()=>{let V=Z;while(V!==X&&V.parent!==null&&V.parent.f&QQ)V=V.parent;let H=()=>{if(G&&E9(W(...G),Q))J(null,...G)},P=V.teardown;V.teardown=()=>{H(),P?.()}}}),Q}var b0=!1,PG=Symbol("unmounted");function b9(Q){var J=b0;try{return b0=!1,[Q(),b0]}finally{b0=J}}function f8(Q,J,W,K){var X=!KQ||(W&c9)!==0,Z=(W&s9)!==0,z=(W&r9)!==0,G=K,V=!0,H=void 0,P=()=>{if(z&&X)return H??=ZQ(K),A(H);if(V)V=!1,G=z?k(K):K;return G};let $;if(Z){var U=q7 in Q||pQ in Q;$=H7(Q,J)?.set??(U&&J in Q?(I)=>Q[J]=I:void 0)}var q,B=!1;if(Z)[q,B]=b9(()=>Q[J]);else q=Q[J];if(q===void 0&&K!==void 0){if(q=P(),$){if(X)UJ(J);$(q)}}var F;if(X)F=()=>{var I=Q[J];if(I===void 0)return P();return V=!0,I};else F=()=>{var I=Q[J];if(I!==void 0)G=void 0;return I===void 0?G:I};if(X&&(W&o9)===0)return F;if($){var Y=Q.$$legacy;return function(I,A7){if(arguments.length>0){if(!X||!A7||Y||B)$(A7?F():I);return I}return F()}}var w=!1,b=((W&i9)!==0?ZQ:LQ)(()=>{return w=!1,F()});if(Z)A(b);var x=L;return function(I,A7){if(arguments.length>0){let Z7=A7?A(b):X&&Z?a7(I):I;if(X7(b,Z7),w=!0,G!==void 0)G=Z7;return I}if(S7&&w||(x.f&y)!==0)return b.v;return A(b)}}function B4(Q){return new Y4(Q)}class Y4{#Q;#J;constructor(Q){var J=new Map,W=(X,Z)=>{var z=SQ(Z,!1,!1);return J.set(X,z),z};let K=new Proxy({...Q.props||{},$$events:{}},{get(X,Z){return A(J.get(Z)??W(Z,Reflect.get(X,Z)))},has(X,Z){if(Z===pQ)return!0;return A(J.get(Z)??W(Z,Reflect.get(X,Z))),Reflect.has(X,Z)},set(X,Z,z){return X7(J.get(Z)??W(Z,z),z),Reflect.set(X,Z,z)}});if(this.#J=(Q.hydrate?N9:E0)(Q.component,{target:Q.target,anchor:Q.anchor,props:K,context:Q.context,intro:Q.intro??!1,recover:Q.recover,transformError:Q.transformError}),!Q7&&(!Q?.props?.$$host||Q.sync===!1))yQ();this.#Q=K.$$events;for(let X of Object.keys(this.#J)){if(X==="$set"||X==="$destroy"||X==="$on")continue;P7(this,X,{get(){return this.#J[X]},set(Z){this.#J[X]=Z},enumerable:!0})}this.#J.$set=(X)=>{Object.assign(K,X)},this.#J.$destroy=()=>{R9(this.#J)}}$set(Q){this.#J.$set(Q)}$on(Q,J){this.#Q[Q]=this.#Q[Q]||[];let W=(...K)=>J.call(this,...K);return this.#Q[Q].push(W),()=>{this.#Q[Q]=this.#Q[Q].filter((K)=>K!==W)}}$destroy(){this.#J.$destroy()}}var M4;if(typeof HTMLElement==="function")M4=class extends HTMLElement{$$ctor;$$s;$$c;$$cn=!1;$$d={};$$r=!1;$$p_d={};$$l={};$$l_u=new Map;$$me;$$shadowRoot=null;constructor(Q,J,W){super();if(this.$$ctor=Q,this.$$s=J,W)this.$$shadowRoot=this.attachShadow(W)}addEventListener(Q,J,W){if(this.$$l[Q]=this.$$l[Q]||[],this.$$l[Q].push(J),this.$$c){let K=this.$$c.$on(Q,J);this.$$l_u.set(J,K)}super.addEventListener(Q,J,W)}removeEventListener(Q,J,W){if(super.removeEventListener(Q,J,W),this.$$c){let K=this.$$l_u.get(J);if(K)K(),this.$$l_u.delete(J)}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let Q=function(K){return(X)=>{let Z=I7("slot");if(K!=="default")Z.name=K;Q0(X,Z)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;let J={},W=r8(this);for(let K of this.$$s)if(K in W)if(K==="default"&&!this.$$d.children)this.$$d.children=Q(K),J.default=!0;else J[K]=Q(K);for(let K of this.attributes){let X=this.$$g_p(K.name);if(!(X in this.$$d))this.$$d[X]=y0(X,K.value,this.$$p_d,"toProp")}for(let K in this.$$p_d)if(!(K in this.$$d)&&this[K]!==void 0)this.$$d[K]=this[K],delete this[K];this.$$c=B4({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:J,$$host:this}}),this.$$me=$9(()=>{a(()=>{this.$$r=!0;for(let K of mQ(this.$$c)){if(!this.$$p_d[K]?.reflect)continue;this.$$d[K]=this.$$c[K];let X=y0(K,this.$$d[K],this.$$p_d,"toAttribute");if(X==null)this.removeAttribute(this.$$p_d[K].attribute||K);else this.setAttribute(this.$$p_d[K].attribute||K,X)}this.$$r=!1})});for(let K in this.$$l)for(let X of this.$$l[K]){let Z=this.$$c.$on(K,X);this.$$l_u.set(X,Z)}this.$$l={}}}attributeChangedCallback(Q,J,W){if(this.$$r)return;Q=this.$$g_p(Q),this.$$d[Q]=y0(Q,W,this.$$p_d,"toProp"),this.$$c?.$set({[Q]:this.$$d[Q]})}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{if(!this.$$cn&&this.$$c)this.$$c.$destroy(),this.$$me(),this.$$c=void 0})}$$g_p(Q){return mQ(this.$$p_d).find((J)=>this.$$p_d[J].attribute===Q||!this.$$p_d[J].attribute&&J.toLowerCase()===Q)||Q}};function y0(Q,J,W,K){let X=W[Q]?.type;if(J=X==="Boolean"&&typeof J!=="boolean"?J!=null:J,!K||!W[Q])return J;else if(K==="toAttribute")switch(X){case"Object":case"Array":return J==null?null:JSON.stringify(J);case"Boolean":return J?"":null;case"Number":return J==null?null:J;default:return J}else switch(X){case"Object":case"Array":return J&&JSON.parse(J);case"Boolean":return J;case"Number":return J!=null?+J:J;default:return J}}function r8(Q){let J={};return Q.childNodes.forEach((W)=>{J[W.slot||"default"]=!0}),J}function a8(Q,J,W,K,X,Z){let z=class extends M4{constructor(){super(Q,W,X);this.$$p_d=J}static get observedAttributes(){return mQ(J).map((G)=>(J[G].attribute||G).toLowerCase())}};if(mQ(J).forEach((G)=>{P7(z.prototype,G,{get(){return this.$$c&&G in this.$$c?this.$$c[G]:this.$$d[G]},set(V){V=y0(G,V,J),this.$$d[G]=V;var H=this.$$c;if(H){var P=H7(H,G)?.get;if(P)H[G]=V;else H.$set({[G]:V})}}})}),K.forEach((G)=>{P7(z.prototype,G,{get(){return this.$$c?.[G]}})}),Z)z=Z(z);return Q.element=z,z}import{createContext as g0}from"@pie-players/pie-context";var L4=g0(Symbol.for("pie.assessmentToolkit.runtimeContext")),F4=g0(Symbol.for("pie.assessmentToolkit.hostRuntimeContext")),O4=g0(Symbol.for("pie.assessmentToolkit.shellContext")),n8=g0(Symbol.for("pie.assessmentToolkit.regionScopeContext"));import{connectContextWithRetry as y9}from"@pie-players/pie-context";var t8={bubbles:!0,composed:!0,cancelable:!1};function e8(Q,J,W={}){return new CustomEvent(Q,{detail:J,...t8,...W})}function PP(Q,J,W,K={}){return Q.dispatchEvent(e8(J,W,K))}function HP(Q,J){return y9(Q,L4,J)}function BP(Q,J){return y9(Q,O4,J)}function YP(Q,J){return y9(Q,F4,J)}var LP=1e4;function FP(Q,J,W){if(!Q)return;let K=Symbol.for(`pie.assessmentToolkit.warned.${J}`),X=Q;if(X[K])return;X[K]=!0,console.warn(W)}function DP(Q,J){return S4(Q,J,new WeakMap)}function S4(Q,J,W){if(Object.is(Q,J))return!0;let K=Array.isArray(Q);if(K!==Array.isArray(J))return!1;if(!K&&(!D4(Q)||!D4(J)))return!1;let X=Q,Z=J;if(K&&Q.length!==J.length)return!1;let z=W.get(X);if(z?.has(Z))return!0;if(!z)z=new Set,W.set(X,z);z.add(Z);let G=new Set([...Object.keys(X),...Object.keys(Z)]);for(let V of G)if(!S4(X[V],Z[V],W))return!1;return!0}function D4(Q){if(Q===null||typeof Q!=="object")return!1;let J=Object.getPrototypeOf(Q);return J===Object.prototype||J===null}
4
+ export{h7 as t,A0 as u,c0 as v,o0 as w,x4 as x,yQ as y,d7 as z,X7 as A,a7 as B,cJ as C,d4 as D,_4 as E,l4 as F,q9 as G,U9 as H,A as I,k as J,oJ as K,sJ as L,s4 as M,r4 as N,Q0 as O,Q8 as P,K8 as Q,Z8 as R,G8 as S,$8 as T,U8 as U,F8 as V,O8 as W,z4 as X,V4 as Y,U4 as Z,g8 as _,u8 as $,f8 as aa,a8 as ba,L4 as ca,F4 as da,O4 as ea,n8 as fa,PP as ga,HP as ha,BP as ia,YP as ja,LP as ka,FP as la,DP as ma};
@@ -0,0 +1,2 @@
1
+ import{qa as w}from"./ItemToolBar-kkj69ptr.js";var y={base:()=>import("speech-rule-engine/lib/mathmaps/base.json"),en:()=>import("speech-rule-engine/lib/mathmaps/en.json"),es:()=>import("speech-rule-engine/lib/mathmaps/es.json")},D=async(f)=>{if(!Object.hasOwn(y,f))throw Error(`no speech-rule-engine locale table is packaged for "${f}"; name a source with mathSpeech.engineOptions.json or .custom`);return(await y[f]()).default},G=()=>typeof window<"u"&&typeof window.document<"u"||typeof globalThis.DedicatedWorkerGlobalScope<"u",z=(f={})=>{let{json:q,custom:v}=f;if(q||v)return{...q?{json:q}:{},...v?{custom:v}:{}};return G()?{custom:D}:{}},x,H=(f)=>{x=z(f)},I=()=>{return x??=z(),x};
2
+ export{z as na,H as oa,I as pa};
@@ -0,0 +1,40 @@
1
+ import{m as Qj,n as Vj,p as Oj,r as qj}from"./ItemToolBar-hzc5wyjp.js";import{$ as Uj,A as e,B as e0,C as EJ,D as SJ,F as TZ,G as c,H as r,I as J,K as UZ,L as Jj,M as QJ,N as _J,O as b,Q as NJ,R as Zj,S as KZ,T as j0,V as jj,W as XZ,X as U0,Y as OJ,Z as i,_ as wJ,aa as g,ba as Kj,ca as Xj,ha as Lj,ia as Yj,ka as K0,la as Dj,ma as s0,t as BZ,u as qJ,v as n0,w as t0,x as O,y as E,z as YJ}from"./ItemToolBar-3zrc4p3d.js";import{ContextProvider as ej}from"@pie-players/pie-context";function J0(k,N,B,S){if(typeof k?.reportToolFailure==="function"){k.reportToolFailure(N,B,S);return}console.error(`[${N}] ${B} failed:`,S)}function Z0(k){return typeof k.href==="string"}function h0(k){if(!k||typeof k!=="object"||Array.isArray(k))return!1;let N=k;if(typeof N.id!=="string"||N.id.trim().length===0)return!1;if(typeof N.label!=="string"||N.label.trim().length===0)return!1;if(N.ariaLabel!==void 0&&typeof N.ariaLabel!=="string")return!1;if(N.icon!==void 0&&typeof N.icon!=="string")return!1;if(N.tooltip!==void 0&&typeof N.tooltip!=="string")return!1;if(N.active!==void 0&&typeof N.active!=="boolean")return!1;if(N.disabled!==void 0&&typeof N.disabled!=="boolean")return!1;let B=typeof N.href==="string",S=typeof N.onClick==="function";return B!==S}function u0(k){return typeof k==="string"&&k.trimStart().startsWith("<svg")}function c0(k){return typeof k==="string"&&k.trimStart().startsWith("http")}import{sanitizeSvgIcon as i0}from"@pie-players/pie-players-shared/security";import{resolveInterfaceI18n as JU}from"@pie-players/pie-players-shared/i18n/provider";import{collectFocusable as ZU,createFocusTrap as jU,createPointerGesture as UU,FOCUSABLE_SELECTOR as KU,isProgrammaticFocusTarget as XU}from"@pie-players/pie-players-shared";var nj={calculator:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 2h10a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm0 2v4h10V4H7Zm0 6v2h2v-2H7Zm4 0v2h2v-2h-2Zm4 0v2h2v-2h-2Zm-8 4v2h2v-2H7Zm4 0v2h2v-2h-2Zm4 0v2h2v-2h-2Zm-8 4v2h2v-2H7Zm4 0v2h2v-2h-2Zm4 0v2h2v-2h-2Z" fill="currentColor"/></svg>',"volume-up":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 3.23v2.06A7.002 7.002 0 0 1 19 12a7 7 0 0 1-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77Zm-2 17.75V3L7 8H3v8h4l5 5Zm4.5-9a4.5 4.5 0 0 0-2.5-4.03v8.05A4.5 4.5 0 0 0 16.5 12Z" fill="currentColor"/></svg>',swatch:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 3a9 9 0 1 0 9 9c0-.55-.45-1-1-1h-2.5a1.5 1.5 0 0 1 0-3H20a1 1 0 0 0 1-1 8.99 8.99 0 0 0-9-4Zm-5.5 9A1.5 1.5 0 1 1 8 13.5 1.5 1.5 0 0 1 6.5 12Zm3-4A1.5 1.5 0 1 1 11 9.5 1.5 1.5 0 0 1 9.5 8Zm5 0A1.5 1.5 0 1 1 16 9.5 1.5 1.5 0 0 1 14.5 8Z" fill="currentColor"/></svg>',"chart-bar":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4.75 5a.76.76 0 0 1 .75.75v11c0 .438.313.75.75.75h13a.76.76 0 0 1 .696 1.039.74.74 0 0 1-.696.461h-13C5 19 4 18 4 16.75v-11A.74.74 0 0 1 4.75 5ZM8 8.25a.74.74 0 0 1 .75-.75h6.5a.76.76 0 0 1 .696 1.039.74.74 0 0 1-.696.461h-6.5A.722.722 0 0 1 8 8.25Zm.75 2.25h4.5a.76.76 0 0 1 .696 1.039.74.74 0 0 1-.696.461h-4.5a.723.723 0 0 1-.75-.75.74.74 0 0 1 .75-.75Zm0 3h8.5a.76.76 0 0 1 .696 1.039.74.74 0 0 1-.696.461h-8.5a.723.723 0 0 1-.75-.75.74.74 0 0 1 .75-.75Z" fill="currentColor"/></svg>',beaker:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 21c-.85 0-1.454-.38-1.813-1.137-.358-.759-.27-1.463.263-2.113L9 11V5H8a.968.968 0 0 1-.713-.287A.968.968 0 0 1 7 4c0-.283.096-.52.287-.712A.968.968 0 0 1 8 3h8c.283 0 .52.096.712.288.192.191.288.429.288.712s-.096.52-.288.713A.968.968 0 0 1 16 5h-1v6l5.55 6.75c.533.65.62 1.354.262 2.113C20.454 20.62 19.85 21 19 21H5Zm2-3h10l-3.4-4h-3.2L7 18Zm-2 1h14l-6-7.3V5h-2v6.7L5 19Z" fill="currentColor"/></svg>',protractor:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m6.75 21-.25-2.2 2.85-7.85a3.95 3.95 0 0 0 1.75.95l-2.75 7.55L6.75 21Zm10.5 0-1.6-1.55-2.75-7.55a3.948 3.948 0 0 0 1.75-.95l2.85 7.85-.25 2.2ZM12 11a2.893 2.893 0 0 1-2.125-.875A2.893 2.893 0 0 1 9 8c0-.65.188-1.23.563-1.737A2.935 2.935 0 0 1 11 5.2V3h2v2.2c.583.2 1.063.554 1.438 1.063C14.812 6.77 15 7.35 15 8c0 .833-.292 1.542-.875 2.125A2.893 2.893 0 0 1 12 11Zm0-2c.283 0 .52-.096.713-.287A.967.967 0 0 0 13 8a.967.967 0 0 0-.287-.713A.968.968 0 0 0 12 7a.968.968 0 0 0-.713.287A.967.967 0 0 0 11 8c0 .283.096.52.287.713.192.191.43.287.713.287Z" fill="currentColor"/></svg>',"bars-3":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.85 15c.517 0 .98-.15 1.388-.45.408-.3.695-.692.862-1.175l.375-1.15c.267-.8.2-1.537-.2-2.213C8.875 9.337 8.3 9 7.55 9H4.025l.475 3.925c.083.583.346 1.075.787 1.475.442.4.963.6 1.563.6Zm10.3 0c.6 0 1.12-.2 1.563-.6.441-.4.704-.892.787-1.475L19.975 9h-3.5c-.75 0-1.325.342-1.725 1.025-.4.683-.467 1.425-.2 2.225l.35 1.125c.167.483.454.875.862 1.175.409.3.871.45 1.388.45Zm-10.3 2c-1.1 0-2.063-.363-2.887-1.088a4.198 4.198 0 0 1-1.438-2.737L2 9H1V7h6.55c.733 0 1.404.18 2.013.537A3.906 3.906 0 0 1 11 9h2.025c.35-.617.83-1.104 1.438-1.463A3.892 3.892 0 0 1 16.474 7H23v2h-1l-.525 4.175a4.198 4.198 0 0 1-1.438 2.737A4.238 4.238 0 0 1 17.15 17c-.95 0-1.804-.27-2.562-.813A4.234 4.234 0 0 1 13 14.026l-.375-1.125a21.35 21.35 0 0 1-.1-.363 4.926 4.926 0 0 1-.1-.537h-.85c-.033.2-.067.363-.1.488a21.35 21.35 0 0 1-.1.362L11 14a4.3 4.3 0 0 1-1.588 2.175A4.258 4.258 0 0 1 6.85 17Z" fill="currentColor"/></svg>',ruler:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m8.8 10.95 2.15-2.175-1.4-1.425-1.1 1.1-1.4-1.4 1.075-1.1L7 4.825 4.825 7 8.8 10.95Zm8.2 8.225L19.175 17l-1.125-1.125-1.1 1.075-1.4-1.4 1.075-1.1-1.425-1.4-2.15 2.15L17 19.175ZM7.25 21H3v-4.25l4.375-4.375L2 7l5-5 5.4 5.4 3.775-3.8c.2-.2.425-.35.675-.45a2.068 2.068 0 0 1 1.55 0c.25.1.475.25.675.45L20.4 4.95c.2.2.35.425.45.675.1.25.15.508.15.775a1.975 1.975 0 0 1-.6 1.425l-3.775 3.8L22 17l-5 5-5.375-5.375L7.25 21ZM5 19h1.4l9.8-9.775L14.775 7.8 5 17.6V19Z" fill="currentColor"/></svg>',"book-open":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 6.25a6.6 6.6 0 0 0-2.3-1.32A8.6 8.6 0 0 0 7 4.5c-.63 0-1.25.06-1.85.18-.6.12-1.19.3-1.76.54a1.5 1.5 0 0 0-.93 1.4v10.1c0 .52.26.98.68 1.24.42.26.92.28 1.35.06.36-.18.75-.31 1.18-.4.42-.09.86-.13 1.33-.13.78 0 1.53.14 2.24.42.7.28 1.35.7 1.93 1.24l.83-.75.83.75c.58-.54 1.22-.96 1.93-1.24a6.1 6.1 0 0 1 2.24-.42c.47 0 .91.04 1.33.13.43.09.82.22 1.18.4.43.22.93.2 1.35-.06.42-.26.68-.72.68-1.24V6.62c0-.6-.36-1.15-.93-1.4a9.3 9.3 0 0 0-1.76-.54A9.8 9.8 0 0 0 17 4.5a8.6 8.6 0 0 0-2.7.43A6.6 6.6 0 0 0 12 6.25Zm1 10.06V8.02c.55-.5 1.16-.88 1.84-1.13A6 6 0 0 1 17 6.5c.45 0 .89.04 1.32.11.43.08.85.19 1.26.34v9.24a8.2 8.2 0 0 0-1.28-.24A10 10 0 0 0 17 15.85c-.72 0-1.42.09-2.09.26a7.7 7.7 0 0 0-1.91.8Zm-2 0a7.7 7.7 0 0 0-1.91-.8 8.4 8.4 0 0 0-2.09-.26c-.44 0-.87.02-1.3.07-.43.05-.86.13-1.28.24V6.95c.41-.15.83-.26 1.26-.34A7.7 7.7 0 0 1 7 6.5c.76 0 1.48.13 2.16.39.68.25 1.29.63 1.84 1.13Z" fill="currentColor"/></svg>',photo:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 21c-.55 0-1.02-.2-1.41-.59A1.93 1.93 0 0 1 2 19V5c0-.55.2-1.02.59-1.41A1.93 1.93 0 0 1 4 3h16c.55 0 1.02.2 1.41.59.39.39.59.86.59 1.41v14c0 .55-.2 1.02-.59 1.41-.39.39-.86.59-1.41.59H4Zm0-2h16V5H4v14Zm1.5-2.5h13l-4.1-5.47-3.4 4.47-2.5-3.25L5.5 16.5ZM8.5 10a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z" fill="currentColor"/></svg>'};function a0(k){return nj[k]||null}function d0(){let k=null;return(N,B)=>{if(!N)return k=null,null;let S=N.visibleTools.map((GJ)=>({toolId:GJ.toolId,required:GJ.required,alwaysAvailable:GJ.alwaysAvailable,parameters:GJ.parameters}));if(k?.renderVersion===B&&s0(k.tools,S))return k.tools;return k={renderVersion:B,tools:S},S}}import"@pie-players/pie-players-shared/nds-icon-button";var tj=(k,N)=>{if(customElements.get(k))return;try{customElements.define(k,N)}catch(B){if(!(B instanceof DOMException&&B.name==="NotSupportedError"||B&&typeof B==="object"&&B.name==="NotSupportedError")||!customElements.get(k))throw B}},r0=(k,N=BZ)=>{var B=_J(),S=SJ(B);{var GJ=(l)=>{var JJ=l0();j0(JJ,()=>i0(N()),!0),qJ(JJ),b(l,JJ)},gJ=O(()=>u0(N())),xZ=(l)=>{var JJ=LU();r(()=>i(JJ,"src",N())),b(l,JJ)},mJ=O(()=>c0(N())),IZ=(l)=>{let JJ=O(()=>a0(N()));var hJ=_J(),CJ=SJ(hJ);{var LZ=(MJ)=>{var RJ=l0();j0(RJ,()=>i0(J(JJ)),!0),qJ(RJ),b(MJ,RJ)},AZ=(MJ)=>{var RJ=YU();r(()=>OJ(RJ,1,`icon icon-${N()}`,"svelte-1c13522")),b(MJ,RJ)};NJ(CJ,(MJ)=>{if(J(JJ))MJ(LZ);else MJ(AZ,-1)})}b(l,hJ)};NJ(S,(l)=>{if(J(gJ))l(GJ);else if(J(mJ))l(xZ,1);else l(IZ,-1)})}b(k,B)},l0=QJ('<span aria-hidden="true"></span>'),LU=QJ('<img class="item-toolbar__icon-image svelte-1c13522" alt=""/>'),YU=QJ('<i aria-hidden="true"></i>'),o0=QJ("<span></span>"),QU=QJ('<span class="item-toolbar__nds-button-zoom svelte-1c13522"><nds-icon-button></nds-icon-button></span>',2),VU=QJ("<a><!></a>"),DU=QJ('<button type="button"><!></button>'),OU=QJ("<div></div>"),qU=QJ('<div><div class="item-toolbar__tools-row svelte-1c13522"><!> <!> <!></div> <!></div>'),NU={hash:"svelte-1c13522",code:`.item-toolbar.svelte-1c13522 {display:flex;flex-direction:column;align-items:flex-end;min-width:0;max-width:100%;gap:0;--pie-toolbar-tools-row-height: 2rem;--pie-tts-controls-row-height: 2.875rem;}.item-toolbar__tools-row.svelte-1c13522 {display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:0.5rem;max-width:100%;min-height:var(--pie-toolbar-tools-row-height);}
2
+
3
+ /* A granted section tool must stay reachable even when there isn't room for
4
+ every button: scroll the row rather than clipping items past the edge,
5
+ which left them impossible to focus, tab to, or click. \`min-width: 0\`
6
+ beats the flex default (\`auto\`, i.e. never shrink below content), which
7
+ would otherwise keep the row at full content width and make overflow-x
8
+ moot. Item and passage rows wrap without an overflow clip so an inline
9
+ reading-controls panel can still extend outside the row. */.item-toolbar[data-level="section"].svelte-1c13522 .item-toolbar__tools-row:where(.svelte-1c13522) {flex-wrap:nowrap;justify-content:flex-start;
10
+ /* Keep the focus outline inside the scrolling box on both axes. */padding:4px;scroll-padding:4px;box-sizing:border-box;overflow-x:auto;max-width:100%;min-width:0;}.item-toolbar__controls-row.svelte-1c13522 {display:flex;align-items:center;justify-content:flex-end;width:100%;min-height:0;height:auto;}.item-toolbar__controls-row--reserve.svelte-1c13522 {min-height:var(--pie-tts-controls-row-height);height:var(--pie-tts-controls-row-height);}.item-toolbar__controls-row--active.svelte-1c13522 {min-height:var(--pie-tts-controls-row-height);height:var(--pie-tts-controls-row-height);}.item-toolbar__controls-row--align-start.svelte-1c13522 {justify-content:flex-start;}.item-toolbar__controls-host.svelte-1c13522 {display:inline-flex;align-items:center;justify-content:flex-end;width:100%;}.item-toolbar--top.svelte-1c13522,
11
+ .item-toolbar--bottom.svelte-1c13522 {align-items:flex-end;}.item-toolbar--left.svelte-1c13522,
12
+ .item-toolbar--right.svelte-1c13522 {align-items:stretch;}.item-toolbar--left.svelte-1c13522 .item-toolbar__tools-row:where(.svelte-1c13522),
13
+ .item-toolbar--right.svelte-1c13522 .item-toolbar__tools-row:where(.svelte-1c13522) {flex-direction:column;align-items:center;justify-content:flex-start;flex-wrap:nowrap;}.item-toolbar--left.svelte-1c13522 .item-toolbar__controls-row:where(.svelte-1c13522),
14
+ .item-toolbar--right.svelte-1c13522 .item-toolbar__controls-row:where(.svelte-1c13522) {justify-content:flex-start;width:auto;min-height:0;height:auto;}.item-toolbar__button.svelte-1c13522 {display:flex;flex-shrink:0;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0.25rem;border:1px solid var(--pie-button-border, var(--pie-border, #ccc));border-radius:0.25rem;background-color:var(--pie-button-bg, var(--pie-background, white));color:var(--pie-button-color, var(--pie-text, #333));cursor:pointer;transition:all 0.15s ease;text-decoration:none;}
15
+
16
+ /* Drive the vendored NDS icon button's outer size via its own \`--height-32\`
17
+ custom property so its light-DOM inner button matches the toolbar's
18
+ md/sm/lg dimensions (32 / 44 / 40 px) without a layout shift. The glyph
19
+ keeps the NDS-native icon size (we render size="small"), so it isn't
20
+ oversized. */.item-toolbar__nds-button-zoom.svelte-1c13522 {display:inline-flex;flex-shrink:0;}.item-toolbar.svelte-1c13522 nds-icon-button:where(.svelte-1c13522) {
21
+ /* Host-settable button size per toolbar size (drives the NDS outer button
22
+ via its own --height-32). */--height-32: var(--pie-calculator-button-size, 2rem);
23
+ /* Host-settable accent for the calculator button: the NDS tertiary glyph
24
+ colour derives from --color-interactive-blue, remapped here to a
25
+ themeable variable. --pie-calculator-button-color is package-private, so
26
+ nothing sets it and the default is what ships: it now resolves through
27
+ --pie-button-color (DaisyUI base-content) instead of holding the Figma
28
+ blue on every theme, with the literal as the no-theme last resort.
29
+ Not --pie-primary or --pie-tertiary: both are \`direct\` mappings of
30
+ DaisyUI slots chosen to pair with their own -content colour, so a glyph
31
+ taken from either sits at 1.37:1 against the page under \`pastel\` and 11
32
+ of the 35 shipped themes fall under SC 1.4.11's 3:1. */--color-interactive-blue: var(--pie-calculator-button-color, var(--pie-button-color, var(--pie-text, #222)));
33
+ /* NDS palette bridge — keep in sync with the copies in tool-tts-inline
34
+ and section-player SectionItemsPane (asserted by
35
+ scripts/check-theme-tokens.mjs). The vendored button paints its fill,
36
+ its on-accent glyph, its hover ring and its focus ring from the NDS
37
+ design-system palette, which no PIE theme sets, so a tertiary button
38
+ kept a #f3f5f7 pill on every page — and once the glyph followed the
39
+ theme, a light glyph landed on that light pill. */--color-new-gray: var(--pie-background-dark, #f3f5f7);--color-primary-white: var(--pie-white, #ffffff);--color-primary-black: var(--pie-text, #000000);--color-focus-blue: var(--pie-button-focus-outline, #2b87ff);}.item-toolbar--sm.svelte-1c13522 nds-icon-button:where(.svelte-1c13522) {--height-32: var(--pie-calculator-button-size-sm, 2.75rem);}.item-toolbar--lg.svelte-1c13522 nds-icon-button:where(.svelte-1c13522) {--height-32: var(--pie-calculator-button-size-lg, 2.5rem);}.item-toolbar__element-host.svelte-1c13522 {display:contents;}.item-toolbar--sm.svelte-1c13522 .item-toolbar__button:where(.svelte-1c13522) {width:2.75rem;height:2.75rem;}.item-toolbar--sm.svelte-1c13522 {--pie-toolbar-tools-row-height: 2.75rem;--pie-tts-controls-row-height: 3.625rem;}.item-toolbar--lg.svelte-1c13522 .item-toolbar__button:where(.svelte-1c13522) {width:2.5rem;height:2.5rem;}.item-toolbar--lg.svelte-1c13522 {--pie-toolbar-tools-row-height: 2.5rem;--pie-tts-controls-row-height: 3.375rem;}.item-toolbar__button.svelte-1c13522:hover:not(:disabled) {background-color:var(--pie-button-hover-bg, var(--pie-secondary-background, #f5f5f5));border-color:var(--pie-button-hover-border, var(--pie-button-border, var(--pie-border, #ccc)));color:var(--pie-button-hover-color, var(--pie-button-color, var(--pie-text, #333)));transform:translateY(-1px);box-shadow:0 2px 4px color-mix(in srgb, var(--pie-black, #000) 10%, transparent);}.item-toolbar__button.svelte-1c13522:active:not(:disabled) {transform:translateY(0);box-shadow:none;}.item-toolbar__button--active.svelte-1c13522 {background-color:var(--pie-primary, #1976d2);color:var(--pie-white, #fff);border-color:var(--pie-primary, #1976d2);}.item-toolbar__button--active.svelte-1c13522:hover:not(:disabled) {background-color:var(--pie-primary-dark, #1565c0);}.item-toolbar__button.svelte-1c13522:focus-visible {outline:2px solid var(--pie-button-focus-outline, var(--pie-primary, #1976d2));outline-offset:2px;}.item-toolbar__button.svelte-1c13522:disabled {opacity:0.5;cursor:not-allowed;}.item-toolbar__button.svelte-1c13522 svg {width:100%;height:100%;}.item-toolbar__icon-image.svelte-1c13522 {width:100%;height:100%;object-fit:contain;}`};function Nj(k,N){n0(N,!0),jj(k,NU);let B=(Z,j=BZ,U=BZ)=>{var X=_J(),G=SJ(X);{var P=(M)=>{var x=_J(),W=SJ(x);Zj(W,()=>J(qZ),(D)=>{var o=o0();XZ(o,(n,s)=>Ej?.(n,s),()=>({mounted:j(),active:J(uZ)[j().toolId]??!1,runtime:J(w),i18n:J(L0)})),r(()=>OJ(o,1,U0(U()),"svelte-1c13522")),b(D,o)}),b(M,x)},V=(M)=>{var x=o0();XZ(x,(W,D)=>vj?.(W,D),()=>j().entry),r(()=>OJ(x,1,U0(U()),"svelte-1c13522")),b(M,x)};NJ(G,(M)=>{if(j().entry.shell)M(P);else M(V,-1)})}b(Z,X)},S=typeof window<"u",GJ="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.5.2/css/all.min.css",gJ=/font.?awesome|fa-?pro/i,xZ=/fontawesome-free/i,mJ=()=>Array.from(document.querySelectorAll('link[rel="stylesheet"][href]')),IZ=()=>mJ().some((Z)=>gJ.test(Z.href)&&!xZ.test(Z.href)),l=(Z,j)=>{let U=IZ()?j:"fa-solid";if(U==="fa-light")return()=>{};let X=()=>{for(let P of Z.querySelectorAll("i.fa-light"))P.classList.remove("fa-light"),P.classList.add(U)};X();let G=new MutationObserver(X);return G.observe(Z,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["class"]}),()=>G.disconnect()},JJ=(Z)=>{if(document.querySelector(`link[href="${Z}"]`))return;let j=document.createElement("link");j.rel="stylesheet",j.href=Z,j.addEventListener("error",()=>{j.dataset.pieLoadFailed=""},{once:!0}),document.head.appendChild(j)},hJ=!1,CJ=()=>{if(!S||hJ)return;if(hJ=!0,mJ().some((j)=>gJ.test(j.href)))return;JJ(GJ)},LZ="__pieFaToolbarShadowInstalled",AZ=(Z)=>{let j=Z.getRootNode();if(!(j instanceof ShadowRoot))return;let U=j;if(U[LZ])return;U[LZ]=!0;let X=new Set,G=(V)=>{if(!V||X.has(V))return;X.add(V);let M=document.createElement("link");M.rel="stylesheet",M.href=V,j.appendChild(M)},P=mJ().filter((V)=>gJ.test(V.href));for(let V of P){if("pieLoadFailed"in V.dataset)continue;if(V.sheet){G(V.href);continue}let M=(x)=>{if(V.removeEventListener("load",M),V.removeEventListener("error",M),x.type==="load")G(V.href)};V.addEventListener("load",M),V.addEventListener("error",M)}},MJ=(Z)=>{return CJ(),AZ(Z),{destroy:l(Z,"fa-light")}},RJ=(Z,j)=>{let U=j,X=()=>{let P=Z.querySelector("button");if(P)P.setAttribute("aria-pressed",U?"true":"false")};X();let G=new MutationObserver(X);return G.observe(Z,{childList:!0,subtree:!0}),{update(P){U=P,X()},destroy(){G.disconnect()}}},X0=(Z)=>Z.faIconName||null,Gj=new Oj,HJ=YJ(e0({})),fJ=g(N,"level",7,"item"),YZ=g(N,"scopeId",7,""),SZ=g(N,"itemId",7,""),_Z=g(N,"sectionId",7,""),CZ=g(N,"catalogId",7,""),fZ=g(N,"tools",7,""),bZ=g(N,"contentKind",7,"assessment-item"),FJ=g(N,"position",7,"bottom"),QZ=g(N,"scopeElement",7,null),VZ=g(N,"toolRegistry",7,null),yZ=g(N,"item",7,null),DZ=g(N,"hostButtons",23,()=>[]),pZ=g(N,"class",7,""),OZ=g(N,"size",7,"md"),$Z=g(N,"language",7,""),ZJ=YJ(null),w=YJ(null),qZ=O(()=>J(w)?.ndsIcons===!0),L0=O(()=>JU(J(w))),Mj=O(()=>$Z()||J(w)?.contentLanguage||void 0),bJ=YJ(null),uJ=YJ(0),cJ=YJ(0),vZ=YJ(0),EZ=YJ(0);c(()=>{if(!J(ZJ))return;return Lj(J(ZJ),(Z)=>{e(w,Z,!0)})}),c(()=>{if(!J(ZJ))return;return Yj(J(ZJ),(Z)=>{e(bJ,Z,!0)})}),c(()=>{let Z=J(w)?.toolkitCoordinator;if(!Z||typeof Z.onPolicyChange!=="function")return;let j=Z.onPolicyChange((U)=>{if(e(cJ,J(cJ)+1),U?.reason!=="item-settings")e(vZ,J(vZ)+1)});return()=>{try{j?.()}catch{}}}),c(()=>{let Z=J(w)?.toolkitCoordinator;if(!Z||typeof Z.onToolContextResolverChange!=="function")return;let j=Z.onToolContextResolverChange(()=>{e(EZ,J(EZ)+1)});return()=>{try{j?.()}catch{}}});let jJ=O(()=>J(w)?.toolCoordinator),Rj=O(()=>J(w)?.ttsService),gZ=O(()=>J(w)?.elementToolStateStore),Y0=O(()=>J(w)?.assessmentId??""),NZ=O(()=>SZ()||J(bJ)?.itemId||""),TJ=O(()=>J(bJ)?.canonicalItemId||J(NZ)),aJ=O(()=>_Z()||J(w)?.sectionId||""),sJ=O(()=>bZ()||J(bJ)?.contentKind||(fJ()==="section"?"section":"assessment-item")),I=O(()=>{if(fJ()&&fJ()!=="item")return fJ();if(J(sJ)==="rubric-block-stimulus")return"passage";return"item"}),BJ=O(()=>{if(YZ())return YZ();if(J(I)==="section")return J(aJ)||J(w)?.sectionId||"default-section";if(J(I)==="assessment")return J(w)?.assessmentId||"default-assessment";return J(TJ)||J(NZ)||"default-item"}),Fj=O(()=>CZ()||J(BJ)),VJ=O(()=>yZ()||J(bJ)?.item||null),m=O(()=>{if(VZ())return VZ();return J(cJ),J(w)?.toolkitCoordinator?.getToolRegistry?.()||Gj}),Pj=O(()=>qj(fZ())),Wj=O(()=>J(m).normalizeToolIds(J(Pj)).filter(Boolean)),Q0=O(()=>{if(J(I)==="section")return"section";if(J(I)==="passage"||J(sJ)==="rubric-block-stimulus")return"passage";return"item"}),V0=O(()=>{J(cJ);let Z=J(w)?.toolkitCoordinator;if(!Z||typeof Z.decideToolPolicy!=="function")return null;return Z.decideToolPolicy({level:J(Q0),scope:{level:J(I),scopeId:J(BJ),assessmentId:J(w)?.assessmentId,sectionId:J(aJ)||void 0,itemId:J(NZ)||void 0,canonicalItemId:J(TJ)||void 0,contentKind:J(sJ)}})}),kj=d0(),GZ=O(()=>kj(J(V0),J(vZ))),dJ=O(()=>{let Z=(j)=>Array.from(new Set(j));if(J(GZ))return Z(J(m).normalizeToolIds(J(GZ).map((j)=>j.toolId)).filter(Boolean));return Z(J(Wj))});c(()=>{if(!J(V0)||J(dJ).length===0)return;if(J(m).getAllTools().length>0)return;let Z=J(ZJ)?.ownerDocument,j=J(dJ).join(", "),U=setTimeout(()=>{Dj(Z,"toolbarWithoutRegistry",`[pie-item-toolbar] Policy places ${j} on this toolbar, but its tool registry is still empty after ${K0/1000} s, so it renders no buttons. Pass a toolRegistry to <pie-assessment-toolkit> or its coordinator; @pie-players/pie-default-tool-loaders builds the stock one. Reported once per page.`)},K0);return()=>clearTimeout(U)});let mZ=O(()=>{if(J(I)==="section"||J(I)==="assessment")return!0;let Z=J(VJ)?.config;return!!(J(VJ)&&Z&&typeof Z==="object")}),zj=O(()=>{J(cJ);let Z=J(w)?.toolkitCoordinator;if(!Z||typeof Z.getPolicyInputs!=="function")return null;return Z.getPolicyInputs()}),yJ=O(()=>J(zj)?.assessment??null),MZ=O(()=>({id:J(TJ)})),RZ=O(()=>{if(J(I)==="section")return{level:"section",assessment:J(yJ)||{},section:{}};if(J(I)==="assessment")return{level:"assessment",assessment:J(yJ)||{}};if(!J(mZ)||!J(VJ))return null;if(J(I)==="passage")return{level:"passage",assessment:J(yJ)||{},itemRef:J(MZ),passage:J(VJ)};return{level:"item",assessment:J(yJ)||{},itemRef:J(MZ),item:J(VJ)}}),D0=O(()=>{if(J(RZ))return J(RZ);return{level:"item",assessment:J(yJ)||{},itemRef:J(MZ),item:J(VJ)||{id:J(TJ),config:{}}}}),O0=O(()=>{if(J(I)!=="item"&&J(I)!=="passage")return[];if(!J(mZ)||!J(VJ))return[];let Z=J(VJ)?.config?.models;return(Array.isArray(Z)?Z:Z&&typeof Z==="object"?Object.values(Z):[]).filter((U)=>U&&typeof U==="object"&&typeof U.id==="string").map((U)=>({level:"element",assessment:J(yJ)||{},itemRef:J(MZ),item:J(VJ),elementId:U.id}))});function FZ(Z){return Qj(Z,J(I),J(BJ))}let iJ=null;function q0(Z,j){if(iJ?.coordinator===Z)iJ.ids.add(j)}function N0(Z,j){let U=FZ(j);if(!Z.getToolState(U))Z.registerTool(U,j);return q0(Z,U),U}c(()=>{let Z=J(jJ);if(J(I),J(BJ),!Z)return;let j={coordinator:Z,ids:new Set};return iJ=j,()=>{if(iJ===j)iJ=null;for(let U of j.ids)Z.releaseTool(U)}});function wj(Z){if(!J(gZ)||!J(Y0)||!J(aJ)||!J(TJ))return null;return J(gZ).getGlobalElementId({assessmentId:J(Y0),sectionId:J(aJ),attemptId:J(w)?.attemptId??"",itemId:J(TJ),elementId:Z})}function Hj(){if(QZ())return QZ();return J(bJ)?.scopeElement||null}function G0(){let Z=J(jJ)||null;return{scope:{level:J(I),scopeId:J(BJ),assessmentId:J(w)?.assessmentId,sectionId:J(aJ),itemId:J(NZ),canonicalItemId:J(TJ),contentKind:J(sJ)},itemId:J(BJ),catalogId:J(Fj),language:J(Mj),i18n:J(L0),ui:{size:OZ()},getScopeElement:Hj,getGlobalElementId:wj,toolCoordinator:Z,toolkitCoordinator:J(w)?.toolkitCoordinator||null,ttsService:J(Rj)||null,elementToolStateStore:J(gZ)||null,toggleTool:(j)=>{if(!Z)return;Z.toggleTool(N0(Z,j))},isToolVisible:(j)=>Z?.isToolVisible(FZ(j))??!1,subscribeVisibility:Z?(j)=>Z.subscribe(j):null}}let Tj=O(G0),hZ=O(()=>{J(EZ);let Z=J(w)?.toolkitCoordinator;if(!Z||typeof Z.hasToolContextResolver!=="function"||typeof Z.resolveToolContext!=="function")return{};let j={};for(let U of J(dJ)){if(!J(m).get(U)?.supportedLevels.includes(J(I)))continue;if(!Z.hasToolContextResolver(U))continue;let G=Z.resolveToolContext({toolId:U,context:J(D0),toolbarContext:J(Tj)});if(G)j[U]=G}return j}),Bj=O(()=>{let Z=J(hZ),j=(J(GZ)??J(dJ).map((P)=>({toolId:P,required:!1,alwaysAvailable:!1}))).filter((P)=>!Z[J(m).normalizeToolId(P.toolId)]),U=!J(mZ)?[]:J(RZ)?[J(RZ),...J(O0)]:J(O0),X=(P,V,M)=>J0(J(w)?.toolkitCoordinator,P,V,M),G=new Set(J(m).filterDecidedToolIds(j,J(I),U,X));return J(dJ).filter((P)=>G.has(P)||Z[P]?.visible)}),rJ=YJ(null),lJ=O(()=>{let Z=J(rJ)?.registry===J(m)?J(rJ).toolIds:null,j=J(m).filterToolIdsByActivation(J(Bj),"toolbar-toggle");return Z?j.filter((U)=>!Z.has(U)):j});c(()=>{if(!S)return;let Z=J(m),j=!1;return Z.ensureToolModulesLoaded(J(lJ)).then((U)=>{if(U.size>0){let X=J(rJ)?.registry===Z?J(rJ).toolIds:[];e(rJ,{registry:Z,toolIds:new Set([...X,...U.keys()])},!0);for(let[G,P]of U)J0(J(w)?.toolkitCoordinator,G,"tool-module-load",P)}if(!j)e(uJ,J(uJ)+1)}),()=>{j=!0}});let xj=O(()=>{let Z=new Map;for(let j of J(GZ)??[]){if(!j.parameters)continue;let[U]=J(m).normalizeToolIds([j.toolId]);if(U)Z.set(U,j.parameters)}return Z}),xJ=O(()=>{let Z=J(xj);return{...G0(),getResolvedToolContext:(j)=>J(hZ)[j]??null,getToolParameters:(j)=>Z.get(J(m).normalizeToolId(j))??null,getToolRenderParams:(j)=>{let U=J(hZ)[j]?.params??null,X=M0.get(j);if(!X)return U;return{...U??{},...X}}}}),M0=new Map,R0=0,KJ=O(()=>{if(!S)return[];J(uJ);let Z=[];for(let j of J(lJ)){let U=J(m).renderForToolbar(j,J(D0),J(xJ));if(U)Z.push(U)}return Z});c(()=>{let Z=J(jJ);if(!Z)return;for(let j of J(KJ))q0(Z,FZ(j.toolId))});let Ij=O(()=>{if(!Array.isArray(DZ()))return[];let Z=[];return DZ().forEach((j,U)=>{if(h0(j)){Z.push(j);return}console.warn(`[ItemToolBar] Ignoring invalid host button at index ${U}. Expected { id, label, href | onClick } with valid types.`)}),Z}),Aj=O(()=>J(KJ).filter((Z)=>!!Z.button).map((Z)=>{let j=Z.button;return{id:Z.toolId,label:j.label,ariaLabel:j.ariaLabel||j.label,icon:j.icon,faIconName:j.faIconName,tooltip:j.tooltip||j.label,disabled:j.disabled,active:J(HJ)[Z.toolId]??j.active??!1,onClick:()=>{j.onClick(),pJ()}}})),F0=O(()=>[...J(Aj),...J(Ij)]),uZ=O(()=>{let Z={};for(let j of J(KJ))Z[j.toolId]=J(HJ)[j.toolId]??j.button?.active??!1;return Z}),cZ=(Z,j,U)=>Z.flatMap((X)=>(X.elements||[]).filter((G)=>G.mount===j).filter((G)=>Boolean(G.element)).map((G,P)=>({key:`${U}-${X.toolId}-${P}`,toolId:X.toolId,entry:G}))),Sj=O(()=>cZ(J(KJ),"before-buttons","before")),_j=O(()=>cZ(J(KJ),"after-buttons","after")),P0=O(()=>cZ(J(KJ),"controls-row","controls-row")),W0=O(()=>J(KJ).flatMap((Z)=>(Z.elements||[]).map((j)=>({toolId:Z.toolId,hint:j.layoutHints?.controlsRow})).filter((j)=>Boolean(j.hint)))),k0=O(()=>J(KJ).flatMap((Z)=>(Z.elements||[]).map((j)=>({toolId:Z.toolId,hint:j.layoutHints?.headerOverlay})).filter((j)=>Boolean(j.hint)))),z0=O(()=>J(W0).some((Z)=>Z.hint?.reserveSpace===!0)),w0=O(()=>J(W0).some((Z)=>Z.hint?.showWhenToolActive===!0&&(J(uZ)[Z.toolId]??!1))),Cj=O(()=>FJ()==="left"||FJ()==="right"),H0=O(()=>J(k0).some((Z)=>Z.hint?.showWhenToolActive===!0&&(J(uZ)[Z.toolId]??!1))),fj=O(()=>J(P0).length>0||J(z0)||J(w0));function bj(){if(!J(ZJ))return null;let Z=J(ZJ).getRootNode();if(Z instanceof ShadowRoot)return Z.host;return null}c(()=>{let Z=bj();if(!Z)return;let j=J(k0).length>0,U=J(H0);return Z.setAttribute("data-pie-header-overlay",j?"true":"false"),Z.setAttribute("data-pie-header-overlay-active",U?"true":"false"),()=>{Z.removeAttribute("data-pie-header-overlay"),Z.removeAttribute("data-pie-header-overlay-active")}}),c(()=>{if(!S||!J(qZ))return;if(J(F0).some((Z)=>!!X0(Z)))CJ()});function PZ(Z){if(Z.id in J(HJ))return J(HJ)[Z.id]===!0;return Z.active===!0}function pJ(){let Z={};for(let j of J(KJ))if(j.sync?.(),j.button)Z[j.toolId]=j.button.active??!1;e(HJ,Z,!0)}c(()=>{let Z=[];pJ();for(let j of J(KJ))if(j.subscribeActive){let U=!1,X=j.subscribeActive((G)=>{queueMicrotask(()=>{if(U)return;e(HJ,{...J(HJ),[j.toolId]:G},!0),j.sync?.()})});Z.push(()=>{U=!0,X()})}return()=>{Z.forEach((j)=>j())}}),c(()=>{let Z=J(w)?.toolkitCoordinator;if(typeof Z?.registerToolRequestTarget!=="function")return;let j=J(Q0);return Z.registerToolRequestTarget({level:j,get scopeId(){return J(BJ)},hostsTool:(U)=>J(lJ).includes(U),open:(U,X)=>{if(!J(jJ))return;if(!J(lJ).includes(U))return;if(X&&Object.keys(X).length>0)R0+=1,M0.set(U,{...X,toolRequestId:R0});let G=N0(J(jJ),U);J(jJ).showTool(G),queueMicrotask(()=>pJ())}})}),c(()=>{if(!J(xJ).subscribeVisibility)return;let Z=!1,j=J(xJ).subscribeVisibility(()=>{queueMicrotask(()=>{if(Z)return;pJ()})});return()=>{Z=!0,j?.()}}),c(()=>{let Z=J(xJ).toolkitCoordinator;if(typeof Z?.subscribeTelemetry!=="function")return;let j=!1,U=Z.subscribeTelemetry(({eventName:X,payload:G})=>{if(X!=="pie-toolkit-tool-config-updated")return;if(G?.toolId&&!J(lJ).includes(G.toolId))return;queueMicrotask(()=>{if(j)return;e(uJ,J(uJ)+1),pJ()})});return()=>{j=!0,U?.()}});let yj="[data-pie-tool-overlay-boundary]";function pj(Z,j){if(j.container!=="content-boundary")return Z;let U=Z;while(U){if(U instanceof HTMLElement&&U.matches(yj))return U;if(U instanceof HTMLElement&&U.parentElement){U=U.parentElement;continue}let X=U.getRootNode();U=X instanceof ShadowRoot?X.host:null}return Z}let $j="__pieToolElementUnmount";function aZ(Z){if(!Z)return;let j=Z[$j];if(typeof j==="function")j()}function vj(Z,j){let U=j,X=null,G=Z,P=(V)=>{if(X===V)return;if(X){if(aZ(X),X.parentNode===G)G.removeChild(X)}if(X=V,X){if(G=pj(Z,U),X.parentNode&&X.parentNode!==G)X.parentNode.removeChild(X);G.appendChild(X)}};return P(j.element),{update(V){U=V,P(V.element)},destroy(){P(null)}}}let T0=720,B0=560,x0=320,sZ=240,PJ=24,WJ=40;function Ej(Z,j){let U=j,X=null,G=null,P=[],V=null,M=null,x=null,W=null,D=null,o=null,n=null,s=!1,DJ=!1,oJ=()=>U.mounted.entry.shell?.pageTabOrder===!0,XJ=()=>U.mounted.entry.shell?.ndsHeaderControls===!0,T=null,IJ=null,nJ=UU({onMove:(K)=>oj(K),onEnd:()=>{IJ=null}}),t=0,z=0,H=0,y=0,kJ=0,_=0,tJ=0,dZ=0,eJ=null,iZ=[],p=0,$=0,C=U.mounted.entry.shell?.initialWidth??T0,f=U.mounted.entry.shell?.initialHeight??B0,A0=C,S0=f,JZ=!1,$J=null,LJ=null,WZ=!1,rZ=()=>{let K=U.mounted.entry.shell;if(!K)return null;return{toolId:U.mounted.toolId,toolbarContext:J(xJ),shellConfig:K}},uj=(K)=>{let Y=J(m).get(U.mounted.toolId),q=rZ();if(!Y?.onHostedMount||!q)return;Y.onHostedMount(K,q)},kZ=()=>{let K=J(m).get(U.mounted.toolId),Y=rZ();if(!K?.onHostedResize||!Y)return;K.onHostedResize({width:C,height:f},U.mounted.entry.element,Y)},cj=()=>{let K=J(m).get(U.mounted.toolId),Y=rZ();if(!K?.onHostedUnmount||!Y)return;K.onHostedUnmount(U.mounted.entry.element,Y)},a=(K,Y,q)=>Math.max(Y,Math.min(K,q)),AJ=(K)=>{try{K.focus()}catch{}},aj=()=>{let K=U.mounted.entry.shell,Y=K?.minWidth??x0,q=K?.minHeight??sZ,Q=K?.maxWidth??window.innerWidth,L=K?.maxHeight??window.innerHeight;return{minWidth:Y,minHeight:q,maxWidth:Q,maxHeight:L}},lZ=()=>{let K=U.mounted.entry.shell?.minWidth,Y=typeof K==="number"&&K>0&&C<K,q=Y?`${K}px`:"";if(T)T.style.minWidth=q;if(V)V.style.minWidth="0";if(M)M.style.minWidth="0",M.style.overflowX=Y?"auto":"hidden"},_0=()=>U.mounted.entry.shell?.content?.overflowY==="auto"?"auto":"hidden",sj=()=>{if(!V)return 0;let K=V.getBoundingClientRect().height;if(K>0)return K;return V.offsetHeight||0},oZ=()=>{if(!M)return;let K=U.mounted.entry.shell;if(M.style.overflowY=_0(),!T)return;if(K?.content?.preserveMinHeight===!0){let Y=sj(),q=K.minHeight??sZ,Q=Math.max(0,q-Y),L=Math.max(0,f-Y),R=Math.max(L,Q);T.style.height=`${R}px`,T.style.minHeight="0",T.style.flex=`0 0 ${R}px`;return}T.style.height="100%",T.style.minHeight="0",T.style.flex="1 1 auto"},dj=()=>{let K=U.mounted.entry.shell,Y=K?.initialWidth??T0,q=K?.initialHeight??B0;if(Y===A0&&q===S0)return;if(A0=Y,S0=q,JZ)return;C=Y,f=q,HZ()},zZ=()=>{let{minWidth:K,minHeight:Y,maxWidth:q,maxHeight:Q}=aj(),L=Math.min(K,window.innerWidth),R=Math.min(Y,window.innerHeight);C=a(C,L,Math.max(L,Math.min(q,window.innerWidth))),f=a(f,R,Math.max(R,Math.min(Q,window.innerHeight))),p=a(p,0,Math.max(0,window.innerWidth-C)),$=a($,0,Math.max(0,window.innerHeight-f)),ZZ(),lZ(),oZ(),kZ()},zJ=(K,Y)=>{JZ=!0,p+=K,$+=Y,zZ()},wZ=(K,Y)=>{JZ=!0,C+=K,f+=Y,zZ()},C0=(K,Y,q,Q="fa-regular")=>{CJ();let L=document.createElement("nds-icon-button");return L.setAttribute("variant","tertiary"),L.setAttribute("size","small"),L.setAttribute("type","circle"),L.setAttribute("icon-name",Y),L.setAttribute("button-aria-label",K),L.title=K,L.addEventListener("click",(R)=>{R.stopPropagation(),q(),vJ()}),l(L,Q),L},f0=(K,Y,q)=>{let Q=document.createElement("button");return Q.type="button",Q.className="pie-tool-shell__control",Q.setAttribute("aria-label",K),Q.title=K,Q.textContent=Y,Q.style.border="1px solid transparent",Q.style.background="color-mix(in srgb, var(--pie-white, #fff) 10%, transparent)",Q.style.color="inherit",Q.style.cursor="pointer",Q.style.display="inline-flex",Q.style.alignItems="center",Q.style.justifyContent="center",Q.style.width="28px",Q.style.height="28px",Q.style.padding="0",Q.style.fontSize="14px",Q.style.fontWeight="700",Q.style.borderRadius="8px",Q.style.lineHeight="1",Q.onclick=(L)=>{L.stopPropagation(),q(),vJ()},Q.onfocus=()=>{Q.style.outline="2px solid var(--pie-button-focus-outline, var(--pie-primary, #4A90E2))",Q.style.outlineOffset="2px"},Q.onblur=()=>{Q.style.outline="none",Q.style.outlineOffset="0"},Q},ZZ=()=>{if(!X)return;X.style.left=`${p}px`,X.style.top=`${$}px`,X.style.width=`${C}px`,X.style.height=`${f}px`,X.style.display=U.active?"flex":"none"},b0=()=>{if(x)x.textContent=U.mounted.entry.shell?.title||U.mounted.toolId;for(let{el:K,key:Y}of P){let q=U.i18n.t(Y);if(K.tagName==="NDS-ICON-BUTTON")K.setAttribute("button-aria-label",q);else K.setAttribute("aria-label",q);if(K.title)K.title=q}},y0=()=>{if(!M)return;let K=U.mounted.entry.element;if(K.style.display="block",K.style.width="100%",K.style.height="100%",K.style.flex="1 1 auto",K.style.minHeight="0",T&&T!==K){if(T.parentNode===M)aZ(T),M.removeChild(T);T=null}if(K.parentNode&&K.parentNode!==M)K.parentNode.removeChild(K);if(K.parentNode!==M)M.appendChild(K);T=K,lZ(),oZ(),uj(K)},vJ=()=>{if(J(jJ)&&X)J(jJ).bringToFront(X)},p0=()=>{if(!X||!J(jJ)||!U.active)return;let K=FZ(U.mounted.toolId);if(J(jJ).getToolState(K)?.element===X)return;J(jJ).updateToolElement(K,X)},HZ=()=>{let{innerWidth:K,innerHeight:Y}=window,q=U.mounted.entry.shell,Q=q?.initialAlign??"center",L=q?.initialMargin??16,R=L+60;switch(Q){case"top-left":p=L,$=R;break;case"top-right":p=Math.max(0,K-C-L),$=R;break;case"bottom-left":p=L,$=Math.max(0,Y-f-R);break;case"bottom-right":p=Math.max(0,K-C-L),$=Math.max(0,Y-f-R);break;default:p=Math.max(0,Math.round((K-C)/2)),$=Math.max(0,Math.round((Y-f)/2))}zZ()},ij=()=>{let K=LJ;if(!K)return;queueMicrotask(()=>{if(!K.isConnected)return;AJ(K)})},$0=()=>{if(typeof document>"u")return null;let K=document.activeElement;while(K){let Y=K.shadowRoot;if(Y&&Y.activeElement&&Y.activeElement!==K)K=Y.activeElement;else break}return K??null},v0=()=>{if(!X||$J)return;let K=$0();if(!LJ&&K&&!X.contains(K))LJ=K;if(oJ()&&!DJ)document.addEventListener("keydown",tZ,!0),DJ=!0;$J=jU(X,{initialFocus:D,onEscape:()=>{eZ()},wrap:!oJ(),onTabExit:oJ()?(Y,q)=>{if(Y==="backward"){if(LJ?.isConnected)q.preventDefault(),AJ(LJ);return}let Q=nZ();if(Q)q.preventDefault(),AJ(Q)}:void 0})},nZ=()=>{let K=J(xJ).getScopeElement?.()??null;if(!K)return null;let Y=(Q)=>{if(J(ZJ)&&J(ZJ).contains(Q))return!0;if(X&&X.contains(Q))return!0;return!1},q=(Q)=>{if(Q instanceof HTMLElement){if(Y(Q))return null;if(Q.matches?.(KU)&&XU(Q))return Q}let L=Q.shadowRoot;if(L)for(let R=0;R<L.children.length;R++){let F=q(L.children[R]);if(F)return F}for(let R=0;R<Q.children.length;R++){let F=q(Q.children[R]);if(F)return F}return null};return q(K)},rj=()=>{if(!X)return[];return ZU(X).filter((K)=>K!==o&&K!==n)},tZ=(K)=>{if(K.key!=="Tab")return;if(!X||!U.active)return;let Y=$0();if(!Y)return;if(X.contains(Y))return;let q=rj();if(q.length===0)return;if(K.shiftKey){let Q=nZ();if(Y!==Q)return;K.preventDefault(),AJ(q[q.length-1]);return}if(Y!==LJ)return;K.preventDefault(),AJ(q[0])},E0=()=>{if(DJ)document.removeEventListener("keydown",tZ,!0),DJ=!1;if(!$J)return;let K=$J;$J=null;try{K()}catch{}ij()},eZ=()=>{J(xJ).toggleTool(U.mounted.toolId),pJ()},g0=(K)=>{if(!U.mounted.entry.shell?.draggable)return;if(K.target.closest("button")||!X)return;if(!nJ.begin(K,X))return;IJ="drag",JZ=!0,t=K.clientX-p,z=K.clientY-$,X.setPointerCapture(K.pointerId),vJ()},lj=(K)=>(Y)=>{if(!X||!U.mounted.entry.shell?.resizable)return;if(Y.stopPropagation(),!nJ.begin(Y,X))return;IJ="resize",JZ=!0,eJ=K,H=C,y=f,kJ=Y.clientX,_=Y.clientY,tJ=p,dZ=$,X.setPointerCapture(Y.pointerId),vJ()},oj=(K)=>{if(!X)return;if(IJ==="drag"){K.preventDefault();let Y=Math.max(0,window.innerWidth-C),q=Math.max(0,window.innerHeight-f);p=a(K.clientX-t,0,Y),$=a(K.clientY-z,0,q),ZZ();return}if(IJ==="resize"){K.preventDefault();let Y=U.mounted.entry.shell,q=Y?.minWidth??x0,Q=Y?.minHeight??sZ,L=Math.min(q,window.innerWidth),R=Math.min(Q,window.innerHeight),F=Y?.maxWidth??window.innerWidth,v=Y?.maxHeight??window.innerHeight,h=K.clientX-kJ,d=K.clientY-_;if(eJ==="se")C=a(H+h,L,Math.max(L,Math.min(F,window.innerWidth-p))),f=a(y+d,R,Math.max(R,Math.min(v,window.innerHeight-$)));else if(eJ==="sw"){let u=tJ+H,UJ=a(H-h,L,Math.min(F,u));p=u-UJ,C=UJ,f=a(y+d,R,Math.max(R,Math.min(v,window.innerHeight-$)))}else if(eJ==="ne"){let u=dZ+y;C=a(H+h,L,Math.max(L,Math.min(F,window.innerWidth-p)));let UJ=a(y-d,R,Math.min(v,u));$=u-UJ,f=UJ}else if(eJ==="nw"){let u=tJ+H,UJ=dZ+y,A=a(H-h,L,Math.min(F,u));p=u-A,C=A;let jZ=a(y-d,R,Math.min(v,UJ));$=UJ-jZ,f=jZ}ZZ(),lZ(),oZ(),kZ()}},m0=()=>{zZ()};if(S&&U.mounted.entry.shell){let K=XJ()&&J(qZ);if(K)CJ();if(X=document.createElement("div"),X.className="pie-tool-shell",X.setAttribute("data-pie-tool-shell",U.mounted.toolId),X.style.position="fixed",X.style.zIndex=String(Vj.TOOL),X.style.background="var(--pie-background, #fff)",X.style.border="1px solid var(--pie-border-light, #d1d5db)",X.style.borderRadius="12px",X.style.boxShadow="0 10px 40px color-mix(in srgb, var(--pie-black, #000) 25%, transparent)",X.style.setProperty("--color-interactive-blue","var(--pie-calculator-button-color, var(--pie-button-color, var(--pie-text, #222)))"),X.style.setProperty("--color-new-gray","var(--pie-background-dark, #f3f5f7)"),X.style.setProperty("--color-primary-white","var(--pie-white, #ffffff)"),X.style.setProperty("--color-primary-black","var(--pie-text, #000000)"),X.style.setProperty("--color-focus-blue","var(--pie-button-focus-outline, #2b87ff)"),X.style.overflow="visible",X.style.display=U.active?"flex":"none",X.style.flexDirection="column",X.style.userSelect="none",X.style.webkitUserSelect="none",X.style.touchAction="none",X.setAttribute("draggable","false"),X.addEventListener("dragstart",(L)=>L.preventDefault()),V=document.createElement("div"),V.className="pie-tool-shell__header",V.style.display="flex",V.style.flexWrap="wrap",V.style.alignItems="center",V.style.justifyContent="space-between",V.style.gap="6px",V.style.padding=XJ()?"12px 12px 12px 28px":"10px 12px",XJ())V.style.minHeight="48px",V.style.background="var(--pie-section-player-card-header-background, var(--pie-button-active-bg, #f3f4f6))",V.style.color="var(--pie-text, #111827)",V.style.borderBottom="1px solid var(--pie-border-light, #e5e7eb)";else V.style.background="var(--pie-primary-dark, #2c3e50)",V.style.color="var(--pie-white, #fff)";V.style.cursor=U.mounted.entry.shell.draggable===!1?"default":"move",V.style.flex="0 0 auto",V.style.borderRadius="12px 12px 0 0",V.style.overflow="hidden",V.style.userSelect="none",V.style.webkitUserSelect="none",V.style.touchAction="none",V.setAttribute("draggable","false"),V.addEventListener("dragstart",(L)=>L.preventDefault()),x=document.createElement("span"),x.className="pie-tool-shell__title",x.style.minWidth="0",x.style.overflowWrap="anywhere",x.textContent=U.mounted.entry.shell.title||U.mounted.toolId,V.appendChild(x),W=document.createElement("div"),W.className="pie-tool-shell__controls",W.style.display="inline-flex",W.style.flexWrap="wrap",W.style.minWidth="0",W.style.alignItems="center",W.style.gap=XJ()?"6px":"4px";let Y=U.mounted.entry.shell,q=(L,R,F,v,h="fa-regular")=>{if(!W)return;let d=U.i18n.t(L),u=K?C0(d,F,v,h):f0(d,R,v);P.push({el:u,key:L}),W.appendChild(u)};if(Y?.draggable!==!1)q("toolkit.window.moveLeftA11y","←","chevron-left",()=>zJ(-PJ,0)),q("toolkit.window.moveRightA11y","→","chevron-right",()=>zJ(PJ,0)),q("toolkit.window.moveUpA11y","↑","chevron-up",()=>zJ(0,-PJ)),q("toolkit.window.moveDownA11y","↓","chevron-down",()=>zJ(0,PJ));if(Y?.resizable!==!1)q("toolkit.window.shrinkA11y","−","magnifying-glass-minus",()=>wZ(-WJ,-WJ)),q("toolkit.window.growA11y","+","magnifying-glass-plus",()=>wZ(WJ,WJ));if(!XJ()){let L=f0(U.i18n.t("toolkit.window.centerA11y"),"◎",HZ);P.push({el:L,key:"toolkit.window.centerA11y"}),W.appendChild(L)}let Q=null;if(XJ())Q=document.createElement("div"),Q.className="pie-tool-shell__header-right",Q.style.display="inline-flex",Q.style.flexWrap="wrap",Q.style.maxWidth="100%",Q.style.justifyContent="flex-end",Q.style.alignItems="center",Q.style.gap="6px",Q.appendChild(W),V.appendChild(Q);else V.appendChild(W);if(K)D=C0(U.i18n.t("toolkit.window.closeA11y"),"xmark",eZ,"fa-regular"),P.push({el:D,key:"toolkit.window.closeA11y"}),D.style.display=U.mounted.entry.shell.closeable===!1?"none":"inline-block";else{let L=document.createElement("button");L.type="button",L.className="pie-tool-shell__close",L.setAttribute("aria-label",U.i18n.t("toolkit.window.closeA11y")),P.push({el:L,key:"toolkit.window.closeA11y"});let R="http://www.w3.org/2000/svg",F=document.createElementNS(R,"svg");F.setAttribute("xmlns",R),F.setAttribute("viewBox","0 0 16 16"),F.setAttribute("aria-hidden","true");let v=document.createElementNS(R,"path");v.setAttribute("d","M3.5 3.5L12.5 12.5M12.5 3.5L3.5 12.5"),v.setAttribute("stroke","currentColor"),v.setAttribute("stroke-width","1.8"),v.setAttribute("stroke-linecap","round"),F.appendChild(v),L.appendChild(F);let h=F.style;h.width="16px",h.height="16px",h.display="block",h.flexShrink="0",h.pointerEvents="none";let d="color-mix(in srgb, var(--pie-white, #fff) 8%, transparent)",u="color-mix(in srgb, var(--pie-white, #fff) 18%, transparent)";L.style.border="1px solid transparent",L.style.background=d,L.style.color="inherit",L.style.cursor="pointer",L.style.display="inline-flex",L.style.alignItems="center",L.style.justifyItems="center",L.style.width="28px",L.style.height="28px",L.style.padding="0",L.style.borderRadius="8px",L.style.lineHeight="0",L.style.transition="background-color 0.15s ease, border-color 0.15s ease",L.style.display=U.mounted.entry.shell.closeable===!1?"none":"inline-flex",L.onmouseenter=()=>{L.style.background=u},L.onmouseleave=()=>{L.style.background=d},L.onfocus=()=>{L.style.outline="2px solid var(--pie-button-focus-outline, var(--pie-primary, #4A90E2))",L.style.outlineOffset="2px"},L.onblur=()=>{L.style.outline="none",L.style.outlineOffset="0"},L.onclick=eZ,D=L}if(Q)Q.appendChild(D);else V.appendChild(D);if(V.tabIndex=0,V.onkeydown=(L)=>{if(L.key==="Home"){L.preventDefault(),HZ();return}let R=U.mounted.entry.shell;if(L.shiftKey&&R?.resizable!==!1){if(L.key==="ArrowRight"||L.key==="ArrowDown"){L.preventDefault(),wZ(WJ,WJ);return}if(L.key==="ArrowLeft"||L.key==="ArrowUp"){L.preventDefault(),wZ(-WJ,-WJ);return}}if(R?.draggable!==!1){if(L.key==="ArrowLeft")L.preventDefault(),zJ(-PJ,0);else if(L.key==="ArrowRight")L.preventDefault(),zJ(PJ,0);else if(L.key==="ArrowUp")L.preventDefault(),zJ(0,-PJ);else if(L.key==="ArrowDown")L.preventDefault(),zJ(0,PJ)}},M=document.createElement("div"),M.className="pie-tool-shell__content",M.style.position="relative",M.style.width="100%",M.style.flex="1 1 auto",M.style.minHeight="0",M.style.overflowX="hidden",M.style.overflowY=_0(),M.style.borderRadius="0 0 12px 12px",XJ()){let L=(R)=>{let F=document.createElement("div");return F.tabIndex=0,F.setAttribute("aria-hidden","true"),F.setAttribute("data-pie-tool-shell-focus-guard",R),F.style.position="absolute",F.style.width="1px",F.style.height="1px",F.style.padding="0",F.style.margin="-1px",F.style.overflow="hidden",F.style.clipPath="inset(50%)",F.style.whiteSpace="nowrap",F.style.border="0",F};o=L("start"),n=L("end"),o.addEventListener("focus",(R)=>{if(s)return;s=!0;try{if(R.stopPropagation(),LJ?.isConnected)AJ(LJ)}finally{queueMicrotask(()=>{s=!1})}}),n.addEventListener("focus",(R)=>{if(s)return;s=!0;try{R.stopPropagation();let F=nZ();if(F)AJ(F)}finally{queueMicrotask(()=>{s=!1})}}),X.appendChild(o)}if(X.appendChild(V),X.appendChild(M),XJ()&&n)X.appendChild(n);if(U.mounted.entry.shell.resizable!==!1){let L=(R,F,v,h,d,u,UJ)=>{let A=document.createElement("div");if(A.className="pie-tool-shell__resize",A.style.position="absolute",A.style.width="24px",A.style.height="24px",A.style.cursor=u,A.style.zIndex="10",A.style.touchAction="none",A.setAttribute("draggable","false"),F!==null)A.style.top=F;if(v!==null)A.style.right=v;if(h!==null)A.style.bottom=h;if(d!==null)A.style.left=d;if(UJ!==null)A.style.background=`linear-gradient(${UJ}, transparent 0%, transparent 40%, rgba(0,0,0,0.35) 40%, rgba(0,0,0,0.35) 60%, transparent 60%, transparent 100%)`;let jZ=lj(R);A.addEventListener("pointerdown",jZ),X.appendChild(A),iZ.push({el:A,handler:jZ})};L("se",null,"0","0",null,"nwse-resize",null),L("nw","0",null,null,"0","nwse-resize","135deg"),L("ne","0","0",null,null,"nesw-resize",null),L("sw",null,null,"0","0","nesw-resize",null)}if(V.addEventListener("pointerdown",g0),X.addEventListener("pointerdown",vJ),window.addEventListener("resize",m0),document.body.appendChild(X),G=new ej(X,{context:Xj,initialValue:U.runtime}),G.connect(),HZ(),ZZ(),p0(),b0(),y0(),kZ(),U.active)v0();WZ=U.active}return{update(K){if(U=K,!X||!M||!x||!D)return;G?.setValue(U.runtime),b0(),dj();let Y=D.tagName.toLowerCase()==="nds-icon-button"?"inline-block":"inline-flex";if(D.style.display=U.mounted.entry.shell?.closeable===!1?"none":Y,ZZ(),p0(),y0(),kZ(),!WZ&&U.active)v0();else if(WZ&&!U.active)E0(),LJ=null;WZ=U.active},destroy(){if(cj(),G?.disconnect(),G=null,P.length=0,$J)E0();if(DJ)document.removeEventListener("keydown",tZ,!0),DJ=!1;for(let{el:K,handler:Y}of iZ)K.removeEventListener("pointerdown",Y);if(LJ=null,iZ.length=0,V)V.removeEventListener("pointerdown",g0),V.onkeydown=null;if(nJ.release(),X)X.removeEventListener("pointerdown",vJ);if(window.removeEventListener("resize",m0),T&&M&&T.parentNode===M)aZ(T),M.removeChild(T);if(T=null,X&&X.parentElement)X.remove()}}}var gj={get level(){return fJ()},set level(Z){fJ(Z),E()},get scopeId(){return YZ()},set scopeId(Z){YZ(Z),E()},get itemId(){return SZ()},set itemId(Z){SZ(Z),E()},get sectionId(){return _Z()},set sectionId(Z){_Z(Z),E()},get catalogId(){return CZ()},set catalogId(Z){CZ(Z),E()},get tools(){return fZ()},set tools(Z){fZ(Z),E()},get contentKind(){return bZ()},set contentKind(Z){bZ(Z),E()},get position(){return FJ()},set position(Z){FJ(Z),E()},get scopeElement(){return QZ()},set scopeElement(Z){QZ(Z),E()},get toolRegistry(){return VZ()},set toolRegistry(Z){VZ(Z),E()},get item(){return yZ()},set item(Z){yZ(Z),E()},get hostButtons(){return DZ()},set hostButtons(Z){DZ(Z),E()},get class(){return pZ()},set class(Z){pZ(Z),E()},get size(){return OZ()},set size(Z){OZ(Z),E()},get language(){return $Z()},set language(Z){$Z(Z),E()}},I0=_J(),mj=SJ(I0);{var hj=(Z)=>{var j=qU();let U;var X=EJ(j),G=EJ(X);KZ(G,17,()=>J(Sj),(W)=>W.key,(W,D)=>{B(W,()=>J(D),()=>"item-toolbar__element-host")});var P=TZ(G,2);KZ(P,17,()=>J(F0),(W)=>W.id,(W,D,o,n)=>{let s=O(()=>J(qZ)&&!Z0(J(D))?X0(J(D)):null);var DJ=_J(),oJ=SJ(DJ);{var XJ=(t)=>{var z=QU(),H=EJ(z);OJ(H,1,"item-toolbar__nds-button svelte-1c13522"),wJ(H,"type","circle"),wJ(H,"size","small"),wJ(H,"variant","tertiary"),r(()=>wJ(H,"icon-name",J(s))),r(()=>wJ(H,"button-aria-label",J(D).ariaLabel||J(D).label)),r(()=>wJ(H,"title",J(D).tooltip||J(D).label)),r(()=>wJ(H,"disabled",J(D).disabled)),XZ(H,(y)=>MJ?.(y)),XZ(H,(y,kJ)=>RJ?.(y,kJ),()=>PZ(J(D))),qJ(z),UZ("click",H,function(...y){J(D).onClick?.apply(this,y)}),b(t,z)},T=(t)=>{var z=VU();let H;var y=EJ(z);{var kJ=(_)=>{r0(_,()=>J(D).icon)};NJ(y,(_)=>{if(J(D).icon)_(kJ)})}qJ(z),r((_)=>{H=OJ(z,1,"item-toolbar__button svelte-1c13522",null,H,{"item-toolbar__button--active":_}),i(z,"href",J(D).disabled?void 0:J(D).href),i(z,"target",J(D).target),i(z,"rel",J(D).rel),i(z,"aria-label",J(D).ariaLabel||J(D).label),i(z,"title",J(D).tooltip||J(D).label),i(z,"aria-disabled",J(D).disabled?"true":void 0)},[()=>PZ(J(D))]),UZ("click",z,(_)=>{if(J(D).disabled)_.preventDefault()}),b(t,z)},IJ=O(()=>Z0(J(D))),nJ=(t)=>{var z=DU();let H;var y=EJ(z);{var kJ=(_)=>{r0(_,()=>J(D).icon)};NJ(y,(_)=>{if(J(D).icon)_(kJ)})}qJ(z),r((_,tJ)=>{H=OJ(z,1,"item-toolbar__button svelte-1c13522",null,H,{"item-toolbar__button--active":_}),i(z,"aria-label",J(D).ariaLabel||J(D).label),i(z,"aria-pressed",tJ),i(z,"title",J(D).tooltip||J(D).label),z.disabled=J(D).disabled},[()=>PZ(J(D)),()=>PZ(J(D))]),UZ("click",z,function(..._){J(D).onClick?.apply(this,_)}),b(t,z)};NJ(oJ,(t)=>{if(J(s))t(XJ);else if(J(IJ))t(T,1);else t(nJ,-1)})}b(W,DJ)});var V=TZ(P,2);KZ(V,17,()=>J(_j),(W)=>W.key,(W,D)=>{B(W,()=>J(D),()=>"item-toolbar__element-host")}),qJ(X);var M=TZ(X,2);{var x=(W)=>{var D=OU();let o;KZ(D,21,()=>J(P0),(n)=>n.key,(n,s)=>{B(n,()=>J(s),()=>"item-toolbar__controls-host")}),qJ(D),r(()=>o=OJ(D,1,"item-toolbar__controls-row svelte-1c13522",null,o,{"item-toolbar__controls-row--reserve":J(z0),"item-toolbar__controls-row--active":J(w0),"item-toolbar__controls-row--align-start":J(Cj)})),b(W,D)};NJ(M,(W)=>{if(J(fj))W(x)})}qJ(j),Uj(j,(W)=>e(ZJ,W),()=>J(ZJ)),r(()=>{U=OJ(j,1,`item-toolbar ${pZ()??""} item-toolbar--${OZ()??""}`,"svelte-1c13522",U,{"item-toolbar--top":FJ()==="top","item-toolbar--right":FJ()==="right","item-toolbar--bottom":FJ()==="bottom","item-toolbar--left":FJ()==="left","item-toolbar--header-overlay-active":J(H0)}),i(j,"data-content-kind",J(sJ)),i(j,"data-level",J(I))}),UZ("focusin",X,(W)=>{if(J(I)==="section"&&W.target instanceof HTMLElement)W.target.scrollIntoView({block:"nearest",inline:"nearest"})}),b(Z,j)};NJ(mj,(Z)=>{if(S)Z(hj)})}return b(k,I0),t0(gj)}Jj(["focusin","click"]);tj("pie-item-toolbar",Kj(Nj,{level:{attribute:"level",type:"String"},scopeId:{attribute:"scope-id",type:"String"},itemId:{attribute:"item-id",type:"String"},sectionId:{attribute:"section-id",type:"String"},catalogId:{attribute:"catalog-id",type:"String"},tools:{attribute:"tools",type:"String"},contentKind:{attribute:"content-kind",type:"String"},position:{attribute:"position",type:"String"},size:{attribute:"size",type:"String"},language:{attribute:"language",type:"String"},scopeElement:{type:"Object"},toolRegistry:{type:"Object"},item:{type:"Object"},hostButtons:{type:"Object"},class:{}},[],[],{mode:"open"}));
40
+ export{Nj as l};
@@ -0,0 +1,2 @@
1
+ import{ka as D,la as A}from"./ItemToolBar-3zrc4p3d.js";var S=["assessment","section","item","passage","rubric"],b=new Set(S);function _(q){return b.has(q)}function g(q,J,Q){let X=q.trim(),$=Q.trim();if(!X||!$)throw Error("Tool instance ids require non-empty tool and scope ids");if(!_(J))throw Error(`Unknown tool scope level '${J}'.`);return`${X}:${J}:${$}`}function R(q){let J=q.split(":");if(J.length!==3)return null;let[Q,X,$]=J;if(!Q||!$)return null;if(!_(X))return null;return{baseToolId:Q,scopeLevel:X,scopeId:$}}import{createPieLogger as h,isGlobalDebugEnabled as P}from"@pie-players/pie-players-shared/pie";var V=h("ToolCoordinator",P),O;(function(q){q[q.BASE=0]="BASE",q[q.TOOL=1000]="TOOL",q[q.MODAL=2000]="MODAL",q[q.CONTROL=3000]="CONTROL",q[q.HIGHLIGHT=4000]="HIGHLIGHT"})(O||(O={}));function k(q,J){if(!J?.baseId)return!0;return(R(q)?.baseToolId??q)===J.baseId}function C(q){return{id:q.id,name:q.name,isVisible:q.isVisible,element:q.element,layer:q.layer}}class N{tools=new Map;listeners=new Set;subscribe(q){return this.listeners.add(q),()=>{this.listeners.delete(q)}}notifyListeners(){for(let q of this.listeners)try{q()}catch(J){console.warn("[ToolCoordinator] listener failed:",J)}}registerTool(q,J,Q,X){V.debug("registerTool called:",{id:q,name:J,hasElement:!!Q,layer:X});let $=this.tools.get(q);if($){$.name=J;let Y=$.registered;if($.registered=!0,X!==void 0&&!$.layerDeclared)$.layer=X,$.layerDeclared=!0,this.stackOnTop($);else if(!Y)this.stackOnTop($)}else $={id:q,name:J,registered:!0,element:null,layer:X??O.TOOL,layerDeclared:X!==void 0,isVisible:!1,baseZIndex:0},this.tools.set(q,$),this.stackOnTop($);if(Q)this.updateToolElement(q,Q)}unregisterTool(q){let J=this.tools.get(q);if(!J?.registered)return;this.detachElement(J),J.registered=!1}releaseTool(q){let J=this.tools.get(q);if(!J)return;if(this.detachElement(J),this.tools.delete(q),J.isVisible)this.notifyListeners()}showTool(q){let J=this.tools.get(q);if(!J){V.debug(`Tool ${q} not found`);return}if(J.element)this.bringToFront(J.element);this.setVisible(J,!0)}hideTool(q){let J=this.tools.get(q);if(!J){V.debug(`Tool ${q} not found`);return}this.setVisible(J,!1)}toggleTool(q){let J=this.tools.get(q);if(!J){V.debug(`Tool ${q} not found`);return}if(J.isVisible)this.hideTool(q);else this.showTool(q)}isToolVisible(q){return this.tools.get(q)?.isVisible??!1}bringToFront(q){let J=Array.from(this.tools.values()).find((Q)=>Q.element===q);if(!J)return;this.stackOnTop(J)}destroy(){let q=Array.from(this.tools.values()).some((J)=>J.isVisible);for(let J of this.tools.values())this.detachElement(J);if(this.tools.clear(),q)this.notifyListeners();this.listeners.clear()}setVisible(q,J){if(q.isVisible===J)return;q.isVisible=J,this.notifyListeners()}detachElement(q){if(q.element&&q.mouseDownHandler)q.element.removeEventListener("mousedown",q.mouseDownHandler);q.element=null,q.mouseDownHandler=void 0}stackOnTop(q){let J=Array.from(this.tools.values()).filter((X)=>X.registered&&X.layer===q.layer&&X!==q).sort((X,$)=>X.baseZIndex-$.baseZIndex),Q=q.layer+J.length+1;if(q.baseZIndex===Q&&J.every((X)=>X.baseZIndex<Q))return;[...J,q].forEach((X,$)=>{if(X.baseZIndex=q.layer+1+$,X.element)X.element.style.zIndex=String(X.baseZIndex)})}updateToolElement(q,J){let Q=this.tools.get(q);if(!Q?.registered){V.debug(`Tool ${q} not found`);return}if(Q.element===J)return;if(Q.element?.isConnected&&Q.element.contains(J))return;this.detachElement(Q);let X=()=>this.bringToFront(J);if(J.addEventListener("mousedown",X),Q.element=J,Q.mouseDownHandler=X,J.style.zIndex=String(Q.baseZIndex),Q.isVisible)this.bringToFront(J)}hideAllTools(q){let J=!1;for(let Q of this.tools.values()){if(!Q.isVisible||!k(Q.id,q))continue;Q.isVisible=!1,J=!0}if(J)this.notifyListeners()}getToolState(q){let J=this.tools.get(q);return J?.registered?C(J):void 0}getVisibleTools(q){return Array.from(this.tools.values()).filter((J)=>J.isVisible&&k(J.id,q)).map(C)}}import{dynamicMessageKey as o}from"@pie-players/pie-players-shared/i18n/provider";import{validateCustomElementTag as T}from"@pie-players/pie-players-shared/pie/tag-names";var E=(q,J)=>{let Q=J?.toolTagMap?.[q];if(Q===void 0&&!q.includes("-"))throw Error(`No element tag is mapped for tool "${q}". Install a tag map on the registry via setComponentOverrides({ toolTagMap }) — for the packaged capabilities, PACKAGED_TOOL_TAG_MAP from "@pie-players/pie-default-tool-loaders".`);return T(Q??q,`tool component tag for "${q}"`)};var w=(q,J,Q)=>console.error(`[ToolRegistry] Tool '${q}' ${J} check threw:`,Q);var f=["assessment","section","item","passage","rubric","element"];function G(q,J){if(typeof q!=="string"||q.trim().length===0)throw Error(`Invalid tool registration: "${J}" must be a non-empty string.`)}var x=[{pattern:/<script\b/i,reason:"contains a <script> tag"},{pattern:/\son[a-z]+\s*=/i,reason:"contains an inline event handler (on*=) attribute"},{pattern:/javascript:/i,reason:"contains a javascript: URL"},{pattern:/<foreignObject\b/i,reason:"contains a <foreignObject> element"}];function L(q,J,Q){let X=J.trimStart(),$=X.toLowerCase().startsWith("<svg"),Y=/^https?:/i.test(X);if(/^data:/i.test(X))throw Error(`Invalid tool registration "${q}": "${Q}" may not be a data: URL.`);if(!$&&!Y)return;for(let{pattern:H,reason:W}of x)if(H.test(J))throw Error(`Invalid tool registration "${q}": "${Q}" ${W}. Inline SVG icons must not include scriptable content.`)}function Z(q){G(q.toolId,"toolId"),G(q.name,"name"),G(q.description,"description");let J=q.activation==="region";if(!J||q.icon!==void 0){if(typeof q.icon!=="string"&&typeof q.icon!=="function")throw Error(`Invalid tool registration "${q.toolId}": "icon" must be a string or function.`)}if(typeof q.icon==="string")L(q.toolId,q.icon,"icon");if(!Array.isArray(q.supportedLevels)||q.supportedLevels.length===0)throw Error(`Invalid tool registration "${q.toolId}": "supportedLevels" must be a non-empty array.`);let Q=q.supportedLevels.find((X)=>!f.includes(X));if(Q)throw Error(`Invalid tool registration "${q.toolId}": unsupported level "${Q}".`);if(q.activation!==void 0&&q.activation!=="toolbar-toggle"&&q.activation!=="selection-gateway"&&q.activation!=="region")throw Error(`Invalid tool registration "${q.toolId}": unsupported activation "${String(q.activation)}".`);if(q.surfaces!==void 0&&(!Array.isArray(q.surfaces)||q.surfaces.some((X)=>typeof X!=="string"||X.trim().length===0)))throw Error(`Invalid tool registration "${q.toolId}": "surfaces" must be an array of non-empty strings.`);if(J&&!q.surfaces?.length)throw Error(`Invalid tool registration "${q.toolId}": region tools must declare at least one host surface in "surfaces".`);if(J&&typeof q.renderSurface!=="function")throw Error(`Invalid tool registration "${q.toolId}": region tools must implement "renderSurface".`);if(q.resolvesWithoutGrant!==void 0&&typeof q.resolvesWithoutGrant!=="boolean")throw Error(`Invalid tool registration "${q.toolId}": "resolvesWithoutGrant" must be a boolean.`);if(q.resolvesWithoutGrant&&!q.requiresAuthoredContent)throw Error(`Invalid tool registration "${q.toolId}": "resolvesWithoutGrant" requires "requiresAuthoredContent".`);if(q.renderSurface!==void 0&&typeof q.renderSurface!=="function")throw Error(`Invalid tool registration "${q.toolId}": "renderSurface" must be a function.`);if(q.renderSurface&&!q.surfaces?.length)throw Error(`Invalid tool registration "${q.toolId}": "renderSurface" requires at least one entry in "surfaces".`);if(q.singletonScope!==void 0&&q.singletonScope!=="section")throw Error(`Invalid tool registration "${q.toolId}": unsupported singletonScope "${String(q.singletonScope)}".`);if(q.activation==="selection-gateway"&&q.singletonScope!=="section")throw Error(`Invalid tool registration "${q.toolId}": selection-gateway tools must declare singletonScope "section".`);if(q.activation!=="region"&&typeof q.isVisibleInContext!=="function")throw Error(`Invalid tool registration "${q.toolId}": "isVisibleInContext" must be a function.`);if(q.isVisibleInContext!==void 0&&typeof q.isVisibleInContext!=="function")throw Error(`Invalid tool registration "${q.toolId}": "isVisibleInContext" must be a function when present.`);if(q.isApplicableToContent!==void 0&&typeof q.isApplicableToContent!=="function")throw Error(`Invalid tool registration "${q.toolId}": "isApplicableToContent" must be a function when present.`);if(q.requiresAuthoredContent!==void 0){if(typeof q.requiresAuthoredContent!=="object"||q.requiresAuthoredContent===null||typeof q.requiresAuthoredContent.resolve!=="function")throw Error(`Invalid tool registration "${q.toolId}": "requiresAuthoredContent" must be an object with a "resolve" function.`)}if(q.renderToolbar!==void 0){if(typeof q.renderToolbar!=="function")throw Error(`Invalid tool registration "${q.toolId}": "renderToolbar" must be a function.`)}else if(!J)throw Error(`Invalid tool registration "${q.toolId}": "renderToolbar" must be a function.`)}class p{tools=new Map;componentOverrides={};watchedUndefinedToolElements=new Set;moduleLoaders=new Map;loadedToolModules=new Set;warnedLoaderReplacements=new Set;warnedUnregisteredAllowedTools=new Set;moduleLoadPromises=new Map;changeListeners=new Set;emitChange(q){for(let J of this.changeListeners)try{J(q)}catch(Q){console.warn("[ToolRegistry] change listener failed:",Q)}}onRegistryChange(q){this.changeListeners.add(q);let J=!0;return()=>{if(!J)return;J=!1,this.changeListeners.delete(q)}}normalizeToolId(q){return q.trim()}normalizeToolIds(q){return q.map((J)=>this.normalizeToolId(J))}register(q){if(Z(q),this.tools.has(q.toolId))throw Error(`Tool '${q.toolId}' is already registered`);this.tools.set(q.toolId,q),this.emitChange({kind:"register",toolIds:[q.toolId]})}override(q){if(Z(q),!this.tools.has(q.toolId))throw Error(`Cannot override non-existent tool '${q.toolId}'`);this.tools.set(q.toolId,q),this.emitChange({kind:"override",toolIds:[q.toolId]})}unregister(q){if(!this.tools.has(q))return;this.tools.delete(q),this.emitChange({kind:"unregister",toolIds:[q]})}get(q){return this.tools.get(q)}has(q){return this.tools.has(q)}getAllToolIds(){return Array.from(this.tools.keys())}getAllTools(){return Array.from(this.tools.values())}getToolsByLevel(q){return this.getAllTools().filter((J)=>J.supportedLevels.includes(q))}getToolActivation(q){return this.get(q)?.activation||"toolbar-toggle"}getToolSingletonScope(q){return this.get(q)?.singletonScope||null}getToolsBySurface(q){if(!q)return[];return this.getAllTools().filter((J)=>typeof J.renderSurface==="function"&&J.surfaces?.includes(q))}getContentDependentSupportIds(){return this.getAllTools().filter((q)=>q.requiresAuthoredContent).map((q)=>q.toolId).sort()}filterToolIdsByActivation(q,J){return q.filter((Q)=>this.getToolActivation(Q)===J)}filterVisibleInContext(q,J,Q=w){let X=[];for(let $ of q){let Y=this.get($);if(!Y){if(!this.warnedUnregisteredAllowedTools.has($))this.warnedUnregisteredAllowedTools.add($),console.warn(`Tool '${$}' is allowed but not registered`);continue}if(!Y.supportedLevels.includes(J.level))continue;try{if(Y.isVisibleInContext?.(J))X.push(Y)}catch(j){Q($,"tool-visibility",j)}}return X}isApplicableToAnyContext(q,J,Q=w){let X=this.get(q);if(!X?.isApplicableToContent)return!0;if(J.length===0)return!0;return J.some(($)=>{try{return X.isApplicableToContent?.($)??!0}catch(Y){return Q(q,"tool-applicability",Y),!0}})}filterDecidedToolIds(q,J,Q,X=w){let $=new Set,Y=[];for(let H of q){let W=this.normalizeToolId(H.toolId);if(!W)continue;if(H.required||H.alwaysAvailable)$.add(W);if(Y.includes(W))continue;if(!this.get(W)?.supportedLevels.includes(J))continue;Y.push(W)}if(J==="section")return Y;let j=new Set(Q.length===0?Y:Y.filter((H)=>$.has(H)));for(let H of Q){let W=Y.filter((U)=>!j.has(U));for(let U of this.filterVisibleInContext(W,H,X))j.add(U.toolId)}return Y.filter((H)=>j.has(H)&&this.isApplicableToAnyContext(H,Q,X))}getToolMetadata(){return this.getAllTools().map((q)=>({toolId:q.toolId,name:q.name,description:q.description,supportedLevels:q.supportedLevels,activation:q.activation||"toolbar-toggle",singletonScope:q.singletonScope||null,surfaces:q.surfaces||[],requiresAuthoredContent:Boolean(q.requiresAuthoredContent),contentDependencyDescription:q.requiresAuthoredContent?.description??null}))}clear(){let q=this.getAllToolIds();if(q.length===0)return;this.tools.clear(),this.emitChange({kind:"clear",toolIds:q})}setComponentOverrides(q){if(this.componentOverrides===q)return;this.componentOverrides=q,this.emitChange({kind:"component-overrides",toolIds:[]})}setToolModuleLoaders(q){let J=Object.entries(q).filter((X)=>X[1]!==void 0);for(let[X,$]of J)if(G(X,"tool module loader id"),typeof $!=="function")throw Error(`Invalid tool module loader for "${X}": expected a function.`);let Q=[];for(let[X,$]of J){if(this.moduleLoaders.get(X)===$)continue;if(this.loadedToolModules.has(X)||this.moduleLoadPromises.has(X)){this.warnLoaderReplacedAfterLoad(X);continue}this.moduleLoaders.set(X,$),Q.push(X)}if(Q.length>0)this.emitChange({kind:"module-loaders",toolIds:Q})}warnLoaderReplacedAfterLoad(q){if(this.warnedLoaderReplacements.has(q))return;this.warnedLoaderReplacements.add(q),console.warn(`[ToolRegistry] Ignored a new module loader for "${q}": its module already loaded, so the elements it defines stay in place. Register loaders before the tool first renders.`)}async ensureToolModuleLoaded(q){if(this.loadedToolModules.has(q))return;let J=this.moduleLoadPromises.get(q);if(J){await J;return}let Q=this.moduleLoaders.get(q);if(!Q){this.watchUndefinedToolElement(q);return}let X=(async()=>{await Q(),this.loadedToolModules.add(q),this.warnIfLoadedToolElementUndefined(q)})();this.moduleLoadPromises.set(q,X);try{await X}finally{this.moduleLoadPromises.delete(q)}}undefinedToolElementTag(q){if(typeof customElements>"u"||typeof document>"u")return null;let J=this.componentOverrides;if(J.toolComponentFactories?.[q])return null;let Q;try{Q=E(q,J)}catch{return null}return customElements.get(Q)?null:Q}warnIfLoadedToolElementUndefined(q){let J=this.undefinedToolElementTag(q);if(!J)return;A(document,`loadedToolElementUndefined.${q}.${J}`,`[ToolRegistry] Tool "${q}" renders <${J}>, but its module loader finished without defining it, so the tool renders blank. The tag map and the loader disagree: map "${q}" to the tag its loader defines, or register a loader that defines <${J}>. Reported once per page.`)}watchUndefinedToolElement(q){if(this.watchedUndefinedToolElements.has(q))return;let J=this.undefinedToolElementTag(q);if(!J)return;this.watchedUndefinedToolElements.add(q);let Q=document,X=setTimeout(()=>{if(customElements.get(J))return;A(Q,`undefinedToolElement.${q}`,`[ToolRegistry] Tool "${q}" renders <${J}>, which is still undefined after ${D/1000} s, and its registry has no module loader for it. Register one with setToolModuleLoaders or import the tool's package before it renders; a registry from createPackagedToolRegistry has the packaged loaders unless its toolModuleLoaders replaced them. Reported once per page.`)},D);customElements.whenDefined(J).then(()=>clearTimeout(X))}async ensureToolModulesLoaded(q){let J=await Promise.allSettled(q.map((X)=>this.ensureToolModuleLoaded(X))),Q=new Map;return J.forEach((X,$)=>{if(X.status==="rejected")Q.set(q[$],X.reason)}),Q}isToolModuleLoaded(q){return this.loadedToolModules.has(q)}renderForToolbar(q,J,Q){let X=this.get(q);if(!X)throw Error(`Tool '${q}' is not registered`);if(typeof X.renderToolbar!=="function")throw Error(`Tool '${q}' has activation "${X.activation||"toolbar-toggle"}" and renders into a host surface, not a toolbar. Remove it from toolbar placement.`);let $={...Q,componentOverrides:this.mergeComponentOverrides(Q.componentOverrides)};return X.renderToolbar(J,$)}renderForSurface(q,J){let Q=this.get(q);if(!Q)throw Error(`Tool '${q}' is not registered`);if(typeof Q.renderSurface!=="function")throw Error(`Tool '${q}' does not render into a host surface. Surface capabilities declare "surfaces" and implement "renderSurface".`);return Q.renderSurface({...J,componentOverrides:this.mergeComponentOverrides(J.componentOverrides)})}mergeComponentOverrides(q){return{...this.componentOverrides||{},...q||{}}}}var K={assessment:[],section:[],item:[],passage:[],rubric:[],element:[]};import{isPlainRecord as B}from"@pie-players/pie-players-shared/object";var m={section:[...K.section],item:[...K.item],passage:[...K.passage]};function F(q,J){if(q==null)return[];if(!Array.isArray(q))throw Error(`Invalid tools config at "${J}": expected an array of tool ids.`);if(q.find((X)=>typeof X!=="string")!==void 0)throw Error(`Invalid tools config at "${J}": all entries must be strings.`);return q}function u(q){if(q==null)return;if(!B(q))throw Error('Invalid tools config at "placement": expected an object with section/item/passage arrays.');return q}function v(q){if(q==null)return;if(!B(q))throw Error('Invalid tools config at "policy": expected an object with allowed/blocked arrays.');return q}function c(q,J){if(J==null)return;if(!B(J))throw Error(`Invalid tools config at "providers.${q}": expected an object.`);let Q=J;if("enabled"in Q&&Q.enabled!==void 0&&typeof Q.enabled!=="boolean")throw Error(`Invalid tools config at "providers.${q}.enabled": expected a boolean.`);if("settings"in Q&&Q.settings!==void 0&&!B(Q.settings))throw Error(`Invalid tools config at "providers.${q}.settings": expected an object.`);if("provider"in Q&&Q.provider!==void 0&&!B(Q.provider))throw Error(`Invalid tools config at "providers.${q}.provider": expected an object.`);return Q}function y(q){if(q==null)return{};if(!B(q))throw Error('Invalid tools config at "providers": expected an object keyed by tool id.');let J={};for(let[Q,X]of Object.entries(q))J[Q]=c(Q,X);return J}function M(q){if(!q||q.length===0)return[];let J=new Set;for(let Q of q){if(typeof Q!=="string")throw Error("Invalid tools config: tool list entries must be strings.");let X=Q.trim();if(!X)continue;J.add(X)}return Array.from(J)}function $q(q){if(!q)return[];return M(q.split(",").map((J)=>J.trim()).filter(Boolean))}function I(q,J){if(q==null)return;if(q==="on"||q==="off")return q;throw Error(`Invalid tools config at "${J}": expected "on" or "off", got ${JSON.stringify(q)}.`)}function z(q,J){let Q=M(F(q?.[J],`placement.${J}`));return Q.length?Q:[...m[J]]}function Yq(q){if(q!=null&&!B(q))throw Error('Invalid tools config: expected an object with "policy", "placement", and "providers".');let J=v(q?.policy),Q=u(q?.placement),X=y(q?.providers),$=I(q?.pnpEnforcement,"pnpEnforcement"),Y={policy:{allowed:M(F(J?.allowed,"policy.allowed")),blocked:M(F(J?.blocked,"policy.blocked"))},placement:{section:z(Q,"section"),item:z(Q,"item"),passage:z(Q,"passage")},providers:X};if($)Y.pnpEnforcement=$;return Y}
2
+ export{g as m,O as n,N as o,p,M as q,$q as r,Yq as s};
@@ -1,2 +1,2 @@
1
1
  var d=((a)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(b,c)=>(typeof require<"u"?require:b)[c]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});
2
- export{d as X};
2
+ export{d as qa};
@@ -0,0 +1,2 @@
1
+ var P="pie-register",S="pie-unregister",V="pie-item-session-changed",L="item-session-changed",M="pie-content-loaded",O="pie-item-player-error",D="pie-formative-action",G="pie-media-time-source";var p=(E)=>Array.isArray(E)&&E.length>0;function R(E){if(E.kind==="passage")return{ownerKind:"passage",assessmentId:E.assessmentId,sectionId:E.sectionId,passageId:E.canonicalItemId||E.itemId};return{ownerKind:"itemModel",assessmentId:E.assessmentId,sectionId:E.sectionId,itemId:E.itemId,canonicalItemId:E.canonicalItemId||E.itemId}}function A(E,I){if(!E)return[];let N=R(I),_=[];if(p(E.accessibilityCatalogs))_.push({context:N,catalogs:E.accessibilityCatalogs});if(p(E.config?.extractedCatalogs))_.push({context:N,catalogs:E.config.extractedCatalogs});if(I.kind==="passage")return _;if(N.ownerKind!=="itemModel")return _;for(let T of E.config?.models??[]){if(!p(T.accessibilityCatalogs))continue;_.push({context:{...N,modelId:T.id},catalogs:T.accessibilityCatalogs})}return _}function x(E,I){let N=A(E,{kind:I,itemId:""});try{return JSON.stringify(N.map((_)=>[_.context.modelId??null,_.catalogs]))}catch{return null}}
2
+ export{P as a,S as b,V as c,L as d,M as e,O as f,D as g,G as h,R as i,A as j,x as k};
@@ -0,0 +1 @@
1
+ import{pa as v}from"./ItemToolBar-66hcwmfw.js";import"./ItemToolBar-kkj69ptr.js";import*as q from"speech-rule-engine";var x=q.default??q;x.setupEngine(v());var B=x;export{B as default};
@@ -0,0 +1,2 @@
1
+ import "./ItemScope.custom-element.js";
2
+ export {};
@@ -0,0 +1,2 @@
1
+ import "./ItemScope.custom-element.js";
2
+ export {};
@@ -21,22 +21,28 @@ export interface AssessmentToolkitRuntimeContext {
21
21
  elementToolStateStore: ElementToolStateStoreApi;
22
22
  assessmentId: string;
23
23
  sectionId: string;
24
+ /**
25
+ * The attempt the toolkit's `attempt-id` names, unset when the host names
26
+ * none. Tool state keys carry it, so two attempts at one section never share
27
+ * a tool's state.
28
+ */
29
+ attemptId?: string;
24
30
  itemPlayer: ItemPlayerConfig;
25
31
  /**
26
32
  * Opt-in flag: context consumers render the vendored `<nds-icon-button>`
27
33
  * only when this is `true`; otherwise (unset/`false`, the default) they
28
- * render plain `<button>` controls. Sourced from the host's
29
- * `runtime.ndsIcons` (or the `nds-icons` attribute on the toolkit).
34
+ * render plain `<button>` controls. Sourced from the `nds-icons` attribute
35
+ * on the toolkit or section player.
30
36
  */
31
37
  ndsIcons?: boolean;
32
38
  /**
33
39
  * Interface locale: the language this deployment renders its *own* UI in —
34
40
  * toolbar labels, tool panels, `aria-label`s. Not the language of the
35
- * authored content, which is a fact about the item and travels on `env`.
41
+ * authored content, which {@link contentLanguage} carries.
36
42
  *
37
43
  * A composition context in the sense of `composition-context.md`: the
38
- * deployment knows it and no tool can. Sourced from the host's
39
- * `runtime.locale` (or the `locale` attribute on the toolkit), defaulting to
44
+ * deployment knows it and no tool can. Sourced from the `locale` attribute
45
+ * on the toolkit or section player, defaulting to
40
46
  * `en-US` with no host input — never `navigator.language`, because a
41
47
  * rendered-string change reaches a host's live delivery on their next install
42
48
  * with no build signal on their side.
@@ -56,7 +62,17 @@ export interface AssessmentToolkitRuntimeContext {
56
62
  * they saw.
57
63
  */
58
64
  i18n?: I18nProvider;
59
- reportSessionChanged?: (itemId: string, detail: unknown) => void;
65
+ /**
66
+ * Content language: the language the authored content is written in, which
67
+ * read-aloud speaks it in and catalog lookups select alternates by. Sourced
68
+ * from the host's `content-language` attribute on the toolkit (or
69
+ * `runtime.contentLanguage` on a section player), and unset when the host
70
+ * names none. A `lang` in the content's markup wins over it; read-aloud
71
+ * resolves both per read in `TTSService.speak`. Independent of
72
+ * {@link locale}, since a learner can read content in one language through
73
+ * an interface in another.
74
+ */
75
+ contentLanguage?: string;
60
76
  /**
61
77
  * Reports a failure that keeps the section's content from loading as the
62
78
  * section controller's `section-error`, with source `section-runtime`.
@@ -69,6 +85,17 @@ export declare const assessmentToolkitRuntimeContext: {
69
85
  export interface AssessmentToolkitHostRuntimeContext {
70
86
  runtimeId: string;
71
87
  coordinator: ToolkitCoordinatorApi;
88
+ /**
89
+ * The toolkit holds a section, so a shell under it is its content's channel
90
+ * to the section. Without one the host owns its players and their events.
91
+ */
92
+ sectionBound: boolean;
93
+ /**
94
+ * The element the runtime hears its shells' events on. A shell whose host
95
+ * has left the document, as on teardown, dispatches here: an event bubbling
96
+ * from a detached host reaches nothing.
97
+ */
98
+ eventTarget: EventTarget;
72
99
  }
73
100
  export declare const assessmentToolkitHostRuntimeContext: {
74
101
  __context__: AssessmentToolkitHostRuntimeContext;
package/dist/index.d.ts CHANGED
@@ -6,74 +6,49 @@
6
6
  *
7
7
  * @packageDocumentation
8
8
  */
9
- export type { AssessmentToolkitHostRuntimeContext, AssessmentToolkitRegionScopeContext, AssessmentToolkitRuntimeContext, AssessmentToolkitShellContext, ItemPlayerConfig, ItemPlayerType, ShellContextKind, } from "./context/assessment-toolkit-context.js";
9
+ export type { AssessmentToolkitRuntimeContext, ItemPlayerConfig, ItemPlayerType, ShellContextKind, } from "./context/assessment-toolkit-context.js";
10
10
  export type { TTSHighlightContext, TTSHighlightTargetResolver, TTSHighlightTargetResolverProvider, TTSHighlightTargetResolverRuntime, } from "./services/tts/highlight-target-resolver.js";
11
- export { assessmentToolkitHostRuntimeContext, assessmentToolkitRegionScopeContext, assessmentToolkitRuntimeContext, assessmentToolkitShellContext, } from "./context/assessment-toolkit-context.js";
12
- export { connectAssessmentToolkitHostRuntimeContext, connectAssessmentToolkitRegionScopeContext, connectAssessmentToolkitRuntimeContext, connectAssessmentToolkitShellContext, } from "./context/runtime-context-consumer.js";
13
- export { catalogOwnerContextFor, catalogSourceSignature, type CatalogOwnerContext, type CatalogOwnerIdentity, type CatalogOwnerKind, type CatalogSourceEntity, } from "./services/catalog-owner.js";
14
- export { PIE_INTERNAL_CONTENT_LOADED_EVENT, PIE_INTERNAL_FORMATIVE_ACTION_EVENT, PIE_INTERNAL_ITEM_SESSION_CHANGED_EVENT, PIE_INTERNAL_ITEM_PLAYER_ERROR_EVENT, PIE_INTERNAL_MEDIA_TIME_SOURCE_EVENT, PIE_ITEM_SESSION_CHANGED_EVENT, PIE_REGISTER_EVENT, PIE_UNREGISTER_EVENT, type InternalContentLoadedDetail, type InternalFormativeActionDetail, type InternalItemSessionChangedDetail, type InternalItemPlayerErrorDetail, type InternalMediaTimeSourceDetail, type ItemSessionChangedDetail, type RuntimeRegistrationDetail, type RuntimeRegistrationKind, } from "./runtime/registration-events.js";
15
- export { connectToolRegionScopeContext, connectToolRuntimeContext, connectToolShellContext, createCrossBoundaryEvent, createToolCoordinatorRegistration, dispatchCrossBoundaryEvent, isContextValueDefined, type ToolCoordinatorRegistration, } from "./runtime/tool-host-contract.js";
16
- export type { AccessibilityCatalogResolverApi, ElementToolStateStoreApi, HighlightCoordinatorApi, I18nServiceApi, ThemeProviderApi, ToolCoordinatorApi, ToolkitCoordinatorApi, TtsServiceApi, ToolState, } from "./services/interfaces.js";
11
+ export { catalogOwnerContextFor, type CatalogOwnerContext, type CatalogOwnerIdentity, type CatalogSourceEntity, } from "./services/catalog-owner.js";
12
+ export { PIE_INTERNAL_FORMATIVE_ACTION_EVENT, PIE_INTERNAL_ITEM_SESSION_CHANGED_EVENT, PIE_INTERNAL_MEDIA_TIME_SOURCE_EVENT, PIE_ITEM_SESSION_CHANGED_EVENT, type InternalFormativeActionDetail, type InternalMediaTimeSourceDetail, } from "./runtime/registration-events.js";
13
+ export { createShellScope, type ShellScope, type ShellScopeState, } from "./runtime/shell-scope.js";
14
+ export { createShellEventBridge, type ShellEventBridge, type ShellEventBridgeOptions, } from "./runtime/shell-event-bridge.js";
15
+ export { connectToolRuntimeContext, dispatchCrossBoundaryEvent, } from "./runtime/tool-host-contract.js";
16
+ export type { AccessibilityCatalogResolverApi, ElementToolStateStoreApi, HighlightCoordinatorApi, ToolCoordinatorApi, ToolkitCoordinatorApi, SpeakOptions, TtsServiceApi, ToolState, ToolStateFilter, } from "./services/interfaces.js";
17
17
  export type { CatalogCardForm, CatalogChangeEvent, CatalogChangeListener, CatalogChangeReason, CatalogLookupContext, CatalogLookupOptions, CatalogOwnerCard, CatalogOwnerRegistration, CatalogOwnerSnapshot, CatalogOwnerView, CatalogStatistics, CatalogType, ResolvedCatalog, } from "./services/AccessibilityCatalogResolver.js";
18
- export { AccessibilityCatalogResolver, catalogCardForm, isKnownCatalogType, KNOWN_CATALOG_TYPES, } from "./services/AccessibilityCatalogResolver.js";
19
- export { ContextVariableStore } from "./services/ContextVariableStore.js";
20
- export { ElementToolStateStore } from "./services/ElementToolStateStore.js";
18
+ export { AccessibilityCatalogResolver } from "./services/AccessibilityCatalogResolver.js";
19
+ export { type ElementIdComponents, ElementToolStateStore, } from "./services/ElementToolStateStore.js";
21
20
  export type { Annotation } from "./services/HighlightCoordinator.js";
22
21
  export { HighlightColor, HighlightCoordinator, HighlightType, } from "./services/HighlightCoordinator.js";
23
22
  export type { SerializedRange } from "./services/RangeSerializer.js";
24
- export { RangeSerializer } from "./services/RangeSerializer.js";
25
- export type { I18nConfig, I18nProvider, InterpolationValues, LocaleCode, MessageCatalog, MessageKeyInput, PluralOptions, TextDirection, } from "./services/I18nService.js";
26
- export { I18nService } from "./services/I18nService.js";
27
- export type { ResolvedToolContext, ToolbarContext, ToolContextResolver, ToolContextResolverContext, ToolContextResolverMap, ToolContextResolverResult, ToolActivation, ToolContentDependency, ToolContentDependencyContext, ToolModuleLoader, ToolRegistryChangeEvent, ToolRegistryChangeKind, ToolRegistryChangeListener, ToolSingletonScope, ToolSurfaceRenderContext, ToolSurfaceRenderResult, ToolSurfaceServices, ToolToolbarButtonDefinition, ToolToolbarRenderResult, ToolWindowShellAction, ToolWindowShellAlign, ToolWindowShellConfig, ToolWindowShellContentConfig, ToolRegistration, } from "./services/ToolRegistry.js";
23
+ export type { I18nProvider, InterpolationValues, LocaleCode, MessageKeyInput, PluralOptions, TextDirection, } from "@pie-players/pie-players-shared/i18n";
24
+ export type { ResolvedToolContext, ToolbarContext, ToolContextResolver, ToolContextResolverContext, ToolContextResolverMap, ToolContextResolverResult, ToolActivation, ToolCallbackFailureHandler, ToolContentDependency, ToolContentDependencyContext, ToolModuleLoader, ToolRegistryChangeEvent, ToolRegistryChangeKind, ToolRegistryChangeListener, ToolSingletonScope, ToolSurfaceRenderContext, ToolSurfaceRenderResult, ToolSurfaceServices, ToolToolbarButtonDefinition, ToolToolbarRenderResult, ToolRegistration, } from "./services/ToolRegistry.js";
28
25
  export { ToolRegistry } from "./services/ToolRegistry.js";
29
26
  export type { ToolOpenRequest, ToolRequestTarget, } from "./services/tool-request.js";
30
- export { DEFAULT_TOOL_REQUEST_LEVEL } from "./services/tool-request.js";
31
- export type { ToolSelectionAction, ToolSelectionContext, } from "./services/selection-action.js";
32
27
  export type { AssessmentToolContext, BaseToolContext, ElementToolContext, ItemToolContext, PassageToolContext, RubricToolContext, SectionToolContext, ToolContext, ToolLevel, } from "./services/tool-context.js";
33
- export { extractTextContent, hasChoiceInteraction, hasMathContent, hasReadableText, isAssessmentContext, isElementContext, isItemContext, isPassageContext, isRubricContext, isSectionContext, } from "./services/tool-context.js";
34
- export { DEFAULT_TOOL_PLACEMENT } from "./services/tool-config-defaults.js";
28
+ export { hasReadableText, hasSpokenContent, } from "./services/tool-context.js";
35
29
  export type { CreateToolsConfigArgs } from "./services/create-tools-config.js";
36
30
  export { createToolsConfig } from "./services/create-tools-config.js";
37
- export { createEmptyPersonalNeedsProfile } from "./services/defaultPersonalNeedsProfile.js";
38
31
  export type { ToolComponentFactory, ToolComponentFactoryMap, ToolComponentOverrides, ToolTagMap, } from "./tools/tool-tag-map.js";
39
- export { createToolElement, resolveToolTag, toToolIdFromTag, } from "./tools/tool-tag-map.js";
40
- export { ALL_STANDARD_ACCESS_FEATURES, EXAMPLE_PNP_CONFIGURATIONS, getFeatureCategory, getFeaturesInCategory, isStandardAccessFeature, QTI_STANDARD_ACCESS_FEATURES, } from "./services/pnp-standard-features.js";
41
- export { applyMediaFragment, enforceMediaFragment, isSafeMediaSrc, isUnsupportedMediaAssetVersion, normalizeMediaFragment, normalizeMediaSources, SUPPORTED_MEDIA_ASSET_VERSION, trimmedOrUndefined, } from "@pie-players/pie-players-shared/media";
42
- export type { SpokenAudioMedia } from "./services/spoken-audio-cards.js";
43
- export { resolveSpokenAudioMedia, SPOKEN_CATALOG_TYPE, } from "./services/spoken-audio-cards.js";
44
32
  export type { ExtractionResult } from "./services/SSMLExtractor.js";
45
33
  export { SSMLExtractor } from "./services/SSMLExtractor.js";
46
- export type { FontSize, ThemeConfig } from "./services/ThemeProvider.js";
47
- export { ThemeProvider } from "./services/ThemeProvider.js";
48
- export { ToolCoordinator, ZIndexLayer } from "./services/ToolCoordinator.js";
49
- export type { AnswerEliminatorToolConfig, ProviderLifecycleContext, SectionControllerContext, SectionControllerEvent, SectionControllerEventType, SectionItemEvent, SectionItemEventType, SectionControllerFactoryDefaults, SectionControllerHandle, SectionControllerKey, SectionScopedEvent, SectionScopedEventType, SectionSessionPersistenceConfig, SectionItemEventSubscriptionArgs, SectionScopedEventSubscriptionArgs, SectionEventSubscriptionArgs, SectionSessionPersistenceStrategy, SectionControllerLoadedRenderable, SectionControllerRuntimeState, SectionControllerSessionState, SectionPersistenceFactoryDefaults, ToolConfig, ToolkitCoordinatorConfig, ToolkitCoordinatorHooks, ToolkitErrorContext, ToolkitInitStatus, ToolkitServiceBundle, ToolkitToolsConfig, TTSToolConfig, } from "./services/ToolkitCoordinator.js";
34
+ export { ZIndexLayer } from "./services/ToolCoordinator.js";
35
+ export type { ProviderLifecycleContext, SectionControllerContext, SectionControllerEvent, SectionControllerEventType, SectionItemEvent, SectionItemEventType, SectionControllerFactoryDefaults, SectionControllerHandle, SectionControllerKey, SectionScopedEvent, SectionScopedEventType, SectionSessionPersistenceConfig, SectionItemEventSubscriptionArgs, SectionScopedEventSubscriptionArgs, SectionEventSubscriptionArgs, SectionSessionPersistenceStrategy, SectionControllerLoadedRenderable, SectionControllerRuntimeState, SectionControllerSessionState, SectionPersistenceFactoryDefaults, ToolkitCoordinatorConfig, ToolkitCoordinatorHooks, ToolkitErrorContext, } from "./services/ToolkitCoordinator.js";
50
36
  export { ToolkitCoordinator } from "./services/ToolkitCoordinator.js";
51
- export type { CalculatorToolProviderConfig, CanonicalToolsConfig, ToolPlacementConfig, ToolPlacementLevel, ToolPolicyConfig, ToolProvidersConfig, ToolsConfigInput, } from "./services/tools-config-normalizer.js";
52
- export type { FrameworkErrorKind, FrameworkErrorModel, FrameworkErrorSeverity, } from "./services/framework-error.js";
53
- export { formatFrameworkErrorForConsole, frameworkErrorFromToolConfigDiagnostics, frameworkErrorFromUnknown, toFrameworkErrorModel, } from "./services/framework-error.js";
37
+ export type { CalculatorToolProviderConfig, CanonicalToolsConfig, ToolPlacementConfig, ToolPlacementLevel, ToolPolicyConfig, ToolProvidersConfig, ToolsConfigInput, TextToSpeechToolProviderConfig, } from "./services/tools-config-normalizer.js";
38
+ export type { FrameworkErrorCohort, FrameworkErrorKind, FrameworkErrorModel, FrameworkErrorScope, FrameworkErrorSeverity, } from "./services/framework-error.js";
39
+ export { frameworkErrorFromUnknown, toFrameworkErrorModel, } from "./services/framework-error.js";
54
40
  export type { FrameworkErrorListener } from "./services/framework-error-bus.js";
55
- export type { ToolConfigDiagnostic, ToolConfigDiagnosticSeverity, ToolConfigStrictness, ToolConfigValidationOptions, ToolConfigValidationResult, } from "./services/tool-config-validation.js";
41
+ export type { ToolFailurePhase } from "./services/tool-failure.js";
42
+ export type { ToolConfigDiagnostic, ToolConfigDiagnosticSeverity, ToolConfigStrictness, ToolConfigValidationResult, } from "./services/tool-config-validation.js";
56
43
  export type { ToolbarButtonItem, ToolbarItem, ToolbarItemBase, ToolbarLinkItem, } from "./services/toolbar-items.js";
57
- export { isExternalIconUrl, isInlineSvgIcon, isToolbarLinkItem, isValidToolbarItemShape, } from "./services/toolbar-items.js";
58
- export { normalizeToolsConfig, normalizeToolAlias, normalizeToolList, parseToolList, } from "./services/tools-config-normalizer.js";
59
- export { isHostDeniedFeature } from "./policy/core/feature-decision.js";
60
- export { frameworkErrorFromToolConfigValidation, normalizeAndValidateToolsConfig, } from "./services/tool-config-validation.js";
61
- export type { ParsedToolInstanceId, ToolScopeLevel, } from "./services/tool-instance-id.js";
62
- export { createScopedToolId, parseScopedToolId, toOverlayToolId, } from "./services/tool-instance-id.js";
63
- export type { TTSConfig } from "./services/TTSService.js";
44
+ export type { ToolScopeLevel } from "./services/tool-instance-id.js";
45
+ export { createScopedToolId } from "./services/tool-instance-id.js";
64
46
  export { PlaybackState, TTSService } from "./services/TTSService.js";
65
- export { PIE_TTS_CONTROL_HANDOFF_EVENT, type TTSControlHandoffDetail, } from "./services/tts-control-events.js";
66
- export { bindTtsAudioHandoff, pauseTtsForMediaAudio, } from "./services/audio-handoff.js";
67
47
  export { BrowserTTSProvider } from "./services/tts/browser-provider.js";
68
48
  export type { SREMathSpeechOptions } from "./services/tts/math-speech.js";
69
- export type { NormalizedTTSSpeedOption, TTSHostToolbarLayout, TTSLayoutMode, TTSRuntimeSettings, TTSSpeedOption, TTSSpeedOptionConfig, } from "./services/tts-runtime-config.js";
70
- export { DEFAULT_TTS_SPEED_OPTIONS, formatTTSSpeedOptionsAsText, normalizeTTSLayoutMode, normalizeTTSSpeedControlOptions, normalizeTTSSpeedOptionConfigs, normalizeTTSSpeedOptions, parseTTSSpeedOptionsFromText, resolveTTSHostToolbarLayout, resolveTTSLayoutMode, resolveTTSRuntimeSettings, } from "./services/tts-runtime-config.js";
71
- export type { ITTSProvider, ITTSProviderImplementation, TTSSpeechSegment, TTSFeature, TTSProviderCapabilities, } from "@pie-players/pie-tts";
72
- export type { CreateLoadItemOptions, LoadItem, LoadItemOptions, } from "./item-loader.js";
73
- export { createFetchItemLoader, createLoadItem, ItemLoadError, } from "./item-loader.js";
74
- export type { StorageLike, TestAttemptItemSession, TestAttemptSession, TestAttemptSessionNavigationState, TestAttemptSessionRealization, } from "./attempt/TestSession.js";
75
- export { createMemoryStorage, createTestAttemptSessionIdentifier, createNewTestAttemptSession, getBrowserLocalStorage, getOrCreateAnonymousDeviceId, getTestAttemptSessionStorageKey, loadTestAttemptSession, saveTestAttemptSession, setCurrentPosition, upsertItemSessionFromPieSessionChange, upsertVisitedItem, } from "./attempt/TestSession.js";
49
+ export type { TTSLayoutMode, TTSRuntimeSettings, TTSSpeedOption, TTSSpeedOptionConfig, } from "./services/tts-runtime-config.js";
50
+ export type { ITTSProvider, ITTSProviderImplementation, TTSConfig, TTSSpeechSegment, TTSProviderCapabilities, } from "@pie-players/pie-tts";
51
+ export type { TestAttemptItemSession, TestAttemptSession, TestAttemptSessionNavigationState, TestAttemptSessionRealization, } from "./attempt/TestSession.js";
52
+ export { createNewTestAttemptSession, setCurrentPosition, toItemSessionsRecord, upsertItemSessionFromPieSessionChange, upsertVisitedItem, } from "./attempt/TestSession.js";
76
53
  export type { AssessmentSession, AssessmentSectionSessionState, AssessmentSessionNavigationState, AssessmentSessionRealization, } from "./attempt/AssessmentSession.js";
77
54
  export { createNewAssessmentSession, setCurrentSectionPosition, upsertSectionSession, } from "./attempt/AssessmentSession.js";
78
- export type { ActivitySessionPatchPayload, MapActivityToTestAttemptSessionArgs, PieBackendActivityDefinition, PieBackendActivityItemRef, PieBackendActivitySession, } from "./attempt/adapters/activity-to-test-attempt-session.js";
79
- export { buildActivitySessionItemUpdate, buildActivitySessionPatchFromTestAttemptSession, mapActivityToTestAttemptSession, toItemSessionsRecord, } from "./attempt/adapters/activity-to-test-attempt-session.js";