####################################
## SCFD file version: 0.10         ##
## PDDB version: LN7.0_1406_024   ##
####################################

#General checking for rule file execution
check_version minor LN8.0
check_version minor FL15A
check_version minor LNF8.0
check_version minor FLF15A

# v0.8
check_version minor FLC15A
check_version minor FLC16
# v0.8 end

# v0.7 PR038972: Upgrade from FLF16 to FLF16 builds go RNW - Incorrect on FZM FDD trunk
check_version minor FLF16
# v0.7 end

#############
## Common: ##
#############

#If LNBTS actMDTCellTrace is set to 'false', LNBTS actVendSpecCellTraceEnh must be set to 'false'
dependence_mod_param minor LNBTS actMDTCellTrace "false" actVendSpecCellTraceEnh "false"

#If cellType is not set to 'large' and actDlCAggr is set to 'true', then applyFeicicFunctionality must be set to "false".
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL applyFeicicFunctionality = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} cellType != CONST "large" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} actDLCAggr == CONST "true" ? CONST "false" :

#If (actEicic = 'true') AND (cellType is NOT 'large'), then ulsFdPrbAssignAlg must NOT be '0'
# value 'MixedFD' to be set /R.G.
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL ulsFdPrbAssignAlg = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} cellType != CONST "large" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} actEicic == CONST "true" ? CONST "MixedFD" :

#v0.5 155147ESPE02 Delete unused parameters. Needed incase of upgrade to P7 load already where they exist
del_param minor LNCEL eIcicMaxMutePattern
del_param minor LNCEL maxNumScells
del_param minor LNCEL maxNumCaConfUe
del_param minor LNCEL maxNumCaConfUe3c
del_param minor LNCEL nPucchF3Prbs
#v0.5 end

##########
## FDD: ##
##########

#MTRACE-traceRrcSetting must be set to None if MTRACE jobType is set to ImmediateMDTOnly.
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/CTRLTS/MTRACE traceRrcSetting = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/CTRLTS-${CTRLTS}/MTRACE-${MTRACE} jobType == CONST "ImmediateMDTOnly" ? CONST "None" :

#MTRACE-traceS1Setting must be set to None if MTRACE-jobType is set to ImmediateMDTOnly.
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/CTRLTS/MTRACE traceS1Setting = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/CTRLTS-${CTRLTS}/MTRACE-${MTRACE} jobType == CONST "ImmediateMDTOnly" ? CONST "None" :

#MTRACE-traceX2Setting must be set to None if MTRACE-jobType is set to ImmediateMDTOnly.
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/CTRLTS/MTRACE traceX2Setting = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/CTRLTS-${CTRLTS}/MTRACE-${MTRACE} jobType == CONST "ImmediateMDTOnly" ? CONST "None" :

# v0.3 correction for PR151744ESPE02: RL70_LTE1874: Parameter mlbSpecialCase in LNBTS object is missing after SW upgrade from LN6.0_ENB_1311_635_28 to LN7.0_ENB_1407_506_01
#LNBTS-actIntraFreqLoadBal if actIntraFreqLoadBal is set to 'true', mlbSpecialCase must be configured (public) 
#mlbSpecialCase must be configured if actIntraFreqLoadBal is set to 'true'.  
#Default value:  adjustmentPreserved  

dependence_add_param minor LNBTS actIntraFreqLoadBal true mlbSpecialCase adjustmentPreserved 

# v0.3 correction for PR151744ESPE02: RL70_LTE1874: Parameter mlbSpecialCase in LNBTS object is missing after SW upgrade from LN6.0_ENB_1311_635_28 to LN7.0_ENB_1407_506_01 END

# v0.4 adaptation to the PDDB version LN7.0_1406_018
################################################################################################
# CRL4112 Support for a chain configuration with Optical Transport Network (OTN) in RL70 onwards
################################################################################################
add_param minor LNBTS actRadioPosFlexibilty false
# v0.5 adaptation to the PDDB version LN7.0_1406_019
################################################################################################
# 
################################################################################################
# New relation: In P-LNCEL, if (two or more CAREL instances exist for the LNCEL instance) AND (maxNumScells is '1'), n1PucchAn must be configured to >= '72'.
# 1. Check if Downlink Carrier Aggregation is active for the cell and how many CAREL MOs there exists.
#!! add param LNCEL tempDLCAggrOnForCell 0
#!! tempDLCAggrOnForCell = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAREL-* caSchedFairFact <= CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAREL-* caSchedFairFact => CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell + CONST 1 :
##!! tempDLCAggrOnForCell = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAREL-* disableSCellPDCCHOlLa == CONST "false" ? CONST "true" :
add_param minor LNCEL tempDLCAggrOnForCell 0
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempDLCAggrOnForCell = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAREL-1 caSchedFairFact <= CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAREL-1 caSchedFairFact >= CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell + CONST 1 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempDLCAggrOnForCell = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAREL-2 caSchedFairFact <= CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAREL-2 caSchedFairFact >= CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell + CONST 1 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempDLCAggrOnForCell = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAREL-3 caSchedFairFact <= CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAREL-3 caSchedFairFact >= CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell + CONST 1 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempDLCAggrOnForCell = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAREL-4 caSchedFairFact <= CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAREL-4 caSchedFairFact >= CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell + CONST 1 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempDLCAggrOnForCell = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAREL-5 caSchedFairFact <= CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAREL-5 caSchedFairFact >= CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell + CONST 1 :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempDLCAggrOnForCell = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAREL-* disableSCellPDCCHOlLa == CONST "false" ? CONST "true" :
# 2. In P-LNCEL, if (two or more CAREL instances exist for the LNCEL instance) AND (maxNumScells is '1'), n1PucchAn must be configured to >= '72'.
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL n1PucchAn = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn < CONST 72 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumScells == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell >= CONST 2 ? CONST 72 :
del_param minor LNCEL tempDLCAggrOnForCell
# v0.6 left over from PDDB version LN7.0_1406_018
################################################################################################
#NOTE!!!! maxNumRrc + maxNumRrcEmergency relations shall be checked more carefully to see real impact!
################################################################################################
#MaxnumRrc v18:
#!! Temporary parameters needed
#!! max(addAUeRrHo, addAUeTcHo)
#!! max(addEmergencySessions, addAUeRrHo, addAUeTcHo)
#!! max(addNumDrbRadioReasHo, addNumDrbTimeCriticalHo)
#!! max(addNumQci1DrbRadioReasHo, addNumQci1DrbTimeCriticalHo)
#!! max(addEmergencySessions, addNumQci1DrbRadioReasHo, addNumQci1DrbTimeCriticalHo)
#!! max(3*addEmergencySessions, addNumDrbRadioReasHo, addNumDrbTimeCriticalHo)
#!! min(6*maxNumRrcEmergency, 4200)
#!! min(6*maxNumRrcEmergency, 4500)
#!! min(6*maxNumRrc, 4500)
#!! min(6*(maxNumRrc+ max(addAUeRrHo, addAUeTcHo)), 4500)
#!! min(6*(maxNumRrc+ max(addAUeRrHo, addAUeTcHo)), 4500)
add_param minor LNCEL tempDivCheck 0
add_param minor LNCEL tempmaxNumRrc 0
add_param minor LNCEL tempmaxNumActDrb 0
add_param minor LNCEL tempaddAUeRrHo 0
add_param minor LNCEL tempaddAUeTcHo 0
add_param minor LNCEL tempmaxaddAUeRrHoaddAUeTcHo 0
add_param minor LNCEL tempmaxaddEmergencySessionsaddAUeRrHoaddAUeTcHo 0
add_param minor LNCEL tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo 0
add_param minor LNCEL tempmaxaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo 0
add_param minor LNCEL tempmaxaddEmergencySessionsaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo 0
add_param minor LNCEL tempmax3addEmergencySessionsaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo 0
add_param minor LNCEL tempmin6maxNumRrcEmergency4500 0
add_param minor LNCEL tempmin6maxNumRrc4500 0
add_param minor LNCEL tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 0
add_param minor LNCEL tempDLCAggrOnForCell false
add_param minor LNCEL tempcqiPerNp 0
add_param minor LNCEL tempcellSrPeriod 0
add_param minor LNBTS tempactIMSEmerSessR9actEmerCallRedir false
#!! tempmaxNumRrc = tempmaxNumRrc == CONST 0 ? maxNumRrc : CONST 999
#!! tempaddAUeRrHo = tempaddAUeRrHo == CONST 0 ? addAUeRrHo : CONST 999
#!! tempaddAUeTcHo = tempaddAUeTcHo == CONST 0 ? addAUeTcHo : CONST 999
#!! tempmaxaddAUeRrHoaddAUeTcHo = addAUeRrHo > addAUeTcHo ? addAUeRrHo : addAUeTcHo
#!! tempmaxaddEmergencySessionsaddAUeRrHoaddAUeTcHo = addEmergencySessions > tempmaxaddAUeRrHoaddAUeTcHo ? addEmergencySessions : tempmaxaddAUeRrHoaddAUeTcHo
#!! tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo = addNumDrbRadioReasHo > addNumDrbTimeCriticalHo ? addNumDrbRadioReasHo : addNumDrbTimeCriticalHo
#!! tempmaxaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo = addNumQci1DrbRadioReasHo > addNumQci1DrbTimeCriticalHo ? addNumQci1DrbRadioReasHo : addNumQci1DrbTimeCriticalHo
#!! tempmaxaddEmergencySessionsaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo = addEmergencySessions > tempmaxaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo ? addEmergencySessions : tempmaxaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo
#!! tempmax3addEmergencySessionsaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo = addEmergencySessions * CONST 3 > tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo ? addEmergencySessions * CONST 3 : tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo
#!! tempmin6maxNumRrcEmergency4500 = maxNumRrcEmergency * CONST 6 < CONST 4500 ? maxNumRrcEmergency * CONST 6 : CONST 4500
#!! tempmin6maxNumRrc4500 = maxNumRrc * CONST 6 < CONST 4500 ? maxNumRrc * CONST 6 : CONST 4500
#!! tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 = maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo * CONST 6 < CONST 4500 ? maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo * CONST 6 : CONST 4500
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempmaxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxNumRrc == CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc : CONST 999
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempaddAUeRrHo = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempaddAUeRrHo == CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo : CONST 999
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempaddAUeTcHo = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempaddAUeTcHo == CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo : CONST 999
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempmaxaddAUeRrHoaddAUeTcHo = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo : PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempmaxaddEmergencySessionsaddAUeRrHoaddAUeTcHo = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addEmergencySessions > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addEmergencySessions : PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbRadioReasHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbTimeCriticalHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbRadioReasHo : PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbTimeCriticalHo
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempmaxaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumQci1DrbRadioReasHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumQci1DrbTimeCriticalHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumQci1DrbRadioReasHo : PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumQci1DrbTimeCriticalHo
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempmaxaddEmergencySessionsaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addEmergencySessions > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addEmergencySessions : PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempmax3addEmergencySessionsaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addEmergencySessions * CONST 3 > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addEmergencySessions * CONST 3 : PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempmin6maxNumRrcEmergency4500 = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency * CONST 6 < CONST 4500 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency * CONST 6 : CONST 4500
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempmin6maxNumRrc4500 = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc * CONST 6 < CONST 4500 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc * CONST 6 : CONST 4500
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo * CONST 6 < CONST 4500 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo * CONST 6 : CONST 4500
# Check if Downlink Carrier Aggregation is active for the cell (CAREL MO exists)
#!! tempDLCAggrOnForCell = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAREL-* disableSCellPDCCHOlLa == CONST "true" ? CONST "true" :
#!! tempDLCAggrOnForCell = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAREL-* disableSCellPDCCHOlLa == CONST "false" ? CONST "true" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempDLCAggrOnForCell = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAREL-* disableSCellPDCCHOlLa == CONST "true" ? CONST "true" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempDLCAggrOnForCell = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAREL-* disableSCellPDCCHOlLa == CONST "false" ? CONST "true" :
#!! tempcqiPerNp = cqiPerNp == CONST "2ms" ? CONST 2 :
#!! tempcqiPerNp = cqiPerNp == CONST "5ms" ? CONST 5 :
#!! tempcqiPerNp = cqiPerNp == CONST "10ms" ? CONST 10 :
#!! tempcqiPerNp = cqiPerNp == CONST "20ms" ? CONST 20 :
#!! tempcqiPerNp = cqiPerNp == CONST "40ms" ? CONST 40 :
#!! tempcqiPerNp = cqiPerNp == CONST "80ms" ? CONST 80 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempcqiPerNp = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} cqiPerNp == CONST "2ms" ? CONST 2 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempcqiPerNp = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} cqiPerNp == CONST "5ms" ? CONST 5 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempcqiPerNp = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} cqiPerNp == CONST "10ms" ? CONST 10 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempcqiPerNp = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} cqiPerNp == CONST "20ms" ? CONST 20 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempcqiPerNp = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} cqiPerNp == CONST "40ms" ? CONST 40 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempcqiPerNp = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} cqiPerNp == CONST "80ms" ? CONST 80 :
#!! tempcellSrPeriod = cellSrPeriod == CONST "5ms" ? CONST 5 :
#!! tempcellSrPeriod = cellSrPeriod == CONST "10ms" ? CONST 10 :
#!! tempcellSrPeriod = cellSrPeriod == CONST "20ms" ? CONST 20 :
#!! tempcellSrPeriod = cellSrPeriod == CONST "40ms" ? CONST 40 :
#!! tempcellSrPeriod = cellSrPeriod == CONST "80ms" ? CONST 80 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempcellSrPeriod = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} cellSrPeriod == CONST "5ms" ? CONST 5 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempcellSrPeriod = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} cellSrPeriod == CONST "10ms" ? CONST 10 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempcellSrPeriod = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} cellSrPeriod == CONST "20ms" ? CONST 20 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempcellSrPeriod = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} cellSrPeriod == CONST "40ms" ? CONST 40 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempcellSrPeriod = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} cellSrPeriod == CONST "80ms" ? CONST 80 :
#!! tempactIMSEmerSessR9actEmerCallRedir = actIMSEmerSessR9 == CONST "true" || actEmerCallRedir == CONST "Enabled" ? CONST "true" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS tempactIMSEmerSessR9actEmerCallRedir = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actIMSEmerSessR9 == CONST "true" || PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actEmerCallRedir == CONST "Enabled" ? CONST "true" :
#The range for maxNumRrc depends on dlChBw, ulChBw, actFlexBbUsage and actHighRrc according to following conditions
#(1.1) if actHighRrc set to 'false' and 
#- min(ulChBw,dlChBw) is '1.4 MHz', maxNumRrc value range is restricted to 0...40
#- min(ulChBw,dlChBw) is '3 MHz', maxNumRrc value range is restricted to 0...120
#- min(ulChBw,dlChBw) is '5 MHz', maxNumRrc value range is restricted to 0...480 
#- min(ulChBw,dlChBw) is '10 MHz', maxNumRrc value range is restricted to 0...600 
#- min(ulChBw,dlChBw) is '15 MHz', maxNumRrc value range is restricted to 0...720 (only validated when actCompChecks is 'true')
#- min(ulChBw,dlChBw) is '20 MHz', maxNumRrc value range is restricted to 0...840
add_param minor LNCEL tempActHighRrc_dlChBw temp
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "1.4 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "false" ? CONST "1.4MHz_false" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "3 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "false" ? CONST "3MHz_false" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "5 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "false" ? CONST "5MHz_false" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "10 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "false" ? CONST "10MHz_false" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "15 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" ? CONST "15MHz_false" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "20 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "false" ? CONST "20MHz_false" :
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "1.4MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 40
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "3MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 120
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 480
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 720
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 840
#if actHighRrc set to 'true' and 
#- min(ulChBw,dlChBw) is '5 MHz', maxNumRrc value range is restricted to 0...600 
#- min(ulChBw,dlChBw) is '10 MHz', maxNumRrc value range is restricted to 0...750 
#- min(ulChBw,dlChBw) is '15 MHz', maxNumRrc value range is restricted to 0...1250 
#- min(ulChBw,dlChBw) is '20 MHz', maxNumRrc value range is restricted to 0...1500
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "5 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "true" ? CONST "5MHz_true" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "10 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "true" ? CONST "10MHz_true" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "15 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "true" ? CONST "15MHz_true" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "20 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "true" ? CONST "20MHz_true" :
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 750
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 1250
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 1500
#(1.2) if actFlexBbUsage set to 'true' and (ulChBw,dlChBw) has value '5 MHz' or '10 MHz, maxNumRrc value range is restricted to 0...420 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "5 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "true" ? CONST "5MHz_true_flexBB" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "10 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "true" ? CONST "10MHz_true_flexBB" :
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 5MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrc 0 420
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 10MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrc 0 420
#(2) Following conditions need to be fulfilled with respect to maxNumRrc
#- maxNumRrc >= maxNumActUE
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActUE > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActUE :
#(2.1) if actMultBearers is set to 'false' following condition need to be fulfilled in addition
#- maxNumRrc + max(addAUeRrHo, addAUeTcHo) >= maxNumActDrb + max(addNumDrbRadioReasHo, addNumDrbTimeCriticalHo)

