@nulib/clover 4.0.0-beta.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (476) hide show
  1. package/README.md +7 -7
  2. package/dist/components/Annotations/Annotations.mjs +165 -204
  3. package/dist/components/Annotations/EntryBodies.mjs +28 -3
  4. package/dist/components/Annotations/languages.mjs +1 -17
  5. package/dist/components/Body/BodyAlert.mjs +2 -1
  6. package/dist/components/Body/Caption.mjs +2 -1
  7. package/dist/components/Body/CaptionDetails.mjs +2 -1
  8. package/dist/components/Body/glyphs.mjs +9 -0
  9. package/dist/components/Canvas/AnnotationMenu.mjs +76 -60
  10. package/dist/components/Canvas/AnnotationState.mjs +9 -2
  11. package/dist/components/Canvas/Annotations.mjs +16 -7
  12. package/dist/components/Canvas/CanvasView.mjs +173 -32
  13. package/dist/components/Canvas/ChoiceMenu.mjs +51 -31
  14. package/dist/components/Canvas/Connected.mjs +38 -4
  15. package/dist/components/Canvas/ControlMenu.mjs +6 -4
  16. package/dist/components/Canvas/Controls.mjs +17 -1
  17. package/dist/components/Canvas/FrameAnimation.mjs +568 -167
  18. package/dist/components/Canvas/LoadedCanvas.mjs +5 -3
  19. package/dist/components/Canvas/PlaceBox.mjs +74 -0
  20. package/dist/components/Canvas/Placeholder.mjs +2 -1
  21. package/dist/components/Canvas/fromManifest.mjs +2 -1
  22. package/dist/components/Canvas/layout.mjs +121 -32
  23. package/dist/components/Canvas/media/MediaBody.mjs +32 -6
  24. package/dist/components/Canvas/media/Player.mjs +11 -25
  25. package/dist/components/Canvas/media/Transport.mjs +94 -61
  26. package/dist/components/Canvas/media/TransportButton.mjs +2 -1
  27. package/dist/components/Canvas/media/placeMenu.mjs +19 -0
  28. package/dist/components/Canvas/media/seekGaps.mjs +43 -0
  29. package/dist/components/Canvas/media/sequence.mjs +96 -0
  30. package/dist/components/Canvas/media/useMediaElement.mjs +22 -3
  31. package/dist/components/Collection/Collection.mjs +2 -1
  32. package/dist/components/CollectionSelect/CollectionSelect.mjs +5 -2
  33. package/dist/components/Contents/Contents.mjs +163 -34
  34. package/dist/components/Download/Download.mjs +34 -38
  35. package/dist/components/Download/downloads.mjs +40 -0
  36. package/dist/components/Items/AnnotationItems.mjs +165 -0
  37. package/dist/components/Items/CountMenu.mjs +89 -0
  38. package/dist/components/Items/Item.mjs +24 -17
  39. package/dist/components/Items/Items.mjs +65 -37
  40. package/dist/components/Items/Pager.mjs +39 -79
  41. package/dist/components/Items/PagerLayout.mjs +41 -0
  42. package/dist/components/Items/Position.mjs +103 -0
  43. package/dist/components/Items/StandaloneItems.mjs +12 -4
  44. package/dist/components/Items/TargetItems.mjs +202 -0
  45. package/dist/components/Label/Label.mjs +2 -1
  46. package/dist/components/Map/MapView.mjs +375 -64
  47. package/dist/components/Map/maplibre-worker.mjs +7 -0
  48. package/dist/components/Map/worker.mjs +22 -0
  49. package/dist/components/Panel/About.mjs +50 -16
  50. package/dist/components/Panel/AboutActions.mjs +117 -0
  51. package/dist/components/Panel/Panel.mjs +58 -18
  52. package/dist/components/Panel/PartOfManifest.mjs +4 -3
  53. package/dist/components/Panel/ReadingLanguages.mjs +20 -0
  54. package/dist/components/Primitives/Primitives.mjs +18 -3
  55. package/dist/components/Provider/Provider.mjs +19 -5
  56. package/dist/components/Root/Announcer.mjs +3 -2
  57. package/dist/components/Root/Root.mjs +5 -2
  58. package/dist/components/Root/useRootState.mjs +14 -2
  59. package/dist/components/Scene/SceneView.mjs +23 -6
  60. package/dist/components/Search/Search.mjs +3 -2
  61. package/dist/components/Split/Split.mjs +13 -3
  62. package/dist/components/Status/Status.mjs +10 -2
  63. package/dist/components/Timeline/playerSurface.mjs +2 -1
  64. package/dist/components/Transcript/Transcript.mjs +42 -23
  65. package/dist/core/annotation-bodies.mjs +25 -5
  66. package/dist/core/annotation-collection.mjs +3 -2
  67. package/dist/core/annotation-name.mjs +12 -9
  68. package/dist/core/annotation-sets.mjs +139 -10
  69. package/dist/core/annotations-content.mjs +8 -1
  70. package/dist/core/annotations.mjs +8 -1
  71. package/dist/core/choice-key.mjs +5 -0
  72. package/dist/core/clover.mjs +105 -20
  73. package/dist/core/content-state-reader.mjs +33 -2
  74. package/dist/core/dates-format.mjs +30 -0
  75. package/dist/core/dates.mjs +19 -0
  76. package/dist/core/geo.mjs +46 -5
  77. package/dist/core/image-layers.mjs +96 -0
  78. package/dist/core/items.mjs +7 -3
  79. package/dist/core/language-choice.mjs +30 -0
  80. package/dist/core/link.mjs +15 -1
  81. package/dist/core/load.mjs +14 -5
  82. package/dist/core/pages.mjs +20 -1
  83. package/dist/core/presentation.mjs +6 -4
  84. package/dist/core/range-regions.mjs +70 -0
  85. package/dist/core/ranges.mjs +52 -18
  86. package/dist/core/region.mjs +7 -2
  87. package/dist/core/sanitize.mjs +86 -1
  88. package/dist/core/save-file.mjs +33 -0
  89. package/dist/core/selectors.mjs +12 -0
  90. package/dist/core/upgrade.mjs +23 -0
  91. package/dist/core/value.mjs +11 -23
  92. package/dist/hooks/useFullscreenExit.mjs +26 -0
  93. package/dist/hooks/useHighContrast.mjs +27 -0
  94. package/dist/i18n/autonym.mjs +11 -0
  95. package/dist/i18n/config.mjs +3 -8
  96. package/dist/{core → i18n}/direction.mjs +5 -1
  97. package/dist/i18n/languages.mjs +44 -0
  98. package/dist/i18n/locales/en.json.mjs +1 -1
  99. package/dist/i18n/locales/es.json.mjs +1 -1
  100. package/dist/i18n/locales/fi.json.mjs +1 -1
  101. package/dist/i18n/locales/fr.json.mjs +1 -1
  102. package/dist/i18n/locales/nb.json.mjs +1 -1
  103. package/dist/i18n/locales/nn.json.mjs +1 -1
  104. package/dist/i18n/locales/no.json.mjs +1 -1
  105. package/dist/i18n/locales/pt.json.mjs +1 -1
  106. package/dist/{ui → i18n}/useContainerName.mjs +5 -4
  107. package/dist/{react/language.mjs → i18n/useRootLanguage.mjs} +2 -2
  108. package/dist/index.d.mts +415 -64
  109. package/dist/index.mjs +6 -2
  110. package/dist/lib/fullscreen.mjs +6 -1
  111. package/dist/lib/renderer/CanvasRenderer.mjs +28 -5
  112. package/dist/lib/renderer/math/affine.mjs +14 -0
  113. package/dist/lib/renderer/scene/planFrame.mjs +12 -12
  114. package/dist/lib/renderer/scene/regions.mjs +11 -1
  115. package/dist/lib/renderer/scene/sceneItem.mjs +72 -9
  116. package/dist/lib/time.mjs +10 -0
  117. package/dist/map/index.d.mts +40 -7
  118. package/dist/react/fetchManifest.mjs +19 -0
  119. package/dist/react/hooks.mjs +7 -1
  120. package/dist/react/readingLanguages.mjs +16 -0
  121. package/dist/react/usePagesReached.mjs +42 -0
  122. package/dist/styles.css +1 -1
  123. package/dist/templates/default/Default.mjs +87 -9
  124. package/dist/templates/document/Document.mjs +5 -1
  125. package/dist/templates/index.d.mts +26 -5
  126. package/dist/templates.css +1 -1
  127. package/dist/ui/BodyUnloadable.mjs +34 -0
  128. package/dist/ui/Button.mjs +2 -1
  129. package/dist/ui/Chevron.mjs +34 -0
  130. package/dist/ui/ControlCluster.mjs +6 -3
  131. package/dist/ui/EntryThumbnail.mjs +60 -0
  132. package/dist/ui/ExitFullscreen.mjs +2 -1
  133. package/dist/ui/FieldPill.mjs +5 -4
  134. package/dist/ui/HideToggle.mjs +2 -1
  135. package/dist/ui/LanguageChoice.mjs +45 -0
  136. package/dist/ui/ListEnd.mjs +29 -0
  137. package/dist/ui/Markup.mjs +27 -8
  138. package/dist/ui/NavDate.mjs +29 -0
  139. package/dist/ui/ReadMore.mjs +4 -3
  140. package/dist/ui/Sections.mjs +19 -28
  141. package/dist/ui/Steps.mjs +4 -3
  142. package/dist/ui/Tip.mjs +9 -4
  143. package/dist/web-components/About-DhOGPFaI.mjs +1 -0
  144. package/dist/web-components/AnnotationItems-CNP4CJiT.mjs +1 -0
  145. package/dist/web-components/AnnotationMenu-BCwwwfbb.mjs +1 -0
  146. package/dist/web-components/AnnotationState-CavxnAAq.mjs +1 -0
  147. package/dist/web-components/Annotations-DDjSrBL5.mjs +2 -0
  148. package/dist/web-components/Annotations-rBmeI5sR.mjs +1 -0
  149. package/dist/web-components/Body-DaY1UJIy.mjs +1 -0
  150. package/dist/web-components/BodyAlert-COKp19lq.mjs +1 -0
  151. package/dist/web-components/BodyUnloadable-DcTM7hHF.mjs +1 -0
  152. package/dist/web-components/Button-DLFYqtz9.mjs +1 -0
  153. package/dist/web-components/{Camera-Dw51CAfF.mjs → Camera-Cp5ma-6C.mjs} +1 -1
  154. package/dist/web-components/{Canvas2DBackend-RRN2bEkc.mjs → Canvas2DBackend-3PToh87Z.mjs} +1 -1
  155. package/dist/web-components/CanvasView-BWQ4SK2b.mjs +2 -0
  156. package/dist/web-components/CaptionDetails-DSziiuQV.mjs +1 -0
  157. package/dist/web-components/Chevron-r-_hUPn8.mjs +1 -0
  158. package/dist/web-components/ChoiceMenu-DTuEEUeM.mjs +1 -0
  159. package/dist/web-components/Collection-B9swJtPW.mjs +1 -0
  160. package/dist/web-components/CollectionSelect-CBWUbqQi.mjs +1 -0
  161. package/dist/web-components/Connected-B2d6EoFl.mjs +1 -0
  162. package/dist/web-components/Connected-BSRM9FJY.mjs +1 -0
  163. package/dist/web-components/Connected-BnpxYeJN.mjs +1 -0
  164. package/dist/web-components/Contents-D7FPxSH-.mjs +1 -0
  165. package/dist/web-components/ControlMenu-Crtho2cs.mjs +1 -0
  166. package/dist/web-components/CountMenu-DyTp_J4k.mjs +1 -0
  167. package/dist/web-components/Cue-CbZaGwZh.mjs +1 -0
  168. package/dist/web-components/Document-BfltLWZZ.mjs +1 -0
  169. package/dist/web-components/DocumentPanel-ZSe40cV4.mjs +1 -0
  170. package/dist/web-components/{DomLayers-BsR2AOy-.mjs → DomLayers-CTGub6wo.mjs} +1 -1
  171. package/dist/web-components/Download-BOYNIb7C.mjs +1 -0
  172. package/dist/web-components/EntryBodies-Bfd2Z42z.mjs +1 -0
  173. package/dist/web-components/EntryThumbnail-DQE8ajI9.mjs +1 -0
  174. package/dist/web-components/FieldPill-D5DNJWLy.mjs +1 -0
  175. package/dist/web-components/FrameAnimation-IfR1czfc.mjs +1 -0
  176. package/dist/web-components/Gallery-DD06BDQo.mjs +1 -0
  177. package/dist/web-components/HideToggle-DL911R1Z.mjs +1 -0
  178. package/dist/web-components/Items-BHzT9A73.mjs +1 -0
  179. package/dist/web-components/Label-KabnxuMN.mjs +1 -0
  180. package/dist/web-components/LanguageChoice-DT1UPiDn.mjs +1 -0
  181. package/dist/web-components/LightboxBody-BhRhdXo6.mjs +1 -0
  182. package/dist/web-components/ListEnd-CbwNlty-.mjs +1 -0
  183. package/dist/web-components/{Loaded-wQurAeJz.mjs → Loaded-BWfEBJyg.mjs} +1 -1
  184. package/dist/web-components/LoadedCanvas-CdZ5WOWz.mjs +1 -0
  185. package/dist/web-components/LoadedMap-DQyQVRVQ.mjs +1 -0
  186. package/dist/web-components/{Loading-BmA--pzr.mjs → Loading-zw74TdAz.mjs} +1 -1
  187. package/dist/web-components/{Map-DzVGblIS.mjs → Map--dJhk0_0.mjs} +1 -1
  188. package/dist/web-components/MapView-duA5WGsu.mjs +3 -0
  189. package/dist/web-components/Markup-D-kioDf9.mjs +2 -0
  190. package/dist/web-components/MediaBody-CoOiVXcv.mjs +1 -0
  191. package/dist/web-components/MediaBody-d8ErTuwT.mjs +1 -0
  192. package/dist/web-components/NavDate-BQHuyLOC.mjs +1 -0
  193. package/dist/web-components/{Navigator-CIJFA3q1.mjs → Navigator-B3U21_ti.mjs} +1 -1
  194. package/dist/web-components/Pager-DnJknq92.mjs +1 -0
  195. package/dist/web-components/PagerLayout-CvOmKtSW.mjs +1 -0
  196. package/dist/web-components/Panel-CIdjOznL.mjs +1 -0
  197. package/dist/web-components/{PanelToggle-BYjV2t1j.mjs → PanelToggle-CFtWIeWv.mjs} +1 -1
  198. package/dist/web-components/PartOfManifest-F87jIrf9.mjs +1 -0
  199. package/dist/web-components/{Pending-BspZajh5.mjs → Pending-CYAQajKu.mjs} +1 -1
  200. package/dist/web-components/PlaceBox-BtIbIotm.mjs +1 -0
  201. package/dist/web-components/Placeholder-TIyj4ZjR.mjs +1 -0
  202. package/dist/web-components/Position-BkWBRBfW.mjs +1 -0
  203. package/dist/web-components/Primitives-BmODPlnK.mjs +1 -0
  204. package/dist/web-components/Provider-C8se8i4I.mjs +1 -0
  205. package/dist/web-components/ReadMore-BwGFsLS2.mjs +1 -0
  206. package/dist/web-components/Root-CAJB0-Mh.mjs +1 -0
  207. package/dist/web-components/Scene-Ctcdt7CD.mjs +1 -0
  208. package/dist/web-components/SceneView-B6bEx_7x.mjs +1 -0
  209. package/dist/web-components/Search-CbmK9vLp.mjs +1 -0
  210. package/dist/web-components/Sections-Dy5_pkyQ.mjs +2 -0
  211. package/dist/web-components/StandaloneItems-BmUnBp0H.mjs +1 -0
  212. package/dist/web-components/Status-Dww3Pyf4.mjs +1 -0
  213. package/dist/web-components/Steps-o_UprQfZ.mjs +1 -0
  214. package/dist/web-components/TargetItems-BBOGDubv.mjs +1 -0
  215. package/dist/web-components/Timeline-CfIF4APc.mjs +1 -0
  216. package/dist/web-components/Tip-BbexILXs.mjs +1 -0
  217. package/dist/web-components/Transcript-ZVXM3ZDA.mjs +1 -0
  218. package/dist/web-components/annotation-collection-7SS1ELcO.mjs +1 -0
  219. package/dist/web-components/annotation-name-CYkZopdd.mjs +1 -0
  220. package/dist/web-components/annotations-content-Bdtn50sf.mjs +1 -0
  221. package/dist/web-components/body-CkOBHlJ0.mjs +1 -0
  222. package/dist/web-components/canvas-CWf_Fag8.mjs +1 -0
  223. package/dist/web-components/choice-key-BUNebLKe.mjs +1 -0
  224. package/dist/web-components/{cloverEngine-Dbv-26NP.mjs → cloverEngine-6djEHNCD.mjs} +2 -2
  225. package/dist/web-components/content-state-reader-Ahh6artg.mjs +1 -0
  226. package/dist/web-components/{controls-qRYf2jO2.mjs → controls-BJrZVQkS.mjs} +1 -1
  227. package/dist/web-components/custom-elements.json +109 -13
  228. package/dist/web-components/dates-DR3gfcON.mjs +1 -0
  229. package/dist/web-components/downloads-CqVWo-yn.mjs +1 -0
  230. package/dist/web-components/{engine-D8JLgzqq.mjs → engine-B-sscpLa.mjs} +1 -1
  231. package/dist/web-components/{engines-BwVb9R_A.mjs → engines-DfCHjbt3.mjs} +1 -1
  232. package/dist/web-components/es-BYfHUZ7P.mjs +1 -0
  233. package/dist/web-components/fetchManifest-BIzne1Pj.mjs +1 -0
  234. package/dist/web-components/fi-B5y2qr8T.mjs +1 -0
  235. package/dist/web-components/fr-ChezCx6V.mjs +1 -0
  236. package/dist/web-components/fromManifest-gg5Wx14y.mjs +1 -0
  237. package/dist/web-components/glyphs-JYl2STEr.mjs +1 -0
  238. package/dist/web-components/hooks-x7rO95CS.mjs +1 -0
  239. package/dist/web-components/image-layers-BjbeyHBS.mjs +1 -0
  240. package/dist/web-components/{imageService-C3yg9DxB.mjs → imageService-0eTvQ-3h.mjs} +1 -1
  241. package/dist/web-components/index-BZ7b9k0N.mjs +1 -0
  242. package/dist/web-components/index.d.mts +95 -10
  243. package/dist/web-components/index.mjs +1 -1
  244. package/dist/web-components/items-CnAIl9fS.mjs +1 -0
  245. package/dist/web-components/items-F6hJgdAS.mjs +1 -0
  246. package/dist/web-components/label-CI88KH2_.mjs +1 -0
  247. package/dist/web-components/layout-De1MOSYe.mjs +1 -0
  248. package/dist/web-components/link-GEdiEwlR.mjs +1 -0
  249. package/dist/web-components/logo-Ckwj7FlP.mjs +1 -0
  250. package/dist/web-components/models-59cEeiAA.mjs +1 -0
  251. package/dist/web-components/nb-8J22f9Td.mjs +1 -0
  252. package/dist/web-components/nn-Dv1EvzI1.mjs +1 -0
  253. package/dist/web-components/no-8J22f9Td.mjs +1 -0
  254. package/dist/web-components/{nodes-Bf-Fb7e5.mjs → nodes-CTw9OqlA.mjs} +1 -1
  255. package/dist/web-components/{overlayImage-DdPs2EGY.mjs → overlayImage-BMt4UTlR.mjs} +1 -1
  256. package/dist/web-components/{panel-CiqEFDzv.mjs → panel-C17Rl9Ya.mjs} +1 -1
  257. package/dist/web-components/part-CXts97_M.mjs +1 -0
  258. package/dist/web-components/playerSurface-HYwEwPK6.mjs +1 -0
  259. package/dist/web-components/presentation-2-C-U79S_T.mjs +1 -0
  260. package/dist/web-components/{provider-LUmAQSoP.mjs → provider-BpxorEiq.mjs} +1 -1
  261. package/dist/web-components/pt-DWYQkATt.mjs +1 -0
  262. package/dist/web-components/range-regions-BGQy4E9U.mjs +1 -0
  263. package/dist/web-components/read-more-BDM_6CVc.mjs +1 -0
  264. package/dist/web-components/readingLanguages-fs_HqvqQ.mjs +1 -0
  265. package/dist/web-components/rendererSurface-C0aKlE0v.mjs +22 -0
  266. package/dist/web-components/{renderers-Bg4QqawN.mjs → renderers-CiB74bQh.mjs} +1 -1
  267. package/dist/web-components/{resource-DzIvB_4m.mjs → resource-CRbpf9pX.mjs} +1 -1
  268. package/dist/web-components/sanitize-qIOeyIww.mjs +3 -0
  269. package/dist/web-components/save-file-CCuZEuQr.mjs +1 -0
  270. package/dist/web-components/search-CkM0O0Z1.mjs +1 -0
  271. package/dist/web-components/sequence-C28xoNmD.mjs +1 -0
  272. package/dist/web-components/shared-MTsMddHx.mjs +1 -0
  273. package/dist/web-components/{show-link-DWRRXSBy.mjs → show-link-BXm7SNIC.mjs} +1 -1
  274. package/dist/web-components/{sizedImage-DfjlV2-i.mjs → sizedImage-k4Q-eyOB.mjs} +1 -1
  275. package/dist/web-components/{split-m-_XivaW.mjs → split-Hp6z-v4h.mjs} +1 -1
  276. package/dist/web-components/{status-DDS7jLNd.mjs → status-BmtuKfAG.mjs} +1 -1
  277. package/dist/web-components/styles-CZV1nbBQ.mjs +1 -0
  278. package/dist/web-components/three.mjs +1 -1
  279. package/dist/web-components/thumbnail-Dp7a8oom.mjs +1 -0
  280. package/dist/web-components/{tip-BXByhOJ9.mjs → tip-C-oovDZK.mjs} +1 -1
  281. package/dist/web-components/{toggle-AS72kq6v.mjs → toggle-C7ODWDEZ.mjs} +1 -1
  282. package/dist/web-components/upgrade-eNW0DPXq.mjs +1 -0
  283. package/dist/web-components/upgrader-BlbMUEH6.mjs +1 -0
  284. package/dist/web-components/useContainerName-CrOmY-km.mjs +1 -0
  285. package/dist/web-components/useNearViewport-BqXi9Gn4.mjs +1 -0
  286. package/dist/web-components/{useScrollTrack-dLFWnT8N.mjs → useScrollTrack-CEsOU2yT.mjs} +1 -1
  287. package/dist/web-components/viewer/AnnotationItems-CyhVcRFc.mjs +1 -0
  288. package/dist/web-components/viewer/AnnotationMenu-DPOSehBo.mjs +1 -0
  289. package/dist/web-components/viewer/AnnotationState-Bjztkobn.mjs +1 -0
  290. package/dist/web-components/viewer/Annotations-Dh_8Tzi0.mjs +2 -0
  291. package/dist/web-components/viewer/Annotations-wwuOCxzI.mjs +1 -0
  292. package/dist/web-components/viewer/{Canvas2DBackend-CkvI0wUT.mjs → Canvas2DBackend-BTK6ZJh0.mjs} +1 -1
  293. package/dist/web-components/viewer/CaptionDetails-BwCTovy_.mjs +1 -0
  294. package/dist/web-components/viewer/ChoiceMenu-DQ1x572Y.mjs +1 -0
  295. package/dist/web-components/viewer/Collection-DSBxCmXw.mjs +1 -0
  296. package/dist/web-components/viewer/Connected-CL3N8F2J.mjs +1 -0
  297. package/dist/web-components/viewer/Connected-DTk1jlyI.mjs +1 -0
  298. package/dist/web-components/viewer/Contents-DrXckx7d.mjs +1 -0
  299. package/dist/web-components/viewer/ControlMenu-Bp91s-g_.mjs +1 -0
  300. package/dist/web-components/viewer/CountMenu-4u6U6yqb.mjs +1 -0
  301. package/dist/web-components/viewer/Cue-C-aF8peC.mjs +1 -0
  302. package/dist/web-components/viewer/Document-BN1rICu3.mjs +1 -0
  303. package/dist/web-components/viewer/DocumentPanel-CEesxdeY.mjs +1 -0
  304. package/dist/web-components/viewer/{DomLayers-Dybz_aJv.mjs → DomLayers-CGkDtemL.mjs} +1 -1
  305. package/dist/web-components/viewer/Download-CawEl9MN.mjs +1 -0
  306. package/dist/web-components/viewer/EntryBodies-nYHMwSSM.mjs +1 -0
  307. package/dist/web-components/viewer/EntryThumbnail-DrO_0SzR.mjs +1 -0
  308. package/dist/web-components/viewer/FieldPill-DFXGWrvB.mjs +1 -0
  309. package/dist/web-components/viewer/FrameAnimation-CZfzpxaD.mjs +1 -0
  310. package/dist/web-components/viewer/Gallery-MWHtvjti.mjs +1 -0
  311. package/dist/web-components/viewer/HideToggle-DP5kHzWM.mjs +1 -0
  312. package/dist/web-components/viewer/LanguageChoice-C50T7dPI.mjs +1 -0
  313. package/dist/web-components/viewer/{LightboxBody-ClQ4yrTh.mjs → LightboxBody-C2T7IC29.mjs} +1 -1
  314. package/dist/web-components/viewer/ListEnd-BDuOx__m.mjs +1 -0
  315. package/dist/web-components/viewer/MapView-BN9wXQKV.mjs +3 -0
  316. package/dist/web-components/viewer/MediaBody-CEyswliX.mjs +1 -0
  317. package/dist/web-components/viewer/MediaBody-Dw3DWDjc.mjs +1 -0
  318. package/dist/web-components/viewer/NavDate-C2-wwLuB.mjs +1 -0
  319. package/dist/web-components/viewer/{Navigator-Duc69Yes.mjs → Navigator-C3jghOd3.mjs} +1 -1
  320. package/dist/web-components/viewer/PagerLayout-Cg2NpqoD.mjs +1 -0
  321. package/dist/web-components/viewer/PartOfManifest-D22yMgCf.mjs +1 -0
  322. package/dist/web-components/viewer/PlaceBox-Dckw4Sfk.mjs +1 -0
  323. package/dist/web-components/viewer/Placeholder-NYVWYg5Q.mjs +1 -0
  324. package/dist/web-components/viewer/Search-DC259m4f.mjs +1 -0
  325. package/dist/web-components/viewer/StandaloneItems-E4kpMne9.mjs +1 -0
  326. package/dist/web-components/viewer/Steps-Bw32X5xO.mjs +1 -0
  327. package/dist/web-components/viewer/TargetItems-DLhUH1Gq.mjs +1 -0
  328. package/dist/web-components/viewer/Transcript-D_VGJQxn.mjs +1 -0
  329. package/dist/web-components/viewer/annotation-collection-DZHa18ir.mjs +1 -0
  330. package/dist/web-components/viewer/annotation-name-BaNdW2Xk.mjs +1 -0
  331. package/dist/web-components/viewer/annotations-content-CbA3eOIC.mjs +1 -0
  332. package/dist/web-components/viewer/{cloverEngine-CjuYjUhI.mjs → cloverEngine-C04bCSFR.mjs} +2 -2
  333. package/dist/web-components/viewer/content-state-reader-C7UBMOq3.mjs +1 -0
  334. package/dist/web-components/viewer/fetchManifest-C2Yxg3x9.mjs +1 -0
  335. package/dist/web-components/viewer/{host-yWi4R1bP.mjs → host-CZeyjCKR.mjs} +1 -1
  336. package/dist/web-components/viewer/image-layers-B09fporZ.mjs +1 -0
  337. package/dist/web-components/viewer/index.mjs +1 -1
  338. package/dist/web-components/viewer/link-DssZ0Z2N.mjs +1 -0
  339. package/dist/web-components/viewer/overlayImage-BR3eJCKq.mjs +1 -0
  340. package/dist/web-components/viewer/range-regions-By6L5JOK.mjs +1 -0
  341. package/dist/web-components/viewer/{renderers-L-IlGI1r.mjs → renderers-DLoqv3QO.mjs} +1 -1
  342. package/dist/web-components/viewer/save-file-CJT5p5Hg.mjs +1 -0
  343. package/dist/web-components/viewer/{search-DWkwRPo_.mjs → search-PhOwMKHi.mjs} +1 -1
  344. package/dist/web-components/viewer/styles-NZLnZPAC.mjs +1 -0
  345. package/dist/web-components/viewer/viewer-D30YHqyF.mjs +29 -0
  346. package/dist/web-components/viewer/{vtt-1ZJwtElI.mjs → vtt-1Pk7Dhsj.mjs} +1 -1
  347. package/dist/web-components/viewer-CH7re5OO.mjs +1 -0
  348. package/dist/web-components/{vtt-GFssZH8Y.mjs → vtt-CacHieeN.mjs} +1 -1
  349. package/dist/web-components/worker-CjXN0dku.mjs +1 -0
  350. package/package.json +10 -5
  351. package/dist/i18n/reader.mjs +0 -13
  352. package/dist/web-components/About-uKa1wfDr.mjs +0 -1
  353. package/dist/web-components/AnnotationMenu-BGIYRXW6.mjs +0 -1
  354. package/dist/web-components/AnnotationState-D2UIgIEC.mjs +0 -1
  355. package/dist/web-components/Annotations-BhwAv3ah.mjs +0 -1
  356. package/dist/web-components/Annotations-C_tBJHo3.mjs +0 -2
  357. package/dist/web-components/Body-DMEERFuB.mjs +0 -1
  358. package/dist/web-components/BodyAlert-BP8voSLv.mjs +0 -1
  359. package/dist/web-components/Button-Cl02BFDd.mjs +0 -1
  360. package/dist/web-components/CanvasView-B8lMMSou.mjs +0 -1
  361. package/dist/web-components/CaptionDetails-KLMDv-ec.mjs +0 -1
  362. package/dist/web-components/ChoiceMenu-CXrVOmJl.mjs +0 -1
  363. package/dist/web-components/Collection-DL4Ui4hF.mjs +0 -1
  364. package/dist/web-components/CollectionSelect-DL-bbpwJ.mjs +0 -1
  365. package/dist/web-components/Connected-B0S1HXQb.mjs +0 -1
  366. package/dist/web-components/Connected-BcjRA5si.mjs +0 -1
  367. package/dist/web-components/Connected-Q7iizBb8.mjs +0 -1
  368. package/dist/web-components/Contents-ZC8TiGaW.mjs +0 -1
  369. package/dist/web-components/ControlMenu-DIoU797-.mjs +0 -1
  370. package/dist/web-components/Cue-CJxnDMEy.mjs +0 -1
  371. package/dist/web-components/Document-DHBRAFEK.mjs +0 -1
  372. package/dist/web-components/DocumentPanel-CqvE2pu9.mjs +0 -1
  373. package/dist/web-components/Download-DBksL1C0.mjs +0 -1
  374. package/dist/web-components/EntryBodies-VwEkTVrw.mjs +0 -1
  375. package/dist/web-components/ErrorBoundary-Cy9PGoZv.mjs +0 -1
  376. package/dist/web-components/FieldPill-DCJBz6Vj.mjs +0 -1
  377. package/dist/web-components/FrameAnimation-DRbmgGpF.mjs +0 -1
  378. package/dist/web-components/Gallery-BM7-VJkB.mjs +0 -1
  379. package/dist/web-components/HideToggle-BdYgG7us.mjs +0 -1
  380. package/dist/web-components/Items-_1Jz3FMs.mjs +0 -1
  381. package/dist/web-components/Label-CAiJ49eA.mjs +0 -1
  382. package/dist/web-components/LightboxBody-DyhUZiDf.mjs +0 -1
  383. package/dist/web-components/LoadedCanvas-DWz5IK5m.mjs +0 -1
  384. package/dist/web-components/LoadedMap-DIeW313M.mjs +0 -1
  385. package/dist/web-components/MapView-BJaN7VBI.mjs +0 -1
  386. package/dist/web-components/Markup-D91DbxLk.mjs +0 -2
  387. package/dist/web-components/MediaBody-BYcVPo2X.mjs +0 -1
  388. package/dist/web-components/MediaBody-FEzH8VVw.mjs +0 -1
  389. package/dist/web-components/Pager-BGwCurxE.mjs +0 -1
  390. package/dist/web-components/Panel-B-GXOkzF.mjs +0 -1
  391. package/dist/web-components/PartOfManifest-ClbGepVM.mjs +0 -1
  392. package/dist/web-components/Primitives-CTh59wvs.mjs +0 -1
  393. package/dist/web-components/Provider-C6rIiDXH.mjs +0 -1
  394. package/dist/web-components/ReadMore-BJ2i-0uN.mjs +0 -1
  395. package/dist/web-components/Root-DkkYDtur.mjs +0 -1
  396. package/dist/web-components/Scene-B_PU_TiX.mjs +0 -1
  397. package/dist/web-components/SceneView-qcW_sT3j.mjs +0 -1
  398. package/dist/web-components/Search-UOneIUcP.mjs +0 -1
  399. package/dist/web-components/Sections-we9U9fXq.mjs +0 -2
  400. package/dist/web-components/StandaloneItems-DU8oCFc_.mjs +0 -1
  401. package/dist/web-components/Status-Cs5ZvFvL.mjs +0 -1
  402. package/dist/web-components/Timeline-WtYZ1bIJ.mjs +0 -1
  403. package/dist/web-components/Tip-C8J3qsIK.mjs +0 -1
  404. package/dist/web-components/Transcript-CRL2zToL.mjs +0 -1
  405. package/dist/web-components/annotation-collection-ZPyvpLFc.mjs +0 -1
  406. package/dist/web-components/annotations-content-BZChKhJZ.mjs +0 -1
  407. package/dist/web-components/body-UntgrmoV.mjs +0 -1
  408. package/dist/web-components/canvas-d_U4v_mh.mjs +0 -1
  409. package/dist/web-components/content-state-reader-DjdKWjit.mjs +0 -1
  410. package/dist/web-components/es-BwMkoRod.mjs +0 -1
  411. package/dist/web-components/fi-gPFOn9RK.mjs +0 -1
  412. package/dist/web-components/fr-DUHmgdJo.mjs +0 -1
  413. package/dist/web-components/fromManifest-UrMJgktp.mjs +0 -1
  414. package/dist/web-components/glyphs-BoX0a88P.mjs +0 -1
  415. package/dist/web-components/hooks-Dp8pjU8l.mjs +0 -1
  416. package/dist/web-components/index-DWxMuwDL.mjs +0 -1
  417. package/dist/web-components/items--Tu7ZM3L.mjs +0 -1
  418. package/dist/web-components/items-W2vrwArM.mjs +0 -1
  419. package/dist/web-components/keep-fragments-B5nlv2ck.mjs +0 -1
  420. package/dist/web-components/label-CYQ7tVl6.mjs +0 -1
  421. package/dist/web-components/layout-KL0V-iJu.mjs +0 -1
  422. package/dist/web-components/link-DRRTY4lY.mjs +0 -1
  423. package/dist/web-components/logo-CnQUCB3Y.mjs +0 -1
  424. package/dist/web-components/models-BP2qp9nT.mjs +0 -1
  425. package/dist/web-components/nb-BSvnQ6jd.mjs +0 -1
  426. package/dist/web-components/nn-Dg2_HdZu.mjs +0 -1
  427. package/dist/web-components/no-BSvnQ6jd.mjs +0 -1
  428. package/dist/web-components/part-CUBY90_b.mjs +0 -1
  429. package/dist/web-components/playerSurface-i2TJz-F4.mjs +0 -1
  430. package/dist/web-components/pt-B3J80JgO.mjs +0 -1
  431. package/dist/web-components/read-more-BaaO77el.mjs +0 -1
  432. package/dist/web-components/rendererSurface-DAvatpMF.mjs +0 -22
  433. package/dist/web-components/sanitize-Dc7nOsgO.mjs +0 -3
  434. package/dist/web-components/search-DgcgsI3I.mjs +0 -1
  435. package/dist/web-components/shared-J3w3gnXD.mjs +0 -1
  436. package/dist/web-components/styles-Ypl9KrSK.mjs +0 -1
  437. package/dist/web-components/thumbnail-BZvLSwWW.mjs +0 -1
  438. package/dist/web-components/time-B9GZoYcm.mjs +0 -1
  439. package/dist/web-components/upgrader-XNxI-5jo.mjs +0 -1
  440. package/dist/web-components/useContainerName-DCbE5JXi.mjs +0 -1
  441. package/dist/web-components/useNearViewport-CyoK3l8W.mjs +0 -1
  442. package/dist/web-components/viewer/AnnotationMenu-Dd4tnzNV.mjs +0 -1
  443. package/dist/web-components/viewer/AnnotationState-DZaSy5lH.mjs +0 -1
  444. package/dist/web-components/viewer/Annotations-D1h-Yi5J.mjs +0 -1
  445. package/dist/web-components/viewer/Annotations-sj79EMen.mjs +0 -2
  446. package/dist/web-components/viewer/CaptionDetails-B_JdNjJ7.mjs +0 -1
  447. package/dist/web-components/viewer/ChoiceMenu-xa51a1DV.mjs +0 -1
  448. package/dist/web-components/viewer/Collection-CxuLCspj.mjs +0 -1
  449. package/dist/web-components/viewer/Connected-BSUBc3Ci.mjs +0 -1
  450. package/dist/web-components/viewer/Connected-CPIxNjF2.mjs +0 -1
  451. package/dist/web-components/viewer/Contents-DNh9mnsF.mjs +0 -1
  452. package/dist/web-components/viewer/ControlMenu-DdgIvBdf.mjs +0 -1
  453. package/dist/web-components/viewer/Cue-90H9_dXz.mjs +0 -1
  454. package/dist/web-components/viewer/Document-CNCpzkiN.mjs +0 -1
  455. package/dist/web-components/viewer/DocumentPanel-BdG4TVLE.mjs +0 -1
  456. package/dist/web-components/viewer/EntryBodies-DGXjFP3N.mjs +0 -1
  457. package/dist/web-components/viewer/FieldPill-Icmd98OY.mjs +0 -1
  458. package/dist/web-components/viewer/FrameAnimation-DJZN3Rd4.mjs +0 -1
  459. package/dist/web-components/viewer/Gallery-CEp3-bh2.mjs +0 -1
  460. package/dist/web-components/viewer/HideToggle-DB6HTmAO.mjs +0 -1
  461. package/dist/web-components/viewer/MapView-BVSdybIC.mjs +0 -1
  462. package/dist/web-components/viewer/MediaBody-BBbSMT1i.mjs +0 -1
  463. package/dist/web-components/viewer/MediaBody-BzMXMHIF.mjs +0 -1
  464. package/dist/web-components/viewer/PartOfManifest-X9_q-2t6.mjs +0 -1
  465. package/dist/web-components/viewer/Search-S4N5QU4R.mjs +0 -1
  466. package/dist/web-components/viewer/StandaloneItems-BO4VyWRW.mjs +0 -1
  467. package/dist/web-components/viewer/Transcript-BbDaS064.mjs +0 -1
  468. package/dist/web-components/viewer/annotation-collection-BjZ1DAHq.mjs +0 -1
  469. package/dist/web-components/viewer/annotations-content-jn3n5Y2-.mjs +0 -1
  470. package/dist/web-components/viewer/content-state-reader-CPiShIjP.mjs +0 -1
  471. package/dist/web-components/viewer/link-CwE-fg5G.mjs +0 -1
  472. package/dist/web-components/viewer/overlayImage-BpOgqsZ0.mjs +0 -1
  473. package/dist/web-components/viewer/styles-BRCkEU3w.mjs +0 -1
  474. package/dist/web-components/viewer/viewer--TreVlJ_.mjs +0 -28
  475. package/dist/web-components/viewer-DyV864Qe.mjs +0 -1
  476. /package/dist/{ui → i18n}/languageCode.mjs +0 -0
