LLVMFuzzerTestOneInput:
   17|  2.66k|{
   18|  2.66k|  if (size < 1)
  ------------------
  |  Branch (18:7): [True: 0, False: 2.66k]
  ------------------
   19|      0|    return 0;
   20|       |
   21|       |  // First byte splits the remaining bytes into a format string and a value
   22|       |  // string, so both the format parser and the value parser get fuzzed.
   23|  2.66k|  std::size_t formatLen = data[0] % size;
   24|  2.66k|  std::string format(reinterpret_cast<const char*>(data + 1), formatLen);
   25|  2.66k|  std::string value(reinterpret_cast<const char*>(data + 1 + formatLen),
   26|  2.66k|                    size - 1 - formatLen);
   27|       |
   28|  2.66k|  Wt::WString f = Wt::WString::fromUTF8(format);
   29|  2.66k|  Wt::WString v = Wt::WString::fromUTF8(value);
   30|       |
   31|  2.66k|  try { Wt::WDateTime::fromString(v, f); } catch (...) {}
   32|  2.66k|  try { Wt::WDate::fromString(v, f); } catch (...) {}
   33|  2.66k|  try { Wt::WTime::fromString(v, f); } catch (...) {}
   34|  2.66k|  try { Wt::WDateTime::fromString(v); } catch (...) {}
   35|       |
   36|  2.66k|  return 0;
   37|  2.66k|}

_ZN4date5monthC2Ej:
 1539|    684|CONSTCD11 inline month::month(unsigned m) NOEXCEPT : m_(static_cast<decltype(m_)>(m)) {}
_ZN4date14year_month_dayC2ERKNS_4yearERKNS_5monthERKNS_3dayE:
 2903|    684|    : y_(y)
 2904|    684|    , m_(m)
 2905|    684|    , d_(d)
 2906|    684|    {}
_ZN4datedvERKNS_9month_dayEi:
 3758|    684|{
 3759|    684|    return year(y) / md;
 3760|    684|}
_ZN4datedvERKNS_4yearERKNS_9month_dayE:
 3734|    684|{
 3735|    684|    return y / md.month() / md.day();
 3736|    684|}
_ZN4datedvERKNS_10year_monthERKNS_3dayE:
 3718|    684|{
 3719|    684|    return {ym.year(), ym.month(), d};
 3720|    684|}
_ZNK4date10year_month4yearEv:
 2182|  1.08k|CONSTCD11 inline year year_month::year() const NOEXCEPT {return y_;}
_ZNK4date10year_month5monthEv:
 2183|  1.08k|CONSTCD11 inline month year_month::month() const NOEXCEPT {return m_;}
_ZNK4date9month_day5monthEv:
 2370|    684|CONSTCD11 inline date::month month_day::month() const NOEXCEPT {return m_;}
_ZNK4date9month_day3dayEv:
 2371|    684|CONSTCD11 inline date::day month_day::day() const NOEXCEPT {return d_;}
_ZN4datedvERKNS_3dayEi:
 3608|    684|CONSTCD11 inline month_day operator/(const day& d, int m) NOEXCEPT {return m / d;}
_ZN4datedvEiRKNS_3dayE:
 3604|    684|{
 3605|    684|    return month(static_cast<unsigned>(m)) / d;
 3606|    684|}
_ZN4datedvERKNS_5monthERKNS_3dayE:
 3580|    684|{
 3581|    684|    return {m, d};
 3582|    684|}
_ZN4date9month_dayC2ERKNS_5monthERKNS_3dayE:
 2366|    684|    : m_(m)
 2367|    684|    , d_(d)
 2368|    684|    {}
_ZN4date3dayC2Ej:
 1418|  1.17k|CONSTCD11 inline day::day(unsigned d) NOEXCEPT : d_(static_cast<decltype(d_)>(d)) {}
_ZNK4date14year_month_daycvNSt6chrono10time_pointINS1_3_V212system_clockENS1_8durationIiSt5ratioILl86400ELl1EEEEEEEv:
 2992|     56|{
 2993|     56|    return sys_days{to_days()};
 2994|     56|}
_ZNK4date14year_month_day7to_daysEv:
 2974|     56|{
 2975|     56|    static_assert(std::numeric_limits<unsigned>::digits >= 18,
 2976|     56|             "This algorithm has not been ported to a 16 bit unsigned integer");
 2977|     56|    static_assert(std::numeric_limits<int>::digits >= 20,
 2978|     56|             "This algorithm has not been ported to a 16 bit signed integer");
 2979|     56|    auto const y = static_cast<int>(y_) - (m_ <= February);
 2980|     56|    auto const m = static_cast<unsigned>(m_);
 2981|     56|    auto const d = static_cast<unsigned>(d_);
 2982|     56|    auto const era = (y >= 0 ? y : y-399) / 400;
  ------------------
  |  Branch (2982:23): [True: 21, False: 35]
  ------------------
 2983|     56|    auto const yoe = static_cast<unsigned>(y - era * 400);       // [0, 399]
 2984|     56|    auto const doy = (153*(m > 2 ? m-3 : m+9) + 2)/5 + d-1;      // [0, 365]
  ------------------
  |  Branch (2984:28): [True: 23, False: 33]
  ------------------
 2985|     56|    auto const doe = yoe * 365 + yoe/4 - yoe/100 + doy;          // [0, 146096]
 2986|     56|    return days{era * 146097 + static_cast<int>(doe) - 719468};
 2987|     56|}
_ZN4dateleERKNS_5monthES2_:
 1602|     56|{
 1603|     56|    return !(y < x);
 1604|     56|}
_ZN4dateltERKNS_5monthES2_:
 1586|     56|{
 1587|     56|    return static_cast<unsigned>(x) < static_cast<unsigned>(y);
 1588|     56|}
_ZNK4date14year_month_day4yearEv:
 2928|    570|CONSTCD11 inline year year_month_day::year() const NOEXCEPT {return y_;}
_ZNK4date4yearcviEv:
 1699|     56|CONSTCD11 inline year::operator int() const NOEXCEPT {return y_;}
_ZNK4date14year_month_day5monthEv:
 2929|    570|CONSTCD11 inline month year_month_day::month() const NOEXCEPT {return m_;}
_ZNK4date5monthcvjEv:
 1563|  1.31k|CONSTCD11 inline month::operator unsigned() const NOEXCEPT {return m_;}
_ZNK4date14year_month_day3dayEv:
 2930|    570|CONSTCD11 inline day year_month_day::day() const NOEXCEPT {return d_;}
_ZNK4date3daycvjEv:
 1425|  1.70k|CONSTCD11 inline day::operator unsigned() const NOEXCEPT {return d_;}
_ZNK4date14year_month_day2okEv:
 3007|  1.18k|{
 3008|  1.18k|    if (!(y_.ok() && m_.ok()))
  ------------------
  |  Branch (3008:11): [True: 1.18k, False: 0]
  |  Branch (3008:22): [True: 418, False: 769]
  ------------------
 3009|    769|        return false;
 3010|    418|    return date::day{1} <= d_ && d_ <= (y_ / m_ / last).day();
  ------------------
  |  Branch (3010:12): [True: 405, False: 13]
  |  Branch (3010:34): [True: 228, False: 177]
  ------------------
 3011|  1.18k|}
_ZN4dateleERKNS_3dayES2_:
 1464|    823|{
 1465|    823|    return !(y < x);
 1466|    823|}
_ZN4dateltERKNS_3dayES2_:
 1448|    823|{
 1449|    823|    return static_cast<unsigned>(x) < static_cast<unsigned>(y);
 1450|    823|}
_ZNK4date4year2okEv:
 1705|  1.75k|{
 1706|  1.75k|    return y_ != std::numeric_limits<short>::min();
 1707|  1.75k|}
_ZNK4date5month2okEv:
 1564|  2.09k|CONSTCD11 inline bool month::ok() const NOEXCEPT {return 1 <= m_ && m_ <= 12;}
  ------------------
  |  Branch (1564:58): [True: 2.01k, False: 80]
  |  Branch (1564:69): [True: 874, False: 1.13k]
  ------------------
_ZN4datedvERKNS_10year_monthENS_9last_specE:
 3768|    405|{
 3769|    405|    return {ym.year(), month_day_last{ym.month()}};
 3770|    405|}
_ZN4date14month_day_lastC2ERKNS_5monthE:
 2466|    405|CONSTCD11 inline month_day_last::month_day_last(const date::month& m) NOEXCEPT : m_(m) {}
_ZN4date19year_month_day_lastC2ERKNS_4yearERKNS_14month_day_lastE:
 2681|    405|    : y_(y)
 2682|    405|    , mdl_(mdl)
 2683|    405|    {}
_ZN4datedvERKNS_4yearERKNS_5monthE:
 3562|  1.08k|{
 3563|  1.08k|    return {y, m};
 3564|  1.08k|}
_ZN4date10year_monthC2ERKNS_4yearERKNS_5monthE:
 2178|  1.08k|    : y_(y)
 2179|  1.08k|    , m_(m)
 2180|  1.08k|    {}
_ZNK4date19year_month_day_last3dayEv:
 2738|    405|{
 2739|    405|    CONSTDATA date::day d[] =
  ------------------
  |  |  126|    405|#  define CONSTDATA constexpr const
  ------------------
 2740|    405|    {
 2741|    405|        date::day(31), date::day(28), date::day(31),
 2742|    405|        date::day(30), date::day(31), date::day(30),
 2743|    405|        date::day(31), date::day(31), date::day(30),
 2744|    405|        date::day(31), date::day(30), date::day(31)
 2745|    405|    };
 2746|    405|    return (month() != February || !y_.is_leap()) && mdl_.ok() ?
  ------------------
  |  Branch (2746:13): [True: 257, False: 148]
  |  Branch (2746:36): [True: 79, False: 69]
  |  Branch (2746:54): [True: 336, False: 0]
  ------------------
 2747|    336|        d[static_cast<unsigned>(month()) - 1] : date::day{29};
 2748|    405|}
_ZN4dateneERKNS_5monthES2_:
 1578|    405|{
 1579|    405|    return !(x == y);
 1580|    405|}
_ZN4dateeqERKNS_5monthES2_:
 1570|    405|{
 1571|    405|    return static_cast<unsigned>(x) == static_cast<unsigned>(y);
 1572|    405|}
_ZNK4date19year_month_day_last5monthEv:
 2724|    741|CONSTCD11 inline month year_month_day_last::month() const NOEXCEPT {return mdl_.month();}
_ZNK4date14month_day_last5monthEv:
 2464|    741|CONSTCD11 inline month month_day_last::month() const NOEXCEPT {return m_;}
_ZNK4date14month_day_last2okEv:
 2465|    336|CONSTCD11 inline bool month_day_last::ok() const NOEXCEPT {return m_.ok();}
_ZNK4date3day2okEv:
 1426|    570|CONSTCD11 inline bool day::ok() const NOEXCEPT {return 1 <= d_ && d_ <= 31;}
  ------------------
  |  Branch (1426:56): [True: 528, False: 42]
  |  Branch (1426:67): [True: 47, False: 481]
  ------------------
_ZN4date4yearC2Ei:
 1681|    684|CONSTCD11 inline year::year(int y) NOEXCEPT : y_(static_cast<decltype(y_)>(y)) {}
_ZNK4date4year7is_leapEv:
 1695|    148|{
 1696|    148|    return y_ % 4 == 0 && (y_ % 100 != 0 || y_ % 400 == 0);
  ------------------
  |  Branch (1696:12): [True: 93, False: 55]
  |  Branch (1696:28): [True: 56, False: 37]
  |  Branch (1696:45): [True: 13, False: 24]
  ------------------
 1697|    148|}

_ZN2Wt4Json5ArrayC2Ev:
   15|      2|  : Impl()
   16|      2|{ }

_ZN2Wt4Json6ObjectC2Ev:
   17|      2|{ }

_ZN2Wt4Json5ValueC2Ev:
   87|      2|{ }
_ZN2Wt4Json5ValueC2Eb:
   90|      4|  : v_(value)
   91|      4|{ }

_ZN2Wt12WApplication8instanceEv:
 1509|  23.8k|{
 1510|  23.8k|  WebSession *session = WebSession::instance();
 1511|       |
 1512|  23.8k|  return session ? session->app() : nullptr;
  ------------------
  |  Branch (1512:10): [True: 0, False: 23.8k]
  ------------------
 1513|  23.8k|}

_ZN2Wt5WDateC2Ev:
   35|  7.98k|  : pimpl_(nullptr)
   36|  7.98k|{ }
_ZN2Wt5WDateC2Eiii:
   52|    684|{
   53|    684|  setDate(year, month, day);
   54|    684|}
_ZN2Wt5WDateaSEOS0_:
   73|    684|{
   74|    684|  if (this != &other) {
  ------------------
  |  Branch (74:7): [True: 684, False: 0]
  ------------------
   75|    684|    pimpl_ = std::move(other.pimpl_);
   76|    684|  }
   77|    684|  return *this;
   78|    684|}
_ZN2Wt5WDateD2Ev:
   80|  8.66k|WDate::~WDate() = default;
_ZNK2Wt5WDate7isValidEv:
  143|  5.23k|{
  144|  5.23k|  return pimpl_ && pimpl_->ymd_.ok();
  ------------------
  |  Branch (144:10): [True: 503, False: 4.73k]
  |  Branch (144:20): [True: 114, False: 389]
  ------------------
  145|  5.23k|}