# v0.10 NA05882519: EE SRAN Testbed: Parameter inconsistencies between RL60 -> FL15A
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbRadioReasHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbRadioReasHo - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbRadioReasHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbRadioReasHo - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbTimeCriticalHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbTimeCriticalHo - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbTimeCriticalHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbTimeCriticalHo - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo :
#!! maxNumActDrb = actMultBearers == CONST "false" && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo < maxNumActDrb + tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo ? maxNumRrc - tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo + tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
# v0.10 NA05882519: EE SRAN Testbed: Parameter inconsistencies between RL60 -> FL15A END

#!!(1.1, 1.2) maxNumRrc range is adjusted based on the value of dlChBw and actFlexBbUsage
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "1.4MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 40
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "3MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 120
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 480
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 720
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 840
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 750
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 1250
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 1500
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 5MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrc 0 420
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 10MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrc 0 420
#!!(2.1) check again and now adjust maxNumActDrb
#!! maxNumActDrb = actMultBearers == CONST "false" && maxNumRrc + addAUeRrHo < maxNumActDrb + addNumDrbRadioReasHo ? maxNumRrc - addNumDrbRadioReasHo + addAUeRrHo :
#!! maxNumActDrb = actMultBearers == CONST "false" && maxNumRrc + addAUeTcHo < maxNumActDrb + addNumDrbRadioReasHo ? maxNumRrc - addNumDrbRadioReasHo + addAUeTcHo :
#!! maxNumActDrb = actMultBearers == CONST "false" && maxNumRrc + addAUeRrHo < maxNumActDrb + addNumDrbTimeCriticalHo ? maxNumRrc - addNumDrbTimeCriticalHo + addAUeRrHo :
#!! maxNumActDrb = actMultBearers == CONST "false" && maxNumRrc + addAUeTcHo < maxNumActDrb + addNumDrbTimeCriticalHo ? maxNumRrc - addNumDrbTimeCriticalHo + addAUeTcHo :
#!!! maxNumActDrb DOWN: (2.1) actMultBearers='false', maxNumRrc + max(addAUeRrHo, addAUeTcHo) >= maxNumActDrb + max(addNumDrbRadioReasHo, addNumDrbTimeCriticalHo)

# v0.10 NA05882519: EE SRAN Testbed: Parameter inconsistencies between RL60 -> FL15A
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumActDrb = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbRadioReasHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbRadioReasHo + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumActDrb = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbRadioReasHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbRadioReasHo + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumActDrb = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbTimeCriticalHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbTimeCriticalHo + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumActDrb = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbTimeCriticalHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbTimeCriticalHo + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo :
#!! maxNumActDrb = actMultBearers == CONST "false" && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo < maxNumActDrb + tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo ? maxNumRrc - tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo + tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumActDrb = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
# v0.10 NA05882519: EE SRAN Testbed: Parameter inconsistencies between RL60 -> FL15A END

#(2.2) if actMultBearers is set to 'true' following condition need to be fulfilled
#- min(6*(maxNumRrc+ max(addAUeRrHo, addAUeTcHo)), 4500) >= maxNumActDrb + max(addNumDrbRadioReasHo, addNumDrbTimeCriticalHo)
#First, check is the remainder of division zero
#!! tempDivCheck = actMultBearers == CONST "true" ? maxNumActDrb + tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo / CONST 6 :
#!! tempDivCheck = actMultBearers == CONST "true" ? tempDivCheck * CONST 6 - tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo - maxNumActDrb :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempDivCheck = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo / CONST 6 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempDivCheck = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDivCheck * CONST 6 - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb :
#Then do actual adjustments taking reminder into account
#!! maxNumRrc = actMultBearers == CONST "true" && tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 < maxNumActDrb + tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo && tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 != CONST 4500 ? maxNumActDrb + tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo / CONST 6 - tempmaxaddAUeRrHoaddAUeTcHo :
#!! maxNumRrc = actMultBearers == CONST "true" && tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 < maxNumActDrb + tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo && tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 != CONST 4500 && tempDivCheck != CONST 0 ? maxNumRrc + CONST 1 :
#!! maxNumRrc = actMultBearers == CONST "true" && tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 < maxNumActDrb + tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo && tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 != CONST 4500 && tempDivCheck == CONST 0 ? maxNumRrc :
#!!! maxNumRrc UP: (2.2) actMultBearers='true', min(6*(maxNumRrc+ max(addAUeRrHo, addAUeTcHo)), 4500) >= maxNumActDrb + max(addNumDrbRadioReasHo, addNumDrbTimeCriticalHo)
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 != CONST 4500 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo / CONST 6 - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 != CONST 4500 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDivCheck != CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + CONST 1 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 != CONST 4500 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDivCheck == CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc :
#!!! temporary parameters UPDATE: tempmin6maxNumRrc4500, tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempmin6maxNumRrc4500 = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc * CONST 6 < CONST 4500 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc * CONST 6 : CONST 4500
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo * CONST 6 < CONST 4500 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo * CONST 6 : CONST 4500
#!! ...just do it only modifying maxNumActDrb !?
#!!! maxNumActDrb DOWN: (2.2) actMultBearers='true', min(6*(maxNumRrc+ max(addAUeRrHo, addAUeTcHo)), 4500) >= maxNumActDrb + max(addNumDrbRadioReasHo, addNumDrbTimeCriticalHo)
#!! maxNumActDrb = actMultBearers == CONST "true" && tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 < maxNumActDrb + tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo && tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 != CONST 4500 ? maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo * CONST 6 - tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo :
#!! maxNumActDrb = actMultBearers == CONST "true" && tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 < maxNumActDrb + tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo && tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 == CONST 4500 ? CONST 4500 - tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumActDrb = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 != CONST 4500 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo * CONST 6 - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumActDrb = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500 == CONST 4500 ? CONST 4500 - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo :
#!! Check finally maxNumActDrb is not < 0
check_param_value major LNCEL maxNumActDrb 0 4500
#(2.2.1) if additionally actConvVoice is set to 'true'
#- maxNumRrc + max(addAUeRrHo, addAUeTcHo) >= maxNumQci1Drb + max(addNumQci1DrbRadioReasHo, addNumQci1DrbTimeCriticalHo)
#!! maxNumRrc = actMultBearers == CONST "true" && actConvVoice == CONST "true" && maxNumRrc + addAUeRrHo < maxNumQci1Drb + addNumQci1DrbRadioReasHo ? maxNumQci1Drb + addNumQci1DrbRadioReasHo - addAUeRrHo :
#!! maxNumRrc = actMultBearers == CONST "true" && actConvVoice == CONST "true" && maxNumRrc + addAUeTcHo < maxNumQci1Drb + addNumQci1DrbRadioReasHo ? maxNumQci1Drb + addNumQci1DrbRadioReasHo - addAUeTcHo :
#!! maxNumRrc = actMultBearers == CONST "true" && actConvVoice == CONST "true" && maxNumRrc + addAUeRrHo < maxNumQci1Drb + addNumQci1DrbTimeCriticalHo ? maxNumQci1Drb + addNumQci1DrbTimeCriticalHo - addAUeRrHo :
#!! maxNumRrc = actMultBearers == CONST "true" && actConvVoice == CONST "true" && maxNumRrc + addAUeTcHo < maxNumQci1Drb + addNumQci1DrbTimeCriticalHo ? maxNumQci1Drb + addNumQci1DrbTimeCriticalHo - addAUeTcHo :
#!!! maxNumRrc UP: (2.2.1) actMultBearers='true', actConvVoice='true', maxNumRrc + max(addAUeRrHo, addAUeTcHo) >= maxNumQci1Drb + max(addNumQci1DrbRadioReasHo, addNumQci1DrbTimeCriticalHo)

