merged changes 25614,25629,25631 into branch.