@penn-libraries/web 1.1.0-dev.7 → 1.1.1-dev.1

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 (112) hide show
  1. package/dist/cjs/{index-C0A2bnrZ.js → index-C0qvW4Ra.js} +289 -191
  2. package/dist/cjs/index-C0qvW4Ra.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +1 -3
  4. package/dist/cjs/loader.cjs.js +3 -6
  5. package/dist/cjs/loader.cjs.js.map +1 -1
  6. package/dist/cjs/pennlibs-autocomplete.pennlibs-footer.pennlibs-header.entry.cjs.js.map +1 -1
  7. package/dist/cjs/pennlibs-autocomplete_3.cjs.entry.js +25 -36
  8. package/dist/cjs/pennlibs-banner.cjs.entry.js +1 -3
  9. package/dist/cjs/pennlibs-chat.cjs.entry.js +1 -3
  10. package/dist/cjs/pennlibs-fallback-img.cjs.entry.js +1 -3
  11. package/dist/cjs/pennlibs-feedback.cjs.entry.js +1 -3
  12. package/dist/cjs/pennlibs-hero.cjs.entry.js +1 -3
  13. package/dist/cjs/pennlibs-iiif-img.cjs.entry.js +132 -0
  14. package/dist/cjs/pennlibs-iiif-img.entry.cjs.js.map +1 -0
  15. package/dist/cjs/web.cjs.js +4 -7
  16. package/dist/cjs/web.cjs.js.map +1 -1
  17. package/dist/collection/collection-manifest.json +4 -3
  18. package/dist/collection/components/pennlibs-autocomplete/pennlibs-autocomplete.js +40 -23
  19. package/dist/collection/components/pennlibs-autocomplete/pennlibs-autocomplete.js.map +1 -1
  20. package/dist/collection/components/pennlibs-header/pennlibs-header.js +6 -6
  21. package/dist/collection/components/pennlibs-iiif-img/pennlibs-iiif-img.css +37 -0
  22. package/dist/collection/components/pennlibs-iiif-img/pennlibs-iiif-img.js +310 -0
  23. package/dist/collection/components/pennlibs-iiif-img/pennlibs-iiif-img.js.map +1 -0
  24. package/dist/components/index.d.ts +2 -0
  25. package/dist/components/index.js +2 -1
  26. package/dist/components/index.js.map +1 -1
  27. package/dist/components/pennlibs-autocomplete.js +28 -20
  28. package/dist/components/pennlibs-autocomplete.js.map +1 -1
  29. package/dist/components/pennlibs-banner.js +5 -3
  30. package/dist/components/pennlibs-banner.js.map +1 -1
  31. package/dist/components/pennlibs-chat.js +5 -3
  32. package/dist/components/pennlibs-chat.js.map +1 -1
  33. package/dist/components/pennlibs-fallback-img.js +1 -30
  34. package/dist/components/pennlibs-fallback-img.js.map +1 -1
  35. package/dist/components/pennlibs-fallback-img2.js +37 -0
  36. package/dist/components/pennlibs-fallback-img2.js.map +1 -0
  37. package/dist/components/pennlibs-feedback.js +5 -3
  38. package/dist/components/pennlibs-feedback.js.map +1 -1
  39. package/dist/components/pennlibs-footer.js +5 -3
  40. package/dist/components/pennlibs-footer.js.map +1 -1
  41. package/dist/components/pennlibs-header.js +6 -19
  42. package/dist/components/pennlibs-header.js.map +1 -1
  43. package/dist/components/pennlibs-hero.js +5 -3
  44. package/dist/components/pennlibs-hero.js.map +1 -1
  45. package/dist/components/pennlibs-iiif-img.d.ts +11 -0
  46. package/dist/components/pennlibs-iiif-img.js +168 -0
  47. package/dist/components/pennlibs-iiif-img.js.map +1 -0
  48. package/dist/docs.json +268 -12
  49. package/dist/esm/{index-CE_ILdTo.js → index-D9dYrmUF.js} +289 -192
  50. package/dist/esm/index-D9dYrmUF.js.map +1 -0
  51. package/dist/esm/index.js +1 -3
  52. package/dist/esm/loader.js +3 -6
  53. package/dist/esm/loader.js.map +1 -1
  54. package/dist/esm/pennlibs-autocomplete.pennlibs-footer.pennlibs-header.entry.js.map +1 -1
  55. package/dist/esm/pennlibs-autocomplete_3.entry.js +25 -36
  56. package/dist/esm/pennlibs-banner.entry.js +1 -3
  57. package/dist/esm/pennlibs-chat.entry.js +1 -3
  58. package/dist/esm/pennlibs-fallback-img.entry.js +1 -3
  59. package/dist/esm/pennlibs-feedback.entry.js +1 -3
  60. package/dist/esm/pennlibs-hero.entry.js +1 -3
  61. package/dist/esm/pennlibs-iiif-img.entry.js +130 -0
  62. package/dist/esm/pennlibs-iiif-img.entry.js.map +1 -0
  63. package/dist/esm/web.js +4 -7
  64. package/dist/esm/web.js.map +1 -1
  65. package/dist/types/components/pennlibs-autocomplete/pennlibs-autocomplete.d.ts +17 -1
  66. package/dist/types/components/pennlibs-iiif-img/pennlibs-iiif-img.d.ts +89 -0
  67. package/dist/types/components.d.ts +143 -0
  68. package/dist/types/stencil-public-runtime.d.ts +73 -9
  69. package/dist/web/index.esm.js +1 -3
  70. package/dist/web/loader.esm.js.map +1 -1
  71. package/dist/web/{p-20c0bd7a.entry.js → p-43d9c2d4.entry.js} +1 -3
  72. package/dist/web/{p-CE_ILdTo.js → p-D9dYrmUF.js} +289 -192
  73. package/dist/web/p-D9dYrmUF.js.map +1 -0
  74. package/dist/web/{p-cbae5952.entry.js → p-ad92090a.entry.js} +1 -3
  75. package/dist/web/{p-370e32b1.entry.js → p-b4b58af0.entry.js} +1 -3
  76. package/dist/web/p-c4074cf1.entry.js +130 -0
  77. package/dist/web/{p-07ad051f.entry.js → p-cb2584da.entry.js} +1 -3
  78. package/dist/web/{p-5e385536.entry.js → p-ce97059c.entry.js} +1 -3
  79. package/dist/web/{p-e1215158.entry.js → p-e6188c30.entry.js} +25 -36
  80. package/dist/web/pennlibs-autocomplete.pennlibs-footer.pennlibs-header.entry.esm.js.map +1 -1
  81. package/dist/web/pennlibs-iiif-img.entry.esm.js.map +1 -0
  82. package/dist/web/web.esm.js +4 -7
  83. package/dist/web/web.esm.js.map +1 -1
  84. package/hydrate/index.d.ts +28 -24
  85. package/hydrate/index.js +609 -241
  86. package/hydrate/index.mjs +609 -241
  87. package/package.json +3 -9
  88. package/dist/cjs/app-globals-V2Kpy_OQ.js +0 -8
  89. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +0 -1
  90. package/dist/cjs/index-C0A2bnrZ.js.map +0 -1
  91. package/dist/cjs/pennlibs-autocomplete_3.cjs.entry.js.map +0 -1
  92. package/dist/cjs/pennlibs-banner.cjs.entry.js.map +0 -1
  93. package/dist/cjs/pennlibs-chat.cjs.entry.js.map +0 -1
  94. package/dist/cjs/pennlibs-fallback-img.cjs.entry.js.map +0 -1
  95. package/dist/cjs/pennlibs-feedback.cjs.entry.js.map +0 -1
  96. package/dist/cjs/pennlibs-hero.cjs.entry.js.map +0 -1
  97. package/dist/collection/utils/utils.js +0 -4
  98. package/dist/collection/utils/utils.js.map +0 -1
  99. package/dist/esm/app-globals-DQuL1Twl.js +0 -6
  100. package/dist/esm/app-globals-DQuL1Twl.js.map +0 -1
  101. package/dist/esm/index-CE_ILdTo.js.map +0 -1
  102. package/dist/esm/pennlibs-autocomplete_3.entry.js.map +0 -1
  103. package/dist/types/utils/utils.d.ts +0 -1
  104. package/dist/web/p-07ad051f.entry.js.map +0 -1
  105. package/dist/web/p-20c0bd7a.entry.js.map +0 -1
  106. package/dist/web/p-370e32b1.entry.js.map +0 -1
  107. package/dist/web/p-5e385536.entry.js.map +0 -1
  108. package/dist/web/p-CE_ILdTo.js.map +0 -1
  109. package/dist/web/p-DQuL1Twl.js +0 -6
  110. package/dist/web/p-DQuL1Twl.js.map +0 -1
  111. package/dist/web/p-cbae5952.entry.js.map +0 -1
  112. package/dist/web/p-e1215158.entry.js.map +0 -1
package/hydrate/index.js CHANGED
@@ -34,6 +34,7 @@ function hydrateFactory($stencilWindow, $stencilHydrateOpts, $stencilHydrateResu
34
34
  var CharacterData = $stencilWindow.CharacterData;
35
35
  var CSS = $stencilWindow.CSS;
36
36
  var CustomEvent = $stencilWindow.CustomEvent;
37
+ var CSSStyleSheet = $stencilWindow.CSSStyleSheet;
37
38
  var Document = $stencilWindow.Document;
38
39
  var ShadowRoot = $stencilWindow.ShadowRoot;
39
40
  var DocumentFragment = $stencilWindow.DocumentFragment;
@@ -126,10 +127,10 @@ function hydrateFactory($stencilWindow, $stencilHydrateOpts, $stencilHydrateResu
126
127
 
127
128
 
128
129
  const NAMESPACE = 'web';
129
- const BUILD = /* web */ { hydratedSelectorName: "hydrated", slotRelocation: true, updatable: true, watchCallback: false };
130
+ const BUILD = /* web */ { hydratedSelectorName: "hydrated", propChangeCallback: false, slotRelocation: true, updatable: true};
130
131
 
131
132
  /*
132
- Stencil Hydrate Platform v4.29.3 | MIT Licensed | https://stenciljs.com
133
+ Stencil Hydrate Platform v4.38.1 | MIT Licensed | https://stenciljs.com
133
134
  */
134
135
  var __defProp = Object.defineProperty;
135
136
  var __export = (target, all) => {
@@ -341,6 +342,24 @@ function deserializeProperty(value) {
341
342
  return RemoteValue.fromLocalValue(JSON.parse(atob(value.slice(SERIALIZED_PREFIX.length))));
342
343
  }
343
344
 
345
+ // src/utils/style.ts
346
+ function createStyleSheetIfNeededAndSupported(styles2) {
347
+ return void 0;
348
+ }
349
+
350
+ // src/utils/shadow-root.ts
351
+ var globalStyleSheet;
352
+ function createShadowRoot(cmpMeta) {
353
+ var _a;
354
+ const shadowRoot = this.attachShadow({ mode: "open" });
355
+ if (globalStyleSheet === void 0) globalStyleSheet = (_a = createStyleSheetIfNeededAndSupported()) != null ? _a : null;
356
+ if (globalStyleSheet) {
357
+ {
358
+ shadowRoot.adoptedStyleSheets = [...shadowRoot.adoptedStyleSheets, globalStyleSheet];
359
+ }
360
+ }
361
+ }
362
+
344
363
  // src/runtime/runtime-constants.ts
345
364
  var CONTENT_REF_ID = "r";
346
365
  var ORG_LOCATION_ID = "o";
@@ -463,7 +482,7 @@ function patchSlotNode(node) {
463
482
  const slotName = this["s-sn"];
464
483
  if (opts == null ? void 0 : opts.flatten) {
465
484
  console.error(`
466
- Flattening is not supported for Stencil non-shadow slots.
485
+ Flattening is not supported for Stencil non-shadow slots.
467
486
  You can use \`.childNodes\` to nested slot fallback content.
468
487
  If you have a particular use case, please open an issue on the Stencil repo.
469
488
  `);
@@ -507,6 +526,94 @@ var uniqueTime = (key, measureText) => {
507
526
  };
508
527
  }
509
528
  };
529
+ var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
530
+ var registerStyle = (scopeId2, cssText, allowCS) => {
531
+ let style = styles.get(scopeId2);
532
+ {
533
+ style = cssText;
534
+ }
535
+ styles.set(scopeId2, style);
536
+ };
537
+ var addStyle = (styleContainerNode, cmpMeta, mode) => {
538
+ var _a;
539
+ const scopeId2 = getScopeId(cmpMeta);
540
+ const style = styles.get(scopeId2);
541
+ if (!win.document) {
542
+ return scopeId2;
543
+ }
544
+ styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document;
545
+ if (style) {
546
+ if (typeof style === "string") {
547
+ styleContainerNode = styleContainerNode.head || styleContainerNode;
548
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
549
+ let styleElm;
550
+ if (!appliedStyles) {
551
+ rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
552
+ }
553
+ if (!appliedStyles.has(scopeId2)) {
554
+ if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
555
+ styleElm.innerHTML = style;
556
+ } else {
557
+ styleElm = win.document.createElement("style");
558
+ styleElm.innerHTML = style;
559
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
560
+ if (nonce != null) {
561
+ styleElm.setAttribute("nonce", nonce);
562
+ }
563
+ if ((cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */ || cmpMeta.$flags$ & 128 /* shadowNeedsScopedCss */)) {
564
+ styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId2);
565
+ }
566
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
567
+ if (styleContainerNode.nodeName === "HEAD") {
568
+ const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
569
+ const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
570
+ styleContainerNode.insertBefore(
571
+ styleElm,
572
+ (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
573
+ );
574
+ } else if ("host" in styleContainerNode) {
575
+ {
576
+ const existingStyleContainer = styleContainerNode.querySelector("style");
577
+ if (existingStyleContainer) {
578
+ existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
579
+ } else {
580
+ styleContainerNode.prepend(styleElm);
581
+ }
582
+ }
583
+ } else {
584
+ styleContainerNode.append(styleElm);
585
+ }
586
+ }
587
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
588
+ styleContainerNode.insertBefore(styleElm, null);
589
+ }
590
+ }
591
+ if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
592
+ styleElm.innerHTML += SLOT_FB_CSS;
593
+ }
594
+ if (appliedStyles) {
595
+ appliedStyles.add(scopeId2);
596
+ }
597
+ }
598
+ }
599
+ }
600
+ return scopeId2;
601
+ };
602
+ var attachStyles = (hostRef) => {
603
+ const cmpMeta = hostRef.$cmpMeta$;
604
+ const elm = hostRef.$hostElement$;
605
+ const flags = cmpMeta.$flags$;
606
+ const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
607
+ const scopeId2 = addStyle(
608
+ elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
609
+ cmpMeta);
610
+ if (flags & 10 /* needsScopedEncapsulation */) {
611
+ elm["s-sc"] = scopeId2;
612
+ elm.classList.add(scopeId2 + "-h");
613
+ }
614
+ endAttachStyles();
615
+ };
616
+ var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
510
617
  var h = (nodeName, vnodeData, ...children) => {
511
618
  let child = null;
512
619
  let key = null;
@@ -621,7 +728,7 @@ var convertToPrivate = (node) => {
621
728
 
622
729
  // src/runtime/client-hydrate.ts
623
730
  var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
624
- var _a;
731
+ var _a, _b;
625
732
  const endHydrate = createTime("hydrateClient", tagName);
626
733
  const shadowRoot = hostElm.shadowRoot;
627
734
  const childRenderNodes = [];
@@ -630,19 +737,6 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
630
737
  const shadowRootNodes = shadowRoot ? [] : null;
631
738
  const vnode = newVNode(tagName, null);
632
739
  vnode.$elm$ = hostElm;
633
- const members = Object.entries(((_a = hostRef.$cmpMeta$) == null ? void 0 : _a.$members$) || {});
634
- members.forEach(([memberName, [memberFlags, metaAttributeName]]) => {
635
- var _a2;
636
- if (!(memberFlags & 31 /* Prop */)) {
637
- return;
638
- }
639
- const attributeName = metaAttributeName || memberName;
640
- const attrVal = hostElm.getAttribute(attributeName);
641
- if (attrVal !== null) {
642
- const attrPropVal = parsePropertyValue(attrVal, memberFlags);
643
- (_a2 = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _a2.set(memberName, attrPropVal);
644
- }
645
- });
646
740
  if (win.document && (!plt.$orgLocNodes$ || !plt.$orgLocNodes$.size)) {
647
741
  initializeDocumentHydrate(win.document.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());
648
742
  }
@@ -671,6 +765,16 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
671
765
  if (childRenderNode.$tag$ === "slot") {
672
766
  node["s-cr"] = hostElm["s-cr"];
673
767
  }
768
+ } else if (((_a = childRenderNode.$tag$) == null ? void 0 : _a.toString().includes("-")) && childRenderNode.$tag$ !== "slot-fb" && !childRenderNode.$elm$.shadowRoot) {
769
+ const cmpMeta = getHostRef(childRenderNode.$elm$);
770
+ if (cmpMeta) {
771
+ const scopeId3 = getScopeId(
772
+ cmpMeta.$cmpMeta$);
773
+ const styleSheet = win.document.querySelector(`style[sty-id="${scopeId3}"]`);
774
+ if (styleSheet) {
775
+ hostElm.shadowRoot.append(styleSheet.cloneNode(true));
776
+ }
777
+ }
674
778
  }
675
779
  if (childRenderNode.$tag$ === "slot") {
676
780
  childRenderNode.$name$ = childRenderNode.$elm$["s-sn"] || childRenderNode.$elm$["name"] || null;
@@ -686,7 +790,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
686
790
  }
687
791
  }
688
792
  if (orgLocationNode && orgLocationNode.isConnected) {
689
- if (shadowRoot && orgLocationNode["s-en"] === "") {
793
+ if (orgLocationNode.parentElement.shadowRoot && orgLocationNode["s-en"] === "") {
690
794
  orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
691
795
  }
692
796
  orgLocationNode.parentNode.removeChild(orgLocationNode);
@@ -694,7 +798,9 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
694
798
  node["s-oo"] = parseInt(childRenderNode.$nodeId$);
695
799
  }
696
800
  }
697
- plt.$orgLocNodes$.delete(orgLocationId);
801
+ if (orgLocationNode && !orgLocationNode["s-id"]) {
802
+ plt.$orgLocNodes$.delete(orgLocationId);
803
+ }
698
804
  }
699
805
  const hosts = [];
700
806
  const snLen = slottedNodes.length;
@@ -715,39 +821,46 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
715
821
  }
716
822
  if (!hosts[slottedItem.hostId]) continue;
717
823
  const hostEle = hosts[slottedItem.hostId];
824
+ if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
825
+ hostEle.appendChild(slottedItem.node);
826
+ }
718
827
  if (!hostEle.shadowRoot || !shadowRoot) {
719
- slottedItem.slot["s-cr"] = hostEle["s-cr"];
720
- if (!slottedItem.slot["s-cr"] && hostEle.shadowRoot) {
721
- slottedItem.slot["s-cr"] = hostEle;
722
- } else {
723
- slottedItem.slot["s-cr"] = (hostEle.__childNodes || hostEle.childNodes)[0];
828
+ if (!slottedItem.slot["s-cr"]) {
829
+ slottedItem.slot["s-cr"] = hostEle["s-cr"];
830
+ if (!slottedItem.slot["s-cr"] && hostEle.shadowRoot) {
831
+ slottedItem.slot["s-cr"] = hostEle;
832
+ } else {
833
+ slottedItem.slot["s-cr"] = (hostEle.__childNodes || hostEle.childNodes)[0];
834
+ }
724
835
  }
725
836
  addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"]);
726
- }
727
- if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
728
- hostEle.appendChild(slottedItem.node);
837
+ if (((_b = slottedItem.node.parentElement) == null ? void 0 : _b.shadowRoot) && slottedItem.node["getAttribute"] && slottedItem.node.getAttribute("slot")) {
838
+ slottedItem.node.removeAttribute("slot");
839
+ }
729
840
  }
730
841
  }
731
842
  }
732
- if (shadowRoot && !shadowRoot.childNodes.length) {
843
+ if (shadowRoot) {
733
844
  let rnIdex = 0;
734
845
  const rnLen = shadowRootNodes.length;
735
846
  if (rnLen) {
736
847
  for (rnIdex; rnIdex < rnLen; rnIdex++) {
737
- shadowRoot.appendChild(shadowRootNodes[rnIdex]);
848
+ const node = shadowRootNodes[rnIdex];
849
+ if (node) {
850
+ shadowRoot.appendChild(node);
851
+ }
738
852
  }
739
853
  Array.from(hostElm.childNodes).forEach((node) => {
740
- if (typeof node["s-sn"] !== "string") {
854
+ if (typeof node["s-en"] !== "string" && typeof node["s-sn"] !== "string") {
741
855
  if (node.nodeType === 1 /* ElementNode */ && node.slot && node.hidden) {
742
856
  node.removeAttribute("hidden");
743
- } else if (node.nodeType === 8 /* CommentNode */ || node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
857
+ } else if (node.nodeType === 8 /* CommentNode */ && !node.nodeValue || node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
744
858
  node.parentNode.removeChild(node);
745
859
  }
746
860
  }
747
861
  });
748
862
  }
749
863
  }
750
- plt.$orgLocNodes$.delete(hostElm["s-id"]);
751
864
  hostRef.$hostElement$ = hostElm;
752
865
  endHydrate();
753
866
  };
@@ -901,7 +1014,7 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
901
1014
  vnode.$index$ = "0";
902
1015
  parentVNode.$children$ = [vnode];
903
1016
  } else {
904
- if (node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
1017
+ if (node.nodeType === 3 /* TextNode */ && !node.wholeText.trim() && !node["s-nr"]) {
905
1018
  node.remove();
906
1019
  }
907
1020
  }
@@ -959,10 +1072,10 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
959
1072
  if (childVNode.$name$) {
960
1073
  childVNode.$elm$.setAttribute("name", slotName);
961
1074
  }
962
- if (parentNodeId && parentNodeId !== childVNode.$hostId$) {
963
- parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
1075
+ if (parentVNode.$elm$.shadowRoot && parentNodeId && parentNodeId !== childVNode.$hostId$) {
1076
+ internalCall(parentVNode.$elm$, "insertBefore")(slot, internalCall(parentVNode.$elm$, "children")[0]);
964
1077
  } else {
965
- node.parentNode.insertBefore(childVNode.$elm$, node);
1078
+ internalCall(internalCall(node, "parentNode"), "insertBefore")(slot, node);
966
1079
  }
967
1080
  addSlottedNodes(slottedNodes, slotId, slotName, node, childVNode.$hostId$);
968
1081
  node.remove();
@@ -977,8 +1090,8 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
977
1090
  if (shouldMove) {
978
1091
  parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
979
1092
  }
980
- childRenderNodes.push(childVNode);
981
1093
  }
1094
+ childRenderNodes.push(childVNode);
982
1095
  slotNodes.push(childVNode);
983
1096
  if (!parentVNode.$children$) {
984
1097
  parentVNode.$children$ = [];
@@ -986,13 +1099,17 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
986
1099
  parentVNode.$children$[childVNode.$index$] = childVNode;
987
1100
  }
988
1101
  var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => {
1102
+ var _a, _b;
989
1103
  let slottedNode = slotNode.nextSibling;
990
1104
  slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || [];
991
- while (slottedNode && ((slottedNode["getAttribute"] && slottedNode.getAttribute("slot") || slottedNode["s-sn"]) === slotName || slotName === "" && !slottedNode["s-sn"] && (slottedNode.nodeType === 8 /* CommentNode */ && slottedNode.nodeValue.indexOf(".") !== 1 || slottedNode.nodeType === 3 /* TextNode */))) {
992
- slottedNode["s-sn"] = slotName;
993
- slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId });
994
- slottedNode = slottedNode.nextSibling;
995
- }
1105
+ if (!slottedNode || ((_a = slottedNode.nodeValue) == null ? void 0 : _a.startsWith(SLOT_NODE_ID + "."))) return;
1106
+ do {
1107
+ if (slottedNode && ((slottedNode["getAttribute"] && slottedNode.getAttribute("slot") || slottedNode["s-sn"]) === slotName || slotName === "" && !slottedNode["s-sn"] && (!slottedNode["getAttribute"] || !slottedNode.getAttribute("slot")) && (slottedNode.nodeType === 8 /* CommentNode */ || slottedNode.nodeType === 3 /* TextNode */))) {
1108
+ slottedNode["s-sn"] = slotName;
1109
+ slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId });
1110
+ }
1111
+ slottedNode = slottedNode == null ? void 0 : slottedNode.nextSibling;
1112
+ } while (slottedNode && !((_b = slottedNode.nodeValue) == null ? void 0 : _b.startsWith(SLOT_NODE_ID + ".")));
996
1113
  };