_ZN2Wt5WDate7setDateEiii:
  163|    684|{
  164|    684|    if (!pimpl_) {
  ------------------
  |  Branch (164:9): [True: 684, False: 0]
  ------------------
  165|    684|        pimpl_ = std::make_unique<Impl>();
  166|    684|    }
  167|    684|    date::year_month_day ymd = date::day(day)/month/year;
  168|       |
  169|    684|    pimpl_->ymd_ = ymd;
  170|    684|    if(!pimpl_->ymd_.ok()){
  ------------------
  |  Branch (170:8): [True: 570, False: 114]
  ------------------
  171|    570|        if(!pimpl_->ymd_.year().ok())
  ------------------
  |  Branch (171:12): [True: 0, False: 570]
  ------------------
  172|      0|            LOG_WARN("Invalid date: year not in range "
  ------------------
  |  |  523|      0|#   define LOG_WARN(m) do { \
  |  |  524|      0|    if ( WT_LOGGING("warning", WT_LOGGER)) \
  |  |  ------------------
  |  |  |  |  501|      0|#     define WT_LOGGING Wt::logging
  |  |  ------------------
  |  |                   if ( WT_LOGGING("warning", WT_LOGGER)) \
  |  |  ------------------
  |  |  |  |  500|      0|#     define WT_LOGGER Wt::logger
  |  |  ------------------
  |  |  |  Branch (524:10): [True: 0, False: 0]
  |  |  ------------------
  |  |  525|      0|      WT_LOG("warning") << WT_LOGGER << ": " << m; \
  |  |  ------------------
  |  |  |  |  499|      0|#     define WT_LOG Wt::log
  |  |  ------------------
  |  |                     WT_LOG("warning") << WT_LOGGER << ": " << m; \
  |  |  ------------------
  |  |  |  |  500|      0|#     define WT_LOGGER Wt::logger
  |  |  ------------------
  |  |  526|      0|    } while(0)
  |  |  ------------------
  |  |  |  Branch (526:13): [Folded, False: 0]
  |  |  ------------------
  ------------------
  173|    570|                     << (int)pimpl_->ymd_.year().min()<< " .. "
  174|    570|                     << (int)pimpl_->ymd_.year().max());
  175|    570|        if(!pimpl_->ymd_.month().ok())
  ------------------
  |  Branch (175:12): [True: 450, False: 120]
  ------------------
  176|    450|            LOG_WARN("Invalid date: month not in range 1 .. 12");
  ------------------
  |  |  523|    450|#   define LOG_WARN(m) do { \
  |  |  524|    450|    if ( WT_LOGGING("warning", WT_LOGGER)) \
  |  |  ------------------
  |  |  |  |  501|    450|#     define WT_LOGGING Wt::logging
  |  |  ------------------
  |  |                   if ( WT_LOGGING("warning", WT_LOGGER)) \
  |  |  ------------------
  |  |  |  |  500|    450|#     define WT_LOGGER Wt::logger
  |  |  ------------------
  |  |  |  Branch (524:10): [True: 450, False: 0]
  |  |  ------------------
  |  |  525|    450|      WT_LOG("warning") << WT_LOGGER << ": " << m; \
  |  |  ------------------
  |  |  |  |  499|  1.80k|#     define WT_LOG Wt::log
  |  |  ------------------
  |  |                     WT_LOG("warning") << WT_LOGGER << ": " << m; \
  |  |  ------------------
  |  |  |  |  500|    450|#     define WT_LOGGER Wt::logger
  |  |  ------------------
  |  |  526|    450|    } while(0)
  |  |  ------------------
  |  |  |  Branch (526:13): [Folded, False: 450]
  |  |  ------------------
  ------------------
  177|    570|        if(!pimpl_->ymd_.day().ok())
  ------------------
  |  Branch (177:12): [True: 523, False: 47]
  ------------------
  178|    523|            LOG_WARN("Invalid date: day not in range 1 .. 31");
  ------------------
  |  |  523|    523|#   define LOG_WARN(m) do { \
  |  |  524|    523|    if ( WT_LOGGING("warning", WT_LOGGER)) \
  |  |  ------------------
  |  |  |  |  501|    523|#     define WT_LOGGING Wt::logging
  |  |  ------------------
  |  |                   if ( WT_LOGGING("warning", WT_LOGGER)) \
  |  |  ------------------
  |  |  |  |  500|    523|#     define WT_LOGGER Wt::logger
  |  |  ------------------
  |  |  |  Branch (524:10): [True: 523, False: 0]
  |  |  ------------------
  |  |  525|    523|      WT_LOG("warning") << WT_LOGGER << ": " << m; \
  |  |  ------------------
  |  |  |  |  499|  2.09k|#     define WT_LOG Wt::log
  |  |  ------------------
  |  |                     WT_LOG("warning") << WT_LOGGER << ": " << m; \
  |  |  ------------------
  |  |  |  |  500|    523|#     define WT_LOGGER Wt::logger
  |  |  ------------------
  |  |  526|    523|    } while(0)
  |  |  ------------------
  |  |  |  Branch (526:13): [Folded, False: 523]
  |  |  ------------------
  ------------------
  179|    570|    }
  180|    684|}
_ZNK2Wt5WDate11toTimePointEv:
  218|     56|{
  219|     56|  if (isValid()){
  ------------------
  |  Branch (219:7): [True: 56, False: 0]
  ------------------
  220|     56|    date::sys_days days = pimpl_->ymd_;
  221|     56|    return days;
  222|     56|  }
  223|      0|  else
  224|      0|    return std::chrono::system_clock::time_point();
  225|     56|}
_ZN2Wt5WDate12shortDayNameEib:
  291|  13.9k|{
  292|  13.9k|  static const char *v[]
  293|  13.9k|    = {"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" };
  294|       |
  295|  13.9k|  if (localizedString && WApplication::instance())
  ------------------
  |  Branch (295:7): [True: 13.9k, False: 0]
  |  Branch (295:26): [True: 0, False: 13.9k]
  ------------------
  296|      0|    return WString::tr(WT_WDATE + "3." + v[weekday - 1]);
  297|  13.9k|  else
  298|  13.9k|    return WString::fromUTF8(v[weekday - 1]);
  299|  13.9k|}
_ZN2Wt5WDate17parseShortDayNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERjb:
  302|  2.79k|{
  303|  2.79k|  if (pos + 2 >= v.length())
  ------------------
  |  Branch (303:7): [True: 639, False: 2.15k]
  ------------------
  304|    639|    return -1;
  305|       |
  306|  2.15k|  std::string d = v.substr(pos, 3);
  307|       |
  308|  15.7k|  for (int i = 1; i <= 7; ++i) {
  ------------------
  |  Branch (308:19): [True: 13.9k, False: 1.80k]
  ------------------
  309|  13.9k|    if (d == shortDayName(i, localizedString).toUTF8()) {
  ------------------
  |  Branch (309:9): [True: 353, False: 13.5k]
  ------------------
  310|    353|      pos += 3;
  311|    353|      return i;
  312|    353|    }
  313|  13.9k|  }
  314|       |
  315|  1.80k|  return -1;
  316|  2.15k|}
_ZN2Wt5WDate11longDayNameEib:
  319|  2.17k|{
  320|  2.17k|  static const char *v[]
  321|  2.17k|    = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday",
  322|  2.17k|       "Sunday" };
  323|       |
  324|  2.17k|  if (localizedString && WApplication::instance())
  ------------------
  |  Branch (324:7): [True: 2.17k, False: 0]
  |  Branch (324:26): [True: 0, False: 2.17k]
  ------------------
  325|      0|    return WString::tr(WT_WDATE + v[weekday - 1]);
  326|  2.17k|  else
  327|  2.17k|    return WString::fromUTF8(v[weekday - 1]);
  328|  2.17k|}
_ZN2Wt5WDate16parseLongDayNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERjb:
  331|    359|{
  332|    359|  std::string remainder = v.substr(pos);
  333|       |
  334|  2.40k|  for (int i = 1; i <= 7; ++i) {
  ------------------
  |  Branch (334:19): [True: 2.17k, False: 230]
  ------------------
  335|  2.17k|    std::string m = longDayName(i, localizedString).toUTF8();
  336|       |
  337|  2.17k|    if (remainder.length() >= m.length())
  ------------------
  |  Branch (337:9): [True: 1.72k, False: 445]
  ------------------
  338|  1.72k|      if (remainder.substr(0, m.length()) == m) {
  ------------------
  |  Branch (338:11): [True: 129, False: 1.59k]
  ------------------
  339|    129|        pos += m.length();
  340|    129|        return i;
  341|    129|      }
  342|  2.17k|  }
  343|       |
  344|    230|  return -1;
  345|    359|}
