@asteby/storefront-react 0.12.0 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,74 @@
1
+ import * as react from 'react';
2
+ import { ComponentType, ReactNode } from 'react';
3
+ import { CustomerCapabilities } from '@asteby/storefront';
4
+ import { a as CheckoutFieldClassNames } from './fields-vnMUi2HB.cjs';
5
+ import { A as AuthActionData, c as AuthStep, a as AuthErrorCode } from './types-HcEUd9hW.cjs';
6
+ export { b as AuthIntent } from './types-HcEUd9hW.cjs';
7
+
8
+ type AccountAuthView = 'login' | 'register' | 'otp-email' | 'forgot' | AuthStep;
9
+ type AccountAuthMessages = {
10
+ titles: Record<AccountAuthView, string>;
11
+ email: string;
12
+ password: string;
13
+ newPassword: string;
14
+ passwordHint: string;
15
+ firstName: string;
16
+ lastName: string;
17
+ code: string;
18
+ codeSentTo: string;
19
+ submit: Record<AccountAuthView, string>;
20
+ resend: string;
21
+ forgotLink: string;
22
+ registerLink: string;
23
+ loginLink: string;
24
+ otpLink: string;
25
+ backToLogin: string;
26
+ nothingAvailable: string;
27
+ errors: Record<AuthErrorCode, string>;
28
+ };
29
+ /** Messages for a locale (`es*` default, `en*`), with optional overrides (nested `titles`/`submit`/`errors` merge). */
30
+ declare function accountAuthMessages(locale?: string | null, overrides?: DeepPartial<AccountAuthMessages> | null): AccountAuthMessages;
31
+ type DeepPartial<T> = {
32
+ [K in keyof T]?: T[K] extends Record<string, string> ? Partial<T[K]> : T[K];
33
+ };
34
+ type AccountAuthClassNames = Partial<Record<'root' | 'title' | 'form' | 'notice' | 'error' | 'actions' | 'submit' | 'links' | 'link', string>> & {
35
+ field?: CheckoutFieldClassNames;
36
+ };
37
+ /** What `<AccountAuth>` passes to its `form` component: the few props a router `Form` and the HTML `<form>` both accept. */
38
+ type AccountFormProps = {
39
+ method?: 'post';
40
+ action?: string;
41
+ className?: string;
42
+ children?: ReactNode;
43
+ /** Loose on purpose: a router `Form` types its ref with its own copy of `@types/react`. */
44
+ ref?: any;
45
+ 'data-sf-account-form'?: boolean | string;
46
+ };
47
+ type AccountAuthProps = {
48
+ /** From `loadAuthCapabilities` (the loader). */
49
+ capabilities: CustomerCapabilities;
50
+ /** What the action returned (`useActionData()`); drives the next screen and the errors. */
51
+ data?: AuthActionData | null;
52
+ /** Where to go after signing in (sent as `next`; the server validates it). */
53
+ next?: string | null;
54
+ /** A submit is in flight (`navigation.state !== 'idle'`): disables the buttons. */
55
+ pending?: boolean;
56
+ /** First screen. Default `login`, or `otp-email` when the store has no password sign-in. */
57
+ initialView?: AccountAuthView;
58
+ /** Form component, e.g. React Router's `Form`, to submit without a reload. It must forward `ref` to the `<form>` (React 19: a prop). Default: the HTML `<form>`. */
59
+ form?: 'form' | ComponentType<AccountFormProps>;
60
+ /** `action` of the form (default: the current URL). */
61
+ action?: string;
62
+ locale?: string;
63
+ messages?: DeepPartial<AccountAuthMessages>;
64
+ classNames?: AccountAuthClassNames;
65
+ /** Shown above the form (a logo, a welcome text). */
66
+ header?: ReactNode;
67
+ };
68
+ /**
69
+ * The whole account screen. Headless enough to restyle, complete enough to drop in:
70
+ * `export default function Account() { return <AccountAuth capabilities={useLoaderData()} data={useActionData()} form={Form} /> }`.
71
+ */
72
+ declare function AccountAuth({ capabilities, data, next, pending, initialView, form: FormTag, action, locale, messages, classNames: cx, header }: AccountAuthProps): react.JSX.Element;
73
+
74
+ export { AccountAuth, type AccountAuthClassNames, type AccountAuthMessages, type AccountAuthProps, type AccountAuthView, type AccountFormProps, AuthActionData, AuthErrorCode, AuthStep, accountAuthMessages };
@@ -0,0 +1,74 @@
1
+ import * as react from 'react';
2
+ import { ComponentType, ReactNode } from 'react';
3
+ import { CustomerCapabilities } from '@asteby/storefront';
4
+ import { a as CheckoutFieldClassNames } from './fields-vnMUi2HB.js';
5
+ import { A as AuthActionData, c as AuthStep, a as AuthErrorCode } from './types-HcEUd9hW.js';
6
+ export { b as AuthIntent } from './types-HcEUd9hW.js';
7
+
8
+ type AccountAuthView = 'login' | 'register' | 'otp-email' | 'forgot' | AuthStep;
9
+ type AccountAuthMessages = {
10
+ titles: Record<AccountAuthView, string>;
11
+ email: string;
12
+ password: string;
13
+ newPassword: string;
14
+ passwordHint: string;
15
+ firstName: string;
16
+ lastName: string;
17
+ code: string;
18
+ codeSentTo: string;
19
+ submit: Record<AccountAuthView, string>;
20
+ resend: string;
21
+ forgotLink: string;
22
+ registerLink: string;
23
+ loginLink: string;
24
+ otpLink: string;
25
+ backToLogin: string;
26
+ nothingAvailable: string;
27
+ errors: Record<AuthErrorCode, string>;
28
+ };
29
+ /** Messages for a locale (`es*` default, `en*`), with optional overrides (nested `titles`/`submit`/`errors` merge). */
30
+ declare function accountAuthMessages(locale?: string | null, overrides?: DeepPartial<AccountAuthMessages> | null): AccountAuthMessages;
31
+ type DeepPartial<T> = {
32
+ [K in keyof T]?: T[K] extends Record<string, string> ? Partial<T[K]> : T[K];
33
+ };
34
+ type AccountAuthClassNames = Partial<Record<'root' | 'title' | 'form' | 'notice' | 'error' | 'actions' | 'submit' | 'links' | 'link', string>> & {
35
+ field?: CheckoutFieldClassNames;
36
+ };
37
+ /** What `<AccountAuth>` passes to its `form` component: the few props a router `Form` and the HTML `<form>` both accept. */
38
+ type AccountFormProps = {
39
+ method?: 'post';
40
+ action?: string;
41
+ className?: string;
42
+ children?: ReactNode;
43
+ /** Loose on purpose: a router `Form` types its ref with its own copy of `@types/react`. */
44
+ ref?: any;
45
+ 'data-sf-account-form'?: boolean | string;
46
+ };
47
+ type AccountAuthProps = {
48
+ /** From `loadAuthCapabilities` (the loader). */
49
+ capabilities: CustomerCapabilities;
50
+ /** What the action returned (`useActionData()`); drives the next screen and the errors. */
51
+ data?: AuthActionData | null;
52
+ /** Where to go after signing in (sent as `next`; the server validates it). */
53
+ next?: string | null;
54
+ /** A submit is in flight (`navigation.state !== 'idle'`): disables the buttons. */
55
+ pending?: boolean;
56
+ /** First screen. Default `login`, or `otp-email` when the store has no password sign-in. */
57
+ initialView?: AccountAuthView;
58
+ /** Form component, e.g. React Router's `Form`, to submit without a reload. It must forward `ref` to the `<form>` (React 19: a prop). Default: the HTML `<form>`. */
59
+ form?: 'form' | ComponentType<AccountFormProps>;
60
+ /** `action` of the form (default: the current URL). */
61
+ action?: string;
62
+ locale?: string;
63
+ messages?: DeepPartial<AccountAuthMessages>;
64
+ classNames?: AccountAuthClassNames;
65
+ /** Shown above the form (a logo, a welcome text). */
66
+ header?: ReactNode;
67
+ };
68
+ /**
69
+ * The whole account screen. Headless enough to restyle, complete enough to drop in:
70
+ * `export default function Account() { return <AccountAuth capabilities={useLoaderData()} data={useActionData()} form={Form} /> }`.
71
+ */
72
+ declare function AccountAuth({ capabilities, data, next, pending, initialView, form: FormTag, action, locale, messages, classNames: cx, header }: AccountAuthProps): react.JSX.Element;
73
+
74
+ export { AccountAuth, type AccountAuthClassNames, type AccountAuthMessages, type AccountAuthProps, type AccountAuthView, type AccountFormProps, AuthActionData, AuthErrorCode, AuthStep, accountAuthMessages };
@@ -0,0 +1,211 @@
1
+ import { useFieldErrors, CheckoutField, ErrorSummary } from './chunk-DFGLCIEG.js';
2
+ import { useState, useRef, useEffect } from 'react';
3
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
+
5
+ var ES = {
6
+ titles: {
7
+ login: "Entrar a tu cuenta",
8
+ register: "Crear una cuenta",
9
+ verify: "Confirma tu correo",
10
+ "otp-email": "Entrar con un c\xF3digo",
11
+ otp: "Escribe tu c\xF3digo",
12
+ forgot: "Recuperar contrase\xF1a",
13
+ reset: "Elige una contrase\xF1a nueva"
14
+ },
15
+ email: "Correo electr\xF3nico",
16
+ password: "Contrase\xF1a",
17
+ newPassword: "Contrase\xF1a nueva",
18
+ passwordHint: "Entre 10 y 128 caracteres.",
19
+ firstName: "Nombre",
20
+ lastName: "Apellido",
21
+ code: "C\xF3digo",
22
+ codeSentTo: "Enviamos un c\xF3digo a {email}. Puede tardar un minuto.",
23
+ submit: {
24
+ login: "Entrar",
25
+ register: "Crear cuenta",
26
+ verify: "Confirmar",
27
+ "otp-email": "Enviarme el c\xF3digo",
28
+ otp: "Entrar",
29
+ forgot: "Enviarme el c\xF3digo",
30
+ reset: "Guardar y entrar"
31
+ },
32
+ resend: "Reenviar c\xF3digo",
33
+ forgotLink: "\xBFOlvidaste tu contrase\xF1a?",
34
+ registerLink: "Crear una cuenta",
35
+ loginLink: "Ya tengo cuenta",
36
+ otpLink: "Entrar con un c\xF3digo por correo",
37
+ backToLogin: "Volver a entrar con contrase\xF1a",
38
+ nothingAvailable: "Esta tienda no admite iniciar sesi\xF3n por ahora.",
39
+ errors: {
40
+ invalid_credentials: "El correo o la contrase\xF1a no coinciden.",
41
+ invalid_code: "El c\xF3digo no es v\xE1lido o ya venci\xF3.",
42
+ email_taken: "Ya existe una cuenta con este correo. Entra o recupera tu contrase\xF1a.",
43
+ rate_limited: "Demasiados intentos. Espera unos minutos e int\xE9ntalo de nuevo.",
44
+ validation: "Revisa los datos e int\xE9ntalo de nuevo.",
45
+ unsupported: "Esta forma de entrar no est\xE1 disponible en esta tienda.",
46
+ unavailable: "No pudimos completar la acci\xF3n. Int\xE9ntalo de nuevo en un momento."
47
+ }
48
+ };
49
+ var EN = {
50
+ titles: {
51
+ login: "Sign in",
52
+ register: "Create an account",
53
+ verify: "Confirm your email",
54
+ "otp-email": "Sign in with a code",
55
+ otp: "Enter your code",
56
+ forgot: "Reset your password",
57
+ reset: "Choose a new password"
58
+ },
59
+ email: "Email",
60
+ password: "Password",
61
+ newPassword: "New password",
62
+ passwordHint: "Between 10 and 128 characters.",
63
+ firstName: "First name",
64
+ lastName: "Last name",
65
+ code: "Code",
66
+ codeSentTo: "We sent a code to {email}. It can take a minute.",
67
+ submit: {
68
+ login: "Sign in",
69
+ register: "Create account",
70
+ verify: "Confirm",
71
+ "otp-email": "Email me the code",
72
+ otp: "Sign in",
73
+ forgot: "Email me the code",
74
+ reset: "Save and sign in"
75
+ },
76
+ resend: "Resend code",
77
+ forgotLink: "Forgot your password?",
78
+ registerLink: "Create an account",
79
+ loginLink: "I already have an account",
80
+ otpLink: "Sign in with an emailed code",
81
+ backToLogin: "Back to password sign-in",
82
+ nothingAvailable: "This store does not support signing in right now.",
83
+ errors: {
84
+ invalid_credentials: "The email and password do not match.",
85
+ invalid_code: "The code is not valid or has expired.",
86
+ email_taken: "An account with this email already exists. Sign in or reset your password.",
87
+ rate_limited: "Too many attempts. Wait a few minutes and try again.",
88
+ validation: "Check the details and try again.",
89
+ unsupported: "This way of signing in is not available in this store.",
90
+ unavailable: "We could not complete that. Try again in a moment."
91
+ }
92
+ };
93
+ function accountAuthMessages(locale, overrides) {
94
+ const base = (locale ?? "es-MX").toLowerCase().startsWith("en") ? EN : ES;
95
+ if (!overrides) return base;
96
+ return {
97
+ ...base,
98
+ ...overrides,
99
+ titles: { ...base.titles, ...overrides.titles },
100
+ submit: { ...base.submit, ...overrides.submit },
101
+ errors: { ...base.errors, ...overrides.errors }
102
+ };
103
+ }
104
+ var initialOf = (caps, initialView) => initialView ?? (caps.password ? "login" : caps.otp_channels.includes("email") ? "otp-email" : "login");
105
+ function AccountAuth({ capabilities, data, next, pending = false, initialView, form: FormTag = "form", action, locale, messages, classNames: cx = {}, header }) {
106
+ const m = accountAuthMessages(locale, messages);
107
+ const passwordOn = capabilities.password;
108
+ const otpOn = capabilities.otp_channels.includes("email");
109
+ const [view, setView] = useState(() => data?.step ?? initialOf(capabilities, initialView));
110
+ const [email, setEmail] = useState(data?.email ?? "");
111
+ const ref = useRef(null);
112
+ const serverFields = data?.error?.field ? [data.error.field] : null;
113
+ const errorText = data?.error ? m.errors[data.error.code] : null;
114
+ const v = useFieldErrors(ref, { ...locale ? { locale } : {}, serverFields, serverMessages: data?.error?.field && errorText ? { [data.error.field]: errorText } : null });
115
+ useEffect(() => {
116
+ if (data?.step) setView(data.step);
117
+ if (data?.email) setEmail(data.email);
118
+ }, [data]);
119
+ const go = (to) => {
120
+ v.clear();
121
+ setView(to);
122
+ };
123
+ const fieldProps = { classNames: cx.field, ...locale ? { locale } : {} };
124
+ const emailField = /* @__PURE__ */ jsx(CheckoutField, { ...fieldProps, name: "email", type: "email", label: m.email, autoComplete: "email", inputMode: "email", value: email, onChange: (e) => setEmail(e.currentTarget.value), error: v.errors.email ?? null });
125
+ const codeField = /* @__PURE__ */ jsx(CheckoutField, { ...fieldProps, name: "code", label: m.code, autoComplete: "one-time-code", inputMode: "numeric", pattern: "[0-9]*", error: v.errors.code ?? null });
126
+ const passwordField = (label, autoComplete, newPassword) => /* @__PURE__ */ jsx(
127
+ CheckoutField,
128
+ {
129
+ ...fieldProps,
130
+ name: "password",
131
+ type: "password",
132
+ label,
133
+ autoComplete,
134
+ error: v.errors.password ?? null,
135
+ ...newPassword ? { minLength: 10, maxLength: 128, hint: m.passwordHint } : {}
136
+ }
137
+ );
138
+ const link = (to, text) => /* @__PURE__ */ jsx("button", { type: "button", className: cx.link, "data-sf-account-link": to, onClick: () => go(to), children: text });
139
+ let body;
140
+ let links = null;
141
+ switch (view) {
142
+ case "register":
143
+ body = /* @__PURE__ */ jsxs(Fragment, { children: [
144
+ /* @__PURE__ */ jsx(CheckoutField, { ...fieldProps, name: "first_name", label: m.firstName, autoComplete: "given-name", optional: true }),
145
+ /* @__PURE__ */ jsx(CheckoutField, { ...fieldProps, name: "last_name", label: m.lastName, autoComplete: "family-name", optional: true }),
146
+ emailField,
147
+ passwordField(m.password, "new-password", true)
148
+ ] });
149
+ links = link("login", m.loginLink);
150
+ break;
151
+ case "verify":
152
+ case "otp":
153
+ body = /* @__PURE__ */ jsxs(Fragment, { children: [
154
+ /* @__PURE__ */ jsx("p", { className: cx.notice, "data-sf-account-notice": true, children: m.codeSentTo.replace("{email}", email) }),
155
+ /* @__PURE__ */ jsx("input", { type: "hidden", name: "email", value: email }),
156
+ codeField
157
+ ] });
158
+ links = /* @__PURE__ */ jsxs(Fragment, { children: [
159
+ view === "otp" ? /* @__PURE__ */ jsx("button", { type: "submit", name: "intent", value: "otp-request", formNoValidate: true, className: cx.link, "data-sf-account-link": "resend", children: m.resend }) : null,
160
+ link("login", m.backToLogin)
161
+ ] });
162
+ break;
163
+ case "otp-email":
164
+ case "forgot":
165
+ body = emailField;
166
+ links = link("login", m.backToLogin);
167
+ break;
168
+ case "reset":
169
+ body = /* @__PURE__ */ jsxs(Fragment, { children: [
170
+ /* @__PURE__ */ jsx("p", { className: cx.notice, "data-sf-account-notice": true, children: m.codeSentTo.replace("{email}", email) }),
171
+ /* @__PURE__ */ jsx("input", { type: "hidden", name: "email", value: email }),
172
+ codeField,
173
+ passwordField(m.newPassword, "new-password", true)
174
+ ] });
175
+ links = link("login", m.backToLogin);
176
+ break;
177
+ default:
178
+ body = /* @__PURE__ */ jsxs(Fragment, { children: [
179
+ emailField,
180
+ passwordField(m.password, "current-password", false)
181
+ ] });
182
+ links = /* @__PURE__ */ jsxs(Fragment, { children: [
183
+ otpOn ? link("forgot", m.forgotLink) : null,
184
+ link("register", m.registerLink),
185
+ otpOn ? link("otp-email", m.otpLink) : null
186
+ ] });
187
+ }
188
+ const intent = { login: "login", register: "register", verify: "verify", "otp-email": "otp-request", otp: "otp-login", forgot: "forgot", reset: "reset" }[view];
189
+ const available = view === "login" || view === "register" || view === "forgot" || view === "reset" || view === "verify" ? passwordOn : otpOn;
190
+ const showSummary = !data?.error?.field;
191
+ const title = m.titles[view];
192
+ if (!available && !passwordOn && !otpOn) {
193
+ return /* @__PURE__ */ jsx("section", { className: cx.root, "data-sf-account-auth": true, "data-sf-account-view": "unavailable", children: /* @__PURE__ */ jsx("p", { className: cx.notice, role: "status", children: m.nothingAvailable }) });
194
+ }
195
+ return /* @__PURE__ */ jsxs("section", { className: cx.root, "data-sf-account-auth": true, "data-sf-account-view": view, "aria-labelledby": "sf-account-title", children: [
196
+ header,
197
+ /* @__PURE__ */ jsx("h1", { id: "sf-account-title", className: cx.title, children: title }),
198
+ /* @__PURE__ */ jsxs(FormTag, { ref, method: "post", ...action ? { action } : {}, className: cx.form, "data-sf-account-form": true, children: [
199
+ /* @__PURE__ */ jsx(ErrorSummary, { items: v.summary, focusKey: v.summaryKey, ...locale ? { locale } : {} }),
200
+ errorText && showSummary ? /* @__PURE__ */ jsx("p", { role: "alert", className: cx.error, "data-sf-account-error": data.error.code, children: errorText }) : null,
201
+ next ? /* @__PURE__ */ jsx("input", { type: "hidden", name: "next", value: next }) : null,
202
+ body,
203
+ /* @__PURE__ */ jsx("div", { className: cx.actions, children: /* @__PURE__ */ jsx("button", { type: "submit", name: "intent", value: intent, disabled: pending, className: cx.submit, "data-sf-account-submit": true, children: m.submit[view] }) }),
204
+ /* @__PURE__ */ jsx("div", { className: cx.links, "data-sf-account-links": true, children: links })
205
+ ] })
206
+ ] });
207
+ }
208
+
209
+ export { AccountAuth, accountAuthMessages };
210
+ //# sourceMappingURL=account.js.map
211
+ //# sourceMappingURL=account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/account/account-auth.tsx"],"names":[],"mappings":"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","file":"account.js","sourcesContent":["/**\n * The account screen: sign in with password, create an account, verify the emailed code, sign in with a code and\n * recover a forgotten password, in one `<form method=\"post\">` driven by `createAuthAction` (`./server`). What the store\n * offers comes from `loadAuthCapabilities`; the form shows only that. Plain HTML: it works without JavaScript for the\n * password sign-in and the steps the action sends back; the view switches (links) need JavaScript.\n *\n * Styling: `data-sf-account-*` attributes and `classNames` slots, fields reuse `CheckoutField` (and `checkout.css`);\n * `account.css` is an optional neutral sheet. Texts are Spanish by default, English with `locale=\"en\"`, any with `messages`.\n */\nimport { useEffect, useRef, useState, type ComponentType, type ReactNode } from 'react'\nimport type { CustomerCapabilities } from '@asteby/storefront'\nimport { CheckoutField, ErrorSummary, useFieldErrors, type CheckoutFieldClassNames } from '../checkout/fields.js'\nimport type { AuthActionData, AuthErrorCode, AuthStep } from './types.js'\n\nexport type AccountAuthView = 'login' | 'register' | 'otp-email' | 'forgot' | AuthStep\n\nexport type AccountAuthMessages = {\n titles: Record<AccountAuthView, string>\n email: string\n password: string\n newPassword: string\n passwordHint: string\n firstName: string\n lastName: string\n code: string\n codeSentTo: string\n submit: Record<AccountAuthView, string>\n resend: string\n forgotLink: string\n registerLink: string\n loginLink: string\n otpLink: string\n backToLogin: string\n nothingAvailable: string\n errors: Record<AuthErrorCode, string>\n}\n\nconst ES: AccountAuthMessages = {\n titles: {\n login: 'Entrar a tu cuenta',\n register: 'Crear una cuenta',\n verify: 'Confirma tu correo',\n 'otp-email': 'Entrar con un código',\n otp: 'Escribe tu código',\n forgot: 'Recuperar contraseña',\n reset: 'Elige una contraseña nueva',\n },\n email: 'Correo electrónico',\n password: 'Contraseña',\n newPassword: 'Contraseña nueva',\n passwordHint: 'Entre 10 y 128 caracteres.',\n firstName: 'Nombre',\n lastName: 'Apellido',\n code: 'Código',\n codeSentTo: 'Enviamos un código a {email}. Puede tardar un minuto.',\n submit: {\n login: 'Entrar',\n register: 'Crear cuenta',\n verify: 'Confirmar',\n 'otp-email': 'Enviarme el código',\n otp: 'Entrar',\n forgot: 'Enviarme el código',\n reset: 'Guardar y entrar',\n },\n resend: 'Reenviar código',\n forgotLink: '¿Olvidaste tu contraseña?',\n registerLink: 'Crear una cuenta',\n loginLink: 'Ya tengo cuenta',\n otpLink: 'Entrar con un código por correo',\n backToLogin: 'Volver a entrar con contraseña',\n nothingAvailable: 'Esta tienda no admite iniciar sesión por ahora.',\n errors: {\n invalid_credentials: 'El correo o la contraseña no coinciden.',\n invalid_code: 'El código no es válido o ya venció.',\n email_taken: 'Ya existe una cuenta con este correo. Entra o recupera tu contraseña.',\n rate_limited: 'Demasiados intentos. Espera unos minutos e inténtalo de nuevo.',\n validation: 'Revisa los datos e inténtalo de nuevo.',\n unsupported: 'Esta forma de entrar no está disponible en esta tienda.',\n unavailable: 'No pudimos completar la acción. Inténtalo de nuevo en un momento.',\n },\n}\n\nconst EN: AccountAuthMessages = {\n titles: {\n login: 'Sign in',\n register: 'Create an account',\n verify: 'Confirm your email',\n 'otp-email': 'Sign in with a code',\n otp: 'Enter your code',\n forgot: 'Reset your password',\n reset: 'Choose a new password',\n },\n email: 'Email',\n password: 'Password',\n newPassword: 'New password',\n passwordHint: 'Between 10 and 128 characters.',\n firstName: 'First name',\n lastName: 'Last name',\n code: 'Code',\n codeSentTo: 'We sent a code to {email}. It can take a minute.',\n submit: {\n login: 'Sign in',\n register: 'Create account',\n verify: 'Confirm',\n 'otp-email': 'Email me the code',\n otp: 'Sign in',\n forgot: 'Email me the code',\n reset: 'Save and sign in',\n },\n resend: 'Resend code',\n forgotLink: 'Forgot your password?',\n registerLink: 'Create an account',\n loginLink: 'I already have an account',\n otpLink: 'Sign in with an emailed code',\n backToLogin: 'Back to password sign-in',\n nothingAvailable: 'This store does not support signing in right now.',\n errors: {\n invalid_credentials: 'The email and password do not match.',\n invalid_code: 'The code is not valid or has expired.',\n email_taken: 'An account with this email already exists. Sign in or reset your password.',\n rate_limited: 'Too many attempts. Wait a few minutes and try again.',\n validation: 'Check the details and try again.',\n unsupported: 'This way of signing in is not available in this store.',\n unavailable: 'We could not complete that. Try again in a moment.',\n },\n}\n\n/** Messages for a locale (`es*` default, `en*`), with optional overrides (nested `titles`/`submit`/`errors` merge). */\nexport function accountAuthMessages(locale?: string | null, overrides?: DeepPartial<AccountAuthMessages> | null): AccountAuthMessages {\n const base = (locale ?? 'es-MX').toLowerCase().startsWith('en') ? EN : ES\n if (!overrides) return base\n return {\n ...base,\n ...(overrides as Partial<AccountAuthMessages>),\n titles: { ...base.titles, ...overrides.titles },\n submit: { ...base.submit, ...overrides.submit },\n errors: { ...base.errors, ...overrides.errors },\n }\n}\n\ntype DeepPartial<T> = { [K in keyof T]?: T[K] extends Record<string, string> ? Partial<T[K]> : T[K] }\n\nexport type AccountAuthClassNames = Partial<Record<'root' | 'title' | 'form' | 'notice' | 'error' | 'actions' | 'submit' | 'links' | 'link', string>> & {\n field?: CheckoutFieldClassNames\n}\n\n/** What `<AccountAuth>` passes to its `form` component: the few props a router `Form` and the HTML `<form>` both accept. */\nexport type AccountFormProps = {\n method?: 'post'\n action?: string\n className?: string\n children?: ReactNode\n /** Loose on purpose: a router `Form` types its ref with its own copy of `@types/react`. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref?: any\n 'data-sf-account-form'?: boolean | string\n}\n\nexport type AccountAuthProps = {\n /** From `loadAuthCapabilities` (the loader). */\n capabilities: CustomerCapabilities\n /** What the action returned (`useActionData()`); drives the next screen and the errors. */\n data?: AuthActionData | null\n /** Where to go after signing in (sent as `next`; the server validates it). */\n next?: string | null\n /** A submit is in flight (`navigation.state !== 'idle'`): disables the buttons. */\n pending?: boolean\n /** First screen. Default `login`, or `otp-email` when the store has no password sign-in. */\n initialView?: AccountAuthView\n /** Form component, e.g. React Router's `Form`, to submit without a reload. It must forward `ref` to the `<form>` (React 19: a prop). Default: the HTML `<form>`. */\n form?: 'form' | ComponentType<AccountFormProps>\n /** `action` of the form (default: the current URL). */\n action?: string\n locale?: string\n messages?: DeepPartial<AccountAuthMessages>\n classNames?: AccountAuthClassNames\n /** Shown above the form (a logo, a welcome text). */\n header?: ReactNode\n}\n\nconst initialOf = (caps: CustomerCapabilities, initialView?: AccountAuthView): AccountAuthView =>\n initialView ?? (caps.password ? 'login' : caps.otp_channels.includes('email') ? 'otp-email' : 'login')\n\n/**\n * The whole account screen. Headless enough to restyle, complete enough to drop in:\n * `export default function Account() { return <AccountAuth capabilities={useLoaderData()} data={useActionData()} form={Form} /> }`.\n */\nexport function AccountAuth({ capabilities, data, next, pending = false, initialView, form: FormTag = 'form', action, locale, messages, classNames: cx = {}, header }: AccountAuthProps) {\n const m = accountAuthMessages(locale, messages)\n const passwordOn = capabilities.password\n const otpOn = capabilities.otp_channels.includes('email')\n const [view, setView] = useState<AccountAuthView>(() => data?.step ?? initialOf(capabilities, initialView))\n const [email, setEmail] = useState(data?.email ?? '')\n const ref = useRef<HTMLFormElement>(null)\n const serverFields = data?.error?.field ? [data.error.field] : null\n const errorText = data?.error ? m.errors[data.error.code] : null\n const v = useFieldErrors(ref, { ...(locale ? { locale } : {}), serverFields, serverMessages: data?.error?.field && errorText ? { [data.error.field]: errorText } : null })\n\n // The action decides the next screen; the email it carries survives it.\n useEffect(() => {\n if (data?.step) setView(data.step)\n if (data?.email) setEmail(data.email)\n }, [data])\n\n const go = (to: AccountAuthView) => {\n v.clear()\n setView(to)\n }\n const fieldProps = { classNames: cx.field, ...(locale ? { locale } : {}) }\n const emailField = (\n <CheckoutField {...fieldProps} name=\"email\" type=\"email\" label={m.email} autoComplete=\"email\" inputMode=\"email\" value={email} onChange={(e) => setEmail(e.currentTarget.value)} error={v.errors.email ?? null} />\n )\n const codeField = (\n <CheckoutField {...fieldProps} name=\"code\" label={m.code} autoComplete=\"one-time-code\" inputMode=\"numeric\" pattern=\"[0-9]*\" error={v.errors.code ?? null} />\n )\n const passwordField = (label: string, autoComplete: string, newPassword: boolean) => (\n <CheckoutField\n {...fieldProps}\n name=\"password\"\n type=\"password\"\n label={label}\n autoComplete={autoComplete}\n error={v.errors.password ?? null}\n {...(newPassword ? { minLength: 10, maxLength: 128, hint: m.passwordHint } : {})}\n />\n )\n const link = (to: AccountAuthView, text: string) => (\n <button type=\"button\" className={cx.link} data-sf-account-link={to} onClick={() => go(to)}>\n {text}\n </button>\n )\n\n let body: ReactNode\n let links: ReactNode = null\n switch (view) {\n case 'register':\n body = (\n <>\n <CheckoutField {...fieldProps} name=\"first_name\" label={m.firstName} autoComplete=\"given-name\" optional />\n <CheckoutField {...fieldProps} name=\"last_name\" label={m.lastName} autoComplete=\"family-name\" optional />\n {emailField}\n {passwordField(m.password, 'new-password', true)}\n </>\n )\n links = link('login', m.loginLink)\n break\n case 'verify':\n case 'otp':\n body = (\n <>\n <p className={cx.notice} data-sf-account-notice>\n {m.codeSentTo.replace('{email}', email)}\n </p>\n <input type=\"hidden\" name=\"email\" value={email} />\n {codeField}\n </>\n )\n links = (\n <>\n {view === 'otp' ? (\n <button type=\"submit\" name=\"intent\" value=\"otp-request\" formNoValidate className={cx.link} data-sf-account-link=\"resend\">\n {m.resend}\n </button>\n ) : null}\n {link('login', m.backToLogin)}\n </>\n )\n break\n case 'otp-email':\n case 'forgot':\n body = emailField\n links = link('login', m.backToLogin)\n break\n case 'reset':\n body = (\n <>\n <p className={cx.notice} data-sf-account-notice>\n {m.codeSentTo.replace('{email}', email)}\n </p>\n <input type=\"hidden\" name=\"email\" value={email} />\n {codeField}\n {passwordField(m.newPassword, 'new-password', true)}\n </>\n )\n links = link('login', m.backToLogin)\n break\n default:\n body = (\n <>\n {emailField}\n {passwordField(m.password, 'current-password', false)}\n </>\n )\n links = (\n <>\n {otpOn ? link('forgot', m.forgotLink) : null}\n {link('register', m.registerLink)}\n {otpOn ? link('otp-email', m.otpLink) : null}\n </>\n )\n }\n\n const intent = { login: 'login', register: 'register', verify: 'verify', 'otp-email': 'otp-request', otp: 'otp-login', forgot: 'forgot', reset: 'reset' }[view]\n // Without password accounts the password views do not exist; only the code sign-in does.\n const available = view === 'login' || view === 'register' || view === 'forgot' || view === 'reset' || view === 'verify' ? passwordOn : otpOn\n const showSummary = !data?.error?.field\n const title = m.titles[view]\n if (!available && !passwordOn && !otpOn) {\n return (\n <section className={cx.root} data-sf-account-auth data-sf-account-view=\"unavailable\">\n <p className={cx.notice} role=\"status\">\n {m.nothingAvailable}\n </p>\n </section>\n )\n }\n return (\n <section className={cx.root} data-sf-account-auth data-sf-account-view={view} aria-labelledby=\"sf-account-title\">\n {header}\n <h1 id=\"sf-account-title\" className={cx.title}>\n {title}\n </h1>\n <FormTag ref={ref as never} method=\"post\" {...(action ? { action } : {})} className={cx.form} data-sf-account-form>\n <ErrorSummary items={v.summary} focusKey={v.summaryKey} {...(locale ? { locale } : {})} />\n {errorText && showSummary ? (\n <p role=\"alert\" className={cx.error} data-sf-account-error={data!.error!.code}>\n {errorText}\n </p>\n ) : null}\n {next ? <input type=\"hidden\" name=\"next\" value={next} /> : null}\n {body}\n <div className={cx.actions}>\n <button type=\"submit\" name=\"intent\" value={intent} disabled={pending} className={cx.submit} data-sf-account-submit>\n {m.submit[view]}\n </button>\n </div>\n <div className={cx.links} data-sf-account-links>\n {links}\n </div>\n </FormTag>\n </section>\n )\n}\n"]}
package/dist/checkout.cjs CHANGED
@@ -521,10 +521,12 @@ var LOGOS = {
521
521
  "mastercard": { src: "data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1000 618%22%3E%3Cpath fill=%22%23EB001B%22 d=%22M308 0a309 309 0 1 0 2 0z%22/%3E%3Cpath fill=%22%23F79E1B%22 d=%22M690 0a309 309 0 1 0 2 0z%22/%3E%3Cpath fill=%22%23FF5F00%22 d=%22M500 66a309 309 0 0 0 0 486 309 309 0 0 0 0-486%22/%3E%3C/svg%3E", ar: 1.618, mono: false },
522
522
  "mercadopago": { src: "data:image/png;base64,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", ar: 3.838, mono: false },
523
523
  "oxxo": { src: "data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 version=%221.0%22 viewBox=%2235.43 35.45 885.83 448.9%22%3E%3Cpath d=%22M-792.46-878.05c0-29.6 23.78-53.62 53.13-53.62H40.12c29.33 0 53.13 24.02 53.13 53.62v339.17c0 29.6-23.8 53.6-53.13 53.6h-779.45c-29.35 0-53.13-24-53.13-53.6z%22 style=%22fill:%23fff;fill-opacity:1;fill-rule:nonzero;stroke:none%22 transform=%22translate(827.89 968.22)%22/%3E%3Cpath d=%22M-791.84-883.46c0-27.22 21.88-49.3 48.86-49.3h787.5c26.99 0 48.85 22.08 48.85 49.3v1.57h-885.21zM93.37-534.4v1.22c0 27.23-21.86 49.31-48.84 49.31h-787.5c-26.99 0-48.87-22.08-48.87-49.3v-1.23z%22 style=%22fill:%23fbb110;fill-opacity:1;fill-rule:nonzero;stroke:none%22 transform=%22translate(827.89 968.22)%22/%3E%3Cpath d=%22M-179.2-708.84c0 68.92 55.35 124.79 123.66 124.79 68.29 0 123.67-55.87 123.67-124.8s-55.38-124.8-123.67-124.8c-68.3 0-123.66 55.87-123.66 124.82m-589.6 0c0 68.92 55.37 124.79 123.68 124.79 68.29 0 123.67-55.87 123.67-124.8s-55.38-124.81-123.67-124.81c-68.3 0-123.69 55.87-123.69 124.82m862.17 150.8h-609.75c10.99-7.78 21.22-18.43 32.39-32.8l62.11-80 27.13 34.6 30.19-40.52-26.4-33.9 63.22-81.44c20.07-25.83-18.31-56.19-38.4-30.36L-422-750.47l-56.8-72.93c-20.1-25.76-58.42 4.67-38.32 30.46l64.2 82.3-69.46 89.44c-24.68 31.78-49.31 60.92-98.2 63.17h-171.26v-300.24h606.54c-10.43 7.7-20.27 18-30.94 31.76l-62.1 79.96-27.15-34.57-30.16 40.52 26.4 33.89-63.25 81.43c-20.05 25.83 18.34 56.19 38.4 30.36l55.89-71.96 56.8 72.91c20.1 25.78 58.42-4.65 38.32-30.43l-64.2-82.34 69.46-89.41c22.67-29.23 45.32-56.22 86.8-62.12h184.4zm-222.94-150.81c0-41.28 33.15-74.73 74.03-74.73s74.02 33.45 74.02 74.73c0 41.25-33.13 74.7-74.02 74.7s-74.03-33.45-74.03-74.7m-589.58 0c0-41.28 33.15-74.73 74.03-74.73 40.87 0 74.02 33.45 74.02 74.73 0 41.25-33.15 74.7-74.02 74.7-40.88 0-74.03-33.45-74.03-74.7%22 style=%22fill:%23e70020;fill-opacity:1;fill-rule:nonzero;stroke:none%22 transform=%22translate(827.89 968.22)%22/%3E%3C/svg%3E", ar: 1.973, mono: false },
524
+ "paquetexpress": { src: "data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2217 27 155 34%22%3E%3Crect x=%2217%22 y=%2227%22 width=%22155%22 height=%2234%22 rx=%223%22 fill=%22%23002a52%22/%3E%3Cg fill=%22%23FFF%22 fill-rule=%22evenodd%22%3E%3Cpath d=%22M35.6 46.8V30.3h3.3c1.7 0 3 .4 3.9 1.2.8.8 1.3 2 1.3 3.6s-.4 2.8-1.3 3.6c-.8.9-1.9 1.3-3.4 1.3h-.7l-.1 6.8h-3zm3-9.3h.4c.7 0 1.2-.2 1.5-.6.4-.4.6-1 .6-1.7 0-.8-.2-1.4-.5-1.8-.4-.4-.9-.5-1.6-.5h-.4v4.6zm26.6 9L63.5 48 62 46.3c-.3.2-.7.4-1.1.5-.4.1-.9.2-1.4.2-1.8 0-3.2-.8-4.2-2.3-.9-1.5-1.4-3.6-1.4-6.4 0-2.5.5-4.5 1.5-6s2.3-2.2 4.1-2.2c1.8 0 3.1.7 4.1 2.3 1 1.5 1.5 3.6 1.5 6.4 0 1.3-.1 2.5-.4 3.5-.2.9-.6 1.7-1.1 2.3l1.6 1.9zm-5.2-6l1.5 1.7c.1-.4.2-1 .3-1.5.1-.6.1-1.3.1-2.1 0-1.8-.2-3.1-.6-4-.4-.9-1-1.4-1.8-1.4-.9 0-1.5.5-1.9 1.4-.4.9-.6 2.4-.6 4.3 0 1.6.2 2.9.6 3.8.5.8 1.1 1.3 1.8 1.3.1 0 .2 0 .3-.1h.2L58.3 42l1.7-1.5zm16.5-10.2v10.4c0 1.3 0 2.2-.1 2.7s-.2 1-.4 1.3c-.4.8-.9 1.4-1.7 1.8-.7.3-1.6.5-2.8.5-1.1 0-2.1-.2-2.8-.5-.8-.4-1.3-1-1.7-1.8-.2-.4-.3-.8-.4-1.3 0-.6-.1-1.5-.1-2.7V30.3h3.2v10.6c0 1.4.1 2.3.4 2.7.3.3.7.5 1.4.5s1.2-.2 1.4-.6c.3-.4.4-1.2.4-2.6V30.3h3.2zM78.6 46.8V30.3h6.7v3.1h-3.7v3.3h3.3v3h-3.3v3.9h3.7v3.2zM89.4 46.8V33.4H87v-3.1h8.1v3.1h-2.5v13.4zM96.5 46.8V30.3h6.7v3.1h-3.7v3.3h3.3v3h-3.3v3.9h3.7v3.2zM111.5 46.8l-1.3-3.3-.3-1.2c-.1-.4-.2-.8-.3-1.3-.1.5-.2.9-.3 1.3-.1.5-.2.8-.3 1.2l-1.1 3.3h-3.6l3.7-8.3-3.4-8.2h3.4l1.2 3.5c0 .2.1.4.2.7.1.4.2.8.3 1.3.1-.5.1-.8.2-1.2.1-.3.2-.6.3-.8l1.2-3.5h3.3l-3.4 8.2 3.6 8.3h-3.4zm4.4 0V30.3h3.3c1.8 0 3.1.4 3.9 1.2.9.8 1.3 2 1.3 3.6s-.4 2.8-1.2 3.6c-.9.9-2 1.3-3.5 1.3h-.7v6.8h-3.1zm3.1-9.3H119.3c.7 0 1.2-.2 1.6-.6.3-.4.5-1 .5-1.7 0-.8-.2-1.4-.5-1.8-.3-.4-.9-.5-1.6-.5h-.2-.1v4.6zm6.6 9.3V30.3h3.3c1.8 0 3.1.4 4 1.1.8.8 1.2 1.9 1.2 3.6 0 1.1-.2 2.1-.6 2.8-.5.7-1.1 1.2-1.9 1.5l3 7.5h-3.3l-2.6-6.8v6.8h-3.1zm3.1-9.3H129c.7 0 1.2-.2 1.6-.6.3-.4.5-1 .5-1.8s-.1-1.3-.5-1.7c-.3-.4-.8-.5-1.5-.5h-.3-.1v4.6zM136 46.8V30.3h6.7v3.1h-3.6v3.3h3.3v3h-3.3v3.9h3.6v3.2zM144.6 46.3v-3.5c.4.4.8.7 1.2.8.4.2.8.3 1.2.3.5 0 1-.1 1.3-.4.3-.3.4-.7.4-1.2 0-.7-.4-1.3-1.2-2.1-.3-.2-.4-.3-.5-.4-1-1-1.7-1.8-2.1-2.5-.3-.7-.5-1.5-.5-2.4 0-1.5.4-2.6 1.2-3.5.7-.9 1.8-1.3 3-1.3.5 0 .9.1 1.3.2.5.1.9.3 1.4.6v2.9c-.6-.3-1-.4-1.3-.6-.3-.1-.6-.1-.8-.1-.5 0-.9.1-1.2.4-.3.3-.4.7-.4 1.2 0 .4.1.8.3 1.2.3.4.8.9 1.6 1.6 1 1 1.7 1.8 2 2.4.3.6.5 1.4.5 2.3 0 1.5-.4 2.7-1.2 3.5-.9.9-2 1.3-3.4 1.3-.5 0-1 0-1.5-.2-.4-.1-.9-.3-1.3-.5m8.4 0v-3.5c.4.4.8.7 1.2.8.4.2.8.3 1.2.3.5 0 1-.1 1.3-.4.3-.3.4-.7.4-1.2 0-.7-.4-1.3-1.2-2.1-.3-.2-.4-.3-.5-.4-1-1-1.7-1.8-2.1-2.5-.3-.7-.5-1.5-.5-2.4 0-1.5.4-2.6 1.2-3.5.7-.9 1.8-1.3 3-1.3.5 0 .9.1 1.3.2.5.1.9.3 1.4.6v2.9c-.6-.3-1-.4-1.3-.6-.3-.1-.6-.1-.8-.1-.5 0-.9.1-1.2.4-.3.3-.4.7-.4 1.2 0 .4.1.8.3 1.2.3.4.8.9 1.6 1.6 1 1 1.7 1.8 2 2.4.3.6.5 1.4.5 2.3 0 1.5-.4 2.7-1.2 3.5-.9.9-2 1.3-3.4 1.3-.5 0-1 0-1.5-.2-.4-.1-.9-.3-1.3-.5M163.6 46.8v-2.6h.8l.4 1.8.5-1.8h.8v2.6h-.5v-2l-.5 2h-.5l-.5-2v2z%22%3E%3C/path%3E %3Cpath d=%22M26 27h-8v26.7c0 3.5 2.7 6.3 6.1 6.3h146.5v-3.3H31.5c-3.1 0-5.5-2.5-5.5-5.6V27zm3.2 21.6c0 2.7 2.1 4.8 4.7 4.8h136.7v-3.3h-137c-.7 0-1.2-.5-1.2-1.2V27h-3.2v21.6zm19.4-11.5l-.4-2.5-.3 2.5-.7 4.4h2.2l-.8-4.4zm1.4-6.8l3.8 16.5h-3.3l-.6-2.8h-3.2l-.6 2.8H43l3.7-16.5H50zM166.6 46.8h.5v-.5h-.5zM168.1 45.3h.8c.1 0 .2-.1.2-.1V45v-.2c-.1-.1-.1-.1-.2-.1-.1-.1-.2-.1-.4-.1h-.4v.7zm-.5 1.5v-2.6h1.1c.2 0 .4 0 .6.1.1 0 .2.1.3.2 0 .1.1.3.1.4 0 .2-.1.4-.2.5-.1.2-.3.2-.5.3.1 0 .2.1.3.2 0 .1.1.2.3.4l.3.5h-.6l-.4-.5c-.1-.2-.2-.4-.3-.4 0-.1-.1-.1-.1-.1-.1-.1-.2-.1-.3-.1h-.1v1.1h-.5zM170.2 46.8h.4v-.5h-.4z%22%3E%3C/path%3E%3C/g%3E%3C/svg%3E", ar: 4.559, mono: false },
524
525
  "paypal": { src: "data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1310 439.6%22%3E%3Cpath d=%22M1310 0v328.3h-74.7V0zm-102.2 110.8v218.1h-66.4v-18.8c-8.4 8.2-18 14.4-28.6 18.8a87 87 0 0 1-34.7 7c-15.6 0-30.1-2.9-43.4-8.7-13.3-6.1-24.9-14.4-34.7-24.8-9.9-10.5-17.7-22.7-23.5-36.6-5.5-14.2-8.2-29.5-8.2-45.8s2.7-31.4 8.2-45.3c5.8-14.2 13.6-26.6 23.5-37.1a104.5 104.5 0 0 1 34.7-24.4c13.3-6.1 27.8-9.2 43.4-9.2 12.4 0 24 2.3 34.7 7a88 88 0 0 1 28.6 18.8V111h66.4zm-117.7 158.7c13.6 0 24.7-4.6 33.4-14q13.5-13.95 13.5-35.7c0-21.75-4.5-26.5-13.5-35.7-8.7-9.3-19.9-14-33.4-14s-24.9 4.6-33.9 14c-8.7 9.3-13 21.2-13 35.7s4.4 26.5 13 35.7c9 9.3 20.3 14 33.9 14M861.7 0c19.7 0 36.5 2.8 50.4 8.3s25.6 13.2 35.2 23.1c9.8 10.2 17.5 21.8 23 34.9s8.2 27.2 8.2 42.3-2.7 29.2-8.2 42.3a112 112 0 0 1-23 34.9c-9.5 9.9-21.3 17.6-35.2 23.1s-30.7 8.3-50.4 8.3h-36v111.6h-76V0zm-10.9 149.6c10.2 0 17.9-1 23.5-3.1 5.8-2.3 10.6-5.3 14.3-8.7 7.8-7.3 11.7-17 11.7-29.2s-3.9-21.9-11.7-29.2c-3.8-3.5-8.5-6.3-14.3-8.3-5.5-2.3-13.3-3.5-23.5-3.5h-25.2v82zm-381.1-38.8h82.5l56 104.6h.9L659 110.8h76.4L571.7 439.6h-76l74.7-150.4zm-14.7 0v218.1h-66.4v-18.8c-8.4 8.2-18 14.4-28.6 18.8a87 87 0 0 1-34.7 7c-15.6 0-30.1-2.9-43.4-8.7-13.3-6.1-24.9-14.4-34.7-24.8-9.8-10.5-17.7-22.7-23.5-36.6-5.5-14.2-8.2-29.5-8.2-45.8s2.7-31.4 8.2-45.3c5.8-14.2 13.6-26.6 23.5-37.1a103.5 103.5 0 0 1 34.7-24.4c13.3-6.1 27.8-9.2 43.4-9.2 12.4 0 24 2.3 34.7 7a88 88 0 0 1 28.6 18.8V111H455zM337.3 269.5c13.6 0 24.7-4.6 33.5-14q13.5-13.95 13.5-35.7c0-21.75-4.5-26.5-13.5-35.7-8.7-9.3-19.9-14-33.5-14s-24.9 4.6-33.9 14c-8.7 9.3-13 21.2-13 35.7s4.4 26.5 13 35.7c9 9.3 20.3 14 33.9 14M112 0c19.7 0 36.5 2.8 50.4 8.3s25.6 13.2 35.2 23.1c9.8 10.2 17.5 21.8 23 34.9s8.2 27.2 8.2 42.3-2.7 29.2-8.2 42.3a112 112 0 0 1-23 34.9c-9.5 9.9-21.3 17.6-35.2 23.1s-30.7 8.3-50.4 8.3H76v111.6H0V0zm-10.8 149.6c10.2 0 17.9-1 23.5-3.1 5.8-2.3 10.6-5.3 14.3-8.7 7.8-7.3 11.7-17 11.7-29.2s-3.9-21.9-11.7-29.2c-3.8-3.5-8.5-6.3-14.3-8.3-5.5-2.3-13.3-3.5-23.5-3.5H76v82z%22/%3E%3C/svg%3E", ar: 2.98, mono: true },
525
526
  "santander": { src: "data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 version=%221.0%22 viewBox=%224 3.75 391.5 79%22%3E%3Cpath d=%22M-137.26 287.82a17.5 17.5 0 0 0 .55 7.23c.95 2.87 2.27 4.94 7.12 11.25 5.12 6.66 6.76 9.08 7.98 12.53 1 2.83 1.02 4.46.59 7.02 4.49.86 11.84 3.24 16.77 6.2 4.57 2.81 7.9 6.46 9.11 10 .72 2.09.7 5.33-.07 7.36a16 16 0 0 1-3.22 5.2c-5.9 6.46-17.6 11.1-31.67 12.59-3.11.32-10.74.56-13.36.4-18.8-1.1-33.92-7.59-38.22-16.42-1.8-3.67-1.75-6.83.14-10.46 1.55-3 5.82-6.7 10.83-9.4a85 85 0 0 1 14.2-5.43c.24 3.17 6.4 10.74 8.45 13.42 4.46 5.84 6.22 8.62 7.48 10.85.76 1.33 1.18 2.19.97 4.74 0 0 1.72-1.56 2.36-2.87.84-1.71 1.14-3.44.98-5.67-.2-2.68-.65-4.32-1.93-6.94-1.25-2.55-3.03-5.13-6.43-9.3-4.79-5.88-6.56-9.1-7.3-13.3-.8-4.66.5-9.6 3.18-12.02a10 10 0 0 1 1.53-1.04s-.08 1.2-.08 2.57c0 2.88.33 4.38 1.43 6.58 1.38 2.73 3.28 5.28 9.11 12.22 5.16 6.14 6.76 9.26 6.76 13.16v1.88s1.37-1.04 2-2c2-3.01 2.32-7.72.8-11.9-1.05-2.86-2.74-5.46-7.74-11.75-5.1-6.4-7.23-11.53-7.23-15.8s.92-8.35 4.91-10.9%22 style=%22fill:%23fe001e;fill-opacity:1;display:inline%22 transform=%22translate(184.65 -280.17)scale(.98661)%22/%3E%3Cg style=%22fill:%23fe001e;fill-opacity:1%22%3E%3Cpath d=%22M-41.6 350.75c.12-1.43.02-2.84-.14-3.59-.61-2.94-2.79-5.9-5.93-8.08a64 64 0 0 0-6.79-3.51c-5.94-2.75-7.6-3.74-9.09-5.4a7.2 7.2 0 0 1-2-5.38c0-1.55.08-2.01.58-3.1 1.62-3.52 5.65-5.4 10.35-4.8 2.76.35 4.21.97 5.84 2.5 1.7 1.59 2.57 3.43 3.04 6.46l.14 1.71h2.57l-.22-11.75-.85-.21c-.65-.16-4.9-.97-7.16-1.26-3.37-.42-4.73-.47-6.71-.24-3.84.44-7.01 1.9-9.4 4.31a12.2 12.2 0 0 0-3.81 8.4c-.2 3.42.9 6.25 3.34 8.67 2.04 2.03 2.92 2.56 9.24 5.57 8.1 3.85 9.93 4.99 11.16 7.88 1.06 2.51 1.14 5.33.04 7.59-2.82 5.76-11.7 7.26-17.22 2.92a11.4 11.4 0 0 1-4.06-6.61l-.26-1.34h-2.19l.39 11.26s4.2 1.13 6.17 1.33c1.48.16 2.95.45 4.44.45 3 0 4.38.39 7.48-.64 3.2-1.07 10.26-3.2 11.06-13.14m19.71-18.49c3.42 0 6.4 1.5 7.83 3.7a8.6 8.6 0 0 1 1.36 5.06v16.24c0 1.93 1.39 2.55 3.4 1.87l1.51-.58v2.13l-7.48 3.27c-.87.39-1.46-.5-1.88-2.13l-.47-1.57-1.24.98a11.7 11.7 0 0 1-7.52 2.66c-3.23.01-5.34-.43-7.44-3.78a8 8 0 0 1-.26-6.4c.96-2.18 2.86-3.3 10.85-6.39l5.4-2.02v-1.5c0-5.55-1.5-7.26-3.42-8.33-1.55-.86-3.6-.64-5.56.64-1.61 1.06-2.1 2.84-1.27 4.67.64 1.41.42.97.42 1.02l-4.39 2.31s-.76-1.3-.97-2c-1.01-3.3.28-5.17 5.24-7.9 2.59-1.42 4.11-1.95 5.89-1.95m4.06 15.39s-7.03 2.97-8.38 3.65c-1.08.55-2.32 1.53-2.73 2.33a5 5 0 0 0 .21 4.06 5.4 5.4 0 0 0 2.35 2.35c.35.15 1.53.42 2.35.43q2.52.02 5.22-2.18l.98-.81zm22.01-15.39v5.75l1.46-1.39c3.19-3 6.23-4.36 8.58-4.36 5.34 0 10.25 4.7 10.04 11.33v15.38c0 1.71.43 2.78 2.14 2.78h2.77v2.14H14.44v-2.14h2.14c1.7 0 2.35-1.07 2.35-2.78V343.6c0-3.2-1.18-4.8-2.14-5.77-1.28-1.28-2.84-1.64-5.13-1.5-1.77.12-3.6 1.06-5.68 2.75l-1.37 1.1v19.87c0 1.07.43 1.71 1.5 1.71h2.78v2.14H-5.64v-2.14h1.92c1.7 0 3-1.07 3-2.78v-16.45c0-4.27-1.3-5.55-4.92-3.63v-2.29c2.35-.7 6.62-2.84 8.97-4.34zm41.23 31.63c1.93 0 2.38-.22 4.17-1.73l3.52-2.97-.85-1.5-1.57.84c-2.35 1.25-4.2 1.51-6.55.44-2-.9-3.2-4.06-3.2-5.77v-17.3h9.82l1.07-3h-10.9v-9.82h-1.06c-2.57 4.7-6.41 9.18-11.11 11.96v.86h6.83v17.3c0 4.06 1.5 7.05 3.85 8.76a8.6 8.6 0 0 0 5.98 1.93m22.65-31.63c3.42 0 6.41 1.5 7.83 3.7a8.6 8.6 0 0 1 1.36 5.06v16.24c0 1.93 1.4 2.55 3.4 1.87l1.51-.58v2.13l-7.48 3.27c-.87.39-1.46-.5-1.87-2.13l-.48-1.57-1.24.98a11.7 11.7 0 0 1-7.52 2.66c-3.22.01-5.34-.43-7.44-3.78a8 8 0 0 1-.26-6.4c.96-2.18 2.87-3.3 10.85-6.39l5.4-2.02v-1.5c0-5.55-1.5-7.26-3.42-8.33-1.54-.86-3.6-.64-5.55.64-1.62 1.06-2.11 2.84-1.28 4.67.64 1.41.42.97.42 1.02l-4.39 2.31s-.75-1.3-.97-2c-1-3.3.28-5.17 5.24-7.9 2.6-1.42 4.11-1.95 5.9-1.95m4.06 15.39s-7.03 2.97-8.38 3.65c-1.08.55-2.32 1.53-2.73 2.33a5 5 0 0 0 .21 4.06 5.4 5.4 0 0 0 2.35 2.35c.36.15 1.53.42 2.35.43q2.52.02 5.22-2.18l.98-.81zm22-15.39v5.75l1.47-1.39c3.18-3 6.22-4.36 8.57-4.36 5.34 0 10.26 4.7 10.04 11.33v15.38c0 1.71.43 2.78 2.14 2.78h2.78v2.14h-14.75v-2.14h2.14c1.7 0 2.35-1.07 2.35-2.78V343.6c0-3.2-1.18-4.8-2.14-5.77-1.28-1.28-2.84-1.64-5.12-1.5-1.78.12-3.6 1.06-5.7 2.75l-1.36 1.1v19.87c0 1.07.43 1.71 1.5 1.71h2.78v2.14H84.3v-2.14h1.92c1.71 0 3-1.07 3-2.78v-16.45c0-4.27-1.29-5.55-4.92-3.63v-2.29c2.35-.7 6.62-2.84 8.97-4.34zm63.46 27.99v-2.13c-2.35 1.07-3.42 1.07-4.23.52-1.15-.78-1.12-2.23-1.12-2.23v-47h-.64a49 49 0 0 1-10.04 4.9v2.36c1.71-.64 2.99-.98 4.06-.43.7.39 1.07.85 1.07 1.92v15.98l-1.26-.5c-2.51-1.03-3.81-1.26-6.86-1.26-2.55 0-3.08.08-4.6.58-7.02 2.35-11.52 9.21-11.15 17.03.21 4.47 1.5 7.98 4.43 10.48 2.99 2.56 5.55 3.42 8.54 3.42 4.06 0 6.41-.81 9.36-2.81.9-.61 1.75-1.25 1.75-1.25a8.7 8.7 0 0 0 1.5 4.48zm-22.15-.38c-4-1.42-6.9-6.35-7.27-12.33-.47-7.48 3.67-12.71 10.06-12.71 2.69 0 4.75.73 7.23 2.58l1.23.91-.1 19.2-1.38.83a10.4 10.4 0 0 1-6.21 1.83c-2 .07-2.67.01-3.56-.3m45.11 3.69a26 26 0 0 0 6.95-3.1v-2.14c-2.35 1.71-6.08 2.77-9.4 2.78q-5.43 0-8.34-3.2c-2.83-3.16-3.63-5.77-4.12-12.18h22.5s0-3.21-1.28-6.2c-.88-2.05-1.71-3.63-4.06-5.13-2.2-1.4-5.17-2-7.7-2-2.62-.03-3.02.02-4.45.54-6.65 2.43-11.17 9.32-10.62 16.17.54 6.63 4.4 11.94 10.25 14.07 2.59.95 7.47 1.13 10.27.39m-12.28-26.4c1.5-1.49 3.2-2.34 5.98-2.34 2.56 0 4.27.64 5.98 2.35 1.29 1.28 1.93 2.35 2.2 5.98h-16.78c.27-2.56 1.12-4.49 2.62-5.98m32.48-4.92v7.06a23 23 0 0 1 4.05-5.13 7 7 0 0 1 4.92-1.93c1.07 0 3.84.86 3.84.86v6.4h-1.06c-.43-1.7-1.93-2.55-4.06-2.55-2.78 0-4.6 1.12-5.72 2.8s-1.55 2.54-1.55 6.17v14.1c0 1.07.43 1.71 1.5 1.71h2.78v2.14h-14.53v-2.14h1.92c1.7 0 3-1.07 3-2.78v-16.45c0-4.7-1.72-4.49-4.71-3.2v-2.14c2.78-1.07 6.2-2.57 8.76-4.92z%22 style=%22fill:%23fe001e;fill-opacity:1;display:inline%22 transform=%22translate(184.65 -280.17)scale(.98661)%22/%3E%3C/g%3E%3C/svg%3E", ar: 4.956, mono: false },
526
527
  "scotiabank": { src: "data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220.14 0.09 71.91 10.28%22%3E%3Cpath d=%22M6.73 8.37q.24-.6.23-1.25c.02-.63-.2-1.24-.6-1.72a5 5 0 0 0-2.31-1.23q-.3-.09-.6-.22-.27-.13-.46-.33a.8.8 0 0 1-.2-.55c.01-.3.18-.57.44-.7a2 2 0 0 1 1.68 0q.36.12.69.32l.9-1.8A5 5 0 0 0 3.77.13q-.7 0-1.36.23A3 3 0 0 0 .7 2.06q-.24.6-.23 1.25c.02.68.31 1.32.8 1.8q.7.6 1.6.9l.8.27q.3.12.57.3a1 1 0 0 1 .31.36q.1.2.07.43a1 1 0 0 1-.3.58q-.44.31-.98.27-.61 0-1.18-.28a9 9 0 0 1-.95-.53L.13 9.27a4.8 4.8 0 0 0 4.62.84q.66-.23 1.21-.68.5-.46.77-1.06m5.82-.58a1.57 1.57 0 1 1 0-1.96l1.4-1.41a3.5 3.5 0 0 0-2.62-1.17c-1.96 0-3.65 1.4-3.65 3.55 0 2.16 1.7 3.56 3.66 3.56 1 0 1.96-.42 2.63-1.16zm0 0%22 style=%22fill:%23eb0f19;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:.352778%22/%3E%3Cpath d=%22M17.6 3.25a3.56 3.56 0 1 0-.01 7.11 3.56 3.56 0 0 0 0-7.11m0 5.12a1.57 1.57 0 1 1 .02-3.14 1.57 1.57 0 0 1-.02 3.14m8.09-4.95h-.97v-2.1h-2.13v2.1h-.97v1.92h.97v4.85h2.13V5.34h.97zM27.72.13a1.19 1.19 0 1 0 0 2.38 1.19 1.19 0 0 0 0-2.38m-1.06 3.29h2.12v6.77h-2.12zM37.1 10.2V3.42h-2.08v.71l-.2-.16a2.6 2.6 0 0 0-1.79-.72c-1.83 0-3.37 1.63-3.37 3.55 0 1.93 1.55 3.56 3.37 3.56.67 0 1.31-.25 1.8-.72l.2-.17v.72Zm-3.72-1.8a1.6 1.6 0 1 1 .02-3.2 1.6 1.6 0 0 1-.02 3.2m6.88 1.8v-.72l.2.17a2.6 2.6 0 0 0 1.8.72c1.82 0 3.37-1.63 3.37-3.56s-1.55-3.56-3.38-3.56c-.67 0-1.31.26-1.8.72l-.19.17V.3H38.2v9.9Zm.05-3.39a1.6 1.6 0 1 1 1.6 1.6 1.6 1.6 0 0 1-1.6-1.6m13.47 3.39V3.42h-2.07v.71l-.2-.16a2.6 2.6 0 0 0-1.79-.72c-1.83 0-3.37 1.63-3.37 3.55 0 1.93 1.55 3.56 3.37 3.56.67 0 1.32-.25 1.8-.72l.2-.17v.72Zm-3.7-1.8a1.6 1.6 0 1 1 0-3.2 1.6 1.6 0 0 1 0 3.2m8.12-3.16c.69 0 1.26.57 1.26 1.27v3.7h2.12V6.24c0-1.8-1.04-2.97-2.68-2.97-.68 0-1.39.3-1.97 1.24V3.44H54.8v6.76h2.11V6.5a1.27 1.27 0 0 1 1.28-1.26m11.13 4.96-2.6-3.4 2.42-3.38h-2.48L64.7 6.16V.3h-2.13v9.9h2.13V7.4l2.14 2.8zm1.5-2.37a1.19 1.19 0 1 0-.01 2.37 1.19 1.19 0 0 0 .01-2.37m0 2.13a.95.95 0 1 1 0-1.9.95.95 0 0 1 0 1.9m0 0%22 style=%22fill:%23eb0f19;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:.352778%22/%3E%3Cpath d=%22M70.82 9.2h-.19v.46h-.23v-1.3h.5c.23 0 .42.2.42.43q-.02.27-.24.38l.27.49h-.28Zm-.19-.2h.27q.18-.02.2-.2a.2.2 0 0 0-.2-.2h-.27zm0 0%22 style=%22fill:%23eb0f19;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:.352778%22/%3E%3C/svg%3E", ar: 6.995, mono: false },
527
528
  "soriana": { src: "data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 4319.99 1077.31%22%3E%3Cg fill=%22none%22 fill-rule=%22evenodd%22%3E%3Cpath fill=%22%23d52b1e%22 d=%22M938.1 105.38c-57.36 0-136.87 24.37-194.64 103.86-10.61 14.5-19.28 32.96-24.38 51.13-17.65 61.93-5.24 130.1 33.48 182.3 29.69 40.18 67.58 70.24 101.03 96.77 16.35 12.96 51.07 45.8 62.27 59.71 16.7 20.9 29.4 33.33 44.5 79.3 9.13 27.9 10.43 64.65 5.95 85.48 104.7-106.15 219.06-243.93 219.06-393.8 0-172.18-123.34-264.75-247.26-264.75%22/%3E%3Cpath fill=%22%23b6bf00%22 d=%22M743.28 687.53c-43.7-59.53-94.24-95.66-135.96-133.74-18.2-16.57-38.14-28.79-52.89-43.5-70.76-70.3-103.83-156.94-87.11-263.62 13.2-83.65 54.74-138.6 104.91-178.97C512.34 23.82 441.28 0 361 0 161.68 0-4.95 160.15.1 357.63 9.15 714.1 455.63 1017.85 639.6 1080c98.37-50.36 150.64-144.53 150.64-241.15 0-70.45-30.18-128.49-46.96-151.32%22/%3E%3Cpath fill=%22%23d52b1e%22 d=%22M1490.98 682.22c34.28 24.6 101.98 56.22 149.96 56.22 36.88 0 68.63-14.04 68.63-54.4 0-39.5-49.78-53.57-100.29-73.75-58.32-22.83-116.58-58.93-116.58-153.73 0-126.33 91.68-193.16 224.61-193.16 87.36 0 165.3 44.8 205.6 92.32l-87.41 92.91c-39.4-34.13-83.1-59.64-125.13-59.64-34.28 0-59.93 14.04-59.93 45.66 0 43.05 36.82 53.54 99.36 79.92 59.96 25.43 121.67 62.34 121.67 152.84 0 122.84-97.69 201.87-236.52 201.87-97.75 0-179.99-41.26-212.5-67.58l68.5-119.48zm698.76-42.64c5.09-28 6.78-53.36 6.78-72.46 0-41.96-12.74-67.27-42.49-67.27-39.9 0-66.25 40.12-79.02 112.7-5.1 27.83-7.65 57.6-7.65 80.22 0 38.45 10.18 69.86 41.65 69.86 41.6 0 66.28-37.58 80.73-123.05m-11.95-244.45c60.4 0 166.6 23.5 166.6 168.48 0 19.25-.86 41.87-4.32 65.47-26.23 171.17-131.64 240.2-252.29 240.2-105.34 0-164.87-62.95-164.87-174.65 0-20.99.84-46.3 5.06-70.76 31.45-183.38 152.13-228.74 249.82-228.74m353.81 447.8h-134.54l58.82-352.67 3.2-82.48h108l2.38 60.45c29.84-53.57 71.75-73.14 105.53-73.14 23.46 0 48.39 5.96 64.5 16.98l-38.67 118.18c-15.27-8.58-34.68-15.3-54.74-15.3-34.74 0-62.08 22.03-69.33 62.02l-45.15 265.99zm181.56 0 73.75-421.45h136.98l-73.78 421.44Zm170.34-632.18c41.22 0 66.74 30.5 66.74 67.67 0 50.46-40.4 90.35-92.23 90.35-42.1 0-65.82-27.61-65.82-65.6 0-49.43 38.63-92.45 91.3-92.45m358.97 293.7c-9.63-4.32-23.45-7-39.2-7-79.17 0-107.74 119.88-107.74 191.74 0 41.9 9.5 75.94 51.22 75.94 29.62 0 50.45-19.07 59.12-49.7l36.57-210.98zm97.32 257.29-6.08 94.51h-122.62v-41.16l-4.36-.83c-30.36 35.88-69.49 55.05-121.66 55.05-93.07 0-134.85-68.97-134.85-163.6 0-179.38 99.2-310.55 280.92-310.55 36.45 0 101.68 8.7 166.9 34.93zm58.26 81.21 59.5-347.57 4.93-87.57h114.05l1.66 46.78c32.22-36.54 75.2-59.43 130.6-59.43 68.56 0 109.87 32.24 110.7 105.31 0 13.58-1.66 30.67-4.16 46.69l-51.2 295.8h-138.05l43.05-254.08c2.47-13.58 6.57-33.2 6.57-49.31 0-17-6.57-35.67-31.41-35.67-35.58 0-56.22 27.24-62.02 62.85l-47.06 276.2zm766.27-338.5c-9.56-4.32-23.5-7-39.12-7-79.15 0-107.85 119.88-107.85 191.74 0 41.9 9.57 75.94 51.35 75.94 29.5 0 50.42-19.07 59.09-49.7zm97.39 257.29-6.11 94.51h-122.6v-41.16l-4.35-.83c-30.45 35.88-69.55 55.05-121.67 55.05-93.06 0-134.78-68.97-134.78-163.6 0-179.38 99.08-310.55 280.83-310.55 36.47 0 101.68 8.7 166.97 34.93z%22/%3E%3C/g%3E%3C/svg%3E", ar: 4.01, mono: false },
529
+ "stp": { src: "data:image/png;base64,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", ar: 1, mono: false },
528
530
  "ups": { src: "data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 xmlns:xlink=%22http://www.w3.org/1999/xlink%22 viewBox=%220 0 73.48 87.13%22%3E%3Cdefs%3E%3Cpath id=%22a%22 d=%22M-14.27-14h102v115h-102z%22/%3E%3C/defs%3E%3CclipPath id=%22b%22%3E%3Cuse xlink:href=%22%23a%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3Cpath fill=%22%231E0000%22 d=%22M36.73-.12c-14.4 0-26.28 2.74-36.75 8.29V51c0 9.15 3.44 16.8 9.95 22.14 5.87 4.82 24.67 13.06 26.8 13.99 2.13-.93 20.92-9.17 26.8-13.99 6.5-5.34 9.95-13 9.95-22.14V8.17C63 2.62 51.13-.13 36.73-.13%22 clip-path=%22url(%23b)%22/%3E%3Cdefs%3E%3Cpath id=%22c%22 d=%22M.73 8.62V51c0 8.91 3.35 16.37 9.68 21.56 5.8 4.75 24.2 12.83 26.32 13.75 2.11-.92 20.53-9 26.32-13.75 6.33-5.19 9.68-12.65 9.68-21.56V8.62c-10-5.3-22.11-8-36-8s-26 2.7-36 8%22/%3E%3C/defs%3E%3CclipPath id=%22f%22%3E%3Cuse xlink:href=%22%23c%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3CradialGradient id=%22d%22 cx=%22-14.27%22 cy=%22101%22 r=%221%22 gradientTransform=%22matrix(0 119.608 59.804 0 -6028.71 1722.48)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23FFDC00%22/%3E%3Cstop offset=%22.35%22 stop-color=%22%23FFBE00%22/%3E%3Cstop offset=%221%22 stop-color=%22%23C86E14%22/%3E%3C/radialGradient%3E%3Cpath fill=%22url(%23d)%22 d=%22M.73.63h72v85.68h-72z%22 clip-path=%22url(%23f)%22/%3E%3Cdefs%3E%3Cpath id=%22g%22 d=%22M-14.27-14h102v115h-102z%22/%3E%3C/defs%3E%3CclipPath id=%22h%22%3E%3Cuse xlink:href=%22%23g%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3Cpath fill=%22%23C86E14%22 d=%22M59.7 81.45v3.67h.67V83.6h.1l1 1.53h.8l-1.1-1.62c.48-.11.8-.46.8-.97 0-.53-.32-1.08-1.22-1.08zm.97.53c.57 0 .64.28.64.52 0 .35-.15.58-.86.58h-.08v-1.1zm2.6 1.32a2.49 2.49 0 1 1-4.98-.02 2.49 2.49 0 0 1 4.98.02m-2.5-3.03a3.03 3.03 0 0 0 0 6.05 3.02 3.02 0 1 0 0-6.05%22 clip-path=%22url(%23h)%22/%3E%3Cdefs%3E%3Cpath id=%22i%22 d=%22M35.49 33.65v19.24c.45.17 1.18.38 2.03.38 3.6 0 5.33-3.3 5.33-10.15 0-7.02-1.5-9.92-5.14-9.92-.85 0-1.71.2-2.22.45M19.76 52.4V28.79H26v27.17c-2.4 1.63-5.6 2.52-9.44 2.52-6.2 0-9.34-3.37-9.34-10V28.79h6.26v19.97c0 1.77.43 4.4 3.3 4.4 1.28 0 2.29-.3 2.97-.76m9.46-22.02c2.27-1.46 5.03-2.23 8.45-2.23 7.47 0 11.58 5.68 11.58 14.8 0 9.16-4 15.42-10.94 15.42-1.29 0-2.2-.17-2.82-.36V71.2h-6.27zm31.46 19.44c-.04-1.96-1.15-3.03-3.9-4.65-5.17-3.03-6.1-5.52-6.11-8.85-.03-5.06 4.28-8.05 8.4-8.17 3.44-.1 5.77 1.2 6.87 2.04v5.44a8.4 8.4 0 0 0-5.6-2.57c-1.78-.02-3.63.77-3.69 3-.06 2.27 1.78 3.17 4.12 4.54 5.23 3.08 6.24 5.84 6.12 9.5-.12 4-2.88 8.38-9.06 8.38a13.7 13.7 0 0 1-6.89-1.95v-5.77c1.6 1.43 4 2.54 5.99 2.55h.02c2.29 0 3.79-1.31 3.73-3.49M4.04 26.76V51c0 7.9 2.92 14.49 8.47 19.01C17.4 74 32.47 80.82 36.72 82.7c4.2-1.85 19.23-8.59 24.22-12.69 5.58-4.6 8.47-11.04 8.47-19.01V9.51c-4.45-.41-9.06-.69-13.77-.69-17.45 0-36.15 3.75-51.61 17.94%22/%3E%3C/defs%3E%3CclipPath id=%22k%22%3E%3Cuse xlink:href=%22%23i%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3CradialGradient id=%22j%22 cx=%22-14.27%22 cy=%22101%22 r=%221%22 gradientTransform=%22matrix(0 118.6833 59.3417 0 -5981.98 1709.35)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%234B3333%22/%3E%3Cstop offset=%22.35%22 stop-color=%22%23351A1A%22/%3E%3Cstop offset=%22.85%22 stop-color=%22%231E0000%22/%3E%3Cstop offset=%221%22 stop-color=%22%231E0000%22/%3E%3C/radialGradient%3E%3Cpath fill=%22url(%23j)%22 d=%22M4.04 8.82h65.38V82.7H4.04z%22 clip-path=%22url(%23k)%22/%3E%3Cdefs%3E%3Cpath id=%22l%22 d=%22M4.04 51c0 7.9 2.92 14.49 8.46 19.01C17.4 74 32.48 80.82 36.73 82.7v-.5c-3.53-1.55-18.98-8.5-23.94-12.54-5.43-4.42-8.3-10.88-8.3-18.66z%22/%3E%3C/defs%3E%3CclipPath id=%22n%22%3E%3Cuse xlink:href=%22%23l%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22m%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22100.92%22 y2=%22100.92%22 gradientTransform=%22rotate(-136 638.5 -2395.2)scale(45.5362)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23E49F15%22/%3E%3Cstop offset=%22.02%22 stop-color=%22%23E39C15%22/%3E%3Cstop offset=%22.18%22 stop-color=%22%23DC9116%22/%3E%3Cstop offset=%22.4%22 stop-color=%22%23D88A17%22/%3E%3Cstop offset=%221%22 stop-color=%22%23D78817%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23m)%22 d=%22M20.95 99.04-11.8 67.4l31.6-32.74L52.57 66.3%22 clip-path=%22url(%23n)%22/%3E%3Cdefs%3E%3Cpath id=%22o%22 d=%22M68.97 51c0 7.84-2.8 14.12-8.31 18.66-4.8 3.95-19.3 10.5-23.93 12.55v.49c4.2-1.85 19.23-8.59 24.21-12.7 5.59-4.59 8.48-11.03 8.48-19z%22/%3E%3C/defs%3E%3CclipPath id=%22q%22%3E%3Cuse xlink:href=%22%23o%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22p%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22101.09%22 y2=%22101.09%22 gradientTransform=%22rotate(-44 5492.21 -3109.85)scale(45.5362)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%221%22 stop-color=%22%23D89016%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23p)%22 d=%22m20.89 66.3 32.75-31.64L85.26 67.4 52.5 99.03%22 clip-path=%22url(%23q)%22/%3E%3Cdefs%3E%3Cpath id=%22r%22 d=%22m4.04 26.76.45.2C17.54 15.06 34.27 9.27 55.65 9.27c4.17 0 8.54.22 13.32.65l.45-.41c-4.45-.41-9.06-.69-13.77-.69-17.45 0-36.15 3.75-51.61 17.94%22/%3E%3C/defs%3E%3CclipPath id=%22t%22%3E%3Cuse xlink:href=%22%23r%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22s%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22100.97%22 y2=%22100.97%22 gradientTransform=%22rotate(-19.2 19730.5 -6247.85)scale(67.419)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23E49F15%22/%3E%3Cstop offset=%22.97%22 stop-color=%22%238F4A02%22/%3E%3Cstop offset=%221%22 stop-color=%22%238F4A02%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23s)%22 d=%22m-1.6 10.79 63.95-22.27L75.05 25 11.11 47.26%22 clip-path=%22url(%23t)%22/%3E%3Cdefs%3E%3Cpath id=%22u%22 d=%22M42.4 43.12c0 5.53-1.1 9.7-4.88 9.7v.45c3.6 0 5.33-3.3 5.33-10.15z%22/%3E%3C/defs%3E%3CclipPath id=%22w%22%3E%3Cuse xlink:href=%22%23u%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22v%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22101.09%22 y2=%22101.09%22 gradientTransform=%22rotate(-63.3 920.39 -716.09)scale(11.4647)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%22.05%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%22.95%22 stop-color=%22%23BF7312%22/%3E%3Cstop offset=%221%22 stop-color=%22%23BF7312%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23v)%22 d=%22m33.45 51.22 5.15-10.24 8.32 4.19-5.15 10.24%22 clip-path=%22url(%23w)%22/%3E%3Cdefs%3E%3Cpath id=%22x%22 d=%22M35.49 52.9c.45.16 1.18.37 2.03.37v-.45c-.61 0-1.17-.12-1.58-.25z%22/%3E%3C/defs%3E%3CclipPath id=%22z%22%3E%3Cuse xlink:href=%22%23x%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22y%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22101.01%22 y2=%22101.01%22 gradientTransform=%22rotate(-173 12.05 -79.76)scale(2.064)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%22.05%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%22.95%22 stop-color=%22%23F0AF13%22/%3E%3Cstop offset=%221%22 stop-color=%22%23F0AF13%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23y)%22 d=%22m37.5 53.52-2.1-.26.12-.93 2.09.25%22 clip-path=%22url(%23z)%22/%3E%3Cdefs%3E%3Cpath id=%22A%22 d=%22m35.49 33.65.45.3a5 5 0 0 1 1.77-.3v-.45c-.85 0-1.71.2-2.22.45%22/%3E%3C/defs%3E%3CclipPath id=%22C%22%3E%3Cuse xlink:href=%22%23A%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22B%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22101.02%22 y2=%22101.02%22 gradientTransform=%22rotate(-14.7 1017.85 -360.03)scale(2.26)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23A65E0C%22/%3E%3Cstop offset=%22.05%22 stop-color=%22%23A65E0C%22/%3E%3Cstop offset=%22.95%22 stop-color=%22%238F4A02%22/%3E%3Cstop offset=%221%22 stop-color=%22%238F4A02%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23B)%22 d=%22m35.3 33.25 2.27-.6.32 1.25-2.26.59%22 clip-path=%22url(%23C)%22/%3E%3Cdefs%3E%3Cpath id=%22D%22 d=%22M37.7 33.65c3.7 0 4.7 3.45 4.7 9.47h.45c0-7.02-1.5-9.92-5.14-9.92z%22/%3E%3C/defs%3E%3CclipPath id=%22F%22%3E%3Cuse xlink:href=%22%23D%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22E%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22101.09%22 y2=%22101.09%22 gradientTransform=%22rotate(-116.9 301.64 -605.19)scale(11.171)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23BF7312%22/%3E%3Cstop offset=%22.05%22 stop-color=%22%23BF7312%22/%3E%3Cstop offset=%22.95%22 stop-color=%22%238F4A02%22/%3E%3Cstop offset=%221%22 stop-color=%22%238F4A02%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23E)%22 d=%22m38.76 45.19-5.05-9.96 8.08-4.1 5.06 9.96%22 clip-path=%22url(%23F)%22/%3E%3Cdefs%3E%3Cpath id=%22G%22 d=%22M50.22 36.32h.45c-.03-5.06 4.28-8.04 8.4-8.17l-.01-.44c-4.56.13-8.87 3.46-8.84 8.6%22/%3E%3C/defs%3E%3CclipPath id=%22I%22%3E%3Cuse xlink:href=%22%23G%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22H%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22101.09%22 y2=%22101.09%22 gradientTransform=%22rotate(137.9 -303.69 -564.18)scale(12.334)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%22.05%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%22.95%22 stop-color=%22%23D89016%22/%3E%3Cstop offset=%221%22 stop-color=%22%23D89016%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23H)%22 d=%22m63.36 32.45-9.18 8.29-8.27-9.16 9.17-8.3%22 clip-path=%22url(%23I)%22/%3E%3Cdefs%3E%3Cpath id=%22J%22 d=%22M56.65 36.06h.45c.02-.6.3-2.55 3.17-2.55l.07-.45h-.06c-1.76 0-3.57.8-3.63 3%22/%3E%3C/defs%3E%3CclipPath id=%22L%22%3E%3Cuse xlink:href=%22%23J%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22K%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22100.93%22 y2=%22100.93%22 gradientTransform=%22rotate(-41 683.04 -387.68)scale(4.7434)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23D78817%22/%3E%3Cstop offset=%22.05%22 stop-color=%22%23D78817%22/%3E%3Cstop offset=%22.95%22 stop-color=%22%238F4A02%22/%3E%3Cstop offset=%221%22 stop-color=%22%238F4A02%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23K)%22 d=%22m55.17 34.35 3.58-3.11 3.07 3.53-3.58 3.12%22 clip-path=%22url(%23L)%22/%3E%3Cdefs%3E%3Cpath id=%22M%22 d=%22M60.27 33.51c2.6 0 4.8 1.69 6.13 3.23l-.45-1.1a8.4 8.4 0 0 0-5.61-2.58z%22/%3E%3C/defs%3E%3CclipPath id=%22O%22%3E%3Cuse xlink:href=%22%23M%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22N%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22101.06%22 y2=%22101.06%22 gradientTransform=%22rotate(-152.5 74.72 -359.74)scale(7.0756)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23BF7312%22/%3E%3Cstop offset=%22.95%22 stop-color=%22%238F4A02%22/%3E%3Cstop offset=%221%22 stop-color=%22%238F4A02%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23N)%22 d=%22m65.09 39.25-6.32-3.3 2.81-5.4 6.32 3.3%22 clip-path=%22url(%23O)%22/%3E%3Cdefs%3E%3Cpath id=%22P%22 d=%22m59.06 27.7.01.45c3.44-.1 5.77 1.2 6.88 2.04l.45-.22a11 11 0 0 0-7.34-2.27%22/%3E%3C/defs%3E%3CclipPath id=%22R%22%3E%3Cuse xlink:href=%22%23P%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22Q%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22100.98%22 y2=%22100.98%22 gradientTransform=%22rotate(17.9 -2574.26 161.57)scale(7.6762)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%22.05%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%22.95%22 stop-color=%22%23E49F15%22/%3E%3Cstop offset=%221%22 stop-color=%22%23E49F15%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23Q)%22 d=%22m59.75 25.55 7.38 2.38-1.43 4.4-7.37-2.38%22 clip-path=%22url(%23R)%22/%3E%3Cdefs%3E%3Cpath id=%22S%22 d=%22M57.83 58.48v.45c5.67 0 9.36-3.78 9.52-8.82l-.45-.01c-.12 4-2.89 8.38-9.07 8.38%22/%3E%3C/defs%3E%3CclipPath id=%22U%22%3E%3Cuse xlink:href=%22%23S%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22T%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22100.92%22 y2=%22100.92%22 gradientTransform=%22scale(-12.968 12.968)rotate(44.4 109.2 63.52)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23D78817%22/%3E%3Cstop offset=%22.05%22 stop-color=%22%23D78817%22/%3E%3Cstop offset=%22.95%22 stop-color=%22%238F4A02%22/%3E%3Cstop offset=%221%22 stop-color=%22%238F4A02%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23T)%22 d=%22m71.76 54.6-9.27 9.08-9.08-9.26 9.28-9.08%22 clip-path=%22url(%23U)%22/%3E%3Cdefs%3E%3Cpath id=%22V%22 d=%22M50.5 56.79a14 14 0 0 0 7.33 2.14v-.45a13.7 13.7 0 0 1-6.89-1.95z%22/%3E%3C/defs%3E%3CclipPath id=%22X%22%3E%3Cuse xlink:href=%22%23V%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22W%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22101.03%22 y2=%22101.03%22 gradientTransform=%22scale(7.64 -7.64)rotate(-16.1 -387.2 -27.03)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23BF7312%22/%3E%3Cstop offset=%22.95%22 stop-color=%22%238F4A02%22/%3E%3Cstop offset=%221%22 stop-color=%22%238F4A02%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23W)%22 d=%22m51.06 54.58 7.4 2.14-1.2 4.16-7.4-2.14%22 clip-path=%22url(%23X)%22/%3E%3Cdefs%3E%3Cpath id=%22Y%22 d=%22M50.94 50.77c1.6 1.42 4 2.53 5.99 2.54v-.45c-2.23-.01-4.8-1.45-6.44-3.1z%22/%3E%3C/defs%3E%3CclipPath id=%22aa%22%3E%3Cuse xlink:href=%22%23Y%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22Z%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22100.96%22 y2=%22100.96%22 gradientTransform=%22rotate(-154.1 67.44 -362.63)scale(7.3418)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%22.05%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%221%22 stop-color=%22%23F0AF13%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23Z)%22 d=%22m55.7 55.84-6.6-3.2 2.62-5.41 6.6 3.2%22 clip-path=%22url(%23aa)%22/%3E%3Cdefs%3E%3Cpath id=%22ab%22 d=%22M60.23 49.84c.05 2-1.34 3.04-3.3 3.02v.45c2.3.01 3.8-1.3 3.75-3.49z%22/%3E%3C/defs%3E%3CclipPath id=%22ad%22%3E%3Cuse xlink:href=%22%23ab%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22ac%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22101.08%22 y2=%22101.08%22 gradientTransform=%22rotate(-42.6 724.8 -399.27)scale(5.1262)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%22.05%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%22.95%22 stop-color=%22%23D89016%22/%3E%3Cstop offset=%221%22 stop-color=%22%23D89016%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23ac)%22 d=%22m55.19 51.43 3.8-3.5 3.5 3.79-3.82 3.5%22 clip-path=%22url(%23ad)%22/%3E%3Cdefs%3E%3Cpath id=%22ae%22 d=%22M50.22 36.32c.01 3.5 1.05 6.14 6.32 9.24 2.83 1.66 3.65 2.62 3.7 4.28l.44-.02c-.04-1.96-1.16-3.03-3.9-4.65-5.17-3.03-6.1-5.52-6.1-8.85z%22/%3E%3C/defs%3E%3CclipPath id=%22ag%22%3E%3Cuse xlink:href=%22%23ae%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22af%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22101.04%22 y2=%22101.04%22 gradientTransform=%22rotate(55.2 -1779.54 -562.57)scale(17.0604)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23D89016%22/%3E%3Cstop offset=%22.4%22 stop-color=%22%23BF7312%22/%3E%3Cstop offset=%22.6%22 stop-color=%22%23BF7312%22/%3E%3Cstop offset=%221%22 stop-color=%22%23D89016%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23af)%22 d=%22m57.28 31.41 9.74 14.02-13.4 9.3-9.74-14.01%22 clip-path=%22url(%23ag)%22/%3E%3Cdefs%3E%3Cpath id=%22ah%22 d=%22M60.77 40.6c5.23 3.08 6.24 5.84 6.12 9.5l.45.01c.13-3.73-.9-6.69-6.34-9.9-2.22-1.34-3.96-2.07-3.9-4.14l-.45-.01c-.06 2.27 1.78 3.17 4.12 4.54%22/%3E%3C/defs%3E%3CclipPath id=%22aj%22%3E%3Cuse xlink:href=%22%23ah%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22ai%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22100.96%22 y2=%22100.96%22 gradientTransform=%22rotate(53.8 -1890.23 -569.12)scale(17.6596)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23D78817%22/%3E%3Cstop offset=%22.4%22 stop-color=%22%23E49F15%22/%3E%3Cstop offset=%22.6%22 stop-color=%22%23E49F15%22/%3E%3Cstop offset=%221%22 stop-color=%22%23D78817%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23ai)%22 d=%22m63.67 30.87 10.5 14.34L60.38 55.3 49.9 40.96%22 clip-path=%22url(%23aj)%22/%3E%3Cdefs%3E%3Cpath id=%22ak%22 d=%22M-14.27-14h102v115h-102z%22/%3E%3C/defs%3E%3CclipPath id=%22al%22%3E%3Cuse xlink:href=%22%23ak%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3Cpath fill=%22%238F4A02%22 d=%22M35.49 71.2h-6.27l-.45.45h7.17%22 clip-path=%22url(%23al)%22/%3E%3Cdefs%3E%3Cpath id=%22am%22 d=%22M35.94 58.59q1.06.23 2.37.23v-.45a10 10 0 0 1-2.82-.36z%22/%3E%3C/defs%3E%3CclipPath id=%22ao%22%3E%3Cuse xlink:href=%22%23am%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22an%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22101.02%22 y2=%22101.02%22 gradientTransform=%22matrix(2.874 .445 .445 -2.874 31.54 354.88)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23A65E0C%22/%3E%3Cstop offset=%22.05%22 stop-color=%22%23A65E0C%22/%3E%3Cstop offset=%22.95%22 stop-color=%22%238F4A02%22/%3E%3Cstop offset=%221%22 stop-color=%22%238F4A02%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23an)%22 d=%22m35.56 57.59 2.87.44-.19 1.22-2.87-.45%22 clip-path=%22url(%23ao)%22/%3E%3Cdefs%3E%3Cpath id=%22ap%22 d=%22M49.25 42.96c0 9.15-3.99 15.4-10.94 15.4v.46c8.07 0 11.39-7.71 11.39-15.86z%22/%3E%3C/defs%3E%3CclipPath id=%22ar%22%3E%3Cuse xlink:href=%22%23ap%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22aq%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22100.9%22 y2=%22100.9%22 gradientTransform=%22rotate(125.6 -631.9 -879.37)scale(19.5286)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23A65E0C%22/%3E%3Cstop offset=%22.05%22 stop-color=%22%23A65E0C%22/%3E%3Cstop offset=%22.95%22 stop-color=%22%238F4A02%22/%3E%3Cstop offset=%221%22 stop-color=%22%238F4A02%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23aq)%22 d=%22M57.2 48.33 45.85 64.21 30.8 53.45l11.37-15.88%22 clip-path=%22url(%23ar)%22/%3E%3Cdefs%3E%3Cpath id=%22as%22 d=%22m28.77 30.14.45.24c2.28-1.46 5.03-2.22 8.45-2.22v-.46c-3.47 0-6.5.8-8.9 2.44%22/%3E%3C/defs%3E%3CclipPath id=%22au%22%3E%3Cuse xlink:href=%22%23as%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22at%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22101.03%22 y2=%22101.03%22 gradientTransform=%22rotate(165.5 -107.94 -440.95)scale(9.218)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%22.05%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%22.95%22 stop-color=%22%23F0AF13%22/%3E%3Cstop offset=%221%22 stop-color=%22%23F0AF13%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23at)%22 d=%22m38.32 30.22-8.99 2.32-1.2-4.67 8.98-2.32%22 clip-path=%22url(%23au)%22/%3E%3Cdefs%3E%3Cpath id=%22av%22 d=%22M37.67 28.16c7.47 0 11.58 5.67 11.58 14.8h.45c0-8.08-3.38-15.26-12.03-15.26z%22/%3E%3C/defs%3E%3CclipPath id=%22ax%22%3E%3Cuse xlink:href=%22%23av%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22aw%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22100.9%22 y2=%22100.9%22 gradientTransform=%22rotate(51.9 -2162.24 -642.68)scale(19.428)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%22.05%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%22.95%22 stop-color=%22%23A65E0C%22/%3E%3Cstop offset=%221%22 stop-color=%22%23A65E0C%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23aw)%22 d=%22m45.12 21.86 11.99 15.29L42.25 48.8 30.26 33.51%22 clip-path=%22url(%23ax)%22/%3E%3Cdefs%3E%3Cpath id=%22ay%22 d=%22M-14.27-14h102v115h-102z%22/%3E%3C/defs%3E%3CclipPath id=%22az%22%3E%3Cuse xlink:href=%22%23ay%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3Cpath fill=%22%23FFC20E%22 d=%22M13.5 28.79H7.22l-.45-.45h7.16zm12.51 0h-6.25l-.45-.45h7.15z%22 clip-path=%22url(%23az)%22/%3E%3Cpath fill=%22%23D78817%22 d=%22M4.04 51V26.76l.45.2V51zM66.4 36.74v-6.77l-.45.22v5.44zM13.94 48.76V28.34l-.45.45v19.96z%22 clip-path=%22url(%23az)%22/%3E%3Cpath fill=%22%23D89016%22 d=%22M68.97 51V9.92l.45-.41V51zm-18.48-1.24v7.03l.45-.26v-5.77zM19.76 52.4V28.79l-.45-.45v23.81zM7.23 48.48V28.79l-.45-.45v20.14z%22 clip-path=%22url(%23az)%22/%3E%3Cdefs%3E%3Cpath id=%22aA%22 d=%22M6.78 48.48c0 6.63 3.11 10.45 9.8 10.45v-.45c-6.2 0-9.35-3.37-9.35-10z%22/%3E%3C/defs%3E%3CclipPath id=%22aC%22%3E%3Cuse xlink:href=%22%23aA%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22aB%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22101.11%22 y2=%22101.11%22 gradientTransform=%22rotate(47.1 -1815.33 -457.46)scale(14.319)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23D89016%22/%3E%3Cstop offset=%22.05%22 stop-color=%22%23D89016%22/%3E%3Cstop offset=%22.95%22 stop-color=%22%238F4A02%22/%3E%3Cstop offset=%221%22 stop-color=%22%238F4A02%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23aB)%22 d=%22m12.04 43.6 9.74 10.48-10.46 9.73-9.75-10.5%22 clip-path=%22url(%23aC)%22/%3E%3Cdefs%3E%3Cpath id=%22aD%22 d=%22M16.57 58.48v.45c4 0 7.24-.93 9.89-2.73l-.45-.24c-2.4 1.63-5.6 2.52-9.44 2.52%22/%3E%3C/defs%3E%3CclipPath id=%22aF%22%3E%3Cuse xlink:href=%22%23aD%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22aE%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22100.98%22 y2=%22100.98%22 gradientTransform=%22scale(-10.2546 10.2546)rotate(14.5 366.91 99.18)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23A65E0C%22/%3E%3Cstop offset=%22.05%22 stop-color=%22%23A65E0C%22/%3E%3Cstop offset=%22.95%22 stop-color=%22%238F4A02%22/%3E%3Cstop offset=%221%22 stop-color=%22%238F4A02%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23aE)%22 d=%22m27.18 58.74-9.99 2.58-1.34-5.17 9.99-2.59%22 clip-path=%22url(%23aF)%22/%3E%3Cdefs%3E%3Cpath id=%22aG%22 d=%22M16.8 52.71v.45a5.3 5.3 0 0 0 2.96-.76l-.45-.25c-.64.36-1.52.56-2.52.56%22/%3E%3C/defs%3E%3CclipPath id=%22aI%22%3E%3Cuse xlink:href=%22%23aG%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22aH%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22101.01%22 y2=%22101.01%22 gradientTransform=%22matrix(2.9715 -.73 -.73 -2.9715 132.9 342.77)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%22.05%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%22.95%22 stop-color=%22%23F0AF13%22/%3E%3Cstop offset=%221%22 stop-color=%22%23F0AF13%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23aH)%22 d=%22m16.56 52.2 3.03-.74.4 1.64-3.03.75%22 clip-path=%22url(%23aI)%22/%3E%3Cdefs%3E%3Cpath id=%22aJ%22 d=%22M13.5 48.76c0 1.77.42 4.4 3.3 4.4v-.45c-2.21 0-2.86-1.78-2.86-3.95z%22/%3E%3C/defs%3E%3CclipPath id=%22aL%22%3E%3Cuse xlink:href=%22%23aJ%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3ClinearGradient id=%22aK%22 x1=%22-14.27%22 x2=%22-13.27%22 y1=%22100.92%22 y2=%22100.92%22 gradientTransform=%22rotate(-126.2 123.53 -275.42)scale(5.506)%22 gradientUnits=%22userSpaceOnUse%22%3E%3Cstop offset=%220%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%22.05%22 stop-color=%22%23FFC20E%22/%3E%3Cstop offset=%22.95%22 stop-color=%22%23D78817%22/%3E%3Cstop offset=%221%22 stop-color=%22%23D78817%22/%3E%3C/linearGradient%3E%3Cpath fill=%22url(%23aK)%22 d=%22m14.65 54.74-3.26-4.45 4.25-3.1 3.26 4.44%22 clip-path=%22url(%23aL)%22/%3E%3Cdefs%3E%3Cpath id=%22aM%22 d=%22M-14.27-14h102v115h-102z%22/%3E%3C/defs%3E%3CclipPath id=%22aN%22%3E%3Cuse xlink:href=%22%23aM%22 overflow=%22visible%22/%3E%3C/clipPath%3E%3Cpath fill=%22%23D78817%22 d=%22M28.77 30.14v41.51l.45-.45V30.38%22 clip-path=%22url(%23aN)%22/%3E%3Cpath fill=%22%23BF7312%22 d=%22M35.94 52.57V33.95l-.45-.3v19.24zm0 6.02v13.06l-.45-.45V58.01zm-9.48-2.39V28.34l-.45.45v27.17%22 clip-path=%22url(%23aN)%22/%3E%3C/svg%3E", ar: 0.843, mono: false },
529
531
  "usps": { src: "data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%221.12 1.45 179.67 27.5%22%3E%3Cpath fill=%22%2315569c%22 d=%22M49.56.15H7.41L7.4.3s24.78 5.1 25.27 5.18c5.7 1 5.52 2.1 5.52 2.1 3.99-.02 4.48.14 5.17.73 2.1 1.75-1.3 6.91-1.3 6.91-.5.36-37.36 14.6-37.36 14.6h38.57zm8.09 0-1.6 7.54c-.58 2.6 1.18 3.78 4.1 3.78 2.94 0 5.17-1.18 5.73-3.78 1.63-7.54-.02 0 1.63-7.54h-2.46l-1.45 6.8c-.37 1.73-1.29 2.77-3.09 2.77-1.88-.02-2.26-1.06-1.88-2.78L60.1.15zm12.2 0L67.5 11.27h2.17l1.72-8.25h.05l2.75 8.25h3.08L79.63.15h-2.17L75.7 8.49h-.03L73.04.15Zm12.13 0-2.35 11.12h2.45L84.43.15Zm4.1 0-.4 1.77h3.47l-1.99 9.35h2.45l1.99-9.35h3.45l.38-1.77zm11 0L94.7 11.27h8.06l.37-1.77h-5.6l.64-3.04h4.89l.35-1.64h-4.88l.62-2.9h5.6l.37-1.77zm9.82 0-2.35 11.12h5.02c3.1 0 6.08-2.05 6.75-6.05.48-2.83-.65-5.07-4.02-5.07zm18.44 0c-2.89 0-4.32 1.02-4.53 2.62-.36 2.67 4.36 4.25 4 5.85-.22.93-1.36.88-2.3.88h-3.02l-.37 1.77h3.75c3.07 0 4.4-1.1 4.65-2.62.45-2.73-4.34-4.14-3.96-5.9.12-.55.72-.83 2.05-.83h2.63l.38-1.77zm4.54 0-.38 1.77h3.45l-1.98 9.35h2.45l1.98-9.35h3.46l.37-1.77zm11.95 0-6.37 11.12h2.45l4.88-8.91.98 7.14h-3.5l-.97 1.77h7.2L144.76.15zm5.64 0-.39 1.77h3.46l-1.99 9.35H151l2-9.35h3.45l.38-1.77zm10.98 0-2.37 11.12h8.06l.37-1.77h-5.6l.64-3.04h4.88l.36-1.64h-4.88l.62-2.9h5.6l.36-1.77zm13.44 0c-2.89 0-4.31 1.02-4.53 2.62-.36 2.67 4.35 4.25 4 5.85-.22.93-1.37.88-2.3.88h-3.02l-.37 1.77h3.75c3.07 0 4.4-1.1 4.65-2.62.45-2.73-4.34-4.14-3.97-5.9.13-.55.73-.83 2.07-.83h2.61l.4-1.77zm-62.9 1.77h2.5c2.04 0 2.76 1.5 2.45 3.27-.43 2.5-2.03 4.31-4.8 4.31h-1.75zM27.67 7.01H5.96L1.12 29.8s14.83-7.27 16.64-8.2c3.72-1.92 8.86-4.44 13.6-6.06.91-.3 4.79-1.5 7.05-1.9.87-.16 1.24-.3 1.23-.47-.03-.47-.91-.5-2.4-.42-4.55.21-13.26 3.68-15.77 5L18.64 9h18.09c.6-1.7-5.72-1.96-9.07-1.98zm9.59 2.11q-.18 0-.4.3c-.14.17-.25.3-.6.48-.57.27-2.03.42-2.71.48-.66.06-.84.12-.85.38 0 .22.1.35 1.04.35 2.17 0 6.07-.81 7.24-.44.62.2.12 1.3-.38 2.76-.2.56.19.52.4.27a10 10 0 0 0 1.36-3.04c.15-1.34-1-1.54-2.58-1.54zm32.05 9.37c-3.44 0-6.31 1.8-7.15 5.75C61.48 27.4 63.4 30 66.83 30c3.48 0 6.27-1.72 7.14-5.76.7-3.3-1.26-5.75-4.67-5.75m98.14 0c-3.41 0-6.7 1.76-7.53 5.75-.85 3.98 1.67 5.76 5.09 5.76q1.4-.02 2.74-.24l.6-1.91c-.88.22-1.81.39-2.97.39-2.22 0-3.47-1.5-2.95-4 .53-2.52 2.42-3.99 4.63-3.99 1.14 0 1.91.16 2.6.36l.23-1.88a14 14 0 0 0-2.44-.24m-87.48.2c-2.89 0-4.32 1.02-4.53 2.62-.36 2.67 4.35 4.25 4 5.84-.22.93-1.37.89-2.3.89h-3.02l-.37 1.76h3.75c3.07 0 4.4-1.1 4.65-2.62.45-2.72-4.34-4.14-3.97-5.9.13-.55.73-.83 2.07-.83h2.62l.39-1.77zm4.54 0-.38 1.76h3.45L85.6 29.8h2.45l1.99-9.35h3.45l.37-1.77zm35.8 0c-2.9 0-4.32 1.02-4.54 2.62-.36 2.67 4.36 4.25 4 5.84-.21.93-1.36.89-2.3.89h-3.02l-.37 1.76h3.75c3.07 0 4.4-1.1 4.65-2.62.45-2.72-4.33-4.14-3.97-5.9.13-.55.73-.83 2.07-.83h2.62l.38-1.77zm5.4 0-2.38 11.11h8.07l.37-1.76h-5.6l.64-3.04h4.88l.36-1.65h-4.88l.61-2.9h5.6l.37-1.77zm9.82 0-2.35 11.11h2.45l1.98-9.36h2.2c1.36 0 1.49.76 1.35 1.46-.26 1.31-1.41 1.84-2.67 1.84-.23 0-.62.02-.93-.03l2.02 6.1h2.68l-1.83-4.8a3.6 3.6 0 0 0 3.18-3.49c.14-1.86-.73-2.84-2.9-2.84zm36.34 0-2.37 11.11h8.06l.37-1.76h-5.6l.64-3.04h4.89l.35-1.65h-4.88l.62-2.9h5.6l.37-1.77zm-118.14 0L51.36 29.8h2.45l1.99-9.35h2c.9 0 1.51.45 1.25 1.66-.14.67-.74 1.82-2.42 1.82-.37 0-.77-.05-1.08-.08l.12 1.61c.36.04.78.1 1.17.1 2.2 0 4.14-1.28 4.59-3.39.29-1.4.01-3.48-2.4-3.48zm42.75 0L90.1 29.8h2.45l4.88-8.91.98 7.15h-3.5l-.97 1.76h7.2L99.4 18.7zm8.3 0L102.4 29.8h7.53l.38-1.76h-5.07l1.99-9.35zm40.13 0 1.67 11.11h2.9l6.33-11.11h-2.42l-4.88 8.91-1.15-8.91zm12.38 0-2.36 11.11h2.45l2.36-11.11zM68.9 20.25c2.26 0 3.02 1.74 2.54 3.99-.53 2.51-2.01 4-4.23 4-2.3 0-3.06-1.85-2.58-4 .58-2.51 2.05-3.99 4.27-3.99%22/%3E%3Cpath fill=%22%23ed192d%22 d=%22m54.59 14.57-.18.82h126.2l.17-.82z%22/%3E%3C/svg%3E", ar: 6.533, mono: false },
530
532
  "visa": { src: "data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1000 324.06%22%3E%3Cpath fill=%22%231434cb%22 d=%22M651.19.5c-70.93 0-134.32 36.77-134.32 104.69 0 77.9 112.42 83.28 112.42 122.42 0 16.48-18.88 31.23-51.14 31.23-45.77 0-79.98-20.61-79.98-20.61l-14.64 68.55s39.41 17.41 91.73 17.41c77.55 0 138.58-38.57 138.58-107.66 0-82.32-112.89-87.54-112.89-123.86 0-12.91 15.5-27.05 47.66-27.05 36.29 0 65.89 14.99 65.89 14.99l14.33-66.2S696.61.5 651.18.5ZM2.22 5.5.5 15.49s29.84 5.46 56.72 16.36c34.61 12.49 37.07 19.77 42.9 42.35l63.51 244.83h85.14L379.93 5.5h-84.94l-84.28 213.17-34.39-180.7c-3.15-20.68-19.13-32.48-38.68-32.48zm411.87 0-66.63 313.53h81L494.85 5.5zm451.76 0c-19.53 0-29.88 10.46-37.47 28.73l-118.67 284.8h84.94l16.43-47.47h103.48l9.99 47.47h74.95L934.12 5.5zm11.05 84.71 25.18 117.65h-67.45z%22/%3E%3C/svg%3E", ar: 3.086, mono: false },
@@ -573,8 +575,8 @@ var LIST = [
573
575
  B("googlepay", "Google Pay", "wallet", "#FFFFFF", "#3C4043", "G Pay"),
574
576
  // Cash points and transfers (Mexico).
575
577
  B("oxxo", "OXXO", "cash", "#E21E26", "#FFE600"),
576
- B("spei", "SPEI", "bank", "#14365F", "#FFFFFF"),
577
- B("stp", "STP", "bank", "#14365F", "#FFFFFF", "SPEI"),
578
+ B("spei", "SPEI", "bank", "#14365F", "#FFFFFF", void 0, "transfer"),
579
+ B("stp", "STP", "bank", "#14365F", "#FFFFFF", "SPEI", "transfer"),
578
580
  B("7eleven", "7-Eleven", "cash", "#00704A", "#FFFFFF", "7-11"),
579
581
  B("circlek", "Circle K", "cash", "#DA291C", "#FFFFFF", "K"),
580
582
  B("soriana", "Soriana", "cash", "#C8102E", "#FFFFFF"),
@@ -738,6 +740,14 @@ function BrandMark({ brand, logoUrl, size = 24, title, className }) {
738
740
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M24 8.52a9 9 0 0 1 0 14.96a9 9 0 0 1 0-14.96z", fill: "#FF5F00" })
739
741
  ] });
