imdhemy-jekyll-theme 1.7.1 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 96a8b5ca0409b922853d963a92e25265e8eb75cd60c647681167b4f9db5479bc
4
- data.tar.gz: c961cb1eb0087a5c130299c27fbf8dfe1924797e3a7cc93bc396f79e49552913
3
+ metadata.gz: 036ec62d7fa157bc2c32840122f2ca98346039907ac037b728e578e069a60086
4
+ data.tar.gz: 7c113676a939372747ebcb9ba941aa1661250f6823b3ec00d492397e9a1d3f4b
5
5
  SHA512:
6
- metadata.gz: 3ae0bde31859540b805aa65143e97a954060b9783f9a5145d3f058223ee6fec7e58098d388a7989a7d43e269854fab23ef53ed587e72875a2401f499dbbb642f
7
- data.tar.gz: 88a2c30e60bba20b181d8ab0e46e77569db3dccb05204e6c4420733acab0a4ab797a4ac860d022fb2d33886a08d40db2a3c35807af70f88ef1f8e86ca16939ab
6
+ metadata.gz: 1029997b2338459b4c7983dc44ad581fad2ebbd15632fb9073df302e3d61ddb999b3dc70fa333eaf0a0673231d6e8f7bb0a724955f9457534714f77e80f3100f
7
+ data.tar.gz: 30131546355dd7723b365c79e8bc35580704985140159d219b8786accc2e0fed1cc3229baebc53e2ad788cc53c5efa8c55e0210378bf060e280439865b7a0be3
@@ -0,0 +1,92 @@
1
+ {% if site.certificates.size > 0 %}
2
+ {% assign certificates_title = site.theme_text.certificates_title | default: "Certificates" %}
3
+ {% assign certificates_subtitle = site.theme_text.certificates_subtitle | default: "Credentials and professional learning milestones." %}
4
+ <section class="certificates" id="certificates">
5
+ <div class="certificates__container">
6
+ <div class="certificates__inner">
7
+ <h2 class="certificates__title">{{ certificates_title }}</h2>
8
+ <p class="section-subtitle">{{ certificates_subtitle }}</p>
9
+
10
+ <div class="certificates__grid">
11
+ {% for certificate in site.certificates %}
12
+ {% if certificate.image %}
13
+ {% assign modal_id = "certificate-modal-" | append: forloop.index %}
14
+ {% assign modal_title_id = modal_id | append: "-title" %}
15
+ {% assign certificate_title = certificate.title | default: "Certificate" %}
16
+ {% assign issuer_logo_alt = "" %}
17
+ {% unless certificate.issuer %}
18
+ {% assign issuer_logo_alt = "Issuer logo" %}
19
+ {% endunless %}
20
+ <article class="certificate-card">
21
+ <button class="certificate-card__image-button"
22
+ type="button"
23
+ aria-label="Preview {{ certificate_title }}"
24
+ aria-haspopup="dialog"
25
+ aria-controls="{{ modal_id }}"
26
+ data-certificate-open="{{ modal_id }}">
27
+ <span class="certificate-card__image-frame">
28
+ <img class="certificate-card__image"
29
+ src="{{ certificate.image | relative_url }}"
30
+ alt="">
31
+ </span>
32
+ </button>
33
+
34
+ <div class="certificate-card__body">
35
+ <h3 class="certificate-card__title">{{ certificate_title }}</h3>
36
+
37
+ <div class="certificate-card__issuer">
38
+ {% if certificate.issuer_logo %}
39
+ <img class="certificate-card__issuer-logo"
40
+ src="{{ certificate.issuer_logo | relative_url }}"
41
+ alt="{{ issuer_logo_alt }}"
42
+ width="44"
43
+ height="22">
44
+ {% endif %}
45
+ <div class="certificate-card__issuer-text">
46
+ {% if certificate.issuer %}
47
+ <span class="certificate-card__issuer-name">{{ certificate.issuer }}</span>
48
+ {% endif %}
49
+ {% if certificate.issue_date %}
50
+ <span class="certificate-card__date">{{ certificate.issue_date }}</span>
51
+ {% endif %}
52
+ </div>
53
+ </div>
54
+
55
+ {% if certificate.credential_url %}
56
+ <a class="certificate-card__credential-link"
57
+ href="{{ certificate.credential_url }}"
58
+ target="_blank"
59
+ rel="noopener noreferrer">
60
+ View credential
61
+ <span aria-hidden="true">&rarr;</span>
62
+ </a>
63
+ {% endif %}
64
+ </div>
65
+ </article>
66
+
67
+ <dialog class="certificate-modal"
68
+ id="{{ modal_id }}"
69
+ aria-labelledby="{{ modal_title_id }}"
70
+ data-certificate-modal>
71
+ <div class="certificate-modal__inner">
72
+ <div class="certificate-modal__header">
73
+ <h3 class="certificate-modal__title" id="{{ modal_title_id }}">{{ certificate_title }}</h3>
74
+ <button class="certificate-modal__close"
75
+ type="button"
76
+ aria-label="Close certificate preview"
77
+ data-certificate-close>
78
+ <ion-icon name="close" aria-hidden="true"></ion-icon>
79
+ </button>
80
+ </div>
81
+ <img class="certificate-modal__image"
82
+ src="{{ certificate.image | relative_url }}"
83
+ alt="{{ certificate.image_alt | default: certificate_title }}">
84
+ </div>
85
+ </dialog>
86
+ {% endif %}
87
+ {% endfor %}
88
+ </div>
89
+ </div>
90
+ </div>
91
+ </section>
92
+ {% endif %}
data/_layouts/home.html CHANGED
@@ -5,6 +5,8 @@ layout: default
5
5
 
6
6
  {% include contributions.html %}
7
7
 
8
+ {% include certificates.html %}
9
+
8
10
  {% include testimonials.html %}
9
11
 
10
12
  {% include latest-posts.html %}
@@ -56,6 +56,7 @@
56
56
  .site-header__container,
57
57
  .hero-section__container,
58
58
  .latest-posts__container,
59
+ .certificates__container,
59
60
  .contributions__container,
60
61
  .testimonials__container,
61
62
  .page-header-wrap__container {
@@ -111,6 +112,9 @@
111
112
  .nav-link:focus-visible,
112
113
  .primary-button:focus-visible,
113
114
  .secondary-button:focus-visible,
115
+ .certificate-card__image-button:focus-visible,
116
+ .certificate-card__credential-link:focus-visible,
117
+ .certificate-modal__close:focus-visible,
114
118
  .site-logo:focus-visible,
115
119
  .post-back-link:focus-visible,
116
120
  .post-card__title-link:focus-visible,
@@ -487,12 +491,14 @@
487
491
  }
488
492
 
489
493
  .latest-posts,
494
+ .certificates,
490
495
  .contributions,
491
496
  .testimonials {
492
497
  margin-bottom: 2rem;
493
498
  }
494
499
 
495
500
  .latest-posts__inner,
501
+ .certificates__inner,
496
502
  .contributions__inner,
497
503
  .testimonials__inner {
498
504
  padding: 1.25rem;
@@ -503,6 +509,7 @@
503
509
  }
504
510
 
505
511
  .latest-posts__title,
512
+ .certificates__title,
506
513
  .contributions__title,
507
514
  .testimonials__title {
508
515
  margin-bottom: 2rem;
@@ -1433,12 +1440,213 @@
1433
1440
  }
1434
1441
 
1435
1442
  .contributions__grid,
1443
+ .certificates__grid,
1436
1444
  .testimonials__grid {
1437
1445
  display: grid;
1438
1446
  grid-template-columns: 1fr;
1439
1447
  gap: 1.25rem;
1440
1448
  }
1441
1449
 