_ZN2Wt5WDate14shortMonthNameEib:
  348|  3.33k|{
  349|  3.33k|  static const char *v[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun",
  350|  3.33k|                            "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
  351|       |
  352|  3.33k|  if (localizedString && WApplication::instance())
  ------------------
  |  Branch (352:7): [True: 3.33k, False: 0]
  |  Branch (352:26): [True: 0, False: 3.33k]
  ------------------
  353|      0|    return WString::tr(WT_WDATE + "3." + v[month - 1]);
  354|  3.33k|  else
  355|  3.33k|    return WString::fromUTF8(v[month - 1]);
  356|  3.33k|}
_ZN2Wt5WDate19parseShortMonthNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERjb:
  359|    381|{
  360|    381|  if (pos + 2 >= v.length())
  ------------------
  |  Branch (360:7): [True: 16, False: 365]
  ------------------
  361|     16|    return -1;
  362|       |
  363|    365|  std::string m = v.substr(pos, 3);
  364|       |
  365|  3.53k|  for (int i = 1; i <= 12; ++i) {
  ------------------
  |  Branch (365:19): [True: 3.33k, False: 205]
  ------------------
  366|  3.33k|    if (m == shortMonthName(i, localizedString).toUTF8()) {
  ------------------
  |  Branch (366:9): [True: 160, False: 3.17k]
  ------------------
  367|    160|      pos += 3;
  368|    160|      return i;
  369|    160|    }
  370|  3.33k|  }
  371|       |
  372|    205|  return -1;
  373|    365|}
_ZN2Wt5WDate13longMonthNameEib:
  376|  4.40k|{
  377|  4.40k|  static const char *v[] = {"January", "February", "March", "April", "May",
  378|  4.40k|                            "June", "July", "August", "September",
  379|  4.40k|                            "October", "November", "December" };
  380|       |
  381|  4.40k|  if (localizedString && WApplication::instance())
  ------------------
  |  Branch (381:7): [True: 4.40k, False: 0]
  |  Branch (381:26): [True: 0, False: 4.40k]
  ------------------
  382|      0|    return WString::tr(WT_WDATE + v[month - 1]);
  383|  4.40k|  else
  384|  4.40k|    return WString::fromUTF8(v[month - 1]);
  385|  4.40k|}
_ZN2Wt5WDate18parseLongMonthNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERjb:
  388|    405|{
  389|    405|  std::string remainder = v.substr(pos);
  390|       |
  391|  4.74k|  for (int i = 1; i <= 12; ++i) {
  ------------------
  |  Branch (391:19): [True: 4.40k, False: 334]
  ------------------
  392|  4.40k|    std::string m = longMonthName(i, localizedString).toUTF8();
  393|       |
  394|  4.40k|    if (remainder.length() >= m.length())
  ------------------
  |  Branch (394:9): [True: 2.85k, False: 1.54k]
  ------------------
  395|  2.85k|      if (remainder.substr(0, m.length()) == m) {
  ------------------
  |  Branch (395:11): [True: 71, False: 2.78k]
  ------------------
  396|     71|        pos += m.length();
  397|     71|        return i;
  398|     71|      }
  399|  4.40k|  }
  400|       |
  401|    334|  return -1;
  402|    405|}
_ZN2Wt5WDate10ParseStateC2Ev:
  415|  10.6k|{
  416|  10.6k|  d = M = y = 0;
  417|  10.6k|  day = month = year = -1;
  418|  10.6k|}
_ZN2Wt5WDate10fromStringERKNS_7WStringES3_b:
  428|  2.66k|{
  429|  2.66k|  WDate result;
  430|       |
  431|  2.66k|  WDateTime::fromString(&result, nullptr, s, format, localizedString);
  432|       |
  433|  2.66k|  return result;
  434|  2.66k|}
_ZN2Wt5WDate13handleSpecialEcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERjRNS0_10ParseStateERKNS_7WStringEb:
  440|  88.6k|{
  441|  88.6k|  switch (c) {
  442|  20.4k|  case 'd':
  ------------------
  |  Branch (442:3): [True: 20.4k, False: 68.2k]
  ------------------
  443|  20.4k|    if (parse.d == 0)
  ------------------
  |  Branch (443:9): [True: 12.3k, False: 8.10k]
  ------------------
  444|  12.3k|      if (!parseLast(v, vi, parse, format, localizedString))
  ------------------
  |  Branch (444:11): [True: 54, False: 12.3k]
  ------------------
  445|     54|        return WDateTime::CharState::CharInvalid;
  446|       |
  447|  20.4k|    ++parse.d;
  448|       |
  449|  20.4k|    return WDateTime::CharState::CharHandled;
  450|       |
  451|  13.8k|  case 'M':
  ------------------
  |  Branch (451:3): [True: 13.8k, False: 74.8k]
  ------------------
  452|  13.8k|    if (parse.M == 0)
  ------------------
  |  Branch (452:9): [True: 9.93k, False: 3.96k]
  ------------------
  453|  9.93k|      if (!parseLast(v, vi, parse, format, localizedString))
  ------------------
  |  Branch (453:11): [True: 44, False: 9.88k]
  ------------------
  454|     44|        return WDateTime::CharState::CharInvalid;
  455|       |
  456|  13.8k|    ++parse.M;
  457|       |
  458|  13.8k|    return WDateTime::CharState::CharHandled;
  459|       |
  460|  7.18k|  case 'y':
  ------------------
  |  Branch (460:3): [True: 7.18k, False: 81.5k]
  ------------------
  461|  7.18k|    if (parse.y == 0)
  ------------------
  |  Branch (461:9): [True: 1.70k, False: 5.48k]
  ------------------
  462|  1.70k|      if (!parseLast(v, vi, parse, format, localizedString))
  ------------------
  |  Branch (462:11): [True: 15, False: 1.69k]
  ------------------
  463|     15|        return WDateTime::CharState::CharInvalid;
  464|       |
  465|  7.17k|    ++parse.y;
  466|       |
  467|  7.17k|    return WDateTime::CharState::CharHandled;
  468|       |
  469|  47.1k|  default:
  ------------------
  |  Branch (469:3): [True: 47.1k, False: 41.5k]
  ------------------
  470|  47.1k|    if (!parseLast(v, vi, parse, format, localizedString))
  ------------------
  |  Branch (470:9): [True: 4.13k, False: 43.0k]
  ------------------
  471|  4.13k|      return WDateTime::CharState::CharInvalid;
  472|       |
  473|  43.0k|    return WDateTime::CharState::CharUnhandled;
  474|  88.6k|  }
  475|  88.6k|}
_ZN2Wt5WDate9parseLastERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERjRNS0_10ParseStateERKNS_7WStringEb:
  496|  71.1k|{
  497|  71.1k|  if (parse.d != 0) {
  ------------------
  |  Branch (497:7): [True: 12.3k, False: 58.8k]
  ------------------
  498|  12.3k|    switch (parse.d) {
  499|  8.59k|    case 1: {
  ------------------
  |  Branch (499:5): [True: 8.59k, False: 3.71k]
  ------------------
  500|  8.59k|      std::string dstr;
  501|       |
  502|  8.59k|      if (vi >= v.length())
  ------------------
  |  Branch (502:11): [True: 35, False: 8.55k]
  ------------------
  503|     35|        return false;
  504|  8.55k|      dstr += v[vi++];
  505|       |
  506|  8.55k|      if (vi < v.length())
  ------------------
  |  Branch (506:11): [True: 8.42k, False: 133]
  ------------------
  507|  8.42k|        if ('0' <= v[vi] && v[vi] <= '9')
  ------------------
  |  Branch (507:13): [True: 7.44k, False: 978]
  |  Branch (507:29): [True: 7.38k, False: 59]
  ------------------
  508|  7.38k|          dstr += v[vi++];
  509|       |
  510|  8.55k|      try {
  511|  8.55k|        parse.day = Utils::stoi(dstr);
  512|  8.55k|      } catch (std::exception&) {
  513|    133|        return false;
  514|    133|      }
  515|       |
  516|  8.42k|      break;
  517|  8.55k|    }
  518|    531|    case 2: {
  ------------------
  |  Branch (518:5): [True: 531, False: 11.7k]
  ------------------
  519|    531|      if (vi + 1 >= v.length())
  ------------------
  |  Branch (519:11): [True: 6, False: 525]
  ------------------
  520|      6|        return false;
  521|       |
  522|    525|      std::string dstr = v.substr(vi, 2);
  523|    525|      vi += 2;
  524|       |
  525|    525|      try {
  526|    525|        parse.day = Utils::stoi(dstr);
  527|    525|      } catch (std::exception&) {
  528|     92|        return false;
  529|     92|      }
  530|       |
  531|    433|      break;
  532|    525|    }
  533|  2.79k|    case 3:
  ------------------
  |  Branch (533:5): [True: 2.79k, False: 9.50k]
  ------------------
  534|  2.79k|      if (parseShortDayName(v, vi, localizedString) == -1)
  ------------------
  |  Branch (534:11): [True: 2.44k, False: 353]
  ------------------
  535|  2.44k|        return false;
  536|    353|      break;
  537|    359|    case 4:
  ------------------
  |  Branch (537:5): [True: 359, False: 11.9k]
  ------------------
  538|    359|      if (parseLongDayName(v, vi, localizedString) == -1)
  ------------------
  |  Branch (538:11): [True: 230, False: 129]
  ------------------
  539|    230|        return false;
  540|    129|      break;
  541|    129|    default:
  ------------------
  |  Branch (541:5): [True: 25, False: 12.2k]
  ------------------
  542|     25|      fatalFormatError(format, parse.d, "d's");
  543|  12.3k|    }
  544|       |
  545|  9.33k|    parse.d = 0;
  546|  9.33k|  }
  547|       |
  548|  68.1k|  if (parse.M != 0) {
  ------------------
  |  Branch (548:7): [True: 9.86k, False: 58.3k]
  ------------------
  549|  9.86k|    switch (parse.M) {
  550|  8.36k|    case 1: {
  ------------------
  |  Branch (550:5): [True: 8.36k, False: 1.50k]
  ------------------
  551|  8.36k|      std::string Mstr;
  552|       |
  553|  8.36k|      if (vi >= v.length())
  ------------------
  |  Branch (553:11): [True: 20, False: 8.34k]
  ------------------
  554|     20|        return false;
  555|  8.34k|      Mstr += v[vi++];
  556|       |
  557|  8.34k|      if (vi < v.length())
  ------------------
  |  Branch (557:11): [True: 8.17k, False: 167]
  ------------------
  558|  8.17k|        if ('0' <= v[vi] && v[vi] <= '9')
  ------------------
  |  Branch (558:13): [True: 7.31k, False: 855]
  |  Branch (558:29): [True: 7.19k, False: 123]
  ------------------
  559|  7.19k|          Mstr += v[vi++];
  560|       |
  561|  8.34k|      try {
  562|  8.34k|        parse.month = Utils::stoi(Mstr);
  563|  8.34k|      } catch (std::exception&) {
  564|    199|        return false;
  565|    199|      }
  566|       |
  567|  8.14k|      break;
  568|  8.34k|    }
  569|    690|    case 2: {
  ------------------
  |  Branch (569:5): [True: 690, False: 9.17k]
  ------------------
  570|    690|      if (vi + 1 >= v.length())
  ------------------
  |  Branch (570:11): [True: 13, False: 677]
  ------------------
  571|     13|        return false;
  572|       |
  573|    677|      std::string Mstr = v.substr(vi, 2);
  574|    677|      vi += 2;
  575|       |
  576|    677|      try {
  577|    677|        parse.month = Utils::stoi(Mstr);
  578|    677|      } catch (std::exception&) {
  579|     93|        return false;
  580|     93|      }
  581|       |
  582|    584|      break;
  583|    677|    }
  584|    381|    case 3:
  ------------------
  |  Branch (584:5): [True: 381, False: 9.48k]
  ------------------
  585|    381|      parse.month = parseShortMonthName(v, vi, localizedString);
  586|    381|      if (parse.month == -1)
  ------------------
  |  Branch (586:11): [True: 221, False: 160]
  ------------------
  587|    221|        return false;
  588|    160|      break;
  589|    405|    case 4:
  ------------------
  |  Branch (589:5): [True: 405, False: 9.46k]
  ------------------
  590|    405|      parse.month = parseLongMonthName(v, vi, localizedString);
  591|    405|      if (parse.month == -1)
  ------------------
  |  Branch (591:11): [True: 334, False: 71]
  ------------------
  592|    334|        return false;
  593|     71|      break;
  594|     71|    default:
  ------------------
  |  Branch (594:5): [True: 30, False: 9.83k]
  ------------------
  595|     30|      fatalFormatError(format, parse.M, "M's");
  596|  9.86k|    }
  597|       |
  598|  8.95k|    parse.M = 0;
  599|  8.95k|  }
  600|       |
  601|  67.2k|  if (parse.y != 0) {
  ------------------
  |  Branch (601:7): [True: 1.66k, False: 65.6k]
  ------------------
  602|  1.66k|    switch (parse.y) {
  603|    499|    case 2: {
  ------------------
  |  Branch (603:5): [True: 499, False: 1.16k]
  ------------------
  604|    499|      if (vi + 1 >= v.length())
  ------------------
  |  Branch (604:11): [True: 11, False: 488]
  ------------------
  605|     11|        return false;
  606|       |
  607|    488|      std::string ystr = v.substr(vi, 2);
  608|    488|      vi += 2;
  609|       |
  610|    488|      try {
  611|    488|        parse.year = Utils::stoi(ystr);
  612|    488|        if (parse.year < 38)
  ------------------
  |  Branch (612:13): [True: 309, False: 179]
  ------------------
  613|    309|          parse.year += 2000;
  614|    179|        else
  615|    179|          parse.year += 1900;
  616|    488|      } catch (std::exception&) {
  617|     91|        return false;
  618|     91|      }
  619|       |
  620|    397|      break;
  621|    488|    }
  622|  1.09k|    case 4: {
  ------------------
  |  Branch (622:5): [True: 1.09k, False: 567]
  ------------------
  623|  1.09k|      if (vi + 3 >= v.length())
  ------------------
  |  Branch (623:11): [True: 11, False: 1.08k]
  ------------------
  624|     11|        return false;
  625|       |
  626|  1.08k|      std::string ystr = v.substr(vi, 4);
  627|  1.08k|      vi += 4;
  628|       |
  629|  1.08k|      try {
  630|  1.08k|        parse.year = Utils::stoi(ystr);
  631|  1.08k|      } catch (std::exception&) {
  632|    312|        return false;
  633|    312|      }
  634|       |
  635|    773|      break;
  636|  1.08k|    }
  637|     68|    default:
  ------------------
  |  Branch (637:5): [True: 68, False: 1.59k]
  ------------------
  638|     68|      fatalFormatError(format, parse.y, "y's");
  639|  1.66k|    }
  640|       |
  641|  1.17k|    parse.y = 0;
  642|  1.17k|  }
  643|       |
  644|  66.7k|  return true;
  645|  67.2k|}
WDate.C:_ZN2WtL16fatalFormatErrorERKNS_7WStringEiPKc:
  484|    123|{
  485|    123|  std::stringstream s;
  486|    123|  s << "WDate format syntax error (for \"" << format.toUTF8()
  487|    123|    << "\"): Cannot handle " << c << " consecutive " << cs;
  488|       |
  489|    123|  throw WException(s.str());
  490|    123|}

_ZN2Wt9WDateTimeC2ERKNS_5WDateERKNS_5WTimeE:
   54|  5.18k|    : null_(false)
   55|  5.18k|{
   56|  5.18k|  if (date.isValid() && time.isValid()) {
  ------------------
  |  Branch (56:7): [True: 58, False: 5.12k]
  |  Branch (56:25): [True: 56, False: 2]
  ------------------
   57|     56|    std::chrono::system_clock::time_point d = date.toTimePoint();
   58|     56|    d += std::chrono::hours(time.hour());
   59|     56|    d += std::chrono::minutes(time.minute());
   60|     56|    d += std::chrono::seconds(time.second());
   61|     56|    d += std::chrono::milliseconds(time.msec());
   62|     56|    datetime_ = d;
   63|     56|    invalid_date_time_ = false;
   64|     56|  } else
   65|  5.12k|    invalid_date_time_ = true;
   66|  5.18k|}
_ZN2Wt9WDateTime13defaultFormatEv:
  322|  2.66k|{
  323|  2.66k|  return WString::fromUTF8("ddd MMM d HH:mm:ss yyyy");
  324|  2.66k|}
_ZN2Wt9WDateTime10fromStringERKNS_7WStringEb:
  327|  2.66k|{
  328|  2.66k|  return fromString(s, defaultFormat(), localizedString);
  329|  2.66k|}
_ZN2Wt9WDateTime10fromStringERKNS_7WStringES3_b:
  339|  5.32k|{
  340|  5.32k|  WDate date;
  341|  5.32k|  WTime time;
  342|       |
  343|  5.32k|  fromString(&date, &time, s, format, localizedString);
  344|       |
  345|  5.32k|  return WDateTime(date, time);
  346|  5.32k|}
_ZN2Wt9WDateTime10fromStringEPNS_5WDateEPNS_5WTimeERKNS_7WStringES7_b:
  350|  10.6k|{
  351|  10.6k|  std::string v = s.toUTF8();
  352|  10.6k|  std::string f = format.toUTF8();
  353|       |
  354|  10.6k|  bool inQuote = false;
  355|  10.6k|  bool gotQuoteInQuote = false;
  356|       |
  357|  10.6k|  unsigned vi = 0;
  358|       |
  359|  10.6k|  WDate::ParseState dateParse;
  360|  10.6k|  WTime::ParseState timeParse;
  361|       |
  362|   128k|  for (unsigned fi = 0; fi <= f.length(); ++fi) {
  ------------------
  |  Branch (362:25): [True: 126k, False: 1.90k]
  ------------------
  363|   126k|    bool finished = fi == f.length();
  364|   126k|    char c = !finished ? f[fi] : 0;
  ------------------
  |  Branch (364:14): [True: 122k, False: 4.08k]
  ------------------
  365|       |
  366|   126k|    if (finished && inQuote)
  ------------------
  |  Branch (366:9): [True: 4.08k, False: 122k]
  |  Branch (366:21): [True: 92, False: 3.99k]
  ------------------
  367|     92|      return;
  368|       |
  369|   126k|    if (inQuote) {
  ------------------
  |  Branch (369:9): [True: 1.96k, False: 124k]
  ------------------
  370|  1.96k|      if (c != '\'') {
  ------------------
  |  Branch (370:11): [True: 1.34k, False: 622]
  ------------------
  371|  1.34k|        if (gotQuoteInQuote) {
  ------------------
  |  Branch (371:13): [True: 0, False: 1.34k]
  ------------------
  372|      0|          gotQuoteInQuote = false;
  373|      0|          inQuote = false;
  374|  1.34k|        } else {
  375|  1.34k|          if (vi >= v.length() || (v[vi++] != c))
  ------------------
  |  Branch (375:15): [True: 38, False: 1.30k]
  |  Branch (375:35): [True: 115, False: 1.19k]
  ------------------
  376|    153|            return;
  377|  1.34k|        }
  378|  1.34k|      } else {
  379|    622|        if (gotQuoteInQuote) {
  ------------------
  |  Branch (379:13): [True: 0, False: 622]
  ------------------
  380|      0|          gotQuoteInQuote = false;
  381|      0|          if (vi >= v.length() || (v[vi++] != c))
  ------------------
  |  Branch (381:15): [True: 0, False: 0]
  |  Branch (381:35): [True: 0, False: 0]
  ------------------
  382|      0|            return;
  383|    622|        } else {
  384|    622|          gotQuoteInQuote = true;
  385|    622|          inQuote = false;
  386|    622|        }
  387|    622|      }
  388|   124k|    } else {
  389|   124k|      CharState state = CharState::CharUnhandled;
  390|       |
  391|   124k|      if (date) {
  ------------------
  |  Branch (391:11): [True: 88.6k, False: 35.9k]
  ------------------
  392|  88.6k|        CharState dateState = WDate::handleSpecial(c, v, vi, dateParse, format, localizedString);
  393|  88.6k|        if (dateState == CharState::CharInvalid)
  ------------------
  |  Branch (393:13): [True: 4.24k, False: 84.4k]
  ------------------
  394|  4.24k|          return;
  395|  84.4k|        else if (dateState == CharState::CharHandled)
  ------------------
  |  Branch (395:18): [True: 41.4k, False: 43.0k]
  ------------------
  396|  41.4k|          state = CharState::CharHandled;
  397|  88.6k|      }
  398|       |
  399|   120k|      if (time) {
  ------------------
  |  Branch (399:11): [True: 103k, False: 17.4k]
  ------------------
  400|   103k|        CharState timeState = WTime::handleSpecial(c, v, vi, timeParse, format);
  401|   103k|        if (timeState == CharState::CharInvalid)
  ------------------
  |  Branch (401:13): [True: 1.11k, False: 101k]
  ------------------
  402|  1.11k|          return;
  403|   101k|        else if (timeState == CharState::CharHandled)
  ------------------
  |  Branch (403:18): [True: 63.5k, False: 38.3k]
  ------------------
  404|  63.5k|          state = CharState::CharHandled;
  405|   103k|      }
  406|       |
  407|   119k|      if (!finished && state == CharState::CharUnhandled) {
  ------------------
  |  Branch (407:11): [True: 117k, False: 1.90k]
  |  Branch (407:24): [True: 12.4k, False: 104k]
  ------------------
  408|  12.4k|        if (c == '\'') {
  ------------------
  |  Branch (408:13): [True: 867, False: 11.6k]
  ------------------
  409|    867|          inQuote = true;
  410|    867|          gotQuoteInQuote = false;
  411|    867|        } else
  412|  11.6k|          if (vi >= v.length() || (v[vi++] != c))
  ------------------
  |  Branch (412:15): [True: 326, False: 11.2k]
  |  Branch (412:35): [True: 2.81k, False: 8.46k]
  ------------------
  413|  3.13k|            return;
  414|  12.4k|      }
  415|   119k|    }
  416|   126k|  }
  417|       |
  418|  1.90k|  if (vi < v.length())
  ------------------
  |  Branch (418:7): [True: 743, False: 1.16k]
  ------------------
  419|    743|    return;
  420|       |
  421|  1.16k|  if (date)
  ------------------
  |  Branch (421:7): [True: 684, False: 481]
  ------------------
  422|    684|    *date = WDate(dateParse.year, dateParse.month, dateParse.day);
  423|       |
  424|  1.16k|  if (time) {
  ------------------
  |  Branch (424:7): [True: 652, False: 513]
  ------------------
  425|    652|    if (timeParse.parseAMPM && timeParse.haveAMPM) {
  ------------------
  |  Branch (425:9): [True: 72, False: 580]
  |  Branch (425:32): [True: 6, False: 66]
  ------------------
  426|      6|      if (timeParse.pm)
  ------------------
  |  Branch (426:11): [True: 3, False: 3]
  ------------------
  427|      3|        timeParse.hour = (timeParse.hour % 12) + 12;
  428|      3|      else
  429|      3|        timeParse.hour = timeParse.hour % 12;
  430|      6|    }
  431|       |
  432|    652|    *time = WTime(timeParse.hour, timeParse.minute, timeParse.sec,
  433|    652|                  timeParse.msec);
  434|    652|  }
  435|  1.16k|}

_ZN2Wt10WExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE:
   75|    276|  : what_(what)
   76|       |#endif
   77|    276|{ }
_ZN2Wt10WExceptionD2Ev:
   89|    276|{ }

_ZN2WtorENS_11OrientationES0_:
  370|    348|inline Wt::WFlags<EnumType> operator|(EnumType l, EnumType r) {         \
  371|    348|  Wt::WFlags<EnumType> retval(l);                                       \
  372|    348|  retval |= r;                                                          \
  373|    348|  return retval;                                                        \
  374|    348|}                                                                       \
_ZN2Wt6WFlagsINS_11OrientationEEC2ES1_:
  187|    348|  flags_(static_cast<unsigned int>(flag))
  188|    348|{
  189|    348|}
_ZN2Wt6WFlagsINS_11OrientationEEoRES1_:
  327|    348|{
  328|    348|  flags_ |= static_cast<unsigned int>(other);
  329|    348|  return *this;
  330|    348|}
_ZN2WtorENS_4SideES0_:
  370|  1.04k|inline Wt::WFlags<EnumType> operator|(EnumType l, EnumType r) {         \
  371|  1.04k|  Wt::WFlags<EnumType> retval(l);                                       \
  372|  1.04k|  retval |= r;                                                          \
  373|  1.04k|  return retval;                                                        \
  374|  1.04k|}                                                                       \
_ZN2Wt6WFlagsINS_4SideEEC2ES1_:
  187|  1.04k|  flags_(static_cast<unsigned int>(flag))
  188|  1.04k|{
  189|  1.04k|}
_ZN2Wt6WFlagsINS_4SideEEoRES1_:
  327|  1.04k|{
  328|  1.04k|  flags_ |= static_cast<unsigned int>(other);
  329|  1.04k|  return *this;
  330|  1.04k|}
_ZN2WtorENS_13AlignmentFlagES0_:
  370|    696|inline Wt::WFlags<EnumType> operator|(EnumType l, EnumType r) {         \
  371|    696|  Wt::WFlags<EnumType> retval(l);                                       \
  372|    696|  retval |= r;                                                          \
  373|    696|  return retval;                                                        \
  374|    696|}                                                                       \
_ZN2Wt6WFlagsINS_13AlignmentFlagEEC2ES1_:
  187|    696|  flags_(static_cast<unsigned int>(flag))
  188|    696|{
  189|    696|}
_ZN2Wt6WFlagsINS_13AlignmentFlagEEoRES1_:
  327|    696|{
  328|    696|  flags_ |= static_cast<unsigned int>(other);
  329|    696|  return *this;
  330|    696|}
_ZN2WtorENS_9MatchFlagES0_:
  370|    348|inline Wt::WFlags<EnumType> operator|(EnumType l, EnumType r) {         \
  371|    348|  Wt::WFlags<EnumType> retval(l);                                       \
  372|    348|  retval |= r;                                                          \
  373|    348|  return retval;                                                        \
  374|    348|}                                                                       \
_ZN2Wt6WFlagsINS_9MatchFlagEEC2ES1_:
  187|    348|  flags_(static_cast<unsigned int>(flag))
  188|    348|{
  189|    348|}
_ZN2Wt6WFlagsINS_9MatchFlagEEoRES1_:
  327|    348|{
  328|    348|  flags_ |= static_cast<unsigned int>(other);
  329|    348|  return *this;
  330|    348|}
_ZNK2Wt6WFlagsINS_4SideEEorES1_:
  313|  1.39k|{
  314|  1.39k|  return WFlags<EnumType>::createFromInt
  315|  1.39k|    (flags_ | static_cast<unsigned int>(other));
  316|  1.39k|}
_ZN2Wt6WFlagsINS_4SideEE13createFromIntEi:
  173|  1.39k|  inline static WFlags<EnumType> createFromInt(int flags) {
  174|  1.39k|    return WFlags(flags, false);
  175|  1.39k|  }
_ZN2Wt6WFlagsINS_4SideEEC2Eib:
  172|  1.39k|  WFlags(int flags, bool): flags_(flags) {}
_ZNK2Wt6WFlagsINS_13AlignmentFlagEEorES1_:
  313|  2.78k|{
  314|  2.78k|  return WFlags<EnumType>::createFromInt
  315|  2.78k|    (flags_ | static_cast<unsigned int>(other));
  316|  2.78k|}
_ZN2Wt6WFlagsINS_13AlignmentFlagEE13createFromIntEi:
  173|  2.78k|  inline static WFlags<EnumType> createFromInt(int flags) {
  174|  2.78k|    return WFlags(flags, false);
  175|  2.78k|  }
_ZN2Wt6WFlagsINS_13AlignmentFlagEEC2Eib:
  172|  2.78k|  WFlags(int flags, bool): flags_(flags) {}
_ZNK2Wt6WFlagsINS_9MatchFlagEEorES1_:
  313|  1.39k|{
  314|  1.39k|  return WFlags<EnumType>::createFromInt
  315|  1.39k|    (flags_ | static_cast<unsigned int>(other));
  316|  1.39k|}
_ZN2Wt6WFlagsINS_9MatchFlagEE13createFromIntEi:
  173|  1.39k|  inline static WFlags<EnumType> createFromInt(int flags) {
  174|  1.39k|    return WFlags(flags, false);
  175|  1.39k|  }
_ZN2Wt6WFlagsINS_9MatchFlagEEC2Eib:
  172|  1.39k|  WFlags(int flags, bool): flags_(flags) {}
_ZN2WtorENS_19ValidationStyleFlagES0_:
  370|     58|inline Wt::WFlags<EnumType> operator|(EnumType l, EnumType r) {         \
  371|     58|  Wt::WFlags<EnumType> retval(l);                                       \
  372|     58|  retval |= r;                                                          \
  373|     58|  return retval;                                                        \
  374|     58|}                                                                       \
_ZN2Wt6WFlagsINS_19ValidationStyleFlagEEC2ES1_:
  187|     58|  flags_(static_cast<unsigned int>(flag))
  188|     58|{
  189|     58|}
_ZN2Wt6WFlagsINS_19ValidationStyleFlagEEoRES1_:
  327|     58|{
  328|     58|  flags_ |= static_cast<unsigned int>(other);
  329|     58|  return *this;
  330|     58|}
_ZN2WtorENS_7WSlider12TickPositionES1_:
  370|      2|inline Wt::WFlags<EnumType> operator|(EnumType l, EnumType r) {         \
  371|      2|  Wt::WFlags<EnumType> retval(l);                                       \
  372|      2|  retval |= r;                                                          \
  373|      2|  return retval;                                                        \
  374|      2|}                                                                       \
_ZN2Wt6WFlagsINS_7WSlider12TickPositionEEoRES2_:
  327|      2|{
  328|      2|  flags_ |= static_cast<unsigned int>(other);
  329|      2|  return *this;
  330|      2|}
_ZN2Wt6WFlagsINS_7WSlider12TickPositionEEC2ES2_:
  187|      2|  flags_(static_cast<unsigned int>(flag))
  188|      2|{
  189|      2|}
_ZN2Wt6WFlagsINS_7WSlider12TickPositionEEC2ENS_11NoFlagsTypeE:
  193|      2|  : flags_(0)
  194|      2|{ }

_ZN2Wt26WJavaScriptExposableObjectC2Ev:
   17|      2|  : clientBinding_(nullptr)
   18|      2|{ }
_ZNK2Wt26WJavaScriptExposableObject17isJavaScriptBoundEv:
   46|      2|{
   47|      2|  return clientBinding_;
   48|      2|}
_ZNK2Wt26WJavaScriptExposableObject15checkModifiableEv:
   93|      2|{
   94|      2|  if (isJavaScriptBound()) {
  ------------------
  |  Branch (94:7): [True: 0, False: 2]
  ------------------
   95|      0|    throw WException("Trying to modify a JavaScript bound object!");
   96|      0|  }
   97|      2|}

_ZN2Wt7WLengthC2Ev:
   24|      2|  : auto_(true),
   25|      2|    unit_(LengthUnit::Pixel),
   26|      2|    value_(-1)
   27|      2|{ }

_ZN2Wt7WLocaleC2Ev:
   16|      2|  : decimalPoint_("."),
   17|      2|    groupSeparator_(""),
   18|      2|    dateFormat_("yyyy-MM-dd"),
   19|      2|    timeFormat_("HH:mm:ss"),
   20|      2|    dateTimeFormat_("yyyy-MM-dd HH:mm:ss"),
   21|      2|    timeZone_(nullptr)
   22|      2|{ }

_ZN2Wt9WLogEntryD2Ev:
   38|  1.12k|{
   39|  1.12k|  if (impl_) {
  ------------------
  |  Branch (39:7): [True: 1.12k, False: 0]
  ------------------
   40|  1.12k|    impl_->finish();
   41|  1.12k|    if (impl_->logger_)
  ------------------
  |  Branch (41:9): [True: 1.12k, False: 0]
  ------------------
   42|  1.12k|      impl_->logger_->addLine(impl_->type_, impl_->scope_, impl_->line_);
   43|      0|    else if (impl_->customLogger_)
  ------------------
  |  Branch (43:14): [True: 0, False: 0]
  ------------------
   44|      0|      impl_->customLogger_->log(impl_->type_, impl_->scope_, impl_->line_.str());
   45|  1.12k|  }
   46|  1.12k|}
_ZN2Wt9WLogEntrylsEPKc:
   77|  3.82k|{
   78|  3.82k|  return *this << std::string(s);
   79|  3.82k|}
_ZN2Wt9WLogEntrylsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE:
   89|  3.82k|{
   90|  3.82k|  if (impl_) {
  ------------------
  |  Branch (90:7): [True: 3.82k, False: 0]
  ------------------
   91|  3.82k|    if (impl_->quote()) {
  ------------------
  |  Branch (91:9): [True: 0, False: 3.82k]
  ------------------
   92|      0|      startField();
   93|       |
   94|      0|      std::string ss(s);
   95|      0|      Utils::replace(ss, '"', "\"\"");
   96|       |
   97|      0|      impl_->line_ << ss;
   98|  3.82k|    } else {
   99|  3.82k|      if (!s.empty()) {
  ------------------
  |  Branch (99:11): [True: 3.82k, False: 0]
  ------------------
  100|  3.82k|        startField();
  101|  3.82k|        impl_->line_ << s;
  102|  3.82k|      }
  103|  3.82k|    }
  104|       |
  105|  3.82k|    if ((impl_->customLogger_ ||
  ------------------
  |  Branch (105:10): [True: 0, False: 3.82k]
  ------------------
  106|  3.82k|         impl_->field_ == (int)impl_->logger_->fields().size() - 1)
  ------------------
  |  Branch (106:10): [True: 0, False: 3.82k]
  ------------------
  107|      0|        && impl_->scope_.empty())
  ------------------
  |  Branch (107:12): [True: 0, False: 0]
  ------------------
  108|      0|      impl_->scope_ = s;
  109|  3.82k|  }
  110|       |
  111|  3.82k|  return *this;
  112|  3.82k|}
_ZN2Wt9WLogEntrylsEi:
  125|    604|{
  126|    604|  startField();
  127|       |
  128|    604|  if (impl_)
  ------------------
  |  Branch (128:7): [True: 604, False: 0]
  ------------------
  129|    604|    impl_->line_ << v;
  130|       |
  131|    604|  return *this;
  132|    604|}
_ZN2Wt9WLogEntryC2ERKNS_7WLoggerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb:
  156|  1.12k|{
  157|  1.12k|  if (!mute)
  ------------------
  |  Branch (157:7): [True: 1.12k, False: 0]
  ------------------
  158|  1.12k|    impl_.reset(new Impl(logger, type));
  159|  1.12k|}
_ZN2Wt9WLogEntry10startFieldEv:
  168|  4.42k|{
  169|  4.42k|  if (impl_)
  ------------------
  |  Branch (169:7): [True: 4.42k, False: 0]
  ------------------
  170|  4.42k|    impl_->startField();
  171|  4.42k|}
_ZN2Wt9WLogEntry4ImplC2ERKNS_7WLoggerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE:
  174|  1.12k|  : logger_(&logger),
  175|  1.12k|    customLogger_(nullptr),
  176|  1.12k|    type_(type),
  177|  1.12k|    field_(0),
  178|  1.12k|    fieldStarted_(false)
  179|  1.12k|{ }
_ZN2Wt9WLogEntry4Impl10startFieldEv:
  191|  4.42k|{
  192|  4.42k|  if (!fieldStarted_) {
  ------------------
  |  Branch (192:7): [True: 1.12k, False: 3.30k]
  ------------------
  193|  1.12k|    if (quote())
  ------------------
  |  Branch (193:9): [True: 0, False: 1.12k]
  ------------------
  194|      0|      line_ << '"';
  195|  1.12k|    fieldStarted_ = true;
  196|  1.12k|  }
  197|  4.42k|}
_ZN2Wt9WLogEntry4Impl11finishFieldEv:
  200|  1.12k|{
  201|  1.12k|  if (fieldStarted_) {
  ------------------
  |  Branch (201:7): [True: 1.12k, False: 0]
  ------------------
  202|  1.12k|    if (quote())
  ------------------
  |  Branch (202:9): [True: 0, False: 1.12k]
  ------------------
  203|      0|      line_ << '"';
  204|  1.12k|  } else
  205|      0|    line_ << '-';
  206|  1.12k|}
_ZN2Wt9WLogEntry4Impl6finishEv:
  218|  1.12k|{
  219|  1.12k|  if (!customLogger_) {
  ------------------
  |  Branch (219:7): [True: 1.12k, False: 0]
  ------------------
  220|  1.12k|    while (field_ < (int)logger_->fields().size() - 1)
  ------------------
  |  Branch (220:12): [True: 0, False: 1.12k]
  ------------------
  221|      0|      nextField();
  222|  1.12k|  }
  223|       |
  224|  1.12k|  finishField();
  225|  1.12k|}
_ZNK2Wt9WLogEntry4Impl5quoteEv:
  228|  6.07k|{
  229|  6.07k|  if (customLogger_)
  ------------------
  |  Branch (229:7): [True: 0, False: 6.07k]
  ------------------
  230|      0|    return false;
  231|  6.07k|  else if (field_ < (int)logger_->fields().size())
  ------------------
  |  Branch (231:12): [True: 0, False: 6.07k]
  ------------------
  232|      0|    return logger_->fields()[field_].isString();
  233|  6.07k|  else
  234|  6.07k|    return false;
  235|  6.07k|}
_ZN2Wt7WLoggerC2Ev:
  247|      2|  : o_(&std::cerr),
  248|      2|    ownStream_(false),
  249|      2|    useLock_(true)
  250|      2|{
  251|      2|  Rule r;
  252|      2|  r.type = "*";
  253|      2|  r.scope = "*";
  254|      2|  r.include = true;
  255|      2|  rules_.push_back(r);
  256|      2|  r.type = "debug";
  257|      2|  r.include = false;
  258|      2|  rules_.push_back(r);
  259|      2|}
_ZNK2Wt7WLogger5entryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE:
  322|  1.12k|{
  323|  1.12k|  return WLogEntry(*this, type, !logging(type));
  324|  1.12k|}
_ZNK2Wt7WLogger7addLineERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_RKNS_13WStringStreamE:
  328|  1.12k|{
  329|  1.12k|  if (logging(type, scope)) {
  ------------------
  |  Branch (329:7): [True: 1.12k, False: 0]
  ------------------
  330|  1.12k|    std::unique_lock<std::mutex> l;
  331|  1.12k|    if (useLock_) {
  ------------------
  |  Branch (331:9): [True: 1.12k, False: 0]
  ------------------
  332|  1.12k|      l = std::unique_lock<std::mutex>(addLineLock_);
  333|  1.12k|    }
  334|       |
  335|  1.12k|    if (o_) {
  ------------------
  |  Branch (335:9): [True: 1.12k, False: 0]
  ------------------
  336|  1.12k|      *o_ << s.str() << std::endl;
  337|  1.12k|    }
  338|  1.12k|  }
  339|  1.12k|}
_ZNK2Wt7WLogger7loggingERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE:
  374|  1.12k|{
  375|  1.12k|  return logging(type.c_str());
  376|  1.12k|}
_ZNK2Wt7WLogger7loggingEPKc:
  379|  1.12k|{
  380|  1.12k|  bool result = false;
  381|       |
  382|  3.37k|  for (unsigned i = 0; i < rules_.size(); ++i)
  ------------------
  |  Branch (382:24): [True: 2.24k, False: 1.12k]
  ------------------
  383|  2.24k|    if (rules_[i].type == "*" || rules_[i].type == type) {
  ------------------
  |  Branch (383:9): [True: 1.12k, False: 1.12k]
  |  Branch (383:34): [True: 0, False: 1.12k]
  ------------------
  384|  1.12k|      if (rules_[i].scope == "*")
  ------------------
  |  Branch (384:11): [True: 1.12k, False: 0]
  ------------------
  385|  1.12k|        result = rules_[i].include;
  386|      0|      else if (rules_[i].include)
  ------------------
  |  Branch (386:16): [True: 0, False: 0]
  ------------------
  387|      0|        result = true;
  388|  1.12k|    }
  389|       |
  390|  1.12k|  return result;
  391|  1.12k|}
_ZNK2Wt7WLogger7loggingERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_:
  394|  2.24k|{
  395|  2.24k|  bool result = false;
  396|       |
  397|  6.74k|  for (unsigned i = 0; i < rules_.size(); ++i)
  ------------------
  |  Branch (397:24): [True: 4.49k, False: 2.24k]
  ------------------
  398|  4.49k|    if (rules_[i].type == "*" || rules_[i].type == type)
  ------------------
  |  Branch (398:9): [True: 2.24k, False: 2.24k]
  |  Branch (398:34): [True: 0, False: 2.24k]
  ------------------
  399|  2.24k|      if (rules_[i].scope == "*" || rules_[i].scope == scope)
  ------------------
  |  Branch (399:11): [True: 2.24k, False: 0]
  |  Branch (399:37): [True: 0, False: 0]
  ------------------
  400|  2.24k|        result = rules_[i].include;
  401|       |
  402|  2.24k|  return result;
  403|  2.24k|}
_ZN2Wt7loggingERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_:
  432|  1.12k|{
  433|       |#ifdef WT_DBO_LOGGER
  434|       |  if (customLogger_)
  435|       |    return customLogger_->logging(type, scope);
  436|       |
  437|       |  return true;
  438|       |#else // WT_DBO_LOGGER
  439|  1.12k|  WebSession *session = WebSession::instance();
  440|       |
  441|  1.12k|  Wt::WServer *server = session ? session->controller()->server() : WServer::instance();
  ------------------
  |  Branch (441:25): [True: 0, False: 1.12k]
  ------------------
  442|  1.12k|  if (server) {
  ------------------
  |  Branch (442:7): [True: 0, False: 1.12k]
  ------------------
  443|      0|    if (server->customLogger())
  ------------------
  |  Branch (443:9): [True: 0, False: 0]
  ------------------
  444|      0|      return server->customLogger()->logging(type, scope);
  445|      0|    else
  446|      0|      return server->logger().logging(type, scope);
  447|  1.12k|  } else {
  448|  1.12k|    return defaultLogger.logging(type, scope);
  449|  1.12k|  }
  450|  1.12k|#endif // WT_DBO_LOGGER
  451|  1.12k|}
_ZN2Wt3logERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE:
  454|  1.12k|{
  455|       |#ifdef WT_DBO_LOGGER
  456|       |  if (customLogger_) {
  457|       |    return WLogEntry(*customLogger_, type);
  458|       |  }
  459|       |
  460|       |  return defaultLogger.entry(type);
  461|       |#else // WT_DBO_LOGGER
  462|  1.12k|  WebSession *session = WebSession::instance();
  463|       |
  464|  1.12k|  if (session)
  ------------------
  |  Branch (464:7): [True: 0, False: 1.12k]
  ------------------
  465|      0|    return session->log(type);
  466|  1.12k|  else {
  467|  1.12k|    WServer *server = WServer::instance();
  468|       |
  469|  1.12k|    if (server)
  ------------------
  |  Branch (469:9): [True: 0, False: 1.12k]
  ------------------
  470|      0|      return server->log(type);
  471|  1.12k|    else
  472|  1.12k|      return defaultLogger.entry(type);
  473|  1.12k|  }
  474|  1.12k|#endif // WT_DBO_LOGGER
  475|  1.12k|}

_ZNK2Wt7WLogger6fieldsEv:
  231|  11.0k|  const std::vector<Field>& fields() const { return fields_; }

_ZN2Wt7WServer8instanceEv:
  227|  2.24k|  static WServer *instance() { return instance_; }

_ZN2Wt7WStringC2Ev:
   28|      2|  : impl_(nullptr)
   29|      2|{ }
_ZN2Wt7WStringC2EPKcNS_12CharEncodingE:
   71|  26.5k|  : impl_(nullptr)
   72|  26.5k|{
   73|  26.5k|  if (value) {
  ------------------
  |  Branch (73:7): [True: 26.5k, False: 0]
  ------------------
   74|  26.5k|    if (realEncoding(encoding) == CharEncoding::UTF8)
  ------------------
  |  Branch (74:9): [True: 26.5k, False: 0]
  ------------------
   75|  26.5k|      utf8_ = value;
   76|      0|    else
   77|      0|      utf8_ = Wt::toUTF8(value);
   78|  26.5k|  }
   79|  26.5k|}
_ZN2Wt7WStringC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_12CharEncodingE:
   82|  5.32k|  : impl_(nullptr)
   83|  5.32k|{
   84|  5.32k|  if (realEncoding(encoding) == CharEncoding::UTF8)
  ------------------
  |  Branch (84:7): [True: 5.32k, False: 0]
  ------------------
   85|  5.32k|    utf8_ = value;
   86|      0|  else
   87|      0|    utf8_ = Wt::toUTF8(value);
   88|  5.32k|}
_ZN2Wt7WStringD2Ev:
  133|  31.8k|{
  134|  31.8k|  delete impl_;
  135|  31.8k|}
_ZN2Wt7WString8fromUTF8ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb:
  262|  5.32k|{
  263|  5.32k|  WString result(value, CharEncoding::UTF8);
  264|  5.32k|  if (checkValid)
  ------------------
  |  Branch (264:7): [True: 0, False: 5.32k]
  ------------------
  265|      0|    checkUTF8Encoding(result.utf8_);
  266|  5.32k|  return result;
  267|  5.32k|}
_ZN2Wt7WString8fromUTF8EPKcb:
  278|  26.4k|{
  279|  26.4k|  WString result(value, CharEncoding::UTF8);
  280|  26.4k|  if (checkValid)
  ------------------
  |  Branch (280:7): [True: 0, False: 26.4k]
  ------------------
  281|      0|    checkUTF8Encoding(result.utf8_);
  282|  26.4k|  return result;
  283|  26.4k|}
_ZNK2Wt7WString6toUTF8B5cxx11Ev:
  349|  45.3k|{
  350|  45.3k|  if (impl_) {
  ------------------
  |  Branch (350:7): [True: 0, False: 45.3k]
  ------------------
  351|      0|    std::string result = utf8_;
  352|       |
  353|      0|    if (!impl_->key_.empty())
  ------------------
  |  Branch (353:9): [True: 0, False: 0]
  ------------------
  354|      0|      result = resolveKey(TextFormat::Plain);
  355|       |
  356|      0|    for (unsigned i = 0; i < impl_->arguments_.size(); ++i) {
  ------------------
  |  Branch (356:26): [True: 0, False: 0]
  ------------------
  357|      0|      std::string key = '{' + std::to_string(i+1) + '}';
  358|      0|      Wt::Utils::replace(result, key, impl_->arguments_[i].toUTF8());
  359|      0|    }
  360|       |
  361|      0|    return result;
  362|      0|  } else
  363|  45.3k|    return utf8_;
  364|  45.3k|}
_ZN2Wt7WString12realEncodingENS_12CharEncodingE:
  613|  31.8k|{
  614|  31.8k|  return encoding == CharEncoding::Default
  ------------------
  |  Branch (614:10): [True: 6, False: 31.8k]
  ------------------
  615|  31.8k|    ? defaultEncoding_ : encoding;
  616|  31.8k|}

_ZN2Wt13WStringStreamC2Ev:
   34|  1.12k|  : sink_(0),
   35|  1.12k|    buf_(static_buf_),
   36|  1.12k|    buf_i_(0)
   37|  1.12k|{ }
_ZN2Wt13WStringStreamD2Ev:
   53|  1.12k|{
   54|  1.12k|  flushSink();
   55|       |
   56|  1.12k|  clear();
   57|  1.12k|}
_ZN2Wt13WStringStream5clearEv:
   60|  1.12k|{
   61|  1.12k|  buf_i_ = 0;
   62|       |
   63|  1.12k|  for (unsigned int i = 0; i < bufs_.size(); ++i)
  ------------------
  |  Branch (63:28): [True: 0, False: 1.12k]
  ------------------
   64|      0|    if (bufs_[i].first != static_buf_)
  ------------------
  |  Branch (64:9): [True: 0, False: 0]
  ------------------
   65|      0|      delete[] bufs_[i].first;
   66|       |
   67|  1.12k|  bufs_.clear();
   68|       |
   69|  1.12k|  if (buf_ != static_buf_)
  ------------------
  |  Branch (69:7): [True: 0, False: 1.12k]
  ------------------
   70|      0|    delete[] buf_;
   71|       |
   72|  1.12k|  buf_ = static_buf_;
   73|  1.12k|}
_ZNK2Wt13WStringStream6lengthEv:
   81|  1.12k|{
   82|  1.12k|  std::size_t result = buf_i_;
   83|       |
   84|  1.12k|  for (unsigned int i = 0; i < bufs_.size(); ++i)
  ------------------
  |  Branch (84:28): [True: 0, False: 1.12k]
  ------------------
   85|      0|    result += bufs_[i].second;
   86|       |
   87|  1.12k|  return result;
   88|  1.12k|}
_ZN2Wt13WStringStream9flushSinkEv:
   91|  1.12k|{
   92|  1.12k|  if (sink_) {
  ------------------
  |  Branch (92:7): [True: 0, False: 1.12k]
  ------------------
   93|      0|    sink_->write(buf_, buf_i_);
   94|      0|    buf_i_ = 0;
   95|      0|  }
   96|  1.12k|}
_ZN2Wt13WStringStreamlsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE:
  124|  3.82k|{
  125|  3.82k|  append(s.data(), s.length());
  126|       |
  127|  3.82k|  return *this;
  128|  3.82k|}
_ZN2Wt13WStringStreamlsEi:
  131|    604|{
  132|    604|  char buf[20];
  133|    604|  Utils::itoa(v, buf);
  134|    604|  return *this << buf;
  135|    604|}
_ZN2Wt13WStringStream6appendEPKci:
  167|  4.42k|{
  168|  4.42k|  if (buf_i_ + length > buf_len()) {
  ------------------
  |  Branch (168:7): [True: 0, False: 4.42k]
  ------------------
  169|      0|    pushBuf();
  170|       |
  171|      0|    if (length > buf_len()) {
  ------------------
  |  Branch (171:9): [True: 0, False: 0]
  ------------------
  172|      0|      if (sink_) {
  ------------------
  |  Branch (172:11): [True: 0, False: 0]
  ------------------
  173|      0|        sink_->write(s, length);
  174|      0|        return;
  175|      0|      } else {
  176|      0|        char *buf = new char[length];
  177|      0|        std::memcpy(buf, s, length);
  178|      0|        bufs_.push_back(std::make_pair(buf, length));
  179|      0|        return;
  180|      0|      }
  181|      0|    }
  182|      0|  }
  183|       |
  184|  4.42k|  std::memcpy(buf_ + buf_i_, s, length);
  185|  4.42k|  buf_i_ += length;
  186|  4.42k|}
_ZNK2Wt13WStringStream3strB5cxx11Ev:
  198|  1.12k|{
  199|  1.12k|  std::string result;
  200|  1.12k|  result.reserve(length());
  201|       |
  202|  1.12k|  for (unsigned int i = 0; i < bufs_.size(); ++i)
  ------------------
  |  Branch (202:28): [True: 0, False: 1.12k]
  ------------------
  203|      0|    result.append(bufs_[i].first, bufs_[i].second);
  204|       |
  205|  1.12k|  result.append(buf_, buf_i_);
  206|       |
  207|  1.12k|  return result;
  208|  1.12k|}

_ZN2Wt13WStringStreamlsEPKc:
  119|    604|  {
  120|    604|    append(s, std::strlen(s));
  121|       |
  122|    604|    return *this;
  123|    604|  }
_ZNK2Wt13WStringStream7buf_lenEv:
  219|  4.42k|    { return buf_ == static_buf_ ? static_cast<int>(S_LEN)
  ------------------
  |  Branch (219:14): [True: 4.42k, False: 0]
  ------------------
  220|  4.42k|        : static_cast<int>(D_LEN); }

_ZN2Wt5WTimeC2Ev:
   23|  7.98k|  : valid_(false),
   24|  7.98k|    null_(true),
   25|  7.98k|    time_(0)
   26|  7.98k|{ }
_ZN2Wt5WTimeC2Eiiii:
   29|    652|  : valid_(false),
   30|    652|    null_(false),
   31|    652|    time_(0)
   32|    652|{
   33|    652|  setHMS(h, m, s, ms);
   34|    652|}
_ZN2Wt5WTime6setHMSEiiii:
   48|    652|{
   49|    652|  null_ = false;
   50|    652|  if (   m >= 0 && m <= 59
  ------------------
  |  Branch (50:10): [True: 621, False: 31]
  |  Branch (50:20): [True: 593, False: 28]
  ------------------
   51|    593|         && s >= 0 && s <= 59
  ------------------
  |  Branch (51:13): [True: 569, False: 24]
  |  Branch (51:23): [True: 548, False: 21]
  ------------------
   52|    548|         && ms >= 0 && ms <= 999) {
  ------------------
  |  Branch (52:13): [True: 501, False: 47]
  |  Branch (52:24): [True: 501, False: 0]
  ------------------
   53|    501|    valid_ = true;
   54|    501|    bool negative = h < 0;
   55|       |
   56|    501|    if (negative)
  ------------------
  |  Branch (56:9): [True: 31, False: 470]
  ------------------
   57|     31|      h = -h;
   58|       |
   59|    501|    time_ = ((h * 60 + m) * 60 + s) * 1000 + ms;
   60|       |
   61|    501|    if (negative)
  ------------------
  |  Branch (61:9): [True: 31, False: 470]
  ------------------
   62|     31|      time_ = -time_;
   63|    501|  } else {
   64|    151|    LOG_WARN("Invalid time: " << h << ":" << m << ":" << s << "." << ms);
  ------------------
  |  |  523|    151|#   define LOG_WARN(m) do { \
  |  |  524|    151|    if ( WT_LOGGING("warning", WT_LOGGER)) \
  |  |  ------------------
  |  |  |  |  501|    151|#     define WT_LOGGING Wt::logging
  |  |  ------------------
  |  |                   if ( WT_LOGGING("warning", WT_LOGGER)) \
  |  |  ------------------
  |  |  |  |  500|    151|#     define WT_LOGGER Wt::logger
  |  |  ------------------
  |  |  |  Branch (524:10): [True: 151, False: 0]
  |  |  ------------------
  |  |  525|    151|      WT_LOG("warning") << WT_LOGGER << ": " << m; \
  |  |  ------------------
  |  |  |  |  499|  1.66k|#     define WT_LOG Wt::log
  |  |  ------------------
  |  |                     WT_LOG("warning") << WT_LOGGER << ": " << m; \
  |  |  ------------------
  |  |  |  |  500|    151|#     define WT_LOGGER Wt::logger
  |  |  ------------------
  |  |  526|    151|    } while(0)
  |  |  ------------------
  |  |  |  Branch (526:13): [Folded, False: 151]
  |  |  ------------------
  ------------------
   65|    151|  }
   66|       |
   67|    652|  return valid_;
   68|    652|}