@@ -1,4 +1,4 @@
1
- import{c as ne,F as ae,i as se,M as ie}from"./Connected-CPIxNjF2.mjs";import{ah as ce,bi as ue}from"./viewer--TreVlJ_.mjs";const le=["KHR_materials_unlit","KHR_materials_ior","KHR_materials_specular","KHR_mesh_quantization"],Z=1179937895,fe=1313821514,me=5130562;function de(e){const i=new DataView(e);if(i.getUint32(0,true)!==Z)throw new Error("This is not a GLB.");if(i.getUint32(4,true)!==2)throw new Error("Only glTF 2.0 is drawn.");let o,t;const n=Math.min(i.getUint32(8,true),e.byteLength);for(let s=12;s+8<=n;){const c=i.getUint32(s,true),l=i.getUint32(s+4,true),u=s+8;l===fe?o=JSON.parse(new TextDecoder().decode(new Uint8Array(e,u,c))):l===me&&(t=e.slice(u,u+c)),s=u+c}if(!o)throw new Error("The GLB has no JSON chunk.");return{json:o,bin:t}}async function G(e,i,o){const t=new URL(e,i).href,n=t.startsWith("data:")?await fetch(t):await ue(o,t);if(!n.ok)throw new Error(`${t} answered ${n.status}`);return n.arrayBuffer()}const $=new WeakMap;function ve(e,i){const o=(i==null?void 0:i.fetch)??globalThis.fetch,t=$.get(o)??new Map;$.set(o,t);const n=`${ce(i)} ${e}`;let s=t.get(n);return s||(s=he(e,i).finally(()=>t.delete(n)),t.set(n,s)),s}async function he(e,i){const o=await G(e,location.href,i),t=new DataView(o).getUint32(0,true)===Z,{json:n,bin:s}=t?de(o):{json:JSON.parse(new TextDecoder().decode(o))},c=(n.extensionsRequired??[]).filter(a=>!le.includes(a));if(c.length)throw new Error(`Clover's renderer cannot draw this model: it requires ${c.join(", ")}.`);const l=await Promise.all((n.buffers??[]).map((a,m)=>{if(a.uri!==void 0)return G(a.uri,e,i);if(m===0&&s)return s;throw new Error("A buffer of the model has no data.")})),u=await Promise.all((n.images??[]).map(async a=>{try{let m;if(a.bufferView!==void 0){const r=n.bufferViews[a.bufferView];m=new Blob([new Uint8Array(l[r.buffer],r.byteOffset??0,r.byteLength)],{type:a.mimeType})}else if(a.uri!==void 0)m=new Blob([await G(a.uri,e,i)],{type:a.mimeType});else return null;return await createImageBitmap(m,{premultiplyAlpha:"none",colorSpaceConversion:"none"})}catch{return null}}));return{json:n,buffers:l,images:u}}const pe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},we={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},q=e=>pe[e];function Ee(e,i){const o=e.json.accessors[i],t=q(o.type),n=new Float32Array(o.count*t);if(o.bufferView===void 0)return n;const s=e.json.bufferViews[o.bufferView],c=we[o.componentType],l=s.byteStride||c*t,u=new DataView(e.buffers[s.buffer],(s.byteOffset??0)+(o.byteOffset??0)),a={5120:r=>u.getInt8(r),5121:r=>u.getUint8(r),5122:r=>u.getInt16(r,true),5123:r=>u.getUint16(r,true),5125:r=>u.getUint32(r,true),5126:r=>u.getFloat32(r,true)}[o.componentType]??(()=>0),m=o.normalized?{5120:127,5121:255,5122:32767,5123:65535}[o.componentType]:void 0;for(let r=0;r<o.count;r++)for(let h=0;h<t;h++){const f=a(r*l+h*c);n[r*t+h]=m?Math.max(f/m,-1):f}return n}const ee=()=>new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function O(e,i){const o=new Float32Array(16);for(let t=0;t<4;t++)for(let n=0;n<4;n++){let s=0;for(let c=0;c<4;c++)s+=e[c*4+n]*i[t*4+c];o[t*4+n]=s}return o}function X([e,i,o],[t,n,s,c],[l,u,a]){const m=t+t,r=n+n,h=s+s,f=t*m,y=t*r,p=t*h,w=n*r,N=n*h,S=s*h,k=c*m,B=c*r,I=c*h;return new Float32Array([(1-(w+S))*l,(y+I)*l,(p-B)*l,0,(y-I)*u,(1-(f+S))*u,(N+k)*u,0,(p+B)*a,(N-k)*a,(1-(f+w))*a,0,e,i,o,1])}const K=e=>X(e,[0,0,0,1],[1,1,1]),Te=e=>X([0,0,0],[0,0,0,1],e);function xe([e,i,o]){const t=(n,s)=>{const c=s*Math.PI/180,l=Math.cos(c),u=Math.sin(c),a=ee(),[m,r]=n===0?[1,2]:n===1?[2,0]:[0,1];return a[m*4+m]=l,a[m*4+r]=u,a[r*4+m]=-u,a[r*4+r]=l,a};return O(t(2,o),O(t(1,i),t(0,e)))}function be(e,i,o,t){const n=1/Math.tan(e/2),s=1/(o-t);return new Float32Array([n/i,0,0,0,0,n,0,0,0,0,(t+o)*s,-1,0,0,2*t*o*s,0])}function ye(e,i){const o=u=>{const a=Math.hypot(...u)||1;return[u[0]/a,u[1]/a,u[2]/a]},t=(u,a)=>[u[1]*a[2]-u[2]*a[1],u[2]*a[0]-u[0]*a[2],u[0]*a[1]-u[1]*a[0]],n=(u,a)=>u[0]*a[0]+u[1]*a[1]+u[2]*a[2],s=o([e[0]-i[0],e[1]-i[1],e[2]-i[2]]),c=o(t([0,1,0],s)),l=t(s,c);return new Float32Array([c[0],l[0],s[0],0,c[1],l[1],s[1],0,c[2],l[2],s[2],0,-n(c,e),-n(l,e),-n(s,e),1])}function Ae(e){const[i,o,t,,n,s,c,,l,u,a]=e,m=s*a-c*u,r=c*l-n*a,h=n*u-s*l,f=i*m+o*r+t*h||1;return new Float32Array([m/f,r/f,h/f,(t*u-o*a)/f,(i*a-t*l)/f,(o*l-i*u)/f,(o*c-t*s)/f,(t*n-i*c)/f,(i*s-o*n)/f])}const Re=()=>({min:[1/0,1/0,1/0],max:[-1/0,-1/0,-1/0]});function _e(e){for(let i=0;i<3;i++){let o=0;for(let t=0;t<3;t++)Math.abs(e[i*4+t])>1e-6&&o++;if(o>1)return false}return true}function Me(e,i,o,t){const n=i.json.accessors[o];let s;if(_e(t)&&n.min&&n.max&&!n.normalized){const[l,u]=[n.min,n.max];s=Array.from({length:8},(a,m)=>[m&1?u[0]:l[0],m&2?u[1]:l[1],m&4?u[2]:l[2]]).flat()}else s=Ee(i,o);const c=t;for(let l=0;l+2<s.length;l+=3){const u=s[l],a=s[l+1],m=s[l+2];for(let r=0;r<3;r++){const h=c[r]*u+c[4+r]*a+c[8+r]*m+c[12+r];h<e.min[r]&&(e.min[r]=h),h>e.max[r]&&(e.max[r]=h)}}return e}const C={normals:1,normalMap:2,unlit:4,mask:8},Y={POSITION:0,NORMAL:1,TEXCOORD_0:2,COLOR_0:3},J=["uBaseTexture","uMetalRoughTexture","uNormalTexture","uOcclusionTexture","uEmissiveTexture"],Ne=`#version 300 es
1
+ import{c as ne,F as ae,i as se,M as ie}from"./Connected-DTk1jlyI.mjs";import{aE as ce,bH as ue}from"./viewer-D30YHqyF.mjs";const le=["KHR_materials_unlit","KHR_materials_ior","KHR_materials_specular","KHR_mesh_quantization"],Z=1179937895,fe=1313821514,me=5130562;function de(e){const i=new DataView(e);if(i.getUint32(0,true)!==Z)throw new Error("This is not a GLB.");if(i.getUint32(4,true)!==2)throw new Error("Only glTF 2.0 is drawn.");let o,t;const n=Math.min(i.getUint32(8,true),e.byteLength);for(let s=12;s+8<=n;){const c=i.getUint32(s,true),l=i.getUint32(s+4,true),u=s+8;l===fe?o=JSON.parse(new TextDecoder().decode(new Uint8Array(e,u,c))):l===me&&(t=e.slice(u,u+c)),s=u+c}if(!o)throw new Error("The GLB has no JSON chunk.");return{json:o,bin:t}}async function G(e,i,o){const t=new URL(e,i).href,n=t.startsWith("data:")?await fetch(t):await ue(o,t);if(!n.ok)throw new Error(`${t} answered ${n.status}`);return n.arrayBuffer()}const $=new WeakMap;function ve(e,i){const o=(i==null?void 0:i.fetch)??globalThis.fetch,t=$.get(o)??new Map;$.set(o,t);const n=`${ce(i)} ${e}`;let s=t.get(n);return s||(s=he(e,i).finally(()=>t.delete(n)),t.set(n,s)),s}async function he(e,i){const o=await G(e,location.href,i),t=new DataView(o).getUint32(0,true)===Z,{json:n,bin:s}=t?de(o):{json:JSON.parse(new TextDecoder().decode(o))},c=(n.extensionsRequired??[]).filter(a=>!le.includes(a));if(c.length)throw new Error(`Clover's renderer cannot draw this model: it requires ${c.join(", ")}.`);const l=await Promise.all((n.buffers??[]).map((a,m)=>{if(a.uri!==void 0)return G(a.uri,e,i);if(m===0&&s)return s;throw new Error("A buffer of the model has no data.")})),u=await Promise.all((n.images??[]).map(async a=>{try{let m;if(a.bufferView!==void 0){const r=n.bufferViews[a.bufferView];m=new Blob([new Uint8Array(l[r.buffer],r.byteOffset??0,r.byteLength)],{type:a.mimeType})}else if(a.uri!==void 0)m=new Blob([await G(a.uri,e,i)],{type:a.mimeType});else return null;return await createImageBitmap(m,{premultiplyAlpha:"none",colorSpaceConversion:"none"})}catch{return null}}));return{json:n,buffers:l,images:u}}const pe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},we={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},q=e=>pe[e];function Ee(e,i){const o=e.json.accessors[i],t=q(o.type),n=new Float32Array(o.count*t);if(o.bufferView===void 0)return n;const s=e.json.bufferViews[o.bufferView],c=we[o.componentType],l=s.byteStride||c*t,u=new DataView(e.buffers[s.buffer],(s.byteOffset??0)+(o.byteOffset??0)),a={5120:r=>u.getInt8(r),5121:r=>u.getUint8(r),5122:r=>u.getInt16(r,true),5123:r=>u.getUint16(r,true),5125:r=>u.getUint32(r,true),5126:r=>u.getFloat32(r,true)}[o.componentType]??(()=>0),m=o.normalized?{5120:127,5121:255,5122:32767,5123:65535}[o.componentType]:void 0;for(let r=0;r<o.count;r++)for(let h=0;h<t;h++){const f=a(r*l+h*c);n[r*t+h]=m?Math.max(f/m,-1):f}return n}const ee=()=>new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function O(e,i){const o=new Float32Array(16);for(let t=0;t<4;t++)for(let n=0;n<4;n++){let s=0;for(let c=0;c<4;c++)s+=e[c*4+n]*i[t*4+c];o[t*4+n]=s}return o}function X([e,i,o],[t,n,s,c],[l,u,a]){const m=t+t,r=n+n,h=s+s,f=t*m,y=t*r,p=t*h,w=n*r,N=n*h,S=s*h,k=c*m,B=c*r,I=c*h;return new Float32Array([(1-(w+S))*l,(y+I)*l,(p-B)*l,0,(y-I)*u,(1-(f+S))*u,(N+k)*u,0,(p+B)*a,(N-k)*a,(1-(f+w))*a,0,e,i,o,1])}const K=e=>X(e,[0,0,0,1],[1,1,1]),Te=e=>X([0,0,0],[0,0,0,1],e);function xe([e,i,o]){const t=(n,s)=>{const c=s*Math.PI/180,l=Math.cos(c),u=Math.sin(c),a=ee(),[m,r]=n===0?[1,2]:n===1?[2,0]:[0,1];return a[m*4+m]=l,a[m*4+r]=u,a[r*4+m]=-u,a[r*4+r]=l,a};return O(t(2,o),O(t(1,i),t(0,e)))}function be(e,i,o,t){const n=1/Math.tan(e/2),s=1/(o-t);return new Float32Array([n/i,0,0,0,0,n,0,0,0,0,(t+o)*s,-1,0,0,2*t*o*s,0])}function ye(e,i){const o=u=>{const a=Math.hypot(...u)||1;return[u[0]/a,u[1]/a,u[2]/a]},t=(u,a)=>[u[1]*a[2]-u[2]*a[1],u[2]*a[0]-u[0]*a[2],u[0]*a[1]-u[1]*a[0]],n=(u,a)=>u[0]*a[0]+u[1]*a[1]+u[2]*a[2],s=o([e[0]-i[0],e[1]-i[1],e[2]-i[2]]),c=o(t([0,1,0],s)),l=t(s,c);return new Float32Array([c[0],l[0],s[0],0,c[1],l[1],s[1],0,c[2],l[2],s[2],0,-n(c,e),-n(l,e),-n(s,e),1])}function Ae(e){const[i,o,t,,n,s,c,,l,u,a]=e,m=s*a-c*u,r=c*l-n*a,h=n*u-s*l,f=i*m+o*r+t*h||1;return new Float32Array([m/f,r/f,h/f,(t*u-o*a)/f,(i*a-t*l)/f,(o*l-i*u)/f,(o*c-t*s)/f,(t*n-i*c)/f,(i*s-o*n)/f])}const Re=()=>({min:[1/0,1/0,1/0],max:[-1/0,-1/0,-1/0]});function _e(e){for(let i=0;i<3;i++){let o=0;for(let t=0;t<3;t++)Math.abs(e[i*4+t])>1e-6&&o++;if(o>1)return false}return true}function Me(e,i,o,t){const n=i.json.accessors[o];let s;if(_e(t)&&n.min&&n.max&&!n.normalized){const[l,u]=[n.min,n.max];s=Array.from({length:8},(a,m)=>[m&1?u[0]:l[0],m&2?u[1]:l[1],m&4?u[2]:l[2]]).flat()}else s=Ee(i,o);const c=t;for(let l=0;l+2<s.length;l+=3){const u=s[l],a=s[l+1],m=s[l+2];for(let r=0;r<3;r++){const h=c[r]*u+c[4+r]*a+c[8+r]*m+c[12+r];h<e.min[r]&&(e.min[r]=h),h>e.max[r]&&(e.max[r]=h)}}return e}const C={normals:1,normalMap:2,unlit:4,mask:8},Y={POSITION:0,NORMAL:1,TEXCOORD_0:2,COLOR_0:3},J=["uBaseTexture","uMetalRoughTexture","uNormalTexture","uOcclusionTexture","uEmissiveTexture"],Ne=`#version 300 es
2
2
  layout(location = 0) in vec3 aPosition;