# v0.10 NA05882519: EE SRAN Testbed: Parameter inconsistencies between RL60 -> FL15A
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actConvVoice == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumQci1Drb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumQci1DrbRadioReasHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumQci1Drb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumQci1DrbRadioReasHo - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actConvVoice == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumQci1Drb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumQci1DrbRadioReasHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumQci1Drb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumQci1DrbRadioReasHo - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actConvVoice == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumQci1Drb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumQci1DrbTimeCriticalHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumQci1Drb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumQci1DrbTimeCriticalHo - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actConvVoice == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumQci1Drb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumQci1DrbTimeCriticalHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumQci1Drb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumQci1DrbTimeCriticalHo - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo :
#!! maxNumRrc = actMultBearers == CONST "true" && actConvVoice == CONST "true" && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo < maxNumQci1Drb + tempmaxaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo ? maxNumQci1Drb + tempmaxaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo - tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actConvVoice == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumQci1Drb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumQci1Drb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
# v0.10 NA05882519: EE SRAN Testbed: Parameter inconsistencies between RL60 -> FL15A END

#temporary exit rule:
#check_version minor LN7.0
#!! maxNumRrc range is adjusted based on the value of dlChBw and actFlexBbUsage
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "1.4MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 40
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "3MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 120
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 480
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 720
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 840
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 750
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 1250
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 1500
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 5MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrc 0 420
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 10MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrc 0 420
#!! maxNumQci1Drb = actMultBearers == CONST "true" && actConvVoice == CONST "true" && maxNumRrc + addAUeRrHo < maxNumQci1Drb + addNumQci1DrbRadioReasHo ? maxNumRrc - addNumQci1DrbRadioReasHo + addAUeRrHo :
#!! maxNumQci1Drb = actMultBearers == CONST "true" && actConvVoice == CONST "true" && maxNumRrc + addAUeTcHo < maxNumQci1Drb + addNumQci1DrbRadioReasHo ? maxNumRrc - addNumQci1DrbRadioReasHo + addAUeTcHo :
#!! maxNumQci1Drb = actMultBearers == CONST "true" && actConvVoice == CONST "true" && maxNumRrc + addAUeRrHo < maxNumQci1Drb + addNumQci1DrbTimeCriticalHo ? maxNumRrc - addNumQci1DrbTimeCriticalHo + addAUeRrHo :
#!! maxNumQci1Drb = actMultBearers == CONST "true" && actConvVoice == CONST "true" && maxNumRrc + addAUeTcHo < maxNumQci1Drb + addNumQci1DrbTimeCriticalHo ? maxNumRrc - addNumQci1DrbTimeCriticalHo + addAUeTcHo :
#!!! maxNumQci1Drb DOWN: (2.2.1) actMultBearers='true', actConvVoice='true', maxNumRrc + max(addAUeRrHo, addAUeTcHo) >= maxNumQci1Drb + max(addNumQci1DrbRadioReasHo, addNumQci1DrbTimeCriticalHo)

# v0.10 NA05882519: EE SRAN Testbed: Parameter inconsistencies between RL60 -> FL15A
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumQci1Drb = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actConvVoice == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumQci1Drb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumQci1DrbRadioReasHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumQci1DrbRadioReasHo + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumQci1Drb = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actConvVoice == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumQci1Drb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumQci1DrbRadioReasHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumQci1DrbRadioReasHo + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumQci1Drb = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actConvVoice == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumQci1Drb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumQci1DrbTimeCriticalHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumQci1DrbTimeCriticalHo + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumQci1Drb = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actConvVoice == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumQci1Drb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumQci1DrbTimeCriticalHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumQci1DrbTimeCriticalHo + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo :
#!! maxNumQci1Drb = actMultBearers == CONST "true" && actConvVoice == CONST "true" && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo < maxNumQci1Drb + tempmaxaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo ? maxNumRrc - tempmaxaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo + tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumQci1Drb = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actConvVoice == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumQci1Drb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
# v0.10 NA05882519: EE SRAN Testbed: Parameter inconsistencies between RL60 -> FL15A END