_ZNK2Wt5WTime4hourEv:
   84|     56|{
   85|     56|  return time_ / (1000 * 60 * 60);
   86|     56|}
_ZNK2Wt5WTime6minuteEv:
   89|     56|{
   90|     56|  return (std::abs((int)time_) / (1000 * 60)) % 60;
   91|     56|}
_ZNK2Wt5WTime6secondEv:
   94|     56|{
   95|     56|  return (std::abs((int)time_) / 1000) % 60;
   96|     56|}
_ZNK2Wt5WTime4msecEv:
   99|     56|{
  100|     56|  return std::abs((int)time_) % 1000;
  101|     56|}
_ZN2Wt5WTime10ParseStateC2Ev:
  170|  10.6k|{
  171|  10.6k|  h = m = s = z = a = 0;
  172|  10.6k|  hour = minute = sec = msec = 0;
  173|  10.6k|  pm = parseAMPM = haveAMPM = false;
  174|  10.6k|}
_ZN2Wt5WTime10fromStringERKNS_7WStringES3_:
  177|  2.66k|{
  178|  2.66k|  WTime result;
  179|  2.66k|  WDateTime::fromString(nullptr, &result, s, format, true);
  180|  2.66k|  return result;
  181|  2.66k|}
_ZN2Wt5WTime13handleSpecialEcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERjRNS0_10ParseStateERKNS_7WStringE:
  186|   103k|{
  187|   103k|  switch (c) {
  188|  13.3k|    case 'H':
  ------------------
  |  Branch (188:5): [True: 13.3k, False: 89.6k]
  ------------------
  189|  30.7k|    case 'h':
  ------------------
  |  Branch (189:5): [True: 17.3k, False: 85.6k]
  ------------------
  190|  30.7k|      parse.parseAMPM = c == 'h';
  191|       |
  192|  30.7k|      if (parse.h == 0)
  ------------------
  |  Branch (192:11): [True: 23.0k, False: 7.66k]
  ------------------
  193|  23.0k|        if (!parseLast(v, vi, parse, format))
  ------------------
  |  Branch (193:13): [True: 44, False: 23.0k]
  ------------------
  194|     44|          return WDateTime::CharState::CharInvalid;
  195|       |
  196|  30.7k|      ++parse.h;
  197|  30.7k|      return WDateTime::CharState::CharHandled;
  198|       |
  199|  1.67k|    case 'm':
  ------------------
  |  Branch (199:5): [True: 1.67k, False: 101k]
  ------------------
  200|  1.67k|      if (parse.m == 0)
  ------------------
  |  Branch (200:11): [True: 567, False: 1.11k]
  ------------------
  201|    567|        if (!parseLast(v, vi, parse, format))
  ------------------
  |  Branch (201:13): [True: 13, False: 554]
  ------------------
  202|     13|          return WDateTime::CharState::CharInvalid;
  203|       |
  204|  1.66k|      ++parse.m;
  205|  1.66k|      return WDateTime::CharState::CharHandled;
  206|       |
  207|  1.82k|    case 's':
  ------------------
  |  Branch (207:5): [True: 1.82k, False: 101k]
  ------------------
  208|  1.82k|      if (parse.s == 0)
  ------------------
  |  Branch (208:11): [True: 480, False: 1.34k]
  ------------------
  209|    480|        if (!parseLast(v, vi, parse, format))
  ------------------
  |  Branch (209:13): [True: 5, False: 475]
  ------------------
  210|      5|          return WDateTime::CharState::CharInvalid;
  211|       |
  212|  1.82k|      ++parse.s;
  213|  1.82k|      return WDateTime::CharState::CharHandled;
  214|       |
  215|  24.7k|    case 'z':
  ------------------
  |  Branch (215:5): [True: 24.7k, False: 78.2k]
  ------------------
  216|  24.7k|      if (parse.z == 0)
  ------------------
  |  Branch (216:11): [True: 23.0k, False: 1.71k]
  ------------------
  217|  23.0k|        if (!parseLast(v, vi, parse, format))
  ------------------
  |  Branch (217:13): [True: 44, False: 23.0k]
  ------------------
  218|     44|          return WDateTime::CharState::CharInvalid;
  219|       |
  220|  24.7k|      ++parse.z;
  221|  24.7k|      return WDateTime::CharState::CharHandled;
  222|       |
  223|    530|    case 'A':
  ------------------
  |  Branch (223:5): [True: 530, False: 102k]
  ------------------
  224|  4.64k|    case 'a':
  ------------------
  |  Branch (224:5): [True: 4.11k, False: 98.9k]
  ------------------
  225|  4.64k|      if (!parseLast(v, vi, parse, format))
  ------------------
  |  Branch (225:11): [True: 45, False: 4.60k]
  ------------------
  226|     45|        return WDateTime::CharState::CharInvalid;
  227|       |
  228|  4.60k|      parse.a = 1;
  229|  4.60k|      return WDateTime::CharState::CharHandled;
  230|       |
  231|    217|    case 'P':
  ------------------
  |  Branch (231:5): [True: 217, False: 102k]
  ------------------
  232|    569|    case 'p':
  ------------------
  |  Branch (232:5): [True: 352, False: 102k]
  ------------------
  233|    569|      if (parse.a == 1) {
  ------------------
  |  Branch (233:11): [True: 83, False: 486]
  ------------------
  234|     83|        if (!parseLast(v, vi, parse, format))
  ------------------
  |  Branch (234:13): [True: 17, False: 66]
  ------------------
  235|     17|          return WDateTime::CharState::CharInvalid;
  236|       |
  237|     66|        return WDateTime::CharState::CharHandled;
  238|     83|      }
  239|       |
  240|    486|    WT_FALLTHROUGH
  ------------------
  |  |   99|    486|#   define WT_FALLTHROUGH [[fallthrough]];
  ------------------
  241|       |
  242|  39.2k|    default:
  ------------------
  |  Branch (242:5): [True: 38.7k, False: 64.2k]
  ------------------
  243|  39.2k|      if (!parseLast(v, vi, parse, format))
  ------------------
  |  Branch (243:11): [True: 942, False: 38.3k]
  ------------------
  244|    942|        return WDateTime::CharState::CharInvalid;
  245|       |
  246|  38.3k|      return WDateTime::CharState::CharUnhandled;
  247|   103k|  }
  248|   103k|}