3
3
  layout(location = 1) in vec3 aNormal;
4
4
  layout(location = 2) in vec2 aUv;
@@ -161,4 +161,4 @@ void main() {
161
161
  color += (diffuse * room(n) + (f0 * ab.x + ab.y) * reflected(reflect(-v, n), roughness)) * occlusion;
162
162
  color += uEmissive * texture(uEmissiveTexture, vUv).rgb;
163
163
  outColor = vec4(srgb(neutral(color)) * base.a, base.a);
164
- }`,Q=10497,Fe=9729,Ue=new Set([9984,9985,9986,9987]);function Ce(e){const i=e.createProgram();for(const[o,t]of[[e.VERTEX_SHADER,Ne],[e.FRAGMENT_SHADER,Se]]){const n=e.createShader(o);e.shaderSource(n,t),e.compileShader(n),e.attachShader(i,n),e.deleteShader(n)}if(e.linkProgram(i),!e.getProgramParameter(i,e.LINK_STATUS))throw new Error(`The 3D view's shaders would not build: ${e.getProgramInfoLog(i)}`);return i}function Pe(e){const i=Ce(e),o=r=>e.getUniformLocation(i,r),t=Object.fromEntries(["uModel","uViewProjection","uNormalMatrix","uCamera","uBaseColor","uSpecular","uMetallic","uRoughness","uNormalScale","uOcclusionStrength","uEmissive","uAlphaCutoff","uFlags",...J].map(r=>[r,o(r)]));e.useProgram(i),J.forEach((r,h)=>e.uniform1i(t[r],h));const n=[],s=[],c=[],l=Re(),u=e.createTexture();e.bindTexture(e.TEXTURE_2D,u),e.texImage2D(e.TEXTURE_2D,0,e.RGBA8,1,1,0,e.RGBA,e.UNSIGNED_BYTE,new Uint8Array([255,255,255,255])),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),s.push(u),e.vertexAttrib4f(Y.COLOR_0,1,1,1,1);function a(r,h){var g;const{json:f}=r,y=new Map,p=new Map,w=new Map,N=(E,T)=>{const d=`${E}|${T}`;let v=y.get(d);if(!v){const b=f.bufferViews[E];v=e.createBuffer(),e.bindBuffer(T,v),e.bufferData(T,new Uint8Array(r.buffers[b.buffer],b.byteOffset??0,b.byteLength),e.STATIC_DRAW),y.set(d,v),n.push(v)}return v},S=(E,T)=>{var U,M;const d=E?(U=f.textures)==null?void 0:U[E.index]:void 0,v=(d==null?void 0:d.source)!==void 0?r.images[d.source]:null;if(!E||!v)return null;const b=`${E.index}|${T}`;let _=p.get(b);if(!_){_=e.createTexture(),e.bindTexture(e.TEXTURE_2D,_),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.NONE),e.texImage2D(e.TEXTURE_2D,0,T?e.SRGB8_ALPHA8:e.RGBA8,e.RGBA,e.UNSIGNED_BYTE,v);const x=(d==null?void 0:d.sampler)!==void 0?(M=f.samplers)==null?void 0:M[d.sampler]:void 0,A=(x==null?void 0:x.minFilter)??e.LINEAR_MIPMAP_LINEAR;e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,A),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,(x==null?void 0:x.magFilter)??Fe),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,(x==null?void 0:x.wrapS)??Q),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,(x==null?void 0:x.wrapT)??Q),Ue.has(A)&&e.generateMipmap(e.TEXTURE_2D),p.set(b,_),s.push(_)}return _},k=E=>{var A,L,D,V,R,P;const T=E??-1;let d=w.get(T);if(d)return d;const v=E!==void 0?((A=f.materials)==null?void 0:A[E])??{}:{},b=v.pbrMetallicRoughness??{},_=S(v.normalTexture,false),U=Number(((D=(L=v.extensions)==null?void 0:L.KHR_materials_ior)==null?void 0:D.ior)??1.5),M=(V=v.extensions)==null?void 0:V.KHR_materials_specular,x=((U-1)/(U+1))**2;return d={base:b.baseColorFactor??[1,1,1,1],specular:((M==null?void 0:M.specularColorFactor)??[1,1,1]).map(z=>Math.min(x*z,1)*((M==null?void 0:M.specularFactor)??1)),metallic:b.metallicFactor??1,roughness:b.roughnessFactor??1,normalScale:((R=v.normalTexture)==null?void 0:R.scale)??1,occlusion:v.occlusionTexture?v.occlusionTexture.strength??1:0,emissive:v.emissiveFactor??[0,0,0],cutoff:v.alphaCutoff??.5,flags:(_?C.normalMap:0)|((P=v.extensions)!=null&&P.KHR_materials_unlit?C.unlit:0)|(v.alphaMode==="MASK"?C.mask:0),doubleSided:!!v.doubleSided,blend:v.alphaMode==="BLEND",textures:[S(b.baseColorTexture,true),S(b.metallicRoughnessTexture,false),_,S(v.occlusionTexture,false),S(v.emissiveTexture,true)]},w.set(T,d),d},B=(E,T)=>{var _,U,M,x;const d=(_=f.nodes)==null?void 0:_[E];if(!d)return;const v=O(T,d.matrix?new Float32Array(d.matrix):X(d.translation??[0,0,0],d.rotation??[0,0,0,1],d.scale??[1,1,1])),b=d.mesh!==void 0?(U=f.meshes)==null?void 0:U[d.mesh]:void 0;for(const A of(b==null?void 0:b.primitives)??[]){const L=A.attributes.POSITION;if(L===void 0)continue;const D=e.createVertexArray();e.bindVertexArray(D);let V=0;for(const[W,j]of Object.entries(Y)){const H=A.attributes[W],F=H!==void 0?(M=f.accessors)==null?void 0:M[H]:void 0;if(!F||F.bufferView===void 0||F.sparse)continue;const re=f.bufferViews[F.bufferView];e.bindBuffer(e.ARRAY_BUFFER,N(F.bufferView,e.ARRAY_BUFFER)),e.enableVertexAttribArray(j),e.vertexAttribPointer(j,q(F.type),F.componentType,!!F.normalized,re.byteStride??0,F.byteOffset??0),W==="NORMAL"&&(V|=C.normals)}const R=A.indices!==void 0?(x=f.accessors)==null?void 0:x[A.indices]:void 0;(R==null?void 0:R.bufferView)!==void 0&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,N(R.bufferView,e.ELEMENT_ARRAY_BUFFER)),e.bindVertexArray(null);const P=O(h,v),z=k(A.material);c.push({vao:D,mode:A.mode??e.TRIANGLES,count:R?R.count:f.accessors[L].count,...(R==null?void 0:R.bufferView)!==void 0?{index:{type:R.componentType,offset:R.byteOffset??0}}:{},model:P,normal:Ae(P),mirrored:Oe(P)<0,material:{...z,flags:z.flags|V}}),Me(l,r,L,P)}for(const A of d.children??[])B(A,v)},I=(g=f.scenes)==null?void 0:g[f.scene??0],te=(I==null?void 0:I.nodes)??(f.nodes??[]).map((E,T)=>T).filter(E=>!f.nodes.some(T=>{var d;return(d=T.children)==null?void 0:d.includes(E)})),oe=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);te.forEach(E=>B(E,oe)),c.sort((E,T)=>Number(E.material.blend)-Number(T.material.blend))}function m(r,h,f,y){e.viewport(0,0,f,y),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),e.enable(e.DEPTH_TEST),e.useProgram(i),e.uniformMatrix4fv(t.uViewProjection,false,r),e.uniform3fv(t.uCamera,h);for(const p of c){const{material:w}=p;w.doubleSided?e.disable(e.CULL_FACE):e.enable(e.CULL_FACE),e.frontFace(p.mirrored?e.CW:e.CCW),w.blend?(e.enable(e.BLEND),e.blendFunc(e.ONE,e.ONE_MINUS_SRC_ALPHA),e.depthMask(false)):(e.disable(e.BLEND),e.depthMask(true)),w.textures.forEach((N,S)=>{e.activeTexture(e.TEXTURE0+S),e.bindTexture(e.TEXTURE_2D,N??u)}),e.uniformMatrix4fv(t.uModel,false,p.model),e.uniformMatrix3fv(t.uNormalMatrix,false,p.normal),e.uniform4fv(t.uBaseColor,w.base),e.uniform3fv(t.uSpecular,w.specular),e.uniform1f(t.uMetallic,w.metallic),e.uniform1f(t.uRoughness,w.roughness),e.uniform1f(t.uNormalScale,w.normalScale),e.uniform1f(t.uOcclusionStrength,w.occlusion),e.uniform3fv(t.uEmissive,w.emissive),e.uniform1f(t.uAlphaCutoff,w.cutoff),e.uniform1i(t.uFlags,w.flags),e.bindVertexArray(p.vao),p.index?e.drawElements(p.mode,p.count,p.index.type,p.index.offset):e.drawArrays(p.mode,0,p.count)}e.bindVertexArray(null),e.depthMask(true)}return{add:a,bounds:()=>c.length?l:null,draw:m,dispose(){c.forEach(r=>e.deleteVertexArray(r.vao)),n.forEach(r=>e.deleteBuffer(r)),s.forEach(r=>e.deleteTexture(r)),e.deleteProgram(i),c.length=0}}}function Oe(e){return e[0]*(e[5]*e[10]-e[6]*e[9])-e[4]*(e[1]*e[10]-e[2]*e[9])+e[8]*(e[1]*e[6]-e[2]*e[5])}const Ie=2;function Le({position:e,transforms:i}){let o=ee();for(const{type:t,x:n,y:s,z:c}of i){const l=t==="scale"?Te([n,s,c]):t==="translate"?K([n,s,c]):xe([n,s,c]);o=O(l,o)}return O(K(e),o)}function Ve(e,{onLost:i}){const o=document.createElement("canvas");o.className="clover-canvas-surface",o.setAttribute("aria-hidden","true"),o.style.cssText="position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none";const t=o.getContext("webgl2",{antialias:true,alpha:true});if(!t)throw new Error("This browser cannot draw 3D: it offers no WebGL2.");const n=a=>{a.preventDefault(),i()};o.addEventListener("webglcontextlost",n),e.prepend(o);const s=Pe(t);let c={center:[0,0,0],radius:1},l=false;const u=()=>{const a=Math.min(globalThis.devicePixelRatio||1,Ie),m=Math.round(e.clientWidth*a),r=Math.round(e.clientHeight*a);!m||!r||(o.width=m,o.height=r)};return u(),{async load(a,m){const r=a.filter(se);if(!r.length){const y=[...new Set(a.map(p=>p.format??p.src))];throw new Error(a.length?`Clover draws glTF models (${ie.join(", ")}), not ${y.join(", ")}.`:"The Scene paints no model.")}const h=await Promise.all(r.map(y=>ve(y.src,m)));if(l)return c;h.forEach((y,p)=>s.add(y,Le(r[p])));const f=s.bounds();if(f){const y=f.min.map((w,N)=>(w+f.max[N])/2),p=Math.hypot(...f.max.map((w,N)=>w-f.min[N]))/2;c={center:y,radius:p||1}}return c},draw(a){if(l||!o.width||!o.height)return;const m=ne(a,c.center),r=Math.max(c.radius/1e3,a.distance-c.radius*2),h=a.distance+c.radius*4,f=be(ae*Math.PI/180,o.width/o.height,r,h);s.draw(O(f,ye(m,c.center)),m,o.width,o.height)},resize:u,dispose(){var a;l||(l=true,o.removeEventListener("webglcontextlost",n),s.dispose(),(a=t.getExtension("WEBGL_lose_context"))==null||a.loseContext(),o.remove())}}}export{Ve as createEngine,Le as placement};
164
+ }`,Q=10497,Fe=9729,Ue=new Set([9984,9985,9986,9987]);function Ce(e){const i=e.createProgram();for(const[o,t]of[[e.VERTEX_SHADER,Ne],[e.FRAGMENT_SHADER,Se]]){const n=e.createShader(o);e.shaderSource(n,t),e.compileShader(n),e.attachShader(i,n),e.deleteShader(n)}if(e.linkProgram(i),!e.getProgramParameter(i,e.LINK_STATUS))throw new Error(`The 3D view's shaders would not build: ${e.getProgramInfoLog(i)}`);return i}function Pe(e){const i=Ce(e),o=r=>e.getUniformLocation(i,r),t=Object.fromEntries(["uModel","uViewProjection","uNormalMatrix","uCamera","uBaseColor","uSpecular","uMetallic","uRoughness","uNormalScale","uOcclusionStrength","uEmissive","uAlphaCutoff","uFlags",...J].map(r=>[r,o(r)]));e.useProgram(i),J.forEach((r,h)=>e.uniform1i(t[r],h));const n=[],s=[],c=[],l=Re(),u=e.createTexture();e.bindTexture(e.TEXTURE_2D,u),e.texImage2D(e.TEXTURE_2D,0,e.RGBA8,1,1,0,e.RGBA,e.UNSIGNED_BYTE,new Uint8Array([255,255,255,255])),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),s.push(u),e.vertexAttrib4f(Y.COLOR_0,1,1,1,1);function a(r,h){var g;const{json:f}=r,y=new Map,p=new Map,w=new Map,N=(E,T)=>{const d=`${E}|${T}`;let v=y.get(d);if(!v){const b=f.bufferViews[E];v=e.createBuffer(),e.bindBuffer(T,v),e.bufferData(T,new Uint8Array(r.buffers[b.buffer],b.byteOffset??0,b.byteLength),e.STATIC_DRAW),y.set(d,v),n.push(v)}return v},S=(E,T)=>{var U,M;const d=E?(U=f.textures)==null?void 0:U[E.index]:void 0,v=(d==null?void 0:d.source)!==void 0?r.images[d.source]:null;if(!E||!v)return null;const b=`${E.index}|${T}`;let _=p.get(b);if(!_){_=e.createTexture(),e.bindTexture(e.TEXTURE_2D,_),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.NONE),e.texImage2D(e.TEXTURE_2D,0,T?e.SRGB8_ALPHA8:e.RGBA8,e.RGBA,e.UNSIGNED_BYTE,v);const x=(d==null?void 0:d.sampler)!==void 0?(M=f.samplers)==null?void 0:M[d.sampler]:void 0,A=(x==null?void 0:x.minFilter)??e.LINEAR_MIPMAP_LINEAR;e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,A),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,(x==null?void 0:x.magFilter)??Fe),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,(x==null?void 0:x.wrapS)??Q),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,(x==null?void 0:x.wrapT)??Q),Ue.has(A)&&e.generateMipmap(e.TEXTURE_2D),p.set(b,_),s.push(_)}return _},k=E=>{var A,L,D,V,R,P;const T=E??-1;let d=w.get(T);if(d)return d;const v=E!==void 0?((A=f.materials)==null?void 0:A[E])??{}:{},b=v.pbrMetallicRoughness??{},_=S(v.normalTexture,false),U=Number(((D=(L=v.extensions)==null?void 0:L.KHR_materials_ior)==null?void 0:D.ior)??1.5),M=(V=v.extensions)==null?void 0:V.KHR_materials_specular,x=((U-1)/(U+1))**2;return d={base:b.baseColorFactor??[1,1,1,1],specular:((M==null?void 0:M.specularColorFactor)??[1,1,1]).map(z=>Math.min(x*z,1)*((M==null?void 0:M.specularFactor)??1)),metallic:b.metallicFactor??1,roughness:b.roughnessFactor??1,normalScale:((R=v.normalTexture)==null?void 0:R.scale)??1,occlusion:v.occlusionTexture?v.occlusionTexture.strength??1:0,emissive:v.emissiveFactor??[0,0,0],cutoff:v.alphaCutoff??.5,flags:(_?C.normalMap:0)|((P=v.extensions)!=null&&P.KHR_materials_unlit?C.unlit:0)|(v.alphaMode==="MASK"?C.mask:0),doubleSided:!!v.doubleSided,blend:v.alphaMode==="BLEND",textures:[S(b.baseColorTexture,true),S(b.metallicRoughnessTexture,false),_,S(v.occlusionTexture,false),S(v.emissiveTexture,true)]},w.set(T,d),d},B=(E,T)=>{var _,U,M,x;const d=(_=f.nodes)==null?void 0:_[E];if(!d)return;const v=O(T,d.matrix?new Float32Array(d.matrix):X(d.translation??[0,0,0],d.rotation??[0,0,0,1],d.scale??[1,1,1])),b=d.mesh!==void 0?(U=f.meshes)==null?void 0:U[d.mesh]:void 0;for(const A of(b==null?void 0:b.primitives)??[]){const L=A.attributes.POSITION;if(L===void 0)continue;const D=e.createVertexArray();e.bindVertexArray(D);let V=0;for(const[W,H]of Object.entries(Y)){const j=A.attributes[W],F=j!==void 0?(M=f.accessors)==null?void 0:M[j]:void 0;if(!F||F.bufferView===void 0||F.sparse)continue;const re=f.bufferViews[F.bufferView];e.bindBuffer(e.ARRAY_BUFFER,N(F.bufferView,e.ARRAY_BUFFER)),e.enableVertexAttribArray(H),e.vertexAttribPointer(H,q(F.type),F.componentType,!!F.normalized,re.byteStride??0,F.byteOffset??0),W==="NORMAL"&&(V|=C.normals)}const R=A.indices!==void 0?(x=f.accessors)==null?void 0:x[A.indices]:void 0;(R==null?void 0:R.bufferView)!==void 0&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,N(R.bufferView,e.ELEMENT_ARRAY_BUFFER)),e.bindVertexArray(null);const P=O(h,v),z=k(A.material);c.push({vao:D,mode:A.mode??e.TRIANGLES,count:R?R.count:f.accessors[L].count,...(R==null?void 0:R.bufferView)!==void 0?{index:{type:R.componentType,offset:R.byteOffset??0}}:{},model:P,normal:Ae(P),mirrored:Oe(P)<0,material:{...z,flags:z.flags|V}}),Me(l,r,L,P)}for(const A of d.children??[])B(A,v)},I=(g=f.scenes)==null?void 0:g[f.scene??0],te=(I==null?void 0:I.nodes)??(f.nodes??[]).map((E,T)=>T).filter(E=>!f.nodes.some(T=>{var d;return(d=T.children)==null?void 0:d.includes(E)})),oe=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);te.forEach(E=>B(E,oe)),c.sort((E,T)=>Number(E.material.blend)-Number(T.material.blend))}function m(r,h,f,y){e.viewport(0,0,f,y),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),e.enable(e.DEPTH_TEST),e.useProgram(i),e.uniformMatrix4fv(t.uViewProjection,false,r),e.uniform3fv(t.uCamera,h);for(const p of c){const{material:w}=p;w.doubleSided?e.disable(e.CULL_FACE):e.enable(e.CULL_FACE),e.frontFace(p.mirrored?e.CW:e.CCW),w.blend?(e.enable(e.BLEND),e.blendFunc(e.ONE,e.ONE_MINUS_SRC_ALPHA),e.depthMask(false)):(e.disable(e.BLEND),e.depthMask(true)),w.textures.forEach((N,S)=>{e.activeTexture(e.TEXTURE0+S),e.bindTexture(e.TEXTURE_2D,N??u)}),e.uniformMatrix4fv(t.uModel,false,p.model),e.uniformMatrix3fv(t.uNormalMatrix,false,p.normal),e.uniform4fv(t.uBaseColor,w.base),e.uniform3fv(t.uSpecular,w.specular),e.uniform1f(t.uMetallic,w.metallic),e.uniform1f(t.uRoughness,w.roughness),e.uniform1f(t.uNormalScale,w.normalScale),e.uniform1f(t.uOcclusionStrength,w.occlusion),e.uniform3fv(t.uEmissive,w.emissive),e.uniform1f(t.uAlphaCutoff,w.cutoff),e.uniform1i(t.uFlags,w.flags),e.bindVertexArray(p.vao),p.index?e.drawElements(p.mode,p.count,p.index.type,p.index.offset):e.drawArrays(p.mode,0,p.count)}e.bindVertexArray(null),e.depthMask(true)}return{add:a,bounds:()=>c.length?l:null,draw:m,dispose(){c.forEach(r=>e.deleteVertexArray(r.vao)),n.forEach(r=>e.deleteBuffer(r)),s.forEach(r=>e.deleteTexture(r)),e.deleteProgram(i),c.length=0}}}function Oe(e){return e[0]*(e[5]*e[10]-e[6]*e[9])-e[4]*(e[1]*e[10]-e[2]*e[9])+e[8]*(e[1]*e[6]-e[2]*e[5])}const Ie=2;function Le({position:e,transforms:i}){let o=ee();for(const{type:t,x:n,y:s,z:c}of i){const l=t==="scale"?Te([n,s,c]):t==="translate"?K([n,s,c]):xe([n,s,c]);o=O(l,o)}return O(K(e),o)}function Ve(e,{onLost:i}){const o=document.createElement("canvas");o.className="clover-canvas-surface",o.setAttribute("aria-hidden","true"),o.style.cssText="position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none";const t=o.getContext("webgl2",{antialias:true,alpha:true});if(!t)throw new Error("This browser cannot draw 3D: it offers no WebGL2.");const n=a=>{a.preventDefault(),i()};o.addEventListener("webglcontextlost",n),e.prepend(o);const s=Pe(t);let c={center:[0,0,0],radius:1},l=false;const u=()=>{const a=Math.min(globalThis.devicePixelRatio||1,Ie),m=Math.round(e.clientWidth*a),r=Math.round(e.clientHeight*a);!m||!r||(o.width=m,o.height=r)};return u(),{async load(a,m){const r=a.filter(se);if(!r.length){const y=[...new Set(a.map(p=>p.format??p.src))];throw new Error(a.length?`Clover draws glTF models (${ie.join(", ")}), not ${y.join(", ")}.`:"The Scene paints no model.")}const h=await Promise.all(r.map(y=>ve(y.src,m)));if(l)return c;h.forEach((y,p)=>s.add(y,Le(r[p])));const f=s.bounds();if(f){const y=f.min.map((w,N)=>(w+f.max[N])/2),p=Math.hypot(...f.max.map((w,N)=>w-f.min[N]))/2;c={center:y,radius:p||1}}return c},draw(a){if(l||!o.width||!o.height)return;const m=ne(a,c.center),r=Math.max(c.radius/1e3,a.distance-c.radius*2),h=a.distance+c.radius*4,f=be(ae*Math.PI/180,o.width/o.height,r,h);s.draw(O(f,ye(m,c.center)),m,o.width,o.height)},resize:u,dispose(){var a;l||(l=true,o.removeEventListener("webglcontextlost",n),s.dispose(),(a=t.getExtension("WEBGL_lose_context"))==null||a.loseContext(),o.remove())}}}export{Ve as createEngine,Le as placement};
@@ -0,0 +1 @@
1
+ import{av as l,bq as g}from"./viewer-D30YHqyF.mjs";function b(t){const e=t.replace(/-/g,"+").replace(/_/g,"/"),n=e+"=".repeat((4-e.length%4)%4),o=atob(n);try{return decodeURIComponent(o)}catch{const a=Uint8Array.from(o,s=>s.charCodeAt(0));return new TextDecoder().decode(a)}}function I(t){const e=t.trim();for(const n of[()=>JSON.parse(e),()=>JSON.parse(b(e))])try{const o=n();if(o&&typeof o=="object")return o}catch{}return null}function v(t){if(!t)return;const e=Number(t.split(",")[0]);return Number.isFinite(e)?e:void 0}const u=t=>l(t==null?void 0:t.partOf).find(e=>(e==null?void 0:e.id)&&e.type==="Collection");function h(t){const e=t.type==="Annotation"?l(t.target):[t],n=e[0]?m(e[0],t):null;if(!n||e.length<2)return n;const o=typeof t.id=="string"?t.id:"content-state",a=e.flatMap((s,d)=>{var y,p,f;const i=d===0?n:m(s,t),r=(i==null?void 0:i.type)==="Manifest"?i.id:i==null?void 0:i.manifestId;return!i||!r?[]:[{id:`${o}#target-${d+1}`,manifestId:r,...((y=i.target)==null?void 0:y.canvasId)&&{canvasId:i.target.canvasId},...((p=i.target)==null?void 0:p.region)&&{region:i.target.region},...((f=i.target)==null?void 0:f.time)!==void 0&&{time:i.target.time}}]});return a.length>1?{...n,targets:{id:o,...t.label&&typeof t.label=="object"?{label:t.label}:{},items:a}}:n}function m(t,e){const n=g(t),o=typeof t=="string"?{id:n.id}:t.type==="SpecificResource"?typeof t.source=="string"?{id:t.source}:t.source??{}:t,a=o.type;if(a==="Manifest"||a==="Collection"){const c=a==="Manifest"?u(o):void 0;return c?{id:c.id,type:"Collection",manifestId:n.id}:{id:n.id,type:a}}const s=l(t.selector).find(c=>(c==null?void 0:c.type)==="PointSelector"&&c.t!=null),d={canvasId:n.id};n.rect&&(d.region=n.rect);const i=(s==null?void 0:s.t)??v(n.t);i!==void 0&&(d.time=Number(i));const r=l(o.partOf).find(c=>(c==null?void 0:c.id)&&(!c.type||c.type==="Manifest")),y=u(r),p=e.type==="Annotation"&&l(e.body).length?{id:e.id??`${n.id}#content-state`,type:"Annotation",motivation:l(e.motivation),body:e.body,target:t}:void 0,f=p?{annotation:p}:{};return y&&r?{id:y.id,type:"Collection",manifestId:r.id,target:d,...f}:r?{id:r.id,type:"Manifest",target:d,...f}:{id:n.id,type:a??"Canvas",target:d,...f}}export{I as decodeContentState,h as resolveContentState};
@@ -0,0 +1 @@
1
+ import{av as h,at as x,bp as m,bq as I,br as q}from"./viewer-D30YHqyF.mjs";function S(e,i,n){for(const s of h(e==null?void 0:e.items))for(const o of h(s==null?void 0:s.items)){if(!x(o))continue;const l=h(o==null?void 0:o.body).flatMap(t=>(t==null?void 0:t.type)==="Choice"?h(t.items).filter((r,f)=>n?(r==null?void 0:r.id)===n:f===0):n&&(t==null?void 0:t.id)!==n?[]:[t]);for(const t of l){if((t==null?void 0:t.type)!=="Image"||!t.width||!t.height)continue;const r=m(t.service);if(!r)continue;const f=I(h(o.target)[0]).rect??{x:0,y:0,w:e.width,h:e.height},a=(i.x-f.x)/f.w,c=(i.y-f.y)/f.h,u=Math.max(0,a),p=Math.max(0,c),M=Math.min(1,a+i.w/f.w)-u,g=Math.min(1,c+i.h/f.h)-p;if(M>0&&g>0)return{service:r,region:{x:u,y:p,width:M,height:g}}}}return null}const w=new WeakMap;function k(e,i){let n=w.get(e);n||w.set(e,n=new Map);let s=n.get(i);return s||(s=q({id:i,type:"Manifest"},{request:e.request}).catch(()=>null),n.set(i,s)),s}export{k as f,S as r};
@@ -1 +1 @@
1
- var R=Object.defineProperty;var k=(s,t,e)=>t in s?R(s,t,{enumerable:true,configurable:true,writable:true,value:e}):s[t]=e;var l=(s,t,e)=>k(s,typeof t!="symbol"?t+"":t,e);import{b as x,n as E,u as r,M as p,k as O,q as M,C as m,I as g,$ as C,x as D}from"./viewer--TreVlJ_.mjs";import"./styles-BRCkEU3w.mjs";function N(s){return{render:function(t){E(t,s)},unmount:function(){x(s)}}}const $="clover-root",b=Symbol("roots"),A=[];class F{constructor(t){l(this,"entries",new Map);l(this,"lists",new Map);l(this,"listeners",new Map);l(this,"languages",new I(t2=>this.entries.has(t2)));this.count=t}list(t){return this.lists.get(t)??A}subscribe(t,e){let n=this.listeners.get(t);return n||this.listeners.set(t,n=new Set),n.add(e),()=>{n.delete(e)}}connect(t){var i;const e=t.kind==="part"?((i=t.element.parentElement)==null?void 0:i.closest($))??null:null,n=this.entries.get(t.element);if(n&&n.root===e)return;const o={hosted:t,key:(n==null?void 0:n.key)??++this.count.made,root:e};this.entries.set(t.element,o),n&&this.change(h(n),a=>a.filter(c=>c!==n)),this.change(h(o),a=>[...a,o]),t.needsRoot&&!e&&console.warn(`<${t.element.localName}> shows a <clover-root>'s state: put it inside one.`),t.kind!=="root"&&this.languages.draws(t.element.localName),(t.kind!=="part"||!e)&&this.languages.watch(t.element)}disconnect(t){const e=this.entries.get(t);e&&(this.entries.delete(t),this.change(h(e),n=>n.filter(o=>o!==e)))}change(t,e){var n;this.lists.set(t,e(this.list(t))),(n=this.listeners.get(t))==null||n.forEach(o=>o())}}const h=s=>s.hosted.kind==="root"?b:s.root;class I{constructor(t){l(this,"observer",null);l(this,"tags",new Set);this.isElement=t}draws(t){this.tags.add(t)}watch(t){this.observer??(this.observer=new MutationObserver(e=>{const n=[...this.tags,".clover-announcer"].join(",");for(const{target:o}of e){const i=o;i.getAttribute("lang")!==""||this.isElement(i)||i.closest(n)&&i.removeAttribute("lang")}})),this.observer.observe(t,{subtree:true,attributes:true,attributeFilter:["lang"]})}}function d(s,t){const e=M(o=>s.subscribe(t,o),[s,t]);return m(e,()=>s.list(t))}function w(s){return m(s.subscribe,s.getProps,s.getProps)}function L({registry:s}){const t=d(s,b),e=d(s,null);return r(O,{children:[t.map(n=>r(W,{entry:n,registry:s},n.key)),e.map(n=>r(S,{entry:n},n.key))]})}const v=s=>`clover-${s.key}-`,W=p(function({entry:t,registry:e}){const{hosted:n}=t,o=d(e,n.element),i=w(n),a=n.Component;return r(P,{hosted:n,props:i,children:r(g.Provider,{value:v(t),children:r(a,{hosted:n,props:i,children:o.map(c=>r(S,{entry:c},c.key))})})})}),S=p(function({entry:t}){const{hosted:e}=t,n=w(e);if(e.needsRoot&&!t.root)return null;const o=e.Component;return C(r(P,{hosted:e,props:n,children:r(g.Provider,{value:v(t),children:r(o,{hosted:e,props:n})})}),e.element)});class P extends D{constructor(){super(...arguments);l(this,"state",{failed:false})}static getDerivedStateFromError(){return{failed:true}}componentDidCatch(e,n){console.error(`<${this.props.hosted.element.localName}>:`,e)}componentDidUpdate(e){this.state.failed&&e.props!==this.props.props&&this.setState({failed:false})}render(){return this.state.failed?null:this.props.children}}const f=new WeakMap,u=Symbol.for("clover.elements");function H(s){let t=f.get(s);if(!t){const e=s;e[u]&&console.warn("Clover is loaded twice on this page: load one entry."),t=new F(e[u]??(e[u]={made:0})),f.set(s,t),N(s.createElement("div")).render(r(L,{registry:t}))}return t}export{F as Registry,H as hostOf};
1
+ var R=Object.defineProperty;var k=(s,t,e)=>t in s?R(s,t,{enumerable:true,configurable:true,writable:true,value:e}):s[t]=e;var l=(s,t,e)=>k(s,typeof t!="symbol"?t+"":t,e);import{b as x,n as E,u as r,M as p,k as O,q as M,C as m,I as g,$ as C,x as D}from"./viewer-D30YHqyF.mjs";import"./styles-NZLnZPAC.mjs";function N(s){return{render:function(t){E(t,s)},unmount:function(){x(s)}}}const $="clover-root",b=Symbol("roots"),A=[];class F{constructor(t){l(this,"entries",new Map);l(this,"lists",new Map);l(this,"listeners",new Map);l(this,"languages",new I(t2=>this.entries.has(t2)));this.count=t}list(t){return this.lists.get(t)??A}subscribe(t,e){let n=this.listeners.get(t);return n||this.listeners.set(t,n=new Set),n.add(e),()=>{n.delete(e)}}connect(t){var i;const e=t.kind==="part"?((i=t.element.parentElement)==null?void 0:i.closest($))??null:null,n=this.entries.get(t.element);if(n&&n.root===e)return;const o={hosted:t,key:(n==null?void 0:n.key)??++this.count.made,root:e};this.entries.set(t.element,o),n&&this.change(h(n),a=>a.filter(c=>c!==n)),this.change(h(o),a=>[...a,o]),t.needsRoot&&!e&&console.warn(`<${t.element.localName}> shows a <clover-root>'s state: put it inside one.`),t.kind!=="root"&&this.languages.draws(t.element.localName),(t.kind!=="part"||!e)&&this.languages.watch(t.element)}disconnect(t){const e=this.entries.get(t);e&&(this.entries.delete(t),this.change(h(e),n=>n.filter(o=>o!==e)))}change(t,e){var n;this.lists.set(t,e(this.list(t))),(n=this.listeners.get(t))==null||n.forEach(o=>o())}}const h=s=>s.hosted.kind==="root"?b:s.root;class I{constructor(t){l(this,"observer",null);l(this,"tags",new Set);this.isElement=t}draws(t){this.tags.add(t)}watch(t){this.observer??(this.observer=new MutationObserver(e=>{const n=[...this.tags,".clover-announcer"].join(",");for(const{target:o}of e){const i=o;i.getAttribute("lang")!==""||this.isElement(i)||i.closest(n)&&i.removeAttribute("lang")}})),this.observer.observe(t,{subtree:true,attributes:true,attributeFilter:["lang"]})}}function d(s,t){const e=M(o=>s.subscribe(t,o),[s,t]);return m(e,()=>s.list(t))}function w(s){return m(s.subscribe,s.getProps,s.getProps)}function L({registry:s}){const t=d(s,b),e=d(s,null);return r(O,{children:[t.map(n=>r(W,{entry:n,registry:s},n.key)),e.map(n=>r(S,{entry:n},n.key))]})}const v=s=>`clover-${s.key}-`,W=p(function({entry:t,registry:e}){const{hosted:n}=t,o=d(e,n.element),i=w(n),a=n.Component;return r(P,{hosted:n,props:i,children:r(g.Provider,{value:v(t),children:r(a,{hosted:n,props:i,children:o.map(c=>r(S,{entry:c},c.key))})})})}),S=p(function({entry:t}){const{hosted:e}=t,n=w(e);if(e.needsRoot&&!t.root)return null;const o=e.Component;return C(r(P,{hosted:e,props:n,children:r(g.Provider,{value:v(t),children:r(o,{hosted:e,props:n})})}),e.element)});class P extends D{constructor(){super(...arguments);l(this,"state",{failed:false})}static getDerivedStateFromError(){return{failed:true}}componentDidCatch(e,n){console.error(`<${this.props.hosted.element.localName}>:`,e)}componentDidUpdate(e){this.state.failed&&e.props!==this.props.props&&this.setState({failed:false})}render(){return this.state.failed?null:this.props.children}}const f=new WeakMap,u=Symbol.for("clover.elements");function H(s){let t=f.get(s);if(!t){const e=s;e[u]&&console.warn("Clover is loaded twice on this page: load one entry."),t=new F(e[u]??(e[u]={made:0})),f.set(s,t),N(s.createElement("div")).render(r(L,{registry:t}))}return t}export{F as Registry,H as hostOf};
@@ -0,0 +1 @@
1
+ import{a8 as v,av as u,at as I,bq as $,bw as L,bx as P}from"./viewer-D30YHqyF.mjs";function C(t){const c=new Map;for(const e of v(t).canvases)S(e,c);return[...c.values()]}function S(t,c){u(t.items).forEach((e,r)=>u(e==null?void 0:e.items).forEach((d,f)=>{if(!I(d))return;const a=$(u(d.target)[0]).rect??{x:0,y:0,w:Number(t.width)||0,h:Number(t.height)||0};u(d.body).forEach((s,y)=>{const w=(s==null?void 0:s.type)==="Choice";(w?u(s.items):[s]).forEach((o,x)=>{for(const n of u(o==null?void 0:o.annotations)){if(!Array.isArray(n==null?void 0:n.items)||typeof(o==null?void 0:o.id)!="string")continue;const l=n.id??`${o.id}#annotations`,p=w?{key:L(t.id,d.id,r,f,y),item:x,image:o.id}:void 0,A=P(n,l,t.id).map(b=>{const h=j(b.annotation,o),N=Math.round(a.x+h.x*(a.w/h.width)),E=Math.round(a.y+h.y*(a.h/h.height)),g=Math.round(h.w*(a.w/h.width)),q=Math.round(h.h*(a.h/h.height)),M=`${t.id}#xywh=${N},${E},${g},${q}`;return{...b,canvasId:t.id,target:$(M),annotation:{...b.annotation,target:M},...p?{layer:p}:{}}});if(!A.length)continue;let m=c.get(l);m||(m={id:l,label:n.label??o.label,source:"manifest",entries:[]},c.set(l,m)),m.entries.push(...A)}})})}))}function j(t,c){const e=Number(c.width)||1,r=Number(c.height)||1,d={x:0,y:0,w:e,h:r,width:e,height:r},f=u(t==null?void 0:t.target)[0],s=(typeof f=="object"?u(f==null?void 0:f.selector):[]).find(i=>(i==null?void 0:i.type)==="ImageApiSelector"),y=typeof(s==null?void 0:s.region)=="string"?s.region:void 0;if(y){const i=/^(pct:)?([\d.]+),([\d.]+),([\d.]+),([\d.]+)$/.exec(y);if(!i)return d;const[o,x,n,l]=i.slice(2).map(Number);return i[1]?{x:o/100*e,y:x/100*r,w:n/100*e,h:l/100*r,width:e,height:r}:{x:o,y:x,w:n,h:l,width:e,height:r}}const w=$(f).rect;return w?{...w,width:e,height:r}:d}export{C as imageLayers};
@@ -1 +1 @@
1
- import{bL as e}from"./viewer--TreVlJ_.mjs";export{e as initCloverI18n};
1
+ import{cj as e}from"./viewer-D30YHqyF.mjs";export{e as initCloverI18n};
@@ -0,0 +1 @@
1
+ import{av as n,au as p,bq as c}from"./viewer-D30YHqyF.mjs";function g(r){if(n(r==null?void 0:r.motivation).includes("linking"))for(const i of p(r)){if((i==null?void 0:i.type)==="TextualBody"||typeof(i==null?void 0:i.value)=="string")continue;const t=(i==null?void 0:i.type)==="SpecificResource"?i.source:i,e=typeof t=="string"?t:t==null?void 0:t.id;if(!(typeof e!="string"||!e)){if((t==null?void 0:t.type)==="Canvas"){const f=n(t.partOf).find(s=>(s==null?void 0:s.id)&&(!s.type||s.type==="Manifest")),u=c(e).id;return{id:e,canvasId:u,...f?{manifestId:f.id}:{}}}if((t==null?void 0:t.type)==="Manifest"||(t==null?void 0:t.type)==="Collection")return{id:e,manifestId:e};if(/^https?:\/\//i.test(e))return{id:e}}}}function v(r){const i=n(r==null?void 0:r.motivation);if(!(!i.includes("tagging")&&!i.includes("identifying")))for(const t of p(r)){if((t==null?void 0:t.type)==="TextualBody"||typeof(t==null?void 0:t.value)=="string")continue;const e=(t==null?void 0:t.type)==="SpecificResource"?t.source:t,f=typeof e=="string"?e:e==null?void 0:e.id;if(typeof f=="string"&&/^https?:\/\//i.test(f))return{id:f}}}export{v as a,g as r};
@@ -0,0 +1 @@
1
+ import{bp as o,ch as a,ci as s}from"./viewer-D30YHqyF.mjs";async function d(r,c,i){const e=typeof r.id=="string"?r.id:void 0,t=o(r.service);if(!t)return e;try{const n=await a(t,{request:i});return s(n,c)??e}catch{return e}}export{d as overlayImageUrl};
@@ -0,0 +1 @@
1
+ import{av as c,bu as l,bq as v,bv as g,b6 as E}from"./viewer-D30YHqyF.mjs";const A=t=>t&&typeof t=="object"?Object.entries(t).flatMap(([i,r])=>c(r).filter(s=>typeof s=="string").map(s=>({value:s,...i!=="none"?{language:i}:{}}))):typeof t=="string"?[{value:t}]:[],a=new WeakMap;function j(t){if(!t)return null;if(a.has(t))return a.get(t);const i=[],r=new Set,s=n=>{if(!n||r.has(n.id??n))return;r.add(n.id??n);const b=typeof n.id=="string"&&!c(n.behavior).includes("no-nav"),d=A(n.label),h=c(n.items).filter(o=>(o==null?void 0:o.type)!=="Range"&&v(g(o)).id).length;let w=0;for(const o of c(n.items)){if((o==null?void 0:o.type)==="Range"){s(o);continue}const e=v(g(o));if(!e.id)continue;const u=w++;if(!b||!e.rect)continue;const{x,y:T,w:I,h:S}=e.rect,f=E(n.id,u);i.push({id:f,setId:l,canvasId:e.id,target:{id:e.id,rect:e.rect},motivation:["highlighting"],bodies:d,...h>1?{place:{index:u+1,total:h}}:{},annotation:{id:f,type:"Annotation",motivation:["highlighting"],...d.length&&{body:d.map(({value:$,language:y})=>({type:"TextualBody",value:$,...y?{language:y}:{}}))},target:`${e.id}#xywh=${x},${T},${I},${S}`}})}};c(t.structures).forEach(s);const p=i.length?{id:l,source:"contents",entries:i}:null;return a.set(t,p),p}export{j as contentsSet};
@@ -1 +1 @@
1
- import{V as f,u as r,A as u,W as p,_ as d,k as m}from"./viewer--TreVlJ_.mjs";import"./styles-BRCkEU3w.mjs";const v=f(null),l=new WeakMap;function y(t){let n=l.get(t);if(!n){const{render:o}=t;n={canvasId:t.canvasId,format:t.format,match:t.match,component:c=>r(A,{...c,render:o})},l.set(t,n)}return n}function h(t){if(Array.isArray(t))return t.filter(n=>typeof n=="object"&&n!==null&&typeof n.render=="function").map(y)}function A({render:t,canvases:n,bodies:o,children:c}){const a=u(null),s=p(v);return d(()=>{const e=a.current;if(!e)return;const i=t(e,{canvases:n,bodies:o,clover:s});return()=>{typeof i=="function"&&i(),e.replaceChildren()}},[t,n,o,s]),r(m,{children:[r("div",{ref:a,className:"clover-body-renderer",style:{position:"absolute",inset:0}}),c&&r("div",{className:"clover-canvas-controls",children:c})]})}export{h as toRenderers};
1
+ import{U as f,u as r,A as u,V as p,_ as d,k as m}from"./viewer-D30YHqyF.mjs";import"./styles-NZLnZPAC.mjs";const v=f(null),l=new WeakMap;function y(t){let n=l.get(t);if(!n){const{render:o}=t;n={canvasId:t.canvasId,format:t.format,match:t.match,component:c=>r(A,{...c,render:o})},l.set(t,n)}return n}function h(t){if(Array.isArray(t))return t.filter(n=>typeof n=="object"&&n!==null&&typeof n.render=="function").map(y)}function A({render:t,canvases:n,bodies:o,children:c}){const a=u(null),s=p(v);return d(()=>{const e=a.current;if(!e)return;const i=t(e,{canvases:n,bodies:o,clover:s});return()=>{typeof i=="function"&&i(),e.replaceChildren()}},[t,n,o,s]),r(m,{children:[r("div",{ref:a,className:"clover-body-renderer",style:{position:"absolute",inset:0}}),c&&r("div",{className:"clover-canvas-controls",children:c})]})}export{h as toRenderers};
@@ -0,0 +1 @@
1
+ import{bH as a}from"./viewer-D30YHqyF.mjs";function c(t){try{const o=new URL(t).pathname.split("/").filter(Boolean).pop();return o?decodeURIComponent(o):"download"}catch{return"download"}}async function i(t,o){try{const r=await a(o,t,{referrerPolicy:"no-referrer"});if(!r.ok)return false;const n=URL.createObjectURL(await r.blob()),e=document.createElement("a");return e.href=n,e.download=c(t),document.body.append(e),e.click(),e.remove(),setTimeout(()=>URL.revokeObjectURL(n),1e4),true}catch{return false}}export{c as fileName,i as saveFile};
@@ -1 +1 @@
1
- import{bd as b,a7 as f,aM as w,be as S}from"./viewer--TreVlJ_.mjs";const x=10;async function R(r,t,s,o,e){var n,d;const i=(n=r.get().manifest)==null?void 0:n.id;try{const{hits:c,set:u}=await A(t,s,{request:o,signal:e});if(e.aborted||((d=r.get().manifest)==null?void 0:d.id)!==i)return;r.set({search:{query:s,status:"ready",hits:c,set:u}})}catch{if(e.aborted)return;r.set({search:{query:s,status:"error",hits:[],set:null}})}}async function A(r,t,{request:s,signal:o}={}){const e=new URL(r.id);e.searchParams.set("q",t);const i=[];let n=e.toString();const d=new Set;for(;n&&i.length<x&&!d.has(n);){d.add(n);const c=await b(s,n,o);i.push(c),n=T(c)}return $(i,t)}function M(r){var e;const t=f(r)[0];if(typeof t=="string"||!t)return t;const s=t.full??t["@id"],o=(e=f(t.selector)[0])==null?void 0:e.value;return typeof o=="string"&&typeof s=="string"?`${s}#${o}`:s}function T(r){var o;const t=r.next??((o=r.within)==null?void 0:o.next),s=typeof t=="string"?t:(t==null?void 0:t.id)??(t==null?void 0:t["@id"]);return typeof s=="string"?s:null}function $(r,t){var e,i;const s=[],o=[];for(const n of r){const d=Array.isArray(n.resources),c=d?n.resources:f(n.items),u=new Map;for(const a of c){const p=a.id??a["@id"],m=d?M(a.on):f(a.target)[0],v=w(m);if(!p||!v.id)continue;const y=d?(e=a.resource)==null?void 0:e.chars:f(a.body).map(l=>l==null?void 0:l.value).find(l=>typeof l=="string"),I={id:p,setId:S,canvasId:v.id,target:v,motivation:["highlighting"],bodies:[{value:String(y??t)}],annotation:{id:p,type:"Annotation",motivation:["highlighting"],body:{type:"TextualBody",value:String(y??t)},target:m}};u.set(p,I),s.push(I)}const g=d?E(n,u):H(n,u),h=new Set(g.flatMap(a=>a.entryIds));o.push(...g);for(const a of u.values())h.has(a.id)||o.push({id:a.id,canvasId:a.canvasId,entryIds:[a.id],match:((i=a.bodies[0])==null?void 0:i.value)??t})}return{query:t,hits:o,set:{id:S,label:{none:[t]},source:"search",entries:s}}}function E(r,t){var o;const s=[];for(const e of f(r.hits)){const i=f(e.annotations).filter(n=>t.has(n));i.length&&s.push({id:i.join(" "),canvasId:t.get(i[0]).canvasId,entryIds:i,before:e.before,match:String(e.match??((o=t.get(i[0]).bodies[0])==null?void 0:o.value)??""),after:e.after})}return s}function H(r,t){var o,e;const s=[];for(const i of f(r.annotations))for(const n of f(i==null?void 0:i.items))if(f(n==null?void 0:n.motivation).includes("contextualizing"))for(const c of f(n.target)){const u=typeof(c==null?void 0:c.source)=="string"?c.source:(o=c==null?void 0:c.source)==null?void 0:o.id,g=u?t.get(u):void 0;if(!g)continue;const h=f(c.selector).find(a=>(a==null?void 0:a.type)==="TextQuoteSelector");s.push({id:`${n.id??u}#${u}`,canvasId:g.canvasId,entryIds:[g.id],before:h==null?void 0:h.prefix,match:String((h==null?void 0:h.exact)??((e=g.bodies[0])==null?void 0:e.value)??""),after:h==null?void 0:h.suffix})}return s}export{$ as readResults,A as search,R as searchInto};
1
+ import{by as b,av as f,bq as w,bz as S}from"./viewer-D30YHqyF.mjs";const x=10;async function R(r,t,s,o,e){var n,d;const i=(n=r.get().manifest)==null?void 0:n.id;try{const{hits:c,set:u}=await A(t,s,{request:o,signal:e});if(e.aborted||((d=r.get().manifest)==null?void 0:d.id)!==i)return;r.set({search:{query:s,status:"ready",hits:c,set:u}})}catch{if(e.aborted)return;r.set({search:{query:s,status:"error",hits:[],set:null}})}}async function A(r,t,{request:s,signal:o}={}){const e=new URL(r.id);e.searchParams.set("q",t);const i=[];let n=e.toString();const d=new Set;for(;n&&i.length<x&&!d.has(n);){d.add(n);const c=await b(s,n,o);i.push(c),n=$(c)}return E(i,t)}function T(r){var e;const t=f(r)[0];if(typeof t=="string"||!t)return t;const s=t.full??t["@id"],o=(e=f(t.selector)[0])==null?void 0:e.value;return typeof o=="string"&&typeof s=="string"?`${s}#${o}`:s}function $(r){var o;const t=r.next??((o=r.within)==null?void 0:o.next),s=typeof t=="string"?t:(t==null?void 0:t.id)??(t==null?void 0:t["@id"]);return typeof s=="string"?s:null}function E(r,t){var e,i;const s=[],o=[];for(const n of r){const d=Array.isArray(n.resources),c=d?n.resources:f(n.items),u=new Map;for(const a of c){const p=a.id??a["@id"],m=d?T(a.on):f(a.target)[0],v=w(m);if(!p||!v.id)continue;const y=d?(e=a.resource)==null?void 0:e.chars:f(a.body).map(l=>l==null?void 0:l.value).find(l=>typeof l=="string"),I={id:p,setId:S,canvasId:v.id,target:v,motivation:["highlighting"],bodies:[{value:String(y??t)}],annotation:{id:p,type:"Annotation",motivation:["highlighting"],body:{type:"TextualBody",value:String(y??t)},target:m}};u.set(p,I),s.push(I)}const g=d?H(n,u):M(n,u),h=new Set(g.flatMap(a=>a.entryIds));o.push(...g);for(const a of u.values())h.has(a.id)||o.push({id:a.id,canvasId:a.canvasId,entryIds:[a.id],match:((i=a.bodies[0])==null?void 0:i.value)??t})}return{query:t,hits:o,set:{id:S,label:{none:[t]},source:"search",entries:s}}}function H(r,t){var o;const s=[];for(const e of f(r.hits)){const i=f(e.annotations).filter(n=>t.has(n));i.length&&s.push({id:i.join(" "),canvasId:t.get(i[0]).canvasId,entryIds:i,before:e.before,match:String(e.match??((o=t.get(i[0]).bodies[0])==null?void 0:o.value)??""),after:e.after})}return s}function M(r,t){var o,e;const s=[];for(const i of f(r.annotations))for(const n of f(i==null?void 0:i.items))if(f(n==null?void 0:n.motivation).includes("contextualizing"))for(const c of f(n.target)){const u=typeof(c==null?void 0:c.source)=="string"?c.source:(o=c==null?void 0:c.source)==null?void 0:o.id,g=u?t.get(u):void 0;if(!g)continue;const h=f(c.selector).find(a=>(a==null?void 0:a.type)==="TextQuoteSelector");s.push({id:`${n.id??u}#${u}`,canvasId:g.canvasId,entryIds:[g.id],before:h==null?void 0:h.prefix,match:String((h==null?void 0:h.exact)??((e=g.bodies[0])==null?void 0:e.value)??""),after:h==null?void 0:h.suffix})}return s}export{E as readResults,A as search,R as searchInto};
@@ -0,0 +1 @@
1
+ var b=Object.defineProperty;var g=(r,e,o)=>e in r?b(r,e,{enumerable:true,configurable:true,writable:true,value:o}):r[e]=o;var p=(r,e,o)=>g(r,typeof e!="symbol"?e+"":e,o);const n=new Map,m=new Set;function i(r,e,o){if(!n.has(e)){n.set(e,{index:r,css:o});for(const a of m)a.place(e,r,o)}}class h{constructor(e){p(this,"injected",new Set);this.doc=e,m.add(this),n.forEach(({index:o,css:a},t)=>this.place(t,o,a))}inject(e,o){this.injected.has(e)||(this.injected.add(e),this.doc.head.prepend(this.style(e,o)))}place(e,o,a){if(this.injected.has(e))return;this.injected.add(e);const t=this.style(e,a);t.dataset.cloverIndex=String(o);const s=[...this.doc.head.querySelectorAll("style[data-clover-index]")],v=s.filter(l=>Number(l.dataset.cloverIndex)<o).at(-1),d=s.find(l=>Number(l.dataset.cloverIndex)>o),c=this.doc.head.querySelectorAll("style[data-clover]");v?v.after(t):d?d.before(t):c.length?c[c.length-1].after(t):this.doc.head.prepend(t)}style(e,o){const a=this.doc.createElement("style");return a.dataset.clover=e,a.textContent=o,a}}const u=new WeakMap;function x(r){let e=u.get(r);return e||u.set(r,e=new h(r)),e}i(1,"styles-1",'@layer clover{:root{--clover-space-3xs: .146rem;--clover-space-2xs: .236rem;--clover-space-xs: .382rem;--clover-space-s: .618rem;--clover-space-m: 1rem;--clover-space-l: 1.618rem;--clover-space-xl: 2.618rem;--clover-space-2xl: 4.236rem;--clover-text-xs: .764rem;--clover-text-s: .854rem;--clover-text-m: 1.146rem;--clover-text-l: 1.236rem;--clover-control: calc(1rem + 2 * var(--clover-space-s));--clover-inset: var(--clover-space-l);--clover-picture: calc(4 * var(--clover-space-xl))}:where(.clover-root,.clover-canvas,.clover-items,.clover-geomap) :where(button,input,select,textarea){font:inherit}:where(.clover-field-pill-query,.clover-collection-select-control){box-sizing:border-box;padding:var(--clover-space-xs) var(--clover-space-s);border:1px solid var( --clover-field-edge, color-mix( in srgb, var(--clover-color-primary-muted, #26292b) 80%, var(--clover-color-secondary, #fff) ) );border-radius:var(--clover-radius, 3px);background-color:var(--clover-color-secondary, #fff);color:var(--clover-color-primary, #1a1d1e)}:where(.clover-field-pill-query,.clover-collection-select-control):focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:1px}:where(.clover-field-pill-query)::placeholder{color:color-mix(in srgb,var(--clover-color-primary, #1a1d1e) 65%,var(--clover-color-secondary, #fff));opacity:1}:where([data-high-contrast]){--clover-accent-fill: var(--clover-color-control, #1a1d1e);--clover-accent-ring: 3px solid var(--clover-color-accent, #0065c3);--clover-accent-ring-hover: 3px solid color-mix(in srgb, var(--clover-color-accent, #0065c3) 50%, transparent);--clover-accent-text-fallback: var(--clover-color-primary, #1a1d1e);--clover-transition: none}.clover-canvas-error{display:flex;flex-direction:column;align-items:center;gap:var(--clover-space-s)}.clover-canvas-error-headline{font-weight:700;font-size:var(--clover-text-l)}button.clover-canvas-exit-full-screen{display:none;position:absolute;top:var(--clover-canvas-controls-inset);left:var(--clover-canvas-controls-inset);z-index:3;align-items:center;gap:var(--clover-space-xs);height:var(--clover-control);padding:0 var(--clover-space-m) 0 var(--clover-space-s);border:none;border-radius:var(--clover-radius-pill, 2rem);background-color:var(--clover-color-control, #1a1d1e);color:var(--clover-color-control-glyph, #fff);font-size:var(--clover-text-s);font-weight:700;line-height:1;white-space:nowrap;cursor:pointer;transition:var(--clover-transition, all .2s cubic-bezier(.16, 1, .3, 1))}.clover-canvas-exit-full-screen svg{height:1rem;width:1rem;flex-shrink:0}.clover-canvas-exit-full-screen:hover,.clover-canvas-exit-full-screen:focus-visible{background-color:var(--clover-color-accent, #0065c3)}:where([data-high-contrast]) .clover-canvas-exit-full-screen:is(:hover,:focus-visible){background-color:var(--clover-accent-fill)}:where([data-high-contrast]) .clover-canvas-exit-full-screen:hover:not(:focus-visible){outline:var(--clover-accent-ring-hover);outline-offset:1px}.clover-root:fullscreen{overflow:auto;background-color:var(--clover-color-secondary, #fff);color:var(--clover-color-primary, #1a1d1e)}.clover-loading{position:relative;display:block;width:100%;height:3px;overflow:hidden;opacity:0;animation:clover-loading-show 1ms .25s forwards}.clover-loading>span{position:absolute;inset:0;background-color:var(--clover-color-accent, #0065c3);transform-origin:left center;animation:clover-loading-draw 1.4s cubic-bezier(.4,0,.2,1) infinite}.clover-loading:dir(rtl)>span{transform-origin:right center}.clover-loading[data-overlay]{position:absolute;top:0;left:0;z-index:3;pointer-events:none}.clover-body:has(>.clover-loading) .clover-canvas .clover-loading{display:none}@keyframes clover-loading-show{to{opacity:1}}@keyframes clover-loading-draw{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@media (prefers-reduced-motion: reduce){.clover-loading>span{animation-duration:2.8s}}.clover-body-unloadable,.clover-body-note{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:var(--clover-inset);pointer-events:none}.clover-body-unloadable[data-room]{inset-block-end:var(--clover-transport-room, 0)}.clover-body-unloadable:empty{display:none}.clover-body-unloadable>p,.clover-body-note>p{margin:0;padding:var(--clover-space-xs) var(--clover-space-s);border-radius:var(--clover-radius-pill, 2rem);background-color:var(--clover-color-secondary, #fff);color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-s);text-align:center}.clover-sections{--clover-chevron: 12px}.clover-chevron{flex-shrink:0;color:inherit;transition:transform .2s cubic-bezier(.16,1,.3,1)}.clover-chevron[data-open]{transform:rotate(180deg)}@media (prefers-reduced-motion: reduce){.clover-chevron{transition:none}}:is(button.clover-sections-button,button.clover-contents-toggle):focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:-2px}.clover-canvas-overlays{overflow:hidden;isolation:isolate;container-type:size}.clover-canvas-overlay{transform-origin:center}.clover-canvas-annotation{box-sizing:border-box;margin:0;padding:0;cursor:zoom-in;background-color:transparent;border:1px solid var(--clover-color-primary, #1a1d1e);border-radius:var(--clover-radius, 3px);box-shadow:inset 0 0 0 1px var(--clover-color-secondary, #fff),0 0 38vw 38vw transparent;z-index:var(--clover-annotation-depth, 0);-webkit-mask-image:var(--clover-annotation-mask, none);mask-image:var(--clover-annotation-mask, none);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:120% 120%;mask-size:120% 120%;mask-clip:no-clip}.clover-canvas-annotation:is([data-link],[data-track]){cursor:pointer}.clover-canvas-annotation[hidden]{display:none}.clover-canvas-annotation:is([data-active=true],:focus-visible){border-color:var(--clover-color-secondary, #fff);outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:0;box-shadow:0 0 0 3px var(--clover-color-primary, #1a1d1e),0 0 38vw 38vw #0002}.clover-canvas-annotation:is([data-shape=point],[data-shape=svg]){pointer-events:none}.clover-canvas-annotation:is([data-shape=point],[data-shape=svg]),.clover-canvas-annotation:is([data-shape=point],[data-shape=svg]):is([data-active=true],:focus-visible){border-color:transparent;outline:none;background-color:transparent;box-shadow:none}.clover-canvas-annotation-point{position:absolute;top:50%;left:50%;width:var(--clover-space-m);height:var(--clover-space-m);border:2px solid var(--clover-color-secondary, #fff);border-radius:50%;background-color:var(--clover-color-accent, #0065c3);box-shadow:0 0 0 1px var(--clover-color-primary, #1a1d1e);transform:translate(-50%,-50%);pointer-events:auto}.clover-canvas-annotation-point:before{position:absolute;top:50%;left:50%;width:var(--clover-space-l);height:var(--clover-space-l);border-radius:50%;transform:translate(-50%,-50%);content:""}.clover-canvas-annotation[data-shape=point]:is([data-active=true],:focus-visible) .clover-canvas-annotation-point{box-shadow:0 0 0 2px var(--clover-color-accent, #0065c3),0 0 0 3px var(--clover-color-primary, #1a1d1e)}.clover-canvas-annotation-shape{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.clover-canvas-annotation-shape>g>*{fill:none;stroke:none;pointer-events:none}.clover-canvas-annotation-shape>g:nth-child(1)>*{fill:transparent;stroke:var(--clover-color-primary, #1a1d1e);stroke-width:3;pointer-events:visiblePainted;cursor:zoom-in}.clover-canvas-annotation-shape>g:nth-child(2)>*{stroke:var(--clover-color-secondary, #fff);stroke-width:1}.clover-canvas-annotation[data-shape=svg]:is([data-active=true],:focus-visible) .clover-canvas-annotation-shape>g:nth-child(1)>*{stroke-width:6}.clover-canvas-annotation[data-shape=svg]:is([data-active=true],:focus-visible) .clover-canvas-annotation-shape>g:nth-child(2)>*{stroke-width:4}.clover-canvas-annotation[data-shape=svg]:is([data-active=true],:focus-visible) .clover-canvas-annotation-shape>g:nth-child(3)>*{stroke:var(--clover-color-accent, #0065c3);stroke-width:2}@media (forced-colors: active){.clover-canvas-annotation{border-color:CanvasText}.clover-canvas-annotation[data-shape=rect]{outline:1px solid Canvas;outline-offset:-2px}.clover-canvas-annotation:is([data-active=true],:focus-visible){outline:2px solid Highlight;outline-offset:0}.clover-canvas-annotation-shape>g:nth-child(1)>*{stroke:CanvasText}.clover-canvas-annotation-shape>g:nth-child(2)>*{stroke:Canvas}.clover-canvas-annotation[data-shape=svg]:is([data-active=true],:focus-visible) .clover-canvas-annotation-shape>g:nth-child(3)>*{stroke:Highlight}.clover-canvas-annotation[data-shape=point]:is([data-active=true],:focus-visible) .clover-canvas-annotation-point{outline:2px solid Highlight;outline-offset:1px}}.clover-canvas{--clover-canvas-inset: 0px;--clover-canvas-controls-inset: var(--clover-inset);--clover-controls-leave: .18s cubic-bezier(.4, 0, 1, 1);--clover-controls-enter: .34s cubic-bezier(.34, 1.56, .64, 1);--clover-controls-tuck: var(--clover-space-s);--clover-controls-shown: 0;--clover-controls-events: none;--clover-controls-timing: var(--clover-controls-leave);position:relative;margin:0;--clover-canvas-wash: #0001;background-color:var(--clover-canvas-wash);width:100%;height:100%;min-height:inherit;overflow:hidden;isolation:isolate}.clover-canvas[data-fullscreen=true]{background-image:linear-gradient(var(--clover-canvas-wash),var(--clover-canvas-wash));background-color:var(--clover-color-secondary, #fff);color:var(--clover-color-primary, #1a1d1e)}.clover-canvas[data-exit]>.clover-canvas-exit-full-screen{display:flex}.clover-canvas[data-exit]>.clover-canvas-navigator{top:calc(var(--clover-canvas-controls-inset) + var(--clover-control) + var(--clover-space-s))}.clover-canvas-viewport{padding:var(--clover-canvas-inset);isolation:isolate;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;cursor:grab;outline:none}.clover-canvas-viewport:active{cursor:grabbing}.clover-canvas[data-navigable=false]>.clover-canvas-viewport{cursor:default}.clover-canvas-sound-label{position:absolute;inset:0 0 var(--clover-transport-room, 0) 0;z-index:-1;display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:0;padding:var(--clover-inset);overflow:hidden;color:var(--clover-color-primary, #1a1d1e);font-size:var(--clover-text-l);line-height:1.3;text-align:center;overflow-wrap:anywhere;pointer-events:none}.clover-canvas-dom-media{display:block;-webkit-user-drag:none}.clover-canvas-dom-media.clover-canvas-painted-text{display:flex;align-items:center;overflow:hidden;color:var(--clover-color-primary, currentColor);line-height:1.2}.clover-canvas-painted-text>*{margin:0}.clover-canvas-scrim{position:absolute;inset:0 0 auto;z-index:0;height:calc(var(--clover-control) + 2 * var(--clover-space-l));pointer-events:none;background:linear-gradient(to bottom,#00000073,#0003 45%,#0000);opacity:var(--clover-controls-shown);transition:opacity var(--clover-controls-timing)}.clover-canvas>.clover-canvas-controls{z-index:3;pointer-events:none}.clover-canvas>.clover-canvas-controls:has(>[data-button=panel]){padding-right:calc(var(--clover-control) + var(--clover-space-s))}.clover-canvas>.clover-canvas-controls>[data-button=panel]{position:absolute;top:0;right:0;--clover-controls-shown: 1;--clover-controls-events: auto}.clover-canvas>.clover-canvas-controls>:is([data-button=information],[data-button=annotations]),.clover-canvas-transport-bar>[data-button=play]{--clover-controls-shown: 1;--clover-controls-events: auto}.clover-canvas:is([data-controls=visible],:has(:focus-visible,[aria-expanded=true]:not([data-button=panel])),:has(>.clover-canvas-controls>:not([data-button=panel],[data-button=information],[data-button=annotations]):hover,>.clover-canvas-navigator:hover,.clover-canvas-transport-seek-area:hover,.clover-canvas-transport-bar>:not([data-button=play]):hover)){--clover-controls-shown: 1;--clover-controls-events: auto;--clover-controls-timing: var(--clover-controls-enter)}.clover-canvas>.clover-canvas-controls>*,.clover-canvas>.clover-canvas-navigator,.clover-canvas>.clover-canvas-media>.clover-canvas-transport:before,.clover-canvas>.clover-canvas-media>.clover-canvas-transport>.clover-canvas-transport-seek-area,.clover-canvas>.clover-canvas-media>.clover-canvas-transport>.clover-canvas-transport-bar>*{opacity:var(--clover-controls-shown);translate:0 calc((1 - var(--clover-controls-shown)) * var(--clover-controls-edge, -1) * var(--clover-controls-tuck));transition:all var(--clover-controls-timing),z-index 0s}:where([data-high-contrast]) :is(.clover-canvas>.clover-canvas-controls>*,.clover-canvas>.clover-canvas-navigator,.clover-canvas>.clover-canvas-media>.clover-canvas-transport>.clover-canvas-transport-seek-area,.clover-canvas>.clover-canvas-media>.clover-canvas-transport>.clover-canvas-transport-bar>*){transition:opacity var(--clover-controls-timing),translate var(--clover-controls-timing),z-index 0s}.clover-canvas>.clover-canvas-controls>*,.clover-canvas>.clover-canvas-navigator,.clover-canvas-transport>.clover-canvas-transport-seek-area,.clover-canvas-transport-bar>*{pointer-events:var(--clover-controls-events)}@media (prefers-reduced-motion: reduce){.clover-canvas{--clover-controls-leave: 0s;--clover-controls-enter: 0s;--clover-controls-tuck: 0px}}.clover-canvas-navigator{position:absolute;z-index:2;top:var(--clover-canvas-controls-inset);left:var(--clover-canvas-controls-inset);width:calc(var(--clover-space-2xl) + var(--clover-space-xl));height:var(--clover-space-2xl);overflow:hidden;background-color:#000d;border-radius:var(--clover-radius, 3px);cursor:pointer;touch-action:none}.clover-canvas-navigator-image{position:absolute;inset:0;width:100%;height:100%}.clover-canvas-navigator-region{position:absolute;top:0;left:0;box-sizing:border-box;border:2px solid var(--clover-color-accent, #0065c3);pointer-events:none}.clover-canvas-viewport:focus-visible:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;box-shadow:inset 0 0 0 2px var(--clover-color-primary, #1a1d1e),inset 0 0 0 5px var(--clover-color-accent, #0065c3),inset 0 0 0 7px var(--clover-color-secondary, #fff)}@media (forced-colors: active){.clover-canvas-viewport:focus-visible{outline:3px solid CanvasText;outline-offset:-3px}}.clover-canvas-caption{padding:var(--clover-space-m);outline:none;transform:translateY(calc(-1 * var(--clover-space-m)));opacity:0;visibility:hidden;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .2s ease,visibility 0s linear .3s}.clover-canvas-caption[data-open=true]{transform:none;opacity:1;visibility:visible;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .2s ease,visibility 0s}.clover-canvas-caption:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:2px}@media (prefers-reduced-motion: reduce){.clover-canvas-caption,.clover-canvas-caption[data-open=true]{transform:none;transition:none}}.clover-canvas-caption>button.clover-canvas-caption-close{float:right;margin:calc(-1 * var(--clover-space-2xs)) calc(-1 * var(--clover-space-2xs)) var(--clover-space-s) var(--clover-space-s)}.clover-canvas-caption-canvas+.clover-canvas-caption-canvas{margin-top:var(--clover-space-m);padding-top:var(--clover-space-m);border-top:1px solid var(--clover-color-secondary-muted, #e6e8eb)}.clover-canvas-caption .clover-canvas-caption-label{margin:0 0 var(--clover-space-s);font-size:inherit;font-weight:600}.clover-canvas-caption p{margin:0}.clover-canvas-caption .clover-read-more{margin-bottom:var(--clover-space-s)}.clover-canvas-caption a{color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) )}.clover-canvas-caption-annotations{margin-top:var(--clover-space-s)}.clover-canvas-caption .clover-canvas-caption-annotations-label{margin-bottom:var(--clover-space-xs);font-weight:500}.clover-canvas-caption-annotations>ul{display:flex;flex-direction:column;gap:var(--clover-space-s);margin:0;padding:0;list-style:none}.clover-canvas-place{width:min(22rem,100%)}.clover-canvas-place .clover-geomap{--clover-map-height: 16rem;--clover-map-controls-top: calc( var(--clover-control) + var(--clover-space-s) )}.clover-canvas-place>button.clover-canvas-caption-close{position:absolute;z-index:3;top:calc(var(--clover-space-m) + var(--clover-inset));right:calc(var(--clover-space-m) + var(--clover-inset));float:none;margin:0}.clover-canvas-placeholder{position:absolute;inset:0;padding:var(--clover-canvas-inset);z-index:0;display:flex;align-items:center;justify-content:center;container-type:size;cursor:zoom-in}.clover-canvas-placeholder[data-lingering=true]{pointer-events:none}.clover-canvas-placeholder-frame{display:flex;width:min(100cqw,100cqh * var(--ratio));aspect-ratio:var(--ratio)}.clover-canvas-placeholder[data-vertical=true]>.clover-canvas-placeholder-frame{flex-direction:column}.clover-canvas-placeholder-frame>img{display:block;min-width:0;min-height:0;object-fit:contain;color:transparent}.clover-canvas-placeholder:not([data-vertical=true])>.clover-canvas-placeholder-frame>img{height:100%}.clover-canvas-placeholder[data-vertical=true]>.clover-canvas-placeholder-frame>img{width:100%}.clover-canvas[data-placeholder=true]>.clover-canvas-viewport{visibility:hidden}button.clover-canvas-placeholder-toggle{position:absolute;top:var(--clover-canvas-controls-inset);right:var(--clover-canvas-controls-inset);z-index:3;margin:0;transition:var(--clover-transition, all .2s cubic-bezier(.16, 1, .3, 1))}.clover-canvas[data-placeholder=true][data-media]>button.clover-canvas-placeholder-toggle{z-index:1;top:50%;right:50%;width:var(--clover-space-2xl);height:var(--clover-space-2xl);transform:translate(50%,-50%);box-shadow:0 4px 16px #0003}.clover-canvas[data-placeholder=true][data-media]>button.clover-canvas-placeholder-toggle svg{width:calc(var(--clover-space-2xl) / (1 + 2 * .618));height:calc(var(--clover-space-2xl) / (1 + 2 * .618))}.clover-canvas-placeholder[data-media=true]{cursor:pointer}.clover-canvas[data-placeholder=true][data-media]>.clover-canvas-controls[data-has-placeholder=true]{right:var(--clover-canvas-controls-inset)}.clover-canvas[data-placeholder=true][data-media]:has(>.clover-canvas-placeholder[data-media=true]:hover)>button.clover-canvas-placeholder-toggle{background-color:var(--clover-color-accent, #0065c3)}:where([data-high-contrast]) .clover-canvas[data-placeholder=true][data-media]>button.clover-canvas-placeholder-toggle:is(:hover,:focus-visible),:where([data-high-contrast]) .clover-canvas[data-placeholder=true][data-media]:has(>.clover-canvas-placeholder[data-media=true]:hover)>button.clover-canvas-placeholder-toggle{background-color:var(--clover-accent-fill)}:where([data-high-contrast]) .clover-canvas[data-placeholder=true][data-media]>button.clover-canvas-placeholder-toggle:hover:not(:focus-visible),:where([data-high-contrast]) .clover-canvas[data-placeholder=true][data-media]:has(>.clover-canvas-placeholder[data-media=true]:hover)>button.clover-canvas-placeholder-toggle:not(:focus-visible){outline:var(--clover-accent-ring-hover);outline-offset:1px}.clover-canvas[data-placeholder=true]>.clover-canvas-controls>*{--clover-controls-shown: 1;--clover-controls-events: auto}@media (prefers-reduced-motion: reduce){button.clover-canvas-placeholder-toggle{transition:none}}.clover-canvas:has(>.clover-canvas-controls>[data-button=panel])>.clover-canvas-controls[data-has-placeholder=true]{--top: var(--clover-canvas-controls-inset);right:var(--clover-canvas-controls-inset)}.clover-canvas[data-placeholder]:not([data-placeholder=true][data-media]):has(>.clover-canvas-controls>[data-button=panel])>.clover-canvas-controls{padding-right:calc(2 * (var(--clover-control) + var(--clover-space-s)))}.clover-canvas[data-placeholder]:not([data-placeholder=true][data-media]):has(>.clover-canvas-controls>[data-button=panel])>button.clover-canvas-placeholder-toggle{right:calc(var(--clover-canvas-controls-inset) + var(--clover-control) + var(--clover-space-s))}:is(.clover-canvas-caption,.clover-canvas-menu){position:absolute;z-index:2;box-sizing:border-box;min-width:12rem;overflow-y:auto;overscroll-behavior:contain;border-radius:var(--clover-radius, 6px);background:var(--clover-color-secondary, #fff);color:var(--clover-color-primary, #1a1d1e);box-shadow:0 4px 16px #0001}.clover-canvas>:is(.clover-canvas-caption,.clover-canvas-menu){--top: calc( var(--clover-canvas-controls-inset) + var(--clover-canvas-controls-height, var(--clover-control)) + var(--clover-space-s) );top:var(--top);right:var(--clover-canvas-controls-inset);max-width:min(22rem,calc(100% - 2 * var(--clover-canvas-controls-inset)));max-height:calc(100% - var(--top) - var(--clover-canvas-controls-inset))}.clover-canvas[data-media]>:is(.clover-canvas-caption,.clover-canvas-menu){max-height:max(calc(100% - var(--top) - var(--clover-transport-room)),min(2 * var(--clover-space-2xl),calc(100% - var(--top) - var(--clover-canvas-controls-inset))))}.clover-canvas[data-popups=beside]>:is(.clover-canvas-caption,.clover-canvas-menu){--top: var(--clover-canvas-controls-inset);right:calc(var(--clover-canvas-controls-inset) + var(--clover-canvas-controls-width, var(--clover-control)) + var(--clover-space-s));left:var(--clover-canvas-controls-inset);min-width:0;max-width:none}.clover-canvas[data-popups=beside][data-exit]>:is(.clover-canvas-caption,.clover-canvas-menu){--top: calc( var(--clover-canvas-controls-inset) + var(--clover-control) + var(--clover-space-s) )}.clover-canvas:has(>:is(.clover-canvas-caption[data-open=true],.clover-canvas-menu))>.clover-canvas-navigator{opacity:0;visibility:hidden}.clover-canvas-menu{padding:var(--clover-space-xs)}.clover-canvas-menu fieldset{margin:0;padding:0;border:0}.clover-canvas-menu fieldset+fieldset{margin-top:var(--clover-space-s)}.clover-canvas-menu legend{padding:var(--clover-space-2xs) var(--clover-space-s);color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-s)}.clover-canvas-menu label{display:flex;align-items:center;gap:var(--clover-space-xs);padding:var(--clover-space-xs) var(--clover-space-s);border-radius:var(--clover-radius, 6px);cursor:pointer}.clover-canvas-menu label:hover,.clover-canvas-menu label[data-active=true]{background:var(--clover-color-secondary-muted, #e6e8eb)}.clover-canvas-menu label[data-disabled]{cursor:default;opacity:.38;pointer-events:none}.clover-canvas-menu input{margin:0;accent-color:var(--clover-color-accent, #0065c3)}.clover-canvas-menu-image{flex:none;width:auto;height:var(--clover-space-xl);border-radius:var(--clover-radius, 3px)}}');i(17,"styles-2",'@layer clover{.clover-canvas-controls{--top: var(--clover-canvas-controls-inset);position:absolute;z-index:1;top:var(--top);right:var(--clover-canvas-controls-inset);display:flex;flex-wrap:wrap;align-content:flex-start;justify-content:flex-end;gap:var(--clover-space-s);max-height:calc(100% - var(--top) - var(--clover-canvas-controls-inset))}.clover-canvas-controls[data-has-placeholder=true]{right:calc(var(--clover-canvas-controls-inset) + var(--clover-control) + var(--clover-space-s))}:is(button.clover-canvas-button,button.clover-canvas-transport-button,button.clover-items-scroll-prev,button.clover-items-scroll-next,button.clover-pager-previous,button.clover-pager-next,button.clover-panel-close,button.clover-sections-scroll-prev,button.clover-sections-scroll-next){display:flex;flex-shrink:0;align-items:center;justify-content:center;box-sizing:border-box;width:var(--clover-control);height:var(--clover-control);margin:0;padding:0;border:0;border-radius:var(--clover-radius-pill, 2rem);background-color:var(--clover-color-control, #1a1d1e);color:var(--clover-color-control-glyph, #fff);cursor:pointer;transition:var(--clover-transition, all .2s cubic-bezier(.16, 1, .3, 1))}:is(button.clover-canvas-button,button.clover-canvas-transport-button,button.clover-items-scroll-prev,button.clover-items-scroll-next,button.clover-pager-previous,button.clover-pager-next,button.clover-panel-close,button.clover-sections-scroll-prev,button.clover-sections-scroll-next) svg{flex-shrink:0;width:1rem;height:1rem;transition:var(--clover-transition, all .2s cubic-bezier(.16, 1, .3, 1))}button.clover-canvas-button svg{fill:currentColor;stroke:currentColor}:is(button.clover-canvas-button,button.clover-items-scroll-prev,button.clover-items-scroll-next,button.clover-pager-previous,button.clover-pager-next,button.clover-panel-close,button.clover-sections-scroll-prev,button.clover-sections-scroll-next):is(:hover,:focus-visible){background-color:var(--clover-color-accent, #0065c3)}:where([data-high-contrast]) :is(button.clover-canvas-button,button.clover-items-scroll-prev,button.clover-items-scroll-next,button.clover-pager-previous,button.clover-pager-next,button.clover-panel-close,button.clover-sections-scroll-prev,button.clover-sections-scroll-next):is(:hover,:focus-visible){background-color:var(--clover-accent-fill)}:where([data-high-contrast]) :is(button.clover-canvas-button,button.clover-items-scroll-prev,button.clover-items-scroll-next,button.clover-pager-previous,button.clover-pager-next,button.clover-panel-close,button.clover-sections-scroll-prev,button.clover-sections-scroll-next):hover:not(:focus-visible){outline:var(--clover-accent-ring-hover);outline-offset:1px}:is(button.clover-pager-previous,button.clover-pager-next,button.clover-items-scroll-prev,button.clover-items-scroll-next,button.clover-canvas-transport-button)[aria-disabled=true]{cursor:default}:is(button.clover-pager-previous,button.clover-pager-next,button.clover-items-scroll-prev,button.clover-items-scroll-next,button.clover-canvas-transport-button)[aria-disabled=true] svg{opacity:.5}:is(button.clover-pager-previous,button.clover-pager-next,button.clover-items-scroll-prev,button.clover-items-scroll-next,button.clover-canvas-transport-button)[aria-disabled=true]:not(:focus-visible),:is(button.clover-pager-previous,button.clover-pager-next,button.clover-items-scroll-prev,button.clover-items-scroll-next):disabled{opacity:.38;pointer-events:none}button.clover-canvas-button:is([data-button=rotate-right],[data-button=rotate-left]):is(:hover,:focus-visible) svg{rotate:45deg}button.clover-canvas-button[data-button=rotate-left] svg{scale:-1 1}button.clover-canvas-button[data-button=rotate-left]:is(:hover,:focus-visible) svg{rotate:-45deg}button.clover-canvas-button[data-button=reset]:is(:hover,:focus-visible) svg{rotate:-15deg}@media (prefers-reduced-motion: reduce){:is(button.clover-canvas-button,button.clover-canvas-transport-button) svg{transition:none}}:where(:has(>.clover-tip)){position:relative}.clover-tip{position:absolute;z-index:4;bottom:calc(100% + var(--clover-space-xs));left:50%;translate:-50% 0;display:block;padding:var(--clover-space-2xs) var(--clover-space-xs);border-radius:var(--clover-radius, 3px);background-color:var(--clover-color-primary, #1a1d1e);color:var(--clover-color-secondary, #fff);font-size:var(--clover-text-s);font-weight:400;box-sizing:border-box;width:max-content;max-width:var(--clover-tip-room, none);white-space:normal;overflow-wrap:anywhere;transform:translate(var(--clover-tip-shift, 0px));pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility 0s linear .12s}:is(.clover-tip-image,.clover-annotations-image){display:block;width:auto;max-width:100%;height:auto;max-height:var(--clover-items-height, 8rem)}.clover-tip-image{margin-block-end:var(--clover-space-xs);border-radius:calc(var(--clover-radius, 3px) / 2)}.clover-tip-lead{display:block;color:var(--clover-color-secondary, #fff);font-weight:600;font-variant-numeric:tabular-nums}.clover-tip:has(>.clover-tip-lead){color:var(--clover-color-secondary-alt, #c1c8cd)}.clover-tip:before{position:absolute;inset-inline:0;top:100%;height:var(--clover-space-xs);content:""}:hover>.clover-tip{opacity:1;visibility:visible;pointer-events:auto;transition-delay:.4s}:focus-visible>.clover-tip,label:has(>input:focus-visible):not([data-tip-hidden])>.clover-tip{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}[data-tip-hidden]>.clover-tip{opacity:0;transition:none;pointer-events:none}:is(.clover-canvas-controls,.clover-panel,.clover-template-document-toolbar,.clover-template-lightbox-header) .clover-tip,button.clover-canvas-placeholder-toggle>.clover-tip,button.clover-canvas-caption-close>.clover-tip,button.clover-template-document-sidebar-toggle>.clover-tip,:is(.clover-template-default-spine,.clover-template-document-spine) .clover-tip{top:calc(100% + var(--clover-space-xs));bottom:auto}:is(.clover-canvas-controls,.clover-panel,.clover-template-document-toolbar,.clover-template-lightbox-header) .clover-tip:before,button.clover-canvas-placeholder-toggle>.clover-tip:before,button.clover-canvas-caption-close>.clover-tip:before,button.clover-template-document-sidebar-toggle>.clover-tip:before,:is(.clover-template-default-spine,.clover-template-document-spine) .clover-tip:before{top:auto;bottom:100%}:is(.clover-canvas-transport-bar,.clover-template-document-toolbar)>:first-child .clover-tip,button.clover-items-scroll-prev>.clover-tip,button.clover-sections-scroll-prev>.clover-tip,.clover-transcript-languages>.clover-transcript-language>.clover-tip,.clover-template-document-sidebar-closed>button.clover-template-document-sidebar-toggle>.clover-tip,.clover-panel[data-floating]>button.clover-panel-close>.clover-tip{inset-inline:0 auto;translate:none}:is(.clover-canvas-transport-end,.clover-template-lightbox-header)>:last-child .clover-tip,.clover-canvas-controls>button:last-of-type>.clover-tip,button.clover-canvas-caption-close>.clover-tip,button.clover-items-scroll-next>.clover-tip,button.clover-sections-scroll-next>.clover-tip,button.clover-canvas-placeholder-toggle>.clover-tip,.clover-panel:not([data-floating])>button.clover-panel-close>.clover-tip,.clover-sections-actions .clover-transcript-languages>.clover-transcript-language>.clover-tip{inset-inline:auto 0;translate:none}:is(button,a).clover-canvas-annotation>.clover-tip{text-align:start;--clover-tip-x: clamp( var(--clover-space-xs) - var(--clover-overlay-x, 50cqw), -50%, 100cqw - var(--clover-space-xs) - var(--clover-overlay-x, 50cqw) - 100% );top:100%;bottom:auto;max-width:min(18rem,100cqw - 2 * var(--clover-space-xs));max-height:calc(100cqh - 2 * var(--clover-space-xs));overflow-y:auto;border:solid transparent;border-width:var(--clover-space-xs) 0 0;background-clip:padding-box;translate:var(--clover-tip-x) 0;transform:none}:is(button,a).clover-canvas-annotation>.clover-tip:before{content:none}:is(button,a).clover-canvas-annotation[data-active=true][aria-current=true]:not([data-tip-hidden])>.clover-tip{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}:is(button,a).clover-canvas-annotation[data-overlay-room=below]>.clover-tip{top:100%;translate:var(--clover-tip-x) clamp(0px - var(--clover-overlay-bottom),0px,100cqh - var(--clover-overlay-bottom) - var(--clover-space-xs) - 100%)}:is(button,a).clover-canvas-annotation[data-overlay-room=above]>.clover-tip{top:auto;bottom:100%;border-width:0 0 var(--clover-space-xs);translate:var(--clover-tip-x) clamp(100% + var(--clover-space-xs) - var(--clover-overlay-top),0px,100cqh - var(--clover-overlay-top))}.clover-split-handle>.clover-tip{top:50%;bottom:auto;inset-inline:calc(100% + var(--clover-space-xs)) auto;translate:0 -50%;cursor:default}.clover-split-handle>.clover-tip:before{inset-block:0;inset-inline:auto 100%;width:var(--clover-space-xs);height:auto}@media (prefers-reduced-motion: reduce){.clover-tip{transition:none}}@media (forced-colors: active){.clover-tip{outline:1px solid CanvasText}}.clover-tip-after{margin-inline-start:var(--clover-space-xs);font-size:var(--clover-text-xs);font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}label.clover-hide{position:relative;display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:var(--clover-space-l);height:var(--clover-space-l);gap:0;padding:0;border-radius:50%;color:var(--clover-color-primary-muted, #26292b);cursor:pointer}label.clover-hide svg{width:var(--clover-text-s);height:var(--clover-text-s)}label.clover-hide:is(:hover,:has(input:focus-visible)){background-color:var(--clover-color-accent, #0065c3);color:var(--clover-color-control-glyph, #fff)}:where([data-high-contrast]) label.clover-hide:is(:hover,:has(input:focus-visible)){background-color:var(--clover-accent-fill)}:where([data-high-contrast]) label.clover-hide:hover:not(:has(input:focus-visible)){outline:var(--clover-accent-ring-hover);outline-offset:1px}label.clover-hide:has(input:focus-visible){outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:2px}label.clover-hide input{position:absolute;margin:0;opacity:0;pointer-events:none}@media (forced-colors: active){label.clover-hide:is(:hover,:has(input:focus-visible)){background-color:Highlight;color:HighlightText}}button.clover-sections-button{display:flex;align-items:center;gap:var(--clover-space-xs);margin:0;padding:var(--clover-space-xs) var(--clover-space-s);border:0;background:none;color:var(--clover-color-primary-muted, #26292b);font-weight:600;text-align:start;cursor:pointer}.clover-sections-panel{outline:none}.clover-sections-panel:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3)}.clover-sections[data-layout=tabs] .clover-sections-tabs{--clover-sections-fade: calc(var(--clover-control) + var(--clover-space-s));border-bottom:1px solid var(--clover-color-secondary-muted, #e6e8eb)}.clover-sections[data-layout=tabs] .clover-sections-row{position:relative}.clover-sections[data-layout=tabs] .clover-sections-list{display:flex;flex-wrap:nowrap;gap:var(--clover-space-2xs);scroll-padding-inline:var(--clover-sections-fade);scrollbar-width:none}.clover-sections[data-layout=tabs] .clover-sections-list::-webkit-scrollbar{display:none}.clover-sections[data-layout=tabs] button.clover-sections-button{flex:none;border-bottom:2px solid transparent;white-space:nowrap}.clover-sections-tabs[data-more=end] .clover-sections-list{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - var(--clover-sections-fade)),transparent);mask-image:linear-gradient(to right,#000 calc(100% - var(--clover-sections-fade)),transparent)}.clover-sections-tabs[data-more=start] .clover-sections-list{-webkit-mask-image:linear-gradient(to left,#000 calc(100% - var(--clover-sections-fade)),transparent);mask-image:linear-gradient(to left,#000 calc(100% - var(--clover-sections-fade)),transparent)}.clover-sections-tabs[data-more="start end"] .clover-sections-list{-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--clover-sections-fade),#000 calc(100% - var(--clover-sections-fade)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--clover-sections-fade),#000 calc(100% - var(--clover-sections-fade)),transparent)}.clover-sections-tabs[data-more=end]:dir(rtl) .clover-sections-list{-webkit-mask-image:linear-gradient(to left,#000 calc(100% - var(--clover-sections-fade)),transparent);mask-image:linear-gradient(to left,#000 calc(100% - var(--clover-sections-fade)),transparent)}.clover-sections-tabs[data-more=start]:dir(rtl) .clover-sections-list{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - var(--clover-sections-fade)),transparent);mask-image:linear-gradient(to right,#000 calc(100% - var(--clover-sections-fade)),transparent)}:is(button.clover-sections-scroll-prev,button.clover-sections-scroll-next){position:absolute;top:50%;z-index:1;translate:0 -50%}:is(button.clover-sections-scroll-prev,button.clover-sections-scroll-next)[hidden]{display:none}button.clover-sections-scroll-prev{inset-inline-start:0}button.clover-sections-scroll-next{inset-inline-end:0}:is(button.clover-sections-scroll-prev,button.clover-sections-scroll-next):dir(rtl) svg{scale:-1 1}.clover-sections[data-layout=tabs] button.clover-sections-button[aria-selected=true]{border-bottom-color:var(--clover-color-accent, #0065c3);color:var(--clover-color-primary, #1a1d1e)}.clover-sections[data-layout=tabs] .clover-sections-panel{padding-top:var(--clover-space-m)}.clover-sections[data-layout=accordion]{--clover-sections-step: calc( 1lh + var(--clover-space-s) + 2 * var(--clover-space-2xs) + 3px );--clover-sections-total: calc( var(--clover-sections-count) * var(--clover-sections-step) );display:flex;flex-direction:column}.clover-sections[data-layout=accordion] .clover-sections-item{display:contents;--clover-sections-before: calc( var(--clover-sections-index) * var(--clover-sections-step) );--clover-sections-after: calc( var(--clover-sections-total) - var(--clover-sections-before) - var(--clover-sections-step) )}.clover-sections-heading{margin:0;font-size:inherit}.clover-sections[data-layout=accordion] .clover-sections-heading{position:sticky;font-size:var(--clover-text-m);z-index:1;top:calc(var(--clover-sections-inset-start, 0px) + var(--clover-sections-before));bottom:calc(var(--clover-sections-inset-end, 0px) + var(--clover-sections-after));padding-bottom:3px;background-color:var(--clover-color-secondary, #fff)}.clover-sections[data-layout=accordion] .clover-sections-panel *{scroll-margin-block:calc(var(--clover-sections-inset-start, 0px) + var(--clover-sections-total) - var(--clover-sections-after)) calc(var(--clover-sections-inset-end, 0px) + var(--clover-sections-after))}.clover-sections[data-layout=accordion][data-stacks=off] .clover-sections-heading{position:relative;inset-block:auto}.clover-sections[data-layout=accordion][data-stacks=off] .clover-sections-panel *{scroll-margin-block:0}@media (max-height: 32rem){.clover-sections[data-layout=accordion] .clover-sections-heading{position:relative;inset-block:auto}.clover-sections[data-layout=accordion] .clover-sections-panel *{scroll-margin-block:0}}.clover-sections[data-layout=accordion]>*+*>.clover-sections-heading{padding-top:var(--clover-space-2xs)}.clover-sections[data-layout=accordion]>[data-open=true]+*>.clover-sections-heading{padding-top:var(--clover-space-s)}.clover-sections-reach{position:absolute;inset-block:0;inset-inline:calc(-1 * var(--clover-sections-gutter, 0px));z-index:-1}.clover-sections[data-layout=accordion]>:first-child>.clover-sections-heading:before,.clover-sections[data-layout=accordion]>:last-child:not([data-open=true])>.clover-sections-heading:after{content:"";position:absolute;inset-inline:0;background-color:inherit}.clover-sections[data-layout=accordion]>:first-child>.clover-sections-heading:before{bottom:100%;height:var(--clover-sections-inset-start, 0px)}.clover-sections[data-layout=accordion]>:last-child:not([data-open=true])>.clover-sections-heading:after{top:100%;height:var(--clover-sections-inset-end, 0px)}@supports (animation-timeline: scroll()){.clover-sections[data-layout=accordion]>[data-open=true]>.clover-sections-heading>button:after,.clover-sections[data-layout=accordion]>[data-open=true]+*>.clover-sections-heading>button:before{content:"";position:absolute;inset-inline:0;height:var(--clover-space-xs);background:linear-gradient(var(--clover-sections-shade),rgb(0 0 0 / .05),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--clover-space-m),#000 calc(100% - var(--clover-space-m)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--clover-space-m),#000 calc(100% - var(--clover-space-m)),transparent);opacity:0;pointer-events:none;animation:clover-shade linear both;animation-timeline:scroll()}.clover-sections[data-layout=accordion]>[data-open=true]>.clover-sections-heading>button:after{--clover-sections-shade: to bottom;top:calc(100% + 3px);animation-range:0 var(--clover-space-m)}.clover-sections[data-layout=accordion]>[data-open=true]+*>.clover-sections-heading>button:before{--clover-sections-shade: to top;bottom:calc(100% + var(--clover-space-s));animation-direction:reverse;animation-range:calc(100% - var(--clover-space-m)) 100%}}@keyframes clover-shade{0%{opacity:0}to{opacity:1}}.clover-sections[data-layout=accordion] button.clover-sections-button{position:relative;justify-content:space-between;width:100%;padding:var(--clover-space-s) var(--clover-space-s) var(--clover-space-2xs);padding-inline-end:calc(var(--clover-space-s) + var(--clover-sections-actions, 0px));border-radius:inherit;color:var(--clover-color-primary, #1a1d1e)}.clover-sections[data-layout=accordion] .clover-sections-actions{--clover-sections-own: calc( var(--clover-sections-total) - var(--clover-sections-before) - var(--clover-sections-after) );position:sticky;z-index:2;top:calc(var(--clover-sections-inset-start, 0px) + var(--clover-sections-before));bottom:calc(var(--clover-sections-inset-end, 0px) + var(--clover-sections-after));display:flex;align-items:center;align-self:flex-end;box-sizing:border-box;height:var(--clover-sections-own);margin-top:calc(-1 * var(--clover-sections-own));padding:var(--clover-space-s) var(--clover-space-s) calc(var(--clover-space-2xs) + 3px);font-size:var(--clover-text-m);pointer-events:none}.clover-sections[data-layout=accordion]>*+*>.clover-sections-actions{padding-top:calc(var(--clover-space-2xs) + var(--clover-space-s))}.clover-sections-actions>*{pointer-events:auto}.clover-sections[data-layout=accordion] .clover-sections-actions:is(:empty,[hidden]){display:none}.clover-sections[data-layout=accordion][data-stacks=off] .clover-sections-actions{position:relative;inset-block:auto}@media (max-height: 32rem){.clover-sections[data-layout=accordion] .clover-sections-actions{position:relative;inset-block:auto}}.clover-sections[data-layout=accordion] .clover-sections-label{overflow-wrap:anywhere}.clover-sections[data-layout=accordion] .clover-sections-label:after{content:"";position:absolute;inset-inline:var(--clover-space-s);bottom:-3px;height:3px;background-color:color-mix(in srgb,var(--clover-color-secondary-alt, #c1c8cd) 50%,transparent)}.clover-sections[data-layout=accordion] [aria-expanded=false]:hover>.clover-sections-label:after{background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 50%,transparent)}.clover-sections[data-layout=accordion] [aria-expanded=true]>.clover-sections-label:after{background-color:var(--clover-color-accent, #0065c3)}@media (forced-colors: active){.clover-sections[data-layout=accordion] .clover-sections-label:after{background-color:CanvasText}.clover-sections[data-layout=accordion] [aria-expanded=true]>.clover-sections-label:after{background-color:Highlight}}.clover-sections[data-layout=accordion] button.clover-sections-button[aria-disabled]{background:none;cursor:default}.clover-sections[data-layout=accordion] button.clover-sections-button[aria-disabled=true] .clover-sections-chevron{color:var(--clover-color-accent, #0065c3)}.clover-sections[data-layout=accordion] .clover-sections-item[data-actions] .clover-sections-chevron{position:absolute;inset-inline-end:var(--clover-space-s)}.clover-sections[data-layout=accordion] .clover-sections-item[data-actions] .clover-sections-actions{padding-inline-end:calc(var(--clover-space-s) + var(--clover-chevron) + var(--clover-space-m))}.clover-sections[data-layout=accordion] .clover-sections-panel{isolation:isolate;margin-bottom:var(--clover-space-2xs);padding:var(--clover-space-m) var(--clover-space-s)}.clover-read-more{display:flex;flex-direction:column;align-items:flex-start;gap:var(--clover-space-xs);min-width:0}button.clover-read-more-button{margin:0;padding:0;border:0;background:none;color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) );font-size:var(--clover-text-s);text-decoration:underline 1px;text-decoration-color:color-mix(in srgb,currentColor 20%,transparent);text-underline-offset:var(--clover-space-3xs);cursor:pointer}button.clover-read-more-button:hover{text-decoration-color:currentColor}button.clover-read-more-button:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:2px;border-radius:var(--clover-radius, 3px)}.clover-field-pill{display:flex;align-items:center;gap:var(--clover-space-2xs);box-sizing:border-box;padding:var(--clover-space-3xs);padding-inline-start:var(--clover-space-s);border:1px solid var( --clover-field-edge, color-mix( in srgb, var(--clover-color-primary-muted, #26292b) 80%, var(--clover-color-secondary, #fff) ) );border-radius:calc(var(--clover-radius-pill, 2rem) + var(--clover-space-3xs) + 1px);background-color:var(--clover-color-secondary, #fff);box-shadow:0 1px 2px #0000000a,0 2px 8px #0000000f;transition:box-shadow .16s}.clover-field-pill:hover{box-shadow:0 1px 2px #0000000f,0 4px 14px #00000014}.clover-field-pill:has(.clover-field-pill-query:focus-visible){outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:1px}.clover-field-pill .clover-field-pill-query{flex:1 1 auto;min-width:0;padding:var(--clover-space-2xs) 0;border:0;border-radius:0;background:transparent;outline:none}.clover-field-pill-query::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}button.clover-field-pill-clear{position:relative;display:flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:var(--clover-space-l);height:var(--clover-space-l);margin:0;padding:0;border:0;border-radius:var(--clover-radius-pill, 2rem);background-color:transparent;color:var(--clover-color-primary-muted, #26292b);cursor:pointer;transition:background-color .12s,color .12s}button.clover-field-pill-clear:is(:hover,:focus-visible){background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 12%,transparent);color:var(--clover-color-primary, #1a1d1e)}button.clover-field-pill-clear:active{background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 22%,transparent)}button.clover-field-pill-clear:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:1px}@media (forced-colors: active){button.clover-field-pill-clear:is(:hover,:focus-visible){background-color:Highlight;color:HighlightText}}@supports not selector(:has(*)){.clover-field-pill .clover-field-pill-query:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3)}}button.clover-field-pill-submit{position:relative;display:flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:var(--clover-control);height:var(--clover-control);margin:0;padding:0;border:0;border-radius:var(--clover-radius-pill, 2rem);background-color:var(--clover-color-accent, #0065c3);color:var(--clover-color-control-glyph, #fff);cursor:pointer;transition:background-color .12s}button.clover-field-pill-submit svg{width:1rem;height:1rem;transition:scale .12s}.clover-field-pill[data-size=small] button.clover-field-pill-submit{width:var(--clover-space-l);height:var(--clover-space-l)}.clover-field-pill[data-size=small] button.clover-field-pill-submit svg{width:.875rem;height:.875rem}.clover-field-pill[data-size=small] .clover-field-pill-query{padding-block:0}button.clover-field-pill-submit:is(:hover,:focus-visible){background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 85%,var(--clover-color-primary, #1a1d1e))}:where([data-high-contrast]) button.clover-field-pill-submit,:where([data-high-contrast]) button.clover-field-pill-submit:is(:hover,:focus-visible){background-color:var(--clover-accent-fill);transition:none}:where([data-high-contrast]) button.clover-field-pill-submit:hover:not(:focus-visible){outline:var(--clover-accent-ring-hover);outline-offset:1px}button.clover-field-pill-submit:is(:hover,:focus-visible) svg{scale:1.1}button.clover-field-pill-submit:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:2px}@media (forced-colors: active){button.clover-field-pill-submit{border:1px solid ButtonText}}@media (prefers-reduced-motion: reduce){.clover-field-pill,button.clover-field-pill-clear,button.clover-field-pill-submit,button.clover-field-pill-submit svg{transition:none}}.clover-field-pill>.clover-steps,.clover-field-pill-note{flex:none;margin-inline-end:var(--clover-space-2xs)}.clover-field-pill-note{color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-xs);font-weight:600;white-space:nowrap}.clover-steps{display:flex;flex:none;align-items:center;gap:var(--clover-space-2xs);font-size:var(--clover-text-xs);line-height:1}.clover-steps-position{display:inline-grid;justify-items:end;margin-inline-end:var(--clover-space-2xs);color:var(--clover-color-primary-muted, #26292b);font-variant-numeric:tabular-nums;font-weight:600}.clover-steps-position>[aria-hidden]{grid-area:1 / 1}.clover-steps-position>.clover-steps-room[hidden]{display:block;visibility:hidden}button.clover-steps-step{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--clover-space-l);height:var(--clover-space-l);margin:0;padding:0;border:0;border-radius:var(--clover-radius-pill, 2rem);background:none;color:var(--clover-color-primary-muted, #26292b);cursor:pointer}button.clover-steps-step:is(:hover,:focus-visible):not([aria-disabled=true]){background-color:var(--clover-color-accent, #0065c3);color:var(--clover-color-control-glyph, #fff)}:where([data-high-contrast]) button.clover-steps-step:is(:hover,:focus-visible):not([aria-disabled=true]){background-color:var(--clover-accent-fill)}:where([data-high-contrast]) button.clover-steps-step:hover:not(:focus-visible,[aria-disabled=true]){outline:var(--clover-accent-ring-hover);outline-offset:1px}button.clover-steps-step:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:2px}button.clover-steps-step[aria-disabled=true]{cursor:default}button.clover-steps-step[aria-disabled=true] svg{opacity:.5}button.clover-steps-step[aria-disabled=true]:not(:focus-visible){opacity:.38;pointer-events:none}@media (forced-colors: active){button.clover-steps-step[aria-disabled=true]{color:GrayText}}.clover-entry-thumbnail{flex:none;width:var(--clover-space-l);height:var(--clover-space-l);object-fit:cover;border-radius:var(--clover-radius, 3px);background-color:var(--clover-color-secondary-muted, #e6e8eb)}.clover-entry-thumbnail[data-large]{grid-column:1 / -1;width:var(--clover-picture);max-width:100%;height:auto}.clover-cue-time{flex:none;min-width:var(--clover-space-l);align-self:baseline;color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-s);font-variant-numeric:tabular-nums}.clover-cue-text{align-self:baseline;min-width:0}:is(.clover-transcript-languages,.clover-annotations-languages,.clover-about-languages){display:flex;flex-wrap:wrap;gap:var(--clover-space-2xs);margin:0;padding:0;border:0;font-size:var(--clover-text-xs);line-height:1}.clover-transcript-languages>.clover-transcript-language,.clover-annotations-languages>.clover-annotations-language,.clover-about-languages>.clover-about-language{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:var(--clover-space-l);min-height:var(--clover-space-l);padding:0 var(--clover-space-xs);border-radius:var(--clover-radius-pill, 2rem);color:var(--clover-color-primary-muted, #26292b);font-weight:600;cursor:pointer}:is(.clover-transcript-language,.clover-annotations-language,.clover-about-language):is(:has(input:checked),:hover,:has(input:focus-visible)){background-color:var(--clover-color-accent, #0065c3);color:var(--clover-color-control-glyph, #fff)}:where([data-high-contrast]) :is(.clover-transcript-language,.clover-annotations-language,.clover-about-language):is(:has(input:checked),:hover,:has(input:focus-visible)){background-color:var(--clover-accent-fill)}:where([data-high-contrast]) :is(.clover-transcript-language,.clover-annotations-language,.clover-about-language):hover:not(:has(input:checked),:has(input:focus-visible)){outline:var(--clover-accent-ring-hover);outline-offset:1px}:where([data-high-contrast]) :is(.clover-transcript-language,.clover-annotations-language,.clover-about-language):has(input:checked):not(:has(input:focus-visible)){outline:var(--clover-accent-ring);outline-offset:1px}:is(.clover-transcript-language,.clover-annotations-language,.clover-about-language):has(input:focus-visible){outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:2px}:is(.clover-transcript-language,.clover-annotations-language,.clover-about-language) input{position:absolute;opacity:0;pointer-events:none}@media (forced-colors: active){:is(.clover-transcript-language,.clover-annotations-language,.clover-about-language):has(input:checked){background-color:Highlight;color:HighlightText}}.clover-summary:not([data-read-more=open]){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--clover-summary-lines, 5);overflow:hidden}:is(.clover-metadata,.clover-required-statement){display:flex;flex-direction:column;gap:var(--clover-space-s);margin:0}:is(.clover-metadata,.clover-required-statement) dt{margin:0;font-weight:500}:is(.clover-metadata,.clover-required-statement) dd{margin:0}.clover-summary,:is(.clover-metadata,.clover-required-statement) :is(dt,dd){overflow-wrap:anywhere}:is(.clover-about,.clover-canvas-caption,.clover-annotations-body,.clover-metadata,.clover-required-statement,.clover-summary) a:not([class]){text-decoration-line:underline;text-underline-offset:var(--clover-space-3xs)}:is(.clover-homepage,.clover-rendering,.clover-see-also,.clover-part-of)>li{min-block-size:24px}:is(.clover-homepage,.clover-rendering,.clover-see-also,.clover-part-of) a,a:is(.clover-id,.clover-rights){color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) );overflow-wrap:anywhere;text-decoration-line:underline;text-underline-offset:var(--clover-space-3xs)}.clover-link-format{color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-s)}.clover-provider{display:flex;flex-wrap:wrap;gap:var(--clover-space-s) var(--clover-space-m);margin:0;padding:0;list-style:none}.clover-provider:empty{display:none}.clover-provider-agent{display:flex;align-items:center;min-block-size:24px}.clover-provider-link,.clover-provider-content{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--clover-space-s)}.clover-provider-link{color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) );overflow-wrap:anywhere;text-decoration-line:underline;text-underline-offset:var(--clover-space-3xs)}.clover-logo{display:block;width:auto;max-width:100%;height:var(--clover-logo-height, 1.618rem);object-fit:contain}.clover-label{text-wrap:balance}.clover-status{margin:0;padding:var(--clover-space-m);color:var(--clover-color-primary-muted, #26292b)}.clover-status[data-status=loading]{display:flex}.clover-status[data-status=error] p{margin:0}.clover-status-detail{font-size:var(--clover-text-s)}.clover-items{--clover-items-height: 8rem;--clover-items-size: 10rem;--clover-items-gap: var(--clover-space-m);--clover-items-ring-room: 4px;--clover-items-lines: 3;color:var(--clover-color-primary, #1a1d1e)}.clover-items-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--clover-space-xs) var(--clover-space-m);margin-bottom:var(--clover-space-s)}.clover-items-title{margin:0;font-size:var(--clover-text-l);font-weight:600}.clover-items-description{flex:1 0 100%;order:3;margin:0;color:var(--clover-color-primary-muted, #26292b)}.clover-items-homepage{margin-inline-start:auto;color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) )}.clover-items-track{margin:0;padding:0;list-style:none;gap:var(--clover-items-gap)}.clover-items-viewport{margin:calc(-1 * var(--clover-items-ring-room));padding:var(--clover-items-ring-room);scroll-padding-inline:var(--clover-items-ring-room);scrollbar-width:none}.clover-items-viewport::-webkit-scrollbar{display:none}.clover-items-viewport[data-dragging]{cursor:grabbing;-webkit-user-select:none;user-select:none}@supports (timeline-scope: --clover-items-track){.clover-items[data-layout=slider] .clover-items-frame{timeline-scope:--clover-items-track}.clover-items[data-layout=slider] .clover-items-viewport{scroll-timeline:--clover-items-track inline}.clover-items[data-layout=slider] .clover-items-frame:before,.clover-items[data-layout=slider] .clover-items-frame:after{content:"";position:absolute;top:var(--clover-items-ring-room);z-index:1;width:var(--clover-space-s);height:var(--clover-items-height);background:linear-gradient(var(--clover-items-shade),rgb(0 0 0 / .16),transparent);-webkit-mask-image:linear-gradient(transparent,#000 var(--clover-space-s),#000 calc(100% - var(--clover-space-s)),transparent);mask-image:linear-gradient(transparent,#000 var(--clover-space-s),#000 calc(100% - var(--clover-space-s)),transparent);opacity:0;pointer-events:none;animation:clover-shade linear both;animation-timeline:--clover-items-track}.clover-items[data-layout=slider] .clover-items-frame:before{--clover-items-shade: to right;left:calc(-1 * var(--clover-items-ring-room));animation-range:0 var(--clover-space-m)}.clover-items[data-layout=slider] .clover-items-frame:after{--clover-items-shade: to left;right:calc(-1 * var(--clover-items-ring-room));animation-direction:reverse;animation-range:calc(100% - var(--clover-space-m)) 100%}.clover-items[data-layout=slider] .clover-items-frame[dir=rtl]:before{--clover-items-shade: to left;right:calc(-1 * var(--clover-items-ring-room));left:auto}.clover-items[data-layout=slider] .clover-items-frame[dir=rtl]:after{--clover-items-shade: to right;left:calc(-1 * var(--clover-items-ring-room));right:auto}}.clover-items[data-layout=list] .clover-items-track{display:flex;flex-direction:column}.clover-items[data-layout=grid] .clover-items-track{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--clover-items-size)),1fr))}.clover-items-item{position:relative;cursor:pointer}.clover-items-link{display:block;color:inherit;text-decoration:none}:is(.clover-items-item[role=option],.clover-items-link){margin:calc(-1 * var(--clover-items-ring-room));padding:var(--clover-items-ring-room);outline:none}.clover-items:not([data-layout=slider]) :is(.clover-items-viewport,.clover-items-item[role=option],.clover-items-link){margin-inline:0;padding-inline:0}.clover-items-figure{display:grid;grid-template-columns:repeat(var(--parts, 1),auto);justify-content:start;gap:var(--clover-space-xs) 0;margin:0}.clover-items-pictures{position:relative;display:grid;grid-column:1 / -1;grid-template-columns:subgrid;border-radius:var(--clover-radius, 3px);outline:3px solid var(--ring-color, transparent);outline-offset:1px;transition:outline-color .2s cubic-bezier(.16,1,.3,1)}.clover-items-picture{position:relative;display:block;overflow:hidden;background-color:var(--clover-color-secondary-muted, #f1f1f1)}.clover-items-picture img{display:block;opacity:0;transition:opacity .3s ease}.clover-items-picture[data-loaded=true] img{opacity:1}.clover-items-picture[data-empty]{display:grid;place-items:center;aspect-ratio:var(--clover-items-ratio, 1);color:var(--clover-color-primary-muted, #26292b)}.clover-items-picture[data-empty]>svg{width:33%;max-width:var(--clover-space-xl);height:auto;fill:currentColor}.clover-items-pictures>.clover-items-picture:first-child{border-start-start-radius:inherit;border-end-start-radius:inherit}.clover-items-pictures>.clover-items-picture:last-child{border-start-end-radius:inherit;border-end-end-radius:inherit}.clover-items-duration{position:absolute;inset-inline-end:var(--clover-space-xs);bottom:var(--clover-space-xs);padding:var(--clover-space-3xs) var(--clover-space-xs);border-radius:var(--clover-radius, 3px);background-color:#000000b8;color:#fff;font-size:var(--clover-text-xs);font-variant-numeric:tabular-nums}.clover-items-caption{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;gap:var(--clover-space-3xs) 0;font-size:var(--clover-text-s)}.clover-items-label{position:relative;contain:inline-size}.clover-items:is([data-layout=slider],[data-layout=grid]) .clover-items-label-text{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:var(--clover-items-lines);line-clamp:var(--clover-items-lines)}.clover-items-label-full{position:absolute;inset-inline:0;bottom:0;z-index:1;padding-block-start:var(--clover-space-2xs);background-color:var(--clover-color-secondary, #fff);box-shadow:0 calc(-1 * var(--clover-space-2xs)) var(--clover-space-s) #00000029;pointer-events:none}:is(.clover-items-item[role=option],.clover-items-link):is(:hover,:focus-visible):not([data-full-hidden]) .clover-items-label[data-clamped]>.clover-items-label-full{display:block}@media (forced-colors: active){.clover-items-label-full{border:1px solid CanvasText}}.clover-items-date{grid-column:1 / -1;color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-xs)}.clover-items-summary{grid-column:1 / -1;color:var(--clover-color-primary-muted, #26292b)}.clover-items[data-layout=slider] .clover-items-picture[data-empty],.clover-items[data-layout=slider] .clover-items-picture img{width:auto;height:var(--clover-items-height)}.clover-items[data-layout=grid] .clover-items-figure{grid-template-columns:repeat(var(--parts, 1),1fr)}.clover-items[data-layout=grid] .clover-items-pictures{aspect-ratio:1;overflow:hidden}.clover-items[data-layout=grid] .clover-items-picture{min-width:0}.clover-items[data-layout=grid] .clover-items-picture img{width:100%;height:100%;object-fit:contain}.clover-items[data-layout=list] .clover-items-figure{grid-template-columns:auto 1fr;align-items:start;gap:0 var(--clover-space-s)}.clover-items[data-layout=list] .clover-items-pictures{grid-column:1;grid-template-columns:repeat(var(--parts, 1),auto);gap:0}.clover-items[data-layout=list] .clover-items-caption{grid-column:2;grid-template-columns:none}.clover-items[data-layout=list] .clover-items-label{contain:none}.clover-items[data-layout=list] .clover-items-picture img{width:auto;height:var(--clover-space-xl)}.clover-items[data-layout=list] .clover-items-picture[data-empty]{height:var(--clover-space-xl)}:is(.clover-items-item[role=option],.clover-items-link):hover{--ring-color: color-mix( in srgb, var(--clover-color-accent, #0065c3) 50%, transparent )}.clover-items-item[aria-selected=true]{--ring-color: var(--clover-color-accent, #0065c3)}:is(.clover-items-item[role=option],.clover-items-link):focus-visible{--ring-color: var(--clover-color-primary, #1a1d1e)}:is(.clover-items-item[role=option],.clover-items-link):focus-visible .clover-items-pictures:after{position:absolute;inset:0;border-radius:inherit;outline:2px solid var(--clover-color-secondary, #fff);outline-offset:-2px;box-shadow:inset 0 0 0 4px var(--clover-color-primary, #1a1d1e);content:"";pointer-events:none}:is(.clover-items-item[role=option],.clover-items-link):not(:has(.clover-items-pictures)):focus-visible{border-radius:var(--clover-radius, 3px);outline:3px solid var(--clover-color-primary, #1a1d1e);outline-offset:calc(1px - var(--clover-items-ring-room))}@media (forced-colors: active){.clover-items-pictures{outline-color:var(--ring-color, Canvas)}.clover-items-item[aria-selected=true]{--ring-color: Highlight}:is(.clover-items-item[role=option],.clover-items-link):focus-visible{--ring-color: CanvasText}:is(.clover-items-item[role=option],.clover-items-link):focus-visible .clover-items-pictures:after{outline-color:CanvasText}:is(.clover-items-item[role=option],.clover-items-link):not(:has(.clover-items-pictures)):focus-visible{outline-color:CanvasText}}.clover-items-item[aria-selected=true] .clover-items-label{color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) );font-weight:600}:is(button.clover-items-scroll-prev,button.clover-items-scroll-next){position:absolute;top:calc(var(--clover-items-height) / 2);z-index:2;translate:0 -50%;box-shadow:0 1px 4px #00000040}.clover-items-scroll-prev{inset-inline-start:var(--clover-space-2xs)}.clover-items-scroll-next{inset-inline-end:var(--clover-space-2xs)}.clover-pager{display:flex;align-items:center;justify-content:center;gap:var(--clover-space-s);padding-block:var(--clover-space-s)}.clover-pager-position{display:inline-grid;justify-items:end;font-variant-numeric:tabular-nums;color:var(--clover-color-primary-muted, #26292b)}.clover-pager[data-direction=right-to-left] .clover-pager-position{justify-items:start}.clover-pager-position>[aria-hidden]{grid-area:1 / 1}.clover-pager-position>.clover-pager-room[hidden]{display:block;visibility:hidden}.clover-pager:has(>.clover-pager-count){position:relative;z-index:5}.clover-pager-count{position:relative}.clover-pager:has(>.clover-pager-count)>button,.clover-pager-count>.clover-pager-count-button{position:relative;z-index:1}.clover-pager-count-button{display:inline-flex;align-items:center;gap:var(--clover-space-2xs);min-height:var(--clover-space-l);padding:0 var(--clover-space-xs);border:0;border-radius:var(--clover-radius-pill, 2rem);background:none;color:var(--clover-color-primary-muted, #26292b);font:inherit;cursor:pointer}.clover-pager-count-button .clover-pager-position{color:inherit}.clover-pager-count-button .clover-pager-position>span{grid-area:1 / 1}.clover-pager-count-button:is(:hover,:focus-visible,[aria-expanded=true]){color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) )}.clover-pager-count-button:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:2px}.clover-pager-count>.clover-pager-menu{z-index:0;top:calc(-1 * var(--clover-space-m));inset-inline-start:calc(-1 * var(--clover-space-m));width:min(20rem,calc(100vw - 2 * var(--clover-space-m)));max-height:min(24rem,60vh);--clover-pager-menu-head: calc( var(--clover-space-m) + var(--clover-space-l) + var(--clover-space-m) );padding:var(--clover-space-m);padding-block:var(--clover-pager-menu-head) 0}.clover-pager-count>.clover-pager-menu{display:flex;flex-direction:column;overflow:hidden}.clover-pager-count>.clover-pager-menu>.clover-pager-list{min-height:0;margin:calc(-1 * var(--clover-items-ring-room, 4px));margin-block-end:0;padding:var(--clover-items-ring-room, 4px);padding-block-end:var(--clover-space-m);overflow-y:auto;overscroll-behavior:contain}@supports (timeline-scope: --clover-pager-list){.clover-pager-count>.clover-pager-menu{timeline-scope:--clover-pager-list}.clover-pager-count>.clover-pager-menu>.clover-pager-list{scroll-timeline:--clover-pager-list block}.clover-pager-count>.clover-pager-menu:before{content:"";position:absolute;z-index:1;top:calc(var(--clover-pager-menu-head) - var(--clover-items-ring-room, 4px));inset-inline:calc(var(--clover-space-m) - var(--clover-items-ring-room, 4px));height:var(--clover-space-s);background:linear-gradient(rgb(0 0 0 / .16),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--clover-space-s),#000 calc(100% - var(--clover-space-s)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--clover-space-s),#000 calc(100% - var(--clover-space-s)),transparent);opacity:0;pointer-events:none;animation:clover-shade linear both;animation-timeline:--clover-pager-list;animation-range:0 var(--clover-space-m)}}.clover-pager[data-direction=right-to-left] .clover-pager-count>.clover-pager-menu{inset-inline:auto calc(-1 * var(--clover-space-m))}.clover-pager-count-button[aria-expanded=true] svg{rotate:180deg}.clover-pager-list.clover-collection>.clover-items{--clover-items-gap: var(--clover-space-m);margin:0}.clover-pager[data-size=small]{gap:var(--clover-space-2xs);padding-block:0}.clover-pager[data-size=small] .clover-pager-count-button{font-size:var(--clover-text-xs);line-height:1}.clover-pager[data-size=small] .clover-pager-position{font-weight:600}.clover-panel{display:flex;flex-direction:column;min-width:0;padding:var(--clover-inset);--clover-sections-inset-start: calc( var(--clover-inset) - var(--clover-space-s) );--clover-sections-inset-end: var(--clover-sections-inset-start);--clover-sections-gutter: calc( var(--clover-inset) - var(--clover-space-s) - .5px );color:var(--clover-color-primary, #1a1d1e)}.clover-panel[data-closable]{--clover-panel-clear: calc( var(--clover-space-xs) + var(--clover-control) - var(--clover-inset) );--clover-sections-inset-start: calc( var(--clover-inset) + var(--clover-panel-clear) );position:relative}.clover-panel[data-closable] .clover-sections-tabs{padding-inline-end:var(--clover-panel-clear)}.clover-panel[data-closable][data-floating] .clover-sections-tabs{padding-inline:var(--clover-panel-clear) 0}.clover-panel>.clover-sections[data-layout=accordion]{margin:calc(-1 * var(--clover-space-s))}.clover-panel[data-closable]>.clover-sections[data-layout=accordion]{padding-block-start:calc(var(--clover-panel-clear) + var(--clover-space-s))}.clover-panel>button.clover-panel-close{position:absolute;inset-block-start:var(--clover-space-xs);inset-inline-end:var(--clover-space-xs);z-index:2}.clover-panel[data-floating]>button.clover-panel-close{inset-inline:var(--clover-space-xs) auto}.clover-split-pane[data-spine]{overflow:visible}[data-spine]>.clover-panel{--clover-panel-clear: calc(-1 * var(--clover-space-s));position:static;box-sizing:border-box;height:100%;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding-block:0}[data-spine]>.clover-panel>.clover-sections{margin-block:var(--clover-inset)}[data-spine]>.clover-panel>.clover-sections[data-layout=accordion]{margin-block:calc(var(--clover-inset) - var(--clover-space-s))}[data-spine]>.clover-panel>button.clover-panel-close{font-size:var(--clover-text-m);inset-block-start:calc(var(--clover-inset) - var(--clover-space-s) + (1lh + 2 * var(--clover-space-s) - var(--clover-control)) / 2);inset-inline:calc(-.5 * var(--clover-control)) auto}:is(.clover-annotations-entry,button.clover-contents-button,.clover-transcript-cue>button,button.clover-content-search-hit,.clover-geomap-places button){box-sizing:border-box;width:100%;margin:0;padding:var(--clover-space-xs) var(--clover-space-s);border:0;border-inline-start:3px solid transparent;border-radius:var(--clover-radius, 3px);background:none;color:inherit;text-align:start;cursor:pointer;transition:var(--clover-transition, all .2s cubic-bezier(.16, 1, .3, 1))}:is(.clover-annotations-entry,button.clover-contents-button,.clover-transcript-cue>button,button.clover-content-search-hit,.clover-geomap-places button,button.clover-contents-toggle):is(:hover,[data-highlighted=true]):not(:disabled){background-color:var(--clover-color-secondary-muted, #f1f1f1)}:is(.clover-annotations-entry[data-selected=true],button.clover-contents-button[aria-current=true],.clover-transcript-cue[aria-current=true]>button,button.clover-content-search-hit[aria-current=true],.clover-geomap-places button[aria-current=true]){border-inline-start-color:var(--clover-color-accent, #0065c3);background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 8%,transparent)}@media (forced-colors: active){:is(.clover-annotations-entry,button.clover-contents-button,.clover-transcript-cue>button,button.clover-content-search-hit,.clover-geomap-places button){border-inline-start-color:Canvas}:is(.clover-annotations-entry[data-selected=true],button.clover-contents-button[aria-current=true],.clover-transcript-cue[aria-current=true]>button,button.clover-content-search-hit[aria-current=true],.clover-geomap-places button[aria-current=true]){border-inline-start-color:Highlight}}:is(.clover-annotations-list,.clover-contents-list,.clover-transcript-cues,.clover-content-search-hits,.clover-geomap-places){display:flex;flex-direction:column;gap:var(--clover-space-2xs);margin:0;padding:0;list-style:none}.clover-about{display:flex;flex-direction:column;gap:var(--clover-space-m)}.clover-about-languages{justify-content:flex-end}.clover-about-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--clover-space-2xs)}.clover-about-download{position:relative;display:inline-flex}button.clover-about-download-button{position:relative;display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:var(--clover-space-l);height:var(--clover-space-l);padding:0;border:0;border-radius:50%;background:none;color:var(--clover-color-primary-muted, #26292b);cursor:pointer}button.clover-about-download-button svg{width:var(--clover-text-s);height:var(--clover-text-s)}button.clover-about-download-button:is(:hover,:focus-visible,[aria-expanded=true]){background-color:var(--clover-color-accent, #0065c3);color:var(--clover-color-control-glyph, #fff)}:where([data-high-contrast]) button.clover-about-download-button:is(:hover,:focus-visible,[aria-expanded=true]){background-color:var(--clover-accent-fill)}:where([data-high-contrast]) button.clover-about-download-button:hover:not(:focus-visible,[aria-expanded=true]){outline:var(--clover-accent-ring-hover);outline-offset:1px}:where([data-high-contrast]) button.clover-about-download-button[aria-expanded=true]:not(:focus-visible){outline:var(--clover-accent-ring);outline-offset:1px}button.clover-about-download-button:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:2px}@media (forced-colors: active){button.clover-about-download-button:is(:hover,:focus-visible,[aria-expanded=true]){background-color:Highlight;color:HighlightText}}.clover-about-download-menu{top:calc(100% + var(--clover-space-xs));inset-inline-end:0;max-width:min(20rem,80vw);font-size:var(--clover-text-s);text-align:start}.clover-about-download-menu .clover-download-title{padding-inline:var(--clover-space-s)}.clover-about-download-menu .clover-download-link{padding:var(--clover-space-xs) var(--clover-space-s);border-radius:var(--clover-radius, 3px)}.clover-about-download-menu .clover-download-link:hover{background-color:var(--clover-color-secondary-muted, #e6e8eb)}.clover-about{--clover-about-thumbnail-height: calc( var(--clover-items-height, 8rem) * .618 )}.clover-about-head{display:flow-root}.clover-about-thumbnail{float:right;display:block;width:auto;height:var(--clover-about-thumbnail-height);max-width:min(50%,calc(2 * var(--clover-about-thumbnail-height)));margin-inline-start:var(--clover-space-m);margin-bottom:min(0px,calc(var(--clover-about-label-height, var(--clover-about-thumbnail-height)) - var(--clover-about-thumbnail-height)));object-fit:cover;border-radius:var(--clover-radius, 3px);background-color:var(--clover-color-secondary-muted, #e6e8eb)}:dir(rtl) .clover-about-thumbnail{float:left}.clover-about-head:has(.clover-about-thumbnail)+*>:first-child:before{content:"";float:right;width:calc(var(--clover-about-thumbnail-width, 0px) + var(--clover-space-m));height:max(0px,calc(var(--clover-about-thumbnail-height) - var(--clover-about-label-height, 0px) + var(--clover-space-3xs)))}:dir(rtl) .clover-about-head:has(.clover-about-thumbnail)+*>:first-child:before{float:left}.clover-about-label{margin:0;font-size:var(--clover-text-m);font-weight:600;line-height:1.25}.clover-about :is(p,ul){margin:0}.clover-about ul{padding:0;list-style:none}.clover-about a{color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) );overflow-wrap:anywhere}.clover-about-part-of>li{display:flex;flex-direction:column;align-items:flex-start}button.clover-about-open{min-height:var(--clover-space-l);margin:0;padding:0;border:0;background:none;color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) );font-size:var(--clover-text-s);text-decoration:underline 1px;text-decoration-color:color-mix(in srgb,currentColor 20%,transparent);text-underline-offset:var(--clover-space-3xs);cursor:pointer}button.clover-about-open:hover{text-decoration-color:currentColor}button.clover-about-open:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:2px;border-radius:var(--clover-radius, 3px)}.clover-about .clover-about-heading{margin:0;font-size:inherit;font-weight:500}.clover-collection-title{margin:0;font-size:var(--clover-text-m);font-weight:500;text-wrap:balance}.clover-collection>.clover-items{margin-block:calc(var(--clover-space-l) - var(--clover-space-m))}.clover-collection .clover-items[data-layout=list] .clover-items-picture img{width:var(--clover-space-xl);height:var(--clover-space-xl);object-fit:cover}.clover-collection .clover-items-caption{min-width:0;font-size:inherit}.clover-collection :is(.clover-items-date,.clover-items-summary){font-size:var(--clover-text-s)}.clover-collection :is(.clover-items-label,.clover-items-summary){min-width:0;overflow-wrap:anywhere}.clover-targets-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--clover-space-s)}.clover-targets-head>.clover-targets-steps{margin-inline-start:auto}.clover-split{align-items:stretch;gap:0;min-width:0}.clover-split-pane{box-sizing:border-box;flex:1 1 0}.clover-split-pane[data-sized]{flex:0 1 var(--clover-split-size, auto);max-width:var(--clover-split-max, none)}.clover-split-handle{position:relative;z-index:1;flex:0 0 3px;align-self:stretch;background-color:color-mix(in srgb,var(--clover-color-secondary-alt, #c1c8cd) 50%,transparent);cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none;outline:none;transition:background-color .15s}.clover-split-handle:before{content:"";position:absolute;inset-block:0;inset-inline:calc((3px - var(--clover-space-l)) / 2)}.clover-split-handle:after{content:"";position:absolute;inset-inline:-1.5px;top:50%;height:var(--clover-space-xl);translate:0 -50%;border-radius:var(--clover-radius, 3px);background-color:var(--clover-color-primary-muted, #26292b);transition:background-color .15s}.clover-split-handle:is(:hover,:focus-visible,[data-dragging]){background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 80%,transparent)}.clover-split-handle:is(:hover,:focus-visible,[data-dragging]):after{background-color:var(--clover-color-accent, #0065c3)}@media (forced-colors: none){.clover-split-handle:not(:hover,:focus-visible,[data-dragging]){background-color:transparent}}.clover-split-handle:focus-visible{background-color:var(--clover-color-accent, #0065c3);box-shadow:0 0 0 2px var(--clover-color-secondary, #fff)}@media (forced-colors: active){.clover-split-handle,.clover-split-handle:after{background-color:CanvasText;transition:none}.clover-split-handle:is(:hover,:focus-visible,[data-dragging]),.clover-split-handle:is(:hover,:focus-visible,[data-dragging]):after{background-color:Highlight}.clover-split-handle:focus-visible{outline:2px solid CanvasText;outline-offset:2px}}@media (prefers-reduced-motion: reduce){.clover-split-handle,.clover-split-handle:after{transition:none}}:is(.clover-annotations,.clover-canvas-annotation-menu){display:flex;flex-direction:column;gap:var(--clover-space-l)}:is(div,legend).clover-annotations-set-header{display:flex;align-items:center;gap:var(--clover-space-2xs);margin:0 0 var(--clover-space-s);padding:0;color:inherit;font-size:inherit}.clover-canvas-annotation-menu>fieldset+fieldset{margin-top:0}.clover-annotations-set-header>.clover-hide{margin-inline-start:auto;margin-inline-end:calc(-1 * var(--clover-space-xs))}.clover-annotations-languages+.clover-hide{margin-inline-start:0}.clover-annotations-set:has(>.clover-annotations-set-header>.clover-hide:hover) .clover-annotations-entry,.clover-annotations-set:has(>.clover-annotations-set-header>.clover-hide input:focus-visible) .clover-annotations-entry{background-color:var(--clover-color-secondary-muted, #f1f1f1)}.clover-annotations-title{margin:0;font-size:inherit;font-weight:700}.clover-annotations-languages{margin-inline-start:auto}:is(li,label).clover-annotations-entry{display:flex;align-items:flex-start;gap:var(--clover-space-s)}:is(li,label).clover-annotations-entry{content-visibility:auto;contain-intrinsic-size:auto 2.618rem}label.clover-annotations-entry>input{position:absolute;margin:0;opacity:0;pointer-events:none}.clover-annotations-body{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.clover-annotations-body p{margin:0}.clover-annotations-body>*+*{margin-block-start:var(--clover-space-xs)}.clover-annotations-body>.clover-annotations-image+.clover-annotations-text{display:block}.clover-annotations-body :is(ul,ol){margin:0;padding-inline-start:var(--clover-space-l)}.clover-annotations-body ul{list-style-type:disc}.clover-annotations-body :is(ul,ol) ul{list-style-type:circle}.clover-annotations-body ol{list-style-type:decimal}.clover-annotations-body a{color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) )}:is(a,button).clover-annotations-link{display:inline-block;min-height:var(--clover-space-l);margin:var(--clover-space-2xs) 0 0;padding:0;border:0;background:none;color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) );font:inherit;font-size:var(--clover-text-s);text-decoration:underline 1px;text-decoration-color:color-mix(in srgb,currentColor 20%,transparent);text-underline-offset:var(--clover-space-3xs);cursor:pointer}:is(a,button).clover-annotations-link:hover{text-decoration-color:currentColor}:is(a,button).clover-annotations-link:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:2px;border-radius:var(--clover-radius, 3px)}.clover-annotations-image{border-radius:var(--clover-radius, 3px)}.clover-annotations-entry:has(>:is(button.clover-annotations-show,input):focus-visible){outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:1px}.clover-annotations-canvas{display:flex;flex-direction:column;gap:var(--clover-space-xs)}.clover-annotations-canvas+.clover-annotations-canvas{margin-top:var(--clover-space-m)}.clover-annotations-canvas-label{margin:0;padding-inline-start:calc(var(--clover-space-s) + 3px);color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-s);font-weight:600}.clover-annotations-canvas[aria-current=true]>.clover-annotations-canvas-label{padding-inline-start:var(--clover-space-s);border-inline-start:3px solid var(--clover-color-accent, #0065c3);color:var(--clover-color-primary, #1a1d1e)}@media (forced-colors: active){.clover-annotations-canvas[aria-current=true]>.clover-annotations-canvas-label{border-inline-start-color:Highlight}}.clover-download-groups{display:flex;flex-direction:column;gap:var(--clover-space-s)}.clover-download-title{display:block;margin:0 0 var(--clover-space-2xs);color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-s);font-weight:700}.clover-download-list{margin:0;padding:0;list-style:none}.clover-download-link{display:block;padding:var(--clover-space-2xs) 0;color:var( --clover-color-accent-text, var(--clover-accent-text-fallback, var(--clover-color-accent, #0065c3)) );overflow-wrap:anywhere}.clover-download-format{color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-s)}.clover-transcript{display:flex;flex-direction:column;gap:var(--clover-space-s)}.clover-transcript-cues{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--clover-space-s)}.clover-transcript-cue,.clover-transcript-cue>button{display:grid;grid-column:1 / -1;grid-template-columns:subgrid}.clover-transcript-body{display:flex;flex-direction:column;gap:var(--clover-space-s)}.clover-transcript-body>p{margin:0;white-space:pre-line;overflow-wrap:anywhere}.clover-transcript-voice{font-weight:600}.clover-transcript-languages{justify-content:flex-end}.clover-transcript-find-status{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.clover-transcript-cue mark{padding:0 var(--clover-space-3xs);border-radius:2px;background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 20%,transparent);color:inherit;font-weight:700}.clover-transcript-cue[data-match=current] mark{background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 36%,transparent);box-shadow:0 0 0 1px var(--clover-color-accent, #0065c3)}@media (forced-colors: active){.clover-transcript-cue mark{background-color:Mark;color:MarkText}.clover-transcript-cue[data-match=current] mark{outline:2px solid Highlight}}.clover-transcript-more{height:1px;margin-top:-1px}.clover-transcript{--clover-transcript-at: var(--clover-transcript-top, 0px)}.clover-sections[data-layout=accordion] .clover-transcript{--clover-transcript-at: calc( var(--clover-sections-inset-start, 0px) + var(--clover-sections-total) - var(--clover-sections-after) )}.clover-transcript[data-sticky]>.clover-transcript-find{position:sticky;z-index:1;top:var(--clover-transcript-at);margin-block:calc(-1 * var(--clover-space-xs));padding-block:var(--clover-space-xs);background-color:var(--clover-color-secondary, #fff)}.clover-transcript[data-sticky] .clover-transcript-cue>button{scroll-margin-top:calc(var(--clover-transcript-at) + var(--clover-transcript-find, 0px) + var(--clover-space-l))}@supports (animation-timeline: scroll()){.clover-transcript[data-sticky]>.clover-transcript-find:after{content:"";position:absolute;top:100%;inset-inline:0;height:var(--clover-space-l);background:linear-gradient(to bottom,var(--clover-color-secondary, #fff),transparent);opacity:0;pointer-events:none;animation:clover-shade linear both;animation-timeline:scroll();animation-range:0 var(--clover-space-m)}.clover-sections[data-layout=accordion]>[data-open=true]:has(.clover-transcript[data-sticky] .clover-transcript-find)>.clover-sections-heading>button:after{content:none}}.clover-sections[data-layout=accordion][data-stacks=off] .clover-transcript[data-sticky]>.clover-transcript-find{position:relative;top:auto}@media (max-height: 32rem){.clover-sections[data-layout=accordion] .clover-transcript[data-sticky]>.clover-transcript-find{position:relative;top:auto}}.clover-contents-list .clover-contents-list{margin-inline-start:var(--clover-space-s);padding-inline-start:var(--clover-space-m);border-inline-start:1px solid var(--clover-color-secondary-muted, #e6e8eb)}button.clover-contents-button{display:block}.clover-contents-item{display:flex;flex-direction:column;gap:var(--clover-space-2xs)}.clover-contents-row{display:flex;align-items:center;gap:var(--clover-space-2xs)}.clover-contents-row>button.clover-contents-button{flex:1;min-width:0}button.clover-contents-toggle{margin-inline-end:calc((var(--clover-chevron) - var(--clover-space-l)) / 2);display:flex;flex-shrink:0;align-items:center;justify-content:center;box-sizing:border-box;width:var(--clover-space-l);height:var(--clover-space-l);padding:0;border:0;border-radius:var(--clover-radius, 3px);background:none;color:var(--clover-color-primary, #1a1d1e);cursor:pointer}button.clover-contents-button[data-trail=true]{font-weight:600}button.clover-contents-button:is([data-timed=true],[data-pictured=true]){display:grid;justify-items:start;gap:var(--clover-space-2xs) var(--clover-space-s)}button.clover-contents-button[data-timed=true]{grid-template-columns:auto minmax(0,1fr)}button.clover-contents-button[data-pictured=true]{padding-block-end:calc(var(--clover-space-s) + 3px)}button.clover-contents-button:disabled{color:var(--clover-color-primary-muted, #26292b);cursor:default}button.clover-contents-button[aria-current=true]{font-weight:600}@media (forced-colors: none){button.clover-contents-button[aria-current=true]{border-inline-start-color:transparent}}.clover-contents-steps{flex-shrink:0;padding-inline:calc(var(--clover-space-s) + 3px) var(--clover-space-xs)}.clover-contents-row:has(>.clover-contents-steps){flex-wrap:wrap;row-gap:0}.clover-contents-row:has(>.clover-contents-steps)>button.clover-contents-button{flex:1 1 auto;width:auto}.clover-contents-row[data-current=true]:has(>.clover-contents-steps){border-radius:var(--clover-radius, 3px);background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 8%,transparent)}.clover-contents-row[data-current=true]:has(>.clover-contents-steps)>button.clover-contents-button{background-color:transparent}.clover-content-search{display:flex;flex-direction:column;gap:var(--clover-space-s)}.clover-content-search{--clover-content-search-at: var(--clover-content-search-top, 0px)}.clover-sections[data-layout=accordion] .clover-content-search{--clover-content-search-at: calc( var(--clover-sections-inset-start, 0px) + var(--clover-sections-total) - var(--clover-sections-after) )}.clover-content-search[data-sticky]>.clover-content-search-field{position:sticky;z-index:1;top:var(--clover-content-search-at);margin-block:calc(-1 * var(--clover-space-xs));padding-block:var(--clover-space-xs);background-color:var(--clover-color-secondary, #fff)}.clover-content-search[data-sticky] button.clover-content-search-hit{scroll-margin-top:calc(var(--clover-content-search-at) + var(--clover-content-search-field, 0px) + var(--clover-space-l))}@supports (animation-timeline: scroll()){.clover-content-search[data-sticky]>.clover-content-search-field:after{content:"";position:absolute;top:100%;inset-inline:0;height:var(--clover-space-l);background:linear-gradient(to bottom,var(--clover-color-secondary, #fff),transparent);opacity:0;pointer-events:none;animation:clover-shade linear both;animation-timeline:scroll();animation-range:0 var(--clover-space-m)}.clover-sections[data-layout=accordion]>[data-open=true]:has(.clover-content-search[data-sticky])>.clover-sections-heading>button:after{content:none}}.clover-sections[data-layout=accordion][data-stacks=off] .clover-content-search[data-sticky]>.clover-content-search-field{position:relative;top:auto}@media (max-height: 32rem){.clover-sections[data-layout=accordion] .clover-content-search[data-sticky]>.clover-content-search-field{position:relative;top:auto}}.clover-content-search-status{margin:0;color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-s)}.clover-content-search-status:not([data-status=loading],[data-status=error]),.clover-content-search-status:empty{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.clover-content-search-canvas{margin:0 0 var(--clover-space-xs);font-size:inherit;font-weight:700}.clover-content-search-hits>li{content-visibility:auto;contain-intrinsic-size:auto 3.236rem}.clover-content-search-more{height:1px;margin-top:-1px}button.clover-content-search-hit{display:block;overflow-wrap:anywhere}button.clover-content-search-hit:focus-visible{outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:-2px}.clover-content-search-hit mark{padding:0 var(--clover-space-3xs);border-radius:2px;background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 20%,transparent);color:inherit;font-weight:700}@media (forced-colors: active){.clover-content-search-hit mark{background-color:Mark;color:MarkText}}}');i(43,"styles-3","@layer clover{.clover-collection-select{display:flex;flex-wrap:wrap;align-items:center;gap:var(--clover-space-xs)}.clover-collection-select-label{color:var(--clover-color-primary-muted, #26292b);font-size:var(--clover-text-s);font-weight:600}.clover-collection-select-control{min-width:0;max-width:100%;padding-inline-end:var(--clover-space-xl)}.clover-template-default{--clover-body-height: min(65vh, 40rem);display:flex;flex-direction:column;color:var(--clover-color-primary, #1a1d1e)}.clover-template-default:is([data-fill],:fullscreen){--clover-body-height: auto;height:100%;min-height:min-content}.clover-template-default:is([data-fill],:fullscreen)>.clover-template-default-panes{flex:1 1 auto}.clover-template-default:is([data-fill],:fullscreen) .clover-template-default-body{flex:1 1 0;min-height:16rem}.clover-template-default-header{display:flex;align-items:center;gap:var(--clover-space-s);padding:var(--clover-inset)}.clover-template-default-title{margin:0;font-size:var(--clover-text-l);line-height:1.25;font-weight:400}.clover-template-default-pager{flex:none;padding-block:0}.clover-template-default-header:has(>.clover-template-default-pager){flex-wrap:wrap;row-gap:var(--clover-space-xs)}.clover-template-default-header:has(>.clover-template-default-pager)>:is(.clover-template-default-title,.clover-template-default-pager){align-self:last baseline}.clover-template-default-header:has(>.clover-template-default-collection-row){display:grid;grid-template-columns:minmax(0,1fr) fit-content(38.2%);row-gap:var(--clover-space-xs)}.clover-template-default-header>:is(.clover-template-default-title,.clover-template-default-collection-row){grid-column:1}.clover-template-default-header:has(>.clover-template-default-collection-row)>.clover-template-default-provider{grid-column:2;grid-row:1 / span 2;align-self:end;max-width:none}.clover-template-default-collection-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--clover-space-xs) var(--clover-space-s);min-width:0}.clover-template-default-collection{min-width:0;margin:0;color:var(--clover-color-primary-muted, #26292b);font-size:inherit}.clover-template-default-provider{flex:0 1 auto;max-width:38.2%;margin-inline-start:auto}.clover-template-default-panes{position:relative}.clover-template-default-main{display:flex;flex-direction:column}.clover-template-default-panel{contain:size;overflow-y:auto}.clover-template-default-panel[hidden]{display:none}.clover-template-default-panes>.clover-split-handle{translate:-1.5px 0}.clover-template-default-panes:dir(rtl)>.clover-split-handle{translate:1.5px 0}.clover-template-default-panes:dir(ltr) .clover-items-viewport{margin-right:0}.clover-template-default-panes:dir(rtl) .clover-items-viewport{margin-left:0}.clover-template-default-panes:dir(ltr) .clover-items .clover-items-frame:not([dir=rtl]):after,.clover-template-default-panes:dir(ltr) .clover-items .clover-items-frame[dir=rtl]:before{right:0}.clover-template-default-panes:dir(rtl) .clover-items .clover-items-frame:not([dir=rtl]):before,.clover-template-default-panes:dir(rtl) .clover-items .clover-items-frame[dir=rtl]:after{left:0}.clover-template-panes[data-panel=over]{overflow:clip}.clover-template-panes[data-panel=over]>.clover-template-drawer{position:absolute;inset-block:0;inset-inline-end:0;z-index:4;width:min(24rem,calc(100% - var(--clover-space-2xl)));max-width:none;max-height:none;border-inline-start:1px solid var(--clover-color-secondary-muted, #e6e8eb);background:linear-gradient(var(--clover-grip),var(--clover-grip)) no-repeat left var(--clover-space-2xs) center / 4px var(--clover-space-xl),var(--clover-color-secondary, #fff);--clover-grip: color-mix( in srgb, var(--clover-color-primary-muted, #26292b) 30%, transparent );touch-action:pan-y;box-shadow:calc(-1 * var(--clover-space-s)) 0 var(--clover-space-l) #0000001f;transform:translate(100%);transition:transform .24s cubic-bezier(.16,1,.3,1)}.clover-template-panes[data-panel=over]>.clover-template-drawer:dir(rtl){transform:translate(-100%);background-position:right var(--clover-space-2xs) center,0 0}.clover-template-panes[data-panel=over]>.clover-template-drawer[data-open=true]{transform:none}.clover-template-scrim{position:absolute;inset:0;z-index:3;background-color:#0003;opacity:0;cursor:pointer;transition:opacity .24s ease}.clover-template-scrim[data-open=true]{opacity:1}@media (prefers-reduced-motion: reduce){.clover-template-panes[data-panel=over]>.clover-template-drawer,.clover-template-scrim{transition:none}}.clover-template-default-rail{display:flex;flex-direction:column;gap:var(--clover-space-m);padding:var(--clover-inset)}.clover-template-default-rail>.clover-items{margin-inline-end:calc(-1 * var(--clover-inset))}.clover-template-default-rail .clover-items-viewport{margin-inline-end:0}.clover-template-default-rail .clover-items-frame:not([dir=rtl])>button.clover-items-scroll-prev,.clover-template-default-rail .clover-items-frame[dir=rtl]>button.clover-items-scroll-next{left:calc(-1 * var(--clover-space-s))}.clover-template-default-rail .clover-items-frame:not([dir=rtl])>button.clover-items-scroll-next,.clover-template-default-rail .clover-items-frame[dir=rtl]>button.clover-items-scroll-prev{right:var(--clover-inset)}.clover-template-default-rail:not(:has(.clover-items,.clover-pager-position)){display:none}.clover-template-default-rail-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--clover-space-s)}.clover-template-default-titles{min-width:0;margin:0;overflow-wrap:anywhere}.clover-template-default-titles>.clover-template-default-titles-dot{margin-inline:var(--clover-space-xs);color:var(--clover-color-primary-muted, #26292b)}.clover-template-default-rail-header .clover-pager-position{flex-shrink:0;margin-inline-start:auto;font-size:var(--clover-text-s)}.clover-template-default-spine{position:relative;z-index:3;flex:none;width:0}.clover-template-default-spine>*{position:absolute;top:calc(var(--clover-template-spine-top, 0px) + var(--clover-inset));inset-inline-start:-1.5px;translate:-50%}.clover-template-default-spine:dir(rtl)>*{translate:50%}}");export{i as a,x as s};