997
1114
  var findCorrespondingNode = (node, type) => {
998
1115
  let sibling = node;
@@ -1017,6 +1134,12 @@ var findCorrespondingNode = (node, type) => {
1017
1134
  var safeSelector = (selector) => {
1018
1135
  const placeholders = [];
1019
1136
  let index = 0;
1137
+ selector = selector.replace(/(\[\s*part~=\s*("[^"]*"|'[^']*')\s*\])/g, (_, keep) => {
1138
+ const replaceBy = `__part-${index}__`;
1139
+ placeholders.push(keep);
1140
+ index++;
1141
+ return replaceBy;
1142
+ });
1020
1143
  selector = selector.replace(/(\[[^\]]*\])/g, (_, keep) => {
1021
1144
  const replaceBy = `__ph-${index}__`;
1022
1145
  placeholders.push(keep);
@@ -1036,6 +1159,7 @@ var safeSelector = (selector) => {
1036
1159
  return ss;
1037
1160
  };
1038
1161
  var restoreSafeSelector = (placeholders, content) => {
1162
+ content = content.replace(/__part-(\d+)__/g, (_, index) => placeholders[+index]);
1039
1163
  return content.replace(/__ph-(\d+)__/g, (_, index) => placeholders[+index]);
1040
1164
  };
1041
1165
  var _polyfillHost = "-shadowcsshost";
@@ -1048,6 +1172,7 @@ var _cssColonSlottedRe = new RegExp("(" + _polyfillSlotted + _parenSuffix, "gim"
1048
1172
  var _polyfillHostNoCombinator = _polyfillHost + "-no-combinator";
1049
1173
  var _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\s]*)/;
1050
1174
  var _shadowDOMSelectorsRe = [/::shadow/g, /::content/g];
1175
+ var _safePartRe = /__part-(\d+)__/g;
1051
1176
  var _selectorReSuffix = "([>\\s~+[.,{:][\\s\\S]*)?$";
1052
1177
  var _polyfillHostRe = /-shadowcsshost/gim;
1053
1178
  var createSupportsRuleRe = (selector) => {
@@ -1262,7 +1387,7 @@ var applyStrictSelectorScope = (selector, scopeSelector2, hostSelector) => {
1262
1387
  let scopedSelector = "";
1263
1388
  let startIndex = 0;
1264
1389
  let res;
1265
- const sep = /( |>|\+|~(?!=))\s*/g;
1390
+ const sep = /( |>|\+|~(?!=))(?=(?:[^()]*\([^()]*\))*[^()]*$)\s*/g;
1266
1391
  const hasHost = selector.indexOf(_polyfillHostNoCombinator) > -1;
1267
1392
  let shouldScope = !hasHost;
1268
1393
  while ((res = sep.exec(selector)) !== null) {
@@ -1274,7 +1399,7 @@ var applyStrictSelectorScope = (selector, scopeSelector2, hostSelector) => {
1274
1399
  startIndex = sep.lastIndex;
1275
1400
  }
1276
1401
  const part = selector.substring(startIndex);
1277
- shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;
1402
+ shouldScope = !part.match(_safePartRe) && (shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1);
1278
1403
  scopedSelector += shouldScope ? _scopeSelectorPart(part) : part;
1279
1404
  return restoreSafeSelector(safeContent.placeholders, scopedSelector);
1280
1405
  };
@@ -1331,6 +1456,36 @@ var scopeCssText = (cssText, scopeId2, hostScopeId, slotScopeId, commentOriginal
1331
1456
  var replaceShadowCssHost = (cssText, hostScopeId) => {
1332
1457
  return cssText.replace(/-shadowcsshost-no-combinator/g, `.${hostScopeId}`);
1333
1458
  };
1459
+ var expandPartSelectors = (cssText) => {
1460
+ const partSelectorRe = /([^\s,{][^,{]*?)::part\(\s*([^)]+?)\s*\)((?:[:.][^,{]*)*)/g;
1461
+ return processRules(cssText, (rule) => {
1462
+ if (rule.selector[0] === "@") {
1463
+ return rule;
1464
+ }
1465
+ const selectors = rule.selector.split(",").map((sel) => {
1466
+ const out = [sel.trim()];
1467
+ let m;
1468
+ while ((m = partSelectorRe.exec(sel)) !== null) {
1469
+ const before = m[1].trimEnd();
1470
+ const partNames = m[2].trim().split(/\s+/);
1471
+ const after = m[3] || "";
1472
+ const partAttr = partNames.flatMap((p) => {
1473
+ if (!rule.selector.includes(`[part~="${p}"]`)) {
1474
+ return [`[part~="${p}"]`];
1475
+ }
1476
+ return [];
1477
+ }).join("");
1478
+ const expanded = `${before} ${partAttr}${after}`;
1479
+ if (!!partAttr && expanded !== sel.trim()) {
1480
+ out.push(expanded);
1481
+ }
1482
+ }
1483
+ return out.join(", ");
1484
+ });
1485
+ rule.selector = selectors.join(", ");
1486
+ return rule;
1487
+ });
1488
+ };
1334
1489
  var scopeCss = (cssText, scopeId2, commentOriginalSelector) => {
1335
1490
  const hostScopeId = scopeId2 + "-h";
1336
1491
  const slotScopeId = scopeId2 + "-s";
@@ -1366,21 +1521,20 @@ var scopeCss = (cssText, scopeId2, commentOriginalSelector) => {
1366
1521
  const regex = new RegExp(escapeRegExpSpecialCharacters(slottedSelector.orgSelector), "g");
1367
1522
  cssText = cssText.replace(regex, slottedSelector.updatedSelector);
1368
1523
  });
1524
+ cssText = expandPartSelectors(cssText);
1369
1525
  return cssText;
1370
1526
  };
1371
- var parsePropertyValue = (propValue, propType) => {
1372
- if (typeof propValue === "string" && (propValue.startsWith("{") && propValue.endsWith("}") || propValue.startsWith("[") && propValue.endsWith("]"))) {
1373
- try {
1374
- propValue = JSON.parse(propValue);
1375
- return propValue;
1376
- } catch (e) {
1377
- }
1378
- }
1527
+ var parsePropertyValue = (propValue, propType, isFormAssociated) => {
1379
1528
  if (typeof propValue === "string" && propValue.startsWith(SERIALIZED_PREFIX)) {
1380
1529
  propValue = deserializeProperty(propValue);
1381
1530
  return propValue;
1382
1531
  }
1383
1532
  if (propValue != null && !isComplexType(propValue)) {
1533
+ if (propType & 4 /* Boolean */) {
1534
+ {
1535
+ return propValue === "false" ? false : propValue === "" || !!propValue;
1536
+ }
1537
+ }
1384
1538
  if (propType & 1 /* String */) {
1385
1539
  return String(propValue);
1386
1540
  }
@@ -1388,7 +1542,10 @@ var parsePropertyValue = (propValue, propType) => {
1388
1542
  }
1389
1543
  return propValue;
1390
1544
  };
1391
- var getElement = (ref) => getHostRef(ref).$hostElement$ ;
1545
+ var getElement = (ref) => {
1546
+ var _a;
1547
+ return (_a = getHostRef(ref)) == null ? void 0 : _a.$hostElement$ ;
1548
+ };
1392
1549
 
1393
1550
  // src/runtime/event-emitter.ts
1394
1551
  var createEvent = (ref, name, flags) => {
@@ -1409,94 +1566,6 @@ var emitEvent = (elm, name, opts) => {
1409
1566
  elm.dispatchEvent(ev);
1410
1567
  return ev;
1411
1568
  };
1412
- var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
1413
- var registerStyle = (scopeId2, cssText, allowCS) => {
1414
- let style = styles.get(scopeId2);
1415
- {
1416
- style = cssText;
1417
- }
1418
- styles.set(scopeId2, style);
1419
- };
1420
- var addStyle = (styleContainerNode, cmpMeta, mode) => {
1421
- var _a;
1422
- const scopeId2 = getScopeId(cmpMeta);
1423
- const style = styles.get(scopeId2);
1424
- if (!win.document) {
1425
- return scopeId2;
1426
- }
1427
- styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document;
1428
- if (style) {
1429
- if (typeof style === "string") {
1430
- styleContainerNode = styleContainerNode.head || styleContainerNode;
1431
- let appliedStyles = rootAppliedStyles.get(styleContainerNode);
1432
- let styleElm;
1433
- if (!appliedStyles) {
1434
- rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
1435
- }
1436
- if (!appliedStyles.has(scopeId2)) {
1437
- if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
1438
- styleElm.innerHTML = style;
1439
- } else {
1440
- styleElm = document.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`) || win.document.createElement("style");
1441
- styleElm.innerHTML = style;
1442
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
1443
- if (nonce != null) {
1444
- styleElm.setAttribute("nonce", nonce);
1445
- }
1446
- if ((cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */ || cmpMeta.$flags$ & 128 /* shadowNeedsScopedCss */)) {
1447
- styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId2);
1448
- }
1449
- if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
1450
- if (styleContainerNode.nodeName === "HEAD") {
1451
- const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
1452
- const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
1453
- styleContainerNode.insertBefore(
1454
- styleElm,
1455
- (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
1456
- );
1457
- } else if ("host" in styleContainerNode) {
1458
- {
1459
- const existingStyleContainer = styleContainerNode.querySelector("style");
1460
- if (existingStyleContainer) {
1461
- existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
1462
- } else {
1463
- styleContainerNode.prepend(styleElm);
1464
- }
1465
- }
1466
- } else {
1467
- styleContainerNode.append(styleElm);
1468
- }
1469
- }
1470
- if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
1471
- styleContainerNode.insertBefore(styleElm, null);
1472
- }
1473
- }
1474
- if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
1475
- styleElm.innerHTML += SLOT_FB_CSS;
1476
- }
1477
- if (appliedStyles) {
1478
- appliedStyles.add(scopeId2);
1479
- }
1480
- }
1481
- }
1482
- }
1483
- return scopeId2;
1484
- };
1485
- var attachStyles = (hostRef) => {
1486
- const cmpMeta = hostRef.$cmpMeta$;
1487
- const elm = hostRef.$hostElement$;
1488
- const flags = cmpMeta.$flags$;
1489
- const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
1490
- const scopeId2 = addStyle(
1491
- elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
1492
- cmpMeta);
1493
- if (flags & 10 /* needsScopedEncapsulation */) {
1494
- elm["s-sc"] = scopeId2;
1495
- elm.classList.add(scopeId2 + "-h");
1496
- }
1497
- endAttachStyles();
1498
- };
1499
- var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
1500
1569
  var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRender) => {
1501
1570
  if (oldValue === newValue) {
1502
1571
  return;
@@ -1507,12 +1576,13 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
1507
1576
  const classList = elm.classList;
1508
1577
  const oldClasses = parseClassList(oldValue);
1509
1578
  let newClasses = parseClassList(newValue);
1510
- if (elm["s-si"] && initialRender) {
1511
- newClasses.push(elm["s-si"]);
1579
+ if ((elm["s-si"] || elm["s-sc"]) && initialRender) {
1580
+ const scopeId2 = elm["s-sc"] || elm["s-si"];
1581
+ newClasses.push(scopeId2);
1512
1582
  oldClasses.forEach((c) => {
1513
- if (c.startsWith(elm["s-si"])) newClasses.push(c);
1583
+ if (c.startsWith(scopeId2)) newClasses.push(c);
1514
1584
  });
1515
- newClasses = [...new Set(newClasses)];
1585
+ newClasses = [...new Set(newClasses)].filter((c) => c);
1516
1586
  classList.add(...newClasses);
1517
1587
  } else {
1518
1588
  classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
@@ -1933,6 +2003,8 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
1933
2003
  !isInitialRender && BUILD.updatable && oldChildren !== null
1934
2004
  ) {
1935
2005
  removeVnodes(oldChildren, 0, oldChildren.length - 1);
2006
+ } else if (isInitialRender && BUILD.updatable && oldChildren !== null && newChildren === null) {
2007
+ newVNode2.$children$ = oldChildren;
1936
2008
  }
1937
2009
  if (isSvgMode && tag === "svg") {
1938
2010
  isSvgMode = false;
@@ -2139,6 +2211,12 @@ var scheduleUpdate = (hostRef, isInitialLoad) => {
2139
2211
  }
2140
2212
  attachToAncestor(hostRef, hostRef.$ancestorComponent$);
2141
2213
  const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
2214
+ if (isInitialLoad) {
2215
+ queueMicrotask(() => {
2216
+ dispatch();
2217
+ });
2218
+ return;
2219
+ }
2142
2220
  return writeTask(dispatch) ;
2143
2221
  };
2144
2222
  var dispatchHooks = (hostRef, isInitialLoad) => {
@@ -2153,10 +2231,15 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
2153
2231
  let maybePromise;
2154
2232
  if (isInitialLoad) {
2155
2233
  {
2156
- hostRef.$flags$ |= 256 /* isListenReady */;
2157
- if (hostRef.$queuedListeners$) {
2158
- hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event, elm));
2159
- hostRef.$queuedListeners$ = void 0;
2234
+ {
2235
+ hostRef.$flags$ |= 256 /* isListenReady */;
2236
+ if (hostRef.$queuedListeners$) {
2237
+ hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event, elm));
2238
+ hostRef.$queuedListeners$ = void 0;
2239
+ }
2240
+ }
2241
+ if (hostRef.$fetchedCbList$.length) {
2242
+ hostRef.$fetchedCbList$.forEach((cb) => cb(elm));
2160
2243
  }
2161
2244
  }
2162
2245
  maybePromise = safeCall(instance, "componentWillLoad", void 0, elm);
@@ -2273,10 +2356,16 @@ var postUpdateComponent = (hostRef) => {
2273
2356
  }
2274
2357
  };
2275
2358
  var appDidLoad = (who) => {
2359
+ var _a;
2276
2360
  if (BUILD.asyncQueue) {
2277
2361
  plt.$flags$ |= 2 /* appLoaded */;
2278
2362
  }
2279
2363
  nextTick(() => emitEvent(win, "appload", { detail: { namespace: NAMESPACE } }));
2364
+ {
2365
+ if ((_a = plt.$orgLocNodes$) == null ? void 0 : _a.size) {
2366
+ plt.$orgLocNodes$.clear();
2367
+ }
2368
+ }
2280
2369
  };
2281
2370
  var safeCall = (instance, method, arg, elm) => {
2282
2371
  if (instance && instance[method]) {
@@ -2309,6 +2398,9 @@ var serverSideConnected = (elm) => {
2309
2398
  var getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
2310
2399
  var setValue = (ref, propName, newVal, cmpMeta) => {
2311
2400
  const hostRef = getHostRef(ref);
2401
+ if (!hostRef) {
2402
+ return;
2403
+ }
2312
2404
  if (!hostRef) {
2313
2405
  throw new Error(
2314
2406
  `Couldn't find host element for "${cmpMeta.$tagName$}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/stenciljs/core/issues/5457).`
@@ -2317,7 +2409,9 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
2317
2409
  const oldVal = hostRef.$instanceValues$.get(propName);
2318
2410
  const flags = hostRef.$flags$;
2319
2411
  const instance = hostRef.$lazyInstance$ ;
2320
- newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);
2412
+ newVal = parsePropertyValue(
2413
+ newVal,
2414
+ cmpMeta.$members$[propName][0]);
2321
2415
  const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
2322
2416
  const didValueChange = newVal !== oldVal && !areBothNaN;
2323
2417
  if ((!(flags & 8 /* isConstructingInstance */) || oldVal === void 0) && didValueChange) {
@@ -2339,7 +2433,7 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
2339
2433
  var proxyComponent = (Cstr, cmpMeta, flags) => {
2340
2434
  var _a;
2341
2435
  const prototype = Cstr.prototype;
2342
- if (cmpMeta.$members$ || BUILD.watchCallback) {
2436
+ if (cmpMeta.$members$ || BUILD.propChangeCallback) {
2343
2437
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
2344
2438
  members.map(([memberName, [memberFlags]]) => {
2345
2439
  if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {
@@ -2366,14 +2460,19 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2366
2460
  Object.defineProperty(prototype, memberName, {
2367
2461
  set(newValue) {
2368
2462
  const ref = getHostRef(this);
2463
+ if (!ref) {
2464
+ return;
2465
+ }
2369
2466
  if (origSetter) {
2370
2467
  const currentValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
2371
2468
  if (typeof currentValue === "undefined" && ref.$instanceValues$.get(memberName)) {
2372
2469
  newValue = ref.$instanceValues$.get(memberName);
2373
- } else if (!ref.$instanceValues$.get(memberName) && currentValue) {
2374
- ref.$instanceValues$.set(memberName, currentValue);
2375
2470
  }
2376
- origSetter.apply(this, [parsePropertyValue(newValue, memberFlags)]);
2471
+ origSetter.apply(this, [
2472
+ parsePropertyValue(
2473
+ newValue,
2474
+ memberFlags)
2475
+ ]);
2377
2476
  newValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
2378
2477
  setValue(this, memberName, newValue, cmpMeta);
2379
2478
  return;
@@ -2441,8 +2540,12 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
2441
2540
  const scopeId2 = getScopeId(cmpMeta);
2442
2541
  if (!styles.has(scopeId2)) {
2443
2542
  const endRegisterStyles = createTime("registerStyles", cmpMeta.$tagName$);
2444
- if (cmpMeta.$flags$ & 128 /* shadowNeedsScopedCss */) {
2445
- style = scopeCss(style, scopeId2);
2543
+ {
2544
+ if (cmpMeta.$flags$ & 128 /* shadowNeedsScopedCss */) {
2545
+ style = scopeCss(style, scopeId2);
2546
+ } else if (needsScopedSSR()) {
2547
+ style = expandPartSelectors(style);
2548
+ }
2446
2549
  }
2447
2550
  registerStyle(scopeId2, style);
2448
2551
  endRegisterStyles();
@@ -2467,6 +2570,9 @@ var fireConnectedCallback = (instance, elm) => {
2467
2570
  var connectedCallback = (elm) => {
2468
2571
  if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
2469
2572
  const hostRef = getHostRef(elm);
2573
+ if (!hostRef) {
2574
+ return;
2575
+ }
2470
2576
  const cmpMeta = hostRef.$cmpMeta$;
2471
2577
  const endConnected = createTime("connectedCallback", cmpMeta.$tagName$);
2472
2578
  if (!(hostRef.$flags$ & 1 /* hasConnected */)) {
@@ -2718,8 +2824,13 @@ var hAsync = (nodeName, vnodeData, ...children) => {
2718
2824
  }
2719
2825
  return h(nodeName, vnodeData);
2720
2826
  };
2827
+
2828
+ // src/hydrate/platform/proxy-host-element.ts
2721
2829
  function proxyHostElement(elm, cstr) {
2722
2830
  const cmpMeta = cstr.cmpMeta;
2831
+ cmpMeta.$watchers$ = cmpMeta.$watchers$ || cstr.watchers;
2832
+ cmpMeta.$deserializers$ = cmpMeta.$deserializers$ || cstr.deserializers;
2833
+ cmpMeta.$serializers$ = cmpMeta.$serializers$ || cstr.serializers;
2723
2834
  if (typeof elm.componentOnReady !== "function") {
2724
2835
  elm.componentOnReady = componentOnReady;
2725
2836
  }
@@ -2727,15 +2838,13 @@ function proxyHostElement(elm, cstr) {
2727
2838
  elm.forceUpdate = forceUpdate2;
2728
2839
  }
2729
2840
  if (!elm.shadowRoot && !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) && !(cmpMeta.$flags$ & 128 /* shadowNeedsScopedCss */)) {
2730
- {
2731
- elm.attachShadow({ mode: "open" });
2732
- }
2841
+ createShadowRoot.call(elm, cmpMeta);
2733
2842
  }
2734
2843
  if (cmpMeta.$members$ != null) {
2735
2844
  const hostRef = getHostRef(elm);
2736
2845
  const members = Object.entries(cmpMeta.$members$);
2737
2846
  members.forEach(([memberName, [memberFlags, metaAttributeName]]) => {
2738
- var _a;
2847
+ var _a, _b;
2739
2848
  if (memberFlags & 31 /* Prop */) {
2740
2849
  const attributeName = metaAttributeName || memberName;
2741
2850
  const attrValue = elm.getAttribute(attributeName);
@@ -2743,7 +2852,13 @@ function proxyHostElement(elm, cstr) {
2743
2852
  let attrPropVal;
2744
2853
  const { get: origGetter, set: origSetter } = Object.getOwnPropertyDescriptor(cstr.prototype, memberName) || {};
2745
2854
  if (attrValue != null) {
2746
- attrPropVal = parsePropertyValue(attrValue, memberFlags);
2855
+ if ((_a = cmpMeta.$deserializers$) == null ? void 0 : _a[memberName]) {
2856
+ for (const methodName of cmpMeta.$deserializers$[memberName]) {
2857
+ attrPropVal = cstr.prototype[methodName](attrValue, memberName);
2858
+ }
2859
+ } else {
2860
+ attrPropVal = parsePropertyValue(attrValue, memberFlags);
2861
+ }
2747
2862
  }
2748
2863
  if (propValue !== void 0) {
2749
2864
  attrPropVal = propValue;
@@ -2754,7 +2869,7 @@ function proxyHostElement(elm, cstr) {
2754
2869
  origSetter.apply(elm, [attrPropVal]);
2755
2870
  attrPropVal = origGetter ? origGetter.apply(elm) : attrPropVal;
2756
2871
  }
2757
- (_a = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _a.set(memberName, attrPropVal);
2872
+ (_b = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _b.set(memberName, attrPropVal);
2758
2873
  }
2759
2874
  const getterSetterDescriptor = {
2760
2875
  get: function() {
@@ -2768,21 +2883,18 @@ function proxyHostElement(elm, cstr) {
2768
2883
  };
2769
2884
  Object.defineProperty(elm, memberName, getterSetterDescriptor);
2770
2885
  Object.defineProperty(elm, metaAttributeName, getterSetterDescriptor);
2771
- if (!cstr.prototype.__stencilAugmented) {
2772
- Object.defineProperty(cstr.prototype, memberName, {
2773
- get: function() {
2774
- var _a2;
2775
- const ref = getHostRef(this);
2776
- const attrPropVal2 = (_a2 = ref.$instanceValues$) == null ? void 0 : _a2.get(memberName);
2777
- if (origGetter && attrPropVal2 === void 0 && !getValue(this, memberName)) {
2778
- setValue(this, memberName, origGetter.apply(this), cmpMeta);
2779
- }
2780
- return attrPropVal2 !== void 0 ? attrPropVal2 : origGetter ? origGetter.apply(this) : getValue(this, memberName);
2781
- },
2782
- configurable: true,
2783
- enumerable: true
2784
- });
2785
- }
2886
+ hostRef.$fetchedCbList$.push(() => {
2887
+ var _a2;
2888
+ if (!((_a2 = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _a2.has(memberName))) {
2889
+ setValue(
2890
+ elm,
2891
+ memberName,
2892
+ attrPropVal !== void 0 ? attrPropVal : hostRef.$lazyInstance$[memberName],
2893
+ cmpMeta
2894
+ );
2895
+ }
2896
+ Object.defineProperty(hostRef.$lazyInstance$, memberName, getterSetterDescriptor);
2897
+ });
2786
2898
  } else if (memberFlags & 64 /* Method */) {
2787
2899
  Object.defineProperty(elm, memberName, {
2788
2900
  value(...args) {
@@ -2798,7 +2910,6 @@ function proxyHostElement(elm, cstr) {
2798
2910
  });
2799
2911
  }
2800
2912
  });
2801
- cstr.prototype.__stencilAugmented = true;
2802
2913
  }
2803
2914
  }
2804
2915
  function componentOnReady() {
@@ -2816,6 +2927,7 @@ function hydrateApp(win2, opts, results, afterHydrate, resolve) {
2816
2927
  const orgDocumentCreateElement = win2.document.createElement;
2817
2928
  const orgDocumentCreateElementNS = win2.document.createElementNS;
2818
2929
  const resolved2 = Promise.resolve();
2930
+ setScopedSSR(opts);
2819
2931
  let tmrId;
2820
2932
  let ranCompleted = false;
2821
2933
  function hydratedComplete() {
@@ -2923,13 +3035,16 @@ async function hydrateComponent(win2, results, tagName, elm, waitingElements) {
2923
3035
  if (cmpMeta != null) {
2924
3036
  waitingElements.add(elm);
2925
3037
  const hostRef = getHostRef(this);
3038
+ if (!hostRef) {
3039
+ return;
3040
+ }
2926
3041
  addHostEventListeners(this, hostRef, cmpMeta.$listeners$);
2927
3042
  try {
2928
3043
  connectedCallback(elm);
2929
3044
  await elm.componentOnReady();
2930
3045
  results.hydratedCount++;
2931
3046
  const ref = getHostRef(elm);
2932
- const modeName = !ref.$modeName$ ? "$" : ref.$modeName$;
3047
+ const modeName = !(ref == null ? void 0 : ref.$modeName$) ? "$" : ref == null ? void 0 : ref.$modeName$;
2933
3048
  if (!results.components.some((c) => c.tag === tagName && c.mode === modeName)) {
2934
3049
  results.components.push({
2935
3050
  tag: tagName,
@@ -3144,6 +3259,7 @@ var getHostRef = (ref) => {
3144
3259
  return void 0;
3145
3260
  };
3146
3261
  var registerInstance = (lazyInstance, hostRef) => {
3262
+ if (!hostRef) return void 0;
3147
3263
  lazyInstance.__stencil__getHostRef = () => hostRef;
3148
3264
  hostRef.$lazyInstance$ = lazyInstance;
3149
3265
  return hostRef;
@@ -3154,8 +3270,10 @@ var registerHost = (elm, cmpMeta) => {
3154
3270
  $cmpMeta$: cmpMeta,
3155
3271
  $hostElement$: elm,
3156
3272
  $instanceValues$: /* @__PURE__ */ new Map(),
3273
+ $serializerValues$: /* @__PURE__ */ new Map(),
3157
3274
  $renderCount$: 0
3158
3275
  };
3276
+ hostRef.$fetchedCbList$ = [];
3159
3277
  hostRef.$onInstancePromise$ = new Promise((r) => hostRef.$onInstanceResolve$ = r);
3160
3278
  hostRef.$onReadyPromise$ = new Promise((r) => hostRef.$onReadyResolve$ = r);
3161
3279
  elm["s-p"] = [];
@@ -3164,9 +3282,19 @@ var registerHost = (elm, cmpMeta) => {
3164
3282
  return hostRef;
3165
3283
  };
3166
3284
  var styles = /* @__PURE__ */ new Map();
3285
+ var setScopedSSR = (opts) => {
3286
+ scopedSSR = opts.serializeShadowRoot !== false && opts.serializeShadowRoot !== "declarative-shadow-dom";
3287
+ };
3288
+ var needsScopedSSR = () => scopedSSR;
3289
+ var scopedSSR = false;
3167
3290
 
3168
3291
  const pennlibsAutocompleteCss = ":host {\n display: block;\n width: 100%;\n border-radius: 1.25rem;\n padding: 0;\n border-top: 0;\n position: relative;\n}\n\n[role=listbox] {\n position: absolute;\n margin-top: var(--pl-space-xs);\n background: var(--pl-color-bg-default);\n border-radius: 1.25rem;\n box-shadow: rgba(140, 149, 159, 0.3) 0px 8px 24px 0px;\n width: 100%;\n overflow: hidden;\n z-index: 1;\n\n display: flex;\n flex-direction: column;\n}\n\np {\n margin: 0;\n font-size: var(--pl-font-size-s);\n color: var(--pl-color-fg-subtle);\n padding: var(--pl-space-xs) calc(var(--pl-space-m) + var(--pl-space-2xs));\n font-size: var(--pl-font-size-s);\n order: 2;\n font-weight: 500;\n background: var(--pl-color-bg-subtle);\n border-radius: 0 0 1.25rem 1.25rem;\n\n display: flex;\n gap: var(--pl-space-s) var(--pl-space-l);\n flex-wrap: wrap;\n}\n\nol {\n list-style: none;\n margin: 0;\n padding: var(--pl-space-xs) 0;\n order: 1;\n}\n\n[role=option] {\n color: var(--pl-color-fg-default);\n padding: var(--pl-space-s) calc(var(--pl-space-m) + var(--pl-space-2xs));\n text-decoration: none;\n font-weight: 700; \n\n &:hover {\n cursor: pointer;\n }\n\n &:hover,\n &:focus {\n text-decoration-thickness: 2px;\n text-underline-offset: 2px;\n text-decoration: underline;\n }\n}\n\n[aria-selected=true] {\n text-decoration-thickness: 2px;\n text-underline-offset: 2px;\n text-decoration: underline;\n}\n\nmark,\nb {\n background: none;\n font-weight: 400;\n}\n\n.suggestion--border {\n border-bottom: solid 1px rgb(from var(--pl-color-fg-default) r g b / 0.2);\n padding-bottom: calc(var(--pl-space-2xs) + var(--pl-space-s));\n margin-bottom: var(--pl-space-2xs);\n}";
3169
3292
 
3293
+ /**
3294
+ * Offer predictive suggestions while typing your search query.
3295
+ *
3296
+ * @slot start - Content to display at the start (top).
3297
+ */
3170
3298
  class Autocomplete {
3171
3299
  constructor(hostRef) {
3172
3300
  registerInstance(this, hostRef);
@@ -3307,22 +3435,19 @@ class Autocomplete {
3307
3435
  }
3308
3436
  handleEscape() {
3309
3437
  this.reset();
3310
- this.syncInputState();
3311
- this.syncInputValueToSelection();
3438
+ this.syncAll();
3312
3439
  }
3313
3440
  handleArrowDown() {
3314
3441
  if (!this.showSuggestions)
3315
3442
  return;
3316
3443
  this.moveNext();
3317
- this.syncInputState();
3318
- this.syncInputValueToSelection();
3444
+ this.syncAll();
3319
3445
  }
3320
3446
  handleArrowUp() {
3321
3447
  if (!this.showSuggestions)
3322
3448
  return;
3323
3449
  this.movePrevious();
3324
- this.syncInputState();
3325
- this.syncInputValueToSelection();
3450
+ this.syncAll();
3326
3451
  }
3327
3452
  handleEnter() {
3328
3453
  if (this.canSelect())
@@ -3344,16 +3469,22 @@ class Autocomplete {
3344
3469
  if (this.currentIndex < 0)
3345
3470
  return;
3346
3471
  const selectedOption = this.options[this.currentIndex];
3472
+ this.applySelection(selectedOption);
3473
+ this.emitActivation(selectedOption);
3474
+ this.closeSuggestions();
3475
+ }
3476
+ applySelection(option) {
3347
3477
  const input = this.getInput();
3348
- if (input) {
3349
- input.value = selectedOption.value;
3350
- this.originalValue = selectedOption.value;
3351
- }
3478
+ if (!input)
3479
+ return;
3480
+ input.value = option.value;
3481
+ this.originalValue = option.value;
3482
+ }
3483
+ emitActivation(option) {
3352
3484
  this.activated.emit({
3353
3485
  index: this.currentIndex,
3354
- value: selectedOption.value
3486
+ value: option.value
3355
3487
  });
3356
- this.closeSuggestions();
3357
3488
  }
3358
3489
  openSuggestions() {
3359
3490
  if (!this.isInputFocused())
@@ -3365,12 +3496,11 @@ class Autocomplete {
3365
3496
  }
3366
3497
  showSuggestionsPanel() {
3367
3498
  this.showSuggestions = true;
3368
- this.syncInputState();
3499
+ this.syncAriaAttributes();
3369
3500
  }
3370
3501
  closeSuggestions() {
3371
3502
  this.reset();
3372
- this.syncInputState();
3373
- this.syncInputValueToSelection();
3503
+ this.syncAll();
3374
3504
  }
3375
3505
  deferCloseSuggestions() {
3376
3506
  if (this.blurTimeout)
@@ -3395,7 +3525,7 @@ class Autocomplete {
3395
3525
  const active = document.activeElement;
3396
3526
  return !((_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.contains(active)) && active !== this.getInput();
3397
3527
  }
3398
- syncInputState() {
3528
+ syncAriaAttributes() {
3399
3529
  const input = this.getInput();
3400
3530
  if (!input)
3401
3531
  return;
@@ -3410,6 +3540,10 @@ class Autocomplete {
3410
3540
  ? this.options[this.currentIndex].value
3411
3541
  : this.originalValue;
3412
3542
  }
3543
+ syncAll() {
3544
+ this.syncAriaAttributes();
3545
+ this.syncInputValueToSelection();
3546
+ }
3413
3547
  updateAriaExpanded(input) {
3414
3548
  input.setAttribute('aria-expanded', this.showSuggestions.toString());
3415
3549
  }
@@ -3428,12 +3562,12 @@ class Autocomplete {
3428
3562
  return this.showSuggestions && this.options.length > 0 && this.isInputFocused();
3429
3563
  }
3430
3564
  render() {
3431
- return (hAsync("div", { key: 'd7c11d48e354937eedc76f608ef3b3b8762ddb4b' }, hAsync("slot", { key: 'a3c65cf477aa9f575c3310e364c1dd2a5dca9e57', name: "start" }), this.shouldShowListbox() && (hAsync("ol", { key: 'dc035d276f14da3ad0246924c345bc86ff5c68f9', role: "listbox", id: "listbox" }, this.options.map((option, index) => (hAsync("li", { role: "option", id: option.id, "aria-selected": this.currentIndex === index ? 'true' : 'false', tabindex: "-1", onClick: () => this.handleOptionClick(index), innerHTML: option.html })))))));
3565
+ return (hAsync("div", { key: 'ee4ead1b5bec44a561901a29d3d5e119da0d09f8' }, hAsync("slot", { key: '7d7128ab7968544ab25125d30a648136f8d8a566', name: "start" }), this.shouldShowListbox() && (hAsync("ol", { key: '95d45d524847f83b646853a8d919bc88f471f150', role: "listbox", id: "listbox" }, this.options.map((option, index) => (hAsync("li", { role: "option", id: option.id, "aria-selected": this.currentIndex === index ? 'true' : 'false', tabindex: "-1", onClick: () => this.handleOptionClick(index), innerHTML: option.html })))))));
3432
3566
  }
3433
3567
  get el() { return getElement(this); }
3434
3568
  static get style() { return pennlibsAutocompleteCss; }
3435
3569
  static get cmpMeta() { return {
3436
- "$flags$": 9,
3570
+ "$flags$": 265,
3437
3571
  "$tagName$": "pennlibs-autocomplete",
3438
3572
  "$members$": {
3439
3573
  "for": [1],
@@ -3461,7 +3595,7 @@ class Banner {
3461
3595
  static get assetsDirs() { return ["assets"]; }
3462
3596
  static get style() { return pennlibsBannerCss; }
3463
3597
  static get cmpMeta() { return {
3464
- "$flags$": 9,
3598
+ "$flags$": 265,
3465
3599
  "$tagName$": "pennlibs-banner",
3466
3600
  "$members$": undefined,
3467
3601
  "$listeners$": undefined,
@@ -3486,7 +3620,7 @@ class Chat {
3486
3620
  }
3487
3621
  static get style() { return pennlibsChatCss; }
3488
3622
  static get cmpMeta() { return {
3489
- "$flags$": 9,
3623
+ "$flags$": 265,
3490
3624
  "$tagName$": "pennlibs-chat",
3491
3625
  "$members$": {
3492
3626
  "href": [32]
@@ -3562,7 +3696,7 @@ class Footer {
3562
3696
  get hostElement() { return getElement(this); }
3563
3697
  static get style() { return pennlibsFooterCss; }
3564
3698
  static get cmpMeta() { return {
3565
- "$flags$": 9,
3699
+ "$flags$": 265,
3566
3700
  "$tagName$": "pennlibs-footer",
3567
3701
  "$members$": {
3568
3702
  "navigationByChildren": [32]
@@ -3578,22 +3712,7 @@ const LogoWhite = () => {
3578
3712
  };
3579
3713
 
3580
3714
  const LogoBlue = () => {
3581
- return (hAsync("svg", { xmlns: "http://www.w3.org/2000/svg", width: "445", fill: "none", class: "website-header__logo", viewBox: "0 0 445 95" },
3582
- hAsync("g", { "clip-path": "url(#clip0_10377_15535)" },
3583
- hAsync("path", { fill: "#011F5B", d: "M443.498 60.919H84.084v1.247h359.414v-1.247z" }),
3584
- hAsync("path", { fill: "#fff", d: "M76.106 3.45H0v37.926c-.052 16.52 9.105 28.478 16.793 35.601 8.456 7.841 17.766 12.368 20.875 13.035l.376.085.376-.085c3.11-.683 12.437-5.194 20.876-13.035 7.687-7.123 16.827-19.082 16.793-35.601V3.45h.017z" }),
3585
- hAsync("path", { fill: "#900", d: "M1.93 5.45s.103 22.037 0 21.934h72.245V5.45H1.93zM21.32 19.32c.12.085.222.17.307.29.086.137.12.274.12.445a.888.888 0 01-.12.427c-.085.12-.205.205-.307.307-.171.137-.342.257-.342.479v1.35H5.022v-1.35c0-.222-.17-.36-.341-.479a1.054 1.054 0 01-.308-.307.753.753 0 01-.12-.444c0-.171.035-.308.12-.445.085-.12.205-.205.308-.29.17-.137.341-.256.341-.495V14.4c0-.222-.17-.342-.341-.478a1.245 1.245 0 01-.308-.29.752.752 0 01-.12-.445c0-.17.035-.307.12-.444.085-.12.205-.222.308-.29.17-.137.341-.257.341-.479v-1.383h.205c.94 0 1.743-.018 2.324-.274.239-.085.444-.239.666-.376.495-.307 1.042-.649 1.879-.649.666 0 1.281.256 1.828.479.393.153.752.29 1.025.29h.102c.274 0 .633-.154 1.025-.29.547-.223 1.162-.479 1.828-.479.837 0 1.384.342 1.88.65.222.136.444.273.683.375.564.24 1.384.274 2.323.274h.205v1.383c0 .222.17.342.342.479.102.085.222.17.307.29.086.137.12.273.12.444 0 .171-.051.308-.12.444-.085.12-.205.205-.307.29-.171.137-.342.257-.342.48v4.407c0 .222.17.358.342.495m30.527 2.306c-1.23 1.965-3.621 2.46-3.706 2.477-.462.086-.957.12-1.436.12-2.494 0-4.783-1.093-7.123-2.29-.256-.136-.547-.29-.854-.46-1.487-.82-3.57-1.948-5.33-1.948-.513 0-1.008.102-1.435.325l-.069.034v.085c0 .222-.068.444-.136.65-.29.751-1.196 1.537-1.64 1.861-1.025.735-2.29 1.487-3.844 1.487-.24 0-.444-.035-.65-.103a1.502 1.502 0 01-.7-.495c-.085-.103-.153-.24-.222-.376-.051-.103-.068-.222-.102-.342v-.085l-.103-.034c-.615-.188-.973-.581-.973-1.06 0-.375.273-.683.53-.99.41-.479.75-.889.187-1.435-.051-.052-.12-.086-.17-.137-.086-.068-.172-.12-.24-.205-.495-.53-.205-1.657-.034-2.323v-.069c.205-.734.512-1.486.922-2.306.564-1.11 1.23-2.374 2.187-3.16.017 0 .034-.017.068-.017.017 0 .052.017.069.034 0 .034.12.188.273.444l.154.273.102-.29c.274-.786.7-1.298 1.299-1.52.632-.24 1.23.085 1.52.307l.12.102.085-.136c.188-.308.547-.684 1.128-.718.649-.034 1.178.41 1.434.684l.103.085.102-.085c.29-.24 1.042-.786 1.794-.684.718.103.991.718 1.076.974l.052.17.153-.068c.342-.17.991-.392 1.606 0 .393.257.444.684.41.991v.188l.171-.034c.461-.068 1.316-.12 1.828.393.393.41.427.94.376 1.298v.188h.17c.41-.068.957-.034 1.248.427.205.308.12.752.051.974l-.034.137.136.034c.24.051.65.205.77.547.102.256.068.666-.07 1.161l-.033.12.12.051c.204.085.58.29.785.683.205.393.188.872-.017 1.453l-.034.085.068.068c.53.479 1.06.906 1.589 1.282 1.06.768 2.716 1.178 3.844.256.427-.342.615-.991.478-1.589-.137-.53-.478-.888-.957-1.008-.854-.188-1.52.615-2.067 1.435 0 .017-.05.034-.085.034-.034 0-.051-.017-.068-.051-.513-1.213-.53-2.204-.086-2.973.393-.649 1.128-1.11 2.033-1.264h.12v-.153c0-1.418.324-2.46 1.008-3.092.427-.376 1.195-.803 2.477-.615a.13.13 0 01.068.034v.068c-.94 2.29-.718 3.143-.205 5.023.051.17.085.341.137.512.478 1.777.341 3.297-.428 4.527m19.56-2.306c.12.085.223.17.308.29a.79.79 0 01.12.444.734.734 0 01-.12.427c-.085.12-.205.206-.307.308-.171.137-.342.256-.342.478v1.35H55.127v-1.35c0-.222-.153-.358-.341-.478a1.055 1.055 0 01-.308-.308.648.648 0 01-.12-.444c0-.17.035-.307.12-.444.086-.12.188-.205.308-.29.17-.137.341-.256.341-.496V14.35c0-.222-.153-.342-.341-.479a1.242 1.242 0 01-.308-.29.648.648 0 01-.12-.444c0-.154.035-.308.12-.444.086-.12.205-.222.308-.29.17-.137.341-.257.341-.479V10.54h.205c.94 0 1.743-.017 2.324-.273.239-.085.444-.24.683-.376.478-.307 1.042-.65 1.862-.65.666 0 1.281.257 1.828.48.393.153.752.29 1.025.29h.103c.273 0 .632-.154 1.025-.29.546-.223 1.161-.48 1.828-.48.837 0 1.383.343 1.879.65.222.137.444.273.683.376.564.24 1.384.273 2.323.273h.205v1.384c0 .222.154.342.342.478.103.086.222.171.308.29.085.137.119.274.119.445 0 .17-.034.307-.12.444-.085.12-.204.205-.307.29-.17.137-.342.257-.342.479v4.407c0 .222.154.36.342.496" }),
3586
- hAsync("path", { fill: "#011F5B", d: "M26.82 18.382c.257 0 .496.068.735.256.086.068.154.136.222.188a.374.374 0 01-.017.564c-.17.153-.376.29-.512.375-.29.205-.803.564-1.145.29-.17-.153.17-.392.017-.99-.12-.478.342-.683.718-.683" }),
3587
- hAsync("path", { fill: "#011F5B", d: "M46.706 24.378c-2.495 0-4.818-1.077-7.192-2.307-.257-.136-.564-.29-.872-.46-1.896-1.043-4.749-2.598-6.628-1.624 0 .24-.051.479-.137.684-.29.785-1.23 1.605-1.69 1.93-1.043.752-2.324 1.503-3.93 1.503-.24 0-.478-.034-.683-.102a1.64 1.64 0 01-.77-.547 2.354 2.354 0 01-.238-.41 1.784 1.784 0 01-.103-.376c-.666-.205-1.076-.649-1.076-1.195 0-.41.29-.752.564-1.077.444-.53.649-.803.188-1.23-.052-.051-.103-.085-.171-.136-.086-.069-.171-.12-.256-.223-.547-.597-.24-1.759-.069-2.46v-.068c.222-.734.513-1.503.94-2.34.564-1.128 1.247-2.409 2.22-3.212.052-.034.12-.068.188-.051.069 0 .12.051.154.102.034.052.427.65.837 1.435 1.692-1.008 4.1-1.127 4.374-1.127 1.486-.051 3.638.17 5.483 1.589 1.145.888 2.085 1.964 2.99 3.023.24.274.478.564.734.838 1.401 1.571 2.734 2.818 4.066 3.792 1.008.735 2.597 1.145 3.673.256.393-.324.564-.905.427-1.435-.12-.478-.427-.803-.854-.905-.769-.171-1.4.598-1.913 1.366-.051.069-.137.12-.222.103-.086 0-.154-.068-.188-.137-.53-1.247-.547-2.289-.069-3.092.41-.683 1.196-1.178 2.136-1.315 0-1.47.342-2.546 1.06-3.195.443-.393 1.246-.837 2.596-.666.068 0 .136.051.17.12.035.068.052.136 0 .205-.939 2.237-.7 3.075-.204 4.92.05.17.085.341.153.53.496 1.81.342 3.382-.444 4.629-1.264 2.033-3.707 2.528-3.81 2.545-.495.085-.973.12-1.452.12M33.398 19.2c1.793 0 3.843 1.128 5.45 2 .307.17.597.324.87.46 2.734 1.418 5.433 2.648 8.337 2.136.017 0 2.358-.479 3.502-2.34.718-1.145.837-2.58.393-4.271a7.72 7.72 0 01-.137-.513c-.478-1.76-.751-2.75.103-4.937-.99-.068-1.589.273-1.93.564-.65.58-.957 1.606-.906 3.058a.24.24 0 01-.205.239c-.888.102-1.64.512-2.016 1.127-.358.598-.376 1.367-.05 2.29.443-.598 1.195-1.418 2.152-1.213.598.136 1.042.598 1.195 1.23.171.717-.05 1.486-.58 1.913-1.265 1.025-3.075.598-4.237-.24-1.367-.99-2.716-2.254-4.134-3.86l-.735-.837c-.905-1.025-1.828-2.101-2.921-2.956-1.725-1.332-3.775-1.554-5.176-1.503-.957.034-2.887.308-4.186 1.094.41.82.752 1.776.752 2.494 0 .136-.017.256-.068.393.94-.547 2.067-.154 2.682.53.136.153.29.375.444.631.24.359.53.786.854 1.11.051.052.068.12.068.188a.188.188 0 01-.102.171s-.598.428-1.435 1.043c-.12.085-.24.17-.342.239-.017 0-.034.034-.051.05l.735.12c.512-.273 1.059-.393 1.657-.393m-6.475-7.926c-.803.752-1.4 1.88-1.913 2.887-.41.803-.7 1.537-.888 2.255v.068c-.154.53-.445 1.623-.069 2.016.051.051.12.103.188.154.068.051.137.102.205.17.786.752.24 1.402-.154 1.863-.239.273-.461.53-.461.786 0 .546.666.751.871.785.103.018.171.103.171.205 0 .171.034.274.085.41.052.12.103.205.171.308.137.17.325.307.547.393.154.068.342.085.547.085 1.486 0 2.682-.734 3.673-1.435.58-.41 1.315-1.161 1.537-1.708.051-.154.085-.308.103-.478l-1.042-.171h-.018a.3.3 0 01-.205-.222c-.034-.205.154-.325.53-.581.103-.069.222-.154.325-.24.546-.41.99-.717 1.23-.888a7.525 7.525 0 01-.735-1.008c-.154-.222-.29-.444-.41-.563-.512-.547-1.418-.871-2.152-.427-.29.188-.547.41-.838.666-.222.188-.444.41-.7.58-.103.069-.24.052-.308-.05-.085-.086-.068-.223 0-.308a.742.742 0 01.12-.103c.325-.324 1.11-1.042 1.11-1.571 0-1.213-1.161-3.195-1.571-3.861" }),
3588
- hAsync("path", { fill: "#011F5B", d: "M25.386 22.789c-.223 0-.445 0-.667-.034-.12-.017-.222-.12-.205-.256 0-.12.12-.205.257-.205 1.042.136 2.58 0 3.895-1.384a.237.237 0 01.324 0 .238.238 0 010 .324C28 22.26 26.752 22.79 25.37 22.79M43.802 19.338s-.052 0-.086-.017c-.12-.051-.154-.17-.12-.29.24-.547.274-1.008.103-1.35-.239-.461-.786-.615-.803-.615-.051 0-.12-.051-.136-.102-.035-.052-.035-.12 0-.188.085-.205.256-.837.153-1.162-.102-.273-.615-.376-.785-.41-.069 0-.137-.051-.171-.103-.035-.068-.035-.136 0-.187.068-.171.222-.684.034-.957-.342-.53-1.23-.273-1.23-.273-.086.017-.171 0-.222-.052-.052-.05-.069-.153-.052-.222 0 0 .257-.803-.239-1.332-.58-.598-1.845-.24-1.862-.24a.196.196 0 01-.205-.068c-.051-.051-.068-.136-.051-.222 0-.034.222-.7-.24-.973-.717-.445-1.537.119-1.537.136a.181.181 0 01-.205.017c-.068-.034-.12-.102-.12-.17 0-.035-.119-.906-.887-1.009-.838-.12-1.709.735-1.726.752a.26.26 0 01-.17.069.18.18 0 01-.154-.086s-.599-.769-1.333-.735c-.717.035-.99.752-.99.77a.242.242 0 01-.155.136c-.068 0-.136 0-.188-.051 0 0-.717-.684-1.434-.41-.906.341-1.162 1.452-1.248 1.81a.206.206 0 01-.256.171c-.12-.017-.188-.136-.17-.256.102-.427.392-1.708 1.52-2.118.7-.257 1.332.085 1.657.324.188-.307.564-.751 1.247-.786.7-.034 1.281.462 1.537.718.342-.273 1.11-.837 1.914-.718.7.103 1.042.65 1.178 1.077.376-.188 1.077-.41 1.76 0 .461.307.512.803.478 1.127.496-.085 1.401-.136 1.948.427.444.462.461 1.06.41 1.418.393-.051 1.042-.017 1.384.513.222.358.153.803.068 1.093.29.068.735.24.871.632.137.376 0 .94-.085 1.247.239.103.632.325.854.752.24.478.205 1.042-.086 1.725-.034.086-.12.12-.205.12" }),
3589
- hAsync("path", { fill: "#011F5B", d: "M42.725 22.31h-.017c-.12 0-.205-.119-.188-.239.103-.82-.393-.973-.803-1.093-.102-.034-.204-.068-.29-.12-.222-.136-.24-.41-.24-.683 0-.307-.016-.649-.255-.905-.41-.444-1.196-.154-1.196-.154-.069.034-.154 0-.205-.034-.069-.051-.086-.12-.086-.188 0 0 .12-.871-.375-1.298-.428-.36-1.23-.274-1.504-.205-.068 0-.136 0-.188-.052-.05-.034-.068-.102-.068-.17.034-.53-.17-1.008-.58-1.265a1.06 1.06 0 00-1.094-.085c-.906.478-1.264.512-2.204-.154-.29-.205-.598-.273-.871-.205-.359.086-.683.41-.94.906-.051.102-.17.153-.29.102a.22.22 0 01-.103-.29c.308-.598.735-1.008 1.213-1.128.41-.102.837 0 1.23.274.803.563.974.546 1.743.12.478-.257 1.059-.223 1.537.084.462.308.752.82.786 1.401.393-.05 1.128-.068 1.606.342.461.393.547 1.008.547 1.367.358-.069.956-.086 1.366.358.325.376.359.838.359 1.196 0 .12 0 .29.034.342.034.017.12.051.205.068.41.12 1.247.393 1.11 1.572 0 .102-.102.188-.204.188M21.405 19.202c-.17-.137-.273-.222-.273-.36v-4.406c0-.137.102-.24.273-.376.12-.086.24-.188.342-.325a.959.959 0 00.154-.53.904.904 0 00-.154-.512c-.086-.137-.222-.24-.342-.342-.17-.136-.273-.222-.273-.376v-1.537h-.359c-.82 0-1.691 0-2.255-.256-.222-.086-.444-.222-.666-.359-.495-.325-1.076-.683-1.948-.683-.7 0-1.332.256-1.879.478-.376.154-.717.29-.973.29h-.103c-.24 0-.598-.136-.974-.29-.546-.222-1.178-.478-1.879-.478-.871 0-1.452.358-1.947.683-.222.137-.427.273-.65.359-.563.239-1.452.256-2.272.256h-.341v1.537c0 .154-.103.24-.274.376-.12.086-.239.188-.341.342a.959.959 0 000 1.042c.085.137.222.24.341.325.171.136.274.222.274.375v4.408c0 .137-.103.222-.274.359a1.52 1.52 0 00-.341.324.959.959 0 000 1.042c.085.137.222.24.341.325.171.137.274.222.274.376v1.469h16.246v-1.47c0-.136.102-.238.273-.375.12-.085.24-.188.342-.325a.959.959 0 00.154-.53.904.904 0 00-.154-.512c-.086-.136-.222-.239-.342-.324zm-7.192-9.089c.513-.205 1.094-.444 1.691-.444.718 0 1.196.29 1.675.598.222.137.46.29.734.41a4.5 4.5 0 00.684.205v9.362c-.376-.069-.803-.069-1.248-.069-.666 0-1.366 0-2.032-.205-.223-.068-.462-.136-.684-.222-.683-.222-1.298-.41-1.725-.444h-.017v-8.883c.29-.051.598-.17.94-.308m-6.527.564a6.17 6.17 0 00.735-.41c.495-.307.957-.598 1.674-.598.598 0 1.179.24 1.691.444.36.137.684.274.974.308v8.866h-.051c-.427.034-1.042.24-1.726.444-.222.069-.46.154-.683.222-.666.205-1.366.205-2.033.205-.444 0-.854 0-1.247.069v-9.345a3.15 3.15 0 00.684-.205m13.752 9.396a.445.445 0 01-.069.256c-.051.086-.154.154-.239.222-.205.171-.444.359-.444.735v.974H5.33v-.974c0-.376-.256-.564-.444-.735a1.02 1.02 0 01-.24-.222c-.05-.085-.085-.17-.068-.256 0-.12.017-.188.069-.273.05-.086.153-.154.239-.223.205-.153.444-.358.444-.717v-4.407c0-.376-.256-.564-.444-.718-.103-.085-.188-.154-.24-.24-.05-.084-.085-.17-.068-.255 0-.103.017-.205.069-.274.05-.085.153-.153.239-.222.205-.153.444-.358.444-.734v-1.025h.034c.41 0 .786 0 1.162-.034v10.147h5.586a.923.923 0 00.905.683c.444 0 .803-.29.906-.683h5.586V10.933c.359.035.752.035 1.145.035h.034v1.025c0 .375.239.563.444.734.102.069.188.154.239.222.051.069.085.171.068.257 0 .119-.017.187-.068.273-.051.085-.154.154-.24.239-.204.154-.443.359-.443.717v4.408c0 .359.239.564.444.717.102.086.188.154.239.223.051.085.085.17.068.256l.035.034zM71.51 19.202c-.188-.137-.273-.222-.273-.36v-4.406c0-.137.103-.24.273-.376.12-.086.24-.188.342-.325a.959.959 0 00.154-.53.904.904 0 00-.154-.512c-.085-.137-.222-.24-.342-.342-.188-.136-.273-.222-.273-.376v-1.537h-.359c-.82 0-1.69 0-2.255-.256a4.235 4.235 0 01-.666-.359c-.495-.325-1.076-.683-1.947-.683-.684 0-1.333.256-1.88.478-.375.154-.734.29-.973.29h-.103c-.239 0-.598-.136-.974-.29-.563-.222-1.195-.478-1.879-.478-.87 0-1.452.358-1.947.683-.222.137-.427.273-.65.359-.563.239-1.451.256-2.271.256h-.342v1.537c0 .154-.103.24-.273.376-.12.086-.24.188-.342.342a.959.959 0 000 1.042c.085.137.222.24.342.325.17.136.273.222.273.375v4.408c0 .137-.103.222-.273.359a1.52 1.52 0 00-.342.324.959.959 0 000 1.042c.085.137.222.24.342.325.17.137.273.222.273.376v1.469h16.246v-1.47c0-.136.103-.238.273-.375.12-.085.24-.188.342-.325a.959.959 0 00.154-.53.904.904 0 00-.154-.512c-.085-.136-.222-.239-.342-.324m-7.192-9.089c.513-.205 1.094-.444 1.692-.444.734 0 1.178.29 1.674.598.222.137.461.29.717.41.222.086.444.154.684.205v9.362c-.376-.069-.803-.069-1.247-.069-.667 0-1.367 0-2.033-.205-.223-.068-.462-.136-.684-.222-.683-.222-1.298-.41-1.725-.444h-.017v-8.883c.29-.051.598-.17.94-.308m-6.526.564c.256-.12.495-.256.717-.41.495-.307.957-.598 1.674-.598.598 0 1.179.24 1.692.444.358.137.683.274.973.308v8.866h-.051c-.427.034-1.025.24-1.725.444-.223.069-.462.154-.684.222-.666.205-1.366.205-2.033.205-.444 0-.854 0-1.247.069v-9.345a3.15 3.15 0 00.684-.205m13.752 9.396a.446.446 0 01-.069.256c-.051.086-.153.154-.239.222-.205.171-.444.359-.444.735v.974h-15.34v-.974c0-.376-.257-.564-.445-.735a1.02 1.02 0 01-.24-.222c-.05-.085-.085-.17-.068-.256 0-.12.018-.188.069-.273.051-.086.154-.154.239-.223.205-.153.444-.358.444-.717v-4.407c0-.376-.256-.564-.444-.718-.102-.085-.188-.154-.24-.24-.05-.084-.085-.17-.068-.255 0-.103.018-.205.069-.274.051-.085.154-.153.239-.222.205-.153.444-.358.444-.734v-1.025h.034c.41 0 .786 0 1.162-.034v10.147h5.586a.923.923 0 00.906.683c.444 0 .785-.29.905-.683h5.586V10.933c.376.035.752.035 1.162.035h.034v1.025c0 .375.256.563.444.734.103.069.188.154.24.222.05.069.085.171.068.257 0 .119-.017.187-.069.273-.05.085-.153.154-.239.239-.205.154-.444.359-.444.717v4.408c0 .359.256.564.444.717.103.086.188.154.24.223.05.085.085.17.068.256l-.034.034z" }),
3590
- hAsync("path", { fill: "#011F5B", d: "M74.654 4.886H1.452v36.49c-.051 15.99 8.85 27.606 16.315 34.542 8.148 7.551 17.322 12.061 20.21 12.676h.153c2.887-.632 12.06-5.125 20.21-12.676 7.482-6.936 16.365-18.552 16.331-34.542V4.886h-.017zm-1.008 21.986H2.46V5.894h71.186v20.978zM16.588 62.457a6.28 6.28 0 010-8.867 6.279 6.279 0 018.866 0 6.28 6.28 0 010 8.867 6.28 6.28 0 01-8.866 0zm41.051 12.727c-8.473 7.858-17.237 11.804-19.595 12.402-2.357-.598-11.12-4.561-19.594-12.402-.205-.188-.41-.393-.615-.581l20.21-21.457 20.209 21.457c-.205.188-.41.393-.615.58zM31.775 42.469c0-3.45 2.802-6.27 6.27-6.27a6.263 6.263 0 016.269 6.27 6.263 6.263 0 01-6.27 6.27 6.274 6.274 0 01-6.27-6.27zm27.743 19.988a6.28 6.28 0 01-8.866 0 6.28 6.28 0 010-8.867 6.279 6.279 0 018.866 0 6.28 6.28 0 010 8.867zm10.062-3.178L38.045 28.871 6.508 59.279C4.066 54.12 2.426 48.158 2.46 41.376V27.88h71.186v13.496c.017 6.765-1.606 12.744-4.066 17.903M88.799 81.3c0 3.604.973 6.371 4.817 6.371 3.536 0 5.398-2.374 5.398-6.491v-7.175c0-.53-.102-.974-.153-1.384-.12-.922-1.008-1.298-2.221-1.418v-.666h6.082v.666c-1.23.12-2.085.495-2.221 1.418-.051.41-.137.854-.137 1.384v7.277c0 5.552-3.536 7.602-6.867 7.602-5.484 0-7.192-2.784-7.192-7.448v-7.688c0-2.391.102-2.272-2.221-2.545v-.666h6.935v.666c-2.323.273-2.22.154-2.22 2.546v7.55zM117.31 88.577c-3.16-3.742-6.44-7.654-9.686-11.48v8.798c0 .41.086.751.12 1.059.102.717.769 1.008 2.084 1.093v.513h-4.869v-.513c.957-.085 1.606-.376 1.709-1.093.034-.325.119-.65.119-1.06v-9.361c-.564-.718-1.179-1.35-2.306-1.35v-.512h3.622c2.955 3.604 6.047 7.26 9.002 10.865h.035V77.37c0-.427-.086-.769-.12-1.076-.102-.718-.786-.991-2.084-1.093v-.513h4.869v.513c-.94.102-1.623.375-1.709 1.093-.034.307-.119.649-.119 1.076v11.224h-.684l.017-.017zM127.117 86.082c0 1.846-.086 1.743 1.708 1.965v.513h-5.347v-.513c1.794-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.086-1.743-1.708-1.965v-.53h5.347v.53c-1.794.205-1.708.12-1.708 1.965v8.951zM137.503 75.166c-1.093 0-1.879.308-1.23 2.221a1204.83 1204.83 0 002.973 8.798c1.281-3.04 2.494-6.116 3.724-9.14.495-1.264-.017-1.879-1.367-1.879v-.512h4.288v.512c-.581 0-1.23.188-1.64 1.196-1.674 4.083-3.348 8.132-5.022 12.198h-1.025c-1.213-3.434-2.563-7.278-3.776-10.643-.734-2.136-1.349-2.75-2.306-2.75v-.513h5.398v.512h-.017zM148.932 88.047c1.793-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.085-1.76-1.708-1.965v-.512h8.9v3.194h-.512c-.205-1.486-.598-2.562-2.033-2.562h-2.7v5.689h1.675c1.247 0 1.793-.496 1.828-1.726h.512v4.237h-.512c-.035-1.162-.496-1.862-1.828-1.862h-1.675v4.493c0 1.69.786 1.828 2.563 1.828 2.887 0 2.75-.82 3.656-2.939h.512l-.598 3.57h-9.788v-.529zM162.735 74.654h5.791c1.999 0 4.015 1.059 4.015 3.382 0 2.05-1.247 3.451-2.785 4.049l1.948 2.955c.991 1.453 2.101 2.853 2.819 3.263v.257h-2.05c-1.179 0-1.811-2.17-4.22-6.168h-1.879v3.69c0 1.846-.086 1.743 1.708 1.965v.513h-5.347v-.513c1.794-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.069-1.76-1.708-1.965v-.512zm3.639 7.124h1.64c1.725 0 2.528-1.299 2.528-3.554s-1.196-2.921-2.648-2.921h-1.537v6.475h.017zM184.568 77.61c-.171-1.384-.923-2.512-2.512-2.512-1.144 0-2.186.598-2.186 2.067 0 1.47 1.383 2.221 3.382 3.724 2.101 1.572 2.785 2.597 2.785 4.237 0 2.358-2.426 3.673-4.818 3.673a9.267 9.267 0 01-3.399-.632c-.086-.034-.137-.12-.137-.273v-2.87h.513c.205 2.203 1.657 3.092 3.211 3.092 1.401 0 2.563-1.077 2.563-2.529 0-1.281-.701-2.34-3.673-4.322-1.076-.717-2.409-1.486-2.409-3.656 0-1.793 1.999-3.211 4.271-3.211.854 0 1.999.102 2.784.376.12.034.137.12.137.204v2.614h-.512v.017zM193.81 86.082c0 1.846-.086 1.743 1.708 1.965v.513h-5.347v-.513c1.794-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.069-1.743-1.708-1.965v-.53h5.347v.53c-1.794.205-1.708.12-1.708 1.965v8.951zM205.7 86.082c0 1.846-.086 1.743 1.708 1.965v.513h-5.347v-.513c1.794-.222 1.708-.12 1.708-1.965V75.286h-1.793c-1.726 0-2.119 1.093-2.785 2.409h-.495l.546-3.041h11.002l.529 3.04h-.512c-.649-1.315-1.042-2.408-2.785-2.408H205.7v10.796zM216.53 88.047c1.794-.222 1.708-.12 1.708-1.965v-3.057l-3.057-6.065c-.65-1.298-1.213-1.794-2.136-1.794v-.512h5.074v.512c-1.503 0-1.384.752-.871 1.794l2.408 4.988 2.734-4.988c.683-1.213.034-1.794-1.145-1.794v-.512h4.1v.512c-.547 0-1.093.257-1.623 1.213l-3.331 6.03c-.205.393-.222.957-.222 1.453v2.22c0 1.846-.086 1.743 1.708 1.965v.513h-5.364v-.513h.017zM235.527 83.81c0-3.382 2.921-8.438 7.209-8.438 3.434 0 4.186 2.323 4.186 4.646 0 2.836-2.272 8.866-7.192 8.866-3.297 0-4.203-2.647-4.203-5.073m9.02-5.023c0-2.682-1.623-2.784-2.033-2.784-2.784 0-4.612 5.005-4.612 8.353 0 1.333.222 3.759 2.135 3.759 2.938 0 4.51-4.835 4.51-9.328zM258.914 76.225l-.615.547h-3.383c-1.264 6.15-3.331 14.316-4.8 18.228h-1.162l3.69-18.228h-2.443l.24-1.076h2.425c1.367-5.484 5.911-6.065 6.987-6.065.598 0 1.828.103 2.221.462l-.324 1.708-.649.307c-.359-.7-1.179-1.503-2.255-1.503-1.555 0-2.717 1.06-3.332 3.844l-.29 1.23h3.792l-.102.546zM274.391 85.348c0 2.392-.102 2.272 2.221 2.546v.666h-6.935v-.666c2.323-.291 2.22-.154 2.22-2.546v-11.6c0-2.391.103-2.272-2.22-2.545v-.666h6.747c4.288 0 6.39 1.691 6.39 4.783 0 3.707-3.349 5.723-7.295 5.484v-.513c3.212.052 4.715-1.879 4.715-4.715 0-2.835-1.384-4.22-4.271-4.22h-1.572v13.992zM286.384 88.047c1.776-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.068-1.76-1.708-1.965v-.512h8.883v3.194h-.513c-.205-1.486-.598-2.562-2.033-2.562h-2.699v5.689h1.674c1.248 0 1.794-.496 1.828-1.726h.513v4.237h-.513c-.034-1.162-.495-1.862-1.828-1.862h-1.674v4.493c0 1.69.769 1.828 2.563 1.828 2.87 0 2.733-.82 3.656-2.939h.512l-.598 3.57h-9.789v-.512l.018-.017zM312.231 88.577c-3.161-3.742-6.441-7.654-9.687-11.48v8.798c0 .41.086.751.12 1.059.103.717.769 1.008 2.084 1.093v.513h-4.869v-.513c.957-.085 1.606-.376 1.709-1.093.051-.325.119-.65.119-1.06v-9.361c-.563-.718-1.178-1.35-2.306-1.35v-.512h3.622c2.955 3.604 6.047 7.26 9.003 10.865h.034V77.37c0-.427-.068-.769-.12-1.076-.102-.718-.769-.991-2.101-1.093v-.513h4.886v.513c-.94.102-1.606.375-1.726 1.093-.034.307-.119.649-.119 1.076v11.224h-.666l.017-.017zM330.373 88.577c-3.16-3.742-6.44-7.654-9.686-11.48v8.798c0 .41.068.751.119 1.059.103.717.786 1.008 2.084 1.093v.513h-4.868v-.513c.956-.085 1.606-.376 1.708-1.093.034-.325.12-.65.12-1.06v-9.361c-.547-.718-1.179-1.35-2.307-1.35v-.512h3.622c2.973 3.604 6.048 7.26 9.02 10.865h.034V77.37c0-.427-.068-.769-.102-1.076-.103-.718-.786-.991-2.102-1.093v-.513h4.869v.513c-.939.102-1.606.375-1.708 1.093-.051.307-.137.649-.137 1.076v11.224h-.666v-.017zM343.322 77.61c-.154-1.384-.922-2.512-2.511-2.512-1.145 0-2.187.598-2.187 2.067 0 1.47 1.401 2.221 3.383 3.724 2.101 1.572 2.784 2.597 2.784 4.237 0 2.358-2.409 3.673-4.817 3.673a9.34 9.34 0 01-3.4-.632c-.068-.034-.136-.12-.136-.273v-2.87h.512c.222 2.203 1.674 3.092 3.212 3.092 1.4 0 2.562-1.077 2.562-2.529 0-1.281-.683-2.34-3.673-4.322-1.076-.717-2.409-1.486-2.409-3.656 0-1.793 1.982-3.211 4.288-3.211.855 0 1.982.102 2.768.376.119.034.137.12.137.204v2.614h-.513v.017zM351.334 88.047c1.794-.222 1.708-.12 1.708-1.965v-3.057l-3.057-6.065c-.65-1.298-1.213-1.794-2.119-1.794v-.512h5.057v.512c-1.503 0-1.367.752-.871 1.794l2.408 4.988 2.734-4.988c.683-1.213.051-1.794-1.128-1.794v-.512h4.1v.512c-.547 0-1.093.257-1.623 1.213l-3.314 6.03c-.188.393-.239.957-.239 1.453v2.22c0 1.846-.085 1.743 1.708 1.965v.513h-5.347v-.513h-.017zM363.6 88.047c1.794-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.069-1.76-1.708-1.965v-.512h5.347v.512c-1.794.205-1.708.12-1.708 1.965v9.276c0 1.384.769 1.538 2.545 1.538 2.887 0 2.768-.82 3.673-2.939h.496l-.598 3.57h-9.772v-.512l.017-.017zM379.761 75.166c-1.094 0-1.897.308-1.23 2.221.785 2.358 1.93 5.757 2.972 8.798 1.264-3.04 2.477-6.116 3.707-9.14.496-1.264 0-1.879-1.366-1.879v-.512h4.287v.512c-.58 0-1.23.188-1.64 1.196a2610.34 2610.34 0 01-5.039 12.198h-1.008c-1.213-3.434-2.563-7.278-3.775-10.643-.735-2.136-1.35-2.75-2.307-2.75v-.513h5.416v.512h-.017zM391.77 83.964l-.922 2.665c-.256.77.119 1.435.991 1.435v.513h-3.622v-.513c.547 0 1.128-.341 1.435-.99.854-1.76 3.178-8.252 4.835-12.66h1.11c1.35 3.998 3.382 10.131 4.066 11.89.444 1.111.751 1.743 1.606 1.743v.513h-4.63v-.513c1.247 0 1.367-.649 1.042-1.52l-.854-2.58h-5.057v.017zm4.818-.751l-2.118-6.458h-.035l-2.374 6.458h4.527zM416.268 88.577c-3.178-3.742-6.441-7.654-9.687-11.48v8.798c0 .41.069.751.12 1.059.102.717.786 1.008 2.084 1.093v.513h-4.869v-.513c.957-.085 1.606-.376 1.709-1.093.051-.325.119-.65.119-1.06v-9.361c-.546-.718-1.161-1.35-2.306-1.35v-.512h3.622c2.955 3.604 6.047 7.26 9.003 10.865h.034V77.37c0-.427-.069-.769-.12-1.076-.102-.718-.786-.991-2.084-1.093v-.513h4.869v.513c-.94.102-1.606.375-1.709 1.093-.034.307-.119.649-.119 1.076v11.224h-.666v-.017zM425.664 86.082c0 1.846-.086 1.743 1.708 1.965v.513h-5.347v-.513c1.794-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.086-1.743-1.708-1.965v-.53h5.347v.53c-1.794.205-1.708.12-1.708 1.965v8.951zM433.983 83.964l-.922 2.665c-.257.77.119 1.435 1.007 1.435v.513h-3.621v-.513c.546 0 1.11-.341 1.435-.99.854-1.76 3.177-8.252 4.834-12.66h1.111c1.349 3.998 3.382 10.131 4.066 11.89.444 1.111.751 1.743 1.605 1.743v.513h-4.629v-.513c1.247 0 1.366-.649 1.059-1.52l-.854-2.58h-5.057l-.034.017zm4.8-.751l-2.101-6.458h-.034l-2.375 6.458h4.51zM101.116 6.201h-5.689v20.654c1.537.53 3.434.786 5.689.786 3.451 0 6.184-.888 8.183-2.665 1.998-1.777 3.006-4.22 3.006-7.295 0-3.314-.991-6.064-2.989-8.217-1.999-2.152-4.715-3.245-8.2-3.245m-17.032-1.76h16.81c5.5 0 9.84 1.213 13.051 3.656 3.212 2.443 4.818 5.569 4.818 9.43 0 3.86-1.401 6.765-4.203 8.815-2.801 2.05-6.816 3.075-12.061 3.075-2.015 0-4.373-.154-7.072-.479v12.898c0 2.785.376 4.698 1.11 5.74.752 1.042 2.119 1.572 4.1 1.572v1.332h-16.57v-1.332c1.981 0 3.348-.547 4.1-1.657.751-1.093 1.11-2.938 1.11-5.501V13.12c0-2.75-.376-4.664-1.11-5.74-.752-1.076-2.119-1.606-4.1-1.606V4.442l.017.017zM119.6 31.758h15.511v-.547c0-2.545-.717-4.561-2.169-6.047-1.452-1.487-3.263-2.238-5.433-2.238-2.306 0-4.151.785-5.552 2.357-1.4 1.572-2.186 3.724-2.34 6.475m21.388 11.428v2.084c-1.725 2.204-3.485 3.776-5.279 4.715-1.793.94-3.946 1.418-6.457 1.418-4.442 0-8.115-1.4-11.019-4.185-2.887-2.785-4.339-6.32-4.339-10.626 0-4.305 1.384-7.96 4.134-10.916 2.768-2.955 6.15-4.442 10.148-4.442 3.297 0 6.167 1.11 8.627 3.332 2.46 2.22 3.69 4.885 3.69 7.978v.58h-20.927v.393c0 3.144.478 5.86 1.435 8.183.956 2.323 2.357 4.134 4.185 5.433 1.828 1.315 3.741 1.964 5.74 1.964 1.862 0 3.451-.393 4.766-1.162 1.316-.768 3.075-2.357 5.279-4.766" }),
3591
- hAsync("path", { fill: "#011F5B", d: "M151.118 21.234v5.69c3.332-3.793 6.748-5.69 10.284-5.69 2.751 0 5.04.94 6.868 2.82 1.828 1.878 2.75 4.338 2.75 7.413v12.847c0 1.964.325 3.263.991 3.895.649.632 1.931.94 3.844.94v1.332h-15.187v-1.333c1.879 0 3.177-.239 3.861-.734.683-.496 1.042-1.418 1.042-2.819V30.7c0-2-.598-3.57-1.777-4.767-1.196-1.178-2.716-1.776-4.578-1.776-2.665 0-5.364 1.862-8.081 5.569v13.923c0 2.357.308 3.86.923 4.51.615.649 1.896.956 3.827.956v1.333h-15v-1.333c2.17 0 3.503-.341 3.998-1.042.495-.7.752-2.17.752-4.424V27.589c0-1.708-.308-2.818-.906-3.365-.598-.53-1.879-.803-3.844-.803v-1.332l8.867-.872h1.366v.017z" }),
3592
- hAsync("path", { fill: "#011F5B", d: "M185.695 21.234v5.69c3.331-3.793 6.748-5.69 10.284-5.69 2.751 0 5.04.94 6.868 2.82 1.828 1.878 2.75 4.338 2.75 7.413v12.847c0 1.964.325 3.263.991 3.895.649.632 1.93.94 3.844.94v1.332h-15.187v-1.333c1.879 0 3.177-.239 3.86-.734.684-.496 1.042-1.418 1.042-2.819V30.7c0-2-.597-3.57-1.776-4.767-1.196-1.178-2.716-1.776-4.578-1.776-2.665 0-5.365 1.862-8.081 5.569v13.923c0 2.357.308 3.86.923 4.51.615.649 1.896.956 3.826.956v1.333h-14.999v-1.333c2.17 0 3.502-.341 3.998-1.042.495-.7.751-2.17.751-4.424V27.589c0-1.708-.307-2.818-.905-3.365-.598-.53-1.879-.803-3.844-.803v-1.332l8.866-.872h1.367v.017zM251.466 40.436h1.366l-2.818 10.045H216.65V49.15c1.879 0 3.229-.598 4.032-1.777.802-1.179 1.195-3.16 1.195-5.928v-28.99c0-2.494-.375-4.22-1.11-5.21-.752-.974-2.118-1.47-4.1-1.47V4.442h16.485v1.332c-1.828 0-3.143.564-3.946 1.692-.803 1.127-1.196 2.99-1.196 5.569v30.767c0 1.708.359 2.87 1.077 3.502.717.632 2.101.94 4.134.94h9.139c2.819 0 4.801-.496 5.928-1.47 1.128-.974 2.187-3.092 3.178-6.338zM261.203 6.509c.974 0 1.777.341 2.46 1.008.683.666 1.008 1.486 1.008 2.46 0 .973-.342 1.793-1.025 2.494-.683.7-1.486 1.042-2.426 1.042a3.474 3.474 0 01-2.511-1.042c-.7-.7-1.059-1.52-1.059-2.494 0-.974.341-1.794 1.042-2.46a3.534 3.534 0 012.528-1.008m1.247 14.726h1.367v23.984c0 1.572.342 2.631 1.025 3.144.683.53 1.93.786 3.724.786v1.332h-15.58V49.15c2.272 0 3.741-.257 4.391-.77.649-.512.973-1.57.973-3.177V27.675c0-1.726-.307-2.87-.905-3.434-.598-.546-2.101-.82-4.476-.82V22.09l9.464-.871.017.017zM276.851 27.555v16.246c0 2.119.359 3.57 1.076 4.357.718.785 1.965 1.178 3.759 1.178 3.707 0 6.628-1.195 8.781-3.57 2.152-2.374 3.228-5.723 3.228-10.01 0-3.588-.939-6.51-2.801-8.799-1.862-2.272-4.1-3.416-6.697-3.416-2.733 0-5.176 1.332-7.363 3.997M275.467-.017h1.367V25.47c1.213-1.315 2.665-2.34 4.39-3.109 1.726-.752 3.451-1.145 5.211-1.145 3.69 0 6.816 1.35 9.379 4.015 2.562 2.682 3.826 5.98 3.826 9.874 0 4.578-1.725 8.337-5.159 11.275-3.451 2.938-8.2 4.39-14.247 4.39-2.358 0-5.313-.29-8.849-.87V7.225c0-2.22-.274-3.604-.838-4.117-.563-.53-1.964-.786-4.219-.786V.991L275.467 0v-.017z" }),
3593
- hAsync("path", { fill: "#011F5B", d: "M310.198 21.234v6.167c2.614-2.272 4.646-3.878 6.099-4.783 1.452-.922 2.665-1.366 3.621-1.366 1.811 0 3.553.751 5.228 2.237l-2.153 5.057c-3.041-1.674-5.296-2.511-6.748-2.511-1.623 0-3.638 1.144-6.047 3.45v15.649c0 1.572.324 2.63.991 3.194.649.547 1.913.82 3.775.82v1.333h-15.033v-1.333c1.981 0 3.297-.307 3.912-.94.615-.631.922-2.135.922-4.526V28.119c0-1.965-.341-3.246-1.008-3.827-.666-.58-2.289-.871-4.885-.871v-1.332l9.976-.872h1.367l-.017.017zM341.341 44.707v-9.652c-.803.341-1.982.769-3.537 1.298-2.853.974-4.68 1.93-5.483 2.887-.803.957-1.196 2.238-1.196 3.861 0 1.418.427 2.63 1.281 3.673.854 1.042 1.862 1.554 3.041 1.554 1.076 0 2.204-.341 3.382-1.042 1.179-.7 2.016-1.554 2.512-2.58zm-7.654 6.68c-2.221 0-4.134-.735-5.74-2.221-1.588-1.487-2.391-3.263-2.391-5.365 0-2.1.683-3.638 2.067-4.92 1.366-1.298 4.168-2.528 8.371-3.707 2.647-.734 4.424-1.366 5.347-1.879v-2.118c0-2.067-.581-3.741-1.726-5.006-1.144-1.264-2.699-1.896-4.629-1.896-1.76 0-3.315.547-4.664 1.64-1.367 1.094-2.323 2.597-2.87 4.476L326 29.998c.581-2.648 1.828-4.766 3.741-6.355 1.93-1.589 4.185-2.392 6.765-2.392 3.058 0 5.535.923 7.448 2.768 1.897 1.845 2.853 4.407 2.853 7.67v12.215c0 1.725.12 2.904.342 3.519.222.615.649.922 1.281.922.41 0 .752-.17 1.025-.53.256-.358.564-1.092.906-2.22h1.366c-.136 1.777-.683 3.195-1.674 4.237-.991 1.042-2.272 1.571-3.861 1.571-2.323 0-3.946-1.35-4.834-4.048-1.418 1.537-2.665 2.596-3.776 3.177-1.093.581-2.391.871-3.878.871M362.421 21.234v6.167c2.614-2.272 4.647-3.878 6.099-4.783 1.452-.922 2.665-1.366 3.622-1.366 1.811 0 3.553.751 5.227 2.237l-2.152 5.057c-3.041-1.674-5.296-2.511-6.748-2.511-1.623 0-3.639 1.144-6.048 3.45v15.649c0 1.572.325 2.63.991 3.194.649.547 1.914.82 3.776.82v1.333h-15.034v-1.333c1.982 0 3.297-.307 3.912-.94.615-.631.923-2.135.923-4.526V28.119c0-1.965-.342-3.246-1.008-3.827-.666-.58-2.289-.871-4.886-.871v-1.332l9.977-.872h1.366l-.017.017zM387.141 6.509c.974 0 1.777.341 2.46 1.008.683.666 1.008 1.486 1.008 2.46 0 .973-.342 1.793-1.025 2.494-.684.7-1.486 1.042-2.426 1.042-.94 0-1.811-.342-2.511-1.042-.701-.7-1.059-1.52-1.059-2.494 0-.974.341-1.794 1.042-2.46a3.534 3.534 0 012.528-1.008m1.247 14.726h1.367v23.984c0 1.572.341 2.631 1.025 3.144.683.53 1.93.786 3.724.786v1.332h-15.58V49.15c2.272 0 3.741-.257 4.39-.77.649-.512.974-1.57.974-3.177V27.675c0-1.726-.307-2.87-.905-3.434-.598-.546-2.102-.82-4.476-.82V22.09l9.464-.871.017.017zM399.988 31.758h15.511v-.547c0-2.545-.734-4.561-2.169-6.047-1.452-1.487-3.263-2.238-5.433-2.238-2.306 0-4.151.785-5.552 2.357-1.401 1.572-2.187 3.724-2.34 6.475m21.388 11.428v2.084c-1.726 2.204-3.485 3.776-5.279 4.715-1.794.94-3.946 1.418-6.457 1.418-4.459 0-8.115-1.4-11.019-4.185-2.887-2.785-4.339-6.32-4.339-10.626 0-4.305 1.384-7.96 4.134-10.916 2.767-2.955 6.15-4.442 10.147-4.442 3.298 0 6.167 1.11 8.627 3.332 2.46 2.22 3.69 4.885 3.69 7.978v.58H399.97v.393c0 3.144.479 5.86 1.435 8.183.957 2.323 2.341 4.134 4.186 5.433 1.828 1.315 3.741 1.964 5.74 1.964 1.862 0 3.451-.393 4.766-1.162 1.315-.768 3.075-2.357 5.279-4.766M442.678 21.234v8.747h-1.606c-.256-2.204-1.042-3.946-2.357-5.245-1.316-1.298-2.887-1.947-4.749-1.947-1.418 0-2.546.359-3.417 1.06-.854.7-1.298 1.64-1.298 2.818 0 1.179.393 2.17 1.196 3.04.802.872 2.528 1.931 5.193 3.161 3.451 1.572 5.74 3.075 6.85 4.51 1.111 1.435 1.674 3.16 1.674 5.176 0 2.375-.888 4.442-2.665 6.184-1.776 1.743-3.877 2.614-6.32 2.614-1.265 0-2.922-.461-4.989-1.366-1.127-.496-1.879-.752-2.238-.752-.495 0-.922.188-1.247.547-.341.358-.529.82-.598 1.366h-1.366v-9.703h1.366c.496 2.545 1.589 4.578 3.297 6.081 1.709 1.504 3.656 2.256 5.86 2.256 1.418 0 2.597-.479 3.553-1.418.957-.94 1.435-2.102 1.435-3.502 0-1.401-.444-2.495-1.315-3.485-.888-.991-2.785-2.119-5.723-3.4-3.297-1.452-5.467-2.785-6.509-4.049-1.042-1.264-1.571-2.767-1.571-4.561 0-2.22.854-4.151 2.579-5.757 1.709-1.606 3.741-2.409 6.099-2.409 1.093 0 2.289.256 3.57.786.923.359 1.657.547 2.238.547.769 0 1.316-.445 1.691-1.333h1.367v.034z" })),
3594
- hAsync("defs", null,
3595
- hAsync("clipPath", { id: "clip0_10377_15535" },
3596
- hAsync("path", { fill: "#fff", d: "M0 0H444.165V95H0z" })))));
3715
+ return (hAsync("svg", { xmlns: "http://www.w3.org/2000/svg", width: "445", fill: "none", class: "website-header__logo", viewBox: "0 0 445 95" }, hAsync("g", { "clip-path": "url(#clip0_10377_15535)" }, hAsync("path", { fill: "#011F5B", d: "M443.498 60.919H84.084v1.247h359.414v-1.247z" }), hAsync("path", { fill: "#fff", d: "M76.106 3.45H0v37.926c-.052 16.52 9.105 28.478 16.793 35.601 8.456 7.841 17.766 12.368 20.875 13.035l.376.085.376-.085c3.11-.683 12.437-5.194 20.876-13.035 7.687-7.123 16.827-19.082 16.793-35.601V3.45h.017z" }), hAsync("path", { fill: "#900", d: "M1.93 5.45s.103 22.037 0 21.934h72.245V5.45H1.93zM21.32 19.32c.12.085.222.17.307.29.086.137.12.274.12.445a.888.888 0 01-.12.427c-.085.12-.205.205-.307.307-.171.137-.342.257-.342.479v1.35H5.022v-1.35c0-.222-.17-.36-.341-.479a1.054 1.054 0 01-.308-.307.753.753 0 01-.12-.444c0-.171.035-.308.12-.445.085-.12.205-.205.308-.29.17-.137.341-.256.341-.495V14.4c0-.222-.17-.342-.341-.478a1.245 1.245 0 01-.308-.29.752.752 0 01-.12-.445c0-.17.035-.307.12-.444.085-.12.205-.222.308-.29.17-.137.341-.257.341-.479v-1.383h.205c.94 0 1.743-.018 2.324-.274.239-.085.444-.239.666-.376.495-.307 1.042-.649 1.879-.649.666 0 1.281.256 1.828.479.393.153.752.29 1.025.29h.102c.274 0 .633-.154 1.025-.29.547-.223 1.162-.479 1.828-.479.837 0 1.384.342 1.88.65.222.136.444.273.683.375.564.24 1.384.274 2.323.274h.205v1.383c0 .222.17.342.342.479.102.085.222.17.307.29.086.137.12.273.12.444 0 .171-.051.308-.12.444-.085.12-.205.205-.307.29-.171.137-.342.257-.342.48v4.407c0 .222.17.358.342.495m30.527 2.306c-1.23 1.965-3.621 2.46-3.706 2.477-.462.086-.957.12-1.436.12-2.494 0-4.783-1.093-7.123-2.29-.256-.136-.547-.29-.854-.46-1.487-.82-3.57-1.948-5.33-1.948-.513 0-1.008.102-1.435.325l-.069.034v.085c0 .222-.068.444-.136.65-.29.751-1.196 1.537-1.64 1.861-1.025.735-2.29 1.487-3.844 1.487-.24 0-.444-.035-.65-.103a1.502 1.502 0 01-.7-.495c-.085-.103-.153-.24-.222-.376-.051-.103-.068-.222-.102-.342v-.085l-.103-.034c-.615-.188-.973-.581-.973-1.06 0-.375.273-.683.53-.99.41-.479.75-.889.187-1.435-.051-.052-.12-.086-.17-.137-.086-.068-.172-.12-.24-.205-.495-.53-.205-1.657-.034-2.323v-.069c.205-.734.512-1.486.922-2.306.564-1.11 1.23-2.374 2.187-3.16.017 0 .034-.017.068-.017.017 0 .052.017.069.034 0 .034.12.188.273.444l.154.273.102-.29c.274-.786.7-1.298 1.299-1.52.632-.24 1.23.085 1.52.307l.12.102.085-.136c.188-.308.547-.684 1.128-.718.649-.034 1.178.41 1.434.684l.103.085.102-.085c.29-.24 1.042-.786 1.794-.684.718.103.991.718 1.076.974l.052.17.153-.068c.342-.17.991-.392 1.606 0 .393.257.444.684.41.991v.188l.171-.034c.461-.068 1.316-.12 1.828.393.393.41.427.94.376 1.298v.188h.17c.41-.068.957-.034 1.248.427.205.308.12.752.051.974l-.034.137.136.034c.24.051.65.205.77.547.102.256.068.666-.07 1.161l-.033.12.12.051c.204.085.58.29.785.683.205.393.188.872-.017 1.453l-.034.085.068.068c.53.479 1.06.906 1.589 1.282 1.06.768 2.716 1.178 3.844.256.427-.342.615-.991.478-1.589-.137-.53-.478-.888-.957-1.008-.854-.188-1.52.615-2.067 1.435 0 .017-.05.034-.085.034-.034 0-.051-.017-.068-.051-.513-1.213-.53-2.204-.086-2.973.393-.649 1.128-1.11 2.033-1.264h.12v-.153c0-1.418.324-2.46 1.008-3.092.427-.376 1.195-.803 2.477-.615a.13.13 0 01.068.034v.068c-.94 2.29-.718 3.143-.205 5.023.051.17.085.341.137.512.478 1.777.341 3.297-.428 4.527m19.56-2.306c.12.085.223.17.308.29a.79.79 0 01.12.444.734.734 0 01-.12.427c-.085.12-.205.206-.307.308-.171.137-.342.256-.342.478v1.35H55.127v-1.35c0-.222-.153-.358-.341-.478a1.055 1.055 0 01-.308-.308.648.648 0 01-.12-.444c0-.17.035-.307.12-.444.086-.12.188-.205.308-.29.17-.137.341-.256.341-.496V14.35c0-.222-.153-.342-.341-.479a1.242 1.242 0 01-.308-.29.648.648 0 01-.12-.444c0-.154.035-.308.12-.444.086-.12.205-.222.308-.29.17-.137.341-.257.341-.479V10.54h.205c.94 0 1.743-.017 2.324-.273.239-.085.444-.24.683-.376.478-.307 1.042-.65 1.862-.65.666 0 1.281.257 1.828.48.393.153.752.29 1.025.29h.103c.273 0 .632-.154 1.025-.29.546-.223 1.161-.48 1.828-.48.837 0 1.383.343 1.879.65.222.137.444.273.683.376.564.24 1.384.273 2.323.273h.205v1.384c0 .222.154.342.342.478.103.086.222.171.308.29.085.137.119.274.119.445 0 .17-.034.307-.12.444-.085.12-.204.205-.307.29-.17.137-.342.257-.342.479v4.407c0 .222.154.36.342.496" }), hAsync("path", { fill: "#011F5B", d: "M26.82 18.382c.257 0 .496.068.735.256.086.068.154.136.222.188a.374.374 0 01-.017.564c-.17.153-.376.29-.512.375-.29.205-.803.564-1.145.29-.17-.153.17-.392.017-.99-.12-.478.342-.683.718-.683" }), hAsync("path", { fill: "#011F5B", d: "M46.706 24.378c-2.495 0-4.818-1.077-7.192-2.307-.257-.136-.564-.29-.872-.46-1.896-1.043-4.749-2.598-6.628-1.624 0 .24-.051.479-.137.684-.29.785-1.23 1.605-1.69 1.93-1.043.752-2.324 1.503-3.93 1.503-.24 0-.478-.034-.683-.102a1.64 1.64 0 01-.77-.547 2.354 2.354 0 01-.238-.41 1.784 1.784 0 01-.103-.376c-.666-.205-1.076-.649-1.076-1.195 0-.41.29-.752.564-1.077.444-.53.649-.803.188-1.23-.052-.051-.103-.085-.171-.136-.086-.069-.171-.12-.256-.223-.547-.597-.24-1.759-.069-2.46v-.068c.222-.734.513-1.503.94-2.34.564-1.128 1.247-2.409 2.22-3.212.052-.034.12-.068.188-.051.069 0 .12.051.154.102.034.052.427.65.837 1.435 1.692-1.008 4.1-1.127 4.374-1.127 1.486-.051 3.638.17 5.483 1.589 1.145.888 2.085 1.964 2.99 3.023.24.274.478.564.734.838 1.401 1.571 2.734 2.818 4.066 3.792 1.008.735 2.597 1.145 3.673.256.393-.324.564-.905.427-1.435-.12-.478-.427-.803-.854-.905-.769-.171-1.4.598-1.913 1.366-.051.069-.137.12-.222.103-.086 0-.154-.068-.188-.137-.53-1.247-.547-2.289-.069-3.092.41-.683 1.196-1.178 2.136-1.315 0-1.47.342-2.546 1.06-3.195.443-.393 1.246-.837 2.596-.666.068 0 .136.051.17.12.035.068.052.136 0 .205-.939 2.237-.7 3.075-.204 4.92.05.17.085.341.153.53.496 1.81.342 3.382-.444 4.629-1.264 2.033-3.707 2.528-3.81 2.545-.495.085-.973.12-1.452.12M33.398 19.2c1.793 0 3.843 1.128 5.45 2 .307.17.597.324.87.46 2.734 1.418 5.433 2.648 8.337 2.136.017 0 2.358-.479 3.502-2.34.718-1.145.837-2.58.393-4.271a7.72 7.72 0 01-.137-.513c-.478-1.76-.751-2.75.103-4.937-.99-.068-1.589.273-1.93.564-.65.58-.957 1.606-.906 3.058a.24.24 0 01-.205.239c-.888.102-1.64.512-2.016 1.127-.358.598-.376 1.367-.05 2.29.443-.598 1.195-1.418 2.152-1.213.598.136 1.042.598 1.195 1.23.171.717-.05 1.486-.58 1.913-1.265 1.025-3.075.598-4.237-.24-1.367-.99-2.716-2.254-4.134-3.86l-.735-.837c-.905-1.025-1.828-2.101-2.921-2.956-1.725-1.332-3.775-1.554-5.176-1.503-.957.034-2.887.308-4.186 1.094.41.82.752 1.776.752 2.494 0 .136-.017.256-.068.393.94-.547 2.067-.154 2.682.53.136.153.29.375.444.631.24.359.53.786.854 1.11.051.052.068.12.068.188a.188.188 0 01-.102.171s-.598.428-1.435 1.043c-.12.085-.24.17-.342.239-.017 0-.034.034-.051.05l.735.12c.512-.273 1.059-.393 1.657-.393m-6.475-7.926c-.803.752-1.4 1.88-1.913 2.887-.41.803-.7 1.537-.888 2.255v.068c-.154.53-.445 1.623-.069 2.016.051.051.12.103.188.154.068.051.137.102.205.17.786.752.24 1.402-.154 1.863-.239.273-.461.53-.461.786 0 .546.666.751.871.785.103.018.171.103.171.205 0 .171.034.274.085.41.052.12.103.205.171.308.137.17.325.307.547.393.154.068.342.085.547.085 1.486 0 2.682-.734 3.673-1.435.58-.41 1.315-1.161 1.537-1.708.051-.154.085-.308.103-.478l-1.042-.171h-.018a.3.3 0 01-.205-.222c-.034-.205.154-.325.53-.581.103-.069.222-.154.325-.24.546-.41.99-.717 1.23-.888a7.525 7.525 0 01-.735-1.008c-.154-.222-.29-.444-.41-.563-.512-.547-1.418-.871-2.152-.427-.29.188-.547.41-.838.666-.222.188-.444.41-.7.58-.103.069-.24.052-.308-.05-.085-.086-.068-.223 0-.308a.742.742 0 01.12-.103c.325-.324 1.11-1.042 1.11-1.571 0-1.213-1.161-3.195-1.571-3.861" }), hAsync("path", { fill: "#011F5B", d: "M25.386 22.789c-.223 0-.445 0-.667-.034-.12-.017-.222-.12-.205-.256 0-.12.12-.205.257-.205 1.042.136 2.58 0 3.895-1.384a.237.237 0 01.324 0 .238.238 0 010 .324C28 22.26 26.752 22.79 25.37 22.79M43.802 19.338s-.052 0-.086-.017c-.12-.051-.154-.17-.12-.29.24-.547.274-1.008.103-1.35-.239-.461-.786-.615-.803-.615-.051 0-.12-.051-.136-.102-.035-.052-.035-.12 0-.188.085-.205.256-.837.153-1.162-.102-.273-.615-.376-.785-.41-.069 0-.137-.051-.171-.103-.035-.068-.035-.136 0-.187.068-.171.222-.684.034-.957-.342-.53-1.23-.273-1.23-.273-.086.017-.171 0-.222-.052-.052-.05-.069-.153-.052-.222 0 0 .257-.803-.239-1.332-.58-.598-1.845-.24-1.862-.24a.196.196 0 01-.205-.068c-.051-.051-.068-.136-.051-.222 0-.034.222-.7-.24-.973-.717-.445-1.537.119-1.537.136a.181.181 0 01-.205.017c-.068-.034-.12-.102-.12-.17 0-.035-.119-.906-.887-1.009-.838-.12-1.709.735-1.726.752a.26.26 0 01-.17.069.18.18 0 01-.154-.086s-.599-.769-1.333-.735c-.717.035-.99.752-.99.77a.242.242 0 01-.155.136c-.068 0-.136 0-.188-.051 0 0-.717-.684-1.434-.41-.906.341-1.162 1.452-1.248 1.81a.206.206 0 01-.256.171c-.12-.017-.188-.136-.17-.256.102-.427.392-1.708 1.52-2.118.7-.257 1.332.085 1.657.324.188-.307.564-.751 1.247-.786.7-.034 1.281.462 1.537.718.342-.273 1.11-.837 1.914-.718.7.103 1.042.65 1.178 1.077.376-.188 1.077-.41 1.76 0 .461.307.512.803.478 1.127.496-.085 1.401-.136 1.948.427.444.462.461 1.06.41 1.418.393-.051 1.042-.017 1.384.513.222.358.153.803.068 1.093.29.068.735.24.871.632.137.376 0 .94-.085 1.247.239.103.632.325.854.752.24.478.205 1.042-.086 1.725-.034.086-.12.12-.205.12" }), hAsync("path", { fill: "#011F5B", d: "M42.725 22.31h-.017c-.12 0-.205-.119-.188-.239.103-.82-.393-.973-.803-1.093-.102-.034-.204-.068-.29-.12-.222-.136-.24-.41-.24-.683 0-.307-.016-.649-.255-.905-.41-.444-1.196-.154-1.196-.154-.069.034-.154 0-.205-.034-.069-.051-.086-.12-.086-.188 0 0 .12-.871-.375-1.298-.428-.36-1.23-.274-1.504-.205-.068 0-.136 0-.188-.052-.05-.034-.068-.102-.068-.17.034-.53-.17-1.008-.58-1.265a1.06 1.06 0 00-1.094-.085c-.906.478-1.264.512-2.204-.154-.29-.205-.598-.273-.871-.205-.359.086-.683.41-.94.906-.051.102-.17.153-.29.102a.22.22 0 01-.103-.29c.308-.598.735-1.008 1.213-1.128.41-.102.837 0 1.23.274.803.563.974.546 1.743.12.478-.257 1.059-.223 1.537.084.462.308.752.82.786 1.401.393-.05 1.128-.068 1.606.342.461.393.547 1.008.547 1.367.358-.069.956-.086 1.366.358.325.376.359.838.359 1.196 0 .12 0 .29.034.342.034.017.12.051.205.068.41.12 1.247.393 1.11 1.572 0 .102-.102.188-.204.188M21.405 19.202c-.17-.137-.273-.222-.273-.36v-4.406c0-.137.102-.24.273-.376.12-.086.24-.188.342-.325a.959.959 0 00.154-.53.904.904 0 00-.154-.512c-.086-.137-.222-.24-.342-.342-.17-.136-.273-.222-.273-.376v-1.537h-.359c-.82 0-1.691 0-2.255-.256-.222-.086-.444-.222-.666-.359-.495-.325-1.076-.683-1.948-.683-.7 0-1.332.256-1.879.478-.376.154-.717.29-.973.29h-.103c-.24 0-.598-.136-.974-.29-.546-.222-1.178-.478-1.879-.478-.871 0-1.452.358-1.947.683-.222.137-.427.273-.65.359-.563.239-1.452.256-2.272.256h-.341v1.537c0 .154-.103.24-.274.376-.12.086-.239.188-.341.342a.959.959 0 000 1.042c.085.137.222.24.341.325.171.136.274.222.274.375v4.408c0 .137-.103.222-.274.359a1.52 1.52 0 00-.341.324.959.959 0 000 1.042c.085.137.222.24.341.325.171.137.274.222.274.376v1.469h16.246v-1.47c0-.136.102-.238.273-.375.12-.085.24-.188.342-.325a.959.959 0 00.154-.53.904.904 0 00-.154-.512c-.086-.136-.222-.239-.342-.324zm-7.192-9.089c.513-.205 1.094-.444 1.691-.444.718 0 1.196.29 1.675.598.222.137.46.29.734.41a4.5 4.5 0 00.684.205v9.362c-.376-.069-.803-.069-1.248-.069-.666 0-1.366 0-2.032-.205-.223-.068-.462-.136-.684-.222-.683-.222-1.298-.41-1.725-.444h-.017v-8.883c.29-.051.598-.17.94-.308m-6.527.564a6.17 6.17 0 00.735-.41c.495-.307.957-.598 1.674-.598.598 0 1.179.24 1.691.444.36.137.684.274.974.308v8.866h-.051c-.427.034-1.042.24-1.726.444-.222.069-.46.154-.683.222-.666.205-1.366.205-2.033.205-.444 0-.854 0-1.247.069v-9.345a3.15 3.15 0 00.684-.205m13.752 9.396a.445.445 0 01-.069.256c-.051.086-.154.154-.239.222-.205.171-.444.359-.444.735v.974H5.33v-.974c0-.376-.256-.564-.444-.735a1.02 1.02 0 01-.24-.222c-.05-.085-.085-.17-.068-.256 0-.12.017-.188.069-.273.05-.086.153-.154.239-.223.205-.153.444-.358.444-.717v-4.407c0-.376-.256-.564-.444-.718-.103-.085-.188-.154-.24-.24-.05-.084-.085-.17-.068-.255 0-.103.017-.205.069-.274.05-.085.153-.153.239-.222.205-.153.444-.358.444-.734v-1.025h.034c.41 0 .786 0 1.162-.034v10.147h5.586a.923.923 0 00.905.683c.444 0 .803-.29.906-.683h5.586V10.933c.359.035.752.035 1.145.035h.034v1.025c0 .375.239.563.444.734.102.069.188.154.239.222.051.069.085.171.068.257 0 .119-.017.187-.068.273-.051.085-.154.154-.24.239-.204.154-.443.359-.443.717v4.408c0 .359.239.564.444.717.102.086.188.154.239.223.051.085.085.17.068.256l.035.034zM71.51 19.202c-.188-.137-.273-.222-.273-.36v-4.406c0-.137.103-.24.273-.376.12-.086.24-.188.342-.325a.959.959 0 00.154-.53.904.904 0 00-.154-.512c-.085-.137-.222-.24-.342-.342-.188-.136-.273-.222-.273-.376v-1.537h-.359c-.82 0-1.69 0-2.255-.256a4.235 4.235 0 01-.666-.359c-.495-.325-1.076-.683-1.947-.683-.684 0-1.333.256-1.88.478-.375.154-.734.29-.973.29h-.103c-.239 0-.598-.136-.974-.29-.563-.222-1.195-.478-1.879-.478-.87 0-1.452.358-1.947.683-.222.137-.427.273-.65.359-.563.239-1.451.256-2.271.256h-.342v1.537c0 .154-.103.24-.273.376-.12.086-.24.188-.342.342a.959.959 0 000 1.042c.085.137.222.24.342.325.17.136.273.222.273.375v4.408c0 .137-.103.222-.273.359a1.52 1.52 0 00-.342.324.959.959 0 000 1.042c.085.137.222.24.342.325.17.137.273.222.273.376v1.469h16.246v-1.47c0-.136.103-.238.273-.375.12-.085.24-.188.342-.325a.959.959 0 00.154-.53.904.904 0 00-.154-.512c-.085-.136-.222-.239-.342-.324m-7.192-9.089c.513-.205 1.094-.444 1.692-.444.734 0 1.178.29 1.674.598.222.137.461.29.717.41.222.086.444.154.684.205v9.362c-.376-.069-.803-.069-1.247-.069-.667 0-1.367 0-2.033-.205-.223-.068-.462-.136-.684-.222-.683-.222-1.298-.41-1.725-.444h-.017v-8.883c.29-.051.598-.17.94-.308m-6.526.564c.256-.12.495-.256.717-.41.495-.307.957-.598 1.674-.598.598 0 1.179.24 1.692.444.358.137.683.274.973.308v8.866h-.051c-.427.034-1.025.24-1.725.444-.223.069-.462.154-.684.222-.666.205-1.366.205-2.033.205-.444 0-.854 0-1.247.069v-9.345a3.15 3.15 0 00.684-.205m13.752 9.396a.446.446 0 01-.069.256c-.051.086-.153.154-.239.222-.205.171-.444.359-.444.735v.974h-15.34v-.974c0-.376-.257-.564-.445-.735a1.02 1.02 0 01-.24-.222c-.05-.085-.085-.17-.068-.256 0-.12.018-.188.069-.273.051-.086.154-.154.239-.223.205-.153.444-.358.444-.717v-4.407c0-.376-.256-.564-.444-.718-.102-.085-.188-.154-.24-.24-.05-.084-.085-.17-.068-.255 0-.103.018-.205.069-.274.051-.085.154-.153.239-.222.205-.153.444-.358.444-.734v-1.025h.034c.41 0 .786 0 1.162-.034v10.147h5.586a.923.923 0 00.906.683c.444 0 .785-.29.905-.683h5.586V10.933c.376.035.752.035 1.162.035h.034v1.025c0 .375.256.563.444.734.103.069.188.154.24.222.05.069.085.171.068.257 0 .119-.017.187-.069.273-.05.085-.153.154-.239.239-.205.154-.444.359-.444.717v4.408c0 .359.256.564.444.717.103.086.188.154.24.223.05.085.085.17.068.256l-.034.034z" }), hAsync("path", { fill: "#011F5B", d: "M74.654 4.886H1.452v36.49c-.051 15.99 8.85 27.606 16.315 34.542 8.148 7.551 17.322 12.061 20.21 12.676h.153c2.887-.632 12.06-5.125 20.21-12.676 7.482-6.936 16.365-18.552 16.331-34.542V4.886h-.017zm-1.008 21.986H2.46V5.894h71.186v20.978zM16.588 62.457a6.28 6.28 0 010-8.867 6.279 6.279 0 018.866 0 6.28 6.28 0 010 8.867 6.28 6.28 0 01-8.866 0zm41.051 12.727c-8.473 7.858-17.237 11.804-19.595 12.402-2.357-.598-11.12-4.561-19.594-12.402-.205-.188-.41-.393-.615-.581l20.21-21.457 20.209 21.457c-.205.188-.41.393-.615.58zM31.775 42.469c0-3.45 2.802-6.27 6.27-6.27a6.263 6.263 0 016.269 6.27 6.263 6.263 0 01-6.27 6.27 6.274 6.274 0 01-6.27-6.27zm27.743 19.988a6.28 6.28 0 01-8.866 0 6.28 6.28 0 010-8.867 6.279 6.279 0 018.866 0 6.28 6.28 0 010 8.867zm10.062-3.178L38.045 28.871 6.508 59.279C4.066 54.12 2.426 48.158 2.46 41.376V27.88h71.186v13.496c.017 6.765-1.606 12.744-4.066 17.903M88.799 81.3c0 3.604.973 6.371 4.817 6.371 3.536 0 5.398-2.374 5.398-6.491v-7.175c0-.53-.102-.974-.153-1.384-.12-.922-1.008-1.298-2.221-1.418v-.666h6.082v.666c-1.23.12-2.085.495-2.221 1.418-.051.41-.137.854-.137 1.384v7.277c0 5.552-3.536 7.602-6.867 7.602-5.484 0-7.192-2.784-7.192-7.448v-7.688c0-2.391.102-2.272-2.221-2.545v-.666h6.935v.666c-2.323.273-2.22.154-2.22 2.546v7.55zM117.31 88.577c-3.16-3.742-6.44-7.654-9.686-11.48v8.798c0 .41.086.751.12 1.059.102.717.769 1.008 2.084 1.093v.513h-4.869v-.513c.957-.085 1.606-.376 1.709-1.093.034-.325.119-.65.119-1.06v-9.361c-.564-.718-1.179-1.35-2.306-1.35v-.512h3.622c2.955 3.604 6.047 7.26 9.002 10.865h.035V77.37c0-.427-.086-.769-.12-1.076-.102-.718-.786-.991-2.084-1.093v-.513h4.869v.513c-.94.102-1.623.375-1.709 1.093-.034.307-.119.649-.119 1.076v11.224h-.684l.017-.017zM127.117 86.082c0 1.846-.086 1.743 1.708 1.965v.513h-5.347v-.513c1.794-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.086-1.743-1.708-1.965v-.53h5.347v.53c-1.794.205-1.708.12-1.708 1.965v8.951zM137.503 75.166c-1.093 0-1.879.308-1.23 2.221a1204.83 1204.83 0 002.973 8.798c1.281-3.04 2.494-6.116 3.724-9.14.495-1.264-.017-1.879-1.367-1.879v-.512h4.288v.512c-.581 0-1.23.188-1.64 1.196-1.674 4.083-3.348 8.132-5.022 12.198h-1.025c-1.213-3.434-2.563-7.278-3.776-10.643-.734-2.136-1.349-2.75-2.306-2.75v-.513h5.398v.512h-.017zM148.932 88.047c1.793-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.085-1.76-1.708-1.965v-.512h8.9v3.194h-.512c-.205-1.486-.598-2.562-2.033-2.562h-2.7v5.689h1.675c1.247 0 1.793-.496 1.828-1.726h.512v4.237h-.512c-.035-1.162-.496-1.862-1.828-1.862h-1.675v4.493c0 1.69.786 1.828 2.563 1.828 2.887 0 2.75-.82 3.656-2.939h.512l-.598 3.57h-9.788v-.529zM162.735 74.654h5.791c1.999 0 4.015 1.059 4.015 3.382 0 2.05-1.247 3.451-2.785 4.049l1.948 2.955c.991 1.453 2.101 2.853 2.819 3.263v.257h-2.05c-1.179 0-1.811-2.17-4.22-6.168h-1.879v3.69c0 1.846-.086 1.743 1.708 1.965v.513h-5.347v-.513c1.794-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.069-1.76-1.708-1.965v-.512zm3.639 7.124h1.64c1.725 0 2.528-1.299 2.528-3.554s-1.196-2.921-2.648-2.921h-1.537v6.475h.017zM184.568 77.61c-.171-1.384-.923-2.512-2.512-2.512-1.144 0-2.186.598-2.186 2.067 0 1.47 1.383 2.221 3.382 3.724 2.101 1.572 2.785 2.597 2.785 4.237 0 2.358-2.426 3.673-4.818 3.673a9.267 9.267 0 01-3.399-.632c-.086-.034-.137-.12-.137-.273v-2.87h.513c.205 2.203 1.657 3.092 3.211 3.092 1.401 0 2.563-1.077 2.563-2.529 0-1.281-.701-2.34-3.673-4.322-1.076-.717-2.409-1.486-2.409-3.656 0-1.793 1.999-3.211 4.271-3.211.854 0 1.999.102 2.784.376.12.034.137.12.137.204v2.614h-.512v.017zM193.81 86.082c0 1.846-.086 1.743 1.708 1.965v.513h-5.347v-.513c1.794-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.069-1.743-1.708-1.965v-.53h5.347v.53c-1.794.205-1.708.12-1.708 1.965v8.951zM205.7 86.082c0 1.846-.086 1.743 1.708 1.965v.513h-5.347v-.513c1.794-.222 1.708-.12 1.708-1.965V75.286h-1.793c-1.726 0-2.119 1.093-2.785 2.409h-.495l.546-3.041h11.002l.529 3.04h-.512c-.649-1.315-1.042-2.408-2.785-2.408H205.7v10.796zM216.53 88.047c1.794-.222 1.708-.12 1.708-1.965v-3.057l-3.057-6.065c-.65-1.298-1.213-1.794-2.136-1.794v-.512h5.074v.512c-1.503 0-1.384.752-.871 1.794l2.408 4.988 2.734-4.988c.683-1.213.034-1.794-1.145-1.794v-.512h4.1v.512c-.547 0-1.093.257-1.623 1.213l-3.331 6.03c-.205.393-.222.957-.222 1.453v2.22c0 1.846-.086 1.743 1.708 1.965v.513h-5.364v-.513h.017zM235.527 83.81c0-3.382 2.921-8.438 7.209-8.438 3.434 0 4.186 2.323 4.186 4.646 0 2.836-2.272 8.866-7.192 8.866-3.297 0-4.203-2.647-4.203-5.073m9.02-5.023c0-2.682-1.623-2.784-2.033-2.784-2.784 0-4.612 5.005-4.612 8.353 0 1.333.222 3.759 2.135 3.759 2.938 0 4.51-4.835 4.51-9.328zM258.914 76.225l-.615.547h-3.383c-1.264 6.15-3.331 14.316-4.8 18.228h-1.162l3.69-18.228h-2.443l.24-1.076h2.425c1.367-5.484 5.911-6.065 6.987-6.065.598 0 1.828.103 2.221.462l-.324 1.708-.649.307c-.359-.7-1.179-1.503-2.255-1.503-1.555 0-2.717 1.06-3.332 3.844l-.29 1.23h3.792l-.102.546zM274.391 85.348c0 2.392-.102 2.272 2.221 2.546v.666h-6.935v-.666c2.323-.291 2.22-.154 2.22-2.546v-11.6c0-2.391.103-2.272-2.22-2.545v-.666h6.747c4.288 0 6.39 1.691 6.39 4.783 0 3.707-3.349 5.723-7.295 5.484v-.513c3.212.052 4.715-1.879 4.715-4.715 0-2.835-1.384-4.22-4.271-4.22h-1.572v13.992zM286.384 88.047c1.776-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.068-1.76-1.708-1.965v-.512h8.883v3.194h-.513c-.205-1.486-.598-2.562-2.033-2.562h-2.699v5.689h1.674c1.248 0 1.794-.496 1.828-1.726h.513v4.237h-.513c-.034-1.162-.495-1.862-1.828-1.862h-1.674v4.493c0 1.69.769 1.828 2.563 1.828 2.87 0 2.733-.82 3.656-2.939h.512l-.598 3.57h-9.789v-.512l.018-.017zM312.231 88.577c-3.161-3.742-6.441-7.654-9.687-11.48v8.798c0 .41.086.751.12 1.059.103.717.769 1.008 2.084 1.093v.513h-4.869v-.513c.957-.085 1.606-.376 1.709-1.093.051-.325.119-.65.119-1.06v-9.361c-.563-.718-1.178-1.35-2.306-1.35v-.512h3.622c2.955 3.604 6.047 7.26 9.003 10.865h.034V77.37c0-.427-.068-.769-.12-1.076-.102-.718-.769-.991-2.101-1.093v-.513h4.886v.513c-.94.102-1.606.375-1.726 1.093-.034.307-.119.649-.119 1.076v11.224h-.666l.017-.017zM330.373 88.577c-3.16-3.742-6.44-7.654-9.686-11.48v8.798c0 .41.068.751.119 1.059.103.717.786 1.008 2.084 1.093v.513h-4.868v-.513c.956-.085 1.606-.376 1.708-1.093.034-.325.12-.65.12-1.06v-9.361c-.547-.718-1.179-1.35-2.307-1.35v-.512h3.622c2.973 3.604 6.048 7.26 9.02 10.865h.034V77.37c0-.427-.068-.769-.102-1.076-.103-.718-.786-.991-2.102-1.093v-.513h4.869v.513c-.939.102-1.606.375-1.708 1.093-.051.307-.137.649-.137 1.076v11.224h-.666v-.017zM343.322 77.61c-.154-1.384-.922-2.512-2.511-2.512-1.145 0-2.187.598-2.187 2.067 0 1.47 1.401 2.221 3.383 3.724 2.101 1.572 2.784 2.597 2.784 4.237 0 2.358-2.409 3.673-4.817 3.673a9.34 9.34 0 01-3.4-.632c-.068-.034-.136-.12-.136-.273v-2.87h.512c.222 2.203 1.674 3.092 3.212 3.092 1.4 0 2.562-1.077 2.562-2.529 0-1.281-.683-2.34-3.673-4.322-1.076-.717-2.409-1.486-2.409-3.656 0-1.793 1.982-3.211 4.288-3.211.855 0 1.982.102 2.768.376.119.034.137.12.137.204v2.614h-.513v.017zM351.334 88.047c1.794-.222 1.708-.12 1.708-1.965v-3.057l-3.057-6.065c-.65-1.298-1.213-1.794-2.119-1.794v-.512h5.057v.512c-1.503 0-1.367.752-.871 1.794l2.408 4.988 2.734-4.988c.683-1.213.051-1.794-1.128-1.794v-.512h4.1v.512c-.547 0-1.093.257-1.623 1.213l-3.314 6.03c-.188.393-.239.957-.239 1.453v2.22c0 1.846-.085 1.743 1.708 1.965v.513h-5.347v-.513h-.017zM363.6 88.047c1.794-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.069-1.76-1.708-1.965v-.512h5.347v.512c-1.794.205-1.708.12-1.708 1.965v9.276c0 1.384.769 1.538 2.545 1.538 2.887 0 2.768-.82 3.673-2.939h.496l-.598 3.57h-9.772v-.512l.017-.017zM379.761 75.166c-1.094 0-1.897.308-1.23 2.221.785 2.358 1.93 5.757 2.972 8.798 1.264-3.04 2.477-6.116 3.707-9.14.496-1.264 0-1.879-1.366-1.879v-.512h4.287v.512c-.58 0-1.23.188-1.64 1.196a2610.34 2610.34 0 01-5.039 12.198h-1.008c-1.213-3.434-2.563-7.278-3.775-10.643-.735-2.136-1.35-2.75-2.307-2.75v-.513h5.416v.512h-.017zM391.77 83.964l-.922 2.665c-.256.77.119 1.435.991 1.435v.513h-3.622v-.513c.547 0 1.128-.341 1.435-.99.854-1.76 3.178-8.252 4.835-12.66h1.11c1.35 3.998 3.382 10.131 4.066 11.89.444 1.111.751 1.743 1.606 1.743v.513h-4.63v-.513c1.247 0 1.367-.649 1.042-1.52l-.854-2.58h-5.057v.017zm4.818-.751l-2.118-6.458h-.035l-2.374 6.458h4.527zM416.268 88.577c-3.178-3.742-6.441-7.654-9.687-11.48v8.798c0 .41.069.751.12 1.059.102.717.786 1.008 2.084 1.093v.513h-4.869v-.513c.957-.085 1.606-.376 1.709-1.093.051-.325.119-.65.119-1.06v-9.361c-.546-.718-1.161-1.35-2.306-1.35v-.512h3.622c2.955 3.604 6.047 7.26 9.003 10.865h.034V77.37c0-.427-.069-.769-.12-1.076-.102-.718-.786-.991-2.084-1.093v-.513h4.869v.513c-.94.102-1.606.375-1.709 1.093-.034.307-.119.649-.119 1.076v11.224h-.666v-.017zM425.664 86.082c0 1.846-.086 1.743 1.708 1.965v.513h-5.347v-.513c1.794-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.086-1.743-1.708-1.965v-.53h5.347v.53c-1.794.205-1.708.12-1.708 1.965v8.951zM433.983 83.964l-.922 2.665c-.257.77.119 1.435 1.007 1.435v.513h-3.621v-.513c.546 0 1.11-.341 1.435-.99.854-1.76 3.177-8.252 4.834-12.66h1.111c1.349 3.998 3.382 10.131 4.066 11.89.444 1.111.751 1.743 1.605 1.743v.513h-4.629v-.513c1.247 0 1.366-.649 1.059-1.52l-.854-2.58h-5.057l-.034.017zm4.8-.751l-2.101-6.458h-.034l-2.375 6.458h4.51zM101.116 6.201h-5.689v20.654c1.537.53 3.434.786 5.689.786 3.451 0 6.184-.888 8.183-2.665 1.998-1.777 3.006-4.22 3.006-7.295 0-3.314-.991-6.064-2.989-8.217-1.999-2.152-4.715-3.245-8.2-3.245m-17.032-1.76h16.81c5.5 0 9.84 1.213 13.051 3.656 3.212 2.443 4.818 5.569 4.818 9.43 0 3.86-1.401 6.765-4.203 8.815-2.801 2.05-6.816 3.075-12.061 3.075-2.015 0-4.373-.154-7.072-.479v12.898c0 2.785.376 4.698 1.11 5.74.752 1.042 2.119 1.572 4.1 1.572v1.332h-16.57v-1.332c1.981 0 3.348-.547 4.1-1.657.751-1.093 1.11-2.938 1.11-5.501V13.12c0-2.75-.376-4.664-1.11-5.74-.752-1.076-2.119-1.606-4.1-1.606V4.442l.017.017zM119.6 31.758h15.511v-.547c0-2.545-.717-4.561-2.169-6.047-1.452-1.487-3.263-2.238-5.433-2.238-2.306 0-4.151.785-5.552 2.357-1.4 1.572-2.186 3.724-2.34 6.475m21.388 11.428v2.084c-1.725 2.204-3.485 3.776-5.279 4.715-1.793.94-3.946 1.418-6.457 1.418-4.442 0-8.115-1.4-11.019-4.185-2.887-2.785-4.339-6.32-4.339-10.626 0-4.305 1.384-7.96 4.134-10.916 2.768-2.955 6.15-4.442 10.148-4.442 3.297 0 6.167 1.11 8.627 3.332 2.46 2.22 3.69 4.885 3.69 7.978v.58h-20.927v.393c0 3.144.478 5.86 1.435 8.183.956 2.323 2.357 4.134 4.185 5.433 1.828 1.315 3.741 1.964 5.74 1.964 1.862 0 3.451-.393 4.766-1.162 1.316-.768 3.075-2.357 5.279-4.766" }), hAsync("path", { fill: "#011F5B", d: "M151.118 21.234v5.69c3.332-3.793 6.748-5.69 10.284-5.69 2.751 0 5.04.94 6.868 2.82 1.828 1.878 2.75 4.338 2.75 7.413v12.847c0 1.964.325 3.263.991 3.895.649.632 1.931.94 3.844.94v1.332h-15.187v-1.333c1.879 0 3.177-.239 3.861-.734.683-.496 1.042-1.418 1.042-2.819V30.7c0-2-.598-3.57-1.777-4.767-1.196-1.178-2.716-1.776-4.578-1.776-2.665 0-5.364 1.862-8.081 5.569v13.923c0 2.357.308 3.86.923 4.51.615.649 1.896.956 3.827.956v1.333h-15v-1.333c2.17 0 3.503-.341 3.998-1.042.495-.7.752-2.17.752-4.424V27.589c0-1.708-.308-2.818-.906-3.365-.598-.53-1.879-.803-3.844-.803v-1.332l8.867-.872h1.366v.017z" }), hAsync("path", { fill: "#011F5B", d: "M185.695 21.234v5.69c3.331-3.793 6.748-5.69 10.284-5.69 2.751 0 5.04.94 6.868 2.82 1.828 1.878 2.75 4.338 2.75 7.413v12.847c0 1.964.325 3.263.991 3.895.649.632 1.93.94 3.844.94v1.332h-15.187v-1.333c1.879 0 3.177-.239 3.86-.734.684-.496 1.042-1.418 1.042-2.819V30.7c0-2-.597-3.57-1.776-4.767-1.196-1.178-2.716-1.776-4.578-1.776-2.665 0-5.365 1.862-8.081 5.569v13.923c0 2.357.308 3.86.923 4.51.615.649 1.896.956 3.826.956v1.333h-14.999v-1.333c2.17 0 3.502-.341 3.998-1.042.495-.7.751-2.17.751-4.424V27.589c0-1.708-.307-2.818-.905-3.365-.598-.53-1.879-.803-3.844-.803v-1.332l8.866-.872h1.367v.017zM251.466 40.436h1.366l-2.818 10.045H216.65V49.15c1.879 0 3.229-.598 4.032-1.777.802-1.179 1.195-3.16 1.195-5.928v-28.99c0-2.494-.375-4.22-1.11-5.21-.752-.974-2.118-1.47-4.1-1.47V4.442h16.485v1.332c-1.828 0-3.143.564-3.946 1.692-.803 1.127-1.196 2.99-1.196 5.569v30.767c0 1.708.359 2.87 1.077 3.502.717.632 2.101.94 4.134.94h9.139c2.819 0 4.801-.496 5.928-1.47 1.128-.974 2.187-3.092 3.178-6.338zM261.203 6.509c.974 0 1.777.341 2.46 1.008.683.666 1.008 1.486 1.008 2.46 0 .973-.342 1.793-1.025 2.494-.683.7-1.486 1.042-2.426 1.042a3.474 3.474 0 01-2.511-1.042c-.7-.7-1.059-1.52-1.059-2.494 0-.974.341-1.794 1.042-2.46a3.534 3.534 0 012.528-1.008m1.247 14.726h1.367v23.984c0 1.572.342 2.631 1.025 3.144.683.53 1.93.786 3.724.786v1.332h-15.58V49.15c2.272 0 3.741-.257 4.391-.77.649-.512.973-1.57.973-3.177V27.675c0-1.726-.307-2.87-.905-3.434-.598-.546-2.101-.82-4.476-.82V22.09l9.464-.871.017.017zM276.851 27.555v16.246c0 2.119.359 3.57 1.076 4.357.718.785 1.965 1.178 3.759 1.178 3.707 0 6.628-1.195 8.781-3.57 2.152-2.374 3.228-5.723 3.228-10.01 0-3.588-.939-6.51-2.801-8.799-1.862-2.272-4.1-3.416-6.697-3.416-2.733 0-5.176 1.332-7.363 3.997M275.467-.017h1.367V25.47c1.213-1.315 2.665-2.34 4.39-3.109 1.726-.752 3.451-1.145 5.211-1.145 3.69 0 6.816 1.35 9.379 4.015 2.562 2.682 3.826 5.98 3.826 9.874 0 4.578-1.725 8.337-5.159 11.275-3.451 2.938-8.2 4.39-14.247 4.39-2.358 0-5.313-.29-8.849-.87V7.225c0-2.22-.274-3.604-.838-4.117-.563-.53-1.964-.786-4.219-.786V.991L275.467 0v-.017z" }), hAsync("path", { fill: "#011F5B", d: "M310.198 21.234v6.167c2.614-2.272 4.646-3.878 6.099-4.783 1.452-.922 2.665-1.366 3.621-1.366 1.811 0 3.553.751 5.228 2.237l-2.153 5.057c-3.041-1.674-5.296-2.511-6.748-2.511-1.623 0-3.638 1.144-6.047 3.45v15.649c0 1.572.324 2.63.991 3.194.649.547 1.913.82 3.775.82v1.333h-15.033v-1.333c1.981 0 3.297-.307 3.912-.94.615-.631.922-2.135.922-4.526V28.119c0-1.965-.341-3.246-1.008-3.827-.666-.58-2.289-.871-4.885-.871v-1.332l9.976-.872h1.367l-.017.017zM341.341 44.707v-9.652c-.803.341-1.982.769-3.537 1.298-2.853.974-4.68 1.93-5.483 2.887-.803.957-1.196 2.238-1.196 3.861 0 1.418.427 2.63 1.281 3.673.854 1.042 1.862 1.554 3.041 1.554 1.076 0 2.204-.341 3.382-1.042 1.179-.7 2.016-1.554 2.512-2.58zm-7.654 6.68c-2.221 0-4.134-.735-5.74-2.221-1.588-1.487-2.391-3.263-2.391-5.365 0-2.1.683-3.638 2.067-4.92 1.366-1.298 4.168-2.528 8.371-3.707 2.647-.734 4.424-1.366 5.347-1.879v-2.118c0-2.067-.581-3.741-1.726-5.006-1.144-1.264-2.699-1.896-4.629-1.896-1.76 0-3.315.547-4.664 1.64-1.367 1.094-2.323 2.597-2.87 4.476L326 29.998c.581-2.648 1.828-4.766 3.741-6.355 1.93-1.589 4.185-2.392 6.765-2.392 3.058 0 5.535.923 7.448 2.768 1.897 1.845 2.853 4.407 2.853 7.67v12.215c0 1.725.12 2.904.342 3.519.222.615.649.922 1.281.922.41 0 .752-.17 1.025-.53.256-.358.564-1.092.906-2.22h1.366c-.136 1.777-.683 3.195-1.674 4.237-.991 1.042-2.272 1.571-3.861 1.571-2.323 0-3.946-1.35-4.834-4.048-1.418 1.537-2.665 2.596-3.776 3.177-1.093.581-2.391.871-3.878.871M362.421 21.234v6.167c2.614-2.272 4.647-3.878 6.099-4.783 1.452-.922 2.665-1.366 3.622-1.366 1.811 0 3.553.751 5.227 2.237l-2.152 5.057c-3.041-1.674-5.296-2.511-6.748-2.511-1.623 0-3.639 1.144-6.048 3.45v15.649c0 1.572.325 2.63.991 3.194.649.547 1.914.82 3.776.82v1.333h-15.034v-1.333c1.982 0 3.297-.307 3.912-.94.615-.631.923-2.135.923-4.526V28.119c0-1.965-.342-3.246-1.008-3.827-.666-.58-2.289-.871-4.886-.871v-1.332l9.977-.872h1.366l-.017.017zM387.141 6.509c.974 0 1.777.341 2.46 1.008.683.666 1.008 1.486 1.008 2.46 0 .973-.342 1.793-1.025 2.494-.684.7-1.486 1.042-2.426 1.042-.94 0-1.811-.342-2.511-1.042-.701-.7-1.059-1.52-1.059-2.494 0-.974.341-1.794 1.042-2.46a3.534 3.534 0 012.528-1.008m1.247 14.726h1.367v23.984c0 1.572.341 2.631 1.025 3.144.683.53 1.93.786 3.724.786v1.332h-15.58V49.15c2.272 0 3.741-.257 4.39-.77.649-.512.974-1.57.974-3.177V27.675c0-1.726-.307-2.87-.905-3.434-.598-.546-2.102-.82-4.476-.82V22.09l9.464-.871.017.017zM399.988 31.758h15.511v-.547c0-2.545-.734-4.561-2.169-6.047-1.452-1.487-3.263-2.238-5.433-2.238-2.306 0-4.151.785-5.552 2.357-1.401 1.572-2.187 3.724-2.34 6.475m21.388 11.428v2.084c-1.726 2.204-3.485 3.776-5.279 4.715-1.794.94-3.946 1.418-6.457 1.418-4.459 0-8.115-1.4-11.019-4.185-2.887-2.785-4.339-6.32-4.339-10.626 0-4.305 1.384-7.96 4.134-10.916 2.767-2.955 6.15-4.442 10.147-4.442 3.298 0 6.167 1.11 8.627 3.332 2.46 2.22 3.69 4.885 3.69 7.978v.58H399.97v.393c0 3.144.479 5.86 1.435 8.183.957 2.323 2.341 4.134 4.186 5.433 1.828 1.315 3.741 1.964 5.74 1.964 1.862 0 3.451-.393 4.766-1.162 1.315-.768 3.075-2.357 5.279-4.766M442.678 21.234v8.747h-1.606c-.256-2.204-1.042-3.946-2.357-5.245-1.316-1.298-2.887-1.947-4.749-1.947-1.418 0-2.546.359-3.417 1.06-.854.7-1.298 1.64-1.298 2.818 0 1.179.393 2.17 1.196 3.04.802.872 2.528 1.931 5.193 3.161 3.451 1.572 5.74 3.075 6.85 4.51 1.111 1.435 1.674 3.16 1.674 5.176 0 2.375-.888 4.442-2.665 6.184-1.776 1.743-3.877 2.614-6.32 2.614-1.265 0-2.922-.461-4.989-1.366-1.127-.496-1.879-.752-2.238-.752-.495 0-.922.188-1.247.547-.341.358-.529.82-.598 1.366h-1.366v-9.703h1.366c.496 2.545 1.589 4.578 3.297 6.081 1.709 1.504 3.656 2.256 5.86 2.256 1.418 0 2.597-.479 3.553-1.418.957-.94 1.435-2.102 1.435-3.502 0-1.401-.444-2.495-1.315-3.485-.888-.991-2.785-2.119-5.723-3.4-3.297-1.452-5.467-2.785-6.509-4.049-1.042-1.264-1.571-2.767-1.571-4.561 0-2.22.854-4.151 2.579-5.757 1.709-1.606 3.741-2.409 6.099-2.409 1.093 0 2.289.256 3.57.786.923.359 1.657.547 2.238.547.769 0 1.316-.445 1.691-1.333h1.367v.034z" })), hAsync("defs", null, hAsync("clipPath", { id: "clip0_10377_15535" }, hAsync("path", { fill: "#fff", d: "M0 0H444.165V95H0z" })))));
3597
3716
  };
3598
3717
 
3599
3718
  const pennlibsHeaderCss = ":host{font-family:var(--pl-font-family);font-size:var(--pl-font-size);color:var(--pl-color-fg-default)}*,*:before,*:after{box-sizing:inherit}.viewport-margins{width:100%;max-width:var(--pl-viewport-margins-max-width);margin:0 auto;padding:0 var(--pl-viewport-margins-gutter, 1em)}a{color:var(--color-fg-menu)}*:focus{box-shadow:0 0 0 2px var(--pl-color-bg-accent), 0 0 0 4px var(--pl-color-bg-accent-emphasis);outline:none}.website-header{--color-fg-service:var(--pl-color-penn-blue);--color-fg-menu:var(--pl-color-fg-default);--color-bg-menu:var(--pl-color-bg-default)}.website-header--dark{--color-fg-service:var(--pl-color-fg-on-emphasis);--color-fg-menu:var(--pl-color-fg-on-emphasis);--color-bg-menu:var(--pl-color-penn-blue)}.website-header__logo-name-container{display:flex;align-items:stretch;margin-right:auto}@media (max-width: 620px){.website-header__logo-name-container{margin-right:6em;flex-direction:column;gap:0.5rem}}.website-header_logo-link{line-height:0}.website-header__logo{max-width:260px;margin-right:1em}@media (max-width: 1000px){.website-header__logo{max-width:200px}}@media (max-width: 620px){.website-header__logo{max-width:190px}}.website-header__service-link{display:flex;justify-content:center;flex-direction:column;text-decoration:none;line-height:1;color:var(--color-fg-service)}@media (min-width: 1001px){.website-header__service-link{padding-left:0.5em}}.website-header__hero .website-header__service-link{border-left:none}.website-header__service-link:hover .website-header__service-name{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:0.1em;text-decoration-color:var(--color-fg-service)}.website-header__service-name{font-size:1.5em;font-weight:500}.website-header__service-lede{font-size:1em}.website-header__inner-container{display:flex;justify-content:space-between;align-items:center;position:relative;padding:1em 0}@media (max-width: 1000px){.website-header__inner-container{flex-direction:column;align-items:flex-start}}@media (max-width: 1000px){.website-header__navigation{width:100%}}.website-header__navigation-list{list-style:none;display:flex;margin:0;padding:0}@media (max-width: 1000px){.website-header__navigation-list{display:none}}@media (max-width: 1000px){.website-header__navigation-list--visible{display:block;margin-top:1rem}.website-header__navigation-list--visible a{display:inline-block}}.website-header__navigation-list button{background-color:transparent;border-width:0;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;padding:0;color:inherit}.website-header__navigation-list a,.website-header__navigation-list button{display:block;text-decoration:none;cursor:pointer}@media (max-width: 1000px){.website-header__navigation-list a,.website-header__navigation-list button{padding:0.75em 0}}.website-header__navigation-list--visible a,.website-header__navigation-list--visible button{padding:0.5em 0}@media (min-width: 1001px){.website-header__navigation-list a,.website-header__navigation-list button{padding:0.5em}}.website-header__navigation-list a:hover,.website-header__navigation-list button:hover{text-decoration:underline;text-underline-offset:var(--pl-link-text-underline-offset)}.website-header__navigation-button{all:unset;text-transform:uppercase;font-size:0.75em;letter-spacing:0.075em;font-weight:600;padding:0.5em;border-radius:0.25em;position:absolute;right:0;top:1.5em;display:flex;align-items:center;color:var(--color-fg-service);cursor:pointer}@media (min-width: 1001px){.website-header__navigation-button{display:none}}.website-header__navigation-button[aria-expanded=true] svg{rotate:180deg}@media print{.website-header__inner-container>*:not(.website-header__logo-name-container){display:none}}";
@@ -3665,7 +3784,7 @@ class Header {
3665
3784
  get hostElement() { return getElement(this); }
3666
3785
  static get style() { return pennlibsHeaderCss; }
3667
3786
  static get cmpMeta() { return {
3668
- "$flags$": 9,
3787
+ "$flags$": 265,
3669
3788
  "$tagName$": "pennlibs-header",
3670
3789
  "$members$": {
3671
3790
  "serviceName": [1, "service-name"],
@@ -3742,7 +3861,7 @@ class Hero {
3742
3861
  get hostElement() { return getElement(this); }
3743
3862
  static get style() { return pennlibsHeroCss; }
3744
3863
  static get cmpMeta() { return {
3745
- "$flags$": 9,
3864
+ "$flags$": 265,
3746
3865
  "$tagName$": "pennlibs-hero",
3747
3866
  "$members$": {
3748
3867
  "heroPictureElement": [32],
@@ -3756,6 +3875,162 @@ class Hero {
3756
3875
  }; }
3757
3876
  }
3758
3877
 
3878
+ const pennlibsIiifImgCss = ":host{display:block;width:100%;max-width:100%}picture{display:block;line-height:0}.iiif-img{display:block;width:100%;max-width:100%;height:auto;opacity:0;filter:blur(5px);transition:opacity 0.15s ease-in, filter 0.15s ease-in}.iiif-img.loaded{opacity:1;filter:blur(0)}.fallback-container{display:block;width:100%;height:auto;min-height:200px}.fallback-container pennlibs-fallback-img{width:100%;height:100%}";
3879
+
3880
+ const PIXEL_DENSITY_MULTIPLIERS = [0.5, 0.75, 1, 1.5, 2];
3881
+ const DEFAULT_IMAGE_SIZES = [400, 600, 800, 1200, 1600, 2400];
3882
+ /**
3883
+ * Display responsive, high-quality images from Penn Libraries' IIIF Image API 3.0 server.
3884
+ * Automatically generates optimal image sources for different viewport sizes and pixel densities,
3885
+ * with modern WebP format and JPG fallback support.
3886
+ *
3887
+ * @component
3888
+ * @example
3889
+ * <pennlibs-iiif-img
3890
+ * uuid="063ff35c-bbdd-4b63-bbdd-6206590e20d5"
3891
+ * alt="">
3892
+ * </pennlibs-iiif-img>
3893
+ */
3894
+ class IIIFImg {
3895
+ constructor(hostRef) {
3896
+ registerInstance(this, hostRef);
3897
+ /**
3898
+ * The IIIF [region](https://iiif.io/api/image/3.0/#41-region) of the image to display.
3899
+ * Defines the rectangular portion of the underlying image to return.
3900
+ *
3901
+ * `full`: The full image is returned, without any cropping.
3902
+ *
3903
+ * `square`: A square area where width and height equal the shorter dimension.
3904
+ *
3905
+ * `x,y,w,h`: Absolute pixel coordinates (x, y position; w, h dimensions).
3906
+ *
3907
+ * `pct:x,y,w,h`: Percentage-based coordinates of full image dimensions.
3908
+ *
3909
+ * @default 'full'
3910
+ */
3911
+ this.region = 'full';
3912
+ /**
3913
+ * The IIIF [rotation](https://iiif.io/api/image/3.0/#44-rotation) to apply to the image.
3914
+ * Specifies mirroring and clockwise rotation in degrees (0-360).
3915
+ *
3916
+ * `n`: Rotation in degrees only.
3917
+ *
3918
+ * `!n`: Mirror the image vertically, then rotate by n degrees.
3919
+ *
3920
+ * @default '0'
3921
+ */
3922
+ this.rotation = '0';
3923
+ /**
3924
+ * The IIIF [quality](https://iiif.io/api/image/3.0/#quality) of the image.
3925
+ * Controls the color delivery mode.
3926
+ *
3927
+ * `default`: The server's default quality.
3928
+ *
3929
+ * `color`: Full color information.
3930
+ *
3931
+ * `gray`: Grayscale rendering.
3932
+ *
3933
+ * `bitonal`: Black and white only.
3934
+ *
3935
+ * @default 'default'
3936
+ */
3937
+ this.quality = 'default';
3938
+ /**
3939
+ * Native browser lazy loading behavior. Use "lazy" to defer loading until the image is near the viewport,
3940
+ * or "eager" to load immediately.
3941
+ * @default 'lazy'
3942
+ */
3943
+ this.loading = 'lazy';
3944
+ /**
3945
+ * Whether to display a fallback placeholder image when the IIIF image fails to load.
3946
+ * @default true
3947
+ */
3948
+ this.showFallback = true;
3949
+ this.isLoaded = false;
3950
+ this.hasError = false;
3951
+ this.baseUrl = 'https://iiif-images.library.upenn.edu/iiif/3';
3952
+ this.handleLoad = () => {
3953
+ this.isLoaded = true;
3954
+ };
3955
+ this.handleError = () => {
3956
+ this.hasError = true;
3957
+ };
3958
+ }
3959
+ buildIIIFUrl(width, format = 'jpg') {
3960
+ const sizeParam = width ? `${width},` : 'max';
3961
+ return `${this.baseUrl}/${this.uuid}/${this.region}/${sizeParam}/${this.rotation}/${this.quality}.${format}`;
3962
+ }
3963
+ generateSrcset(sizes, format) {
3964
+ const uniqueSizes = [...new Set(sizes)].sort((a, b) => a - b);
3965
+ const srcsetEntries = uniqueSizes.map(size => {
3966
+ const url = this.buildIIIFUrl(size, format);
3967
+ return `${url} ${size}w`;
3968
+ });
3969
+ return srcsetEntries.join(', ');
3970
+ }
3971
+ getOptimalSizes() {
3972
+ if (this.observedWidth) {
3973
+ const baseSizes = PIXEL_DENSITY_MULTIPLIERS.map(multiplier => Math.round(this.observedWidth * multiplier));
3974
+ return baseSizes;
3975
+ }
3976
+ return [...DEFAULT_IMAGE_SIZES];
3977
+ }
3978
+ componentDidLoad() {
3979
+ if ('ResizeObserver' in window) {
3980
+ this.resizeObserver = new ResizeObserver(entries => {
3981
+ for (const entry of entries) {
3982
+ this.observedWidth = Math.round(entry.contentRect.width);
3983
+ if (this.resizeObserver) {
3984
+ this.resizeObserver.disconnect();
3985
+ this.resizeObserver = undefined;
3986
+ }
3987
+ // Trigger re-render with optimized sizes
3988
+ this.isLoaded = this.isLoaded;
3989
+ }
3990
+ });
3991
+ this.resizeObserver.observe(this.hostElement);
3992
+ }
3993
+ }
3994
+ disconnectedCallback() {
3995
+ if (this.resizeObserver) {
3996
+ this.resizeObserver.disconnect();
3997
+ this.resizeObserver = undefined;
3998
+ }
3999
+ }
4000
+ render() {
4001
+ const sizes = this.getOptimalSizes();
4002
+ if (this.hasError && this.showFallback) {
4003
+ return (hAsync("div", { class: "fallback-container" }, hAsync("pennlibs-fallback-img", null)));
4004
+ }
4005
+ const imgClasses = {
4006
+ 'iiif-img': true,
4007
+ 'loaded': this.isLoaded
4008
+ };
4009
+ const defaultSize = sizes[0];
4010
+ return (hAsync("picture", null, hAsync("source", { type: "image/webp", srcSet: this.generateSrcset(sizes, 'webp'), sizes: "100vw" }), hAsync("img", { class: imgClasses, src: this.buildIIIFUrl(defaultSize, 'jpg'), srcSet: this.generateSrcset(sizes, 'jpg'), sizes: "100vw", alt: this.alt, loading: this.loading, onLoad: this.handleLoad, onError: this.handleError })));
4011
+ }
4012
+ get hostElement() { return getElement(this); }
4013
+ static get style() { return pennlibsIiifImgCss; }
4014
+ static get cmpMeta() { return {
4015
+ "$flags$": 265,
4016
+ "$tagName$": "pennlibs-iiif-img",
4017
+ "$members$": {
4018
+ "uuid": [1],
4019
+ "alt": [1],
4020
+ "region": [1],
4021
+ "rotation": [1],
4022
+ "quality": [1],
4023
+ "loading": [1],
4024
+ "showFallback": [4, "show-fallback"],
4025
+ "isLoaded": [32],
4026
+ "hasError": [32]
4027
+ },
4028
+ "$listeners$": undefined,
4029
+ "$lazyBundleId$": "-",
4030
+ "$attrsToReflect$": []
4031
+ }; }
4032
+ }
4033
+
3759
4034
  const pennlibsFallbackImgCss = ":host{font-family:var(--pl-font-family);font-size:var(--pl-font-size);display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--pl-color-bg-subtle);aspect-ratio:3/2}.no-image__img{width:100%;max-width:150px;filter:grayscale(1) opacity(0.3)}";
3760
4035
 
3761
4036
  class NoImage {
@@ -3769,7 +4044,7 @@ class NoImage {
3769
4044
  static get assetsDirs() { return ["assets"]; }
3770
4045
  static get style() { return pennlibsFallbackImgCss; }
3771
4046
  static get cmpMeta() { return {
3772
- "$flags$": 9,
4047
+ "$flags$": 265,
3773
4048
  "$tagName$": "pennlibs-fallback-img",
3774
4049
  "$members$": undefined,
3775
4050
  "$listeners$": undefined,
@@ -3829,7 +4104,7 @@ class PennlibsFeedback {
3829
4104
  }
3830
4105
  static get style() { return pennlibsFeedbackCss; }
3831
4106
  static get cmpMeta() { return {
3832
- "$flags$": 9,
4107
+ "$flags$": 265,
3833
4108
  "$tagName$": "pennlibs-feedback",
3834
4109
  "$members$": {
3835
4110
  "error": [32],
@@ -3848,6 +4123,7 @@ registerComponents([
3848
4123
  Footer,
3849
4124
  Header,
3850
4125
  Hero,
4126
+ IIIFImg,
3851
4127
  NoImage,
3852
4128
  PennlibsFeedback,
3853
4129
  ]);
@@ -3901,7 +4177,7 @@ var BUILD = {
3901
4177
  vdomRender: true,
3902
4178
  vdomStyle: true,
3903
4179
  vdomText: true,
3904
- watchCallback: true,
4180
+ propChangeCallback: true,
3905
4181
  taskQueue: true,
3906
4182
  hotModuleReplacement: false,
3907
4183
  isDebug: false,
@@ -3949,7 +4225,7 @@ var NAMESPACE = (
3949
4225
  );
3950
4226
 
3951
4227
  /*
3952
- Stencil Hydrate Runner v4.29.3 | MIT Licensed | https://stenciljs.com
4228
+ Stencil Hydrate Runner v4.38.1 | MIT Licensed | https://stenciljs.com
3953
4229
  */
3954
4230
  var __defProp = Object.defineProperty;
3955
4231
  var __export = (target, all) => {
@@ -3963,6 +4239,7 @@ var ORG_LOCATION_ID = "o";
3963
4239
  var SLOT_NODE_ID = "s";
3964
4240
  var TEXT_NODE_ID = "t";
3965
4241
  var HYDRATE_ID = "s-id";
4242
+ var HYDRATED_STYLE_ID = "sty-id";
3966
4243
  var STENCIL_DOC_DATA = "_stencilDocData";
3967
4244
  var XLINK_NS = "http://www.w3.org/1999/xlink";
3968
4245
 
@@ -4673,8 +4950,21 @@ function triggerEventListener(elm, ev) {
4673
4950
  } else if (elm.parentElement == null && elm.tagName === "HTML") {
4674
4951
  triggerEventListener(elm.ownerDocument, ev);
4675
4952
  } else {
4676
- triggerEventListener(elm.parentElement, ev);
4953
+ const nextTarget = getNextEventTarget(elm, ev);
4954
+ triggerEventListener(nextTarget, ev);
4955
+ }
4956
+ }
4957
+ function getNextEventTarget(elm, ev) {
4958
+ if (elm.parentElement) {
4959
+ return elm.parentElement;
4960
+ }
4961
+ if (elm.host && ev.composed) {
4962
+ return elm.host;
4963
+ }
4964
+ if (ev.composed && elm.parentNode && elm.parentNode.host) {
4965
+ return elm.parentNode.host;
4677
4966
  }
4967
+ return null;
4678
4968
  }
4679
4969
  function dispatchEvent(currentTarget, ev) {
4680
4970
  ev.target = currentTarget;
@@ -14316,6 +14606,11 @@ function* streamToHtml(node, opts, output) {
14316
14606
  const mode = ` shadowrootmode="open"`;
14317
14607
  yield mode;
14318
14608
  output.currentLineWidth += mode.length;
14609
+ if (node.delegatesFocus) {
14610
+ const delegatesFocusAttr = " shadowrootdelegatesfocus";
14611
+ yield delegatesFocusAttr;
14612
+ output.currentLineWidth += delegatesFocusAttr.length;
14613
+ }
14319
14614
  }
14320
14615
  const attrsLength = node.attributes.length;
14321
14616
  const attributes = opts.prettyHtml && attrsLength > 1 ? cloneAttributes(node.attributes, true) : node.attributes;
@@ -14834,6 +15129,15 @@ var MockNode2 = class {
14834
15129
  set textContent(value) {
14835
15130
  this._nodeValue = String(value);
14836
15131
  }
15132
+ addEventListener(type, handler) {
15133
+ addEventListener(this, type, handler);
15134
+ }
15135
+ removeEventListener(type, handler) {
15136
+ removeEventListener(this, type, handler);
15137
+ }
15138
+ dispatchEvent(ev) {
15139
+ return dispatchEvent(this, ev);
15140
+ }
14837
15141
  };
14838
15142
  MockNode2.ELEMENT_NODE = 1;
14839
15143
  MockNode2.TEXT_NODE = 3;
@@ -14872,15 +15176,25 @@ var MockElement = class extends MockNode2 {
14872
15176
  addEventListener(this, type, handler);
14873
15177
  }
14874
15178
  attachShadow(_opts) {
15179
+ var _a2;
14875
15180
  const shadowRoot = this.ownerDocument.createDocumentFragment();
15181
+ shadowRoot.delegatesFocus = (_a2 = _opts.delegatesFocus) != null ? _a2 : false;
14876
15182
  this.shadowRoot = shadowRoot;
14877
15183
  return shadowRoot;
14878
15184
  }
14879
15185
  blur() {
14880
- dispatchEvent(
14881
- this,
14882
- new MockFocusEvent("blur", { relatedTarget: null, bubbles: true, cancelable: true, composed: true })
14883
- );
15186
+ if (isCurrentlyDispatching(this, "blur")) {
15187
+ return;
15188
+ }
15189
+ markAsDispatching(this, "blur");
15190
+ try {
15191
+ dispatchEvent(
15192
+ this,
15193
+ new MockFocusEvent("blur", { relatedTarget: null, bubbles: true, cancelable: true, composed: true })
15194
+ );
15195
+ } finally {
15196
+ unmarkAsDispatching(this, "blur");
15197
+ }
14884
15198
  }
14885
15199
  get localName() {
14886
15200
  if (!this.nodeName) {
@@ -15622,6 +15936,28 @@ function setTextContent(elm, text) {
15622
15936
  const textNode = new MockTextNode(elm.ownerDocument, text);
15623
15937
  elm.appendChild(textNode);
15624
15938
  }
15939
+ var currentlyDispatching = /* @__PURE__ */ new WeakMap();
15940
+ function isCurrentlyDispatching(target, eventType) {
15941
+ const dispatchingEvents = currentlyDispatching.get(target);
15942
+ return dispatchingEvents != null && dispatchingEvents.has(eventType);
15943
+ }
15944
+ function markAsDispatching(target, eventType) {
15945
+ let dispatchingEvents = currentlyDispatching.get(target);
15946
+ if (dispatchingEvents == null) {
15947
+ dispatchingEvents = /* @__PURE__ */ new Set();
15948
+ currentlyDispatching.set(target, dispatchingEvents);
15949
+ }
15950
+ dispatchingEvents.add(eventType);
15951
+ }
15952
+ function unmarkAsDispatching(target, eventType) {
15953
+ const dispatchingEvents = currentlyDispatching.get(target);
15954
+ if (dispatchingEvents != null) {
15955
+ dispatchingEvents.delete(eventType);
15956
+ if (dispatchingEvents.size === 0) {
15957
+ currentlyDispatching.delete(target);
15958
+ }
15959
+ }
15960
+ }
15625
15961
 
15626
15962
  // src/mock-doc/comment-node.ts
15627
15963
  var MockComment = class _MockComment extends MockNode2 {
@@ -15649,6 +15985,12 @@ var MockDocumentFragment = class _MockDocumentFragment extends MockHTMLElement {
15649
15985
  getElementById(id) {
15650
15986
  return getElementById(this, id);
15651
15987
  }
15988
+ get adoptedStyleSheets() {
15989
+ return [];
15990
+ }
15991
+ set adoptedStyleSheets(_adoptedStyleSheets) {
15992
+ throw new Error("Unimplemented");
15993
+ }
15652
15994
  cloneNode(deep) {
15653
15995
  const cloned = new _MockDocumentFragment(null);
15654
15996
  if (deep) {
@@ -15697,7 +16039,9 @@ var MockCSSStyleSheet = class {
15697
16039
  deleteRule(index) {
15698
16040
  if (index >= 0 && index < this.cssRules.length) {
15699
16041
  this.cssRules.splice(index, 1);
15700
- updateStyleTextNode(this.ownerNode);
16042
+ if (this.ownerNode) {
16043
+ updateStyleTextNode(this.ownerNode);
16044
+ }
15701
16045
  }
15702
16046
  }
15703
16047
  insertRule(rule, index = 0) {
@@ -15713,9 +16057,23 @@ var MockCSSStyleSheet = class {
15713
16057
  const cssRule = new MockCSSRule(this);
15714
16058
  cssRule.cssText = rule;
15715
16059
  this.cssRules.splice(index, 0, cssRule);
15716
- updateStyleTextNode(this.ownerNode);
16060
+ if (this.ownerNode) {
16061
+ updateStyleTextNode(this.ownerNode);
16062
+ }
15717
16063
  return index;
15718
16064
  }
16065
+ replaceSync(cssText) {
16066
+ this.cssRules = [];
16067
+ const rules = cssText.split("}").map((rule) => rule.trim()).filter(Boolean).map((rule) => rule + "}");
16068
+ for (const rule of rules) {
16069
+ const cssRule = new MockCSSRule(this);
16070
+ cssRule.cssText = rule;
16071
+ this.cssRules.push(cssRule);
16072
+ }
16073
+ if (this.ownerNode) {
16074
+ updateStyleTextNode(this.ownerNode);
16075
+ }
16076
+ }
15719
16077
  };
15720
16078
  function getStyleElementText(styleElm) {
15721
16079
  const output = [];
@@ -16754,9 +17112,11 @@ var WINDOW_PROPS = [
16754
17112
  "NodeList",
16755
17113
  "FocusEvent",
16756
17114
  "KeyboardEvent",
16757
- "MouseEvent"
17115
+ "MouseEvent",
17116
+ "CSSStyleSheet"
16758
17117
  ];
16759
17118
  var GLOBAL_CONSTRUCTORS = [
17119
+ ["CSSStyleSheet", MockCSSStyleSheet],
16760
17120
  ["CustomEvent", MockCustomEvent],
16761
17121
  ["DocumentFragment", MockDocumentFragment],
16762
17122
  ["DOMParser", MockDOMParser],
@@ -16964,12 +17324,6 @@ var MockShadowRoot = class extends MockDocumentFragment {
16964
17324
  get activeElement() {
16965
17325
  return null;
16966
17326
  }
16967
- set adoptedStyleSheets(_adoptedStyleSheets) {
16968
- throw new Error("Unimplemented");
16969
- }
16970
- get adoptedStyleSheets() {
16971
- return [];
16972
- }
16973
17327
  get cloneable() {
16974
17328
  return false;
16975
17329
  }
@@ -17773,7 +18127,7 @@ var MockDocument = class _MockDocument extends MockHTMLElement {
17773
18127
  }
17774
18128
  set location(val) {
17775
18129
  if (this.defaultView != null) {
17776
- this.defaultView.location = val;
18130
+ this.defaultView.location.href = val;
17777
18131
  }
17778
18132
  }
17779
18133
  get baseURI() {
@@ -18548,6 +18902,9 @@ var _colonHostContextRe = createSupportsRuleRe(":host-context");
18548
18902
  var setMode = (handler) => modeResolutionChain.push(handler);
18549
18903
  var CAPTURE_EVENT_SUFFIX = "Capture";
18550
18904
  var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
18905
+ var baseClass = BUILD.lazyLoad ? class {
18906
+ } : globalThis.HTMLElement || class {
18907
+ };
18551
18908
 
18552
18909
  // src/compiler/html/canonical-link.ts
18553
18910
  var updateCanonicalLink = (doc, href) => {
@@ -19738,6 +20095,7 @@ function renderToString(html, options, asStream) {
19738
20095
  }
19739
20096
  function hydrateDocument(doc, options, asStream) {
19740
20097
  const opts = normalizeHydrateOptions(options);
20098
+ opts.serializeShadowRoot = typeof opts.serializeShadowRoot === "undefined" ? "declarative-shadow-dom" : opts.serializeShadowRoot;
19741
20099
  let win2 = null;
19742
20100
  const results = generateHydrateResults(opts);
19743
20101
  if (hasError(results.diagnostics)) {
@@ -19749,7 +20107,7 @@ function hydrateDocument(doc, options, asStream) {
19749
20107
  opts.destroyDocument = true;
19750
20108
  win2 = new MockWindow(doc);
19751
20109
  if (!asStream) {
19752
- return render(win2, opts, results).then(() => results);
20110
+ return render2(win2, opts, results).then(() => results);
19753
20111
  }
19754
20112
  return renderStream(win2, opts, results);
19755
20113
  } catch (e) {
@@ -19766,7 +20124,7 @@ function hydrateDocument(doc, options, asStream) {
19766
20124
  opts.destroyDocument = false;
19767
20125
  win2 = patchDomImplementation(doc, opts);
19768
20126
  if (!asStream) {
19769
- return render(win2, opts, results).then(() => results);
20127
+ return render2(win2, opts, results).then(() => results);
19770
20128
  }
19771
20129
  return renderStream(win2, opts, results);
19772
20130
  } catch (e) {
@@ -19781,7 +20139,7 @@ function hydrateDocument(doc, options, asStream) {
19781
20139
  renderBuildError(results, `Invalid html or document. Must be either a valid "html" string, or DOM "document".`);
19782
20140
  return Promise.resolve(results);
19783
20141
  }
19784
- async function render(win2, opts, results) {
20142
+ async function render2(win2, opts, results) {
19785
20143
  if ("process" in globalThis && typeof process.on === "function" && !process.__stencilErrors) {
19786
20144
  process.__stencilErrors = true;
19787
20145
  process.on("unhandledRejection", (e) => {
@@ -19806,7 +20164,7 @@ async function render(win2, opts, results) {
19806
20164
  }
19807
20165
  function renderStream(win2, opts, results) {
19808
20166
  async function* processRender() {
19809
- const renderResult = await render(win2, opts, results);
20167
+ const renderResult = await render2(win2, opts, results);
19810
20168
  yield renderResult.html;
19811
20169
  }
19812
20170
  return stream.Readable.from(processRender());
@@ -19842,6 +20200,16 @@ function finalizeHydrate(win2, doc, opts, results) {
19842
20200
  if (opts.removeScripts) {
19843
20201
  removeScripts(doc.documentElement);
19844
20202
  }
20203
+ const styles2 = doc.querySelectorAll("head style");
20204
+ if (styles2.length > 0) {
20205
+ results.styles.push(
20206
+ ...Array.from(styles2).map((style) => ({
20207
+ href: style.getAttribute("href"),
20208
+ id: style.getAttribute(HYDRATED_STYLE_ID),
20209
+ content: style.textContent
20210
+ }))
20211
+ );
20212
+ }
19845
20213
  try {
19846
20214
  updateCanonicalLink(doc, opts.canonicalUrl);
19847
20215
  } catch (e) {