_ZN2Wt5WTime9parseLastERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERjRNS0_10ParseStateERKNS_7WStringE:
  261|  91.1k|{
  262|  91.1k|  const char *letter[] = { "h's", "m's", "s'es", "z's" };
  263|       |
  264|   453k|  for (int i = 0; i < 4; ++i) {
  ------------------
  |  Branch (264:19): [True: 363k, False: 90.4k]
  ------------------
  265|   363k|    int *count;
  266|   363k|    int *value;
  267|   363k|    int maxCount = 2;
  268|       |
  269|   363k|    switch (i) {
  ------------------
  |  Branch (269:13): [True: 363k, False: 0]
  ------------------
  270|  91.1k|      case 0:
  ------------------
  |  Branch (270:7): [True: 91.1k, False: 272k]
  ------------------
  271|  91.1k|        count = &parse.h;
  272|  91.1k|        value = &parse.hour;
  273|  91.1k|        break;
  274|       |
  275|  90.7k|      case 1:
  ------------------
  |  Branch (275:7): [True: 90.7k, False: 272k]
  ------------------
  276|  90.7k|        count = &parse.m;
  277|  90.7k|        value = &parse.minute;
  278|  90.7k|        break;
  279|       |
  280|  90.6k|      case 2:
  ------------------
  |  Branch (280:7): [True: 90.6k, False: 272k]
  ------------------
  281|  90.6k|        count = &parse.s;
  282|  90.6k|        value = &parse.sec;
  283|  90.6k|        break;
  284|       |
  285|  90.5k|      case 3:
  ------------------
  |  Branch (285:7): [True: 90.5k, False: 272k]
  ------------------
  286|  90.5k|        count = &parse.z;
  287|  90.5k|        value = &parse.msec;
  288|  90.5k|        maxCount = 3;
  289|   363k|    }
  290|       |
  291|   363k|    if (*count != 0) {
  ------------------
  |  Branch (291:9): [True: 47.0k, False: 316k]
  ------------------
  292|  47.0k|      if (*count == 1) {
  ------------------
  |  Branch (292:11): [True: 42.7k, False: 4.34k]
  ------------------
  293|  42.7k|        std::string str;
  294|       |
  295|  42.7k|        if (vi >= v.length())
  ------------------
  |  Branch (295:13): [True: 104, False: 42.6k]
  ------------------
  296|    104|          return false;
  297|       |
  298|  42.6k|        if ((i == 0) && (v[vi] == '-' || v[vi] == '+')) {
  ------------------
  |  Branch (298:13): [True: 18.9k, False: 23.6k]
  |  Branch (298:26): [True: 2.65k, False: 16.3k]
  |  Branch (298:42): [True: 700, False: 15.6k]
  ------------------
  299|  3.35k|          str += v[vi++];
  300|       |
  301|  3.35k|          if (vi >= v.length())
  ------------------
  |  Branch (301:15): [True: 19, False: 3.33k]
  ------------------
  302|     19|            return false;
  303|  3.35k|        }
  304|       |
  305|  42.6k|        str += v[vi++];
  306|       |
  307|   108k|        for (int j = 0; j < maxCount - 1; ++j)
  ------------------
  |  Branch (307:25): [True: 65.4k, False: 42.6k]
  ------------------
  308|  65.4k|          if (vi < v.length())
  ------------------
  |  Branch (308:15): [True: 65.0k, False: 386]
  ------------------
  309|  65.0k|            if ('0' <= v[vi] && v[vi] <= '9')
  ------------------
  |  Branch (309:17): [True: 58.9k, False: 6.13k]
  |  Branch (309:33): [True: 58.7k, False: 200]
  ------------------
  310|  58.7k|              str += v[vi++];
  311|       |
  312|  42.6k|        try {
  313|  42.6k|          *value = Utils::stoi(str);
  314|  42.6k|        } catch (std::exception&) {
  315|    386|          return false;
  316|    386|        }
  317|  42.6k|      } else if (*count == maxCount) {
  ------------------
  |  Branch (317:18): [True: 4.19k, False: 153]
  ------------------
  318|  4.19k|        if (vi + (maxCount - 1) >= v.length())
  ------------------
  |  Branch (318:13): [True: 29, False: 4.16k]
  ------------------
  319|     29|          return false;
  320|       |
  321|  4.16k|        std::string str = v.substr(vi, maxCount);
  322|  4.16k|        vi += maxCount;
  323|       |
  324|  4.16k|        try {
  325|  4.16k|          *value = Utils::stoi(str);
  326|  4.16k|        } catch (std::exception&) {
  327|    206|          return false;
  328|    206|        }
  329|  4.16k|      } else
  330|    153|        fatalFormatError(format, *count, letter[i]);
  331|  47.0k|    }
  332|       |
  333|   362k|    *count = 0;
  334|   362k|  }
  335|       |
  336|  90.4k|  if (parse.a) {
  ------------------
  |  Branch (336:7): [True: 4.60k, False: 85.8k]
  ------------------
  337|  4.60k|    if (vi + 1 >= v.length())
  ------------------
  |  Branch (337:9): [True: 59, False: 4.54k]
  ------------------
  338|     59|      return false;
  339|       |
  340|  4.54k|    std::string str = v.substr(vi, 2);
  341|  4.54k|    vi += 2;
  342|  4.54k|    parse.haveAMPM = true;
  343|       |
  344|  4.54k|    if (str == "am" || str == "AM")
  ------------------
  |  Branch (344:9): [True: 1.23k, False: 3.31k]
  |  Branch (344:24): [True: 274, False: 3.03k]
  ------------------
  345|  1.50k|      parse.pm = false;
  346|  3.03k|    else if (str == "pm" || str == "PM")
  ------------------
  |  Branch (346:14): [True: 417, False: 2.62k]
  |  Branch (346:29): [True: 2.31k, False: 307]
  ------------------
  347|  2.73k|      parse.pm = true;
  348|    307|    else
  349|    307|      return false;
  350|       |
  351|  4.23k|    parse.a = 0;
  352|  4.23k|  }
  353|       |
  354|  90.0k|  return true;
  355|  90.4k|}
