Only execute 1 lambda eval condition - not both

HI,
Trying to execute a TickScript with 2 eval conditions.I want only 1 eval on the flagData executed(either (badFlg1=T && goodFlg1=F) OR (badFlg1=F && goodFlg1=T) ) but both of the conditions are getting executed currently. What am I doing wrong ?

var alertsStateMeasurement string
var alertsGlobalStateMeasurement string
var periodWindow = 5s
var everyFreq = 5s
var dbName string
var httpOutRestEndpoint string
var globalFlgCol string
var true_bool = TRUE
var false_bool = FALSE
var flagData =
stream
|from()
.measurement(alertsStateMeasurement)
|window()
.period(periodWindow)
.every(everyFreq)
.align()
flagData
|eval(lambda: isPresent(“bad_state_flg.badFlg1”) AND bool(“bad_state_flg.badFlg1”) == true_bool AND isPresent(“good_state_flg.goodFlg1”) AND bool(“good_state_flg.goodFlg1”) == false_bool)
.as(‘evalglobal_flgT’)
|httpOut(httpOutRestEndpoint)
|influxDBOut()
.database(dbName)
.measurement(alertsGlobalStateMeasurement)
.tag(globalFlgCol, ‘false’)
flagData
|eval(lambda: isPresent(“bad_state_flg.badFlg1”) AND bool(“bad_state_flg.badFlg1”) == false_bool AND isPresent(“good_state_flg.goodFlg1”) AND bool(“good_state_flg.goodFlg1”) == true_bool)
.as(‘evalglobal_flgT’)
|httpOut(‘badStateGlobal’)
|influxDBOut()
.database(dbName)
.measurement(alertsGlobalStateMeasurement)
.tag(globalFlgCol, ‘true’)

TIA,