#!! Check finally maxNumQci1Drb is not < 0
check_param_value major LNCEL maxNumQci1Drb 0 600
#(3) if actEmerCallRedir is set to 'Enabled' following condition need to be fulfilled
#- maxNumRrcEmergency >= maxNumRrc+max(addAUeRrHo, addAUeTcHo)
#!! maxNumRrcEmergency = actEmerCallRedir == CONST "Enabled" && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > maxNumRrcEmergency ? maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo :
#!!! maxNumRrcEmergency UP: (2.1) actEmerCallRedir='Enabled', maxNumRrcEmergency >= maxNumRrc + max(addAUeRrHo, addAUeTcHo)
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actEmerCallRedir == CONST "Enabled" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
#!! maxNumRrc range is adjusted based on the value of dlChBw and actFlexBbUsage
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "1.4MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 40
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "3MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 120
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 480
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 720
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 840
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 750
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 1250
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 1500
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 5MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrc 0 420
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 10MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrc 0 420
#ALL following conditions (4.x  6.x) are applicable and checked by the BTS only when actCompChecks is set to 'true'
#(4.1) applicable for deltaPucchShift=1 AND 
#(4.1.1) ... srsConfiguration is configured to any value /*SRS support*/
#- maxNumRrc + max (addAUeRrHo,addAUeTcHo) <= n1PucchAn * cellSrPeriod  6*cellSrPeriod/5*n1PucchAn/36
#!! 6*cellSrPeriod/5*n1PucchAn/36
add_param minor LNCEL temp6cellSrPeriod 0
add_param minor LNCEL temp5n1PucchAn 0
add_param minor LNCEL temp6cellSrPeriodPER5n1PucchAnPER36 0
add_param minor LNCEL tempSrsConfiguration 0
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL temp6cellSrPeriod = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod == CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod * CONST 6 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL temp5n1PucchAn = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp5n1PucchAn == CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn * CONST 5 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL temp6cellSrPeriodPER5n1PucchAnPER36 =  PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp6cellSrPeriodPER5n1PucchAnPER36 == CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod * CONST 6 / PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp5n1PucchAn / CONST 36 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempSrsConfiguration = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration == CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} srsConfiguration :
#!! maxNumRrc = actCompChecks == CONST "true" && deltaPucchShift == 1 && tempSrsConfiguration != 0 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > n1PucchAn * tempcellSrPeriod - temp6cellSrPeriodPER5n1PucchAnPER36 ? n1PucchAn * tempcellSrPeriod - temp6cellSrPeriodPER5n1PucchAnPER36 - tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration != CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp6cellSrPeriodPER5n1PucchAnPER36 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp6cellSrPeriodPER5n1PucchAnPER36 - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
#(4.1.2) ... srsConfiguration is NOT configured /*no SRS support*/
#- maxNumRrc + max (addAUeRrHo,addAUeTcHo) <= n1PucchAn * cellSrPeriod 
#!! maxNumRrc = actCompChecks == CONST "true" && deltaPucchShift == 1 && tempSrsConfiguration == 0 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > n1PucchAn * tempcellSrPeriod ? n1PucchAn * tempcellSrPeriod - tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration == CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
#(4.2) applicable for deltaPucchShift<>1 
#- maxNumRrc + max (addAUeRrHo,addAUeTcHo) <= n1PucchAn * cellSrPeriod 
#!! maxNumRrc = actCompChecks == CONST "true" && deltaPucchShift != 1 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > n1PucchAn * tempcellSrPeriod ? n1PucchAn * tempcellSrPeriod - tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
#(4.2.1) range checks 
#!! maxNumRrc range is adjusted based on the value of dlChBw and actFlexBbUsage
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "1.4MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 40
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "3MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 120
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 480
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 720
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 840
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 750
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 1250
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 1500
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 5MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrc 0 420
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 10MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrc 0 420
#(5) MIMO mode related checks:
#(5.1) applicable for riEnable set to 'false' /*no MIMO support*/
#- maxNumRrc + max (addAUeRrHo,addAUeTcHo) <= (nCqiRb - blankedPucch) * 6 * cqiPerNp
#!! maxNumRrc = actCompChecks == CONST "true" && riEnable == CONST "false" && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > nCqiRb - blankedPucch * CONST 6 * tempcqiPerNp ? nCqiRb - blankedPucch * CONST 6 * tempcqiPerNp - tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
#(5.2) applicable for riEnable set to 'true' AND riPerM set to '2' /*MIMO support*/
#- maxNumRrc + max (addAUeRrHo,addAUeTcHo) <= (nCqiRb - blankedPucch) * 6 * cqiPerNp
#!! maxNumRrc = actCompChecks == CONST "true" && riEnable == CONST "true" && riPerM == CONST 2 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > nCqiRb - blankedPucch * CONST 6 * tempcqiPerNp ? nCqiRb - blankedPucch * CONST 6 * tempcqiPerNp - tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riPerM == CONST 2 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
#(5.3) applicable for riEnable set to 'true' AND riPerM set to '1' /*MIMO support*/
#- maxNumRrc + max(addAUeRrHo,addAUeTcHo) <= (nCqiRb - blankedPucch) * 6 * cqiPerNp/2
#!! maxNumRrc = actCompChecks == CONST "true" && riEnable == CONST "true" && riPerM == CONST 1 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > nCqiRb - blankedPucch * CONST 6 * tempcqiPerNp / CONST 2 ? nCqiRb - blankedPucch * CONST 6 * tempcqiPerNp / CONST 2 - tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riPerM == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
#(5.3.1) range checks 
#!! maxNumRrc range is adjusted based on the value of dlChBw and actFlexBbUsage
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "1.4MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 40
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "3MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 120
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 480
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 720
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 840
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 750
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 1250
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 1500
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 5MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrc 0 420
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 10MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrc 0 420
#(6) Definition used in below parameter relationships:
#- P-LNCEL: the parent LNCEL instance of the CAREL instance
#Following conditions need to be fulfilled if a cell is configured as primary cell (P-LNCEL), i.e. if a CAREL object exists subordinate to the LNCEL:
#(6.1) If riEnable is set to 'true' AND n1PucchAn <> 10 AND deltaPucchShift=1 AND
#(6.1.1)  srsConfiguration is configured to any value all of the following conditions must be fulfilled:
#- maxNumRrc + max(addAUeRrHo,addAUeTcHo) <= ((nCqiRb - blankedPucch) - (maxNumScells -1)) * 6 * cqiPerNp/2
#- maxNumRrc + max(addAUeRrHo,addAUeTcHo) <= (n1PucchAn  48) * cellSrPeriod  6 * cellSrPeriod/5 * n1PucchAn/36
#!! (maxNumScells -1)
add_param minor LNCEL tempMaxNumScells_1 0
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempMaxNumScells_1 = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempMaxNumScells_1 == CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumScells - CONST 1 :
#v0.9, maxNumRrc relation (6) precondition based on PDDB FL15A_1503_010, PR040548
#!! maxNumRrc = actDLCAggr == "true" && actCompChecks == "true" && tempDLCAggrOnForCell == "true" && riEnable == "true" && n1PucchAn != 10 && deltaPucchShift == 1 && tempSrsConfiguration != 0 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > nCqiRb - blankedPucch * 6 * tempcqiPerNp / 2 ? nCqiRb - blankedPucch * 6 * tempcqiPerNp / 2 - tempmaxaddAUeRrHoaddAUeTcHo :
#!! maxNumRrc = actDLCAggr == "true" && actCompChecks == "true" && tempDLCAggrOnForCell == "true" && riEnable == "true" && n1PucchAn != 10 && deltaPucchShift == 1 && tempSrsConfiguration != 0 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > n1PucchAn - 48 * tempcellSrPeriod - temp6cellSrPeriodPER5n1PucchAnPER36 ? n1PucchAn - 48 * tempcellSrPeriod - temp6cellSrPeriodPER5n1PucchAnPER36 - tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration != CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration != CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 48 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp6cellSrPeriodPER5n1PucchAnPER36 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 48 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp6cellSrPeriodPER5n1PucchAnPER36 - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
#v0.9 end
#(6.1.2)  srsConfiguration is NOT configured all of the following conditions must be fulfilled:
#- maxNumRrc + max(addAUeRrHo,addAUeTcHo) <= ((nCqiRb - blankedPucch) - (maxNumScells -1)) * 6 * cqiPerNp/2
#- maxNumRrc + max(addAUeRrHo,addAUeTcHo) <= (n1PucchAn  48) * cellSrPeriod 
#v0.9, maxNumRrc relation (6) precondition based on PDDB FL15A_1503_010, PR040548
#!! maxNumRrc = actDLCAggr == "true" && actCompChecks == "true" && tempDLCAggrOnForCell == "true" && riEnable == "true" && n1PucchAn != 10 && deltaPucchShift == 1 && tempSrsConfiguration == 0 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > nCqiRb - blankedPucch * 6 * tempcqiPerNp / 2 ? nCqiRb - blankedPucch * 6 * tempcqiPerNp / 2 - tempmaxaddAUeRrHoaddAUeTcHo :
#!! maxNumRrc = actDLCAggr == "true" && actCompChecks == "true" && tempDLCAggrOnForCell == "true" && riEnable == "true" && n1PucchAn != 10 && deltaPucchShift == 1 && tempSrsConfiguration == 0 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > n1PucchAn - 48 * tempcellSrPeriod ? n1PucchAn - 48 * tempcellSrPeriod - tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration == CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration == CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 48 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 48 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
#v0.9 end
#(6.2) If riEnable is set to 'true' AND n1PucchAn <> 10 AND deltaPucchShift<>1 all of the following conditions must be fulfilled:
#- maxNumRrc + max(addAUeRrHo,addAUeTcHo) <= ((nCqiRb - blankedPucch) - (maxNumScells -1)) * 6 * cqiPerNp/2
#- maxNumRrc + max(addAUeRrHo,addAUeTcHo) <= (n1PucchAn  48) * cellSrPeriod)
#v0.9, maxNumRrc relation (6) precondition based on PDDB FL15A_1503_010, PR040548
#!! maxNumRrc = actDLCAggr == "true" && actCompChecks == "true" && tempDLCAggrOnForCell == "true" && riEnable == "true" && n1PucchAn != 10 && deltaPucchShift != 1 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > nCqiRb - blankedPucch * 6 * tempcqiPerNp / 2 ? nCqiRb - blankedPucch * 6 * tempcqiPerNp / 2 - tempmaxaddAUeRrHoaddAUeTcHo :
#!! maxNumRrc = actDLCAggr == "true" && actCompChecks == "true" && tempDLCAggrOnForCell == "true" && riEnable == "true" && n1PucchAn != 10 && deltaPucchShift != 1 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > n1PucchAn - 48 * tempcellSrPeriod ? n1PucchAn - 48 * tempcellSrPeriod - tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 48 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 48 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
#v0.9 end
#temporary exit rule:
#check_version minor LN7.0
#(6.3) If riEnable is set to 'true' AND n1PucchAn = 10 all of the following conditions must be fulfilled:
#- maxNumRrc + max(addAUeRrHo,addAUeTcHo) <= ((nCqiRb - blankedPucch) - (maxNumScells -1)) * 6 * cqiPerNp/2
#- maxNumRrc + max(addAUeRrHo,addAUeTcHo) <= (2 * cellSrPeriod)
#v0.9, maxNumRrc relation (6) precondition based on PDDB FL15A_1503_010, PR040548
#!! maxNumRrc = actDLCAggr == "true" && actCompChecks == "true" && tempDLCAggrOnForCell == "true" && riEnable == "true" && n1PucchAn == 10 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > nCqiRb - blankedPucch * 6 * tempcqiPerNp / 2 ? nCqiRb - blankedPucch * 6 * tempcqiPerNp / 2 - tempmaxaddAUeRrHoaddAUeTcHo :
#!! maxNumRrc = actDLCAggr == "true" && actCompChecks == "true" && tempDLCAggrOnForCell == "true" && riEnable == "true" && n1PucchAn == 10 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > 2 * tempcellSrPeriod ? 2 * tempcellSrPeriod - tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn == CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn == CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > CONST 2 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? CONST 2 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
#v0.9 end
#(6.4) If riEnable is set to 'false' AND n1PucchAn <> 10 AND deltaPucchShift=1 AND
#(6.4.1)  srsConfiguration is configured to any value all of the following conditions must be fulfilled:
#- maxNumRrc + max(addAUeRrHo,addAUeTcHo) <= ((nCqiRb - blankedPucch) - (maxNumScells -1)) * 6 * cqiPerNp
#- maxNumRrc + max(addAUeRrHo,addAUeTcHo) <= (n1PucchAn  36) * cellSrPeriod)  6 * cellSrPeriod/5 * n1PucchAn/36
#v0.9, maxNumRrc relation (6) precondition based on PDDB FL15A_1503_010, PR040548
#!! maxNumRrc = actDLCAggr == "true" && actCompChecks == "true" && tempDLCAggrOnForCell == "true" && riEnable == "false" && n1PucchAn != 10 && deltaPucchShift == 1 && tempSrsConfiguration != 0 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > nCqiRb - blankedPucch * 6 * tempcqiPerNp ? nCqiRb - blankedPucch * 6 * tempcqiPerNp - tempmaxaddAUeRrHoaddAUeTcHo :
#!! maxNumRrc = actDLCAggr == "true" && actCompChecks == "true" && tempDLCAggrOnForCell == "true" && riEnable == "false" && n1PucchAn != 10 && deltaPucchShift == 1 && tempSrsConfiguration != 0 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > n1PucchAn - 36 * tempcellSrPeriod - temp6cellSrPeriodPER5n1PucchAnPER36 ? n1PucchAn - 36 * tempcellSrPeriod - temp6cellSrPeriodPER5n1PucchAnPER36 - tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration != CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration != CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 36 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp6cellSrPeriodPER5n1PucchAnPER36 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 36 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp6cellSrPeriodPER5n1PucchAnPER36 - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
#v0.9 end
#(6.4.2)  srsConfiguration is NOT configured all of the following conditions must be fulfilled:
#- maxNumRrc + max(addAUeRrHo,addAUeTcHo) <= ((nCqiRb - blankedPucch) - (maxNumScells -1)) * 6 * cqiPerNp
#- maxNumRrc + max(addAUeRrHo,addAUeTcHo) <= (n1PucchAn  36) * cellSrPeriod)
#v0.9, maxNumRrc relation (6) precondition based on PDDB FL15A_1503_010, PR040548
#!! maxNumRrc = actDLCAggr == "true" && actCompChecks == "true" && tempDLCAggrOnForCell == "true" && riEnable == "false" && n1PucchAn != 10 && deltaPucchShift == 1 && tempSrsConfiguration == 0 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > nCqiRb - blankedPucch * 6 * tempcqiPerNp ? nCqiRb - blankedPucch * 6 * tempcqiPerNp - tempmaxaddAUeRrHoaddAUeTcHo :
#!! maxNumRrc = actDLCAggr == "true" && actCompChecks == "true" && tempDLCAggrOnForCell == "true" && riEnable == "false" && n1PucchAn != 10 && deltaPucchShift == 1 && tempSrsConfiguration == 0 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > n1PucchAn - 36 * tempcellSrPeriod ? n1PucchAn - 36 * tempcellSrPeriod - tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration == CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration == CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 36 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 36 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
#v0.9 end
#(6.5) If riEnable is set to 'false' AND n1PucchAn <> 10 AND deltaPucchShift<>1 all of the following conditions must be fulfilled:
#- maxNumRrc + max(addAUeRrHo,addAUeTcHo) <= ((nCqiRb - blankedPucch) - (maxNumScells -1)) * 6 * cqiPerNp
#- maxNumRrc + max(addAUeRrHo,addAUeTcHo) <= (n1PucchAn  36) * cellSrPeriod)
#v0.9, maxNumRrc relation (6) precondition based on PDDB FL15A_1503_010, PR040548
#!! maxNumRrc = actDLCAggr == "true" && actCompChecks == "true" && tempDLCAggrOnForCell == "true" && riEnable == "false" && n1PucchAn != 10 && deltaPucchShift != 1 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > nCqiRb - blankedPucch * 6 * tempcqiPerNp ? nCqiRb - blankedPucch * 6 * tempcqiPerNp - tempmaxaddAUeRrHoaddAUeTcHo :
#!! maxNumRrc = actDLCAggr == "true" && actCompChecks == "true" && tempDLCAggrOnForCell == "true" && riEnable == "false" && n1PucchAn != 10 && deltaPucchShift != 1 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > n1PucchAn - 36 * tempcellSrPeriod ? n1PucchAn - 36 * tempcellSrPeriod - tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 36 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 36 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
#v0.9 end
#(6.6) If riEnable is set to 'false' AND n1PucchAn = 10 all of the following conditions must be fulfilled:
#- maxNumRrc + max(addAUeRrHo,addAUeTcHo) <= ((nCqiRb - blankedPucch) - (maxNumScells -1)) * 6 * cqiPerNp
#- maxNumRrc + max(addAUeRrHo,addAUeTcHo) <= 6 * cellSrPeriod 
#v0.9, maxNumRrc relation (6) precondition based on PDDB FL15A_1503_010, PR040548
#!! maxNumRrc = actDLCAggr == "true" && actCompChecks == "true" && tempDLCAggrOnForCell == "true" && riEnable == "false" && n1PucchAn == 10 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > nCqiRb - blankedPucch * 6 * tempcqiPerNp ? nCqiRb - blankedPucch * 6 * tempcqiPerNp - tempmaxaddAUeRrHoaddAUeTcHo :
#!! maxNumRrc = actDLCAggr == "true" && actCompChecks == "true" && tempDLCAggrOnForCell == "true" && riEnable == "false" && n1PucchAn == 10 && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > 6 * tempcellSrPeriod ? 6 * tempcellSrPeriod - tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn == CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn == CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
#v0.9 end
#(6.6.1) range checks + downconversion of other parameters
#!! maxNumRrc range is adjusted based on the value of dlChBw and actFlexBbUsage
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "1.4MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 40
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "3MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 120
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 480
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 720
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 840
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 750
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 1250
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc 0 1500
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 5MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrc 0 420
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 10MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrc 0 420
# (6.6.2) dependency check again for first related parameters:
# (6.6.2.1) maxNumActUE and related parameters
#The range for maxNumActUE depends on dlChBw, ulChBw, actFlexBbUsage and actHighRrc according to following conditions
#(1.1) if actHighRrc set to 'false' and 
#- min(ulChBw,dlChBw) has value '1.4 MHz', maxNumActUE value range is restricted to 0...40
#- min(ulChBw,dlChBw) has value '3 MHz', maxNumActUE value range is restricted to 0...120
#- min(ulChBw,dlChBw) has value '5 MHz', maxNumActUE value range is restricted to 0...480 
#- min(ulChBw,dlChBw) has value '10 MHz', maxNumActUE value range is restricted to 0...600 
#- min(ulChBw,dlChBw) has value '15 MHz', maxNumActUE value range is restricted to 0...720
#- min(ulChBw,dlChBw) has value '20 MHz', maxNumActUE value range is restricted to 0...840 
#if actHighRrc is set to 'true' and 
#- min(ulChBw,dlChBw) has value '5 MHz', maxNumActUE value range is restricted to 0...600 
#- min(ulChBw,dlChBw) has value '10 MHz', maxNumActUE value range is restricted to 0...750 
#- min(ulChBw,dlChBw) has value '15 MHz', maxNumActUE value range is restricted to 0...1250
#- min(ulChBw,dlChBw) has value '20 MHz', maxNumActUE value range is restricted to 0...1500 
#(1.2) if actFlexBbUsage set to 'true' and min(ulChBw,dlChBw) has value '5 MHz' or '10 MHz', maxNumActUE value range is restricted to 0...420
#(2) maxNumActUE might restrict or will be restricted by maxNumActDrb, maxNumRrc or maxNumRrcEmergency due to calculations needed for those parameter
#- maxNumRrc >= maxNumActUE
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumActUE = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActUE > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc :
#- maxNumActDrb >= maxNumActUE
#(2.1) applicable if actIMSEmerSessR9 is set to 'true'
#- maxNumRrcEmergency >= maxNumActUE + max(addEmergencySessions, addAUeRrHo, addAUeTcHo)