WTime.C:_ZN2WtL16fatalFormatErrorERKNS_7WStringEiPKc:
  251|    153|{
  252|    153|  std::stringstream s;
  253|    153|  s << "WTime format syntax error (for \"" << format.toUTF8()
  254|    153|    << "\"): Cannot handle " << c << " consecutive " << cs;
  255|    153|  throw WException(s.str());
  256|    153|}

_ZNK2Wt5WTime7isValidEv:
   95|     58|  bool isValid() const { return valid_; }

_ZN2Wt10WTransformC2Ev:
   29|      2|{
   30|      2|  reset();
   31|      2|}
_ZN2Wt10WTransform5resetEv:
  105|      2|{
  106|      2|  checkModifiable();
  107|      2|  m_[M11] = m_[M22] = 1;
  108|      2|  m_[M21] = m_[M12] = m_[M13] = m_[M23] = 0;
  109|      2|}

DomElement.C:_ZN12_GLOBAL__N_117createCssNamesMapB5cxx11Ev:
  117|      2|{
  118|      2|  CssPropertyMap cssNames;
  119|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePosition, std::string("position"));
  120|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleZIndex,std::string("z-index"));
  121|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleFloat,std::string("float"));
  122|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleClear,std::string("clear"));
  123|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleWidth,std::string("width"));
  124|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleHeight,std::string("height"));
  125|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleLineHeight,std::string("line-height"));
  126|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMinWidth,std::string("min-width"));
  127|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMinHeight,std::string("min-height"));
  128|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMaxWidth,std::string("max-width"));
  129|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMaxHeight,std::string("max-height"));
  130|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleLeft,std::string("left"));
  131|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleRight,std::string("right"));
  132|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleTop,std::string("top"));
  133|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBottom,std::string("bottom"));
  134|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleInsetInline,std::string("inset-inline"));
  135|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleInsetInlineStart,std::string("inset-inline-start"));
  136|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleInsetInlineEnd,std::string("inset-inline-end"));
  137|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleInsetBlock,std::string("inset-block"));
  138|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleInsetBlockStart,std::string("inset-block-start"));
  139|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleInsetBlockEnd,std::string("inset-block-end"));
  140|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleVerticalAlign,std::string("vertical-align"));
  141|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleTextAlign,std::string("text-align"));
  142|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePadding,std::string("padding"));
  143|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePaddingTop,std::string("padding-top"));
  144|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePaddingRight,std::string("padding-right"));
  145|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePaddingBottom,std::string("padding-bottom"));
  146|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePaddingLeft,std::string("padding-left"));
  147|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePaddingInline,std::string("padding-inline"));
  148|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePaddingInlineStart,std::string("padding-inline-start"));
  149|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePaddingInlineEnd,std::string("padding-inline-end"));
  150|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePaddingBlock,std::string("padding-block"));
  151|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePaddingBlockStart,std::string("padding-block-start"));
  152|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePaddingBlockEnd,std::string("padding-block-end"));
  153|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMargin,std::string("margin"));
  154|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMarginTop,std::string("margin-top"));
  155|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMarginRight,std::string("margin-right"));
  156|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMarginBottom,std::string("margin-bottom"));
  157|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMarginLeft,std::string("margin-left"));
  158|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMarginInline,std::string("margin-inline"));
  159|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMarginInlineStart,std::string("margin-inline-start"));
  160|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMarginInlineEnd,std::string("margin-inline-end"));
  161|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMarginBlock,std::string("margin-block"));
  162|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMarginBlockStart,std::string("margin-block-start"));
  163|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleMarginBlockEnd,std::string("margin-block-end"));
  164|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleCursor,std::string("cursor"));
  165|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderTop,std::string("border-top"));
  166|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderRight,std::string("border-right"));
  167|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderBottom,std::string("border-bottom"));
  168|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderLeft,std::string("border-left"));
  169|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderInline,std::string("border-inline"));
  170|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderInlineStart,std::string("border-inline-start"));
  171|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderInlineEnd,std::string("border-inline-end"));
  172|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderBlock,std::string("border-block"));
  173|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderBlockStart,std::string("border-block-start"));
  174|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderBlockEnd,std::string("border-block-end"));
  175|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderColorTop,std::string("border-color-top"));
  176|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderColorRight,std::string("border-color-right"));
  177|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderColorBottom,std::string("border-color-bottom"));
  178|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderColorLeft,std::string("border-color-left"));
  179|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderInlineColor,std::string("border-inline-color"));
  180|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderInlineStartColor,std::string("border-inline-start-color"));
  181|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderInlineEndColor,std::string("border-inline-end-color"));
  182|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderBlockColor,std::string("border-block-color"));
  183|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderBlockStartColor,std::string("border-block-start-color"));
  184|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderBlockEndColor,std::string("border-block-end-color"));
  185|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderWidthTop,std::string("border-width-top"));
  186|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderWidthRight,std::string("border-width-right"));
  187|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderWidthBottom,std::string("border-width-bottom"));
  188|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderWidthLeft,std::string("border-width-left"));
  189|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderInlineWidth,std::string("border-inline-width"));
  190|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderInlineStartWidth,std::string("border-inline-start-width"));
  191|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderInlineEndWidth,std::string("border-inline-end-width"));
  192|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderBlockWidth,std::string("border-block-width"));
  193|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderBlockStartWidth,std::string("border-block-start-width"));
  194|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderBlockEndWidth,std::string("border-block-end-width"));
  195|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleColor,std::string("color"));
  196|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleOverflowX,std::string("overflow-x"));
  197|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleOverflowY,std::string("overflow-y"));
  198|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleOpacity,std::string("opacity"));
  199|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleFontFamily,std::string("font-family"));
  200|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleFontStyle,std::string("font-style"));
  201|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleFontVariant,std::string("font-variant"));
  202|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleFontWeight,std::string("font-weight"));
  203|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleFontSize,std::string("font-size"));
  204|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBackgroundColor,std::string("background-color"));
  205|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBackgroundImage,std::string("background-image"));
  206|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBackgroundRepeat,std::string("background-repeat"));
  207|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBackgroundAttachment,std::string("background-attachment"));
  208|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBackgroundPosition,std::string("background-position"));
  209|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleTextDecoration,std::string("text-decoration"));
  210|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleWhiteSpace,std::string("white-space"));
  211|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleTableLayout,std::string("table-layout"));
  212|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderSpacing,std::string("border-spacing"));
  213|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBorderCollapse,std::string("border-collapse"));
  214|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePageBreakBefore,std::string("page-break-before"));
  215|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePageBreakAfter,std::string("page-break-after"));
  216|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleZoom,std::string("zoom"));
  217|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleVisibility,std::string("visibility"));
  218|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleDisplay,std::string("display"));
  219|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleWebkitAppearance,std::string("-webkit-appearance"));
  220|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleBoxSizing,std::string("box-sizing"));
  221|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleFlex,std::string("flex"));
  222|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleFlexDirection,std::string("flex-direction"));
  223|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleFlexFlow,std::string("flex-flow"));
  224|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleAlignSelf,std::string("align-self"));
  225|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleAnchorName,std::string("anchor-name"));
  226|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePositionAnchor,std::string("position-anchor"));
  227|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePositionArea,std::string("position-area"));
  228|      2|  Wt::Utils::insert(cssNames, Wt::Property::StylePositionTryFallbacks,std::string("position-try-fallbacks"));
  229|      2|  Wt::Utils::insert(cssNames, Wt::Property::StyleJustifyContent,std::string("justify-content"));
  230|      2|  return cssNames;
  231|      2|}
