Generated code from  71e732fb1bf33e8c4517128c28eb52675f88fb8b