code: def eval(self) -> datetime:
      holiday = self.value[0].eval()
      dttm, country = [None, None]
      if len(self.value) >= 2:
          dttm = self.value[1].eval()
      if len(self.value) == 3:
          country = self.value[2]
      holiday_year = (
          dttm.year if dttm else parse_human_datetime("today").year
      )
      country = country.eval() if country else "US"
  
      holiday_lookup = country_holidays(
          country, years=[holiday_year], observed=False
      )
      searched_result = holiday_lookup.get_named(
          holiday, lookup="istartswith"
      )
      if len(searched_result) > 0:
          return dttm_from_timetuple(searched_result[0].timetuple())
      raise ValueError(
          _(
              "Unable to find such a holiday: [%(holiday)s]",
              holiday=holiday,
          )
      )
  
imports: import calendar
  import logging
  import re
  from datetime import datetime, timedelta
  from functools import lru_cache
  from time import struct_time
  from typing import Optional
  import pandas
  import parsedatetime
  from dateutil.parser import parse
  from dateutil.relativedelta import relativedelta
  from flask_babel import lazy_gettext
  from holidays import country_holidays
  from pyparsing import CaselessKeyword, Forward, Group, Optional, ParseException, ParserElement, ParseResults, pyparsing_common, quotedString, Suppress
  from superset.commands.chart.exceptions import TimeDeltaAmbiguousError, TimeRangeAmbiguousError, TimeRangeParseFailError
  from superset.constants import LRU_CACHE_MAX_SIZE, NO_TIME_RANGE
label_desc: Use image node_id 2 for calling the EvalHolidayFunc obj's underlying member method code with example usage: obj.eval() and returns: dttm_from_timetuple