    }
    return packer.make_can_msg("IPMA_Data", 0, values)
  
  
  def create_acc_ui_command(packer, main_on: bool, enabled: bool, stock_values):
    """
    Creates a CAN message for the Ford IPC adaptive cruise, forward collision
    warning and traffic jam assist status.
  
    Stock functionality is maintained by passing through unmodified signals.
 
</s> remove def create_lkas_ui_command(packer, main_on: bool, enabled: bool, steer_alert: bool, stock_values):
 </s> add def create_lkas_ui_command(packer, main_on: bool, enabled: bool, steer_alert: bool, stock_values: dict): </s> remove     "FeatConfigIpmaActl": stock_values["FeatConfigIpmaActl"],       # [0|65535]
    "FeatNoIpmaActl": stock_values["FeatNoIpmaActl"],               # [0|65535]
    "PersIndexIpma_D_Actl": stock_values["PersIndexIpma_D_Actl"],   # [0|7]
    "AhbcRampingV_D_Rq": stock_values["AhbcRampingV_D_Rq"],         # AHB ramping [0|3]
    "LaActvStats_D_Dsply": lines,                                   # LKAS status (lines) [0|31]
    "LaDenyStats_B_Dsply": stock_values["LaDenyStats_B_Dsply"],     # LKAS error [0|1]
    "LaHandsOff_D_Dsply": 2 if steer_alert else 0,                  # 0=HandsOn, 1=Level1 (w/o chime), 2=Level2 (w/ chime), 3=Suppressed
    "CamraDefog_B_Req": stock_values["CamraDefog_B_Req"],           # Windshield heater? [0|1]
    "CamraStats_D_Dsply": stock_values["CamraStats_D_Dsply"],       # Camera status [0|3]
    "DasAlrtLvl_D_Dsply": stock_values["DasAlrtLvl_D_Dsply"],       # DAS alert level [0|7]
    "DasStats_D_Dsply": stock_values["DasStats_D_Dsply"],           # DAS status [0|3]
    "DasWarn_D_Dsply": stock_values["DasWarn_D_Dsply"],             # DAS warning [0|3]
    "AhbHiBeam_D_Rq": stock_values["AhbHiBeam_D_Rq"],               # AHB status [0|3]
    "Set_Me_X1": stock_values["Set_Me_X1"],                         # [0|15]
 </s> add     **stock_values,
    "LaActvStats_D_Dsply": lines,                           # LKAS status (lines) [0|31]
    "LaHandsOff_D_Dsply": 2 if steer_alert else 0,          # 0=HandsOn, 1=Level1 (w/o chime), 2=Level2 (w/ chime), 3=Suppressed </s> remove     "HaDsply_No_Cs": stock_values["HaDsply_No_Cs"],                     # [0|255]
    "HaDsply_No_Cnt": stock_values["HaDsply_No_Cnt"],                   # [0|15]
    "AccStopStat_D_Dsply": stock_values["AccStopStat_D_Dsply"],         # ACC stopped status message: 0=NoDisplay, 1=ResumeReady, 2=Stopped, 3=PressResume [0|3]
    "AccTrgDist2_D_Dsply": stock_values["AccTrgDist2_D_Dsply"],         # ACC target distance [0|15]
    "AccStopRes_B_Dsply": stock_values["AccStopRes_B_Dsply"],           # [0|1]
    "TjaWarn_D_Rq": stock_values["TjaWarn_D_Rq"],                       # TJA warning: 0=NoWarning, 1=Cancel, 2=HardTakeOverLevel1, 3=HardTakeOverLevel2 [0|7]
    "Tja_D_Stat": 2 if enabled else (1 if main_on else 0),              # TJA status: 0=Off, 1=Standby, 2=Active, 3=InterventionLeft, 4=InterventionRight, 5=WarningLeft, 6=WarningRight, 7=NotUsed [0|7]
    "TjaMsgTxt_D_Dsply": stock_values["TjaMsgTxt_D_Dsply"],             # TJA text [0|7]
    "IaccLamp_D_Rq": stock_values["IaccLamp_D_Rq"],                     # iACC status icon [0|3]
    "AccMsgTxt_D2_Rq": stock_values["AccMsgTxt_D2_Rq"],                 # ACC text [0|15]
    "FcwDeny_B_Dsply": stock_values["FcwDeny_B_Dsply"],                 # FCW disabled [0|1]
    "FcwMemStat_B_Actl": stock_values["FcwMemStat_B_Actl"],             # FCW enabled setting [0|1]
    "AccTGap_B_Dsply": stock_values["AccTGap_B_Dsply"],                 # ACC time gap display setting [0|1]
    "CadsAlignIncplt_B_Actl": stock_values["CadsAlignIncplt_B_Actl"],   # Radar alignment? [0|1]
    "AccFllwMde_B_Dsply": stock_values["AccFllwMde_B_Dsply"],           # ACC follow mode display setting [0|1]
    "CadsRadrBlck_B_Actl": stock_values["CadsRadrBlck_B_Actl"],         # Radar blocked? [0|1]
    "CmbbPostEvnt_B_Dsply": stock_values["CmbbPostEvnt_B_Dsply"],       # AEB event status [0|1]
    "AccStopMde_B_Dsply": stock_values["AccStopMde_B_Dsply"],           # ACC stop mode display setting [0|1]
    "FcwMemSens_D_Actl": stock_values["FcwMemSens_D_Actl"],             # FCW sensitivity setting [0|3]
    "FcwMsgTxt_D_Rq": stock_values["FcwMsgTxt_D_Rq"],                   # FCW text [0|7]
    "AccWarn_D_Dsply": stock_values["AccWarn_D_Dsply"],                 # ACC warning [0|3]
    "FcwVisblWarn_B_Rq": stock_values["FcwVisblWarn_B_Rq"],             # FCW alert: 0=Off, 1=On [0|1]
    "FcwAudioWarn_B_Rq": stock_values["FcwAudioWarn_B_Rq"],             # FCW audio: 0=Off, 1=On [0|1]
    "AccTGap_D_Dsply": stock_values["AccTGap_D_Dsply"],                 # ACC time gap: 1=Time_Gap_1, 2=Time_Gap_2, ..., 5=Time_Gap_5 [0|7]
    "AccMemEnbl_B_RqDrv": stock_values["AccMemEnbl_B_RqDrv"],           # ACC setting: 0=NormalCruise, 1=AdaptiveCruise [0|1]
    "FdaMem_B_Stat": stock_values["FdaMem_B_Stat"],                     # FDA enabled setting [0|1]
 </s> add     **stock_values,
    "Tja_D_Stat": 2 if enabled else (1 if main_on else 0),  # TJA status: 0=Off, 1=Standby, 2=Active, 3=InterventionLeft, 4=InterventionRight, 5=WarningLeft, 6=WarningRight, 7=NotUsed [0|7] </s> remove       ("Set_Me_X1", "IPMA_Data"),
 </s> add       ("Passthru_63", "IPMA_Data"),
      ("Passthru_48", "IPMA_Data"),
def create_acc_ui_command(packer, main_on: bool, enabled: bool, stock_values: dict):
    }
    return packer.make_can_msg("IPMA_Data", 0, values)
  
  
def create_acc_ui_command(packer, main_on: bool, enabled: bool, stock_values: dict):
    """
    Creates a CAN message for the Ford IPC adaptive cruise, forward collision
    warning and traffic jam assist status.
  
    Stock functionality is maintained by passing through unmodified signals.
keep keep keep keep replace keep keep keep keep keep
 ford: passthru mystery signals (#25575)

* ford: passthru mystery signals

* simple

* types

* bump opendbc

* bump opendbc 
selfdrive/car/ford/fordcan.py