NBC News: Walgreens to pay $300 million in U.S. opioid settlement