;
{
  try {
    let e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
    n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "fad1f2a4-5f9c-4c40-84f9-9cc3811eba37", e._sentryDebugIdIdentifier = "sentry-dbid-fad1f2a4-5f9c-4c40-84f9-9cc3811eba37");
  } catch (e) {
  }
}
;
import { jsx } from "preact/jsx-runtime";
import { o as LegalEntityTypes, z as Typography } from "./StoreProvider-CqQrndhS.js";
import { C as Currencies } from "./currency-CrdnaaDu.js";
import { l as localizeDateString } from "./localizeDateString-pCDWhd0r.js";
const formatCurrency = (amount, currency, locale) => {
  const { format } = new Intl.NumberFormat(
    locale,
    currency ? { style: "currency", currency } : void 0
  );
  return format(amount);
};
const formatAmountWithCurrency = (amount, currency) => {
  const commaDecimalCurrencies = ["EUR", "BRL", "ARS", "CHF"];
  const locale = commaDecimalCurrencies.includes(currency.toUpperCase()) ? "de-DE" : "en-US";
  const formattedAmount = formatCurrency(amount, currency, locale);
  if (!formattedAmount) {
    return void 0;
  }
  return `${formattedAmount} ${currency}`;
};
const additionalDataSchemaKeys = [
  "description",
  "dateOfFundsReceived",
  "purpose",
  "relationship",
  "originatorLegalEntityId",
  "amount",
  "financiers",
  "cryptocurrencyExchange",
  "dateOfSourceEvent",
  "website"
];
const allowedCurrencies = Object.entries(Currencies).map(([key]) => ({
  name: key,
  id: key
}));
const SOF_CHARACTERS_LIMIT = 200;
const TODAY_DATE = (/* @__PURE__ */ new Date()).toISOString().split("T")[0];
const getSchemaForOriginator = (baseSchema, originatorType) => {
  if (originatorType === "organization") {
    return [...baseSchema, "legalName"];
  }
  if (originatorType === "individual") {
    return [...baseSchema, "firstName", "lastName"];
  }
  return baseSchema;
};
const getAdditionalDataSchemaKeys = (sourceOfFundsType, originatorType) => {
  switch (sourceOfFundsType) {
    case "business":
      return ["amount", "description"];
    case "donations":
      return getSchemaForOriginator(
        [
          "dateOfFundsReceived",
          "purpose",
          "relationship",
          "originatorLegalEntityId",
          "country",
          "originatorType"
        ],
        originatorType
      );
    case "inheritance":
      return getSchemaForOriginator(
        [
          "dateOfFundsReceived",
          "amount",
          "relationship",
          "originatorLegalEntityId",
          "country",
          "originatorType"
        ],
        originatorType
      );
    case "thirdPartyFunding":
      return ["financiers"];
    case "cryptocurrencyIncome":
      return ["cryptocurrencyExchange"];
    case "assetSale":
      return ["dateOfSourceEvent", "description", "amount"];
    case "gamblingWinnings":
      return ["dateOfSourceEvent", "website", "amount"];
    default:
      return [];
  }
};
const getServiceTranslation = (t, service) => {
  switch (service) {
    case "banking":
      return t(($) => $["businessBankAccounts"]);
    case "issuing":
      return t(($) => $["paymentCards"]);
    case "paymentProcessing":
      return t(($) => $["acceptingPayments"]);
    default:
      return t(($) => $["supportingDocuments"]);
  }
};
const getServiceTranslationSelectTitle = (t, service) => {
  switch (service) {
    case "banking":
      return t(($) => $["forYourBusinessBankAccounts"]);
    case "issuing":
      return t(($) => $["forYourPaymentCards"]);
    case "paymentProcessing":
      return t(($) => $["whenAcceptingPayments"]);
    default:
      return t(($) => $["supportingDocuments"]);
  }
};
const getServiceTranslationKey = (service) => {
  switch (service) {
    case "banking":
      return "bankingService";
    case "issuing":
      return "issuingService";
    case "paymentProcessing":
      return "paymentService";
    default:
      return "supportingDocuments";
  }
};
const getGettingStartedCardDetails = (sourceOfFundsType, t, data) => {
  const details = [];
  sourceOfFundsType?.forEach((type) => {
    switch (type) {
      case "amount":
        details.push({
          term: t(($) => $["amount"]),
          details: data?.amount?.currency && data?.amount?.value ? formatAmountWithCurrency(data.amount.value, data.amount.currency) : ""
        });
        break;
      case "description":
        details.push({
          term: t(($) => $["description"]),
          details: data?.description || ""
        });
        break;
      case "dateOfFundsReceived":
        details.push({
          term: t(($) => $["date"]),
          details: localizeDateString(data?.dateOfFundsReceived || "", navigator.language)
        });
        break;
      case "purpose":
        details.push({
          term: t(($) => $["reason"]),
          details: data?.purpose || ""
        });
        break;
      case "relationship":
        details.push({ term: t(($) => $["relationship"]), details: data?.relationship || "" });
        break;
      case "originatorLegalEntityId":
        details.push({
          term: t(($) => $["benefactorDetails"]),
          details: [
            data?.legalName ? `${data?.legalName}` : `${data?.firstName} ${data?.lastName}`,
            /* @__PURE__ */ jsx(Typography, { color: "secondary", children: data?.country || "" }, "location")
          ]
        });
        break;
      case "financiers":
        data?.financiers?.map((financier) => {
          return details.push({
            term: t(($) => $["investor"]),
            details: [
              `${financier?.firstName} ${financier?.lastName}`,
              /* @__PURE__ */ jsx(Typography, { color: "secondary", children: financier?.location || "" }, "location"),
              /* @__PURE__ */ jsx(Typography, { color: "secondary", children: financier?.amount?.currency && financier?.amount?.value ? formatAmountWithCurrency(
                financier.amount.value,
                financier.amount.currency
              ) || "" : "" }, "value")
            ]
          });
        });
        break;
      case "cryptocurrencyExchange":
        details.push({
          term: t(($) => $["cryptocurrencyExchange"]),
          details: data?.cryptocurrencyExchange || ""
        });
        break;
      case "dateOfSourceEvent":
        details.push({
          term: t(($) => $["dateOfSourceEvent"]),
          details: localizeDateString(data?.dateOfSourceEvent || "", navigator.language)
        });
        break;
      case "website":
        details.push({
          term: t(($) => $["website"]),
          details: data?.website || ""
        });
        break;
    }
  });
  return details;
};
const sourceOfFundsForms = {
  sourceOfFundsType: {
    formId: "sourceOfFundsType",
    formName: "selectASourceOfFunding",
    fields: ["type"]
  },
  additionalData: {
    formId: "additionalData",
    formName: "tellUsMoreAboutThisSource",
    fields: [...additionalDataSchemaKeys]
  }
};
const getSourceOfFundsRequiredFields = (data) => {
  const sourceOfFundsType = data?.sourceOfFundsType?.type;
  const originatorType = data?.additionalData?.originatorType;
  const additionalDataKeys = getAdditionalDataSchemaKeys(sourceOfFundsType, originatorType);
  return {
    sourceOfFundsType: ["type"],
    additionalData: additionalDataKeys
  };
};
const typesRequiringAdditionalData = [
  "business",
  "donations",
  "inheritance",
  "thirdPartyFunding",
  "cryptocurrencyIncome",
  "assetSale",
  "gamblingWinnings"
];
const getSourceOfFundsRequiredForms = (data) => {
  return Object.fromEntries(
    Object.entries(sourceOfFundsForms).filter(([form]) => {
      if (!data?.type || !typesRequiringAdditionalData.includes(data?.type))
        return form !== sourceOfFundsForms.additionalData.formId;
      return form;
    })
  );
};
const getInputErrors = ({
  formErrors,
  data,
  key,
  value
}) => {
  const isEmpty = value === "" || value === null || value === void 0;
  let errors = { ...formErrors };
  if (isEmpty) {
    errors = { ...formErrors, [key]: "fieldIsRequired" };
  } else {
    errors = { ...formErrors, [key]: void 0 };
  }
  if (["amount", "currency"].includes(key)) {
    if (data?.amount?.value && data?.amount?.currency) {
      errors = { ...formErrors, amount: void 0 };
    }
    if (!data?.amount?.currency) {
      errors = { ...formErrors, amount: "currencyIsRequired" };
    }
    if (!data?.amount?.value) {
      errors = { ...formErrors, amount: "amountIsRequired" };
    } else if (isNaN(data?.amount.value)) {
      errors = { ...formErrors, amount: "pleaseEnterAValidAmount" };
    }
  }
  return errors;
};
const getPageHeadings = (type) => {
  switch (type) {
    case "cryptocurrencyIncome":
      return {
        heading: "cryptocurrencyProceedDetails",
        description: "tellUsMoreAboutTheCryptocurrency"
      };
    case "assetSale":
      return {
        heading: "propertySaleDetails",
        description: "tellUsMoreAboutTheProperty"
      };
    case "gamblingWinnings":
      return {
        heading: "gamblingProceedDetails",
        description: "tellUsMoreAboutTheGamblingProceeds"
      };
    case "business":
      return {
        heading: "businessEarningDetails",
        description: "tellUsMoreAboutThePreviousBusinessEarnings"
      };
    case "thirdPartyFunding":
      return {
        heading: "thirdPartyInvestmentDetails",
        description: "tellUsMoreAboutTheInvestors"
      };
    case "inheritance":
      return {
        heading: "inheritanceDetails",
        description: "tellUsMoreAboutTheInheritanceProceeds"
      };
    case "donations":
      return {
        heading: "giftOrDonationDetails",
        description: "tellUsMoreAboutTheGiftOrDonationProceeds"
      };
    default:
      return {
        heading: "tellUsMoreAboutThisSource"
      };
  }
};
const getDocumentRequirements = {
  loanAgreement: [
    "yourBusinessName",
    "lendersNameAndAddress",
    "principalAmount",
    "loanDate",
    "purposeOfLoan"
  ],
  loanStatement: [
    "yourBusinessName",
    "lendersNameAndAddress",
    "principalAmount",
    "loanDate",
    "purposeOfLoan"
  ],
  proofOfWalletOwnership: [
    "yourBusinessName",
    "nameOfTheCryptocurrencyExchange",
    "nameOfTheCoins",
    "issueDateWithinTheLast12Months"
  ],
  transactionStatement: [
    "showsYourBusinessName",
    "showsTheNameOfTheCryptocurrencyExchange",
    "showsTheNameOfTheCoins",
    "issueDateWithinTheLast12Months"
  ],
  taxFiling: [
    "showsYourBusinessName",
    "showsTheNameOfTheCryptocurrencyExchange",
    "showsTheNameOfTheCoins",
    "issueDateWithinTheLast12Months"
  ],
  proofOfWinnings: ["winningProceedAmount", "dateOfWinning", "nameOfCasinoLottery"],
  winReport: ["winningProceedAmount", "dateOfWinning", "nameOfCasinoLottery"],
  winLossStatement: ["winningProceedAmount", "dateOfWinning", "nameOfCasinoLottery"],
  taxDeclaration: ["winningProceedAmount", "issuedWithinTheLast12Months"],
  annualStatements: [
    "yourBusinessName",
    "proofOfAnnualTurnoverAmount",
    "issueDateWithinTheLast12Months"
  ],
  latestTaxFiling: [
    "yourBusinessName",
    "proofOfAnnualTurnoverAmount",
    "issueDateWithinTheLast12Months"
  ],
  letterFromAccountant: [
    "yourBusinessName",
    "proofOfAnnualTurnoverAmount",
    "signatureAndDateWithinTheLast12Months"
  ],
  recentInvoices: ["yourBusinessName", "invoicesFromThe3MostRecentMonths"],
  bankStatements: [
    "yourBusinessName",
    "issueDate",
    "banksLogoAndName",
    "allStatementsFrom3MostRecentMonths"
  ],
  payslips: ["employersName", "issueDate", "banksLogoAndName", "allPayslipsFrom3MostRecentMonths"],
  contractSpecifyingDividends: [
    "theBusinessName",
    "termLengthAndDividendYield",
    "namesOfInvolvedParties"
  ],
  latestTaxReturn: ["theBusinessName", "reportedDividendAmount"],
  investmentCertificate: ["theBusinessName", "termLengthAndDividendYield"],
  brokerStatements: [
    "theBrokerageName",
    "dividendAmount",
    "issueDateWithinTheLast3Months",
    "namesOfInvolvedParties"
  ],
  investorContract: [
    "yourBusinessName",
    "nameAddressSignatureOfAllInvestors",
    "investmentAmount",
    "fundDepositDate"
  ],
  investorMemo: [
    "yourBusinessName",
    "nameAddressSignatureOfAllInvestors",
    "investmentAmount",
    "fundDepositDate"
  ],
  notarizedStatement: [
    "yourBusinessName",
    "nameAddressSignatureOfAllInvestors",
    "investmentAmount",
    "fundDepositDate"
  ],
  partnershipAgreement: [
    "yourBusinessName",
    "nameAddressSignatureOfAllInvestors",
    "investmentAmount",
    "fundDepositDate"
  ],
  proofOfOwnership: [
    "descriptionOfProperty",
    "netProceedAmount",
    "fundDepositDate",
    "propertyAddress"
  ],
  letterFromAttorney: [
    "descriptionOfProperty",
    "netProceedAmount",
    "fundDepositDate",
    "propertyAddress"
  ],
  saleContract: ["descriptionOfProperty", "netProceedAmount", "fundDepositDate", "propertyAddress"],
  taxDeclarationProperty: [
    "descriptionOfProperty",
    "netProceedAmount",
    "fundDepositDate",
    "propertyAddress"
  ],
  titleDeed: ["descriptionOfProperty", "netProceedAmount", "fundDepositDate", "propertyAddress"],
  rentalAgreementOrLease: ["namesOfLandlordAndTenant", "propertyAddress", "rentAmount"],
  proofOfOwnershipRent: ["yourName", "propertyAddress"],
  giftOrDonationAgreement: ["donorsName", "fundTransferDate", "fundDepositAmount"],
  royaltyAgreement: ["descriptionOfIntellectualProperty", "royaltyAmount", "agreementPeriod"],
  taxDocuments: ["royaltyAmount", "provideMostRecentYearAvailable"],
  certificateOfInheritance: [
    "decedentsName",
    "inheritanceAmount",
    "fundDepositDate",
    "estateAttorneysName"
  ],
  grantOfProbate: ["decedentsName", "inheritanceAmount", "fundDepositDate", "estateAttorneysName"],
  letterFromAttorneyOrNotary: [
    "decedentsName",
    "inheritanceAmount",
    "fundDepositDate",
    "estateAttorneysName"
  ],
  signedCopyOfTheWill: [
    "decedentsName",
    "inheritanceAmount",
    "fundDepositDate",
    "estateAttorneysName"
  ],
  pensionSlip: ["yourFullName", "previousEmployersName", "pensionPaymentAmount"],
  letterFromPreviousEmployer: [
    "yourFullName",
    "previousEmployersName",
    "pensionPaymentAmountOrTotalValue"
  ],
  pensionStatement: ["yourFullName", "previousEmployersName", "pensionPaymentAmountOrTotalValue"],
  courtOrder: ["yourFullName", "totalSettlementAmount", "fundDepositDate"],
  letterFromAttorneyInsurance: ["yourFullName", "totalSettlementAmount", "fundDepositDate"],
  letterFromInsurer: ["yourFullName", "totalSettlementAmount", "fundDepositDate"],
  confirmationOfGrantOrSubsidy: [
    "benefactorsName",
    "subsidyOrGrantAmount",
    "timePeriodIfApplicable"
  ]
};
const getDocumentLists = (sourceOfFundsType) => {
  switch (sourceOfFundsType) {
    case "loans":
      return ["loanAgreement", "loanStatement"];
    case "gamblingWinnings":
      return ["proofOfWinnings", "winReport", "winLossStatement", "taxDeclaration"];
    case "cryptocurrencyIncome":
      return ["proofOfWalletOwnership", "transactionStatement", "taxFiling"];
    case "business":
      return ["annualStatements", "latestTaxFiling", "letterFromAccountant", "recentInvoices"];
    case "employment":
      return ["bankStatements", "payslips"];
    case "dividendIncome":
      return [
        "contractSpecifyingDividends",
        "latestTaxReturn",
        "investmentCertificate",
        "brokerStatements"
      ];
    case "thirdPartyFunding":
      return ["investorContract", "investorMemo", "notarizedStatement", "partnershipAgreement"];
    case "assetSale":
      return [
        "proofOfOwnership",
        "letterFromAttorney",
        "saleContract",
        "taxDeclarationProperty",
        "titleDeed"
      ];
    case "rentalIncome":
      return ["rentalAgreementOrLease", "proofOfOwnership"];
    case "donations":
      return ["giftOrDonationAgreement"];
    case "royaltyIncome":
      return ["royaltyAgreement", "taxDocuments"];
    case "inheritance":
      return [
        "certificateOfInheritance",
        "grantOfProbate",
        "letterFromAttorneyOrNotary",
        "signedCopyOfTheWill"
      ];
    case "pensionIncome":
      return ["pensionSlip", "letterFromPreviousEmployer", "pensionStatement"];
    case "insuranceSettlement":
      return ["courtOrder", "letterFromAttorneyInsurance", "letterFromInsurer"];
    case "financialAid":
      return ["confirmationOfGrantOrSubsidy"];
    default:
      return [];
  }
};
const parseSOFDocumentDescription = (t, documentDescription) => {
  if (!documentDescription || documentDescription.trim() === "" || !documentDescription.startsWith("$")) {
    return void 0;
  }
  const [servicePart, typePart] = documentDescription.split("--");
  const selectedService = servicePart.split(":")[1];
  const documentType = typePart.split(":")[1];
  const parsed = {
    selectedService: getServiceTranslation(t, selectedService || ""),
    documentType: t(($) => $[documentType])
  };
  return `${parsed.selectedService} (${parsed.documentType})`;
};
const MISSING_DATA_SOF_UPLOAD_CODE = "2_8224";
const parseOriginatorDetails = (originatorDetails, businessLine) => {
  const copiedBusinessLine = { ...businessLine };
  if (copiedBusinessLine.sourceOfFunds) {
    if (originatorDetails.organization) {
      copiedBusinessLine.sourceOfFunds.legalName = originatorDetails.organization.legalName;
      copiedBusinessLine.sourceOfFunds.country = originatorDetails.organization?.registeredAddress?.country;
      copiedBusinessLine.sourceOfFunds.originatorType = "organization";
    }
    if (originatorDetails.individual) {
      copiedBusinessLine.sourceOfFunds.firstName = originatorDetails.individual.name?.firstName;
      copiedBusinessLine.sourceOfFunds.lastName = originatorDetails.individual.name?.lastName;
      copiedBusinessLine.sourceOfFunds.country = originatorDetails.individual.residentialAddress?.country;
      copiedBusinessLine.sourceOfFunds.originatorType = "individual";
    }
  }
  return copiedBusinessLine;
};
const getSourceOfFundsPayload = (sofType, additionalData) => {
  switch (sofType) {
    case "business":
      return {
        adyenProcessedFunds: false,
        type: "business",
        description: additionalData?.description,
        amount: {
          currency: additionalData?.amount?.currency ?? "USD",
          value: additionalData?.amount?.value ?? 0
        }
      };
    case "employment":
      return {
        adyenProcessedFunds: false,
        type: "employment"
      };
    case "donations":
      return {
        adyenProcessedFunds: false,
        type: "donations",
        dateOfFundsReceived: additionalData?.dateOfFundsReceived,
        purpose: additionalData?.purpose,
        relationship: additionalData?.relationship,
        originatorLegalEntityId: additionalData?.originatorLegalEntityId
      };
    case "inheritance":
      return {
        adyenProcessedFunds: false,
        type: "inheritance",
        dateOfFundsReceived: additionalData?.dateOfFundsReceived,
        amount: additionalData?.amount,
        relationship: additionalData?.relationship,
        originatorLegalEntityId: additionalData?.originatorLegalEntityId
      };
    case "financialAid":
      return {
        adyenProcessedFunds: false,
        type: "financialAid"
      };
    case "rentalIncome":
      return {
        adyenProcessedFunds: false,
        type: "rentalIncome"
      };
    case "dividendIncome":
      return {
        adyenProcessedFunds: false,
        type: "dividendIncome"
      };
    case "royaltyIncome":
      return {
        adyenProcessedFunds: false,
        type: "royaltyIncome"
      };
    case "pensionIncome":
      return {
        adyenProcessedFunds: false,
        type: "pensionIncome"
      };
    case "insuranceSettlement":
      return {
        adyenProcessedFunds: false,
        type: "insuranceSettlement"
      };
    case "thirdPartyFunding":
      return {
        adyenProcessedFunds: false,
        type: "thirdPartyFunding",
        financiers: additionalData?.financiers
      };
    case "cryptocurrencyIncome":
      return {
        adyenProcessedFunds: false,
        type: "cryptocurrencyIncome",
        cryptocurrencyExchange: additionalData?.cryptocurrencyExchange
      };
    case "assetSale":
      return {
        adyenProcessedFunds: false,
        type: "assetSale",
        cryptocurrencyExchange: additionalData?.cryptocurrencyExchange,
        dateOfSourceEvent: additionalData?.dateOfSourceEvent,
        description: additionalData?.description,
        amount: additionalData?.amount
      };
    case "loans":
      return {
        adyenProcessedFunds: false,
        type: "loans"
      };
    case "gamblingWinnings":
      return {
        adyenProcessedFunds: false,
        type: "gamblingWinnings",
        dateOfSourceEvent: additionalData?.dateOfSourceEvent,
        website: additionalData?.website && !additionalData.website.startsWith("http://") && !additionalData.website.startsWith("https://") ? `https://${additionalData.website}` : additionalData?.website,
        amount: additionalData?.amount
      };
    default:
      return { adyenProcessedFunds: true };
  }
};
const parseSofOriginatorPayload = (additionalData) => {
  let sofOriginator;
  if (additionalData?.originatorType === "individual") {
    sofOriginator = {
      type: LegalEntityTypes.INDIVIDUAL,
      individual: {
        name: {
          firstName: additionalData?.firstName ?? "",
          lastName: additionalData?.lastName ?? ""
        },
        residentialAddress: {
          country: additionalData?.country
        }
      }
    };
  } else {
    sofOriginator = {
      type: LegalEntityTypes.ORGANIZATION,
      organization: {
        legalName: additionalData?.legalName ?? "",
        registeredAddress: {
          country: additionalData?.country
        }
      }
    };
  }
  return sofOriginator;
};
const formatDateForInput = (isoDateString) => {
  if (!isoDateString) return "";
  try {
    const datePart = isoDateString.split("T")[0];
    if (/^\d{4}-\d{2}-\d{2}$/.test(datePart)) {
      return datePart;
    }
    return "";
  } catch {
    return "";
  }
};
const getSofCardDetails = (t, sourceOfFunds) => {
  if (!sourceOfFunds) {
    return "";
  }
  if (sourceOfFunds?.adyenProcessedFunds) {
    return t(($) => $["transactionsOnThisPlatform"]);
  }
  if (sourceOfFunds?.type) {
    return sourceOfFunds?.type ? t(($) => $[sofCategoryItemMapper[sourceOfFunds.type]]) : "";
  }
  return "";
};
const ALLOWED_SOF_SERVICES = ["issuing", "banking"];
const SOF_INVALID_INPUT_ERROR_CODES = ["1_93", "1_94"];
const getRelevantErrors = (problems, targetCodes) => {
  if (!problems) return false;
  return problems.flatMap(
    (problem) => (problem.verificationErrors || []).filter(
      (error) => targetCodes.includes(error.code) || (error.subErrors || []).some((sub) => targetCodes.includes(sub.code))
    )
  );
};
const getUniqueRemediationActions = (error) => {
  const allActions = [
    ...error.remediatingActions || [],
    ...error.subErrors?.flatMap((sub) => sub.remediatingActions || []) || []
  ];
  return allActions.filter((action, i, arr) => arr.findIndex((a) => a.code === action.code) === i);
};
const sofCategoryItemMapper = {
  business: "otherBusinessEarnings",
  employment: "employmentWages",
  cryptocurrencyIncome: "cryptocurrency",
  dividendIncome: "dividends",
  loans: "loans",
  financialAid: "financialAid",
  thirdPartyFunding: "thirdPartyFunding",
  rentalIncome: "rentalIncome",
  royaltyIncome: "royaltyIncome",
  gamblingWinnings: "gambling",
  inheritance: "inheritance",
  pensionIncome: "pensionIncome",
  insuranceSettlement: "insuranceSettlement",
  assetSale: "propertySale",
  donations: "giftOrDonation"
};
export {
  ALLOWED_SOF_SERVICES as A,
  MISSING_DATA_SOF_UPLOAD_CODE as M,
  SOF_CHARACTERS_LIMIT as S,
  TODAY_DATE as T,
  allowedCurrencies as a,
  formatDateForInput as b,
  formatAmountWithCurrency as c,
  getPageHeadings as d,
  getServiceTranslationSelectTitle as e,
  formatCurrency as f,
  getInputErrors as g,
  getSofCardDetails as h,
  getGettingStartedCardDetails as i,
  getAdditionalDataSchemaKeys as j,
  getServiceTranslation as k,
  getRelevantErrors as l,
  getUniqueRemediationActions as m,
  SOF_INVALID_INPUT_ERROR_CODES as n,
  getServiceTranslationKey as o,
  parseSOFDocumentDescription as p,
  getDocumentRequirements as q,
  getDocumentLists as r,
  sofCategoryItemMapper as s,
  getSourceOfFundsRequiredFields as t,
  parseOriginatorDetails as u,
  getSourceOfFundsRequiredForms as v,
  getSourceOfFundsPayload as w,
  parseSofOriginatorPayload as x
};
