hunk.code_window:         .filter(
               (item) =>
                   item.promotions &&
                   item.promotions.promotionalOffers &&
                   item.promotions.promotionalOffers[0] &&
                   dayjs(item.promotions.promotionalOffers[0].promotionalOffers[0].startDate) <= now &&
                   dayjs(item.promotions.promotionalOffers[0].promotionalOffers[0].endDate) > now
           )
           .map(async (item) => {
  
hunk.labels: keep keep keep keep replace keep keep keep keep
hunk.after_edit:                 item.promotions.promotionalOffers.length &&
                   item.promotions.promotionalOffers[0].promotionalOffers[0].discountSetting.discountType === 'PERCENTAGE' &&
                   item.promotions.promotionalOffers[0].promotionalOffers[0].discountSetting.discountPercentage === 0 &&
  
hunk.file_path: lib/v2/epicgames/index.js
hunk.type: replace
file: const got = require('@/utils/got');
  const { parseDate } = require('@/utils/parse-date');
  const { art } = require('@/utils/render');
  const path = require('path');
  const dayjs = require('dayjs');
  
  module.exports = async (ctx) => {
      const locale = ctx.params.locale ?? 'en-US';
      const country = ctx.params.country ?? 'US';
  
      const rootUrl = 'https://store.epicgames.com';
      const currentUrl = `${rootUrl}/${locale}/free-games?lang=${locale}`;
      const apiUrl = `https://store-site-backend-static-ipv4.ak.epicgames.com/freeGamesPromotions?locale=${locale}&country=${country}&allowCountries=${country}`;
      const contentBaseUrl = `https://store-content-ipv4.ak.epicgames.com/api/${locale}/content`;
  
      const response = await got({
          method: 'get',
          url: apiUrl,
      });
  
      const now = dayjs();
      const items = response.data.data.Catalog.searchStore.elements
          .filter(
              (item) =>
                  item.promotions &&
                  item.promotions.promotionalOffers &&
                  item.promotions.promotionalOffers[0] &&
                  dayjs(item.promotions.promotionalOffers[0].promotionalOffers[0].startDate) <= now &&
                  dayjs(item.promotions.promotionalOffers[0].promotionalOffers[0].endDate) > now
          )
          .map(async (item) => {
              let link = `${rootUrl}/${locale}/p/`;
              let contentUrl = `${contentBaseUrl}/products/`;
              let isBundles = false;
              item.categories.some((category) => {
                  if (category.path === 'bundles') {
                      link = `${rootUrl}/${locale}/bundles/`;
                      isBundles = true;
                      contentUrl = `${contentBaseUrl}/bundles/`;
                      return true;
                  }
                  return false;
              });
              const linkSlug = item.catalogNs.mappings.length > 0 ? item.catalogNs.mappings[0].pageSlug : item.offerMappings.length > 0 ? item.offerMappings[0].pageSlug : item.productSlug ? item.productSlug : item.urlSlug;
              link += linkSlug;
              contentUrl += linkSlug;
              let description = item.description;
              if (item.offerType !== 'BASE_GAME') {
                  const contentResp = await got({
                      method: 'get',
                      url: contentUrl,
                  });
                  description = isBundles ? contentResp.data.data.about.shortDescription : contentResp.data.pages[0].data.about.shortDescription;
              }
  
              let image = item.keyImages[0].url;
              item.keyImages.some((keyImage) => {
                  if (keyImage.type === 'DieselStoreFrontWide') {
                      image = keyImage.url;
                      return true;
                  }
                  return false;
              });
              return {
                  title: item.title,
                  author: item.seller.name,
                  link,
                  description: art(path.join(__dirname, 'templates/description.art'), {
                      description,
                      image,
                  }),
                  pubDate: parseDate(item.promotions.promotionalOffers[0].promotionalOffers[0].startDate),
              };
          });
      ctx.state.data = {
          title: 'Epic Games Store - Free Games',
          link: currentUrl,
          item: await Promise.all(items),
      };
  };
  