        straight |= direction == cereal::NavInstruction::Direction::STRAIGHT;
      }
  
      // TODO: Make more images based on active direction and combined directions
      QString fn = "../assets/navigation/direction_";
      if (left) {
        fn += "turn_left";
      } else if (right) {
        fn += "turn_right";
      } else if (straight) {
 
</s> remove 
    // for rhd, reflect direction and then flip
    if (is_rhd) {
      if (fn.contains("left")) {
        fn.replace("left", "right");
      } else if (fn.contains("right")) {
        fn.replace("right", "left");
      }
    }

    QPixmap pix(fn);
    if (is_rhd) {
      pix = pix.transformed(QTransform().scale(-1, 1));
    }
    icon_01->setPixmap(pix.scaledToWidth(200, Qt::SmoothTransformation));
 </s> add     bool rhd = is_rhd && (fn.contains("_left") || fn.contains("_right"));
    icon_01->setPixmap(pixmap_cache[!rhd ? fn : "rhd_" + fn]); </s> remove     fn += ICON_SUFFIX;
 </s> add  </s> remove     QString fn = "../assets/navigation/direction_" + type;
 </s> add     QString fn = "direction_" + type;
    QString fn = "lane_direction_";
        straight |= direction == cereal::NavInstruction::Direction::STRAIGHT;
      }
  
      // TODO: Make more images based on active direction and combined directions
    QString fn = "lane_direction_";
      if (left) {
        fn += "turn_left";
      } else if (right) {
        fn += "turn_right";
      } else if (straight) {
keep keep keep keep replace keep keep keep keep keep
 ui/map: cache navigation images at startup (#28783)

Co-authored-by: Cameron Clough <cameronjclough@gmail.com> 
selfdrive/ui/qt/maps/map.cc