# v0.6 relationship between maxNumCaConfUeDc and maxNumActUE deleted in PDDB, maxNumCaConfUeDc hidden at the GUI in FLF16_1504_002
#(3) maxNumCaConfUeDc should be smaller or equal to maxNumActUE
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumCaConfUeDc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumCaConfUeDc > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActUE ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActUE :
# v0.6 end


#(4) if actHighRrc set to false, maxNumActUE value range is restricted to 0...840
#(5) maxNumActUE + max(addEmergencySessions, addAUeRrHo, addAUeTcHo) value should be lesser/equals to upper bandwidth limit; 
#- Condition (5) is only checked during validation if actCompChecks is set to 'true'
#(6) maxNumActUe >= maxNumCaConfUe
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumCaConfUe = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumCaConfUe > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActUE ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActUE :
#(7) maxNumActUe >= maxNumCaConfUe3c 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumCaConfUe3c = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumCaConfUe3c > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActUE ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActUE :
#MaxnumRrcEmergency v18:
#ALL following conditions (1.x  6.x) are applicable and checked by the BTS only when actCompChecks is set to 'true'
#The range for maxNumRrcEmergency depends on dlChBw, ulChBw, actFlexBbUsage and actHighRrc according to following conditions
#(1.1) if actHighRrc set to 'false' and 
#- min(ulChBw,dlChBw) is '1.4 MHz', maxNumRrcEmergency value range is restricted to 0...40
#- min(ulChBw,dlChBw) is '3 MHz', maxNumRrcEmergency value range is restricted to 0...120
#- min(ulChBw,dlChBw) is '5 MHz', maxNumRrcEmergency value range is restricted to 0...480 
#- min(ulChBw,dlChBw) is '10 MHz', maxNumRrcEmergency value range is restricted to 0...600 
#- min(ulChBw,dlChBw) is '15 MHz', maxNumRrcEmergency value range is restricted to 0...720 (only validated when actCompChecks is 'true')
#- min(ulChBw,dlChBw) is '20 MHz', maxNumRrcEmergency value range is restricted to 0...840
#if actHighRrc set to 'true' and 
#- min(ulChBw,dlChBw) is '5 MHz', maxNumRrcEmergency value range is restricted to 0...600 
#- min(ulChBw,dlChBw) is '10 MHz', maxNumRrcEmergency value range is restricted to 0...750 
#- min(ulChBw,dlChBw) is '15 MHz', maxNumRrcEmergency value range is restricted to 0...1250 
#- min(ulChBw,dlChBw) is '20 MHz', maxNumRrcEmergency value range is restricted to 0...1500
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "1.4 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" ? CONST "1.4MHz_false" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "3 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" ? CONST "3MHz_false" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "5 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" ? CONST "5MHz_false" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "10 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" ? CONST "10MHz_false" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "15 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" ? CONST "15MHz_false" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "20 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" ? CONST "20MHz_false" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "5 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" ? CONST "5MHz_true" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "10 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" ? CONST "10MHz_true" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "15 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" ? CONST "15MHz_true" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempActHighRrc_dlChBw = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlChBw == CONST "20 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actHighRrc == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" ? CONST "20MHz_true" :
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "1.4MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 40
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "3MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 120
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 480
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 720
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 840
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 750
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 1250
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 1500
#(1.2) if actFlexBbUsage set to 'true' and (ulChBw,dlChBw) has value '5 MHz' or '10 MHz, maxNumRrcEmergency value range is restricted to 0...420 
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 5MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrcEmergency 0 420
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 10MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrcEmergency 0 420
#(2) Following condition need to be fulfilled with respect to maxNumRrcEmergency
#(2.1) if actEmerCallRedir is set to 'Enabled'
#- maxNumRrcEmergency >= maxNumRrc + max(addAUeRrHo, addAUeTcHo)
######## 2.1
#!! maxNumRrcEmergency = actEmerCallRedir == CONST "Enabled" && actCompChecks == "true" && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > maxNumRrcEmergency ? maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo :
#!!! maxNumRrcEmergency UP: (2.1) actEmerCallRedir='Enabled' && actCompChecks == "true" , maxNumRrcEmergency >= maxNumRrc + max(addAUeRrHo, addAUeTcHo)
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actEmerCallRedir == CONST "Enabled" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
#!! maxNumRrcEmergency must be less or equal f(dlChBw)
#!!! maxNumRrcEmergency IN RANGE: (1) dlChBw="5 MHz", maxNumRrcEmergency 0...480; 10 MHz", 0...600; 15 MHz", 0...1030; 20 MHz", 0...1200; actHighRrc='false', 0...840
#!!! maxNumRrcEmergency IN RANGE: (3) actFlexBbUsage='true', 0...420
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "1.4MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 40
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "3MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 120
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 480
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 720
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 840
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 750
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 1250
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 1500
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 5MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrcEmergency 0 420
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 10MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrcEmergency 0 420
#!! maxNumRrc = actEmerCallRedir == CONST "Enabled"  && actCompChecks == "true" && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo > maxNumRrcEmergency ? maxNumRrcEmergency - tempmaxaddAUeRrHoaddAUeTcHo :
#!!! maxNumRrc DOWN: (2.1) actEmerCallRedir='Enabled' && actCompChecks == "true" , maxNumRrcEmergency >= maxNumRrc + max(addAUeRrHo, addAUeTcHo)
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actEmerCallRedir == CONST "Enabled" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
#!! Check finally maxNumRrc is not < 0
check_param_value major LNCEL maxNumRrc 0 9999
#!!(2.1) check again and now adjust maxNumActDrb
#!! maxNumActDrb = actMultBearers == CONST "false" && maxNumRrc + addAUeRrHo < maxNumActDrb + addNumDrbRadioReasHo ? maxNumRrc - addNumDrbRadioReasHo + addAUeRrHo :
#!! maxNumActDrb = actMultBearers == CONST "false" && maxNumRrc + addAUeTcHo < maxNumActDrb + addNumDrbRadioReasHo ? maxNumRrc - addNumDrbRadioReasHo + addAUeTcHo :
#!! maxNumActDrb = actMultBearers == CONST "false" && maxNumRrc + addAUeRrHo < maxNumActDrb + addNumDrbTimeCriticalHo ? maxNumRrc - addNumDrbTimeCriticalHo + addAUeRrHo :
#!! maxNumActDrb = actMultBearers == CONST "false" && maxNumRrc + addAUeTcHo < maxNumActDrb + addNumDrbTimeCriticalHo ? maxNumRrc - addNumDrbTimeCriticalHo + addAUeTcHo :
#!!! maxNumActDrb DOWN: (2.1/maxNumRrc) actMultBearers='false', maxNumRrc + max(addAUeRrHo, addAUeTcHo) >= maxNumActDrb + max(addNumDrbRadioReasHo, addNumDrbTimeCriticalHo)

# v0.10 NA05882519: EE SRAN Testbed: Parameter inconsistencies between RL60 -> FL15A
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumActDrb = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbRadioReasHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbRadioReasHo + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumActDrb = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbRadioReasHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbRadioReasHo + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumActDrb = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbTimeCriticalHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbTimeCriticalHo + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeRrHo :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumActDrb = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbTimeCriticalHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addNumDrbTimeCriticalHo + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} addAUeTcHo :
#!! maxNumActDrb = actMultBearers == CONST "false" && maxNumRrc + tempmaxaddAUeRrHoaddAUeTcHo < maxNumActDrb + tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo ? maxNumRrc - tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo + tempmaxaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumActDrb = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrc - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddAUeRrHoaddAUeTcHo :
# v0.10 NA05882519: EE SRAN Testbed: Parameter inconsistencies between RL60 -> FL15A END