740
742
  }
743
+ if (found?.shape === "transfer") {
744
+ const label = (found.mark ?? found.name).split("\n")[0];
745
+ return /* @__PURE__ */ jsxRuntime.jsxs("svg", { viewBox: "0 0 48 32", width, height, className, style, "data-sf-brand-mark": key, "data-sf-brand-source": "badge", focusable: "false", ...a11y, children: [
746
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "0.5", y: "0.5", width: "47", height: "31", rx: "5", fill: found.bg, stroke: ring }),
747
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 12h11m0 0-3-3m3 3-3 3M17 20H6m0 0 3-3m-3 3 3 3", fill: "none", stroke: found.fg, strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round" }),
748
+ /* @__PURE__ */ jsxRuntime.jsx("text", { x: "33", y: "16.5", dominantBaseline: "central", textAnchor: "middle", fill: found.fg, fontFamily: "system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif", fontWeight: 800, fontSize: 11, textLength: 22, lengthAdjust: "spacingAndGlyphs", children: label })
749
+ ] });
750
+ }
741
751
  const text = found ? found.mark ?? found.name : monogram(brand ?? "");
742
752
  const bg = found?.bg ?? "var(--sf-brand-mark-bg, #E7E9EE)";
743
753
  const fg = found?.fg ?? "var(--sf-brand-mark-fg, #2B2F38)";