1450
+ .certificates__grid {
1451
+ gap: 1rem;
1452
+ }
1453
+
1454
+ .certificate-card {
1455
+ display: flex;
1456
+ min-width: 0;
1457
+ height: 100%;
1458
+ flex-direction: column;
1459
+ overflow: hidden;
1460
+ border: 1px solid color-mix(in srgb, var(--color-border) 72%, #ffffff 28%);
1461
+ border-radius: 0.5rem;
1462
+ background: color-mix(in srgb, var(--color-surface) 96%, var(--color-brand-surface) 4%);
1463
+ }
1464
+
1465
+ .certificate-card__image-button {
1466
+ position: relative;
1467
+ display: flex;
1468
+ align-items: center;
1469
+ justify-content: center;
1470
+ width: 100%;
1471
+ min-height: 14rem;
1472
+ padding: 1rem;
1473
+ border: 0;
1474
+ border-bottom: 1px solid color-mix(in srgb, var(--color-border) 68%, #ffffff 32%);
1475
+ background:
1476
+ linear-gradient(135deg, color-mix(in srgb, var(--color-brand-surface) 58%, #ffffff 42%), #ffffff);
1477
+ cursor: zoom-in;
1478
+ }
1479
+
1480
+ .certificate-card__image-button:hover .certificate-card__image-frame,
1481
+ .certificate-card__image-button:focus-visible .certificate-card__image-frame {
1482
+ transform: translateY(-2px);
1483
+ }
1484
+
1485
+ .certificate-card__image-frame {
1486
+ display: flex;
1487
+ align-items: center;
1488
+ justify-content: center;
1489
+ width: min(100%, 24rem);
1490
+ aspect-ratio: 1.414 / 1;
1491
+ padding: 0.45rem;
1492
+ border: 1px solid color-mix(in srgb, var(--color-border) 70%, #ffffff 30%);
1493
+ border-radius: 0.35rem;
1494
+ background: #ffffff;
1495
+ transition: transform 0.2s ease;
1496
+ }
1497
+
1498
+ .certificate-card__image {
1499
+ display: block;
1500
+ width: 100%;
1501
+ height: 100%;
1502
+ object-fit: contain;
1503
+ }
1504
+
1505
+ .certificate-card__body {
1506
+ display: flex;
1507
+ flex: 1;
1508
+ flex-direction: column;
1509
+ gap: 1.1rem;
1510
+ padding: 1.1rem;
1511
+ }
1512
+
1513
+ .certificate-card__title {
1514
+ margin: 0;
1515
+ font-size: var(--font-heading-sm-size);
1516
+ font-weight: var(--font-weight-semibold);
1517
+ line-height: var(--font-heading-sm-line-height);
1518
+ color: var(--color-text);
1519
+ }
1520
+
1521
+ .certificate-card__issuer {
1522
+ display: flex;
1523
+ align-items: center;
1524
+ gap: 0.75rem;
1525
+ min-width: 0;
1526
+ }
1527
+
1528
+ .certificate-card__issuer-logo {
1529
+ display: block;
1530
+ flex: 0 0 auto;
1531
+ width: 2.75rem;
1532
+ height: 1.35rem;
1533
+ object-fit: contain;
1534
+ }
1535
+
1536
+ .certificate-card__issuer-text {
1537
+ display: flex;
1538
+ min-width: 0;
1539
+ flex-direction: column;
1540
+ gap: 0.1rem;
1541
+ }
1542
+
1543
+ .certificate-card__issuer-name {
1544
+ font-size: var(--font-text-sm-size);
1545
+ font-weight: var(--font-weight-medium);
1546
+ line-height: var(--font-text-sm-line-height);
1547
+ color: var(--color-text);
1548
+ }
1549
+
1550
+ .certificate-card__date {
1551
+ font-size: var(--font-text-sm-size);
1552
+ line-height: var(--font-text-sm-line-height);
1553
+ color: var(--color-muted);
1554
+ }
1555
+
1556
+ .certificate-card__credential-link {
1557
+ display: inline-flex;
1558
+ align-items: center;
1559
+ gap: 0.35rem;
1560
+ align-self: flex-start;
1561
+ min-height: 2.75rem;
1562
+ margin-top: auto;
1563
+ padding: 0.65rem 0;
1564
+ border-radius: 999px;
1565
+ font-size: var(--font-text-sm-size);
1566
+ font-weight: var(--font-weight-medium);
1567
+ line-height: 1;
1568
+ color: var(--color-brand);
1569
+ background: transparent;
1570
+ }
1571
+
1572
+ .certificate-card__credential-link:hover {
1573
+ color: var(--color-brand-strong);
1574
+ }
1575
+
1576
+ .certificate-modal {
1577
+ width: min(100% - 2rem, 960px);
1578
+ max-height: min(100% - 2rem, 860px);
1579
+ margin: auto;
1580
+ padding: 0;
1581
+ border: 1px solid color-mix(in srgb, var(--color-border) 75%, #ffffff 25%);
1582
+ border-radius: 0.5rem;
1583
+ color: var(--color-text);
1584
+ background: var(--color-surface);
1585
+ box-shadow: 0 24px 80px -32px rgba(15, 23, 42, 0.65);
1586
+ }
1587
+
1588
+ .certificate-modal:not([open]) {
1589
+ display: none;
1590
+ }
1591
+
1592
+ .certificate-modal[open] {
1593
+ display: block;
1594
+ }
1595
+
1596
+ .certificate-modal::backdrop {
1597
+ background: rgba(15, 23, 42, 0.68);
1598
+ }
1599
+
1600
+ .certificate-modal__inner {
1601
+ display: flex;
1602
+ max-height: inherit;
1603
+ flex-direction: column;
1604
+ overflow: hidden;
1605
+ }
1606
+
1607
+ .certificate-modal__header {
1608
+ display: flex;
1609
+ align-items: center;
1610
+ justify-content: space-between;
1611
+ gap: 1rem;
1612
+ padding: 0.85rem 0.85rem 0.85rem 1rem;
1613
+ border-bottom: 1px solid color-mix(in srgb, var(--color-border) 75%, #ffffff 25%);
1614
+ }
1615
+
1616
+ .certificate-modal__title {
1617
+ margin: 0;
1618
+ font-size: var(--font-heading-xs-size);
1619
+ font-weight: var(--font-weight-semibold);
1620
+ line-height: var(--font-heading-xs-line-height);
1621
+ }
1622
+
1623
+ .certificate-modal__close {
1624
+ display: inline-flex;
1625
+ align-items: center;
1626
+ justify-content: center;
1627
+ flex: 0 0 auto;
1628
+ width: 2.75rem;
1629
+ height: 2.75rem;
1630
+ border: 0;
1631
+ border-radius: 0.5rem;
1632
+ color: var(--color-text);
1633
+ background: transparent;
1634
+ }
1635
+
1636
+ .certificate-modal__close ion-icon {
1637
+ font-size: 1.5rem;
1638
+ }
1639
+
1640
+ .certificate-modal__image {
1641
+ display: block;
1642
+ width: 100%;
1643
+ max-height: calc(100vh - 8rem);
1644
+ padding: 1rem;
1645
+ object-fit: contain;
1646
+ background:
1647
+ linear-gradient(135deg, color-mix(in srgb, var(--color-brand-surface) 52%, #ffffff 48%), #ffffff);
1648
+ }
1649
+
1442
1650
  .contributions__item {
1443
1651
  display: flex;
1444
1652
  flex-direction: column;
@@ -1925,6 +2133,12 @@
1925
2133
  }
1926
2134
  }
1927
2135
 
2136
+ @media (min-width: 768px) {
2137
+ .certificates__grid {
2138
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2139
+ }
2140
+ }
2141
+
1928
2142
  @media (min-width: 1024px) {
1929
2143
  .page-header-wrap--blog .page-header-wrap__container,
1930
2144
  .page-header-wrap--archive .page-header-wrap__container,
@@ -1974,6 +2188,7 @@
1974
2188
  }
1975
2189
 
1976
2190
  .latest-posts__inner,
2191
+ .certificates__inner,
1977
2192
  .contributions__inner,
1978
2193
  .testimonials__inner {
1979
2194
  padding: 1.25rem;
@@ -2104,6 +2319,7 @@
2104
2319
  }
2105
2320
 
2106
2321
  .contributions__grid,
2322
+ .certificates__grid,
2107
2323
  .testimonials__grid {
2108
2324
  grid-template-columns: repeat(3, minmax(0, 1fr));
2109
2325
  }
@@ -1 +1 @@
1
- (function(){var e,t=()=>{if(typeof window>`u`)return new Map;if(!e){let t=window;t.Ionicons=t.Ionicons||{},e=t.Ionicons.map=t.Ionicons.map||new Map}return e},n=e=>{Object.keys(e).forEach(t=>{r(t,e[t]);let n=t.replace(/([a-z0-9]|(?=[A-Z]))([A-Z0-9])/g,`$1-$2`).toLowerCase();t!==n&&r(n,e[t])})},r=(e,n)=>{let r=t(),i=r.get(e);i===void 0?r.set(e,n):i!==n&&console.warn(`[Ionicons Warning]: Multiple icons were mapped to name "${e}". Ensure that multiple icons are not mapped to the same icon name.`)},i=`ionicons`,a={hydratedSelectorName:`hydrated`,lazyLoad:!1,updatable:!0},o=Object.defineProperty,s=(e,t)=>{for(var n in t)o(e,n,{get:t[n],enumerable:!0})},c=e=>{if(e.__stencil__getHostRef)return e.__stencil__getHostRef()},l=(e,t)=>{let n={$flags$:0,$hostElement$:e,$cmpMeta$:t,$instanceValues$:new Map};n.$onReadyPromise$=new Promise(e=>n.$onReadyResolve$=e),e[`s-p`]=[],e[`s-rc`]=[];let r=n;return e.__stencil__getHostRef=()=>r,r},u=(e,t)=>t in e,d=(e,t)=>(0,console.error)(e,t),f=new Map,p=`slot-fb{display:contents}slot-fb[hidden]{display:none}`,m=`http://www.w3.org/1999/xlink`,h=typeof window<`u`?window:{},g=h.HTMLElement||class{},_={$flags$:0,$resourcesUrl$:``,jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,r)=>e.addEventListener(t,n,r),rel:(e,t,n,r)=>e.removeEventListener(t,n,r),ce:(e,t)=>new CustomEvent(e,t)},ee=e=>Promise.resolve(e),te=(()=>{try{return new CSSStyleSheet,typeof new CSSStyleSheet().replaceSync==`function`}catch{}return!1})(),v=!1,ne=[],re=[],ie=(e,t)=>n=>{e.push(n),v||(v=!0,t&&_.$flags$&4?x(b):_.raf(b))},y=e=>{for(let t=0;t<e.length;t++)try{e[t](performance.now())}catch(e){d(e)}e.length=0},b=()=>{y(ne),y(re),(v=ne.length>0)&&_.raf(b)},x=e=>ee().then(e),ae=ie(re,!0),oe=e=>{let t=new URL(e,_.$resourcesUrl$);return t.origin===h.location.origin?t.pathname:t.href},S=e=>(e=typeof e,e===`object`||e===`function`);function se(e){return(e.head?.querySelector(`meta[name="csp-nonce"]`))?.getAttribute(`content`)??void 0}var ce=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);s({},{err:()=>le,map:()=>ue,ok:()=>C,unwrap:()=>de,unwrapErr:()=>fe});var C=e=>({isOk:!0,isErr:!1,value:e}),le=e=>({isOk:!1,isErr:!0,value:e});function ue(e,t){if(e.isOk){let n=t(e.value);return n instanceof Promise?n.then(e=>C(e)):C(n)}if(e.isErr){let t=e.value;return le(t)}throw`should never get here`}var de=e=>{if(e.isOk)return e.value;throw e.value},fe=e=>{if(e.isErr)return e.value;throw e.value},w;function pe(e){let t=this.attachShadow({mode:`open`});w===void 0&&(w=null),w&&t.adoptedStyleSheets.push(w)}var T=(e,t=``)=>()=>{},E=new WeakMap,me=(e,t,n)=>{let r=f.get(e);te&&n?(r||=new CSSStyleSheet,typeof r==`string`?r=t:r.replaceSync(t)):r=t,f.set(e,r)},he=(e,t,n)=>{let r=_e(t),i=f.get(r);if(!h.document)return r;if(e=e.nodeType===11?e:h.document,i)if(typeof i==`string`){e=e.head||e;let n=E.get(e),a;if(n||E.set(e,n=new Set),!n.has(r)){{a=h.document.createElement(`style`),a.innerHTML=i;let n=_.$nonce$??se(h.document);if(n!=null&&a.setAttribute(`nonce`,n),!(t.$flags$&1))if(e.nodeName===`HEAD`){let t=e.querySelectorAll(`link[rel=preconnect]`),n=t.length>0?t[t.length-1].nextSibling:e.querySelector(`style`);e.insertBefore(a,n?.parentNode===e?n:null)}else if(`host`in e)if(te){let t=new CSSStyleSheet;t.replaceSync(i),e.adoptedStyleSheets.unshift(t)}else{let t=e.querySelector(`style`);t?t.innerHTML=i+t.innerHTML:e.prepend(a)}else e.append(a);t.$flags$&1&&e.insertBefore(a,null)}t.$flags$&4&&(a.innerHTML+=p),n&&n.add(r)}}else e.adoptedStyleSheets.includes(i)||e.adoptedStyleSheets.push(i);return r},ge=e=>{let t=e.$cmpMeta$,n=e.$hostElement$,r=t.$flags$,i=T(`attachStyles`,t.$tagName$),a=he(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);r&10&&(n[`s-sc`]=a,n.classList.add(a+`-h`)),i()},_e=(e,t)=>`sc-`+e.$tagName$,D=(e,t,...n)=>{let r=null,i=null,a=!1,o=!1,s=[],c=t=>{for(let n=0;n<t.length;n++)r=t[n],Array.isArray(r)?c(r):r!=null&&typeof r!=`boolean`&&((a=typeof e!=`function`&&!S(r))&&(r=String(r)),a&&o?s[s.length-1].$text$+=r:s.push(a?O(null,r):r),o=a)};if(c(n),t){t.key&&(i=t.key);{let e=t.className||t.class;e&&(t.class=typeof e==`object`?Object.keys(e).filter(t=>e[t]).join(` `):e)}}let l=O(e,null);return l.$attrs$=t,s.length>0&&(l.$children$=s),l.$key$=i,l},O=(e,t)=>{let n={$flags$:0,$tag$:e,$text$:t,$elm$:null,$children$:null};return n.$attrs$=null,n.$key$=null,n},ve={},ye=e=>e&&e.$tag$===ve,k=e=>{let t=ce(e);return RegExp(`(^|[^@]|@(?!supports\\s+selector\\s*\\([^{]*?${t}))(${t}\\b)`,`g`)};k(`::slotted`),k(`:host`),k(`:host-context`);var be=(e,t,n)=>e!=null&&!S(e)?t&4?e===`false`?!1:e===``||!!e:t&1?String(e):e:e,xe=(e,t,n)=>{let r=_.ce(t,n);return e.dispatchEvent(r),r},A=(e,t,n,r,i,a,o)=>{if(n===r)return;let s=u(e,t),c=t.toLowerCase();if(t===`class`){let t=e.classList,i=j(n),a=j(r);t.remove(...i.filter(e=>e&&!a.includes(e))),t.add(...a.filter(e=>e&&!i.includes(e)))}else if(t===`style`){for(let t in n)(!r||r[t]==null)&&(t.includes(`-`)?e.style.removeProperty(t):e.style[t]=``);for(let t in r)(!n||r[t]!==n[t])&&(t.includes(`-`)?e.style.setProperty(t,r[t]):e.style[t]=r[t])}else if(t!==`key`)if(t===`ref`)r&&r(e);else if(!e.__lookupSetter__(t)&&t[0]===`o`&&t[1]===`n`){if(t=t[2]===`-`?t.slice(3):u(h,c)?c.slice(2):c[2]+t.slice(3),n||r){let i=t.endsWith(M);t=t.replace(Ce,``),n&&_.rel(e,t,n,i),r&&_.ael(e,t,r,i)}}else{let o=S(r);if(s||o&&r!==null)try{if(e.tagName.includes(`-`))e[t]!==r&&(e[t]=r);else{let i=r??``;t===`list`?s=!1:(n==null||e[t]!=i)&&(typeof e.__lookupSetter__(t)==`function`?e[t]=i:e.setAttribute(t,i))}}catch{}let l=!1;c!==(c=c.replace(/^xlink\:?/,``))&&(t=c,l=!0),r==null||r===!1?(r!==!1||e.getAttribute(t)===``)&&(l?e.removeAttributeNS(m,t):e.removeAttribute(t)):(!s||a&4||i)&&!o&&e.nodeType===1&&(r=r===!0?``:r,l?e.setAttributeNS(m,t,r):e.setAttribute(t,r))}},Se=/\s/,j=e=>(typeof e==`object`&&e&&`baseVal`in e&&(e=e.baseVal),!e||typeof e!=`string`?[]:e.split(Se)),M=`Capture`,Ce=RegExp(M+`$`),we=(e,t,n,r)=>{let i=t.$elm$.nodeType===11&&t.$elm$.host?t.$elm$.host:t.$elm$,a=e&&e.$attrs$||{},o=t.$attrs$||{};for(let e of Te(Object.keys(a)))e in o||A(i,e,a[e],void 0,n,t.$flags$);for(let e of Te(Object.keys(o)))A(i,e,a[e],o[e],n,t.$flags$)};function Te(e){return e.includes(`ref`)?[...e.filter(e=>e!==`ref`),`ref`]:e}var N,Ee=!1,P=(e,t,n)=>{let r=t.$children$[n],i=0,a,o;if(r.$text$!==null)a=r.$elm$=h.document.createTextNode(r.$text$);else{if(!h.document)throw Error("You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component.");if(a=r.$elm$=h.document.createElement(r.$tag$),we(null,r,Ee),r.$children$)for(i=0;i<r.$children$.length;++i)o=P(e,r,i),o&&a.appendChild(o)}return a[`s-hn`]=N,a},F=(e,t,n,r,i,a)=>{let o=e,s;for(o.shadowRoot&&o.tagName===N&&(o=o.shadowRoot);i<=a;++i)r[i]&&(s=P(null,n,i),s&&(r[i].$elm$=s,z(o,s,t)))},De=(e,t,n)=>{for(let r=t;r<=n;++r){let t=e[r];if(t){let e=t.$elm$;R(t),e&&e.remove()}}},Oe=(e,t,n,r,i=!1)=>{let a=0,o=0,s=0,c=0,l=t.length-1,u=t[0],d=t[l],f=r.length-1,p=r[0],m=r[f],h,g;for(;a<=l&&o<=f;)if(u==null)u=t[++a];else if(d==null)d=t[--l];else if(p==null)p=r[++o];else if(m==null)m=r[--f];else if(I(u,p,i))L(u,p,i),u=t[++a],p=r[++o];else if(I(d,m,i))L(d,m,i),d=t[--l],m=r[--f];else if(I(u,m,i))L(u,m,i),z(e,u.$elm$,d.$elm$.nextSibling),u=t[++a],m=r[--f];else if(I(d,p,i))L(d,p,i),z(e,d.$elm$,u.$elm$),d=t[--l],p=r[++o];else{for(s=-1,c=a;c<=l;++c)if(t[c]&&t[c].$key$!==null&&t[c].$key$===p.$key$){s=c;break}s>=0?(g=t[s],g.$tag$===p.$tag$?(L(g,p,i),t[s]=void 0,h=g.$elm$):h=P(t&&t[o],n,s),p=r[++o]):(h=P(t&&t[o],n,o),p=r[++o]),h&&z(u.$elm$.parentNode,h,u.$elm$)}a>l?F(e,r[f+1]==null?null:r[f+1].$elm$,n,r,o,f):o>f&&De(t,a,l)},I=(e,t,n=!1)=>e.$tag$===t.$tag$?n?(n&&!e.$key$&&t.$key$&&(e.$key$=t.$key$),!0):e.$key$===t.$key$:!1,L=(e,t,n=!1)=>{let r=t.$elm$=e.$elm$,i=e.$children$,o=t.$children$,s=t.$text$;s===null?(we(e,t,Ee),i!==null&&o!==null?Oe(r,i,t,o,n):o===null?!n&&a.updatable&&i!==null&&De(i,0,i.length-1):(e.$text$!==null&&(r.textContent=``),F(r,null,t,o,0,o.length-1))):e.$text$!==s&&(r.data=s)},R=e=>{e.$attrs$&&e.$attrs$.ref&&e.$attrs$.ref(null),e.$children$&&e.$children$.map(R)},z=(e,t,n)=>e?.insertBefore(t,n),ke=(e,t,n=!1)=>{let r=e.$hostElement$,i=e.$cmpMeta$,a=e.$vnode$||O(null,null),o=ye(t)?t:D(null,null,t);if(N=r.tagName,i.$attrsToReflect$&&(o.$attrs$=o.$attrs$||{},i.$attrsToReflect$.map(([e,t])=>o.$attrs$[t]=r[e])),n&&o.$attrs$)for(let e of Object.keys(o.$attrs$))r.hasAttribute(e)&&![`key`,`ref`,`style`,`class`].includes(e)&&(o.$attrs$[e]=r[e]);o.$tag$=null,o.$flags$|=4,e.$vnode$=o,o.$elm$=a.$elm$=r.shadowRoot||r,L(a,o,n)},B=(e,t)=>{if(t&&!e.$onRenderResolve$&&t[`s-p`]){let n=t[`s-p`].push(new Promise(r=>e.$onRenderResolve$=()=>{t[`s-p`].splice(n-1,1),r()}))}},V=(e,t)=>{if(e.$flags$|=16,e.$flags$&4){e.$flags$|=512;return}return B(e,e.$ancestorComponent$),ae(()=>Ae(e,t))},Ae=(e,t)=>{let n=e.$hostElement$,r=T(`scheduleUpdate`,e.$cmpMeta$.$tagName$),i=n;if(!i)throw Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);let a;return a=t?U(i,`componentWillLoad`,void 0,n):U(i,`componentWillUpdate`,void 0,n),a=H(a,()=>U(i,`componentWillRender`,void 0,n)),r(),H(a,()=>Me(e,i,t))},H=(e,t)=>je(e)?e.then(t).catch(e=>{console.error(e),t()}):t(),je=e=>e instanceof Promise||e&&e.then&&typeof e.then==`function`,Me=async(e,t,n)=>{let r=e.$hostElement$,i=T(`update`,e.$cmpMeta$.$tagName$),a=r[`s-rc`];n&&ge(e);let o=T(`render`,e.$cmpMeta$.$tagName$);Ne(e,t,r,n),a&&(a.map(e=>e()),r[`s-rc`]=void 0),o(),i();{let t=r[`s-p`]??[],n=()=>Pe(e);t.length===0?n():(Promise.all(t).then(n),e.$flags$|=4,t.length=0)}},Ne=(e,t,n,r)=>{try{t=t.render(),e.$flags$&=-17,e.$flags$|=2,ke(e,t,r)}catch(t){d(t,e.$hostElement$)}return null},Pe=e=>{let t=e.$cmpMeta$.$tagName$,n=e.$hostElement$,r=T(`postUpdate`,t),i=n,a=e.$ancestorComponent$;U(i,`componentDidRender`,void 0,n),e.$flags$&64?(U(i,`componentDidUpdate`,void 0,n),r()):(e.$flags$|=64,Ie(n),U(i,`componentDidLoad`,void 0,n),r(),e.$onReadyResolve$(n),a||Fe()),e.$onRenderResolve$&&=(e.$onRenderResolve$(),void 0),e.$flags$&512&&x(()=>V(e,!1)),e.$flags$&=-517},Fe=e=>{x(()=>xe(h,`appload`,{detail:{namespace:i}}))},U=(e,t,n,r)=>{if(e&&e[t])try{return e[t](n)}catch(e){d(e,r)}},Ie=e=>e.classList.add(a.hydratedSelectorName??`hydrated`),Le=(e,t)=>c(e).$instanceValues$.get(t),Re=(e,t,n,r)=>{let i=c(e),a=e,o=i.$instanceValues$.get(t),s=i.$flags$,l=a;if(n=be(n,r.$members$[t][0]),n!==o&&!(Number.isNaN(o)&&Number.isNaN(n))){if(i.$instanceValues$.set(t,n),r.$watchers$&&s&128){let e=r.$watchers$[t];e&&e.map(e=>{try{l[e](n,o,t)}catch(e){d(e,a)}})}if((s&18)==2){if(l.componentShouldUpdate&&l.componentShouldUpdate(n,o,t)===!1)return;V(i,!1)}}},ze=(e,t,n)=>{let r=e.prototype;if(t.$members$||t.$watchers$||e.watchers){e.watchers&&!t.$watchers$&&(t.$watchers$=e.watchers);let n=Object.entries(t.$members$??{});n.map(([e,[n]])=>{if(n&31||n&32){let{get:i,set:a}=Object.getOwnPropertyDescriptor(r,e)||{};i&&(t.$members$[e][0]|=2048),a&&(t.$members$[e][0]|=4096),Object.defineProperty(r,e,{get(){return i?i.apply(this):Le(this,e)},configurable:!0,enumerable:!0}),Object.defineProperty(r,e,{set(r){let i=c(this);if(a){let o=n&32?this[e]:i.$hostElement$[e];o===void 0&&i.$instanceValues$.get(e)?r=i.$instanceValues$.get(e):!i.$instanceValues$.get(e)&&o&&i.$instanceValues$.set(e,o),a.apply(this,[be(r,n)]),r=n&32?this[e]:i.$hostElement$[e],Re(this,e,r,t);return}Re(this,e,r,t)}})}});{let i=new Map;r.attributeChangedCallback=function(e,n,o){_.jmp(()=>{let s=i.get(e);if(!(this.hasOwnProperty(s)&&a.lazyLoad)){if(r.hasOwnProperty(s)&&typeof this[s]==`number`&&this[s]==o)return;if(s==null){let r=c(this)?.$flags$;if(r&&!(r&8)&&r&128&&o!==n){let r=this;(t.$watchers$?.[e])?.forEach(t=>{r[t]!=null&&r[t].call(r,o,n,e)})}return}}let l=Object.getOwnPropertyDescriptor(r,s);o=o===null&&typeof this[s]==`boolean`?!1:o,o!==this[s]&&(!l.get||l.set)&&(this[s]=o)})},e.observedAttributes=Array.from(new Set([...Object.keys(t.$watchers$??{}),...n.filter(([e,t])=>t[0]&15).map(([e,n])=>{var r;let a=n[1]||e;return i.set(a,e),n[0]&512&&((r=t.$attrsToReflect$)==null||r.push([e,a])),a})]))}}return e},Be=async(e,t,n,r)=>{let i;if(!(t.$flags$&32)){t.$flags$|=32;{i=e.constructor;let n=e.localName;customElements.whenDefined(n).then(()=>t.$flags$|=128)}if(i&&i.style){let e;typeof i.style==`string`&&(e=i.style);let t=_e(n);if(!f.has(t)){let r=T(`registerStyles`,n.$tagName$);me(t,e,!!(n.$flags$&1)),r()}}}let a=t.$ancestorComponent$,o=()=>V(t,!0);a&&a[`s-rc`]?a[`s-rc`].push(o):o()},Ve=e=>{if(!(_.$flags$&1)){let t=c(e),n=t.$cmpMeta$,r=T(`connectedCallback`,n.$tagName$);if(t.$flags$&1)t?.$lazyInstance$||t?.$onReadyPromise$&&t.$onReadyPromise$.then(()=>void 0);else{t.$flags$|=1;{let n=e;for(;n=n.parentNode||n.host;)if(n[`s-p`]){B(t,t.$ancestorComponent$=n);break}}n.$members$&&Object.entries(n.$members$).map(([t,[n]])=>{if(n&31&&e.hasOwnProperty(t)){let n=e[t];delete e[t],e[t]=n}}),a.initializeNextTick?x(()=>Be(e,t,n)):Be(e,t,n)}r()}},He=async e=>{_.$flags$&1||c(e),E.has(e)&&E.delete(e),e.shadowRoot&&E.has(e.shadowRoot)&&E.delete(e.shadowRoot)},Ue=(e,t)=>{let n={$flags$:t[0],$tagName$:t[1]};n.$members$=t[2],n.$watchers$=e.$watchers$,n.$attrsToReflect$=[];let r=e.prototype.connectedCallback,i=e.prototype.disconnectedCallback;return Object.assign(e.prototype,{__hasHostListenerAttached:!1,__registerHost(){l(this,n)},connectedCallback(){this.__hasHostListenerAttached||=(c(this),!0),Ve(this),r&&r.call(this)},disconnectedCallback(){He(this),i&&i.call(this)},__attachShadow(){if(!this.shadowRoot)pe.call(this,n);else if(this.shadowRoot.mode!==`open`)throw Error(`Unable to re-use existing shadow root for ${n.$tagName$}! Mode is set to ${this.shadowRoot.mode} but Stencil only supports open shadow roots.`)}}),e.is=n.$tagName$,ze(e,n)},W,We=()=>{if(typeof window>`u`)return new Map;if(!W){let e=window;e.Ionicons=e.Ionicons||{},W=e.Ionicons.map=e.Ionicons.map||new Map}return W},Ge=e=>{let t=G(e.src);return t||(t=qe(e.name,e.icon,e.mode,e.ios,e.md),t?Ke(t,e):e.icon&&(t=G(e.icon),t||(t=G(e.icon[e.mode]),t))?t:null)},Ke=(e,t)=>{let n=We().get(e);if(n)return n;try{return oe(`svg/${e}.svg`)}catch(n){console.log(`e`,n),console.warn(`[Ionicons Warning]: Could not load icon with name "${e}". Ensure that the icon is registered using addIcons or that the icon SVG data is passed directly to the icon component.`,t)}},qe=(e,t,n,r,i)=>(n=(n&&q(n))===`ios`?`ios`:`md`,r&&n===`ios`?e=q(r):i&&n===`md`?e=q(i):(!e&&t&&!Je(t)&&(e=t),K(e)&&(e=q(e))),!K(e)||e.trim()===``||e.replace(/[a-z]|-|\d/gi,``)!==``?null:e),G=e=>K(e)&&(e=e.trim(),Je(e))?e:null,Je=e=>e.length>0&&/(\/|\.)/.test(e),K=e=>typeof e==`string`,q=e=>e.toLowerCase(),Ye=(e,t=[])=>{let n={};return t.forEach(t=>{e.hasAttribute(t)&&(e.getAttribute(t)!==null&&(n[t]=e.getAttribute(t)),e.removeAttribute(t))}),n},Xe=e=>e&&e.dir!==``?e.dir.toLowerCase()===`rtl`:(document==null?void 0:document.dir.toLowerCase())===`rtl`,Ze=e=>{let t=document.createElement(`div`);t.innerHTML=e;for(let e=t.childNodes.length-1;e>=0;e--)t.childNodes[e].nodeName.toLowerCase()!==`svg`&&t.removeChild(t.childNodes[e]);let n=t.firstElementChild;if(n&&n.nodeName.toLowerCase()===`svg`){let e=n.getAttribute(`class`)||``;if(n.setAttribute(`class`,(e+` s-ion-icon`).trim()),Qe(n))return t.innerHTML}return``},Qe=e=>{if(e.nodeType===1){if(e.nodeName.toLowerCase()===`script`)return!1;for(let t=0;t<e.attributes.length;t++){let n=e.attributes[t].name;if(K(n)&&n.toLowerCase().indexOf(`on`)===0)return!1}for(let t=0;t<e.childNodes.length;t++)if(!Qe(e.childNodes[t]))return!1}return!0},$e=e=>e.startsWith(`data:image/svg+xml`),et=e=>e.indexOf(`;utf8,`)!==-1,J=new Map,tt=new Map,nt;function Y(e){return J.set(e,``),``}var rt=(e,t)=>tt.get(e)||(typeof fetch<`u`&&typeof document<`u`?$e(e)&&et(e)?Promise.resolve(it(e)):at(e,t):Promise.resolve(Y(e)));function it(e){nt||=new DOMParser;let t=nt.parseFromString(e,`text/html`).querySelector(`svg`);if(t)return J.set(e,t.outerHTML),t.outerHTML;throw Error(`Could not parse svg from ${e}`)}function at(e,t){let n=fetch(e).then(n=>n.text().then(n=>{n&&t!==!1&&(n=Ze(n));let r=n||``;return J.set(e,r),r}).catch(()=>Y(e))).catch(()=>Y(e));return tt.set(e,n),n}var ot=`:host{display:inline-block;width:1em;height:1em;contain:strict;fill:currentColor;box-sizing:content-box !important}:host .ionicon{stroke:currentColor}.ionicon-fill-none{fill:none}.ionicon-stroke-width{stroke-width:var(--ionicon-stroke-width, 32px)}.icon-inner,.ionicon,svg{display:block;height:100%;width:100%}@supports (background: -webkit-named-image(i)){:host(.icon-rtl) .icon-inner{transform:scaleX(-1)}}@supports not selector(:dir(rtl)) and selector(:host-context([dir='rtl'])){:host(.icon-rtl) .icon-inner{transform:scaleX(-1)}}:host(.flip-rtl):host-context([dir='rtl']) .icon-inner{transform:scaleX(-1)}@supports selector(:dir(rtl)){:host(.flip-rtl:dir(rtl)) .icon-inner{transform:scaleX(-1)}:host(.flip-rtl:dir(ltr)) .icon-inner{transform:scaleX(1)}}:host(.icon-small){font-size:1.125rem !important}:host(.icon-large){font-size:2rem !important}:host(.ion-color){color:var(--ion-color-base) !important}:host(.ion-color-primary){--ion-color-base:var(--ion-color-primary, #3880ff)}:host(.ion-color-secondary){--ion-color-base:var(--ion-color-secondary, #0cd1e8)}:host(.ion-color-tertiary){--ion-color-base:var(--ion-color-tertiary, #f4a942)}:host(.ion-color-success){--ion-color-base:var(--ion-color-success, #10dc60)}:host(.ion-color-warning){--ion-color-base:var(--ion-color-warning, #ffce00)}:host(.ion-color-danger){--ion-color-base:var(--ion-color-danger, #f14141)}:host(.ion-color-light){--ion-color-base:var(--ion-color-light, #f4f5f8)}:host(.ion-color-medium){--ion-color-base:var(--ion-color-medium, #989aa2)}:host(.ion-color-dark){--ion-color-base:var(--ion-color-dark, #222428)}`,st=Ue(class extends g{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.iconName=null,this.inheritedAttributes={},this.didLoadIcon=!1,this.isVisible=!1,this.mode=ct(),this.lazy=!1,this.sanitize=!0}componentWillLoad(){this.inheritedAttributes=Ye(this.el,[`aria-label`])}connectedCallback(){this.waitUntilVisible(this.el,`50px`,()=>{this.isVisible=!0,this.loadIcon()})}componentDidLoad(){this.didLoadIcon||this.loadIcon()}disconnectedCallback(){this.io&&=(this.io.disconnect(),void 0)}waitUntilVisible(e,t,n){if(!(this.lazy&&typeof window<`u`&&window.IntersectionObserver))return n();let r=this.io=new window.IntersectionObserver(e=>{e[0].isIntersecting&&(r.disconnect(),this.io=void 0,n())},{rootMargin:t});r.observe(e)}loadIcon(){if(this.isVisible){let e=Ge(this);e&&(J.has(e)?this.svgContent=J.get(e):rt(e,this.sanitize).then(()=>this.svgContent=J.get(e)),this.didLoadIcon=!0)}this.iconName=qe(this.name,this.icon,this.mode,this.ios,this.md)}render(){let{flipRtl:e,iconName:t,inheritedAttributes:n,el:r}=this,i=this.mode||`md`,a=t?(t.includes(`arrow`)||t.includes(`chevron`))&&e!==!1:!1,o=e||a;return D(ve,Object.assign({key:`0578c899781ca145dd8205acd9670af39b57cf2e`,role:`img`,class:Object.assign(Object.assign({[i]:!0},lt(this.color)),{[`icon-${this.size}`]:!!this.size,"flip-rtl":o,"icon-rtl":o&&Xe(r)})},n),this.svgContent?D(`div`,{class:`icon-inner`,innerHTML:this.svgContent}):D(`div`,{class:`icon-inner`}))}static get assetsDirs(){return[`svg`]}get el(){return this}static get watchers(){return{name:[`loadIcon`],src:[`loadIcon`],icon:[`loadIcon`],ios:[`loadIcon`],md:[`loadIcon`]}}static get style(){return ot}},[1,`ion-icon`,{mode:[1025],color:[1],ios:[1],md:[1],flipRtl:[4,`flip-rtl`],name:[513],src:[1],icon:[8],size:[1],lazy:[4],sanitize:[4],svgContent:[32],isVisible:[32]},void 0,{name:[`loadIcon`],src:[`loadIcon`],icon:[`loadIcon`],ios:[`loadIcon`],md:[`loadIcon`]}]),ct=()=>typeof document<`u`&&document.documentElement.getAttribute(`mode`)||`md`,lt=e=>e?{"ion-color":!0,[`ion-color-${e}`]:!0}:null;function ut(){typeof customElements>`u`||[`ion-icon`].forEach(e=>{switch(e){case`ion-icon`:customElements.get(e)||customElements.define(e,st);break}})}var dt=ut,ft=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='m112 184 144 144 144-144' stroke-linecap='round' stroke-linejoin='round' stroke-width='48px' class='ionicon-fill-none'/></svg>`,pt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='m289.94 256 95-95A24 24 0 0 0 351 127l-95 95-95-95a24 24 0 0 0-34 34l95 95-95 95a24 24 0 1 0 34 34l95-95 95 95a24 24 0 0 0 34-34Z'/></svg>`,mt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M256 32C132.3 32 32 134.9 32 261.7c0 101.5 64.2 187.5 153.2 217.9a17.6 17.6 0 0 0 3.8.4c8.3 0 11.5-6.1 11.5-11.4 0-5.5-.2-19.9-.3-39.1a102.4 102.4 0 0 1-22.6 2.7c-43.1 0-52.9-33.5-52.9-33.5-10.2-26.5-24.9-33.6-24.9-33.6-19.5-13.7-.1-14.1 1.4-14.1h.1c22.5 2 34.3 23.8 34.3 23.8 11.2 19.6 26.2 25.1 39.6 25.1a63 63 0 0 0 25.6-6c2-14.8 7.8-24.9 14.2-30.7-49.7-5.8-102-25.5-102-113.5 0-25.1 8.7-45.6 23-61.6-2.3-5.8-10-29.2 2.2-60.8a18.6 18.6 0 0 1 5-.5c8.1 0 26.4 3.1 56.6 24.1a208.2 208.2 0 0 1 112.2 0c30.2-21 48.5-24.1 56.6-24.1a18.6 18.6 0 0 1 5 .5c12.2 31.6 4.5 55 2.2 60.8 14.3 16.1 23 36.6 23 61.6 0 88.2-52.4 107.6-102.3 113.3 8 7.1 15.2 21.1 15.2 42.5 0 30.7-.3 55.5-.3 63 0 5.4 3.1 11.5 11.4 11.5a19.4 19.4 0 0 0 4-.4C415.9 449.2 480 363.1 480 261.7 480 134.9 379.7 32 256 32'/></svg>`,ht=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M444.17 32H70.28C49.85 32 32 46.7 32 66.89v374.72C32 461.91 49.85 480 70.28 480h373.78c20.54 0 35.94-18.21 35.94-38.39V66.89C480.12 46.7 464.6 32 444.17 32m-273.3 373.43h-64.18V205.88h64.18ZM141 175.54h-.46c-20.54 0-33.84-15.29-33.84-34.43 0-19.49 13.65-34.42 34.65-34.42s33.85 14.82 34.31 34.42c-.01 19.14-13.31 34.43-34.66 34.43m264.43 229.89h-64.18V296.32c0-26.14-9.34-44-32.56-44-17.74 0-28.24 12-32.91 23.69-1.75 4.2-2.22 9.92-2.22 15.76v113.66h-64.18V205.88h64.18v27.77c9.34-13.3 23.93-32.44 57.88-32.44 42.13 0 74 27.77 74 87.64Z'/></svg>`,gt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M496 109.5a201.8 201.8 0 0 1-56.55 15.3 97.5 97.5 0 0 0 43.33-53.6 197.7 197.7 0 0 1-62.56 23.5A99.14 99.14 0 0 0 348.31 64c-54.42 0-98.46 43.4-98.46 96.9a93.2 93.2 0 0 0 2.54 22.1 280.7 280.7 0 0 1-203-101.3A95.7 95.7 0 0 0 36 130.4c0 33.6 17.53 63.3 44 80.7A97.5 97.5 0 0 1 35.22 199v1.2c0 47 34 86.1 79 95a100.8 100.8 0 0 1-25.94 3.4 94.4 94.4 0 0 1-18.51-1.8c12.51 38.5 48.92 66.5 92.05 67.3A199.6 199.6 0 0 1 39.5 405.6a203 203 0 0 1-23.5-1.4A278.7 278.7 0 0 0 166.74 448c181.36 0 280.44-147.7 280.44-275.8 0-4.2-.11-8.4-.31-12.5A198.5 198.5 0 0 0 496 109.5'/></svg>`,_t=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M508.64 148.79c0-45-33.1-81.2-74-81.2C379.24 65 322.74 64 265 64h-18c-57.6 0-114.2 1-169.6 3.6C36.6 67.6 3.5 104 3.5 149 1 184.59-.06 220.19 0 255.79q-.15 53.4 3.4 106.9c0 45 33.1 81.5 73.9 81.5 58.2 2.7 117.9 3.9 178.6 3.8q91.2.3 178.6-3.8c40.9 0 74-36.5 74-81.5 2.4-35.7 3.5-71.3 3.4-107q.34-53.4-3.26-106.9M207 353.89v-196.5l145 98.2Z'/></svg>`,vt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M80 160h352M80 256h352M80 352h352' stroke-linecap='round' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/></svg>`,yt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M221.09 64a157.09 157.09 0 1 0 157.09 157.09A157.1 157.1 0 0 0 221.09 64Z' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/><path d='M338.29 338.29 448 448' stroke-linecap='round' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/></svg>`,bt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64Z' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/><path d='M256 128v144h96' stroke-linecap='round' stroke-linejoin='round' class='ionicon-fill-none ionicon-stroke-width'/></svg>`,xt=`menu-outline`,St=`close`,Ct=()=>{let e=document.querySelector(`.site-header__toggle`);if(!e)return;let t=document.querySelector(e.dataset.target);if(!t)return;let n=e.querySelector(`.sr-only`),r=e.dataset.openLabel||`Open navigation menu`,i=e.dataset.closeLabel||`Close navigation menu`,a=a=>{e.setAttribute(`aria-expanded`,a?`true`:`false`),e.setAttribute(`aria-label`,a?i:r),n&&(n.textContent=a?i:r);let o=e.querySelector(`ion-icon`);o&&(o.name=a?St:xt),t.hidden=!a,t.classList.toggle(`is-hidden`,!a)},o=()=>{t.hidden||a(!1)};a(!1),e.addEventListener(`click`,()=>{let n=e.getAttribute(`aria-expanded`)!==`true`;if(a(n),n){let e=t.querySelector(`a, button, input, [tabindex]:not([tabindex="-1"])`);e&&e.focus();return}e.focus()}),document.addEventListener(`click`,n=>{let r=t.contains(n.target),i=e.contains(n.target);!r&&!i&&o()}),document.addEventListener(`keydown`,n=>{if(n.key===`Escape`){let n=!t.hidden;o(),n&&e.focus()}})},wt={category:`data-category`,categoryId:`data-category-id`,emitMetadata:`data-emit-metadata`,inputPosition:`data-input-position`,lang:`data-lang`,loading:`data-loading`,mapping:`data-mapping`,reactionsEnabled:`data-reactions-enabled`,repo:`data-repo`,repoId:`data-repo-id`,strict:`data-strict`,term:`data-term`,theme:`data-theme`},Tt=e=>{if(!e||e.dataset.giscusLoaded===`true`)return;let t=document.createElement(`script`);t.src=e.dataset.giscusScriptSrc||`https://giscus.app/client.js`,t.async=!0,t.crossOrigin=`anonymous`;for(let[n,r]of Object.entries(wt)){let i=e.dataset[`giscus${n.charAt(0).toUpperCase()}${n.slice(1)}`];i&&t.setAttribute(r,i)}e.append(t),e.dataset.giscusLoaded=`true`},Et=()=>{let e=document.querySelectorAll(`[data-comments-collapsible]`);e.length&&e.forEach(e=>{let t=e.querySelector(`[data-comments-toggle]`),n=e.querySelector(`[data-comments-panel]`),r=e.querySelector(`[data-giscus-mount]`);!t||!n||!r||t.addEventListener(`click`,()=>{let i=t.getAttribute(`aria-expanded`)!==`true`;t.setAttribute(`aria-expanded`,i?`true`:`false`),e.classList.toggle(`is-open`,i),n.hidden=!i,i&&Tt(r)})})},Dt=()=>{let e=document.querySelector(`#main-header`);if(!e)return;let t=()=>{if(window.scrollY>8){e.classList.add(`is-scrolled`);return}e.classList.remove(`is-scrolled`)};t(),window.addEventListener(`scroll`,t,{passive:!0})},Ot=()=>{let e=document.querySelectorAll(`[data-series-collapsible]`);e.length&&e.forEach(e=>{let t=e.querySelector(`[data-series-toggle]`),n=e.querySelector(`[data-series-panel]`);if(!t||!n)return;let r=()=>{let r=t.getAttribute(`aria-expanded`)===`true`;e.classList.toggle(`is-open`,r),n.hidden=!r};r(),t.addEventListener(`click`,()=>{let e=t.getAttribute(`aria-expanded`)===`true`;t.setAttribute(`aria-expanded`,e?`false`:`true`),r()});let i=e.querySelectorAll(`[data-series-overflow-toggle]`);i.length&&i.forEach(t=>{t.addEventListener(`click`,()=>{let n=t.dataset.seriesOverflowGroup,r=n?`[data-series-overflow-item][data-series-overflow-group="${n}"]`:`[data-series-overflow-item]`;e.querySelectorAll(r).forEach(e=>{e.hidden=!1}),t.setAttribute(`aria-expanded`,`true`),t.hidden=!0})})})},kt=()=>{let e=document.querySelector(`[data-reading-progress]`),t=document.querySelector(`.content`);if(!e||!t)return;let n=()=>{let n=t.offsetTop,r=t.offsetHeight,i=window.innerHeight,a=window.scrollY,o=Math.max(r-i,1),s=Math.min(Math.max(a-n,0),o)/o*100;e.style.transform=`scaleX(${s/100})`};n(),window.addEventListener(`scroll`,n,{passive:!0}),window.addEventListener(`resize`,n)},At=`[data-search-root]`,X,Z=e=>(e||``).toString().normalize(`NFKD`).replace(/[\u0300-\u036f]/g,``).toLowerCase().replace(/[^a-z0-9\s-]/g,` `).replace(/\s+/g,` `).trim(),jt=e=>Z(e).split(` `).filter(e=>e.length>0),Mt=e=>[...new Set(jt(e))],Nt=(e,t)=>{let n=e.date?Date.parse(e.date):0,r=t.date?Date.parse(t.date):0;return Number.isNaN(n)||Number.isNaN(r)?0:r-n},Pt=e=>{let t=e.title||``,n=e.content||``,r=Array.isArray(e.tags)?e.tags:[],i=Array.isArray(e.categories)?e.categories:[];return{...e,title:t,content:n,tags:r,categories:i,normalizedTitle:Z(t),normalizedContent:Z(n),normalizedTags:r.map(Z).filter(Boolean),normalizedCategories:i.map(Z).filter(Boolean)}},Ft=async e=>(X||=fetch(e,{headers:{Accept:`application/json`}}).then(e=>{if(!e.ok)throw Error(`Search index request failed with ${e.status}`);return e.json()}).then(e=>e.map(Pt)).catch(e=>{throw X=void 0,e}),X),It=(e,t,n)=>{let r=0;e.normalizedTitle.includes(t)&&(r+=140),e.normalizedContent.includes(t)&&(r+=30),n.forEach(t=>{e.normalizedTitle.includes(t)&&(r+=60),e.normalizedTags.some(e=>e.includes(t))&&(r+=30),e.normalizedCategories.some(e=>e.includes(t))&&(r+=18),e.normalizedContent.includes(t)&&(r+=10)});let i=n.filter(t=>e.normalizedTitle.includes(t)||e.normalizedTags.some(e=>e.includes(t))||e.normalizedCategories.some(e=>e.includes(t))||e.normalizedContent.includes(t)).length;return i===0?0:(i===n.length&&(r+=24),e.type===`post`&&(r+=4),r)},Lt=(e,t,n)=>{let r=Z(t),i=Mt(t);return!r||i.length===0?[]:e.map(e=>({searchDocument:e,score:It(e,r,i)})).filter(e=>e.score>0).sort((e,t)=>t.score-e.score||Nt(e.searchDocument,t.searchDocument)).slice(0,n).map(e=>e.searchDocument)},Rt=(e,t,n)=>{let r=e.replace(/\s+/g,` `).trim();if(!r)return``;let i=Z(t),a=Z(r).indexOf(i);if(a===-1)return r.length>n?`${r.slice(0,n).trimEnd()}...`:r;let o=Math.max(a-Math.floor(n/3),0),s=Math.min(o+n,r.length),c=o>0?`...`:``,l=s<r.length?`...`:``;return`${c}${r.slice(o,s).trim()}${l}`},zt=e=>{let t=[];return e.type&&t.push(e.type===`post`?`Post`:`Page`),e.tags.length>0&&t.push(e.tags.slice(0,2).join(`, `)),t.join(` • `)},Bt=(e,t,n,r)=>{let i=e.querySelector(`[data-search-results]`),a=e.querySelector(`[data-search-status]`);i.innerHTML=``,a.textContent=r,t.forEach(t=>{let r=window.document.createElement(`li`);r.className=`site-search__result-item`;let a=window.document.createElement(`a`);a.className=`site-search__result-link`,a.href=t.url;let o=window.document.createElement(`span`);o.className=`site-search__result-title`,o.textContent=t.title,a.append(o);let s=zt(t);if(s){let e=window.document.createElement(`span`);e.className=`site-search__result-meta`,e.textContent=s,a.append(e)}let c=Number(e.dataset.searchContentPreviewLength||`140`),l=Rt(t.content,n,c);if(l){let e=window.document.createElement(`span`);e.className=`site-search__result-snippet`,e.textContent=l,a.append(e)}r.append(a),i.append(r)})},Vt=e=>{let t=e.querySelector(`[data-search-panel]`),n=e.querySelector(`[data-search-input]`);t.hidden=!1,n.setAttribute(`aria-expanded`,`true`),t.setAttribute(`aria-hidden`,`false`)},Q=e=>{let t=e.querySelector(`[data-search-panel]`),n=e.querySelector(`[data-search-input]`);t.hidden=!0,n.setAttribute(`aria-expanded`,`false`),t.setAttribute(`aria-hidden`,`true`)},$=(e,t)=>{let n=[...e.querySelectorAll(`.site-search__result-link`)];if(n.length===0)return;let r=n.findIndex(e=>e===window.document.activeElement);n[r===-1?t>0?0:n.length-1:(r+t+n.length)%n.length].focus()},Ht=e=>{let t=e.querySelector(`[data-search-input]`),n=e.querySelector(`[data-search-clear]`),r=e.querySelector(`.site-search__form`),i=e.dataset.searchUrl,a=Number(e.dataset.searchMaxResults||`8`),o=Number(e.dataset.searchMinQueryLength||`2`),s=e.dataset.searchIdleText||`Start typing to search the site.`,c=e.dataset.searchTooShortText||`Type at least %d characters to search.`,l=e.dataset.searchLoadingText||`Loading search index...`,u=e.dataset.searchEmptyText||`No results found.`,d=e.dataset.searchErrorText||`Search is unavailable right now.`,f=t=>{let n=e.querySelector(`[data-search-status]`);n.textContent=t},p=()=>{e.querySelector(`[data-search-results]`).innerHTML=``},m=()=>{n.hidden=t.value.length===0},h=async()=>{let n=t.value.trim();if(m(),n.length===0){p(),f(s),Q(e);return}if(Vt(e),n.length<o){p(),f(c.replace(`%d`,`${o}`));return}f(l);try{let t=Lt(await Ft(i),n,a);if(t.length===0){Bt(e,[],n,u);return}Bt(e,t,n,`${t.length} result${t.length===1?``:`s`} for "${n}"`)}catch{p(),f(d)}};t.addEventListener(`focus`,()=>{t.value.trim().length>0&&h()}),t.addEventListener(`input`,()=>{h()}),t.addEventListener(`keydown`,t=>{t.key===`ArrowDown`&&(t.preventDefault(),e.querySelector(`.site-search__result-link`)&&Vt(e),$(e,1)),t.key===`Escape`&&Q(e)}),e.addEventListener(`keydown`,n=>{if(n.key===`Escape`&&(Q(e),t.focus()),n.key===`ArrowDown`&&n.target.matches(`.site-search__result-link`)&&(n.preventDefault(),$(e,1)),n.key===`ArrowUp`&&n.target.matches(`.site-search__result-link`)){if(n.preventDefault(),n.target===e.querySelector(`.site-search__result-link`)){t.focus();return}$(e,-1)}}),n.addEventListener(`click`,()=>{t.value=``,m(),p(),f(s),Q(e),t.focus()}),r.addEventListener(`submit`,t=>{t.preventDefault();let n=e.querySelector(`.site-search__result-link`);if(n){window.location.assign(n.href);return}h()}),window.document.addEventListener(`click`,t=>{e.contains(t.target)||Q(e)}),Q(e)};n({"chevron-down-outline":ft,close:pt,"logo-github":mt,"logo-linkedin":ht,"logo-twitter":gt,"logo-youtube":_t,"menu-outline":vt,"search-outline":yt,"time-outline":bt}),dt(),Ct(),Et(),Dt(),Ot(),kt(),(()=>{let e=window.document.querySelectorAll(At);e.length!==0&&e.forEach(Ht)})()})();
1
+ (function(){var e,t=()=>{if(typeof window>`u`)return new Map;if(!e){let t=window;t.Ionicons=t.Ionicons||{},e=t.Ionicons.map=t.Ionicons.map||new Map}return e},n=e=>{Object.keys(e).forEach(t=>{r(t,e[t]);let n=t.replace(/([a-z0-9]|(?=[A-Z]))([A-Z0-9])/g,`$1-$2`).toLowerCase();t!==n&&r(n,e[t])})},r=(e,n)=>{let r=t(),i=r.get(e);i===void 0?r.set(e,n):i!==n&&console.warn(`[Ionicons Warning]: Multiple icons were mapped to name "${e}". Ensure that multiple icons are not mapped to the same icon name.`)},i=`ionicons`,a={hydratedSelectorName:`hydrated`,lazyLoad:!1,updatable:!0},o=Object.defineProperty,s=(e,t)=>{for(var n in t)o(e,n,{get:t[n],enumerable:!0})},c=e=>{if(e.__stencil__getHostRef)return e.__stencil__getHostRef()},l=(e,t)=>{let n={$flags$:0,$hostElement$:e,$cmpMeta$:t,$instanceValues$:new Map};n.$onReadyPromise$=new Promise(e=>n.$onReadyResolve$=e),e[`s-p`]=[],e[`s-rc`]=[];let r=n;return e.__stencil__getHostRef=()=>r,r},u=(e,t)=>t in e,d=(e,t)=>(0,console.error)(e,t),f=new Map,p=`slot-fb{display:contents}slot-fb[hidden]{display:none}`,m=`http://www.w3.org/1999/xlink`,h=typeof window<`u`?window:{},g=h.HTMLElement||class{},_={$flags$:0,$resourcesUrl$:``,jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,r)=>e.addEventListener(t,n,r),rel:(e,t,n,r)=>e.removeEventListener(t,n,r),ce:(e,t)=>new CustomEvent(e,t)},ee=e=>Promise.resolve(e),te=(()=>{try{return new CSSStyleSheet,typeof new CSSStyleSheet().replaceSync==`function`}catch{}return!1})(),v=!1,ne=[],re=[],ie=(e,t)=>n=>{e.push(n),v||(v=!0,t&&_.$flags$&4?x(b):_.raf(b))},y=e=>{for(let t=0;t<e.length;t++)try{e[t](performance.now())}catch(e){d(e)}e.length=0},b=()=>{y(ne),y(re),(v=ne.length>0)&&_.raf(b)},x=e=>ee().then(e),ae=ie(re,!0),oe=e=>{let t=new URL(e,_.$resourcesUrl$);return t.origin===h.location.origin?t.pathname:t.href},S=e=>(e=typeof e,e===`object`||e===`function`);function se(e){return(e.head?.querySelector(`meta[name="csp-nonce"]`))?.getAttribute(`content`)??void 0}var ce=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);s({},{err:()=>le,map:()=>ue,ok:()=>C,unwrap:()=>de,unwrapErr:()=>fe});var C=e=>({isOk:!0,isErr:!1,value:e}),le=e=>({isOk:!1,isErr:!0,value:e});function ue(e,t){if(e.isOk){let n=t(e.value);return n instanceof Promise?n.then(e=>C(e)):C(n)}if(e.isErr){let t=e.value;return le(t)}throw`should never get here`}var de=e=>{if(e.isOk)return e.value;throw e.value},fe=e=>{if(e.isErr)return e.value;throw e.value},w;function pe(e){let t=this.attachShadow({mode:`open`});w===void 0&&(w=null),w&&t.adoptedStyleSheets.push(w)}var T=(e,t=``)=>()=>{},E=new WeakMap,me=(e,t,n)=>{let r=f.get(e);te&&n?(r||=new CSSStyleSheet,typeof r==`string`?r=t:r.replaceSync(t)):r=t,f.set(e,r)},he=(e,t,n)=>{let r=_e(t),i=f.get(r);if(!h.document)return r;if(e=e.nodeType===11?e:h.document,i)if(typeof i==`string`){e=e.head||e;let n=E.get(e),a;if(n||E.set(e,n=new Set),!n.has(r)){{a=h.document.createElement(`style`),a.innerHTML=i;let n=_.$nonce$??se(h.document);if(n!=null&&a.setAttribute(`nonce`,n),!(t.$flags$&1))if(e.nodeName===`HEAD`){let t=e.querySelectorAll(`link[rel=preconnect]`),n=t.length>0?t[t.length-1].nextSibling:e.querySelector(`style`);e.insertBefore(a,n?.parentNode===e?n:null)}else if(`host`in e)if(te){let t=new CSSStyleSheet;t.replaceSync(i),e.adoptedStyleSheets.unshift(t)}else{let t=e.querySelector(`style`);t?t.innerHTML=i+t.innerHTML:e.prepend(a)}else e.append(a);t.$flags$&1&&e.insertBefore(a,null)}t.$flags$&4&&(a.innerHTML+=p),n&&n.add(r)}}else e.adoptedStyleSheets.includes(i)||e.adoptedStyleSheets.push(i);return r},ge=e=>{let t=e.$cmpMeta$,n=e.$hostElement$,r=t.$flags$,i=T(`attachStyles`,t.$tagName$),a=he(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);r&10&&(n[`s-sc`]=a,n.classList.add(a+`-h`)),i()},_e=(e,t)=>`sc-`+e.$tagName$,D=(e,t,...n)=>{let r=null,i=null,a=!1,o=!1,s=[],c=t=>{for(let n=0;n<t.length;n++)r=t[n],Array.isArray(r)?c(r):r!=null&&typeof r!=`boolean`&&((a=typeof e!=`function`&&!S(r))&&(r=String(r)),a&&o?s[s.length-1].$text$+=r:s.push(a?O(null,r):r),o=a)};if(c(n),t){t.key&&(i=t.key);{let e=t.className||t.class;e&&(t.class=typeof e==`object`?Object.keys(e).filter(t=>e[t]).join(` `):e)}}let l=O(e,null);return l.$attrs$=t,s.length>0&&(l.$children$=s),l.$key$=i,l},O=(e,t)=>{let n={$flags$:0,$tag$:e,$text$:t,$elm$:null,$children$:null};return n.$attrs$=null,n.$key$=null,n},ve={},ye=e=>e&&e.$tag$===ve,k=e=>{let t=ce(e);return RegExp(`(^|[^@]|@(?!supports\\s+selector\\s*\\([^{]*?${t}))(${t}\\b)`,`g`)};k(`::slotted`),k(`:host`),k(`:host-context`);var be=(e,t,n)=>e!=null&&!S(e)?t&4?e===`false`?!1:e===``||!!e:t&1?String(e):e:e,xe=(e,t,n)=>{let r=_.ce(t,n);return e.dispatchEvent(r),r},A=(e,t,n,r,i,a,o)=>{if(n===r)return;let s=u(e,t),c=t.toLowerCase();if(t===`class`){let t=e.classList,i=j(n),a=j(r);t.remove(...i.filter(e=>e&&!a.includes(e))),t.add(...a.filter(e=>e&&!i.includes(e)))}else if(t===`style`){for(let t in n)(!r||r[t]==null)&&(t.includes(`-`)?e.style.removeProperty(t):e.style[t]=``);for(let t in r)(!n||r[t]!==n[t])&&(t.includes(`-`)?e.style.setProperty(t,r[t]):e.style[t]=r[t])}else if(t!==`key`)if(t===`ref`)r&&r(e);else if(!e.__lookupSetter__(t)&&t[0]===`o`&&t[1]===`n`){if(t=t[2]===`-`?t.slice(3):u(h,c)?c.slice(2):c[2]+t.slice(3),n||r){let i=t.endsWith(M);t=t.replace(Ce,``),n&&_.rel(e,t,n,i),r&&_.ael(e,t,r,i)}}else{let o=S(r);if(s||o&&r!==null)try{if(e.tagName.includes(`-`))e[t]!==r&&(e[t]=r);else{let i=r??``;t===`list`?s=!1:(n==null||e[t]!=i)&&(typeof e.__lookupSetter__(t)==`function`?e[t]=i:e.setAttribute(t,i))}}catch{}let l=!1;c!==(c=c.replace(/^xlink\:?/,``))&&(t=c,l=!0),r==null||r===!1?(r!==!1||e.getAttribute(t)===``)&&(l?e.removeAttributeNS(m,t):e.removeAttribute(t)):(!s||a&4||i)&&!o&&e.nodeType===1&&(r=r===!0?``:r,l?e.setAttributeNS(m,t,r):e.setAttribute(t,r))}},Se=/\s/,j=e=>(typeof e==`object`&&e&&`baseVal`in e&&(e=e.baseVal),!e||typeof e!=`string`?[]:e.split(Se)),M=`Capture`,Ce=RegExp(M+`$`),we=(e,t,n,r)=>{let i=t.$elm$.nodeType===11&&t.$elm$.host?t.$elm$.host:t.$elm$,a=e&&e.$attrs$||{},o=t.$attrs$||{};for(let e of Te(Object.keys(a)))e in o||A(i,e,a[e],void 0,n,t.$flags$);for(let e of Te(Object.keys(o)))A(i,e,a[e],o[e],n,t.$flags$)};function Te(e){return e.includes(`ref`)?[...e.filter(e=>e!==`ref`),`ref`]:e}var N,Ee=!1,P=(e,t,n)=>{let r=t.$children$[n],i=0,a,o;if(r.$text$!==null)a=r.$elm$=h.document.createTextNode(r.$text$);else{if(!h.document)throw Error("You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component.");if(a=r.$elm$=h.document.createElement(r.$tag$),we(null,r,Ee),r.$children$)for(i=0;i<r.$children$.length;++i)o=P(e,r,i),o&&a.appendChild(o)}return a[`s-hn`]=N,a},De=(e,t,n,r,i,a)=>{let o=e,s;for(o.shadowRoot&&o.tagName===N&&(o=o.shadowRoot);i<=a;++i)r[i]&&(s=P(null,n,i),s&&(r[i].$elm$=s,R(o,s,t)))},Oe=(e,t,n)=>{for(let r=t;r<=n;++r){let t=e[r];if(t){let e=t.$elm$;L(t),e&&e.remove()}}},ke=(e,t,n,r,i=!1)=>{let a=0,o=0,s=0,c=0,l=t.length-1,u=t[0],d=t[l],f=r.length-1,p=r[0],m=r[f],h,g;for(;a<=l&&o<=f;)if(u==null)u=t[++a];else if(d==null)d=t[--l];else if(p==null)p=r[++o];else if(m==null)m=r[--f];else if(F(u,p,i))I(u,p,i),u=t[++a],p=r[++o];else if(F(d,m,i))I(d,m,i),d=t[--l],m=r[--f];else if(F(u,m,i))I(u,m,i),R(e,u.$elm$,d.$elm$.nextSibling),u=t[++a],m=r[--f];else if(F(d,p,i))I(d,p,i),R(e,d.$elm$,u.$elm$),d=t[--l],p=r[++o];else{for(s=-1,c=a;c<=l;++c)if(t[c]&&t[c].$key$!==null&&t[c].$key$===p.$key$){s=c;break}s>=0?(g=t[s],g.$tag$===p.$tag$?(I(g,p,i),t[s]=void 0,h=g.$elm$):h=P(t&&t[o],n,s),p=r[++o]):(h=P(t&&t[o],n,o),p=r[++o]),h&&R(u.$elm$.parentNode,h,u.$elm$)}a>l?De(e,r[f+1]==null?null:r[f+1].$elm$,n,r,o,f):o>f&&Oe(t,a,l)},F=(e,t,n=!1)=>e.$tag$===t.$tag$?n?(n&&!e.$key$&&t.$key$&&(e.$key$=t.$key$),!0):e.$key$===t.$key$:!1,I=(e,t,n=!1)=>{let r=t.$elm$=e.$elm$,i=e.$children$,o=t.$children$,s=t.$text$;s===null?(we(e,t,Ee),i!==null&&o!==null?ke(r,i,t,o,n):o===null?!n&&a.updatable&&i!==null&&Oe(i,0,i.length-1):(e.$text$!==null&&(r.textContent=``),De(r,null,t,o,0,o.length-1))):e.$text$!==s&&(r.data=s)},L=e=>{e.$attrs$&&e.$attrs$.ref&&e.$attrs$.ref(null),e.$children$&&e.$children$.map(L)},R=(e,t,n)=>e?.insertBefore(t,n),Ae=(e,t,n=!1)=>{let r=e.$hostElement$,i=e.$cmpMeta$,a=e.$vnode$||O(null,null),o=ye(t)?t:D(null,null,t);if(N=r.tagName,i.$attrsToReflect$&&(o.$attrs$=o.$attrs$||{},i.$attrsToReflect$.map(([e,t])=>o.$attrs$[t]=r[e])),n&&o.$attrs$)for(let e of Object.keys(o.$attrs$))r.hasAttribute(e)&&![`key`,`ref`,`style`,`class`].includes(e)&&(o.$attrs$[e]=r[e]);o.$tag$=null,o.$flags$|=4,e.$vnode$=o,o.$elm$=a.$elm$=r.shadowRoot||r,I(a,o,n)},z=(e,t)=>{if(t&&!e.$onRenderResolve$&&t[`s-p`]){let n=t[`s-p`].push(new Promise(r=>e.$onRenderResolve$=()=>{t[`s-p`].splice(n-1,1),r()}))}},B=(e,t)=>{if(e.$flags$|=16,e.$flags$&4){e.$flags$|=512;return}return z(e,e.$ancestorComponent$),ae(()=>je(e,t))},je=(e,t)=>{let n=e.$hostElement$,r=T(`scheduleUpdate`,e.$cmpMeta$.$tagName$),i=n;if(!i)throw Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);let a;return a=t?H(i,`componentWillLoad`,void 0,n):H(i,`componentWillUpdate`,void 0,n),a=V(a,()=>H(i,`componentWillRender`,void 0,n)),r(),V(a,()=>Ne(e,i,t))},V=(e,t)=>Me(e)?e.then(t).catch(e=>{console.error(e),t()}):t(),Me=e=>e instanceof Promise||e&&e.then&&typeof e.then==`function`,Ne=async(e,t,n)=>{let r=e.$hostElement$,i=T(`update`,e.$cmpMeta$.$tagName$),a=r[`s-rc`];n&&ge(e);let o=T(`render`,e.$cmpMeta$.$tagName$);Pe(e,t,r,n),a&&(a.map(e=>e()),r[`s-rc`]=void 0),o(),i();{let t=r[`s-p`]??[],n=()=>Fe(e);t.length===0?n():(Promise.all(t).then(n),e.$flags$|=4,t.length=0)}},Pe=(e,t,n,r)=>{try{t=t.render(),e.$flags$&=-17,e.$flags$|=2,Ae(e,t,r)}catch(t){d(t,e.$hostElement$)}return null},Fe=e=>{let t=e.$cmpMeta$.$tagName$,n=e.$hostElement$,r=T(`postUpdate`,t),i=n,a=e.$ancestorComponent$;H(i,`componentDidRender`,void 0,n),e.$flags$&64?(H(i,`componentDidUpdate`,void 0,n),r()):(e.$flags$|=64,Le(n),H(i,`componentDidLoad`,void 0,n),r(),e.$onReadyResolve$(n),a||Ie()),e.$onRenderResolve$&&=(e.$onRenderResolve$(),void 0),e.$flags$&512&&x(()=>B(e,!1)),e.$flags$&=-517},Ie=e=>{x(()=>xe(h,`appload`,{detail:{namespace:i}}))},H=(e,t,n,r)=>{if(e&&e[t])try{return e[t](n)}catch(e){d(e,r)}},Le=e=>e.classList.add(a.hydratedSelectorName??`hydrated`),Re=(e,t)=>c(e).$instanceValues$.get(t),ze=(e,t,n,r)=>{let i=c(e),a=e,o=i.$instanceValues$.get(t),s=i.$flags$,l=a;if(n=be(n,r.$members$[t][0]),n!==o&&!(Number.isNaN(o)&&Number.isNaN(n))){if(i.$instanceValues$.set(t,n),r.$watchers$&&s&128){let e=r.$watchers$[t];e&&e.map(e=>{try{l[e](n,o,t)}catch(e){d(e,a)}})}if((s&18)==2){if(l.componentShouldUpdate&&l.componentShouldUpdate(n,o,t)===!1)return;B(i,!1)}}},Be=(e,t,n)=>{let r=e.prototype;if(t.$members$||t.$watchers$||e.watchers){e.watchers&&!t.$watchers$&&(t.$watchers$=e.watchers);let n=Object.entries(t.$members$??{});n.map(([e,[n]])=>{if(n&31||n&32){let{get:i,set:a}=Object.getOwnPropertyDescriptor(r,e)||{};i&&(t.$members$[e][0]|=2048),a&&(t.$members$[e][0]|=4096),Object.defineProperty(r,e,{get(){return i?i.apply(this):Re(this,e)},configurable:!0,enumerable:!0}),Object.defineProperty(r,e,{set(r){let i=c(this);if(a){let o=n&32?this[e]:i.$hostElement$[e];o===void 0&&i.$instanceValues$.get(e)?r=i.$instanceValues$.get(e):!i.$instanceValues$.get(e)&&o&&i.$instanceValues$.set(e,o),a.apply(this,[be(r,n)]),r=n&32?this[e]:i.$hostElement$[e],ze(this,e,r,t);return}ze(this,e,r,t)}})}});{let i=new Map;r.attributeChangedCallback=function(e,n,o){_.jmp(()=>{let s=i.get(e);if(!(this.hasOwnProperty(s)&&a.lazyLoad)){if(r.hasOwnProperty(s)&&typeof this[s]==`number`&&this[s]==o)return;if(s==null){let r=c(this)?.$flags$;if(r&&!(r&8)&&r&128&&o!==n){let r=this;(t.$watchers$?.[e])?.forEach(t=>{r[t]!=null&&r[t].call(r,o,n,e)})}return}}let l=Object.getOwnPropertyDescriptor(r,s);o=o===null&&typeof this[s]==`boolean`?!1:o,o!==this[s]&&(!l.get||l.set)&&(this[s]=o)})},e.observedAttributes=Array.from(new Set([...Object.keys(t.$watchers$??{}),...n.filter(([e,t])=>t[0]&15).map(([e,n])=>{var r;let a=n[1]||e;return i.set(a,e),n[0]&512&&((r=t.$attrsToReflect$)==null||r.push([e,a])),a})]))}}return e},Ve=async(e,t,n,r)=>{let i;if(!(t.$flags$&32)){t.$flags$|=32;{i=e.constructor;let n=e.localName;customElements.whenDefined(n).then(()=>t.$flags$|=128)}if(i&&i.style){let e;typeof i.style==`string`&&(e=i.style);let t=_e(n);if(!f.has(t)){let r=T(`registerStyles`,n.$tagName$);me(t,e,!!(n.$flags$&1)),r()}}}let a=t.$ancestorComponent$,o=()=>B(t,!0);a&&a[`s-rc`]?a[`s-rc`].push(o):o()},He=e=>{if(!(_.$flags$&1)){let t=c(e),n=t.$cmpMeta$,r=T(`connectedCallback`,n.$tagName$);if(t.$flags$&1)t?.$lazyInstance$||t?.$onReadyPromise$&&t.$onReadyPromise$.then(()=>void 0);else{t.$flags$|=1;{let n=e;for(;n=n.parentNode||n.host;)if(n[`s-p`]){z(t,t.$ancestorComponent$=n);break}}n.$members$&&Object.entries(n.$members$).map(([t,[n]])=>{if(n&31&&e.hasOwnProperty(t)){let n=e[t];delete e[t],e[t]=n}}),a.initializeNextTick?x(()=>Ve(e,t,n)):Ve(e,t,n)}r()}},Ue=async e=>{_.$flags$&1||c(e),E.has(e)&&E.delete(e),e.shadowRoot&&E.has(e.shadowRoot)&&E.delete(e.shadowRoot)},We=(e,t)=>{let n={$flags$:t[0],$tagName$:t[1]};n.$members$=t[2],n.$watchers$=e.$watchers$,n.$attrsToReflect$=[];let r=e.prototype.connectedCallback,i=e.prototype.disconnectedCallback;return Object.assign(e.prototype,{__hasHostListenerAttached:!1,__registerHost(){l(this,n)},connectedCallback(){this.__hasHostListenerAttached||=(c(this),!0),He(this),r&&r.call(this)},disconnectedCallback(){Ue(this),i&&i.call(this)},__attachShadow(){if(!this.shadowRoot)pe.call(this,n);else if(this.shadowRoot.mode!==`open`)throw Error(`Unable to re-use existing shadow root for ${n.$tagName$}! Mode is set to ${this.shadowRoot.mode} but Stencil only supports open shadow roots.`)}}),e.is=n.$tagName$,Be(e,n)},U,Ge=()=>{if(typeof window>`u`)return new Map;if(!U){let e=window;e.Ionicons=e.Ionicons||{},U=e.Ionicons.map=e.Ionicons.map||new Map}return U},Ke=e=>{let t=W(e.src);return t||(t=Je(e.name,e.icon,e.mode,e.ios,e.md),t?qe(t,e):e.icon&&(t=W(e.icon),t||(t=W(e.icon[e.mode]),t))?t:null)},qe=(e,t)=>{let n=Ge().get(e);if(n)return n;try{return oe(`svg/${e}.svg`)}catch(n){console.log(`e`,n),console.warn(`[Ionicons Warning]: Could not load icon with name "${e}". Ensure that the icon is registered using addIcons or that the icon SVG data is passed directly to the icon component.`,t)}},Je=(e,t,n,r,i)=>(n=(n&&K(n))===`ios`?`ios`:`md`,r&&n===`ios`?e=K(r):i&&n===`md`?e=K(i):(!e&&t&&!Ye(t)&&(e=t),G(e)&&(e=K(e))),!G(e)||e.trim()===``||e.replace(/[a-z]|-|\d/gi,``)!==``?null:e),W=e=>G(e)&&(e=e.trim(),Ye(e))?e:null,Ye=e=>e.length>0&&/(\/|\.)/.test(e),G=e=>typeof e==`string`,K=e=>e.toLowerCase(),Xe=(e,t=[])=>{let n={};return t.forEach(t=>{e.hasAttribute(t)&&(e.getAttribute(t)!==null&&(n[t]=e.getAttribute(t)),e.removeAttribute(t))}),n},Ze=e=>e&&e.dir!==``?e.dir.toLowerCase()===`rtl`:(document==null?void 0:document.dir.toLowerCase())===`rtl`,Qe=e=>{let t=document.createElement(`div`);t.innerHTML=e;for(let e=t.childNodes.length-1;e>=0;e--)t.childNodes[e].nodeName.toLowerCase()!==`svg`&&t.removeChild(t.childNodes[e]);let n=t.firstElementChild;if(n&&n.nodeName.toLowerCase()===`svg`){let e=n.getAttribute(`class`)||``;if(n.setAttribute(`class`,(e+` s-ion-icon`).trim()),$e(n))return t.innerHTML}return``},$e=e=>{if(e.nodeType===1){if(e.nodeName.toLowerCase()===`script`)return!1;for(let t=0;t<e.attributes.length;t++){let n=e.attributes[t].name;if(G(n)&&n.toLowerCase().indexOf(`on`)===0)return!1}for(let t=0;t<e.childNodes.length;t++)if(!$e(e.childNodes[t]))return!1}return!0},et=e=>e.startsWith(`data:image/svg+xml`),tt=e=>e.indexOf(`;utf8,`)!==-1,q=new Map,nt=new Map,rt;function J(e){return q.set(e,``),``}var it=(e,t)=>nt.get(e)||(typeof fetch<`u`&&typeof document<`u`?et(e)&&tt(e)?Promise.resolve(at(e)):ot(e,t):Promise.resolve(J(e)));function at(e){rt||=new DOMParser;let t=rt.parseFromString(e,`text/html`).querySelector(`svg`);if(t)return q.set(e,t.outerHTML),t.outerHTML;throw Error(`Could not parse svg from ${e}`)}function ot(e,t){let n=fetch(e).then(n=>n.text().then(n=>{n&&t!==!1&&(n=Qe(n));let r=n||``;return q.set(e,r),r}).catch(()=>J(e))).catch(()=>J(e));return nt.set(e,n),n}var st=`:host{display:inline-block;width:1em;height:1em;contain:strict;fill:currentColor;box-sizing:content-box !important}:host .ionicon{stroke:currentColor}.ionicon-fill-none{fill:none}.ionicon-stroke-width{stroke-width:var(--ionicon-stroke-width, 32px)}.icon-inner,.ionicon,svg{display:block;height:100%;width:100%}@supports (background: -webkit-named-image(i)){:host(.icon-rtl) .icon-inner{transform:scaleX(-1)}}@supports not selector(:dir(rtl)) and selector(:host-context([dir='rtl'])){:host(.icon-rtl) .icon-inner{transform:scaleX(-1)}}:host(.flip-rtl):host-context([dir='rtl']) .icon-inner{transform:scaleX(-1)}@supports selector(:dir(rtl)){:host(.flip-rtl:dir(rtl)) .icon-inner{transform:scaleX(-1)}:host(.flip-rtl:dir(ltr)) .icon-inner{transform:scaleX(1)}}:host(.icon-small){font-size:1.125rem !important}:host(.icon-large){font-size:2rem !important}:host(.ion-color){color:var(--ion-color-base) !important}:host(.ion-color-primary){--ion-color-base:var(--ion-color-primary, #3880ff)}:host(.ion-color-secondary){--ion-color-base:var(--ion-color-secondary, #0cd1e8)}:host(.ion-color-tertiary){--ion-color-base:var(--ion-color-tertiary, #f4a942)}:host(.ion-color-success){--ion-color-base:var(--ion-color-success, #10dc60)}:host(.ion-color-warning){--ion-color-base:var(--ion-color-warning, #ffce00)}:host(.ion-color-danger){--ion-color-base:var(--ion-color-danger, #f14141)}:host(.ion-color-light){--ion-color-base:var(--ion-color-light, #f4f5f8)}:host(.ion-color-medium){--ion-color-base:var(--ion-color-medium, #989aa2)}:host(.ion-color-dark){--ion-color-base:var(--ion-color-dark, #222428)}`,ct=We(class extends g{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.iconName=null,this.inheritedAttributes={},this.didLoadIcon=!1,this.isVisible=!1,this.mode=lt(),this.lazy=!1,this.sanitize=!0}componentWillLoad(){this.inheritedAttributes=Xe(this.el,[`aria-label`])}connectedCallback(){this.waitUntilVisible(this.el,`50px`,()=>{this.isVisible=!0,this.loadIcon()})}componentDidLoad(){this.didLoadIcon||this.loadIcon()}disconnectedCallback(){this.io&&=(this.io.disconnect(),void 0)}waitUntilVisible(e,t,n){if(!(this.lazy&&typeof window<`u`&&window.IntersectionObserver))return n();let r=this.io=new window.IntersectionObserver(e=>{e[0].isIntersecting&&(r.disconnect(),this.io=void 0,n())},{rootMargin:t});r.observe(e)}loadIcon(){if(this.isVisible){let e=Ke(this);e&&(q.has(e)?this.svgContent=q.get(e):it(e,this.sanitize).then(()=>this.svgContent=q.get(e)),this.didLoadIcon=!0)}this.iconName=Je(this.name,this.icon,this.mode,this.ios,this.md)}render(){let{flipRtl:e,iconName:t,inheritedAttributes:n,el:r}=this,i=this.mode||`md`,a=t?(t.includes(`arrow`)||t.includes(`chevron`))&&e!==!1:!1,o=e||a;return D(ve,Object.assign({key:`0578c899781ca145dd8205acd9670af39b57cf2e`,role:`img`,class:Object.assign(Object.assign({[i]:!0},ut(this.color)),{[`icon-${this.size}`]:!!this.size,"flip-rtl":o,"icon-rtl":o&&Ze(r)})},n),this.svgContent?D(`div`,{class:`icon-inner`,innerHTML:this.svgContent}):D(`div`,{class:`icon-inner`}))}static get assetsDirs(){return[`svg`]}get el(){return this}static get watchers(){return{name:[`loadIcon`],src:[`loadIcon`],icon:[`loadIcon`],ios:[`loadIcon`],md:[`loadIcon`]}}static get style(){return st}},[1,`ion-icon`,{mode:[1025],color:[1],ios:[1],md:[1],flipRtl:[4,`flip-rtl`],name:[513],src:[1],icon:[8],size:[1],lazy:[4],sanitize:[4],svgContent:[32],isVisible:[32]},void 0,{name:[`loadIcon`],src:[`loadIcon`],icon:[`loadIcon`],ios:[`loadIcon`],md:[`loadIcon`]}]),lt=()=>typeof document<`u`&&document.documentElement.getAttribute(`mode`)||`md`,ut=e=>e?{"ion-color":!0,[`ion-color-${e}`]:!0}:null;function dt(){typeof customElements>`u`||[`ion-icon`].forEach(e=>{switch(e){case`ion-icon`:customElements.get(e)||customElements.define(e,ct);break}})}var ft=dt,pt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='m112 184 144 144 144-144' stroke-linecap='round' stroke-linejoin='round' stroke-width='48px' class='ionicon-fill-none'/></svg>`,mt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='m289.94 256 95-95A24 24 0 0 0 351 127l-95 95-95-95a24 24 0 0 0-34 34l95 95-95 95a24 24 0 1 0 34 34l95-95 95 95a24 24 0 0 0 34-34Z'/></svg>`,ht=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M256 32C132.3 32 32 134.9 32 261.7c0 101.5 64.2 187.5 153.2 217.9a17.6 17.6 0 0 0 3.8.4c8.3 0 11.5-6.1 11.5-11.4 0-5.5-.2-19.9-.3-39.1a102.4 102.4 0 0 1-22.6 2.7c-43.1 0-52.9-33.5-52.9-33.5-10.2-26.5-24.9-33.6-24.9-33.6-19.5-13.7-.1-14.1 1.4-14.1h.1c22.5 2 34.3 23.8 34.3 23.8 11.2 19.6 26.2 25.1 39.6 25.1a63 63 0 0 0 25.6-6c2-14.8 7.8-24.9 14.2-30.7-49.7-5.8-102-25.5-102-113.5 0-25.1 8.7-45.6 23-61.6-2.3-5.8-10-29.2 2.2-60.8a18.6 18.6 0 0 1 5-.5c8.1 0 26.4 3.1 56.6 24.1a208.2 208.2 0 0 1 112.2 0c30.2-21 48.5-24.1 56.6-24.1a18.6 18.6 0 0 1 5 .5c12.2 31.6 4.5 55 2.2 60.8 14.3 16.1 23 36.6 23 61.6 0 88.2-52.4 107.6-102.3 113.3 8 7.1 15.2 21.1 15.2 42.5 0 30.7-.3 55.5-.3 63 0 5.4 3.1 11.5 11.4 11.5a19.4 19.4 0 0 0 4-.4C415.9 449.2 480 363.1 480 261.7 480 134.9 379.7 32 256 32'/></svg>`,gt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M444.17 32H70.28C49.85 32 32 46.7 32 66.89v374.72C32 461.91 49.85 480 70.28 480h373.78c20.54 0 35.94-18.21 35.94-38.39V66.89C480.12 46.7 464.6 32 444.17 32m-273.3 373.43h-64.18V205.88h64.18ZM141 175.54h-.46c-20.54 0-33.84-15.29-33.84-34.43 0-19.49 13.65-34.42 34.65-34.42s33.85 14.82 34.31 34.42c-.01 19.14-13.31 34.43-34.66 34.43m264.43 229.89h-64.18V296.32c0-26.14-9.34-44-32.56-44-17.74 0-28.24 12-32.91 23.69-1.75 4.2-2.22 9.92-2.22 15.76v113.66h-64.18V205.88h64.18v27.77c9.34-13.3 23.93-32.44 57.88-32.44 42.13 0 74 27.77 74 87.64Z'/></svg>`,_t=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M496 109.5a201.8 201.8 0 0 1-56.55 15.3 97.5 97.5 0 0 0 43.33-53.6 197.7 197.7 0 0 1-62.56 23.5A99.14 99.14 0 0 0 348.31 64c-54.42 0-98.46 43.4-98.46 96.9a93.2 93.2 0 0 0 2.54 22.1 280.7 280.7 0 0 1-203-101.3A95.7 95.7 0 0 0 36 130.4c0 33.6 17.53 63.3 44 80.7A97.5 97.5 0 0 1 35.22 199v1.2c0 47 34 86.1 79 95a100.8 100.8 0 0 1-25.94 3.4 94.4 94.4 0 0 1-18.51-1.8c12.51 38.5 48.92 66.5 92.05 67.3A199.6 199.6 0 0 1 39.5 405.6a203 203 0 0 1-23.5-1.4A278.7 278.7 0 0 0 166.74 448c181.36 0 280.44-147.7 280.44-275.8 0-4.2-.11-8.4-.31-12.5A198.5 198.5 0 0 0 496 109.5'/></svg>`,vt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M508.64 148.79c0-45-33.1-81.2-74-81.2C379.24 65 322.74 64 265 64h-18c-57.6 0-114.2 1-169.6 3.6C36.6 67.6 3.5 104 3.5 149 1 184.59-.06 220.19 0 255.79q-.15 53.4 3.4 106.9c0 45 33.1 81.5 73.9 81.5 58.2 2.7 117.9 3.9 178.6 3.8q91.2.3 178.6-3.8c40.9 0 74-36.5 74-81.5 2.4-35.7 3.5-71.3 3.4-107q.34-53.4-3.26-106.9M207 353.89v-196.5l145 98.2Z'/></svg>`,yt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M80 160h352M80 256h352M80 352h352' stroke-linecap='round' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/></svg>`,bt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M221.09 64a157.09 157.09 0 1 0 157.09 157.09A157.1 157.1 0 0 0 221.09 64Z' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/><path d='M338.29 338.29 448 448' stroke-linecap='round' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/></svg>`,xt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64Z' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/><path d='M256 128v144h96' stroke-linecap='round' stroke-linejoin='round' class='ionicon-fill-none ionicon-stroke-width'/></svg>`,St=`menu-outline`,Ct=`close`,wt=()=>{let e=document.querySelector(`.site-header__toggle`);if(!e)return;let t=document.querySelector(e.dataset.target);if(!t)return;let n=e.querySelector(`.sr-only`),r=e.dataset.openLabel||`Open navigation menu`,i=e.dataset.closeLabel||`Close navigation menu`,a=a=>{e.setAttribute(`aria-expanded`,a?`true`:`false`),e.setAttribute(`aria-label`,a?i:r),n&&(n.textContent=a?i:r);let o=e.querySelector(`ion-icon`);o&&(o.name=a?Ct:St),t.hidden=!a,t.classList.toggle(`is-hidden`,!a)},o=()=>{t.hidden||a(!1)};a(!1),e.addEventListener(`click`,()=>{let n=e.getAttribute(`aria-expanded`)!==`true`;if(a(n),n){let e=t.querySelector(`a, button, input, [tabindex]:not([tabindex="-1"])`);e&&e.focus();return}e.focus()}),document.addEventListener(`click`,n=>{let r=t.contains(n.target),i=e.contains(n.target);!r&&!i&&o()}),document.addEventListener(`keydown`,n=>{if(n.key===`Escape`){let n=!t.hidden;o(),n&&e.focus()}})},Y=null,Tt=e=>{e&&e.open&&e.close()},Et=()=>{let e=document.querySelectorAll(`[data-certificate-open]`),t=document.querySelectorAll(`[data-certificate-modal]`);!e.length||!t.length||(e.forEach(e=>{e.addEventListener(`click`,()=>{let t=document.getElementById(e.dataset.certificateOpen);!t||typeof t.showModal!=`function`||t.open||(Y=e,t.showModal())})}),t.forEach(e=>{e.querySelector(`[data-certificate-close]`)?.addEventListener(`click`,()=>{Tt(e)}),e.addEventListener(`click`,t=>{t.target===e&&Tt(e)}),e.addEventListener(`close`,()=>{Y&&=(Y.focus(),null)})}))},Dt={category:`data-category`,categoryId:`data-category-id`,emitMetadata:`data-emit-metadata`,inputPosition:`data-input-position`,lang:`data-lang`,loading:`data-loading`,mapping:`data-mapping`,reactionsEnabled:`data-reactions-enabled`,repo:`data-repo`,repoId:`data-repo-id`,strict:`data-strict`,term:`data-term`,theme:`data-theme`},Ot=e=>{if(!e||e.dataset.giscusLoaded===`true`)return;let t=document.createElement(`script`);t.src=e.dataset.giscusScriptSrc||`https://giscus.app/client.js`,t.async=!0,t.crossOrigin=`anonymous`;for(let[n,r]of Object.entries(Dt)){let i=e.dataset[`giscus${n.charAt(0).toUpperCase()}${n.slice(1)}`];i&&t.setAttribute(r,i)}e.append(t),e.dataset.giscusLoaded=`true`},kt=()=>{let e=document.querySelectorAll(`[data-comments-collapsible]`);e.length&&e.forEach(e=>{let t=e.querySelector(`[data-comments-toggle]`),n=e.querySelector(`[data-comments-panel]`),r=e.querySelector(`[data-giscus-mount]`);!t||!n||!r||t.addEventListener(`click`,()=>{let i=t.getAttribute(`aria-expanded`)!==`true`;t.setAttribute(`aria-expanded`,i?`true`:`false`),e.classList.toggle(`is-open`,i),n.hidden=!i,i&&Ot(r)})})},At=()=>{let e=document.querySelector(`#main-header`);if(!e)return;let t=()=>{if(window.scrollY>8){e.classList.add(`is-scrolled`);return}e.classList.remove(`is-scrolled`)};t(),window.addEventListener(`scroll`,t,{passive:!0})},jt=()=>{let e=document.querySelectorAll(`[data-series-collapsible]`);e.length&&e.forEach(e=>{let t=e.querySelector(`[data-series-toggle]`),n=e.querySelector(`[data-series-panel]`);if(!t||!n)return;let r=()=>{let r=t.getAttribute(`aria-expanded`)===`true`;e.classList.toggle(`is-open`,r),n.hidden=!r};r(),t.addEventListener(`click`,()=>{let e=t.getAttribute(`aria-expanded`)===`true`;t.setAttribute(`aria-expanded`,e?`false`:`true`),r()});let i=e.querySelectorAll(`[data-series-overflow-toggle]`);i.length&&i.forEach(t=>{t.addEventListener(`click`,()=>{let n=t.dataset.seriesOverflowGroup,r=n?`[data-series-overflow-item][data-series-overflow-group="${n}"]`:`[data-series-overflow-item]`;e.querySelectorAll(r).forEach(e=>{e.hidden=!1}),t.setAttribute(`aria-expanded`,`true`),t.hidden=!0})})})},Mt=()=>{let e=document.querySelector(`[data-reading-progress]`),t=document.querySelector(`.content`);if(!e||!t)return;let n=()=>{let n=t.offsetTop,r=t.offsetHeight,i=window.innerHeight,a=window.scrollY,o=Math.max(r-i,1),s=Math.min(Math.max(a-n,0),o)/o*100;e.style.transform=`scaleX(${s/100})`};n(),window.addEventListener(`scroll`,n,{passive:!0}),window.addEventListener(`resize`,n)},Nt=`[data-search-root]`,X,Z=e=>(e||``).toString().normalize(`NFKD`).replace(/[\u0300-\u036f]/g,``).toLowerCase().replace(/[^a-z0-9\s-]/g,` `).replace(/\s+/g,` `).trim(),Pt=e=>Z(e).split(` `).filter(e=>e.length>0),Ft=e=>[...new Set(Pt(e))],It=(e,t)=>{let n=e.date?Date.parse(e.date):0,r=t.date?Date.parse(t.date):0;return Number.isNaN(n)||Number.isNaN(r)?0:r-n},Lt=e=>{let t=e.title||``,n=e.content||``,r=Array.isArray(e.tags)?e.tags:[],i=Array.isArray(e.categories)?e.categories:[];return{...e,title:t,content:n,tags:r,categories:i,normalizedTitle:Z(t),normalizedContent:Z(n),normalizedTags:r.map(Z).filter(Boolean),normalizedCategories:i.map(Z).filter(Boolean)}},Rt=async e=>(X||=fetch(e,{headers:{Accept:`application/json`}}).then(e=>{if(!e.ok)throw Error(`Search index request failed with ${e.status}`);return e.json()}).then(e=>e.map(Lt)).catch(e=>{throw X=void 0,e}),X),zt=(e,t,n)=>{let r=0;e.normalizedTitle.includes(t)&&(r+=140),e.normalizedContent.includes(t)&&(r+=30),n.forEach(t=>{e.normalizedTitle.includes(t)&&(r+=60),e.normalizedTags.some(e=>e.includes(t))&&(r+=30),e.normalizedCategories.some(e=>e.includes(t))&&(r+=18),e.normalizedContent.includes(t)&&(r+=10)});let i=n.filter(t=>e.normalizedTitle.includes(t)||e.normalizedTags.some(e=>e.includes(t))||e.normalizedCategories.some(e=>e.includes(t))||e.normalizedContent.includes(t)).length;return i===0?0:(i===n.length&&(r+=24),e.type===`post`&&(r+=4),r)},Bt=(e,t,n)=>{let r=Z(t),i=Ft(t);return!r||i.length===0?[]:e.map(e=>({searchDocument:e,score:zt(e,r,i)})).filter(e=>e.score>0).sort((e,t)=>t.score-e.score||It(e.searchDocument,t.searchDocument)).slice(0,n).map(e=>e.searchDocument)},Vt=(e,t,n)=>{let r=e.replace(/\s+/g,` `).trim();if(!r)return``;let i=Z(t),a=Z(r).indexOf(i);if(a===-1)return r.length>n?`${r.slice(0,n).trimEnd()}...`:r;let o=Math.max(a-Math.floor(n/3),0),s=Math.min(o+n,r.length),c=o>0?`...`:``,l=s<r.length?`...`:``;return`${c}${r.slice(o,s).trim()}${l}`},Ht=e=>{let t=[];return e.type&&t.push(e.type===`post`?`Post`:`Page`),e.tags.length>0&&t.push(e.tags.slice(0,2).join(`, `)),t.join(` • `)},Ut=(e,t,n,r)=>{let i=e.querySelector(`[data-search-results]`),a=e.querySelector(`[data-search-status]`);i.innerHTML=``,a.textContent=r,t.forEach(t=>{let r=window.document.createElement(`li`);r.className=`site-search__result-item`;let a=window.document.createElement(`a`);a.className=`site-search__result-link`,a.href=t.url;let o=window.document.createElement(`span`);o.className=`site-search__result-title`,o.textContent=t.title,a.append(o);let s=Ht(t);if(s){let e=window.document.createElement(`span`);e.className=`site-search__result-meta`,e.textContent=s,a.append(e)}let c=Number(e.dataset.searchContentPreviewLength||`140`),l=Vt(t.content,n,c);if(l){let e=window.document.createElement(`span`);e.className=`site-search__result-snippet`,e.textContent=l,a.append(e)}r.append(a),i.append(r)})},Wt=e=>{let t=e.querySelector(`[data-search-panel]`),n=e.querySelector(`[data-search-input]`);t.hidden=!1,n.setAttribute(`aria-expanded`,`true`),t.setAttribute(`aria-hidden`,`false`)},Q=e=>{let t=e.querySelector(`[data-search-panel]`),n=e.querySelector(`[data-search-input]`);t.hidden=!0,n.setAttribute(`aria-expanded`,`false`),t.setAttribute(`aria-hidden`,`true`)},$=(e,t)=>{let n=[...e.querySelectorAll(`.site-search__result-link`)];if(n.length===0)return;let r=n.findIndex(e=>e===window.document.activeElement);n[r===-1?t>0?0:n.length-1:(r+t+n.length)%n.length].focus()},Gt=e=>{let t=e.querySelector(`[data-search-input]`),n=e.querySelector(`[data-search-clear]`),r=e.querySelector(`.site-search__form`),i=e.dataset.searchUrl,a=Number(e.dataset.searchMaxResults||`8`),o=Number(e.dataset.searchMinQueryLength||`2`),s=e.dataset.searchIdleText||`Start typing to search the site.`,c=e.dataset.searchTooShortText||`Type at least %d characters to search.`,l=e.dataset.searchLoadingText||`Loading search index...`,u=e.dataset.searchEmptyText||`No results found.`,d=e.dataset.searchErrorText||`Search is unavailable right now.`,f=t=>{let n=e.querySelector(`[data-search-status]`);n.textContent=t},p=()=>{e.querySelector(`[data-search-results]`).innerHTML=``},m=()=>{n.hidden=t.value.length===0},h=async()=>{let n=t.value.trim();if(m(),n.length===0){p(),f(s),Q(e);return}if(Wt(e),n.length<o){p(),f(c.replace(`%d`,`${o}`));return}f(l);try{let t=Bt(await Rt(i),n,a);if(t.length===0){Ut(e,[],n,u);return}Ut(e,t,n,`${t.length} result${t.length===1?``:`s`} for "${n}"`)}catch{p(),f(d)}};t.addEventListener(`focus`,()=>{t.value.trim().length>0&&h()}),t.addEventListener(`input`,()=>{h()}),t.addEventListener(`keydown`,t=>{t.key===`ArrowDown`&&(t.preventDefault(),e.querySelector(`.site-search__result-link`)&&Wt(e),$(e,1)),t.key===`Escape`&&Q(e)}),e.addEventListener(`keydown`,n=>{if(n.key===`Escape`&&(Q(e),t.focus()),n.key===`ArrowDown`&&n.target.matches(`.site-search__result-link`)&&(n.preventDefault(),$(e,1)),n.key===`ArrowUp`&&n.target.matches(`.site-search__result-link`)){if(n.preventDefault(),n.target===e.querySelector(`.site-search__result-link`)){t.focus();return}$(e,-1)}}),n.addEventListener(`click`,()=>{t.value=``,m(),p(),f(s),Q(e),t.focus()}),r.addEventListener(`submit`,t=>{t.preventDefault();let n=e.querySelector(`.site-search__result-link`);if(n){window.location.assign(n.href);return}h()}),window.document.addEventListener(`click`,t=>{e.contains(t.target)||Q(e)}),Q(e)};n({"chevron-down-outline":pt,close:mt,"logo-github":ht,"logo-linkedin":gt,"logo-twitter":_t,"logo-youtube":vt,"menu-outline":yt,"search-outline":bt,"time-outline":xt}),ft(),wt(),Et(),kt(),At(),jt(),Mt(),(()=>{let e=window.document.querySelectorAll(Nt);e.length!==0&&e.forEach(Gt)})()})();
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imdhemy-jekyll-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.1
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mohamad Eldhemy
@@ -89,6 +89,7 @@ files:
89
89
  - LICENSE.txt
90
90
  - README.md
91
91
  - _includes/archive-header.html
92
+ - _includes/certificates.html
92
93
  - _includes/content.html
93
94
  - _includes/contributions.html
94
95
  - _includes/footer.html