#!! Check finally maxNumActDrb is not < 0
#check_param_value major LNCEL maxNumActDrb 0 4500
######## 2.1 END
#(2.2) if actIMSEmerSessR9 is set to 'true'
#- maxNumRrcEmergency >= maxNumActUE + max(addEmergencySessions, addAUeRrHo, addAUeTcHo)
#(2.2.1) if additionally actMultBearers is set to 'true' following condition need to be fulfilled
#- maxNumRrcEmergency >= maxNumQci1Drb + max(addEmergencySessions, addNumQci1DrbRadioReasHo, addNumQci1DrbTimeCriticalHo)
######
#!! maxNumRrcEmergency = actIMSEmerSessR9 == CONST "true" && actCompChecks == "true" && maxNumActUE + tempmaxaddEmergencySessionsaddAUeRrHoaddAUeTcHo > maxNumRrcEmergency ? maxNumActUE + tempmaxaddEmergencySessionsaddAUeRrHoaddAUeTcHo :
#!! maxNumRrcEmergency = actIMSEmerSessR9 == CONST "true" && actCompChecks == "true" && actMultBearers == CONST "true" && maxNumQci1Drb + tempmaxaddEmergencySessionsaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo > maxNumRrcEmergency ? maxNumQci1Drb + tempmaxaddEmergencySessionsaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo :
#!!! maxNumRrcEmergency UP: (2.2) actIMSEmerSessR9='true', maxNumRrcEmergency >= maxNumActUE + max(addEmergencySessions, addAUeRrHo, addAUeTcHo)
#!!! maxNumRrcEmergency UP: (2.2.1) actIMSEmerSessR9='true', maxNumRrcEmergency >= maxNumQci1Drb + max(addEmergencySessions, addNumQci1DrbRadioReasHo, addNumQci1DrbTimeCriticalHo)
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actIMSEmerSessR9 == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActUE + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddEmergencySessionsaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActUE + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddEmergencySessionsaddAUeRrHoaddAUeTcHo :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actIMSEmerSessR9 == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumQci1Drb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddEmergencySessionsaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumQci1Drb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddEmergencySessionsaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo :
#!! maxNumRrcEmergency must be less or equal f(dlChBw)
#!!! maxNumRrcEmergency IN RANGE: (1) dlChBw="5 MHz", maxNumRrcEmergency 0...480; 10 MHz", 0...600; 15 MHz", 0...1030; 20 MHz", 0...1200; actFlexBbUsage='true', 0...420
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "1.4MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 40
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "3MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 120
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 480
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 720
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 840
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 750
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 1250
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 1500
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 5MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrcEmergency 0 420
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 10MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrcEmergency 0 420
#!! maxNumActUE = actIMSEmerSessR9 == CONST "true" && actCompChecks == "true" && maxNumActUE + tempmaxaddEmergencySessionsaddAUeRrHoaddAUeTcHo > maxNumRrcEmergency ? maxNumRrcEmergency - tempmaxaddEmergencySessionsaddAUeRrHoaddAUeTcHo :
#!! maxNumQci1Drb = actIMSEmerSessR9 == CONST "true" && actCompChecks == "true" && actMultBearers == CONST "true" && maxNumQci1Drb + tempmaxaddEmergencySessionsaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo > maxNumRrcEmergency ? maxNumRrcEmergency - tempmaxaddEmergencySessionsaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo :
#!!! maxNumActUE DOWN: (2.2) actIMSEmerSessR9='true', maxNumRrcEmergency >= maxNumActUE + max(addEmergencySessions, addAUeRrHo, addAUeTcHo)
#!!! maxNumQci1Drb DOWN: (2.2.1) actIMSEmerSessR9='true', maxNumRrcEmergency >= maxNumQci1Drb + max(addEmergencySessions, addNumQci1DrbRadioReasHo, addNumQci1DrbTimeCriticalHo)
# TEMPORARY COMMENTING OUT # dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumActUE = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actIMSEmerSessR9 == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActUE + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddEmergencySessionsaddAUeRrHoaddAUeTcHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddEmergencySessionsaddAUeRrHoaddAUeTcHo :
# TEMPORARY COMMENTING OUT # dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumQci1Drb = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actIMSEmerSessR9 == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumQci1Drb + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddEmergencySessionsaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddEmergencySessionsaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo :
#!! Check finally maxNumActUE is not < 0
check_param_value major LNCEL maxNumActUE 0 9999
#!! Check finally maxNumQci1Drb is not < 0
check_param_value major LNCEL maxNumQci1Drb 0 600
#! (2.2.1) if additionally actMultBearers is set to 'true' following condition need to be fulfilled
#- min(6*maxNumRrcEmergency, 4500) >= maxNumActDrb + max(3*addEmergencySessions, addNumDrbRadioReasHo, addNumDrbTimeCriticalHo)
# First, check is the remainder of division zero
#!! tempDivCheck = actIMSEmerSessR9 == CONST "true" && actMultBearers == CONST "true" ? tempmax3addEmergencySessionsaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo + maxNumActDrb / CONST 6 :
#!! tempDivCheck = actIMSEmerSessR9 == CONST "true" && actMultBearers == CONST "true" ? tempDivCheck * CONST 6 - tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo - maxNumActDrb :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempDivCheck = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actIMSEmerSessR9 == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmax3addEmergencySessionsaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb / CONST 6 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempDivCheck = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actIMSEmerSessR9 == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDivCheck * CONST 6 - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb :
#Then do actual adjustments taking reminder into account
#!! maxNumRrcEmergency = actIMSEmerSessR9 == CONST "true" && actCompChecks == "true" && actMultBearers == CONST "true" && tempmax3addEmergencySessionsaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo + maxNumActDrb > tempmin6maxNumRrcEmergency4500 && tempmin6maxNumRrcEmergency4500 != CONST 4500 ? tempmax3addEmergencySessionsaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo + maxNumActDrb :
#!! maxNumRrcEmergency = actIMSEmerSessR9 == CONST "true" && actCompChecks == "true" && actMultBearers == CONST "true" && tempmax3addEmergencySessionsaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo + maxNumActDrb > tempmin6maxNumRrcEmergency4500 && tempmin6maxNumRrcEmergency4500 != CONST 4500 && tempDivCheck != CONST 0 ? maxNumRrcEmergency / CONST 6 + CONST 1 :
#!! maxNumRrcEmergency = actIMSEmerSessR9 == CONST "true" && actCompChecks == "true" && actMultBearers == CONST "true" && tempmax3addEmergencySessionsaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo + maxNumActDrb > tempmin6maxNumRrcEmergency4500 && tempmin6maxNumRrcEmergency4500 != CONST 4500 && tempDivCheck == CONST 0 ? maxNumRrcEmergency / CONST 6 :
#!!! maxNumRrcEmergency UP: (2.2.1) actIMSEmerSessR9='true', actMultBearers='true',min(6*maxNumRrcEmergency, 4500) >= maxNumActDrb + max(3*addEmergencySessions, addNumDrbRadioReasHo, addNumDrbTimeCriticalHo)
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actIMSEmerSessR9 == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmax3addEmergencySessionsaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmin6maxNumRrcEmergency4500 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmin6maxNumRrcEmergency4500 != CONST 4500 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmax3addEmergencySessionsaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actIMSEmerSessR9 == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmax3addEmergencySessionsaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmin6maxNumRrcEmergency4500 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmin6maxNumRrcEmergency4500 != CONST 4500 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDivCheck != CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency / CONST 6 + CONST 1 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actIMSEmerSessR9 == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMultBearers == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmax3addEmergencySessionsaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo + PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumActDrb > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmin6maxNumRrcEmergency4500 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempmin6maxNumRrcEmergency4500 != CONST 4500 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDivCheck == CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency / CONST 6 :
#!! maxNumRrcEmergency range is adjusted based on the value of dlChBw and actFlexBbUsage
#!!! maxNumRrcEmergency IN RANGE (1) dlChBw="5 MHz", maxNumRrcEmergency 0...480; 10 MHz", 0...600; 15 MHz", 0...1030; 20 MHz", 0...1200; actFlexBbUsage='true', 0...420
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "1.4MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 40
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "3MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 120
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 480
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 720
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 840
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 750
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 1250
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 1500
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 5MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrcEmergency 0 420
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 10MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrcEmergency 0 420
#######
#(3) if actFlexBbUsage set to 'true' and (ulChBw,dlChBw) has value '5 MHz' or '10 MHz, maxNumRrcEmergency value range is restricted to 0...420 
#already taken into account
#v0.7, PDDB LN7.0_1406_021
#ALL following conditions (4.x  6.x) are applicable and checked by the BTS only when actCompChecks is set to 'true'
#above replaced by this in v0.7
#ALL following conditions (4.x  6.x) are applicable and checked by the BTS only when actCompChecks is set to 'true' AND (if actEmerCallRedir set to 'true' OR actIMSEmerSessR9 set to 'true')
#!! relation check added to sections 4.x - 6.x
#(4.1) applicable for deltaPucchShift=1 AND 
#(4.1.1) ... srsConfiguration is configured to any value /*SRS support*/
#- maxNumRrcEmergency <= n1PucchAn * cellSrPeriod  6*cellSrPeriod/5*n1PucchAn/36
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && deltaPucchShift == 1 && tempSrsConfiguration != 0 && maxNumRrcEmergency > n1PucchAn * tempcellSrPeriod - temp6cellSrPeriodPER5n1PucchAnPER36 ? n1PucchAn * tempcellSrPeriod - temp6cellSrPeriodPER5n1PucchAnPER36 :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration != CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp6cellSrPeriodPER5n1PucchAnPER36 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp6cellSrPeriodPER5n1PucchAnPER36 :
#!! maxNumRrcEmergency = actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && deltaPucchShift == 1 && tempSrsConfiguration != 0 && maxNumRrcEmergency > n1PucchAn * tempcellSrPeriod - temp6cellSrPeriodPER5n1PucchAnPER36 ? n1PucchAn * tempcellSrPeriod - temp6cellSrPeriodPER5n1PucchAnPER36 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration != CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp6cellSrPeriodPER5n1PucchAnPER36 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp6cellSrPeriodPER5n1PucchAnPER36 :
#(4.1.2) ... srsConfiguration is NOT configured /*no SRS support*/
#- maxNumRrcEmergency <= n1PucchAn * cellSrPeriod 
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && deltaPucchShift == 1 && tempSrsConfiguration == 0 && maxNumRrcEmergency > n1PucchAn * tempcellSrPeriod ? n1PucchAn * tempcellSrPeriod :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration == CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod :
#!! maxNumRrcEmergency = actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && deltaPucchShift == 1 && tempSrsConfiguration == 0 && maxNumRrcEmergency > n1PucchAn * tempcellSrPeriod ? n1PucchAn * tempcellSrPeriod :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration == CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod :
#(4.2) applicable for deltaPucchShift<>1 
#- maxNumRrcEmergency <= n1PucchAn * cellSrPeriod 
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && deltaPucchShift != 1 && maxNumRrcEmergency > n1PucchAn * tempcellSrPeriod ? n1PucchAn * tempcellSrPeriod :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod :
#!! maxNumRrcEmergency = actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && deltaPucchShift != 1 && maxNumRrcEmergency > n1PucchAn * tempcellSrPeriod ? n1PucchAn * tempcellSrPeriod :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod :
#(4.2.1) Range checks !!!!!!!!! + upconversions???? for 4.x chapters!!!
#!! maxNumRrcEmergency range is adjusted based on the value of dlChBw and actFlexBbUsage
#!!! maxNumRrcEmergency IN RANGE (1) dlChBw="5 MHz", maxNumRrcEmergency 0...480; 10 MHz", 0...600; 15 MHz", 0...1030; 20 MHz", 0...1200; actFlexBbUsage='true', 0...420
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "1.4MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 40
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "3MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 120
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 480
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 720
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 840
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 750
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 1250
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 1500
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 5MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrcEmergency 0 420
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 10MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrcEmergency 0 420
#(5) MIMO mode related checks:
#(5.1) applicable for riEnable set to 'false' /*no MIMO support*/
#- maxNumRrcEmergency <= (nCqiRb - blankedPucch) * 6 * cqiPerNp
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && riEnable == CONST "false" && maxNumRrcEmergency > nCqiRb - blankedPucch * CONST 6 * tempcqiPerNp ? nCqiRb - blankedPucch * CONST 6 * tempcqiPerNp :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp :
#!! maxNumRrcEmergency = actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && riEnable == "false" && maxNumRrcEmergency > nCqiRb - blankedPucch * 6 * tempcqiPerNp ? nCqiRb - blankedPucch * 6 * tempcqiPerNp :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp :
#(5.2) applicable for riEnable set to 'true' AND riPerM set to '2' /*MIMO support*/
#- maxNumRrcEmergency <= (nCqiRb - blankedPucch) * 6 * cqiPerNp
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && riEnable == CONST "true" && riPerM == CONST 2 && maxNumRrcEmergency > nCqiRb - blankedPucch * CONST 6 * tempcqiPerNp ? nCqiRb - blankedPucch * CONST 6 * tempcqiPerNp :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riPerM == CONST 2 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp :
#!! maxNumRrcEmergency = actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && riEnable == "true" && riPerM == 2 && maxNumRrcEmergency > nCqiRb - blankedPucch * 6 * tempcqiPerNp ? nCqiRb - blankedPucch * 6 * tempcqiPerNp :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riPerM == CONST 2 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp :
#(5.3) applicable for riEnable set to 'true' AND riPerM set to '1' /*MIMO support*/
#- maxNumRrcEmergency <= (nCqiRb - blankedPucch) * 6 * cqiPerNp/2
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && riEnable == CONST "true" && riPerM == CONST 1 && maxNumRrcEmergency > nCqiRb - blankedPucch * CONST 6 * tempcqiPerNp / CONST 2? nCqiRb - blankedPucch * CONST 6 * tempcqiPerNp / CONST 2:
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riPerM == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 :
#!! maxNumRrcEmergency = actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && riEnable == "true" && riPerM == 1 && maxNumRrcEmergency > nCqiRb - blankedPucch * 6 * tempcqiPerNp / 2 ? nCqiRb - blankedPucch * 6 * tempcqiPerNp / 2 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riPerM == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 :
#(5.3.1) Range checks !!!!!!!!! + upconversions???? for 5.x chapters!!!
#!! maxNumRrcEmergency range is adjusted based on the value of dlChBw and actFlexBbUsage
#!!! maxNumRrcEmergency IN RANGE (1) dlChBw="5 MHz", maxNumRrcEmergency 0...480; 10 MHz", 0...600; 15 MHz", 0...1030; 20 MHz", 0...1200; actFlexBbUsage='true', 0...420
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "1.4MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 40
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "3MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 120
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 480
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 720
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 840
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 750
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 1250
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 1500
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 5MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrcEmergency 0 420
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 10MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrcEmergency 0 420
#(6) Definition used in below parameter relationships:
#- P-LNCEL: the parent LNCEL instance of the CAREL instance
#Following conditions need to be fulfilled if a cell is configured as primary cell (P-LNCEL), i.e. if a CAREL object exists subordinate to the LNCEL:
#(6.1) If riEnable is set to 'true' AND n1PucchAn <> 10 AND deltaPucchShift=1 AND
#(6.1.1)  srsConfiguration is configured to any value all of the following conditions must be fulfilled:
#- maxNumRrcEmergency <= ((nCqiRb - blankedPucch) - (maxNumScells -1)) * 6 * cqiPerNp/2
#- maxNumRrcEmergency <= (n1PucchAn  48) * cellSrPeriod  6 * cellSrPeriod/5 * n1PucchAn/36
#!! (maxNumScells -1)
##Already in maxNumRrc part!!
##add_param minor LNCEL tempMaxNumScells_1 0
##dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempMaxNumScells_1 = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempMaxNumScells_1 == CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumScells - CONST 1 :
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && tempDLCAggrOnForCell == CONST "true" && riEnable == CONST "true" && n1PucchAn != CONST 10 && deltaPucchShift == 1 && tempSrsConfiguration != 0 && maxNumRrcEmergency > nCqiRb - blankedPucch - tempMaxNumScells_1 * CONST 6 * tempcqiPerNp / CONST 2 ? nCqiRb - blankedPucch - tempMaxNumScells_1 * CONST 6 * tempcqiPerNp / CONST 2 :
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && tempDLCAggrOnForCell == CONST "true" && riEnable == CONST "true" && n1PucchAn != CONST 10 && deltaPucchShift == 1 && tempSrsConfiguration != 0 && maxNumRrcEmergency > n1PucchAn - CONST 48 * tempcellSrPeriod - temp6cellSrPeriodPER5n1PucchAnPER36 ? n1PucchAn - CONST 48 * tempcellSrPeriod - temp6cellSrPeriodPER5n1PucchAnPER36 :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration != CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration != CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 48 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp6cellSrPeriodPER5n1PucchAnPER36 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 48 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp6cellSrPeriodPER5n1PucchAnPER36 :
#v0.9, maxNumRrcEmergency relation (6) precondition based on PDDB FL15A_1503_010, PR040548
#!! maxNumRrcEmergency = actDLCAggr == "true" && actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && tempDLCAggrOnForCell == "true" && riEnable == "true" && n1PucchAn != 10 && deltaPucchShift == 1 && tempSrsConfiguration != 0 && maxNumRrcEmergency > nCqiRb - blankedPucch * 6 * tempcqiPerNp / 2 ? nCqiRb - blankedPucch * 6 * tempcqiPerNp / 2 :
#!! maxNumRrcEmergency = actDLCAggr == "true" && actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && tempDLCAggrOnForCell == "true" && riEnable == "true" && n1PucchAn != 10 && deltaPucchShift == 1 && tempSrsConfiguration != 0 && maxNumRrcEmergency > n1PucchAn - 48 * tempcellSrPeriod - temp6cellSrPeriodPER5n1PucchAnPER36 ? n1PucchAn - 48 * tempcellSrPeriod - temp6cellSrPeriodPER5n1PucchAnPER36 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration != CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration != CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 48 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp6cellSrPeriodPER5n1PucchAnPER36 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 48 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp6cellSrPeriodPER5n1PucchAnPER36 :
#v0.9 end
#(6.1.2)  srsConfiguration is NOT configured all of the following conditions must be fulfilled:
#- maxNumRrcEmergency <= ((nCqiRb - blankedPucch) - (maxNumScells -1)) * 6 * cqiPerNp/2
#- maxNumRrcEmergency <= (n1PucchAn  48) * cellSrPeriod 
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && tempDLCAggrOnForCell == CONST "true" && riEnable == CONST "true" && n1PucchAn != CONST 10 && deltaPucchShift == 1 && tempSrsConfiguration == 0 && maxNumRrcEmergency > nCqiRb - blankedPucch - tempMaxNumScells_1 * CONST 6 * tempcqiPerNp / CONST 2 ? nCqiRb - blankedPucch - tempMaxNumScells_1 * CONST 6 * tempcqiPerNp / CONST 2 :
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && tempDLCAggrOnForCell == CONST "true" && riEnable == CONST "true" && n1PucchAn != CONST 10 && deltaPucchShift == 1 && tempSrsConfiguration == 0 && maxNumRrcEmergency > n1PucchAn - CONST 48 * tempcellSrPeriod ? n1PucchAn - CONST 48 * tempcellSrPeriod :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration == CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration == CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 48 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 48 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod :
#v0.9, maxNumRrcEmergency relation (6) precondition based on PDDB FL15A_1503_010, PR040548
#!! maxNumRrcEmergency = actDLCAggr == "true" && actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && tempDLCAggrOnForCell == "true" && riEnable == "true" && n1PucchAn != 10 && deltaPucchShift == 1 && tempSrsConfiguration == 0 && maxNumRrcEmergency > nCqiRb - blankedPucch * 6 * tempcqiPerNp / 2 ? nCqiRb - blankedPucch * 6 * tempcqiPerNp / 2 :
#!! maxNumRrcEmergency = actDLCAggr == "true" && actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && tempDLCAggrOnForCell == "true" && riEnable == "true" && n1PucchAn != 10 && deltaPucchShift == 1 && tempSrsConfiguration == 0 && maxNumRrcEmergency > n1PucchAn - 48 * tempcellSrPeriod ? n1PucchAn - 48 * tempcellSrPeriod :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration == CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration == CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 48 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 48 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod :
#v0.9 end
#(6.2) If riEnable is set to 'true' AND n1PucchAn <> 10 AND deltaPucchShift<>1 all of the following conditions must be fulfilled:
#- maxNumRrcEmergency <= ((nCqiRb - blankedPucch) - (maxNumScells -1)) * 6 * cqiPerNp/2
#- maxNumRrcEmergency <= (n1PucchAn  48) * cellSrPeriod)
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && tempDLCAggrOnForCell == CONST "true" && riEnable == CONST "true" && n1PucchAn != CONST 10 && deltaPucchShift != 1 && maxNumRrcEmergency > nCqiRb - blankedPucch - tempMaxNumScells_1 * CONST 6 * tempcqiPerNp / CONST 2 ? nCqiRb - blankedPucch - tempMaxNumScells_1 * CONST 6 * tempcqiPerNp / CONST 2 :
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && tempDLCAggrOnForCell == CONST "true" && riEnable == CONST "true" && n1PucchAn != CONST 10 && deltaPucchShift != 1 && maxNumRrcEmergency > n1PucchAn - CONST 48 * tempcellSrPeriod ? n1PucchAn - CONST 48 * tempcellSrPeriod :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 48 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 48 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod :
#v0.9, maxNumRrcEmergency relation (6) precondition based on PDDB FL15A_1503_010, PR040548
#!! maxNumRrcEmergency = actDLCAggr == "true" && actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && tempDLCAggrOnForCell == "true" && riEnable == "true" && n1PucchAn != 10 && deltaPucchShift != 1 && maxNumRrcEmergency > nCqiRb - blankedPucch * 6 * tempcqiPerNp / 2 ? nCqiRb - blankedPucch * 6 * tempcqiPerNp / 2 :
#!! maxNumRrcEmergency = actDLCAggr == "true" && actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && tempDLCAggrOnForCell == "true" && riEnable == "true" && n1PucchAn != 10 && deltaPucchShift != 1 && maxNumRrcEmergency > n1PucchAn - 48 * tempcellSrPeriod ? n1PucchAn - 48 * tempcellSrPeriod :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 48 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 48 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod :
#v0.9 end
#(6.3) If riEnable is set to 'true' AND n1PucchAn = 10 all of the following conditions must be fulfilled:
#- maxNumRrcEmergency <= ((nCqiRb - blankedPucch) - (maxNumScells -1)) * 6 * cqiPerNp/2
#- maxNumRrcEmergency <= (2 * cellSrPeriod)
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && tempDLCAggrOnForCell == CONST "true" && riEnable == CONST "true" && n1PucchAn == CONST 10 && maxNumRrcEmergency > nCqiRb - blankedPucch - tempMaxNumScells_1 * CONST 6 * tempcqiPerNp / CONST 2 ? nCqiRb - blankedPucch - tempMaxNumScells_1 * CONST 6 * tempcqiPerNp / CONST 2 :
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && tempDLCAggrOnForCell == CONST "true" && riEnable == CONST "true" && n1PucchAn == CONST 10 && maxNumRrcEmergency > CONST 2 * tempcellSrPeriod ? CONST 2 * tempcellSrPeriod :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn == CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn == CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > CONST 2 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? CONST 2 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod :
#v0.9, maxNumRrcEmergency relation (6) precondition based on PDDB FL15A_1503_010, PR040548
#!! maxNumRrcEmergency = actDLCAggr == "true" && actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && tempDLCAggrOnForCell == "true" && riEnable == "true" && n1PucchAn == 10 && maxNumRrcEmergency > nCqiRb - blankedPucch * 6 * tempcqiPerNp / 2 ? nCqiRb - blankedPucch * 6 * tempcqiPerNp / 2 :
#!! maxNumRrcEmergency = actDLCAggr == "true" && actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && tempDLCAggrOnForCell == "true" && riEnable == "true" && n1PucchAn == 10 && maxNumRrcEmergency > 2 * tempcellSrPeriod ? 2 * tempcellSrPeriod :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn == CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp / CONST 2 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn == CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > CONST 2 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? CONST 2 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod :
#v0.9 end
#(6.4) If riEnable is set to 'false' AND n1PucchAn <> 10 AND deltaPucchShift=1 AND
#(6.4.1)  srsConfiguration is configured to any value all of the following conditions must be fulfilled:
#- maxNumRrcEmergency <= ((nCqiRb - blankedPucch) - (maxNumScells -1)) * 6 * cqiPerNp
#- maxNumRrcEmergency <= (n1PucchAn  36) * cellSrPeriod)  6 * cellSrPeriod/5 * n1PucchAn/36
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && tempDLCAggrOnForCell == CONST "true" && riEnable == CONST "false" && n1PucchAn != CONST 10 && deltaPucchShift == 1 && tempSrsConfiguration != 0 && maxNumRrcEmergency > nCqiRb - blankedPucch - tempMaxNumScells_1 * CONST 6 * tempcqiPerNp ? nCqiRb - blankedPucch - tempMaxNumScells_1 * CONST 6 * tempcqiPerNp :
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && tempDLCAggrOnForCell == CONST "true" && riEnable == CONST "false" && n1PucchAn != CONST 10 && deltaPucchShift == 1 && tempSrsConfiguration != 0 && maxNumRrcEmergency > n1PucchAn - CONST 36 * tempcellSrPeriod - temp6cellSrPeriodPER5n1PucchAnPER36 ? n1PucchAn - CONST 36 * tempcellSrPeriod - temp6cellSrPeriodPER5n1PucchAnPER36 :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration != CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration != CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 36 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp6cellSrPeriodPER5n1PucchAnPER36 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 36 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp6cellSrPeriodPER5n1PucchAnPER36 :
#v0.9, maxNumRrcEmergency relation (6) precondition based on PDDB FL15A_1503_010, PR040548
#!! maxNumRrcEmergency = actDLCAggr == "true" && actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && tempDLCAggrOnForCell == "true" && riEnable == "false" && n1PucchAn != 10 && deltaPucchShift == 1 && tempSrsConfiguration != 0 && maxNumRrcEmergency > nCqiRb - blankedPucch * 6 * tempcqiPerNp ? nCqiRb - blankedPucch * 6 * tempcqiPerNp :
#!! maxNumRrcEmergency = actDLCAggr == "true" && actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && tempDLCAggrOnForCell == "true" && riEnable == "false" && n1PucchAn != 10 && deltaPucchShift == 1 && tempSrsConfiguration != 0 && maxNumRrcEmergency > n1PucchAn - 36 * tempcellSrPeriod - temp6cellSrPeriodPER5n1PucchAnPER36 ? n1PucchAn - 36 * tempcellSrPeriod - temp6cellSrPeriodPER5n1PucchAnPER36 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration != CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration != CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 36 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp6cellSrPeriodPER5n1PucchAnPER36 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 36 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} temp6cellSrPeriodPER5n1PucchAnPER36 :
#v0.9 end
#(6.4.2)  srsConfiguration is NOT configured all of the following conditions must be fulfilled:
#- maxNumRrcEmergency <= ((nCqiRb - blankedPucch) - (maxNumScells -1)) * 6 * cqiPerNp
#- maxNumRrcEmergency <= (n1PucchAn  36) * cellSrPeriod)
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && tempDLCAggrOnForCell == CONST "true" && riEnable == CONST "false" && n1PucchAn != CONST 10 && deltaPucchShift == 1 && tempSrsConfiguration == 0 && maxNumRrcEmergency > nCqiRb - blankedPucch - tempMaxNumScells_1 * CONST 6 * tempcqiPerNp ? nCqiRb - blankedPucch - tempMaxNumScells_1 * CONST 6 * tempcqiPerNp :
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && tempDLCAggrOnForCell == CONST "true" && riEnable == CONST "false" && n1PucchAn != CONST 10 && deltaPucchShift == 1 && tempSrsConfiguration == 0 && maxNumRrcEmergency > n1PucchAn - CONST 36 * tempcellSrPeriod ? n1PucchAn - CONST 36 * tempcellSrPeriod :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration == CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration == CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 36 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 36 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod :
#v0.9, maxNumRrcEmergency relation (6) precondition based on PDDB FL15A_1503_010, PR040548
#!! maxNumRrcEmergency = actDLCAggr == "true" && actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && tempDLCAggrOnForCell == "true" && riEnable == "false" && n1PucchAn != 10 && deltaPucchShift == 1 && tempSrsConfiguration == 0 && maxNumRrcEmergency > nCqiRb - blankedPucch * 6 * tempcqiPerNp ? nCqiRb - blankedPucch * 6 * tempcqiPerNp :
#!! maxNumRrcEmergency = actDLCAggr == "true" && actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && tempDLCAggrOnForCell == "true" && riEnable == "false" && n1PucchAn != 10 && deltaPucchShift == 1 && tempSrsConfiguration == 0 && maxNumRrcEmergency > n1PucchAn - 36 * tempcellSrPeriod ? n1PucchAn - 36 * tempcellSrPeriod :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration == CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift == CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempSrsConfiguration == CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 36 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 36 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod :
#v0.9 end
#(6.5) If riEnable is set to 'false' AND n1PucchAn <> 10 AND deltaPucchShift<>1 all of the following conditions must be fulfilled:
#- maxNumRrcEmergency <= ((nCqiRb - blankedPucch) - (maxNumScells -1)) * 6 * cqiPerNp
#- maxNumRrcEmergency <= (n1PucchAn  36) * cellSrPeriod)
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && tempDLCAggrOnForCell == CONST "true" && riEnable == CONST "false" && n1PucchAn != CONST 10 && deltaPucchShift != 1 && maxNumRrcEmergency > nCqiRb - blankedPucch - tempMaxNumScells_1 * CONST 6 * tempcqiPerNp ? nCqiRb - blankedPucch - tempMaxNumScells_1 * CONST 6 * tempcqiPerNp :
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && tempDLCAggrOnForCell == CONST "true" && riEnable == CONST "false" && n1PucchAn != CONST 10 && deltaPucchShift != 1 && maxNumRrcEmergency > n1PucchAn - CONST 36 * tempcellSrPeriod ? n1PucchAn - CONST 36 * tempcellSrPeriod :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 36 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 36 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod :
#v0.9, maxNumRrcEmergency relation (6) precondition based on PDDB FL15A_1503_010, PR040548
#!! maxNumRrcEmergency = actDLCAggr == "true" && actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && tempDLCAggrOnForCell == "true" && riEnable == "false" && n1PucchAn != 10 && deltaPucchShift != 1 && maxNumRrcEmergency > nCqiRb - blankedPucch * 6 * tempcqiPerNp ? nCqiRb - blankedPucch * 6 * tempcqiPerNp :
#!! maxNumRrcEmergency = actDLCAggr == "true" && actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && tempDLCAggrOnForCell == "true" && riEnable == "false" && n1PucchAn != 10 && deltaPucchShift != 1 && maxNumRrcEmergency > n1PucchAn - 36 * tempcellSrPeriod ? n1PucchAn - 36 * tempcellSrPeriod :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn != CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} deltaPucchShift != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 36 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn - CONST 36 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod :
#v0.9 end
#(6.6) If riEnable is set to 'false' AND n1PucchAn = 10 all of the following conditions must be fulfilled:
#- maxNumRrcEmergency <= ((nCqiRb - blankedPucch) - (maxNumScells -1)) * 6 * cqiPerNp
#- maxNumRrcEmergency <= 6 * cellSrPeriod 
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && tempDLCAggrOnForCell == CONST "true" && riEnable == CONST "false" && n1PucchAn == CONST 10 && maxNumRrcEmergency > nCqiRb - blankedPucch - tempMaxNumScells_1 * CONST 6 * tempcqiPerNp ? nCqiRb - blankedPucch - tempMaxNumScells_1 * CONST 6 * tempcqiPerNp :
#!! maxNumRrcEmergency = actCompChecks == CONST "true" && tempDLCAggrOnForCell == CONST "true" && riEnable == CONST "false" && n1PucchAn == CONST 10 && maxNumRrcEmergency > CONST 6 * tempcellSrPeriod ? CONST 6 * tempcellSrPeriod :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn == CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn == CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod :
#v0.9, maxNumRrcEmergency relation (6) precondition based on PDDB FL15A_1503_010, PR040548
#!! maxNumRrcEmergency = actDLCAggr == "true" && actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && tempDLCAggrOnForCell == "true" && riEnable == "false" && n1PucchAn == 10 && maxNumRrcEmergency > nCqiRb - blankedPucch * 6 * tempcqiPerNp ? nCqiRb - blankedPucch * 6 * tempcqiPerNp :
#!! maxNumRrcEmergency = actDLCAggr == "true" && actCompChecks == "true" && tempactIMSEmerSessR9actEmerCallRedir == "true" && tempDLCAggrOnForCell == "true" && riEnable == "false" && n1PucchAn == 10 && maxNumRrcEmergency > 6 * tempcellSrPeriod ? 6 * tempcellSrPeriod :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn == CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} nCqiRb - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} blankedPucch * CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcqiPerNp :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDLCAggr == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actCompChecks == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempactIMSEmerSessR9actEmerCallRedir == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempDLCAggrOnForCell == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} riEnable == CONST "false" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} n1PucchAn == CONST 10 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency > CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod ? CONST 6 * PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempcellSrPeriod :
#v0.9 end
#(6.6.1) Range checks !!!!!!!!! + upconversions???? for 6.x chapters!!!
#!! maxNumRrcEmergency range is adjusted based on the value of dlChBw and actFlexBbUsage
#!!! maxNumRrcEmergency IN RANGE (1) dlChBw="5 MHz", maxNumRrcEmergency 0...480; 10 MHz", 0...600; 15 MHz", 0...1030; 20 MHz", 0...1200; actFlexBbUsage='true', 0...420
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "1.4MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 40
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "3MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 120
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 480
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 720
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_false" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 840
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "5MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 600
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "10MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 750
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "15MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 1250
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw "20MHz_true" MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumRrcEmergency 0 1500
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 5MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrcEmergency 0 420
dependence_limit_param_value_if_keyparam_value_match_relative minor MRBTS/LNBTS/LNCEL - tempActHighRrc_dlChBw 10MHz_true_flexBB MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* maxNumRrcEmergency 0 420
# Temporary parameter deletions:
del_param minor LNCEL tempDLCAggrOnForCell
del_param minor LNCEL tempDivCheck
del_param minor LNCEL tempmaxNumRrc
del_param minor LNCEL tempmaxNumActDrb
del_param minor LNCEL tempaddAUeRrHo
del_param minor LNCEL tempaddAUeTcHo
del_param minor LNCEL tempmaxaddAUeRrHoaddAUeTcHo
del_param minor LNCEL tempmaxaddEmergencySessionsaddAUeRrHoaddAUeTcHo
del_param minor LNCEL tempmaxaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo
del_param minor LNCEL tempmaxaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo
del_param minor LNCEL tempmaxaddEmergencySessionsaddNumQci1DrbRadioReasHoaddNumQci1DrbTimeCriticalHo
del_param minor LNCEL tempmax3addEmergencySessionsaddNumDrbRadioReasHoaddNumDrbTimeCriticalHo
del_param minor LNCEL tempmin6maxNumRrcEmergency4500
del_param minor LNCEL tempmin6maxNumRrc4500
del_param minor LNCEL tempmin6maxNumRrc6maxaddAUeRrHoaddAUeTcHo4500
del_param minor LNCEL tempDLCAggrOnForCell
del_param minor LNCEL tempcqiPerNp
del_param minor LNCEL tempcellSrPeriod
del_param minor LNCEL tempActHighRrc_dlChBw
del_param minor LNCEL temp6cellSrPeriod
del_param minor LNCEL temp5n1PucchAn
del_param minor LNCEL temp6cellSrPeriodPER5n1PucchAnPER36
del_param minor LNCEL tempSrsConfiguration
del_param minor LNCEL tempMaxNumScells_1
del_param minor LNBTS tempactIMSEmerSessR9actEmerCallRedir
# v0.6 adaptation to the PDDB version LN7.0_1406_018 END
#version

#FZM Replace# set_version major LN7.0
set_version major LNF7.0

#history:
#FZM Replace# add_log minor "Conversion from LN7.0 FB14.07 (014) to LN7.0 FB14.07 (021)"
add_log minor "Conversion from LNF7.0 FB14.07 (014) to LNF7.0 FB14.07 (024)"