@certrev/cert-block 1.2.0-canary.1 → 1.2.0-canary.3
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.
- package/CHANGELOG.md +86 -0
- package/README.md +30 -10
- package/dist/reader/logo-assets.generated.d.ts +3 -0
- package/dist/reader/logo-assets.generated.d.ts.map +1 -0
- package/dist/reader/logo-assets.generated.js +8 -0
- package/dist/reader/logo-assets.generated.js.map +1 -0
- package/dist/reader/logo.d.ts.map +1 -1
- package/dist/reader/logo.js +11 -14
- package/dist/reader/logo.js.map +1 -1
- package/dist/reader/reader-css.generated.d.ts +1 -1
- package/dist/reader/reader-css.generated.d.ts.map +1 -1
- package/dist/reader/reader-css.generated.js +1 -1
- package/dist/reader/reader-css.generated.js.map +1 -1
- package/dist/reader/render.d.ts.map +1 -1
- package/dist/reader/render.js +34 -14
- package/dist/reader/render.js.map +1 -1
- package/dist/reader/tokens.d.ts.map +1 -1
- package/dist/reader/tokens.js +6 -5
- package/dist/reader/tokens.js.map +1 -1
- package/package.json +1 -1
- package/src/reader/logo-assets.generated.ts +7 -0
- package/src/reader/logo.ts +11 -15
- package/src/reader/reader-css.generated.ts +1 -1
- package/src/reader/reader.css +630 -121
- package/src/reader/render.ts +34 -15
- package/src/reader/tokens.ts +6 -5
package/dist/reader/render.js
CHANGED
|
@@ -21,6 +21,12 @@
|
|
|
21
21
|
* its words are fixed. `illustrative` (a CertREV preview, never a live page) fills the cue's slot with the demo's
|
|
22
22
|
* "Illustrative example" label when the envelope has no cue; a real cue always wins the slot;
|
|
23
23
|
* - the scope line is never hideable: the card carries it when there is no memo, the memo card and the sidebar always;
|
|
24
|
+
* - the text leaves are the demo's (what React server-renders): the memo name is the name, "," and the credential; the
|
|
25
|
+
* profile link is "View", the first name and "’s profile"; the sidebar name is the name, "," and the credential in
|
|
26
|
+
* one `<b>`; the certified date is direct text of its span beside the "Certified" cue (no `<time>`); the scope
|
|
27
|
+
* sentence is direct text of the scope element, which carries `data-ftc-line` itself (after the cue's " · " there
|
|
28
|
+
* is a `<!-- -->`, so the cue separator and the sentence are two text nodes). The `<!-- -->` marks between
|
|
29
|
+
* adjacent leaves are React's, kept so the bytes equal the Liquid snippets' and the portal's goldens;
|
|
24
30
|
* - the def's `hidden` set removes the avatars (`reviewerPhoto`), `display.showExpertPhoto === false` keeps the
|
|
25
31
|
* silhouette and never requests the photo, `display.showAuthor === false` drops the author column.
|
|
26
32
|
*
|
|
@@ -82,21 +88,35 @@ function sectionOpen(f, badge, aria) {
|
|
|
82
88
|
`data-certrev-cert-id="${esc(f.certId)}" aria-label="${esc(aria)}">`);
|
|
83
89
|
}
|
|
84
90
|
const anchor = (href, modal, label) => `<a href="${esc(href)}" target="_blank" rel="${CERTREV_LINK_REL}" data-certrev-modal-open${modal}>${label}</a>`;
|
|
85
|
-
/**
|
|
91
|
+
/**
|
|
92
|
+
* The words the memo-less banner and the memo link row use for the profile link: the demo's three leaves ("View", the
|
|
93
|
+
* first name, "’s profile"), set apart by the `<!-- -->` React paints between adjacent text expressions. With no first
|
|
94
|
+
* name the wording stays one leaf.
|
|
95
|
+
*/
|
|
86
96
|
function profileLabel(f) {
|
|
87
97
|
const first = cleaned(firstName(f.ename));
|
|
88
|
-
return first !== '' ? `View
|
|
98
|
+
return first !== '' ? `View <!-- -->${esc(first)}<!-- -->’s profile` : 'View profile';
|
|
89
99
|
}
|
|
90
100
|
const credentialAria = (f) => `Content reviewed by ${f.ename}${f.creds !== '' ? `, ${f.creds}` : ''}`;
|
|
91
|
-
/**
|
|
101
|
+
/**
|
|
102
|
+
* The compensation cue's slot at the head of the scope line (memo footer, sidebar). The separator is followed by an
|
|
103
|
+
* empty `<!-- -->`, as React's server render puts between the demo's two adjacent text children: the element's DOM
|
|
104
|
+
* holds " · " and the sentence as two text nodes. The comment is not text, so the `data-ftc-line` element still
|
|
105
|
+
* reads `{cue} · {sentence}`. With no cue there is no separator and no comment.
|
|
106
|
+
*/
|
|
92
107
|
function scopeLead(f) {
|
|
93
108
|
if (f.hasCue)
|
|
94
|
-
return `<em>${COMPENSATED_EXPERT_CUE}</em> ·
|
|
109
|
+
return `<em>${COMPENSATED_EXPERT_CUE}</em> · <!-- -->`;
|
|
95
110
|
if (f.illus)
|
|
96
|
-
return '<em>Illustrative example</em> · ';
|
|
111
|
+
return '<em>Illustrative example</em> · <!-- -->';
|
|
97
112
|
return '';
|
|
98
113
|
}
|
|
99
|
-
|
|
114
|
+
/**
|
|
115
|
+
* The scope sentence is DIRECT text of the scope element (the demo's `<span class="dg-scope">`), which carries the
|
|
116
|
+
* `data-ftc-line` marker itself: no inner span, so the element's `.certrev-r-scope em` cue and the sentence are leaves of
|
|
117
|
+
* one element, as the demo paints them. The marker is on exactly one element per render, as before.
|
|
118
|
+
*/
|
|
119
|
+
const SCOPE = CERT_SCOPE_LINE;
|
|
100
120
|
/**
|
|
101
121
|
* The muted credential line, empty when the reviewer has no displayed credential (so no "verified" claim prints).
|
|
102
122
|
*
|
|
@@ -146,9 +166,9 @@ function bannerCard(f) {
|
|
|
146
166
|
const rule = hasFoot || f.noMemo ? '<div class="certrev-r-rule"></div>' : '';
|
|
147
167
|
let foot = '';
|
|
148
168
|
if (hasFoot) {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
169
|
+
// The demo's `<span><em>Certified</em>{date}</span>`: the date is direct text of the span (no `<time>`), so the
|
|
170
|
+
// span paints the mono cue and the date's own face.
|
|
171
|
+
const when = certified !== '' ? `<span><em>Certified</em>${esc(certified)}</span>` : '<span></span>';
|
|
152
172
|
let cue = '';
|
|
153
173
|
if (f.hasCue) {
|
|
154
174
|
cue = `<span>Compensated ${f.purl !== '' ? anchor(f.purl, '="expert"', 'expert') : 'expert'}</span>`;
|
|
@@ -159,7 +179,7 @@ function bannerCard(f) {
|
|
|
159
179
|
foot = `<div class="certrev-r-foot">${when}${cue}</div>`;
|
|
160
180
|
}
|
|
161
181
|
// POR-9317: the memo card carries the scope line when there is a memo; with none this card is the sole claim face.
|
|
162
|
-
const scope = f.noMemo ? `<div class="certrev-r-scope" data-ftc-disclosure>${SCOPE}</div>` : '';
|
|
182
|
+
const scope = f.noMemo ? `<div class="certrev-r-scope" data-ftc-disclosure data-ftc-line>${SCOPE}</div>` : '';
|
|
163
183
|
return (`${sectionOpen(f, true, credentialAria(f))}\n <div class="certrev-r-card">\n` +
|
|
164
184
|
` <div class="certrev-r-cap">${readerLogo(f.fg === '#ffffff' ? 'white' : 'mono', 18, 'CertREV')}Expert reviewed & certified</div>\n` +
|
|
165
185
|
` <div class="certrev-r-cap-body">\n <div class="certrev-r-bys${hasAuthor ? '' : ' solo'}">${authorBy}${expertBy}\n </div>` +
|
|
@@ -178,11 +198,11 @@ function bannerMemo(f) {
|
|
|
178
198
|
return (`${sectionOpen(f, false, `Expert memo by ${f.ename}`)}\n <div class="certrev-r-card pad">\n` +
|
|
179
199
|
' <div class="certrev-r-kick">Expert memo</div>\n' +
|
|
180
200
|
` <div class="certrev-r-memo">${avatar}<div>\n` +
|
|
181
|
-
` <div class="certrev-r-memo-name"><b>${esc(f.ename)}</b>${f.creds !== '' ? `,
|
|
201
|
+
` <div class="certrev-r-memo-name"><b>${esc(f.ename)}</b>${f.creds !== '' ? `, <!-- -->${esc(f.creds)}` : ''}</div>\n` +
|
|
182
202
|
` <blockquote>${esc(f.content.memo)}</blockquote>${links}</div>\n </div>\n` +
|
|
183
203
|
' <div class="certrev-r-rule"></div>\n <div class="certrev-r-vfoot">\n' +
|
|
184
204
|
` <span class="certrev-r-verified">${readerLogo('mono', 17, '')}Verified by <b>CertREV</b></span>\n` +
|
|
185
|
-
` <span class="certrev-r-scope" data-ftc-disclosure>${scopeLead(f)}${SCOPE}</span>\n </div>\n </div>\n</section>`);
|
|
205
|
+
` <span class="certrev-r-scope" data-ftc-disclosure data-ftc-line>${scopeLead(f)}${SCOPE}</span>\n </div>\n </div>\n</section>`);
|
|
186
206
|
}
|
|
187
207
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
188
208
|
// Sidebar and floating pill
|
|
@@ -202,10 +222,10 @@ function sidebar(f) {
|
|
|
202
222
|
return (`${sectionOpen(f, true, credentialAria(f))}\n <div class="certrev-r-side">\n` +
|
|
203
223
|
` <div class="certrev-r-cap center">${readerLogo(f.fg === '#ffffff' ? 'white' : 'mono', 18, 'CertREV')}Expert reviewed</div>\n` +
|
|
204
224
|
` <div class="certrev-r-side-body">\n <div class="certrev-r-by">${avatar}<div>\n` +
|
|
205
|
-
` <b>${esc(f.ename)}${f.creds !== '' ?
|
|
225
|
+
` <b>${esc(f.ename)}${f.creds !== '' ? `<!-- -->, <!-- -->${esc(f.creds)}` : ''}</b>${verifiedLine(f, false)}</div>\n </div>` +
|
|
206
226
|
`${bio !== '' ? `<p>${esc(bio)}</p>` : ''}` +
|
|
207
227
|
`${isBlank(f.content.memo) ? '' : `<blockquote>${esc(f.content.memo)}</blockquote>`}` +
|
|
208
|
-
`<div class="certrev-r-scope" data-ftc-disclosure>${scopeLead(f)}${SCOPE}</div>\n </div>` +
|
|
228
|
+
`<div class="certrev-r-scope" data-ftc-disclosure data-ftc-line>${scopeLead(f)}${SCOPE}</div>\n </div>` +
|
|
209
229
|
`${links}</div>\n</section>`);
|
|
210
230
|
}
|
|
211
231
|
function pill(f) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/reader/render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/reader/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAE3G,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EACN,OAAO,EACP,QAAQ,EACR,GAAG,EACH,SAAS,EACT,OAAO,EACP,SAAS,EACT,QAAQ,EACR,QAAQ,EAER,GAAG,EACH,OAAO,EACP,MAAM,GACN,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAkD1C,SAAS,SAAS,CAAC,KAAsB;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAClC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAClC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACjC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;IACrB,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;IAEnB,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACvD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,KAAK,KAAK,IAAI,CAAC,UAAU,CAAA;IAE/D,+GAA+G;IAC/G,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAA;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAA;YAC9E,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxC,CAAC;IACF,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IAChD,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;IACvC,OAAO;QACN,OAAO;QACP,MAAM;QACN,IAAI;QACJ,GAAG;QACH,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;QACjC,UAAU;QACV,SAAS;QACT,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QACxB,MAAM;QACN,KAAK,EAAE,KAAK,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,MAAM;QAC7C,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QAC7B,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzC,KAAK;QACL,EAAE;KACF,CAAA;AACF,CAAC;AAED,yHAAyH;AACzH,SAAS,WAAW,CAAC,CAAQ,EAAE,KAAc,EAAE,IAAY;IAC1D,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,gBAAgB,CAAA;IACrE,mEAAmE;IACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,8BAA8B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IACzF,OAAO,CACN,mBAAmB,GAAG,YAAY,CAAC,CAAC,KAAK,IAAI,OAAO,kCAAkC,oBAAoB,IAAI;QAC9G,yBAAyB,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,IAAI,CACpE,CAAA;AACF,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,KAAa,EAAU,EAAE,CACrE,YAAY,GAAG,CAAC,IAAI,CAAC,0BAA0B,gBAAgB,4BAA4B,KAAK,IAAI,KAAK,MAAM,CAAA;AAEhH;;;;GAIG;AACH,SAAS,YAAY,CAAC,CAAQ;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;IACzC,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,gBAAgB,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC,cAAc,CAAA;AAC5F,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,CAAQ,EAAU,EAAE,CAAC,uBAAuB,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;AAEpH;;;;;GAKG;AACH,SAAS,SAAS,CAAC,CAAQ;IAC1B,IAAI,CAAC,CAAC,MAAM;QAAE,OAAO,OAAO,sBAAsB,kBAAkB,CAAA;IACpE,IAAI,CAAC,CAAC,KAAK;QAAE,OAAO,0CAA0C,CAAA;IAC9D,OAAO,EAAE,CAAA;AACV,CAAC;AAED;;;;GAIG;AACH,MAAM,KAAK,GAAG,eAAe,CAAA;AAE7B;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,CAAQ,EAAE,eAAwB;IACvD,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE;QAAE,OAAO,EAAE,CAAA;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAA;IAC3G,MAAM,EAAE,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAChD,IAAI,CAAC,eAAe;QAAE,OAAO,qCAAqC,EAAE,OAAO,CAAA;IAC3E,OAAO,aAAa,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,iDAAiD,EAAE,cAAc,CAAA;AAClG,CAAC;AAED,gFAAgF;AAChF,sFAAsF;AACtF,gFAAgF;AAEhF,SAAS,UAAU,CAAC,CAAQ;IAC3B,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE;QAAE,OAAO,EAAE,CAAA;IAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACpC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACtC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACxC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,EAAE,IAAI,UAAU,KAAK,CAAC,CAAC,KAAK,CAAA;IAC5F,MAAM,MAAM,GAAG,CAAC,KAAc,EAAE,IAAe,EAAU,EAAE,CAC1D,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IAE9E,MAAM,QAAQ,GAAG,SAAS;QACzB,CAAC,CAAC,6BAA6B,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,2BAA2B,GAAG,CAAC,UAAU,CAAC,MAAM;YAC3G,GAAG,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,sFAAsF;QAClJ,CAAC,CAAC,EAAE,CAAA;IACL,MAAM,QAAQ,GACb,6BAA6B,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,yBAAyB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM;QACrG,GAAG,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,sFAAsF,CAAA;IAE/G,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAA;IACzC,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAA;IAE5E,gGAAgG;IAChG,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC;QAClD,KAAK;YACJ,+BAA+B;gBAC/B,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,QAAQ,CAAA;IACV,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAA;IACvD,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,EAAE,CAAA;IAE5E,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,IAAI,OAAO,EAAE,CAAC;QACb,gHAAgH;QAChH,oDAAoD;QACpD,MAAM,IAAI,GAAG,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,2BAA2B,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAA;QACpG,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACd,GAAG,GAAG,qBAAqB,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAA;QACrG,CAAC;aAAM,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACpB,GAAG,GAAG,mCAAmC,CAAA;QAC1C,CAAC;QACD,IAAI,GAAG,+BAA+B,IAAI,GAAG,GAAG,QAAQ,CAAA;IACzD,CAAC;IAED,mHAAmH;IACnH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,kEAAkE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IAE7G,OAAO,CACN,GAAG,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,oCAAoC;QAC9E,kCAAkC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,yCAAyC;QAC3I,wEAAwE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,GAAG,QAAQ,gBAAgB;QACxI,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,8BAA8B,CAC5D,CAAA;AACF,CAAC;AAED,SAAS,UAAU,CAAC,CAAQ;IAC3B,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IACxD,MAAM,KAAK,GACV,CAAC,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,EAAE;QAC7B,CAAC,CAAC,+BAA+B;YAChC,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,QAAQ;QACT,CAAC,CAAC,EAAE,CAAA;IACN,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACtH,OAAO,CACN,GAAG,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC,wCAAwC;QAC7F,qDAAqD;QACrD,mCAAmC,MAAM,SAAS;QAClD,+CAA+C,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU;QAC7H,uBAAuB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,KAAK,sBAAsB;QACrF,6EAA6E;QAC7E,0CAA0C,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,qCAAqC;QACzG,yEAAyE,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,2CAA2C,CACxI,CAAA;AACF,CAAC;AAED,gFAAgF;AAChF,4BAA4B;AAC5B,gFAAgF;AAEhF,SAAS,OAAO,CAAC,CAAQ;IACxB,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE;QAAE,OAAO,EAAE,CAAA;IAC7B,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1F,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACtH,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,EAAE,CAAA;IAC3C,MAAM,KAAK,GACV,CAAC,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,EAAE;QAC7B,CAAC,CAAC,mCAAmC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI;YAC7D,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,QAAQ;QACT,CAAC,CAAC,EAAE,CAAA;IACN,OAAO,CACN,GAAG,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,oCAAoC;QAC9E,yCAAyC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,yBAAyB;QAClI,0EAA0E,MAAM,SAAS;QACzF,gBAAgB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,sBAAsB;QAC3I,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3C,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE;QACrF,kEAAkE,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,oBAAoB;QAC1G,GAAG,KAAK,oBAAoB,CAC5B,CAAA;AACF,CAAC;AAED,SAAS,IAAI,CAAC,CAAQ;IACrB,IAAI,CAAC,CAAC,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3G,OAAO,CACN,GAAG,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,qEAAqE;QAC/G,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,aAAa,CAAC,wBAAwB,CACtE,CAAA;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAsB;IACtD,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;IACjD,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;IAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,MAAM,CAAA;IACjC,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAA;IAC3C,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAA;IACzC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACjF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/reader/tokens.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/reader/tokens.ts"],"names":[],"mappings":"AAkEA,MAAM,WAAW,YAAY;IAC5B,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,4GAA4G;IAC5G,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAoBvD"}
|
package/dist/reader/tokens.js
CHANGED
|
@@ -22,16 +22,17 @@ const DEFAULT_RADIUS = '14px';
|
|
|
22
22
|
const DARK_INK = '#141414';
|
|
23
23
|
/**
|
|
24
24
|
* The font stack per `fontSlot`, in one table so the Liquid `certrev-reader-tokens` snippet and this one are compared
|
|
25
|
-
* on a single list. An unknown or missing slot is the sans stack, as in the snippet. The
|
|
26
|
-
* the reader
|
|
27
|
-
*
|
|
25
|
+
* on a single list. An unknown or missing slot is the sans stack, as in the snippet. The stacks are the demo's own, byte
|
|
26
|
+
* for byte: the reader block of `reader.css` declares certrev.com's own faces under these family names (DM Sans,
|
|
27
|
+
* Playfair Display, Plus Jakarta Sans, JetBrains Mono) at `font-stretch: 101%`, which the reader root asks for, so the
|
|
28
|
+
* legacy faces a page may also load are untouched. `system` has no demo stack and keeps the legacy one.
|
|
28
29
|
*/
|
|
29
30
|
function fontStack(slot) {
|
|
30
31
|
switch (slot) {
|
|
31
32
|
case 'serif':
|
|
32
|
-
return "'
|
|
33
|
+
return "'Playfair Display', ui-serif, Georgia, serif";
|
|
33
34
|
case 'grotesk':
|
|
34
|
-
return "'
|
|
35
|
+
return "'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif";
|
|
35
36
|
case 'mono':
|
|
36
37
|
return "'JetBrains Mono', ui-monospace, monospace";
|
|
37
38
|
case 'system':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/reader/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAE/C,sDAAsD;AACtD,MAAM,cAAc,GAAG,SAAS,CAAA;AAChC,MAAM,cAAc,GAAG,MAAM,CAAA;AAC7B,2FAA2F;AAC3F,MAAM,QAAQ,GAAG,SAAS,CAAA;AAE1B
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/reader/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAE/C,sDAAsD;AACtD,MAAM,cAAc,GAAG,SAAS,CAAA;AAChC,MAAM,cAAc,GAAG,MAAM,CAAA;AAC7B,2FAA2F;AAC3F,MAAM,QAAQ,GAAG,SAAS,CAAA;AAE1B;;;;;;GAMG;AACH,SAAS,SAAS,CAAC,IAAY;IAC9B,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,OAAO;YACX,OAAO,8CAA8C,CAAA;QACtD,KAAK,SAAS;YACb,OAAO,2DAA2D,CAAA;QACnE,KAAK,MAAM;YACV,OAAO,2CAA2C,CAAA;QACnD,KAAK,QAAQ;YACZ,OAAO,8EAA8E,CAAA;QACtF;YACC,OAAO,iDAAiD,CAAA;IAC1D,CAAC;AACF,CAAC;AAED,yHAAyH;AACzH,MAAM,GAAG,GAAG,sCAAsC,CAAA;AAClD;;;GAGG;AACH,MAAM,MAAM,GAAG,yCAAyC,CAAA;AAExD,8EAA8E;AAC9E,SAAS,SAAS,CAAC,KAAc;IAChC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC1B,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;AAClC,CAAC;AAED,mGAAmG;AACnG,SAAS,MAAM,CAAC,KAAc;IAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC1B,OAAO,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;AACrD,CAAC;AASD,MAAM,UAAU,YAAY,CAAC,GAAY;IACxC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;IACnB,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;IAE7B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAC5C,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,IAAI,cAAc,CAAA;IAE7C,4GAA4G;IAC5G,gGAAgG;IAChG,IAAI,EAAE,GAAG,SAAS,CAAA;IAClB,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QACnB,IAAI,EAAE,CAAC,QAAQ,KAAK,QAAQ;YAAE,EAAE,GAAG,QAAQ,CAAA;IAC5C,CAAC;SAAM,IAAI,MAAM,KAAK,EAAE,IAAI,EAAE,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACtD,EAAE,GAAG,QAAQ,CAAA;IACd,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,cAAc,CAAA;IACxD,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC7C,OAAO,EAAE,KAAK,EAAE,WAAW,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,YAAY,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAA;AAC7F,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@certrev/cert-block",
|
|
3
|
-
"version": "1.2.0-canary.
|
|
3
|
+
"version": "1.2.0-canary.3",
|
|
4
4
|
"description": "Headless render edge for the CertREV CertDeliveryEnvelope: SSR-safe React cert components, a framework-agnostic <certrev-badge> Web Component, a schema.org JSON-LD projector, and a fail-closed verify layer over the shared VerdictKernel.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// biome-ignore-all format: generated file
|
|
2
|
+
// biome-ignore-all lint: generated file
|
|
3
|
+
// GENERATED by scripts/refresh-reader.mjs from the portal's certrev-logo-{white,mono}.svg (the demo's own logo
|
|
4
|
+
// files) as the base64 data URIs the portal parity engine prints for them. Do not edit: run the script.
|
|
5
|
+
// reader-logo-files.test.ts decodes each and pins the sha256 of its bytes. (Typed `string`, so the .d.ts stays small.)
|
|
6
|
+
export const LOGO_WHITE_DATA_URI: string = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNTAwIiB6b29tQW5kUGFuPSJtYWduaWZ5IiB2aWV3Qm94PSIwIDAgMzc1IDM3NC45OTk5OTEiIGhlaWdodD0iNTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB2ZXJzaW9uPSIxLjAiPjxkZWZzPjxjbGlwUGF0aCBpZD0iNGM1Mjk4ODk3MiI+PHBhdGggZD0iTSAxOSAyMTYgTCAxNDUgMjE2IEwgMTQ1IDM0MSBMIDE5IDM0MSBaIE0gMTkgMjE2ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjNiZjBhODc4YWYiPjxwYXRoIGQ9Ik0gNTQuMzMyMDMxIDIwOC41MTE3MTkgTCAxNTIuMDg1OTM4IDMwNi4yNjU2MjUgTCAxMDkuODEyNSAzNDguNTM1MTU2IEwgMTIuMDYyNSAyNTAuNzgxMjUgWiBNIDU0LjMzMjAzMSAyMDguNTExNzE5ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImMwMzMzNzViMjIiPjxwYXRoIGQ9Ik0gNjcuNTg5ODQ0IDIyMS43Njk1MzEgTCAxMzguNzczNDM4IDI5Mi45NTMxMjUgQyAxNDIuMjg5MDYyIDI5Ni40Njg3NSAxNDQuMjY1NjI1IDMwMS4yMzgyODEgMTQ0LjI2NTYyNSAzMDYuMjEwOTM4IEMgMTQ0LjI2NTYyNSAzMTEuMTgzNTk0IDE0Mi4yODkwNjIgMzE1Ljk1MzEyNSAxMzguNzczNDM4IDMxOS40Njg3NSBMIDEyMy4wMTk1MzEgMzM1LjIyMjY1NiBDIDExOS41MDM5MDYgMzM4Ljc0MjE4OCAxMTQuNzM0Mzc1IDM0MC43MTQ4NDQgMTA5Ljc2MTcxOSAzNDAuNzE0ODQ0IEMgMTA0Ljc4OTA2MiAzNDAuNzE0ODQ0IDEwMC4wMTk1MzEgMzM4Ljc0MjE4OCA5Ni41MDM5MDYgMzM1LjIyMjY1NiBMIDI1LjMyMDMxMiAyNjQuMDQyOTY5IEMgMjEuODA0Njg4IDI2MC41MjM0MzggMTkuODI4MTI1IDI1NS43NTc4MTIgMTkuODI4MTI1IDI1MC43ODEyNSBDIDE5LjgyODEyNSAyNDUuODA4NTk0IDIxLjgwNDY4OCAyNDEuMDQyOTY5IDI1LjMyMDMxMiAyMzcuNTIzNDM4IEwgNDEuMDc0MjE5IDIyMS43Njk1MzEgQyA0NC41ODk4NDQgMjE4LjI1MzkwNiA0OS4zNTkzNzUgMjE2LjI3NzM0NCA1NC4zMzIwMzEgMjE2LjI3NzM0NCBDIDU5LjMwNDY4OCAyMTYuMjc3MzQ0IDY0LjA3NDIxOSAyMTguMjUzOTA2IDY3LjU4OTg0NCAyMjEuNzY5NTMxIFogTSA2Ny41ODk4NDQgMjIxLjc2OTUzMSAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSI5OTczNDdhYTk0Ij48cGF0aCBkPSJNIDAuNjc5Njg4IDAuMjM4MjgxIEwgMTI1LjQ4MDQ2OSAwLjIzODI4MSBMIDEyNS40ODA0NjkgMTI0LjgwMDc4MSBMIDAuNjc5Njg4IDEyNC44MDA3ODEgWiBNIDAuNjc5Njg4IDAuMjM4MjgxICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNiNGY0NmMwODgiPjxwYXRoIGQ9Ik0gMzUuMzMyMDMxIC03LjQ4ODI4MSBMIDEzMy4wODU5MzggOTAuMjY1NjI1IEwgOTAuODEyNSAxMzIuNTM1MTU2IEwgLTYuOTM3NSAzNC43ODEyNSBaIE0gMzUuMzMyMDMxIC03LjQ4ODI4MSAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSI1ZDAzOTc0ODg0Ij48cGF0aCBkPSJNIDQ4LjU4OTg0NCA1Ljc2OTUzMSBMIDExOS43NzM0MzggNzYuOTUzMTI1IEMgMTIzLjI4OTA2MiA4MC40Njg3NSAxMjUuMjY1NjI1IDg1LjIzODI4MSAxMjUuMjY1NjI1IDkwLjIxMDkzOCBDIDEyNS4yNjU2MjUgOTUuMTgzNTk0IDEyMy4yODkwNjIgOTkuOTUzMTI1IDExOS43NzM0MzggMTAzLjQ2ODc1IEwgMTA0LjAxOTUzMSAxMTkuMjIyNjU2IEMgMTAwLjUwMzkwNiAxMjIuNzQyMTg4IDk1LjczNDM3NSAxMjQuNzE0ODQ0IDkwLjc2MTcxOSAxMjQuNzE0ODQ0IEMgODUuNzg5MDYyIDEyNC43MTQ4NDQgODEuMDE5NTMxIDEyMi43NDIxODggNzcuNTAzOTA2IDExOS4yMjI2NTYgTCA2LjMyMDMxMiA0OC4wNDI5NjkgQyAyLjgwNDY4OCA0NC41MjM0MzggMC44MjgxMjUgMzkuNzU3ODEyIDAuODI4MTI1IDM0Ljc4MTI1IEMgMC44MjgxMjUgMjkuODA4NTk0IDIuODA0Njg4IDI1LjA0Mjk2OSA2LjMyMDMxMiAyMS41MjM0MzggTCAyMi4wNzQyMTkgNS43Njk1MzEgQyAyNS41ODk4NDQgMi4yNTM5MDYgMzAuMzU5Mzc1IDAuMjc3MzQ0IDM1LjMzMjAzMSAwLjI3NzM0NCBDIDQwLjMwNDY4OCAwLjI3NzM0NCA0NS4wNzQyMTkgMi4yNTM5MDYgNDguNTg5ODQ0IDUuNzY5NTMxIFogTSA0OC41ODk4NDQgNS43Njk1MzEgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iYjczZDEwMDVlMiI+PHJlY3QgeD0iMCIgd2lkdGg9IjEyNiIgeT0iMCIgaGVpZ2h0PSIxMjUiPjwvcmVjdD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iN2ViNDE0OWQ2OCI+PHBhdGggZD0iTSA3NSA1MiBMIDM2NCA1MiBMIDM2NCAzNDEgTCA3NSAzNDEgWiBNIDc1IDUyICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjVmYTczOGE2YmIiPjxwYXRoIGQ9Ik0gMzcxLjI5Mjk2OSA4Ny4wNzgxMjUgTCAxMDkuODk4NDM4IDM0OC40NzI2NTYgTCA2Ny43MzQzNzUgMzA2LjMwNDY4OCBMIDMyOS4xMjUgNDQuOTE0MDYyIFogTSAzNzEuMjkyOTY5IDg3LjA3ODEyNSAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSIxNWQ5N2IwOTAxIj48cGF0aCBkPSJNIDk2Ljc4NTE1NiAzMzUuMDgyMDMxIEwgODEuMTIxMDk0IDMxOS40MTc5NjkgQyA3My44MDQ2ODggMzEyLjEwMTU2MiA3My44MDQ2ODggMzAwLjIzNDM3NSA4MS4xMjEwOTQgMjkyLjkxNzk2OSBMIDMxNS44NzUgNTguMTY0MDYyIEMgMzIzLjE5NTMxMiA1MC44NDc2NTYgMzM1LjA1ODU5NCA1MC44NDc2NTYgMzQyLjM3NSA1OC4xNjQwNjIgTCAzNTguMDM5MDYyIDczLjgyODEyNSBDIDM2NS4zNTkzNzUgODEuMTQ0NTMxIDM2NS4zNTkzNzUgOTMuMDExNzE5IDM1OC4wMzkwNjIgMTAwLjMyODEyNSBMIDEyMy4yODkwNjIgMzM1LjA4MjAzMSBDIDExNS45Njg3NSAzNDIuMzk4NDM4IDEwNC4xMDU0NjkgMzQyLjM5ODQzOCA5Ni43ODUxNTYgMzM1LjA4MjAzMSBaIE0gOTYuNzg1MTU2IDMzNS4wODIwMzEgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iYTZiODYyYTYxNSI+PHBhdGggZD0iTSAwIDAgTCAyODkgMCBMIDI4OSAyODkgTCAwIDI4OSBaIE0gMCAwICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImFlOTczYWI1MGMiPjxwYXRoIGQ9Ik0gMjk2LjI5Mjk2OSAzNS4wNzgxMjUgTCAzNC44OTg0MzggMjk2LjQ3MjY1NiBMIC03LjI2NTYyNSAyNTQuMzA0Njg4IEwgMjU0LjEyNSAtNy4wODU5MzggWiBNIDI5Ni4yOTI5NjkgMzUuMDc4MTI1ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImMyM2QxYzViZDMiPjxwYXRoIGQ9Ik0gMjEuNzg1MTU2IDI4My4wODIwMzEgTCA2LjEyMTA5NCAyNjcuNDE3OTY5IEMgLTEuMTk1MzEyIDI2MC4xMDE1NjIgLTEuMTk1MzEyIDI0OC4yMzQzNzUgNi4xMjEwOTQgMjQwLjkxNzk2OSBMIDI0MC44NzUgNi4xNjQwNjIgQyAyNDguMTk1MzEyIC0xLjE1MjM0NCAyNjAuMDU4NTk0IC0xLjE1MjM0NCAyNjcuMzc1IDYuMTY0MDYyIEwgMjgzLjAzOTA2MiAyMS44MjgxMjUgQyAyOTAuMzU5Mzc1IDI5LjE0NDUzMSAyOTAuMzU5Mzc1IDQxLjAxMTcxOSAyODMuMDM5MDYyIDQ4LjMyODEyNSBMIDQ4LjI4OTA2MiAyODMuMDgyMDMxIEMgNDAuOTY4NzUgMjkwLjM5ODQzOCAyOS4xMDU0NjkgMjkwLjM5ODQzOCAyMS43ODUxNTYgMjgzLjA4MjAzMSBaIE0gMjEuNzg1MTU2IDI4My4wODIwMzEgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iNWJjYTg0ZjYzYSI+PHJlY3QgeD0iMCIgd2lkdGg9IjI4OSIgeT0iMCIgaGVpZ2h0PSIyODkiPjwvcmVjdD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iOGE1NDE0NmE5MiI+PHBhdGggZD0iTSAxODIgMTU5IEwgMzY0IDE1OSBMIDM2NCAzNDEgTCAxODIgMzQxIFogTSAxODIgMTU5ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjhkNTM3ZjYwNTYiPjxwYXRoIGQ9Ik0gMzcxLjI5Mjk2OSAxOTMuODQ3NjU2IEwgMjE2LjYyODkwNiAzNDguNTExNzE5IEwgMTc0LjQ2NDg0NCAzMDYuMzQzNzUgTCAzMjkuMTI1IDE1MS42ODM1OTQgWiBNIDM3MS4yOTI5NjkgMTkzLjg0NzY1NiAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJhYzRhZmU3YTAwIj48cGF0aCBkPSJNIDIwMy40OTYwOTQgMzM1LjE0MDYyNSBMIDE4Ny44MzIwMzEgMzE5LjQ3NjU2MiBDIDE4MC41MTU2MjUgMzEyLjE2MDE1NiAxODAuNTE1NjI1IDMwMC4yOTI5NjkgMTg3LjgzMjAzMSAyOTIuOTc2NTYyIEwgMzE1Ljg3NSAxNjQuOTMzNTk0IEMgMzIzLjE5NTMxMiAxNTcuNjE3MTg4IDMzNS4wNTg1OTQgMTU3LjYxNzE4OCAzNDIuMzc4OTA2IDE2NC45MzM1OTQgTCAzNTguMDQyOTY5IDE4MC41OTc2NTYgQyAzNjUuMzU5Mzc1IDE4Ny45MTc5NjkgMzY1LjM1OTM3NSAxOTkuNzgxMjUgMzU4LjA0Mjk2OSAyMDcuMTAxNTYyIEwgMjMwIDMzNS4xNDA2MjUgQyAyMjIuNjc5Njg4IDM0Mi40NjA5MzggMjEwLjgxNjQwNiAzNDIuNDYwOTM4IDIwMy40OTYwOTQgMzM1LjE0MDYyNSBaIE0gMjAzLjQ5NjA5NCAzMzUuMTQwNjI1ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjA4Y2Y2YWZmZGQiPjxwYXRoIGQ9Ik0gMCAwIEwgMTgyIDAgTCAxODIgMTgyIEwgMCAxODIgWiBNIDAgMCAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSIwMzQyZmEyNmM3Ij48cGF0aCBkPSJNIDE4OS4yOTI5NjkgMzQuODQ3NjU2IEwgMzQuNjI4OTA2IDE4OS41MTE3MTkgTCAtNy41MzUxNTYgMTQ3LjM0Mzc1IEwgMTQ3LjEyNSAtNy4zMTY0MDYgWiBNIDE4OS4yOTI5NjkgMzQuODQ3NjU2ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjBjODkxNjFmZjIiPjxwYXRoIGQ9Ik0gMjEuNDk2MDk0IDE3Ni4xNDA2MjUgTCA1LjgzMjAzMSAxNjAuNDc2NTYyIEMgLTEuNDg0Mzc1IDE1My4xNjAxNTYgLTEuNDg0Mzc1IDE0MS4yOTI5NjkgNS44MzIwMzEgMTMzLjk3NjU2MiBMIDEzMy44NzUgNS45MzM1OTQgQyAxNDEuMTk1MzEyIC0xLjM4MjgxMiAxNTMuMDU4NTk0IC0xLjM4MjgxMiAxNjAuMzc4OTA2IDUuOTMzNTk0IEwgMTc2LjA0Mjk2OSAyMS41OTc2NTYgQyAxODMuMzU5Mzc1IDI4LjkxNzk2OSAxODMuMzU5Mzc1IDQwLjc4MTI1IDE3Ni4wNDI5NjkgNDguMTAxNTYyIEwgNDggMTc2LjE0MDYyNSBDIDQwLjY3OTY4OCAxODMuNDYwOTM4IDI4LjgxNjQwNiAxODMuNDYwOTM4IDIxLjQ5NjA5NCAxNzYuMTQwNjI1IFogTSAyMS40OTYwOTQgMTc2LjE0MDYyNSAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJhMjFlODA1NzcwIj48cmVjdCB4PSIwIiB3aWR0aD0iMTgyIiB5PSIwIiBoZWlnaHQ9IjE4MiI+PC9yZWN0PjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSI2ZTc3ODBkOTcyIj48cGF0aCBkPSJNIDI4OSAyNjYgTCAzNjQgMjY2IEwgMzY0IDM0MSBMIDI4OSAzNDEgWiBNIDI4OSAyNjYgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iOGYyMTkwMTRkZSI+PHBhdGggZD0iTSAzNzEuMjkyOTY5IDMwMC42MjEwOTQgTCAzMjMuMzYzMjgxIDM0OC41NTA3ODEgTCAyODEuMTk1MzEyIDMwNi4zODI4MTIgTCAzMjkuMTI1IDI1OC40NTMxMjUgWiBNIDM3MS4yOTI5NjkgMzAwLjYyMTA5NCAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSIxNzE3YWM2MjMwIj48cGF0aCBkPSJNIDMxMC4yMDcwMzEgMzM1LjIwMzEyNSBMIDI5NC41NDI5NjkgMzE5LjUzOTA2MiBDIDI4Ny4yMjY1NjIgMzEyLjIxODc1IDI4Ny4yMjY1NjIgMzAwLjM1NTQ2OSAyOTQuNTQyOTY5IDI5My4wMzUxNTYgTCAzMTUuODc1IDI3MS43MDcwMzEgQyAzMjMuMTk1MzEyIDI2NC4zODY3MTkgMzM1LjA1ODU5NCAyNjQuMzg2NzE5IDM0Mi4zNzg5MDYgMjcxLjcwNzAzMSBMIDM1OC4wNDI5NjkgMjg3LjM2NzE4OCBDIDM2NS4zNTkzNzUgMjk0LjY4NzUgMzY1LjM1OTM3NSAzMDYuNTUwNzgxIDM1OC4wNDI5NjkgMzEzLjg3MTA5NCBMIDMzNi43MTA5MzggMzM1LjIwMzEyNSBDIDMyOS4zOTA2MjUgMzQyLjUxOTUzMSAzMTcuNTI3MzQ0IDM0Mi41MTk1MzEgMzEwLjIwNzAzMSAzMzUuMjAzMTI1IFogTSAzMTAuMjA3MDMxIDMzNS4yMDMxMjUgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iMTA1OGNkNzJkZiI+PHBhdGggZD0iTSAwIDAgTCA3NSAwIEwgNzUgNzUgTCAwIDc1IFogTSAwIDAgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iYmM4NGY4MTIwOCI+PHBhdGggZD0iTSA4Mi4yOTI5NjkgMzQuNjIxMDk0IEwgMzQuMzYzMjgxIDgyLjU1MDc4MSBMIC03LjgwNDY4OCA0MC4zODI4MTIgTCA0MC4xMjUgLTcuNTQ2ODc1IFogTSA4Mi4yOTI5NjkgMzQuNjIxMDk0ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImYwZjk4MjVlZDIiPjxwYXRoIGQ9Ik0gMjEuMjA3MDMxIDY5LjIwMzEyNSBMIDUuNTQyOTY5IDUzLjUzOTA2MiBDIC0xLjc3MzQzOCA0Ni4yMTg3NSAtMS43NzM0MzggMzQuMzU1NDY5IDUuNTQyOTY5IDI3LjAzNTE1NiBMIDI2Ljg3NSA1LjcwNzAzMSBDIDM0LjE5NTMxMiAtMS42MTMyODEgNDYuMDU4NTk0IC0xLjYxMzI4MSA1My4zNzg5MDYgNS43MDcwMzEgTCA2OS4wNDI5NjkgMjEuMzY3MTg4IEMgNzYuMzU5Mzc1IDI4LjY4NzUgNzYuMzU5Mzc1IDQwLjU1MDc4MSA2OS4wNDI5NjkgNDcuODcxMDk0IEwgNDcuNzEwOTM4IDY5LjIwMzEyNSBDIDQwLjM5MDYyNSA3Ni41MTk1MzEgMjguNTI3MzQ0IDc2LjUxOTUzMSAyMS4yMDcwMzEgNjkuMjAzMTI1IFogTSAyMS4yMDcwMzEgNjkuMjAzMTI1ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjQwN2JjZmM1NWQiPjxyZWN0IHg9IjAiIHdpZHRoPSI3NSIgeT0iMCIgaGVpZ2h0PSI3NSI+PC9yZWN0PjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCM0YzUyOTg4OTcyKSI+PGcgY2xpcC1wYXRoPSJ1cmwoIzNiZjBhODc4YWYpIj48ZyBjbGlwLXBhdGg9InVybCgjYzAzMzM3NWIyMikiPjxnIHRyYW5zZm9ybT0ibWF0cml4KDEsIDAsIDAsIDEsIDE5LCAyMTYpIj48ZyBjbGlwLXBhdGg9InVybCgjYjczZDEwMDVlMikiPjxnIGNsaXAtcGF0aD0idXJsKCM5OTczNDdhYTk0KSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NiNGY0NmMwODgpIj48ZyBjbGlwLXBhdGg9InVybCgjNWQwMzk3NDg4NCkiPjxwYXRoIGZpbGw9IiNmZmZmZmYiIGQ9Ik0gMzUuMzMyMDMxIC03LjQ4ODI4MSBMIDEzMy4wODU5MzggOTAuMjY1NjI1IEwgOTAuODEyNSAxMzIuNTM1MTU2IEwgLTYuOTM3NSAzNC43ODEyNSBaIE0gMzUuMzMyMDMxIC03LjQ4ODI4MSAiIGZpbGwtb3BhY2l0eT0iMSIgZmlsbC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48ZyBjbGlwLXBhdGg9InVybCgjN2ViNDE0OWQ2OCkiPjxnIGNsaXAtcGF0aD0idXJsKCM1ZmE3MzhhNmJiKSI+PGcgY2xpcC1wYXRoPSJ1cmwoIzE1ZDk3YjA5MDEpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLCAwLCAwLCAxLCA3NSwgNTIpIj48ZyBjbGlwLXBhdGg9InVybCgjNWJjYTg0ZjYzYSkiPjxnIGNsaXAtcGF0aD0idXJsKCNhNmI4NjJhNjE1KSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2FlOTczYWI1MGMpIj48ZyBjbGlwLXBhdGg9InVybCgjYzIzZDFjNWJkMykiPjxwYXRoIGZpbGw9IiNmZmZmZmYiIGQ9Ik0gMjk2LjI5Mjk2OSAzNS4wNzgxMjUgTCAzNS4wNjI1IDI5Ni4zMDg1OTQgTCAtNy4xMDE1NjIgMjU0LjE0MDYyNSBMIDI1NC4xMjUgLTcuMDg1OTM4IFogTSAyOTYuMjkyOTY5IDM1LjA3ODEyNSAiIGZpbGwtb3BhY2l0eT0iMSIgZmlsbC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48ZyBjbGlwLXBhdGg9InVybCgjOGE1NDE0NmE5MikiPjxnIGNsaXAtcGF0aD0idXJsKCM4ZDUzN2Y2MDU2KSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2FjNGFmZTdhMDApIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLCAwLCAwLCAxLCAxODIsIDE1OSkiPjxnIGNsaXAtcGF0aD0idXJsKCNhMjFlODA1NzcwKSI+PGcgY2xpcC1wYXRoPSJ1cmwoIzA4Y2Y2YWZmZGQpIj48ZyBjbGlwLXBhdGg9InVybCgjMDM0MmZhMjZjNykiPjxnIGNsaXAtcGF0aD0idXJsKCMwYzg5MTYxZmYyKSI+PHBhdGggZmlsbD0iI2ZmZmZmZiIgZD0iTSAxODkuMjkyOTY5IDM0Ljg0NzY1NiBMIDM0Ljc5Mjk2OSAxODkuMzQ3NjU2IEwgLTcuMzcxMDk0IDE0Ny4xNzk2ODggTCAxNDcuMTI1IC03LjMxNjQwNiBaIE0gMTg5LjI5Mjk2OSAzNC44NDc2NTYgIiBmaWxsLW9wYWNpdHk9IjEiIGZpbGwtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PGcgY2xpcC1wYXRoPSJ1cmwoIzZlNzc4MGQ5NzIpIj48ZyBjbGlwLXBhdGg9InVybCgjOGYyMTkwMTRkZSkiPjxnIGNsaXAtcGF0aD0idXJsKCMxNzE3YWM2MjMwKSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMSwgMCwgMCwgMSwgMjg5LCAyNjYpIj48ZyBjbGlwLXBhdGg9InVybCgjNDA3YmNmYzU1ZCkiPjxnIGNsaXAtcGF0aD0idXJsKCMxMDU4Y2Q3MmRmKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2JjODRmODEyMDgpIj48ZyBjbGlwLXBhdGg9InVybCgjZjBmOTgyNWVkMikiPjxwYXRoIGZpbGw9IiNmZmZmZmYiIGQ9Ik0gODIuMjkyOTY5IDM0LjYyMTA5NCBMIDM0LjUyNzM0NCA4Mi4zODY3MTkgTCAtNy42NDA2MjUgNDAuMjE4NzUgTCA0MC4xMjUgLTcuNTQ2ODc1IFogTSA4Mi4yOTI5NjkgMzQuNjIxMDk0ICIgZmlsbC1vcGFjaXR5PSIxIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg=="
|
|
7
|
+
export const LOGO_MONO_DATA_URI: string = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNTAwIiB6b29tQW5kUGFuPSJtYWduaWZ5IiB2aWV3Qm94PSIwIDAgMzc1IDM3NC45OTk5OTEiIGhlaWdodD0iNTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB2ZXJzaW9uPSIxLjAiPjxkZWZzPjxjbGlwUGF0aCBpZD0iZmExNzk1MDkxMCI+PHBhdGggZD0iTSAxOSAyMTYgTCAxNDUgMjE2IEwgMTQ1IDM0MSBMIDE5IDM0MSBaIE0gMTkgMjE2ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjE4MDNhNTI2MGMiPjxwYXRoIGQ9Ik0gNTQuMzMyMDMxIDIwOC41MTE3MTkgTCAxNTIuMDg1OTM4IDMwNi4yNjU2MjUgTCAxMDkuODEyNSAzNDguNTM1MTU2IEwgMTIuMDYyNSAyNTAuNzgxMjUgWiBNIDU0LjMzMjAzMSAyMDguNTExNzE5ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjUyZTU3YjE5MjAiPjxwYXRoIGQ9Ik0gNjcuNTg5ODQ0IDIyMS43Njk1MzEgTCAxMzguNzczNDM4IDI5Mi45NTMxMjUgQyAxNDIuMjg5MDYyIDI5Ni40Njg3NSAxNDQuMjY1NjI1IDMwMS4yMzgyODEgMTQ0LjI2NTYyNSAzMDYuMjEwOTM4IEMgMTQ0LjI2NTYyNSAzMTEuMTgzNTk0IDE0Mi4yODkwNjIgMzE1Ljk1MzEyNSAxMzguNzczNDM4IDMxOS40Njg3NSBMIDEyMy4wMTk1MzEgMzM1LjIyMjY1NiBDIDExOS41MDM5MDYgMzM4Ljc0MjE4OCAxMTQuNzM0Mzc1IDM0MC43MTQ4NDQgMTA5Ljc2MTcxOSAzNDAuNzE0ODQ0IEMgMTA0Ljc4OTA2MiAzNDAuNzE0ODQ0IDEwMC4wMTk1MzEgMzM4Ljc0MjE4OCA5Ni41MDM5MDYgMzM1LjIyMjY1NiBMIDI1LjMyMDMxMiAyNjQuMDQyOTY5IEMgMjEuODA0Njg4IDI2MC41MjM0MzggMTkuODI4MTI1IDI1NS43NTc4MTIgMTkuODI4MTI1IDI1MC43ODEyNSBDIDE5LjgyODEyNSAyNDUuODA4NTk0IDIxLjgwNDY4OCAyNDEuMDQyOTY5IDI1LjMyMDMxMiAyMzcuNTIzNDM4IEwgNDEuMDc0MjE5IDIyMS43Njk1MzEgQyA0NC41ODk4NDQgMjE4LjI1MzkwNiA0OS4zNTkzNzUgMjE2LjI3NzM0NCA1NC4zMzIwMzEgMjE2LjI3NzM0NCBDIDU5LjMwNDY4OCAyMTYuMjc3MzQ0IDY0LjA3NDIxOSAyMTguMjUzOTA2IDY3LjU4OTg0NCAyMjEuNzY5NTMxIFogTSA2Ny41ODk4NDQgMjIxLjc2OTUzMSAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJhOTQ1NjE4M2Q3Ij48cGF0aCBkPSJNIDAuNjc5Njg4IDAuMjM4MjgxIEwgMTI1LjQ4MDQ2OSAwLjIzODI4MSBMIDEyNS40ODA0NjkgMTI0LjgwMDc4MSBMIDAuNjc5Njg4IDEyNC44MDA3ODEgWiBNIDAuNjc5Njg4IDAuMjM4MjgxICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9Ijg2ZmE5MDJkNTIiPjxwYXRoIGQ9Ik0gMzUuMzMyMDMxIC03LjQ4ODI4MSBMIDEzMy4wODU5MzggOTAuMjY1NjI1IEwgOTAuODEyNSAxMzIuNTM1MTU2IEwgLTYuOTM3NSAzNC43ODEyNSBaIE0gMzUuMzMyMDMxIC03LjQ4ODI4MSAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSIzYzRkM2I1MjA5Ij48cGF0aCBkPSJNIDQ4LjU4OTg0NCA1Ljc2OTUzMSBMIDExOS43NzM0MzggNzYuOTUzMTI1IEMgMTIzLjI4OTA2MiA4MC40Njg3NSAxMjUuMjY1NjI1IDg1LjIzODI4MSAxMjUuMjY1NjI1IDkwLjIxMDkzOCBDIDEyNS4yNjU2MjUgOTUuMTgzNTk0IDEyMy4yODkwNjIgOTkuOTUzMTI1IDExOS43NzM0MzggMTAzLjQ2ODc1IEwgMTA0LjAxOTUzMSAxMTkuMjIyNjU2IEMgMTAwLjUwMzkwNiAxMjIuNzQyMTg4IDk1LjczNDM3NSAxMjQuNzE0ODQ0IDkwLjc2MTcxOSAxMjQuNzE0ODQ0IEMgODUuNzg5MDYyIDEyNC43MTQ4NDQgODEuMDE5NTMxIDEyMi43NDIxODggNzcuNTAzOTA2IDExOS4yMjI2NTYgTCA2LjMyMDMxMiA0OC4wNDI5NjkgQyAyLjgwNDY4OCA0NC41MjM0MzggMC44MjgxMjUgMzkuNzU3ODEyIDAuODI4MTI1IDM0Ljc4MTI1IEMgMC44MjgxMjUgMjkuODA4NTk0IDIuODA0Njg4IDI1LjA0Mjk2OSA2LjMyMDMxMiAyMS41MjM0MzggTCAyMi4wNzQyMTkgNS43Njk1MzEgQyAyNS41ODk4NDQgMi4yNTM5MDYgMzAuMzU5Mzc1IDAuMjc3MzQ0IDM1LjMzMjAzMSAwLjI3NzM0NCBDIDQwLjMwNDY4OCAwLjI3NzM0NCA0NS4wNzQyMTkgMi4yNTM5MDYgNDguNTg5ODQ0IDUuNzY5NTMxIFogTSA0OC41ODk4NDQgNS43Njk1MzEgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iNzcwZmUxY2E3MiI+PHJlY3QgeD0iMCIgd2lkdGg9IjEyNiIgeT0iMCIgaGVpZ2h0PSIxMjUiPjwvcmVjdD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iZDA1Y2Q5OTcwOCI+PHBhdGggZD0iTSA3NSA1MiBMIDM2NCA1MiBMIDM2NCAzNDEgTCA3NSAzNDEgWiBNIDc1IDUyICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjBmZDYwYTQ2N2EiPjxwYXRoIGQ9Ik0gMzcxLjI5Mjk2OSA4Ny4wNzgxMjUgTCAxMDkuODk4NDM4IDM0OC40NzI2NTYgTCA2Ny43MzQzNzUgMzA2LjMwNDY4OCBMIDMyOS4xMjUgNDQuOTE0MDYyIFogTSAzNzEuMjkyOTY5IDg3LjA3ODEyNSAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSI4YzVhZDFlNzkxIj48cGF0aCBkPSJNIDk2Ljc4NTE1NiAzMzUuMDgyMDMxIEwgODEuMTIxMDk0IDMxOS40MTc5NjkgQyA3My44MDQ2ODggMzEyLjEwMTU2MiA3My44MDQ2ODggMzAwLjIzNDM3NSA4MS4xMjEwOTQgMjkyLjkxNzk2OSBMIDMxNS44NzUgNTguMTY0MDYyIEMgMzIzLjE5NTMxMiA1MC44NDc2NTYgMzM1LjA1ODU5NCA1MC44NDc2NTYgMzQyLjM3NSA1OC4xNjQwNjIgTCAzNTguMDM5MDYyIDczLjgyODEyNSBDIDM2NS4zNTkzNzUgODEuMTQ0NTMxIDM2NS4zNTkzNzUgOTMuMDExNzE5IDM1OC4wMzkwNjIgMTAwLjMyODEyNSBMIDEyMy4yODkwNjIgMzM1LjA4MjAzMSBDIDExNS45Njg3NSAzNDIuMzk4NDM4IDEwNC4xMDU0NjkgMzQyLjM5ODQzOCA5Ni43ODUxNTYgMzM1LjA4MjAzMSBaIE0gOTYuNzg1MTU2IDMzNS4wODIwMzEgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iOWMyYjdmOGNkMSI+PHBhdGggZD0iTSAwIDAgTCAyODkgMCBMIDI4OSAyODkgTCAwIDI4OSBaIE0gMCAwICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjVkM2YzZmJlZjYiPjxwYXRoIGQ9Ik0gMjk2LjI5Mjk2OSAzNS4wNzgxMjUgTCAzNC44OTg0MzggMjk2LjQ3MjY1NiBMIC03LjI2NTYyNSAyNTQuMzA0Njg4IEwgMjU0LjEyNSAtNy4wODU5MzggWiBNIDI5Ni4yOTI5NjkgMzUuMDc4MTI1ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImNiMDlmZDdjNTEiPjxwYXRoIGQ9Ik0gMjEuNzg1MTU2IDI4My4wODIwMzEgTCA2LjEyMTA5NCAyNjcuNDE3OTY5IEMgLTEuMTk1MzEyIDI2MC4xMDE1NjIgLTEuMTk1MzEyIDI0OC4yMzQzNzUgNi4xMjEwOTQgMjQwLjkxNzk2OSBMIDI0MC44NzUgNi4xNjQwNjIgQyAyNDguMTk1MzEyIC0xLjE1MjM0NCAyNjAuMDU4NTk0IC0xLjE1MjM0NCAyNjcuMzc1IDYuMTY0MDYyIEwgMjgzLjAzOTA2MiAyMS44MjgxMjUgQyAyOTAuMzU5Mzc1IDI5LjE0NDUzMSAyOTAuMzU5Mzc1IDQxLjAxMTcxOSAyODMuMDM5MDYyIDQ4LjMyODEyNSBMIDQ4LjI4OTA2MiAyODMuMDgyMDMxIEMgNDAuOTY4NzUgMjkwLjM5ODQzOCAyOS4xMDU0NjkgMjkwLjM5ODQzOCAyMS43ODUxNTYgMjgzLjA4MjAzMSBaIE0gMjEuNzg1MTU2IDI4My4wODIwMzEgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iMGE4ZDI1YjczMyI+PHJlY3QgeD0iMCIgd2lkdGg9IjI4OSIgeT0iMCIgaGVpZ2h0PSIyODkiPjwvcmVjdD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iMjRkMWVkNzI2OCI+PHBhdGggZD0iTSAxODIgMTU5IEwgMzY0IDE1OSBMIDM2NCAzNDEgTCAxODIgMzQxIFogTSAxODIgMTU5ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjRkNDYxYzI1NzciPjxwYXRoIGQ9Ik0gMzcxLjI5Mjk2OSAxOTMuODQ3NjU2IEwgMjE2LjYyODkwNiAzNDguNTExNzE5IEwgMTc0LjQ2NDg0NCAzMDYuMzQzNzUgTCAzMjkuMTI1IDE1MS42ODM1OTQgWiBNIDM3MS4yOTI5NjkgMTkzLjg0NzY1NiAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJmZWI2OTI4MmFjIj48cGF0aCBkPSJNIDIwMy40OTYwOTQgMzM1LjE0MDYyNSBMIDE4Ny44MzIwMzEgMzE5LjQ3NjU2MiBDIDE4MC41MTU2MjUgMzEyLjE2MDE1NiAxODAuNTE1NjI1IDMwMC4yOTI5NjkgMTg3LjgzMjAzMSAyOTIuOTc2NTYyIEwgMzE1Ljg3NSAxNjQuOTMzNTk0IEMgMzIzLjE5NTMxMiAxNTcuNjE3MTg4IDMzNS4wNTg1OTQgMTU3LjYxNzE4OCAzNDIuMzc4OTA2IDE2NC45MzM1OTQgTCAzNTguMDQyOTY5IDE4MC41OTc2NTYgQyAzNjUuMzU5Mzc1IDE4Ny45MTc5NjkgMzY1LjM1OTM3NSAxOTkuNzgxMjUgMzU4LjA0Mjk2OSAyMDcuMTAxNTYyIEwgMjMwIDMzNS4xNDA2MjUgQyAyMjIuNjc5Njg4IDM0Mi40NjA5MzggMjEwLjgxNjQwNiAzNDIuNDYwOTM4IDIwMy40OTYwOTQgMzM1LjE0MDYyNSBaIE0gMjAzLjQ5NjA5NCAzMzUuMTQwNjI1ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjE1NDI4ZmFhZWYiPjxwYXRoIGQ9Ik0gMCAwIEwgMTgyIDAgTCAxODIgMTgyIEwgMCAxODIgWiBNIDAgMCAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSI5MzZlYTRiMmFkIj48cGF0aCBkPSJNIDE4OS4yOTI5NjkgMzQuODQ3NjU2IEwgMzQuNjI4OTA2IDE4OS41MTE3MTkgTCAtNy41MzUxNTYgMTQ3LjM0Mzc1IEwgMTQ3LjEyNSAtNy4zMTY0MDYgWiBNIDE4OS4yOTI5NjkgMzQuODQ3NjU2ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjM5MDRiZDQxNGUiPjxwYXRoIGQ9Ik0gMjEuNDk2MDk0IDE3Ni4xNDA2MjUgTCA1LjgzMjAzMSAxNjAuNDc2NTYyIEMgLTEuNDg0Mzc1IDE1My4xNjAxNTYgLTEuNDg0Mzc1IDE0MS4yOTI5NjkgNS44MzIwMzEgMTMzLjk3NjU2MiBMIDEzMy44NzUgNS45MzM1OTQgQyAxNDEuMTk1MzEyIC0xLjM4MjgxMiAxNTMuMDU4NTk0IC0xLjM4MjgxMiAxNjAuMzc4OTA2IDUuOTMzNTk0IEwgMTc2LjA0Mjk2OSAyMS41OTc2NTYgQyAxODMuMzU5Mzc1IDI4LjkxNzk2OSAxODMuMzU5Mzc1IDQwLjc4MTI1IDE3Ni4wNDI5NjkgNDguMTAxNTYyIEwgNDggMTc2LjE0MDYyNSBDIDQwLjY3OTY4OCAxODMuNDYwOTM4IDI4LjgxNjQwNiAxODMuNDYwOTM4IDIxLjQ5NjA5NCAxNzYuMTQwNjI1IFogTSAyMS40OTYwOTQgMTc2LjE0MDYyNSAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJlOGEzYjYyYzcyIj48cmVjdCB4PSIwIiB3aWR0aD0iMTgyIiB5PSIwIiBoZWlnaHQ9IjE4MiI+PC9yZWN0PjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSI1NDMzYmU2MmY2Ij48cGF0aCBkPSJNIDI4OSAyNjYgTCAzNjQgMjY2IEwgMzY0IDM0MSBMIDI4OSAzNDEgWiBNIDI4OSAyNjYgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iZDhlOTU4NTFlNyI+PHBhdGggZD0iTSAzNzEuMjkyOTY5IDMwMC42MjEwOTQgTCAzMjMuMzYzMjgxIDM0OC41NTA3ODEgTCAyODEuMTk1MzEyIDMwNi4zODI4MTIgTCAzMjkuMTI1IDI1OC40NTMxMjUgWiBNIDM3MS4yOTI5NjkgMzAwLjYyMTA5NCAiIGNsaXAtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSIyNDg4ZjdkNDZiIj48cGF0aCBkPSJNIDMxMC4yMDcwMzEgMzM1LjIwMzEyNSBMIDI5NC41NDI5NjkgMzE5LjUzOTA2MiBDIDI4Ny4yMjY1NjIgMzEyLjIxODc1IDI4Ny4yMjY1NjIgMzAwLjM1NTQ2OSAyOTQuNTQyOTY5IDI5My4wMzUxNTYgTCAzMTUuODc1IDI3MS43MDcwMzEgQyAzMjMuMTk1MzEyIDI2NC4zODY3MTkgMzM1LjA1ODU5NCAyNjQuMzg2NzE5IDM0Mi4zNzg5MDYgMjcxLjcwNzAzMSBMIDM1OC4wNDI5NjkgMjg3LjM2NzE4OCBDIDM2NS4zNTkzNzUgMjk0LjY4NzUgMzY1LjM1OTM3NSAzMDYuNTUwNzgxIDM1OC4wNDI5NjkgMzEzLjg3MTA5NCBMIDMzNi43MTA5MzggMzM1LjIwMzEyNSBDIDMyOS4zOTA2MjUgMzQyLjUxOTUzMSAzMTcuNTI3MzQ0IDM0Mi41MTk1MzEgMzEwLjIwNzAzMSAzMzUuMjAzMTI1IFogTSAzMTAuMjA3MDMxIDMzNS4yMDMxMjUgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iMTQ4MWFmOTQ2MyI+PHBhdGggZD0iTSAwIDAgTCA3NSAwIEwgNzUgNzUgTCAwIDc1IFogTSAwIDAgIiBjbGlwLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2Y0OWU1ZmM0MSI+PHBhdGggZD0iTSA4Mi4yOTI5NjkgMzQuNjIxMDk0IEwgMzQuMzYzMjgxIDgyLjU1MDc4MSBMIC03LjgwNDY4OCA0MC4zODI4MTIgTCA0MC4xMjUgLTcuNTQ2ODc1IFogTSA4Mi4yOTI5NjkgMzQuNjIxMDk0ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjY5MjQzZTMwZDciPjxwYXRoIGQ9Ik0gMjEuMjA3MDMxIDY5LjIwMzEyNSBMIDUuNTQyOTY5IDUzLjUzOTA2MiBDIC0xLjc3MzQzOCA0Ni4yMTg3NSAtMS43NzM0MzggMzQuMzU1NDY5IDUuNTQyOTY5IDI3LjAzNTE1NiBMIDI2Ljg3NSA1LjcwNzAzMSBDIDM0LjE5NTMxMiAtMS42MTMyODEgNDYuMDU4NTk0IC0xLjYxMzI4MSA1My4zNzg5MDYgNS43MDcwMzEgTCA2OS4wNDI5NjkgMjEuMzY3MTg4IEMgNzYuMzU5Mzc1IDI4LjY4NzUgNzYuMzU5Mzc1IDQwLjU1MDc4MSA2OS4wNDI5NjkgNDcuODcxMDk0IEwgNDcuNzEwOTM4IDY5LjIwMzEyNSBDIDQwLjM5MDYyNSA3Ni41MTk1MzEgMjguNTI3MzQ0IDc2LjUxOTUzMSAyMS4yMDcwMzEgNjkuMjAzMTI1IFogTSAyMS4yMDcwMzEgNjkuMjAzMTI1ICIgY2xpcC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjFlZDUyMTE5YmEiPjxyZWN0IHg9IjAiIHdpZHRoPSI3NSIgeT0iMCIgaGVpZ2h0PSI3NSI+PC9yZWN0PjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNmYTE3OTUwOTEwKSI+PGcgY2xpcC1wYXRoPSJ1cmwoIzE4MDNhNTI2MGMpIj48ZyBjbGlwLXBhdGg9InVybCgjNTJlNTdiMTkyMCkiPjxnIHRyYW5zZm9ybT0ibWF0cml4KDEsIDAsIDAsIDEsIDE5LCAyMTYpIj48ZyBjbGlwLXBhdGg9InVybCgjNzcwZmUxY2E3MikiPjxnIGNsaXAtcGF0aD0idXJsKCNhOTQ1NjE4M2Q3KSI+PGcgY2xpcC1wYXRoPSJ1cmwoIzg2ZmE5MDJkNTIpIj48ZyBjbGlwLXBhdGg9InVybCgjM2M0ZDNiNTIwOSkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGQ9Ik0gMzUuMzMyMDMxIC03LjQ4ODI4MSBMIDEzMy4wODU5MzggOTAuMjY1NjI1IEwgOTAuODEyNSAxMzIuNTM1MTU2IEwgLTYuOTM3NSAzNC43ODEyNSBaIE0gMzUuMzMyMDMxIC03LjQ4ODI4MSAiIGZpbGwtb3BhY2l0eT0iMSIgZmlsbC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48ZyBjbGlwLXBhdGg9InVybCgjZDA1Y2Q5OTcwOCkiPjxnIGNsaXAtcGF0aD0idXJsKCMwZmQ2MGE0NjdhKSI+PGcgY2xpcC1wYXRoPSJ1cmwoIzhjNWFkMWU3OTEpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLCAwLCAwLCAxLCA3NSwgNTIpIj48ZyBjbGlwLXBhdGg9InVybCgjMGE4ZDI1YjczMykiPjxnIGNsaXAtcGF0aD0idXJsKCM5YzJiN2Y4Y2QxKSI+PGcgY2xpcC1wYXRoPSJ1cmwoIzVkM2YzZmJlZjYpIj48ZyBjbGlwLXBhdGg9InVybCgjY2IwOWZkN2M1MSkiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGQ9Ik0gMjk2LjI5Mjk2OSAzNS4wNzgxMjUgTCAzNS4wNjI1IDI5Ni4zMDg1OTQgTCAtNy4xMDE1NjIgMjU0LjE0MDYyNSBMIDI1NC4xMjUgLTcuMDg1OTM4IFogTSAyOTYuMjkyOTY5IDM1LjA3ODEyNSAiIGZpbGwtb3BhY2l0eT0iMSIgZmlsbC1ydWxlPSJub256ZXJvIj48L3BhdGg+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48ZyBjbGlwLXBhdGg9InVybCgjMjRkMWVkNzI2OCkiPjxnIGNsaXAtcGF0aD0idXJsKCM0ZDQ2MWMyNTc3KSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2ZlYjY5MjgyYWMpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLCAwLCAwLCAxLCAxODIsIDE1OSkiPjxnIGNsaXAtcGF0aD0idXJsKCNlOGEzYjYyYzcyKSI+PGcgY2xpcC1wYXRoPSJ1cmwoIzE1NDI4ZmFhZWYpIj48ZyBjbGlwLXBhdGg9InVybCgjOTM2ZWE0YjJhZCkiPjxnIGNsaXAtcGF0aD0idXJsKCMzOTA0YmQ0MTRlKSI+PHBhdGggZmlsbD0iIzAwMDAwMCIgZD0iTSAxODkuMjkyOTY5IDM0Ljg0NzY1NiBMIDM0Ljc5Mjk2OSAxODkuMzQ3NjU2IEwgLTcuMzcxMDk0IDE0Ny4xNzk2ODggTCAxNDcuMTI1IC03LjMxNjQwNiBaIE0gMTg5LjI5Mjk2OSAzNC44NDc2NTYgIiBmaWxsLW9wYWNpdHk9IjEiIGZpbGwtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PGcgY2xpcC1wYXRoPSJ1cmwoIzU0MzNiZTYyZjYpIj48ZyBjbGlwLXBhdGg9InVybCgjZDhlOTU4NTFlNykiPjxnIGNsaXAtcGF0aD0idXJsKCMyNDg4ZjdkNDZiKSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMSwgMCwgMCwgMSwgMjg5LCAyNjYpIj48ZyBjbGlwLXBhdGg9InVybCgjMWVkNTIxMTliYSkiPjxnIGNsaXAtcGF0aD0idXJsKCMxNDgxYWY5NDYzKSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NmNDllNWZjNDEpIj48ZyBjbGlwLXBhdGg9InVybCgjNjkyNDNlMzBkNykiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGQ9Ik0gODIuMjkyOTY5IDM0LjYyMTA5NCBMIDM0LjUyNzM0NCA4Mi4zODY3MTkgTCAtNy42NDA2MjUgNDAuMjE4NzUgTCA0MC4xMjUgLTcuNTQ2ODc1IFogTSA4Mi4yOTI5NjkgMzQuNjIxMDk0ICIgZmlsbC1vcGFjaXR5PSIxIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg=="
|
package/src/reader/logo.ts
CHANGED
|
@@ -1,28 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The CertREV mark the reader face paints in the card cap (18px) and the memo footer (17px): the
|
|
3
|
-
* `
|
|
4
|
-
*
|
|
2
|
+
* The CertREV mark the reader face paints in the card cap (18px) and the memo footer (17px): the demo's own logo
|
|
3
|
+
* files, `logo-white.svg` (the cap on a dark accent) and `logo-mono.svg` (the verified footer, and the cap on a light
|
|
4
|
+
* accent), as the base64 `data:image/svg+xml` URIs of their exact bytes. That is what the portal's Liquid parity engine
|
|
5
|
+
* prints for the Shopify snippet's `asset_url`, so a Builder page and a Shopify page carry the same image, and what
|
|
6
|
+
* certrev.com's own `<img>` elements point at.
|
|
5
7
|
*
|
|
6
|
-
* The
|
|
7
|
-
*
|
|
8
|
+
* The URIs live in `logo-assets.generated.ts`, written by `scripts/refresh-reader.mjs` from the portal's copies of
|
|
9
|
+
* the two files; `reader-logo-files.test.ts` decodes each and pins the sha256 of its bytes. The golden tests compare
|
|
10
|
+
* the whole element, so a different image fails there.
|
|
8
11
|
*/
|
|
9
12
|
import { escapeHtml } from '../components/escape.js'
|
|
13
|
+
import { LOGO_MONO_DATA_URI, LOGO_WHITE_DATA_URI } from './logo-assets.generated.js'
|
|
10
14
|
|
|
11
15
|
export type ReaderLogoInk = 'white' | 'mono'
|
|
12
16
|
|
|
13
|
-
const MARK_PATHS: readonly string[] = [
|
|
14
|
-
'M67.59 221.77L138.77 292.95C145.8 299.98 145.8 311.44 138.77 318.47L123.02 334.22C116 341.25 104.54 341.25 97.5 334.22L26.32 263.04C19.29 256.01 19.29 244.55 26.32 237.52L42.07 221.77C49.1 214.74 60.56 214.74 67.59 221.77Z',
|
|
15
|
-
'M96.79 335.08L81.12 319.42C73.8 312.1 73.8 300.23 81.12 292.92L315.88 58.16C323.2 50.85 335.06 50.85 342.38 58.16L358.04 73.83C365.36 81.14 365.36 93.01 358.04 100.33L123.29 335.08C115.97 342.4 104.1 342.4 96.79 335.08Z',
|
|
16
|
-
'M203.5 335.14L187.83 319.48C180.52 312.16 180.52 300.29 187.83 292.98L315.88 164.93C323.2 157.62 335.06 157.62 342.38 164.93L358.04 180.6C365.36 187.92 365.36 199.78 358.04 207.1L230 335.14C222.68 342.46 210.82 342.46 203.5 335.14Z',
|
|
17
|
-
'M310.21 335.2L294.54 319.54C287.23 312.22 287.23 300.36 294.54 293.04L315.88 271.71C323.2 264.39 335.06 264.39 342.38 271.71L358.04 287.37C365.36 294.69 365.36 306.55 358.04 313.87L336.71 335.2C329.39 342.52 317.53 342.52 310.21 335.2Z',
|
|
18
|
-
]
|
|
19
|
-
|
|
20
17
|
/** The `<img>` for the mark: `size` is the pixel width and height, `alt` is '' where the words carry the meaning. */
|
|
21
18
|
export function readerLogo(ink: ReaderLogoInk, size: number, alt: string): string {
|
|
22
|
-
const
|
|
23
|
-
const paths = MARK_PATHS.map((d) => `%3Cpath fill='%23${fill}' d='${d}'/%3E`).join('')
|
|
19
|
+
const src = ink === 'white' ? LOGO_WHITE_DATA_URI : LOGO_MONO_DATA_URI
|
|
24
20
|
return (
|
|
25
|
-
`<img src="
|
|
21
|
+
`<img src="${src}" ` +
|
|
26
22
|
`alt="${escapeHtml(alt)}" width="${escapeHtml(String(size))}" height="${escapeHtml(String(size))}" decoding="async">`
|
|
27
23
|
)
|
|
28
24
|
}
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
// biome-ignore-all lint: generated file
|
|
3
3
|
// GENERATED by scripts/refresh-reader.mjs from src/reader/reader.css (the portal reader stylesheet, byte for
|
|
4
4
|
// byte). Do not edit: run the script. reader-css.test.ts asserts this string equals the .css file.
|
|
5
|
-
export const READER_CSS = "/* CERTREV-READER-GEN:BEGIN */\n/* GENERATED by scripts/build-cert-reader-css.mjs from src/lib/cert-render/reader/site-snapshot/ (certrev.com,\n * component Reader, \"What your reader sees\"). DO NOT EDIT: run `pnpm build:cert-reader-css`. The face is driven by\n * four variables the Liquid root sets inline: --cr-ba accent, --cr-ba-fg accent foreground, --cr-br corner, --cr-bf\n * font. */\n.certrev-reader {\n\tcolor: #141414;\n\tfont-family: var(--cr-bf);\n\tfont-size: 16px;\n\tline-height: 1.65;\n\t-webkit-font-smoothing: antialiased;\n\ttext-rendering: optimizelegibility;\n}\n.certrev-reader,\n.certrev-reader *,\n.certrev-reader *:before,\n.certrev-reader *:after {\n\tbox-sizing: border-box;\n}\n.certrev-reader .certrev-r-card {\n\tz-index: 1;\n\tborder: 1px solid #14141421;\n\tborder-radius: calc(var(--cr-br) * 0.7);\n\tbackground: #fff;\n\tflex-shrink: 0;\n\tmargin: 12px 0 0;\n\tposition: relative;\n\toverflow: hidden;\n}\n.certrev-reader .certrev-r-card.pad {\n\tpadding: 15px 18px;\n\toverflow: visible;\n}\n.certrev-reader .certrev-r-card.pad .certrev-r-bys {\n\tgap: 14px;\n}\n.certrev-reader .certrev-r-cap {\n\twhite-space: nowrap;\n\tbackground: var(--cr-ba);\n\tcolor: var(--cr-ba-fg);\n\tfont-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;\n\tletter-spacing: 0.14em;\n\ttext-transform: uppercase;\n\talign-items: center;\n\tgap: 11px;\n\tpadding: 14px 20px;\n\tfont-size: 10.5px;\n\tfont-weight: 700;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-cap.center {\n\tletter-spacing: 0.16em;\n\tjustify-content: center;\n\tpadding: 12px;\n}\n.certrev-reader .certrev-r-cap img {\n\tflex-shrink: 0;\n\twidth: 18px;\n\theight: 18px;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-cap-body {\n\tpadding: 15px 18px 13px;\n}\n.certrev-reader .certrev-r-bys {\n\tgrid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);\n\tgap: 20px;\n\tdisplay: grid;\n}\n.certrev-reader .certrev-r-by {\n\talign-items: flex-start;\n\tgap: 12px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-by > div {\n\tmin-width: 0;\n}\n.certrev-reader .certrev-r-by b {\n\tfont-size: 14.5px;\n\tfont-weight: 700;\n\tline-height: 1.3;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-by em {\n\tcolor: #14141495;\n\tmargin-top: 4px;\n\tfont-size: 12.5px;\n\tfont-style: normal;\n\tline-height: 1.45;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-role {\n\tfont-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;\n\tletter-spacing: 0.14em;\n\ttext-transform: uppercase;\n\tcolor: #14141495;\n\tmargin-top: 9px;\n\tfont-size: 9px;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-role.on {\n\tcolor: #141414;\n\tfont-weight: 700;\n}\n.certrev-reader .certrev-r-face {\n\tbackground: #14141412;\n\twidth: 42px;\n\theight: 42px;\n\tcolor: #141414;\n\tborder-radius: 50%;\n\tflex-shrink: 0;\n\tdisplay: block;\n\toverflow: hidden;\n}\n.certrev-reader .certrev-r-face.sm {\n\twidth: 36px;\n\theight: 36px;\n}\n.certrev-reader .certrev-r-face.lg {\n\twidth: 46px;\n\theight: 46px;\n}\n.certrev-reader .certrev-r-face svg {\n\tfill: currentColor;\n\topacity: 0.38;\n\twidth: 100%;\n\theight: 100%;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-rule {\n\tbackground: #14141421;\n\theight: 1px;\n\tmargin: 15px 0 12px;\n}\n.certrev-reader .certrev-r-foot {\n\tjustify-content: space-between;\n\talign-items: center;\n\tgap: 16px;\n\tfont-size: 12.5px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-foot span {\n\twhite-space: nowrap;\n}\n.certrev-reader .certrev-r-foot em {\n\tfont-style: normal;\n\tfont-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;\n\tletter-spacing: 0.14em;\n\ttext-transform: uppercase;\n\tcolor: #14141495;\n\tmargin-right: 9px;\n\tfont-size: 9.5px;\n}\n.certrev-reader .certrev-r-foot span + span {\n\tcolor: #14141495;\n}\n.certrev-reader .certrev-r-kick {\n\tfont-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;\n\tletter-spacing: 0.16em;\n\ttext-transform: uppercase;\n\tcolor: #14141495;\n\tmargin-bottom: 14px;\n\tfont-size: 9.5px;\n}\n.certrev-reader .certrev-r-memo {\n\tgap: 15px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-memo > div {\n\tflex: 1;\n\tmin-width: 0;\n}\n.certrev-reader .certrev-r-memo-name {\n\tcolor: #14141495;\n\tmargin-bottom: 11px;\n\tfont-size: 15px;\n}\n.certrev-reader .certrev-r-memo-name b {\n\tcolor: #141414;\n\tfont-weight: 700;\n}\n.certrev-reader blockquote {\n\tborder-left: 3px solid var(--cr-ba);\n\tcolor: #141414b8;\n\ttext-wrap: pretty;\n\tmargin: 0;\n\tpadding-left: 16px;\n\tfont-size: 13.5px;\n\tfont-style: italic;\n\tline-height: 1.55;\n}\n.certrev-reader .certrev-r-links {\n\tgap: 22px;\n\tmargin-top: 14px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-links a {\n\tcolor: #141414;\n\twhite-space: nowrap;\n\tfont-size: 13.5px;\n\tfont-weight: 700;\n\ttext-decoration: none;\n}\n.certrev-reader .certrev-r-links a:hover {\n\tcolor: var(--cr-ba);\n}\n.certrev-reader .certrev-r-vfoot {\n\talign-items: baseline;\n\tgap: 16px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-vfoot .certrev-r-scope {\n\tflex: 1;\n\tmin-width: 0;\n\tmargin-top: 0;\n}\n.certrev-reader .certrev-r-verified {\n\tcolor: #141414b8;\n\tflex-shrink: 0;\n\talign-items: center;\n\tgap: 9px;\n\tfont-size: 12.5px;\n\tdisplay: inline-flex;\n}\n.certrev-reader .certrev-r-verified img {\n\tflex-shrink: 0;\n\twidth: 17px;\n\theight: 17px;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-verified b {\n\tfont-family: \"Plus Jakarta Sans\", -apple-system, system-ui, Helvetica, Arial, sans-serif;\n\tfont-weight: 800;\n}\n.certrev-reader .certrev-r-scope {\n\tcolor: #14141495;\n\ttext-wrap: pretty;\n\tmargin-top: 9px;\n\tfont-size: 12.5px;\n\tline-height: 1.5;\n}\n.certrev-reader .certrev-r-scope em {\n\tfont-style: normal;\n\tfont-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;\n\tletter-spacing: 0.1em;\n\ttext-transform: uppercase;\n\tfont-size: 9.5px;\n}\n.certrev-reader .certrev-r-side {\n\tz-index: 1;\n\tfloat: right;\n\tborder: 1px solid #14141421;\n\tborder-radius: var(--cr-br);\n\twidth: 268px;\n\tbox-shadow: 0 4px 18px #14141412;\n\tbackground: #fff;\n\tmargin: 2px 0 18px 28px;\n\tposition: relative;\n\toverflow: hidden;\n}\n.certrev-reader .certrev-r-side-body {\n\tpadding: 18px;\n}\n.certrev-reader .certrev-r-side-body .certrev-r-by b {\n\tfont-size: 14px;\n}\n.certrev-reader .certrev-r-side-body p {\n\tcolor: #141414b8;\n\ttext-wrap: pretty;\n\tmargin: 15px 0 0;\n\tfont-size: 13px;\n\tline-height: 1.55;\n}\n.certrev-reader .certrev-r-side-body blockquote {\n\tmargin-top: 15px;\n\tpadding-left: 15px;\n\tfont-size: 13.5px;\n\tline-height: 1.55;\n}\n.certrev-reader .certrev-r-side-body .certrev-r-scope {\n\tmargin-top: 15px;\n\tfont-size: 11.5px;\n}\n.certrev-reader .certrev-r-side-links {\n\tborder-top: 1px solid #14141421;\n\tgrid-template-columns: 1fr 1fr;\n\tdisplay: grid;\n}\n.certrev-reader .certrev-r-side-links a {\n\ttext-align: center;\n\tcolor: #141414;\n\tpadding: 13px;\n\tfont-size: 13px;\n\tfont-weight: 700;\n\ttext-decoration: none;\n}\n.certrev-reader .certrev-r-side-links a:first-child {\n\tborder-right: 1px solid #14141421;\n}\n.certrev-reader .certrev-r-side-links a:hover {\n\tcolor: var(--cr-ba);\n}\n.certrev-reader .certrev-r-pill {\n\tz-index: 3;\n\tbackground: var(--cr-ba);\n\tcolor: var(--cr-ba-fg);\n\tborder-radius: 999px;\n\talign-items: center;\n\tgap: 13px;\n\tpadding: 12px 21px;\n\tdisplay: inline-flex;\n\tposition: absolute;\n\tbottom: 26px;\n\tright: 26px;\n\tbox-shadow: 0 10px 26px #14141429;\n}\n.certrev-reader .certrev-r-pill span {\n\twhite-space: nowrap;\n\tfont-family: \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;\n\tletter-spacing: 0.14em;\n\ttext-transform: uppercase;\n\tfont-size: 10.5px;\n\tfont-weight: 700;\n}\n.certrev-reader .certrev-r-pill a {\n\tcolor: inherit;\n\ttext-underline-offset: 3px;\n\tfont-size: 13.5px;\n\tfont-weight: 700;\n\ttext-decoration: underline;\n}\n.certrev-reader .certrev-r-pill i {\n\topacity: 0.42;\n\tfont-style: normal;\n}\n@media (max-width: 820px) {\n\t.certrev-reader .certrev-r-side {\n\t\tfloat: none;\n\t\twidth: auto;\n\t\tmargin: 20px 0;\n\t}\n\t.certrev-reader .certrev-r-bys {\n\t\tgrid-template-columns: 1fr;\n\t\tgap: 18px;\n\t}\n\t.certrev-reader .certrev-r-cap {\n\t\tletter-spacing: 0.1em;\n\t\tpadding: 12px 16px;\n\t\tfont-size: 9.5px;\n\t}\n\t.certrev-reader .certrev-r-cap-body,\n\t.certrev-reader .certrev-r-card.pad {\n\t\tpadding: 16px 18px;\n\t}\n\t.certrev-reader .certrev-r-pill {\n\t\tgap: 10px;\n\t\tpadding: 10px 16px;\n\t\tbottom: 20px;\n\t\tright: 20px;\n\t}\n}\n@media (max-width: 560px) {\n\t.certrev-reader .certrev-r-links {\n\t\tflex-direction: column;\n\t\tgap: 9px;\n\t}\n\t.certrev-reader .certrev-r-foot {\n\t\tflex-direction: column;\n\t\talign-items: flex-start;\n\t\tgap: 6px;\n\t}\n\t.certrev-reader .certrev-r-foot span {\n\t\twhite-space: normal;\n\t}\n\t.certrev-reader .certrev-r-vfoot {\n\t\tflex-direction: column;\n\t\talign-items: flex-start;\n\t\tgap: 10px;\n\t}\n\t.certrev-reader .certrev-r-vfoot .certrev-r-scope {\n\t\twidth: 100%;\n\t}\n\t.certrev-reader .certrev-r-cap {\n\t\twhite-space: normal;\n\t\tletter-spacing: 0.08em;\n\t\tpadding: 11px 14px;\n\t\tfont-size: 9px;\n\t}\n\t.certrev-reader .certrev-r-cap-body,\n\t.certrev-reader .certrev-r-card.pad {\n\t\tpadding: 14px 15px;\n\t}\n\t.certrev-reader .certrev-r-foot {\n\t\tflex-wrap: wrap;\n\t\tgap: 8px 14px;\n\t}\n\t.certrev-reader .certrev-r-links {\n\t\tflex-wrap: wrap;\n\t\tgap: 16px;\n\t}\n\t.certrev-reader .certrev-r-vfoot {\n\t\tflex-wrap: wrap;\n\t\tgap: 10px;\n\t}\n\t.certrev-reader .certrev-r-face.lg {\n\t\twidth: 38px;\n\t\theight: 38px;\n\t}\n\t.certrev-reader .certrev-r-side {\n\t\tmargin: 16px 0;\n\t}\n\t.certrev-reader .certrev-r-side-links a {\n\t\tpadding: 12px 8px;\n\t}\n\t.certrev-reader .certrev-r-pill {\n\t\ttext-align: center;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: center;\n\t\tgap: 6px 12px;\n\t\tpadding: 11px 14px;\n\t\tbottom: 14px;\n\t\tleft: 14px;\n\t\tright: 14px;\n\t}\n\t.certrev-reader .certrev-r-pill span {\n\t\twhite-space: normal;\n\t}\n}\n/* Theme-bleed armor (hand-written, not from the snapshot; see build-cert-reader-css.mjs). */\n.certrev-reader img {\n\tmargin: 0 !important;\n\tmax-width: 100% !important;\n\tfloat: none !important;\n}\n.certrev-reader a {\n\tbackground-image: none !important;\n}\n.certrev-reader .certrev-r-links a,\n.certrev-reader .certrev-r-side-links a {\n\ttext-decoration: none !important;\n}\n.certrev-reader .certrev-r-links a:not(:hover),\n.certrev-reader .certrev-r-side-links a:not(:hover) {\n\tcolor: #141414 !important;\n}\n.certrev-reader .certrev-r-links a:hover,\n.certrev-reader .certrev-r-side-links a:hover {\n\tcolor: var(--cr-ba) !important;\n}\n.certrev-reader .certrev-r-pill a {\n\tcolor: inherit !important;\n\ttext-decoration: underline !important;\n}\n.certrev-reader .certrev-r-face img {\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\tobject-fit: cover;\n}\n.certrev-reader .certrev-r-bys.solo {\n\tgrid-template-columns: minmax(0, 1fr);\n}\n.certrev-reader .certrev-r-foot a {\n\tcolor: inherit !important;\n\ttext-decoration: underline !important;\n}\n.certrev-reader .certrev-r-pill {\n\tposition: fixed;\n\tmargin-bottom: env(safe-area-inset-bottom, 0px);\n}\n.certrev-memo-wrap[data-certrev-placement=\"rail\"] .certrev-reader .certrev-r-side {\n\tfloat: none;\n\twidth: auto;\n\tmargin: 0;\n}\n.certrev-memo-wrap[data-certrev-placement=\"body-fallback\"] .certrev-reader .certrev-r-side,\n.certrev-sidebar-wrap:not([data-certrev-placement]) .certrev-reader .certrev-r-side {\n\tfloat: none;\n\twidth: auto;\n\tmax-width: 360px;\n\tmargin: 0 auto;\n}\n.certrev-reader .certrev-r-side-links.single {\n\tgrid-template-columns: minmax(0, 1fr);\n}\n.certrev-reader .certrev-r-side-links.single a:first-child {\n\tborder-right: 0;\n}\n/* Reader-only font aliases (generated from the CERTREV-FONTS rules above: the same files and unicode ranges, only the family and\n * the weight range differ, so the reader paints weights the legacy card does not declare). */\n@font-face {\n\tfont-family: \"CertREV Reader Serif\";\n\tfont-style: normal;\n\tfont-weight: 400 700;\n\tfont-display: swap;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-playfair-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"CertREV Reader Serif\";\n\tfont-style: normal;\n\tfont-weight: 400 700;\n\tfont-display: swap;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-playfair-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"CertREV Reader Serif\";\n\tfont-style: italic;\n\tfont-weight: 400 700;\n\tfont-display: swap;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-playfair-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"CertREV Reader Serif\";\n\tfont-style: italic;\n\tfont-weight: 400 700;\n\tfont-display: swap;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-playfair-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"CertREV Reader Grotesk\";\n\tfont-style: normal;\n\tfont-weight: 400 800;\n\tfont-display: swap;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-jakarta-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"CertREV Reader Grotesk\";\n\tfont-style: normal;\n\tfont-weight: 400 800;\n\tfont-display: swap;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-jakarta-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* CERTREV-READER-GEN:END */\n"
|
|
5
|
+
export const READER_CSS = "/* CERTREV-READER-GEN:BEGIN */\n/* GENERATED by scripts/build-cert-reader-css.mjs from src/lib/cert-render/reader/site-snapshot/ (certrev.com,\n * component Reader, \"What your reader sees\"). DO NOT EDIT: run `pnpm build:cert-reader-css`. The face is driven by\n * four variables the Liquid root sets inline: --cr-ba accent, --cr-ba-fg accent foreground, --cr-br corner, --cr-bf\n * font. */\n.certrev-reader {\n\tcolor: #141414 !important;\n\tfont-family: var(--cr-bf) !important;\n\tfont-size: 16px !important;\n\tline-height: 1.65 !important;\n\t-webkit-font-smoothing: antialiased !important;\n\ttext-rendering: optimizelegibility !important;\n\tfont-style: normal !important;\n\tfont-weight: 400 !important;\n\tfont-stretch: 101% !important;\n\tfont-variant: normal !important;\n\tfont-feature-settings: normal !important;\n\tfont-variation-settings: normal !important;\n\tfont-kerning: auto !important;\n\tfont-optical-sizing: auto !important;\n\tfont-size-adjust: none !important;\n\tletter-spacing: normal !important;\n\tword-spacing: normal !important;\n\ttext-transform: none !important;\n\ttext-align: start !important;\n\ttext-indent: 0 !important;\n\ttext-shadow: none !important;\n\twhite-space: normal !important;\n\tword-break: normal !important;\n\toverflow-wrap: normal !important;\n\thyphens: manual !important;\n}\n.certrev-reader,\n.certrev-reader *,\n.certrev-reader *:before,\n.certrev-reader *:after {\n\tbox-sizing: border-box;\n}\n.certrev-reader :is(div, section, aside, p, blockquote, span, a, b, strong, em, i, time, small) {\n\tcolor: inherit !important;\n\tfont-family: inherit !important;\n\tfont-size: inherit !important;\n\tfont-style: inherit !important;\n\tfont-weight: inherit !important;\n\tfont-stretch: inherit !important;\n\tletter-spacing: inherit !important;\n\tline-height: inherit !important;\n\ttext-transform: inherit !important;\n\tword-spacing: inherit !important;\n\ttext-align: inherit !important;\n\ttext-indent: inherit !important;\n}\n.certrev-reader :is(b, strong) {\n\tfont-weight: bolder !important;\n}\n.certrev-reader :is(em, i) {\n\tfont-style: italic !important;\n}\n.certrev-reader p {\n\tfont-family:\n\t\t\"DM Sans\", \"DM Sans Fallback\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif !important;\n}\n.certrev-reader .certrev-r-card {\n\tz-index: 1;\n\tborder: 1px solid #14141421;\n\tborder-radius: calc(var(--cr-br) * 0.7);\n\tbackground: #fff;\n\tflex-shrink: 0;\n\tmargin: 12px 0 0;\n\tposition: relative;\n\toverflow: hidden;\n}\n.certrev-reader .certrev-r-card.pad {\n\tpadding: 15px 18px;\n\toverflow: visible;\n}\n.certrev-reader .certrev-r-card.pad .certrev-r-bys {\n\tgap: 14px;\n}\n.certrev-reader .certrev-r-cap {\n\twhite-space: nowrap;\n\tbackground: var(--cr-ba);\n\tcolor: var(--cr-ba-fg) !important;\n\tfont-family: \"JetBrains Mono\", \"JetBrains Mono Fallback\", ui-monospace, SFMono-Regular, Menlo, monospace !important;\n\tletter-spacing: 0.14em !important;\n\ttext-transform: uppercase !important;\n\talign-items: center;\n\tgap: 11px;\n\tpadding: 14px 20px;\n\tfont-size: 10.5px !important;\n\tfont-weight: 700 !important;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-cap.center {\n\tletter-spacing: 0.16em !important;\n\tjustify-content: center;\n\tpadding: 12px;\n}\n.certrev-reader .certrev-r-cap img {\n\tflex-shrink: 0;\n\twidth: 18px;\n\theight: 18px;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-cap-body {\n\tpadding: 15px 18px 13px;\n}\n.certrev-reader .certrev-r-bys {\n\tgrid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);\n\tgap: 20px;\n\tdisplay: grid;\n}\n.certrev-reader .certrev-r-by {\n\talign-items: flex-start;\n\tgap: 12px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-by > div {\n\tmin-width: 0;\n}\n.certrev-reader .certrev-r-by b {\n\tfont-size: 14.5px !important;\n\tfont-weight: 700 !important;\n\tline-height: 1.3 !important;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-by em {\n\tcolor: #14141495 !important;\n\tmargin-top: 4px;\n\tfont-size: 12.5px !important;\n\tfont-style: normal !important;\n\tline-height: 1.45 !important;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-role {\n\tfont-family: \"JetBrains Mono\", \"JetBrains Mono Fallback\", ui-monospace, SFMono-Regular, Menlo, monospace !important;\n\tletter-spacing: 0.14em !important;\n\ttext-transform: uppercase !important;\n\tcolor: #14141495 !important;\n\tmargin-top: 9px;\n\tfont-size: 9px !important;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-role.on {\n\tcolor: #141414 !important;\n\tfont-weight: 700 !important;\n}\n.certrev-reader .certrev-r-face {\n\tbackground: #14141412;\n\twidth: 42px;\n\theight: 42px;\n\tcolor: #141414 !important;\n\tborder-radius: 50%;\n\tflex-shrink: 0;\n\tdisplay: block;\n\toverflow: hidden;\n}\n.certrev-reader .certrev-r-face.sm {\n\twidth: 36px;\n\theight: 36px;\n}\n.certrev-reader .certrev-r-face.lg {\n\twidth: 46px;\n\theight: 46px;\n}\n.certrev-reader .certrev-r-face svg {\n\tfill: currentColor;\n\topacity: 0.38;\n\twidth: 100%;\n\theight: 100%;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-rule {\n\tbackground: #14141421;\n\theight: 1px;\n\tmargin: 15px 0 12px;\n}\n.certrev-reader .certrev-r-foot {\n\tjustify-content: space-between;\n\talign-items: center;\n\tgap: 16px;\n\tfont-size: 12.5px !important;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-foot span {\n\twhite-space: nowrap;\n}\n.certrev-reader .certrev-r-foot em {\n\tfont-style: normal !important;\n\tfont-family: \"JetBrains Mono\", \"JetBrains Mono Fallback\", ui-monospace, SFMono-Regular, Menlo, monospace !important;\n\tletter-spacing: 0.14em !important;\n\ttext-transform: uppercase !important;\n\tcolor: #14141495 !important;\n\tmargin-right: 9px;\n\tfont-size: 9.5px !important;\n}\n.certrev-reader .certrev-r-foot span + span {\n\tcolor: #14141495 !important;\n}\n.certrev-reader .certrev-r-kick {\n\tfont-family: \"JetBrains Mono\", \"JetBrains Mono Fallback\", ui-monospace, SFMono-Regular, Menlo, monospace !important;\n\tletter-spacing: 0.16em !important;\n\ttext-transform: uppercase !important;\n\tcolor: #14141495 !important;\n\tmargin-bottom: 14px;\n\tfont-size: 9.5px !important;\n}\n.certrev-reader .certrev-r-memo {\n\tgap: 15px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-memo > div {\n\tflex: 1;\n\tmin-width: 0;\n}\n.certrev-reader .certrev-r-memo-name {\n\tcolor: #14141495 !important;\n\tmargin-bottom: 11px;\n\tfont-size: 15px !important;\n}\n.certrev-reader .certrev-r-memo-name b {\n\tcolor: #141414 !important;\n\tfont-weight: 700 !important;\n}\n.certrev-reader blockquote {\n\tborder-left: 3px solid var(--cr-ba);\n\tcolor: #141414b8 !important;\n\ttext-wrap: pretty;\n\tmargin: 0;\n\tpadding-left: 16px;\n\tfont-size: 13.5px !important;\n\tfont-style: italic !important;\n\tline-height: 1.55 !important;\n}\n.certrev-reader .certrev-r-links {\n\tgap: 22px;\n\tmargin-top: 14px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-links a {\n\tcolor: #141414 !important;\n\twhite-space: nowrap;\n\tfont-size: 13.5px !important;\n\tfont-weight: 700 !important;\n\ttext-decoration: none;\n}\n.certrev-reader .certrev-r-links a:hover {\n\tcolor: var(--cr-ba) !important;\n}\n.certrev-reader .certrev-r-vfoot {\n\talign-items: baseline;\n\tgap: 16px;\n\tdisplay: flex;\n}\n.certrev-reader .certrev-r-vfoot .certrev-r-scope {\n\tflex: 1;\n\tmin-width: 0;\n\tmargin-top: 0;\n}\n.certrev-reader .certrev-r-verified {\n\tcolor: #141414b8 !important;\n\tflex-shrink: 0;\n\talign-items: center;\n\tgap: 9px;\n\tfont-size: 12.5px !important;\n\tdisplay: inline-flex;\n}\n.certrev-reader .certrev-r-verified img {\n\tflex-shrink: 0;\n\twidth: 17px;\n\theight: 17px;\n\tdisplay: block;\n}\n.certrev-reader .certrev-r-verified b {\n\tfont-family:\n\t\t\"Plus Jakarta Sans\", \"Plus Jakarta Sans Fallback\", -apple-system, system-ui, Helvetica, Arial, sans-serif !important;\n\tfont-weight: 800 !important;\n}\n.certrev-reader .certrev-r-scope {\n\tcolor: #14141495 !important;\n\ttext-wrap: pretty;\n\tmargin-top: 9px;\n\tfont-size: 12.5px !important;\n\tline-height: 1.5 !important;\n}\n.certrev-reader .certrev-r-scope em {\n\tfont-style: normal !important;\n\tfont-family: \"JetBrains Mono\", \"JetBrains Mono Fallback\", ui-monospace, SFMono-Regular, Menlo, monospace !important;\n\tletter-spacing: 0.1em !important;\n\ttext-transform: uppercase !important;\n\tfont-size: 9.5px !important;\n}\n.certrev-reader .certrev-r-side {\n\tz-index: 1;\n\tfloat: right;\n\tborder: 1px solid #14141421;\n\tborder-radius: var(--cr-br);\n\twidth: 268px;\n\tbox-shadow: 0 4px 18px #14141412;\n\tbackground: #fff;\n\tmargin: 2px 0 18px 28px;\n\tposition: relative;\n\toverflow: hidden;\n}\n.certrev-reader .certrev-r-side-body {\n\tpadding: 18px;\n}\n.certrev-reader .certrev-r-side-body .certrev-r-by b {\n\tfont-size: 14px !important;\n}\n.certrev-reader .certrev-r-side-body p {\n\tcolor: #141414b8 !important;\n\ttext-wrap: pretty;\n\tmargin: 15px 0 0;\n\tfont-size: 13px !important;\n\tline-height: 1.55 !important;\n}\n.certrev-reader .certrev-r-side-body blockquote {\n\tmargin-top: 15px;\n\tpadding-left: 15px;\n\tfont-size: 13.5px !important;\n\tline-height: 1.55 !important;\n}\n.certrev-reader .certrev-r-side-body .certrev-r-scope {\n\tmargin-top: 15px;\n\tfont-size: 11.5px !important;\n}\n.certrev-reader .certrev-r-side-links {\n\tborder-top: 1px solid #14141421;\n\tgrid-template-columns: 1fr 1fr;\n\tdisplay: grid;\n}\n.certrev-reader .certrev-r-side-links a {\n\ttext-align: center !important;\n\tcolor: #141414 !important;\n\tpadding: 13px;\n\tfont-size: 13px !important;\n\tfont-weight: 700 !important;\n\ttext-decoration: none;\n}\n.certrev-reader .certrev-r-side-links a:first-child {\n\tborder-right: 1px solid #14141421;\n}\n.certrev-reader .certrev-r-side-links a:hover {\n\tcolor: var(--cr-ba) !important;\n}\n.certrev-reader .certrev-r-pill {\n\tz-index: 3;\n\tbackground: var(--cr-ba);\n\tcolor: var(--cr-ba-fg) !important;\n\tborder-radius: 999px;\n\talign-items: center;\n\tgap: 13px;\n\tpadding: 12px 21px;\n\tdisplay: inline-flex;\n\tposition: absolute;\n\tbottom: 26px;\n\tright: 26px;\n\tbox-shadow: 0 10px 26px #14141429;\n}\n.certrev-reader .certrev-r-pill span {\n\twhite-space: nowrap;\n\tfont-family: \"JetBrains Mono\", \"JetBrains Mono Fallback\", ui-monospace, SFMono-Regular, Menlo, monospace !important;\n\tletter-spacing: 0.14em !important;\n\ttext-transform: uppercase !important;\n\tfont-size: 10.5px !important;\n\tfont-weight: 700 !important;\n}\n.certrev-reader .certrev-r-pill a {\n\tcolor: inherit !important;\n\ttext-underline-offset: 3px;\n\tfont-size: 13.5px !important;\n\tfont-weight: 700 !important;\n\ttext-decoration: underline;\n}\n.certrev-reader .certrev-r-pill i {\n\topacity: 0.42;\n\tfont-style: normal !important;\n}\n@media (max-width: 820px) {\n\t.certrev-reader .certrev-r-side {\n\t\tfloat: none;\n\t\twidth: auto;\n\t\tmargin: 20px 0;\n\t}\n\t.certrev-reader .certrev-r-bys {\n\t\tgrid-template-columns: 1fr;\n\t\tgap: 18px;\n\t}\n\t.certrev-reader .certrev-r-cap {\n\t\tletter-spacing: 0.1em !important;\n\t\tpadding: 12px 16px;\n\t\tfont-size: 9.5px !important;\n\t}\n\t.certrev-reader .certrev-r-cap-body,\n\t.certrev-reader .certrev-r-card.pad {\n\t\tpadding: 16px 18px;\n\t}\n\t.certrev-reader .certrev-r-pill {\n\t\tgap: 10px;\n\t\tpadding: 10px 16px;\n\t\tbottom: 20px;\n\t\tright: 20px;\n\t}\n}\n@media (max-width: 560px) {\n\t.certrev-reader .certrev-r-links {\n\t\tflex-direction: column;\n\t\tgap: 9px;\n\t}\n\t.certrev-reader .certrev-r-foot {\n\t\tflex-direction: column;\n\t\talign-items: flex-start;\n\t\tgap: 6px;\n\t}\n\t.certrev-reader .certrev-r-foot span {\n\t\twhite-space: normal;\n\t}\n\t.certrev-reader .certrev-r-vfoot {\n\t\tflex-direction: column;\n\t\talign-items: flex-start;\n\t\tgap: 10px;\n\t}\n\t.certrev-reader .certrev-r-vfoot .certrev-r-scope {\n\t\twidth: 100%;\n\t}\n\t.certrev-reader .certrev-r-cap {\n\t\twhite-space: normal;\n\t\tletter-spacing: 0.08em !important;\n\t\tpadding: 11px 14px;\n\t\tfont-size: 9px !important;\n\t}\n\t.certrev-reader .certrev-r-cap-body,\n\t.certrev-reader .certrev-r-card.pad {\n\t\tpadding: 14px 15px;\n\t}\n\t.certrev-reader .certrev-r-foot {\n\t\tflex-wrap: wrap;\n\t\tgap: 8px 14px;\n\t}\n\t.certrev-reader .certrev-r-links {\n\t\tflex-wrap: wrap;\n\t\tgap: 16px;\n\t}\n\t.certrev-reader .certrev-r-vfoot {\n\t\tflex-wrap: wrap;\n\t\tgap: 10px;\n\t}\n\t.certrev-reader .certrev-r-face.lg {\n\t\twidth: 38px;\n\t\theight: 38px;\n\t}\n\t.certrev-reader .certrev-r-side {\n\t\tmargin: 16px 0;\n\t}\n\t.certrev-reader .certrev-r-side-links a {\n\t\tpadding: 12px 8px;\n\t}\n\t.certrev-reader .certrev-r-pill {\n\t\ttext-align: center !important;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: center;\n\t\tgap: 6px 12px;\n\t\tpadding: 11px 14px;\n\t\tbottom: 14px;\n\t\tleft: 14px;\n\t\tright: 14px;\n\t}\n\t.certrev-reader .certrev-r-pill span {\n\t\twhite-space: normal;\n\t}\n}\n/* Theme-bleed armor (hand-written, not from the snapshot; see build-cert-reader-css.mjs). */\n.certrev-reader img {\n\tmargin: 0 !important;\n\tmax-width: 100% !important;\n\tfloat: none !important;\n\tborder-radius: 0 !important;\n}\n.certrev-reader a {\n\tbackground-image: none !important;\n}\n.certrev-reader .certrev-r-links a,\n.certrev-reader .certrev-r-side-links a {\n\ttext-decoration: none !important;\n}\n.certrev-reader .certrev-r-links a:not(:hover),\n.certrev-reader .certrev-r-side-links a:not(:hover) {\n\tcolor: #141414 !important;\n}\n.certrev-reader .certrev-r-links a:hover,\n.certrev-reader .certrev-r-side-links a:hover {\n\tcolor: var(--cr-ba) !important;\n}\n.certrev-reader .certrev-r-pill a {\n\tcolor: inherit !important;\n\ttext-decoration: underline !important;\n}\n.certrev-reader .certrev-r-face img {\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\tobject-fit: cover;\n}\n.certrev-reader .certrev-r-bys.solo {\n\tgrid-template-columns: minmax(0, 1fr);\n}\n.certrev-reader .certrev-r-foot a {\n\tcolor: inherit !important;\n\ttext-decoration: underline !important;\n}\n.certrev-reader .certrev-r-pill {\n\tposition: fixed;\n\tmargin-bottom: env(safe-area-inset-bottom, 0px);\n}\n.certrev-memo-wrap[data-certrev-placement=\"rail\"] .certrev-reader .certrev-r-side {\n\tfloat: none;\n\twidth: auto;\n\tmargin: 0;\n}\n.certrev-memo-wrap[data-certrev-placement=\"body-fallback\"] .certrev-reader .certrev-r-side,\n.certrev-sidebar-wrap:not([data-certrev-placement]) .certrev-reader .certrev-r-side {\n\tfloat: none;\n\tmargin-right: auto;\n\tmargin-left: auto;\n}\n.certrev-reader .certrev-r-side-links.single {\n\tgrid-template-columns: minmax(0, 1fr);\n}\n.certrev-reader .certrev-r-side-links.single a:first-child {\n\tborder-right: 0;\n}\n:is(.certrev-card-wrap, .certrev-memo-wrap):has(.certrev-reader) {\n\tmargin-block: 0 !important;\n\tpadding: 0 !important;\n}\n/* Reader fonts (generated from site-snapshot/site-fonts.css.txt: certrev.com's own faces and metric-matched\n * fallbacks, the same declarations but for the file, the committed copy on assets.certrev.com, and the stretch, which\n * keeps them to reader text; see build-cert-reader-css.mjs). */\n@font-face {\n\tfont-family: \"DM Sans Fallback\";\n\tfont-stretch: 101%;\n\tsrc: local(Arial);\n\tascent-override: 94.9%;\n\tdescent-override: 29.66%;\n\tline-gap-override: 0.0%;\n\tsize-adjust: 104.53%;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display Fallback\";\n\tfont-stretch: 101%;\n\tsrc: local(Times New Roman);\n\tascent-override: 97.25%;\n\tdescent-override: 22.56%;\n\tline-gap-override: 0.0%;\n\tsize-adjust: 111.26%;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono Fallback\";\n\tfont-stretch: 101%;\n\tsrc: local(Arial);\n\tascent-override: 75.79%;\n\tdescent-override: 22.29%;\n\tline-gap-override: 0.0%;\n\tsize-adjust: 134.59%;\n}\n\n@font-face {\n\tfont-family: \"Plus Jakarta Sans Fallback\";\n\tfont-stretch: 101%;\n\tsrc: local(Arial);\n\tascent-override: 98.88%;\n\tdescent-override: 21.15%;\n\tline-gap-override: 0.0%;\n\tsize-adjust: 104.98%;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 500;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 500;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: italic;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 500;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 500;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"DM Sans\";\n\tfont-style: normal;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-dm-sans-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 900;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: italic;\n\tfont-weight: 900;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-italic-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 600;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 900;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Playfair Display\";\n\tfont-style: normal;\n\tfont-weight: 900;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-playfair-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono\";\n\tfont-style: normal;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jetbrains-mono-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono\";\n\tfont-style: normal;\n\tfont-weight: 400;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jetbrains-mono-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono\";\n\tfont-style: normal;\n\tfont-weight: 500;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jetbrains-mono-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono\";\n\tfont-style: normal;\n\tfont-weight: 500;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jetbrains-mono-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono\";\n\tfont-style: normal;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jetbrains-mono-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"JetBrains Mono\";\n\tfont-style: normal;\n\tfont-weight: 700;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jetbrains-mono-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n\tfont-family: \"Plus Jakarta Sans\";\n\tfont-style: normal;\n\tfont-weight: 800;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jakarta-800-latin-ext.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,\n\t\tU+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n\tfont-family: \"Plus Jakarta Sans\";\n\tfont-style: normal;\n\tfont-weight: 800;\n\tfont-display: swap;\n\tfont-stretch: 101%;\n\tsrc: url(\"https://assets.certrev.com/fonts/cert-reader-jakarta-800-latin.woff2\") format(\"woff2\");\n\tunicode-range:\n\t\tU+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191,\n\t\tU+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* CERTREV-READER-GEN:END */\n"
|