if ( objects_count "SBTS" ) == 0 && ( objects_count "MRBTS" ) == 0 && ( objects_count "BCF/MRBTS/BTSSCC/BTSSCG/BTSNE" ) == 0 abort reason "MISSING_BTS"

for_objects "MRBTS/LNBTS"
    begin
        define "versionFL16" replace get_version $current_dist_name "(.*(FL16))" "$2" flags "g"
        define "version16" replace get_version $current_dist_name "(.*(TL16).*)|^(?!TL16).*" "$2" flags "g"
        define "version17" replace get_version $current_dist_name "(.*(TL17).*)|^(?!TL17).*" "$2" flags "g"
		define "version17SP" replace get_version $current_dist_name "(.*(TL17SP).*)|^(?!TL17SP).*" "$2" flags "g"
        define "version18" replace get_version $current_dist_name "(.*(TL18).*)|^(?!TL18).*" "$2" flags "g"

        if version16 == "TL16" || versionFL16 == "FL16" || version17 == "TL17" || version18 == "TL18" || version17SP == "TL17SP"
            abort reason "UNSUPPORTED_MIGRATION"
    end

for_objects "SBTS"
begin
	define "tempVersion" ""
	if ( get_version $current_dist_name ) == "SBTS16.10" define "tempVersion" get_version $current_dist_name
	if ( get_version $current_dist_name ) == "SBTS16.2" define "tempVersion" get_version $current_dist_name
	if ( "" != tempVersion )
	#this rule prevents migration from SBTS16 if not merged with BIM
	begin
		if ( objects_count "CABINET/SMOD" ) == 0 abort reason "UNSUPPORTED_INPUT_SCF_VERSION" 
	end
end


for_objects "BCF/MRBTS/BTSSCC/BTSSCG/BTSNE"
	begin
		if ( not ( get_version $current_dist_name ) == "GF17" || ( get_version $current_dist_name ) == "GF16" ) abort reason "UNSUPPORTED_VERSION_GSM"
	end

for_objects "BCF/BTSSCG/BTSNE"
	begin
		if ( not ( get_version $current_dist_name ) == "GF17" || ( get_version $current_dist_name ) == "GF16" ) abort reason "UNSUPPORTED_VERSION_GSM"
	end	
	
for_objects "WBTS/MRBTS"
	begin
        if ( not ( get_version $current_dist_name ) == "WBTS17" || ( get_version $current_dist_name ) == "WBTS16" || ( get_version $current_dist_name ) == "WBTS18" )
            abort reason  "UNSUPPORTED_VERSION_WCDMA"

		if ( objects_count "FTM" ) == 0 abort reason "MISSING_TRANSPORT"
		for_objects "BTSSCW"
			if ( param_exist $current_dist_name "rfSharingEnabled" )
				if ( "true" == get_param $current_dist_name "rfSharingEnabled" ) abort reason "UNSUPPORTED_RF_SHARING"
	end

for_objects "MRBTS/LNBTS"
	begin
		define "temp1" get_version $current_dist_name
		define "temp2" replace temp1 "(.*(FL).*)|^(?!FL).*" "$2" flags "g"
		if ( "FL" == temp2 )
		begin
			define "temp3" replace temp1 "(.*(FL16A).*)|^(?!FL16A).*" "$2" flags "g"  
			if ( temp3 == "" ) define "temp3"  replace temp1 "(.*(FL17).*)|^(?!FL17).*" "$2" flags "g" 
			if ( temp3 == "" ) define "temp3"  replace temp1 "(.*(FL18).*)|^(?!FL18).*" "$2" flags "g" 
			if ( temp3 == "" ) abort reason "UNSUPPORTED_VERSION_LTE"
			if ( objects_count "MRBTS/LNBTS/FTM" ) == 0 abort reason "MISSING_TRANSPORT"
		end
		define "tempLN" replace temp1 "(.*(LN).*)|^(?!LN).*" "$2" flags "g"
		if ( "LN" == tempLN ) abort reason "UNSUPPORTED_VERSION_LTE"
		for_objects "BTSSCL"
			if ( param_exist $current_dist_name "rfSharingEnabled" )
				if ( "true" == get_param $current_dist_name "rfSharingEnabled" ) abort reason "UNSUPPORTED_RF_SHARING"
	end