DomElement.C:_ZN12_GLOBAL__N_122createCssCamelNamesMapB5cxx11Ev:
  236|      2|{
  237|      2|  CssPropertyMap cssCamelNames;
  238|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::Style,std::string("cssText"));
  239|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePosition,std::string("position"));
  240|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleZIndex,std::string("zIndex"));
  241|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleFloat,std::string("cssFloat"));
  242|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleClear,std::string("clear"));
  243|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleWidth,std::string("width"));
  244|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleHeight,std::string("height"));
  245|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleLineHeight,std::string("lineHeight"));
  246|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMinWidth,std::string("minWidth"));
  247|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMinHeight,std::string("minHeight"));
  248|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMaxWidth,std::string("maxWidth"));
  249|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMaxHeight,std::string("maxHeight"));
  250|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleLeft,std::string("left"));
  251|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleRight,std::string("right"));
  252|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleTop,std::string("top"));
  253|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBottom,std::string("bottom"));
  254|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleInsetInline,std::string("insetInline"));
  255|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleInsetInlineStart,std::string("insetInlineStart"));
  256|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleInsetInlineEnd,std::string("insetInlineEnd"));
  257|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleInsetBlock,std::string("insetBlock"));
  258|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleInsetBlockStart,std::string("insetBlockStart"));
  259|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleInsetBlockEnd,std::string("insetBlockEnd"));
  260|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleVerticalAlign,std::string("verticalAlign"));
  261|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleTextAlign,std::string("textAlign"));
  262|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePadding,std::string("padding"));
  263|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePaddingTop,std::string("paddingTop"));
  264|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePaddingRight,std::string("paddingRight"));
  265|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePaddingBottom,std::string("paddingBottom"));
  266|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePaddingLeft,std::string("paddingLeft"));
  267|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePaddingInline,std::string("paddingInline"));
  268|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePaddingInlineStart,std::string("paddingInlineStart"));
  269|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePaddingInlineEnd,std::string("paddingInlineEnd"));
  270|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePaddingBlock,std::string("paddingBlock"));
  271|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePaddingBlockStart,std::string("paddingBlockStart"));
  272|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePaddingBlockEnd,std::string("paddingBlockEnd"));
  273|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMargin,std::string("margin"));
  274|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMarginTop,std::string("marginTop"));
  275|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMarginRight,std::string("marginRight"));
  276|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMarginBottom,std::string("marginBottom"));
  277|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMarginLeft,std::string("marginLeft"));
  278|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMarginInline,std::string("marginInline"));
  279|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMarginInlineStart,std::string("marginInlineStart"));
  280|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMarginInlineEnd,std::string("marginInlineEnd"));
  281|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMarginBlock,std::string("marginBlock"));
  282|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMarginBlockStart,std::string("marginBlockStart"));
  283|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleMarginBlockEnd,std::string("marginBlockEnd"));
  284|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleCursor,std::string("cursor"));
  285|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderTop,std::string("borderTop"));
  286|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderRight,std::string("borderRight"));
  287|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderBottom,std::string("borderBottom"));
  288|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderLeft,std::string("borderLeft"));
  289|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderInline,std::string("borderInline"));
  290|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderInlineStart,std::string("borderInlineStart"));
  291|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderInlineEnd,std::string("borderInlineEnd"));
  292|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderBlock,std::string("borderBlock"));
  293|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderBlockStart,std::string("borderBlockStart"));
  294|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderBlockEnd,std::string("borderBlockEnd"));
  295|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderColorTop,std::string("borderColorTop"));
  296|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderColorRight,std::string("borderColorRight"));
  297|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderColorBottom,std::string("borderColorBottom"));
  298|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderColorLeft,std::string("borderColorLeft"));
  299|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderInlineColor,std::string("borderInlineColor"));
  300|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderInlineStartColor,std::string("borderInlineStartColor"));
  301|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderInlineEndColor,std::string("borderInlineEndColor"));
  302|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderBlockColor,std::string("borderBlockColor"));
  303|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderBlockStartColor,std::string("borderBlockStartColor"));
  304|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderBlockEndColor,std::string("borderBlockEndColor"));
  305|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderWidthTop,std::string("borderWidthTop"));
  306|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderWidthRight,std::string("borderWidthRight"));
  307|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderWidthBottom,std::string("borderWidthBottom"));
  308|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderWidthLeft,std::string("borderWidthLeft"));
  309|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderInlineWidth,std::string("borderInlineWidth"));
  310|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderInlineStartWidth,std::string("borderInlineStartWidth"));
  311|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderInlineEndWidth,std::string("borderInlineEndWidth"));
  312|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderBlockWidth,std::string("borderBlockWidth"));
  313|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderBlockStartWidth,std::string("borderBlockStartWidth"));
  314|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderBlockEndWidth,std::string("borderBlockEndWidth"));
  315|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleColor,std::string("color"));
  316|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleOverflowX,std::string("overflowX"));
  317|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleOverflowY,std::string("overflowY"));
  318|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleOpacity,std::string("opacity"));
  319|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleFontFamily,std::string("fontFamily"));
  320|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleFontStyle,std::string("fontStyle"));
  321|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleFontVariant,std::string("fontVariant"));
  322|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleFontWeight,std::string("fontWeight"));
  323|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleFontSize,std::string("fontSize"));
  324|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBackgroundColor,std::string("backgroundColor"));
  325|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBackgroundImage,std::string("backgroundImage"));
  326|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBackgroundRepeat,std::string("backgroundRepeat"));
  327|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBackgroundAttachment,std::string("backgroundAttachment"));
  328|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBackgroundPosition,std::string("backgroundPosition"));
  329|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleTextDecoration,std::string("textDecoration"));
  330|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleWhiteSpace,std::string("whiteSpace"));
  331|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleTableLayout,std::string("tableLayout"));
  332|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderSpacing,std::string("borderSpacing"));
  333|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBorderCollapse,std::string("border-collapse"));
  334|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePageBreakBefore,std::string("pageBreakBefore"));
  335|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePageBreakAfter,std::string("pageBreakAfter"));
  336|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleZoom,std::string("zoom"));
  337|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleVisibility,std::string("visibility"));
  338|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleDisplay,std::string("display"));
  339|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleWebkitAppearance,std::string("webKitAppearance"));
  340|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleBoxSizing,std::string("boxSizing"));
  341|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleFlex,std::string("flex"));
  342|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleFlexDirection,std::string("flexDirection"));
  343|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleFlexFlow,std::string("flexFlow"));
  344|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleAlignSelf,std::string("alignSelf"));
  345|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleAnchorName,std::string("anchorName"));
  346|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePositionAnchor,std::string("positionAnchor"));
  347|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePositionArea,std::string("positionArea"));
  348|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StylePositionTryFallbacks,std::string("positionTryFallbacks"));
  349|      2|  Wt::Utils::insert(cssCamelNames, Wt::Property::StyleJustifyContent,std::string("justifyContent"));
  350|      2|  return cssCamelNames;
  351|      2|}

