code: def HSL_to_RGB(cobj, target_rgb, *args, **kwargs):
      
      H = cobj.hsl_h
      S = cobj.hsl_s
      L = cobj.hsl_l
  
      if L < 0.5:
          var_q = L * (1.0 + S)
      else:
          var_q = L + S - (L * S)
  
      var_p = 2.0 * L - var_q
  
      # H normalized to range [0,1]
      h_sub_k = (H / 360.0)
  
      t_sub_R = h_sub_k + (1.0 / 3.0)
      t_sub_G = h_sub_k
      t_sub_B = h_sub_k - (1.0 / 3.0)
  
      rgb_r = __Calc_HSL_to_RGB_Components(var_q, var_p, t_sub_R)
      rgb_g = __Calc_HSL_to_RGB_Components(var_q, var_p, t_sub_G)
      rgb_b = __Calc_HSL_to_RGB_Components(var_q, var_p, t_sub_B)
  
      # TODO: Investigate intent of following code block.
      # In the event that they define an HSV color and want to convert it to
      # a particular RGB space, let them override it here.
      # if target_rgb is not None:
      #     rgb_type = target_rgb
      # else:
      #     rgb_type = cobj.rgb_type
  
      return target_rgb(rgb_r, rgb_g, rgb_b)
docs: HSL to RGB conversion.