From c3580939605920674abbd8a3c58803c287395ebe Mon Sep 17 00:00:00 2001 From: Fernando Santos Date: Tue, 28 Oct 2025 13:02:51 -0400 Subject: [PATCH 1/4] Create copilot-instructions.md --- .github/copilot-instructions.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 .github/copilot-instructions.md diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 100644 index 00000000..b5123789 --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1,32 @@ +# Copilot Instructions for ENgrid + +## High-Level Architecture +- ENgrid is a Lerna workspace with two publishable packages: `packages/scripts` (TypeScript) and `packages/styles` (SCSS). Only edit the sources; `dist/` artifacts are generated. +- `packages/scripts/src/app.ts` orchestrates runtime features by instantiating helpers exported via `packages/scripts/src/index.ts`. +- `ENGrid` (`packages/scripts/src/engrid.ts`) centralizes DOM helpers, Engaging Networks integrations, and shared utilities (URL params, field setters, body data attributes). +- Front-end behaviour is driven by Engaging Networks globals (`window.pageJson`, `window.EngagingNetworks`, `window.EngridOptions`) and data attributes stamped on ``. + +## Key Workflows +- Install dependencies once with `npm install` at repo root; Lerna bootstraps package links. +- Build everything via `npm run build` (runs `lerna bootstrap` then `lerna run build`), or watch with `npm run watch` (`lerna run watch`). +- Within a package you can run `npm run watch` to recompile just scripts (tsc via nodemon) or styles (sass via nodemon). +- Version bumps rely on `npm run version`, which executes `write-version.js` to sync `AppVersion` and then rebuilds. + +## Patterns & Conventions +- Globals are hung off `window.EngridOptions`; override per page through `window.EngridPageOptions` before `new App(...)` runs. +- Features toggle themselves by checking DOM/body data attributes (`data-engrid-*`). For example, `digital-wallets.ts` only defaults Stripe wallets when `data-engrid-payment-type-option-*="true"`. +- Evented logic uses singletons in `packages/scripts/src/events` (e.g., `DonationAmount.getInstance()`); prefer extending those patterns over ad-hoc listeners. +- Styles aggregate through `packages/styles/src/main.scss`, which imports feature partials (digital wallets, tidycontact, etc.) and layout themes under `packages/styles/src/themes/`. + +## Integration Notes +- Loader behaviour (`packages/scripts/src/loader.ts`) swaps CSS/JS assets based on `window.EngridLoader` or URL flags like `?assets=local&engridcss=false`; respect this when altering bootstrapping. +- Use helpers from the `ENGrid` abstract class (`packages/scripts/src/engrid.ts`) where possible. +- Many helpers expect the Engaging Networks form markup (`form.en__component`); use `ENGrid.checkNested` or guard early when working outside that environment. +- Client-specific repos in sibling folders consume the built assets; keep shared business logic in core packages unless a customization truly belongs downstream. +- Tip: when debugging, `?debug=true` sets body `data-engrid-debug`, unlocking debug panels and conditional UI. + +## When in Doubt +- Search in `packages/scripts/src` before creating new utilities; most EN behaviours already exist (currency, remember-me, plaid, vgs). +- Do not hand-edit files under any `dist/` directory—run the relevant build instead. +- Follow repo Prettier config (`.prettierrc.js`); formatting is enforced even though there are no automated tests. +- Document new options by updating the interfaces in `packages/scripts/src/interfaces` and exposing them through `OptionsDefaults`. \ No newline at end of file From 0e10746b331ab301e488857538a8ac8be27db06d Mon Sep 17 00:00:00 2001 From: Fernando Santos Date: Tue, 28 Oct 2025 14:59:53 -0400 Subject: [PATCH 2/4] New Component: PreferredPaymentMethod --- packages/scripts/dist/app.js | 3 +- packages/scripts/dist/index.d.ts | 1 + packages/scripts/dist/index.js | 1 + packages/scripts/dist/interfaces/options.d.ts | 4 + packages/scripts/dist/interfaces/options.js | 1 + .../dist/preferred-payment-method.d.ts | 26 ++ .../scripts/dist/preferred-payment-method.js | 253 +++++++++++++ packages/scripts/src/app.ts | 2 + packages/scripts/src/index.ts | 1 + packages/scripts/src/interfaces/options.ts | 7 + .../scripts/src/preferred-payment-method.ts | 346 ++++++++++++++++++ 11 files changed, 644 insertions(+), 1 deletion(-) create mode 100644 packages/scripts/dist/preferred-payment-method.d.ts create mode 100644 packages/scripts/dist/preferred-payment-method.js create mode 100644 packages/scripts/src/preferred-payment-method.ts diff --git a/packages/scripts/dist/app.js b/packages/scripts/dist/app.js index 8f457b87..cde76d39 100644 --- a/packages/scripts/dist/app.js +++ b/packages/scripts/dist/app.js @@ -1,5 +1,5 @@ import { DonationAmount, DonationFrequency, EnForm, ProcessingFees, Country, } from "./events"; -import { AmountLabel, Loader, ProgressBar, UpsellLightbox, ENGrid, OptionsDefaults, setRecurrFreq, PageBackground, MediaAttribution, ApplePay, A11y, CapitalizeFields, Ecard, ClickToExpand, Advocacy, DataAttributes, LiveVariables, iFrame, InputPlaceholders, InputHasValueAndFocus, ShowHideRadioCheckboxes, AutoCountrySelect, SkipToMainContentLink, SrcDefer, NeverBounce, AutoYear, Autocomplete, RememberMe, TranslateFields, ShowIfAmount, EngridLogger, OtherAmount, MinMaxAmount, Ticker, DataReplace, DataHide, AddNameToMessage, ExpandRegionName, AppVersion, UrlToForm, RequiredIfVisible, TidyContact, DataLayer, LiveCurrency, Autosubmit, EventTickets, SwapAmounts, DebugPanel, DebugHiddenFields, FreshAddress, BrandingHtml, CountryDisable, PremiumGift, DigitalWallets, MobileCTA, LiveFrequency, UniversalOptIn, Plaid, GiveBySelect, UrlParamsToBodyAttrs, ExitIntentLightbox, SupporterHub, FastFormFill, SetAttr, ShowIfPresent, ENValidators, CustomCurrency, VGS, PostalCodeValidator, CountryRedirect, WelcomeBack, EcardToTarget, UsOnlyForm, ThankYouPageConditionalContent, EmbeddedEcard, CheckboxLabel, UpsellCheckbox, PostDonationEmbed, FrequencyUpsell, CustomPremium, } from "."; +import { AmountLabel, Loader, ProgressBar, UpsellLightbox, ENGrid, OptionsDefaults, setRecurrFreq, PageBackground, MediaAttribution, ApplePay, A11y, CapitalizeFields, Ecard, ClickToExpand, Advocacy, DataAttributes, LiveVariables, iFrame, InputPlaceholders, InputHasValueAndFocus, ShowHideRadioCheckboxes, AutoCountrySelect, SkipToMainContentLink, SrcDefer, NeverBounce, AutoYear, Autocomplete, RememberMe, TranslateFields, ShowIfAmount, EngridLogger, OtherAmount, MinMaxAmount, Ticker, DataReplace, DataHide, AddNameToMessage, ExpandRegionName, AppVersion, UrlToForm, RequiredIfVisible, TidyContact, DataLayer, LiveCurrency, Autosubmit, EventTickets, SwapAmounts, DebugPanel, DebugHiddenFields, FreshAddress, BrandingHtml, CountryDisable, PremiumGift, DigitalWallets, MobileCTA, LiveFrequency, UniversalOptIn, Plaid, GiveBySelect, UrlParamsToBodyAttrs, ExitIntentLightbox, SupporterHub, FastFormFill, SetAttr, ShowIfPresent, ENValidators, CustomCurrency, VGS, PostalCodeValidator, CountryRedirect, WelcomeBack, EcardToTarget, UsOnlyForm, ThankYouPageConditionalContent, EmbeddedEcard, CheckboxLabel, UpsellCheckbox, PostDonationEmbed, FrequencyUpsell, CustomPremium, PreferredPaymentMethod, } from "."; export class App extends ENGrid { constructor(options) { super(); @@ -253,6 +253,7 @@ export class App extends ENGrid { // Digital Wallets Features if (ENGrid.getPageType() === "DONATION") { new DigitalWallets(); + new PreferredPaymentMethod(); } // Mobile CTA new MobileCTA(); diff --git a/packages/scripts/dist/index.d.ts b/packages/scripts/dist/index.d.ts index bdf78c9f..b4aeac0b 100644 --- a/packages/scripts/dist/index.d.ts +++ b/packages/scripts/dist/index.d.ts @@ -86,5 +86,6 @@ export * from "./optin-ladder"; export * from "./post-donation-embed"; export * from "./frequency-upsell-modal"; export * from "./frequency-upsell"; +export * from "./preferred-payment-method"; export * from "./events"; export * from "./version"; diff --git a/packages/scripts/dist/index.js b/packages/scripts/dist/index.js index 45780b53..bfd97dc1 100644 --- a/packages/scripts/dist/index.js +++ b/packages/scripts/dist/index.js @@ -86,6 +86,7 @@ export * from "./optin-ladder"; export * from "./post-donation-embed"; export * from "./frequency-upsell-modal"; export * from "./frequency-upsell"; +export * from "./preferred-payment-method"; // Events export * from "./events"; // Version diff --git a/packages/scripts/dist/interfaces/options.d.ts b/packages/scripts/dist/interfaces/options.d.ts index 05e7d457..51c41434 100644 --- a/packages/scripts/dist/interfaces/options.d.ts +++ b/packages/scripts/dist/interfaces/options.d.ts @@ -152,6 +152,10 @@ export interface Options { placementQuerySelector?: string | null; excludePageIDs?: string[]; }; + PreferredPaymentMethod?: false | { + preferredPaymentMethodField?: string; + defaultPaymentMethod?: string[]; + }; CustomPremium?: false | { [frequency: string]: ({ products?: { diff --git a/packages/scripts/dist/interfaces/options.js b/packages/scripts/dist/interfaces/options.js index c54e50eb..4f8a1e5f 100644 --- a/packages/scripts/dist/interfaces/options.js +++ b/packages/scripts/dist/interfaces/options.js @@ -42,6 +42,7 @@ export const OptionsDefaults = { CountryRedirect: false, WelcomeBack: false, OptInLadder: false, + PreferredPaymentMethod: false, PageLayouts: [ "leftleft1col", "centerleft1col", diff --git a/packages/scripts/dist/preferred-payment-method.d.ts b/packages/scripts/dist/preferred-payment-method.d.ts new file mode 100644 index 00000000..bd6c9e79 --- /dev/null +++ b/packages/scripts/dist/preferred-payment-method.d.ts @@ -0,0 +1,26 @@ +export declare class PreferredPaymentMethod { + private logger; + private readonly availabilityTimeoutMs; + private cleanupHandlers; + private selectionFinalized; + private config; + constructor(); + private shouldRun; + private resolveConfig; + private buildCandidateList; + private getFieldPreference; + private getUrlPreference; + private tryCandidateAtIndex; + private waitForAvailability; + private applySelection; + private paymentMethodExists; + private isPaymentMethodAvailable; + private findPaymentInput; + private getGiveBySelectInputs; + private getGiveBySelectContainer; + private getInputContainer; + private findLabelForInput; + private normalizePaymentValue; + private getAvailabilityAttributeFilters; + private cleanupAllObservers; +} diff --git a/packages/scripts/dist/preferred-payment-method.js b/packages/scripts/dist/preferred-payment-method.js new file mode 100644 index 00000000..3731ca2f --- /dev/null +++ b/packages/scripts/dist/preferred-payment-method.js @@ -0,0 +1,253 @@ +import { ENGrid, EngridLogger } from "."; +export class PreferredPaymentMethod { + constructor() { + this.logger = new EngridLogger("PreferredPaymentMethod", "#ffffff", "#1f2933", "⭐️"); + this.availabilityTimeoutMs = 4000; + this.cleanupHandlers = []; + this.selectionFinalized = false; + this.config = this.resolveConfig(); + if (!this.shouldRun()) { + return; + } + const candidates = this.buildCandidateList(); + if (candidates.length === 0) { + this.logger.log("No payment methods to evaluate. Skipping."); + return; + } + this.logger.log(`Evaluating preferred payment methods in order: ${candidates.join(", ")}`); + this.tryCandidateAtIndex(0, candidates); + } + shouldRun() { + if (ENGrid.getPageType() !== "DONATION") { + this.logger.log("Not a donation page. Skipping preferred payment selection."); + return false; + } + if (!this.getGiveBySelectInputs().length) { + this.logger.log("No give-by-select inputs found. Skipping."); + return false; + } + const config = ENGrid.getOption("PreferredPaymentMethod"); + if (config === false) { + this.logger.log("PreferredPaymentMethod option disabled."); + return false; + } + return true; + } + resolveConfig() { + const option = ENGrid.getOption("PreferredPaymentMethod"); + if (option && typeof option === "object") { + const preferredPaymentMethodField = option.preferredPaymentMethodField || ""; + const defaultPaymentMethod = Array.isArray(option.defaultPaymentMethod) + ? option.defaultPaymentMethod.filter((item) => !!item) + : []; + return { + preferredPaymentMethodField, + defaultPaymentMethod: defaultPaymentMethod.length > 0 ? defaultPaymentMethod : ["card"], + }; + } + return { + preferredPaymentMethodField: "", + defaultPaymentMethod: ["card"], + }; + } + buildCandidateList() { + const candidates = []; + const seen = new Set(); + const pushCandidate = (value) => { + if (!value) + return; + const normalized = this.normalizePaymentValue(value); + if (!normalized || seen.has(normalized)) + return; + seen.add(normalized); + candidates.push(normalized); + }; + pushCandidate(this.getFieldPreference()); + pushCandidate(this.getUrlPreference()); + this.config.defaultPaymentMethod.forEach(pushCandidate); + return candidates; + } + getFieldPreference() { + var _a; + const fieldName = (_a = this.config.preferredPaymentMethodField) === null || _a === void 0 ? void 0 : _a.trim(); + if (!fieldName) { + return null; + } + const fieldValue = ENGrid.getFieldValue(fieldName); + if (!fieldValue) { + this.logger.log(`Preferred payment field "${fieldName}" is empty. Moving on.`); + return null; + } + this.logger.log(`Preferred payment from field "${fieldName}" resolved to "${fieldValue}".`); + return fieldValue; + } + getUrlPreference() { + const urlValue = ENGrid.getUrlParameter("payment"); + if (typeof urlValue === "string" && urlValue.trim() !== "") { + this.logger.log(`Preferred payment from URL parameter: "${urlValue}".`); + return urlValue; + } + return null; + } + tryCandidateAtIndex(index, candidates) { + if (this.selectionFinalized) { + return; + } + if (index >= candidates.length) { + this.logger.log("No preferred payment method was applied."); + return; + } + const method = candidates[index]; + if (!this.paymentMethodExists(method)) { + this.logger.log(`Payment method "${method}" not found. Skipping.`); + this.tryCandidateAtIndex(index + 1, candidates); + return; + } + if (this.isPaymentMethodAvailable(method)) { + this.logger.success(`Selecting available payment method "${method}".`); + this.applySelection(method); + return; + } + this.logger.log(`Payment method "${method}" exists but is not available yet. Waiting up to ${this.availabilityTimeoutMs}ms.`); + this.waitForAvailability(method, () => { + if (this.selectionFinalized) + return; + if (this.isPaymentMethodAvailable(method)) { + this.logger.success(`Selecting payment method "${method}" once it became available.`); + this.applySelection(method); + } + }, () => { + if (this.selectionFinalized) + return; + this.logger.log(`Payment method "${method}" still unavailable after waiting. Trying next option.`); + this.tryCandidateAtIndex(index + 1, candidates); + }); + } + waitForAvailability(method, onAvailable, onTimeout) { + const observers = []; + const cleanup = () => { + observers.forEach((observer) => observer.disconnect()); + observers.length = 0; + this.cleanupHandlers = this.cleanupHandlers.filter((fn) => fn !== cleanup); + window.clearTimeout(timeoutId); + }; + this.cleanupHandlers.push(cleanup); + const checkAvailability = () => { + if (this.selectionFinalized) { + cleanup(); + return; + } + if (this.isPaymentMethodAvailable(method)) { + cleanup(); + onAvailable(); + } + }; + const fieldContainer = this.getGiveBySelectContainer() || document.body; + const domObserver = new MutationObserver(() => checkAvailability()); + domObserver.observe(fieldContainer, { + attributes: true, + attributeFilter: ["class", "style"], + childList: true, + subtree: true, + }); + observers.push(domObserver); + const attributeFilters = this.getAvailabilityAttributeFilters(method); + if (attributeFilters.length > 0) { + const attrObserver = new MutationObserver(() => checkAvailability()); + attrObserver.observe(document.body, { + attributes: true, + attributeFilter: attributeFilters, + }); + observers.push(attrObserver); + } + const timeoutId = window.setTimeout(() => { + cleanup(); + onTimeout(); + }, this.availabilityTimeoutMs); + } + applySelection(method) { + if (this.selectionFinalized) { + return; + } + const input = this.findPaymentInput(method); + if (!input) { + this.logger.log(`Unable to locate give-by-select input for "${method}" during selection.`); + return; + } + if (!this.isPaymentMethodAvailable(method)) { + this.logger.log(`Payment method "${method}" is not available to select.`); + return; + } + const label = this.findLabelForInput(input); + if (label) { + label.click(); + } + else { + input.checked = true; + input.dispatchEvent(new Event("change", { bubbles: true, cancelable: true })); + } + ENGrid.setPaymentType(method); + this.selectionFinalized = true; + this.cleanupAllObservers(); + } + paymentMethodExists(method) { + return !!this.findPaymentInput(method); + } + isPaymentMethodAvailable(method) { + const input = this.findPaymentInput(method); + if (!input || input.disabled) { + return false; + } + const container = this.getInputContainer(input); + return container ? ENGrid.isVisible(container) : ENGrid.isVisible(input); + } + findPaymentInput(method) { + const normalized = this.normalizePaymentValue(method); + if (!normalized) { + return null; + } + const inputs = this.getGiveBySelectInputs(); + return (Array.from(inputs).find((input) => input.value && this.normalizePaymentValue(input.value) === normalized) || null); + } + getGiveBySelectInputs() { + return document.getElementsByName("transaction.giveBySelect"); + } + getGiveBySelectContainer() { + return document.querySelector(".en__field--give-by-select, .give-by-select"); + } + getInputContainer(input) { + return (input.closest(".en__field__item") || + input.closest(".en__field__element") || + input.parentElement); + } + findLabelForInput(input) { + if (input.id) { + const externalLabel = document.querySelector(`label[for="${input.id}"]`); + if (externalLabel) { + return externalLabel; + } + } + return input.closest("label"); + } + normalizePaymentValue(value) { + return value.trim().toLowerCase(); + } + getAvailabilityAttributeFilters(method) { + const map = { + stripedigitalwallet: [ + "data-engrid-payment-type-option-apple-pay", + "data-engrid-payment-type-option-google-pay", + ], + paypaltouch: [ + "data-engrid-payment-type-option-paypal-one-touch", + "data-engrid-payment-type-option-venmo", + ], + daf: ["data-engrid-payment-type-option-daf"], + }; + return map[method] || []; + } + cleanupAllObservers() { + this.cleanupHandlers.forEach((cleanup) => cleanup()); + this.cleanupHandlers = []; + } +} diff --git a/packages/scripts/src/app.ts b/packages/scripts/src/app.ts index 5365dc7e..88372ef1 100644 --- a/packages/scripts/src/app.ts +++ b/packages/scripts/src/app.ts @@ -87,6 +87,7 @@ import { PostDonationEmbed, FrequencyUpsell, CustomPremium, + PreferredPaymentMethod, } from "."; export class App extends ENGrid { @@ -419,6 +420,7 @@ export class App extends ENGrid { // Digital Wallets Features if (ENGrid.getPageType() === "DONATION") { new DigitalWallets(); + new PreferredPaymentMethod(); } // Mobile CTA diff --git a/packages/scripts/src/index.ts b/packages/scripts/src/index.ts index 651dcb5a..a91161ba 100644 --- a/packages/scripts/src/index.ts +++ b/packages/scripts/src/index.ts @@ -102,6 +102,7 @@ export * from "./optin-ladder"; export * from "./post-donation-embed"; export * from "./frequency-upsell-modal"; export * from "./frequency-upsell"; +export * from "./preferred-payment-method"; // Events export * from "./events"; diff --git a/packages/scripts/src/interfaces/options.ts b/packages/scripts/src/interfaces/options.ts index 5d2ee412..d2dc9a73 100644 --- a/packages/scripts/src/interfaces/options.ts +++ b/packages/scripts/src/interfaces/options.ts @@ -157,6 +157,12 @@ export interface Options { placementQuerySelector?: string | null; excludePageIDs?: string[]; }; + PreferredPaymentMethod?: + | false + | { + preferredPaymentMethodField?: string; + defaultPaymentMethod?: string[]; + }; // CustomPremium filters premium gifts per frequency based on minimum amounts // Supports two shapes per frequency: // - Flat map: { 3759: 10, 3760: 25 } @@ -221,6 +227,7 @@ export const OptionsDefaults: Options = { CountryRedirect: false, WelcomeBack: false, OptInLadder: false, + PreferredPaymentMethod: false, PageLayouts: [ "leftleft1col", "centerleft1col", diff --git a/packages/scripts/src/preferred-payment-method.ts b/packages/scripts/src/preferred-payment-method.ts new file mode 100644 index 00000000..99a90c1d --- /dev/null +++ b/packages/scripts/src/preferred-payment-method.ts @@ -0,0 +1,346 @@ +import { ENGrid, EngridLogger } from "."; + +type PreferredPaymentMethodConfig = { + preferredPaymentMethodField: string; + defaultPaymentMethod: string[]; +}; + +export class PreferredPaymentMethod { + private logger: EngridLogger = new EngridLogger( + "PreferredPaymentMethod", + "#ffffff", + "#1f2933", + "⭐️" + ); + + private readonly availabilityTimeoutMs = 4000; + private cleanupHandlers: Array<() => void> = []; + private selectionFinalized = false; + + private config: PreferredPaymentMethodConfig = this.resolveConfig(); + + constructor() { + if (!this.shouldRun()) { + return; + } + + const candidates = this.buildCandidateList(); + if (candidates.length === 0) { + this.logger.log("No payment methods to evaluate. Skipping."); + return; + } + + this.logger.log( + `Evaluating preferred payment methods in order: ${candidates.join(", ")}` + ); + this.tryCandidateAtIndex(0, candidates); + } + + private shouldRun(): boolean { + if (ENGrid.getPageType() !== "DONATION") { + this.logger.log( + "Not a donation page. Skipping preferred payment selection." + ); + return false; + } + + if (!this.getGiveBySelectInputs().length) { + this.logger.log("No give-by-select inputs found. Skipping."); + return false; + } + + const config = ENGrid.getOption("PreferredPaymentMethod"); + if (config === false) { + this.logger.log("PreferredPaymentMethod option disabled."); + return false; + } + + return true; + } + + private resolveConfig(): PreferredPaymentMethodConfig { + const option = ENGrid.getOption("PreferredPaymentMethod"); + if (option && typeof option === "object") { + const preferredPaymentMethodField = + option.preferredPaymentMethodField || ""; + const defaultPaymentMethod = Array.isArray(option.defaultPaymentMethod) + ? option.defaultPaymentMethod.filter((item) => !!item) + : []; + return { + preferredPaymentMethodField, + defaultPaymentMethod: + defaultPaymentMethod.length > 0 ? defaultPaymentMethod : ["card"], + }; + } + return { + preferredPaymentMethodField: "", + defaultPaymentMethod: ["card"], + }; + } + + private buildCandidateList(): string[] { + const candidates: string[] = []; + const seen = new Set(); + + const pushCandidate = (value: string | null) => { + if (!value) return; + const normalized = this.normalizePaymentValue(value); + if (!normalized || seen.has(normalized)) return; + seen.add(normalized); + candidates.push(normalized); + }; + + pushCandidate(this.getFieldPreference()); + pushCandidate(this.getUrlPreference()); + this.config.defaultPaymentMethod.forEach(pushCandidate); + + return candidates; + } + + private getFieldPreference(): string | null { + const fieldName = this.config.preferredPaymentMethodField?.trim(); + if (!fieldName) { + return null; + } + const fieldValue = ENGrid.getFieldValue(fieldName); + if (!fieldValue) { + this.logger.log( + `Preferred payment field "${fieldName}" is empty. Moving on.` + ); + return null; + } + this.logger.log( + `Preferred payment from field "${fieldName}" resolved to "${fieldValue}".` + ); + return fieldValue; + } + + private getUrlPreference(): string | null { + const urlValue = ENGrid.getUrlParameter("payment"); + if (typeof urlValue === "string" && urlValue.trim() !== "") { + this.logger.log(`Preferred payment from URL parameter: "${urlValue}".`); + return urlValue; + } + return null; + } + + private tryCandidateAtIndex(index: number, candidates: string[]) { + if (this.selectionFinalized) { + return; + } + + if (index >= candidates.length) { + this.logger.log("No preferred payment method was applied."); + return; + } + + const method = candidates[index]; + if (!this.paymentMethodExists(method)) { + this.logger.log(`Payment method "${method}" not found. Skipping.`); + this.tryCandidateAtIndex(index + 1, candidates); + return; + } + + if (this.isPaymentMethodAvailable(method)) { + this.logger.success(`Selecting available payment method "${method}".`); + this.applySelection(method); + return; + } + + this.logger.log( + `Payment method "${method}" exists but is not available yet. Waiting up to ${this.availabilityTimeoutMs}ms.` + ); + this.waitForAvailability( + method, + () => { + if (this.selectionFinalized) return; + if (this.isPaymentMethodAvailable(method)) { + this.logger.success( + `Selecting payment method "${method}" once it became available.` + ); + this.applySelection(method); + } + }, + () => { + if (this.selectionFinalized) return; + this.logger.log( + `Payment method "${method}" still unavailable after waiting. Trying next option.` + ); + this.tryCandidateAtIndex(index + 1, candidates); + } + ); + } + + private waitForAvailability( + method: string, + onAvailable: () => void, + onTimeout: () => void + ) { + const observers: MutationObserver[] = []; + + const cleanup = () => { + observers.forEach((observer) => observer.disconnect()); + observers.length = 0; + this.cleanupHandlers = this.cleanupHandlers.filter( + (fn) => fn !== cleanup + ); + window.clearTimeout(timeoutId); + }; + + this.cleanupHandlers.push(cleanup); + + const checkAvailability = () => { + if (this.selectionFinalized) { + cleanup(); + return; + } + if (this.isPaymentMethodAvailable(method)) { + cleanup(); + onAvailable(); + } + }; + + const fieldContainer = + this.getGiveBySelectContainer() || (document.body as HTMLElement); + + const domObserver = new MutationObserver(() => checkAvailability()); + domObserver.observe(fieldContainer, { + attributes: true, + attributeFilter: ["class", "style"], + childList: true, + subtree: true, + }); + observers.push(domObserver); + + const attributeFilters = this.getAvailabilityAttributeFilters(method); + if (attributeFilters.length > 0) { + const attrObserver = new MutationObserver(() => checkAvailability()); + attrObserver.observe(document.body, { + attributes: true, + attributeFilter: attributeFilters, + }); + observers.push(attrObserver); + } + + const timeoutId = window.setTimeout(() => { + cleanup(); + onTimeout(); + }, this.availabilityTimeoutMs); + } + + private applySelection(method: string) { + if (this.selectionFinalized) { + return; + } + + const input = this.findPaymentInput(method); + if (!input) { + this.logger.log( + `Unable to locate give-by-select input for "${method}" during selection.` + ); + return; + } + + if (!this.isPaymentMethodAvailable(method)) { + this.logger.log(`Payment method "${method}" is not available to select.`); + return; + } + + const label = this.findLabelForInput(input); + if (label) { + label.click(); + } else { + input.checked = true; + input.dispatchEvent( + new Event("change", { bubbles: true, cancelable: true }) + ); + } + + ENGrid.setPaymentType(method); + this.selectionFinalized = true; + this.cleanupAllObservers(); + } + + private paymentMethodExists(method: string): boolean { + return !!this.findPaymentInput(method); + } + + private isPaymentMethodAvailable(method: string): boolean { + const input = this.findPaymentInput(method); + if (!input || input.disabled) { + return false; + } + const container = this.getInputContainer(input); + return container ? ENGrid.isVisible(container) : ENGrid.isVisible(input); + } + + private findPaymentInput(method: string): HTMLInputElement | null { + const normalized = this.normalizePaymentValue(method); + if (!normalized) { + return null; + } + const inputs = this.getGiveBySelectInputs(); + return ( + Array.from(inputs).find( + (input) => + input.value && this.normalizePaymentValue(input.value) === normalized + ) || null + ); + } + + private getGiveBySelectInputs(): NodeListOf { + return document.getElementsByName( + "transaction.giveBySelect" + ) as NodeListOf; + } + + private getGiveBySelectContainer(): HTMLElement | null { + return document.querySelector( + ".en__field--give-by-select, .give-by-select" + ) as HTMLElement; + } + + private getInputContainer(input: HTMLInputElement): HTMLElement | null { + return ( + input.closest(".en__field__item") || + input.closest(".en__field__element") || + (input.parentElement as HTMLElement | null) + ); + } + + private findLabelForInput(input: HTMLInputElement): HTMLLabelElement | null { + if (input.id) { + const externalLabel = document.querySelector( + `label[for="${input.id}"]` + ) as HTMLLabelElement; + if (externalLabel) { + return externalLabel; + } + } + return input.closest("label") as HTMLLabelElement | null; + } + + private normalizePaymentValue(value: string): string { + return value.trim().toLowerCase(); + } + + private getAvailabilityAttributeFilters(method: string): string[] { + const map: { [key: string]: string[] } = { + stripedigitalwallet: [ + "data-engrid-payment-type-option-apple-pay", + "data-engrid-payment-type-option-google-pay", + ], + paypaltouch: [ + "data-engrid-payment-type-option-paypal-one-touch", + "data-engrid-payment-type-option-venmo", + ], + daf: ["data-engrid-payment-type-option-daf"], + }; + return map[method] || []; + } + + private cleanupAllObservers() { + this.cleanupHandlers.forEach((cleanup) => cleanup()); + this.cleanupHandlers = []; + } +} From dc23527b18f7c08941f88d76c389a88d7b23b346 Mon Sep 17 00:00:00 2001 From: Fernando Santos Date: Wed, 29 Oct 2025 15:39:15 -0400 Subject: [PATCH 3/4] DigitalWallets: Fix payment-type-option-apple-pay & payment-type-option-google-pay Before, those options would be BOTH true if stripedigitalwallet was on the page. Now, each option will only be true if the current device supports Apple Pay or Google Pay. --- packages/scripts/dist/digital-wallets.d.ts | 1 + packages/scripts/dist/digital-wallets.js | 8 ++++++-- packages/scripts/src/digital-wallets.ts | 15 +++++++++++++-- packages/styles/dist/main.css | 2 +- packages/styles/dist/main.css.map | 2 +- packages/styles/src/_engrid-digital-wallets.scss | 1 + 6 files changed, 23 insertions(+), 6 deletions(-) diff --git a/packages/scripts/dist/digital-wallets.d.ts b/packages/scripts/dist/digital-wallets.d.ts index cae72765..f84cff5c 100644 --- a/packages/scripts/dist/digital-wallets.d.ts +++ b/packages/scripts/dist/digital-wallets.d.ts @@ -1,4 +1,5 @@ export declare class DigitalWallets { + private static isApplePayAvailable; constructor(); private addStripeDigitalWallets; private addPaypalTouchDigitalWallets; diff --git a/packages/scripts/dist/digital-wallets.js b/packages/scripts/dist/digital-wallets.js index e1aa565d..94340039 100644 --- a/packages/scripts/dist/digital-wallets.js +++ b/packages/scripts/dist/digital-wallets.js @@ -3,6 +3,7 @@ export class DigitalWallets { constructor() { //digital wallets not enabled. if (!document.getElementById("en__digitalWallet")) { + ENGrid.setBodyData("payment-type-option-stripedigitalwallet", "false"); ENGrid.setBodyData("payment-type-option-apple-pay", "false"); ENGrid.setBodyData("payment-type-option-google-pay", "false"); ENGrid.setBodyData("payment-type-option-paypal-one-touch", "false"); @@ -41,6 +42,7 @@ export class DigitalWallets { else { ENGrid.setBodyData("payment-type-option-apple-pay", "false"); ENGrid.setBodyData("payment-type-option-google-pay", "false"); + ENGrid.setBodyData("payment-type-option-stripedigitalwallet", "false"); const stripeContainer = document.getElementById("en__digitalWallet__stripeButtons__container"); if (stripeContainer) { this.checkForWalletsBeingAdded(stripeContainer, "stripe"); @@ -85,8 +87,9 @@ export class DigitalWallets { } addStripeDigitalWallets() { this.addOptionToPaymentTypeField("stripedigitalwallet", "GooglePay / ApplePay"); - ENGrid.setBodyData("payment-type-option-apple-pay", "true"); - ENGrid.setBodyData("payment-type-option-google-pay", "true"); + ENGrid.setBodyData("payment-type-option-apple-pay", DigitalWallets.isApplePayAvailable.toString()); + ENGrid.setBodyData("payment-type-option-google-pay", !DigitalWallets.isApplePayAvailable.toString()); + ENGrid.setBodyData("payment-type-option-stripedigitalwallet", "true"); } addPaypalTouchDigitalWallets() { this.addOptionToPaymentTypeField("paypaltouch", "Paypal / Venmo"); @@ -141,3 +144,4 @@ export class DigitalWallets { observer.observe(node, { childList: true, subtree: true }); } } +DigitalWallets.isApplePayAvailable = !!window.hasOwnProperty("ApplePaySession"); diff --git a/packages/scripts/src/digital-wallets.ts b/packages/scripts/src/digital-wallets.ts index 5ef214b5..de1cf810 100644 --- a/packages/scripts/src/digital-wallets.ts +++ b/packages/scripts/src/digital-wallets.ts @@ -1,9 +1,12 @@ import { ENGrid } from "./engrid"; export class DigitalWallets { + private static isApplePayAvailable: boolean = + !!window.hasOwnProperty("ApplePaySession"); constructor() { //digital wallets not enabled. if (!document.getElementById("en__digitalWallet")) { + ENGrid.setBodyData("payment-type-option-stripedigitalwallet", "false"); ENGrid.setBodyData("payment-type-option-apple-pay", "false"); ENGrid.setBodyData("payment-type-option-google-pay", "false"); ENGrid.setBodyData("payment-type-option-paypal-one-touch", "false"); @@ -51,6 +54,7 @@ export class DigitalWallets { } else { ENGrid.setBodyData("payment-type-option-apple-pay", "false"); ENGrid.setBodyData("payment-type-option-google-pay", "false"); + ENGrid.setBodyData("payment-type-option-stripedigitalwallet", "false"); const stripeContainer = document.getElementById( "en__digitalWallet__stripeButtons__container" @@ -114,8 +118,15 @@ export class DigitalWallets { "stripedigitalwallet", "GooglePay / ApplePay" ); - ENGrid.setBodyData("payment-type-option-apple-pay", "true"); - ENGrid.setBodyData("payment-type-option-google-pay", "true"); + ENGrid.setBodyData( + "payment-type-option-apple-pay", + DigitalWallets.isApplePayAvailable.toString() + ); + ENGrid.setBodyData( + "payment-type-option-google-pay", + !DigitalWallets.isApplePayAvailable.toString() + ); + ENGrid.setBodyData("payment-type-option-stripedigitalwallet", "true"); } private addPaypalTouchDigitalWallets() { diff --git a/packages/styles/dist/main.css b/packages/styles/dist/main.css index edaaaa03..2dedd760 100644 --- a/packages/styles/dist/main.css +++ b/packages/styles/dist/main.css @@ -4388,7 +4388,7 @@ body:not(#en__pagebuilder):not([data-engrid-debug]) .i11-hide-label .en__field:n margin-top: 2rem !important; margin-bottom: 1rem !important; } -[data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements]:not([data-engrid-payment-type-option-apple-pay=true]) .showif-apple-pay-available, [data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements]:not([data-engrid-payment-type-option-google-pay=true]) .showif-google-pay-available, [data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements]:not([data-engrid-payment-type-option-paypal-one-touch=true]) .showif-paypal-one-touch-available, [data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements]:not([data-engrid-payment-type-option-venmo=true]) .showif-venmo-available, [data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements]:not([data-engrid-payment-type-option-daf=true]) .showif-daf-available, [data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements]:not([data-engrid-payment-type=stripedigitalwallet]) .showif-stripedigitalwallet-selected, [data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements]:not([data-engrid-payment-type=paypaltouch]) .showif-paypaltouch-selected, [data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements]:not([data-engrid-payment-type=daf]) .showif-daf-selected { +[data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements]:not([data-engrid-payment-type-option-stripedigitalwallet=true]) .showif-stripedigitalwallet-available, [data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements]:not([data-engrid-payment-type-option-apple-pay=true]) .showif-apple-pay-available, [data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements]:not([data-engrid-payment-type-option-google-pay=true]) .showif-google-pay-available, [data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements]:not([data-engrid-payment-type-option-paypal-one-touch=true]) .showif-paypal-one-touch-available, [data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements]:not([data-engrid-payment-type-option-venmo=true]) .showif-venmo-available, [data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements]:not([data-engrid-payment-type-option-daf=true]) .showif-daf-available, [data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements]:not([data-engrid-payment-type=stripedigitalwallet]) .showif-stripedigitalwallet-selected, [data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements]:not([data-engrid-payment-type=paypaltouch]) .showif-paypaltouch-selected, [data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements]:not([data-engrid-payment-type=daf]) .showif-daf-selected { display: none; } [data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements][data-engrid-payment-type=stripedigitalwallet] .hideif-stripedigitalwallet-selected, [data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements][data-engrid-payment-type=paypaltouch] .hideif-paypaltouch-selected, [data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements][data-engrid-payment-type=daf] .hideif-daf-selected, [data-engrid-theme]:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements][data-engrid-payment-type=daf] .hideif-daf-selected_hide-vanilla-submit-button .en__submit { diff --git a/packages/styles/dist/main.css.map b/packages/styles/dist/main.css.map index ef115ffe..8cfcdd68 100644 --- a/packages/styles/dist/main.css.map +++ b/packages/styles/dist/main.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../src/main.scss","../src/_engrid-scss-functions.scss","../node_modules/sanitize.css/sanitize.css","../src/_engrid-enpage-overrides.scss","../src/_engrid-typography.scss","../src/_engrid-fields.scss","../src/_engrid-apple-pay.scss","../src/_engrid-autofill.scss","../src/_engrid-background-image.scss","../src/_engrid-banner-image.scss","../src/_engrid-body.scss","../src/_engrid-buttons.scss","../src/_engrid-click-to-call.scss","../src/_engrid-click-to-expand.scss","../src/_engrid-colors.scss","../src/_engrid-columns.scss","../src/_engrid-components-layout.scss","../src/_engrid-deprecated.scss","../src/_engrid-digital-wallets.scss","../src/_engrid-donations.scss","../src/_engrid-double-the-donation.scss","../src/_engrid-ecards.scss","../src/_engrid-ellipsis-animation.scss","../src/_engrid-errors.scss","../src/_engrid-events.scss","../src/_engrid-fancy-errors.scss","../src/_engrid-flip.scss","../src/_engrid-grayscale.scss","../src/_engrid-highlight.scss","../src/_engrid-letter-to-target.scss","../src/_engrid-loading-animations.scss","../src/_engrid-media-attribution.scss","../src/_engrid-media.scss","../src/_engrid-modal.scss","../src/_engrid-neverbounce.scss","../src/_engrid-premiums.scss","../src/_engrid-skip-link.scss","../src/_engrid-social-share.scss","../src/_engrid-thermometer.scss","../src/_engrid-tweet-to-target.scss","../src/_engrid-utilities.scss","../src/_engrid-progress-bar.scss","../src/_engrid-show-if-amount.scss","../src/_engrid-supporter-hub.scss","../src/_engrid-ticker.scss","../src/_engrid-data-replace.scss","../src/_engrid-tidycontact.scss","../src/_engrid-event-tickets.scss","../src/_engrid-mobile-cta.scss","../src/_engrid-exit-intent-lightbox.scss","../src/_engrid-fast-form-fill.scss","../src/_engrid-welcome-back.scss","../src/_engrid-embedded-ecard.scss","../src/_engrid-checkbox-label.scss","../src/layouts/_engrid-layout.scss","../src/layouts/_engrid-layout-embedded.scss","../src/layouts/_engrid-layout-centercenter1col.scss","../src/layouts/_engrid-layout-centercenter2col.scss","../src/layouts/_engrid-layout-centerleft1col.scss","../src/layouts/_engrid-layout-centerright1col.scss","../src/layouts/_engrid-layout-leftleft1col.scss","../src/layouts/_engrid-layout-rightright1col.scss","../src/themes/_engrid-theme-flex2.scss","../node_modules/tippy.js/dist/tippy.css","../src/_engrid-debug.scss","../src/_engrid-page-builder.scss"],"names":[],"mappings":"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;;AAGF;EACE;EACA;;;AAGF;EAEE;;;AAGF;EACE;EACA;EAEA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;EAIE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAWF;AAAA;EAIE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EAIE;EACA;;;AAMF;EAGE;EAIA;;;AAGF;EAEE;EAEA;EACA;;;AAIF;EACE;;;AAGF;EAGE;EACA;EACA;EAGA;;;AAGF;EACE;EACA;EACA;EACA;;;AASF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAOF;EACE;;;AAGF;EAEE;;;AAOF;EACE;EAGA;EACA;EAEA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;;;AAuBF;EACE;;;AAGF;EACE;EAEA;;;AAQF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EAEE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAQF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAgBF;EAEE;;;AAmCF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAQF;EACE;EACA;;;AAGF;EAGE;EACA;EACA;;;AA2BF;AAAA;EAEE;;;AAsBF;EACE;;;AAGF;EAGE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EAEE;;;AAGF;EACE;EACA;EACA;EAEA;EACA;EACA;;;AAOF;EACE;EACA;;;AAIF;EACE;;;AAGF;EAEE;EACA;;;AAuBF;EAEE;EACA;EACA;;;AAUF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAUF;EACE;;;AASF;EACE;EACA;EAGA;;;AAwBF;AAAA;EAEE;;;AA0BF;E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BF;EACE;EACA;;;AAOF;EAGE;EAEA;;;AAGF;EAGE;EACA;EACA;;;AAGF;EACE;EAOA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;EAEA;;;AAGF;EAEE;EACA;EACA;;;AAGF;EAME;EAGA;;;AAGF;EACE;EACA;;;AAIF;EAEE;;;AAmBF;EACE;;;AAGF;EAEE;;;AAGF;EAGE;;;AAGF;EACE;;;AAQF;EAGE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAuBF;EAEE;;;AAGF;EACE;EAGA;;;AAKF;EAEE;EAEA;;;AAGF;EAEE;EAEA;EAGA;;;AAGF;AAAA;EAEE;;;AAGF;EAEE;EACA;EAEA;EAEA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EAEA;EACA;;;AASF;EAEE;EAGA;;;AAGF;EAEE;EAGA;;;AAGF;EACE;;;AAGF;EAEE;;;AAGF;EAEE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EAEE;;;AAGF;EAEE;;;AASF;EAGE;;;AAGF;EACE;EACA;;;AC3xFF;EAEE;AAAA;EAIA;EAEA;EACA;EACA;EAGA;EAEA;EACA;EACA;EACA;EAGA;EAEA;EACA;EACA;EACA;EAGA;EAEA;EACA;EACA;EACA;EAGA;EAEA;EACA;EACA;EACA;EAGA;EAEA;EACA;EACA;EACA;EAGA;EAEA;EACA;EACA;EACA;EAGA;EAEA;EACA;EACA;EAGA;EAEA;EAKA;;;AAOF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EAEE;EACA;;;ACvKJ;EAEE;EACA;EAGA;EAEA;EACA;EACA;EACA;EACA;EAGA;EAEA;EACA;EACA;EAEA;EAEA;EAEA;EACA;EACA;EACA;EAQA;EAGA;EAGA;EAEA;EACA;EACA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;EACA;EACA;EACA;EAOA;EAMA;EAKA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EASA;EAMA;EAEA;EACA;EACA;EAEA;EAEA;EAEA;EACA;EACA;EACA;EACA;EAQA;EAGA;EAEA;EACA;EACA;EAEA;EAEA;EAEA;EACA;EACA;EAQA;;;AAGF;AAAA;AAAA;AAAA;AAMA;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;AAkGA;AACA;AA4BA;AACA;AACA;;AA9HA;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;EACE;EACA;EACA;EACA;EACA;;AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;;AAGF;AAAA;AAAA;EACE;EACA;EACA;;AAGA;AAAA;AAAA;EACE;EACA;;AAGA;AAAA;AAAA;EACE;EACA;EACA;;AAKJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EASE;EACA;;AAGA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;EACA;;AAQJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAIE;EACA;;AAMF;AAAA;AAAA;EACE;EACA;;AAGA;AAAA;AAAA;EACE;EACA;;AAcN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;;;AASF;AAAA;AAAA;AAAA;AAAA;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;EACE;AAOA;;AALA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAIF;AAAA;AAAA;AAAA;AAAA;EACE;;;AAMR;AAAA;AAAA;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;AAAA;AAAA;AAAA;AAIA;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EAEE;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;AACA;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;AAEA;;AACA;EARF;IASI;;;AAGJ;EACE;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;;AAKJ;EACE;EACA;EACA;EACA;;;AAOF;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIE;EACE;EACA;EACA;EACA;EAIA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EAKA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;;AAIJ;EAEE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;;;AAIJ;AAAA;AAAA;AAIE;EACE;EACA;EACA;EACA;EACA;EAIA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EAKA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EAEE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;;;AAKJ;AAAA;AAAA;AAAA;AAAA;AAMA;EACE;EACA;EACA;EACA;EACA;;AAKA;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;;AAGF;EAEE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;;;AAKJ;AAAA;AAAA;AAAA;AAAA;AAMA;EACE;EAEA;EACA;EACA;EACA;EACA;;AAIA;EAEE;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;;AAKF;EAEE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;;;AAIJ;EACE;;;AAIF;EACE;IACE;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;;EACA;IACE;;;AAKN;AAAA;AAAA;AAIA;AACA;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;EAGE;EACA;;;AAKF;AAAA;EAEE;EACA;;;AAGF;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;EACA;EACA;EAEA;;;AAKJ;AAAA;AAAA;AAGA;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAC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;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;EAKE;;;AAGF;AAAA;EAEE;EACA;EACA;;;ACxKA;EACE;EACA;EACA;;AAEA;EACE;;AACA;EACE;;AAGJ;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAIF;EACE;;AAKF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;IACE;;EAGF;IACE;;;;AClDR;EAEE;EACA;EACA;EACA;;;AAIF;EAIE;;;AAGF;EACE;EACA;EACA;;AAKA;EACE;EAIA;;AAQF;EACE;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKF;EACE;;;ACzDJ;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAIA;EACA;EACA;EAIA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;EAGA;EAGA;EACA;AAAA;AAAA;EAGA;EACA;EACA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;EACA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;EACA;EACA;EACA;EACA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;EACA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;EACA;EACA;EACA;EACA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;EACA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;EACA;EACA;EACA;EACA;AAAA;AAAA;EAGA;EACA;EACA;AAAA;AAAA;EA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EACA;EACA;EAaA;;;AAmBF;AAAA;AAAA;AAAA;EAIE;;;AAGF;EAGE;;;AAGF;EAGE;;;AAIF;AACA;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAGD;AAAA;AAAA;AAAA;AAAA;EAqBE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;EAgBE;EACA;;;AAGF;EAIE;EACA;;;AAGF;EACE;EACA;;;AAGF;EAIE;EACA;;;AAGF;EAIE;EACA;;;AAGF;EAIE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAOA;AACA;EACC;EACG;EACA;EACA;EACH;EACG;EACA;EACA;EACA;EACA;EACH;EAGG;EACH;EAEG;EACA;EACA;;;AAGJ;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAIF;AACA;EACC;EACG;EACA;EACA;EACH;EACG;EACA;EACA;EACA;EACA;EACH;EAGG;EACH;EAEG;EACA;EACA;;;AAGJ;EACE;EACA;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAIF;AACA;EACC;EACG;EACA;EACA;EACH;EACG;EACA;EACA;EACA;EACH;EAGG;EACA;EACH;EAEG;EACA;EACA;;;AAGJ;EAIE;EACA;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAIF;AACA;EACC;EACG;EACA;EACA;EACH;EACG;EACA;EACA;EACA;EACH;EAGG;EACA;EACH;EAEG;EACA;EACA;;;AAGJ;EAIE;EACA;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAIF;AACA;EACC;EACG;EACA;EACA;EACH;EACG;EACA;EACA;EACA;EACH;EAGG;EACA;EACH;EAEG;EACA;EACA;;;AAGJ;EAIE;EACA;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAOA;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACI;EACA;EACA;;;AAGJ;AAAA;AAAA;AAAA;AAAA;AAOA;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACI;EACA;EACA;;;AAIJ;AAAA;EASE;EACA;EACA;;;AAIF;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACI;EACA;EACA;;;AAGJ;AAAA;AAAA;AAAA;AAAA;AAOA;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACI;EACA;EACA;;;AAGJ;AAAA;AAAA;AAAA;AAAA;AAOA;AAMA;AAMA;AAMA;AAMA;AAKA;AAAA;AAAA;AAAA;AAAA;AAOA;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACE;;;AAIF;AACA;EACC;;;AAID;AACA;EACC;;;AAGD;AAAA;AAAA;AAAA;AAAA;AAOA;AAEC;EAcC;;;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAcE;;;AC5tBJ;AAuNE;AAKA;AAMA;;AA3LE;AAAA;EAEE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;;AAGF;AAAA;EACE;EACA;;AAtGF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EAEE;EACA;EACA;EACA;;AAgFJ;AAAA;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;EACA;EACA;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;;AAIJ;AAAA;AAAA;AAAA;EAEE;;AA7JF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EAEE;EACA;EACA;EACA;;AA6IJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EAEA;;AAEA;EAEE;EACA;EACA;;AAGF;EAEE;EACA;EACA;;AAKJ;EACE;;AAKJ;EACE;;AAIF;EAEE;;AAIF;AAAA;EAEE;;;ACrOJ;EACE;EACA;EACA;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EAMA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AACA;EACE;;;AAIJ;EACE;IACE;IACA;;;AAKJ;EACE;;;AC5IF;AAAA;AAAA;AAAA;AAIA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;IACE;;;AAIJ;EACE;IACE;;;ACtBJ;EAKE;;;AAGF;AAAA;AAAA;AAIA;AACA;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AACA;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAIA;EACE;;;AAGF;EACE;;;AAGF;AAAA;AAAA;EAGE;EACA;;;AAGF;EACE;EACA;;;AAGF;EAEE;;;AAGF;EAGE;EACA;;;AAGF;EAGE;;;AAKA;EAEE;EACA;;;AC3FJ;EACE;;;AAIF;AAAA;AAAA;AAAA;AAAA;EAKE;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;EAIE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;EAIE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;AAEA;EACE;;AAGF;EACE;;;AAIJ;AAAA;EAEE;EACA;EACA;;AAEA;AAAA;EACE;;;AAIJ;EACE;;;AAYF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA,qBACE;EAEF;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;IACE;IACA;IACA;IACA;IACA;;EAGF;AAAA;AAAA;IAGE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;;EAGF;AAAA;IAEE;;EAGF;IACE;;EAGF;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;;;ACzVJ;AAAA;AAAA;AAAA;AAAA;AAYE;EACE;EACA;EACA;EACA;EACA;EACA;;AA0BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;;;AC9CN;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;ACfF;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;;ACDF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;ACzBF;AAAA;EAEE;;;AAIF;AAAA;EAEE;;;AAGF;AACA;AAAA;AAAA;AAAA;EAIE;;;AAIF;AAAA;EAEE;EACA;;;AAGF;AACA;EACE;;;AC7BF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;IACE;;EAEF;IACE;;;AAGJ;EACE;IACE;;EAEF;IACE;;;ACnDJ;EAEE;EAGA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAQA;AAAA;EACE;EACA;EACA;EACA;EACA;;;AAQF;AAAA;EACE;EACA;EACA;EACA;EACA;;;AAMN;AAAA;EAIE;;;AAGF;AAAA;EAIE;;;AAGF;AAAA;EAIE;;;AAGF;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAAA;EAQE;;;AAGF;AAAA;AAAA;AAAA;EASE;;;AAGF;AAAA;AAAA;AAAA;EAQE;;;AAGF;AAAA;AAAA;AAAA;EAQE;;;AAGF;AAAA;EAIE;;;ACvMF;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAIF;AAAA;EAEE;;;AAIF;EACE;;;AAQF;EACE;;;AC3BF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAKF;EACE;;AAGF;EACE;;AAGF;AAAA;EAEE;EACA;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAZF;IAaI;;;AAGF;EACE;EACA;;AACA;EAHF;IAII;IACA;;;AAIJ;EACE;EACA;EACA;;AACA;EAJF;IAKI;;;AAIJ;EACE;;AACA;EACE;;AAKF;EACE;;AAIJ;EACE;EACA;EACA;;AACA;EACE;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;;AAMR;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;;AAIJ;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAMJ;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EAEE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAKN;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;AAGA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAEF;EACE;;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EALF;IAMI;;;AAGF;EACE;;;AAIJ;EACE;IACE;;EAEF;IACE;;EAEF;IACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AC7WF;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAMJ;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;;;AAMR;EACE;;;AAKF;EACE;EACA;;;AAIF;AAAA;EAEE;EACA;;;AAIF;EACE;;AAEA;EACE;;;ACjFJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAIF;EACE;EACA;;AAIF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;;AAGF;EACE;EACA;;AAIF;EAEE;;AAIF;EAEE;;;AC5HJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AC3BJ;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EAdF;IAeI;;;AAIF;EACE;EACA;EACA;EACA;;AACA;EACE;;;AAMR;EACE;;AAEA;EACE;;AAGF;EACE;;;AC1CJ;EACE;;;AAIF;EACE;;;ACJF;EACE;;;AAKF;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAOF;AAAA;EAEE;EACA;EACA;;;AAMF;AAAA;EAEE;EACA;EACA;;AAEA;AAAA;EACE;;;AAIJ;EACE;;;AAGF;EACE;;;AASF;AAAA;AAAA;EAGE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AC7FF;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EAIA;EACA;EACA;EACA;;;ACfF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIA;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;;AACA;EALF;IAMI;;;AAGJ;EACE;;AACA;EAFF;IAGI;;;AAGJ;EACE;;AACA;EAFF;IAGI;;;;AC/DF;EACE;;AAIF;EAEE;;AAIA;AAAA;AAAA;AAAA;AAAA;EAKE;;AAGF;EACE;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;EAKE;;AAIJ;EACE;EACA;EACA;;AAKJ;EACE;;AAEA;EACE;EACA;;AAGF;EACE;;;ACnDJ;EACE;;AAIF;EACE;EACA;;AAIF;EACE;;AAIJ;EACE;IACE;;EACA;IACE;;;AAMN;EACE;;AAGF;EACE;;;AClCJ;EACE;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;AAAA;AAAA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAGJ;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;;;AAIN;EACE;IACE;;EAEF;IACE;;EAEF;IACE;;;ACpDJ;EAEE;;;ACFF;EACE;;AACA;EACE;;;AAGJ;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAGA;EACE;;;AAIN;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AACA;AAAA;EAEE;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;;;AAIN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AACA;EAEE;;AAEF;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;;AAGJ;EACE;;AAEF;EACE;;AAGJ;EACE;EACA;EACA;;;ACtGJ;EACE;;;ACDF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAKN;EACE;IACE;;;AAIJ;EACE;;;AC9BF;EAEE;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;EAGA;EACA;EACA;EACA;EAEA;AAAA;AAAA;EAGA;EACA;AAAA;AAAA;;;AAKF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;AACA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;ACzHE;AAAA;EAEE;;AAKF;AAAA;EAEE;;AAKF;EACE;;AAKF;EACE;;;ACvBN;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;AAGF;EACE;EACA;;AAGF;EACE;;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;;AAEA;AAAA;EACE;EACA;EACA;EACA;EACA;;;AC5CF;AAAA;EAEE;;AAIF;EACE;;AAIF;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAKA;AAAA;EACE;;AAGF;AAAA;EACE;;AAIJ;EACE;;;AAKF;EACE;;;AC7CF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIN;EACE;;;AAEF;EACE;EACA;;AACA;EACE;;AAEF;EACE;;;ArDgCJ;AACA;AsDjCA;EAIE;EACA;EAGA;EACA;EAGA;EACA;EACA;EAIA;EACA;EAGA;EACA;EAEA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;;;AAQF;EACE;EACA;EACA;;AAGA;EACE;EACA;;AAGA;EACE;;AAGA;EACE;;;AASR;EACE;;;AAIF;EAGE;;;AAIF;EACE;EACA;EACA;;;AAKF;EAGE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAQA;AACA;AAAA;AAAA;AAGE;EACA,uBACA;;;AAQF;AACA;AAAA;AAEE;EACA,oBACA;;;AAyBF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAKF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAIF;EACE;;;AAKF;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAiBA;EACE;;;AAMF;EACE;;;AAQF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQE;;;AAKA;EACE;;AADF;EACE;;;AAgBJ;EACE;;;AAGF;AAAA;EAEE;;;AAaF;EACE;;;AAIF;EACE;;;AAQA;AAAA;EAEE;;AAGF;AAAA;AAAA;AAAA;EAIE;;AAGF;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAUE;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQE;;AAGF;EACE;;AAIF;EACE;;;AAYJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EA6CE;;;AC3lBF;AAAA;AAAA;AAAA;AAAA;AAOE;EACE;;AAEF;EACE;;;AAGJ;EACE;EACA;EAGA;EAEA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAIA;EACA;EACA;EACA;AAEA;;AACA;AAAA;EAEE,uBACA;;AAUF;AAAA;AAAA;EAGE;;AAEF;EACE;;AAEF;EACE;;;ACpHJ;AAAA;AAAA;AAAA;AAAA;AAuBE;EADF;AAEI;;EACA;AAAA;IAEE,uBACA;;EAUF;IACE,uBACE;;EA0BJ;AAAA;IAEE,oBACE;;EAuBJ;IACE;;EhDsEF;IACE;;;AgDjEJ;EhDSA;AAAA;IAEE;;EAeE;AAAA;IACE;;EAGF;AAAA;IACE;IACA;;EAEA;AAAA;AAAA;AAAA;IAEE;IACA;IACA;IACA;IACA;IACA;;EAIF;AAAA;IACE;;EAGA;AAAA;IACE;;EAIJ;AAAA;IACE;;ECtIR;IACE;;EAIF;IAGE;;EAEA;IACE;IACA;;E8C2FA;AAAA;IAEE;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EDyUJ;IACE;;;;AG/dN;AAAA;AAAA;AAAA;AAAA;AA6BE;EADF;AAEI;;EACA;AAAA;IAEE,uBACA;;EAUF;IACE,uBACE;;EA0BJ;AAAA;IAEE,oBACE;;EAuBJ;IACE;;EAIA;AAAA;AAAA;AAAA;IAIE;;EAGF;AAAA;AAAA;IAGE;;EAGF;IACE;;EAIF;IACE;;EAOA;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAGF;IACE;;EAOJ;AAAA;IAEE;;EjDcJ;IACE;;;AiDRJ;EjDhDA;AAAA;IAEE;;EAeE;AAAA;IACE;;EAGF;AAAA;IACE;IACA;;EAEA;AAAA;AAAA;AAAA;IAEE;IACA;IACA;IACA;IACA;IACA;;EAIF;AAAA;IACE;;EAGA;AAAA;IACE;;EAIJ;AAAA;IACE;;ECtIR;IACE;;EAIF;IAGE;;EAEA;IACE;IACA;;E8C2FA;AAAA;IAEE;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;;;AGrJR;AAAA;AAAA;AAAA;AAAA;AAkBE;EADF;AAEI;;EACA;AAAA;IAEE,uBACA;;EAUF;IACE,uBACE;;EAuBJ;IACE;;ElDwGF;IACE;;;AkDnGJ;ElD2CA;AAAA;IAEE;;EAeE;AAAA;IACE;;EAGF;AAAA;IACE;IACA;;EAEA;AAAA;AAAA;AAAA;IAEE;IACA;IACA;IACA;IACA;IACA;;EAIF;AAAA;IACE;;EAGA;AAAA;IACE;;EAIJ;AAAA;IACE;;ECtIR;IACE;;EAIF;IAGE;;EAEA;IACE;IACA;;E8C2FA;AAAA;IAEE;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EDyUJ;IACE;;;;AK/dN;AAAA;AAAA;AAAA;AAAA;AAiBA;EACE;AACE;;EACA;AAAA;IAEE,uBACA;;EAUF;IACE,uBACE;;EAoBJ;IACE;;EnD2GF;IACE;;;AmDtGJ;EnD8CA;AAAA;IAEE;;EAeE;AAAA;IACE;;EAGF;AAAA;IACE;IACA;;EAEA;AAAA;AAAA;AAAA;IAEE;IACA;IACA;IACA;IACA;IACA;;EAIF;AAAA;IACE;;EAGA;AAAA;IACE;;EAIJ;AAAA;IACE;;ECtIR;IACE;;EAIF;IAGE;;EAEA;IACE;IACA;;E6C8bF;IACE;;;AM/dN;AAAA;AAAA;AAAA;AAAA;AAYE;EADF;AAEI;;EACA;AAAA;IAEE,uBACA;;EAUF;IACE,uBACE;;EAeJ;IACE;;EpDsHF;IACE;;;AoDjHJ;EpDyDA;AAAA;IAEE;;EAeE;AAAA;IACE;;EAGF;AAAA;IACE;IACA;;EAEA;AAAA;AAAA;AAAA;IAEE;IACA;IACA;IACA;IACA;IACA;;EAIF;AAAA;IACE;;EAGA;AAAA;IACE;;EAIJ;AAAA;IACE;;ECtIR;IACE;;EAIF;IAGE;;EAEA;IACE;IACA;;E8C2FA;AAAA;IAEE;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EDyUJ;IACE;;;;AO/dN;AAAA;AAAA;AAAA;AAAA;AAaE;EADF;AAEI;;EACA;AAAA;IAEE,uBACA;;EAUF;IACE,uBACE;;EAeJ;IACE;;ErDqHF;IACE;;;AqDhHJ;ErDwDA;AAAA;IAEE;;EAeE;AAAA;IACE;;EAGF;AAAA;IACE;IACA;;EAEA;AAAA;AAAA;AAAA;IAEE;IACA;IACA;IACA;IACA;IACA;;EAIF;AAAA;IACE;;EAGA;AAAA;IACE;;EAIJ;AAAA;IACE;;ECtIR;IACE;;EAIF;IAGE;;EAEA;IACE;IACA;;E8C2FA;AAAA;IAEE;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EDyUJ;IACE;;;;AtDvZN;A8DpEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAEE;EAGE;;AACA;EACE;;AAIJ;EAGE;;AAyCA;EACE;;AAEA;EACE;EACA;EACA;EACA;;AAMN;EAIE;EACA;;AAIA;EA3DA;IACE;IACA;IACA;IACA;IAGA;;EAIF;AAAA;AAAA;AAAA;IAYE;;EAIF;IACE;;EAEA;IACE;;;AAkCJ;EAjEA;IACE;IACA;IACA;IACA;IAGA;;EAIF;AAAA;AAAA;AAAA;IAYE;;EAIF;IACE;;EAEA;IACE;;;AAwCJ;EAvEA;IACE;IACA;IACA;IACA;IAGA;;EAIF;AAAA;AAAA;AAAA;IAYE;;EAIF;IACE;;EAEA;IACE;;;AA/BJ;EACE;EACA;EACA;EACA;EAGA;;AAIF;AAAA;AAAA;AAAA;EAYE;;AAIF;EACE;;AAEA;EACE;;AA/BJ;EACE;EACA;EACA;EACA;EAGA;;AAIF;AAAA;AAAA;AAAA;EAYE;;AAIF;EACE;;AAEA;EACE;;AA4DJ;EA3FA;IACE;IACA;IACA;IACA;IAGA;;EAIF;AAAA;AAAA;AAAA;IAYE;;EAIF;IACE;;EAEA;IACE;;;AAgEJ;EAEI;IACE;IACA;IACA;IACA;;EAEA;IACE;IACA;IACA;;EAGF;IACE;IACA;IACA;;;AAMR;EACE;;AAKJ;EACE;;AAMF;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKJ;EACE;;AAKA;EACE;;AAIF;EACE;;AAIF;AAAA;EAEE;;AAIF;AAAA;AAAA;EAGE;;AAIF;EACE;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKJ;EAGE;;AAIF;EACE;;;A9DtKJ;A+D3EA;EAAmD;;;AAAU;EAAkB;;;AAA6B;EAAW;EAAkB;EAAsB;EAAW;EAAkB;EAAe;EAAgB;EAAmB;EAAU;;;AAAiD;EAA6C;;;AAAS;EAAoD;EAAY;EAAO;EAAuB;EAAyB;;;AAA4B;EAAgD;;;AAAM;EAAuD;EAAS;EAAO;EAAuB;EAA4B;;;AAA+B;EAA8C;;;AAAQ;EAAqD;EAA2B;EAA0B;EAAW;;;AAA6B;EAA+C;;;AAAO;EAAsD;EAAU;EAA2B;EAA2B;;;AAA8B;EAA6C;;;AAA0D;EAAa;EAAW;EAAY;;;AAAW;EAAoB;EAAW;EAAkB;EAAyB;;;AAAmB;EAAe;EAAkB;EAAgB;;;A/D8Ev3C;AACA;AgE/EA;AAAA;AAAA;AAAA;AAAA;AAMA;EACE;;;AAKA;EACE;;;AAMF;EACE;;AAGF;EACE;;AAGF;EACE;;;AAMF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAGF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAGF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAGF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAGF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAGF;EACE;;AAEF;EACE;;AAGF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAGF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAGF;EACE;;AACA;EACE;;;AAMN;EACE;;;AAGF;EA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","file":"main.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../src/main.scss","../src/_engrid-scss-functions.scss","../node_modules/sanitize.css/sanitize.css","../src/_engrid-enpage-overrides.scss","../src/_engrid-typography.scss","../src/_engrid-fields.scss","../src/_engrid-apple-pay.scss","../src/_engrid-autofill.scss","../src/_engrid-background-image.scss","../src/_engrid-banner-image.scss","../src/_engrid-body.scss","../src/_engrid-buttons.scss","../src/_engrid-click-to-call.scss","../src/_engrid-click-to-expand.scss","../src/_engrid-colors.scss","../src/_engrid-columns.scss","../src/_engrid-components-layout.scss","../src/_engrid-deprecated.scss","../src/_engrid-digital-wallets.scss","../src/_engrid-donations.scss","../src/_engrid-double-the-donation.scss","../src/_engrid-ecards.scss","../src/_engrid-ellipsis-animation.scss","../src/_engrid-errors.scss","../src/_engrid-events.scss","../src/_engrid-fancy-errors.scss","../src/_engrid-flip.scss","../src/_engrid-grayscale.scss","../src/_engrid-highlight.scss","../src/_engrid-letter-to-target.scss","../src/_engrid-loading-animations.scss","../src/_engrid-media-attribution.scss","../src/_engrid-media.scss","../src/_engrid-modal.scss","../src/_engrid-neverbounce.scss","../src/_engrid-premiums.scss","../src/_engrid-skip-link.scss","../src/_engrid-social-share.scss","../src/_engrid-thermometer.scss","../src/_engrid-tweet-to-target.scss","../src/_engrid-utilities.scss","../src/_engrid-progress-bar.scss","../src/_engrid-show-if-amount.scss","../src/_engrid-supporter-hub.scss","../src/_engrid-ticker.scss","../src/_engrid-data-replace.scss","../src/_engrid-tidycontact.scss","../src/_engrid-event-tickets.scss","../src/_engrid-mobile-cta.scss","../src/_engrid-exit-intent-lightbox.scss","../src/_engrid-fast-form-fill.scss","../src/_engrid-welcome-back.scss","../src/_engrid-embedded-ecard.scss","../src/_engrid-checkbox-label.scss","../src/layouts/_engrid-layout.scss","../src/layouts/_engrid-layout-embedded.scss","../src/layouts/_engrid-layout-centercenter1col.scss","../src/layouts/_engrid-layout-centercenter2col.scss","../src/layouts/_engrid-layout-centerleft1col.scss","../src/layouts/_engrid-layout-centerright1col.scss","../src/layouts/_engrid-layout-leftleft1col.scss","../src/layouts/_engrid-layout-rightright1col.scss","../src/themes/_engrid-theme-flex2.scss","../node_modules/tippy.js/dist/tippy.css","../src/_engrid-debug.scss","../src/_engrid-page-builder.scss"],"names":[],"mappings":"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;;AAGF;EACE;EACA;;;AAGF;EAEE;;;AAGF;EACE;EACA;EAEA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;EAIE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAWF;AAAA;EAIE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EAIE;EACA;;;AAMF;EAGE;EAIA;;;AAGF;EAEE;EAEA;EACA;;;AAIF;EACE;;;AAGF;EAGE;EACA;EACA;EAGA;;;AAGF;EACE;EACA;EACA;EACA;;;AASF;EACE;;;AAIF;EACE;;;AAIF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAOF;EACE;;;AAGF;EAEE;;;AAOF;EACE;EAGA;EACA;EAEA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;;;AAuBF;EACE;;;AAGF;EACE;EAEA;;;AAQF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EAEE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAQF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAgBF;EAEE;;;AAmCF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAQF;EACE;EACA;;;AAGF;EAGE;EACA;EACA;;;AA2BF;AAAA;EAEE;;;AAsBF;EACE;;;AAGF;EAGE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EAEE;;;AAGF;EACE;EACA;EACA;EAEA;EACA;EACA;;;AAOF;EACE;EACA;;;AAIF;EACE;;;AAGF;EAEE;EACA;;;AAuBF;EAEE;EACA;EACA;;;AAUF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAUF;EACE;;;AASF;EACE;EACA;EAGA;;;AAwBF;AAAA;EAEE;;;AA0BF;E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BF;EACE;EACA;;;AAOF;EAGE;EAEA;;;AAGF;EAGE;EACA;EACA;;;AAGF;EACE;EAOA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;EAEA;;;AAGF;EAEE;EACA;EACA;;;AAGF;EAME;EAGA;;;AAGF;EACE;EACA;;;AAIF;EAEE;;;AAmBF;EACE;;;AAGF;EAEE;;;AAGF;EAGE;;;AAGF;EACE;;;AAQF;EAGE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAuBF;EAEE;;;AAGF;EACE;EAGA;;;AAKF;EAEE;EAEA;;;AAGF;EAEE;EAEA;EAGA;;;AAGF;AAAA;EAEE;;;AAGF;EAEE;EACA;EAEA;EAEA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EAEA;EACA;;;AASF;EAEE;EAGA;;;AAGF;EAEE;EAGA;;;AAGF;EACE;;;AAGF;EAEE;;;AAGF;EAEE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EAEE;;;AAGF;EAEE;;;AASF;EAGE;;;AAGF;EACE;EACA;;;AC3xFF;EAEE;AAAA;EAIA;EAEA;EACA;EACA;EAGA;EAEA;EACA;EACA;EACA;EAGA;EAEA;EACA;EACA;EACA;EAGA;EAEA;EACA;EACA;EACA;EAGA;EAEA;EACA;EACA;EACA;EAGA;EAEA;EACA;EACA;EACA;EAGA;EAEA;EACA;EACA;EACA;EAGA;EAEA;EACA;EACA;EAGA;EAEA;EAKA;;;AAOF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EAEE;EACA;;;ACvKJ;EAEE;EACA;EAGA;EAEA;EACA;EACA;EACA;EACA;EAGA;EAEA;EACA;EACA;EAEA;EAEA;EAEA;EACA;EACA;EACA;EAQA;EAGA;EAGA;EAEA;EACA;EACA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;EACA;EACA;EACA;EAOA;EAMA;EAKA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EASA;EAMA;EAEA;EACA;EACA;EAEA;EAEA;EAEA;EACA;EACA;EACA;EACA;EAQA;EAGA;EAEA;EACA;EACA;EAEA;EAEA;EAEA;EACA;EACA;EAQA;;;AAGF;AAAA;AAAA;AAAA;AAMA;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;AAkGA;AACA;AA4BA;AACA;AACA;;AA9HA;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;EACE;EACA;EACA;EACA;EACA;;AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;;AAGF;AAAA;AAAA;EACE;EACA;EACA;;AAGA;AAAA;AAAA;EACE;EACA;;AAGA;AAAA;AAAA;EACE;EACA;EACA;;AAKJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EASE;EACA;;AAGA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;EACA;;AAQJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAIE;EACA;;AAMF;AAAA;AAAA;EACE;EACA;;AAGA;AAAA;AAAA;EACE;EACA;;AAcN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;;;AASF;AAAA;AAAA;AAAA;AAAA;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;EACE;AAOA;;AALA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAIF;AAAA;AAAA;AAAA;AAAA;EACE;;;AAMR;AAAA;AAAA;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;AAAA;AAAA;AAAA;AAIA;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EAEE;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;AACA;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;AAEA;;AACA;EARF;IASI;;;AAGJ;EACE;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;;AAKJ;EACE;EACA;EACA;EACA;;;AAOF;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIE;EACE;EACA;EACA;EACA;EAIA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EAKA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;;AAIJ;EAEE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;;;AAIJ;AAAA;AAAA;AAIE;EACE;EACA;EACA;EACA;EACA;EAIA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EAKA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EAEE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;;;AAKJ;AAAA;AAAA;AAAA;AAAA;AAMA;EACE;EACA;EACA;EACA;EACA;;AAKA;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;;AAGF;EAEE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;;;AAKJ;AAAA;AAAA;AAAA;AAAA;AAMA;EACE;EAEA;EACA;EACA;EACA;EACA;;AAIA;EAEE;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;;AAKF;EAEE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;;;AAIJ;EACE;;;AAIF;EACE;IACE;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;;EACA;IACE;;;AAKN;AAAA;AAAA;AAIA;AACA;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;EAGE;EACA;;;AAKF;AAAA;EAEE;EACA;;;AAGF;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;EACA;EACA;EAEA;;;AAKJ;AAAA;AAAA;AAGA;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAC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;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;EAKE;;;AAGF;AAAA;EAEE;EACA;EACA;;;ACxKA;EACE;EACA;EACA;;AAEA;EACE;;AACA;EACE;;AAGJ;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAIF;EACE;;AAKF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;IACE;;EAGF;IACE;;;;AClDR;EAEE;EACA;EACA;EACA;;;AAIF;EAIE;;;AAGF;EACE;EACA;EACA;;AAKA;EACE;EAIA;;AAQF;EACE;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKF;EACE;;;ACzDJ;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAIA;EACA;EACA;EAIA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;EAGA;EAGA;EACA;AAAA;AAAA;EAGA;EACA;EACA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;EACA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;EACA;EACA;EACA;EACA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;EACA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;EACA;EACA;EACA;EACA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;EACA;AAAA;AAAA;EAGA;AAAA;AAAA;EAGA;EACA;EACA;EACA;EACA;AAAA;AAAA;EAGA;EACA;EACA;AAAA;AAAA;EA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EACA;EACA;EAaA;;;AAmBF;AAAA;AAAA;AAAA;EAIE;;;AAGF;EAGE;;;AAGF;EAGE;;;AAIF;AACA;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAGD;AAAA;AAAA;AAAA;AAAA;EAqBE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;EAgBE;EACA;;;AAGF;EAIE;EACA;;;AAGF;EACE;EACA;;;AAGF;EAIE;EACA;;;AAGF;EAIE;EACA;;;AAGF;EAIE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAOA;AACA;EACC;EACG;EACA;EACA;EACH;EACG;EACA;EACA;EACA;EACA;EACH;EAGG;EACH;EAEG;EACA;EACA;;;AAGJ;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAIF;AACA;EACC;EACG;EACA;EACA;EACH;EACG;EACA;EACA;EACA;EACA;EACH;EAGG;EACH;EAEG;EACA;EACA;;;AAGJ;EACE;EACA;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAIF;AACA;EACC;EACG;EACA;EACA;EACH;EACG;EACA;EACA;EACA;EACH;EAGG;EACA;EACH;EAEG;EACA;EACA;;;AAGJ;EAIE;EACA;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAIF;AACA;EACC;EACG;EACA;EACA;EACH;EACG;EACA;EACA;EACA;EACH;EAGG;EACA;EACH;EAEG;EACA;EACA;;;AAGJ;EAIE;EACA;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAIF;AACA;EACC;EACG;EACA;EACA;EACH;EACG;EACA;EACA;EACA;EACH;EAGG;EACA;EACH;EAEG;EACA;EACA;;;AAGJ;EAIE;EACA;;;AAGF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAOA;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACI;EACA;EACA;;;AAGJ;AAAA;AAAA;AAAA;AAAA;AAOA;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACI;EACA;EACA;;;AAIJ;AAAA;EASE;EACA;EACA;;;AAIF;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACI;EACA;EACA;;;AAGJ;AAAA;AAAA;AAAA;AAAA;AAOA;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACI;EACA;EACA;;;AAGJ;AAAA;AAAA;AAAA;AAAA;AAOA;AAMA;AAMA;AAMA;AAMA;AAKA;AAAA;AAAA;AAAA;AAAA;AAOA;AACA;EACI;EACA;EACA;;;AAIJ;AACA;EACE;;;AAIF;AACA;EACC;;;AAID;AACA;EACC;;;AAGD;AAAA;AAAA;AAAA;AAAA;AAOA;AAEC;EAcC;;;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAcE;;;AC5tBJ;AAuNE;AAKA;AAMA;;AA3LE;AAAA;EAEE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;;AAGF;AAAA;EACE;EACA;;AAtGF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EAEE;EACA;EACA;EACA;;AAgFJ;AAAA;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;EACA;EACA;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;;AAIJ;AAAA;AAAA;AAAA;EAEE;;AA7JF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EAEE;EACA;EACA;EACA;;AA6IJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EAEA;;AAEA;EAEE;EACA;EACA;;AAGF;EAEE;EACA;EACA;;AAKJ;EACE;;AAKJ;EACE;;AAIF;EAEE;;AAIF;AAAA;EAEE;;;ACrOJ;EACE;EACA;EACA;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EAMA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AACA;EACE;;;AAIJ;EACE;IACE;IACA;;;AAKJ;EACE;;;AC5IF;AAAA;AAAA;AAAA;AAIA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;IACE;;;AAIJ;EACE;IACE;;;ACtBJ;EAKE;;;AAGF;AAAA;AAAA;AAIA;AACA;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AACA;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAIA;EACE;;;AAGF;EACE;;;AAGF;AAAA;AAAA;EAGE;EACA;;;AAGF;EACE;EACA;;;AAGF;EAEE;;;AAGF;EAGE;EACA;;;AAGF;EAGE;;;AAKA;EAEE;EACA;;;AC3FJ;EACE;;;AAIF;AAAA;AAAA;AAAA;AAAA;EAKE;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;EAIE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;EAIE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;AAEA;EACE;;AAGF;EACE;;;AAIJ;AAAA;EAEE;EACA;EACA;;AAEA;AAAA;EACE;;;AAIJ;EACE;;;AAYF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA,qBACE;EAEF;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;IACE;IACA;IACA;IACA;IACA;;EAGF;AAAA;AAAA;IAGE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;;EAGF;AAAA;IAEE;;EAGF;IACE;;EAGF;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;;;ACzVJ;AAAA;AAAA;AAAA;AAAA;AAYE;EACE;EACA;EACA;EACA;EACA;EACA;;AA0BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;;;AC9CN;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;ACfF;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;;ACDF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;ACzBF;AAAA;EAEE;;;AAIF;AAAA;EAEE;;;AAGF;AACA;AAAA;AAAA;AAAA;EAIE;;;AAIF;AAAA;EAEE;EACA;;;AAGF;AACA;EACE;;;AC7BF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;IACE;;EAEF;IACE;;;AAGJ;EACE;IACE;;EAEF;IACE;;;ACnDJ;EAEE;EAGA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAQA;AAAA;EACE;EACA;EACA;EACA;EACA;;;AAQF;AAAA;EACE;EACA;EACA;EACA;EACA;;;AAMN;AAAA;EAIE;;;AAGF;AAAA;EAIE;;;AAGF;AAAA;EAIE;;;AAGF;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAAA;EAQE;;;AAGF;AAAA;AAAA;AAAA;EASE;;;AAGF;AAAA;AAAA;AAAA;EAQE;;;AAGF;AAAA;AAAA;AAAA;EAQE;;;AAGF;AAAA;EAIE;;;ACvMF;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAIF;AAAA;EAEE;;;AAIF;EACE;;;AAQF;EACE;;;AC3BF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAKF;EACE;;AAGF;EACE;;AAGF;AAAA;EAEE;EACA;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAZF;IAaI;;;AAGF;EACE;EACA;;AACA;EAHF;IAII;IACA;;;AAIJ;EACE;EACA;EACA;;AACA;EAJF;IAKI;;;AAIJ;EACE;;AACA;EACE;;AAKF;EACE;;AAIJ;EACE;EACA;EACA;;AACA;EACE;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;;AAMR;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;;AAIJ;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAMJ;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EAEE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAKN;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;AAGA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAEF;EACE;;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EALF;IAMI;;;AAGF;EACE;;;AAIJ;EACE;IACE;;EAEF;IACE;;EAEF;IACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AC7WF;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAMJ;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;;;AAMR;EACE;;;AAKF;EACE;EACA;;;AAIF;AAAA;EAEE;EACA;;;AAIF;EACE;;AAEA;EACE;;;ACjFJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAIF;EACE;EACA;;AAIF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;;AAGF;EACE;EACA;;AAIF;EAEE;;AAIF;EAEE;;;AC5HJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AC3BJ;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EAdF;IAeI;;;AAIF;EACE;EACA;EACA;EACA;;AACA;EACE;;;AAMR;EACE;;AAEA;EACE;;AAGF;EACE;;;AC1CJ;EACE;;;AAIF;EACE;;;ACJF;EACE;;;AAKF;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAOF;AAAA;EAEE;EACA;EACA;;;AAMF;AAAA;EAEE;EACA;EACA;;AAEA;AAAA;EACE;;;AAIJ;EACE;;;AAGF;EACE;;;AASF;AAAA;AAAA;EAGE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AC7FF;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EAIA;EACA;EACA;EACA;;;ACfF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIA;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;;AACA;EALF;IAMI;;;AAGJ;EACE;;AACA;EAFF;IAGI;;;AAGJ;EACE;;AACA;EAFF;IAGI;;;;AC/DF;EACE;;AAIF;EAEE;;AAIA;AAAA;AAAA;AAAA;AAAA;EAKE;;AAGF;EACE;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;EAKE;;AAIJ;EACE;EACA;EACA;;AAKJ;EACE;;AAEA;EACE;EACA;;AAGF;EACE;;;ACnDJ;EACE;;AAIF;EACE;EACA;;AAIF;EACE;;AAIJ;EACE;IACE;;EACA;IACE;;;AAMN;EACE;;AAGF;EACE;;;AClCJ;EACE;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;AAAA;AAAA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAGJ;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;;;AAIN;EACE;IACE;;EAEF;IACE;;EAEF;IACE;;;ACpDJ;EAEE;;;ACFF;EACE;;AACA;EACE;;;AAGJ;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAGA;EACE;;;AAIN;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AACA;AAAA;EAEE;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;;;AAIN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AACA;EAEE;;AAEF;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;;AAGJ;EACE;;AAEF;EACE;;AAGJ;EACE;EACA;EACA;;;ACtGJ;EACE;;;ACDF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAKN;EACE;IACE;;;AAIJ;EACE;;;AC9BF;EAEE;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;EAGA;EACA;EACA;EACA;EAEA;AAAA;AAAA;EAGA;EACA;AAAA;AAAA;;;AAKF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;AACA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;ACzHE;AAAA;EAEE;;AAKF;AAAA;EAEE;;AAKF;EACE;;AAKF;EACE;;;ACvBN;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;AAGF;EACE;EACA;;AAGF;EACE;;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;;AAEA;AAAA;EACE;EACA;EACA;EACA;EACA;;;AC5CF;AAAA;EAEE;;AAIF;EACE;;AAIF;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAKA;AAAA;EACE;;AAGF;AAAA;EACE;;AAIJ;EACE;;;AAKF;EACE;;;AC7CF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIN;EACE;;;AAEF;EACE;EACA;;AACA;EACE;;AAEF;EACE;;;ArDgCJ;AACA;AsDjCA;EAIE;EACA;EAGA;EACA;EAGA;EACA;EACA;EAIA;EACA;EAGA;EACA;EAEA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;;;AAQF;EACE;EACA;EACA;;AAGA;EACE;EACA;;AAGA;EACE;;AAGA;EACE;;;AASR;EACE;;;AAIF;EAGE;;;AAIF;EACE;EACA;EACA;;;AAKF;EAGE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAQA;AACA;AAAA;AAAA;AAGE;EACA,uBACA;;;AAQF;AACA;AAAA;AAEE;EACA,oBACA;;;AAyBF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAKF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAIF;EACE;;;AAKF;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAiBA;EACE;;;AAMF;EACE;;;AAQF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQE;;;AAKA;EACE;;AADF;EACE;;;AAgBJ;EACE;;;AAGF;AAAA;EAEE;;;AAaF;EACE;;;AAIF;EACE;;;AAQA;AAAA;EAEE;;AAGF;AAAA;AAAA;AAAA;EAIE;;AAGF;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAA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AAMA;EACE;;;AAKA;EACE;;;AAMF;EACE;;AAGF;EACE;;AAGF;EACE;;;AAMF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAGF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAGF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAGF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAGF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAGF;EACE;;AAEF;EACE;;AAGF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAGF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAGF;EACE;;AACA;EACE;;;AAMN;EACE;;;AAGF;EA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","file":"main.css"} \ No newline at end of file diff --git a/packages/styles/src/_engrid-digital-wallets.scss b/packages/styles/src/_engrid-digital-wallets.scss index d6aa5751..3658a946 100644 --- a/packages/styles/src/_engrid-digital-wallets.scss +++ b/packages/styles/src/_engrid-digital-wallets.scss @@ -50,6 +50,7 @@ &:not(#en__pagebuilder):not([data-engrid-debug])[data-conditonally-hide-show-digital-wallet-elements]{ // Show If + &:not([data-engrid-payment-type-option-stripedigitalwallet="true"]) .showif-stripedigitalwallet-available, &:not([data-engrid-payment-type-option-apple-pay="true"]) .showif-apple-pay-available, &:not([data-engrid-payment-type-option-google-pay="true"]) .showif-google-pay-available, &:not([data-engrid-payment-type-option-paypal-one-touch="true"]) .showif-paypal-one-touch-available, From 32e28716582c946063eac4396d37b4185ef68ad8 Mon Sep 17 00:00:00 2001 From: Fernando Santos Date: Wed, 29 Oct 2025 15:39:56 -0400 Subject: [PATCH 4/4] PreferredPaymentMethod: Syncing GiveBySelect User Choice with Field Value --- .../dist/preferred-payment-method.d.ts | 5 ++ .../scripts/dist/preferred-payment-method.js | 47 ++++++++++++++--- .../scripts/src/preferred-payment-method.ts | 50 +++++++++++++++++-- 3 files changed, 91 insertions(+), 11 deletions(-) diff --git a/packages/scripts/dist/preferred-payment-method.d.ts b/packages/scripts/dist/preferred-payment-method.d.ts index bd6c9e79..ed162f0b 100644 --- a/packages/scripts/dist/preferred-payment-method.d.ts +++ b/packages/scripts/dist/preferred-payment-method.d.ts @@ -3,11 +3,16 @@ export declare class PreferredPaymentMethod { private readonly availabilityTimeoutMs; private cleanupHandlers; private selectionFinalized; + private listenersAttached; private config; + private preferredFieldName; constructor(); private shouldRun; private resolveConfig; private buildCandidateList; + private hasPreferredField; + private attachGiveBySelectListeners; + private syncPreferredField; private getFieldPreference; private getUrlPreference; private tryCandidateAtIndex; diff --git a/packages/scripts/dist/preferred-payment-method.js b/packages/scripts/dist/preferred-payment-method.js index 3731ca2f..d8869a1e 100644 --- a/packages/scripts/dist/preferred-payment-method.js +++ b/packages/scripts/dist/preferred-payment-method.js @@ -1,14 +1,18 @@ import { ENGrid, EngridLogger } from "."; export class PreferredPaymentMethod { constructor() { + var _a; this.logger = new EngridLogger("PreferredPaymentMethod", "#ffffff", "#1f2933", "⭐️"); this.availabilityTimeoutMs = 4000; this.cleanupHandlers = []; this.selectionFinalized = false; + this.listenersAttached = false; this.config = this.resolveConfig(); + this.preferredFieldName = ((_a = this.config.preferredPaymentMethodField) === null || _a === void 0 ? void 0 : _a.trim()) || ""; if (!this.shouldRun()) { return; } + this.attachGiveBySelectListeners(); const candidates = this.buildCandidateList(); if (candidates.length === 0) { this.logger.log("No payment methods to evaluate. Skipping."); @@ -67,18 +71,48 @@ export class PreferredPaymentMethod { this.config.defaultPaymentMethod.forEach(pushCandidate); return candidates; } + hasPreferredField() { + if (!this.preferredFieldName) + return false; + const field = ENGrid.getField(this.preferredFieldName); + return !!field; + } + attachGiveBySelectListeners() { + if (this.listenersAttached) + return; + if (!this.preferredFieldName) + return; + if (!this.hasPreferredField()) { + this.logger.log(`Preferred payment field "${this.preferredFieldName}" not found. Field sync disabled.`); + return; + } + const inputs = this.getGiveBySelectInputs(); + inputs.forEach((input) => { + input.addEventListener("change", () => { + if (input.checked) { + this.syncPreferredField(input.value); + } + }); + }); + this.listenersAttached = true; + } + syncPreferredField(value) { + if (!this.preferredFieldName) + return; + if (!this.hasPreferredField()) + return; + ENGrid.setFieldValue(this.preferredFieldName, value, false, true); + } getFieldPreference() { - var _a; - const fieldName = (_a = this.config.preferredPaymentMethodField) === null || _a === void 0 ? void 0 : _a.trim(); - if (!fieldName) { + if (!this.preferredFieldName) { return null; } - const fieldValue = ENGrid.getFieldValue(fieldName); + const fieldValue = ENGrid.getFieldValue(this.preferredFieldName); if (!fieldValue) { - this.logger.log(`Preferred payment field "${fieldName}" is empty. Moving on.`); + this.logger.log(`Preferred payment field "${this.preferredFieldName}" is empty. Moving on.`); return null; } - this.logger.log(`Preferred payment from field "${fieldName}" resolved to "${fieldValue}".`); + this.logger.log(`Preferred payment from field "${this.preferredFieldName}" resolved to "${fieldValue}".`); return fieldValue; } getUrlPreference() { @@ -187,6 +221,7 @@ export class PreferredPaymentMethod { input.dispatchEvent(new Event("change", { bubbles: true, cancelable: true })); } ENGrid.setPaymentType(method); + this.syncPreferredField(input.value); this.selectionFinalized = true; this.cleanupAllObservers(); } diff --git a/packages/scripts/src/preferred-payment-method.ts b/packages/scripts/src/preferred-payment-method.ts index 99a90c1d..a0b4a323 100644 --- a/packages/scripts/src/preferred-payment-method.ts +++ b/packages/scripts/src/preferred-payment-method.ts @@ -16,14 +16,19 @@ export class PreferredPaymentMethod { private readonly availabilityTimeoutMs = 4000; private cleanupHandlers: Array<() => void> = []; private selectionFinalized = false; + private listenersAttached = false; private config: PreferredPaymentMethodConfig = this.resolveConfig(); + private preferredFieldName = + this.config.preferredPaymentMethodField?.trim() || ""; constructor() { if (!this.shouldRun()) { return; } + this.attachGiveBySelectListeners(); + const candidates = this.buildCandidateList(); if (candidates.length === 0) { this.logger.log("No payment methods to evaluate. Skipping."); @@ -97,20 +102,54 @@ export class PreferredPaymentMethod { return candidates; } + private hasPreferredField(): boolean { + if (!this.preferredFieldName) return false; + const field = ENGrid.getField(this.preferredFieldName); + return !!field; + } + + private attachGiveBySelectListeners() { + if (this.listenersAttached) return; + if (!this.preferredFieldName) return; + + if (!this.hasPreferredField()) { + this.logger.log( + `Preferred payment field "${this.preferredFieldName}" not found. Field sync disabled.` + ); + return; + } + + const inputs = this.getGiveBySelectInputs(); + inputs.forEach((input) => { + input.addEventListener("change", () => { + if (input.checked) { + this.syncPreferredField(input.value); + } + }); + }); + + this.listenersAttached = true; + } + + private syncPreferredField(value: string) { + if (!this.preferredFieldName) return; + if (!this.hasPreferredField()) return; + ENGrid.setFieldValue(this.preferredFieldName, value, false, true); + } + private getFieldPreference(): string | null { - const fieldName = this.config.preferredPaymentMethodField?.trim(); - if (!fieldName) { + if (!this.preferredFieldName) { return null; } - const fieldValue = ENGrid.getFieldValue(fieldName); + const fieldValue = ENGrid.getFieldValue(this.preferredFieldName); if (!fieldValue) { this.logger.log( - `Preferred payment field "${fieldName}" is empty. Moving on.` + `Preferred payment field "${this.preferredFieldName}" is empty. Moving on.` ); return null; } this.logger.log( - `Preferred payment from field "${fieldName}" resolved to "${fieldValue}".` + `Preferred payment from field "${this.preferredFieldName}" resolved to "${fieldValue}".` ); return fieldValue; } @@ -257,6 +296,7 @@ export class PreferredPaymentMethod { } ENGrid.setPaymentType(method); + this.syncPreferredField(input.value); this.selectionFinalized = true; this.cleanupAllObservers(); }