_ZN2Wt10WebSession7Handler8instanceEv:
  912|  26.0k|{
  913|       |#ifdef WT_TARGET_JAVA
  914|       |  return threadHandler_.get();
  915|       |#else
  916|  26.0k|  return threadHandler_;
  917|  26.0k|#endif
  918|  26.0k|}
_ZN2Wt10WebSession8instanceEv:
 1183|  26.0k|{
 1184|  26.0k|  Handler *handler = WebSession::Handler::instance();
 1185|  26.0k|  return handler ? handler->session() : nullptr;
  ------------------
  |  Branch (1185:10): [True: 0, False: 26.0k]
  ------------------
 1186|  26.0k|}

_ZN2Wt5Utils4itoaEiPci:
  157|    604|char *itoa(int value, char *result, int base) {
  158|    604|  char* out = result;
  159|    604|  int quotient = value;
  160|       |
  161|    604|  if (quotient < 0)
  ------------------
  |  Branch (161:7): [True: 136, False: 468]
  ------------------
  162|    136|    quotient = -quotient;
  163|       |
  164|    741|  do {
  165|    741|    *out =
  166|    741|      "0123456789abcdefghijklmnopqrstuvwxyz"[quotient % base];
  167|    741|    ++out;
  168|    741|    quotient /= base;
  169|    741|  } while (quotient);
  ------------------
  |  Branch (169:12): [True: 137, False: 604]
  ------------------
  170|       |
  171|    604|  if (value < 0 && base == 10)
  ------------------
  |  Branch (171:7): [True: 136, False: 468]
  |  Branch (171:20): [True: 136, False: 0]
  ------------------
  172|    136|    *out++ = '-';
  173|       |
  174|    604|  std::reverse(result, out);
  175|    604|  *out = 0;
  176|       |
  177|    604|  return result;
  178|    604|}
_ZN2Wt5Utils4stoiERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE:
  583|  66.4k|{
  584|  66.4k|  return convert<int>("stoi", boost::spirit::int_, v);
  585|  66.4k|}
_ZN2Wt5Utils7convertIiN5boost6spirit8terminalINS3_3tag4int_EEEEET_PKcRKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE:
  549|  66.4k|{
  550|  66.4k|  auto is_space = [](char c) { return c == ' '; };
  551|  66.4k|  auto it = std::find_if_not(v.cbegin(), v.cend(), is_space);
  552|  66.4k|  ResultType result{0};
  553|  66.4k|  bool success =
  554|  66.4k|      it < v.cend() &&
  ------------------
  |  Branch (554:7): [True: 66.4k, False: 40]
  ------------------
  555|  66.4k|      boost::spirit::qi::parse(it, v.cend(), t, result) &&
  ------------------
  |  Branch (555:7): [True: 65.2k, False: 1.18k]
  ------------------
  556|  65.2k|      std::all_of(it, v.cend(), is_space);
  ------------------
  |  Branch (556:7): [True: 64.9k, False: 291]
  ------------------
  557|  66.4k|  if (!success)
  ------------------
  |  Branch (557:7): [True: 1.51k, False: 64.9k]
  ------------------
  558|  1.51k|    throw std::invalid_argument(std::string(fname) + "() of " + v + " failed");
  559|  64.9k|  return result;
  560|  66.4k|}
_ZZN2Wt5Utils7convertIiN5boost6spirit8terminalINS3_3tag4int_EEEEET_PKcRKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENKUlcE_clEc:
  550|  70.5k|  auto is_space = [](char c) { return c == ' '; };

_ZN2Wt5Utils6insertINS_8PropertyENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRSt13unordered_mapIT_T0_St4hashISA_ESt8equal_toISA_ESaISt4pairIKSA_SB_EEERSH_RKSB_:
  260|    446|{
  261|    446|#ifndef WT_TARGET_JAVA
  262|    446|  m.insert(std::make_pair(key, value));
  263|    446|#endif // WT_TARGET_JAVA
  264|    446|}

