Walmart agrees to pay $282 million to settle Brazil unit corruption claim