fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x40020, 0x100be0}, {&(0x7f000007c320)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkal\x00\x00\x00\x00\x00\x00', 0x420, 0x180800}, {&(0x7f000007c740)='syzkallers\x00'/32, 0x20, 0x181000}, {&(0x7f000007c760)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallers\x00'/128, 0x80, 0x183800}, {&(0x7f000007c7e0)="eb52904e5446532020202000020200000000000000f8000000000000000000000000000080008000ff0f0000000000001000000000000000ff030000000000000100000004000000015f1c32890d2820000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ffe00}, {&(0x7f000007c8c0)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1fffe0}], 0x0, &(0x7f000007c8e0)) 07:40:39 executing program 3: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='cgroup.controllers\x00', 0x275a, 0x0) r1 = socket$inet6_mptcp(0xa, 0x1, 0x106) write$binfmt_script(r0, &(0x7f00000000c0)=ANY=[], 0x208e2a1) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0xb00000000065808, 0x0) r3 = socket$nl_sock_diag(0x10, 0x3, 0x4) sendmsg$DCCPDIAG_GETSOCK(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000000)=ANY=[@ANYBLOB="540000001300f5a1ab621a7c678e0000ffff015600000000001fff00"/56, @ANYRES32=0x0, @ANYBLOB="00000000000000000290cd2e54f64a9b080003000601"], 0x54}}, 0x0) connect$inet6(r1, &(0x7f0000000300)={0xa, 0x0, 0x0, @private2}, 0x1c) sendfile(r3, r2, 0x0, 0x21fd1ee8) 07:40:39 executing program 5: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000000)=0x6) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = socket$inet_udp(0x2, 0x2, 0x0) ioctl$sock_SIOCSIFBR(r3, 0x8941, &(0x7f0000000000)=@get={0x1, &(0x7f0000000080)=""/59, 0x1}) 07:40:39 executing program 0: r0 = socket(0x10, 0x3, 0x0) sendmsg$nl_generic(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000003c0)={0x64, 0x19, 0x205, 0x0, 0x0, {0x1d, 0xd601, 0x9}, [@nested={0x50, 0xf, 0x0, 0x1, [@typed={0x49, 0x0, 0x0, 0x0, @binary="9b8c6410ca834873965bd062fb695cbecb088f1a77711bdb222d330d4d34accef694046846a58a9d610852d8d6c1e95180c068df91f8d5b86ef089fd6a70414c3cb32b1989"}]}]}, 0x64}}, 0x0) 07:40:39 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) write$binfmt_misc(r3, &(0x7f0000000080)={'syz0'}, 0x4) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000380)=ANY=[@ANYBLOB="3c00000010000d0700000000ffe70a0000000010", @ANYRES32=r4, @ANYBLOB="00000000e60000001c0012000c000100626f6e64"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000003c0)=@newqdisc={0x38, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_multiq={{0xb}, {0x8}}]}, 0x38}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000140)=ANY=[@ANYBLOB="240000002a00270d000000d37fa04dded89d7300", @ANYRES32=r4], 0x24}}, 0x0) [ 1567.026759][T19605] netlink: 12 bytes leftover after parsing attributes in process `syz-executor.2'. [ 1567.312469][T19605] bond12 (uninitialized): Released all slaves 07:40:40 executing program 0: unshare(0x4000400) r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$IPT_SO_SET_REPLACE(r0, 0x4000000000000, 0x40, &(0x7f0000000000)=@raw={'raw\x00', 0x4001, 0x3, 0x200004c8, 0x340, 0x0, 0x148, 0x0, 0x148, 0x3d0, 0x240, 0x240, 0x3d0, 0x240, 0x3, 0x0, {[{{@ip={@local, @local, 0x0, 0x0, 'macvlan0\x00', 'caif0\x00'}, 0x0, 0x2f8, 0x340, 0x0, {}, [@common=@inet=@hashlimit1={{0x58}, {'lo\x00'}}, @common=@unspec=@bpf1={{0x230}, @bytecode={0x2}}]}, @unspec=@CT0={0x48}}, {{@uncond, 0x0, 0x70, 0x90}, @unspec=@NOTRACK={0x20}}], {{'\x00', 0x0, 0x70, 0x98}, {0x28}}}}, 0x4c8) 07:40:40 executing program 4: r0 = add_key(&(0x7f00000000c0)='rxrpc\x00', &(0x7f0000000240)={'syz', 0x1}, 0x0, 0x0, 0xfffffffffffffffc) keyctl$read(0xb, r0, 0x0, 0x0) 07:40:40 executing program 5: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000000)=0x6) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = socket$inet_udp(0x2, 0x2, 0x0) ioctl$sock_SIOCSIFBR(r3, 0x8941, &(0x7f0000000000)=@get={0x1, &(0x7f0000000080)=""/59, 0x1}) 07:40:40 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) write$binfmt_misc(r3, &(0x7f0000000080)={'syz0'}, 0x4) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000380)=ANY=[@ANYBLOB="3c00000010000d0700000000ffe70a0000000010", @ANYRES32=r4, @ANYBLOB="00000000e60000001c0012000c000100626f6e64"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000003c0)=@newqdisc={0x38, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_multiq={{0xb}, {0x8}}]}, 0x38}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000140)=ANY=[@ANYBLOB="240000002a00270d000000d37fa04dded89d7300", @ANYRES32=r4], 0x24}}, 0x0) 07:40:40 executing program 0: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000001c0)=@newsa={0x184, 0x10, 0x713, 0x0, 0x0, {{@in=@initdev={0xac, 0x1e, 0x0, 0x0}, @in6=@remote}, {@in6=@remote, 0x0, 0x32}, @in=@dev, {}, {}, {}, 0x0, 0x0, 0x2}, [@algo_crypt={0x48, 0x2, {{'ecb(cipher_null)\x00'}}}, @algo_auth_trunc={0x4c, 0x14, {{'cmac(aes)\x00'}, 0x0, 0x2}}]}, 0x184}}, 0x0) 07:40:40 executing program 3: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='cgroup.controllers\x00', 0x275a, 0x0) r1 = socket$inet6_mptcp(0xa, 0x1, 0x106) write$binfmt_script(r0, &(0x7f00000000c0)=ANY=[], 0x208e2a1) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0xb00000000065808, 0x0) r3 = socket$nl_sock_diag(0x10, 0x3, 0x4) sendmsg$DCCPDIAG_GETSOCK(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000000)=ANY=[@ANYBLOB="540000001300f5a1ab621a7c678e0000ffff015600000000001fff00"/56, @ANYRES32=0x0, @ANYBLOB="00000000000000000290cd2e54f64a9b080003000601"], 0x54}}, 0x0) connect$inet6(r1, &(0x7f0000000300)={0xa, 0x0, 0x0, @private2}, 0x1c) sendfile(r3, r2, 0x0, 0x21fd1ee8) 07:40:40 executing program 4: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='cgroup.controllers\x00', 0x275a, 0x0) r1 = socket$inet6_mptcp(0xa, 0x1, 0x106) write$binfmt_script(r0, &(0x7f00000000c0)=ANY=[], 0x208e2a1) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0xb00000000065808, 0x0) r3 = socket$nl_sock_diag(0x10, 0x3, 0x4) sendmsg$DCCPDIAG_GETSOCK(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000000)=ANY=[@ANYBLOB="540000001300f5a1ab621a7c678e0000ffff015600000000001fff00"/56, @ANYRES32=0x0, @ANYBLOB="00000000000000000290cd2e54f64a9b080003000601"], 0x54}}, 0x0) connect$inet6(r1, &(0x7f0000000300)={0xa, 0x0, 0x0, @private2}, 0x1c) sendfile(r3, r2, 0x0, 0x21fd1ee8) [ 1567.559257][T19622] netlink: 12 bytes leftover after parsing attributes in process `syz-executor.2'. [ 1568.501847][ T27] audit: type=1804 audit(1653118841.756:36871): pid=19642 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.4" name="/root/syzkaller-testdir674073113/syzkaller.9dT5dW/961/cgroup.controllers" dev="sda1" ino=1193 res=1 errno=0 07:40:52 executing program 1: r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000600)=ANY=[@ANYBLOB="8400000010001fff00"/20, @ANYRES32=0x0, @ANYBLOB="00000000885203005c0012800b000100697036746e6c00004c00028006000f000000000014000300", @ANYRES32], 0x84}}, 0x0) 07:40:52 executing program 5: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) connect$inet(r0, &(0x7f0000000080)={0x2, 0x0, @empty}, 0x10) setsockopt$inet_int(r0, 0x0, 0xb, &(0x7f0000000100)=0x1, 0x4) syz_emit_ethernet(0x46, &(0x7f0000000000)={@link_local, @random="e0d35b1004bb", @void, {@ipv4={0x800, @icmp={{0x5, 0x4, 0x0, 0x0, 0x38, 0x0, 0x0, 0x0, 0x1, 0x0, @initdev={0xac, 0x1e, 0x0, 0x0}, @local}, @time_exceeded={0x3, 0x4, 0x0, 0x3, 0x0, 0x3f16, {0x5, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, @loopback, @loopback}, "00186371ae9b1c03"}}}}}, 0x0) 07:40:52 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000240)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r2, &(0x7f0000000300)=ANY=[@ANYBLOB="18c8d1a2859105cd90501c3509171e2deaa2de098bad369a"], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r2, 0x0) preadv(r2, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000400)={0x0, 0x0, 0x0, 0x20002000, &(0x7f0000000000/0x2000)=nil}) r3 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r3, &(0x7f0000000000/0x18000)=nil, &(0x7f0000000140)=[@text64={0x40, 0x0}], 0x1, 0x44, 0x0, 0x0) openat$cgroup(0xffffffffffffffff, &(0x7f00000002c0)='syz1\x00', 0x200002, 0x0) ioctl$KVM_RUN(r3, 0xae80, 0x0) 07:40:52 executing program 3: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='cgroup.controllers\x00', 0x275a, 0x0) r1 = socket$inet6_mptcp(0xa, 0x1, 0x106) write$binfmt_script(r0, &(0x7f00000000c0)=ANY=[], 0x208e2a1) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0xb00000000065808, 0x0) r3 = socket$nl_sock_diag(0x10, 0x3, 0x4) sendmsg$DCCPDIAG_GETSOCK(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000000)=ANY=[@ANYBLOB="540000001300f5a1ab621a7c678e0000ffff015600000000001fff00"/56, @ANYRES32=0x0, @ANYBLOB="00000000000000000290cd2e54f64a9b080003000601"], 0x54}}, 0x0) connect$inet6(r1, &(0x7f0000000300)={0xa, 0x0, 0x0, @private2}, 0x1c) sendfile(r3, r2, 0x0, 0x21fd1ee8) 07:40:52 executing program 2: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) shutdown(r0, 0x0) setsockopt$inet_sctp6_SCTP_I_WANT_MAPPED_V4_ADDR(r0, 0x84, 0xc, &(0x7f00000001c0), 0x4) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r0, 0x84, 0x6f, &(0x7f0000000000)={0x0, 0x10, &(0x7f00000002c0)=[@in={0x2, 0x0, @initdev={0xac, 0x1e, 0x0, 0x0}}]}, &(0x7f0000000140)=0x10) r1 = socket$inet(0x2, 0x80001, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r1, 0x84, 0x14, &(0x7f0000000000)=@assoc_value={0x0}, &(0x7f0000000300)=0x8) getsockopt$inet_sctp6_SCTP_PR_ASSOC_STATUS(r0, 0x84, 0xe, &(0x7f0000000080)={r2}, &(0x7f00000000c0)=0xfe57) getsockopt$inet_sctp6_SCTP_GET_LOCAL_ADDRS(r0, 0x84, 0x6c, &(0x7f0000000340)={r3, 0x10, "3afa69e7e0e539694d1d87d09eeb6283"}, &(0x7f0000000040)=0x18) 07:40:52 executing program 4: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='cgroup.controllers\x00', 0x275a, 0x0) r1 = socket$inet6_mptcp(0xa, 0x1, 0x106) write$binfmt_script(r0, &(0x7f00000000c0)=ANY=[], 0x208e2a1) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0xb00000000065808, 0x0) r3 = socket$nl_sock_diag(0x10, 0x3, 0x4) sendmsg$DCCPDIAG_GETSOCK(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000000)=ANY=[@ANYBLOB="540000001300f5a1ab621a7c678e0000ffff015600000000001fff00"/56, @ANYRES32=0x0, @ANYBLOB="00000000000000000290cd2e54f64a9b080003000601"], 0x54}}, 0x0) connect$inet6(r1, &(0x7f0000000300)={0xa, 0x0, 0x0, @private2}, 0x1c) sendfile(r3, r2, 0x0, 0x21fd1ee8) 07:40:52 executing program 5: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) connect$inet(r0, &(0x7f0000000080)={0x2, 0x0, @empty}, 0x10) setsockopt$inet_int(r0, 0x0, 0xb, &(0x7f0000000100)=0x1, 0x4) syz_emit_ethernet(0x46, &(0x7f0000000000)={@link_local, @random="e0d35b1004bb", @void, {@ipv4={0x800, @icmp={{0x5, 0x4, 0x0, 0x0, 0x38, 0x0, 0x0, 0x0, 0x1, 0x0, @initdev={0xac, 0x1e, 0x0, 0x0}, @local}, @time_exceeded={0x3, 0x4, 0x0, 0x3, 0x0, 0x3f16, {0x5, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, @loopback, @loopback}, "00186371ae9b1c03"}}}}}, 0x0) 07:40:52 executing program 2: inotify_init() r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) syz_genetlink_get_family_id$tipc2(&(0x7f00000002c0), r2) getsockname$packet(r2, &(0x7f0000000380)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r3, @ANYBLOB="0000000000008000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000480)=@newqdisc={0x2c, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_atm={0x8}]}, 0x2c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000001280)=@delchain={0x3c, 0x28, 0xf31, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0x0, 0xffff}}, [@filter_kind_options=@f_flow={{0x9}, {0xc, 0x2, [@TCA_FLOW_KEYS={0x8}]}}]}, 0x3c}}, 0x0) 07:40:53 executing program 5: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) connect$inet(r0, &(0x7f0000000080)={0x2, 0x0, @empty}, 0x10) setsockopt$inet_int(r0, 0x0, 0xb, &(0x7f0000000100)=0x1, 0x4) syz_emit_ethernet(0x46, &(0x7f0000000000)={@link_local, @random="e0d35b1004bb", @void, {@ipv4={0x800, @icmp={{0x5, 0x4, 0x0, 0x0, 0x38, 0x0, 0x0, 0x0, 0x1, 0x0, @initdev={0xac, 0x1e, 0x0, 0x0}, @local}, @time_exceeded={0x3, 0x4, 0x0, 0x3, 0x0, 0x3f16, {0x5, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, @loopback, @loopback}, "00186371ae9b1c03"}}}}}, 0x0) [ 1579.187033][ T27] audit: type=1804 audit(1653118852.964:36872): pid=19662 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.4" name="/root/syzkaller-testdir674073113/syzkaller.9dT5dW/962/cgroup.controllers" dev="sda1" ino=1191 res=1 errno=0 [ 1579.190450][T19664] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. 07:40:53 executing program 2: inotify_init() r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) syz_genetlink_get_family_id$tipc2(&(0x7f00000002c0), r2) getsockname$packet(r2, &(0x7f0000000380)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r3, @ANYBLOB="0000000000008000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000480)=@newqdisc={0x2c, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_atm={0x8}]}, 0x2c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000001280)=@delchain={0x3c, 0x28, 0xf31, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0x0, 0xffff}}, [@filter_kind_options=@f_flow={{0x9}, {0xc, 0x2, [@TCA_FLOW_KEYS={0x8}]}}]}, 0x3c}}, 0x0) [ 1579.225272][ T27] audit: type=1804 audit(1653118853.016:36873): pid=19663 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.3" name="/root/syzkaller-testdir4195570974/syzkaller.Y1w2qq/413/cgroup.controllers" dev="sda1" ino=1193 res=1 errno=0 07:40:53 executing program 5: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) connect$inet(r0, &(0x7f0000000080)={0x2, 0x0, @empty}, 0x10) setsockopt$inet_int(r0, 0x0, 0xb, &(0x7f0000000100)=0x1, 0x4) syz_emit_ethernet(0x46, &(0x7f0000000000)={@link_local, @random="e0d35b1004bb", @void, {@ipv4={0x800, @icmp={{0x5, 0x4, 0x0, 0x0, 0x38, 0x0, 0x0, 0x0, 0x1, 0x0, @initdev={0xac, 0x1e, 0x0, 0x0}, @local}, @time_exceeded={0x3, 0x4, 0x0, 0x3, 0x0, 0x3f16, {0x5, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, @loopback, @loopback}, "00186371ae9b1c03"}}}}}, 0x0) [ 1579.319878][T19670] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. 07:40:53 executing program 5: r0 = socket$inet(0x2, 0x1, 0x0) setsockopt$IPT_SO_SET_REPLACE(r0, 0x4000000000000, 0x40, &(0x7f0000000380)=@raw={'raw\x00', 0x2, 0x3, 0x290, 0x0, 0x0, 0xf0, 0xf8, 0xf0, 0x1f8, 0x1f8, 0x1f8, 0x1f8, 0x1f8, 0x3, 0x0, {[{{@ip={@multicast1, @multicast1=0xe000a500, 0x0, 0x0, 'ip6gretap0\x00', 'syzkaller1\x00'}, 0xb000000, 0xd8, 0xf8, 0x0, {}, [@common=@inet=@l2tp={{0x30}}, @common=@unspec=@quota={{0x38}}]}, @unspec=@NOTRACK={0x20}}, {{@uncond, 0x0, 0x98, 0x100, 0x0, {}, [@common=@ttl={{0x28}}]}, @unspec=@CT2={0x68, 'CT\x00', 0x2, {0x0, 0x0, 0x0, 0x0, 'netbios-ns\x00', 'syz0\x00'}}}], {{'\x00', 0x0, 0x70, 0x98}, {0x28}}}}, 0x2f0) [ 1579.460380][T19675] xt_l2tp: invalid flags combination: 0 [ 1579.570875][ T1228] ieee802154 phy0 wpan0: encryption failed: -22 [ 1579.577191][ T1228] ieee802154 phy1 wpan1: encryption failed: -22 07:41:05 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000240)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r2, &(0x7f0000000300)=ANY=[@ANYBLOB="18c8d1a2859105cd90501c3509171e2deaa2de098bad369a"], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r2, 0x0) preadv(r2, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000400)={0x0, 0x0, 0x0, 0x20002000, &(0x7f0000000000/0x2000)=nil}) r3 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r3, &(0x7f0000000000/0x18000)=nil, &(0x7f0000000140)=[@text64={0x40, 0x0}], 0x1, 0x44, 0x0, 0x0) openat$cgroup(0xffffffffffffffff, &(0x7f00000002c0)='syz1\x00', 0x200002, 0x0) ioctl$KVM_RUN(r3, 0xae80, 0x0) 07:41:05 executing program 1: mkdir(&(0x7f00000020c0)='./file0\x00', 0x0) r0 = syz_open_procfs(0x0, &(0x7f0000002240)='mounts\x00') r1 = syz_open_procfs(0x0, &(0x7f00000000c0)='smaps\x00') read$FUSE(r1, &(0x7f0000000100)={0x2020}, 0x2046) mount(&(0x7f0000000200)=ANY=[], &(0x7f0000000140)='./file0\x00', &(0x7f0000000180)='securityfs\x00', 0x0, 0x0) preadv(r0, &(0x7f0000004540)=[{&(0x7f0000000000)=""/31, 0x1f}, {&(0x7f0000000040)=""/20, 0x14}, {&(0x7f0000002140)=""/133, 0x85}, {&(0x7f0000004280)=""/99, 0x63}, {&(0x7f0000004300)=""/174, 0xae}, {&(0x7f0000000080)=""/24, 0x18}, {&(0x7f0000008f80)=""/4096, 0x1000}], 0x7, 0x4d0, 0x4) 07:41:05 executing program 2: inotify_init() r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) syz_genetlink_get_family_id$tipc2(&(0x7f00000002c0), r2) getsockname$packet(r2, &(0x7f0000000380)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r3, @ANYBLOB="0000000000008000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000480)=@newqdisc={0x2c, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_atm={0x8}]}, 0x2c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000001280)=@delchain={0x3c, 0x28, 0xf31, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0x0, 0xffff}}, [@filter_kind_options=@f_flow={{0x9}, {0xc, 0x2, [@TCA_FLOW_KEYS={0x8}]}}]}, 0x3c}}, 0x0) 07:41:05 executing program 5: r0 = socket$inet(0x2, 0x1, 0x0) setsockopt$IPT_SO_SET_REPLACE(r0, 0x4000000000000, 0x40, &(0x7f0000000380)=@raw={'raw\x00', 0x2, 0x3, 0x290, 0x0, 0x0, 0xf0, 0xf8, 0xf0, 0x1f8, 0x1f8, 0x1f8, 0x1f8, 0x1f8, 0x3, 0x0, {[{{@ip={@multicast1, @multicast1=0xe000a500, 0x0, 0x0, 'ip6gretap0\x00', 'syzkaller1\x00'}, 0xb000000, 0xd8, 0xf8, 0x0, {}, [@common=@inet=@l2tp={{0x30}}, @common=@unspec=@quota={{0x38}}]}, @unspec=@NOTRACK={0x20}}, {{@uncond, 0x0, 0x98, 0x100, 0x0, {}, [@common=@ttl={{0x28}}]}, @unspec=@CT2={0x68, 'CT\x00', 0x2, {0x0, 0x0, 0x0, 0x0, 'netbios-ns\x00', 'syz0\x00'}}}], {{'\x00', 0x0, 0x70, 0x98}, {0x28}}}}, 0x2f0) 07:41:05 executing program 3: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='cgroup.controllers\x00', 0x275a, 0x0) r1 = socket$inet6_mptcp(0xa, 0x1, 0x106) write$binfmt_script(r0, &(0x7f00000000c0)=ANY=[], 0x208e2a1) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0xb00000000065808, 0x0) r3 = socket$nl_sock_diag(0x10, 0x3, 0x4) sendmsg$DCCPDIAG_GETSOCK(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000000)=ANY=[@ANYBLOB="540000001300f5a1ab621a7c678e0000ffff015600000000001fff00"/56, @ANYRES32=0x0, @ANYBLOB="00000000000000000290cd2e54f64a9b080003000601"], 0x54}}, 0x0) connect$inet6(r1, &(0x7f0000000300)={0xa, 0x0, 0x0, @private2}, 0x1c) sendfile(r3, r2, 0x0, 0x21fd1ee8) 07:41:05 executing program 4: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='cgroup.controllers\x00', 0x275a, 0x0) r1 = socket$inet6_mptcp(0xa, 0x1, 0x106) write$binfmt_script(r0, &(0x7f00000000c0)=ANY=[], 0x208e2a1) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0xb00000000065808, 0x0) r3 = socket$nl_sock_diag(0x10, 0x3, 0x4) sendmsg$DCCPDIAG_GETSOCK(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000000)=ANY=[@ANYBLOB="540000001300f5a1ab621a7c678e0000ffff015600000000001fff00"/56, @ANYRES32=0x0, @ANYBLOB="00000000000000000290cd2e54f64a9b080003000601"], 0x54}}, 0x0) connect$inet6(r1, &(0x7f0000000300)={0xa, 0x0, 0x0, @private2}, 0x1c) sendfile(r3, r2, 0x0, 0x21fd1ee8) [ 1591.014733][T19678] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.1'. [ 1591.024393][T19678] netlink: 44 bytes leftover after parsing attributes in process `syz-executor.1'. [ 1591.056745][T19684] xt_l2tp: invalid flags combination: 0 [ 1591.074344][T19686] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. 07:41:05 executing program 5: r0 = socket$inet(0x2, 0x1, 0x0) setsockopt$IPT_SO_SET_REPLACE(r0, 0x4000000000000, 0x40, &(0x7f0000000380)=@raw={'raw\x00', 0x2, 0x3, 0x290, 0x0, 0x0, 0xf0, 0xf8, 0xf0, 0x1f8, 0x1f8, 0x1f8, 0x1f8, 0x1f8, 0x3, 0x0, {[{{@ip={@multicast1, @multicast1=0xe000a500, 0x0, 0x0, 'ip6gretap0\x00', 'syzkaller1\x00'}, 0xb000000, 0xd8, 0xf8, 0x0, {}, [@common=@inet=@l2tp={{0x30}}, @common=@unspec=@quota={{0x38}}]}, @unspec=@NOTRACK={0x20}}, {{@uncond, 0x0, 0x98, 0x100, 0x0, {}, [@common=@ttl={{0x28}}]}, @unspec=@CT2={0x68, 'CT\x00', 0x2, {0x0, 0x0, 0x0, 0x0, 'netbios-ns\x00', 'syz0\x00'}}}], {{'\x00', 0x0, 0x70, 0x98}, {0x28}}}}, 0x2f0) [ 1591.187900][T19696] xt_l2tp: invalid flags combination: 0 07:41:05 executing program 2: inotify_init() r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) syz_genetlink_get_family_id$tipc2(&(0x7f00000002c0), r2) getsockname$packet(r2, &(0x7f0000000380)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r3, @ANYBLOB="0000000000008000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000480)=@newqdisc={0x2c, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_atm={0x8}]}, 0x2c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000001280)=@delchain={0x3c, 0x28, 0xf31, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0x0, 0xffff}}, [@filter_kind_options=@f_flow={{0x9}, {0xc, 0x2, [@TCA_FLOW_KEYS={0x8}]}}]}, 0x3c}}, 0x0) 07:41:05 executing program 5: r0 = socket$inet(0x2, 0x1, 0x0) setsockopt$IPT_SO_SET_REPLACE(r0, 0x4000000000000, 0x40, &(0x7f0000000380)=@raw={'raw\x00', 0x2, 0x3, 0x290, 0x0, 0x0, 0xf0, 0xf8, 0xf0, 0x1f8, 0x1f8, 0x1f8, 0x1f8, 0x1f8, 0x3, 0x0, {[{{@ip={@multicast1, @multicast1=0xe000a500, 0x0, 0x0, 'ip6gretap0\x00', 'syzkaller1\x00'}, 0xb000000, 0xd8, 0xf8, 0x0, {}, [@common=@inet=@l2tp={{0x30}}, @common=@unspec=@quota={{0x38}}]}, @unspec=@NOTRACK={0x20}}, {{@uncond, 0x0, 0x98, 0x100, 0x0, {}, [@common=@ttl={{0x28}}]}, @unspec=@CT2={0x68, 'CT\x00', 0x2, {0x0, 0x0, 0x0, 0x0, 'netbios-ns\x00', 'syz0\x00'}}}], {{'\x00', 0x0, 0x70, 0x98}, {0x28}}}}, 0x2f0) [ 1591.229115][ T27] audit: type=1804 audit(1653118865.609:36874): pid=19688 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.3" name="/root/syzkaller-testdir4195570974/syzkaller.Y1w2qq/414/cgroup.controllers" dev="sda1" ino=1193 res=1 errno=0 07:41:05 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000240)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r2, &(0x7f0000000300)=ANY=[@ANYBLOB="18c8d1a2859105cd90501c3509171e2deaa2de098bad369a"], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r2, 0x0) preadv(r2, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000400)={0x0, 0x0, 0x0, 0x20002000, &(0x7f0000000000/0x2000)=nil}) r3 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r3, &(0x7f0000000000/0x18000)=nil, &(0x7f0000000140)=[@text64={0x40, 0x0}], 0x1, 0x44, 0x0, 0x0) openat$cgroup(0xffffffffffffffff, &(0x7f00000002c0)='syz1\x00', 0x200002, 0x0) ioctl$KVM_RUN(r3, 0xae80, 0x0) [ 1591.332874][T19700] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. [ 1591.335139][T19701] xt_l2tp: invalid flags combination: 0 07:41:05 executing program 5: syz_open_dev$sndpcmc(&(0x7f0000000000), 0x0, 0x0) pselect6(0x40, &(0x7f0000000300), &(0x7f0000000340)={0x7}, &(0x7f0000000380)={0x8}, 0x0, 0x0) 07:41:05 executing program 2: r0 = userfaultfd(0x80801) ioctl$UFFDIO_API(r0, 0xc018aa3f, &(0x7f0000000000)) ioctl$UFFDIO_ZEROPAGE(r0, 0xc018aa06, &(0x7f0000000080)={{&(0x7f0000ffd000/0x2000)=nil, 0x2002}}) 07:41:05 executing program 5: unshare(0x6c060000) r0 = syz_io_uring_setup(0x884, &(0x7f0000000080), &(0x7f0000ee7000/0x2000)=nil, &(0x7f00006d3000/0x4000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000040)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r1, 0x40, &(0x7f0000000140)=0x307e, 0x0, 0x4) r3 = socket$rxrpc(0x21, 0x2, 0xa) bind$rxrpc(r3, &(0x7f0000000180)=@in6={0x21, 0x0, 0x2, 0x1c, {0xa, 0x0, 0x0, @rand_addr=' \x01\x00'}}, 0x24) syz_io_uring_submit(0x0, 0x0, 0x0, 0x2) syz_io_uring_submit(0x0, 0x0, 0x0, 0x0) syz_io_uring_setup(0x0, 0x0, &(0x7f0000ffd000/0x3000)=nil, &(0x7f00006d4000/0x4000)=nil, &(0x7f00000001c0), &(0x7f0000000540)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(0x0, 0x40, 0x0, 0x0, 0x4) clock_gettime(0x0, &(0x7f0000000100)={0x0}) syz_io_uring_submit(0x0, r4, &(0x7f0000000200)=@IORING_OP_TIMEOUT={0xb, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000180)={r5}}, 0x2) syz_io_uring_submit(0x0, r4, &(0x7f0000000100)=@IORING_OP_FADVISE={0x18, 0x2, 0x0, @fd_index=0x2, 0x6, 0x0, 0x20, 0x3}, 0x8) syz_usb_connect(0x0, 0x24, 0x0, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000400)=@IORING_OP_SENDMSG={0x9, 0x0, 0x0, r3, 0x0, &(0x7f00000006c0)={0x0, 0x0, 0x0, 0x0, &(0x7f0000000700)=ANY=[], 0x10}}, 0x0) io_uring_enter(r0, 0x688c, 0x0, 0x1100000000000000, 0x0, 0xfc00) syz_io_uring_setup(0x1f81, &(0x7f0000000440)={0x0, 0x0, 0x2}, &(0x7f0000ee7000/0x14000)=nil, &(0x7f00006d5000/0x3000)=nil, 0x0, 0x0) 07:41:05 executing program 2: r0 = socket$kcm(0x10, 0x2, 0x10) sendmsg$kcm(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f00000001c0)=[{&(0x7f0000000040)="2e00000030000519d25a0700000000000200fc60120007400c000200022a020037000000004c01802e8e3f00d1bd", 0x2e}], 0x1}, 0x0) [ 1591.512718][T19714] netlink: 'syz-executor.2': attribute type 7 has an invalid length. [ 1591.521338][T19714] netlink: 6 bytes leftover after parsing attributes in process `syz-executor.2'. 07:41:25 executing program 1: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) setsockopt$inet_sctp6_SCTP_EVENTS(r0, 0x84, 0xb, &(0x7f0000000040)={0x0, 0x3}, 0xe) shutdown(r0, 0x0) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r0, 0x84, 0x6f, &(0x7f0000000000)={0x0, 0x10, &(0x7f00000002c0)=[@in={0x2, 0x0, @local}]}, &(0x7f0000000240)=0x10) setsockopt$inet_sctp6_SCTP_AUTH_KEY(r0, 0x84, 0x17, &(0x7f0000000080)={r1, 0x0, 0x1, '#'}, 0x9) 07:41:25 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000400)={0x0, 0x0, 0x0, 0x20002000, &(0x7f0000000000/0x2000)=nil}) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r2, &(0x7f0000000000/0x18000)=nil, &(0x7f0000000080)=[@text32={0x20, &(0x7f0000000180)="b9800000c00f3235010000000f30f36f0f01cac4c37d498f0c000000e1b8010000000f01c1660f3882a40866580000ea6f700000a4000f009700000000c4c1f8513381bb0100000000a00000", 0x4c}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) 07:41:25 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) pipe2$9p(0x0, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x40b86000, 0x0, 0x0, 0x0, {0x1d}, 0x0, 0x0, 0x0, 0x0}, 0x58) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, 0x0}, 0x0) socket$nl_route(0x10, 0x3, 0x0) r4 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000000000000000000000000000850000007d00000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000000)='sched_switch\x00', r4}, 0x10) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000100), 0x80, &(0x7f0000000240)={'trans=fd,', {}, 0x2c, {'wfdno', 0x3d, r4}, 0x2c, {[{@version_L}, {@privport}, {@access_any}, {@afid={'afid', 0x3d, 0x81}}, {@version_u}, {@loose}, {@debug={'debug', 0x3d, 0xffffffffffffff01}}, {@version_L}, {@cache_loose}, {@cache_loose}], [{@fsname={'fsname', 0x3d, 'veth\x00'}}, {@rootcontext={'rootcontext', 0x3d, 'sysadm_u'}}, {@obj_user={'obj_user', 0x3d, '.('}}, {@appraise_type}]}}) syz_clone3(&(0x7f0000000640)={0x40000000, &(0x7f00000001c0), &(0x7f0000000380), &(0x7f0000000440), {0x25}, &(0x7f0000000480)=""/209, 0xd1, &(0x7f0000000580)=""/3, &(0x7f00000005c0)=[r3], 0x1}, 0x58) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, &(0x7f00000003c0)) 07:41:25 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000240)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r2, &(0x7f0000000300)=ANY=[@ANYBLOB="18c8d1a2859105cd90501c3509171e2deaa2de098bad369a"], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r2, 0x0) preadv(r2, &(0x7f00000015c0)=[{&(0x7f0000000080)=""/124, 0xffffff23}], 0x1, 0x0, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000400)={0x0, 0x0, 0x0, 0x20002000, &(0x7f0000000000/0x2000)=nil}) r3 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r3, &(0x7f0000000000/0x18000)=nil, &(0x7f0000000140)=[@text64={0x40, 0x0}], 0x1, 0x44, 0x0, 0x0) openat$cgroup(0xffffffffffffffff, &(0x7f00000002c0)='syz1\x00', 0x200002, 0x0) ioctl$KVM_RUN(r3, 0xae80, 0x0) 07:41:25 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r0, 0x10e, 0xc, &(0x7f0000000040)={0x80}, 0x213) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000001c0)=@ipv6_getroute={0x1c, 0x1a, 0x1, 0x0, 0x0, {0xa, 0x10}}, 0x1c}}, 0x0) 07:41:25 executing program 5: unshare(0x6c060000) r0 = syz_io_uring_setup(0x884, &(0x7f0000000080), &(0x7f0000ee7000/0x2000)=nil, &(0x7f00006d3000/0x4000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000040)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r1, 0x40, &(0x7f0000000140)=0x307e, 0x0, 0x4) r3 = socket$rxrpc(0x21, 0x2, 0xa) bind$rxrpc(r3, &(0x7f0000000180)=@in6={0x21, 0x0, 0x2, 0x1c, {0xa, 0x0, 0x0, @rand_addr=' \x01\x00'}}, 0x24) syz_io_uring_submit(0x0, 0x0, 0x0, 0x2) syz_io_uring_submit(0x0, 0x0, 0x0, 0x0) syz_io_uring_setup(0x0, 0x0, &(0x7f0000ffd000/0x3000)=nil, &(0x7f00006d4000/0x4000)=nil, &(0x7f00000001c0), &(0x7f0000000540)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(0x0, 0x40, 0x0, 0x0, 0x4) clock_gettime(0x0, &(0x7f0000000100)={0x0}) syz_io_uring_submit(0x0, r4, &(0x7f0000000200)=@IORING_OP_TIMEOUT={0xb, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000180)={r5}}, 0x2) syz_io_uring_submit(0x0, r4, &(0x7f0000000100)=@IORING_OP_FADVISE={0x18, 0x2, 0x0, @fd_index=0x2, 0x6, 0x0, 0x20, 0x3}, 0x8) syz_usb_connect(0x0, 0x24, 0x0, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000400)=@IORING_OP_SENDMSG={0x9, 0x0, 0x0, r3, 0x0, &(0x7f00000006c0)={0x0, 0x0, 0x0, 0x0, &(0x7f0000000700)=ANY=[], 0x10}}, 0x0) io_uring_enter(r0, 0x688c, 0x0, 0x1100000000000000, 0x0, 0xfc00) syz_io_uring_setup(0x1f81, &(0x7f0000000440)={0x0, 0x0, 0x2}, &(0x7f0000ee7000/0x14000)=nil, &(0x7f00006d5000/0x3000)=nil, 0x0, 0x0) 07:41:25 executing program 4: prctl$PR_MCE_KILL(0x29, 0x0, 0x2) 07:41:25 executing program 2: r0 = socket$inet6(0xa, 0x800000000000002, 0x0) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @remote, 0x5}, 0x1c) setsockopt$inet6_udp_int(r0, 0x11, 0x67, &(0x7f00000000c0)=0x2e4, 0x4) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x41, &(0x7f0000000080)=0x82, 0x4) sendmmsg$inet(r0, &(0x7f00000007c0)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0) 07:41:25 executing program 2: r0 = socket$inet6(0xa, 0x3, 0x5) r1 = socket$inet6(0xa, 0x3, 0x5) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r1, 0x29, 0x20, &(0x7f00000000c0)={@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01', 0x800, 0x0, 0x3, 0x9}, 0x20) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f00000000c0)={@empty, 0x800, 0x2, 0x0, 0x0, 0x600, 0x6}, 0x20) 07:41:26 executing program 2: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x9, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x0, 0x0, 0x0, 0x0, 0xffffffdd, 0xa}, [@ldst={0x2, 0x0, 0x3, 0x1c10a1}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0xb5}, 0x48) 07:41:26 executing program 4: sendmmsg(0xffffffffffffffff, &(0x7f0000000f00)=[{{0x0, 0x0, &(0x7f0000000800)=[{&(0x7f0000000080)="48f57f22a113278e7d5e8959620f13adb5f103a0f7073c373c4e12c4e85b74e0c1abb5be149ed49547aa0b38f8edc3a0d95889b3d5dbd1c415eb32bfef0c58348ee728bfa9", 0x45}], 0x1, 0x0, 0x28}}], 0x1, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x20, &(0x7f0000000040)=0x2, 0xf6) 07:41:26 executing program 2: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}}) read$FUSE(r0, &(0x7f0000004300)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000000000)={0x50, 0x0, r1}, 0x50) read$FUSE(r0, &(0x7f00000021c0)={0x2020}, 0x2020) syz_mount_image$fuse(0x0, &(0x7f0000000100)='./file0/file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) read$FUSE(r0, &(0x7f000000a380)={0x2020}, 0x2020) newfstatat(0xffffffffffffff9c, &(0x7f00000008c0)='./file0\x00', 0x0, 0x0) stat(&(0x7f0000000cc0)='./file0\x00', &(0x7f0000000d00)) syz_fuse_handle_req(r0, &(0x7f0000008380)="180e1d37e2c1fc5db84978ba27bcc791edfb5313f0a95c3533aa8475390af7357f2e3ba1e7c7a4c277d6606d1563a63c233d7d9dc498be5a017954c35d29978f7688720db093e61bc77f65faa37e8626245d0075d2677cffb218cf26236e7fffad11db0e7bfc458f07f2213ac1236c08b7586d930813ffca05a4d83dbeac3a5e695f0252815c9d2652c2feb451b8d08b27906bd0693f01a3c794b557ecf270e98de36a4c1430a3b35a4ba3bfea923ec09f510307e6ac442107544ac88c87ef137f0ea6f38ceb53c93693f342348746c10bf3649c79df885d1f4714a8b557dea904c6413c8b094e421c79c57de551425173dd72007a9ec11cf5e09e2a0f444c884ca3c9658c8adc461d1ac30075d8f44a66a88e770038ec3a478b3809927e97ab3d1a349bbb1f5958354829cd00672ee42b49d6663e7e1e6082b04a9048ea2583bc0284b77b976756fa49195dbad84f3d6e4570f9adb39e1f5540d2aaa3311a2e4e2d0b5a3b7aa824eed4b6ccab2e4ae2c21ba11f08d44091ff59b517992e80e983884af2ed9db2477d6f3b6ac7032fc4dfdf63f6153455f421158a360874b0558f3f613d186d30812b2463421e643272dde1fbc90fee65925fa514658e30e1f939a8541543ae7902fa4c37e28b619e80869b1e1bb41ea0c1be09e1a1fdf1809f66f9eda6be30f4b2722623cbbdcffb230ca77db6d42940e83e32d3148f4b285f81cad7d17ce1af3eb65ad1edc7a7374fd0cca0b6b58e32c9481e5e92d85d635a32df9c3d4a58a7d43e00d39d553bf52f91e821b55d43d939484592d344188abffd270fe6f78ff02e6aec3d1163c2a9f1aee0410b651ab28067b885775e2b42674c8b7c52baaa105668cefbf9676ac3072aa140fc0398b0dbcf7249f0d7a363c910febc88e7ad96b76760c6ca7a3f6aa32600260e8aabf8b4c0d23399945e93a54d51ed138afc501d7387102eb48f9ad5b390b533a4956ce299fb4a87b19d64df83b9f077c5557e6c8581dfd588fa389952a73c5d2943797fa6d389f68fc5bf07df89ed9f785245f383bcbe325acd7da82fd2c956e6bfd3bc47277e0fbe2db9880777f392e677dc9b34e1f1bda6ce0bc7b084d2bd7ec103b69200225e75b6bab65d76c02da20957695d3c6093191f1e6e4d977b151dd3b5c61b53a889f534e5faf5d225acbfab86f6b30ec278248669fd9d70278a85b9ace60e08174c55b04bf5957746cd964161d09b2bb8fa4f5275a810db037c8ba6e558e2a1d78d77fe1600225e3cfc1b5df1e524f9404a5705888e13e764fb07050d1868b1f10fb5a0c227a6abb7a2a6f202f3fdda2fed71e39c01ebbd4a9ac7281ba55e4532b35fcfbde802beeaf1ae4dba5bb650c7f6b5fb7f26fa24d9f84b06e67dc63a98780309e3bb219c9a29fadb8af6eee23e50fabe8a9ee7427f02d4ce4667090ef2c6a60b230ce8910fe2c41640ffe0ab6a9c74f09f976a034003814b0a3b4048467fed88c74570059a166cf7c3fd02cae2adbf133641517b92754b42ca15723edd5d849abe85673b3d3946118627ed3e1f6658f058f1a17388f9d5ff94c428862352c34ce6eac87441a36b34f76240dff6def38dff1bc1352efb5bc80ba9eef9bd9158b3aca787ad184dd4327b2358b63f2dc96d2ea7e943149a3ff4963a2bb7cc8462e1c586b523ce5c8bf7347805a5c355d25e927008e7b61cbc58736aab83518d18b34be98d68100544d87f8474593f991e23d6e88a43baed8a5f2889cd00409e9918c59024b7adc0a6e2bd4dde8c0513b86ead0abb47ab25d5f38f4bc8217bd2af8d63d7efd45609fe24ebbaee193ca75641e0d69d9dc5b47731f8dafa2b321b3ad8cf22505a7a0658ffb88fbd201ecf7a262119edac62c359e57669d18cc171737f1a16cb3f1b0ac790364dd23070382b0242ee58319224f81acecd4e6b4edd9412795f6895066f71b29bc9a61944ca20cf14966f9a32bf646fea8a63623e6b95ae435d928163d004b23268e64e8dd7b17721fa3e03c335208af99676013f3461ae68247a0ef0d346c5ea4a49ed2ff00bccdf62f6ddad531537dd42801cf219051d5327e84eb44d5e1d290e95647ea1e08e5c5cc490e59cac293061254be7b6983524f846c73fd54b7b444d820e4b97a421a7d87889b2b4c6b4fb26ffcf9cbab37a9653b573e95117d8e68d25f80fedb64c8f4f953a6f1d321aca490021cd9c76132ae395878e7301318daf2ac221e716b9feca472953c60c3f7d7eca559922d95de143b687d65d9fe3dc654b0fddbb30fd1d02594b41f0d90df73f5cc4f717434e0f2b7f6713573a3919ae78b907c2ce33a9e362a99987ba7beddc12ec993253e815859b09b19fb7276ded55460ffd7eccf095d924f7ae13cec7a4a6c3ab117270fc89367c3d0947a6b2e6d595689725b9a00a980207c6d3db8a13d06d40f33df1b7a7d7388019870d9a1d2277fae5a60539155d174a10166ac7170853f6d6548c36e409dcdebacf274d89176478b124c6dc0d3c5b617fcae1b66f044f92ae7969a85dfc46e63dacfa2c00ccc2246f1945eb9f3b6c90a6aa8b429211768628a102351cb7a53fb4f6b19e3ea33fbaecc04dfcb4264f7519d22abb5bb06b61ba00db4a2382f5eaf9a8ca8d5b0bd068519186689d8b61acab502f2fa587c7e28d4994d50dd7af544015c4c8e659996c4d582425acc8451c8a89331314daaad4419a9e56fa3dddaff186730baafc31bc135875010231fdcd0a842e913e7916b8827d99e2bbd4f42fbe3f491c99d517fcd614b45e54bbc8a03624157401512373fcaa9f19099f9e7179786ea4302c153761c35187264209f8e4887298fe8060e38f94e962cb97c0e74ec248d2ad65952ba74d768775e8cc12fe44c8bdc48a5699d9608ceb561b2c2ea845b52c005d343f9d7a58cb9e3aa99afb758a3dad1cbedb298d6d6cd4edf0b9efc4d399d7f78f1866b6fd5ff9ac9c42ebde2613c3898bf65221e446437b6625c09517783e69fb0206dca7b4c2ad34aab1ada3f08c2aa88b1ccc28da1d1075b3c48337bc549d96b499d9d8e36a4846cd875ae00ec9072635e3618207ba3357b81dbc16e23ed7fb92eafb99699e2490a3bb3103f1d600955395703ab8b78a085b6cee6093dd4d56d2e8809a9c3c0616e509cc3689795ecd2e3f2423dfdebcce1fdb6f3ec4ecba59e6423054827bb238252cf4664ab61dc5478b49d8d62330f3a9af0cf55fed448f5e625c847f3bf08e6ffb1d8aed797110a79d1749ffbdf225d65aa5f7ae935af2eebf930096835923f30283cfc8fc6d9e287c8e3200a3d6bac2210910a85f2517a4812ec682caeb3700cf598ceaa12bee656cf3ede268d68b5611122baf2b27023c1a19fef1839edde5f0a24b867d8dfba97c6f8404b009937257abdaa4bc4e4e17a461b7c71689a11b5e4fc6cacecb23be559b0ff49a1087fbc339f81eb208c213f5315d372d0aa9708b48777193a939b692c646bdeb940f8a4b86be5ffda668e7e51bd9d7431937b3ab9b1d051aa430e41b7c55a873ec5b56fbce941de212cb1b876349cfa823d859a80e83539e978e9b80e1874ec058622aaca0001147e7d9d89f004bdb0820fdfe2ddd9d34d904fc12dbfc3f405330204cae453a24c2916de7bb52769ebb86925bfa6f1af800b6ceef995eac0a3621cb9c6b7027fff511a5ffebce165843adce9f4b94a10e28c008a6396b90921a8ad286c3182c3950375695b2e27a62ca35e98a9bd9d0f03a82c0dc9ca705550db0cc852aa5ce4be4b2cc9924d43b233e5aa38fe8e1e887c07b2a78a511ce8bb5064390df31e99dc15de38a7553fa09a1375273d9ea4cbba83dfe1534da78a0b3942f6a05a2c1b5da8eab3f923a7a096a203ec037ef764a89a53184b30ef6f6e8b8ccfc37e35872a3b059c9bdf35fc0f0bab9e2b0dbdc5d250847ae7d0a6b0403ffdcf615bff1c12a992a79971a4b267351fb1d5baf92d611dd3b6f49d9b90366107b69ed8e707b8230d6e59376987b4769152919e5ceb38390c0ad0cde32545b89a66ecb393407b3599c101fede128bc6e47f891d1bbde1dba593049c4a5398937567eac41f48f53b71e6a03beeacc83a9f9cea44d05a6ab61def3adfce23854ef0c432f9288634a2d717f6f9d3e88ae31a3ce09fa6ecbb982da492856d5def9f91dc598f88948acd720aba76b949877ec0713e96b1c8bc9afc2507d623563df2c8d6485059a78e3aa79192e33ccfb3f9079200c50293e42d63827af173e2b12fd93966b11933399d8bdd6e66bd50c8089d42b4cfdad263ec66faf64cce8fad078b57d1ca9fa8f66e71c3ddfdb42990eac70673e8c30846a644fbd3fddd736ba82db47a4190e8f7d7ac4218b22b1fd1c9ec427050a938b1fb214f161e81f0c67a2c011f7ad02b0c54eac471156aeda7833e34f7c4e8cd29f42f51df2a73ca1801e99f39891e202c6f693f83194a0ae5a8635835b4a75cd9350cafa6742fe3efca3f6a713de72c83719489a45239b9dbee74b07b34a8b881a181c0ade1ca774aa7ace0e3f31fa63dd5e82c6173eaf188bc89968593a07b108b57e591738feaf224a73ca2b16a56dc21f457532f8c5ff98c9b6283d56f5d4faa48716c13488d9ab0b16a4c6db9c0ef00f6f5cfceb3a7d85b68d7b77549954aec45062e8b5f78b13c419b35d359b6f832250e5035fd5893123eb8f676865a2cd65fc5017577cf52d3e17750aff420a1316a4e2f7bae64256f94313371a649834afff772f811999b6e99afc0b5d7d373c797bd2e4c1a910c6218571ecd40b28b90dfc29527c5ab1da5429f80e6e0fb76cc9bb8c373dcdaff37c3cf4a32a68f4df0266ddd2ea9706bfd6f02212ccc5f7fe69355d71ffbd45a812cd0f8ce292f558f7c654797778f62765551640e7513fe2b7293cf7bf4463e3f1725fe0fb0f171e368ecb8abd77384fe24745a94dc95b6927208117020481581c18171831bc51cea113f372153019efa50ce6bbc6ba40016b24f6b3ffbc370b4eda1f9e35a75590ca5897b3d1ca3477a27b2574009c452bcf70f8ce7c4d6e771ad7031f79c1641f4672ce4738c2b5b6bf87719501e1494d477e2b83e453bb85a65e24c6343e85e14b3e54fa36e6f93fea8fae25ca4efd70f285e5e3058d99238a14e6fab984bbfdab29e09ecdbc79887c9ea11ae764710fd54bdc049415685e4abc68853ef27a1bbc86fb6a0f748732cec4e00eb1bae66fa423f10083e8b4a483fef52da657e5a9135a9746900b25e86823c4bd8f925743043fd7aa2752f1290ab4d265ccb9f081d8d41be33461c5827de50bf1c3fed60db12fc05f2b6bd2bf8565a38f1f1b5cab342187c3164000254fc42cf58af9f46a173c59170db2ef013aacbf30464fd5581e7602135a7467b1d95d1a50989885b4129170d563ea56fd100bd55f7bb2a5fbaa288730cc2b70b8eae50319c5e7848465bca5c60c385b7e6de7c5c88bd6dbedd55d3f600cbdfec79b4a25ff63422e9450a83b3f35b36cafcd650703be1efdc1c1546d9ada90a05d3d3e711c952808de4e902c3f7456ed9d740c060a7f8931d70c266334808942a775bfc768c8490591c09e7db65151cb8175e2fbfb724aef956e1c5372191d9e9e3f800953abdd945e25e53f59efa0d1466ed91099c9b74c65402e925305d92c455303c240748426ba3d640c58b0e35442bf7188355ab8ddd8738f01abf7312aa8afa8786f55171ac5e1919286815ce912f25e510e877f52ec316cb5d08f03da545751eca78285318c815a6dc258be575923393e1560afb6bc43de1b2e4d9b3a384456b52228d61bcc1b2b3f89344e848cd002fd34d616b52697582ebaf72628008b53a28c82cbd84712cc103f1d43c94da1bae85aa7b8d3f9ede85b0d0a6a2b0e2bf2d907a0044acc32b922eae84808bb35405debddfa484f501dd86502290dac25e5a107ebc8d7785538aa47873b0fe9059985fba64d2a51cf1499b39c4a91b5112407c64970bae11b54ff5800b34028b3267ac2d867db408805840c1569294ee410f4f7fd3bc722b01d3227696d377602bc890133efa0e24039cf1bcc38162306a0803aef402782fb658f8493acd6aea6a5d61ec73ac12d2079d82392a6445136b71ce0a1dfc3572b0816dd23802de50929b6b96172070a619c3ea1231d41d53e2e2a011336bd68eb033d4699205abf9ee8e6d43e85824feea2ef55ca3573d350fcf7882eca80cd62f06f3c6de62762ad4b84e9db5723f6bd15df6bb384f4a2abbc0b81f32c6de68a5ebebff760673b1a005255b945fff4f4b9eaef165900f3a0385a23d3627eae0bf5e3e59e5da87a94eaad2ddec7b6add59598b6058603aa342b99e93ed5e17bf90a53ce6708fa5e1a1827c6e546327c3589efd9e8a1107e6725420febe04529d0b444f86303069d5aea1b74812e12d4491351b3b0ab14ac36c924514b39806081beef206c98ba8b05029cf284dfd6959e4ed7a8a2324a162eaff981fb5c99e61260d2c8c464ecb32b4650e598ed450485be5c1bb64fc681e8cb6a2b3e872c446e6df5ef85785f0146c76485b9f10e31f8edae3578c4c80a6816583bec584a63e1812970b1b3476632a10b7f0880b6b13918c1ff40473b7eb39af2066f0de4a5512bd737290bde18dbe9d26b30a9e9b0c4a68c0b5a3199ac92cf237b2cd5111a2034431e3d9be5d1f59e6d3039898816073ab0da0bc65e34cd377630f8b60ec879e6d4b5f9ced3a5651d8540a111cecf6355175d3892172550f420c8ca301264355873d722f05c46bec511200a342f9646a91a472270b02b83fcf2073c59a7670cf35bd9efc0951a46bcc5cb9e758a50741a728c6bfd4dcbb00dc8e5623fc0f1ea9da7d85be25afd3ca872d1e8d69c21eb976de831edb2d1c4203d4e205f10f521b8e5c589edc6c93d72cd9e1ade696d7d3e89c2279c9b66a1c60154c6e0730a96877242e14f726faf3e341f76ad866bdcb9a4bb17f6057d1d4e82ac5fcbd7e2ba50f5e5806e2c44a869545379761745428fccfb556ae01d4706eae5a1ed12d4b302ed262cb5f1379479a46100ae2500bc0f8a0d54b16f36ceec279bfbba56eb0776771dc032290c7f512151881cacccde5851883aee707e61709e786d0ff7592d21140fbea0ce3225a34ad90dca24071d1f47893022e3fd7e19e8e48289e23b8b2a8eb8a4cbea45163129d0cef3067cfda5aa6060f26ac946dfa503a080f1845bc7e9da95655c67e3d8d4ae2c95bbf67ad97790796c61c2227fb85db22e006dd6308fd1ec388a0cbcdf94be7d32335909736b96719e9afd9261c318d79b3eeb2b6d5ef65ae127a1683db985339c7612596e3014742b66a11fa9bf2f7b0f9499ccaf81681f04aa31c46d331b9aa4cf5da0166bab3547ef1510129492daa5bb85b2377e5273b46b27e4ab8ba3d7b01e0ac2623866eaf4bf594eecb490ba4b120681e5803cc19c17a1d8d96c2f1bb16c8f03c976b765fcb1dda67158905f6cc2fdf7b5907b9318064c6833dbce2256bfbc00b92d6f41574d6101481e76af1fe4453b613e852516f4d99cec4a226d0b9fe9763c049a7f03ffb87c8d612286ddbc7f62d15aa32f3497d0e6cb2047146f4f54d97225226cac8aac5c03a09fde3ef9f04eeeb19981d6b32087339fc291e2c44716f077b2429d640e09aee6d117249a404d654d5a5606b9e1ba582d618d62ebb3059ef9c9f4a7add8af30231cc4f38e60b000468cf7cf29a24a917aa806183180303998b355d2d56e5101bb547baa9af11585dcf599fb102c87ddb1af71441339c43cfaa6ee0f1a0deee50051844bbab59234a519b55c646f98820c2b3e40b7efc025a19732c61934f05b85ccfbf39327dff8aef62592405947fac5d10776b1048dc4b1e5e673354d5252197cbc352b73bfeddf5924328fe2daa6aa1f25d41fa155c56e9237944dc2c6c38745dcc3f6a760ed59c5cca80f7e0a9edfea3e33aa9ad7b45a94929fb3f84185448e560cc97c75ed82e3c33bdeb050a6ddae69034517109678e2bc64d331397017224c731e5071a5a91c7d2ce27b3f327fb5c41da097e5f7c5ad4cc0d0ffc05f5bcde17fe6467bef788f2e500f91b083de4fb17fe9083a2890bff858914b2102ee2dd7068508b1c00a84ece0df914de5bf3886af04a464801b4e9334f9a38e4bf5884ab02f3fa62232558816b0834ba76b33eefa5d1423c24819451bfd831858b2883bd2da839e428dc09cddf7dea224762071cb50343d4ba4e33e15a7506cdb8da077c2fc643b0b172499529b19f9ddf6f02cdb40eed6f753ca4ee48cddcf8f37656b38daa087d5012f2e4f35269b32f3a2f74953f971d7a5bec17e85b6f0632e3e560031a14f672fedad98eb1b2c1c5467e516c9c936a35dc33b109de0f96f1d8dcd4e4881784f1c9df9b03e6f1e8492842eeb5d948c763f28207de55f08a1540693809c0369409bf4e1e391b7cae1a7703d30d3bfb9a011e53bb9fd6b955122bd8eab7038f7ebc11195ac78197ec1c5800f9b4d9bf928724d2150eee84034b7d65d21ef5109b1da71554d15b3fbbbac83ea366335dda0eb26fc35ef60b36ec330277c5b0d14694e40e96ebe48149300b8a06c530abd37f6e392714b49df5e78f2ca0bbc65b91a413ddf4e412f2d1d8bfee58bfcc0a136b10534b45f89fff92f7a3be790d2227b100926b2532460dcba75a622279bc6296d34f64883258121ffef968a7032f220cecb5002d7ccb1b63435b40804be66004d1561e3e63d6d4599109c118988b615fc81f6caf37786a48e4261ecf09d47e7e1533146730433a5c96e482493bd82e63c0cd130fbf0fde78b93393d1a74b7c3d52d9494dcd23c0f6ffd7d06ad49ad3c84d4201a6a4d1272ff8bc0d3c281ce6fce7e7669deb28996e311f42decbf40a245f07a04cb2d1ac0e97bf4fdb8d549cf5e2632254cd61357898e02d07cde24552f1a770cc69fe392bd75b011859535a52947987ab9e04a03c0d8bf257504cac8bbe2c47103992e9e97ffa1cfb020e5d568d571d9f1d07a23a6d6ae14caa3e2d38b3a1ce437aa306a2c1d7598fbb3956b95562424356b7c1265f54880a5c6dd54e90911ed26264af84170bae6bfae7e96040ce0f85344a83e56acf8b06d40c97d25e767fcfddf1b6435c6ecddff5f7f09df4a6583a7c306be09f97b3c8d7873491710a2666c0f362748c0b89b1e059427a5fe8a57e6ec532c26e1946ade6adbe6b082c580af08ef9076541346d0e3ec0affc0e5bdfb63bc2f00ccda08553bd0ea0cc72fb4d9fc361b1b12fd51c2783680cb666d5f63d4ce6ec67cfc90012215e4c4400ac4dd16b7bac7c6bfd590367e353a6bd474785bf1064f4b2020497c81f7b7bff3119338a11084d0730dc16e2d3d15dd32b25a44cde675f4209021bad2c047bd22878ced8c27a6910c114aa744cefa886f0b44eb19f49a549ad0a6101de3ab7ec4e36c4afe7dcb06629c8b63fdd3377c7b5d370584c2ea0c7c764c78c8bfd4e35a22278061343d3b37f4700e777b83599bc685fcd84bde71ad7caf21da901206fcb9a8089fc133b01ca2d753a1e17d0d58268cee303516de4b28ce112562f2f500612498a28761daea9928446b28fb1265abbe1d4d88a113659dcf86f9e98bf68ad93582084b7261b9caa69c22b23e3d0da2b80da1ff8a6336910f445f728c9d96694f61bb5a01ffb91604b8e5ea1159d4e696192626b744cd6d1f3d72030a5b863ec28acef0910f1fe2a218ec4f762e29d1c31ccf852278fd60cc0211722e8fe1fee07404b76169f2d8656a8930e77ae36e5d9f4415b6a86188f06efd74e8719436ab287ed6694a651f66dcb6472b43f87ec3b74ebf558b2cd7a0552bb9b5fbee7ff666a41cc18bdb2c97324e319446bd4cf2a2a3080aec50019853e102b59f3ed371b6670569540aa930458c6fe7372b3224241b05b67c30c269b5a78beb8ffb7f4dd7e772a6d0c40ad64ca8296fd2ee53a6cdd7f9345a8b57d9f2c29110630e638bda81834f8df064fc4e90d833f179329c3b401145ed9e474219e53ac2e1a47ab1ef34e9c042ff5596a46b047016f47d56a28de23c966a9881e09f966dd7d984ee85aa9c7bcb8a9e500b4871c3ef1981a27eb9cebd6c18751e7203f816a5e302cdf938ea9720cac0d90282dcd99cee45d2afe3ca345dfaf3fa7b4e4e71f13ec08514590bdc767ef2be6fa438dfbde60d929c2ece228a6baf9ce7d46d071f548cb764c8d28fc998ed45cd934096e8ae48c3c44c1910e21cfde669f296eeb6cd493a7ec94a9916fe9ba9dc21dc8b25aa83bf8aaa02590325b0b94e2937edab1b987c23a2e70b1818bb256789df0866ed3285d199d17e224711839f0c7d0dc9f516d4070114356b4ffc65516e45eaab29945f632560f4fd0aa086d7dfa3df30aa223a3cfc74c26190769be3fa63471b083169e2254ac80c6acd67bc075dfa71781816f82aefbd262f93ddec099ba8d28397a13c0e4cb0e069592449f4d4684ec94e03aaca2b307736be124124423624489b0f6ff9c24eceb2da0438750f7a6f063ea68e09e5caed74feace06560a745d8d5daab3b1150aae39d2f3072af9466fba897618cc0de426d0ec788364a9b30f018a986e9eb4b8d2a65f05740c1cf78e68fbdc87bad8302bb8267709ad910d2252ae97e947ff2fb9fee09a7500a4e205c56ab3e61144dbe238b8d6f95547be62ade4fcae2f87237f0b91150213fdbf7e6e39829ee5b5d5a4ede43d2d0a0c3ca16e7b8780f0b01856de74f475424e4297f9b4ac7688eb4fea63be51247c6db0a62cf465641b3f0f224f92b426fe5f3439a55085054cb1b8c17401a0fe57630e8c41ee5edf25f49487d08869f7d19feb7350e7122bf5dd9a04565a8b52228c5e281658a43bc0f19cebe79d8f77be723db9ff98b4358b9044e23487f703ce5256eed5ce13370457b3486f6df4c77d23781c9c75b8448b6dddb4833a977a2369eade79e2751304a2cf7b78b80cb814def7e32be11e171810b154d03687234195dbebdb93ea092b00b7df6b5fdb6be0bcb4f92aa3f438a70f571ed5e5daee02fc7342deef2da0d849eb86dbf7261dd9d73d073e142189d72c20b243686a491b7278a3faaa8e443fe3e7a5734483568bf579114516681c2a922ff2017c37023df4a8fac3f26f5c9c192d9ae60890e4a3572f6a2dff3e93d4ccc09ae4961b522774ce0761f27a222d2ed629e9be0268cf34025fe9926e70227ca9944e35af4e468c5284b95719782b35ae441cb3d885901587004bca187b77e71a944595dd35bc3022b0d08dcb08e21c66e1b8b0586ce36569e8703550c222d6baac863e2e8e720a5ba196a0369d0f89746346d7c9e4b0b8568fceb48f27d60c163b6c9cca50db871371a422e0aa4bf4fbdf0523bdd81ae8863fc644747865c9d807ca29663166651a4246c567a55db1ad80e1c8fd05d7496c3ddc5507f9aecc60bc73547a9ac79cd64e81c672c03e8ffec71148dc66660300e19fd722492c701f9fdbfa5e30f78917cbcfecffa01b5a4c1ee2abe137b7100a6e5587e870a1680b5653cd01f63c61c9cd4f2aad5e2af83bdc2c09a82f4fe6e32c40e4915fe802d3c41e16db0c750be570db61136", 0x2000, &(0x7f0000000e80)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000580)={0x78, 0x0, 0x0, {0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4000, 0x0, 0x0, 0x0, 0x0, 0x1}}}, 0x0, 0x0, 0x0, 0x0, 0x0}) [ 1610.930567][T19758] fuse: Bad value for 'fd' [ 1613.722527][ T4714] kworker/dying (4714) used greatest stack depth: 18400 bytes left 07:41:43 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000000c0)={0x3, 0x4, &(0x7f0000000000)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x61}]}, &(0x7f0000000c80)='GPL\x00', 0x5, 0xea, &(0x7f0000006900)=""/234, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_LINK_CREATE(0x1c, 0x0, 0x0) r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000100)={0x1f, 0x2, &(0x7f0000000200)=@raw=[@call={0x85, 0x0, 0x0, 0x50}, @exit], &(0x7f0000000180)='syzkaller\x00', 0x2, 0xe5, &(0x7f0000000240)=""/229, 0x0, 0x11, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000500)={r0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) 07:41:43 executing program 4: mmap(&(0x7f0000fed000/0x13000)=nil, 0x13000, 0x1000001, 0x31, 0xffffffffffffffff, 0x0) madvise(&(0x7f0000fec000/0x14000)=nil, 0x14000, 0xf) mlock2(&(0x7f0000ffd000/0x3000)=nil, 0x3000, 0x0) 07:41:43 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000600)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000580)=@bridge_delvlan={0x24, 0x69, 0x639, 0x0, 0x0, {}, [@BRIDGE_VLANDB_ENTRY={0xc, 0x1, 0x0, 0x1, @BRIDGE_VLANDB_ENTRY_RANGE={0x6}}]}, 0x24}}, 0x0) 07:41:43 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) pipe2$9p(0x0, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x40b86000, 0x0, 0x0, 0x0, {0x1d}, 0x0, 0x0, 0x0, 0x0}, 0x58) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, 0x0}, 0x0) socket$nl_route(0x10, 0x3, 0x0) r4 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000000000000000000000000000850000007d00000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000000)='sched_switch\x00', r4}, 0x10) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000100), 0x80, &(0x7f0000000240)={'trans=fd,', {}, 0x2c, {'wfdno', 0x3d, r4}, 0x2c, {[{@version_L}, {@privport}, {@access_any}, {@afid={'afid', 0x3d, 0x81}}, {@version_u}, {@loose}, {@debug={'debug', 0x3d, 0xffffffffffffff01}}, {@version_L}, {@cache_loose}, {@cache_loose}], [{@fsname={'fsname', 0x3d, 'veth\x00'}}, {@rootcontext={'rootcontext', 0x3d, 'sysadm_u'}}, {@obj_user={'obj_user', 0x3d, '.('}}, {@appraise_type}]}}) syz_clone3(&(0x7f0000000640)={0x40000000, &(0x7f00000001c0), &(0x7f0000000380), &(0x7f0000000440), {0x25}, &(0x7f0000000480)=""/209, 0xd1, &(0x7f0000000580)=""/3, &(0x7f00000005c0)=[r3], 0x1}, 0x58) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, &(0x7f00000003c0)) 07:41:43 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) pipe2$9p(0x0, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x40b86000, 0x0, 0x0, 0x0, {0x1d}, 0x0, 0x0, 0x0, 0x0}, 0x58) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, 0x0}, 0x0) socket$nl_route(0x10, 0x3, 0x0) r4 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000000000000000000000000000850000007d00000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000000)='sched_switch\x00', r4}, 0x10) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000100), 0x80, &(0x7f0000000240)={'trans=fd,', {}, 0x2c, {'wfdno', 0x3d, r4}, 0x2c, {[{@version_L}, {@privport}, {@access_any}, {@afid={'afid', 0x3d, 0x81}}, {@version_u}, {@loose}, {@debug={'debug', 0x3d, 0xffffffffffffff01}}, {@version_L}, {@cache_loose}, {@cache_loose}], [{@fsname={'fsname', 0x3d, 'veth\x00'}}, {@rootcontext={'rootcontext', 0x3d, 'sysadm_u'}}, {@obj_user={'obj_user', 0x3d, '.('}}, {@appraise_type}]}}) syz_clone3(&(0x7f0000000640)={0x40000000, &(0x7f00000001c0), &(0x7f0000000380), &(0x7f0000000440), {0x25}, &(0x7f0000000480)=""/209, 0xd1, &(0x7f0000000580)=""/3, &(0x7f00000005c0)=[r3], 0x1}, 0x58) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, &(0x7f00000003c0)) 07:41:43 executing program 5: unshare(0x6c060000) r0 = syz_io_uring_setup(0x884, &(0x7f0000000080), &(0x7f0000ee7000/0x2000)=nil, &(0x7f00006d3000/0x4000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000040)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r1, 0x40, &(0x7f0000000140)=0x307e, 0x0, 0x4) r3 = socket$rxrpc(0x21, 0x2, 0xa) bind$rxrpc(r3, &(0x7f0000000180)=@in6={0x21, 0x0, 0x2, 0x1c, {0xa, 0x0, 0x0, @rand_addr=' \x01\x00'}}, 0x24) syz_io_uring_submit(0x0, 0x0, 0x0, 0x2) syz_io_uring_submit(0x0, 0x0, 0x0, 0x0) syz_io_uring_setup(0x0, 0x0, &(0x7f0000ffd000/0x3000)=nil, &(0x7f00006d4000/0x4000)=nil, &(0x7f00000001c0), &(0x7f0000000540)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(0x0, 0x40, 0x0, 0x0, 0x4) clock_gettime(0x0, &(0x7f0000000100)={0x0}) syz_io_uring_submit(0x0, r4, &(0x7f0000000200)=@IORING_OP_TIMEOUT={0xb, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000180)={r5}}, 0x2) syz_io_uring_submit(0x0, r4, &(0x7f0000000100)=@IORING_OP_FADVISE={0x18, 0x2, 0x0, @fd_index=0x2, 0x6, 0x0, 0x20, 0x3}, 0x8) syz_usb_connect(0x0, 0x24, 0x0, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000400)=@IORING_OP_SENDMSG={0x9, 0x0, 0x0, r3, 0x0, &(0x7f00000006c0)={0x0, 0x0, 0x0, 0x0, &(0x7f0000000700)=ANY=[], 0x10}}, 0x0) io_uring_enter(r0, 0x688c, 0x0, 0x1100000000000000, 0x0, 0xfc00) syz_io_uring_setup(0x1f81, &(0x7f0000000440)={0x0, 0x0, 0x2}, &(0x7f0000ee7000/0x14000)=nil, &(0x7f00006d5000/0x3000)=nil, 0x0, 0x0) 07:41:44 executing program 4: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$netlbl_cipso(&(0x7f0000000380), r0) r2 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) sendmsg$NLBL_CIPSOV4_C_ADD(r2, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000100)=ANY=[@ANYBLOB="b8000000", @ANYRES16=r1, @ANYBLOB="01000000000000000000010000000800020001000000040004800800010000000000900008801c0007800800060004000000080006002200000008000600550000003400078008000600b70000000800050002dd"], 0xb8}}, 0x0) 07:41:44 executing program 2: bpf$BPF_BTF_LOAD(0x12, &(0x7f00000016c0)={&(0x7f0000000000)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x18, 0x18, 0x7, [@func_proto={0x0, 0x0, 0x0, 0xd, 0x2}, @func={0x4}]}, {0x0, [0x0, 0x0, 0x0, 0x6f, 0x5f]}}, &(0x7f00000015c0)=""/239, 0x37, 0xef, 0x1}, 0x20) [ 1627.780275][T19767] netlink: 'syz-executor.2': attribute type 1 has an invalid length. 07:41:45 executing program 4: creat(&(0x7f0000000100)='./file0\x00', 0x0) syz_open_dev$evdev(&(0x7f00000000c0), 0x0, 0x0) write$binfmt_aout(0xffffffffffffffff, 0x0, 0xff2e) ioctl$TCSETS(0xffffffffffffffff, 0x40045431, &(0x7f0000000000)={0x0, 0x0, 0x0, 0x0, 0x0, "0040000000000000000000000000000200"}) syz_open_pts(0xffffffffffffffff, 0x0) madvise(&(0x7f0000a93000/0x4000)=nil, 0x4000, 0xe) mremap(&(0x7f0000a96000/0x1000)=nil, 0x1000, 0x800000, 0x3, &(0x7f0000130000/0x800000)=nil) r0 = gettid() process_vm_writev(r0, &(0x7f0000000000)=[{&(0x7f00008f9f09)=""/247, 0xf7}], 0x1, &(0x7f0000121000)=[{&(0x7f0000217f28)=""/231, 0xffffff4e}], 0x23a, 0x0) madvise(&(0x7f0000495000/0x400000)=nil, 0x400000, 0x8) read$FUSE(0xffffffffffffffff, 0x0, 0x0) 07:41:45 executing program 2: r0 = socket$inet6_sctp(0xa, 0x801, 0x84) connect$inet6(r0, &(0x7f0000000100)={0xa, 0x0, 0x0, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}, 0x1c) sendto$inet6(r0, &(0x7f0000000340)="b3", 0x1, 0x0, &(0x7f0000000380)={0xa, 0x0, 0x0, @private0}, 0x1c) shutdown(r0, 0x1) getsockopt$inet_sctp6_SCTP_DEFAULT_PRINFO(r0, 0x84, 0x14, &(0x7f0000000000), &(0x7f0000000040)=0xc) 07:41:45 executing program 4: syz_mount_image$vfat(0x0, &(0x7f00000000c0)='./file1\x00', 0x0, 0x0, 0x0, 0x0, 0x0) r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000100)='/proc/sysvipc/sem\x00', 0x0, 0x0) r1 = bpf$MAP_CREATE(0x100000000000000, &(0x7f0000001dc0)=@base={0x1, 0x2, 0x3b6, 0x2}, 0x48) mount$9p_fd(0x0, &(0x7f0000000000)='./file1\x00', &(0x7f0000000040), 0x0, &(0x7f0000000140)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}}) 07:41:46 executing program 2: socket$pppl2tp(0x18, 0x1, 0x1) mount$fuseblk(0x0, &(0x7f0000000440)='./file0\x00', 0x0, 0x0, 0x0) syz_mount_image$xfs(&(0x7f0000000780), &(0x7f00000007c0)='./file0\x00', 0x0, 0x0, &(0x7f0000000900), 0x0, &(0x7f0000000940)={[{@usrquota}, {@pquota}, {@sunit={'sunit', 0x3d, 0xffff}}, {@filestreams}], [{@smackfshat={'smackfshat', 0x3d, '@#--*]#*'}}]}) [ 1629.738609][T19793] 9pnet_fd: Insufficient options for proto=fd [ 1638.118586][ T1228] ieee802154 phy0 wpan0: encryption failed: -22 [ 1638.124872][ T1228] ieee802154 phy1 wpan1: encryption failed: -22 07:42:04 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$IPSET_CMD_LIST(r3, &(0x7f00000005c0)={0x0, 0x0, &(0x7f0000000580)={0x0, 0x14}}, 0x0) getsockname$packet(r3, &(0x7f0000000380)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r4, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000300)=@newqdisc={0x3c, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_dsmark={{0xb}, {0xc, 0x2, [@TCA_DSMARK_INDICES={0x6, 0x1, 0x1}]}}]}, 0x3c}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000900)=@delchain={0x24, 0x28, 0xd39, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {0x0, 0xffff}}}, 0x24}}, 0x0) 07:42:04 executing program 1: r0 = socket$nl_rdma(0x10, 0x3, 0x14) sendmsg$RDMA_NLDEV_CMD_STAT_DEL(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000040)={0x18, 0x1412, 0x1, 0x0, 0x0, "", [@RDMA_NLDEV_ATTR_STAT_RES={0x8}]}, 0x18}}, 0x0) 07:42:04 executing program 4: r0 = syz_open_dev$dri(&(0x7f0000000100), 0x1, 0x0) ioctl$DRM_IOCTL_MODE_GETGAMMA(r0, 0xc02064a4, &(0x7f00000001c0)={0x9, 0x0, 0x0, 0x0, 0x0}) 07:42:04 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) pipe2$9p(0x0, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x40b86000, 0x0, 0x0, 0x0, {0x1d}, 0x0, 0x0, 0x0, 0x0}, 0x58) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, 0x0}, 0x0) socket$nl_route(0x10, 0x3, 0x0) r4 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000000000000000000000000000850000007d00000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000000)='sched_switch\x00', r4}, 0x10) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000100), 0x80, &(0x7f0000000240)={'trans=fd,', {}, 0x2c, {'wfdno', 0x3d, r4}, 0x2c, {[{@version_L}, {@privport}, {@access_any}, {@afid={'afid', 0x3d, 0x81}}, {@version_u}, {@loose}, {@debug={'debug', 0x3d, 0xffffffffffffff01}}, {@version_L}, {@cache_loose}, {@cache_loose}], [{@fsname={'fsname', 0x3d, 'veth\x00'}}, {@rootcontext={'rootcontext', 0x3d, 'sysadm_u'}}, {@obj_user={'obj_user', 0x3d, '.('}}, {@appraise_type}]}}) syz_clone3(&(0x7f0000000640)={0x40000000, &(0x7f00000001c0), &(0x7f0000000380), &(0x7f0000000440), {0x25}, &(0x7f0000000480)=""/209, 0xd1, &(0x7f0000000580)=""/3, &(0x7f00000005c0)=[r3], 0x1}, 0x58) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, &(0x7f00000003c0)) 07:42:04 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) pipe2$9p(0x0, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x40b86000, 0x0, 0x0, 0x0, {0x1d}, 0x0, 0x0, 0x0, 0x0}, 0x58) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, 0x0}, 0x0) socket$nl_route(0x10, 0x3, 0x0) r4 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000000000000000000000000000850000007d00000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000000)='sched_switch\x00', r4}, 0x10) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000100), 0x80, &(0x7f0000000240)={'trans=fd,', {}, 0x2c, {'wfdno', 0x3d, r4}, 0x2c, {[{@version_L}, {@privport}, {@access_any}, {@afid={'afid', 0x3d, 0x81}}, {@version_u}, {@loose}, {@debug={'debug', 0x3d, 0xffffffffffffff01}}, {@version_L}, {@cache_loose}, {@cache_loose}], [{@fsname={'fsname', 0x3d, 'veth\x00'}}, {@rootcontext={'rootcontext', 0x3d, 'sysadm_u'}}, {@obj_user={'obj_user', 0x3d, '.('}}, {@appraise_type}]}}) syz_clone3(&(0x7f0000000640)={0x40000000, &(0x7f00000001c0), &(0x7f0000000380), &(0x7f0000000440), {0x25}, &(0x7f0000000480)=""/209, 0xd1, &(0x7f0000000580)=""/3, &(0x7f00000005c0)=[r3], 0x1}, 0x58) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, &(0x7f00000003c0)) 07:42:04 executing program 5: unshare(0x6c060000) r0 = syz_io_uring_setup(0x884, &(0x7f0000000080), &(0x7f0000ee7000/0x2000)=nil, &(0x7f00006d3000/0x4000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000040)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r1, 0x40, &(0x7f0000000140)=0x307e, 0x0, 0x4) r3 = socket$rxrpc(0x21, 0x2, 0xa) bind$rxrpc(r3, &(0x7f0000000180)=@in6={0x21, 0x0, 0x2, 0x1c, {0xa, 0x0, 0x0, @rand_addr=' \x01\x00'}}, 0x24) syz_io_uring_submit(0x0, 0x0, 0x0, 0x2) syz_io_uring_submit(0x0, 0x0, 0x0, 0x0) syz_io_uring_setup(0x0, 0x0, &(0x7f0000ffd000/0x3000)=nil, &(0x7f00006d4000/0x4000)=nil, &(0x7f00000001c0), &(0x7f0000000540)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(0x0, 0x40, 0x0, 0x0, 0x4) clock_gettime(0x0, &(0x7f0000000100)={0x0}) syz_io_uring_submit(0x0, r4, &(0x7f0000000200)=@IORING_OP_TIMEOUT={0xb, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000180)={r5}}, 0x2) syz_io_uring_submit(0x0, r4, &(0x7f0000000100)=@IORING_OP_FADVISE={0x18, 0x2, 0x0, @fd_index=0x2, 0x6, 0x0, 0x20, 0x3}, 0x8) syz_usb_connect(0x0, 0x24, 0x0, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000400)=@IORING_OP_SENDMSG={0x9, 0x0, 0x0, r3, 0x0, &(0x7f00000006c0)={0x0, 0x0, 0x0, 0x0, &(0x7f0000000700)=ANY=[], 0x10}}, 0x0) io_uring_enter(r0, 0x688c, 0x0, 0x1100000000000000, 0x0, 0xfc00) syz_io_uring_setup(0x1f81, &(0x7f0000000440)={0x0, 0x0, 0x2}, &(0x7f0000ee7000/0x14000)=nil, &(0x7f00006d5000/0x3000)=nil, 0x0, 0x0) 07:42:04 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) r1 = epoll_create1(0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r0, &(0x7f0000000000)={0x1000001c}) epoll_ctl$EPOLL_CTL_MOD(r1, 0x3, r0, &(0x7f0000000240)) 07:42:04 executing program 4: syz_emit_ethernet(0x4a, &(0x7f0000000080)={@local, @remote, @void, {@ipv6={0x86dd, @tcp={0x0, 0x6, "070902", 0x14, 0x6, 0x0, @remote, @local, {[], {{0x0, 0x0, 0x41424344, 0x41424344, 0x0, 0x0, 0x5, 0x10}}}}}}}, 0x0) [ 1647.608832][T19810] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. 07:42:06 executing program 2: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, 0x0, 0x0) r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/partitions\x00', 0x0, 0x0) r1 = openat$sysctl(0xffffffffffffff9c, &(0x7f0000000040)='/proc/sys/vm/drop_caches\x00', 0x1, 0x0) sendfile(r1, r0, &(0x7f0000002080)=0x76, 0x870) getpgid(0x0) 07:42:06 executing program 4: syz_usb_connect$uac1(0x0, 0x71, &(0x7f0000000000)={{0x12, 0x1, 0x250, 0x0, 0x0, 0x0, 0x40, 0x1d6b, 0x101, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x5f, 0x3, 0x1, 0x0, 0x0, 0x0, {{}, {}, {0x9, 0x4, 0x1, 0x1, 0x1, 0x1, 0x2, 0x0, 0x0, {}, {{0x9, 0x5, 0x1, 0x9, 0x0, 0x0, 0x0, 0x0, {0x7}}}}, {}, {0x9, 0x4, 0x2, 0x1, 0x1, 0x1, 0x2, 0x0, 0x0, {}, {{0x9, 0x5, 0x82, 0x9, 0x0, 0x0, 0x0, 0x0, {0x7}}}}}}}]}}, &(0x7f0000000380)={0x0, 0x0, 0x1c, &(0x7f0000000140)={0x5, 0xf, 0x1c, 0x2, [@wireless={0xb}, @ssp_cap={0xc}]}}) 07:42:06 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) pipe2$9p(0x0, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x40b86000, 0x0, 0x0, 0x0, {0x1d}, 0x0, 0x0, 0x0, 0x0}, 0x58) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, 0x0}, 0x0) socket$nl_route(0x10, 0x3, 0x0) r4 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000000000000000000000000000850000007d00000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000000)='sched_switch\x00', r4}, 0x10) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000100), 0x80, &(0x7f0000000240)={'trans=fd,', {}, 0x2c, {'wfdno', 0x3d, r4}, 0x2c, {[{@version_L}, {@privport}, {@access_any}, {@afid={'afid', 0x3d, 0x81}}, {@version_u}, {@loose}, {@debug={'debug', 0x3d, 0xffffffffffffff01}}, {@version_L}, {@cache_loose}, {@cache_loose}], [{@fsname={'fsname', 0x3d, 'veth\x00'}}, {@rootcontext={'rootcontext', 0x3d, 'sysadm_u'}}, {@obj_user={'obj_user', 0x3d, '.('}}, {@appraise_type}]}}) syz_clone3(&(0x7f0000000640)={0x40000000, &(0x7f00000001c0), &(0x7f0000000380), &(0x7f0000000440), {0x25}, &(0x7f0000000480)=""/209, 0xd1, &(0x7f0000000580)=""/3, &(0x7f00000005c0)=[r3], 0x1}, 0x58) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, &(0x7f00000003c0)) 07:42:06 executing program 2: r0 = socket$xdp(0x2c, 0x3, 0x0) ioctl$sock_SIOCETHTOOL(r0, 0x89f1, &(0x7f0000000380)={'ip6_vti0\x00', &(0x7f0000000200)=@ethtool_cmd={0x25, 0x0, 0x9, 0x24, 0x60, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, [0x2000003]}}) 07:42:06 executing program 2: r0 = socket$netlink(0x10, 0x3, 0x15) sendmsg$AUDIT_USER_TTY(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000080)={0x10}, 0x10}}, 0x0) 07:42:15 executing program 4: r0 = syz_usb_connect(0x0, 0x24, &(0x7f0000000000)=ANY=[@ANYBLOB="12010000679b5c084f17316aca6e000000010902120001190000000904"], 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io(r0, 0x0, 0x0) syz_usb_control_io(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$printer(r0, 0x0, 0x0) syz_usb_control_io(r0, 0x0, 0x0) 07:42:15 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_MSRS(r2, 0x4008ae89, &(0x7f0000000240)={0x1, 0x0, [{0x570}]}) 07:42:15 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_CT_DELETE(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000000)=ANY=[@ANYBLOB="180000000201010100f736b036b424316ef9"], 0x18}}, 0x0) 07:42:15 executing program 1: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt$inet_sctp6_SCTP_RECONFIG_SUPPORTED(r0, 0x84, 0x75, &(0x7f00000000c0)={0x0, 0x2}, 0x8) setsockopt$inet_sctp6_SCTP_ENABLE_STREAM_RESET(r0, 0x84, 0x76, &(0x7f0000000080)={0x0, 0x5}, 0x8) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r0, 0x84, 0x64, &(0x7f0000000040)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) connect$inet6(r0, &(0x7f00000001c0)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) setsockopt$inet_sctp6_SCTP_RESET_STREAMS(r0, 0x84, 0x77, &(0x7f0000000100)={0x0, 0x2}, 0x8) 07:42:15 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) pipe2$9p(0x0, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x40b86000, 0x0, 0x0, 0x0, {0x1d}, 0x0, 0x0, 0x0, 0x0}, 0x58) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, 0x0}, 0x0) socket$nl_route(0x10, 0x3, 0x0) r4 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000000000000000000000000000850000007d00000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000000)='sched_switch\x00', r4}, 0x10) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000100), 0x80, &(0x7f0000000240)={'trans=fd,', {}, 0x2c, {'wfdno', 0x3d, r4}, 0x2c, {[{@version_L}, {@privport}, {@access_any}, {@afid={'afid', 0x3d, 0x81}}, {@version_u}, {@loose}, {@debug={'debug', 0x3d, 0xffffffffffffff01}}, {@version_L}, {@cache_loose}, {@cache_loose}], [{@fsname={'fsname', 0x3d, 'veth\x00'}}, {@rootcontext={'rootcontext', 0x3d, 'sysadm_u'}}, {@obj_user={'obj_user', 0x3d, '.('}}, {@appraise_type}]}}) syz_clone3(&(0x7f0000000640)={0x40000000, &(0x7f00000001c0), &(0x7f0000000380), &(0x7f0000000440), {0x25}, &(0x7f0000000480)=""/209, 0xd1, &(0x7f0000000580)=""/3, &(0x7f00000005c0)=[r3], 0x1}, 0x58) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, &(0x7f00000003c0)) 07:42:15 executing program 0: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f00000002c0)='/sys/power/resume', 0x121a02, 0x0) write$cgroup_int(r0, &(0x7f0000000080)=0x1f00, 0x12) 07:42:15 executing program 5: io_setup(0x40, &(0x7f00000017c0)=0x0) pipe2$9p(&(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RSTAT(r1, 0x0, 0x5e) io_submit(r0, 0x2, &(0x7f00000003c0)=[&(0x7f00000002c0)={0x0, 0x0, 0x0, 0x1, 0x0, r1, 0x0, 0x3f}, &(0x7f0000000240)={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, &(0x7f0000000040)="3c8a755ffcbd41e17a6ba0c8cfde2e88", 0x10}]) [ 1657.587661][T19856] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.2'. 07:42:15 executing program 0: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f00000002c0)='/sys/power/resume', 0x121a02, 0x0) write$cgroup_int(r0, &(0x7f0000000080)=0x1f00, 0x12) 07:42:15 executing program 2: r0 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r0, &(0x7f0000000040)={0x2, 0x4e20, @empty}, 0x10) setsockopt$inet_udp_encap(r0, 0x11, 0x64, &(0x7f0000000100)=0x2, 0x4) syz_emit_ethernet(0x2a, &(0x7f0000000140)={@local, @local, @void, {@ipv4={0x800, @udp={{0x5, 0x4, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x0, 0x11, 0x0, @empty, @empty}, {0x0, 0x4e20, 0x8}}}}}, 0x0) 07:42:16 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_GUEST_DEBUG(r2, 0x4048ae9b, &(0x7f0000000100)={0x30001, 0x0, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff]}) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r2, &(0x7f00004b5000/0x18000)=nil, &(0x7f00000000c0)=[@text64={0x40, 0x0}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) 07:42:16 executing program 2: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000080)={'syzkaller0\x00', 0x2}) ioctl$TUNSETOFFLOAD(r0, 0x400454de, 0xe6e2862ead37ccc3) 07:42:16 executing program 0: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f00000002c0)='/sys/power/resume', 0x121a02, 0x0) write$cgroup_int(r0, &(0x7f0000000080)=0x1f00, 0x12) 07:42:36 executing program 1: r0 = socket$packet(0x11, 0x4000000000002, 0x300) setsockopt$packet_int(r0, 0x107, 0xa, &(0x7f0000000000)=0x2, 0x4) setsockopt$packet_tx_ring(r0, 0x107, 0xd, &(0x7f00000000c0)=@req3={0x10000, 0xfffffffd, 0x1000}, 0x1c) 07:42:36 executing program 5: io_setup(0x40, &(0x7f00000017c0)=0x0) pipe2$9p(&(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RSTAT(r1, 0x0, 0x5e) io_submit(r0, 0x2, &(0x7f00000003c0)=[&(0x7f00000002c0)={0x0, 0x0, 0x0, 0x1, 0x0, r1, 0x0, 0x3f}, &(0x7f0000000240)={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, &(0x7f0000000040)="3c8a755ffcbd41e17a6ba0c8cfde2e88", 0x10}]) 07:42:36 executing program 4: mbind(&(0x7f0000400000/0xc00000)=nil, 0xc00000, 0x2, &(0x7f0000000380)=0x7, 0x8000, 0x0) r0 = memfd_secret(0x0) mmap$IORING_OFF_CQ_RING(&(0x7f0000c21000/0x3000)=nil, 0x3000, 0x0, 0x13, r0, 0x8000000) 07:42:36 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000080)=@newneigh={0x40, 0x1c, 0x1, 0x0, 0x0, {}, [@NDA_FLAGS_EXT={0x8}, @NDA_DST_IPV6={0x4, 0x1, @local}, @NDA_VLAN={0x6}]}, 0x40}}, 0x0) 07:42:36 executing program 0: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f00000002c0)='/sys/power/resume', 0x121a02, 0x0) write$cgroup_int(r0, &(0x7f0000000080)=0x1f00, 0x12) 07:42:36 executing program 3: mkdir(&(0x7f0000000400)='./file1\x00', 0x0) mkdir(&(0x7f0000000000)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000340)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f0000000540)='./bus\x00') r0 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) ioctl$FIDEDUPERANGE(r0, 0xc0189436, &(0x7f0000000100)={0x0, 0xfdfdffff00000000}) 07:42:36 executing program 4: r0 = socket$xdp(0x2c, 0x3, 0x0) getsockopt$XDP_MMAP_OFFSETS(r0, 0x11b, 0x1, 0x0, &(0x7f00000002c0)) 07:42:36 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, &(0x7f0000ab9ff0)={0x2, &(0x7f0000000000)=[{0x28, 0x0, 0x0, 0xfffff02c}, {0x6}]}, 0x10) 07:42:36 executing program 2: syz_emit_ethernet(0x52, &(0x7f0000000240)={@link_local, @multicast, @val={@void}, {@ipv6={0x86dd, @generic={0x0, 0x6, "65d609", 0x18, 0x0, 0x0, @ipv4={'\x00', '\xff\xff', @initdev={0xac, 0x1e, 0x0, 0x0}}, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', {[@dstopts={0x0, 0x2, '\x00', [@calipso={0x7, 0x8, {0x0, 0x2}}, @jumbo]}]}}}}}, 0x0) [ 1677.635613][T19891] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. 07:42:36 executing program 3: mkdir(&(0x7f0000000400)='./file1\x00', 0x0) mkdir(&(0x7f0000000000)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000340)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f0000000540)='./bus\x00') r0 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) ioctl$FIDEDUPERANGE(r0, 0xc0189436, &(0x7f0000000100)={0x0, 0xfdfdffff00000000}) 07:42:36 executing program 5: io_setup(0x40, &(0x7f00000017c0)=0x0) pipe2$9p(&(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RSTAT(r1, 0x0, 0x5e) io_submit(r0, 0x2, &(0x7f00000003c0)=[&(0x7f00000002c0)={0x0, 0x0, 0x0, 0x1, 0x0, r1, 0x0, 0x3f}, &(0x7f0000000240)={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, &(0x7f0000000040)="3c8a755ffcbd41e17a6ba0c8cfde2e88", 0x10}]) 07:42:36 executing program 0: r0 = seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0xa, &(0x7f0000000180)={0x1, &(0x7f0000000000)=[{0x6}]}) seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, 0x0) close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) ioctl$BTRFS_IOC_SEND(r0, 0x40489426, 0x0) [ 1677.757187][ T27] audit: type=1326 audit(1653118956.414:36875): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=_ pid=19899 comm="syz-executor.0" exe="/root/syz-executor.0" sig=31 arch=c000003e syscall=202 compat=0 ip=0x7f5c7dc890e9 code=0x0 07:42:45 executing program 1: r0 = syz_open_dev$media(&(0x7f0000004200), 0x1000, 0x0) ioctl$MEDIA_IOC_ENUM_LINKS(r0, 0xc0287c02, &(0x7f00000000c0)={0x80000000, &(0x7f0000001200), 0x0}) 07:42:45 executing program 2: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0xe, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x73}, [@ldst={0x5}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x22e, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 07:42:45 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000940)=@newlink={0x3c, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x14, 0x12, 0x0, 0x1, @ipoib={{0xa}, {0x4}}}, @IFLA_LINK={0x8}]}, 0x3c}}, 0x0) 07:42:45 executing program 3: mkdir(&(0x7f0000000400)='./file1\x00', 0x0) mkdir(&(0x7f0000000000)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000340)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f0000000540)='./bus\x00') r0 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) ioctl$FIDEDUPERANGE(r0, 0xc0189436, &(0x7f0000000100)={0x0, 0xfdfdffff00000000}) 07:42:45 executing program 5: io_setup(0x40, &(0x7f00000017c0)=0x0) pipe2$9p(&(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RSTAT(r1, 0x0, 0x5e) io_submit(r0, 0x2, &(0x7f00000003c0)=[&(0x7f00000002c0)={0x0, 0x0, 0x0, 0x1, 0x0, r1, 0x0, 0x3f}, &(0x7f0000000240)={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, &(0x7f0000000040)="3c8a755ffcbd41e17a6ba0c8cfde2e88", 0x10}]) 07:42:45 executing program 0: r0 = openat$sequencer(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$SNDCTL_SEQ_SYNC(r0, 0x5101) 07:42:45 executing program 2: r0 = openat$snapshot(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) openat(0xffffffffffffff9c, 0x0, 0x0, 0x0) ioctl$SNAPSHOT_S2RAM(r0, 0x330b) 07:42:45 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000001c0)=@bridge_newvlan={0x24, 0x70, 0x1, 0x0, 0x0, {}, [@BRIDGE_VLANDB_ENTRY={0xc, 0x3, 0x0, 0x1, @BRIDGE_VLANDB_ENTRY_INFO={0x8}}]}, 0x24}}, 0x0) 07:42:45 executing program 0: r0 = socket$qrtr(0x2a, 0x2, 0x0) ioctl$sock_qrtr_TIOCOUTQ(r0, 0x8917, 0x0) 07:42:45 executing program 3: mkdir(&(0x7f0000000400)='./file1\x00', 0x0) mkdir(&(0x7f0000000000)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000340)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f0000000540)='./bus\x00') r0 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) ioctl$FIDEDUPERANGE(r0, 0xc0189436, &(0x7f0000000100)={0x0, 0xfdfdffff00000000}) 07:42:45 executing program 2: prctl$PR_MCE_KILL(0x21, 0x1, 0x7) 07:42:45 executing program 5: syz_mount_image$tmpfs(&(0x7f0000000040), &(0x7f0000000080)='./bus\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000000100)={[{@huge_within_size}]}) chdir(&(0x7f00000000c0)='./bus\x00') r0 = creat(&(0x7f0000000400)='./bus\x00', 0x0) ftruncate(r0, 0x208200) r1 = open(&(0x7f0000000200)='./bus\x00', 0x10103e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffff6, 0x4002011, r1, 0x0) r2 = syz_open_procfs(0x0, &(0x7f0000000080)='smaps\x00') preadv(r2, &(0x7f00000006c0)=[{&(0x7f00000002c0)=""/182, 0xb6}], 0x1, 0xfffffffe, 0x0) [ 1696.665143][ T1228] ieee802154 phy0 wpan0: encryption failed: -22 [ 1696.671408][ T1228] ieee802154 phy1 wpan1: encryption failed: -22 07:42:59 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$tipc2(&(0x7f0000000040), 0xffffffffffffffff) sendmsg$TIPC_NL_BEARER_SET(r0, &(0x7f00000006c0)={0x0, 0x0, &(0x7f0000000680)={&(0x7f0000000700)={0x34, r1, 0x1, 0x0, 0x0, {0x4}, [@TIPC_NLA_BEARER={0x20, 0x1, 0x0, 0x1, [@TIPC_NLA_BEARER_NAME={0xd, 0x1, @udp='udp:syz2\x00'}, @TIPC_NLA_BEARER_PROP={0x8, 0x2, 0x0, 0x1, [@TIPC_NLA_PROP_TOL={0x8}]}]}]}, 0x34}}, 0x0) 07:42:59 executing program 4: mount_setattr(0xffffffffffffffff, 0x0, 0x0, &(0x7f0000000080), 0x70) 07:42:59 executing program 0: socketpair(0x1, 0x5, 0x0, 0x0) sendmsg(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, 0x0, 0x0, 0x0, 0x208}, 0x0) r0 = syz_open_dev$hidraw(0xfffffffffffffffc, 0x0, 0x167f42) ioctl$HIDIOCGRAWNAME(r0, 0x40086602, &(0x7f0000000080)) r1 = syz_open_dev$hidraw(0xfffffffffffffffc, 0x0, 0x101142) write$hidraw(r1, &(0x7f0000001180)='=', 0x3b000) r2 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) write$P9_RREADLINK(0xffffffffffffffff, &(0x7f0000000440)=ANY=[], 0x88) ioctl$EXT4_IOC_MOVE_EXT(r2, 0xc028660f, 0x0) r3 = syz_open_dev$hidraw(0xfffffffffffffffc, 0x0, 0x0) r4 = syz_open_dev$hidraw(0xfffffffffffffffc, 0x0, 0x14f142) write$hidraw(r4, &(0x7f0000000000)="c2", 0xa00000) ioctl$HIDIOCGRAWNAME(r3, 0xc020660b, &(0x7f0000000080)) 07:42:59 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000240)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x3, 0x0, 0x0, {0x1}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWFLOWTABLE={0x14, 0x2, 0xa, 0x1}, @NFT_MSG_DELFLOWTABLE={0x20, 0x6, 0xa, 0x101, 0x0, 0x0, {0x1}, [@NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz0\x00'}]}], {0x14, 0x10}}, 0x7c}}, 0x0) 07:42:59 executing program 5: syz_mount_image$tmpfs(&(0x7f0000000040), &(0x7f0000000080)='./bus\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000000100)={[{@huge_within_size}]}) chdir(&(0x7f00000000c0)='./bus\x00') r0 = creat(&(0x7f0000000400)='./bus\x00', 0x0) ftruncate(r0, 0x208200) r1 = open(&(0x7f0000000200)='./bus\x00', 0x10103e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffff6, 0x4002011, r1, 0x0) r2 = syz_open_procfs(0x0, &(0x7f0000000080)='smaps\x00') preadv(r2, &(0x7f00000006c0)=[{&(0x7f00000002c0)=""/182, 0xb6}], 0x1, 0xfffffffe, 0x0) 07:42:59 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) ppoll(&(0x7f0000000140)=[{}, {r2, 0x101}], 0x2, 0x0, 0x0, 0x0) recvmmsg(r1, &(0x7f0000003b40)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) 07:42:59 executing program 2: r0 = openat$proc_capi20(0xffffffffffffff9c, &(0x7f0000000540), 0x0, 0x0) r1 = syz_io_uring_setup(0x6bac, &(0x7f0000000440), &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000ffb000/0x4000)=nil, &(0x7f00000004c0), &(0x7f0000000500)) io_uring_register$IORING_REGISTER_FILES(r1, 0x2, &(0x7f0000000140)=[r0, r0], 0x2) 07:42:59 executing program 4: syz_usb_connect(0x0, 0x24, &(0x7f0000000040)={{0x12, 0x1, 0x0, 0x38, 0xb5, 0x13, 0x10, 0x93a, 0x50f, 0xe983, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0xf2, 0xc9, 0x7d}}]}}]}}, 0x0) 07:42:59 executing program 5: syz_mount_image$tmpfs(&(0x7f0000000040), &(0x7f0000000080)='./bus\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000000100)={[{@huge_within_size}]}) chdir(&(0x7f00000000c0)='./bus\x00') r0 = creat(&(0x7f0000000400)='./bus\x00', 0x0) ftruncate(r0, 0x208200) r1 = open(&(0x7f0000000200)='./bus\x00', 0x10103e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffff6, 0x4002011, r1, 0x0) r2 = syz_open_procfs(0x0, &(0x7f0000000080)='smaps\x00') preadv(r2, &(0x7f00000006c0)=[{&(0x7f00000002c0)=""/182, 0xb6}], 0x1, 0xfffffffe, 0x0) [ 1699.328971][ T27] audit: type=1800 audit(1653118979.049:36876): pid=19939 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.0" name=48C7C060 dev="sda1" ino=1191 res=0 errno=0 07:42:59 executing program 2: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) setsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX(r0, 0x84, 0x6e, &(0x7f0000961fe4)=[@in={0x2, 0x0, @private=0xa010102}], 0x10) getsockopt$inet_sctp6_SCTP_GET_ASSOC_ID_LIST(r0, 0x84, 0x1d, &(0x7f000095dff8)=ANY=[@ANYBLOB="7c3b6ad5", @ANYRES32=0x0], &(0x7f000095dffc)=0x8) r2 = socket(0xa, 0x1, 0x0) close(r2) getsockopt$inet_sctp6_SCTP_SOCKOPT_PEELOFF(r0, 0x84, 0x66, &(0x7f0000000040)={r1}, &(0x7f0000000140)=0x8) sendmmsg$inet_sctp(r2, &(0x7f00000026c0)=[{0x0, 0x0, 0x0, 0x0, &(0x7f0000000300)=[@sndinfo={0x20, 0x84, 0x2, {0x0, 0x4}}], 0x20}], 0x1, 0x0) setsockopt$inet_sctp_SCTP_DEFAULT_SEND_PARAM(r2, 0x84, 0xa, &(0x7f00000001c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, r3}, 0x20) [ 1699.507508][ T27] audit: type=1804 audit(1653118979.238:36877): pid=19947 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.0" name=2F726F6F742F73797A6B616C6C65722D74657374646972333230373935373935352F73797A6B616C6C65722E33524F5469772F3932352F48C7C060 dev="sda1" ino=1191 res=1 errno=0 07:42:59 executing program 5: syz_mount_image$tmpfs(&(0x7f0000000040), &(0x7f0000000080)='./bus\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000000100)={[{@huge_within_size}]}) chdir(&(0x7f00000000c0)='./bus\x00') r0 = creat(&(0x7f0000000400)='./bus\x00', 0x0) ftruncate(r0, 0x208200) r1 = open(&(0x7f0000000200)='./bus\x00', 0x10103e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffff6, 0x4002011, r1, 0x0) r2 = syz_open_procfs(0x0, &(0x7f0000000080)='smaps\x00') preadv(r2, &(0x7f00000006c0)=[{&(0x7f00000002c0)=""/182, 0xb6}], 0x1, 0xfffffffe, 0x0) [ 1699.647445][ T27] audit: type=1804 audit(1653118979.238:36878): pid=19947 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=ToMToU comm="syz-executor.0" name=2F726F6F742F73797A6B616C6C65722D74657374646972333230373935373935352F73797A6B616C6C65722E33524F5469772F3932352F48C7C060 dev="sda1" ino=1191 res=1 errno=0 07:42:59 executing program 5: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff}) connect$unix(r0, &(0x7f0000000180)=@abs, 0x6e) r1 = open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000100), 0x0, &(0x7f0000000380)={'trans=fd,', {'rfdno', 0x3d, r1}, 0x2c, {'wfdno', 0x3d, r0}}) [ 1699.843304][ T27] audit: type=1800 audit(1653118979.584:36879): pid=19959 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.5" name="file0" dev="sda1" ino=1176 res=0 errno=0 07:43:09 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$wireguard(&(0x7f0000000a80), 0xffffffffffffffff) sendmsg$WG_CMD_SET_DEVICE(r0, &(0x7f0000000740)={0x0, 0x0, &(0x7f0000000700)={&(0x7f0000000ac0)={0x80, r1, 0x1, 0x0, 0x0, {}, [@WGDEVICE_A_IFNAME={0x14, 0x2, 'wg1\x00'}, @WGDEVICE_A_PEERS={0x58, 0x8, 0x0, 0x1, [{0x54, 0x0, 0x0, 0x1, [@WGPEER_A_ALLOWEDIPS={0x2c, 0x9, 0x0, 0x1, [{0x28, 0x0, 0x0, 0x1, [@ipv6={{0x6, 0xc002}, {0x14, 0x2, @private0}, {0x5}}]}]}, @WGPEER_A_PUBLIC_KEY={0x24, 0x1, @a_g}]}]}]}, 0x80}}, 0x0) 07:43:09 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000000)=0x6) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) pipe(&(0x7f00000000c0)) syz_genetlink_get_family_id$devlink(0x0, 0xffffffffffffffff) r3 = creat(&(0x7f0000000080)='./bus\x00', 0x0) ioctl$TCSETS2(0xffffffffffffffff, 0x402c542b, 0x0) ftruncate(r3, 0x800) lseek(r3, 0x200, 0x0) r4 = open(&(0x7f0000000000)='./bus\x00', 0x24000, 0x0) sendfile(r3, r4, 0x0, 0x1dd00) 07:43:09 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0xc, 0x4, &(0x7f0000000000)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x19}]}, &(0x7f0000000100)='GPL\x00', 0x3, 0xab, &(0x7f0000000140)=""/171, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 07:43:09 executing program 5: r0 = signalfd(0xffffffffffffffff, &(0x7f0000000100), 0x8) io_setup(0x4, &(0x7f00000004c0)=0x0) r2 = epoll_create1(0x0) r3 = signalfd(0xffffffffffffffff, &(0x7f0000000100), 0x8) r4 = epoll_create1(0x0) epoll_ctl$EPOLL_CTL_ADD(r4, 0x1, r2, &(0x7f0000000000)) epoll_ctl$EPOLL_CTL_ADD(r2, 0x1, r3, &(0x7f00000000c0)) io_submit(r1, 0x1, &(0x7f0000000600)=[&(0x7f0000000040)={0xfffffffffffffdef, 0x0, 0x0, 0x5, 0x0, r2, 0x0}]) signalfd(r0, &(0x7f00000001c0), 0x8) 07:43:09 executing program 2: syz_open_dev$audion(&(0x7f00000005c0), 0x1, 0x4801) 07:43:09 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000000)=@raw={'raw\x00', 0x3c1, 0x3, 0x3a8, 0x0, 0x0, 0x0, 0x180, 0x0, 0x2d8, 0x258, 0x258, 0x2d8, 0x258, 0x3, 0x0, {[{{@ipv6={@rand_addr=' \x01\x00', @local, [], [], 'wg2\x00', 'macvlan1\x00'}, 0x0, 0x118, 0x180, 0x0, {}, [@common=@inet=@l2tp={{0x30}, {0x0, 0x0, 0x0, 0x0, 0x8}}, @common=@unspec=@connlimit={{0x40}}]}, @unspec=@CT2={0x68, 'CT\x00', 0x2, {0x0, 0x0, 0x0, 0x0, 'snmp_trap\x00', 'syz1\x00'}}}, {{@ipv6={@local, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}, [], [], 'vxcan1\x00', 'team0\x00'}, 0x0, 0x118, 0x158, 0x0, {}, [@inet=@rpfilter={{0x28}}, @common=@dst={{0x48}}]}, @common=@inet=@TCPOPTSTRIP={0x40}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x408) 07:43:09 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r0, 0x10e, 0xc, &(0x7f0000000040)={0x60}, 0x10) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000002c0)=@ipv6_getroute={0x1c, 0x1a, 0x1, 0x0, 0x0, {0xa, 0x0, 0x0, 0x0, 0xff}}, 0x1c}}, 0x0) 07:43:09 executing program 0: r0 = syz_io_uring_setup(0x1999, &(0x7f00000002c0), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ffb000/0x3000)=nil, &(0x7f0000000380)=0x0, &(0x7f0000000100)=0x0) syz_io_uring_submit(r1, r2, &(0x7f0000008540)=@IORING_OP_OPENAT2={0x1c, 0x0, 0x0, 0xffffffffffffff9c, 0x0, 0x0}, 0x10001) r3 = mmap$IORING_OFF_SQES(&(0x7f0000ee7000/0x3000)=nil, 0x3000, 0x6, 0x11, r0, 0x10000000) syz_io_uring_submit(r1, r3, &(0x7f00000070c0)=@IORING_OP_WRITE_FIXED={0x5, 0x0, 0x2007, @fd_index}, 0x1) syz_io_uring_setup(0x45c9, &(0x7f00000003c0), &(0x7f0000ffb000/0x4000)=nil, &(0x7f00000dd000/0x2000)=nil, &(0x7f0000000000), &(0x7f0000000340)=0x0) syz_io_uring_submit(r1, r4, &(0x7f0000000440)=@IORING_OP_PROVIDE_BUFFERS={0x1f, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) r5 = mmap$IORING_OFF_SQES(&(0x7f00000da000/0x4000)=nil, 0x4000, 0x3, 0x12, r0, 0x10000000) syz_io_uring_submit(r1, r5, &(0x7f0000000080)=@IORING_OP_READ_FIXED, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000140)=@IORING_OP_PROVIDE_BUFFERS={0x1f, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000040)=@IORING_OP_READ_FIXED={0x4, 0x0, 0x0, @fd_index}, 0x0) syz_io_uring_submit(r1, r5, &(0x7f0000000280)=@IORING_OP_REMOVE_BUFFERS, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000640)=@IORING_OP_OPENAT2={0x1c, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) syz_io_uring_submit(r1, r5, &(0x7f0000000240)=@IORING_OP_POLL_REMOVE, 0x0) syz_io_uring_submit(r1, r5, &(0x7f00000001c0)=@IORING_OP_EPOLL_CTL=@mod={0x1d, 0x0, 0x0, 0xffffffffffffffff, 0x0}, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000200)=@IORING_OP_RECV=@use_registered_buffer, 0x0) syz_io_uring_submit(r1, r3, &(0x7f00000000c0)=@IORING_OP_MADVISE={0x19, 0x0, 0x0, 0x0, 0x0, &(0x7f00000dc000/0x1000)=nil, 0x1000}, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000180)=@IORING_OP_EPOLL_CTL=@add={0x1d, 0x0, 0x0, 0xffffffffffffffff, 0x0}, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000480)=@IORING_OP_TIMEOUT_REMOVE, 0x0) io_uring_enter(r0, 0x6374, 0x0, 0x0, 0x0, 0x0) 07:43:09 executing program 2: select(0x40, &(0x7f0000000000), 0x0, &(0x7f0000000080)={0x1}, &(0x7f00000000c0)) [ 1709.257076][T19963] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.1'. [ 1709.295045][T19970] xt_l2tp: missing protocol rule (udp|l2tpip) 07:43:09 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000000)=@raw={'raw\x00', 0x3c1, 0x3, 0x3a8, 0x0, 0x0, 0x0, 0x180, 0x0, 0x2d8, 0x258, 0x258, 0x2d8, 0x258, 0x3, 0x0, {[{{@ipv6={@rand_addr=' \x01\x00', @local, [], [], 'wg2\x00', 'macvlan1\x00'}, 0x0, 0x118, 0x180, 0x0, {}, [@common=@inet=@l2tp={{0x30}, {0x0, 0x0, 0x0, 0x0, 0x8}}, @common=@unspec=@connlimit={{0x40}}]}, @unspec=@CT2={0x68, 'CT\x00', 0x2, {0x0, 0x0, 0x0, 0x0, 'snmp_trap\x00', 'syz1\x00'}}}, {{@ipv6={@local, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}, [], [], 'vxcan1\x00', 'team0\x00'}, 0x0, 0x118, 0x158, 0x0, {}, [@inet=@rpfilter={{0x28}}, @common=@dst={{0x48}}]}, @common=@inet=@TCPOPTSTRIP={0x40}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x408) 07:43:09 executing program 5: r0 = socket$inet6(0xa, 0x5, 0x0) setsockopt$sock_int(r0, 0x1, 0xf, &(0x7f0000fee000)=0x3fa, 0x4) bind$inet6(r0, &(0x7f0000000140)={0xa, 0x4e20, 0x0, @ipv4={'\x00', '\xff\xff', @empty}}, 0x1c) listen(r0, 0x50) r1 = socket$inet6(0xa, 0x5, 0x0) setsockopt$sock_int(r1, 0x1, 0xf, &(0x7f0000fee000)=0x3fa, 0x4) bind$inet6(r1, &(0x7f0000000140)={0xa, 0x4e20, 0x0, @ipv4={'\x00', '\xff\xff', @empty}}, 0x1c) listen(r1, 0x50) 07:43:09 executing program 4: r0 = socket$kcm(0x10, 0x2, 0x10) set_mempolicy(0x1, &(0x7f00000000c0)=0x3d6079ff, 0xbd6) sendmsg$kcm(r0, &(0x7f0000000000)={0x0, 0xffffff70, &(0x7f0000000080)=[{&(0x7f0000000040)="2e48000036000505d25a80648c63940d0224fc5f8800000009000400250082c137153e370948018035481700d1bd", 0x33fe0}], 0x17}, 0x500000000000000) 07:43:09 executing program 5: syz_mount_image$f2fs(0x0, &(0x7f0000000100)='./mnt\x00', 0x0, 0x0, 0x0, 0x0, 0x0) r0 = openat(0xffffffffffffff9c, &(0x7f0000000440)='./mnt\x00', 0x0, 0x0) close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) ioctl$FS_IOC_REMOVE_ENCRYPTION_KEY(r0, 0xc0406618, &(0x7f0000000000)={@desc={0x1, 0x0, @desc1}}) [ 1709.409240][T19983] xt_l2tp: missing protocol rule (udp|l2tpip) [ 1709.436629][T19985] netlink: 18322 bytes leftover after parsing attributes in process `syz-executor.4'. 07:43:21 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000380), 0xffffffffffffffff) r2 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r2, 0x8933, &(0x7f0000000000)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000fc0)={&(0x7f00000003c0)={0x40, r1, 0x1, 0x0, 0x0, {{0x2}, {@val={0x8, 0x3, r3}, @val={0xc}}}, [@chandef_params=[@NL80211_ATTR_WIPHY_FREQ={0x8, 0x26, @random=0x1478}], @chandef_params=[@NL80211_ATTR_CENTER_FREQ2={0x8, 0xa1, 0xfb4d}, @NL80211_ATTR_WIPHY_CHANNEL_TYPE={0x8}]]}, 0x40}}, 0x0) 07:43:21 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID2(r2, 0xaece, 0x0) 07:43:21 executing program 0: syz_mount_image$vfat(&(0x7f0000000a40), &(0x7f0000000940)='./file1\x00', 0x0, 0x2, &(0x7f00000004c0)=[{}, {0x0, 0x0, 0x10e00}], 0x0, &(0x7f0000000980)={[{@iocharset={'iocharset', 0x3d, 'cp860'}}]}) r0 = open$dir(&(0x7f0000000040)='./file1\x00', 0x2000, 0x1) r1 = syz_open_dev$tty20(0xc, 0x4, 0x0) creat(&(0x7f0000000040)='./file0\x00', 0x96) ioctl$FIONREAD(0xffffffffffffffff, 0x541b, &(0x7f0000000000)) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r2, &(0x7f00000003c0)={0xa, 0x4e22, 0x0, @empty}, 0x1c) setsockopt$inet6_int(r2, 0x29, 0x21, &(0x7f0000000000)=0x101, 0x4) unshare(0x28000400) sendto$inet6(r2, 0x0, 0x0, 0x20000004, &(0x7f0000000040)={0xa, 0x4e22, 0x0, @loopback}, 0x1c) unshare(0x800) ioctl$ifreq_SIOCGIFINDEX_team(0xffffffffffffffff, 0x8933, 0x0) getpeername$inet6(r2, 0x0, &(0x7f0000000080)) socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$VT_DISALLOCATE(r1, 0x5608) openat$bsg(0xffffffffffffff9c, &(0x7f00000000c0), 0x501402, 0x0) mknodat$loop(r0, &(0x7f0000000080)='./file1\x00', 0x1, 0x0) 07:43:21 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000000)=@raw={'raw\x00', 0x3c1, 0x3, 0x3a8, 0x0, 0x0, 0x0, 0x180, 0x0, 0x2d8, 0x258, 0x258, 0x2d8, 0x258, 0x3, 0x0, {[{{@ipv6={@rand_addr=' \x01\x00', @local, [], [], 'wg2\x00', 'macvlan1\x00'}, 0x0, 0x118, 0x180, 0x0, {}, [@common=@inet=@l2tp={{0x30}, {0x0, 0x0, 0x0, 0x0, 0x8}}, @common=@unspec=@connlimit={{0x40}}]}, @unspec=@CT2={0x68, 'CT\x00', 0x2, {0x0, 0x0, 0x0, 0x0, 'snmp_trap\x00', 'syz1\x00'}}}, {{@ipv6={@local, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}, [], [], 'vxcan1\x00', 'team0\x00'}, 0x0, 0x118, 0x158, 0x0, {}, [@inet=@rpfilter={{0x28}}, @common=@dst={{0x48}}]}, @common=@inet=@TCPOPTSTRIP={0x40}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x408) 07:43:21 executing program 5: openat$ptmx(0xffffffffffffff9c, &(0x7f0000000100), 0x6881, 0x0) 07:43:21 executing program 4: r0 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCETHTOOL(r0, 0x8946, &(0x7f0000001240)={'macvlan1\x00', &(0x7f0000000000)=@ethtool_per_queue_op={0x4b, 0x2b}}) 07:43:21 executing program 5: r0 = openat$vnet(0xffffffffffffff9c, &(0x7f00000004c0), 0x2, 0x0) ioctl$VHOST_SET_FEATURES(r0, 0x4008af00, &(0x7f00000002c0)=0x200000000) ioctl$int_in(r0, 0x40000000af01, 0x0) write$vhost_msg_v2(r0, &(0x7f0000000400)={0x2, 0x0, {&(0x7f00000001c0)=""/69, 0x45, 0x0, 0x0, 0x2}}, 0x48) r1 = socket$packet(0x11, 0x3, 0x300) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, &(0x7f0000000300)=ANY=[]) r2 = dup(r1) ioctl$VHOST_NET_SET_BACKEND(r0, 0x4008af30, &(0x7f0000000000)={0x0, r2}) 07:43:21 executing program 2: unshare(0x8000000) semget$private(0x0, 0x3, 0x0) semtimedop(0x0, &(0x7f0000000000)=[{0x0, 0x0, 0x1000}], 0x1, &(0x7f0000000100)={0x77359400}) 07:43:21 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000000)=@raw={'raw\x00', 0x3c1, 0x3, 0x3a8, 0x0, 0x0, 0x0, 0x180, 0x0, 0x2d8, 0x258, 0x258, 0x2d8, 0x258, 0x3, 0x0, {[{{@ipv6={@rand_addr=' \x01\x00', @local, [], [], 'wg2\x00', 'macvlan1\x00'}, 0x0, 0x118, 0x180, 0x0, {}, [@common=@inet=@l2tp={{0x30}, {0x0, 0x0, 0x0, 0x0, 0x8}}, @common=@unspec=@connlimit={{0x40}}]}, @unspec=@CT2={0x68, 'CT\x00', 0x2, {0x0, 0x0, 0x0, 0x0, 'snmp_trap\x00', 'syz1\x00'}}}, {{@ipv6={@local, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}, [], [], 'vxcan1\x00', 'team0\x00'}, 0x0, 0x118, 0x158, 0x0, {}, [@inet=@rpfilter={{0x28}}, @common=@dst={{0x48}}]}, @common=@inet=@TCPOPTSTRIP={0x40}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x408) [ 1720.491992][T20001] xt_l2tp: missing protocol rule (udp|l2tpip) 07:43:21 executing program 5: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000040)=@base={0xf, 0x4, 0x8, 0x9}, 0x48) r1 = socket$inet_udp(0x2, 0x2, 0x0) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000240)={r0, &(0x7f00000000c0), &(0x7f0000000000)=@udp=r1}, 0x20) bpf$MAP_LOOKUP_ELEM(0x1, &(0x7f0000001400)={r0, &(0x7f00000012c0), &(0x7f0000001300)=""/221}, 0x20) 07:43:21 executing program 2: r0 = socket$inet6(0xa, 0x6, 0x0) bind$inet6(r0, &(0x7f00000001c0)={0xa, 0x4e20}, 0x1c) listen(r0, 0x200007) r1 = socket$inet_dccp(0x2, 0x6, 0x0) connect$inet(r1, &(0x7f00000000c0)={0x2, 0x4e20, @loopback}, 0x10) getsockopt$inet_int(r1, 0x10d, 0xf9, &(0x7f0000000080), &(0x7f0000000000)=0x4) 07:43:21 executing program 2: getpriority(0x1, 0xff) [ 1720.636948][T20016] xt_l2tp: missing protocol rule (udp|l2tpip) 07:43:32 executing program 3: pipe(&(0x7f0000004880)={0xffffffffffffffff, 0xffffffffffffffff}) r1 = socket$xdp(0x2c, 0x3, 0x0) splice(r1, 0x0, r0, 0x0, 0x5, 0x0) 07:43:32 executing program 0: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000000)=ANY=[], 0x208e24b) r1 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb), &(0x7f0000cab000)=0xc) syz_open_dev$hiddev(0x0, 0x0, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) openat$ptmx(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) madvise(&(0x7f0000000000/0x600000)=nil, 0x600003, 0x15) 07:43:32 executing program 5: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000480)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000080)={'bridge_slave_1\x00', 0x0}) r2 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000140)=@newlink={0x4c, 0x10, 0x401, 0x0, 0x0, {0x0, 0x0, 0x0, r1}, [@IFLA_LINKINFO={0x2c, 0x12, 0x0, 0x1, @bridge_slave={{0x11}, {0x14, 0x5, 0x0, 0x1, [@IFLA_BRPORT_GROUP_FWD_MASK={0x6}, @IFLA_BRPORT_BACKUP_PORT={0x8}]}}}]}, 0x4c}}, 0x0) 07:43:32 executing program 4: unshare(0x8000400) r0 = socket$l2tp6(0xa, 0x2, 0x73) fchdir(r0) 07:43:32 executing program 2: r0 = socket$rds(0x15, 0x5, 0x0) bind$rds(r0, &(0x7f0000000840)={0x2, 0x0, @loopback}, 0x10) sendmsg$rds(r0, &(0x7f0000000980)={&(0x7f0000000080)={0x2, 0x0, @local}, 0x10, &(0x7f00000002c0)=[{&(0x7f00000000c0)=""/182, 0xb6}], 0x1, &(0x7f0000000900)=[@rdma_args={0x48, 0x114, 0x1, {{}, {0x0, 0xd}, &(0x7f0000000880)=[{&(0x7f0000000440)=""/13, 0xd}], 0x1, 0x29}}], 0x48}, 0x0) 07:43:32 executing program 1: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) mount$bind(&(0x7f0000000380)='./file0\x00', &(0x7f0000000240)='./file0\x00', 0x0, 0xe1051, 0x0) syz_mount_image$ext4(&(0x7f0000000080)='ext2\x00', &(0x7f0000000040)='./file0\x00', 0x0, 0x0, 0x0, 0x188ba, &(0x7f00000000c0)={[{@commit={'commit', 0x3d, 0x2}}]}) 07:43:32 executing program 5: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000480)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000080)={'bridge_slave_1\x00', 0x0}) r2 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000140)=@newlink={0x4c, 0x10, 0x401, 0x0, 0x0, {0x0, 0x0, 0x0, r1}, [@IFLA_LINKINFO={0x2c, 0x12, 0x0, 0x1, @bridge_slave={{0x11}, {0x14, 0x5, 0x0, 0x1, [@IFLA_BRPORT_GROUP_FWD_MASK={0x6}, @IFLA_BRPORT_BACKUP_PORT={0x8}]}}}]}, 0x4c}}, 0x0) 07:43:32 executing program 3: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000001640)={0x11, 0x4, &(0x7f0000000280)=@framed={{}, [@jmp={0x5, 0x0, 0x8, 0x0, 0x0, 0x0, 0x9c}]}, &(0x7f0000000040)='syzkaller\x00', 0x6, 0xeb, &(0x7f0000000080)=""/235, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 07:43:32 executing program 4: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000440)={0x2, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000340)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_GET_PROG_INFO(0xf, &(0x7f00000000c0)={r0, 0x130, &(0x7f00000015c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ""/16, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000100)=[0x0, 0x0, 0x0, 0x0, 0x0, 0x0], 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x8, 0x0, 0x0}}, 0x10) 07:43:32 executing program 2: r0 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r0, &(0x7f0000000200)={0x2, 0x4e20, @empty}, 0x10) getsockopt$ARPT_SO_GET_INFO(0xffffffffffffffff, 0x0, 0x60, &(0x7f0000000140), &(0x7f00000000c0)=0x44) setsockopt$inet_tcp_int(r0, 0x6, 0x2, &(0x7f0000000280)=0x27fe, 0x4) bind$inet(0xffffffffffffffff, &(0x7f00000002c0)={0x2, 0x4e21, @empty}, 0x10) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, &(0x7f0000000400)={0x1, &(0x7f00000001c0)=[{0x6, 0x0, 0x0, 0x3654}]}, 0x10) sendmsg$DEVLINK_CMD_TRAP_POLICER_SET(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, 0x0}, 0x0) connect$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @dev={0xac, 0x14, 0x14, 0x18}}, 0x10) r1 = socket$inet_smc(0x2b, 0x1, 0x0) listen(r1, 0x0) ioctl$sock_inet_tcp_SIOCOUTQNSD(r1, 0x894b, 0x0) socket$inet_smc(0x2b, 0x1, 0x0) r2 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$NL80211_CMD_STOP_SCHED_SCAN(r2, &(0x7f00000003c0)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x8}, 0xc, 0x0}, 0x0) sendmsg$L2TP_CMD_TUNNEL_CREATE(0xffffffffffffffff, 0x0, 0x0) sendmsg$L2TP_CMD_TUNNEL_GET(0xffffffffffffffff, 0x0, 0x0) socket(0x0, 0x0, 0x0) setsockopt$inet_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f0000000080)='hybla\x00', 0x6) sendmsg$inet(r0, &(0x7f00000015c0)={0x0, 0x14, &(0x7f0000001600)=[{&(0x7f0000000240)=' ', 0xffffff1f}], 0x1}, 0x0) recvmsg(r0, &(0x7f0000000580)={0x0, 0x2, &(0x7f0000000500)=[{&(0x7f0000000740)=""/4096, 0xa15b0}], 0xf}, 0x700) [ 1731.359128][T20035] rdma_op ffff8880336df9f0 conn xmit_rdma 0000000000000000 07:43:32 executing program 3: pipe(&(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) getpeername$ax25(r0, 0x0, 0x0) 07:43:32 executing program 0: socket$nl_route(0x10, 0x3, 0x0) r0 = socket(0x10, 0x803, 0x0) syz_genetlink_get_family_id$ipvs(&(0x7f00000003c0), r0) getsockname$packet(r0, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket(0x1, 0x803, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r1, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000001c0)=@newlink={0x3c, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_IFNAME={0x14, 0x3, 'bridge_slave_1\x00'}, @IFLA_MASTER={0x8, 0xa, r3}]}, 0x3c}}, 0x0) 07:43:32 executing program 3: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r0, 0x84, 0x64, &(0x7f0000000040)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) sendto$inet6(r0, &(0x7f0000000300)="b9", 0x1, 0x0, &(0x7f0000000080)={0xa, 0x0, 0x0, @private2}, 0x1c) sendto$inet6(r0, &(0x7f00000000c0)="eb", 0x1, 0x0, &(0x7f0000000240)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) shutdown(r0, 0x1) getsockopt$inet_sctp6_SCTP_ENABLE_STREAM_RESET(r0, 0x84, 0x76, &(0x7f00000001c0), &(0x7f0000000200)=0x8) [ 1731.545262][T20056] bridge0: port 2(bridge_slave_1) entered disabled state 07:43:39 executing program 1: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000080)={0x26, 'hash\x00', 0x0, 0x0, 'cbcmac(aes-generic)\x00'}, 0x58) setsockopt$ALG_SET_KEY(r0, 0x117, 0x1, &(0x7f0000000280)="7ebf492e449871db3c9bc91365fcb411e7", 0x11) 07:43:39 executing program 5: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000480)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000080)={'bridge_slave_1\x00', 0x0}) r2 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000140)=@newlink={0x4c, 0x10, 0x401, 0x0, 0x0, {0x0, 0x0, 0x0, r1}, [@IFLA_LINKINFO={0x2c, 0x12, 0x0, 0x1, @bridge_slave={{0x11}, {0x14, 0x5, 0x0, 0x1, [@IFLA_BRPORT_GROUP_FWD_MASK={0x6}, @IFLA_BRPORT_BACKUP_PORT={0x8}]}}}]}, 0x4c}}, 0x0) 07:43:39 executing program 4: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl802154(&(0x7f0000000040), 0xffffffffffffffff) sendmsg$NL802154_CMD_DEL_SEC_KEY(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000440)={0x34, r1, 0x1, 0x0, 0x0, {}, [@NL802154_ATTR_SEC_KEY={0x14, 0x25, 0x0, 0x1, [@NL802154_KEY_ATTR_ID={0x10, 0x1, 0x0, 0x1, [@NL802154_KEY_ID_ATTR_IMPLICIT={0x4}, @NL802154_KEY_ID_ATTR_MODE={0x8}]}]}, @NL802154_ATTR_WPAN_DEV={0xc, 0x6, 0x100000001}]}, 0x34}}, 0x0) 07:43:39 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) getsockopt$inet_sctp_SCTP_GET_PEER_ADDR_INFO(r0, 0x84, 0xf, &(0x7f0000000000)={0x0, @in6={{0xa, 0x0, 0x0, @private2}}}, &(0x7f00000000c0)=0x98) 07:43:39 executing program 0: socket$nl_route(0x10, 0x3, 0x0) r0 = socket(0x10, 0x803, 0x0) syz_genetlink_get_family_id$ipvs(&(0x7f00000003c0), r0) getsockname$packet(r0, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket(0x1, 0x803, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r1, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000001c0)=@newlink={0x3c, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_IFNAME={0x14, 0x3, 'bridge_slave_1\x00'}, @IFLA_MASTER={0x8, 0xa, r3}]}, 0x3c}}, 0x0) 07:43:39 executing program 3: r0 = syz_clone(0x4000000, &(0x7f0000000100)="8883693cf123787c3b87b9c52f15eef28d8468b503d47d802df1870d414209d1cf436eb7f7b46fbbb2abcce2921082dce3b83b70a31ed3d9237f1532c7027d72608d99721764eac045a75cd36f45b7a038d206fb16b916ca23dbaef371babb9a775ab29e3b3bc8b62fb8eaa04b39e9ef47008d71f516590d9b51cb418c2bfb374ba3c50d39d26714ecd077aedf4fb375f5b360f4504f32d8f66a7fba0c1d7a0be24b7a61", 0xa4, 0x0, &(0x7f0000000200), 0x0) r1 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) kcmp$KCMP_EPOLL_TFD(r1, 0x0, 0x7, 0xffffffffffffffff, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_ipv4_tunnel_SIOCDELTUNNEL(r2, 0x89f2, &(0x7f0000000540)={'gretap0\x00', 0x0}) socket$nl_xfrm(0x10, 0x3, 0x6) r3 = bpf$MAP_CREATE(0x0, &(0x7f0000000300)=@base={0x10, 0x5, 0xcfd, 0x6, 0x0, 0x1, 0x60ec8e50, '\x00', 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x2}, 0x48) pipe(0x0) bpf$BPF_GET_MAP_INFO(0xf, &(0x7f0000000600)={0xffffffffffffffff, 0x58, &(0x7f0000000580)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ""/16, 0x0}}, 0x10) connect$packet(0xffffffffffffffff, &(0x7f0000000640)={0x11, 0x7, r4, 0x1, 0xff, 0x6, @broadcast}, 0x14) kcmp$KCMP_EPOLL_TFD(r0, r1, 0x7, 0xffffffffffffffff, &(0x7f0000000380)={0xffffffffffffffff, r3, 0x6}) r5 = epoll_create(0x5) epoll_ctl$EPOLL_CTL_DEL(r5, 0x2, 0xffffffffffffffff) 07:43:39 executing program 4: r0 = syz_io_uring_setup(0x42d5, &(0x7f0000001800), &(0x7f0000ffb000/0x3000)=nil, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000001880), &(0x7f00000018c0)) io_uring_register$IORING_REGISTER_FILES_UPDATE(r0, 0x6, &(0x7f0000001980)={0x0, 0x0, &(0x7f0000001940)=[0xffffffffffffffff]}, 0x1) io_uring_register$IORING_REGISTER_BUFFERS(r0, 0x0, &(0x7f00000000c0)=[{0x0}], 0x1) 07:43:39 executing program 2: syz_emit_ethernet(0x3a, &(0x7f0000000300)={@local, @random="7a4ca653e2f7", @void, {@ipv4={0x800, @tcp={{0x6, 0x4, 0x0, 0x0, 0x2c, 0x0, 0x0, 0x0, 0x6, 0x0, @remote, @local, {[@generic={0x7, 0x2}]}}, {{0x0, 0x0, 0x41424344, 0x41424344, 0x0, 0x6, 0x5}}}}}}, 0x0) 07:43:39 executing program 5: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000480)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000080)={'bridge_slave_1\x00', 0x0}) r2 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000140)=@newlink={0x4c, 0x10, 0x401, 0x0, 0x0, {0x0, 0x0, 0x0, r1}, [@IFLA_LINKINFO={0x2c, 0x12, 0x0, 0x1, @bridge_slave={{0x11}, {0x14, 0x5, 0x0, 0x1, [@IFLA_BRPORT_GROUP_FWD_MASK={0x6}, @IFLA_BRPORT_BACKUP_PORT={0x8}]}}}]}, 0x4c}}, 0x0) 07:43:39 executing program 0: socket$nl_route(0x10, 0x3, 0x0) r0 = socket(0x10, 0x803, 0x0) syz_genetlink_get_family_id$ipvs(&(0x7f00000003c0), r0) getsockname$packet(r0, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket(0x1, 0x803, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r1, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000001c0)=@newlink={0x3c, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_IFNAME={0x14, 0x3, 'bridge_slave_1\x00'}, @IFLA_MASTER={0x8, 0xa, r3}]}, 0x3c}}, 0x0) 07:43:39 executing program 4: r0 = syz_clone(0x9000, 0x0, 0x0, &(0x7f0000000040), 0x0, 0x0) r1 = msgget$private(0x0, 0x0) msgctl$IPC_RMID(r1, 0x0) syz_clone(0x4080a080, &(0x7f0000000080)="8db51dee614f963858d9028a59e44a7424d16fa3dbcc7a61cd65e543167ae30a8cc00cabd6cfac5ed48ed1e090ed1b45ebae3e89f86941afc65a60ec1a86310591aab1a2ba", 0x45, &(0x7f0000000100), &(0x7f0000000140), &(0x7f0000000180)="d123a2d2") ioctl$sock_SIOCGPGRP(0xffffffffffffffff, 0x8904, &(0x7f00000001c0)) getpgrp(r0) 07:43:39 executing program 5: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x5) r1 = fcntl$dupfd(r0, 0x0, r0) ioctl$sock_bt_cmtp_CMTPCONNADD(r1, 0x800443d3, &(0x7f0000000000)) 07:43:47 executing program 0: socket$nl_route(0x10, 0x3, 0x0) r0 = socket(0x10, 0x803, 0x0) syz_genetlink_get_family_id$ipvs(&(0x7f00000003c0), r0) getsockname$packet(r0, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket(0x1, 0x803, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r1, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000001c0)=@newlink={0x3c, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_IFNAME={0x14, 0x3, 'bridge_slave_1\x00'}, @IFLA_MASTER={0x8, 0xa, r3}]}, 0x3c}}, 0x0) 07:43:47 executing program 1: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000080)={0x26, 'hash\x00', 0x0, 0x0, 'cbcmac(aes-generic)\x00'}, 0x58) setsockopt$ALG_SET_KEY(r0, 0x117, 0x1, &(0x7f0000000280)="7ebf492e449871db3c9bc91365fcb411e7", 0x11) 07:43:47 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$wireguard(&(0x7f0000000040), 0xffffffffffffffff) sendmsg$WG_CMD_SET_DEVICE(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000740)={0x54, r1, 0x1, 0x0, 0x0, {}, [@WGDEVICE_A_PRIVATE_KEY={0x24, 0x3, @c}, @WGDEVICE_A_PEERS={0x8, 0x8, 0x0, 0x1, [{0xfffffffffffffcd1, 0x0, 0x0, 0x0}]}, @WGDEVICE_A_IFNAME={0x14, 0x2, 'wg2\x00'}]}, 0x54}}, 0x0) 07:43:47 executing program 3: r0 = syz_clone(0x4000000, &(0x7f0000000100)="8883693cf123787c3b87b9c52f15eef28d8468b503d47d802df1870d414209d1cf436eb7f7b46fbbb2abcce2921082dce3b83b70a31ed3d9237f1532c7027d72608d99721764eac045a75cd36f45b7a038d206fb16b916ca23dbaef371babb9a775ab29e3b3bc8b62fb8eaa04b39e9ef47008d71f516590d9b51cb418c2bfb374ba3c50d39d26714ecd077aedf4fb375f5b360f4504f32d8f66a7fba0c1d7a0be24b7a61", 0xa4, 0x0, &(0x7f0000000200), 0x0) r1 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) kcmp$KCMP_EPOLL_TFD(r1, 0x0, 0x7, 0xffffffffffffffff, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_ipv4_tunnel_SIOCDELTUNNEL(r2, 0x89f2, &(0x7f0000000540)={'gretap0\x00', 0x0}) socket$nl_xfrm(0x10, 0x3, 0x6) r3 = bpf$MAP_CREATE(0x0, &(0x7f0000000300)=@base={0x10, 0x5, 0xcfd, 0x6, 0x0, 0x1, 0x60ec8e50, '\x00', 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x2}, 0x48) pipe(0x0) bpf$BPF_GET_MAP_INFO(0xf, &(0x7f0000000600)={0xffffffffffffffff, 0x58, &(0x7f0000000580)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ""/16, 0x0}}, 0x10) connect$packet(0xffffffffffffffff, &(0x7f0000000640)={0x11, 0x7, r4, 0x1, 0xff, 0x6, @broadcast}, 0x14) kcmp$KCMP_EPOLL_TFD(r0, r1, 0x7, 0xffffffffffffffff, &(0x7f0000000380)={0xffffffffffffffff, r3, 0x6}) r5 = epoll_create(0x5) epoll_ctl$EPOLL_CTL_DEL(r5, 0x2, 0xffffffffffffffff) 07:43:47 executing program 4: r0 = syz_clone(0x9000, 0x0, 0x0, &(0x7f0000000040), 0x0, 0x0) r1 = msgget$private(0x0, 0x0) msgctl$IPC_RMID(r1, 0x0) syz_clone(0x4080a080, &(0x7f0000000080)="8db51dee614f963858d9028a59e44a7424d16fa3dbcc7a61cd65e543167ae30a8cc00cabd6cfac5ed48ed1e090ed1b45ebae3e89f86941afc65a60ec1a86310591aab1a2ba", 0x45, &(0x7f0000000100), &(0x7f0000000140), &(0x7f0000000180)="d123a2d2") ioctl$sock_SIOCGPGRP(0xffffffffffffffff, 0x8904, &(0x7f00000001c0)) getpgrp(r0) 07:43:47 executing program 5: r0 = syz_clone(0x4000000, &(0x7f0000000100)="8883693cf123787c3b87b9c52f15eef28d8468b503d47d802df1870d414209d1cf436eb7f7b46fbbb2abcce2921082dce3b83b70a31ed3d9237f1532c7027d72608d99721764eac045a75cd36f45b7a038d206fb16b916ca23dbaef371babb9a775ab29e3b3bc8b62fb8eaa04b39e9ef47008d71f516590d9b51cb418c2bfb374ba3c50d39d26714ecd077aedf4fb375f5b360f4504f32d8f66a7fba0c1d7a0be24b7a61", 0xa4, 0x0, &(0x7f0000000200), 0x0) r1 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) kcmp$KCMP_EPOLL_TFD(r1, 0x0, 0x7, 0xffffffffffffffff, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_ipv4_tunnel_SIOCDELTUNNEL(r2, 0x89f2, &(0x7f0000000540)={'gretap0\x00', 0x0}) socket$nl_xfrm(0x10, 0x3, 0x6) r3 = bpf$MAP_CREATE(0x0, &(0x7f0000000300)=@base={0x10, 0x5, 0xcfd, 0x6, 0x0, 0x1, 0x60ec8e50, '\x00', 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x2}, 0x48) pipe(0x0) bpf$BPF_GET_MAP_INFO(0xf, &(0x7f0000000600)={0xffffffffffffffff, 0x58, &(0x7f0000000580)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ""/16, 0x0}}, 0x10) connect$packet(0xffffffffffffffff, &(0x7f0000000640)={0x11, 0x7, r4, 0x1, 0xff, 0x6, @broadcast}, 0x14) kcmp$KCMP_EPOLL_TFD(r0, r1, 0x7, 0xffffffffffffffff, &(0x7f0000000380)={0xffffffffffffffff, r3, 0x6}) r5 = epoll_create(0x5) epoll_ctl$EPOLL_CTL_DEL(r5, 0x2, 0xffffffffffffffff) 07:43:47 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) getsockopt$inet_sctp_SCTP_PRIMARY_ADDR(r0, 0x84, 0x6, &(0x7f0000000080)={0x0, @in6={{0xa, 0x0, 0x0, @mcast1}}}, &(0x7f0000000140)=0x84) 07:43:47 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000280)={&(0x7f00000003c0)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x1c, 0x1c, 0x9, [@func_proto={0x0, 0x2, 0x0, 0xd, 0x0, [{}, {0x8, 0x4}]}]}, {0x0, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]}}, &(0x7f00000004c0)=""/216, 0x3d, 0xd8, 0x1}, 0x20) 07:43:47 executing program 2: r0 = socket$can_bcm(0x1d, 0x2, 0x2) io_setup(0x9, &(0x7f0000000240)=0x0) connect$can_bcm(r0, &(0x7f0000000000), 0x10) io_submit(r1, 0x1, &(0x7f0000000100)=[&(0x7f00000000c0)={0x400000, 0x0, 0x0, 0x1, 0x0, r0, &(0x7f0000000140)="0500000093c21faf16da39de706f646800580f02000000003f420f000000000000580f02000000003f427e00000000000029ffffff000000dc12050b0c24efe81ea6724f48951730f1675f99dbdb88f314a3c601cdee0a40791203b5adf4cf7b954987ca9b54861ea4e9a94f707a0c73fa2bfb47927b5c472f8404f8017f5b89dc2248678f4acfc75b5e695faf7a00"/152, 0x98}]) 07:43:47 executing program 5: r0 = syz_clone(0x4000000, &(0x7f0000000100)="8883693cf123787c3b87b9c52f15eef28d8468b503d47d802df1870d414209d1cf436eb7f7b46fbbb2abcce2921082dce3b83b70a31ed3d9237f1532c7027d72608d99721764eac045a75cd36f45b7a038d206fb16b916ca23dbaef371babb9a775ab29e3b3bc8b62fb8eaa04b39e9ef47008d71f516590d9b51cb418c2bfb374ba3c50d39d26714ecd077aedf4fb375f5b360f4504f32d8f66a7fba0c1d7a0be24b7a61", 0xa4, 0x0, &(0x7f0000000200), 0x0) r1 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) kcmp$KCMP_EPOLL_TFD(r1, 0x0, 0x7, 0xffffffffffffffff, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_ipv4_tunnel_SIOCDELTUNNEL(r2, 0x89f2, &(0x7f0000000540)={'gretap0\x00', 0x0}) socket$nl_xfrm(0x10, 0x3, 0x6) r3 = bpf$MAP_CREATE(0x0, &(0x7f0000000300)=@base={0x10, 0x5, 0xcfd, 0x6, 0x0, 0x1, 0x60ec8e50, '\x00', 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x2}, 0x48) pipe(0x0) bpf$BPF_GET_MAP_INFO(0xf, &(0x7f0000000600)={0xffffffffffffffff, 0x58, &(0x7f0000000580)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ""/16, 0x0}}, 0x10) connect$packet(0xffffffffffffffff, &(0x7f0000000640)={0x11, 0x7, r4, 0x1, 0xff, 0x6, @broadcast}, 0x14) kcmp$KCMP_EPOLL_TFD(r0, r1, 0x7, 0xffffffffffffffff, &(0x7f0000000380)={0xffffffffffffffff, r3, 0x6}) r5 = epoll_create(0x5) epoll_ctl$EPOLL_CTL_DEL(r5, 0x2, 0xffffffffffffffff) 07:43:47 executing program 3: r0 = syz_clone(0x4000000, &(0x7f0000000100)="8883693cf123787c3b87b9c52f15eef28d8468b503d47d802df1870d414209d1cf436eb7f7b46fbbb2abcce2921082dce3b83b70a31ed3d9237f1532c7027d72608d99721764eac045a75cd36f45b7a038d206fb16b916ca23dbaef371babb9a775ab29e3b3bc8b62fb8eaa04b39e9ef47008d71f516590d9b51cb418c2bfb374ba3c50d39d26714ecd077aedf4fb375f5b360f4504f32d8f66a7fba0c1d7a0be24b7a61", 0xa4, 0x0, &(0x7f0000000200), 0x0) r1 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) kcmp$KCMP_EPOLL_TFD(r1, 0x0, 0x7, 0xffffffffffffffff, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_ipv4_tunnel_SIOCDELTUNNEL(r2, 0x89f2, &(0x7f0000000540)={'gretap0\x00', 0x0}) socket$nl_xfrm(0x10, 0x3, 0x6) r3 = bpf$MAP_CREATE(0x0, &(0x7f0000000300)=@base={0x10, 0x5, 0xcfd, 0x6, 0x0, 0x1, 0x60ec8e50, '\x00', 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x2}, 0x48) pipe(0x0) bpf$BPF_GET_MAP_INFO(0xf, &(0x7f0000000600)={0xffffffffffffffff, 0x58, &(0x7f0000000580)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ""/16, 0x0}}, 0x10) connect$packet(0xffffffffffffffff, &(0x7f0000000640)={0x11, 0x7, r4, 0x1, 0xff, 0x6, @broadcast}, 0x14) kcmp$KCMP_EPOLL_TFD(r0, r1, 0x7, 0xffffffffffffffff, &(0x7f0000000380)={0xffffffffffffffff, r3, 0x6}) r5 = epoll_create(0x5) epoll_ctl$EPOLL_CTL_DEL(r5, 0x2, 0xffffffffffffffff) 07:43:47 executing program 0: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=@newlink={0x4c, 0x10, 0x705, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x2c, 0x12, 0x0, 0x1, @bond={{0x9}, {0x1c, 0x2, 0x0, 0x1, [@IFLA_BOND_MODE={0x5, 0x1, 0x6}, @IFLA_BOND_AD_ACTOR_SYS_PRIO={0x6}, @IFLA_BOND_AD_SELECT={0x5}]}}}]}, 0x4c}}, 0x0) 07:43:47 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000280), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CAP_SPLIT_IRQCHIP(r1, 0x4068aea3, &(0x7f0000000000)) ioctl$KVM_SET_GSI_ROUTING(r1, 0x4008ae61, &(0x7f00000000c0)={0x0, 0x2}) [ 1745.766994][T20123] (unnamed net_device) (uninitialized): option ad_actor_sys_prio: mode dependency failed, not supported in mode balance-alb(6) [ 1755.213465][ T1228] ieee802154 phy0 wpan0: encryption failed: -22 [ 1755.219769][ T1228] ieee802154 phy1 wpan1: encryption failed: -22 07:43:58 executing program 1: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000080)={0x26, 'hash\x00', 0x0, 0x0, 'cbcmac(aes-generic)\x00'}, 0x58) setsockopt$ALG_SET_KEY(r0, 0x117, 0x1, &(0x7f0000000280)="7ebf492e449871db3c9bc91365fcb411e7", 0x11) 07:43:58 executing program 0: bpf$MAP_CREATE(0x500000000000000, &(0x7f0000000340)=@base={0x5, 0x3, 0x3001, 0x78, 0x0, 0xffffffffffffffff, 0x0, '\x00', 0x0, 0xffffffffffffffff, 0x0, 0x2}, 0x48) 07:43:58 executing program 2: r0 = socket$inet6_mptcp(0xa, 0x1, 0x106) connect$inet6(r0, &(0x7f0000000180)={0xa, 0x4001, 0x0, @dev={0xfe, 0x80, '\x00', 0x1c}, 0xd}, 0x1c) setsockopt$inet6_mtu(r0, 0x29, 0x4a, &(0x7f0000000080), 0x4) 07:43:58 executing program 3: r0 = syz_clone(0x4000000, &(0x7f0000000100)="8883693cf123787c3b87b9c52f15eef28d8468b503d47d802df1870d414209d1cf436eb7f7b46fbbb2abcce2921082dce3b83b70a31ed3d9237f1532c7027d72608d99721764eac045a75cd36f45b7a038d206fb16b916ca23dbaef371babb9a775ab29e3b3bc8b62fb8eaa04b39e9ef47008d71f516590d9b51cb418c2bfb374ba3c50d39d26714ecd077aedf4fb375f5b360f4504f32d8f66a7fba0c1d7a0be24b7a61", 0xa4, 0x0, &(0x7f0000000200), 0x0) r1 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) kcmp$KCMP_EPOLL_TFD(r1, 0x0, 0x7, 0xffffffffffffffff, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_ipv4_tunnel_SIOCDELTUNNEL(r2, 0x89f2, &(0x7f0000000540)={'gretap0\x00', 0x0}) socket$nl_xfrm(0x10, 0x3, 0x6) r3 = bpf$MAP_CREATE(0x0, &(0x7f0000000300)=@base={0x10, 0x5, 0xcfd, 0x6, 0x0, 0x1, 0x60ec8e50, '\x00', 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x2}, 0x48) pipe(0x0) bpf$BPF_GET_MAP_INFO(0xf, &(0x7f0000000600)={0xffffffffffffffff, 0x58, &(0x7f0000000580)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ""/16, 0x0}}, 0x10) connect$packet(0xffffffffffffffff, &(0x7f0000000640)={0x11, 0x7, r4, 0x1, 0xff, 0x6, @broadcast}, 0x14) kcmp$KCMP_EPOLL_TFD(r0, r1, 0x7, 0xffffffffffffffff, &(0x7f0000000380)={0xffffffffffffffff, r3, 0x6}) r5 = epoll_create(0x5) epoll_ctl$EPOLL_CTL_DEL(r5, 0x2, 0xffffffffffffffff) 07:43:58 executing program 5: r0 = syz_clone(0x4000000, &(0x7f0000000100)="8883693cf123787c3b87b9c52f15eef28d8468b503d47d802df1870d414209d1cf436eb7f7b46fbbb2abcce2921082dce3b83b70a31ed3d9237f1532c7027d72608d99721764eac045a75cd36f45b7a038d206fb16b916ca23dbaef371babb9a775ab29e3b3bc8b62fb8eaa04b39e9ef47008d71f516590d9b51cb418c2bfb374ba3c50d39d26714ecd077aedf4fb375f5b360f4504f32d8f66a7fba0c1d7a0be24b7a61", 0xa4, 0x0, &(0x7f0000000200), 0x0) r1 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) kcmp$KCMP_EPOLL_TFD(r1, 0x0, 0x7, 0xffffffffffffffff, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_ipv4_tunnel_SIOCDELTUNNEL(r2, 0x89f2, &(0x7f0000000540)={'gretap0\x00', 0x0}) socket$nl_xfrm(0x10, 0x3, 0x6) r3 = bpf$MAP_CREATE(0x0, &(0x7f0000000300)=@base={0x10, 0x5, 0xcfd, 0x6, 0x0, 0x1, 0x60ec8e50, '\x00', 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x2}, 0x48) pipe(0x0) bpf$BPF_GET_MAP_INFO(0xf, &(0x7f0000000600)={0xffffffffffffffff, 0x58, &(0x7f0000000580)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ""/16, 0x0}}, 0x10) connect$packet(0xffffffffffffffff, &(0x7f0000000640)={0x11, 0x7, r4, 0x1, 0xff, 0x6, @broadcast}, 0x14) kcmp$KCMP_EPOLL_TFD(r0, r1, 0x7, 0xffffffffffffffff, &(0x7f0000000380)={0xffffffffffffffff, r3, 0x6}) r5 = epoll_create(0x5) epoll_ctl$EPOLL_CTL_DEL(r5, 0x2, 0xffffffffffffffff) 07:43:58 executing program 4: r0 = syz_clone(0x9000, 0x0, 0x0, &(0x7f0000000040), 0x0, 0x0) r1 = msgget$private(0x0, 0x0) msgctl$IPC_RMID(r1, 0x0) syz_clone(0x4080a080, &(0x7f0000000080)="8db51dee614f963858d9028a59e44a7424d16fa3dbcc7a61cd65e543167ae30a8cc00cabd6cfac5ed48ed1e090ed1b45ebae3e89f86941afc65a60ec1a86310591aab1a2ba", 0x45, &(0x7f0000000100), &(0x7f0000000140), &(0x7f0000000180)="d123a2d2") ioctl$sock_SIOCGPGRP(0xffffffffffffffff, 0x8904, &(0x7f00000001c0)) getpgrp(r0) 07:43:58 executing program 2: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) syz_genetlink_get_family_id$ieee802154(&(0x7f00000001c0), r0) 07:43:59 executing program 5: open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) pipe2$9p(&(0x7f0000000040)={0xffffffffffffffff}, 0x0) r1 = socket$inet6(0xa, 0x40000080806, 0x0) setsockopt$sock_int(r1, 0x1, 0x2e, &(0x7f0000000100)=0x6, 0x4) mount$9p_fd(0x0, &(0x7f00000000c0)='./bus\x00', &(0x7f0000000180), 0x0, &(0x7f00000001c0)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}}) 07:43:59 executing program 3: r0 = socket$pppl2tp(0x18, 0x1, 0x1) r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000180), 0xffffffffffffffff) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000080)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_NEW_INTERFACE(r1, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000600)={0x3c, r2, 0x1, 0x0, 0x0, {{}, {@void, @val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_SOCKET_OWNER={0x4}, @NL80211_ATTR_IFNAME={0x14, 0x4, 'veth0\x00'}, @NL80211_ATTR_IFTYPE={0x8, 0x5, 0xa}]}, 0x3c}}, 0x0) 07:43:59 executing program 2: syz_mount_image$squashfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)='hsqs', 0x4}], 0x0, &(0x7f0000010400)) 07:43:59 executing program 0: bpf$MAP_CREATE(0x500000000000000, &(0x7f0000000340)=@base={0x5, 0x3, 0x3001, 0x78, 0x0, 0xffffffffffffffff, 0x0, '\x00', 0x0, 0xffffffffffffffff, 0x0, 0x2}, 0x48) 07:43:59 executing program 2: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$sock_int(r0, 0x1, 0x28, &(0x7f0000000280)=0x5, 0x4) r1 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r1, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x16) connect$inet(r1, &(0x7f0000000480)={0x2, 0x0, @multicast1}, 0x10) sendmmsg(r1, &(0x7f0000007fc0), 0x800001d, 0x0) ioctl$USBDEVFS_IOCTL(0xffffffffffffffff, 0xc0105512, &(0x7f0000000040)=@usbdevfs_connect={0x0, 0x5517, 0x48000000}) ioctl$USBDEVFS_IOCTL(0xffffffffffffffff, 0x8108551b, 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, 0x0) syz_open_dev$usbfs(0x0, 0x77, 0x0) 07:44:09 executing program 1: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000080)={0x26, 'hash\x00', 0x0, 0x0, 'cbcmac(aes-generic)\x00'}, 0x58) setsockopt$ALG_SET_KEY(r0, 0x117, 0x1, &(0x7f0000000280)="7ebf492e449871db3c9bc91365fcb411e7", 0x11) 07:44:09 executing program 5: r0 = openat$capi20(0xffffffffffffff9c, &(0x7f0000000480), 0x0, 0x0) ioctl$CAPI_SET_FLAGS(r0, 0x80044325, 0x0) 07:44:09 executing program 3: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = syz_open_dev$sg(&(0x7f0000000000), 0x0, 0x0) ioctl$SG_IO(r0, 0x2285, &(0x7f00000016c0)={0x53, 0x0, 0x6, 0x0, @scatter={0x0, 0x0, 0x0}, &(0x7f0000001600)="141fb4d7d213", 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0}) 07:44:09 executing program 0: bpf$MAP_CREATE(0x500000000000000, &(0x7f0000000340)=@base={0x5, 0x3, 0x3001, 0x78, 0x0, 0xffffffffffffffff, 0x0, '\x00', 0x0, 0xffffffffffffffff, 0x0, 0x2}, 0x48) 07:44:09 executing program 4: r0 = syz_clone(0x9000, 0x0, 0x0, &(0x7f0000000040), 0x0, 0x0) r1 = msgget$private(0x0, 0x0) msgctl$IPC_RMID(r1, 0x0) syz_clone(0x4080a080, &(0x7f0000000080)="8db51dee614f963858d9028a59e44a7424d16fa3dbcc7a61cd65e543167ae30a8cc00cabd6cfac5ed48ed1e090ed1b45ebae3e89f86941afc65a60ec1a86310591aab1a2ba", 0x45, &(0x7f0000000100), &(0x7f0000000140), &(0x7f0000000180)="d123a2d2") ioctl$sock_SIOCGPGRP(0xffffffffffffffff, 0x8904, &(0x7f00000001c0)) getpgrp(r0) 07:44:09 executing program 2: seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000000080)={0x2, &(0x7f0000000000)=[{}, {0x1f}]}) 07:44:09 executing program 2: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) r1 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8933, &(0x7f0000000240)={'wlan1\x00', 0x0}) r3 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000140), 0xffffffffffffffff) sendmsg$NL80211_CMD_FRAME(0xffffffffffffffff, &(0x7f0000001280)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000040)=ANY=[@ANYBLOB="6a040000", @ANYRES16=r3, @ANYBLOB="01edff000000000004003b1c210008000300", @ANYRES32=r2, @ANYBLOB="2c0433005000de295b3acba52ee4080211000001505050505050"], 0x448}}, 0x0) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2000003, 0x11, r0, 0x0) r4 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0xb00000000065808, 0x0) r5 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$BTRFS_IOC_RM_DEV(0xffffffffffffffff, 0x5000940b, &(0x7f0000000280)={{r5}, "683536a252d9b39701a33247ab5dff42cfafcbe66a3f310e0f14fe851ddbeb385b9a0ce1cbfe2895e547f3ab86db90759c2e64d25463f083cc2e500d0cf9ea164e493389f61784264c29d8ce8a69c9745fe7c77c7649e7563c887bf8610a86a304783a089d941a7727e68b1530201ad061df7e3c4e505aebc61573b92fff3d415f1f812cefe1625e87b43928b74a1ae4c2b5bbf2b579faba0aa6aafd0e8db9a14fc5ac65dcf7b12c92b1ad1142533224e84c596d5ac1d3fa2f283aa7ebdd98350cc1814f5c1677ed2d8b2486224134620172a1f4a257d0336950e236b4ba57ec6e44efea5b48f600bcf61ae4087a0d9cedf51f3ced915be867cf1185c1f63e57757bcea260cee192c94b39789f6b85d0c01b13fc2759d74dc9aa9f4a6779af9838cc3ab89ee3b7f7fe36fe4fb0c7798aee45fb4dec000c8e50dd8e5257de3b75a776b2e30d26558d1e0f99787be1fa2845faf9437ec37b931e6fe0daa7f6bf64aaad3ca2644c8cef66436b7342beb8e26872dac0880292b6d79fe01af86ccb0de465f6b7bc6d05b80c021652fcceefc451fd67eb02ead8c4fe8e57d7f597bd5cc6c6488a5326512fe0d7eb7d9d0db4bcdf875a0336299539edbabaf045f512c012d664652ff70fc65eb380842517946b7a2a100f70bfef13f7f18f993cdcbe31eab5ff74653ce571ad718cc5d156b93fe53b855c529297a74b554f7d03400a0834cfc66f24c122f716fe99651ae187cab85dbdd3e0fc66f2af735f21d5d1119bc7e6c8ca63ab8e64f1d0b3b87a1d3c2229c6214eac92bbeed3078bd9d61e710ebf45d4712a844bcbf9051f991174ed9000cbb87f523642ded39fcf94a2a834625e7c9c4b1d325b7d3651b68c37a6398f137594a6e2965b9c0465c8894f2df7147d7553a5bfb09878fdcb4a66f589e1673b49374b1aacf1d1e75c0f234ce7e43e0e84875e02871024eed75de240be0c1c448e43bfd33a7d8db75cd04d8724b0b934198ff79751a1bd1f78cfea1060c674a09112b2b689e2d5dbd26caf846359f38bfc56fff1d21e76c8301946e357c181e6a5a7b5ed5ff7f017576e9a528af8090492a1625404be2958f96792d03565f2548d3d2030f7bb512050a68443b316948b39ac1ae957ea937ed4fa82630a34120e69da6b2133def8b4d4076873d109aa6618b07d97a39378e5eeeb9354e3bb5f04de82c103856db39a0b8be18f50cb620cce6d184d34c90b2a0d176e002879f47d7179c3a5f4802428d69b1e06e73f715c4e2d32899a8d59d202b57850c9b7e65978c240a5cb3fe8568b1ea14531fe89deed2c4571703a0fe081d58b04460f2a3807c705227e1a2f94cfb105d9ff23b6ca8031a80c602ae4d122d0130c4007192c0eda18f92a07785c0093c857db6daad99648ce1fbb42efd8f125697e7427aaf1f2e759eac9971d0520080fdea1b487482f2ffadb3e8ed7c803d40ca70747d7905f95d88be93dace413e9ad87e3f678c9b8f36c173fbd1a04a0d5cb9cd71e91be9c491ddad96be1850d6d375e213b1ec80ede40a707a58b6a4199d8be2c11eee6ec75030f2e4adfcd346beed45febef2fca4da682257d83b23471a5c2171a83c0c9a24e14b427797f892fed4012c440da463bdc6f345872f5db8e163b420968387e9cd9c5458861605ddc8b97c2d8772c2deaedc4f09638ee75252f1532c1ff54966c7e7cb44e0dafaf15773438a86da7d453e5387efb51804a5be9ac128f372c5e27143e67fc2e499aab1f400454848e7fb399c891a20544a76689513843a8f411e1637b118d2a4ce815715063b2352e7850eae1fbee86f5630248ceeabef9168cee033559cc463399505c3157c07cf120562c292ca75d24b3fdf90d4d579609dc6baaf6fa1599ed7150592ef5cbaa8d159c3beff95033129f54518e20a322c36fc3cb9f9ff7bce3d9dbec63b6361681874ec907ce58a3d835c73b243a52407d6cea7e9e3e779dd458b8b559d8aba5bc6de48ba6fe48a54d790c92f77425d2aab5b25d104e2d0d46fc4301e745ed7081e8fb337c59bd6e4f4cf1306f5221dc56aeefed7331a430447956b480e195cdcdc2aebab346c0781bc71e16a0ad2d26df2098f8d9b8a223271b6961d0eb84eb855991b1aeccc1ce30ff13fce9f8eaaefd51c05864087af8916249acba50c22196205753d3b5206eab217319b7608eea3df67e7368fb2b8255a768db48f1a0897a4735fb635f3d9e6803ac5d9d3970ec8bcc38505730a5045db77c55d57bf8312d52ab8b6538eaed8b12dacecd56a0bc9c756e8604871656541aae32f243a7ec51f3699f0a2e76c0c0b8e683f3ab8ec675165fd9b2447a3cb6c1e24e1e1bb21bf971d802be5b597b3ea924548c786a6a41068abe6511e0cdb2bbb16bb43392ede088f55964b5da974ee0d5022ef934d35df6eb0a62c7388ba2bb3bc6905a4250a7a3557213f0b55664b51f18cc9a6456976f11c36fdabf40024bb45f2864ee086d1afd072c322a98ffb631a5a4da53bc69223356f6372e222c0c8aaabec16f17dce73e8449fb41686eb6925ede7c4f17b7029fd30821c3d01ec199a85260ce35bf90dbb6f1634dabcdb19014eed728cce7a15b7462608e87381423ed61f2beff6c3f6500e2f936e9abc440cd8e1924ec420fb5269cf36336d6a0832b32808ccf35ed5f5082f30e0bb956637c1cb13cbe7840f69ff8d774aa59111518dab42780e7cc4388065aa19ff0b4bbf09c75b2bcf8641bcefdd3f546ec8e02534a5822f77fde417ab7b645f36c070d3f8b5855555ca35495f85c72bd712acc38b9650fb55aabbff3d9ba6b10c069f66000e29bbfbc9222f3b08a8e89ae1d6a78f1784021c37bfbb7c2b77f0dba0eddacd34d3698be1f770d55593f719442b819ea914bd5a56456b0afb4a57e6e1e3df9fddf9dc6c5cbd4b1b6ed2c85e2c46b1240744a1cda66bd521ac89adf973cd739557f87ad565788b56e948774c7361261ff72c3ae2679530a40232fbf874b100ce54ca0bb502c98ca095cf2c74bf470fb1d503aba0d9a6388dcbd610e5749b93b8cc06ac9c5b360c74bad7663b22132ac6ebd3ab605ad3b5aff3675ddae056eb2514ba1b34c1f1c9ab9ab5eff576c09916b94a7df0ea3ef8107e7c18059c75dd0aaea15bf6dee654602ce0c990e1a39ff823344a649c6425fc36f1c337557adc0e4472c85ccb985723753f722d2a2b8157bb3fe94319594e04e0905cc33d372f7f05be282274e3a61c9a38432c96b7a92df663a1721b479dcc32ff18e516945e7131f64a8cb916fb878e83f4839aae5cd543f30456a1a3de7a26b43913a01dc37ada4cae28ceb292d2dd9089d2a4c9cff9d4488f4c7535fb5e7992c862bf9dcb73c532e2cd05acf49416f455ccc12f6cecd55637ca28fb1e2c64ac5607dde534f786c68f2bdac6e6baaa08d7fd0f0f10b9b5af62a59a16a522b9959431443362083968a225861219ebb8dbeadf2d1f2cfa40f4b0ef2b220fe94ef9509c4983a98aa8f80eaeec4ca8b746a1d9720ddf38f5036b94aadcc3fe73a10dac6f0719756b1bff1bde73f653b36381975448a6f88750cc8135110418cccd9f2e7d78e92548b2d70f6f84c6392b44350f25b3527bc501253626069c8f1170e96f13ad6aa05eb34bc97ba7549713836ed62b81ea2fe4c23d5bf548b844873e4f9ffb22f0ae5b0efffedd78c0dee7231f5f2aea579ceafedc68d5d88a2ece4ade7c2ab08f86f4dd3dd46133f61b40f270ac0c9e313c6488728d390260a7ffee7edb47b090cf3ae6b1b2948774068cff2cfa724e8f093c3c28942587bff8833457f24bca729478b22074c81e257d9e6b20e207a27a535934745b09bab6b62c2ea4d45f902ddd81c45ca9b3b8b7d295b86b6e0fd349357e8e4498d84514da748d57975e1da187f4fbbff7ffe0e938a95b0738de7221d0613eb75f66a239a6572ac16c77bb23dc1d416bf14326eaafa372bd94a54e11ffde8320c7f9ae8cd6a7975c4aabab806d1a765d1c151c5b0cac024a7a40c73d62d382fdb055efdd40de1546963ba66de864678a8a178dafdbb9b6a06cca26a458599ae8330826b6d5cf877fd28c6219d6a2a9270eddb97ea6b8f69e0b02d269bd8d588ebfefb8c1c24e400b65c2a0eca26e6ad30f464ffdf83673d2f265e60d76033dfb08644855ee3d413830aa801209d378ea4162d81a82d623ce2a97058a7c78c1417cf9fe1973e721238391956dee189c173150b6af5add208471957f0d1ab2e7fc26d2aec6d437420e734bf50840bc450d7073af2bdf847d6544965d3e6b4d945e558216860be24eef388d01e43a19d9e0dcd588cc155f2305a08996e82e2d01f25b2c6536c3ee9cc349de28e79ca8d691cfb43647342d5970de587ad48560760b07f8d90adeada9aea9716a3ca87ec2aecc345c3390b46fbcaadee29ee54930e8bfab1ba67ca958e52de5a34bfd0b20aa47c7de6fd21a0496a595eeddeed7c7ef4d157a489027a255b1a87d82b860c9120a57445fe545ad1636e7acd0d1649bc6c857fe9485267613de1566846875032cc87125274d114c90632b022d0d08bfd1c029fd06e8dda49fe8eb269c8f59b695a2a0e0095a7667dd3021d2c1d2768b295043c15eaf394bfbcc22364e380174aa90ae46b543d3643c70b1dafe447ce4e922f823a7bf03dc6fa11f18f1a72d7e092673a78414671320f6eb07554d6e8e24fa878c4ef84404076530a76469e279bba603d437cc7c5a0ad32d276e562afd7f7a04d910bbc174e0ceec0a02d971206e0ae8d211b439b4e27d2ba33a9de72622057e6df28abb75cc2455f2beac26a5222bd685cb49ef66fd8a6bf7a32a702bf893e644a51779665f3251164be85524e3f4696086e492622ca678e5d0664b6e8977ea34953dfa9c3341dd45953548ef25ee5607da5e4bd6e2ddf4c9beedf36d4634ff37fae6c4912f2cc544d8cfa62fbebf899893cfdf7bafa2cb44d419e7e866856b72a257aa71cd9fd11e75303d499a7fa041b995230c3e61b22fac4165fc8d0ed90434f2850ba4e700d3d4d1cd67264c0b12a67dd2d20706b699956a786eeaf3248d2b7b458aa6c29c48f56dd985cf75a136d71c18c8759ce43dc22751de908e54caa87f0e8acd46c835682aab286de32930b8953936c9871c1a65406ddf75f0117eddf3f328ed7f7f0fdd5467c802f79e4a8351bdc12645bb3e10dbbe18f05e911d59b9e6b2a0cbb353944bf111ebbcda3d88c260ea34a7bd25abbc6e602cdccd744f349e310b9e00a58e5f28ea2abdc41dd5499db73702247c3ade7621aec109fc7483a72104c88130b6ca1e9db51e035f1a04fb5b36b50ba323a097857cc439c238bb62352d58105e0d44e309e2cdd9bb57f7f4c0b8b53ca1efe9cc0411e27e34c6e00b36ea53d84688215492b50e33f041463f257edff93dd0dd81af27504911fb842272cae23d5318ef111e118be33de791d312bac8956e1b6bf902e603470fd61058049497c32275c3abfc6f3ec50a1e7bd34b0b8f11c679e50f845b5606d0ffcc7198e7d8900dc192be7705f9a795933507241fc876d44d4be29cb28a83dd32c765b52666fd2fa8034569cf0422d8d9c603e195dde311a9bf49709bf095eaf95a4751a920a1b00f2cdccc6b15bedf2878e980ae27414b4365754affa92bc6a880cf69db8d04e3285173985d8546c54663ea94bb60c0246b36e617319b52b866937b4a9d87db578b78d57b89d634c0b6cb2d8edb963df0b448a36c71ccf26ee952843802860ac1e728d8e1e267fa488302c6ee04df1"}) sendfile(r5, r4, 0x0, 0x10000a006) 07:44:09 executing program 5: r0 = openat$dsp1(0xffffffffffffff9c, &(0x7f00000000c0), 0x109801, 0x0) ioctl$SNDCTL_DSP_SUBDIVIDE(r0, 0xc0045009, &(0x7f0000000000)=0x1) ioctl$SNDCTL_DSP_SUBDIVIDE(r0, 0xc0045009, &(0x7f0000000040)=0x5de2) 07:44:09 executing program 3: r0 = add_key$fscrypt_v1(&(0x7f0000000480), &(0x7f00000004c0)={'fscrypt:', @desc1}, &(0x7f0000000500)={0x0, "2667d2a3806119962991704f03860bd9ba4255b918803606dba5bf260abd72d8efddb757b99f984d59d7f36e43bbe875aaff3d2f46670433d1ae57ccd7158b4d"}, 0x48, 0xffffffffffffffff) pipe2$watch_queue(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}, 0x80) r3 = add_key$fscrypt_v1(&(0x7f0000000480), &(0x7f00000004c0)={'fscrypt:', @desc1}, &(0x7f0000000500)={0x0, "2667d2a3806119962991704f03860bd9ba4255b918803606dba5bf260abd72d8efddb757b99f984d59d7f36e43bbe875aaff3d2f46670433d1ae57ccd7158b4d"}, 0x48, 0xffffffffffffffff) keyctl$KEYCTL_WATCH_KEY(0x20, r3, r1, 0x0) keyctl$KEYCTL_WATCH_KEY(0x20, r0, r2, 0x0) 07:44:09 executing program 3: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cpuacct.stat\x00', 0x275a, 0x0) bpf$BPF_PROG_ATTACH(0x8, &(0x7f0000000080)={@cgroup=r0}, 0x14) write$cgroup_subtree(r0, &(0x7f0000000080)=ANY=[], 0xb6) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r0, 0x0) r1 = socket$inet_mptcp(0x2, 0x1, 0x106) getsockopt$bt_hci(r1, 0x6, 0x3, 0x0, &(0x7f0000000000)) 07:44:09 executing program 5: r0 = syz_open_dev$media(&(0x7f0000000400), 0x0, 0x0) io_setup(0x2, &(0x7f0000000080)=0x0) io_submit(r1, 0x1, &(0x7f0000000740)=[&(0x7f0000000140)={0x0, 0x0, 0x0, 0x5, 0x0, r0, 0x0}]) 07:44:09 executing program 0: bpf$MAP_CREATE(0x500000000000000, &(0x7f0000000340)=@base={0x5, 0x3, 0x3001, 0x78, 0x0, 0xffffffffffffffff, 0x0, '\x00', 0x0, 0xffffffffffffffff, 0x0, 0x2}, 0x48) [ 1766.440387][ T27] audit: type=1804 audit(1653119049.474:36880): pid=20194 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.2" name="/root/syzkaller-testdir3052767411/syzkaller.B9bzMG/1092/cgroup.controllers" dev="sda1" ino=1184 res=1 errno=0 [ 1766.502448][T20194] netlink: 34 bytes leftover after parsing attributes in process `syz-executor.2'. 07:44:17 executing program 5: unshare(0x60600) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_CLOCK(r1, 0x4008ae48, &(0x7f0000000040)) 07:44:17 executing program 3: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x3, 0x4, &(0x7f0000000000)=@framed={{}, [@ldst={0x1, 0x2, 0x3, 0x0, 0x1, 0x8c}]}, &(0x7f0000000080)='syzkaller\x00', 0x4, 0x98, &(0x7f00000000c0)=""/152, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 07:44:17 executing program 0: r0 = syz_open_procfs(0x0, &(0x7f0000000040)='fdinfo\x00') getdents(r0, &(0x7f0000000100)=""/49, 0x31) getdents64(r0, 0x0, 0x18) 07:44:17 executing program 4: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$TCSETS(r0, 0x40045431, &(0x7f0000000000)={0x0, 0x0, 0x0, 0x0, 0x0, "0000000000000000000000000000001d00"}) r1 = syz_open_pts(r0, 0x0) ioctl$TCSETS(r1, 0x80045440, &(0x7f00000000c0)={0x0, 0x0, 0x0, 0x0, 0x0, "81b94e8936f5ca93ebc8751a1efb32c486562b"}) 07:44:17 executing program 2: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000001c0)={0x2, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000040)='GPL\x00', 0x5, 0xb5, &(0x7f0000000080)=""/181, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000140)={r0}, 0x10) 07:44:17 executing program 1: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$sock_ipv6_tunnel_SIOCDELTUNNEL(r0, 0x8923, &(0x7f00000006c0)={'ip6tnl0\x00', 0x0}) 07:44:17 executing program 4: syz_open_dev$vim2m(&(0x7f0000000080), 0x1, 0x2) 07:44:17 executing program 5: syz_clone(0x1082000, 0x0, 0x0, 0x0, 0x0, 0x0) 07:44:17 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) seccomp$SECCOMP_SET_MODE_FILTER(0x1, 0x0, &(0x7f0000000040)={0x1, &(0x7f0000000080)=[{0x6}]}) 07:44:17 executing program 2: r0 = syz_open_dev$sndctrl(&(0x7f0000000000), 0x200000000000000, 0x0) ioctl$SNDRV_CTL_IOCTL_ELEM_WRITE(r0, 0xc0405519, &(0x7f0000000040)) 07:44:17 executing program 3: r0 = syz_open_dev$usbfs(&(0x7f0000000040), 0x77, 0x141201) ioctl$USBDEVFS_FREE_STREAMS(r0, 0x802c550a, &(0x7f0000000000)=ANY=[@ANYBLOB="0200200c030018000500000002000020d3"]) 07:44:17 executing program 4: setitimer(0x0, &(0x7f0000000040)={{}, {0x77359400}}, 0x0) r0 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r1 = pidfd_open(r0, 0x0) pidfd_send_signal(r1, 0x0, &(0x7f0000000000)={0x0, 0x0, 0x80000001}, 0x0) [ 1774.322853][T20225] usb usb9: Requested nonsensical USBDEVFS_URB_SHORT_NOT_OK. [ 1774.377052][T20225] vhci_hcd: invalid port number 24 [ 1774.387493][ T27] audit: type=1326 audit(1653119057.817:36881): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=_ pid=20215 comm="syz-executor.0" exe="/root/syz-executor.0" sig=31 arch=c000003e syscall=202 compat=0 ip=0x7f5c7dc890e9 code=0x0 [ 1774.503334][T20225] vhci_hcd: SetHubDepth req not supported for USB 2.0 roothub 07:44:18 executing program 2: r0 = openat$kvm(0xffffff9c, &(0x7f0000000100), 0x0, 0x0) ioctl$KVM_CREATE_VM(r0, 0xae03, 0xbb) 07:44:18 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) socketpair(0x1, 0x20000000000001, 0x0, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000080)=0xa) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000580)=ANY=[@ANYBLOB="4400000024001d0f00"/20, @ANYRES32=r3, @ANYBLOB="00008100f1ffffff00000000090001006866736300000000140002"], 0x44}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000007c0)=@delchain={0x48, 0x28, 0xf31, 0x0, 0x0, {0x0, 0x0, 0xa, r3, {}, {0x0, 0xffff}}, [@filter_kind_options=@f_rsvp6={{0xa}, {0x18, 0x2, [@TCA_RSVP_SRC={0x14, 0x3, @loopback}]}}]}, 0x48}}, 0x0) 07:44:18 executing program 3: r0 = syz_open_dev$usbfs(&(0x7f0000000040), 0x77, 0x141201) ioctl$USBDEVFS_FREE_STREAMS(r0, 0x802c550a, &(0x7f0000000000)=ANY=[@ANYBLOB="0200200c030018000500000002000020d3"]) 07:44:18 executing program 0: r0 = syz_open_dev$usbfs(&(0x7f0000000040), 0x77, 0x141201) ioctl$USBDEVFS_FREE_STREAMS(r0, 0x802c550a, &(0x7f0000000000)=ANY=[@ANYBLOB="0200200c030018000500000002000020d3"]) 07:44:18 executing program 4: setitimer(0x0, &(0x7f0000000040)={{}, {0x77359400}}, 0x0) r0 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r1 = pidfd_open(r0, 0x0) pidfd_send_signal(r1, 0x0, &(0x7f0000000000)={0x0, 0x0, 0x80000001}, 0x0) [ 1775.114781][T20236] usb usb9: Requested nonsensical USBDEVFS_URB_SHORT_NOT_OK. [ 1775.122592][T20236] vhci_hcd: invalid port number 24 [ 1775.127964][T20236] vhci_hcd: SetHubDepth req not supported for USB 2.0 roothub [ 1775.162038][T20240] usb usb9: Requested nonsensical USBDEVFS_URB_SHORT_NOT_OK. [ 1775.170350][T20240] vhci_hcd: invalid port number 24 [ 1775.175585][T20240] vhci_hcd: SetHubDepth req not supported for USB 2.0 roothub 07:44:31 executing program 1: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) bind$inet6(r0, &(0x7f00004b8fe4)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) sendto$inet6(r0, &(0x7f0000847fff)='X', 0xfe11, 0x0, &(0x7f000005ffe4)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r1 = socket$inet6_sctp(0xa, 0x5, 0x84) shutdown(r1, 0x0) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r1, 0x84, 0x6f, &(0x7f0000000000)={0x0, 0x10, &(0x7f0000000180)=[@in={0x2, 0x0, @initdev={0xac, 0x1e, 0x0, 0x0}}]}, &(0x7f0000000080)=0x10) r2 = socket$inet(0x2, 0x80001, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r2, 0x84, 0x14, &(0x7f0000000000)=@assoc_value={0x0}, &(0x7f0000000040)=0x8) getsockopt$inet_sctp6_SCTP_GET_LOCAL_ADDRS(r0, 0x84, 0x6d, &(0x7f0000000180)={r3, 0x1c, "e582f863bc0a33ec58b117f572a2e01a1615abd07e412aeaa31f7b35"}, &(0x7f0000000280)=0x24) 07:44:31 executing program 3: r0 = syz_open_dev$usbfs(&(0x7f0000000040), 0x77, 0x141201) ioctl$USBDEVFS_FREE_STREAMS(r0, 0x802c550a, &(0x7f0000000000)=ANY=[@ANYBLOB="0200200c030018000500000002000020d3"]) 07:44:31 executing program 2: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) r0 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000040), 0x41, 0x0) r1 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000100)='/proc/timer_list\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0x20000000d67) 07:44:31 executing program 0: r0 = syz_open_dev$usbfs(&(0x7f0000000040), 0x77, 0x141201) ioctl$USBDEVFS_FREE_STREAMS(r0, 0x802c550a, &(0x7f0000000000)=ANY=[@ANYBLOB="0200200c030018000500000002000020d3"]) 07:44:31 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) socketpair(0x1, 0x20000000000001, 0x0, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000080)=0xa) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000580)=ANY=[@ANYBLOB="4400000024001d0f00"/20, @ANYRES32=r3, @ANYBLOB="00008100f1ffffff00000000090001006866736300000000140002"], 0x44}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000007c0)=@delchain={0x48, 0x28, 0xf31, 0x0, 0x0, {0x0, 0x0, 0xa, r3, {}, {0x0, 0xffff}}, [@filter_kind_options=@f_rsvp6={{0xa}, {0x18, 0x2, [@TCA_RSVP_SRC={0x14, 0x3, @loopback}]}}]}, 0x48}}, 0x0) 07:44:31 executing program 4: setitimer(0x0, &(0x7f0000000040)={{}, {0x77359400}}, 0x0) r0 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r1 = pidfd_open(r0, 0x0) pidfd_send_signal(r1, 0x0, &(0x7f0000000000)={0x0, 0x0, 0x80000001}, 0x0) 07:44:31 executing program 2: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = getpid() sched_setscheduler(r3, 0x2, &(0x7f0000000100)=0x4) fstat(r2, &(0x7f00000029c0)) r4 = openat$kvm(0xffffffffffffff9c, &(0x7f0000006280), 0x0, 0x0) r5 = ioctl$KVM_CREATE_VM(r4, 0xae01, 0x0) syz_kvm_setup_cpu$x86(r5, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, &(0x7f00000000c0)=[@text32={0x20, 0x0}], 0x1, 0x0, 0x0, 0x0) r6 = ioctl$KVM_CREATE_VCPU(r5, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r5, r6, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000080)=[@text32={0x20, 0x0}], 0x1, 0x0, 0x0, 0x0) r7 = creat(&(0x7f0000000140)='./bus\x00', 0x0) syncfs(r7) 07:44:31 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) socketpair(0x1, 0x20000000000001, 0x0, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000080)=0xa) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000580)=ANY=[@ANYBLOB="4400000024001d0f00"/20, @ANYRES32=r3, @ANYBLOB="00008100f1ffffff00000000090001006866736300000000140002"], 0x44}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000007c0)=@delchain={0x48, 0x28, 0xf31, 0x0, 0x0, {0x0, 0x0, 0xa, r3, {}, {0x0, 0xffff}}, [@filter_kind_options=@f_rsvp6={{0xa}, {0x18, 0x2, [@TCA_RSVP_SRC={0x14, 0x3, @loopback}]}}]}, 0x48}}, 0x0) [ 1787.069140][T20252] usb usb9: Requested nonsensical USBDEVFS_URB_SHORT_NOT_OK. 07:44:31 executing program 4: setitimer(0x0, &(0x7f0000000040)={{}, {0x77359400}}, 0x0) r0 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r1 = pidfd_open(r0, 0x0) pidfd_send_signal(r1, 0x0, &(0x7f0000000000)={0x0, 0x0, 0x80000001}, 0x0) 07:44:31 executing program 3: r0 = syz_open_dev$usbfs(&(0x7f0000000040), 0x77, 0x141201) ioctl$USBDEVFS_FREE_STREAMS(r0, 0x802c550a, &(0x7f0000000000)=ANY=[@ANYBLOB="0200200c030018000500000002000020d3"]) [ 1787.116139][T20252] vhci_hcd: invalid port number 24 [ 1787.130514][T20252] vhci_hcd: SetHubDepth req not supported for USB 2.0 roothub 07:44:31 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) socketpair(0x1, 0x20000000000001, 0x0, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000080)=0xa) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000580)=ANY=[@ANYBLOB="4400000024001d0f00"/20, @ANYRES32=r3, @ANYBLOB="00008100f1ffffff00000000090001006866736300000000140002"], 0x44}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000007c0)=@delchain={0x48, 0x28, 0xf31, 0x0, 0x0, {0x0, 0x0, 0xa, r3, {}, {0x0, 0xffff}}, [@filter_kind_options=@f_rsvp6={{0xa}, {0x18, 0x2, [@TCA_RSVP_SRC={0x14, 0x3, @loopback}]}}]}, 0x48}}, 0x0) [ 1787.187293][T20266] usb usb9: Requested nonsensical USBDEVFS_URB_SHORT_NOT_OK. [ 1787.281619][T20266] vhci_hcd: invalid port number 24 07:44:31 executing program 0: r0 = syz_open_dev$usbfs(&(0x7f0000000040), 0x77, 0x141201) ioctl$USBDEVFS_FREE_STREAMS(r0, 0x802c550a, &(0x7f0000000000)=ANY=[@ANYBLOB="0200200c030018000500000002000020d3"]) [ 1787.415993][T20266] vhci_hcd: SetHubDepth req not supported for USB 2.0 roothub [ 1787.982982][T20274] usb usb9: Requested nonsensical USBDEVFS_URB_SHORT_NOT_OK. [ 1788.002205][T20274] vhci_hcd: invalid port number 24 [ 1788.007437][T20274] vhci_hcd: SetHubDepth req not supported for USB 2.0 roothub 07:44:37 executing program 1: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) bind$inet6(r0, &(0x7f00004b8fe4)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) sendto$inet6(r0, &(0x7f0000847fff)='X', 0xfe11, 0x0, &(0x7f000005ffe4)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r1 = socket$inet6_sctp(0xa, 0x5, 0x84) shutdown(r1, 0x0) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r1, 0x84, 0x6f, &(0x7f0000000000)={0x0, 0x10, &(0x7f0000000180)=[@in={0x2, 0x0, @initdev={0xac, 0x1e, 0x0, 0x0}}]}, &(0x7f0000000080)=0x10) r2 = socket$inet(0x2, 0x80001, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r2, 0x84, 0x14, &(0x7f0000000000)=@assoc_value={0x0}, &(0x7f0000000040)=0x8) getsockopt$inet_sctp6_SCTP_GET_LOCAL_ADDRS(r0, 0x84, 0x6d, &(0x7f0000000180)={r3, 0x1c, "e582f863bc0a33ec58b117f572a2e01a1615abd07e412aeaa31f7b35"}, &(0x7f0000000280)=0x24) 07:44:37 executing program 4: r0 = syz_init_net_socket$bt_l2cap(0x1f, 0x3, 0x0) setsockopt$bt_l2cap_L2CAP_LM(r0, 0x6, 0x3, &(0x7f0000000100)=0x5, 0x4) connect$bt_l2cap(r0, &(0x7f0000000000)={0x1f, 0x7, @any, 0x6, 0x1}, 0xe) getsockopt$bt_l2cap_L2CAP_CONNINFO(r0, 0x6, 0x2, &(0x7f0000000080), &(0x7f00000000c0)=0x6) connect$bt_l2cap(r0, &(0x7f0000000040)={0x1f, 0x0, @fixed={'\xaa\xaa\xaa\xaa\xaa', 0x10}}, 0xe) r1 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r1, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)=@getnexthop={0x20, 0x6a, 0x307, 0x0, 0x0, {}, [@NHA_MASTER={0x8, 0xa, 0x81000000}]}, 0x20}}, 0x0) 07:44:37 executing program 2: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = getpid() sched_setscheduler(r3, 0x2, &(0x7f0000000100)=0x4) fstat(r2, &(0x7f00000029c0)) r4 = openat$kvm(0xffffffffffffff9c, &(0x7f0000006280), 0x0, 0x0) r5 = ioctl$KVM_CREATE_VM(r4, 0xae01, 0x0) syz_kvm_setup_cpu$x86(r5, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, &(0x7f00000000c0)=[@text32={0x20, 0x0}], 0x1, 0x0, 0x0, 0x0) r6 = ioctl$KVM_CREATE_VCPU(r5, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r5, r6, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000080)=[@text32={0x20, 0x0}], 0x1, 0x0, 0x0, 0x0) r7 = creat(&(0x7f0000000140)='./bus\x00', 0x0) syncfs(r7) 07:44:37 executing program 5: r0 = socket(0x1, 0x1, 0x0) r1 = bpf$MAP_CREATE(0x100000000000000, &(0x7f0000000440)=@base={0x12, 0x3, 0x8, 0x6, 0x0, 0x1}, 0x48) r2 = socket(0x1, 0x1, 0x0) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000140)={r1, &(0x7f0000000000), &(0x7f0000000100)=@tcp6=r2}, 0x20) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000140)={r1, &(0x7f0000000000), &(0x7f0000000100)=@tcp6=r0, 0x1}, 0x20) 07:44:37 executing program 3: mkdir(&(0x7f0000000400)='./file1\x00', 0x0) mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000340)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f0000000540)='./bus\x00') r0 = open(&(0x7f0000000040)='./bus\x00', 0x141042, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r2) fchown(r0, 0x0, 0x0) 07:44:37 executing program 0: r0 = signalfd(0xffffffffffffffff, &(0x7f0000000900), 0x8) fcntl$getflags(r0, 0x401) 07:44:37 executing program 4: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) dup(r0) r1 = socket$inet6(0xa, 0x400000000001, 0x0) close(r1) r2 = socket$inet6_sctp(0xa, 0x801, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r2, 0x84, 0x64, &(0x7f0000cf6fe4)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) connect$inet6(r2, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r3 = open(&(0x7f0000000080)='./bus\x00', 0x141042, 0x0) setsockopt$inet_sctp6_SCTP_DEFAULT_PRINFO(r1, 0x84, 0x72, &(0x7f0000000040), 0xc) ftruncate(r3, 0x200002) sendfile(r1, r3, 0x0, 0x80001d00c0d0) 07:44:37 executing program 0: mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.cpu/syz0\x00', 0x1ff) r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) r1 = openat$cgroup_int(r0, &(0x7f0000000080)='cpuset.mems\x00', 0x2, 0x0) sendfile(r1, r1, 0x0, 0x4) 07:44:37 executing program 5: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_fanout(r0, 0x107, 0x12, &(0x7f0000000000)={0x0, 0x6}, 0x4) setsockopt$packet_fanout_data(r0, 0x107, 0x16, &(0x7f0000000100)={0x2, &(0x7f00000000c0)=[{0x28, 0x0, 0x0, 0x783}, {0x6}]}, 0x10) r1 = bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0xc, 0xe, &(0x7f0000000540)=ANY=[@ANYBLOB="b702000003000000bfa30000000000000703000000feffff7a0af0fff8ffffff79a4f0ff00000000b7060000ffffffff2d640500000000006504040001001f000404000001007d60b7030000000000006a0a00fe00000000850000000d000000b7000000000000009500002000000000c74396c8e3ebbadc20e5a7625ecffe7ba8337249fe564e0b9cc7553358380b3a1f59916ffc9bf0bdf81509f07fb2819bf5774fedda52e39c90fcffffffffffffff6b4673b4e8d5467e114604ea09b290a248a120c9c6e69f403ff0e80677eeba68562eaeae2bcd87cef9000000a39ca7ef365cc27dfeac7bb40e9048517354b0ca4f9c84b619e40af8b59ee6fa003fe1f2c4c15f20a07db4583a462d8be6602186fd68ee14a19e9b5381791cbf0ceb42122b8635a66ce6b5b92356081bc0f18a0ca83dbc08c2daeb060000000000009813c1efa26001020086eb6954871b4344faae85c4d0b96778478ae5355e6f923b1105696904fa93fa915ab8e1e0d7f31ebd19455e6827cd493907bf9d00000000000039d085b47e4b834a401e8b444208a680a929eb7b396e5f9950cdcbcf59957ffb034cdbeb28ac4acbf6090a83664bf03b8db948b4f38d417296742f6177cc9277a11a1c462c70bc561e95a32578e242383e3ab31a0dd41542c9225cd6a33d0ce72590a972f77240dd04319ea26a1ab09b024fdc8ba07fcd606eee9177ea47cfb731b5325754cee028e2a680a9262f8704c37d5f220044e580dcabb1c87f189131b61e1b66b67f13ab8faf740af6008d425fb7e21acbcf30eb8f830ffa20"], &(0x7f0000000340)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x2ca}, 0x48) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000080)={r1, 0x18000000000002a0, 0x2f9, 0x304, &(0x7f0000000040)="b90103600040f000009e0ff008001fffffe100004003632177fbac141414e0000001be3e7d2a182fff", 0x0, 0x104, 0x6000000000000000, 0x0, 0xfeb9, &(0x7f0000000400)="9209558f0c5fb25cd57f98113135c3171b8b331fbc04f0e6955a796ff8e3aae3cac46cec3030dfc999058aea01f0e6dcf2f9d480d328655aca003927bd50ed49d4843c8a0a2a4b26ceb747947200bd644c85e7a8a7d7cfce840c02a7d69c9e0bca410f64d43290abbbf3131e1fa8bd8c3e5f19d5a491d3d4c1a0fe47de9eebaf073ac3da6256bdb681d18fbd607c9b0d710442bcf78bc36fd3c035812bde582a262bff0e4d6181c818fccf542868c6e602d97bea23a101955dc76bcc984142ab305387aa348566d688edd291a3e9d08952adbdf60462bb7f7faebcdfccf17115708b0d73d0f3a469ce7d8374219b3f92c92bcec4958d474bb281c26691949d054b784a5866f081e53eb9cfd7"}, 0x28) 07:44:37 executing program 3: mkdir(&(0x7f0000000400)='./file1\x00', 0x0) mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000340)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f0000000540)='./bus\x00') r0 = open(&(0x7f0000000040)='./bus\x00', 0x141042, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r2) fchown(r0, 0x0, 0x0) 07:44:38 executing program 2: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = getpid() sched_setscheduler(r3, 0x2, &(0x7f0000000100)=0x4) fstat(r2, &(0x7f00000029c0)) r4 = openat$kvm(0xffffffffffffff9c, &(0x7f0000006280), 0x0, 0x0) r5 = ioctl$KVM_CREATE_VM(r4, 0xae01, 0x0) syz_kvm_setup_cpu$x86(r5, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, &(0x7f00000000c0)=[@text32={0x20, 0x0}], 0x1, 0x0, 0x0, 0x0) r6 = ioctl$KVM_CREATE_VCPU(r5, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r5, r6, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000080)=[@text32={0x20, 0x0}], 0x1, 0x0, 0x0, 0x0) r7 = creat(&(0x7f0000000140)='./bus\x00', 0x0) syncfs(r7) 07:44:38 executing program 4: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) dup(r0) r1 = socket$inet6(0xa, 0x400000000001, 0x0) close(r1) r2 = socket$inet6_sctp(0xa, 0x801, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r2, 0x84, 0x64, &(0x7f0000cf6fe4)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) connect$inet6(r2, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r3 = open(&(0x7f0000000080)='./bus\x00', 0x141042, 0x0) setsockopt$inet_sctp6_SCTP_DEFAULT_PRINFO(r1, 0x84, 0x72, &(0x7f0000000040), 0xc) ftruncate(r3, 0x200002) sendfile(r1, r3, 0x0, 0x80001d00c0d0) 07:44:47 executing program 1: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) bind$inet6(r0, &(0x7f00004b8fe4)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) sendto$inet6(r0, &(0x7f0000847fff)='X', 0xfe11, 0x0, &(0x7f000005ffe4)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r1 = socket$inet6_sctp(0xa, 0x5, 0x84) shutdown(r1, 0x0) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r1, 0x84, 0x6f, &(0x7f0000000000)={0x0, 0x10, &(0x7f0000000180)=[@in={0x2, 0x0, @initdev={0xac, 0x1e, 0x0, 0x0}}]}, &(0x7f0000000080)=0x10) r2 = socket$inet(0x2, 0x80001, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r2, 0x84, 0x14, &(0x7f0000000000)=@assoc_value={0x0}, &(0x7f0000000040)=0x8) getsockopt$inet_sctp6_SCTP_GET_LOCAL_ADDRS(r0, 0x84, 0x6d, &(0x7f0000000180)={r3, 0x1c, "e582f863bc0a33ec58b117f572a2e01a1615abd07e412aeaa31f7b35"}, &(0x7f0000000280)=0x24) 07:44:47 executing program 0: mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.cpu/syz0\x00', 0x1ff) r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) r1 = openat$cgroup_int(r0, &(0x7f0000000080)='cpuset.mems\x00', 0x2, 0x0) sendfile(r1, r1, 0x0, 0x4) 07:44:47 executing program 2: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = getpid() sched_setscheduler(r3, 0x2, &(0x7f0000000100)=0x4) fstat(r2, &(0x7f00000029c0)) r4 = openat$kvm(0xffffffffffffff9c, &(0x7f0000006280), 0x0, 0x0) r5 = ioctl$KVM_CREATE_VM(r4, 0xae01, 0x0) syz_kvm_setup_cpu$x86(r5, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, &(0x7f00000000c0)=[@text32={0x20, 0x0}], 0x1, 0x0, 0x0, 0x0) r6 = ioctl$KVM_CREATE_VCPU(r5, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r5, r6, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000080)=[@text32={0x20, 0x0}], 0x1, 0x0, 0x0, 0x0) r7 = creat(&(0x7f0000000140)='./bus\x00', 0x0) syncfs(r7) 07:44:47 executing program 5: mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.cpu/syz0\x00', 0x1ff) r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) r1 = openat$cgroup_int(r0, &(0x7f0000000080)='cpuset.mems\x00', 0x2, 0x0) sendfile(r1, r1, 0x0, 0x4) 07:44:47 executing program 4: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) dup(r0) r1 = socket$inet6(0xa, 0x400000000001, 0x0) close(r1) r2 = socket$inet6_sctp(0xa, 0x801, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r2, 0x84, 0x64, &(0x7f0000cf6fe4)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) connect$inet6(r2, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r3 = open(&(0x7f0000000080)='./bus\x00', 0x141042, 0x0) setsockopt$inet_sctp6_SCTP_DEFAULT_PRINFO(r1, 0x84, 0x72, &(0x7f0000000040), 0xc) ftruncate(r3, 0x200002) sendfile(r1, r3, 0x0, 0x80001d00c0d0) 07:44:47 executing program 3: mkdir(&(0x7f0000000400)='./file1\x00', 0x0) mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000340)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f0000000540)='./bus\x00') r0 = open(&(0x7f0000000040)='./bus\x00', 0x141042, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r2) fchown(r0, 0x0, 0x0) 07:44:48 executing program 0: mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.cpu/syz0\x00', 0x1ff) r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) r1 = openat$cgroup_int(r0, &(0x7f0000000080)='cpuset.mems\x00', 0x2, 0x0) sendfile(r1, r1, 0x0, 0x4) 07:44:48 executing program 0: mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.cpu/syz0\x00', 0x1ff) r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) r1 = openat$cgroup_int(r0, &(0x7f0000000080)='cpuset.mems\x00', 0x2, 0x0) sendfile(r1, r1, 0x0, 0x4) 07:44:48 executing program 5: mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.cpu/syz0\x00', 0x1ff) r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) r1 = openat$cgroup_int(r0, &(0x7f0000000080)='cpuset.mems\x00', 0x2, 0x0) sendfile(r1, r1, 0x0, 0x4) 07:44:48 executing program 0: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) dup(r0) r1 = socket$inet6(0xa, 0x400000000001, 0x0) close(r1) r2 = socket$inet6_sctp(0xa, 0x801, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r2, 0x84, 0x64, &(0x7f0000cf6fe4)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) connect$inet6(r2, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r3 = open(&(0x7f0000000080)='./bus\x00', 0x141042, 0x0) setsockopt$inet_sctp6_SCTP_DEFAULT_PRINFO(r1, 0x84, 0x72, &(0x7f0000000040), 0xc) ftruncate(r3, 0x200002) sendfile(r1, r3, 0x0, 0x80001d00c0d0) 07:44:48 executing program 2: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f00005e9000/0x18000)=nil, 0x0, 0x0, 0x0, 0x0, 0x0) ioctl$EVIOCGABS2F(0xffffffffffffffff, 0x8018456f, &(0x7f0000000000)=""/159) ioctl$KVM_HYPERV_EVENTFD(r1, 0x4048aec9, &(0x7f0000000180)={0x4}) 07:44:48 executing program 5: mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.cpu/syz0\x00', 0x1ff) r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) r1 = openat$cgroup_int(r0, &(0x7f0000000080)='cpuset.mems\x00', 0x2, 0x0) sendfile(r1, r1, 0x0, 0x4) [ 1813.761149][ T1228] ieee802154 phy0 wpan0: encryption failed: -22 [ 1813.767419][ T1228] ieee802154 phy1 wpan1: encryption failed: -22 07:45:03 executing program 1: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) bind$inet6(r0, &(0x7f00004b8fe4)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) sendto$inet6(r0, &(0x7f0000847fff)='X', 0xfe11, 0x0, &(0x7f000005ffe4)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r1 = socket$inet6_sctp(0xa, 0x5, 0x84) shutdown(r1, 0x0) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r1, 0x84, 0x6f, &(0x7f0000000000)={0x0, 0x10, &(0x7f0000000180)=[@in={0x2, 0x0, @initdev={0xac, 0x1e, 0x0, 0x0}}]}, &(0x7f0000000080)=0x10) r2 = socket$inet(0x2, 0x80001, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r2, 0x84, 0x14, &(0x7f0000000000)=@assoc_value={0x0}, &(0x7f0000000040)=0x8) getsockopt$inet_sctp6_SCTP_GET_LOCAL_ADDRS(r0, 0x84, 0x6d, &(0x7f0000000180)={r3, 0x1c, "e582f863bc0a33ec58b117f572a2e01a1615abd07e412aeaa31f7b35"}, &(0x7f0000000280)=0x24) 07:45:03 executing program 4: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) dup(r0) r1 = socket$inet6(0xa, 0x400000000001, 0x0) close(r1) r2 = socket$inet6_sctp(0xa, 0x801, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r2, 0x84, 0x64, &(0x7f0000cf6fe4)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) connect$inet6(r2, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r3 = open(&(0x7f0000000080)='./bus\x00', 0x141042, 0x0) setsockopt$inet_sctp6_SCTP_DEFAULT_PRINFO(r1, 0x84, 0x72, &(0x7f0000000040), 0xc) ftruncate(r3, 0x200002) sendfile(r1, r3, 0x0, 0x80001d00c0d0) 07:45:03 executing program 2: r0 = epoll_create(0x1) r1 = userfaultfd(0x1) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000080)={0xa000000c}) ioctl$UFFDIO_API(r1, 0xc018aa3f, &(0x7f0000000040)) epoll_pwait(r0, &(0x7f0000000000)=[{}], 0x1, 0x0, 0x0, 0x0) 07:45:03 executing program 3: mkdir(&(0x7f0000000400)='./file1\x00', 0x0) mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000340)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=./file0']) chdir(&(0x7f0000000540)='./bus\x00') r0 = open(&(0x7f0000000040)='./bus\x00', 0x141042, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r2) fchown(r0, 0x0, 0x0) 07:45:03 executing program 5: r0 = syz_init_net_socket$nfc_llcp(0x27, 0x3, 0x1) recvmmsg(r0, &(0x7f0000001380)=[{{0x0, 0x0, 0x0}}, {{0x0, 0x0, 0x0}}], 0x2, 0x0, 0x0) 07:45:03 executing program 0: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) dup(r0) r1 = socket$inet6(0xa, 0x400000000001, 0x0) close(r1) r2 = socket$inet6_sctp(0xa, 0x801, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r2, 0x84, 0x64, &(0x7f0000cf6fe4)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) connect$inet6(r2, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r3 = open(&(0x7f0000000080)='./bus\x00', 0x141042, 0x0) setsockopt$inet_sctp6_SCTP_DEFAULT_PRINFO(r1, 0x84, 0x72, &(0x7f0000000040), 0xc) ftruncate(r3, 0x200002) sendfile(r1, r3, 0x0, 0x80001d00c0d0) 07:45:03 executing program 2: r0 = syz_open_dev$sndpcmp(&(0x7f0000000000), 0x0, 0x0) ioctl$SNDRV_PCM_IOCTL_READN_FRAMES(r0, 0x80184153, 0x0) 07:45:03 executing program 3: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000000)={0x16, 0x4, &(0x7f0000000080)=@framed={{}, [@ldst={0x1, 0x0, 0x3, 0x0, 0x1, 0x97}]}, &(0x7f0000000140)='syzkaller\x00', 0x2, 0x8b, &(0x7f0000000180)=""/139, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 07:45:03 executing program 2: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$netlbl_cipso(&(0x7f0000000040), r0) sendmsg$NLBL_CIPSOV4_C_ADD(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000080)={0x50, r1, 0x1, 0x0, 0x0, {}, [@NLBL_CIPSOV4_A_TAGLST={0x2c, 0x4, 0x0, 0x1, [{0x4}, {0x5}, {0x5}, {0x5}, {0x5}]}, @NLBL_CIPSOV4_A_MTYPE={0x8, 0x2, 0x3}, @NLBL_CIPSOV4_A_DOI={0x8}]}, 0x50}}, 0x0) 07:45:03 executing program 5: r0 = openat$snapshot(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) ioctl$SNAPSHOT_PREF_IMAGE_SIZE(r0, 0x3312, 0x0) accept4$ax25(0xffffffffffffffff, 0x0, 0x0, 0x0) 07:45:03 executing program 2: r0 = syz_init_net_socket$802154_raw(0x24, 0x3, 0x0) clock_gettime(0x0, &(0x7f0000000900)={0x0, 0x0}) recvmmsg(r0, &(0x7f00000004c0)=[{{0x0, 0x0, &(0x7f0000000740)=[{0x0}, {0x0}, {0x0}], 0x3}}], 0x1, 0x0, &(0x7f0000000940)={0x0, r1+10000000}) 07:45:03 executing program 5: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000180)={0x26, 'hash\x00', 0x0, 0x0, 'sha1-generic\x00'}, 0x58) r1 = accept4(r0, 0x0, 0x0, 0x0) recvmmsg$unix(0xffffffffffffffff, &(0x7f0000008100)=[{{&(0x7f00000016c0), 0x6e, 0x0}}, {{&(0x7f0000001b80)=@abs, 0x6e, &(0x7f0000002100)=[{&(0x7f0000001d40)=""/229, 0xe5}, {&(0x7f0000001e40)=""/34, 0x22}], 0x2}}, {{0x0, 0x0, &(0x7f0000002440)=[{&(0x7f0000002380)=""/187, 0xbb}], 0x1, &(0x7f0000000300)=ANY=[], 0x38}}], 0x3, 0x0, 0x0) sendmmsg$alg(r1, &(0x7f0000002700)=[{0x1000000000000000, 0x0, &(0x7f00000003c0)=[{0x0}, {&(0x7f0000000140)="0272f8e661d82e2f7a19243ccd5cef7165de1e59931f71baa88f", 0x1a}, {0x0}, {&(0x7f0000002900)="c9", 0x1f700}], 0x4}], 0x7fffefe6, 0x0) 07:45:16 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000500)={0x11, 0x3, &(0x7f0000000340)=@framed, &(0x7f00000003c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 07:45:16 executing program 0: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) dup(r0) r1 = socket$inet6(0xa, 0x400000000001, 0x0) close(r1) r2 = socket$inet6_sctp(0xa, 0x801, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r2, 0x84, 0x64, &(0x7f0000cf6fe4)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) connect$inet6(r2, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r3 = open(&(0x7f0000000080)='./bus\x00', 0x141042, 0x0) setsockopt$inet_sctp6_SCTP_DEFAULT_PRINFO(r1, 0x84, 0x72, &(0x7f0000000040), 0xc) ftruncate(r3, 0x200002) sendfile(r1, r3, 0x0, 0x80001d00c0d0) 07:45:16 executing program 2: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000000)=@raw={'raw\x00', 0x3c1, 0x3, 0x320, 0x0, 0x5c, 0x160, 0x160, 0x3e0, 0x250, 0x228, 0x228, 0x250, 0x25a, 0x3, 0x0, {[{{@uncond, 0x0, 0x118, 0x160, 0x52020000, {}, [@common=@unspec=@limit={{0x48}, {0x68000000, 0x3}}, @inet=@rpfilter={{0x28}}]}, @common=@inet=@TEE={0x48, 'TEE\x00', 0x1, {@ipv4=@private, 'vxcan1\x00'}}}, {{@uncond, 0x0, 0xa8, 0xf0}, @unspec=@CT0={0x48, 'CT\x00', 0x0, {0x0, 0x0, 0x0, 0x0, 'netbios-ns\x00'}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x380) 07:45:16 executing program 3: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000100)={0x26, 'rng\x00', 0x0, 0x0, 'drbg_nopr_ctr_aes256\x00'}, 0x19) 07:45:16 executing program 5: setuid(0xffffffffffffffff) 07:45:16 executing program 1: r0 = socket$inet6_mptcp(0xa, 0x1, 0x106) setsockopt$SO_TIMESTAMP(r0, 0x1, 0x1d, &(0x7f0000000000)=0xff, 0x4) connect$inet6(r0, &(0x7f0000000180)={0xa, 0x4001, 0x0, @dev={0xfe, 0x80, '\x00', 0x1c}, 0xd}, 0x1c) recvmmsg(r0, &(0x7f0000000300)=[{{0x0, 0x0, &(0x7f0000000140)=[{&(0x7f0000000080)=""/188, 0xbc}], 0x1, &(0x7f0000000240)=""/167, 0xa7}}], 0x1, 0x0, 0x0) 07:45:16 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000380), 0xffffffffffffffff) sendmsg$NL80211_CMD_SET_REKEY_OFFLOAD(r0, &(0x7f0000000640)={&(0x7f0000000340), 0xc, &(0x7f0000000600)={&(0x7f0000000200)={0x38, r1, 0x1, 0x0, 0x0, {{}, {@void, @void}}, [@NL80211_ATTR_REKEY_DATA={0x4, 0x7a, 0x0, 0x1, [@NL80211_REKEY_DATA_KCK={0x14, 0xe, @kck_ext="1c08d1389f2d8c12be4051f04838636303846df4b32591ca"}]}]}, 0x38}}, 0x0) 07:45:16 executing program 2: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000000)=@raw={'raw\x00', 0x3c1, 0x3, 0x320, 0x0, 0x5c, 0x160, 0x160, 0x3e0, 0x250, 0x228, 0x228, 0x250, 0x25a, 0x3, 0x0, {[{{@uncond, 0x0, 0x118, 0x160, 0x52020000, {}, [@common=@unspec=@limit={{0x48}, {0x68000000, 0x3}}, @inet=@rpfilter={{0x28}}]}, @common=@inet=@TEE={0x48, 'TEE\x00', 0x1, {@ipv4=@private, 'vxcan1\x00'}}}, {{@uncond, 0x0, 0xa8, 0xf0}, @unspec=@CT0={0x48, 'CT\x00', 0x0, {0x0, 0x0, 0x0, 0x0, 'netbios-ns\x00'}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x380) 07:45:16 executing program 5: r0 = socket$netlink(0x10, 0x3, 0xf) sendmsg$nl_route_sched(r0, &(0x7f0000000540)={0x0, 0x0, &(0x7f0000000500)={&(0x7f0000003ec0)=@newtfilter={0x24, 0x2c, 0xd463}, 0xe80}}, 0x0) 07:45:16 executing program 0: r0 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt(r0, 0x0, 0x1a, 0x0, 0x0) 07:45:16 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae03, 0x2) ioctl$KVM_CREATE_DEVICE(r1, 0xc00caee0, 0x0) 07:45:16 executing program 5: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) getpid() preadv(0xffffffffffffffff, &(0x7f0000000280)=[{0x0}], 0x1, 0xffffffff, 0x7fffffff) r0 = syz_clone3(0x0, 0x0) r1 = getpid() process_vm_readv(r1, &(0x7f0000008400)=[{&(0x7f0000000300)=""/54, 0x7ffff000}, {&(0x7f0000006180)=""/152, 0x98}], 0x2, &(0x7f0000008640)=[{&(0x7f0000008480)=""/95, 0x7ffff000}], 0x286, 0x0) ioctl$EXT4_IOC_GET_ES_CACHE(0xffffffffffffffff, 0xc020662a, &(0x7f00000005c0)=ANY=[]) ptrace$setopts(0xffffffffffffffff, 0x0, 0x0, 0x0) r2 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) wait4(r2, 0x0, 0x40000000, 0x0) pipe(&(0x7f0000000240)) syz_clone3(&(0x7f0000000480)={0x80000000, &(0x7f0000000040), &(0x7f0000000080), &(0x7f0000000100), {0x3}, &(0x7f0000000140)=""/175, 0xaf, &(0x7f00000003c0)=""/161, &(0x7f0000000200)=[r0, r2], 0x2}, 0x58) r3 = socket$inet6(0xa, 0x1, 0x8010000000000084) bind$inet6(r3, &(0x7f00000000c0)={0xa, 0x4e21, 0x0, @empty}, 0x1c) connect$inet6(r3, &(0x7f0000000000)={0xa, 0x4e21, 0x0, @ipv4={'\x00', '\xff\xff', @dev={0xac, 0x14, 0x14, 0x29}}}, 0x1c) setsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r3, 0x84, 0x9, &(0x7f0000000300)={0x0, @in6={{0xa, 0x0, 0xe8030000, @empty}}, 0x0, 0x0, 0x0, 0x0, 0xb3550aa4ba878354}, 0x9c) 07:45:16 executing program 2: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000000)=@raw={'raw\x00', 0x3c1, 0x3, 0x320, 0x0, 0x5c, 0x160, 0x160, 0x3e0, 0x250, 0x228, 0x228, 0x250, 0x25a, 0x3, 0x0, {[{{@uncond, 0x0, 0x118, 0x160, 0x52020000, {}, [@common=@unspec=@limit={{0x48}, {0x68000000, 0x3}}, @inet=@rpfilter={{0x28}}]}, @common=@inet=@TEE={0x48, 'TEE\x00', 0x1, {@ipv4=@private, 'vxcan1\x00'}}}, {{@uncond, 0x0, 0xa8, 0xf0}, @unspec=@CT0={0x48, 'CT\x00', 0x0, {0x0, 0x0, 0x0, 0x0, 'netbios-ns\x00'}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x380) 07:45:16 executing program 0: r0 = socket(0x840000000002, 0x3, 0xff) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f0000000040)='syz_tun\x00', 0x10) connect$inet(r0, &(0x7f0000593000)={0x2, 0x0, @loopback}, 0x10) sendmmsg$inet(r0, &(0x7f0000005240)=[{{0x0, 0x0, 0x0}, 0xfffffdef}], 0x300, 0x401eb94) 07:45:16 executing program 4: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000006c0)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x3, 0x0, 0x0, {0x1}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWSET={0x2c, 0x6, 0xa, 0x401, 0x0, 0x0, {0x1}, [@NFTA_SET_NAME={0x9, 0x2, 'syz2\x00'}, @NFTA_SET_TABLE={0x9, 0x1, 'syz0\x00'}]}], {0x14, 0x10}}, 0x74}}, 0x0) 07:45:16 executing program 3: r0 = socket$inet6(0xa, 0x1, 0x8010000000000084) setsockopt$inet6_int(r0, 0x29, 0x1a, &(0x7f0000000100)=0x80, 0x4) connect$inet6(r0, &(0x7f00000001c0)={0xa, 0x0, 0x0, @ipv4={'\x00', '\xff\xff', @dev}}, 0x1c) 07:45:16 executing program 2: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000000)=@raw={'raw\x00', 0x3c1, 0x3, 0x320, 0x0, 0x5c, 0x160, 0x160, 0x3e0, 0x250, 0x228, 0x228, 0x250, 0x25a, 0x3, 0x0, {[{{@uncond, 0x0, 0x118, 0x160, 0x52020000, {}, [@common=@unspec=@limit={{0x48}, {0x68000000, 0x3}}, @inet=@rpfilter={{0x28}}]}, @common=@inet=@TEE={0x48, 'TEE\x00', 0x1, {@ipv4=@private, 'vxcan1\x00'}}}, {{@uncond, 0x0, 0xa8, 0xf0}, @unspec=@CT0={0x48, 'CT\x00', 0x0, {0x0, 0x0, 0x0, 0x0, 'netbios-ns\x00'}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x380) 07:45:23 executing program 1: r0 = memfd_create(&(0x7f0000001fc1)='\x00\xac=\x9d\xd2\xdb\xe6\xbf\xb4\b\xedcJ\x8e\x84\xd4N\x12\x9b\x1f\t\xbd\x11+\x86T\x16\xa3\xb3\xae0\x9f9?\xefo\xa4k\x012>\xa1\x9c\x86x\x1c\x9f\x84\x195\xde\x97_\t~\xf3Y\x12\"p^\xc1\x0f', 0x0) fallocate(r0, 0x0, 0x0, 0x7) finit_module(r0, 0x0, 0x0) 07:45:23 executing program 4: r0 = add_key$fscrypt_v1(&(0x7f0000000080), &(0x7f00000000c0), &(0x7f0000000100)={0x0, "33f9b5ff85ff78824d5242935f37b834197dc473a63ca803c88217e4f6bbf5347c774fa4f2dd18589fa70f65e16257c65d15202eef394e6c9e3f8d5a776313c1"}, 0x48, 0xffffffffffffffff) keyctl$set_timeout(0xf, r0, 0x0) 07:45:23 executing program 2: setresuid(0x0, 0xee00, 0xee01) r0 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCADDRT(r0, 0x8917, &(0x7f00000002c0)={0x0, @vsock={0x28, 0x0, 0x0, @local}, @l2tp={0x2, 0x0, @empty}, @tipc=@name}) 07:45:23 executing program 3: r0 = socket$nl_sock_diag(0x10, 0x3, 0x4) recvfrom(r0, 0x0, 0x0, 0x0, 0x0, 0x0) sendmsg$SOCK_DIAG_BY_FAMILY(r0, &(0x7f00000011c0)={0x0, 0x0, &(0x7f0000001180)={&(0x7f0000000040)=ANY=[@ANYBLOB="08110000140001022dbd7000fedbdf251e"], 0x1108}}, 0x0) 07:45:23 executing program 0: syz_emit_ethernet(0x6e, &(0x7f00000000c0)={@local, @empty, @void, {@ipv6={0x86dd, @icmpv6={0x0, 0x6, "066089", 0x38, 0x3a, 0x0, @local, @local, {[], @pkt_toobig={0x2, 0x0, 0x0, 0x0, {0x0, 0x6, "e2b1dc", 0x0, 0x2b, 0x0, @empty, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01', [@srh={0x0, 0x0, 0x4, 0x0, 0x8}]}}}}}}}, 0x0) 07:45:23 executing program 5: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) getpid() preadv(0xffffffffffffffff, &(0x7f0000000280)=[{0x0}], 0x1, 0xffffffff, 0x7fffffff) r0 = syz_clone3(0x0, 0x0) r1 = getpid() process_vm_readv(r1, &(0x7f0000008400)=[{&(0x7f0000000300)=""/54, 0x7ffff000}, {&(0x7f0000006180)=""/152, 0x98}], 0x2, &(0x7f0000008640)=[{&(0x7f0000008480)=""/95, 0x7ffff000}], 0x286, 0x0) ioctl$EXT4_IOC_GET_ES_CACHE(0xffffffffffffffff, 0xc020662a, &(0x7f00000005c0)=ANY=[]) ptrace$setopts(0xffffffffffffffff, 0x0, 0x0, 0x0) r2 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) wait4(r2, 0x0, 0x40000000, 0x0) pipe(&(0x7f0000000240)) syz_clone3(&(0x7f0000000480)={0x80000000, &(0x7f0000000040), &(0x7f0000000080), &(0x7f0000000100), {0x3}, &(0x7f0000000140)=""/175, 0xaf, &(0x7f00000003c0)=""/161, &(0x7f0000000200)=[r0, r2], 0x2}, 0x58) r3 = socket$inet6(0xa, 0x1, 0x8010000000000084) bind$inet6(r3, &(0x7f00000000c0)={0xa, 0x4e21, 0x0, @empty}, 0x1c) connect$inet6(r3, &(0x7f0000000000)={0xa, 0x4e21, 0x0, @ipv4={'\x00', '\xff\xff', @dev={0xac, 0x14, 0x14, 0x29}}}, 0x1c) setsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r3, 0x84, 0x9, &(0x7f0000000300)={0x0, @in6={{0xa, 0x0, 0xe8030000, @empty}}, 0x0, 0x0, 0x0, 0x0, 0xb3550aa4ba878354}, 0x9c) 07:45:23 executing program 0: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000002940)={&(0x7f0000000000)=@newtaction={0x74, 0x30, 0x53b, 0x0, 0x0, {}, [{0x60, 0x1, [@m_skbmod={0x5c, 0x1, 0x0, 0x0, {{0xb}, {0x30, 0x2, 0x0, 0x1, [@TCA_SKBMOD_PARMS={0x24}, @TCA_SKBMOD_ETYPE={0x6}]}, {0x4, 0x14}, {0xc}, {0xc}}}]}]}, 0x74}}, 0x0) 07:45:23 executing program 4: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = openat$dir(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x2042, 0x0) finit_module(r0, 0x0, 0x0) 07:45:23 executing program 2: r0 = socket(0x10, 0x80002, 0x0) r1 = socket(0x10, 0x803, 0x0) syz_genetlink_get_family_id$tipc2(&(0x7f0000000280), r1) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) getsockname$packet(r1, &(0x7f0000000140)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x28a) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000500)={&(0x7f0000000380)=@newlink={0x34, 0x10, 0x439, 0x0, 0x0, {0x0, 0x0, 0x0, r3}, [@IFLA_LINKINFO={0x14, 0x12, 0x0, 0x1, @veth={{0x9}, {0x4, 0x2, 0x0, 0x1, @void}}}]}, 0x34}}, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000300)=ANY=[@ANYBLOB="3c0000001000010800"/20, @ANYRES32=r2, @ANYBLOB="00000000000000001c001a8018000a80140007"], 0x3c}}, 0x0) sendmmsg$alg(r0, &(0x7f00000000c0), 0x492492492492627, 0x0) 07:45:23 executing program 4: syz_usb_connect(0x0, 0x24, &(0x7f00000005c0)={{0x12, 0x1, 0x0, 0x2, 0xf8, 0xcd, 0x20, 0x4e6, 0x5, 0x10f, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x95, 0xb1, 0x8f}}]}}]}}, 0x0) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000280), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_usb_control_io(0xffffffffffffffff, &(0x7f0000000480)={0x2c, &(0x7f00000001c0)=ANY=[@ANYBLOB="56000200000002"], 0x0, 0x0, 0x0, 0x0}, 0x0) syz_usb_connect$cdc_ecm(0x0, 0x4d, &(0x7f0000000600)=ANY=[], 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000140)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) pipe(&(0x7f0000000100)) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f0000000380)={[0x0, 0x0, 0x0, 0x0, 0x100000000400402, 0x0, 0x1011, 0x400]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) 07:45:23 executing program 3: r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000040)={0x19, 0x4, &(0x7f00000018c0)=ANY=[@ANYBLOB="1800000000000000000000000000000061111c00000000009500000000000000f99ca3a7753fa66ebff0a93261763f00a57df35f3161c97af107333124d5d2ca1dcddc758e006662acf0543fda23cf60ab5aa1b4c0b97f7bfc5bbeb1b700002005c1255c41740c016975b770d32e66d2fa58d102b966770412ccb30587d465c8412466bcafafc86901a426c5ceb0e9858d272a3027e6d37bcdf397ac81b7e6652130846c9fd2d67904c1496945dcf86ca5227d43d096361ca0c6d0fbffffff913083cf65b42777731adf59acaa2d04ff7fec29770270dac8d11e7f651b9f8868c29c87dde04d359ff2d1c7300d2401a0a1288de96fb49863dcb2f6681a6a5409811484ca56e68ca0536524242d2e461eb40814a0eca8a2e8fd8aa5069d201348329ee235a0b5deec3c366177ac8ba9d84cd2cfa180c1bed940a51cae53389cca056a79b985abb1ac77d8ce5c240aecea67e5cd37befbdc42534a502c3fa1e45c56ca750ed570ff0343ff057e737d8b2b22486389ac853fee470c932b6a36316ff0b7459a82f69fd74ba75c97dc42b504162bf6fa7933d0a3bb97090ed1b70d176b75b816667356030799897eedf1c7035d38572c762c01b4f1869de8dc91d558fa41eec506dc3e8dabdd8824ffbde06620a1a1bcef3eb73a7171859a85e29bc3940055719718184121ff4080d6551fbd195516e3974ed3689fbae9c27684ed61aa0781c53ebc6689ef1b25959b1f52f04cd6626ecc6bb88e2dd1b52d070ec194d5b33f761fc91f07988098de9bbd931e47b8a389508924cf14e32aaca3710eb9915a200ed6452b2195447bd7a74edd015fdf2bd9808fb5f846be969fb8f71abf87395c48cedf9960f612c2e8bc8b96d003035702218f8c32c0bf8aa28157d37940861b83934f270ba263feac6347e35c1e4e0d967323964ff0e295db0226419a2a821d58c9c284fa827746dd2430dea41b86bb4e7f4a8c87b71c3356dde2be6805b00603ea915bf82884de32eea2f1a3a8b5c7fa9df4329a35c9c216d8f6a80c656faca2f777888bca19eaa3517b1910d14c319d2dfa320796d1b256707e84ec09fa2dd6b4da53f312eefb999ce52aa26818c87a8c957fd36dffa5607d155ccc478cc798a6616f51b11d4405001b9b92c5cc7b90ddb2fc9b841ce7b2970236c56204244201b757bf129cdc7f5bafc30c0e27d438184f84ed05db34cbf65bb09c7ca25a6171b77048dfdbe770e2c641"], &(0x7f00000000c0)='GPL\x00', 0x4, 0x1000, &(0x7f0000000200)=""/4096, 0x0, 0x0, '\x00', 0x0, 0x15, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) bpf$BPF_PROG_ATTACH(0x8, &(0x7f0000000000)={@map, r0, 0x15}, 0x14) 07:45:23 executing program 3: madvise(&(0x7f0000a93000/0x4000)=nil, 0x4000, 0xe) mremap(&(0x7f0000a96000/0x1000)=nil, 0x1000, 0x800000, 0x3, &(0x7f0000130000/0x800000)=nil) r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) madvise(&(0x7f00004fc000/0x3000)=nil, 0x3000, 0x16) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x0, 0x13, r0, 0x0) 07:45:32 executing program 1: r0 = openat$zero(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_FAIL(r0, 0xc0189377, 0x0) getsockopt$bt_rfcomm_RFCOMM_CONNINFO(r0, 0x12, 0x2, &(0x7f0000000280)=""/98, &(0x7f0000000140)=0x62) r1 = openat$ocfs2_control(0xffffffffffffff9c, 0x0, 0x400000, 0x0) socket$nl_rdma(0x10, 0x3, 0x14) r2 = openat$zero(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) syz_genetlink_get_family_id$devlink(&(0x7f0000000100), 0xffffffffffffffff) sendmsg$DEVLINK_CMD_PORT_SPLIT(0xffffffffffffffff, 0x0, 0x20000805) r3 = openat$zero(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_FAIL(r3, 0xc0189377, 0x0) ioctl$AUTOFS_DEV_IOCTL_CLOSEMOUNT(r1, 0xc0189375, &(0x7f0000000040)={{0x1, 0x1, 0x18, r3}, './file0\x00'}) ioctl$AUTOFS_DEV_IOCTL_FAIL(r2, 0xc0189377, 0x0) syz_clone(0x50000000, &(0x7f0000000340)="1441248933d04af96a0b627c504fb62c1ed9b846f10d50c7f491cc39d7943c1657fd41fec7fa7ccc2397eb8b226de598881e525f91b4de12b59999d2aaf46d34ebd780a68ac3c49d130d294dfea6f86e89d7f2ca45bd331af022bfcffe10cd3703a732f450011fdbc55800c9afa159a96fd863c23ff496b86d82850ba27e206c8258d7ebaf31b9", 0x87, &(0x7f0000000400), &(0x7f0000000440), &(0x7f0000000480)="8cf9965f14b4a09721668cc6391059455447ede0953dbf1e09d31312c87771deb6e57bf21400acbbd007295daa9b7d384dba519dff4764542f67f70f221d41fbf1ebc60dfa1a4d494a23") syz_clone(0x0, &(0x7f0000000500)="c138a14c21f2fc52bcb58695f56afbc1f191f66fa434f0d7121c904c1b6560d5f52e8ad8011f24caf1d4895fecaf964858f0fc8192bda1862222744006fdffd49b9d9b", 0x43, &(0x7f0000000580), 0x0, &(0x7f0000000600)="07299fedea47ce73faaea6728a9c63809219b7b77d2de128b17d94409d4d62ed893eb46ee315e841d8ddbdd6e6cb80615aa977ad2de7d8a26ef485b15f96f122583d23194421fed9a4ee4bd9e2eebb58f9b3cbf45b1ccf1266be01781a4e833f2e281d8c7b72390599c84ce7b11e81f9d60684cdcef99c0a269efca3927334416f18e14a75470e041f80") syz_clone(0x8000, &(0x7f00000006c0), 0x0, &(0x7f0000000700), 0x0, 0x0) 07:45:32 executing program 3: madvise(&(0x7f0000a93000/0x4000)=nil, 0x4000, 0xe) mremap(&(0x7f0000a96000/0x1000)=nil, 0x1000, 0x800000, 0x3, &(0x7f0000130000/0x800000)=nil) r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) madvise(&(0x7f00004fc000/0x3000)=nil, 0x3000, 0x16) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x0, 0x13, r0, 0x0) 07:45:32 executing program 2: splice(0xffffffffffffffff, &(0x7f0000000380)=0xfffffffffffffff7, 0xffffffffffffffff, &(0x7f0000002400)=0x8, 0x2, 0xb) prctl$PR_SET_SECCOMP(0x16, 0x2, &(0x7f0000000000)={0x1, &(0x7f0000000040)=[{0x6, 0x0, 0x0, 0x7fff0000}]}) setregid(0x0, 0x0) r0 = syz_open_dev$sndctrl(&(0x7f0000000040), 0x0, 0x0) r1 = getpid() ioctl$SNDRV_CTL_IOCTL_ELEM_ADD(r0, 0xc1105517, &(0x7f0000000400)={{0x1009, 0x3, 0x0, 0x7000000, 'syz1\x00'}, 0x5, 0x0, 0x1, r1, 0x0, 0x0, 'syz0\x00', 0x0}) newfstatat(0xffffffffffffff9c, &(0x7f0000000300)='./file0\x00', &(0x7f00000025c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2000) setsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000340)={r1, 0x0, r2}, 0xc) syz_fuse_handle_req(0xffffffffffffffff, &(0x7f00000003c0)="606b63d2c919fc711e7839336bc90e10f933472892dc22ff5f3a4154645de906442a63691a2de3790d67d49c1a75ff931ff372cb8447701684d4d09690cb4563c9563e0aae7e5f72950ef3718efbafeeee0cf6cc1479c22fec4e7df19a589343d96208caa7eab41cdc8b19b713fd47b3d8cd29ed80288574aed0d0205a960d03fed7d24cb79832eb39009dcf590d8e018aac51f94ccc6d175cf6f81f3d93c320eaa69913b06a95c80b5b05b2782cb08c24525d2c637378ec94dcefa98feb0f23592eb12686487a5d405f0be1e135a4e6145094f0871f3a45053c528c36283844bfcd483d3ba23a2036336fbf3a374ddad505f95147814552d82489c10ad86eb0436e8b5e9f4ac6763b7c9bc67033e50a9eb5d9be01d07e7d92395c6f3ca97989429e77795b3a8b21e7a2993c28d4865c4b8c0bc597e9b10fa321e8d7677bcff58bcb1367acde321e21b96534bdc4ad1cc2475723be150eee132ad9dc262df55a9c6ec2bd0ac0d0c5a3db67076bf371251e64b8161b88723ccf59420a071fc14b8d4a461ca96a58147ddb45d65af67685256868492835abd662cae4021e73be31a33ae2ad7cf2011f90868ca549c0124d2e40e040799fb169491b0d308c9155a604bae0316efb86099f15a00d0bac88dbf3f9d3654eebe1e3377a372d2015989184b419b807e865d89993af3c848ccf99ca68b526318a95b9e61b199ead0a9af482915978efbaff3d2ca3957324532e48e654ec4188df972f596fc22aad07518dc4faaa8ea74ab53af37d967b2a2645d46d5acf0f230c3cf321743874dfe7597a52763050ab645fdfd1122d0245674fb6af61adb4ee6e0e32a99d24080e9d020d872519213cbb862d664d5e45a6343dee8ee496549a2dbf2fffe530cc6554f9b64f82ced343ff0280a4a3f55d8007b3e13e0016ca641981dce84e72d6a19f5a40dc637317c788a741e4563c73fdce61ad3e9907f6273f21ed6e0e7727fddc03ecaf370a872b2dbb8ef562d3202ed4442e732da7605af36f35da6f35fba418af86b2c5458bfd80d61ae3d54a913aaf17233dd6ad66857500c2cf92b3edd047adba3f637c6690c653a014ebcd91ca5e97be46e0bebdeb67a6931a1b4c255f34778877977a728a033dd78e6550a46051ee66dd58eb31ade28fba76450acca3626a05a2b5970ab15d2c7227913472ac2dc22f7f4bc778d1f1b737045ad337dbb31893253bc04dffb4e449af4564943bf4a7a0c261e41bf2bb381966c2bc9bef20be7f8c055ef28f254ea7d2982258a0ebb145425a4766bcf50ea6a18c7b5dd84ffd3eac5268c2a99738a2954e83309a4fbc1c873386322dd676bb6bbe3363a0f228fe1b005611b6f704c5c9d515e31b6e022251684d25109e698be7376cda40f01fd278b94a51cab208ed111f4690f21b9ed5ef1b0f6ec0a95738e5c8d76804f9e0ba5e1f832a59869590485c37fcaee394dcfa1fa4f50541309cbc211c5a2320049c7827112cb8727046a9ba2957d1e70f6a824bfcc95d6be67551c69271b9f8e3731af711f21a12ba294e26828e5973fb346d58dbc9954717138e4030e17d462144c1d9c3b632d12ee3db99cdf78b0afcfee7117c492c96e43eb9726f119c8d816c9b6def8c66a7f52b96fc3ee6c135f42bd95c1581ffcb19701b0b0d0140fa6503bb73abf3ca1bd4dfb8cf8fc1c52706aca05a075630b7cae140b95692ce9c5d4442a155c3edb303dd08c904d998dde1b6e2b255f13e762704abf9a27b38142452a4203b9124131f0e2fdd95ece1f3d25ed28e83af6a4b8ef03c83f5e8304c5b7a396232d6f668ea3c8f223bd53666a61e536615aa697a74039ec08434d9b1d0431304a7cf22c1cf25fe8f424a2e674e77ca20876b2028a74ab6dfb6cd70816ec230c8d6fa4a3486ca4a9b57cd20d11c2049c75d97681ad489bc011353d5072d3b98e9be6b8fe9e82bfe5cd2fa3f150468247f96ae1ed96548ff27bf2c2c039273956284074c6a6d73a30a16d0638af35fc4869e9d6ef6616b71a0c9e2482b3a97e17166c6df2b3e4002507eb92e022ae54e82eb7de48253d9398b076a75ddba2be760a7060b15017927a44e9287763d1fa526bc487e26cd6aa0c564f4f9575c6ebc41a5e4178d1dfa9dcd524367e95967adec86f78633b9c09baa3b6e3cde317fb03b512d46a3ee243fbfb49037ec69e2aec0945fad6d2356fbc285dcc75f65c21faa77cca16e403dd9b4a39fa3dbd421ab612ab86e8c4cb75c6b6a823b4e39c7311471521e2916b86afc6fa9e80e575ddd3f3797a4a16d6c9221045cc6018b7b3fccf1b61dfdab1de6f4fdc13669e3275a3cdec4adbf85a44d1bb7f51b44b17d8f36ac4f208f1f0e03287f91143b6e15bf922be27233dfbf39367bd0c846fd0d57d679b8b02920b091f32f22554460a7efbc3afc0ef63fcc813231fb005046ebbe12391e4e13662e730783927471dca23d64aad49cf053baeb97b6ea1f09e2d98c95b223ef74526367deab262aee8236cad1c2a4b031fd3905aacf923dcced15da58df51135b1271902a6b0096438bd1d9b79181e410842fde9552822d9430ac8304838213b14b2c20009c1eb9a9164874749bb643c873eb377b30dcb4c82e7841e7f24fcb8d9a7b94f2584b750dac0c56b4c4dc9eac19533c60e4a0f6438891c010162eff8fddfc8fcef63bc36d1fdee155765b3192014add6a29d77306adf72c020c01867de584349066e65d6abb7b9d17a1cd78c8dad6edbaf6ef1382fd9ede968d7516f9fd2a5b91039ca1e56646d5b56de2d384b2dcb1a547042a837ff891ad28cae5f6223d29542d711104b86b6a54c157f7b35b65553233b09607e57104c16bf63e0963f7c4026719741268a7602b33211a51dfc30430c1f451648664a73098a2cfee71ff8a8364fe9467b13c97c6d5c4d367344bfd9795e1de506e723280bd9d97e58aacd32c27d9f86ab4d6d2404c02a8e01becf184f496751617d3891959b24361c310b989be97c60e2fdb64c8df7982844e3626d060952aa78c5c47a7e10a7f8dd15913f1f01c8c5f2637515570c49b23e5d8bf14aabe9b282f3e89592217ca72d0dafe8109ccb24728595857ba7a8dd33442f09e13a1349731ec900f6abff68f8144d25d63defe6ae0dbde152d32178366904b5feeca9d2c61a613c76c8be07ea299d0af677d6e0dabd9357072d68a6a9b7058e04948b5c28247a117a4e1e617c25f8ed5c348eb041da50430a3de291ec99d2d40d2305f7220c07ddae4e34a3a0171b733531638b20c7521e12da6980fbaf332bb7f644edb53704ed0e424d73a95a752812a0a52baf3abd6dc545a8deaa07643891747e2da44416c85643b76fa4483ca9daa1f85f84de1a54bbd09e3419ac8bb881bfc63b3230a334419f2d495f6de6192d1f6d8b5786514d929c61b04bcb0ef65731db0bd0baa3bd5d78475e75005d85b326468b170a4b3241065e03e5e07562f5dbd95e0c06a404aa78507284fc93448ea88aee0a388a154eb086c10e2bda4b7fd592286fba1ebf5432dc1f47ff55e429bb237bd0b42fc89239e1ee1c87f03fa86da841c04d7dc4171f8546fefcf00bec6a6b2713e1f5f43e41daac1edaf1984c4d7cbe8a3fb3b91a6b9d72748242f31dc7415c6b9f575ebbcb768fd17b317fe387d9ab8ab9e224aab129dba4ce3475f2d90690646bdc40f28dcd8339febda8631c011382cf86d41d39364f1e26578aaa38c594a82a46c9fa67e8d56be49b48c92fc840b5cf4123ded8df75541244c1f87b06415efbad00909ed5a09e0f376f673b0474728abe6d277c0aca5b090dc173e6c886593deea87d77f6591d3428acdf1a87a7f84fabd0dd754c6a44e179115c623cbc4bc25321fc32a0a555f759a94de15303b3deb2f835f6b953e69f5ae94d38ab948bd4df65cb9df51a7cd3e0a090136da67fb949c1ea1ed10eebcc7000cc63922ad755c2f96bbffcb89b1df6e1360fa3de45ece2ec903daac2b05c00d7d62c241acc4811168c3be3d3eb794831dfb7aa0776dccbce1779c350a96e8627e7ca68b4592e00e9520357d382ba5c491a8e253eb4ee8d569f10ff39a932dc09ecf1dc42fdd30291020fdb22d8e10a54ada03fe790bff7e5182f1b88ec8757d07a3cbaf90807dd63fe4869cb24973e0cc84d58bb7853d8bb42ee127efb03375a000c66a3af2fe873a2c05aa4c1bf419f35e2047cca6ff644fc34e7aa9149ee035ec77a0c76129457b17ba95616d0aa0ad1129d7eecef0694c1298bf0034c0086b8bb6cba8a151c558497b6f52ee585a22b28447c5f2f822cee02ec7a1ada69a3d6d69e74b0bafb9ad84822b6ef612f65eca5b19e217b6a7d61cc3281a52e528599c0fdbe16cff231ad270ea8ee8aa780ad785493d4db076549685b2bc3316d71ecf3337acb96a56df7f957efd8999e2e85901c2901d6e217f8d74a56c082b648a385b54910bad2cb9869bd0e14aadb185759a06672a18c2cfcaf824fb51bd4182bff0c9b86f80eb3b08eaeed041df74b5853d835a2fa3c781528241e99690d30d5ceddbd2754a4db4910615c7db8abaa66112ff973360405bce90f68db2949ebd7fb76bc971139e0bcd50a438f3c82a72327082fcbc736733090e10d786b929275d753fc6a99ff9733a6ca19ff4aab67b1bd2fdf35487243c18f52020e2cb70988f3ae9daa4dd80fa4e45c09ae438748ce5e8e86c45c9bc90014b267a868727bc829620d60849d66b0026188790ed7a066ecc4a19cd9c82828567ae5483973e4b9590ce078b440c2f34e72d80fb3d1fd855aa9a33415689f7cd90843ac58aa6a9217cae38ed4c04dd7e59fd564c773ec4857640b2603976309433c6d6a2572a1448b746cae93b81868e0736dc8fd5db3dfc5f6737852b6263d73df484b8a45ef05c1182153a3d38e8b7cfbb6c8f5a217cf0b0d929bb4ab43ec385a0a8f49b2889c42641dcc85c71605880bd849d57df79c07e3176c9f06420fc86df6cae70d0cd3ee101037a92b34cbaa6c1594b6685aefde82cc50435542854615c52d3694ab742860df0f2dcc25041c3423c14fcbfceb9d7068fda092c4348c8efd438c46e610385b04a958b45d44b97ac9384273539e65985efc67196e903bf274c47985805bd3a75eb6b93f5ccfdf5ba9daddebaf0cfdc55c100ae12ed5efb89db27967a8c413cf6a5e2fa030d7af9fe7a4dbbe971053b5fc5ef942221a0a674503c74d0dbd46157adb1835348a07fc1af801a62019a92f4947a6090170b41c469f266f4ab70340c21a1db0be1f9563b7e1e9b8cb8f11ea19f845cbdc65d5d3cc497f4e55ad84441e4d7e8043bd99466ea56a6219d23ca8e6cf58a2c3b587d7b0e42deda9e698a37a0f7b52b6c0beb56214c2225560ac23c31a6421406cefc9057ea1e74e29cd9bba21051eae52e692937dc8d10acc9411d4051333790e03750f4d0b2b93e8624a077a37814fa93ed01e39d6337a1d286826cbdfdbf4ee25b6e334dae4e92ae26202e8fc0e4d055a45f1bf7fd1474d8bb2dc9728fcf0ec21e159c681d764a2bb9b7fa9f80a860321e956d149c2260742aa83c6f9f8a0559a073840174786b072611670fc5ff2347b92d043db77b3fa71e7a25493406d9b04fd34547be66f792689980d8868fc4ff39c1c0a7113f49560b674d782ad2d9717d900009c444ae35a0578fec89393c1f5bb3883bd6b96bd018f6a11e4e18986ea06a094280bb6a556a9477a87710ba438f590be31d1cd7fdd1c1bccc591903aa00700fc5ab1381678dd7776edf2bccd68a681fb20c9b6592750376ecc490ae6acf121dd30516d4d20b1ee59cc2948f109dbcee4caf2c79bdb79b6a6707991180725aaf536d307582d489fdfe71497af5a4b5b99ad35c4c7bdbeb2464e3e83932b2f6328542b556fbe5ab1fa534df11d1045b2a9927eb302131499103cbc4f12922f3ce3182fd26e524743ec8b473d69c0634f8ab37ae5ec48c15d7d9a6ae03e26e06759d96bc38791c0ae5b83e0104ce6bed802301af36d4e8299a2eea73eebf8814e956229e81854db149477b384cd270f7ddbcf23549e9946646230eaadae294abf0fd0cb28dcc27c5a8247196b917304fea24a48255fc49fe0ed7388f1cfb07f84c72d7c88c0b0af26397d83b1259e67e8eaa526404a0092d5cd32ba58829124e0014986673a9d45ada5ef0ff6942d1ba68c4f4a33a9e60771470c9fdec0d8cacfecc264d9503f458921f9374a4fdd794a7d179c33b37bf0530401378187685fc9fd80eb5f825367efb764ec916a25be9d3c096ee7e981926fc53ddc5c04922f92bdc52667154c1a9ec0a18c657de2a0590316823cfac6891323c880356320b3981a6fac95d84e5bba497be7604a7428afd73b10b94f3a6e67d74884dc322e307559d9a4bdaef8be2c81ad64ba60d54f52885788213ab2e8920e9d28092ed46f5f952345e3c6ffbfc760b2332f2931098e9a7784b59ac464d0fdd2b4b4708ea7596a98a9c14be95cad69567fc8e55bdc8a05eb1211f9772576a8e6ab1ad8fe9e68853ee0099a5f79819e50d67c5e3dd9b89d7cd03368ba075782876896e09addafce97f5ef8a433d81f8b8083417c6698901be8fd4b66c5b024eb38961ea56de65952e4fb2bc90f36740f6bdf4ea2dfa5aeac7474486e28ac6ac006fc33e6b578bdd9d66bc08ab6fec3bfe76dd65e061045da09cc2429ef2c11f3a42a47ca38d959fe62dda6a4356690a48602f8fae7c5d3550346443970091f8880f7a8b69e750f3f2808067a9fc68bb2549a1ec77e0da17d88ca6c0c391de694dec874c9002327ab829e6838206d52d55ca91d98213ea130009323c985d3d51cba2615609a86368063b0c576b62c054ede2f19b2f66b999859c170fde82ff8c10956bc166aa61ec2fc33a66c49bb9fe6c7b6831d87c7a37b8838ea2e0b3ebb288fe74a598fcd9895895acf5e51499aeabf30a09e5997ffa16bd55a42a341af581a9c7f4975b20a68e4750955592848fd264bf00423fb91abb7e99b34f66b09a0b5f40860f0dfb94612e71d1cc8020b5bbf703f05a01d3db17d110a2101ca6f8cbcd47a620a04dd6c289ed01881814ca46849271e5fdfabd2c29e1565a966a6a31c9e797ef6879ee20afc6c7bb76c806e51969a03a07235a62ea7a01fa09c19697714e441c1a9eaf3e3fa1f2eb62528fe5b36a69ecf91558fce524bd1c953a9dad8b3db28d1a3e59cfa5e1808842a6b9392bfce57eb97f9e78cf8a46b5c33a08d9ba152fcba4b0834e334b1fcdfb14acf0cb063110c932c974410ded5f569a5726659a4ca138119d8d9c5a8e52a814adf5a817b5bf2797410e1e30616ab6126c63507398b13ef418a3d8094f00c7ad71754a8f23c111510bc89030d7badc3b7b2aed3dbd9ebac4e7fac508e93cd0f5017077bd7e5fc7ab7864a4973be92402b82e42d79ecdf9d06bd1076b63df92155ef10fe50e0fa9b20c669730596c9a66d843b87ee9505b83290cdee67249b1d7612826a415823a5341256536a9428222c866b857c4f7c5d4c0c11ee31561e635b00d64d72ea520684f3c007230e5ac819cc29a201df782890b76d75f6813759f730ddd1adc3eea4f8e9e33f978812a3b2eb8b3b766dccfbd721f092734332e8e5f528ba69d00a5bc891fe5041ea19c5462997807a6434333eae36ac48ff43473e011b84f1c608b4b21a6cfc8e2db8ff9d04066fe215e128f9d8c1a659bc42b0af04f54eb92ff6ad889a4bad7d7c20053be16d10bf5ce32fd70def306f56374ca97e6932f162a18f27d7b8967f9ad18938e0ff52d567b3941040e11aa7c5082d2aeab285ccd384df3e72936bb9597fa8796f8c8f47c5930503053c72c95ebf11a393d02b8b12909664e97a69235e8fa5bd2b068bcb3238ddec46f974703297337debf7ab8a1d6cba0fca1d1b0f33218def18d550b07cef3072ac929120a590a76c811551c060be24fb535682daa0e7defc14ce564fa44b8c8703e54fba4ef492120481253f16e002a105c890b213df4c515d090cfc2a7af54fac8c1e7ff70f41c4a15f3d1f49f689c20d01817d1152ec2217b5f7acc26aee50ac7884051357239330c3d4c7cdaddb1085d16512b6f0e33e4ba6484b747affe16bcffda95d2d6ad44891d121cbef0fc71b1dce0565c0dcbf10d70dfc04e4ba67019d607ba91b1b6892617aaec7e027a5f123e73052262ef360f1eb10dfc3c5697bf2275cc6d456c0ce187fcc58daa4c28d0849ee762176c45267ab0577bedf15103a08fcf06ee0bdc5a6de71c8acef63368f6d320373c2b66219719769ba73772040d3580854767dff162530ab180ff7dc209727ea4cfe2ba80804e6c519f1b4c941bea676be5df07f7f10ae72497f9edd574fe4e27020197e89fe74bb742c0eb2f4f9e7d1773b4d27aa7bf64e31fee90fb4af2ddabf290eed43611c987286413082f802b56b4a1cffe862bb9b6762d734eb0f0d17b70a0e1e6b3a4294c985fc001844a9459fd6d86606101956cf4391e0bc10e7c32273936bc90b3556fe2ebefdc866ce49acffdedb94c8d304b896d5d3fe2c8e34a9b8206e02449090f0d90067987da47303d633e9aeab1b078d4b60b42970a37ccb10382edfd7dbaf88b2b2b1bd78a025c3cbf42d84580ea607e6b7cea7baa3ce79a6c0bc187b45245dbd30445137323b309ead69e7e5441b48f8e50a8bfa2dd7b1cee60a8f5eeac4b01b14334fe9f5e6fcef91fbd49416775b7dda2e32641c361c7c89f70b4b42e64f36c69851c8827b16ee0c1029131ce17684f72cce042d085f675322785bf8e57fa3ab7ba1d555bd812caa233e03c1dbbc6dda98b25d98ea93685eeb5537070627ef66bc83a65e02a9c90e9044aa5022966a8ac591ca588892f033e172023b934b1ef01dfe3b08f705e714f3a9e9552cdfc13bbf7e46772036cf1693d2418b3df309434d58033fe6583de9e443c9113e6b015fd1ccaa3394564221da31fa1f96076eb72fb2d3cdd0e7a058c90000a3cbbe50ced080c3dd610182dccb3a805cf2616ee8542e2363beeae1382237c743254c02ae542c8189586a24fe9f54f8c507e1b274d831e8c0012e729cff895bb7c56972a81d7d3d5f175cc042f9a7d90bd557718e15372f548b16d9422fd57c13eed5b36d560584cbf53ecc502681c17dd654eda43800260d827fdc676a48a90610f57680cb13c8c0a1bcadd4b22725c9dacc71361c5659d3574784e8defb04aa5186c5ccbe0c6789cf23c348978fb866c54fa51d7fbf799cd0c4df18de5d69516c91342ea4cd2b16c72013d55854c681c7b221f2beb781fbe36b53cefff68ddcf3a0ca3d2f5d651bf6f0675b551e855edbc36802771675f0d26b2fa828ea4a50efd9994e73409a96f0447b0b22d53557a2fa7c4d96364e0c8a60e05d71940e8515893642e781bd570d770b503b66c75734ff4c6a47d1d0f58d2e9d0dac4a70ff525341679d48d4658b1166a07bd7650a40771b2466951e6322e350eec651b57f12bb0e3f35cfdafecd31d7955aab1ba170ab06f8be8d37bffc94eb36370cc6ddc5cf3af830322dfebe5066e6f6c8326db62c09a9cfb409aebc904da9a8473e9c2458a7a06980738ff0d3d17bf3293deafa874c5e1d868ee29fbd30d371abab9adc4946d1eb83ec82fb3717029039554ed00f3dafcf7a22e997f4cb37135b16a13d358db9a41b506c8e4bca3e2436fd9404e20787c0d5bc67c4c0fff89fff6fa7f4464e2d94426ffe82c39e101b2a25de9b0dc9b64caf48929bd7596fb50b2a623664363cccdcad6f4259777330b21f4c781ecc849aeac1a3af4a60ef93047806c3355f1e36f205654bcf50783fa76a0607c10a71197015a54c2b6a30a07c7a30c99045eba529727f65a5bf1c2947aea8e181a4636e583399e8af6af9cc21ef41ed735a5a243f17902920928a8b2fd2cdbe7743122918f22f2d31ed6570527ff7d629d526270d14200b7dd24750825313f496e6bdd798d5ffa6c9150151703c2cc0aef4a363a25284206c0d5655322882efcaed7ed112906e01d79e824a3a3f6643469008c3983ac3a544c97e5f3925f06eae6ca910feefa7b41233a83a28e14f1acaaec693285e8b8b88089787586634f79a63ceec0dde3fc362dc7c6e847b9270d03c6e8378c510b3aeacb1c37c8cf2155856f4f44ed891da95287669be8f13ed435cfbe20005b79417a6b50e186253ca2b37d734ace2d8d07b7878638af759e0a00f7eb2b30605eac7378d05d6d31d2b46dedb21f336fddf450230b037cdc43117c48be52cb04010f3ffa55f9479234139dda22bf535a4bfc72e3fd5fb2f252000dfe15afe7d7e4193d1693cd55cbf6ff14e3bbc457037045c6c9999050266cf03d61c8cb296a3307d5f70ac6c11acd8c6a6b2309b614e180ca245631b10ed5229c21db1ff114fbf68be954a7da7f6934df05fbdcc47f654f3ed72c59dd64948164fd52a848edf7b858e26d17813dcd66728cc4c220bfe48bb5c7a4233f2437d3d6c4f51d98fda76da646db6c4d34ca1ad7f0ce8a5615c047ee5c00cda1dca28a212fb0f44ba67dca5d44cad675293f6f5ca1dd09e68ca78940f46b57dc057991959cb1aa3ab649c6f8c93a388689267aa575c2dfa46a2dd4337ed9830380a816182abb8cf63795657b832e3d08446e3fd9c5f76a6cf608b71e392aad79b3d59a0571494315b80730f406de63f0137e62b72f85170a4caaaabc472e6b7062650b4ddf3652ec4d5dcc47895e047ade3e773664575c04c7f539b762c929cadfe203320cbf2472b8b6fab972d7535e9ce65953bec36a32e3e80adcd2ee7c9757e206874176dd2ec5274273a3df418b0cae02fd3266e008334a99186df970ea5d48acb0a8c6e9ea62c6b5611b1ad6ab6e10d6bbc3d62e24791b1155dafa7f52a179332b642a4226806a1cdfd44f931ca8c79944b23f9feec6e790f4d0f748fb76d5da4bb5e452f29f353812b979e1cb2b7f2fde745d9f9e36ec678ecfa181f1ad962a318dad5f30af95089f4fa6925234d63d85577f991603d0e7ecd22f173e472893ff97e607b5e64773127f1ab0d2b656991788cc076092cfceb88a3f7dd99e1d8f6a924ac58758e92e238ca49b9d4316d2e90fee69c2ca41adff529cdae0cdffaacfe4b7125015c735241d6c00bc0ef38fdd54cc027ebea539dea6c29a45a09cf447796ebb4226fd252160a044489e4706ea4305cdd09f1aee0c0d343f67e80cdb64c60d905a3b4b20801334ba8bb7e9b307e3b28d0edbf380d9c75cdbd58080bd0896e3d733207f970aaa72d4fecbd658491730feb19bdfa8e3fc2e2d07b13a2c86a76a787de67f407361f87886b8dd586710880512d72aeaffb6eca915f30f55e4c391e69d359492be6a2beec6bbc86e2b0018036500f78364901d487ef4cf075d365bbb4f83ce3e3cb7b8a4407da67545cca1cc846d6f88677dd6f6b65c47fc25d922f6cdaa59b887f2b2c6070008b2f53d61ef2fb53d2c9cfd1fb82c45692f0d949ce4a1582fbd312d8f951f4efdc960c75f241868cce56e5ebae5c481a8f90116a7d1ba85ffa930bd1ac2adc4134413dc906907ecc1b96c5fcc10a6bd9984d610a5f21b3e6b52776a11bf1", 0x2000, &(0x7f0000002a80)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000002a40)={0x20, 0xfffffffffffffff5, 0x3ff, {0x5, 0x4, 0x80000001, 0x9}}}) mount$fuse(0x0, &(0x7f0000000000)='./file1\x00', &(0x7f0000000080), 0x200002, &(0x7f0000002440)=ANY=[@ANYBLOB='fd=', @ANYRESHEX, @ANYBLOB="2c347787671a7be3ce0d726f6f74303030303030c9304430302d3d3030302c757365725f69643d", @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=r2, @ANYBLOB="2c64656661756c745f7065726d697373696f6e732c626c6b73697a653d3078303030303030303030303030313030302c616c6c6f775f6f746865722c616c6c6f775f6f746865722c626c6b73697a653d3078303030303030303030303030303830302c6d61785f726561643d3078303030303030303030303030303030382c616c6c6f775f6f746865722c6f626a5f757365723d402c646566636f6e746578743d726f6f742c6f626a5f726f6c653d2c66736d616769633d3078303030303030303030303030303066622c6f626a5f726f6c653d235c2d5e2c6f626a5f757365723d2c6673757569643d61343030326230632d30ae35372d613735372d393238652d6261003666642d332c00"]) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x40, 0x0) ioctl$FS_IOC_ENABLE_VERITY(r3, 0x40086607, &(0x7f00000000c0)={0x40000, 0x1, 0x1000, 0x0, 0x0, 0x0, 0x0, 0x0}) newfstatat(0xffffffffffffff9c, &(0x7f0000000140)='./file0\x00', &(0x7f0000000200)={0x0, 0x0, 0x0, 0x0, 0x0}, 0x6000) r5 = syz_open_dev$sndctrl(&(0x7f0000000040), 0x0, 0x0) r6 = getpid() ioctl$SNDRV_CTL_IOCTL_ELEM_ADD(r5, 0xc1105517, &(0x7f0000000400)={{0x1009, 0x3, 0x0, 0x7000000, 'syz1\x00'}, 0x5, 0x0, 0x1, r6, 0x0, 0x0, 'syz0\x00', 0x0}) newfstatat(0xffffffffffffff9c, &(0x7f0000000300)='./file0\x00', &(0x7f0000000400)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x6000) setsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000340)={r6, 0x0, r7}, 0xc) mount$fuse(0x0, &(0x7f0000000000)='./file1\x00', &(0x7f0000000180), 0x200002, &(0x7f0000002bc0)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r3, @ANYBLOB="2c726f6f746d6f64653d303030303030303030303030303030303030323030300633757365725f69643d", @ANYRESDEC=r4, @ANYBLOB="3c67727aff4400000000", @ANYRESDEC=r7, @ANYBLOB="2c64656661756c745f7065726d697373696f6e732c626c6b73697a653d3078303030303030303030303030313030302c616c6c6f775f6f746865722c616c6c6f775f6f746865722c626c6b73697a653d3078303030303030303030303030303830302c6d61785f726561643d3078303030303030303030303030303030382c616c6c6f775f6f746865722c6f626a5f757365723d402c646566636f6e746578743d726f6f742c6f626a5f726f6c653d2c736d61636b66736465663d292c736d61636b6673666c6f6f723d282b2c6f626a5f757365723d2c6673757569643d61343462326230632d30ae35372d613764372d393238662d6261003666642d332c00"]) setregid(r2, r7) 07:45:32 executing program 0: r0 = syz_open_dev$sndmidi(0x0, 0x2, 0x141101) r1 = dup(r0) write$6lowpan_enable(r1, &(0x7f0000000000)='0', 0xfffffd2c) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x81, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) r2 = getpid() sched_setscheduler(r2, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r3, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r4, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r3, &(0x7f00000000c0), 0x10106, 0x2, 0x0) socket$inet6(0xa, 0x3, 0x6) r5 = socket$inet6(0xa, 0x2, 0x0) bind$inet6(r5, &(0x7f0000000000)={0xa, 0x14e24}, 0x1c) recvmmsg(r5, &(0x7f0000000200), 0x38c, 0x0, 0x0) connect$inet6(r5, &(0x7f0000000040)={0xa, 0x4e24, 0x0, @ipv4={'\x00', '\xff\xff', @local}}, 0x1c) sendmmsg(r5, &(0x7f00000092c0), 0x4ff, 0x0) ppoll(0x0, 0x0, 0x0, 0x0, 0x0) connect$inet6(r5, &(0x7f00000000c0)={0xa, 0x0, 0x1ffffe, @loopback, 0xd71}, 0x1c) getpid() 07:45:32 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000001c0)={0x8, 0x4, &(0x7f0000000000)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x51}]}, &(0x7f0000000040)='syzkaller\x00', 0x2, 0x9f, &(0x7f0000000080)=""/159, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000240)={0x26, 'hash\x00', 0x0, 0x0, 'poly1305\x00'}, 0x58) r1 = accept$alg(r0, 0x0, 0x0) sendmsg$alg(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000200)=[{&(0x7f0000000100)="f297c0eccf859705acf9834f5b4b6039b63eac610b", 0x15}, {&(0x7f0000001400)="c98812c1be8a", 0xffffffc8}, {&(0x7f00000012c0)="406f2bef596a8a3130012ee7bf", 0xd}, {&(0x7f0000001300)="7f5549f794326461", 0x8}], 0x4, &(0x7f00000000c0)=[@op={0x18}], 0x18}, 0x0) r2 = accept4$alg(0xffffffffffffffff, 0x0, 0x0, 0x800) sendmmsg(r1, &(0x7f0000004880)=[{{0x0, 0x0, &(0x7f0000000640)=[{&(0x7f0000000240)="0eb9057a9442bff7a053c7be48e09bb5434ab636165c35f9d44e9a0410f0e159bbf8e9e32b3c7c32fe1d9f6b56df5fea3be9138276a72375879e54fe0568a6fca141dfe78b7c165c089ef38241631c1b181e60b13884025744dd3c2069cb7b4c643090b0b380af33cf4786eececff70ce7c592ca45c07db54b8e1fa69402d5982f43c308b5d592263a1bf4092c864fd9c95c3f966d52847d24f9ab4882d3ce7ed99e1fafbc9df2f7292e8bd0aac0183f5516244a17301493507f3bb1b71abc34470aa3855caa", 0xc6}, {&(0x7f0000000340)="8d85ed56347a3945096e8dca89c0cde23e3b9c16fa1ff3c47834bbbaeeac62a7ff634e7b71a315459173f0f3bfc6716a03fcaf7917a60c866e0a1eec53bd424ba1f0e21903bbc106e0ff3946d179a063086af4b770138c0c06818156d8b47f52d4d52815b3b2eb0d7e774fb9bbf840325db2e7ce17ce2cd90e4de7539bf8a009d41ed05872e4", 0x86}, {&(0x7f0000000140)="53b6b42d706eb98e4bd4b07b60829133d09224f836b20c9edf0f20a48ef617eb37cc5f0631e65cbe008f5bc4014739ac8f63bb84175323de7b21", 0x3a}, {&(0x7f0000000180)="88199f175440355508408097833542e4d5259c82d1cf363614f21e170724e68c4f82e44a12df20d411232187dcfe8cab", 0x30}, {&(0x7f0000000400)="879ec1e3198e65097e5db939891744e72b5606a01e02c1fba79339f73dd6aed41fd34a6d612d225d29bee51074a579d90787a99abf75b25fd8207f86961c51dfc79b8b3cf617792101d83366475b733f8dae10af139535a8ef28a04fffe0e999dccdc9f2272dec303903baf3cf2aee63442e55006eadc117ee23bf9e66cb88b9760e8b0dcf3e3d053a5e55984bb950d9d5bdc792f7369a996baf76eb39f387d9b4e7f8732410c2814c93b54b30a4cc486ae7ee5af20a", 0xb6}, {&(0x7f00000004c0)="f00001fd49ef01ce6308db382f04fb2a566fbbaf3c304c2f060adefa9ff178dc80895550d2c9f987a2d056925da73302d8e6525efdf4854dbb55d28e7af22e3f81d39f32f07f1294fd938e54a358aa1055abf598923cda81cd5e3e99651d85af12608fd2b95b07efe02c99c6591db504d41989d00633ee6b8d26ceea8526cea6ab92b38e4d449989c3249c91e9a43d3083e098c6ec337629dfcca0cf4796b4d2b9f2", 0xa2}, {&(0x7f0000000580)="6616c4ea58c1669922bb95465c1b8844e95727a65789c0096b28cd4ffdd9e694a2231eff1d016215ac25656a9463b3ac5dfba96acd517f3a4239b4b476fca5d1275af7c21085d542d78b7b84b231ad3fd48712fbb9721388182c750404c9d83daa4ec9c1bfa3d945dfd6cfb8a3b2ed0ac86650881f001c6b8db7e3f96e3de7884b7e3482a1027f03740f4835f36e", 0x8e}], 0x7, &(0x7f00000006c0)=[{0x1010, 0xff, 0x1, "b35347d5ef31c51772b38c849a18d13d5f25629649dcb7dff304c575b06259396c1aad3dd13fcc3d3d517692bd4398a65e669017eb58725b2f1581a207d9b4383a16fe5ff6a2b5bf3bc45ce3dca33ed6ca911e0211318eab68e4f9aeb50b2b192e0f8c0f0da3ba14eac3e52f355015128bf37c07df75916dca8b77c32794ca4ecf3d99f13719092b7213b8b6e26694e7b25f717f606eaaabc899dc7715748545e5f02b7f058c259635a6c469f85b4411e71abd571910b5090871231a0aeac7b41cd4b11196d9b054dcede0a000b9512f2ff7d3f3c7a0ef7d1fc12d509b5ccef98f570a7e75c43e75db96ee3f5a70c8163892b9f63761213cfb1599391a9ddfbfbe202c61abfec004a8aff45187cc3886bdfe84eba2389bac06cca6978541bbc13e6122ac864aab1be7cf3cf579ac8db0a927c9ea6d1e6fd2471c4b158335201930b3b763e1e4e0142b86a7de493bdc8d1f8c75fb537bf071150d52d7d50ae3bfa96ac30f8224c68c3ff6389d075f1b81c424a81f4be8258773295d4a4dba0028721ac53562e66571996452d0e0dd999f67590ea0252684975141fe3dddb10d407966eebfc3f9f76dcf652bc61c52a408267db617b27cb50463d6760b00ad2dfd04d7b54bbd2fd5a061c9d8bd3dc67f0d11385cf6fbed0156ab65adea0b2887a12c09dd6896ebbfee9a212442fdc0c1388ef20bb6db706ea8422d15288293257d8c34378b1e9259e34c80eadb10a5196371f0cd6c363210bcbd1bc27c69b3413d8b86d7c196f1015c6ca9a6eb775b117365f04e2d74ed9b333ae8eca882308f861ee60f5135ec53f1744a9b4f89937d550d9ed6dc6ffe941be46c4bf3cb3c438fe06762642c18936224a291edefa74843e40c000deb3a03ba90046be9006098879b72617a5e172562d9e9bc1a8ee6605e8e0332b18ed44295871b0659a99515d3b666b80443dbe5c05bae24dae11c87d7d19769fff051a56051c913e0d1476cd318b38dc4bb6d90a0c84806ab5c15c0b9f180de95c14e9d9f2bd98c005208144f4baa2a940f0519736a641c9051a00f3a009e883ed640968788779839b78306a729ba7211430007a34e06960e83c6a50d97498c509cd49b6155709bf5c6d85a363723026346e686eda99ebbc335bbe371345e7a9e61856e211e99fa42474555a0cb6f6fc3f1b26277ca282846194a46c818d8dd47b357284e060e83b5ed68523c753a0082da30023dcad9bdd3bf04c3018d6553049cc8c5992fcb39162fab6887a407b886589755ea89cdf9e5968d1042ae645ccf98cdea6d7e24fe3f50ae009111466613966ee96e1b2ffa5094852235602b610c80334cfbcead85fae5c4db314195a7ec23b7dee4578a661a3fecc931f7c0d2d8ade0f404ca259253655c3d33d4b7b5417c27c037047da96dddeba77ca85a4b4fba949c6bb468a1fa415ee088a0ee5d4b37ceae66ecb43db48c5c8c2d24dfd1258df8056a7ac51296bcb1c4a9e54d9549807174fd2a2d2ed9bb45e66b6e9419fe51473d32525788c7ebbc5c0f7b12c710892074084242dcf702097ee493d6264a335f5aa4a4df51aad93ec7d2fd5063fbd90c3b75cff0e9945b06ccc42d43a736b4ebecc0598d55278601414e876526e9f59e243142d6b6b072401fcd78f3352c74f3ca90d375767c1526142e28beb692bbebbf5fb81a7488d2cd030e2fe822d6122b8aceda6722c58dd714029cc2908e251396719d5f9b75a12e08c03d42a3932626716ee9c274677ad87464a3583a31f0d342cded8640213ac6bacc3707694316bebc48520bd65302f3be5ee3615e8e2aa054f71ad9428316c935b1200aee4e9ddc2e002f00950ffcf92fa4e0b2a48d921e99ceb280706eac7c6bb529c4e357981e119fd6b62e80e1d0953116982928036bbba7966fe7d967fbf65dad03509e511fa8fd80db7c947b09b0a79e05e8694b3b03a9ab3beed5717f4c5f1c89a000d0756e90e56ae6af6cb53c04e72fa6ee1d3bd8965f14508be36a7275ad0203886f64c043cb3c18fdf6c8e1ea3de7b626ded66a95b9fcbc8fc75cee2d07050569e9e43ac66d3bcf61f0250a7948306afc06156954a7983ae2c951d8a268efc72c56eaacc53cd776ca210ab5acc8f5c9fb2a7c11fa3ce3a80bf48b1a23c90027d3ffdb40c1f2ecc590cf3a57cc129e1affb2ff2dd7774c5b6ad924291f89446ddfc2769c22a59fd42848f2fa7747c8f611057bc0858a961ad5fbc62b2765b28b516d872263f445d4d6cbe9b03f6ddf055f7e5955151d80240c6b894d3d8b61e7e4bda0d6700f386a29384784974c0b4f876cff8695b1bd9008f00737d586702a756250a57e6ebdd2aa86352831adb1d32171447398be1444a1f55221ab99012df8365a6e2bede8db3c48407aed8875138da8e46c0285a7341b0774ac74c16431ea86397b0f750aa796ce8f2fec7d6a01de76245a09b757d02b68bde937bcf0671fe7f3d6c2e2fdbfc1e30a9f60088ed9bdcb7b1bef9bf287e90b40d82d9ffd213deff50de570b25fbd3109ba43e17f92e3bfbf3af9db6674985ed24887b534742c2b3cce073f9a11e842ee27c5e11ad392f258e73a824015765650b237b9ea5b1d3876eaaa48fffe95ae702ace7fa0e47b24b05410e934660e9d85b6e746d6231b1e3aa1a720f4d426002ae8309eeaf012851298f04952bc80f26df8a5a13a59ec649b00b59546cc8d0220ac17872bfdbc94fb1f57fedf2c7e27f1eb52f591086c3f83e44a4fec9425728a843743c22a3164f101049ad5c242383f9d28f1d91364ac51e1eddd013caf24b71b4b7aa9cd7d258ae2264a63e018151aef4b751d6ad154e4b540749d063ce1a4c1d16763de845abf8935d73388a22b56804d620b1748218bbee62cb4f07db2ec2a1514562400135a8ac6e12d42261a2036c148e6e97bc8f985a834abc865be694c91b820317b429491759f797cdb3a1b908fb5a9472a7d9f1e2311f90a36800cfd7b2d82e686994a71278df00af320c893f4cea774e356657147fcafc53549f552c88561d6d51b4b1218f47c5fad4a294971750cc9b28821343d901e7a0572ece5406d984b5e6824218a4caf1bc8532d4711ca127c6a43b65f139dd3b6f768d7315932fbf086c5949901ca73f800afbfc810992ba7e7d13a61103d04fefa8abcd7e93341617f6433e693aa6e0a2cb75b8ca1bba41e2fcecb0851e41d0d664e3d4c9cfc493fdc15c77d7354b83ffc8f024f5ad3945b14dec8ea771db26fd1e2a54409c27698c02d8e8e448e61cff7f15e61eb794641aa398e69ffd188c310b5490cb32b49c560a022033dff04d63022a8a008821f3f186e185673735f3a60e5d97c991e8e6612a6998eba1698e3167659399d784fc0d57ca72fe2daedae3cfcda0c7574618b33a2915e4dae71482308927c08fdfa8e0111e95251b20665a19b72ef2b8c489fbc0b705bb77ea694d15625249e2ac9b584d553cf698a4a44c9397efcc6b2ae8ea01a98c7484803e1537d1ebf772f55160ec1663cb9f69e99f82b97ef67fa893d2cf9692bab62fa85f168836178238c2dc51b64e87bd977fb0d4c637314cdb861b22bed220731109b35583990412d04b57e5ffa12cc60e8deb1861439931dfdc5c006dfcd854ddff5a71080cd36e2d5db45110e7b6c46ca10f4ae0caadb9547c367351cb5b463b1a0d82aa49482d1961b1944566378da0541b7d5e47a076c61a39ad8f84d2da6fb0265b66627dfa435d7889e6480bb6e06169503a16e4ef49c4fd32f076d110f1c13c85c339b555b5ddd532d283993f876d6078c552334292e75d095a25ff2cb2fe19fbd2c01a4d5d3731c5b29946db189dc14dd53a1522110504fce477a5c5a953d6492cd72cb6e2692e5068ce0c3f80d392b48d0e745d9052b3159d37e3036554ce42275096573c43cc64e2ea7bcc9ddfff8de4dc3cf106feb96ea3cef352bf5404e3a93743e264923a5698a01c0dbe707040d8a92c23c1e8b7a12f8fcdc4058e98d704f24d2bec5e597fa68ef0b8a4cda8064e769007743554078f8a126da50f7c74f3bae6580b37791323e6e99d17118ef16764191cb107330e1c1c9b7311a02d1b9253f4d9cc8768163c3706be016cde40bfb6fea553df604172ca90e1c3dfd08f4648de8943647886299073e9ad22cc91268e7c79f21bd7d7630653997cfa7f8af2d5da6546847e4e8ec16d252058fc67939c520333ce519b5eae4aa06949f536d17f119a1e2e6ccf6fe29554a09d13a3f9f42e62cf959347664d98e34413142bdc5d8e44067073c1bac2531369cf6e75611a095ad12814737aae626625dae551e03eced98c6f4c0eab9a67a8070bf79cc365a27edb4ea3e3e31d349c3bc3b8423cc02c218532c4ce14eb2f27bda51142460b61f5cfcf1de0126135205103d4203c6608d8da50871a561737b9ed55d442bc34f7b1ee266a27f55469fa96da67028a6b86f95818fd32bf38e29a00fcb88e6f3b95d4a62887c613049be4bd6bedd64d83151c0308207139399efd92d31ac159e402230589d7da5184d6af03bab576ea6eab95eba3b02d3d9a9403fd9867cdd2935c907f7031fdd361abcce546b462da0186a560ac4847d35a652b11c29a2f4dc65e5b6f0b615d3631039715dd12d6ddaf49e43094d875cb0f7d2050b49be97e0fa0113b5389cdf7b9ff061173bb41358b67668202edd70cb1797af3f728ca9bf550efee815c3086416000fbed451463e01c84d7f9af0ca1ef5cc57fde784550a12dbc84385861f607ee947c7be74892ec529e498c3400da8e3dd3005081c90c69571fd783bf2ad95979f70de2498d7a00176c54188d02d80152187b172b3fbbb69f58d21fca1cc27d0ce82899d3cd70ac678222ff983e4513cd30a255622c5ced9a8951670fbffb5b97340d1f581e8c403c1d6a7ead0bb13b11fdb082ac1ceb038b6c9d1eb1cc49d91da5a41ab40a21c77d1927d7966e34ea1fad29b3976429c8b6da74c0fdcb12644c290af241d0781c5fa1bfd7918aedaa2aa0c9e27e49654a193bf0187c4b7c1ea8fa1ac03f8ebf5874e6a5a9a2189f54ef2f5f1deb5edd979e9b24e3ae4c854761d2b4f92e0a39ad9f6f0e4b50bc232ba6009e0f813f089252ec2a7b41154a4ad2a0d8840a5492def5243cf80a1334592b5853eaf15862ac3733b65dffaeaf3cf463bde5a261f7cb42e37f23925ac530f170f2f57f1ce32c7ef2baf80c70200c9d9dec236957ffd7e8149ba6dddf07e194ca8d49ec19c8d2a2274130efaaaf8a341e3486859e8255c664e9e87155d733057499d152045384022a43d4a692501b25b8c81795367861fce3759a5161053c731e925ca91345b79c1331afadb972c0cedd190799e4f73ee4b9e2a54226f4a161ef0c25b3abc48a3f653b97a1e30fc4493e5b7f5968b800d004dfa045a9e600229692829e02221bf8e466e7a7857a3b21c4661380b560643cff477d2b7196ea7273a55f286bd08808fe7a6fa886fd26b2bbedb0e65eee52769370f2e10c14c76b2355746d785442f02087b6c601cd335f3cdc1f2c36e3ca02b946a4350c5028a7e85ae6a04e5748bb3174cb5418ac2541fd5e4819e30d0fa156ec5a04ae6f7cc21d7c6478ba092d846c5ce418d3d6e686113674927f062b70ebb38531ba38dd6d447ec64f81f7e965ade899135aaf413a1366e36edc047ae05632d0e77e93b233a0dff34740ed07cadef34fa713de02249bb8661a19bfad39bf12d9ddf2cd300161227b33e6d281c83610f2554d828be56efe54444fec0097a9d3d893632e21b209b0f78c346c337d7"}, {0xb0, 0x29, 0xdf7b, "f2510cc0d55dc6f99e85b880d77aa8e174ea1c045384de5e3137d65f73f90883039c8d61bfa963127c78c9e5bfa4ba9078e76bbed4e6d2abdb175f394f32cd0d939a5da29cf5566ac52be4ac76df9ce7265379ce4e0ba53c1fb5ce178f0d9ebe6b7c97cc57777344235d00cef8722755ffbdbc22d6f5ef9321daaa176b91b98fe41b15456f74d2cf24ed9fc37ccf51b3d5f3749b323e0e72d3"}, {0x60, 0x11, 0x7, "18af3d88ba0c22d08d5f051f8836dab5e3f41078b31401fc4394b4718d52c5685c11eaf0572cca1e5948fe2fc61d48afff2847d8d015e45e7b809c63c98e6b21e92483c7088007f30505897c"}, {0x50, 0x10f, 0x4, "a8a11563e04a65916f30764e271cbf61248234a59d27765b266b079b6c8ad2e66f16311e27ee962c12157027c2cef47c21fa32992f41ac795655087ff0a5"}, {0xf8, 0x111, 0x0, "6f197247d4d54540891a72538c9cd909d71af49908870b8c1cb7cce5dfb61bca4c8668794c63590ac09d4d161f4e52229255c749df70e1390e34e6574fbe36cdeb33984165465631f0eef1d5e992ec9781a68c4708c3f1af9286eb0cf2de6a5db7ebf84099f158c01da5f8f80087c51a01593a00ddd9e106522c8fd61a9da5a0552eda0744d4ebc744cf35464ad31794a9ea4e5958b9403267803860e7d5d980021bcbd4aea45cd1c373a01bfa236df4b31ecf77daa9b6752af2c6d02b4346dbc5608fea5b1e4ba7d68a71b1c61380a32ae88c083e091daae4d64198fb114c5408e6"}, {0x30, 0x11, 0x100, "8e213bc4ffeb8c4a6c063e7697ef4b261793df3eb2d3c1c84172"}], 0x1298}}, {{&(0x7f0000001980)=@pppol2tpv3={0x18, 0x1, {0x0, r2, {0x2, 0x4e22, @local}, 0x2, 0x3, 0x2}}, 0x80, &(0x7f0000002b40)=[{&(0x7f0000001a00)="c7f9b2ee77cf3729f5a1d105441d7da6908123bbfe6884ef8f3477fcf60c34a79d257122d232455839acc290345f4ebf704f2b44b7637c1f92", 0x39}, {&(0x7f0000001a40)="7f233bd9b0fec554e5d5d75ac7764a1d6e281f7e0232d589c42b66e85d041dbd1e7e465803af36d2eb36da4a74b2412a3ea8bf56fee347e874c8c87085a4f0a68983fd7a44d52f124e0706f929cfd5d843fe5c1b8f3c8bfbff048c7bddb415d8e434092776f3e20608b643c04c7c50be98556f47741766d355de763c7746be8c076c943e720cc7f3d5d1f9de003a8e769611696a56d589cc279fcbcfd94c2155d103a6b374ff467d8e676c49af354abfb3d4a6a570aa8b85f7db6cdf4247e09f5a44cb7f6b52adfb524a7011e3", 0xcd}, {&(0x7f0000001b40)="617e2988f84344d7b507951a990e1319da1962bd30aaf376489a428ec7aa2810057d18c1c455f25702884e10a5bf153cdd97b9597f0e9c416305b69fb1e739c3adef0474e7e4e51da3a30ba445fb0f8c83b57f516ff124ab735718fd6a039065c5e16ff5ea8a9a42c5caa037015faa81c330017f74a4dc3fe9fc8ee272dfdef084626503cd7165052cecaca64e58aadd1d17ea245f5f71d246d21b2024c7036f309d753c8ff72c43eddd8fc3c36848246c3cb1400ae8b881ce794b6aef95153566b1230a6965d2981f1917d4a360c978d2b55c1141e1473b933a206efac1d92994da2051974b40de789fb3c15196fd8a4a9cce3c6fe036db9011698e1a0747cc2ca4b0d2bde2e99c46786104f022e5a6a329bf9b307b055234546a9314d220b59b0b59bc6685c2ffbd2643dd6cfc8b164793bda5255cb6a0b1cd5b6e2d7524dce762d172d739b46d5c1fe16982eda0128a0529cc6d9ad25ceddbcd0045170053a9015c0fd292ad2213f847a731e1ff8772f9890d1b5cad6c750b23dae3c4f0dfe112f071cf9fe894a3661b2054ebac5e14bf3c150292c54ada0446741d997618053d96ed5735e836fdacbb7825428421ed77f679ebc6ca1779c7270375049287cd2c93b02452d12d4a96e9d10fe03c9fb8642b68e09877219f251241a379380d772ed1eb4dccdc463f1fb5fd230f99bd5e9d02974479514895bb60003da25495e0bae34254d5b48cb9064de1d4d8934f39c1e323de85d6bf6e3f56613f7f987cb70d941670ba472df2002343e03627f1b841becdbbad0350662a6ff312b7bc3eebed392e4fb1e1ad7b1eac9eb60e157f20b2e23dc5843406b7cd30c49c55cf0191b38d220fb172876482f5670f5930db6d0cbe8cbac609f6bd56860f525af204058bbb4e630db4aff5c41bc899f901ce779b6c6f806be14c995906cd078dae5a4d183324fae7af68eee6a98c6f2c25f9ce858e05df7be05c8e16a9257cb5a74a035d6ce10386098fe21aff2963208656b7cfac07540191ba29d8795bb0eed1c0021e67f8d9459ea40d4ccc619a4e5656246253314abf9e23185b40dac5267eca5bd3d9918e70bc3f26247e246985c6c1d192fbee2b0c57830504713d77ea0efa005ccb4c88b11df5d88514fac108f86a32131fd5f7b8f6db68126f1d04ba5fbbcbd9925519fb8c7bf01aebc18a104207dab92aa80f868d71bee4acc7a5fedb4124d1849f1fae217a7f18d221e782fb732b514ebe9d1404a7dcce160a392f0ecbe6c7c825127cc6c61c0133f20cdd713998c230e1aa19ad667d5033493ebed5e831480e44a834d83d6b7bc288baa8a0395f77e5a1becc449c44bbe7efa37080cffa2a9561988d9ef454d5bedb077b3d1a448c6a873db0f37f9b05f4e3ee54006769a7407ba63c95342144f9cd475d4ce57f3e33698b9e8f79a853c0e9fa10675c93bb50aa6633f59ccfd3d4651c4a486c41514dc558598836074d28f429fb0d94ed64422040fc39a119efd5801db389c75e2cc4abe5ffd2bd1beac7b773fa166f9903ff6da2d4fe35fa1e10922d9e78be59ce70d7cf6b442136511b2863dea522c2befc7e7dc41246780cc680a0394d140207f46324f56d8fbad57a11a07ffeb380c067bf79e541f7a7ff11f7406121c70da49583d315cc2cf08bf546aac81c5c27d1f180928bc628842aefea57533df59b1385d3c8dd3b8f0a9c405fde8aaa31eced99f4533154a81f3922f748d44beedbb9b74f27a2835b4adae51036f98043a5ffdacd95f260e843b6ce8edcef237702d517c1e787892f8e2711015bf6b799feb3632e513b077d5f51df30161f0a35e122c12f25469084b379f9501bc4954bc9ae32504b61e86b5106778c15af52c463996c9621d2b6637a934a866fee748ce5c6259df183a4e00ae74c6206ca513ad2ec354a2c41f717913bf8d6b9ac68d3923360ff488caa6a45b57584ae2aa077b4bdad278bd547174bea4a3d6bae334e70ce547c1442eb4515ced03c1a98ea30c7a0965f776fc0aa0a161d16b1a01ceda09ffaae7f5f90bc47db4c7f56ecd0f716527a00061ffd850d30f195e8339461c620b3a481ea58baa8dcbd27e2dafed6823bac360957d8307735435c26569f31b5a3dfc9ccee69a05d7ecdf1eea8331905d5e085e64259dd3976ff0c4db1d855bf101ac0f5bfc5f4aa51b0cca9fc2f1710e35421fa95d74b39474183a097ee0560778359bdc43be459715501cc59dedad8333670013ee0847046e965e11617bb6ca41513d3b607d7a7736192e3bbd4f3ca1930b03c80fc4c34cbd046726d26e4f622969b7e22dec7ea65a115210118aa24dff8b858d0c3b1b86eaa9f80bbbe8ddcf7deed23c5776106206a67f0f476917b357a397ce7000630dd86433630088434c70d383476a5bbc81ba84ab4295e76bb1177c919c480c70d6204af5dfb0e92b612d1f7c418667691d4b192ce36479769bb83d89aef79129022ed5ea7e08d7f97eafb251b4b4f7f30882c83bd481eadd64a27b2df991a592b52c577ba0b055bebf7557311ad6bdd072860575f8aa6736945e4e29d304fd091eab08e57542e1b05aad7a7534f3ef7845c3e8957eb85cabf17c7abfc412086bf3f818bfb4d9c83dab201cb636227243a3ed4c555048d1a918365fc9b5ce695ffb974bc889b55d2a72d4781ec43fe5c9e14fbe7667da20806b752bce20ea69140e4b6bdd9b64de1585730441a413b14b730fac04fd2802227488dffc0da28f1f451a7da5665805b57a0d36bbd20c70aed7c3f8c0e876bda716911397a2b8d36f6c0f161f61dfcf0a91b10bf56c32fc67d83e6b2d9fe73c350633a5ccd0b30b160db111c410184b866bd38981a85358fe1605e07f69211551f2d497294dcf559954d9fde23da35bf4cd0f8a6127055613578d11b648a021bad65f75b930e32790ef9be498af4ec6d931cea65cdf5eaf8ac4e119268562bb157b1e1e0ff2b7fb52dc8b965e0f71d3a6d9fe1939965e17d048d3070332e67a258ba37e80ebc3f619b394a21772e594d2bac435bbc605190e6af861eb9b7b266b6fb4f4217c48e38a3df979b7e5583037f8a110f801df3000295e58217b79025158fc73183fac5ac5aa195dbd6668eecc63c5b61b6c7b2d06555e38a952b584b7488510fecba6dfcd5bec3b1f9346c61fd0805905c58f2789b98d512630fc721d0a2d368901975e7342723666e988b4fbb2e515d21446c37d2cb430211b793ffede1f7b57f1b8c666c68a49537fe16461c2c667de93997bd743e9753078250f0d0c49a116a923863c43a282f17731db82e7e5dbb74f985c34dc08c8c7fd18c552817f4845546087a1a9aacb873f6d5c29b52d6fc2c4eabb03e594c76adfea4f3859551c12cb4bf0ccfca05ea7b38895399ae2e4895799a4789fb91aaac1ea1c2920f8fe18b0c30e27a973dde72e7d3b8108da3a39156bb1395e169ef87031f421b46350d50a0a3b23f8420e0d0b33b6ad7175a2a93ab1fffeb2f67ebe06381206f2c39f6bd9c5db189da126c25ebfdff79bc093d52eb160c10d1a5292f9c3d73184fc4e89e02e9335d5155aec9b0f1207800e7eda9cc2d2d172fe77239eebab397492e11384a36608979a59a679213eba0c14cb5d647257ae3abf5b21da2d987b02e66e0a976708d7e65a08e710473fa0ce083f0d59958b5e7aaed012d8a366d1c68db2ac7a4abe59f5edccd8d038af21361af0f0a8ad5eada79a2a34a854bf4efe5c56bd821a841fddd377050e3bdf1c37d3b63318216f585a1e569747e5437b9910ac257c7f3a84147441b9e988c35df7c745cd77604dd308c2aa6349d982a69f16ea3cf100be8db4e4749e7a43e8de1fcdacf72321ea83f6ff4540f375694250fff68e6d30cba393651df193ab1acccb387f5570f2c436010f8cb24d851b4fbc9fe2101e123baeca76d247eb29fbcfe295f45059202ebc842d46c665ad506af3f326ae86e7888cfad0bbed9c7da81f0f3aae4d9ea1a9bb56c043bc6c0dd8773f2d0396f4343fb39a65defe68a04d68fb5bec2389cef0b265378039d3825439cdf4913094b818ddd0a115b9ab9d9f29b6dc6fc6f33dc7db1e361ee85210378d30b162f2a96f041537f0edaa161cc67215563aea570de1c7f95313ff2a1d38eb55d8fa6f669e6da2fadd1fddc923682b5174d7ebcdd8b4069cdd4c4ed2beeb44dd301c9a2e0f11e77dd459d9c095f347c40ee9af27ac0494227c4f4488b97c32233be0683323fee72445a708d998af042545894e2801b96b6cae0fdfdbbfd43bb5b95130187f1a7da9eee6bb3f79161419f6d8f77bdf4b89c5597f4279ef4ba033437b0e6a9444270e923a420a1c5ad1d0a6ac616076e64b83699eb225ae84aae29ea6881369ca475c7d92926c4c057447d302324865054cddfcf8c8b24fd1c26549d5dc422cf4c5d7b0242b48e599e4483cdf3df377899bcc57d4a4a556c713bca7fff47a59465f6567ec880980da43920c1ec775011d3ec48312b7d7be97c9587360d2515fd5c822023a243669bdf6e384d65404f1fcd841caffe8813ff52eb9041142367c22b9f469a62c7771d0215fce30c5478cacc981a808f23e7fe4f1942acc7bc9abcbe277a9715d7057d5b415e97ef899927c48f58aecfeee1d043814c16b05cd6295cdefbe57f9689f0dcc030b76c8a05642234044422094b22fa53b0423ca083a5cf06e39f7e98662bd6b7de03aae2045284b2653e33dc7735eabd1c73519a22c2a79a0915b226d306b5fe361f4177ae79fdb46e93fd027778bb21429e320447403cfc3a034e3e2be1fb46859aa3efc70e988e31e8699c899508dd76eeb66158c04747c883561225d75c65e5ae58e961404ad2fa9144885e1f80960a59312fbb4c4a79493818b581517832544a6fa9142123b0fb23c1db69a937bfb84c57b0c2dcfcd8967749b861059bc0b28db148ffe4730e00341f83cbeff10e2b2c0da244ba1e4ba6f422f1ef4f20a57df052379ab73c5358b98ab6ab9332b9d1048d596f73567161558a612564865acecbd28de716922ab2bfd3aa853e3eb0c2f95a4c7b24dc0079a2e12c68809f3b414b35b761cce8f7cbd8e70a30294d0a75e587dc21f2c4c90cd5cbcc6667783f16b155d2b5b878717b07136e2317c110934921c86955549ba2d946f593d9ba5b8ed116eff900dc91932e2aec33e6e42f7e35804c34097e81b2d5090a6137b212483d04bdd0bc787ee0b3a5b1fa7085864f4d2f8e8506b612ab24b80848b564fec62e7eb7800f192949d6c43cb39e78cdcfb10e9179607e9fb23dd7503507eebb8dab2c8e285b99c255e0c29f24d340653fb2d456dd65dbca8dc9b4b7906f2912cf17a45db418a7677cd2719dda6ce5a7dc8a156735f7395c77fbfdf0518b026b073645dd793df8732060dd9e607850179ce3ee395012b6d8c514874ac887543a93ce4ed31748bcf68009c6c92ab899e1e80907cf731ff4628ee0b0ed878b6baca1656e2104e6821c77dbc3ad9daae8c456c70d2bfb12967357fb9d9c5f00d7f1c800d4272d8b8a59e0c5e292178e2c6a9dca729995c807c03011c791180a9dc3332918859fb8bce3bfe5b180404cf5cf8599d726807756829393d978b7b06ebba590c5de0883ba24a5a8272f8004d7a69df833c6f8bc0b532c9815ef1dafe5fd6773a1d69f12efb0881bd961e53de565aa430d844e70a26145acf3e77681382614979b36972737d55cd15113d71106336c00475faafe91f19f9588f3ef539e39f24b342a8959a7348038d7669a894bbbb85ee707ba76168feb6a183fa3fc38", 0x1000}], 0x3, &(0x7f0000002b80)=[{0x68, 0x112, 0x5, "3aba958067a171928d359363eba3fab6194a5e17d23a40a287b0734d1c18975b81b9443cb02fbfde955a57e372023ce9112305b78f2855f5428e3c49322aa622db9db099eb234d4f4b0a8b03fcc2f14b12b6"}, {0x28, 0xff, 0x0, "1bf7ba661413a8ba053a786382c8b88bb218e8b88b0b81db"}, {0x110, 0x108, 0x5, "8f79c10205c6592e335d1e5dfeec9dba093a5f6578b3e82cc6d54e9f82578448d502df6333e8c0d5e01d93a18592263a9898502da2ae01dd41c7ee8315eb5eee57fb0787744426213c4d3ae2fa14da99c93c0fcd61eab8c76fc327dbc763d13c9168206eeb00dcae8a07f85a7157880c6d8845d866e4ed106253386c6fad0a3d13e46177b579a40853f98eaf80c19c28c263cc65980bff25aa359c10355c41d423fef23aa2e8a2759ac00cea491908e9e784254b73f60d391c8dcd784450a09d61623ba29a7e62a508f967015dba756faa2fd8446839f7659808010c0dc38b1c04ac98b277bea3f6f25be04eb34805a2832612b67816db0a20fb80faa3"}, {0x18, 0x10d, 0x9, "679f766c41cd27"}], 0x1b8}}, {{0x0, 0x0, &(0x7f0000002f40)=[{&(0x7f0000002d40)="03d9ed86babeb7ff23e07eb54936a5fd30ea4d7df5ce957fb04ae89c5373c5128c4c6d5f8e9c015387371367878e68d6c77ad5815598498116ef63159ec6b7ad1739222fa4f772df8b21445b9da0e2acc694b0b0847b175473dc53eeeb766588e18cd77bc079b781764bb96e4a53edef1c73693b8005b57e18639480be4b0a760f50b03b308acfea81d1", 0x8a}, {&(0x7f0000002e00)="c9963966e06ba9233c263ca5be4f3128c138e485d6122bce42f58c23207fa372323fdeaa5afdc7af321db8e35c8f44999a65e0f0c66c81692ab0", 0x3a}, {&(0x7f0000002e40)="0caf2940af3fe5d9cc859a2b6becaf0779a46662c36aecb8612aa665a8fc674aa4865cc862c3e638f5716478dff3fce0654a74c9880c0b27844af6dcbf9f6c734a1ffdad0157ad5029399146c1b4c1142c906c13a55bd0b2beb4fbb4a12e97cc42a30268866dcd9286e5c21164b9df3a50fb1f1399e9b13207b57a3f6ad32917ecf38f5fc8bc737168568cc35570cc29dc4d95fd065b60aec17786d21a9aabf82529f1cada9971a262b899541b3d139d8652069a80909e1d51aa036e88ca697651eb7bc6d37eba3672ed886a6dc9ff5b6b9eb04996f8231ea7da6d4b18eea076fae199493024e561859c33c79d67e4ac2ded2bb80b", 0xf5}], 0x3}}, {{0x0, 0x0, &(0x7f0000004080)=[{&(0x7f0000002f80)="9e8d66ed99a228fb111a5a95cebf7af8d93036831ecf13f6a5474be4fe77ba373ca149f1dc9ca3599c65528e2efbebb250f11570338c0a8213d5b9f37111fe32f023439d7ec7acaf6b238a6dcd8c435ede1d59e2e2f44ed5f26991a5b5c1429253ce774d30303d04c51d1a73a8b10fdb0354779c6fc5c9151eff84a99ca6e0430b0836178b13cc9cf56c78b99aa62be68038fa6d77e95bfbe9cc9561f7231444c379504ade25843bfa3646ae2bb6451b51cbe59495799cb6dd67e5de01f1549aa8a37526040de06e71470a749ea6424cf09ebacd8cf0b13373ebb7dd6517e5fb4af9eb43b6093e93", 0xe8}, {&(0x7f0000003080)="d4cf2c56859f8ccbf365e558fed111b1bddd4616eb4913b29d1a784019a827192bd3ea65d066b7f0fa6d58ee3372216a0ad0fe4a49e35a020bf85899a92f0c27b68d22b3e174e15f9822055edc3e223c64b9fd3de03f73129413a6bf4960bd30b6ba21431bebd47fd3e21761118f5ce9f6ef37b7f4d2c41365910c34fe14d7435d2a50edad7e03d6f1f29793006eb1d57b9d4f16b7d76a9f1b22cc8d2cd80537791a011ebf3608e99c62ffdd55a80094fd039183eb85edac448c75975d52971cbe9a8869d6f8858d7ddb4b382997cae90462266ae64ae897273898e12324abfa6bc4c402b95487dec52224207a58237a112a19e5ad1f19b6a6c11c4f7aefe75c2033f2db3b6b1623c7914c0644ef570a4e4c55fe70204b84f01c57b0329842b41375769b31285db138f02012c1a947456ad6d658ed9bcf2e41e6e91ec1b12d57ddf85969b813e2b66da9a9a22fa2532acf91fb6dcccf14585a7abb4e8e002384c201edc5da47241f40823e5fcaef23549a16d509e2a952c118760b13732be9f2b8b6692f902409483135a403da4660bc41d4e588294fc7f4b38e96f13066c1400477880267a9ecdbd3a82d4ea10291f8a98a19340fe37aa667630eae4978336e618a47ef6108decf8f39db4a89c6e43cd280dc1abca56fd2bead184ffe46b13e92b571016e3bc18507ec01adff22a8549712a5070dc28a9f69d9eec015e6d0dc15b855ff66e51a862d901c1839468549534348369eb4bc6002ec1588007b350536049171503b05df1a6ab90e8d9a7d21b504c91143d59e83b546d08f8408b4bbe4101823498c559dbb32981d92ac690abdf5dd54b3b1fe266d77e83d998c2f27fafbe7800c589a07be3fd2ba20a0b1e0610817d80eeefac23ab8c25807f2084f27857ba66f99994c2f71643e859496f4c3b701b312eb2715418ace4e32e66e16496488c6fc0baf6016b8ec722f52a325fa01b46941dbbb81ee7a6777af5f3247b3cace3520e3624d887fc4203ea6612a5d98413bc2261b44619b6ed95f610a4167236d8a99bf7c60c5564119beb01c2ddce1cc29d9d9dadda8d37a2e85045a226f9930653e16ab270268b74469157bcddfa63c408453915f12a227796bd06343e4dcac1e2f2342393b4d253f1fcb643a675d6f78bb39d32c17b24bdc323895e9e67a068365cbb364a6d9664ae7a783c6e6fdf6c5426242fc5ed881130c7a08893eb0d019c0c9d4c5b7ba7d2c2cf0977e7450fa57a058dd8b2415f005526354c555d8a449016b9f33b25bcb83014e377225fede68423fc7db33198f26efb3ec74ec1c20b9c7f4a195beea2dfef186113ea745d15596116409dad2067b7352d66626e7c68fb165fafc032dd93266d2b4cd5d88d3b0de72a57bc39392374c289819e0c7c7d260cb6e4c7a069e4820bf1d4b164cac96da60b32fef5b47717f7ff020a465e334d2c5b4ae85d5221c3117fd03ad88cd3f48b8bc128a111700bc9c84dc5826959d4963232098eeedb1404f0d36c3c1f769c49ef600e7549c2385d109f7f0d95fddb37dbedb19195f4bfedb8d2cfb8b821445f06b1c3e959a7c31b883997f3bfc5cab5de9708c7af0bb5a91c35ccd86e66fcd7c29d6b2cd427ea762f6ce8206c24a93a637f7f6dd247da0d0840aca1fe9e71e9fef557982ea4f8cb60a1b823e2127f598dc830dcb3622d359bdaa69ca71d36bc61a0e0ca727c68b21ae0b3a8ec6dead31192249ad8d271c2533386e3ebfd57eac2735b4c685e0246e22dc52d92f434977bfd5ec28d118cbe21d5bd0e27bdabd87e1afd74855d12f8ed567af9f13a8a18ac1cae8dcce76c323a5ea2259ce250f8e47a228ec4cd27b645eb0cd7bbeee23aa0645914e3156a61ec6e175996158c364a784bb06c74c124a917559304c912840ffbc57286d5ad3a1fee6d8bd0238b68e5a66ae9348e55059fefcc52cf1c02af0176d84f5d90392ac86633fbb7c81b03cbcfc12b4f45b8cbdd5a8397aa5159310b56523d80c61490c9d5e2bf27e7d8367d24faa41ba56b635ba6b84d1a24fb3d103952fe0cdd1f6107cf0187804648a37943a5b8fde439ddce2fb5a39e4319c408cd2c88ad354b7239f225c34e667368bbd3d3839b2df8a71ea89101287c0401edfda907f4a872e5ce047da314271821153f2ef7c4ec1cbb8560a78f19b42ce5f1ca09a0447465741cc7dac81f4a9ba05949c9def5741c99a89ccd1e8e9808b0a8a4bcf011fb2a52f31bc39a12b9c61c926c9d824857e7e3e38a7a83d6bc12332b1218a5a4fe70b3096a7c206c726f2dc70ee179e99ecd9c4c2a34bbcf1d5fe6a3ddf3cd1af79fc4d5cab85936c3979e702a17e9cf595a01689de8ad558c5e4d35c55ea006635aa99f4996931e36ab489119db9c0fc923353038d378bcf32fb4242eb680a8cb8324461b5f606e5e83f1eed412ac95dff8a79a9fb2b15d5afc173a721b54b4a39d46139b08241a8b2aec6173e9f0b087bb6adf122281e7f7a0d6e83b31b5cb753b00f7bb4a8f9faa55f3073595d7aced73d38776386fb5837095e9460be269f211a8962c0d5e9c40708e96e2947c2cad367054d060b725fa2dbd328dd492a167466fcd2f80a90be672cb33f3e1255e24421c70b849669e47514209e12f1aa3c51609b9909892317294905e2886adf2b7f76e1974647d5ae69b1b3a758cae5145d107faee4fc19e20163450d65cc89a32bdd5bfe2a2644818fe47f2c94efb0f29bb466f8ff77eb2d1c2a8c58185bb14c79803c0e4ecab5c20caab44568c5261bd0343239dc4b3ac386c155a9f17fb0efdd12304127e2e8c710d8578c723604cdefab10dde8b7a89686eb7e6fbad5aaa7d6f6aa09722a28573bc2642c3b17ac6d5287530c1d14a69c03e1dfbd2df4d5b36e886a7a00854b49ad7763c6a2392a4cc5e7ba2890dc8a5fe26e9e99f0ef9d693cfefd85bdf9b91b614894bb37b31a1682f60727a93bf2da962e98106117fc0aa0e55185e30b9150ff850c8dcfbe5cdc10a0010fe6b6d8da668668138e8f406b0809b7a511fa2566e68866a57c8cb22683c0425e44c83c7f696e454f44472226ddf7994b7fcde59a6d0bed90dd67ec3c495a0f1837cb51e0e2590b4904b8752e70daec0ea03ce3ad514edbaee372ab9958a917e3d15491dcb4e91aa25d065f13f494f6d585983d0fc1f1fe35e5c32f2aec2a6edbc6ba4e2140f7dbf90b0f2c9a6d0635ee67be0f6e7b5a47d359ba3cdf5170eb4372a40e920bc5d301e5fb133ea0a68ae144a8e4d9974624cb2538818ee5b2e92071076b3388cc65a5f16c9729d63e90b654a6b139215516bf4f3b3ad63e9d37ad07fea26bca285fd35b42bc96cd30e72950c7bb6ce704b14b2bbdcf4fbaaf61062edc0637b02ff965ea4a8c331a49186495e10e0fe4c51bc8d1b42e6286916c787afbbe2c6ecff68fec3f57858e890d496ab728de5a3c9722996e5e968ddaca9255108b4cc6214a2ca33249305d106694aea1afc7f503f81d3baff5c68f0c73f597c4540cf756316319c39e2b103a415e2ba603fa8d6791736d421bbc247442dbd19f7a3e7207ff64026f675a07472999010a3cde06c0236fe9bb01c74ed4fe346553eb2c9808b2602f0b07b5608e7f390e28661a3dbf0b3bc60c16e372d2e0662d7e6b6b9bedef164ad6285ea016f4100259ce7b0ce059d7dbf53987d5e61b796dfd3d37259fc5d195f9e210cde9a6aad83055de2d2e549aea07af0e1d213c053ef663be4dc7c1df4001713dd72429628c7a25b4ae13f59b9f1597521ad472a9411f41f17e835f0bb86f1e6a608316297133172074038b2d430755da7b96b0b6855c91be0df24df83a9578fe7cde60ad9de7608bd2d2ae1aeaff0f5ad05f204c4a867b164d5d1686ad7b1afdcf47b185efbc2a3a955dfbaef0cbe922eb5399852667256c69d2b7d5bb9069f9b4bebfc2a9b739e8496098dccceeabb0b51760616453eb1f37110928275eea72a13be29f7049003d7a74b696d3daa5605e7771508da0041b045762684225200b7869a765ff6a8e2d5d9922d5da7a0014890ff1bbcb507b0f73e7d964e6088fa68d0ad583377c6cb8916d721e8cd1d93480b82d194ee6c361a3002f3a96fe4550b5a80380ad23d0fb047292e718c18f57f0c1459b69f7aeae8013b8e707363e6e90ab8ac64ff25962479442ae47f2465c0897311e27149fe148d4d7e670ff9d230a63c0007e40c878c3bf3e78b609e433aedee58f8aa31e11bacb379965773329a3e8c3b52e599660dc6926e83bdbdea18f3cbf2c81aee9990a8cede8ed485178abf99c033c4f4680a801f550441927f7d47f5014d23504ff09948c3b0f151e09c11bac0e02141ae1222f2f44d71d247a7e15317a63c556f893abd7cf597105b59a9fd69cf6919b928395cbd0ab5de2447fba4479047aa900345cfe244441d4085cb2a8f3c6072e81cf9657c320e8d0de7b8c3e3ad623a804c044cda12a938639c2fff23b41b4000020ae3cf647ade2b823950f30ff188e6be8f389ddbe40202f6de4d247f43873ba8fd9eb94dc41bd1455ac25f7c48c2a7e020c65d7a829031345ae41094f7df2cc109c6fc1ed200eba444768fef7e2fe1640849e7f7a2746bc58d8407109b057cd24b067d7aefcc94dfe159104d56f4a14e33b75de5859463e24a665316098ce5e9c95b930ef4322cd0e5caf2160ce0d5373f5f92fe6bd18a3d6342cedfc33c0d6d2b8af773a1f6fef68e168f6957e2b683f39b6dcc0f21af4c2309b20378d00eb568f5ac89b4393f1083325fc041cfd04643a6a8760155696023f7dee303d62f261cc39ca13eff28a20bc140c47b1266693d8bf7f210a5a721a5d2baf84d761237877daa07ccff4e5b1344f7fdb46d0045883177e1c67b95a22cbfb0e9b8d46eb050ac96357be54aa3e5f9f9d986f47e6a2693dd29c6ce74b1e2a2f5d743044bceb742bf1a9815e83cb72c890ef12de96cd3fd706c03370c36347c81521c8dd0389d26cb740097f367d9d73a969b85fd8e1dd986f0ded6b5af988dce1f72fd292a826eabcd19eb54ed656c58d46ff7a1632737c2a308c662d30ce5d2e622947d012b16eb039cbf1c781bbc4b7911b447ba20a5114ee6d4813d72c9796502bde07d26521f1b89e93a931815c1ccf21260a7743774711ecbb3feaa437624b4a9ca6065a8bafa0870c2b1553535023343d6b87ee0748e032f9b3a6cccb162162934896c31d979c4685d8874bd88f74dacff5cf5046341282848e8587d1461076d853992353c2dbfeac39156744ff88448e7a48032f0da42cc7b15de65265a5c7f1167df92c5eba6c4b62d75d6506811d350501b916558530bb2182beae0944f012ff4509361eb3a2eb93587277c72eb034c5f712b02af76138ec1b50e467e1dd72eeb2cd7174b0cb01c0071e80a06d22add49e0efe92e6d4b1fbfd185f140a38cc8ab3a135694a3e46ab7599cd541060408755b130e8d87f87499fc12dcd68e9e8692c09e10011b8bb472969306c069a40c24347447a4affddb85096b3bdb59e7fc3a03174668a34b9ca9b9ac69730599d0f9c008a716db92be25f42405083e30b0f2336654267502161950ec261944ccbd2824da0dd89b63b4709226c0f1c74c625842919e177a6748cc2aa84d5620e7b3d8d04aab3d73295af789255743deb37f04781ce43fd96b7e76d71f39a17cb2d85ef3d784d6815de65c0030ce9dde241ad7cdb59932579156c55d23d895015f56a825c8752856dfc0d5e53811355749b39d0c07508e94c0b774cbaed7dd728c41557ef9f0de1971720eb377bf5d1", 0x1000}], 0x2}}, {{&(0x7f00000040c0)=@vsock={0x28, 0x0, 0x0, @host}, 0x80, &(0x7f00000047c0)=[{&(0x7f0000004140)="4f26e9cf99ca8aa8f59cba01aaf23dafee1ded64c95ac26871f257b605e7126b9786c7c1ca46c478efed7c12b4cf054a289bd82de9e82e031618004eb30e1524f9bc2fb5b2371c5ba5f3f161ea98f8c828c1782aafc10ab0c33c5e80ad9e23fad26bc85ead19754a54b0b063f98d2ca5138d73549d38a43e587b1c606cc9663f3b30437e3d69fc712ace33e55e31f90dd01ffeb4819719b44b3be45dab02cce278a97b56bede4fca", 0xa8}, {&(0x7f0000004200)="4a5db3398815fcaa14c4480dd41494eeee66b0999280c4acd710fec3106c16a9089af327184eff28688f8ed51f635132a71274a3530a57e4efe33d00ce1a35b0fd695e9e1f9344c83f410e834e5a7a2cfaee7d503dfc1206b8e053602086d7cf66db3b1cd0ed4039e814a300a85b98884e5a1c6a05de9f51b25cdc0bec5fd32b44d255cc7a4c74f9b67397b73828bbef3d1ad350a6b84b49accbf7e6c0e9ebc9fc4ccb6e292f3289ba68546c86a6e3399cd684654dd88901ff8060f2f38843c4a71f6fccf162bb53318ab6fb755c0c6cf78d63be98abaecd3598e47d1e895858d5b1037c23f4d9b0071f6fde63fb5e87fe80f9f8913e", 0xf6}, {&(0x7f0000004300)="5181218b210567c7bdee431c665b", 0xe}, {&(0x7f0000004340)="f4439232ff9657df6b769b1c62c77d9611e8ea5dcbcf35f7891ca9aff48ad25b3a17a588128a36cb4578fd7a5d7b66f6933989f796e6e11fa4c91891f58ed437650b43cbb1ec976bda5139375e714d2f7f87d1b66f5991bbf2893a1ade53b434bcadf34500ed3cbcad79a5200235a46a712b522ec99596adae9d", 0x7a}, {&(0x7f00000043c0)="3a8a831c5213d5abdfa2908c43495175380e0e6337c51ac0d21028514f45776a29e3f696f88ed52e43476a1273bd5018012385f3fc622261e5e48f1433546ac5eecb5a42c863e5e0faca8e32da63772a7c1e77", 0x53}, {&(0x7f0000004440)="63d81f20c792aee63483dbb61dc6e893368aa60ce3c62776e0248e623e3ccb8356edc0729778c12152b6546ccf5b31e5c780851466e1e815872eb961a4f03f9842e3638fe40b1089288fb665b53a5041667a2c3bfe5dc857daf373c83b58ab4273bcf8e968c553481d7912fcfd0f4884c4dbf492e3ec8741c10c4c4db3862fbbb8c1fb494ba5626736e17336963c539c65a55dbf4155840afec7b664b2f8cc1909ee098730e3c5c8a5496ac43240908ea46070a70a5001a8d53f431ec883ea6d4886a848002facd68d1ab57a1d92b1913f46bbc18d798f4b587e220a3656b67e65a5951e8387e260fd89", 0xea}, {&(0x7f0000004540)="859c58fbabaf3f00fa1912f3bc784aa7652f28371024cc1f5aac27d771e1f0b52f8757a5531639f4183966317d30a6ae0487d27e0086f2d851ef56a869dff7b6abc27166908a97f6fdc59aab53b6d4cdc24fba288c28a58332d24bd0db6044189f659ba4aedaf0f2a3a4bc37f5c54e493358d999bf4fdd3e7b81bd318afa933819bba7a0faba78e261569171da88637d1f9a6a8a2ba3b1802609ee9d7596c742f71861ba4f19dbb5c2407fc9fe5f09477e27b06835da55485efe34ff8999129eca9d542b9425", 0xc6}, {&(0x7f0000004640)="e0402520af61586cc988258a42904cd468929d64147a84d4c6b61e351d14235268e335fe68e5f9a463680198d876b317b4a92aac3257c6e34afb7f52e151cbfc2d0263332e6c87f1d8ca2190415ced9e7874662e46fb66fa7904d316b3b55863a4fe9d107fef53edf4a21778633f8b435eb1d05b61263da6925c01c147f1044b0f406faa8c64eab30ee5d24c7419ab2a51305f991f10179625359a2256b7d75d954a754dfad79346", 0xa8}, {&(0x7f0000004700)="c4cfa283a189d83f12ace31432c68f6340cc33a466f162e1c0ed39cf039d1194616d51f1a482a848c54757bfaf0562eb0f400992693c911d57d73bb7818f5a451ddffee6c64b680f7f63154497c08e2b9470d9b211b6d8277252d56a4a0d1110247e8e9921f0fdba371dad70a0f18e63191d257c", 0x74}, {&(0x7f0000004780)="9ee9b1c700b38f7f781a7e69b986b99ec5a834fe224c40c90d5e581acb3821b370e010e55092fc53ea", 0x29}], 0xa}}], 0x5, 0x10000041) 07:45:32 executing program 5: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) getpid() preadv(0xffffffffffffffff, &(0x7f0000000280)=[{0x0}], 0x1, 0xffffffff, 0x7fffffff) r0 = syz_clone3(0x0, 0x0) r1 = getpid() process_vm_readv(r1, &(0x7f0000008400)=[{&(0x7f0000000300)=""/54, 0x7ffff000}, {&(0x7f0000006180)=""/152, 0x98}], 0x2, &(0x7f0000008640)=[{&(0x7f0000008480)=""/95, 0x7ffff000}], 0x286, 0x0) ioctl$EXT4_IOC_GET_ES_CACHE(0xffffffffffffffff, 0xc020662a, &(0x7f00000005c0)=ANY=[]) ptrace$setopts(0xffffffffffffffff, 0x0, 0x0, 0x0) r2 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) wait4(r2, 0x0, 0x40000000, 0x0) pipe(&(0x7f0000000240)) syz_clone3(&(0x7f0000000480)={0x80000000, &(0x7f0000000040), &(0x7f0000000080), &(0x7f0000000100), {0x3}, &(0x7f0000000140)=""/175, 0xaf, &(0x7f00000003c0)=""/161, &(0x7f0000000200)=[r0, r2], 0x2}, 0x58) r3 = socket$inet6(0xa, 0x1, 0x8010000000000084) bind$inet6(r3, &(0x7f00000000c0)={0xa, 0x4e21, 0x0, @empty}, 0x1c) connect$inet6(r3, &(0x7f0000000000)={0xa, 0x4e21, 0x0, @ipv4={'\x00', '\xff\xff', @dev={0xac, 0x14, 0x14, 0x29}}}, 0x1c) setsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r3, 0x84, 0x9, &(0x7f0000000300)={0x0, @in6={{0xa, 0x0, 0xe8030000, @empty}}, 0x0, 0x0, 0x0, 0x0, 0xb3550aa4ba878354}, 0x9c) 07:45:32 executing program 2: splice(0xffffffffffffffff, &(0x7f0000000380)=0xfffffffffffffff7, 0xffffffffffffffff, &(0x7f0000002400)=0x8, 0x2, 0xb) (async) prctl$PR_SET_SECCOMP(0x16, 0x2, &(0x7f0000000000)={0x1, &(0x7f0000000040)=[{0x6, 0x0, 0x0, 0x7fff0000}]}) setregid(0x0, 0x0) r0 = syz_open_dev$sndctrl(&(0x7f0000000040), 0x0, 0x0) (async) r1 = getpid() ioctl$SNDRV_CTL_IOCTL_ELEM_ADD(r0, 0xc1105517, &(0x7f0000000400)={{0x1009, 0x3, 0x0, 0x7000000, 'syz1\x00'}, 0x5, 0x0, 0x1, r1, 0x0, 0x0, 'syz0\x00', 0x0}) (async) newfstatat(0xffffffffffffff9c, &(0x7f0000000300)='./file0\x00', &(0x7f00000025c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2000) setsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000340)={r1, 0x0, r2}, 0xc) (async) syz_fuse_handle_req(0xffffffffffffffff, &(0x7f00000003c0)="606b63d2c919fc711e7839336bc90e10f933472892dc22ff5f3a4154645de906442a63691a2de3790d67d49c1a75ff931ff372cb8447701684d4d09690cb4563c9563e0aae7e5f72950ef3718efbafeeee0cf6cc1479c22fec4e7df19a589343d96208caa7eab41cdc8b19b713fd47b3d8cd29ed80288574aed0d0205a960d03fed7d24cb79832eb39009dcf590d8e018aac51f94ccc6d175cf6f81f3d93c320eaa69913b06a95c80b5b05b2782cb08c24525d2c637378ec94dcefa98feb0f23592eb12686487a5d405f0be1e135a4e6145094f0871f3a45053c528c36283844bfcd483d3ba23a2036336fbf3a374ddad505f95147814552d82489c10ad86eb0436e8b5e9f4ac6763b7c9bc67033e50a9eb5d9be01d07e7d92395c6f3ca97989429e77795b3a8b21e7a2993c28d4865c4b8c0bc597e9b10fa321e8d7677bcff58bcb1367acde321e21b96534bdc4ad1cc2475723be150eee132ad9dc262df55a9c6ec2bd0ac0d0c5a3db67076bf371251e64b8161b88723ccf59420a071fc14b8d4a461ca96a58147ddb45d65af67685256868492835abd662cae4021e73be31a33ae2ad7cf2011f90868ca549c0124d2e40e040799fb169491b0d308c9155a604bae0316efb86099f15a00d0bac88dbf3f9d3654eebe1e3377a372d2015989184b419b807e865d89993af3c848ccf99ca68b526318a95b9e61b199ead0a9af482915978efbaff3d2ca3957324532e48e654ec4188df972f596fc22aad07518dc4faaa8ea74ab53af37d967b2a2645d46d5acf0f230c3cf321743874dfe7597a52763050ab645fdfd1122d0245674fb6af61adb4ee6e0e32a99d24080e9d020d872519213cbb862d664d5e45a6343dee8ee496549a2dbf2fffe530cc6554f9b64f82ced343ff0280a4a3f55d8007b3e13e0016ca641981dce84e72d6a19f5a40dc637317c788a741e4563c73fdce61ad3e9907f6273f21ed6e0e7727fddc03ecaf370a872b2dbb8ef562d3202ed4442e732da7605af36f35da6f35fba418af86b2c5458bfd80d61ae3d54a913aaf17233dd6ad66857500c2cf92b3edd047adba3f637c6690c653a014ebcd91ca5e97be46e0bebdeb67a6931a1b4c255f34778877977a728a033dd78e6550a46051ee66dd58eb31ade28fba76450acca3626a05a2b5970ab15d2c7227913472ac2dc22f7f4bc778d1f1b737045ad337dbb31893253bc04dffb4e449af4564943bf4a7a0c261e41bf2bb381966c2bc9bef20be7f8c055ef28f254ea7d2982258a0ebb145425a4766bcf50ea6a18c7b5dd84ffd3eac5268c2a99738a2954e83309a4fbc1c873386322dd676bb6bbe3363a0f228fe1b005611b6f704c5c9d515e31b6e022251684d25109e698be7376cda40f01fd278b94a51cab208ed111f4690f21b9ed5ef1b0f6ec0a95738e5c8d76804f9e0ba5e1f832a59869590485c37fcaee394dcfa1fa4f50541309cbc211c5a2320049c7827112cb8727046a9ba2957d1e70f6a824bfcc95d6be67551c69271b9f8e3731af711f21a12ba294e26828e5973fb346d58dbc9954717138e4030e17d462144c1d9c3b632d12ee3db99cdf78b0afcfee7117c492c96e43eb9726f119c8d816c9b6def8c66a7f52b96fc3ee6c135f42bd95c1581ffcb19701b0b0d0140fa6503bb73abf3ca1bd4dfb8cf8fc1c52706aca05a075630b7cae140b95692ce9c5d4442a155c3edb303dd08c904d998dde1b6e2b255f13e762704abf9a27b38142452a4203b9124131f0e2fdd95ece1f3d25ed28e83af6a4b8ef03c83f5e8304c5b7a396232d6f668ea3c8f223bd53666a61e536615aa697a74039ec08434d9b1d0431304a7cf22c1cf25fe8f424a2e674e77ca20876b2028a74ab6dfb6cd70816ec230c8d6fa4a3486ca4a9b57cd20d11c2049c75d97681ad489bc011353d5072d3b98e9be6b8fe9e82bfe5cd2fa3f150468247f96ae1ed96548ff27bf2c2c039273956284074c6a6d73a30a16d0638af35fc4869e9d6ef6616b71a0c9e2482b3a97e17166c6df2b3e4002507eb92e022ae54e82eb7de48253d9398b076a75ddba2be760a7060b15017927a44e9287763d1fa526bc487e26cd6aa0c564f4f9575c6ebc41a5e4178d1dfa9dcd524367e95967adec86f78633b9c09baa3b6e3cde317fb03b512d46a3ee243fbfb49037ec69e2aec0945fad6d2356fbc285dcc75f65c21faa77cca16e403dd9b4a39fa3dbd421ab612ab86e8c4cb75c6b6a823b4e39c7311471521e2916b86afc6fa9e80e575ddd3f3797a4a16d6c9221045cc6018b7b3fccf1b61dfdab1de6f4fdc13669e3275a3cdec4adbf85a44d1bb7f51b44b17d8f36ac4f208f1f0e03287f91143b6e15bf922be27233dfbf39367bd0c846fd0d57d679b8b02920b091f32f22554460a7efbc3afc0ef63fcc813231fb005046ebbe12391e4e13662e730783927471dca23d64aad49cf053baeb97b6ea1f09e2d98c95b223ef74526367deab262aee8236cad1c2a4b031fd3905aacf923dcced15da58df51135b1271902a6b0096438bd1d9b79181e410842fde9552822d9430ac8304838213b14b2c20009c1eb9a9164874749bb643c873eb377b30dcb4c82e7841e7f24fcb8d9a7b94f2584b750dac0c56b4c4dc9eac19533c60e4a0f6438891c010162eff8fddfc8fcef63bc36d1fdee155765b3192014add6a29d77306adf72c020c01867de584349066e65d6abb7b9d17a1cd78c8dad6edbaf6ef1382fd9ede968d7516f9fd2a5b91039ca1e56646d5b56de2d384b2dcb1a547042a837ff891ad28cae5f6223d29542d711104b86b6a54c157f7b35b65553233b09607e57104c16bf63e0963f7c4026719741268a7602b33211a51dfc30430c1f451648664a73098a2cfee71ff8a8364fe9467b13c97c6d5c4d367344bfd9795e1de506e723280bd9d97e58aacd32c27d9f86ab4d6d2404c02a8e01becf184f496751617d3891959b24361c310b989be97c60e2fdb64c8df7982844e3626d060952aa78c5c47a7e10a7f8dd15913f1f01c8c5f2637515570c49b23e5d8bf14aabe9b282f3e89592217ca72d0dafe8109ccb24728595857ba7a8dd33442f09e13a1349731ec900f6abff68f8144d25d63defe6ae0dbde152d32178366904b5feeca9d2c61a613c76c8be07ea299d0af677d6e0dabd9357072d68a6a9b7058e04948b5c28247a117a4e1e617c25f8ed5c348eb041da50430a3de291ec99d2d40d2305f7220c07ddae4e34a3a0171b733531638b20c7521e12da6980fbaf332bb7f644edb53704ed0e424d73a95a752812a0a52baf3abd6dc545a8deaa07643891747e2da44416c85643b76fa4483ca9daa1f85f84de1a54bbd09e3419ac8bb881bfc63b3230a334419f2d495f6de6192d1f6d8b5786514d929c61b04bcb0ef65731db0bd0baa3bd5d78475e75005d85b326468b170a4b3241065e03e5e07562f5dbd95e0c06a404aa78507284fc93448ea88aee0a388a154eb086c10e2bda4b7fd592286fba1ebf5432dc1f47ff55e429bb237bd0b42fc89239e1ee1c87f03fa86da841c04d7dc4171f8546fefcf00bec6a6b2713e1f5f43e41daac1edaf1984c4d7cbe8a3fb3b91a6b9d72748242f31dc7415c6b9f575ebbcb768fd17b317fe387d9ab8ab9e224aab129dba4ce3475f2d90690646bdc40f28dcd8339febda8631c011382cf86d41d39364f1e26578aaa38c594a82a46c9fa67e8d56be49b48c92fc840b5cf4123ded8df75541244c1f87b06415efbad00909ed5a09e0f376f673b0474728abe6d277c0aca5b090dc173e6c886593deea87d77f6591d3428acdf1a87a7f84fabd0dd754c6a44e179115c623cbc4bc25321fc32a0a555f759a94de15303b3deb2f835f6b953e69f5ae94d38ab948bd4df65cb9df51a7cd3e0a090136da67fb949c1ea1ed10eebcc7000cc63922ad755c2f96bbffcb89b1df6e1360fa3de45ece2ec903daac2b05c00d7d62c241acc4811168c3be3d3eb794831dfb7aa0776dccbce1779c350a96e8627e7ca68b4592e00e9520357d382ba5c491a8e253eb4ee8d569f10ff39a932dc09ecf1dc42fdd30291020fdb22d8e10a54ada03fe790bff7e5182f1b88ec8757d07a3cbaf90807dd63fe4869cb24973e0cc84d58bb7853d8bb42ee127efb03375a000c66a3af2fe873a2c05aa4c1bf419f35e2047cca6ff644fc34e7aa9149ee035ec77a0c76129457b17ba95616d0aa0ad1129d7eecef0694c1298bf0034c0086b8bb6cba8a151c558497b6f52ee585a22b28447c5f2f822cee02ec7a1ada69a3d6d69e74b0bafb9ad84822b6ef612f65eca5b19e217b6a7d61cc3281a52e528599c0fdbe16cff231ad270ea8ee8aa780ad785493d4db076549685b2bc3316d71ecf3337acb96a56df7f957efd8999e2e85901c2901d6e217f8d74a56c082b648a385b54910bad2cb9869bd0e14aadb185759a06672a18c2cfcaf824fb51bd4182bff0c9b86f80eb3b08eaeed041df74b5853d835a2fa3c781528241e99690d30d5ceddbd2754a4db4910615c7db8abaa66112ff973360405bce90f68db2949ebd7fb76bc971139e0bcd50a438f3c82a72327082fcbc736733090e10d786b929275d753fc6a99ff9733a6ca19ff4aab67b1bd2fdf35487243c18f52020e2cb70988f3ae9daa4dd80fa4e45c09ae438748ce5e8e86c45c9bc90014b267a868727bc829620d60849d66b0026188790ed7a066ecc4a19cd9c82828567ae5483973e4b9590ce078b440c2f34e72d80fb3d1fd855aa9a33415689f7cd90843ac58aa6a9217cae38ed4c04dd7e59fd564c773ec4857640b2603976309433c6d6a2572a1448b746cae93b81868e0736dc8fd5db3dfc5f6737852b6263d73df484b8a45ef05c1182153a3d38e8b7cfbb6c8f5a217cf0b0d929bb4ab43ec385a0a8f49b2889c42641dcc85c71605880bd849d57df79c07e3176c9f06420fc86df6cae70d0cd3ee101037a92b34cbaa6c1594b6685aefde82cc50435542854615c52d3694ab742860df0f2dcc25041c3423c14fcbfceb9d7068fda092c4348c8efd438c46e610385b04a958b45d44b97ac9384273539e65985efc67196e903bf274c47985805bd3a75eb6b93f5ccfdf5ba9daddebaf0cfdc55c100ae12ed5efb89db27967a8c413cf6a5e2fa030d7af9fe7a4dbbe971053b5fc5ef942221a0a674503c74d0dbd46157adb1835348a07fc1af801a62019a92f4947a6090170b41c469f266f4ab70340c21a1db0be1f9563b7e1e9b8cb8f11ea19f845cbdc65d5d3cc497f4e55ad84441e4d7e8043bd99466ea56a6219d23ca8e6cf58a2c3b587d7b0e42deda9e698a37a0f7b52b6c0beb56214c2225560ac23c31a6421406cefc9057ea1e74e29cd9bba21051eae52e692937dc8d10acc9411d4051333790e03750f4d0b2b93e8624a077a37814fa93ed01e39d6337a1d286826cbdfdbf4ee25b6e334dae4e92ae26202e8fc0e4d055a45f1bf7fd1474d8bb2dc9728fcf0ec21e159c681d764a2bb9b7fa9f80a860321e956d149c2260742aa83c6f9f8a0559a073840174786b072611670fc5ff2347b92d043db77b3fa71e7a25493406d9b04fd34547be66f792689980d8868fc4ff39c1c0a7113f49560b674d782ad2d9717d900009c444ae35a0578fec89393c1f5bb3883bd6b96bd018f6a11e4e18986ea06a094280bb6a556a9477a87710ba438f590be31d1cd7fdd1c1bccc591903aa00700fc5ab1381678dd7776edf2bccd68a681fb20c9b6592750376ecc490ae6acf121dd30516d4d20b1ee59cc2948f109dbcee4caf2c79bdb79b6a6707991180725aaf536d307582d489fdfe71497af5a4b5b99ad35c4c7bdbeb2464e3e83932b2f6328542b556fbe5ab1fa534df11d1045b2a9927eb302131499103cbc4f12922f3ce3182fd26e524743ec8b473d69c0634f8ab37ae5ec48c15d7d9a6ae03e26e06759d96bc38791c0ae5b83e0104ce6bed802301af36d4e8299a2eea73eebf8814e956229e81854db149477b384cd270f7ddbcf23549e9946646230eaadae294abf0fd0cb28dcc27c5a8247196b917304fea24a48255fc49fe0ed7388f1cfb07f84c72d7c88c0b0af26397d83b1259e67e8eaa526404a0092d5cd32ba58829124e0014986673a9d45ada5ef0ff6942d1ba68c4f4a33a9e60771470c9fdec0d8cacfecc264d9503f458921f9374a4fdd794a7d179c33b37bf0530401378187685fc9fd80eb5f825367efb764ec916a25be9d3c096ee7e981926fc53ddc5c04922f92bdc52667154c1a9ec0a18c657de2a0590316823cfac6891323c880356320b3981a6fac95d84e5bba497be7604a7428afd73b10b94f3a6e67d74884dc322e307559d9a4bdaef8be2c81ad64ba60d54f52885788213ab2e8920e9d28092ed46f5f952345e3c6ffbfc760b2332f2931098e9a7784b59ac464d0fdd2b4b4708ea7596a98a9c14be95cad69567fc8e55bdc8a05eb1211f9772576a8e6ab1ad8fe9e68853ee0099a5f79819e50d67c5e3dd9b89d7cd03368ba075782876896e09addafce97f5ef8a433d81f8b8083417c6698901be8fd4b66c5b024eb38961ea56de65952e4fb2bc90f36740f6bdf4ea2dfa5aeac7474486e28ac6ac006fc33e6b578bdd9d66bc08ab6fec3bfe76dd65e061045da09cc2429ef2c11f3a42a47ca38d959fe62dda6a4356690a48602f8fae7c5d3550346443970091f8880f7a8b69e750f3f2808067a9fc68bb2549a1ec77e0da17d88ca6c0c391de694dec874c9002327ab829e6838206d52d55ca91d98213ea130009323c985d3d51cba2615609a86368063b0c576b62c054ede2f19b2f66b999859c170fde82ff8c10956bc166aa61ec2fc33a66c49bb9fe6c7b6831d87c7a37b8838ea2e0b3ebb288fe74a598fcd9895895acf5e51499aeabf30a09e5997ffa16bd55a42a341af581a9c7f4975b20a68e4750955592848fd264bf00423fb91abb7e99b34f66b09a0b5f40860f0dfb94612e71d1cc8020b5bbf703f05a01d3db17d110a2101ca6f8cbcd47a620a04dd6c289ed01881814ca46849271e5fdfabd2c29e1565a966a6a31c9e797ef6879ee20afc6c7bb76c806e51969a03a07235a62ea7a01fa09c19697714e441c1a9eaf3e3fa1f2eb62528fe5b36a69ecf91558fce524bd1c953a9dad8b3db28d1a3e59cfa5e1808842a6b9392bfce57eb97f9e78cf8a46b5c33a08d9ba152fcba4b0834e334b1fcdfb14acf0cb063110c932c974410ded5f569a5726659a4ca138119d8d9c5a8e52a814adf5a817b5bf2797410e1e30616ab6126c63507398b13ef418a3d8094f00c7ad71754a8f23c111510bc89030d7badc3b7b2aed3dbd9ebac4e7fac508e93cd0f5017077bd7e5fc7ab7864a4973be92402b82e42d79ecdf9d06bd1076b63df92155ef10fe50e0fa9b20c669730596c9a66d843b87ee9505b83290cdee67249b1d7612826a415823a5341256536a9428222c866b857c4f7c5d4c0c11ee31561e635b00d64d72ea520684f3c007230e5ac819cc29a201df782890b76d75f6813759f730ddd1adc3eea4f8e9e33f978812a3b2eb8b3b766dccfbd721f092734332e8e5f528ba69d00a5bc891fe5041ea19c5462997807a6434333eae36ac48ff43473e011b84f1c608b4b21a6cfc8e2db8ff9d04066fe215e128f9d8c1a659bc42b0af04f54eb92ff6ad889a4bad7d7c20053be16d10bf5ce32fd70def306f56374ca97e6932f162a18f27d7b8967f9ad18938e0ff52d567b3941040e11aa7c5082d2aeab285ccd384df3e72936bb9597fa8796f8c8f47c5930503053c72c95ebf11a393d02b8b12909664e97a69235e8fa5bd2b068bcb3238ddec46f974703297337debf7ab8a1d6cba0fca1d1b0f33218def18d550b07cef3072ac929120a590a76c811551c060be24fb535682daa0e7defc14ce564fa44b8c8703e54fba4ef492120481253f16e002a105c890b213df4c515d090cfc2a7af54fac8c1e7ff70f41c4a15f3d1f49f689c20d01817d1152ec2217b5f7acc26aee50ac7884051357239330c3d4c7cdaddb1085d16512b6f0e33e4ba6484b747affe16bcffda95d2d6ad44891d121cbef0fc71b1dce0565c0dcbf10d70dfc04e4ba67019d607ba91b1b6892617aaec7e027a5f123e73052262ef360f1eb10dfc3c5697bf2275cc6d456c0ce187fcc58daa4c28d0849ee762176c45267ab0577bedf15103a08fcf06ee0bdc5a6de71c8acef63368f6d320373c2b66219719769ba73772040d3580854767dff162530ab180ff7dc209727ea4cfe2ba80804e6c519f1b4c941bea676be5df07f7f10ae72497f9edd574fe4e27020197e89fe74bb742c0eb2f4f9e7d1773b4d27aa7bf64e31fee90fb4af2ddabf290eed43611c987286413082f802b56b4a1cffe862bb9b6762d734eb0f0d17b70a0e1e6b3a4294c985fc001844a9459fd6d86606101956cf4391e0bc10e7c32273936bc90b3556fe2ebefdc866ce49acffdedb94c8d304b896d5d3fe2c8e34a9b8206e02449090f0d90067987da47303d633e9aeab1b078d4b60b42970a37ccb10382edfd7dbaf88b2b2b1bd78a025c3cbf42d84580ea607e6b7cea7baa3ce79a6c0bc187b45245dbd30445137323b309ead69e7e5441b48f8e50a8bfa2dd7b1cee60a8f5eeac4b01b14334fe9f5e6fcef91fbd49416775b7dda2e32641c361c7c89f70b4b42e64f36c69851c8827b16ee0c1029131ce17684f72cce042d085f675322785bf8e57fa3ab7ba1d555bd812caa233e03c1dbbc6dda98b25d98ea93685eeb5537070627ef66bc83a65e02a9c90e9044aa5022966a8ac591ca588892f033e172023b934b1ef01dfe3b08f705e714f3a9e9552cdfc13bbf7e46772036cf1693d2418b3df309434d58033fe6583de9e443c9113e6b015fd1ccaa3394564221da31fa1f96076eb72fb2d3cdd0e7a058c90000a3cbbe50ced080c3dd610182dccb3a805cf2616ee8542e2363beeae1382237c743254c02ae542c8189586a24fe9f54f8c507e1b274d831e8c0012e729cff895bb7c56972a81d7d3d5f175cc042f9a7d90bd557718e15372f548b16d9422fd57c13eed5b36d560584cbf53ecc502681c17dd654eda43800260d827fdc676a48a90610f57680cb13c8c0a1bcadd4b22725c9dacc71361c5659d3574784e8defb04aa5186c5ccbe0c6789cf23c348978fb866c54fa51d7fbf799cd0c4df18de5d69516c91342ea4cd2b16c72013d55854c681c7b221f2beb781fbe36b53cefff68ddcf3a0ca3d2f5d651bf6f0675b551e855edbc36802771675f0d26b2fa828ea4a50efd9994e73409a96f0447b0b22d53557a2fa7c4d96364e0c8a60e05d71940e8515893642e781bd570d770b503b66c75734ff4c6a47d1d0f58d2e9d0dac4a70ff525341679d48d4658b1166a07bd7650a40771b2466951e6322e350eec651b57f12bb0e3f35cfdafecd31d7955aab1ba170ab06f8be8d37bffc94eb36370cc6ddc5cf3af830322dfebe5066e6f6c8326db62c09a9cfb409aebc904da9a8473e9c2458a7a06980738ff0d3d17bf3293deafa874c5e1d868ee29fbd30d371abab9adc4946d1eb83ec82fb3717029039554ed00f3dafcf7a22e997f4cb37135b16a13d358db9a41b506c8e4bca3e2436fd9404e20787c0d5bc67c4c0fff89fff6fa7f4464e2d94426ffe82c39e101b2a25de9b0dc9b64caf48929bd7596fb50b2a623664363cccdcad6f4259777330b21f4c781ecc849aeac1a3af4a60ef93047806c3355f1e36f205654bcf50783fa76a0607c10a71197015a54c2b6a30a07c7a30c99045eba529727f65a5bf1c2947aea8e181a4636e583399e8af6af9cc21ef41ed735a5a243f17902920928a8b2fd2cdbe7743122918f22f2d31ed6570527ff7d629d526270d14200b7dd24750825313f496e6bdd798d5ffa6c9150151703c2cc0aef4a363a25284206c0d5655322882efcaed7ed112906e01d79e824a3a3f6643469008c3983ac3a544c97e5f3925f06eae6ca910feefa7b41233a83a28e14f1acaaec693285e8b8b88089787586634f79a63ceec0dde3fc362dc7c6e847b9270d03c6e8378c510b3aeacb1c37c8cf2155856f4f44ed891da95287669be8f13ed435cfbe20005b79417a6b50e186253ca2b37d734ace2d8d07b7878638af759e0a00f7eb2b30605eac7378d05d6d31d2b46dedb21f336fddf450230b037cdc43117c48be52cb04010f3ffa55f9479234139dda22bf535a4bfc72e3fd5fb2f252000dfe15afe7d7e4193d1693cd55cbf6ff14e3bbc457037045c6c9999050266cf03d61c8cb296a3307d5f70ac6c11acd8c6a6b2309b614e180ca245631b10ed5229c21db1ff114fbf68be954a7da7f6934df05fbdcc47f654f3ed72c59dd64948164fd52a848edf7b858e26d17813dcd66728cc4c220bfe48bb5c7a4233f2437d3d6c4f51d98fda76da646db6c4d34ca1ad7f0ce8a5615c047ee5c00cda1dca28a212fb0f44ba67dca5d44cad675293f6f5ca1dd09e68ca78940f46b57dc057991959cb1aa3ab649c6f8c93a388689267aa575c2dfa46a2dd4337ed9830380a816182abb8cf63795657b832e3d08446e3fd9c5f76a6cf608b71e392aad79b3d59a0571494315b80730f406de63f0137e62b72f85170a4caaaabc472e6b7062650b4ddf3652ec4d5dcc47895e047ade3e773664575c04c7f539b762c929cadfe203320cbf2472b8b6fab972d7535e9ce65953bec36a32e3e80adcd2ee7c9757e206874176dd2ec5274273a3df418b0cae02fd3266e008334a99186df970ea5d48acb0a8c6e9ea62c6b5611b1ad6ab6e10d6bbc3d62e24791b1155dafa7f52a179332b642a4226806a1cdfd44f931ca8c79944b23f9feec6e790f4d0f748fb76d5da4bb5e452f29f353812b979e1cb2b7f2fde745d9f9e36ec678ecfa181f1ad962a318dad5f30af95089f4fa6925234d63d85577f991603d0e7ecd22f173e472893ff97e607b5e64773127f1ab0d2b656991788cc076092cfceb88a3f7dd99e1d8f6a924ac58758e92e238ca49b9d4316d2e90fee69c2ca41adff529cdae0cdffaacfe4b7125015c735241d6c00bc0ef38fdd54cc027ebea539dea6c29a45a09cf447796ebb4226fd252160a044489e4706ea4305cdd09f1aee0c0d343f67e80cdb64c60d905a3b4b20801334ba8bb7e9b307e3b28d0edbf380d9c75cdbd58080bd0896e3d733207f970aaa72d4fecbd658491730feb19bdfa8e3fc2e2d07b13a2c86a76a787de67f407361f87886b8dd586710880512d72aeaffb6eca915f30f55e4c391e69d359492be6a2beec6bbc86e2b0018036500f78364901d487ef4cf075d365bbb4f83ce3e3cb7b8a4407da67545cca1cc846d6f88677dd6f6b65c47fc25d922f6cdaa59b887f2b2c6070008b2f53d61ef2fb53d2c9cfd1fb82c45692f0d949ce4a1582fbd312d8f951f4efdc960c75f241868cce56e5ebae5c481a8f90116a7d1ba85ffa930bd1ac2adc4134413dc906907ecc1b96c5fcc10a6bd9984d610a5f21b3e6b52776a11bf1", 0x2000, &(0x7f0000002a80)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000002a40)={0x20, 0xfffffffffffffff5, 0x3ff, {0x5, 0x4, 0x80000001, 0x9}}}) (async, rerun: 64) mount$fuse(0x0, &(0x7f0000000000)='./file1\x00', &(0x7f0000000080), 0x200002, &(0x7f0000002440)=ANY=[@ANYBLOB='fd=', @ANYRESHEX, @ANYBLOB="2c347787671a7be3ce0d726f6f74303030303030c9304430302d3d3030302c757365725f69643d", @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=r2, @ANYBLOB="2c64656661756c745f7065726d697373696f6e732c626c6b73697a653d3078303030303030303030303030313030302c616c6c6f775f6f746865722c616c6c6f775f6f746865722c626c6b73697a653d3078303030303030303030303030303830302c6d61785f726561643d3078303030303030303030303030303030382c616c6c6f775f6f746865722c6f626a5f757365723d402c646566636f6e746578743d726f6f742c6f626a5f726f6c653d2c66736d616769633d3078303030303030303030303030303066622c6f626a5f726f6c653d235c2d5e2c6f626a5f757365723d2c6673757569643d61343030326230632d30ae35372d613735372d393238652d6261003666642d332c00"]) (rerun: 64) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x40, 0x0) ioctl$FS_IOC_ENABLE_VERITY(r3, 0x40086607, &(0x7f00000000c0)={0x40000, 0x1, 0x1000, 0x0, 0x0, 0x0, 0x0, 0x0}) (async) newfstatat(0xffffffffffffff9c, &(0x7f0000000140)='./file0\x00', &(0x7f0000000200)={0x0, 0x0, 0x0, 0x0, 0x0}, 0x6000) (async) r5 = syz_open_dev$sndctrl(&(0x7f0000000040), 0x0, 0x0) (async) r6 = getpid() ioctl$SNDRV_CTL_IOCTL_ELEM_ADD(r5, 0xc1105517, &(0x7f0000000400)={{0x1009, 0x3, 0x0, 0x7000000, 'syz1\x00'}, 0x5, 0x0, 0x1, r6, 0x0, 0x0, 'syz0\x00', 0x0}) (async) newfstatat(0xffffffffffffff9c, &(0x7f0000000300)='./file0\x00', &(0x7f0000000400)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x6000) setsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000340)={r6, 0x0, r7}, 0xc) (async) mount$fuse(0x0, &(0x7f0000000000)='./file1\x00', &(0x7f0000000180), 0x200002, &(0x7f0000002bc0)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r3, @ANYBLOB="2c726f6f746d6f64653d303030303030303030303030303030303030323030300633757365725f69643d", @ANYRESDEC=r4, @ANYBLOB="3c67727aff4400000000", @ANYRESDEC=r7, @ANYBLOB="2c64656661756c745f7065726d697373696f6e732c626c6b73697a653d3078303030303030303030303030313030302c616c6c6f775f6f746865722c616c6c6f775f6f746865722c626c6b73697a653d3078303030303030303030303030303830302c6d61785f726561643d3078303030303030303030303030303030382c616c6c6f775f6f746865722c6f626a5f757365723d402c646566636f6e746578743d726f6f742c6f626a5f726f6c653d2c736d61636b66736465663d292c736d61636b6673666c6f6f723d282b2c6f626a5f757365723d2c6673757569643d61343462326230632d30ae35372d613764372d393238662d6261003666642d332c00"]) setregid(r2, r7) 07:45:33 executing program 3: madvise(&(0x7f0000a93000/0x4000)=nil, 0x4000, 0xe) mremap(&(0x7f0000a96000/0x1000)=nil, 0x1000, 0x800000, 0x3, &(0x7f0000130000/0x800000)=nil) r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) madvise(&(0x7f00004fc000/0x3000)=nil, 0x3000, 0x16) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x0, 0x13, r0, 0x0) 07:45:33 executing program 0: r0 = syz_open_dev$sndmidi(0x0, 0x2, 0x141101) r1 = dup(r0) write$6lowpan_enable(r1, &(0x7f0000000000)='0', 0xfffffd2c) (async) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x81, 0x8b}, 0x0) (async) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) (async) r2 = getpid() sched_setscheduler(r2, 0x2, &(0x7f0000000200)=0x4) (async) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r3, &(0x7f000057eff8)=@abs, 0x6e) (async) sendmmsg$unix(r4, &(0x7f00000bd000), 0x318, 0x0) (async) recvmmsg(r3, &(0x7f00000000c0), 0x10106, 0x2, 0x0) socket$inet6(0xa, 0x3, 0x6) r5 = socket$inet6(0xa, 0x2, 0x0) bind$inet6(r5, &(0x7f0000000000)={0xa, 0x14e24}, 0x1c) recvmmsg(r5, &(0x7f0000000200), 0x38c, 0x0, 0x0) connect$inet6(r5, &(0x7f0000000040)={0xa, 0x4e24, 0x0, @ipv4={'\x00', '\xff\xff', @local}}, 0x1c) (async) sendmmsg(r5, &(0x7f00000092c0), 0x4ff, 0x0) ppoll(0x0, 0x0, 0x0, 0x0, 0x0) connect$inet6(r5, &(0x7f00000000c0)={0xa, 0x0, 0x1ffffe, @loopback, 0xd71}, 0x1c) getpid() 07:45:33 executing program 3: madvise(&(0x7f0000a93000/0x4000)=nil, 0x4000, 0xe) mremap(&(0x7f0000a96000/0x1000)=nil, 0x1000, 0x800000, 0x3, &(0x7f0000130000/0x800000)=nil) r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) madvise(&(0x7f00004fc000/0x3000)=nil, 0x3000, 0x16) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x0, 0x13, r0, 0x0) 07:45:33 executing program 0: r0 = syz_open_dev$sndmidi(0x0, 0x2, 0x141101) r1 = dup(r0) write$6lowpan_enable(r1, &(0x7f0000000000)='0', 0xfffffd2c) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x81, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) r2 = getpid() sched_setscheduler(r2, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r3, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r4, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r3, &(0x7f00000000c0), 0x10106, 0x2, 0x0) socket$inet6(0xa, 0x3, 0x6) r5 = socket$inet6(0xa, 0x2, 0x0) bind$inet6(r5, &(0x7f0000000000)={0xa, 0x14e24}, 0x1c) recvmmsg(r5, &(0x7f0000000200), 0x38c, 0x0, 0x0) connect$inet6(r5, &(0x7f0000000040)={0xa, 0x4e24, 0x0, @ipv4={'\x00', '\xff\xff', @local}}, 0x1c) sendmmsg(r5, &(0x7f00000092c0), 0x4ff, 0x0) ppoll(0x0, 0x0, 0x0, 0x0, 0x0) connect$inet6(r5, &(0x7f00000000c0)={0xa, 0x0, 0x1ffffe, @loopback, 0xd71}, 0x1c) getpid() syz_open_dev$sndmidi(0x0, 0x2, 0x141101) (async) dup(r0) (async) write$6lowpan_enable(r1, &(0x7f0000000000)='0', 0xfffffd2c) (async) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x81, 0x8b}, 0x0) (async) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) (async) getpid() (async) sched_setscheduler(r2, 0x2, &(0x7f0000000200)=0x4) (async) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)) (async) connect$unix(r3, &(0x7f000057eff8)=@abs, 0x6e) (async) sendmmsg$unix(r4, &(0x7f00000bd000), 0x318, 0x0) (async) recvmmsg(r3, &(0x7f00000000c0), 0x10106, 0x2, 0x0) (async) socket$inet6(0xa, 0x3, 0x6) (async) socket$inet6(0xa, 0x2, 0x0) (async) bind$inet6(r5, &(0x7f0000000000)={0xa, 0x14e24}, 0x1c) (async) recvmmsg(r5, &(0x7f0000000200), 0x38c, 0x0, 0x0) (async) connect$inet6(r5, &(0x7f0000000040)={0xa, 0x4e24, 0x0, @ipv4={'\x00', '\xff\xff', @local}}, 0x1c) (async) sendmmsg(r5, &(0x7f00000092c0), 0x4ff, 0x0) (async) ppoll(0x0, 0x0, 0x0, 0x0, 0x0) (async) connect$inet6(r5, &(0x7f00000000c0)={0xa, 0x0, 0x1ffffe, @loopback, 0xd71}, 0x1c) (async) getpid() (async) 07:45:33 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000001c0)={0x8, 0x4, &(0x7f0000000000)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x51}]}, &(0x7f0000000040)='syzkaller\x00', 0x2, 0x9f, &(0x7f0000000080)=""/159, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) (async) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000240)={0x26, 'hash\x00', 0x0, 0x0, 'poly1305\x00'}, 0x58) (async) r1 = accept$alg(r0, 0x0, 0x0) sendmsg$alg(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000200)=[{&(0x7f0000000100)="f297c0eccf859705acf9834f5b4b6039b63eac610b", 0x15}, {&(0x7f0000001400)="c98812c1be8a", 0xffffffc8}, {&(0x7f00000012c0)="406f2bef596a8a3130012ee7bf", 0xd}, {&(0x7f0000001300)="7f5549f794326461", 0x8}], 0x4, &(0x7f00000000c0)=[@op={0x18}], 0x18}, 0x0) (async) r2 = accept4$alg(0xffffffffffffffff, 0x0, 0x0, 0x800) sendmmsg(r1, &(0x7f0000004880)=[{{0x0, 0x0, &(0x7f0000000640)=[{&(0x7f0000000240)="0eb9057a9442bff7a053c7be48e09bb5434ab636165c35f9d44e9a0410f0e159bbf8e9e32b3c7c32fe1d9f6b56df5fea3be9138276a72375879e54fe0568a6fca141dfe78b7c165c089ef38241631c1b181e60b13884025744dd3c2069cb7b4c643090b0b380af33cf4786eececff70ce7c592ca45c07db54b8e1fa69402d5982f43c308b5d592263a1bf4092c864fd9c95c3f966d52847d24f9ab4882d3ce7ed99e1fafbc9df2f7292e8bd0aac0183f5516244a17301493507f3bb1b71abc34470aa3855caa", 0xc6}, {&(0x7f0000000340)="8d85ed56347a3945096e8dca89c0cde23e3b9c16fa1ff3c47834bbbaeeac62a7ff634e7b71a315459173f0f3bfc6716a03fcaf7917a60c866e0a1eec53bd424ba1f0e21903bbc106e0ff3946d179a063086af4b770138c0c06818156d8b47f52d4d52815b3b2eb0d7e774fb9bbf840325db2e7ce17ce2cd90e4de7539bf8a009d41ed05872e4", 0x86}, {&(0x7f0000000140)="53b6b42d706eb98e4bd4b07b60829133d09224f836b20c9edf0f20a48ef617eb37cc5f0631e65cbe008f5bc4014739ac8f63bb84175323de7b21", 0x3a}, {&(0x7f0000000180)="88199f175440355508408097833542e4d5259c82d1cf363614f21e170724e68c4f82e44a12df20d411232187dcfe8cab", 0x30}, {&(0x7f0000000400)="879ec1e3198e65097e5db939891744e72b5606a01e02c1fba79339f73dd6aed41fd34a6d612d225d29bee51074a579d90787a99abf75b25fd8207f86961c51dfc79b8b3cf617792101d83366475b733f8dae10af139535a8ef28a04fffe0e999dccdc9f2272dec303903baf3cf2aee63442e55006eadc117ee23bf9e66cb88b9760e8b0dcf3e3d053a5e55984bb950d9d5bdc792f7369a996baf76eb39f387d9b4e7f8732410c2814c93b54b30a4cc486ae7ee5af20a", 0xb6}, {&(0x7f00000004c0)="f00001fd49ef01ce6308db382f04fb2a566fbbaf3c304c2f060adefa9ff178dc80895550d2c9f987a2d056925da73302d8e6525efdf4854dbb55d28e7af22e3f81d39f32f07f1294fd938e54a358aa1055abf598923cda81cd5e3e99651d85af12608fd2b95b07efe02c99c6591db504d41989d00633ee6b8d26ceea8526cea6ab92b38e4d449989c3249c91e9a43d3083e098c6ec337629dfcca0cf4796b4d2b9f2", 0xa2}, {&(0x7f0000000580)="6616c4ea58c1669922bb95465c1b8844e95727a65789c0096b28cd4ffdd9e694a2231eff1d016215ac25656a9463b3ac5dfba96acd517f3a4239b4b476fca5d1275af7c21085d542d78b7b84b231ad3fd48712fbb9721388182c750404c9d83daa4ec9c1bfa3d945dfd6cfb8a3b2ed0ac86650881f001c6b8db7e3f96e3de7884b7e3482a1027f03740f4835f36e", 0x8e}], 0x7, &(0x7f00000006c0)=[{0x1010, 0xff, 0x1, "b35347d5ef31c51772b38c849a18d13d5f25629649dcb7dff304c575b06259396c1aad3dd13fcc3d3d517692bd4398a65e669017eb58725b2f1581a207d9b4383a16fe5ff6a2b5bf3bc45ce3dca33ed6ca911e0211318eab68e4f9aeb50b2b192e0f8c0f0da3ba14eac3e52f355015128bf37c07df75916dca8b77c32794ca4ecf3d99f13719092b7213b8b6e26694e7b25f717f606eaaabc899dc7715748545e5f02b7f058c259635a6c469f85b4411e71abd571910b5090871231a0aeac7b41cd4b11196d9b054dcede0a000b9512f2ff7d3f3c7a0ef7d1fc12d509b5ccef98f570a7e75c43e75db96ee3f5a70c8163892b9f63761213cfb1599391a9ddfbfbe202c61abfec004a8aff45187cc3886bdfe84eba2389bac06cca6978541bbc13e6122ac864aab1be7cf3cf579ac8db0a927c9ea6d1e6fd2471c4b158335201930b3b763e1e4e0142b86a7de493bdc8d1f8c75fb537bf071150d52d7d50ae3bfa96ac30f8224c68c3ff6389d075f1b81c424a81f4be8258773295d4a4dba0028721ac53562e66571996452d0e0dd999f67590ea0252684975141fe3dddb10d407966eebfc3f9f76dcf652bc61c52a408267db617b27cb50463d6760b00ad2dfd04d7b54bbd2fd5a061c9d8bd3dc67f0d11385cf6fbed0156ab65adea0b2887a12c09dd6896ebbfee9a212442fdc0c1388ef20bb6db706ea8422d15288293257d8c34378b1e9259e34c80eadb10a5196371f0cd6c363210bcbd1bc27c69b3413d8b86d7c196f1015c6ca9a6eb775b117365f04e2d74ed9b333ae8eca882308f861ee60f5135ec53f1744a9b4f89937d550d9ed6dc6ffe941be46c4bf3cb3c438fe06762642c18936224a291edefa74843e40c000deb3a03ba90046be9006098879b72617a5e172562d9e9bc1a8ee6605e8e0332b18ed44295871b0659a99515d3b666b80443dbe5c05bae24dae11c87d7d19769fff051a56051c913e0d1476cd318b38dc4bb6d90a0c84806ab5c15c0b9f180de95c14e9d9f2bd98c005208144f4baa2a940f0519736a641c9051a00f3a009e883ed640968788779839b78306a729ba7211430007a34e06960e83c6a50d97498c509cd49b6155709bf5c6d85a363723026346e686eda99ebbc335bbe371345e7a9e61856e211e99fa42474555a0cb6f6fc3f1b26277ca282846194a46c818d8dd47b357284e060e83b5ed68523c753a0082da30023dcad9bdd3bf04c3018d6553049cc8c5992fcb39162fab6887a407b886589755ea89cdf9e5968d1042ae645ccf98cdea6d7e24fe3f50ae009111466613966ee96e1b2ffa5094852235602b610c80334cfbcead85fae5c4db314195a7ec23b7dee4578a661a3fecc931f7c0d2d8ade0f404ca259253655c3d33d4b7b5417c27c037047da96dddeba77ca85a4b4fba949c6bb468a1fa415ee088a0ee5d4b37ceae66ecb43db48c5c8c2d24dfd1258df8056a7ac51296bcb1c4a9e54d9549807174fd2a2d2ed9bb45e66b6e9419fe51473d32525788c7ebbc5c0f7b12c710892074084242dcf702097ee493d6264a335f5aa4a4df51aad93ec7d2fd5063fbd90c3b75cff0e9945b06ccc42d43a736b4ebecc0598d55278601414e876526e9f59e243142d6b6b072401fcd78f3352c74f3ca90d375767c1526142e28beb692bbebbf5fb81a7488d2cd030e2fe822d6122b8aceda6722c58dd714029cc2908e251396719d5f9b75a12e08c03d42a3932626716ee9c274677ad87464a3583a31f0d342cded8640213ac6bacc3707694316bebc48520bd65302f3be5ee3615e8e2aa054f71ad9428316c935b1200aee4e9ddc2e002f00950ffcf92fa4e0b2a48d921e99ceb280706eac7c6bb529c4e357981e119fd6b62e80e1d0953116982928036bbba7966fe7d967fbf65dad03509e511fa8fd80db7c947b09b0a79e05e8694b3b03a9ab3beed5717f4c5f1c89a000d0756e90e56ae6af6cb53c04e72fa6ee1d3bd8965f14508be36a7275ad0203886f64c043cb3c18fdf6c8e1ea3de7b626ded66a95b9fcbc8fc75cee2d07050569e9e43ac66d3bcf61f0250a7948306afc06156954a7983ae2c951d8a268efc72c56eaacc53cd776ca210ab5acc8f5c9fb2a7c11fa3ce3a80bf48b1a23c90027d3ffdb40c1f2ecc590cf3a57cc129e1affb2ff2dd7774c5b6ad924291f89446ddfc2769c22a59fd42848f2fa7747c8f611057bc0858a961ad5fbc62b2765b28b516d872263f445d4d6cbe9b03f6ddf055f7e5955151d80240c6b894d3d8b61e7e4bda0d6700f386a29384784974c0b4f876cff8695b1bd9008f00737d586702a756250a57e6ebdd2aa86352831adb1d32171447398be1444a1f55221ab99012df8365a6e2bede8db3c48407aed8875138da8e46c0285a7341b0774ac74c16431ea86397b0f750aa796ce8f2fec7d6a01de76245a09b757d02b68bde937bcf0671fe7f3d6c2e2fdbfc1e30a9f60088ed9bdcb7b1bef9bf287e90b40d82d9ffd213deff50de570b25fbd3109ba43e17f92e3bfbf3af9db6674985ed24887b534742c2b3cce073f9a11e842ee27c5e11ad392f258e73a824015765650b237b9ea5b1d3876eaaa48fffe95ae702ace7fa0e47b24b05410e934660e9d85b6e746d6231b1e3aa1a720f4d426002ae8309eeaf012851298f04952bc80f26df8a5a13a59ec649b00b59546cc8d0220ac17872bfdbc94fb1f57fedf2c7e27f1eb52f591086c3f83e44a4fec9425728a843743c22a3164f101049ad5c242383f9d28f1d91364ac51e1eddd013caf24b71b4b7aa9cd7d258ae2264a63e018151aef4b751d6ad154e4b540749d063ce1a4c1d16763de845abf8935d73388a22b56804d620b1748218bbee62cb4f07db2ec2a1514562400135a8ac6e12d42261a2036c148e6e97bc8f985a834abc865be694c91b820317b429491759f797cdb3a1b908fb5a9472a7d9f1e2311f90a36800cfd7b2d82e686994a71278df00af320c893f4cea774e356657147fcafc53549f552c88561d6d51b4b1218f47c5fad4a294971750cc9b28821343d901e7a0572ece5406d984b5e6824218a4caf1bc8532d4711ca127c6a43b65f139dd3b6f768d7315932fbf086c5949901ca73f800afbfc810992ba7e7d13a61103d04fefa8abcd7e93341617f6433e693aa6e0a2cb75b8ca1bba41e2fcecb0851e41d0d664e3d4c9cfc493fdc15c77d7354b83ffc8f024f5ad3945b14dec8ea771db26fd1e2a54409c27698c02d8e8e448e61cff7f15e61eb794641aa398e69ffd188c310b5490cb32b49c560a022033dff04d63022a8a008821f3f186e185673735f3a60e5d97c991e8e6612a6998eba1698e3167659399d784fc0d57ca72fe2daedae3cfcda0c7574618b33a2915e4dae71482308927c08fdfa8e0111e95251b20665a19b72ef2b8c489fbc0b705bb77ea694d15625249e2ac9b584d553cf698a4a44c9397efcc6b2ae8ea01a98c7484803e1537d1ebf772f55160ec1663cb9f69e99f82b97ef67fa893d2cf9692bab62fa85f168836178238c2dc51b64e87bd977fb0d4c637314cdb861b22bed220731109b35583990412d04b57e5ffa12cc60e8deb1861439931dfdc5c006dfcd854ddff5a71080cd36e2d5db45110e7b6c46ca10f4ae0caadb9547c367351cb5b463b1a0d82aa49482d1961b1944566378da0541b7d5e47a076c61a39ad8f84d2da6fb0265b66627dfa435d7889e6480bb6e06169503a16e4ef49c4fd32f076d110f1c13c85c339b555b5ddd532d283993f876d6078c552334292e75d095a25ff2cb2fe19fbd2c01a4d5d3731c5b29946db189dc14dd53a1522110504fce477a5c5a953d6492cd72cb6e2692e5068ce0c3f80d392b48d0e745d9052b3159d37e3036554ce42275096573c43cc64e2ea7bcc9ddfff8de4dc3cf106feb96ea3cef352bf5404e3a93743e264923a5698a01c0dbe707040d8a92c23c1e8b7a12f8fcdc4058e98d704f24d2bec5e597fa68ef0b8a4cda8064e769007743554078f8a126da50f7c74f3bae6580b37791323e6e99d17118ef16764191cb107330e1c1c9b7311a02d1b9253f4d9cc8768163c3706be016cde40bfb6fea553df604172ca90e1c3dfd08f4648de8943647886299073e9ad22cc91268e7c79f21bd7d7630653997cfa7f8af2d5da6546847e4e8ec16d252058fc67939c520333ce519b5eae4aa06949f536d17f119a1e2e6ccf6fe29554a09d13a3f9f42e62cf959347664d98e34413142bdc5d8e44067073c1bac2531369cf6e75611a095ad12814737aae626625dae551e03eced98c6f4c0eab9a67a8070bf79cc365a27edb4ea3e3e31d349c3bc3b8423cc02c218532c4ce14eb2f27bda51142460b61f5cfcf1de0126135205103d4203c6608d8da50871a561737b9ed55d442bc34f7b1ee266a27f55469fa96da67028a6b86f95818fd32bf38e29a00fcb88e6f3b95d4a62887c613049be4bd6bedd64d83151c0308207139399efd92d31ac159e402230589d7da5184d6af03bab576ea6eab95eba3b02d3d9a9403fd9867cdd2935c907f7031fdd361abcce546b462da0186a560ac4847d35a652b11c29a2f4dc65e5b6f0b615d3631039715dd12d6ddaf49e43094d875cb0f7d2050b49be97e0fa0113b5389cdf7b9ff061173bb41358b67668202edd70cb1797af3f728ca9bf550efee815c3086416000fbed451463e01c84d7f9af0ca1ef5cc57fde784550a12dbc84385861f607ee947c7be74892ec529e498c3400da8e3dd3005081c90c69571fd783bf2ad95979f70de2498d7a00176c54188d02d80152187b172b3fbbb69f58d21fca1cc27d0ce82899d3cd70ac678222ff983e4513cd30a255622c5ced9a8951670fbffb5b97340d1f581e8c403c1d6a7ead0bb13b11fdb082ac1ceb038b6c9d1eb1cc49d91da5a41ab40a21c77d1927d7966e34ea1fad29b3976429c8b6da74c0fdcb12644c290af241d0781c5fa1bfd7918aedaa2aa0c9e27e49654a193bf0187c4b7c1ea8fa1ac03f8ebf5874e6a5a9a2189f54ef2f5f1deb5edd979e9b24e3ae4c854761d2b4f92e0a39ad9f6f0e4b50bc232ba6009e0f813f089252ec2a7b41154a4ad2a0d8840a5492def5243cf80a1334592b5853eaf15862ac3733b65dffaeaf3cf463bde5a261f7cb42e37f23925ac530f170f2f57f1ce32c7ef2baf80c70200c9d9dec236957ffd7e8149ba6dddf07e194ca8d49ec19c8d2a2274130efaaaf8a341e3486859e8255c664e9e87155d733057499d152045384022a43d4a692501b25b8c81795367861fce3759a5161053c731e925ca91345b79c1331afadb972c0cedd190799e4f73ee4b9e2a54226f4a161ef0c25b3abc48a3f653b97a1e30fc4493e5b7f5968b800d004dfa045a9e600229692829e02221bf8e466e7a7857a3b21c4661380b560643cff477d2b7196ea7273a55f286bd08808fe7a6fa886fd26b2bbedb0e65eee52769370f2e10c14c76b2355746d785442f02087b6c601cd335f3cdc1f2c36e3ca02b946a4350c5028a7e85ae6a04e5748bb3174cb5418ac2541fd5e4819e30d0fa156ec5a04ae6f7cc21d7c6478ba092d846c5ce418d3d6e686113674927f062b70ebb38531ba38dd6d447ec64f81f7e965ade899135aaf413a1366e36edc047ae05632d0e77e93b233a0dff34740ed07cadef34fa713de02249bb8661a19bfad39bf12d9ddf2cd300161227b33e6d281c83610f2554d828be56efe54444fec0097a9d3d893632e21b209b0f78c346c337d7"}, {0xb0, 0x29, 0xdf7b, "f2510cc0d55dc6f99e85b880d77aa8e174ea1c045384de5e3137d65f73f90883039c8d61bfa963127c78c9e5bfa4ba9078e76bbed4e6d2abdb175f394f32cd0d939a5da29cf5566ac52be4ac76df9ce7265379ce4e0ba53c1fb5ce178f0d9ebe6b7c97cc57777344235d00cef8722755ffbdbc22d6f5ef9321daaa176b91b98fe41b15456f74d2cf24ed9fc37ccf51b3d5f3749b323e0e72d3"}, {0x60, 0x11, 0x7, "18af3d88ba0c22d08d5f051f8836dab5e3f41078b31401fc4394b4718d52c5685c11eaf0572cca1e5948fe2fc61d48afff2847d8d015e45e7b809c63c98e6b21e92483c7088007f30505897c"}, {0x50, 0x10f, 0x4, "a8a11563e04a65916f30764e271cbf61248234a59d27765b266b079b6c8ad2e66f16311e27ee962c12157027c2cef47c21fa32992f41ac795655087ff0a5"}, {0xf8, 0x111, 0x0, "6f197247d4d54540891a72538c9cd909d71af49908870b8c1cb7cce5dfb61bca4c8668794c63590ac09d4d161f4e52229255c749df70e1390e34e6574fbe36cdeb33984165465631f0eef1d5e992ec9781a68c4708c3f1af9286eb0cf2de6a5db7ebf84099f158c01da5f8f80087c51a01593a00ddd9e106522c8fd61a9da5a0552eda0744d4ebc744cf35464ad31794a9ea4e5958b9403267803860e7d5d980021bcbd4aea45cd1c373a01bfa236df4b31ecf77daa9b6752af2c6d02b4346dbc5608fea5b1e4ba7d68a71b1c61380a32ae88c083e091daae4d64198fb114c5408e6"}, {0x30, 0x11, 0x100, "8e213bc4ffeb8c4a6c063e7697ef4b261793df3eb2d3c1c84172"}], 0x1298}}, {{&(0x7f0000001980)=@pppol2tpv3={0x18, 0x1, {0x0, r2, {0x2, 0x4e22, @local}, 0x2, 0x3, 0x2}}, 0x80, &(0x7f0000002b40)=[{&(0x7f0000001a00)="c7f9b2ee77cf3729f5a1d105441d7da6908123bbfe6884ef8f3477fcf60c34a79d257122d232455839acc290345f4ebf704f2b44b7637c1f92", 0x39}, {&(0x7f0000001a40)="7f233bd9b0fec554e5d5d75ac7764a1d6e281f7e0232d589c42b66e85d041dbd1e7e465803af36d2eb36da4a74b2412a3ea8bf56fee347e874c8c87085a4f0a68983fd7a44d52f124e0706f929cfd5d843fe5c1b8f3c8bfbff048c7bddb415d8e434092776f3e20608b643c04c7c50be98556f47741766d355de763c7746be8c076c943e720cc7f3d5d1f9de003a8e769611696a56d589cc279fcbcfd94c2155d103a6b374ff467d8e676c49af354abfb3d4a6a570aa8b85f7db6cdf4247e09f5a44cb7f6b52adfb524a7011e3", 0xcd}, {&(0x7f0000001b40)="617e2988f84344d7b507951a990e1319da1962bd30aaf376489a428ec7aa2810057d18c1c455f25702884e10a5bf153cdd97b9597f0e9c416305b69fb1e739c3adef0474e7e4e51da3a30ba445fb0f8c83b57f516ff124ab735718fd6a039065c5e16ff5ea8a9a42c5caa037015faa81c330017f74a4dc3fe9fc8ee272dfdef084626503cd7165052cecaca64e58aadd1d17ea245f5f71d246d21b2024c7036f309d753c8ff72c43eddd8fc3c36848246c3cb1400ae8b881ce794b6aef95153566b1230a6965d2981f1917d4a360c978d2b55c1141e1473b933a206efac1d92994da2051974b40de789fb3c15196fd8a4a9cce3c6fe036db9011698e1a0747cc2ca4b0d2bde2e99c46786104f022e5a6a329bf9b307b055234546a9314d220b59b0b59bc6685c2ffbd2643dd6cfc8b164793bda5255cb6a0b1cd5b6e2d7524dce762d172d739b46d5c1fe16982eda0128a0529cc6d9ad25ceddbcd0045170053a9015c0fd292ad2213f847a731e1ff8772f9890d1b5cad6c750b23dae3c4f0dfe112f071cf9fe894a3661b2054ebac5e14bf3c150292c54ada0446741d997618053d96ed5735e836fdacbb7825428421ed77f679ebc6ca1779c7270375049287cd2c93b02452d12d4a96e9d10fe03c9fb8642b68e09877219f251241a379380d772ed1eb4dccdc463f1fb5fd230f99bd5e9d02974479514895bb60003da25495e0bae34254d5b48cb9064de1d4d8934f39c1e323de85d6bf6e3f56613f7f987cb70d941670ba472df2002343e03627f1b841becdbbad0350662a6ff312b7bc3eebed392e4fb1e1ad7b1eac9eb60e157f20b2e23dc5843406b7cd30c49c55cf0191b38d220fb172876482f5670f5930db6d0cbe8cbac609f6bd56860f525af204058bbb4e630db4aff5c41bc899f901ce779b6c6f806be14c995906cd078dae5a4d183324fae7af68eee6a98c6f2c25f9ce858e05df7be05c8e16a9257cb5a74a035d6ce10386098fe21aff2963208656b7cfac07540191ba29d8795bb0eed1c0021e67f8d9459ea40d4ccc619a4e5656246253314abf9e23185b40dac5267eca5bd3d9918e70bc3f26247e246985c6c1d192fbee2b0c57830504713d77ea0efa005ccb4c88b11df5d88514fac108f86a32131fd5f7b8f6db68126f1d04ba5fbbcbd9925519fb8c7bf01aebc18a104207dab92aa80f868d71bee4acc7a5fedb4124d1849f1fae217a7f18d221e782fb732b514ebe9d1404a7dcce160a392f0ecbe6c7c825127cc6c61c0133f20cdd713998c230e1aa19ad667d5033493ebed5e831480e44a834d83d6b7bc288baa8a0395f77e5a1becc449c44bbe7efa37080cffa2a9561988d9ef454d5bedb077b3d1a448c6a873db0f37f9b05f4e3ee54006769a7407ba63c95342144f9cd475d4ce57f3e33698b9e8f79a853c0e9fa10675c93bb50aa6633f59ccfd3d4651c4a486c41514dc558598836074d28f429fb0d94ed64422040fc39a119efd5801db389c75e2cc4abe5ffd2bd1beac7b773fa166f9903ff6da2d4fe35fa1e10922d9e78be59ce70d7cf6b442136511b2863dea522c2befc7e7dc41246780cc680a0394d140207f46324f56d8fbad57a11a07ffeb380c067bf79e541f7a7ff11f7406121c70da49583d315cc2cf08bf546aac81c5c27d1f180928bc628842aefea57533df59b1385d3c8dd3b8f0a9c405fde8aaa31eced99f4533154a81f3922f748d44beedbb9b74f27a2835b4adae51036f98043a5ffdacd95f260e843b6ce8edcef237702d517c1e787892f8e2711015bf6b799feb3632e513b077d5f51df30161f0a35e122c12f25469084b379f9501bc4954bc9ae32504b61e86b5106778c15af52c463996c9621d2b6637a934a866fee748ce5c6259df183a4e00ae74c6206ca513ad2ec354a2c41f717913bf8d6b9ac68d3923360ff488caa6a45b57584ae2aa077b4bdad278bd547174bea4a3d6bae334e70ce547c1442eb4515ced03c1a98ea30c7a0965f776fc0aa0a161d16b1a01ceda09ffaae7f5f90bc47db4c7f56ecd0f716527a00061ffd850d30f195e8339461c620b3a481ea58baa8dcbd27e2dafed6823bac360957d8307735435c26569f31b5a3dfc9ccee69a05d7ecdf1eea8331905d5e085e64259dd3976ff0c4db1d855bf101ac0f5bfc5f4aa51b0cca9fc2f1710e35421fa95d74b39474183a097ee0560778359bdc43be459715501cc59dedad8333670013ee0847046e965e11617bb6ca41513d3b607d7a7736192e3bbd4f3ca1930b03c80fc4c34cbd046726d26e4f622969b7e22dec7ea65a115210118aa24dff8b858d0c3b1b86eaa9f80bbbe8ddcf7deed23c5776106206a67f0f476917b357a397ce7000630dd86433630088434c70d383476a5bbc81ba84ab4295e76bb1177c919c480c70d6204af5dfb0e92b612d1f7c418667691d4b192ce36479769bb83d89aef79129022ed5ea7e08d7f97eafb251b4b4f7f30882c83bd481eadd64a27b2df991a592b52c577ba0b055bebf7557311ad6bdd072860575f8aa6736945e4e29d304fd091eab08e57542e1b05aad7a7534f3ef7845c3e8957eb85cabf17c7abfc412086bf3f818bfb4d9c83dab201cb636227243a3ed4c555048d1a918365fc9b5ce695ffb974bc889b55d2a72d4781ec43fe5c9e14fbe7667da20806b752bce20ea69140e4b6bdd9b64de1585730441a413b14b730fac04fd2802227488dffc0da28f1f451a7da5665805b57a0d36bbd20c70aed7c3f8c0e876bda716911397a2b8d36f6c0f161f61dfcf0a91b10bf56c32fc67d83e6b2d9fe73c350633a5ccd0b30b160db111c410184b866bd38981a85358fe1605e07f69211551f2d497294dcf559954d9fde23da35bf4cd0f8a6127055613578d11b648a021bad65f75b930e32790ef9be498af4ec6d931cea65cdf5eaf8ac4e119268562bb157b1e1e0ff2b7fb52dc8b965e0f71d3a6d9fe1939965e17d048d3070332e67a258ba37e80ebc3f619b394a21772e594d2bac435bbc605190e6af861eb9b7b266b6fb4f4217c48e38a3df979b7e5583037f8a110f801df3000295e58217b79025158fc73183fac5ac5aa195dbd6668eecc63c5b61b6c7b2d06555e38a952b584b7488510fecba6dfcd5bec3b1f9346c61fd0805905c58f2789b98d512630fc721d0a2d368901975e7342723666e988b4fbb2e515d21446c37d2cb430211b793ffede1f7b57f1b8c666c68a49537fe16461c2c667de93997bd743e9753078250f0d0c49a116a923863c43a282f17731db82e7e5dbb74f985c34dc08c8c7fd18c552817f4845546087a1a9aacb873f6d5c29b52d6fc2c4eabb03e594c76adfea4f3859551c12cb4bf0ccfca05ea7b38895399ae2e4895799a4789fb91aaac1ea1c2920f8fe18b0c30e27a973dde72e7d3b8108da3a39156bb1395e169ef87031f421b46350d50a0a3b23f8420e0d0b33b6ad7175a2a93ab1fffeb2f67ebe06381206f2c39f6bd9c5db189da126c25ebfdff79bc093d52eb160c10d1a5292f9c3d73184fc4e89e02e9335d5155aec9b0f1207800e7eda9cc2d2d172fe77239eebab397492e11384a36608979a59a679213eba0c14cb5d647257ae3abf5b21da2d987b02e66e0a976708d7e65a08e710473fa0ce083f0d59958b5e7aaed012d8a366d1c68db2ac7a4abe59f5edccd8d038af21361af0f0a8ad5eada79a2a34a854bf4efe5c56bd821a841fddd377050e3bdf1c37d3b63318216f585a1e569747e5437b9910ac257c7f3a84147441b9e988c35df7c745cd77604dd308c2aa6349d982a69f16ea3cf100be8db4e4749e7a43e8de1fcdacf72321ea83f6ff4540f375694250fff68e6d30cba393651df193ab1acccb387f5570f2c436010f8cb24d851b4fbc9fe2101e123baeca76d247eb29fbcfe295f45059202ebc842d46c665ad506af3f326ae86e7888cfad0bbed9c7da81f0f3aae4d9ea1a9bb56c043bc6c0dd8773f2d0396f4343fb39a65defe68a04d68fb5bec2389cef0b265378039d3825439cdf4913094b818ddd0a115b9ab9d9f29b6dc6fc6f33dc7db1e361ee85210378d30b162f2a96f041537f0edaa161cc67215563aea570de1c7f95313ff2a1d38eb55d8fa6f669e6da2fadd1fddc923682b5174d7ebcdd8b4069cdd4c4ed2beeb44dd301c9a2e0f11e77dd459d9c095f347c40ee9af27ac0494227c4f4488b97c32233be0683323fee72445a708d998af042545894e2801b96b6cae0fdfdbbfd43bb5b95130187f1a7da9eee6bb3f79161419f6d8f77bdf4b89c5597f4279ef4ba033437b0e6a9444270e923a420a1c5ad1d0a6ac616076e64b83699eb225ae84aae29ea6881369ca475c7d92926c4c057447d302324865054cddfcf8c8b24fd1c26549d5dc422cf4c5d7b0242b48e599e4483cdf3df377899bcc57d4a4a556c713bca7fff47a59465f6567ec880980da43920c1ec775011d3ec48312b7d7be97c9587360d2515fd5c822023a243669bdf6e384d65404f1fcd841caffe8813ff52eb9041142367c22b9f469a62c7771d0215fce30c5478cacc981a808f23e7fe4f1942acc7bc9abcbe277a9715d7057d5b415e97ef899927c48f58aecfeee1d043814c16b05cd6295cdefbe57f9689f0dcc030b76c8a05642234044422094b22fa53b0423ca083a5cf06e39f7e98662bd6b7de03aae2045284b2653e33dc7735eabd1c73519a22c2a79a0915b226d306b5fe361f4177ae79fdb46e93fd027778bb21429e320447403cfc3a034e3e2be1fb46859aa3efc70e988e31e8699c899508dd76eeb66158c04747c883561225d75c65e5ae58e961404ad2fa9144885e1f80960a59312fbb4c4a79493818b581517832544a6fa9142123b0fb23c1db69a937bfb84c57b0c2dcfcd8967749b861059bc0b28db148ffe4730e00341f83cbeff10e2b2c0da244ba1e4ba6f422f1ef4f20a57df052379ab73c5358b98ab6ab9332b9d1048d596f73567161558a612564865acecbd28de716922ab2bfd3aa853e3eb0c2f95a4c7b24dc0079a2e12c68809f3b414b35b761cce8f7cbd8e70a30294d0a75e587dc21f2c4c90cd5cbcc6667783f16b155d2b5b878717b07136e2317c110934921c86955549ba2d946f593d9ba5b8ed116eff900dc91932e2aec33e6e42f7e35804c34097e81b2d5090a6137b212483d04bdd0bc787ee0b3a5b1fa7085864f4d2f8e8506b612ab24b80848b564fec62e7eb7800f192949d6c43cb39e78cdcfb10e9179607e9fb23dd7503507eebb8dab2c8e285b99c255e0c29f24d340653fb2d456dd65dbca8dc9b4b7906f2912cf17a45db418a7677cd2719dda6ce5a7dc8a156735f7395c77fbfdf0518b026b073645dd793df8732060dd9e607850179ce3ee395012b6d8c514874ac887543a93ce4ed31748bcf68009c6c92ab899e1e80907cf731ff4628ee0b0ed878b6baca1656e2104e6821c77dbc3ad9daae8c456c70d2bfb12967357fb9d9c5f00d7f1c800d4272d8b8a59e0c5e292178e2c6a9dca729995c807c03011c791180a9dc3332918859fb8bce3bfe5b180404cf5cf8599d726807756829393d978b7b06ebba590c5de0883ba24a5a8272f8004d7a69df833c6f8bc0b532c9815ef1dafe5fd6773a1d69f12efb0881bd961e53de565aa430d844e70a26145acf3e77681382614979b36972737d55cd15113d71106336c00475faafe91f19f9588f3ef539e39f24b342a8959a7348038d7669a894bbbb85ee707ba76168feb6a183fa3fc38", 0x1000}], 0x3, &(0x7f0000002b80)=[{0x68, 0x112, 0x5, "3aba958067a171928d359363eba3fab6194a5e17d23a40a287b0734d1c18975b81b9443cb02fbfde955a57e372023ce9112305b78f2855f5428e3c49322aa622db9db099eb234d4f4b0a8b03fcc2f14b12b6"}, {0x28, 0xff, 0x0, "1bf7ba661413a8ba053a786382c8b88bb218e8b88b0b81db"}, {0x110, 0x108, 0x5, "8f79c10205c6592e335d1e5dfeec9dba093a5f6578b3e82cc6d54e9f82578448d502df6333e8c0d5e01d93a18592263a9898502da2ae01dd41c7ee8315eb5eee57fb0787744426213c4d3ae2fa14da99c93c0fcd61eab8c76fc327dbc763d13c9168206eeb00dcae8a07f85a7157880c6d8845d866e4ed106253386c6fad0a3d13e46177b579a40853f98eaf80c19c28c263cc65980bff25aa359c10355c41d423fef23aa2e8a2759ac00cea491908e9e784254b73f60d391c8dcd784450a09d61623ba29a7e62a508f967015dba756faa2fd8446839f7659808010c0dc38b1c04ac98b277bea3f6f25be04eb34805a2832612b67816db0a20fb80faa3"}, {0x18, 0x10d, 0x9, "679f766c41cd27"}], 0x1b8}}, {{0x0, 0x0, &(0x7f0000002f40)=[{&(0x7f0000002d40)="03d9ed86babeb7ff23e07eb54936a5fd30ea4d7df5ce957fb04ae89c5373c5128c4c6d5f8e9c015387371367878e68d6c77ad5815598498116ef63159ec6b7ad1739222fa4f772df8b21445b9da0e2acc694b0b0847b175473dc53eeeb766588e18cd77bc079b781764bb96e4a53edef1c73693b8005b57e18639480be4b0a760f50b03b308acfea81d1", 0x8a}, {&(0x7f0000002e00)="c9963966e06ba9233c263ca5be4f3128c138e485d6122bce42f58c23207fa372323fdeaa5afdc7af321db8e35c8f44999a65e0f0c66c81692ab0", 0x3a}, {&(0x7f0000002e40)="0caf2940af3fe5d9cc859a2b6becaf0779a46662c36aecb8612aa665a8fc674aa4865cc862c3e638f5716478dff3fce0654a74c9880c0b27844af6dcbf9f6c734a1ffdad0157ad5029399146c1b4c1142c906c13a55bd0b2beb4fbb4a12e97cc42a30268866dcd9286e5c21164b9df3a50fb1f1399e9b13207b57a3f6ad32917ecf38f5fc8bc737168568cc35570cc29dc4d95fd065b60aec17786d21a9aabf82529f1cada9971a262b899541b3d139d8652069a80909e1d51aa036e88ca697651eb7bc6d37eba3672ed886a6dc9ff5b6b9eb04996f8231ea7da6d4b18eea076fae199493024e561859c33c79d67e4ac2ded2bb80b", 0xf5}], 0x3}}, {{0x0, 0x0, &(0x7f0000004080)=[{&(0x7f0000002f80)="9e8d66ed99a228fb111a5a95cebf7af8d93036831ecf13f6a5474be4fe77ba373ca149f1dc9ca3599c65528e2efbebb250f11570338c0a8213d5b9f37111fe32f023439d7ec7acaf6b238a6dcd8c435ede1d59e2e2f44ed5f26991a5b5c1429253ce774d30303d04c51d1a73a8b10fdb0354779c6fc5c9151eff84a99ca6e0430b0836178b13cc9cf56c78b99aa62be68038fa6d77e95bfbe9cc9561f7231444c379504ade25843bfa3646ae2bb6451b51cbe59495799cb6dd67e5de01f1549aa8a37526040de06e71470a749ea6424cf09ebacd8cf0b13373ebb7dd6517e5fb4af9eb43b6093e93", 0xe8}, {&(0x7f0000003080)="d4cf2c56859f8ccbf365e558fed111b1bddd4616eb4913b29d1a784019a827192bd3ea65d066b7f0fa6d58ee3372216a0ad0fe4a49e35a020bf85899a92f0c27b68d22b3e174e15f9822055edc3e223c64b9fd3de03f73129413a6bf4960bd30b6ba21431bebd47fd3e21761118f5ce9f6ef37b7f4d2c41365910c34fe14d7435d2a50edad7e03d6f1f29793006eb1d57b9d4f16b7d76a9f1b22cc8d2cd80537791a011ebf3608e99c62ffdd55a80094fd039183eb85edac448c75975d52971cbe9a8869d6f8858d7ddb4b382997cae90462266ae64ae897273898e12324abfa6bc4c402b95487dec52224207a58237a112a19e5ad1f19b6a6c11c4f7aefe75c2033f2db3b6b1623c7914c0644ef570a4e4c55fe70204b84f01c57b0329842b41375769b31285db138f02012c1a947456ad6d658ed9bcf2e41e6e91ec1b12d57ddf85969b813e2b66da9a9a22fa2532acf91fb6dcccf14585a7abb4e8e002384c201edc5da47241f40823e5fcaef23549a16d509e2a952c118760b13732be9f2b8b6692f902409483135a403da4660bc41d4e588294fc7f4b38e96f13066c1400477880267a9ecdbd3a82d4ea10291f8a98a19340fe37aa667630eae4978336e618a47ef6108decf8f39db4a89c6e43cd280dc1abca56fd2bead184ffe46b13e92b571016e3bc18507ec01adff22a8549712a5070dc28a9f69d9eec015e6d0dc15b855ff66e51a862d901c1839468549534348369eb4bc6002ec1588007b350536049171503b05df1a6ab90e8d9a7d21b504c91143d59e83b546d08f8408b4bbe4101823498c559dbb32981d92ac690abdf5dd54b3b1fe266d77e83d998c2f27fafbe7800c589a07be3fd2ba20a0b1e0610817d80eeefac23ab8c25807f2084f27857ba66f99994c2f71643e859496f4c3b701b312eb2715418ace4e32e66e16496488c6fc0baf6016b8ec722f52a325fa01b46941dbbb81ee7a6777af5f3247b3cace3520e3624d887fc4203ea6612a5d98413bc2261b44619b6ed95f610a4167236d8a99bf7c60c5564119beb01c2ddce1cc29d9d9dadda8d37a2e85045a226f9930653e16ab270268b74469157bcddfa63c408453915f12a227796bd06343e4dcac1e2f2342393b4d253f1fcb643a675d6f78bb39d32c17b24bdc323895e9e67a068365cbb364a6d9664ae7a783c6e6fdf6c5426242fc5ed881130c7a08893eb0d019c0c9d4c5b7ba7d2c2cf0977e7450fa57a058dd8b2415f005526354c555d8a449016b9f33b25bcb83014e377225fede68423fc7db33198f26efb3ec74ec1c20b9c7f4a195beea2dfef186113ea745d15596116409dad2067b7352d66626e7c68fb165fafc032dd93266d2b4cd5d88d3b0de72a57bc39392374c289819e0c7c7d260cb6e4c7a069e4820bf1d4b164cac96da60b32fef5b47717f7ff020a465e334d2c5b4ae85d5221c3117fd03ad88cd3f48b8bc128a111700bc9c84dc5826959d4963232098eeedb1404f0d36c3c1f769c49ef600e7549c2385d109f7f0d95fddb37dbedb19195f4bfedb8d2cfb8b821445f06b1c3e959a7c31b883997f3bfc5cab5de9708c7af0bb5a91c35ccd86e66fcd7c29d6b2cd427ea762f6ce8206c24a93a637f7f6dd247da0d0840aca1fe9e71e9fef557982ea4f8cb60a1b823e2127f598dc830dcb3622d359bdaa69ca71d36bc61a0e0ca727c68b21ae0b3a8ec6dead31192249ad8d271c2533386e3ebfd57eac2735b4c685e0246e22dc52d92f434977bfd5ec28d118cbe21d5bd0e27bdabd87e1afd74855d12f8ed567af9f13a8a18ac1cae8dcce76c323a5ea2259ce250f8e47a228ec4cd27b645eb0cd7bbeee23aa0645914e3156a61ec6e175996158c364a784bb06c74c124a917559304c912840ffbc57286d5ad3a1fee6d8bd0238b68e5a66ae9348e55059fefcc52cf1c02af0176d84f5d90392ac86633fbb7c81b03cbcfc12b4f45b8cbdd5a8397aa5159310b56523d80c61490c9d5e2bf27e7d8367d24faa41ba56b635ba6b84d1a24fb3d103952fe0cdd1f6107cf0187804648a37943a5b8fde439ddce2fb5a39e4319c408cd2c88ad354b7239f225c34e667368bbd3d3839b2df8a71ea89101287c0401edfda907f4a872e5ce047da314271821153f2ef7c4ec1cbb8560a78f19b42ce5f1ca09a0447465741cc7dac81f4a9ba05949c9def5741c99a89ccd1e8e9808b0a8a4bcf011fb2a52f31bc39a12b9c61c926c9d824857e7e3e38a7a83d6bc12332b1218a5a4fe70b3096a7c206c726f2dc70ee179e99ecd9c4c2a34bbcf1d5fe6a3ddf3cd1af79fc4d5cab85936c3979e702a17e9cf595a01689de8ad558c5e4d35c55ea006635aa99f4996931e36ab489119db9c0fc923353038d378bcf32fb4242eb680a8cb8324461b5f606e5e83f1eed412ac95dff8a79a9fb2b15d5afc173a721b54b4a39d46139b08241a8b2aec6173e9f0b087bb6adf122281e7f7a0d6e83b31b5cb753b00f7bb4a8f9faa55f3073595d7aced73d38776386fb5837095e9460be269f211a8962c0d5e9c40708e96e2947c2cad367054d060b725fa2dbd328dd492a167466fcd2f80a90be672cb33f3e1255e24421c70b849669e47514209e12f1aa3c51609b9909892317294905e2886adf2b7f76e1974647d5ae69b1b3a758cae5145d107faee4fc19e20163450d65cc89a32bdd5bfe2a2644818fe47f2c94efb0f29bb466f8ff77eb2d1c2a8c58185bb14c79803c0e4ecab5c20caab44568c5261bd0343239dc4b3ac386c155a9f17fb0efdd12304127e2e8c710d8578c723604cdefab10dde8b7a89686eb7e6fbad5aaa7d6f6aa09722a28573bc2642c3b17ac6d5287530c1d14a69c03e1dfbd2df4d5b36e886a7a00854b49ad7763c6a2392a4cc5e7ba2890dc8a5fe26e9e99f0ef9d693cfefd85bdf9b91b614894bb37b31a1682f60727a93bf2da962e98106117fc0aa0e55185e30b9150ff850c8dcfbe5cdc10a0010fe6b6d8da668668138e8f406b0809b7a511fa2566e68866a57c8cb22683c0425e44c83c7f696e454f44472226ddf7994b7fcde59a6d0bed90dd67ec3c495a0f1837cb51e0e2590b4904b8752e70daec0ea03ce3ad514edbaee372ab9958a917e3d15491dcb4e91aa25d065f13f494f6d585983d0fc1f1fe35e5c32f2aec2a6edbc6ba4e2140f7dbf90b0f2c9a6d0635ee67be0f6e7b5a47d359ba3cdf5170eb4372a40e920bc5d301e5fb133ea0a68ae144a8e4d9974624cb2538818ee5b2e92071076b3388cc65a5f16c9729d63e90b654a6b139215516bf4f3b3ad63e9d37ad07fea26bca285fd35b42bc96cd30e72950c7bb6ce704b14b2bbdcf4fbaaf61062edc0637b02ff965ea4a8c331a49186495e10e0fe4c51bc8d1b42e6286916c787afbbe2c6ecff68fec3f57858e890d496ab728de5a3c9722996e5e968ddaca9255108b4cc6214a2ca33249305d106694aea1afc7f503f81d3baff5c68f0c73f597c4540cf756316319c39e2b103a415e2ba603fa8d6791736d421bbc247442dbd19f7a3e7207ff64026f675a07472999010a3cde06c0236fe9bb01c74ed4fe346553eb2c9808b2602f0b07b5608e7f390e28661a3dbf0b3bc60c16e372d2e0662d7e6b6b9bedef164ad6285ea016f4100259ce7b0ce059d7dbf53987d5e61b796dfd3d37259fc5d195f9e210cde9a6aad83055de2d2e549aea07af0e1d213c053ef663be4dc7c1df4001713dd72429628c7a25b4ae13f59b9f1597521ad472a9411f41f17e835f0bb86f1e6a608316297133172074038b2d430755da7b96b0b6855c91be0df24df83a9578fe7cde60ad9de7608bd2d2ae1aeaff0f5ad05f204c4a867b164d5d1686ad7b1afdcf47b185efbc2a3a955dfbaef0cbe922eb5399852667256c69d2b7d5bb9069f9b4bebfc2a9b739e8496098dccceeabb0b51760616453eb1f37110928275eea72a13be29f7049003d7a74b696d3daa5605e7771508da0041b045762684225200b7869a765ff6a8e2d5d9922d5da7a0014890ff1bbcb507b0f73e7d964e6088fa68d0ad583377c6cb8916d721e8cd1d93480b82d194ee6c361a3002f3a96fe4550b5a80380ad23d0fb047292e718c18f57f0c1459b69f7aeae8013b8e707363e6e90ab8ac64ff25962479442ae47f2465c0897311e27149fe148d4d7e670ff9d230a63c0007e40c878c3bf3e78b609e433aedee58f8aa31e11bacb379965773329a3e8c3b52e599660dc6926e83bdbdea18f3cbf2c81aee9990a8cede8ed485178abf99c033c4f4680a801f550441927f7d47f5014d23504ff09948c3b0f151e09c11bac0e02141ae1222f2f44d71d247a7e15317a63c556f893abd7cf597105b59a9fd69cf6919b928395cbd0ab5de2447fba4479047aa900345cfe244441d4085cb2a8f3c6072e81cf9657c320e8d0de7b8c3e3ad623a804c044cda12a938639c2fff23b41b4000020ae3cf647ade2b823950f30ff188e6be8f389ddbe40202f6de4d247f43873ba8fd9eb94dc41bd1455ac25f7c48c2a7e020c65d7a829031345ae41094f7df2cc109c6fc1ed200eba444768fef7e2fe1640849e7f7a2746bc58d8407109b057cd24b067d7aefcc94dfe159104d56f4a14e33b75de5859463e24a665316098ce5e9c95b930ef4322cd0e5caf2160ce0d5373f5f92fe6bd18a3d6342cedfc33c0d6d2b8af773a1f6fef68e168f6957e2b683f39b6dcc0f21af4c2309b20378d00eb568f5ac89b4393f1083325fc041cfd04643a6a8760155696023f7dee303d62f261cc39ca13eff28a20bc140c47b1266693d8bf7f210a5a721a5d2baf84d761237877daa07ccff4e5b1344f7fdb46d0045883177e1c67b95a22cbfb0e9b8d46eb050ac96357be54aa3e5f9f9d986f47e6a2693dd29c6ce74b1e2a2f5d743044bceb742bf1a9815e83cb72c890ef12de96cd3fd706c03370c36347c81521c8dd0389d26cb740097f367d9d73a969b85fd8e1dd986f0ded6b5af988dce1f72fd292a826eabcd19eb54ed656c58d46ff7a1632737c2a308c662d30ce5d2e622947d012b16eb039cbf1c781bbc4b7911b447ba20a5114ee6d4813d72c9796502bde07d26521f1b89e93a931815c1ccf21260a7743774711ecbb3feaa437624b4a9ca6065a8bafa0870c2b1553535023343d6b87ee0748e032f9b3a6cccb162162934896c31d979c4685d8874bd88f74dacff5cf5046341282848e8587d1461076d853992353c2dbfeac39156744ff88448e7a48032f0da42cc7b15de65265a5c7f1167df92c5eba6c4b62d75d6506811d350501b916558530bb2182beae0944f012ff4509361eb3a2eb93587277c72eb034c5f712b02af76138ec1b50e467e1dd72eeb2cd7174b0cb01c0071e80a06d22add49e0efe92e6d4b1fbfd185f140a38cc8ab3a135694a3e46ab7599cd541060408755b130e8d87f87499fc12dcd68e9e8692c09e10011b8bb472969306c069a40c24347447a4affddb85096b3bdb59e7fc3a03174668a34b9ca9b9ac69730599d0f9c008a716db92be25f42405083e30b0f2336654267502161950ec261944ccbd2824da0dd89b63b4709226c0f1c74c625842919e177a6748cc2aa84d5620e7b3d8d04aab3d73295af789255743deb37f04781ce43fd96b7e76d71f39a17cb2d85ef3d784d6815de65c0030ce9dde241ad7cdb59932579156c55d23d895015f56a825c8752856dfc0d5e53811355749b39d0c07508e94c0b774cbaed7dd728c41557ef9f0de1971720eb377bf5d1", 0x1000}], 0x2}}, {{&(0x7f00000040c0)=@vsock={0x28, 0x0, 0x0, @host}, 0x80, &(0x7f00000047c0)=[{&(0x7f0000004140)="4f26e9cf99ca8aa8f59cba01aaf23dafee1ded64c95ac26871f257b605e7126b9786c7c1ca46c478efed7c12b4cf054a289bd82de9e82e031618004eb30e1524f9bc2fb5b2371c5ba5f3f161ea98f8c828c1782aafc10ab0c33c5e80ad9e23fad26bc85ead19754a54b0b063f98d2ca5138d73549d38a43e587b1c606cc9663f3b30437e3d69fc712ace33e55e31f90dd01ffeb4819719b44b3be45dab02cce278a97b56bede4fca", 0xa8}, {&(0x7f0000004200)="4a5db3398815fcaa14c4480dd41494eeee66b0999280c4acd710fec3106c16a9089af327184eff28688f8ed51f635132a71274a3530a57e4efe33d00ce1a35b0fd695e9e1f9344c83f410e834e5a7a2cfaee7d503dfc1206b8e053602086d7cf66db3b1cd0ed4039e814a300a85b98884e5a1c6a05de9f51b25cdc0bec5fd32b44d255cc7a4c74f9b67397b73828bbef3d1ad350a6b84b49accbf7e6c0e9ebc9fc4ccb6e292f3289ba68546c86a6e3399cd684654dd88901ff8060f2f38843c4a71f6fccf162bb53318ab6fb755c0c6cf78d63be98abaecd3598e47d1e895858d5b1037c23f4d9b0071f6fde63fb5e87fe80f9f8913e", 0xf6}, {&(0x7f0000004300)="5181218b210567c7bdee431c665b", 0xe}, {&(0x7f0000004340)="f4439232ff9657df6b769b1c62c77d9611e8ea5dcbcf35f7891ca9aff48ad25b3a17a588128a36cb4578fd7a5d7b66f6933989f796e6e11fa4c91891f58ed437650b43cbb1ec976bda5139375e714d2f7f87d1b66f5991bbf2893a1ade53b434bcadf34500ed3cbcad79a5200235a46a712b522ec99596adae9d", 0x7a}, {&(0x7f00000043c0)="3a8a831c5213d5abdfa2908c43495175380e0e6337c51ac0d21028514f45776a29e3f696f88ed52e43476a1273bd5018012385f3fc622261e5e48f1433546ac5eecb5a42c863e5e0faca8e32da63772a7c1e77", 0x53}, {&(0x7f0000004440)="63d81f20c792aee63483dbb61dc6e893368aa60ce3c62776e0248e623e3ccb8356edc0729778c12152b6546ccf5b31e5c780851466e1e815872eb961a4f03f9842e3638fe40b1089288fb665b53a5041667a2c3bfe5dc857daf373c83b58ab4273bcf8e968c553481d7912fcfd0f4884c4dbf492e3ec8741c10c4c4db3862fbbb8c1fb494ba5626736e17336963c539c65a55dbf4155840afec7b664b2f8cc1909ee098730e3c5c8a5496ac43240908ea46070a70a5001a8d53f431ec883ea6d4886a848002facd68d1ab57a1d92b1913f46bbc18d798f4b587e220a3656b67e65a5951e8387e260fd89", 0xea}, {&(0x7f0000004540)="859c58fbabaf3f00fa1912f3bc784aa7652f28371024cc1f5aac27d771e1f0b52f8757a5531639f4183966317d30a6ae0487d27e0086f2d851ef56a869dff7b6abc27166908a97f6fdc59aab53b6d4cdc24fba288c28a58332d24bd0db6044189f659ba4aedaf0f2a3a4bc37f5c54e493358d999bf4fdd3e7b81bd318afa933819bba7a0faba78e261569171da88637d1f9a6a8a2ba3b1802609ee9d7596c742f71861ba4f19dbb5c2407fc9fe5f09477e27b06835da55485efe34ff8999129eca9d542b9425", 0xc6}, {&(0x7f0000004640)="e0402520af61586cc988258a42904cd468929d64147a84d4c6b61e351d14235268e335fe68e5f9a463680198d876b317b4a92aac3257c6e34afb7f52e151cbfc2d0263332e6c87f1d8ca2190415ced9e7874662e46fb66fa7904d316b3b55863a4fe9d107fef53edf4a21778633f8b435eb1d05b61263da6925c01c147f1044b0f406faa8c64eab30ee5d24c7419ab2a51305f991f10179625359a2256b7d75d954a754dfad79346", 0xa8}, {&(0x7f0000004700)="c4cfa283a189d83f12ace31432c68f6340cc33a466f162e1c0ed39cf039d1194616d51f1a482a848c54757bfaf0562eb0f400992693c911d57d73bb7818f5a451ddffee6c64b680f7f63154497c08e2b9470d9b211b6d8277252d56a4a0d1110247e8e9921f0fdba371dad70a0f18e63191d257c", 0x74}, {&(0x7f0000004780)="9ee9b1c700b38f7f781a7e69b986b99ec5a834fe224c40c90d5e581acb3821b370e010e55092fc53ea", 0x29}], 0xa}}], 0x5, 0x10000041) 07:45:42 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000200), 0xffffffffffffffff) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000100)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_SET_STATION(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000140)={0x30, r1, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r2}, @void}}, [@NL80211_ATTR_MAC={0xa, 0x6, @broadcast}, @NL80211_ATTR_STA_VLAN={0x8}]}, 0x30}}, 0x0) 07:45:42 executing program 2: splice(0xffffffffffffffff, &(0x7f0000000380)=0xfffffffffffffff7, 0xffffffffffffffff, &(0x7f0000002400)=0x8, 0x2, 0xb) (async) prctl$PR_SET_SECCOMP(0x16, 0x2, &(0x7f0000000000)={0x1, &(0x7f0000000040)=[{0x6, 0x0, 0x0, 0x7fff0000}]}) setregid(0x0, 0x0) (async) r0 = syz_open_dev$sndctrl(&(0x7f0000000040), 0x0, 0x0) (async) r1 = getpid() ioctl$SNDRV_CTL_IOCTL_ELEM_ADD(r0, 0xc1105517, &(0x7f0000000400)={{0x1009, 0x3, 0x0, 0x7000000, 'syz1\x00'}, 0x5, 0x0, 0x1, r1, 0x0, 0x0, 'syz0\x00', 0x0}) (async) newfstatat(0xffffffffffffff9c, &(0x7f0000000300)='./file0\x00', &(0x7f00000025c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2000) setsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000340)={r1, 0x0, r2}, 0xc) (async) syz_fuse_handle_req(0xffffffffffffffff, &(0x7f00000003c0)="606b63d2c919fc711e7839336bc90e10f933472892dc22ff5f3a4154645de906442a63691a2de3790d67d49c1a75ff931ff372cb8447701684d4d09690cb4563c9563e0aae7e5f72950ef3718efbafeeee0cf6cc1479c22fec4e7df19a589343d96208caa7eab41cdc8b19b713fd47b3d8cd29ed80288574aed0d0205a960d03fed7d24cb79832eb39009dcf590d8e018aac51f94ccc6d175cf6f81f3d93c320eaa69913b06a95c80b5b05b2782cb08c24525d2c637378ec94dcefa98feb0f23592eb12686487a5d405f0be1e135a4e6145094f0871f3a45053c528c36283844bfcd483d3ba23a2036336fbf3a374ddad505f95147814552d82489c10ad86eb0436e8b5e9f4ac6763b7c9bc67033e50a9eb5d9be01d07e7d92395c6f3ca97989429e77795b3a8b21e7a2993c28d4865c4b8c0bc597e9b10fa321e8d7677bcff58bcb1367acde321e21b96534bdc4ad1cc2475723be150eee132ad9dc262df55a9c6ec2bd0ac0d0c5a3db67076bf371251e64b8161b88723ccf59420a071fc14b8d4a461ca96a58147ddb45d65af67685256868492835abd662cae4021e73be31a33ae2ad7cf2011f90868ca549c0124d2e40e040799fb169491b0d308c9155a604bae0316efb86099f15a00d0bac88dbf3f9d3654eebe1e3377a372d2015989184b419b807e865d89993af3c848ccf99ca68b526318a95b9e61b199ead0a9af482915978efbaff3d2ca3957324532e48e654ec4188df972f596fc22aad07518dc4faaa8ea74ab53af37d967b2a2645d46d5acf0f230c3cf321743874dfe7597a52763050ab645fdfd1122d0245674fb6af61adb4ee6e0e32a99d24080e9d020d872519213cbb862d664d5e45a6343dee8ee496549a2dbf2fffe530cc6554f9b64f82ced343ff0280a4a3f55d8007b3e13e0016ca641981dce84e72d6a19f5a40dc637317c788a741e4563c73fdce61ad3e9907f6273f21ed6e0e7727fddc03ecaf370a872b2dbb8ef562d3202ed4442e732da7605af36f35da6f35fba418af86b2c5458bfd80d61ae3d54a913aaf17233dd6ad66857500c2cf92b3edd047adba3f637c6690c653a014ebcd91ca5e97be46e0bebdeb67a6931a1b4c255f34778877977a728a033dd78e6550a46051ee66dd58eb31ade28fba76450acca3626a05a2b5970ab15d2c7227913472ac2dc22f7f4bc778d1f1b737045ad337dbb31893253bc04dffb4e449af4564943bf4a7a0c261e41bf2bb381966c2bc9bef20be7f8c055ef28f254ea7d2982258a0ebb145425a4766bcf50ea6a18c7b5dd84ffd3eac5268c2a99738a2954e83309a4fbc1c873386322dd676bb6bbe3363a0f228fe1b005611b6f704c5c9d515e31b6e022251684d25109e698be7376cda40f01fd278b94a51cab208ed111f4690f21b9ed5ef1b0f6ec0a95738e5c8d76804f9e0ba5e1f832a59869590485c37fcaee394dcfa1fa4f50541309cbc211c5a2320049c7827112cb8727046a9ba2957d1e70f6a824bfcc95d6be67551c69271b9f8e3731af711f21a12ba294e26828e5973fb346d58dbc9954717138e4030e17d462144c1d9c3b632d12ee3db99cdf78b0afcfee7117c492c96e43eb9726f119c8d816c9b6def8c66a7f52b96fc3ee6c135f42bd95c1581ffcb19701b0b0d0140fa6503bb73abf3ca1bd4dfb8cf8fc1c52706aca05a075630b7cae140b95692ce9c5d4442a155c3edb303dd08c904d998dde1b6e2b255f13e762704abf9a27b38142452a4203b9124131f0e2fdd95ece1f3d25ed28e83af6a4b8ef03c83f5e8304c5b7a396232d6f668ea3c8f223bd53666a61e536615aa697a74039ec08434d9b1d0431304a7cf22c1cf25fe8f424a2e674e77ca20876b2028a74ab6dfb6cd70816ec230c8d6fa4a3486ca4a9b57cd20d11c2049c75d97681ad489bc011353d5072d3b98e9be6b8fe9e82bfe5cd2fa3f150468247f96ae1ed96548ff27bf2c2c039273956284074c6a6d73a30a16d0638af35fc4869e9d6ef6616b71a0c9e2482b3a97e17166c6df2b3e4002507eb92e022ae54e82eb7de48253d9398b076a75ddba2be760a7060b15017927a44e9287763d1fa526bc487e26cd6aa0c564f4f9575c6ebc41a5e4178d1dfa9dcd524367e95967adec86f78633b9c09baa3b6e3cde317fb03b512d46a3ee243fbfb49037ec69e2aec0945fad6d2356fbc285dcc75f65c21faa77cca16e403dd9b4a39fa3dbd421ab612ab86e8c4cb75c6b6a823b4e39c7311471521e2916b86afc6fa9e80e575ddd3f3797a4a16d6c9221045cc6018b7b3fccf1b61dfdab1de6f4fdc13669e3275a3cdec4adbf85a44d1bb7f51b44b17d8f36ac4f208f1f0e03287f91143b6e15bf922be27233dfbf39367bd0c846fd0d57d679b8b02920b091f32f22554460a7efbc3afc0ef63fcc813231fb005046ebbe12391e4e13662e730783927471dca23d64aad49cf053baeb97b6ea1f09e2d98c95b223ef74526367deab262aee8236cad1c2a4b031fd3905aacf923dcced15da58df51135b1271902a6b0096438bd1d9b79181e410842fde9552822d9430ac8304838213b14b2c20009c1eb9a9164874749bb643c873eb377b30dcb4c82e7841e7f24fcb8d9a7b94f2584b750dac0c56b4c4dc9eac19533c60e4a0f6438891c010162eff8fddfc8fcef63bc36d1fdee155765b3192014add6a29d77306adf72c020c01867de584349066e65d6abb7b9d17a1cd78c8dad6edbaf6ef1382fd9ede968d7516f9fd2a5b91039ca1e56646d5b56de2d384b2dcb1a547042a837ff891ad28cae5f6223d29542d711104b86b6a54c157f7b35b65553233b09607e57104c16bf63e0963f7c4026719741268a7602b33211a51dfc30430c1f451648664a73098a2cfee71ff8a8364fe9467b13c97c6d5c4d367344bfd9795e1de506e723280bd9d97e58aacd32c27d9f86ab4d6d2404c02a8e01becf184f496751617d3891959b24361c310b989be97c60e2fdb64c8df7982844e3626d060952aa78c5c47a7e10a7f8dd15913f1f01c8c5f2637515570c49b23e5d8bf14aabe9b282f3e89592217ca72d0dafe8109ccb24728595857ba7a8dd33442f09e13a1349731ec900f6abff68f8144d25d63defe6ae0dbde152d32178366904b5feeca9d2c61a613c76c8be07ea299d0af677d6e0dabd9357072d68a6a9b7058e04948b5c28247a117a4e1e617c25f8ed5c348eb041da50430a3de291ec99d2d40d2305f7220c07ddae4e34a3a0171b733531638b20c7521e12da6980fbaf332bb7f644edb53704ed0e424d73a95a752812a0a52baf3abd6dc545a8deaa07643891747e2da44416c85643b76fa4483ca9daa1f85f84de1a54bbd09e3419ac8bb881bfc63b3230a334419f2d495f6de6192d1f6d8b5786514d929c61b04bcb0ef65731db0bd0baa3bd5d78475e75005d85b326468b170a4b3241065e03e5e07562f5dbd95e0c06a404aa78507284fc93448ea88aee0a388a154eb086c10e2bda4b7fd592286fba1ebf5432dc1f47ff55e429bb237bd0b42fc89239e1ee1c87f03fa86da841c04d7dc4171f8546fefcf00bec6a6b2713e1f5f43e41daac1edaf1984c4d7cbe8a3fb3b91a6b9d72748242f31dc7415c6b9f575ebbcb768fd17b317fe387d9ab8ab9e224aab129dba4ce3475f2d90690646bdc40f28dcd8339febda8631c011382cf86d41d39364f1e26578aaa38c594a82a46c9fa67e8d56be49b48c92fc840b5cf4123ded8df75541244c1f87b06415efbad00909ed5a09e0f376f673b0474728abe6d277c0aca5b090dc173e6c886593deea87d77f6591d3428acdf1a87a7f84fabd0dd754c6a44e179115c623cbc4bc25321fc32a0a555f759a94de15303b3deb2f835f6b953e69f5ae94d38ab948bd4df65cb9df51a7cd3e0a090136da67fb949c1ea1ed10eebcc7000cc63922ad755c2f96bbffcb89b1df6e1360fa3de45ece2ec903daac2b05c00d7d62c241acc4811168c3be3d3eb794831dfb7aa0776dccbce1779c350a96e8627e7ca68b4592e00e9520357d382ba5c491a8e253eb4ee8d569f10ff39a932dc09ecf1dc42fdd30291020fdb22d8e10a54ada03fe790bff7e5182f1b88ec8757d07a3cbaf90807dd63fe4869cb24973e0cc84d58bb7853d8bb42ee127efb03375a000c66a3af2fe873a2c05aa4c1bf419f35e2047cca6ff644fc34e7aa9149ee035ec77a0c76129457b17ba95616d0aa0ad1129d7eecef0694c1298bf0034c0086b8bb6cba8a151c558497b6f52ee585a22b28447c5f2f822cee02ec7a1ada69a3d6d69e74b0bafb9ad84822b6ef612f65eca5b19e217b6a7d61cc3281a52e528599c0fdbe16cff231ad270ea8ee8aa780ad785493d4db076549685b2bc3316d71ecf3337acb96a56df7f957efd8999e2e85901c2901d6e217f8d74a56c082b648a385b54910bad2cb9869bd0e14aadb185759a06672a18c2cfcaf824fb51bd4182bff0c9b86f80eb3b08eaeed041df74b5853d835a2fa3c781528241e99690d30d5ceddbd2754a4db4910615c7db8abaa66112ff973360405bce90f68db2949ebd7fb76bc971139e0bcd50a438f3c82a72327082fcbc736733090e10d786b929275d753fc6a99ff9733a6ca19ff4aab67b1bd2fdf35487243c18f52020e2cb70988f3ae9daa4dd80fa4e45c09ae438748ce5e8e86c45c9bc90014b267a868727bc829620d60849d66b0026188790ed7a066ecc4a19cd9c82828567ae5483973e4b9590ce078b440c2f34e72d80fb3d1fd855aa9a33415689f7cd90843ac58aa6a9217cae38ed4c04dd7e59fd564c773ec4857640b2603976309433c6d6a2572a1448b746cae93b81868e0736dc8fd5db3dfc5f6737852b6263d73df484b8a45ef05c1182153a3d38e8b7cfbb6c8f5a217cf0b0d929bb4ab43ec385a0a8f49b2889c42641dcc85c71605880bd849d57df79c07e3176c9f06420fc86df6cae70d0cd3ee101037a92b34cbaa6c1594b6685aefde82cc50435542854615c52d3694ab742860df0f2dcc25041c3423c14fcbfceb9d7068fda092c4348c8efd438c46e610385b04a958b45d44b97ac9384273539e65985efc67196e903bf274c47985805bd3a75eb6b93f5ccfdf5ba9daddebaf0cfdc55c100ae12ed5efb89db27967a8c413cf6a5e2fa030d7af9fe7a4dbbe971053b5fc5ef942221a0a674503c74d0dbd46157adb1835348a07fc1af801a62019a92f4947a6090170b41c469f266f4ab70340c21a1db0be1f9563b7e1e9b8cb8f11ea19f845cbdc65d5d3cc497f4e55ad84441e4d7e8043bd99466ea56a6219d23ca8e6cf58a2c3b587d7b0e42deda9e698a37a0f7b52b6c0beb56214c2225560ac23c31a6421406cefc9057ea1e74e29cd9bba21051eae52e692937dc8d10acc9411d4051333790e03750f4d0b2b93e8624a077a37814fa93ed01e39d6337a1d286826cbdfdbf4ee25b6e334dae4e92ae26202e8fc0e4d055a45f1bf7fd1474d8bb2dc9728fcf0ec21e159c681d764a2bb9b7fa9f80a860321e956d149c2260742aa83c6f9f8a0559a073840174786b072611670fc5ff2347b92d043db77b3fa71e7a25493406d9b04fd34547be66f792689980d8868fc4ff39c1c0a7113f49560b674d782ad2d9717d900009c444ae35a0578fec89393c1f5bb3883bd6b96bd018f6a11e4e18986ea06a094280bb6a556a9477a87710ba438f590be31d1cd7fdd1c1bccc591903aa00700fc5ab1381678dd7776edf2bccd68a681fb20c9b6592750376ecc490ae6acf121dd30516d4d20b1ee59cc2948f109dbcee4caf2c79bdb79b6a6707991180725aaf536d307582d489fdfe71497af5a4b5b99ad35c4c7bdbeb2464e3e83932b2f6328542b556fbe5ab1fa534df11d1045b2a9927eb302131499103cbc4f12922f3ce3182fd26e524743ec8b473d69c0634f8ab37ae5ec48c15d7d9a6ae03e26e06759d96bc38791c0ae5b83e0104ce6bed802301af36d4e8299a2eea73eebf8814e956229e81854db149477b384cd270f7ddbcf23549e9946646230eaadae294abf0fd0cb28dcc27c5a8247196b917304fea24a48255fc49fe0ed7388f1cfb07f84c72d7c88c0b0af26397d83b1259e67e8eaa526404a0092d5cd32ba58829124e0014986673a9d45ada5ef0ff6942d1ba68c4f4a33a9e60771470c9fdec0d8cacfecc264d9503f458921f9374a4fdd794a7d179c33b37bf0530401378187685fc9fd80eb5f825367efb764ec916a25be9d3c096ee7e981926fc53ddc5c04922f92bdc52667154c1a9ec0a18c657de2a0590316823cfac6891323c880356320b3981a6fac95d84e5bba497be7604a7428afd73b10b94f3a6e67d74884dc322e307559d9a4bdaef8be2c81ad64ba60d54f52885788213ab2e8920e9d28092ed46f5f952345e3c6ffbfc760b2332f2931098e9a7784b59ac464d0fdd2b4b4708ea7596a98a9c14be95cad69567fc8e55bdc8a05eb1211f9772576a8e6ab1ad8fe9e68853ee0099a5f79819e50d67c5e3dd9b89d7cd03368ba075782876896e09addafce97f5ef8a433d81f8b8083417c6698901be8fd4b66c5b024eb38961ea56de65952e4fb2bc90f36740f6bdf4ea2dfa5aeac7474486e28ac6ac006fc33e6b578bdd9d66bc08ab6fec3bfe76dd65e061045da09cc2429ef2c11f3a42a47ca38d959fe62dda6a4356690a48602f8fae7c5d3550346443970091f8880f7a8b69e750f3f2808067a9fc68bb2549a1ec77e0da17d88ca6c0c391de694dec874c9002327ab829e6838206d52d55ca91d98213ea130009323c985d3d51cba2615609a86368063b0c576b62c054ede2f19b2f66b999859c170fde82ff8c10956bc166aa61ec2fc33a66c49bb9fe6c7b6831d87c7a37b8838ea2e0b3ebb288fe74a598fcd9895895acf5e51499aeabf30a09e5997ffa16bd55a42a341af581a9c7f4975b20a68e4750955592848fd264bf00423fb91abb7e99b34f66b09a0b5f40860f0dfb94612e71d1cc8020b5bbf703f05a01d3db17d110a2101ca6f8cbcd47a620a04dd6c289ed01881814ca46849271e5fdfabd2c29e1565a966a6a31c9e797ef6879ee20afc6c7bb76c806e51969a03a07235a62ea7a01fa09c19697714e441c1a9eaf3e3fa1f2eb62528fe5b36a69ecf91558fce524bd1c953a9dad8b3db28d1a3e59cfa5e1808842a6b9392bfce57eb97f9e78cf8a46b5c33a08d9ba152fcba4b0834e334b1fcdfb14acf0cb063110c932c974410ded5f569a5726659a4ca138119d8d9c5a8e52a814adf5a817b5bf2797410e1e30616ab6126c63507398b13ef418a3d8094f00c7ad71754a8f23c111510bc89030d7badc3b7b2aed3dbd9ebac4e7fac508e93cd0f5017077bd7e5fc7ab7864a4973be92402b82e42d79ecdf9d06bd1076b63df92155ef10fe50e0fa9b20c669730596c9a66d843b87ee9505b83290cdee67249b1d7612826a415823a5341256536a9428222c866b857c4f7c5d4c0c11ee31561e635b00d64d72ea520684f3c007230e5ac819cc29a201df782890b76d75f6813759f730ddd1adc3eea4f8e9e33f978812a3b2eb8b3b766dccfbd721f092734332e8e5f528ba69d00a5bc891fe5041ea19c5462997807a6434333eae36ac48ff43473e011b84f1c608b4b21a6cfc8e2db8ff9d04066fe215e128f9d8c1a659bc42b0af04f54eb92ff6ad889a4bad7d7c20053be16d10bf5ce32fd70def306f56374ca97e6932f162a18f27d7b8967f9ad18938e0ff52d567b3941040e11aa7c5082d2aeab285ccd384df3e72936bb9597fa8796f8c8f47c5930503053c72c95ebf11a393d02b8b12909664e97a69235e8fa5bd2b068bcb3238ddec46f974703297337debf7ab8a1d6cba0fca1d1b0f33218def18d550b07cef3072ac929120a590a76c811551c060be24fb535682daa0e7defc14ce564fa44b8c8703e54fba4ef492120481253f16e002a105c890b213df4c515d090cfc2a7af54fac8c1e7ff70f41c4a15f3d1f49f689c20d01817d1152ec2217b5f7acc26aee50ac7884051357239330c3d4c7cdaddb1085d16512b6f0e33e4ba6484b747affe16bcffda95d2d6ad44891d121cbef0fc71b1dce0565c0dcbf10d70dfc04e4ba67019d607ba91b1b6892617aaec7e027a5f123e73052262ef360f1eb10dfc3c5697bf2275cc6d456c0ce187fcc58daa4c28d0849ee762176c45267ab0577bedf15103a08fcf06ee0bdc5a6de71c8acef63368f6d320373c2b66219719769ba73772040d3580854767dff162530ab180ff7dc209727ea4cfe2ba80804e6c519f1b4c941bea676be5df07f7f10ae72497f9edd574fe4e27020197e89fe74bb742c0eb2f4f9e7d1773b4d27aa7bf64e31fee90fb4af2ddabf290eed43611c987286413082f802b56b4a1cffe862bb9b6762d734eb0f0d17b70a0e1e6b3a4294c985fc001844a9459fd6d86606101956cf4391e0bc10e7c32273936bc90b3556fe2ebefdc866ce49acffdedb94c8d304b896d5d3fe2c8e34a9b8206e02449090f0d90067987da47303d633e9aeab1b078d4b60b42970a37ccb10382edfd7dbaf88b2b2b1bd78a025c3cbf42d84580ea607e6b7cea7baa3ce79a6c0bc187b45245dbd30445137323b309ead69e7e5441b48f8e50a8bfa2dd7b1cee60a8f5eeac4b01b14334fe9f5e6fcef91fbd49416775b7dda2e32641c361c7c89f70b4b42e64f36c69851c8827b16ee0c1029131ce17684f72cce042d085f675322785bf8e57fa3ab7ba1d555bd812caa233e03c1dbbc6dda98b25d98ea93685eeb5537070627ef66bc83a65e02a9c90e9044aa5022966a8ac591ca588892f033e172023b934b1ef01dfe3b08f705e714f3a9e9552cdfc13bbf7e46772036cf1693d2418b3df309434d58033fe6583de9e443c9113e6b015fd1ccaa3394564221da31fa1f96076eb72fb2d3cdd0e7a058c90000a3cbbe50ced080c3dd610182dccb3a805cf2616ee8542e2363beeae1382237c743254c02ae542c8189586a24fe9f54f8c507e1b274d831e8c0012e729cff895bb7c56972a81d7d3d5f175cc042f9a7d90bd557718e15372f548b16d9422fd57c13eed5b36d560584cbf53ecc502681c17dd654eda43800260d827fdc676a48a90610f57680cb13c8c0a1bcadd4b22725c9dacc71361c5659d3574784e8defb04aa5186c5ccbe0c6789cf23c348978fb866c54fa51d7fbf799cd0c4df18de5d69516c91342ea4cd2b16c72013d55854c681c7b221f2beb781fbe36b53cefff68ddcf3a0ca3d2f5d651bf6f0675b551e855edbc36802771675f0d26b2fa828ea4a50efd9994e73409a96f0447b0b22d53557a2fa7c4d96364e0c8a60e05d71940e8515893642e781bd570d770b503b66c75734ff4c6a47d1d0f58d2e9d0dac4a70ff525341679d48d4658b1166a07bd7650a40771b2466951e6322e350eec651b57f12bb0e3f35cfdafecd31d7955aab1ba170ab06f8be8d37bffc94eb36370cc6ddc5cf3af830322dfebe5066e6f6c8326db62c09a9cfb409aebc904da9a8473e9c2458a7a06980738ff0d3d17bf3293deafa874c5e1d868ee29fbd30d371abab9adc4946d1eb83ec82fb3717029039554ed00f3dafcf7a22e997f4cb37135b16a13d358db9a41b506c8e4bca3e2436fd9404e20787c0d5bc67c4c0fff89fff6fa7f4464e2d94426ffe82c39e101b2a25de9b0dc9b64caf48929bd7596fb50b2a623664363cccdcad6f4259777330b21f4c781ecc849aeac1a3af4a60ef93047806c3355f1e36f205654bcf50783fa76a0607c10a71197015a54c2b6a30a07c7a30c99045eba529727f65a5bf1c2947aea8e181a4636e583399e8af6af9cc21ef41ed735a5a243f17902920928a8b2fd2cdbe7743122918f22f2d31ed6570527ff7d629d526270d14200b7dd24750825313f496e6bdd798d5ffa6c9150151703c2cc0aef4a363a25284206c0d5655322882efcaed7ed112906e01d79e824a3a3f6643469008c3983ac3a544c97e5f3925f06eae6ca910feefa7b41233a83a28e14f1acaaec693285e8b8b88089787586634f79a63ceec0dde3fc362dc7c6e847b9270d03c6e8378c510b3aeacb1c37c8cf2155856f4f44ed891da95287669be8f13ed435cfbe20005b79417a6b50e186253ca2b37d734ace2d8d07b7878638af759e0a00f7eb2b30605eac7378d05d6d31d2b46dedb21f336fddf450230b037cdc43117c48be52cb04010f3ffa55f9479234139dda22bf535a4bfc72e3fd5fb2f252000dfe15afe7d7e4193d1693cd55cbf6ff14e3bbc457037045c6c9999050266cf03d61c8cb296a3307d5f70ac6c11acd8c6a6b2309b614e180ca245631b10ed5229c21db1ff114fbf68be954a7da7f6934df05fbdcc47f654f3ed72c59dd64948164fd52a848edf7b858e26d17813dcd66728cc4c220bfe48bb5c7a4233f2437d3d6c4f51d98fda76da646db6c4d34ca1ad7f0ce8a5615c047ee5c00cda1dca28a212fb0f44ba67dca5d44cad675293f6f5ca1dd09e68ca78940f46b57dc057991959cb1aa3ab649c6f8c93a388689267aa575c2dfa46a2dd4337ed9830380a816182abb8cf63795657b832e3d08446e3fd9c5f76a6cf608b71e392aad79b3d59a0571494315b80730f406de63f0137e62b72f85170a4caaaabc472e6b7062650b4ddf3652ec4d5dcc47895e047ade3e773664575c04c7f539b762c929cadfe203320cbf2472b8b6fab972d7535e9ce65953bec36a32e3e80adcd2ee7c9757e206874176dd2ec5274273a3df418b0cae02fd3266e008334a99186df970ea5d48acb0a8c6e9ea62c6b5611b1ad6ab6e10d6bbc3d62e24791b1155dafa7f52a179332b642a4226806a1cdfd44f931ca8c79944b23f9feec6e790f4d0f748fb76d5da4bb5e452f29f353812b979e1cb2b7f2fde745d9f9e36ec678ecfa181f1ad962a318dad5f30af95089f4fa6925234d63d85577f991603d0e7ecd22f173e472893ff97e607b5e64773127f1ab0d2b656991788cc076092cfceb88a3f7dd99e1d8f6a924ac58758e92e238ca49b9d4316d2e90fee69c2ca41adff529cdae0cdffaacfe4b7125015c735241d6c00bc0ef38fdd54cc027ebea539dea6c29a45a09cf447796ebb4226fd252160a044489e4706ea4305cdd09f1aee0c0d343f67e80cdb64c60d905a3b4b20801334ba8bb7e9b307e3b28d0edbf380d9c75cdbd58080bd0896e3d733207f970aaa72d4fecbd658491730feb19bdfa8e3fc2e2d07b13a2c86a76a787de67f407361f87886b8dd586710880512d72aeaffb6eca915f30f55e4c391e69d359492be6a2beec6bbc86e2b0018036500f78364901d487ef4cf075d365bbb4f83ce3e3cb7b8a4407da67545cca1cc846d6f88677dd6f6b65c47fc25d922f6cdaa59b887f2b2c6070008b2f53d61ef2fb53d2c9cfd1fb82c45692f0d949ce4a1582fbd312d8f951f4efdc960c75f241868cce56e5ebae5c481a8f90116a7d1ba85ffa930bd1ac2adc4134413dc906907ecc1b96c5fcc10a6bd9984d610a5f21b3e6b52776a11bf1", 0x2000, &(0x7f0000002a80)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000002a40)={0x20, 0xfffffffffffffff5, 0x3ff, {0x5, 0x4, 0x80000001, 0x9}}}) (async) mount$fuse(0x0, &(0x7f0000000000)='./file1\x00', &(0x7f0000000080), 0x200002, &(0x7f0000002440)=ANY=[@ANYBLOB='fd=', @ANYRESHEX, @ANYBLOB="2c347787671a7be3ce0d726f6f74303030303030c9304430302d3d3030302c757365725f69643d", @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=r2, @ANYBLOB="2c64656661756c745f7065726d697373696f6e732c626c6b73697a653d3078303030303030303030303030313030302c616c6c6f775f6f746865722c616c6c6f775f6f746865722c626c6b73697a653d3078303030303030303030303030303830302c6d61785f726561643d3078303030303030303030303030303030382c616c6c6f775f6f746865722c6f626a5f757365723d402c646566636f6e746578743d726f6f742c6f626a5f726f6c653d2c66736d616769633d3078303030303030303030303030303066622c6f626a5f726f6c653d235c2d5e2c6f626a5f757365723d2c6673757569643d61343030326230632d30ae35372d613735372d393238652d6261003666642d332c00"]) (async) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x40, 0x0) ioctl$FS_IOC_ENABLE_VERITY(r3, 0x40086607, &(0x7f00000000c0)={0x40000, 0x1, 0x1000, 0x0, 0x0, 0x0, 0x0, 0x0}) (async, rerun: 32) newfstatat(0xffffffffffffff9c, &(0x7f0000000140)='./file0\x00', &(0x7f0000000200)={0x0, 0x0, 0x0, 0x0, 0x0}, 0x6000) (rerun: 32) r5 = syz_open_dev$sndctrl(&(0x7f0000000040), 0x0, 0x0) r6 = getpid() ioctl$SNDRV_CTL_IOCTL_ELEM_ADD(r5, 0xc1105517, &(0x7f0000000400)={{0x1009, 0x3, 0x0, 0x7000000, 'syz1\x00'}, 0x5, 0x0, 0x1, r6, 0x0, 0x0, 'syz0\x00', 0x0}) newfstatat(0xffffffffffffff9c, &(0x7f0000000300)='./file0\x00', &(0x7f0000000400)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x6000) setsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000340)={r6, 0x0, r7}, 0xc) mount$fuse(0x0, &(0x7f0000000000)='./file1\x00', &(0x7f0000000180), 0x200002, &(0x7f0000002bc0)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r3, @ANYBLOB="2c726f6f746d6f64653d303030303030303030303030303030303030323030300633757365725f69643d", @ANYRESDEC=r4, @ANYBLOB="3c67727aff4400000000", @ANYRESDEC=r7, @ANYBLOB="2c64656661756c745f7065726d697373696f6e732c626c6b73697a653d3078303030303030303030303030313030302c616c6c6f775f6f746865722c616c6c6f775f6f746865722c626c6b73697a653d3078303030303030303030303030303830302c6d61785f726561643d3078303030303030303030303030303030382c616c6c6f775f6f746865722c6f626a5f757365723d402c646566636f6e746578743d726f6f742c6f626a5f726f6c653d2c736d61636b66736465663d292c736d61636b6673666c6f6f723d282b2c6f626a5f757365723d2c6673757569643d61343462326230632d30ae35372d613764372d393238662d6261003666642d332c00"]) setregid(r2, r7) 07:45:42 executing program 3: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) r1 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r1, 0x0, 0x0, 0x40000) fallocate(r0, 0x20, 0x0, 0xffffffbf000) r2 = openat$dir(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x2b442, 0x0) ftruncate(r2, 0xffffffff000) 07:45:42 executing program 0: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt$inet_sctp6_SCTP_STREAM_SCHEDULER(r0, 0x84, 0x7b, &(0x7f0000000100)={0x0, 0x1}, 0x8) setsockopt$inet_sctp6_SCTP_INITMSG(r0, 0x84, 0x2, &(0x7f00000000c0)={0x1}, 0x8) sendto$inet6(r0, &(0x7f0000000000)="b1", 0x1, 0x0, &(0x7f0000000140)={0xa, 0x0, 0x0, @ipv4={'\x00', '\xff\xff', @private=0xa010100}}, 0x1c) setsockopt$inet_sctp6_SCTP_STREAM_SCHEDULER_VALUE(r0, 0x84, 0x7c, &(0x7f0000000080)={0x0, 0x0, 0x8}, 0x8) 07:45:42 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000001c0)={0x8, 0x4, &(0x7f0000000000)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x51}]}, &(0x7f0000000040)='syzkaller\x00', 0x2, 0x9f, &(0x7f0000000080)=""/159, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) (async) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000240)={0x26, 'hash\x00', 0x0, 0x0, 'poly1305\x00'}, 0x58) r1 = accept$alg(r0, 0x0, 0x0) sendmsg$alg(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000200)=[{&(0x7f0000000100)="f297c0eccf859705acf9834f5b4b6039b63eac610b", 0x15}, {&(0x7f0000001400)="c98812c1be8a", 0xffffffc8}, {&(0x7f00000012c0)="406f2bef596a8a3130012ee7bf", 0xd}, {&(0x7f0000001300)="7f5549f794326461", 0x8}], 0x4, &(0x7f00000000c0)=[@op={0x18}], 0x18}, 0x0) r2 = accept4$alg(0xffffffffffffffff, 0x0, 0x0, 0x800) sendmmsg(r1, &(0x7f0000004880)=[{{0x0, 0x0, &(0x7f0000000640)=[{&(0x7f0000000240)="0eb9057a9442bff7a053c7be48e09bb5434ab636165c35f9d44e9a0410f0e159bbf8e9e32b3c7c32fe1d9f6b56df5fea3be9138276a72375879e54fe0568a6fca141dfe78b7c165c089ef38241631c1b181e60b13884025744dd3c2069cb7b4c643090b0b380af33cf4786eececff70ce7c592ca45c07db54b8e1fa69402d5982f43c308b5d592263a1bf4092c864fd9c95c3f966d52847d24f9ab4882d3ce7ed99e1fafbc9df2f7292e8bd0aac0183f5516244a17301493507f3bb1b71abc34470aa3855caa", 0xc6}, {&(0x7f0000000340)="8d85ed56347a3945096e8dca89c0cde23e3b9c16fa1ff3c47834bbbaeeac62a7ff634e7b71a315459173f0f3bfc6716a03fcaf7917a60c866e0a1eec53bd424ba1f0e21903bbc106e0ff3946d179a063086af4b770138c0c06818156d8b47f52d4d52815b3b2eb0d7e774fb9bbf840325db2e7ce17ce2cd90e4de7539bf8a009d41ed05872e4", 0x86}, {&(0x7f0000000140)="53b6b42d706eb98e4bd4b07b60829133d09224f836b20c9edf0f20a48ef617eb37cc5f0631e65cbe008f5bc4014739ac8f63bb84175323de7b21", 0x3a}, {&(0x7f0000000180)="88199f175440355508408097833542e4d5259c82d1cf363614f21e170724e68c4f82e44a12df20d411232187dcfe8cab", 0x30}, {&(0x7f0000000400)="879ec1e3198e65097e5db939891744e72b5606a01e02c1fba79339f73dd6aed41fd34a6d612d225d29bee51074a579d90787a99abf75b25fd8207f86961c51dfc79b8b3cf617792101d83366475b733f8dae10af139535a8ef28a04fffe0e999dccdc9f2272dec303903baf3cf2aee63442e55006eadc117ee23bf9e66cb88b9760e8b0dcf3e3d053a5e55984bb950d9d5bdc792f7369a996baf76eb39f387d9b4e7f8732410c2814c93b54b30a4cc486ae7ee5af20a", 0xb6}, {&(0x7f00000004c0)="f00001fd49ef01ce6308db382f04fb2a566fbbaf3c304c2f060adefa9ff178dc80895550d2c9f987a2d056925da73302d8e6525efdf4854dbb55d28e7af22e3f81d39f32f07f1294fd938e54a358aa1055abf598923cda81cd5e3e99651d85af12608fd2b95b07efe02c99c6591db504d41989d00633ee6b8d26ceea8526cea6ab92b38e4d449989c3249c91e9a43d3083e098c6ec337629dfcca0cf4796b4d2b9f2", 0xa2}, {&(0x7f0000000580)="6616c4ea58c1669922bb95465c1b8844e95727a65789c0096b28cd4ffdd9e694a2231eff1d016215ac25656a9463b3ac5dfba96acd517f3a4239b4b476fca5d1275af7c21085d542d78b7b84b231ad3fd48712fbb9721388182c750404c9d83daa4ec9c1bfa3d945dfd6cfb8a3b2ed0ac86650881f001c6b8db7e3f96e3de7884b7e3482a1027f03740f4835f36e", 0x8e}], 0x7, &(0x7f00000006c0)=[{0x1010, 0xff, 0x1, "b35347d5ef31c51772b38c849a18d13d5f25629649dcb7dff304c575b06259396c1aad3dd13fcc3d3d517692bd4398a65e669017eb58725b2f1581a207d9b4383a16fe5ff6a2b5bf3bc45ce3dca33ed6ca911e0211318eab68e4f9aeb50b2b192e0f8c0f0da3ba14eac3e52f355015128bf37c07df75916dca8b77c32794ca4ecf3d99f13719092b7213b8b6e26694e7b25f717f606eaaabc899dc7715748545e5f02b7f058c259635a6c469f85b4411e71abd571910b5090871231a0aeac7b41cd4b11196d9b054dcede0a000b9512f2ff7d3f3c7a0ef7d1fc12d509b5ccef98f570a7e75c43e75db96ee3f5a70c8163892b9f63761213cfb1599391a9ddfbfbe202c61abfec004a8aff45187cc3886bdfe84eba2389bac06cca6978541bbc13e6122ac864aab1be7cf3cf579ac8db0a927c9ea6d1e6fd2471c4b158335201930b3b763e1e4e0142b86a7de493bdc8d1f8c75fb537bf071150d52d7d50ae3bfa96ac30f8224c68c3ff6389d075f1b81c424a81f4be8258773295d4a4dba0028721ac53562e66571996452d0e0dd999f67590ea0252684975141fe3dddb10d407966eebfc3f9f76dcf652bc61c52a408267db617b27cb50463d6760b00ad2dfd04d7b54bbd2fd5a061c9d8bd3dc67f0d11385cf6fbed0156ab65adea0b2887a12c09dd6896ebbfee9a212442fdc0c1388ef20bb6db706ea8422d15288293257d8c34378b1e9259e34c80eadb10a5196371f0cd6c363210bcbd1bc27c69b3413d8b86d7c196f1015c6ca9a6eb775b117365f04e2d74ed9b333ae8eca882308f861ee60f5135ec53f1744a9b4f89937d550d9ed6dc6ffe941be46c4bf3cb3c438fe06762642c18936224a291edefa74843e40c000deb3a03ba90046be9006098879b72617a5e172562d9e9bc1a8ee6605e8e0332b18ed44295871b0659a99515d3b666b80443dbe5c05bae24dae11c87d7d19769fff051a56051c913e0d1476cd318b38dc4bb6d90a0c84806ab5c15c0b9f180de95c14e9d9f2bd98c005208144f4baa2a940f0519736a641c9051a00f3a009e883ed640968788779839b78306a729ba7211430007a34e06960e83c6a50d97498c509cd49b6155709bf5c6d85a363723026346e686eda99ebbc335bbe371345e7a9e61856e211e99fa42474555a0cb6f6fc3f1b26277ca282846194a46c818d8dd47b357284e060e83b5ed68523c753a0082da30023dcad9bdd3bf04c3018d6553049cc8c5992fcb39162fab6887a407b886589755ea89cdf9e5968d1042ae645ccf98cdea6d7e24fe3f50ae009111466613966ee96e1b2ffa5094852235602b610c80334cfbcead85fae5c4db314195a7ec23b7dee4578a661a3fecc931f7c0d2d8ade0f404ca259253655c3d33d4b7b5417c27c037047da96dddeba77ca85a4b4fba949c6bb468a1fa415ee088a0ee5d4b37ceae66ecb43db48c5c8c2d24dfd1258df8056a7ac51296bcb1c4a9e54d9549807174fd2a2d2ed9bb45e66b6e9419fe51473d32525788c7ebbc5c0f7b12c710892074084242dcf702097ee493d6264a335f5aa4a4df51aad93ec7d2fd5063fbd90c3b75cff0e9945b06ccc42d43a736b4ebecc0598d55278601414e876526e9f59e243142d6b6b072401fcd78f3352c74f3ca90d375767c1526142e28beb692bbebbf5fb81a7488d2cd030e2fe822d6122b8aceda6722c58dd714029cc2908e251396719d5f9b75a12e08c03d42a3932626716ee9c274677ad87464a3583a31f0d342cded8640213ac6bacc3707694316bebc48520bd65302f3be5ee3615e8e2aa054f71ad9428316c935b1200aee4e9ddc2e002f00950ffcf92fa4e0b2a48d921e99ceb280706eac7c6bb529c4e357981e119fd6b62e80e1d0953116982928036bbba7966fe7d967fbf65dad03509e511fa8fd80db7c947b09b0a79e05e8694b3b03a9ab3beed5717f4c5f1c89a000d0756e90e56ae6af6cb53c04e72fa6ee1d3bd8965f14508be36a7275ad0203886f64c043cb3c18fdf6c8e1ea3de7b626ded66a95b9fcbc8fc75cee2d07050569e9e43ac66d3bcf61f0250a7948306afc06156954a7983ae2c951d8a268efc72c56eaacc53cd776ca210ab5acc8f5c9fb2a7c11fa3ce3a80bf48b1a23c90027d3ffdb40c1f2ecc590cf3a57cc129e1affb2ff2dd7774c5b6ad924291f89446ddfc2769c22a59fd42848f2fa7747c8f611057bc0858a961ad5fbc62b2765b28b516d872263f445d4d6cbe9b03f6ddf055f7e5955151d80240c6b894d3d8b61e7e4bda0d6700f386a29384784974c0b4f876cff8695b1bd9008f00737d586702a756250a57e6ebdd2aa86352831adb1d32171447398be1444a1f55221ab99012df8365a6e2bede8db3c48407aed8875138da8e46c0285a7341b0774ac74c16431ea86397b0f750aa796ce8f2fec7d6a01de76245a09b757d02b68bde937bcf0671fe7f3d6c2e2fdbfc1e30a9f60088ed9bdcb7b1bef9bf287e90b40d82d9ffd213deff50de570b25fbd3109ba43e17f92e3bfbf3af9db6674985ed24887b534742c2b3cce073f9a11e842ee27c5e11ad392f258e73a824015765650b237b9ea5b1d3876eaaa48fffe95ae702ace7fa0e47b24b05410e934660e9d85b6e746d6231b1e3aa1a720f4d426002ae8309eeaf012851298f04952bc80f26df8a5a13a59ec649b00b59546cc8d0220ac17872bfdbc94fb1f57fedf2c7e27f1eb52f591086c3f83e44a4fec9425728a843743c22a3164f101049ad5c242383f9d28f1d91364ac51e1eddd013caf24b71b4b7aa9cd7d258ae2264a63e018151aef4b751d6ad154e4b540749d063ce1a4c1d16763de845abf8935d73388a22b56804d620b1748218bbee62cb4f07db2ec2a1514562400135a8ac6e12d42261a2036c148e6e97bc8f985a834abc865be694c91b820317b429491759f797cdb3a1b908fb5a9472a7d9f1e2311f90a36800cfd7b2d82e686994a71278df00af320c893f4cea774e356657147fcafc53549f552c88561d6d51b4b1218f47c5fad4a294971750cc9b28821343d901e7a0572ece5406d984b5e6824218a4caf1bc8532d4711ca127c6a43b65f139dd3b6f768d7315932fbf086c5949901ca73f800afbfc810992ba7e7d13a61103d04fefa8abcd7e93341617f6433e693aa6e0a2cb75b8ca1bba41e2fcecb0851e41d0d664e3d4c9cfc493fdc15c77d7354b83ffc8f024f5ad3945b14dec8ea771db26fd1e2a54409c27698c02d8e8e448e61cff7f15e61eb794641aa398e69ffd188c310b5490cb32b49c560a022033dff04d63022a8a008821f3f186e185673735f3a60e5d97c991e8e6612a6998eba1698e3167659399d784fc0d57ca72fe2daedae3cfcda0c7574618b33a2915e4dae71482308927c08fdfa8e0111e95251b20665a19b72ef2b8c489fbc0b705bb77ea694d15625249e2ac9b584d553cf698a4a44c9397efcc6b2ae8ea01a98c7484803e1537d1ebf772f55160ec1663cb9f69e99f82b97ef67fa893d2cf9692bab62fa85f168836178238c2dc51b64e87bd977fb0d4c637314cdb861b22bed220731109b35583990412d04b57e5ffa12cc60e8deb1861439931dfdc5c006dfcd854ddff5a71080cd36e2d5db45110e7b6c46ca10f4ae0caadb9547c367351cb5b463b1a0d82aa49482d1961b1944566378da0541b7d5e47a076c61a39ad8f84d2da6fb0265b66627dfa435d7889e6480bb6e06169503a16e4ef49c4fd32f076d110f1c13c85c339b555b5ddd532d283993f876d6078c552334292e75d095a25ff2cb2fe19fbd2c01a4d5d3731c5b29946db189dc14dd53a1522110504fce477a5c5a953d6492cd72cb6e2692e5068ce0c3f80d392b48d0e745d9052b3159d37e3036554ce42275096573c43cc64e2ea7bcc9ddfff8de4dc3cf106feb96ea3cef352bf5404e3a93743e264923a5698a01c0dbe707040d8a92c23c1e8b7a12f8fcdc4058e98d704f24d2bec5e597fa68ef0b8a4cda8064e769007743554078f8a126da50f7c74f3bae6580b37791323e6e99d17118ef16764191cb107330e1c1c9b7311a02d1b9253f4d9cc8768163c3706be016cde40bfb6fea553df604172ca90e1c3dfd08f4648de8943647886299073e9ad22cc91268e7c79f21bd7d7630653997cfa7f8af2d5da6546847e4e8ec16d252058fc67939c520333ce519b5eae4aa06949f536d17f119a1e2e6ccf6fe29554a09d13a3f9f42e62cf959347664d98e34413142bdc5d8e44067073c1bac2531369cf6e75611a095ad12814737aae626625dae551e03eced98c6f4c0eab9a67a8070bf79cc365a27edb4ea3e3e31d349c3bc3b8423cc02c218532c4ce14eb2f27bda51142460b61f5cfcf1de0126135205103d4203c6608d8da50871a561737b9ed55d442bc34f7b1ee266a27f55469fa96da67028a6b86f95818fd32bf38e29a00fcb88e6f3b95d4a62887c613049be4bd6bedd64d83151c0308207139399efd92d31ac159e402230589d7da5184d6af03bab576ea6eab95eba3b02d3d9a9403fd9867cdd2935c907f7031fdd361abcce546b462da0186a560ac4847d35a652b11c29a2f4dc65e5b6f0b615d3631039715dd12d6ddaf49e43094d875cb0f7d2050b49be97e0fa0113b5389cdf7b9ff061173bb41358b67668202edd70cb1797af3f728ca9bf550efee815c3086416000fbed451463e01c84d7f9af0ca1ef5cc57fde784550a12dbc84385861f607ee947c7be74892ec529e498c3400da8e3dd3005081c90c69571fd783bf2ad95979f70de2498d7a00176c54188d02d80152187b172b3fbbb69f58d21fca1cc27d0ce82899d3cd70ac678222ff983e4513cd30a255622c5ced9a8951670fbffb5b97340d1f581e8c403c1d6a7ead0bb13b11fdb082ac1ceb038b6c9d1eb1cc49d91da5a41ab40a21c77d1927d7966e34ea1fad29b3976429c8b6da74c0fdcb12644c290af241d0781c5fa1bfd7918aedaa2aa0c9e27e49654a193bf0187c4b7c1ea8fa1ac03f8ebf5874e6a5a9a2189f54ef2f5f1deb5edd979e9b24e3ae4c854761d2b4f92e0a39ad9f6f0e4b50bc232ba6009e0f813f089252ec2a7b41154a4ad2a0d8840a5492def5243cf80a1334592b5853eaf15862ac3733b65dffaeaf3cf463bde5a261f7cb42e37f23925ac530f170f2f57f1ce32c7ef2baf80c70200c9d9dec236957ffd7e8149ba6dddf07e194ca8d49ec19c8d2a2274130efaaaf8a341e3486859e8255c664e9e87155d733057499d152045384022a43d4a692501b25b8c81795367861fce3759a5161053c731e925ca91345b79c1331afadb972c0cedd190799e4f73ee4b9e2a54226f4a161ef0c25b3abc48a3f653b97a1e30fc4493e5b7f5968b800d004dfa045a9e600229692829e02221bf8e466e7a7857a3b21c4661380b560643cff477d2b7196ea7273a55f286bd08808fe7a6fa886fd26b2bbedb0e65eee52769370f2e10c14c76b2355746d785442f02087b6c601cd335f3cdc1f2c36e3ca02b946a4350c5028a7e85ae6a04e5748bb3174cb5418ac2541fd5e4819e30d0fa156ec5a04ae6f7cc21d7c6478ba092d846c5ce418d3d6e686113674927f062b70ebb38531ba38dd6d447ec64f81f7e965ade899135aaf413a1366e36edc047ae05632d0e77e93b233a0dff34740ed07cadef34fa713de02249bb8661a19bfad39bf12d9ddf2cd300161227b33e6d281c83610f2554d828be56efe54444fec0097a9d3d893632e21b209b0f78c346c337d7"}, {0xb0, 0x29, 0xdf7b, "f2510cc0d55dc6f99e85b880d77aa8e174ea1c045384de5e3137d65f73f90883039c8d61bfa963127c78c9e5bfa4ba9078e76bbed4e6d2abdb175f394f32cd0d939a5da29cf5566ac52be4ac76df9ce7265379ce4e0ba53c1fb5ce178f0d9ebe6b7c97cc57777344235d00cef8722755ffbdbc22d6f5ef9321daaa176b91b98fe41b15456f74d2cf24ed9fc37ccf51b3d5f3749b323e0e72d3"}, {0x60, 0x11, 0x7, "18af3d88ba0c22d08d5f051f8836dab5e3f41078b31401fc4394b4718d52c5685c11eaf0572cca1e5948fe2fc61d48afff2847d8d015e45e7b809c63c98e6b21e92483c7088007f30505897c"}, {0x50, 0x10f, 0x4, "a8a11563e04a65916f30764e271cbf61248234a59d27765b266b079b6c8ad2e66f16311e27ee962c12157027c2cef47c21fa32992f41ac795655087ff0a5"}, {0xf8, 0x111, 0x0, "6f197247d4d54540891a72538c9cd909d71af49908870b8c1cb7cce5dfb61bca4c8668794c63590ac09d4d161f4e52229255c749df70e1390e34e6574fbe36cdeb33984165465631f0eef1d5e992ec9781a68c4708c3f1af9286eb0cf2de6a5db7ebf84099f158c01da5f8f80087c51a01593a00ddd9e106522c8fd61a9da5a0552eda0744d4ebc744cf35464ad31794a9ea4e5958b9403267803860e7d5d980021bcbd4aea45cd1c373a01bfa236df4b31ecf77daa9b6752af2c6d02b4346dbc5608fea5b1e4ba7d68a71b1c61380a32ae88c083e091daae4d64198fb114c5408e6"}, {0x30, 0x11, 0x100, "8e213bc4ffeb8c4a6c063e7697ef4b261793df3eb2d3c1c84172"}], 0x1298}}, {{&(0x7f0000001980)=@pppol2tpv3={0x18, 0x1, {0x0, r2, {0x2, 0x4e22, @local}, 0x2, 0x3, 0x2}}, 0x80, &(0x7f0000002b40)=[{&(0x7f0000001a00)="c7f9b2ee77cf3729f5a1d105441d7da6908123bbfe6884ef8f3477fcf60c34a79d257122d232455839acc290345f4ebf704f2b44b7637c1f92", 0x39}, {&(0x7f0000001a40)="7f233bd9b0fec554e5d5d75ac7764a1d6e281f7e0232d589c42b66e85d041dbd1e7e465803af36d2eb36da4a74b2412a3ea8bf56fee347e874c8c87085a4f0a68983fd7a44d52f124e0706f929cfd5d843fe5c1b8f3c8bfbff048c7bddb415d8e434092776f3e20608b643c04c7c50be98556f47741766d355de763c7746be8c076c943e720cc7f3d5d1f9de003a8e769611696a56d589cc279fcbcfd94c2155d103a6b374ff467d8e676c49af354abfb3d4a6a570aa8b85f7db6cdf4247e09f5a44cb7f6b52adfb524a7011e3", 0xcd}, {&(0x7f0000001b40)="617e2988f84344d7b507951a990e1319da1962bd30aaf376489a428ec7aa2810057d18c1c455f25702884e10a5bf153cdd97b9597f0e9c416305b69fb1e739c3adef0474e7e4e51da3a30ba445fb0f8c83b57f516ff124ab735718fd6a039065c5e16ff5ea8a9a42c5caa037015faa81c330017f74a4dc3fe9fc8ee272dfdef084626503cd7165052cecaca64e58aadd1d17ea245f5f71d246d21b2024c7036f309d753c8ff72c43eddd8fc3c36848246c3cb1400ae8b881ce794b6aef95153566b1230a6965d2981f1917d4a360c978d2b55c1141e1473b933a206efac1d92994da2051974b40de789fb3c15196fd8a4a9cce3c6fe036db9011698e1a0747cc2ca4b0d2bde2e99c46786104f022e5a6a329bf9b307b055234546a9314d220b59b0b59bc6685c2ffbd2643dd6cfc8b164793bda5255cb6a0b1cd5b6e2d7524dce762d172d739b46d5c1fe16982eda0128a0529cc6d9ad25ceddbcd0045170053a9015c0fd292ad2213f847a731e1ff8772f9890d1b5cad6c750b23dae3c4f0dfe112f071cf9fe894a3661b2054ebac5e14bf3c150292c54ada0446741d997618053d96ed5735e836fdacbb7825428421ed77f679ebc6ca1779c7270375049287cd2c93b02452d12d4a96e9d10fe03c9fb8642b68e09877219f251241a379380d772ed1eb4dccdc463f1fb5fd230f99bd5e9d02974479514895bb60003da25495e0bae34254d5b48cb9064de1d4d8934f39c1e323de85d6bf6e3f56613f7f987cb70d941670ba472df2002343e03627f1b841becdbbad0350662a6ff312b7bc3eebed392e4fb1e1ad7b1eac9eb60e157f20b2e23dc5843406b7cd30c49c55cf0191b38d220fb172876482f5670f5930db6d0cbe8cbac609f6bd56860f525af204058bbb4e630db4aff5c41bc899f901ce779b6c6f806be14c995906cd078dae5a4d183324fae7af68eee6a98c6f2c25f9ce858e05df7be05c8e16a9257cb5a74a035d6ce10386098fe21aff2963208656b7cfac07540191ba29d8795bb0eed1c0021e67f8d9459ea40d4ccc619a4e5656246253314abf9e23185b40dac5267eca5bd3d9918e70bc3f26247e246985c6c1d192fbee2b0c57830504713d77ea0efa005ccb4c88b11df5d88514fac108f86a32131fd5f7b8f6db68126f1d04ba5fbbcbd9925519fb8c7bf01aebc18a104207dab92aa80f868d71bee4acc7a5fedb4124d1849f1fae217a7f18d221e782fb732b514ebe9d1404a7dcce160a392f0ecbe6c7c825127cc6c61c0133f20cdd713998c230e1aa19ad667d5033493ebed5e831480e44a834d83d6b7bc288baa8a0395f77e5a1becc449c44bbe7efa37080cffa2a9561988d9ef454d5bedb077b3d1a448c6a873db0f37f9b05f4e3ee54006769a7407ba63c95342144f9cd475d4ce57f3e33698b9e8f79a853c0e9fa10675c93bb50aa6633f59ccfd3d4651c4a486c41514dc558598836074d28f429fb0d94ed64422040fc39a119efd5801db389c75e2cc4abe5ffd2bd1beac7b773fa166f9903ff6da2d4fe35fa1e10922d9e78be59ce70d7cf6b442136511b2863dea522c2befc7e7dc41246780cc680a0394d140207f46324f56d8fbad57a11a07ffeb380c067bf79e541f7a7ff11f7406121c70da49583d315cc2cf08bf546aac81c5c27d1f180928bc628842aefea57533df59b1385d3c8dd3b8f0a9c405fde8aaa31eced99f4533154a81f3922f748d44beedbb9b74f27a2835b4adae51036f98043a5ffdacd95f260e843b6ce8edcef237702d517c1e787892f8e2711015bf6b799feb3632e513b077d5f51df30161f0a35e122c12f25469084b379f9501bc4954bc9ae32504b61e86b5106778c15af52c463996c9621d2b6637a934a866fee748ce5c6259df183a4e00ae74c6206ca513ad2ec354a2c41f717913bf8d6b9ac68d3923360ff488caa6a45b57584ae2aa077b4bdad278bd547174bea4a3d6bae334e70ce547c1442eb4515ced03c1a98ea30c7a0965f776fc0aa0a161d16b1a01ceda09ffaae7f5f90bc47db4c7f56ecd0f716527a00061ffd850d30f195e8339461c620b3a481ea58baa8dcbd27e2dafed6823bac360957d8307735435c26569f31b5a3dfc9ccee69a05d7ecdf1eea8331905d5e085e64259dd3976ff0c4db1d855bf101ac0f5bfc5f4aa51b0cca9fc2f1710e35421fa95d74b39474183a097ee0560778359bdc43be459715501cc59dedad8333670013ee0847046e965e11617bb6ca41513d3b607d7a7736192e3bbd4f3ca1930b03c80fc4c34cbd046726d26e4f622969b7e22dec7ea65a115210118aa24dff8b858d0c3b1b86eaa9f80bbbe8ddcf7deed23c5776106206a67f0f476917b357a397ce7000630dd86433630088434c70d383476a5bbc81ba84ab4295e76bb1177c919c480c70d6204af5dfb0e92b612d1f7c418667691d4b192ce36479769bb83d89aef79129022ed5ea7e08d7f97eafb251b4b4f7f30882c83bd481eadd64a27b2df991a592b52c577ba0b055bebf7557311ad6bdd072860575f8aa6736945e4e29d304fd091eab08e57542e1b05aad7a7534f3ef7845c3e8957eb85cabf17c7abfc412086bf3f818bfb4d9c83dab201cb636227243a3ed4c555048d1a918365fc9b5ce695ffb974bc889b55d2a72d4781ec43fe5c9e14fbe7667da20806b752bce20ea69140e4b6bdd9b64de1585730441a413b14b730fac04fd2802227488dffc0da28f1f451a7da5665805b57a0d36bbd20c70aed7c3f8c0e876bda716911397a2b8d36f6c0f161f61dfcf0a91b10bf56c32fc67d83e6b2d9fe73c350633a5ccd0b30b160db111c410184b866bd38981a85358fe1605e07f69211551f2d497294dcf559954d9fde23da35bf4cd0f8a6127055613578d11b648a021bad65f75b930e32790ef9be498af4ec6d931cea65cdf5eaf8ac4e119268562bb157b1e1e0ff2b7fb52dc8b965e0f71d3a6d9fe1939965e17d048d3070332e67a258ba37e80ebc3f619b394a21772e594d2bac435bbc605190e6af861eb9b7b266b6fb4f4217c48e38a3df979b7e5583037f8a110f801df3000295e58217b79025158fc73183fac5ac5aa195dbd6668eecc63c5b61b6c7b2d06555e38a952b584b7488510fecba6dfcd5bec3b1f9346c61fd0805905c58f2789b98d512630fc721d0a2d368901975e7342723666e988b4fbb2e515d21446c37d2cb430211b793ffede1f7b57f1b8c666c68a49537fe16461c2c667de93997bd743e9753078250f0d0c49a116a923863c43a282f17731db82e7e5dbb74f985c34dc08c8c7fd18c552817f4845546087a1a9aacb873f6d5c29b52d6fc2c4eabb03e594c76adfea4f3859551c12cb4bf0ccfca05ea7b38895399ae2e4895799a4789fb91aaac1ea1c2920f8fe18b0c30e27a973dde72e7d3b8108da3a39156bb1395e169ef87031f421b46350d50a0a3b23f8420e0d0b33b6ad7175a2a93ab1fffeb2f67ebe06381206f2c39f6bd9c5db189da126c25ebfdff79bc093d52eb160c10d1a5292f9c3d73184fc4e89e02e9335d5155aec9b0f1207800e7eda9cc2d2d172fe77239eebab397492e11384a36608979a59a679213eba0c14cb5d647257ae3abf5b21da2d987b02e66e0a976708d7e65a08e710473fa0ce083f0d59958b5e7aaed012d8a366d1c68db2ac7a4abe59f5edccd8d038af21361af0f0a8ad5eada79a2a34a854bf4efe5c56bd821a841fddd377050e3bdf1c37d3b63318216f585a1e569747e5437b9910ac257c7f3a84147441b9e988c35df7c745cd77604dd308c2aa6349d982a69f16ea3cf100be8db4e4749e7a43e8de1fcdacf72321ea83f6ff4540f375694250fff68e6d30cba393651df193ab1acccb387f5570f2c436010f8cb24d851b4fbc9fe2101e123baeca76d247eb29fbcfe295f45059202ebc842d46c665ad506af3f326ae86e7888cfad0bbed9c7da81f0f3aae4d9ea1a9bb56c043bc6c0dd8773f2d0396f4343fb39a65defe68a04d68fb5bec2389cef0b265378039d3825439cdf4913094b818ddd0a115b9ab9d9f29b6dc6fc6f33dc7db1e361ee85210378d30b162f2a96f041537f0edaa161cc67215563aea570de1c7f95313ff2a1d38eb55d8fa6f669e6da2fadd1fddc923682b5174d7ebcdd8b4069cdd4c4ed2beeb44dd301c9a2e0f11e77dd459d9c095f347c40ee9af27ac0494227c4f4488b97c32233be0683323fee72445a708d998af042545894e2801b96b6cae0fdfdbbfd43bb5b95130187f1a7da9eee6bb3f79161419f6d8f77bdf4b89c5597f4279ef4ba033437b0e6a9444270e923a420a1c5ad1d0a6ac616076e64b83699eb225ae84aae29ea6881369ca475c7d92926c4c057447d302324865054cddfcf8c8b24fd1c26549d5dc422cf4c5d7b0242b48e599e4483cdf3df377899bcc57d4a4a556c713bca7fff47a59465f6567ec880980da43920c1ec775011d3ec48312b7d7be97c9587360d2515fd5c822023a243669bdf6e384d65404f1fcd841caffe8813ff52eb9041142367c22b9f469a62c7771d0215fce30c5478cacc981a808f23e7fe4f1942acc7bc9abcbe277a9715d7057d5b415e97ef899927c48f58aecfeee1d043814c16b05cd6295cdefbe57f9689f0dcc030b76c8a05642234044422094b22fa53b0423ca083a5cf06e39f7e98662bd6b7de03aae2045284b2653e33dc7735eabd1c73519a22c2a79a0915b226d306b5fe361f4177ae79fdb46e93fd027778bb21429e320447403cfc3a034e3e2be1fb46859aa3efc70e988e31e8699c899508dd76eeb66158c04747c883561225d75c65e5ae58e961404ad2fa9144885e1f80960a59312fbb4c4a79493818b581517832544a6fa9142123b0fb23c1db69a937bfb84c57b0c2dcfcd8967749b861059bc0b28db148ffe4730e00341f83cbeff10e2b2c0da244ba1e4ba6f422f1ef4f20a57df052379ab73c5358b98ab6ab9332b9d1048d596f73567161558a612564865acecbd28de716922ab2bfd3aa853e3eb0c2f95a4c7b24dc0079a2e12c68809f3b414b35b761cce8f7cbd8e70a30294d0a75e587dc21f2c4c90cd5cbcc6667783f16b155d2b5b878717b07136e2317c110934921c86955549ba2d946f593d9ba5b8ed116eff900dc91932e2aec33e6e42f7e35804c34097e81b2d5090a6137b212483d04bdd0bc787ee0b3a5b1fa7085864f4d2f8e8506b612ab24b80848b564fec62e7eb7800f192949d6c43cb39e78cdcfb10e9179607e9fb23dd7503507eebb8dab2c8e285b99c255e0c29f24d340653fb2d456dd65dbca8dc9b4b7906f2912cf17a45db418a7677cd2719dda6ce5a7dc8a156735f7395c77fbfdf0518b026b073645dd793df8732060dd9e607850179ce3ee395012b6d8c514874ac887543a93ce4ed31748bcf68009c6c92ab899e1e80907cf731ff4628ee0b0ed878b6baca1656e2104e6821c77dbc3ad9daae8c456c70d2bfb12967357fb9d9c5f00d7f1c800d4272d8b8a59e0c5e292178e2c6a9dca729995c807c03011c791180a9dc3332918859fb8bce3bfe5b180404cf5cf8599d726807756829393d978b7b06ebba590c5de0883ba24a5a8272f8004d7a69df833c6f8bc0b532c9815ef1dafe5fd6773a1d69f12efb0881bd961e53de565aa430d844e70a26145acf3e77681382614979b36972737d55cd15113d71106336c00475faafe91f19f9588f3ef539e39f24b342a8959a7348038d7669a894bbbb85ee707ba76168feb6a183fa3fc38", 0x1000}], 0x3, &(0x7f0000002b80)=[{0x68, 0x112, 0x5, "3aba958067a171928d359363eba3fab6194a5e17d23a40a287b0734d1c18975b81b9443cb02fbfde955a57e372023ce9112305b78f2855f5428e3c49322aa622db9db099eb234d4f4b0a8b03fcc2f14b12b6"}, {0x28, 0xff, 0x0, "1bf7ba661413a8ba053a786382c8b88bb218e8b88b0b81db"}, {0x110, 0x108, 0x5, "8f79c10205c6592e335d1e5dfeec9dba093a5f6578b3e82cc6d54e9f82578448d502df6333e8c0d5e01d93a18592263a9898502da2ae01dd41c7ee8315eb5eee57fb0787744426213c4d3ae2fa14da99c93c0fcd61eab8c76fc327dbc763d13c9168206eeb00dcae8a07f85a7157880c6d8845d866e4ed106253386c6fad0a3d13e46177b579a40853f98eaf80c19c28c263cc65980bff25aa359c10355c41d423fef23aa2e8a2759ac00cea491908e9e784254b73f60d391c8dcd784450a09d61623ba29a7e62a508f967015dba756faa2fd8446839f7659808010c0dc38b1c04ac98b277bea3f6f25be04eb34805a2832612b67816db0a20fb80faa3"}, {0x18, 0x10d, 0x9, "679f766c41cd27"}], 0x1b8}}, {{0x0, 0x0, &(0x7f0000002f40)=[{&(0x7f0000002d40)="03d9ed86babeb7ff23e07eb54936a5fd30ea4d7df5ce957fb04ae89c5373c5128c4c6d5f8e9c015387371367878e68d6c77ad5815598498116ef63159ec6b7ad1739222fa4f772df8b21445b9da0e2acc694b0b0847b175473dc53eeeb766588e18cd77bc079b781764bb96e4a53edef1c73693b8005b57e18639480be4b0a760f50b03b308acfea81d1", 0x8a}, {&(0x7f0000002e00)="c9963966e06ba9233c263ca5be4f3128c138e485d6122bce42f58c23207fa372323fdeaa5afdc7af321db8e35c8f44999a65e0f0c66c81692ab0", 0x3a}, {&(0x7f0000002e40)="0caf2940af3fe5d9cc859a2b6becaf0779a46662c36aecb8612aa665a8fc674aa4865cc862c3e638f5716478dff3fce0654a74c9880c0b27844af6dcbf9f6c734a1ffdad0157ad5029399146c1b4c1142c906c13a55bd0b2beb4fbb4a12e97cc42a30268866dcd9286e5c21164b9df3a50fb1f1399e9b13207b57a3f6ad32917ecf38f5fc8bc737168568cc35570cc29dc4d95fd065b60aec17786d21a9aabf82529f1cada9971a262b899541b3d139d8652069a80909e1d51aa036e88ca697651eb7bc6d37eba3672ed886a6dc9ff5b6b9eb04996f8231ea7da6d4b18eea076fae199493024e561859c33c79d67e4ac2ded2bb80b", 0xf5}], 0x3}}, {{0x0, 0x0, &(0x7f0000004080)=[{&(0x7f0000002f80)="9e8d66ed99a228fb111a5a95cebf7af8d93036831ecf13f6a5474be4fe77ba373ca149f1dc9ca3599c65528e2efbebb250f11570338c0a8213d5b9f37111fe32f023439d7ec7acaf6b238a6dcd8c435ede1d59e2e2f44ed5f26991a5b5c1429253ce774d30303d04c51d1a73a8b10fdb0354779c6fc5c9151eff84a99ca6e0430b0836178b13cc9cf56c78b99aa62be68038fa6d77e95bfbe9cc9561f7231444c379504ade25843bfa3646ae2bb6451b51cbe59495799cb6dd67e5de01f1549aa8a37526040de06e71470a749ea6424cf09ebacd8cf0b13373ebb7dd6517e5fb4af9eb43b6093e93", 0xe8}, {&(0x7f0000003080)="d4cf2c56859f8ccbf365e558fed111b1bddd4616eb4913b29d1a784019a827192bd3ea65d066b7f0fa6d58ee3372216a0ad0fe4a49e35a020bf85899a92f0c27b68d22b3e174e15f9822055edc3e223c64b9fd3de03f73129413a6bf4960bd30b6ba21431bebd47fd3e21761118f5ce9f6ef37b7f4d2c41365910c34fe14d7435d2a50edad7e03d6f1f29793006eb1d57b9d4f16b7d76a9f1b22cc8d2cd80537791a011ebf3608e99c62ffdd55a80094fd039183eb85edac448c75975d52971cbe9a8869d6f8858d7ddb4b382997cae90462266ae64ae897273898e12324abfa6bc4c402b95487dec52224207a58237a112a19e5ad1f19b6a6c11c4f7aefe75c2033f2db3b6b1623c7914c0644ef570a4e4c55fe70204b84f01c57b0329842b41375769b31285db138f02012c1a947456ad6d658ed9bcf2e41e6e91ec1b12d57ddf85969b813e2b66da9a9a22fa2532acf91fb6dcccf14585a7abb4e8e002384c201edc5da47241f40823e5fcaef23549a16d509e2a952c118760b13732be9f2b8b6692f902409483135a403da4660bc41d4e588294fc7f4b38e96f13066c1400477880267a9ecdbd3a82d4ea10291f8a98a19340fe37aa667630eae4978336e618a47ef6108decf8f39db4a89c6e43cd280dc1abca56fd2bead184ffe46b13e92b571016e3bc18507ec01adff22a8549712a5070dc28a9f69d9eec015e6d0dc15b855ff66e51a862d901c1839468549534348369eb4bc6002ec1588007b350536049171503b05df1a6ab90e8d9a7d21b504c91143d59e83b546d08f8408b4bbe4101823498c559dbb32981d92ac690abdf5dd54b3b1fe266d77e83d998c2f27fafbe7800c589a07be3fd2ba20a0b1e0610817d80eeefac23ab8c25807f2084f27857ba66f99994c2f71643e859496f4c3b701b312eb2715418ace4e32e66e16496488c6fc0baf6016b8ec722f52a325fa01b46941dbbb81ee7a6777af5f3247b3cace3520e3624d887fc4203ea6612a5d98413bc2261b44619b6ed95f610a4167236d8a99bf7c60c5564119beb01c2ddce1cc29d9d9dadda8d37a2e85045a226f9930653e16ab270268b74469157bcddfa63c408453915f12a227796bd06343e4dcac1e2f2342393b4d253f1fcb643a675d6f78bb39d32c17b24bdc323895e9e67a068365cbb364a6d9664ae7a783c6e6fdf6c5426242fc5ed881130c7a08893eb0d019c0c9d4c5b7ba7d2c2cf0977e7450fa57a058dd8b2415f005526354c555d8a449016b9f33b25bcb83014e377225fede68423fc7db33198f26efb3ec74ec1c20b9c7f4a195beea2dfef186113ea745d15596116409dad2067b7352d66626e7c68fb165fafc032dd93266d2b4cd5d88d3b0de72a57bc39392374c289819e0c7c7d260cb6e4c7a069e4820bf1d4b164cac96da60b32fef5b47717f7ff020a465e334d2c5b4ae85d5221c3117fd03ad88cd3f48b8bc128a111700bc9c84dc5826959d4963232098eeedb1404f0d36c3c1f769c49ef600e7549c2385d109f7f0d95fddb37dbedb19195f4bfedb8d2cfb8b821445f06b1c3e959a7c31b883997f3bfc5cab5de9708c7af0bb5a91c35ccd86e66fcd7c29d6b2cd427ea762f6ce8206c24a93a637f7f6dd247da0d0840aca1fe9e71e9fef557982ea4f8cb60a1b823e2127f598dc830dcb3622d359bdaa69ca71d36bc61a0e0ca727c68b21ae0b3a8ec6dead31192249ad8d271c2533386e3ebfd57eac2735b4c685e0246e22dc52d92f434977bfd5ec28d118cbe21d5bd0e27bdabd87e1afd74855d12f8ed567af9f13a8a18ac1cae8dcce76c323a5ea2259ce250f8e47a228ec4cd27b645eb0cd7bbeee23aa0645914e3156a61ec6e175996158c364a784bb06c74c124a917559304c912840ffbc57286d5ad3a1fee6d8bd0238b68e5a66ae9348e55059fefcc52cf1c02af0176d84f5d90392ac86633fbb7c81b03cbcfc12b4f45b8cbdd5a8397aa5159310b56523d80c61490c9d5e2bf27e7d8367d24faa41ba56b635ba6b84d1a24fb3d103952fe0cdd1f6107cf0187804648a37943a5b8fde439ddce2fb5a39e4319c408cd2c88ad354b7239f225c34e667368bbd3d3839b2df8a71ea89101287c0401edfda907f4a872e5ce047da314271821153f2ef7c4ec1cbb8560a78f19b42ce5f1ca09a0447465741cc7dac81f4a9ba05949c9def5741c99a89ccd1e8e9808b0a8a4bcf011fb2a52f31bc39a12b9c61c926c9d824857e7e3e38a7a83d6bc12332b1218a5a4fe70b3096a7c206c726f2dc70ee179e99ecd9c4c2a34bbcf1d5fe6a3ddf3cd1af79fc4d5cab85936c3979e702a17e9cf595a01689de8ad558c5e4d35c55ea006635aa99f4996931e36ab489119db9c0fc923353038d378bcf32fb4242eb680a8cb8324461b5f606e5e83f1eed412ac95dff8a79a9fb2b15d5afc173a721b54b4a39d46139b08241a8b2aec6173e9f0b087bb6adf122281e7f7a0d6e83b31b5cb753b00f7bb4a8f9faa55f3073595d7aced73d38776386fb5837095e9460be269f211a8962c0d5e9c40708e96e2947c2cad367054d060b725fa2dbd328dd492a167466fcd2f80a90be672cb33f3e1255e24421c70b849669e47514209e12f1aa3c51609b9909892317294905e2886adf2b7f76e1974647d5ae69b1b3a758cae5145d107faee4fc19e20163450d65cc89a32bdd5bfe2a2644818fe47f2c94efb0f29bb466f8ff77eb2d1c2a8c58185bb14c79803c0e4ecab5c20caab44568c5261bd0343239dc4b3ac386c155a9f17fb0efdd12304127e2e8c710d8578c723604cdefab10dde8b7a89686eb7e6fbad5aaa7d6f6aa09722a28573bc2642c3b17ac6d5287530c1d14a69c03e1dfbd2df4d5b36e886a7a00854b49ad7763c6a2392a4cc5e7ba2890dc8a5fe26e9e99f0ef9d693cfefd85bdf9b91b614894bb37b31a1682f60727a93bf2da962e98106117fc0aa0e55185e30b9150ff850c8dcfbe5cdc10a0010fe6b6d8da668668138e8f406b0809b7a511fa2566e68866a57c8cb22683c0425e44c83c7f696e454f44472226ddf7994b7fcde59a6d0bed90dd67ec3c495a0f1837cb51e0e2590b4904b8752e70daec0ea03ce3ad514edbaee372ab9958a917e3d15491dcb4e91aa25d065f13f494f6d585983d0fc1f1fe35e5c32f2aec2a6edbc6ba4e2140f7dbf90b0f2c9a6d0635ee67be0f6e7b5a47d359ba3cdf5170eb4372a40e920bc5d301e5fb133ea0a68ae144a8e4d9974624cb2538818ee5b2e92071076b3388cc65a5f16c9729d63e90b654a6b139215516bf4f3b3ad63e9d37ad07fea26bca285fd35b42bc96cd30e72950c7bb6ce704b14b2bbdcf4fbaaf61062edc0637b02ff965ea4a8c331a49186495e10e0fe4c51bc8d1b42e6286916c787afbbe2c6ecff68fec3f57858e890d496ab728de5a3c9722996e5e968ddaca9255108b4cc6214a2ca33249305d106694aea1afc7f503f81d3baff5c68f0c73f597c4540cf756316319c39e2b103a415e2ba603fa8d6791736d421bbc247442dbd19f7a3e7207ff64026f675a07472999010a3cde06c0236fe9bb01c74ed4fe346553eb2c9808b2602f0b07b5608e7f390e28661a3dbf0b3bc60c16e372d2e0662d7e6b6b9bedef164ad6285ea016f4100259ce7b0ce059d7dbf53987d5e61b796dfd3d37259fc5d195f9e210cde9a6aad83055de2d2e549aea07af0e1d213c053ef663be4dc7c1df4001713dd72429628c7a25b4ae13f59b9f1597521ad472a9411f41f17e835f0bb86f1e6a608316297133172074038b2d430755da7b96b0b6855c91be0df24df83a9578fe7cde60ad9de7608bd2d2ae1aeaff0f5ad05f204c4a867b164d5d1686ad7b1afdcf47b185efbc2a3a955dfbaef0cbe922eb5399852667256c69d2b7d5bb9069f9b4bebfc2a9b739e8496098dccceeabb0b51760616453eb1f37110928275eea72a13be29f7049003d7a74b696d3daa5605e7771508da0041b045762684225200b7869a765ff6a8e2d5d9922d5da7a0014890ff1bbcb507b0f73e7d964e6088fa68d0ad583377c6cb8916d721e8cd1d93480b82d194ee6c361a3002f3a96fe4550b5a80380ad23d0fb047292e718c18f57f0c1459b69f7aeae8013b8e707363e6e90ab8ac64ff25962479442ae47f2465c0897311e27149fe148d4d7e670ff9d230a63c0007e40c878c3bf3e78b609e433aedee58f8aa31e11bacb379965773329a3e8c3b52e599660dc6926e83bdbdea18f3cbf2c81aee9990a8cede8ed485178abf99c033c4f4680a801f550441927f7d47f5014d23504ff09948c3b0f151e09c11bac0e02141ae1222f2f44d71d247a7e15317a63c556f893abd7cf597105b59a9fd69cf6919b928395cbd0ab5de2447fba4479047aa900345cfe244441d4085cb2a8f3c6072e81cf9657c320e8d0de7b8c3e3ad623a804c044cda12a938639c2fff23b41b4000020ae3cf647ade2b823950f30ff188e6be8f389ddbe40202f6de4d247f43873ba8fd9eb94dc41bd1455ac25f7c48c2a7e020c65d7a829031345ae41094f7df2cc109c6fc1ed200eba444768fef7e2fe1640849e7f7a2746bc58d8407109b057cd24b067d7aefcc94dfe159104d56f4a14e33b75de5859463e24a665316098ce5e9c95b930ef4322cd0e5caf2160ce0d5373f5f92fe6bd18a3d6342cedfc33c0d6d2b8af773a1f6fef68e168f6957e2b683f39b6dcc0f21af4c2309b20378d00eb568f5ac89b4393f1083325fc041cfd04643a6a8760155696023f7dee303d62f261cc39ca13eff28a20bc140c47b1266693d8bf7f210a5a721a5d2baf84d761237877daa07ccff4e5b1344f7fdb46d0045883177e1c67b95a22cbfb0e9b8d46eb050ac96357be54aa3e5f9f9d986f47e6a2693dd29c6ce74b1e2a2f5d743044bceb742bf1a9815e83cb72c890ef12de96cd3fd706c03370c36347c81521c8dd0389d26cb740097f367d9d73a969b85fd8e1dd986f0ded6b5af988dce1f72fd292a826eabcd19eb54ed656c58d46ff7a1632737c2a308c662d30ce5d2e622947d012b16eb039cbf1c781bbc4b7911b447ba20a5114ee6d4813d72c9796502bde07d26521f1b89e93a931815c1ccf21260a7743774711ecbb3feaa437624b4a9ca6065a8bafa0870c2b1553535023343d6b87ee0748e032f9b3a6cccb162162934896c31d979c4685d8874bd88f74dacff5cf5046341282848e8587d1461076d853992353c2dbfeac39156744ff88448e7a48032f0da42cc7b15de65265a5c7f1167df92c5eba6c4b62d75d6506811d350501b916558530bb2182beae0944f012ff4509361eb3a2eb93587277c72eb034c5f712b02af76138ec1b50e467e1dd72eeb2cd7174b0cb01c0071e80a06d22add49e0efe92e6d4b1fbfd185f140a38cc8ab3a135694a3e46ab7599cd541060408755b130e8d87f87499fc12dcd68e9e8692c09e10011b8bb472969306c069a40c24347447a4affddb85096b3bdb59e7fc3a03174668a34b9ca9b9ac69730599d0f9c008a716db92be25f42405083e30b0f2336654267502161950ec261944ccbd2824da0dd89b63b4709226c0f1c74c625842919e177a6748cc2aa84d5620e7b3d8d04aab3d73295af789255743deb37f04781ce43fd96b7e76d71f39a17cb2d85ef3d784d6815de65c0030ce9dde241ad7cdb59932579156c55d23d895015f56a825c8752856dfc0d5e53811355749b39d0c07508e94c0b774cbaed7dd728c41557ef9f0de1971720eb377bf5d1", 0x1000}], 0x2}}, {{&(0x7f00000040c0)=@vsock={0x28, 0x0, 0x0, @host}, 0x80, &(0x7f00000047c0)=[{&(0x7f0000004140)="4f26e9cf99ca8aa8f59cba01aaf23dafee1ded64c95ac26871f257b605e7126b9786c7c1ca46c478efed7c12b4cf054a289bd82de9e82e031618004eb30e1524f9bc2fb5b2371c5ba5f3f161ea98f8c828c1782aafc10ab0c33c5e80ad9e23fad26bc85ead19754a54b0b063f98d2ca5138d73549d38a43e587b1c606cc9663f3b30437e3d69fc712ace33e55e31f90dd01ffeb4819719b44b3be45dab02cce278a97b56bede4fca", 0xa8}, {&(0x7f0000004200)="4a5db3398815fcaa14c4480dd41494eeee66b0999280c4acd710fec3106c16a9089af327184eff28688f8ed51f635132a71274a3530a57e4efe33d00ce1a35b0fd695e9e1f9344c83f410e834e5a7a2cfaee7d503dfc1206b8e053602086d7cf66db3b1cd0ed4039e814a300a85b98884e5a1c6a05de9f51b25cdc0bec5fd32b44d255cc7a4c74f9b67397b73828bbef3d1ad350a6b84b49accbf7e6c0e9ebc9fc4ccb6e292f3289ba68546c86a6e3399cd684654dd88901ff8060f2f38843c4a71f6fccf162bb53318ab6fb755c0c6cf78d63be98abaecd3598e47d1e895858d5b1037c23f4d9b0071f6fde63fb5e87fe80f9f8913e", 0xf6}, {&(0x7f0000004300)="5181218b210567c7bdee431c665b", 0xe}, {&(0x7f0000004340)="f4439232ff9657df6b769b1c62c77d9611e8ea5dcbcf35f7891ca9aff48ad25b3a17a588128a36cb4578fd7a5d7b66f6933989f796e6e11fa4c91891f58ed437650b43cbb1ec976bda5139375e714d2f7f87d1b66f5991bbf2893a1ade53b434bcadf34500ed3cbcad79a5200235a46a712b522ec99596adae9d", 0x7a}, {&(0x7f00000043c0)="3a8a831c5213d5abdfa2908c43495175380e0e6337c51ac0d21028514f45776a29e3f696f88ed52e43476a1273bd5018012385f3fc622261e5e48f1433546ac5eecb5a42c863e5e0faca8e32da63772a7c1e77", 0x53}, {&(0x7f0000004440)="63d81f20c792aee63483dbb61dc6e893368aa60ce3c62776e0248e623e3ccb8356edc0729778c12152b6546ccf5b31e5c780851466e1e815872eb961a4f03f9842e3638fe40b1089288fb665b53a5041667a2c3bfe5dc857daf373c83b58ab4273bcf8e968c553481d7912fcfd0f4884c4dbf492e3ec8741c10c4c4db3862fbbb8c1fb494ba5626736e17336963c539c65a55dbf4155840afec7b664b2f8cc1909ee098730e3c5c8a5496ac43240908ea46070a70a5001a8d53f431ec883ea6d4886a848002facd68d1ab57a1d92b1913f46bbc18d798f4b587e220a3656b67e65a5951e8387e260fd89", 0xea}, {&(0x7f0000004540)="859c58fbabaf3f00fa1912f3bc784aa7652f28371024cc1f5aac27d771e1f0b52f8757a5531639f4183966317d30a6ae0487d27e0086f2d851ef56a869dff7b6abc27166908a97f6fdc59aab53b6d4cdc24fba288c28a58332d24bd0db6044189f659ba4aedaf0f2a3a4bc37f5c54e493358d999bf4fdd3e7b81bd318afa933819bba7a0faba78e261569171da88637d1f9a6a8a2ba3b1802609ee9d7596c742f71861ba4f19dbb5c2407fc9fe5f09477e27b06835da55485efe34ff8999129eca9d542b9425", 0xc6}, {&(0x7f0000004640)="e0402520af61586cc988258a42904cd468929d64147a84d4c6b61e351d14235268e335fe68e5f9a463680198d876b317b4a92aac3257c6e34afb7f52e151cbfc2d0263332e6c87f1d8ca2190415ced9e7874662e46fb66fa7904d316b3b55863a4fe9d107fef53edf4a21778633f8b435eb1d05b61263da6925c01c147f1044b0f406faa8c64eab30ee5d24c7419ab2a51305f991f10179625359a2256b7d75d954a754dfad79346", 0xa8}, {&(0x7f0000004700)="c4cfa283a189d83f12ace31432c68f6340cc33a466f162e1c0ed39cf039d1194616d51f1a482a848c54757bfaf0562eb0f400992693c911d57d73bb7818f5a451ddffee6c64b680f7f63154497c08e2b9470d9b211b6d8277252d56a4a0d1110247e8e9921f0fdba371dad70a0f18e63191d257c", 0x74}, {&(0x7f0000004780)="9ee9b1c700b38f7f781a7e69b986b99ec5a834fe224c40c90d5e581acb3821b370e010e55092fc53ea", 0x29}], 0xa}}], 0x5, 0x10000041) 07:45:42 executing program 5: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) getpid() preadv(0xffffffffffffffff, &(0x7f0000000280)=[{0x0}], 0x1, 0xffffffff, 0x7fffffff) r0 = syz_clone3(0x0, 0x0) r1 = getpid() process_vm_readv(r1, &(0x7f0000008400)=[{&(0x7f0000000300)=""/54, 0x7ffff000}, {&(0x7f0000006180)=""/152, 0x98}], 0x2, &(0x7f0000008640)=[{&(0x7f0000008480)=""/95, 0x7ffff000}], 0x286, 0x0) ioctl$EXT4_IOC_GET_ES_CACHE(0xffffffffffffffff, 0xc020662a, &(0x7f00000005c0)=ANY=[]) ptrace$setopts(0xffffffffffffffff, 0x0, 0x0, 0x0) r2 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) wait4(r2, 0x0, 0x40000000, 0x0) pipe(&(0x7f0000000240)) syz_clone3(&(0x7f0000000480)={0x80000000, &(0x7f0000000040), &(0x7f0000000080), &(0x7f0000000100), {0x3}, &(0x7f0000000140)=""/175, 0xaf, &(0x7f00000003c0)=""/161, &(0x7f0000000200)=[r0, r2], 0x2}, 0x58) r3 = socket$inet6(0xa, 0x1, 0x8010000000000084) bind$inet6(r3, &(0x7f00000000c0)={0xa, 0x4e21, 0x0, @empty}, 0x1c) connect$inet6(r3, &(0x7f0000000000)={0xa, 0x4e21, 0x0, @ipv4={'\x00', '\xff\xff', @dev={0xac, 0x14, 0x14, 0x29}}}, 0x1c) setsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r3, 0x84, 0x9, &(0x7f0000000300)={0x0, @in6={{0xa, 0x0, 0xe8030000, @empty}}, 0x0, 0x0, 0x0, 0x0, 0xb3550aa4ba878354}, 0x9c) 07:45:42 executing program 3: r0 = socket(0x10, 0x3, 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000000)={'lo\x00', 0x0}) sendmsg$nl_route_sched(r0, &(0x7f0000000640)={0x0, 0x13, &(0x7f0000000780)={&(0x7f0000000340)=@newqdisc={0x6c, 0x24, 0xf0b, 0x0, 0x0, {0x60, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_htb={{0x8}, {0x1c, 0x2, [@TCA_HTB_INIT={0x18}]}}, @TCA_STAB={0x24, 0x8, 0x0, 0x1, [{{0x1c, 0x1, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff7f}}, {0x4}}]}]}, 0x6c}}, 0x0) 07:45:42 executing program 2: r0 = bpf$MAP_CREATE(0x1900000000000000, &(0x7f0000000040)=@base={0x1b, 0x0, 0x0, 0x2000}, 0x48) pipe(&(0x7f0000000000)) r1 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r1, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) sendto$inet(r1, 0x0, 0x0, 0x20020094, &(0x7f00000018c0)={0x2, 0x4e20}, 0x10) bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0xe, 0x4, &(0x7f00000003c0)=ANY=[@ANYBLOB="b4050000200080006110600000000000c60000000000000095000000000000009f33ef60916e6e893f1eeb0be2566cd0723043c47c896ce0bce66a245ad99b817fd98cd824498949714ffaac8a6f77ef26dcca5582054d54d53cd2b6db714e4b94bdae214fa68a0557eb2c5ca683a4b6fc89398f2b9000f224891060586b9fd442017cfa6fa26fa7a34700458c60897d4a6148a1c11428607c40de60beac671e8e8fdecb03588aa623fa71f871ab5c2ff88afc6002084e5b52710aeee835cf0d78e45f70983826fb8579c1fb01d2c5553d2ccb5fc5b51fe6b174ebd9907dcff414ed55b0c20cdbe7009a6fe7cc78762f1d4dcdbca64920db9a50f86c21632fd30bf05121438bb74e4670ab5dfe447a4bd344e0bd74ff05d37ef68e3b9db863c758ffffffffb426e1230bc1cd4c02c460ceb44276e9bd94d1c2e6d17dc5c2edf332a62f5fe68fbbbbfcfd78a9f3fdc1f50c445e3f30e703cf05b90fbf940e6652d377474ed5f816f66ac3027460ae991e7f834dd7a7fc2a7003d1a6cf5478533584961c329fcf4fed5c9455640dcd28273dc9753cc979113f2915a3039c3ca60ec53bb1130c2d27fed7d67c440e23d130e51eea1e085bebabe7059de9cbfc5117c024185a062acb6b8eec31c21b3af8b9eedb4660ed2def7adf2a33a376a5cb7d4266d5b0be14488d14b473502486af8dd6"], &(0x7f0000003ff6)='GPL\x00', 0x4, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x366, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) mmap(&(0x7f0000ffb000/0x2000)=nil, 0x2000, 0x0, 0x13, r0, 0x9000000) 07:45:42 executing program 3: syz_usb_connect$cdc_ncm(0x0, 0x6e, &(0x7f0000000080)={{0x12, 0x1, 0x0, 0x2, 0x0, 0x0, 0x20, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x5c, 0x2, 0x1, 0x6, 0x0, 0x0, {{0x9, 0x4, 0x0, 0x0, 0x1, 0x2, 0xd, 0x0, 0x0, {{0x5}, {0x5}, {0xd}, {0x6}}, {{0x9, 0x5, 0x81, 0x3, 0x418, 0x40, 0x1, 0x2}}}, {}, {0x9, 0x4, 0x1, 0x1, 0x2, 0x2, 0xd, 0x0, 0x0, "", {{{0x9, 0x5, 0x82, 0x2, 0x0, 0x0, 0x0, 0x5}}, {{0x9, 0x5, 0x3, 0x2, 0x0, 0x0, 0x8, 0x80}}}}}}}]}}, &(0x7f00000007c0)={0x0, 0x0, 0x0, 0x0, 0x6, [{0x0, 0x0}, {0x2d, &(0x7f0000000340)=@string={0x2d, 0x3, "429a7f387a2a832d4f15ab9f49db748a66a3fab0776d2faadc2453bf696095c061588cded5726ccd5043f3"}}, {0x3c, &(0x7f0000000440)=@string={0x3c, 0x3, "a15ceb7236d66fa0402c004216078a3383912580a5ffc66cca91e3282af69d842f3dce5aaccd848ae39a9b0c649414095376576209244fdb013a"}}, {0x0, 0x0}, {0x18, &(0x7f00000005c0)=@string={0x18, 0x3, "3c54d22214b9d071f47df018bf2e950b960ab55b543a"}}, {0x0, 0x0}]}) 07:45:42 executing program 2: socketpair$unix(0x1, 0x1, 0x0, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) pipe(&(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r0, 0x0, r2, 0x0, 0x7, 0x0) ioctl$int_in(r2, 0x541b, &(0x7f0000000000)) dup2(r0, r1) 07:45:42 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x6, 0x89}, 0x0) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) r1 = epoll_create1(0x0) r2 = timerfd_create(0x0, 0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r2, &(0x7f0000000000)) timerfd_settime(r2, 0x2, &(0x7f00000000c0)={{}, {0x0, 0x989680}}, 0x0) r3 = open(&(0x7f0000000200)='./file0\x00', 0x848c5, 0x0) write$9p(r3, &(0x7f0000001400)="3b27a4b46ee92b4a59073c369a5e19f9db153c4fdbc76aa2a4bb9f3e5e1aa197a9e97d1016c01813792e50c2692c175aad715d110a892949ccc6e2e54c2d5c8f0b7932b69797f217168b0c1feb128ae34f0daf487a70b5c117acd43725fe17993634f1695dabd7f998cd55e9d5bd911e86aa7a4ad75a574bb96951d6018b25d942a9544bca1ebb0e8d10c092cdcb85797673972099e4041aaf8d636f66cb1103ef2050ad28fabaed33d6927889d97f4b5ce0de71d3fd832980f4f088d0d824e20549b4bbd906ffa51ce9de54d779eb4de462faac20a3ab0ed9934373ca22cea5454f4c2a740cd461e39956bb5f98df2aebc60cf32623adbffbcc378fa7250b6a3fc863dadcf6d4f8b855c4e70f0796eee6218445dad2811dd6b540ff52efa2f167dd9c1b8b016268d37db430983fefc0645d20614c8df2eb0872c58e09664e672b0b6a9970fec199257e1c606ec3e364c66a0f4d258c74accd43b987c756d602fd8787fed3aa43fd8d84e9656d4a413fa9a423bc54b873583d6d497005e54712fafc71384988d80134fbf84f53fdd74b354848006b8b5b67e7cc5a472475d3ae545ca1fcf7628b873e31ba83a98a7ad5b0cfbe9711b517a9a1388ad0efa2a3b4e22152021d631b731e2e100a9831111db7acce948bb5deeea260463c140ac929e77c58402776caf85d4569a75dde2f64c4491508afb541ed9b2c81fc95c06706235f383e31cf662c95b1e49cfd94871e22720a41535756e419b271276941692bd023dd9c9dbec4f7db1e5c00d8b3be7b8e826a6aadd001edd0dfeb00f8048442b5c48456fd642e629dcb2ff55592665ff491cd832672ce4d999da186db2c3a1f8b6b1f7d3750d7cdb3097954e6e14fb2183ad662c63d4ce8b82dc2487f0fe2ea2827b53a7c6dcced878d2fb29c1d3ff583570e7bc172d1a5c716e0447cb08ce3c468ffdf975da372f3f3eb455aaf5822bc04a51b6cad24a2331369df81c123b009a2381b42e9aeb077f621608d81c12a5f5c6c295d74afd4dd5c051296be0b54c70bf899b347c36bff62f313079983409d7f9cf1242c917985c1b5d0736fe21f8514f63d0369a374c42da40bd5140bc3e602d00c3cb4f8e621863ab47422778d67d72de34753fd72cef80649a1548e4e8dcbcffe4054cc9d8a1f922623a75904cbdaacde768131e587269a4a99d82f7009c1b8ab79aa232a2fd45ad71b603803123f6ba979fa6a87525884b08d721a21400fb1f950b96ead82f408cc4388d3b78fb456616429a520656d5e5a876fd04748498902c86f58d45f4c1b3919eb846a00edf07e7a830bf723e4774f085f15534dd3b5246c0c0970b5ad7bb39b30b156a9430378c5b0aab1261c78d72ac301cd552d5e8dd4b642ec1dc0672745d593bb26d095b5b23576e3cfd6ab580f6e09419d0f0c64250fafaa3759aa1888da48d89c3f7c9454b0b3d0ab40445f5bed4493ef43ab08f31b1345ac4ffd94ad79c9eee53904ed6f572817153190d2e6863f2e39356bb99926419fd314341a536b7e76cae60bf7750a4c29e3f4c7f005530b1d4ee0e25b93b76fcc1108222f0b00de52cf4100e97adfd7b9db1370586ba27e1e183299be00d0df8439c380edf2f79deb441eac59b814b04accdff5e17f02046139f91f0332661676ff506e575f0cb2850bcc9f8666f6d1f69f8f4271cb804a79fccd7016f049d1a494c26a527c437fa0be6d51ec7543d9bd7a2f016194ebe3c99080a6c9b5119863dfe865f8e60cae29f50b67dbfaa0a3c9794d73034485ca1613344c572783db3dfab01b28089c51cda99cefa4c1c881a29e229f04c7e0fd04dc425ae8417852e6e31520c6207e9d4e35285feef2a2cb8a3bceb08a166fa4284a516362621e2c06731a442791f1db063a32cf1f005c914102c7273cb4d7ab1bf567d72f230783d2ea99c43a60e8729132441ee6c5362c33f9b613f84417c3c5549f4e3d9e73c6f83f16c8e57ae22fe5f54515e111fe43ad7c400d214281452bb6141cecad84b23a695f061988d906d03be5d89584634b9e9d9a9b072f8e7cbb47c47719318a2001cafa665dd2c82672d16877ea115bd023fc1975f7c59664bfb06f66a1a5e3f05cb283fb45ea67a2727ee6e10bf35b31fdd03d43ec67b753f6737e0d2f4a5275031595878cefc8f0ca", 0x600) r4 = open$dir(&(0x7f0000000380)='./file0\x00', 0x0, 0x0) sendfile(r3, r4, 0x0, 0x10000) epoll_wait(r1, &(0x7f0000000080)=[{}], 0x1, 0xf739) epoll_ctl$EPOLL_CTL_MOD(r1, 0x3, r2, &(0x7f0000000040)={0xa000000d}) 07:45:42 executing program 2: r0 = syz_open_dev$vim2m(&(0x7f0000000180), 0x5, 0x2) ioctl$vim2m_VIDIOC_S_FMT(r0, 0xc0d05605, &(0x7f00000001c0)={0x1, @vbi={0x0, 0x0, 0x30314752}}) [ 1855.078035][ T27] audit: type=1804 audit(1653119142.493:36882): pid=20528 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.4" name="/root/syzkaller-testdir674073113/syzkaller.9dT5dW/1015/file0" dev="sda1" ino=1169 res=1 errno=0 [ 1855.173850][T19797] usb 4-1: new high-speed USB device number 25 using dummy_hcd [ 1855.421451][T19797] usb 4-1: Using ep0 maxpacket: 32 [ 1855.545464][T19797] usb 4-1: config 1 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 64, changing to 10 [ 1855.545488][T19797] usb 4-1: config 1 interface 0 altsetting 0 endpoint 0x81 has invalid maxpacket 1048, setting to 1024 [ 1855.545508][T19797] usb 4-1: config 1 interface 1 altsetting 1 endpoint 0x82 has invalid wMaxPacketSize 0 [ 1855.545521][T19797] usb 4-1: config 1 interface 1 altsetting 1 bulk endpoint 0x82 has invalid maxpacket 0 [ 1855.545534][T19797] usb 4-1: config 1 interface 1 altsetting 1 endpoint 0x3 has invalid wMaxPacketSize 0 [ 1855.545546][T19797] usb 4-1: config 1 interface 1 altsetting 1 bulk endpoint 0x3 has invalid maxpacket 0 [ 1855.854919][T19797] usb 4-1: string descriptor 0 read error: -22 [ 1855.869792][T19797] usb 4-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 1855.878841][T19797] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1855.917718][T20521] raw-gadget gadget: fail, usb_ep_enable returned -22 [ 1856.164728][T19797] cdc_ncm 4-1:1.0: bind() failure [ 1856.173764][T19797] cdc_ncm 4-1:1.1: CDC Union missing and no IAD found [ 1856.181152][T19797] cdc_ncm 4-1:1.1: bind() failure [ 1856.192774][T19797] usb 4-1: USB disconnect, device number 25 07:45:54 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x6, 0x89}, 0x0) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) r1 = epoll_create1(0x0) r2 = timerfd_create(0x0, 0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r2, &(0x7f0000000000)) timerfd_settime(r2, 0x2, &(0x7f00000000c0)={{}, {0x0, 0x989680}}, 0x0) r3 = open(&(0x7f0000000200)='./file0\x00', 0x848c5, 0x0) write$9p(r3, &(0x7f0000001400)="3b27a4b46ee92b4a59073c369a5e19f9db153c4fdbc76aa2a4bb9f3e5e1aa197a9e97d1016c01813792e50c2692c175aad715d110a892949ccc6e2e54c2d5c8f0b7932b69797f217168b0c1feb128ae34f0daf487a70b5c117acd43725fe17993634f1695dabd7f998cd55e9d5bd911e86aa7a4ad75a574bb96951d6018b25d942a9544bca1ebb0e8d10c092cdcb85797673972099e4041aaf8d636f66cb1103ef2050ad28fabaed33d6927889d97f4b5ce0de71d3fd832980f4f088d0d824e20549b4bbd906ffa51ce9de54d779eb4de462faac20a3ab0ed9934373ca22cea5454f4c2a740cd461e39956bb5f98df2aebc60cf32623adbffbcc378fa7250b6a3fc863dadcf6d4f8b855c4e70f0796eee6218445dad2811dd6b540ff52efa2f167dd9c1b8b016268d37db430983fefc0645d20614c8df2eb0872c58e09664e672b0b6a9970fec199257e1c606ec3e364c66a0f4d258c74accd43b987c756d602fd8787fed3aa43fd8d84e9656d4a413fa9a423bc54b873583d6d497005e54712fafc71384988d80134fbf84f53fdd74b354848006b8b5b67e7cc5a472475d3ae545ca1fcf7628b873e31ba83a98a7ad5b0cfbe9711b517a9a1388ad0efa2a3b4e22152021d631b731e2e100a9831111db7acce948bb5deeea260463c140ac929e77c58402776caf85d4569a75dde2f64c4491508afb541ed9b2c81fc95c06706235f383e31cf662c95b1e49cfd94871e22720a41535756e419b271276941692bd023dd9c9dbec4f7db1e5c00d8b3be7b8e826a6aadd001edd0dfeb00f8048442b5c48456fd642e629dcb2ff55592665ff491cd832672ce4d999da186db2c3a1f8b6b1f7d3750d7cdb3097954e6e14fb2183ad662c63d4ce8b82dc2487f0fe2ea2827b53a7c6dcced878d2fb29c1d3ff583570e7bc172d1a5c716e0447cb08ce3c468ffdf975da372f3f3eb455aaf5822bc04a51b6cad24a2331369df81c123b009a2381b42e9aeb077f621608d81c12a5f5c6c295d74afd4dd5c051296be0b54c70bf899b347c36bff62f313079983409d7f9cf1242c917985c1b5d0736fe21f8514f63d0369a374c42da40bd5140bc3e602d00c3cb4f8e621863ab47422778d67d72de34753fd72cef80649a1548e4e8dcbcffe4054cc9d8a1f922623a75904cbdaacde768131e587269a4a99d82f7009c1b8ab79aa232a2fd45ad71b603803123f6ba979fa6a87525884b08d721a21400fb1f950b96ead82f408cc4388d3b78fb456616429a520656d5e5a876fd04748498902c86f58d45f4c1b3919eb846a00edf07e7a830bf723e4774f085f15534dd3b5246c0c0970b5ad7bb39b30b156a9430378c5b0aab1261c78d72ac301cd552d5e8dd4b642ec1dc0672745d593bb26d095b5b23576e3cfd6ab580f6e09419d0f0c64250fafaa3759aa1888da48d89c3f7c9454b0b3d0ab40445f5bed4493ef43ab08f31b1345ac4ffd94ad79c9eee53904ed6f572817153190d2e6863f2e39356bb99926419fd314341a536b7e76cae60bf7750a4c29e3f4c7f005530b1d4ee0e25b93b76fcc1108222f0b00de52cf4100e97adfd7b9db1370586ba27e1e183299be00d0df8439c380edf2f79deb441eac59b814b04accdff5e17f02046139f91f0332661676ff506e575f0cb2850bcc9f8666f6d1f69f8f4271cb804a79fccd7016f049d1a494c26a527c437fa0be6d51ec7543d9bd7a2f016194ebe3c99080a6c9b5119863dfe865f8e60cae29f50b67dbfaa0a3c9794d73034485ca1613344c572783db3dfab01b28089c51cda99cefa4c1c881a29e229f04c7e0fd04dc425ae8417852e6e31520c6207e9d4e35285feef2a2cb8a3bceb08a166fa4284a516362621e2c06731a442791f1db063a32cf1f005c914102c7273cb4d7ab1bf567d72f230783d2ea99c43a60e8729132441ee6c5362c33f9b613f84417c3c5549f4e3d9e73c6f83f16c8e57ae22fe5f54515e111fe43ad7c400d214281452bb6141cecad84b23a695f061988d906d03be5d89584634b9e9d9a9b072f8e7cbb47c47719318a2001cafa665dd2c82672d16877ea115bd023fc1975f7c59664bfb06f66a1a5e3f05cb283fb45ea67a2727ee6e10bf35b31fdd03d43ec67b753f6737e0d2f4a5275031595878cefc8f0ca", 0x600) r4 = open$dir(&(0x7f0000000380)='./file0\x00', 0x0, 0x0) sendfile(r3, r4, 0x0, 0x10000) epoll_wait(r1, &(0x7f0000000080)=[{}], 0x1, 0xf739) epoll_ctl$EPOLL_CTL_MOD(r1, 0x3, r2, &(0x7f0000000040)={0xa000000d}) 07:45:54 executing program 1: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x80000, 0x5, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000600100000f000000000000000000000004000000000002000020000020000000ddf4655fddf4655f0100ffff53ef010001000000ddf4655f000000000000000001000000000000000b0000000001000008000000d24200001203", 0x66, 0x400}, {&(0x7f0000010100)="0000000000000000000000006856d49a00cc4371bd6a7c893f280045010040", 0x1f, 0x4e0}, {&(0x7f0000000040)="03f816718d0d3a8e5fc4800000000000000049866717faf689ae97b571fca96282d6908ec16ef50c650b835e0fa822816d81915e21302e339f", 0x39, 0x640}, {&(0x7f0000010400)="03000000040000000500000016000f000300040000000000000000000f00698c", 0x20, 0x800}, {&(0x7f0000010e00)="ed41000000040000ddf4655fddf4655fddf4655f000000000000040020", 0x1d, 0x1500}], 0x0, &(0x7f0000000380)=ANY=[]) 07:45:54 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x6, 0x89}, 0x0) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) r1 = epoll_create1(0x0) r2 = timerfd_create(0x0, 0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r2, &(0x7f0000000000)) timerfd_settime(r2, 0x2, &(0x7f00000000c0)={{}, {0x0, 0x989680}}, 0x0) r3 = open(&(0x7f0000000200)='./file0\x00', 0x848c5, 0x0) write$9p(r3, &(0x7f0000001400)="3b27a4b46ee92b4a59073c369a5e19f9db153c4fdbc76aa2a4bb9f3e5e1aa197a9e97d1016c01813792e50c2692c175aad715d110a892949ccc6e2e54c2d5c8f0b7932b69797f217168b0c1feb128ae34f0daf487a70b5c117acd43725fe17993634f1695dabd7f998cd55e9d5bd911e86aa7a4ad75a574bb96951d6018b25d942a9544bca1ebb0e8d10c092cdcb85797673972099e4041aaf8d636f66cb1103ef2050ad28fabaed33d6927889d97f4b5ce0de71d3fd832980f4f088d0d824e20549b4bbd906ffa51ce9de54d779eb4de462faac20a3ab0ed9934373ca22cea5454f4c2a740cd461e39956bb5f98df2aebc60cf32623adbffbcc378fa7250b6a3fc863dadcf6d4f8b855c4e70f0796eee6218445dad2811dd6b540ff52efa2f167dd9c1b8b016268d37db430983fefc0645d20614c8df2eb0872c58e09664e672b0b6a9970fec199257e1c606ec3e364c66a0f4d258c74accd43b987c756d602fd8787fed3aa43fd8d84e9656d4a413fa9a423bc54b873583d6d497005e54712fafc71384988d80134fbf84f53fdd74b354848006b8b5b67e7cc5a472475d3ae545ca1fcf7628b873e31ba83a98a7ad5b0cfbe9711b517a9a1388ad0efa2a3b4e22152021d631b731e2e100a9831111db7acce948bb5deeea260463c140ac929e77c58402776caf85d4569a75dde2f64c4491508afb541ed9b2c81fc95c06706235f383e31cf662c95b1e49cfd94871e22720a41535756e419b271276941692bd023dd9c9dbec4f7db1e5c00d8b3be7b8e826a6aadd001edd0dfeb00f8048442b5c48456fd642e629dcb2ff55592665ff491cd832672ce4d999da186db2c3a1f8b6b1f7d3750d7cdb3097954e6e14fb2183ad662c63d4ce8b82dc2487f0fe2ea2827b53a7c6dcced878d2fb29c1d3ff583570e7bc172d1a5c716e0447cb08ce3c468ffdf975da372f3f3eb455aaf5822bc04a51b6cad24a2331369df81c123b009a2381b42e9aeb077f621608d81c12a5f5c6c295d74afd4dd5c051296be0b54c70bf899b347c36bff62f313079983409d7f9cf1242c917985c1b5d0736fe21f8514f63d0369a374c42da40bd5140bc3e602d00c3cb4f8e621863ab47422778d67d72de34753fd72cef80649a1548e4e8dcbcffe4054cc9d8a1f922623a75904cbdaacde768131e587269a4a99d82f7009c1b8ab79aa232a2fd45ad71b603803123f6ba979fa6a87525884b08d721a21400fb1f950b96ead82f408cc4388d3b78fb456616429a520656d5e5a876fd04748498902c86f58d45f4c1b3919eb846a00edf07e7a830bf723e4774f085f15534dd3b5246c0c0970b5ad7bb39b30b156a9430378c5b0aab1261c78d72ac301cd552d5e8dd4b642ec1dc0672745d593bb26d095b5b23576e3cfd6ab580f6e09419d0f0c64250fafaa3759aa1888da48d89c3f7c9454b0b3d0ab40445f5bed4493ef43ab08f31b1345ac4ffd94ad79c9eee53904ed6f572817153190d2e6863f2e39356bb99926419fd314341a536b7e76cae60bf7750a4c29e3f4c7f005530b1d4ee0e25b93b76fcc1108222f0b00de52cf4100e97adfd7b9db1370586ba27e1e183299be00d0df8439c380edf2f79deb441eac59b814b04accdff5e17f02046139f91f0332661676ff506e575f0cb2850bcc9f8666f6d1f69f8f4271cb804a79fccd7016f049d1a494c26a527c437fa0be6d51ec7543d9bd7a2f016194ebe3c99080a6c9b5119863dfe865f8e60cae29f50b67dbfaa0a3c9794d73034485ca1613344c572783db3dfab01b28089c51cda99cefa4c1c881a29e229f04c7e0fd04dc425ae8417852e6e31520c6207e9d4e35285feef2a2cb8a3bceb08a166fa4284a516362621e2c06731a442791f1db063a32cf1f005c914102c7273cb4d7ab1bf567d72f230783d2ea99c43a60e8729132441ee6c5362c33f9b613f84417c3c5549f4e3d9e73c6f83f16c8e57ae22fe5f54515e111fe43ad7c400d214281452bb6141cecad84b23a695f061988d906d03be5d89584634b9e9d9a9b072f8e7cbb47c47719318a2001cafa665dd2c82672d16877ea115bd023fc1975f7c59664bfb06f66a1a5e3f05cb283fb45ea67a2727ee6e10bf35b31fdd03d43ec67b753f6737e0d2f4a5275031595878cefc8f0ca", 0x600) r4 = open$dir(&(0x7f0000000380)='./file0\x00', 0x0, 0x0) sendfile(r3, r4, 0x0, 0x10000) epoll_wait(r1, &(0x7f0000000080)=[{}], 0x1, 0xf739) epoll_ctl$EPOLL_CTL_MOD(r1, 0x3, r2, &(0x7f0000000040)={0xa000000d}) 07:45:54 executing program 2: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000000000), 0x0, &(0x7f0000002140)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=0000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1}, 0x50) lstat(&(0x7f0000000680)='./file0/../file0/file0\x00', 0x0) syz_fuse_handle_req(r0, &(0x7f00000042c0)="9eda438838743bd4e9720bee57093515dc189a5ea685e9556c1c2c3cfc4df50d66d31a48aa312663b68d18c5826b5b55fb738208863dac0f10f423aee7a5d8ddc45ebdfeb7424bae859d7c37ecfc4b63914d5a56d91017dd22bc84f759a15969951aef9d5c88c96560896988fa18cd946cfcc3a0f1c993348377904eac32c980bdf7976ebca2b499cab63c4e841514277fc71d4620e29a92523402485de0e82896484c0ae497a4d686df23ca7b68c3fd5e624d3510d7f94838e54af877ca58a00c5a672bba11f5aa1ed1980dfef47b9973d0bf456ded5e72f1702b3dc5197fce39cba53a038d8dc0ec783ce70577107dc5e8b299e64a0b7f1191f0926bd25762370191710bab2f44e9069f55f8a3f87e4cb488a2fb3348c0bf3b3874291f83e4776b160ea73aafa3919c7c069c73c0052173a63158db8b65541d161f9c964926ad7f06bdd6cb6a32135b04e35701c2e13c49c1f75dc7a25d623378860692d172ec3f1e1f2d9dc77c015c13721efcb101c2390abb847e871132f472a37cc0163b39b1d575a5444e246a08a1afb1a696cabab29498a314429a3b9f44c43ba29f71fac1fbe0d01c3c16d22730932704bcfb0c1b7a432bc51dd3f5dd5afc3b342cbe6a6ff899039e28f9a51881b1d46fdcf31767cb6f5c5c69ab3c80615d77c4d1664fc4ec831b8cea2e752bbb7a9ce79df875b29f1e232751daf32a1a0c4ff8bd0688e2b8e2d668b8a77e20a9eb6ec2e2c23b94e507baeacbcfa31fb6e1ca3343668f43e3aa6d85e7c29bf0bb4dbdabddc92be7f4a6f5d21b19e6da17bfb6cc926e3847532fae29c7b62fb909130ec372d3c16cfe6aaf3ce2af0fe7610fde7aad61bc80d2f96b999c8ccf6d22cf903ca8ae8b879ec4a416f334982e9810c0140a18d4dc81b5edaae23e9f4abaf40ed71512aebbba5bb251545e188db789558a845a2877b14bdaeec3c738b7d730c0860531bf5517d4f0e8f95ed3571f8a35816d5116fcb8d7cbf42b7d5d5e65541508c898bb2e0fe96297d2ab7135662de39df099ebaed5871111f5346278cee5728cec512e6c0a0d65b51e3d627873195b84103341c2bc83b6c8fdd8ba17f5957413f61c69d618c9b9d0b1f08dc81921b6c662ee1da3bfa019b095e9a03c2db4d645ccb7364e895098cbf7d932c72d80663c7a1694d122f7348393079223c11d36c64a5856eae0397ab9a9d948204b74e56525a9d552dd0916de81cbb5af3c59b3d7f8f9154423ce2cb45a5bc808e24bef13212019a19545fe54ba84d01534358380192b8c7b0eda907810375bb66a578a58fec392b47991271c8367b91d710e8a176bc1a4e96f0e137d4c25fbb03eddc392f9f170dd744472b864fbbae7c93d86e682308b21b73c5652065d72cf02e1152b44024a90a3b52eb0bb3cb412e518d37a68aa4c7f46789c54ab30d3a73d0a8712fde612294cda2aa1ccf164930b9b1d17801d4fbb06e849d39bf2b5141330caa0d2618b616f1c67e1ca57080e79ed9092ba7a55e8121cfc825cd26a0199a479a7ab1b7b23d2a4dd82fa6d04ee41ca680435efc934f0451e865e8632ac2f1115f4cdd33b0fccb7a2326127faf20cba37c828613dba5a98f4e1ad25eb6b91078cf73d873df9ef91531476f64b83559ff7ccdc4c070d478b18196ea05fe8d4ea0216ee5273dfabbd04582f40f064c9781afd2cbf30901f28cd09cc934f1b2d50883778274177e3dba8af0a1b931d80ce1a6c4085780ea2195b65ecfd2953f78a5290fe560d0cd6a5e73890a5a82dc410b92a3ef2be05ec5607820fd4ca6b9c3aa258d59022fdcb21665f1ce4e8aad8fd918c43bd3c2afe3dc223ff9f48831d401c8b6996190793d1dd7551f8511b69283992398d8f9b4bd2b3398d3b8c6f3c5d8b802ca5282b70242df2b7be4b38e70c3065f8da888631375afcc05ce578089c4f783776b286b7a60d1b5e189e2742a3240c1036a953d886885422eef01413c38099b64505fd5a73488acb4e611820674c58ae74d6c64a885d4beda9bd7903bcdc71e3711e2a057c0eab2100c321050ab14c6e453c53182577ad3178603cd9afde40a701120e9a36074fd582428c74e02781318e6c65450f8f020bd22475696fe13b8c59260e53a06d16eabd135e887a0a6bbc8ad21be7661df76fec5b13844f68b8eed1a7379713738beac9f23c7a26520e19797a910cde9fb285179526889b908b7eb49bb06f70f6271fba8712c1a4269ebcf4b7d043e924e3d2c4c753fd7e547d95841e335179836f76424e728810d7f32b78256ea30c79d9238a6588426e1f2d4c0b03d5605bd826ed24f0f11326b4cf958632b86e017aa80e142db1580c44f76d9c98196f3f6852ab2bfc6a01a3553a130c2d171957f5a45c3550fbbc990ef8742a98a86b280a57b9f198ff436bc01161ada50e6f23026c3254adf2321bff7e20aa54080bbb57d8d52c6a6df6107706a2e5bc6da68f17b474c0edd39401d765086e885cf7992405f856557915603cbe8894676e996bbadbb649a5e7498b91f9bd2f697dd9ebbe4d386050258b9f4c94781e61c660651c3f1e3ae51f8c035eca365bf15d6db48ea9ce183515f4a208d010f7c23dcacbd6e225490d7e9c133525f5c9018d752b21b4897bf18b64b6a9936f538a0a8958fc934440aeeaad2b68ac844d76f0900a6c95bd0b353d85d4fb62eb88360112237fd8c636a80e3130b21d66ae8ec58a4b76cba0602f96da919f7e84fd37e3ec2379f58e389a39c78d2482e03c379e3c4649ad63a76e3707ecff07d2fcb0c9dfc524cab49e69a09c92e4f88714335cb57d3f6184d07bef9657280fb5c9fd2d8f940f7ac6c5407e3077aa2e4ba8e217e0ee19e302d6d90e3be05a86dade35d2e454e511afb5cf5936f1d11f2fa6be6ceaa817dbdc7a6aabf2fad8ff3efa8382a25099f0c5989d2ad56ae0f4968b2cfcfc67b4f1c161c75900b4848f59a3c0376dfcb7997bf28e9e85d6dd942a360516de38e1c1a038a796f9a77ff2b0c7e5e8f4932391a0e58e76dacc6f9764178a211dfde3e75d367d2911ff398126ffdf83cf2fbdf1ad5232bed9155f7a168638a572094a9e934d4969b358cf6e121d7fd2aeae2f499068b42c152f0e3403a230885d6f92f038ddaa23499f804ffb06abdbabb51f6c38c92fb1a6271a4b13d6d11125b8ec12efa5907dc65062797fb9cca15e2f254e76b182d3fcdb4e96ac4de36d6df7e7bba5c32f422286b1be3b79bffb6fd693761952d195a84ad9ceb07287a0fbefab9e0347b513c5f60233ccd4b52d90ec144a2f896d9dc7f279f8aa93038f3efa286e1c3006933a4d7183d952f8d28b141b28b2af355b5bd8198dfde1ffb8d09202aff0d16ca3fec194662892a49f829813970a4520f1228aa03d211a45bed3b2e05bf1f10b1a152761e7b6c6ddea863a3c02224256092c70ca70dc185c4c385dd98b09e2682661e1e66f71d9c4037048eb70e8a1cbe57de87ec43713abf5fdcf63b9c482f318e3bec37e878dadbae15a02d731e6c8574eb14c059d72f73be5174add786d06b585a28a06d349d8e434a491b34897b3c1ad786ec8280d7f57edd4fbc6aea5485d659b59d393e331cf91e6ed76f340fcf7cf460892fa7318fc42b883f61d888ad982a751accb613c66661fba5f3d6de751a6a9ef8a4700316aaad04e991aab7903f4ef012ec2a8c092234e74ef335daf360ae47bbd2bbc6ad8c1a4f81efe8bbd703cb55ef36b32b4e30cb5a3b165c02ba295d0e1c40ce6ff8f479a74f01275f113ebfa8ade37a59ce70e6ca2a6f48f1be085f61bf772e2c2da523a2cfe63e99c57bdb1ff23139d4fca49eff7547e9880eefd3f7511a677efa23b52098ba89037c48dfcda2e8c1cfb9f892161049e53f8cee55256279512aecab8c441600dae0fd957883273047cf5c66ba209f830aa2ce0cbe41ca08c0cef4aed7f4324009200661a7ce680e5a8df2d051c1d8b2f63d25d8d74d05c75c46c8f3f24d625539e63459650960498a54ec3b16225bbbf4d3930009df265839d72611f5332a904cdebada108236e4414a2909ad01ec44b9d7f75de4385ad7ca5152e890a0919b3639fd1bcbca3b737ebb8d9ae541b1271cf2166ba15830e66f3d3afd3b754a7f81ad4f0999704ae99c114907c5be4a4797f13b80564f234723a34dbe137dabfd7fa23562df679f54a6ab54def6d63deae9844f72fd73efd0413551f5c4b9ee826eb3b7faf92a59ea34a16723b4fea14d1c8815a4e2d39fc48d1dbce526a7c53f5a96d0ef6463a0cee73fd3505f5c764a264b83c4a21f80e8b61c82d24442d13da99d18dc1b2538e7a510f6093d9ef2bc5cc777d4f98411e93919eddfd69d6e20d227cb61c50f358ea227f4de941fb080c1cf6b1f6e25533768fe133dbfc3f9d29c603bed38aa3c5af5b81a706b0067b40b88f992610d04c7cc36b8f649697cd6a93fae51138161891ae75a7147780fc59af5a6e18c54f9d2a4fe7fa92314b399afba9a40d0cc24f70a2593acf8d179215e06b7a9a88224bafcb2cbf60caf5fe4ff38208a70793b5dc33cd572956260e1c86312d3ba9b3a4b2b44376f2e78c616a6c0880ac8dcbaa30b9f761d500fd03a8518dd0509157b184a2d95e0caf3ffc8ac2db6c54d80c71a1e5b9ea3bf51071e2118af204123daceeb04e4f6f31f32a4d3fbb76ee49440cabda2c121c1b99acab5b87cecc37c3f9066af34ab29d6598bbfd91047a2ac7ce3a8f3027ff5e6d743506f161087278896a98ed37122ba208b61cf54d3929555ab06b564cd5e4f46f4755a6cfa2ef2b30d29ea66f2749d4060d411fa9160c91b6f55cf071ac8222c6313df18759e2958cddfe3db4cbeb9cd39abcf5f0beaecae8437813995cb7ed0b87d42ca942ff7245ece204798d01361c5f008e0d82bdf76660515bc78f7f8f409ccf68614b2cb50f5af2615661326fd971bc57eeeade60ea906b8df1cb0dfafd318cd2c396309c329d0469ca192aa8f51d7c4227685440f073983255baf054b97b9d7be1d1470d7eabd5c09b2116b4e86b0567b7e97e088717a4fe3dbdd310a1c39136ea4d2c47492001f9885dba03bf97e7da376171d666441cdc2f999db137603d57df32b4260fa0165e82917bb1631ea314e7a7437e66fc68cef22cda8f456d6e583f6e3237e0bc79987a9103f7cf0918e26881f67ea582e1ff3a49177599d385bf6e42572a2547933aeddb826530e9adf30dd84c3a7fae5c4c26f6c6f3a9f0906decd314e2407825abef959c5416d18a92ff34e6c521a16e8a0a29937c77d4ee99b41d530a732acbe0bf5d274df9d496b47a9a624546bdcf9976cde12ec989cb2a70b33a7c8a3a77652023164695f9db30dfcf587f0cd4f73e385730bcbdd688f6dcb08ba0efbb9f579220afefa4acfea522e864fce9b1782ce9f14824d16e9d33a2609c23ba3c5a1af02549357a0dcc12e37819d778021762cf895abeac1125b744c8b8225a091e7be9ded9993cfa3ca9abb83e25c8f559009977a2ed9374a89619fae5ef6d164bb73d242004dc8428e44689b33ee3bbe88bb4962ab0a32a90e7aea044f08410752cb2d7aeaf3196648a3a99092665b478bb394b48f79b36db0efc7f50d6a5179c945f5298cfaac5e5dea715296f92abce7281d48a0c9c6b785a35ef5f1697c047ddb254fe9a8ab9f498b0c1ae09ffd01a3d8d427fee7e36c51e0e5c2fee2245fb8464626ab5c9857ebce91f7d22bf024d10c2d71021cd69268472de419e6cefd970cc3a8e4d1bbe6496799aa7f100411766e712aff08b731460f14f9d7356db12cf8e1c6121968dc68b1d81c086b325ca4ce6fe1f476707e08fa913144b757c6be17cf93150db29544d207f09a896f33b7335d9339215da751e7af2c6bdd19db6f521af2c8a5998dc607f97026d07111488741134c1c86eba123273d1fd5ee4b471e86f9ae9478a04c7482076ab34a1eca5c64f89e5106eed44bceec019c67c12fb4db4fdac153f4ac3b63ffeb6d30de58ec039e2dd3c181e254cd94d0a2b0b44490384cc5915b54ee1db2b6d059879bf8126c9ca976d0f7862da07ecd350930a081810a7afd72b2ad3f65b96ae9c7f91227a2b5513a559f36b90fe01be9ae5ad3ca65e2c26f358fc26b858a3633fda7ae49a5fb705220a5819b3cca41b1ccc21d7c40f5fa9c422288efa5394e4312675899d704a2aab62b8363f58fd4bc12a8bea6ffc45b4414237bf5f019321206dbba439acb5ef26641f30fdac20f964354bce94e4c9d73e137f9806deefaf6f4acaa0e76ad4fef9f6cb7fc01bbabda9612c05adbe46afcf94819e8a4b4b49ff764784fa432d47fb6d4230900043d1b4521cd6839fe8c5df4d1899fdfb13880e207cac73f0a29020bdd563bd9c2f6bcd1ec523b3e03ebf6164fc65af001830c51396f9df2d346f83a59cfc82201cf1150ea57259d579fc2ed199b3fbe42d5188c84e4354610743e5b23a265246313cc63913f17412fa00d98b379b80b96d936969572e11316bc8926cb23115186f3b2387b82c3898fa41bf16a308da62d5a3eb3609af1943fddde08a4036eb2a41b7292caad9eb082614b02a1fa255bc7abd4d0e3b4ec1801e131e68c7aa9da1a0ff10f9de87dec8fad1ad8bfa99caa49e203a7b9c33e044d4544a537471e7a452468b821959bc488c6b8cbf81e90081a26de273ad1203cc06adb6af242ab19f96c1c66b58c37e2c9309704fba63af99a8d9c5efc651afb631fe9f546b938cc3b8e526c4159e5c9f7afb29fd1d55fabf09367ce2a63a35e7a2062d1c772ed981fd77157a847f687a177cf9886ce41df8cc509302b46bc1e2ba896b1c1656a1bbfdf4cd9ac39cf8510d1c823075f16550fd044aacc8d42a56f03718f7b18475cdc3999faeb25ab3dd8a807ee04d8e5d831d08b4e309dff50330685138797e10c6362636f53f22bfc1f3d5090a5d369282d9de36bb4e2505411ccc6ea395afa1567b15a2fb4be2adeea7126b1a8e80034105e0d98bdd78e796ce1cdc06a4ae666fc0baec5c52614340ed997673e26ec47c88846c000bb7c9077337cd44f5c041fdcc64986e5e1c0f488148f0ee6f842c44c0b72e82109270341bba6e9080b70fcf930d0f10be5a36798e70111fed72727b72282ff164fc08319d74f1f57cde71b57cb397a9e753f87b97729bafba017a24cbfdee5dfe7fc296c112e93bb8fce560ca80a3afd8370baaa79ad783b51352b5440b144a47378c9ae22eda5794328e95bcca220fd07bb56915529b155c61858efe89ad36a79288e74c0e251addcfaf797432175a5562b46eff5e3aebeb74623e18beef85389383c604d8884431b07dc4bea0174aadc337ff41f558a63f16690feae47efa2a5d1318b7397e1e4ba398727d286791b71610e1d78d32800e7e113c12abf0f60b6ca4401ecd23b7aacd990633b2b017daf6bfef1b2361ece74b7dbcbb1a73d4bc1f9d2e5c9fb0b7980d25cc44d1b10c09ef5a6a05c84669294a5cadf0cd88ab449f9f0bcdd8c48590d416c5c1feaa494a2145949c2a3373df7c6014225f2745bbeb20ff294d22c0d96ca111e6926946207cab56a03162a49e68968e398f70690188ee3ca847ef421742d60b9a6ad029e8a3d607950b2bf8ad8ff297cb39acc94905635770436e134435e28205140331b5100d9f64469792fffac87bca0835cbc617446ff86a7b50418c305f32e658b32130e491e38709fd3697017ac8084cdf1ed81a28375aed092ab4e32ca88a933154dd3a9e99351acbada926b67b310c7070ac1a414a28c5abfe1f45476249a12f18ca2d981528d881ed3c5072e46a6eff3cdf37dcbc89c7f79c88a1f8d15d15beb66a0e4440c7b93e379c4e2bac1d5c8e85f1852887e2cfeb178fba1c67dc2adb0c87df8ca4444ca7f455509f492effb5001328b8cc696e2933207a2d78bbce8562ca34a248193c914406b161c8141479d891b0c6110ec1e25cad38299b489f2ec437017cadba67dcb58abd4933c95b35707118e47b8701a7d71e446e4b62e2941d4281faca0cf22914be5aad80f47102b178a6ceb24e82508fe55a92fb6db70d03d1c1ec09cfee31639341756a4630a0eaaecac7bfbddf9d30c42cbd45eb181d5bd341307ad26f496bb042e2b655c03ac3dcc587acbf50f79b5c239be9938b62d3251b199f8413b020605d5d0552cfd9c39c9132719d6d0a326b000e12fcb51bc274df79d11430060d05978cdd50583f1bca82c57dbee605e2d00fcb5414af13a596d35cb5ba62de6a28cbccc857d23547b1c7fd5ac8fbf6758d5b8451fa46d9acc00344dc2e565674b1dd3547eb8f8aa5fff99042f8d1d59e6ad2f53379211e6832fcb68f5777eb2db85b28f724f4e4ce6342cf55713ff7b0cb4f7f47dd12a6566b86709eaefae024373267ce72a89e7f3e42ab48edcccc96b5d0403fe93a927e5ccf470014f220b8257393226cd7b996f20e6a34f81206733a9fdce03b701943c1b560d3eab68c2c225cf7f7f2b56123be2bb173e9e5b37f4d3348f6b987764ad07c2acd44514ff264d7eda31e5e517a179414841ad4553d51c08f435e05f10aa82d74b97a9ba3a133e6c9175fdcd4f3dc9c16d3be1d5bbaf13240177081ac1d56681bfa988a93af09868afd608520c0bfd71d857a6661fdaf6f2e166987eb007449dd26334ae932c5003fefc0f983b9e49cbfcea325f2de16a9ae935caa46f5b3433957fb370971ed957f138f08a60fed5b84995e428e7ae7d5c22021ff016baef0e713a118344c016a99ad469313ba7f2452da0dd82e019f64aa229cf80a69b3e08ac5847f10d247179855546313232f23e055c2f74ecef14e0fdcc29a9bf0976fbb249bd5c7903183d2a53c70960a183630e7d4928daa7091a85ad987d2a4a5b8f6be6612fa72d9fbb33c67bb38eff19f2e784f94e0354cf6d35a5b2c62233c039de3734b38e97ec72bd673fef09fd56fec329818cc68cdf12cb52f7d37a8350c16e94208880bfcd3e895d7aa4489e3dd15db4a9026f0d2a46f1e89c35845dbd976a1992b87c15a0c7580e6424b8792a7bb7b933d7c5433d4133ba4dbbcf7995d6ed3feaa32f876a287feeb9cc6107778c1f83e0119d980b9e994c2a3ae3de24a103efb3cacb746b49d1ad85746b233ab4aaf0e988ec2a786bc93f32040d3bdc3008031634cdfded5ac95b2279e096243228296591e7ba53c4a127772cc4620e6b238ccad250629194533d0a669ff3366c52d64928693e0b0cbb0b8e2c6029089d4dfe2b4b6c5dcd85f1a02770611e65001e48a32a8b0431a3b9d77fa3a95be38a0436a704c05a8e0183f3214c25531a63796f679bf72885aa766468d42b2543542d7e82544efc5c5e81e6a91a0f5d4e68000cff687d63e45c9a11d4ef515050daa592c9a828ac7c0488e7cdb3d6fdaef5e9176ee68d981ea50d386d74df3b40660351736deb03bfceb721878cf9894b0302df15964242ab6b9f77f98ba1c7993735983d2b022600ab74a19e3636e1400d08ba45d3a5c2774cb06a1c358bbfc11d27efaf7ca53c2e7757c8c76da24707d91a4a5244262898d68083ff91c514d9b9b1ebaa0cb0b10254fda1b1e82b9a1a47f117b5b280ddbec1f6732d11117ef1a7a674699df87fe795d1243cb9c4527e364e2b711b6562a87fafc130ce0baf1701686639b05f0c8dc708f008b1e6ab89e8d623bb83f3d54b7bcdbdacd055ac4eccbd36bbe0af0f65a00e3d6dd985ae8851d176976cfb5816d1fc2a63d3546aecaa4e712ca6961d1f181315d553de6b53485faed0dcfcf819a1ba3badffe797377d3d1ddaed8e7a0acc0c3d277762262a139f94de49faca167b11bf04f2104a5ab9a73367a6461f7124c91a2c4229ef98e6ebde9aac283c7d029400d71293f488ba169b62c1e94689cf5b248ed4aea62b88d65bb764cfe27d5231a58486e7381df518f4ed81cb905108c54a5050a94ca0e94da20d3794bc5fab9127dc95b6404b1e27b4e28136fc27806f7be798444c33aca88ffd45b860eba0d5033839f5a092863954604f1952bd61dad23b11643fe14f3ade08116aa2c13eee701ccd13e506bd65a1060bf69579aea8c8143cd38c0891a3065f251eba0c20ab9c69ddf28e3bd6400cc203bac8de1882239ad4e1b97b0ae2f1abb7bac7c0d8ef82b97ebfb1f5577f06a3a1377b09ada4db87d342f20ab0eca4b9c206042471307511429cb57a578211f92d3647189861cad9145f5eb26ab696abe50a2a6c1b469df97da28aba4e79b586c348a430f5ea61c4be1032fa61d18581f05a07fb8707c8996e0fff1c3eda59b992687fa12483b9327e10224b20d42e8b3fc4670bf070ced602283273d6818acd1f6da567c44d3f5e1377065d43d87d889843ae48e7fa8ba1634815695b8c480ca271e6e833799c70da80fd79acc09b989667a2294de5da73f0363df9a33ad4dab8d27cf7bed0a06838672e3d07d52b6396e9b5576021d5e925abd533bf161c944795065fdd44e8462e3070c479f1c118276653488dd9b2f1a673f8cad3612ca1fab4388ec9c8f834a01a499adb7b3a9a977672f6d75b41bbdd7f91ceb7e7a88568d17bb432be9e4e96e115075bce197ef4754d2914c2c59e2d7f4c08f0dbe34d31f229428f211bf1d7e8f5c319ed4a8273cb6255eb318851ac4557b0278fac63107a54d407c42f300b843a12abd3b893b46c7efac2e388ab42b87aebe2543bd4c15f459bc50aad10ffe1c1196fb52c26e54bdaa7fbd52451f207ffb073ef4b3f71eedd7da40c89505019739e3fa733bcdc84ff4919e8fe2358129ef28291be1d6426b8bafe88463b1d3cd7273745381c7f65221898e6ad361e88b24c54ccc7ac9a830145b6dc096e2d71ef71ec4f03524cb870b724e08d223bdec2f6fdde6200217a13b5136004d455d66547f5a1793e0cad85677d49e5c558852107007c8136812cf021afaf6f7e8f59883371be46cda412dd9c6fcf187c31252ceb5758901d39cd5355ab386d9a7fe6ea46ebf277aaf809c3023211ea9aa189de4d422080ebb9fec50ffab6b95ba4ae5018accc497e79149ed6047ce561ccc10e9194cdccd5c9fb75175c8dbc9d0a916ad59288f010defbbb50d263041ab37aac0f93253bef6f898cd0825d99d27224f26181f9713b8979da64756c95e7505f25a2688960d6155c3613dcc31b6c337a6dbfc6b12cfde1db22b93bbd5e48534fb0bda8b212577a14dcf665c834b0bd24e5f624d2455fe048dbe930328d7cb632db3b0e244bb5d43390b420b15157a339487fc78976f867d3a361aafdd3f50a93c01882da7c220089a544381db22e2c86b228dc2be01820468460437588952a549d37498e529e62aa62bad1580546bcb1e9a6ed1870b7838d05d12f6e3a041e78b1bdb80894626f20889ccb3a468aa4fb24b9c87cbb28623ce59c6b3c6286db366d08004551a25fe4d8d194a2bb7c52e1c85a5fbe4cb15b171489da121bea1c469a6bb185d63213084e3a81ee54dc03a94dc5ecdda7bfaad1df68021aaf4627c9d529f13e5c81b5ee4dd228949ca16b9a61d186211d153294470907557e5e14ae665013f285fe4d3766e7b3d8ce5e2a14692072d4d8f79354bcc8db8a2a36c8bcd", 0x2000, &(0x7f00000069c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000066c0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc000}}}, 0x0, 0x0, 0x0, 0x0}) socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000000c0)={0x0, 0x0}) open(&(0x7f0000000040)='./file0/../file0/file0\x00', 0x0, 0x0) sendmmsg(r3, &(0x7f0000008600)=[{{0x0, 0x7f}}, {{&(0x7f00000072c0)=@un=@file={0x1, './file0/../file0/file0\x00'}, 0x32, &(0x7f0000007380), 0x0, &(0x7f0000000600)}}], 0x2, 0x0) dup3(r2, r0, 0x0) 07:45:54 executing program 5: r0 = syz_open_dev$ndb(&(0x7f0000000000), 0x0, 0x0) ioctl$NBD_SET_SOCK(r0, 0x1265, 0xffffffffffffffff) 07:45:54 executing program 3: sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000280)=@newlink={0x3c, 0x10, 0x581, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x14, 0x12, 0x0, 0x1, @bond={{0x9}, {0x4}}}, @IFLA_MTU={0x8, 0x3, 0xd3c}]}, 0x3c}}, 0x0) r0 = socket(0x10, 0x80002, 0x0) sendmmsg$alg(r0, &(0x7f0000000140), 0x4924924924926c0, 0x0) 07:45:54 executing program 5: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000000)=@base={0xa, 0x1, 0x40, 0x40, 0x12, 0x1}, 0x48) bpf$MAP_UPDATE_BATCH(0x1a, &(0x7f00000006c0)={0x0, 0x0, &(0x7f0000000700)="09fc7b44d733d8463135b307e7f52b5bd5766e9c0772be5ad63cb51b4ac5b1f4bc628c1cb8ff797fcacc56d4b4f9724bf6b9d29086244c4b6fcf509ab7e59f108a55b8be190f28b53473b6acf363348ff32b4fd7a551", &(0x7f0000000600), 0x406, r0}, 0x38) bpf$MAP_DELETE_BATCH(0x1b, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180), 0x0, 0xa0, r0}, 0x38) 07:45:54 executing program 2: r0 = getpid() r1 = gettid() rt_tgsigqueueinfo(r0, r1, 0xb, &(0x7f0000000080)={0x0, 0x0, 0x3}) [ 1866.632770][T20542] fuse: Bad value for 'fd' [ 1866.645696][ T27] audit: type=1804 audit(1653119154.624:36883): pid=20544 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.4" name="/root/syzkaller-testdir674073113/syzkaller.9dT5dW/1016/file0" dev="sda1" ino=1193 res=1 errno=0 07:45:54 executing program 3: r0 = socket(0x2000000000000021, 0x2, 0x10000000000002) connect$rxrpc(r0, &(0x7f0000000140)=@in6={0x21, 0x0, 0x2, 0x1c, {0xa, 0x0, 0x0, @empty}}, 0x24) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000002780)={0x0, 0x0, &(0x7f0000000340)={&(0x7f0000000040)=@newlink={0x28, 0x10, 0x0, 0x0, 0x0, {}, [@IFLA_VFINFO_LIST={0x8, 0x16, 0x0, 0x1, [{0x4}]}]}, 0x28}}, 0x0) sendmmsg(r0, &(0x7f00000000c0)=[{{0x0, 0x0, 0x0, 0x0, &(0x7f0000000080)=[{0x18, 0x110, 0x1, "ec"}], 0x18}}, {{0x0, 0x0, 0x0, 0x0, &(0x7f0000000040)=[{0x10}, {0x18, 0x110, 0xc, "9b"}], 0x28}}], 0x2, 0x0) 07:45:54 executing program 5: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f00000005c0)='net/ipv6_route\x00') lseek(r0, 0x10001, 0x0) [ 1866.737559][ T27] audit: type=1804 audit(1653119154.666:36884): pid=20543 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir3207957955/syzkaller.3ROTiw/961/file0" dev="sda1" ino=1194 res=1 errno=0 07:45:54 executing program 2: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_MODE_DIRTYFB(r0, 0xc01864b1, &(0x7f0000000080)={0x0, 0x0, 0x0, 0x0, 0x0}) 07:45:54 executing program 5: r0 = socket$inet6(0xa, 0x1, 0x84) bind$inet6(r0, &(0x7f0000001180)={0xa, 0x4e20}, 0x2b) connect$inet6(r0, &(0x7f00000010c0)={0xa, 0x4e20, 0x0, @loopback}, 0x1c) getsockopt$bt_hci(r0, 0x84, 0x7d, &(0x7f0000001280)=""/4080, &(0x7f0000000040)=0xff0) syz_clone(0x0, 0x0, 0x56, 0x0, 0x0, 0x0) 07:45:54 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x6, 0x89}, 0x0) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) r1 = epoll_create1(0x0) r2 = timerfd_create(0x0, 0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r2, &(0x7f0000000000)) timerfd_settime(r2, 0x2, &(0x7f00000000c0)={{}, {0x0, 0x989680}}, 0x0) r3 = open(&(0x7f0000000200)='./file0\x00', 0x848c5, 0x0) write$9p(r3, &(0x7f0000001400)="3b27a4b46ee92b4a59073c369a5e19f9db153c4fdbc76aa2a4bb9f3e5e1aa197a9e97d1016c01813792e50c2692c175aad715d110a892949ccc6e2e54c2d5c8f0b7932b69797f217168b0c1feb128ae34f0daf487a70b5c117acd43725fe17993634f1695dabd7f998cd55e9d5bd911e86aa7a4ad75a574bb96951d6018b25d942a9544bca1ebb0e8d10c092cdcb85797673972099e4041aaf8d636f66cb1103ef2050ad28fabaed33d6927889d97f4b5ce0de71d3fd832980f4f088d0d824e20549b4bbd906ffa51ce9de54d779eb4de462faac20a3ab0ed9934373ca22cea5454f4c2a740cd461e39956bb5f98df2aebc60cf32623adbffbcc378fa7250b6a3fc863dadcf6d4f8b855c4e70f0796eee6218445dad2811dd6b540ff52efa2f167dd9c1b8b016268d37db430983fefc0645d20614c8df2eb0872c58e09664e672b0b6a9970fec199257e1c606ec3e364c66a0f4d258c74accd43b987c756d602fd8787fed3aa43fd8d84e9656d4a413fa9a423bc54b873583d6d497005e54712fafc71384988d80134fbf84f53fdd74b354848006b8b5b67e7cc5a472475d3ae545ca1fcf7628b873e31ba83a98a7ad5b0cfbe9711b517a9a1388ad0efa2a3b4e22152021d631b731e2e100a9831111db7acce948bb5deeea260463c140ac929e77c58402776caf85d4569a75dde2f64c4491508afb541ed9b2c81fc95c06706235f383e31cf662c95b1e49cfd94871e22720a41535756e419b271276941692bd023dd9c9dbec4f7db1e5c00d8b3be7b8e826a6aadd001edd0dfeb00f8048442b5c48456fd642e629dcb2ff55592665ff491cd832672ce4d999da186db2c3a1f8b6b1f7d3750d7cdb3097954e6e14fb2183ad662c63d4ce8b82dc2487f0fe2ea2827b53a7c6dcced878d2fb29c1d3ff583570e7bc172d1a5c716e0447cb08ce3c468ffdf975da372f3f3eb455aaf5822bc04a51b6cad24a2331369df81c123b009a2381b42e9aeb077f621608d81c12a5f5c6c295d74afd4dd5c051296be0b54c70bf899b347c36bff62f313079983409d7f9cf1242c917985c1b5d0736fe21f8514f63d0369a374c42da40bd5140bc3e602d00c3cb4f8e621863ab47422778d67d72de34753fd72cef80649a1548e4e8dcbcffe4054cc9d8a1f922623a75904cbdaacde768131e587269a4a99d82f7009c1b8ab79aa232a2fd45ad71b603803123f6ba979fa6a87525884b08d721a21400fb1f950b96ead82f408cc4388d3b78fb456616429a520656d5e5a876fd04748498902c86f58d45f4c1b3919eb846a00edf07e7a830bf723e4774f085f15534dd3b5246c0c0970b5ad7bb39b30b156a9430378c5b0aab1261c78d72ac301cd552d5e8dd4b642ec1dc0672745d593bb26d095b5b23576e3cfd6ab580f6e09419d0f0c64250fafaa3759aa1888da48d89c3f7c9454b0b3d0ab40445f5bed4493ef43ab08f31b1345ac4ffd94ad79c9eee53904ed6f572817153190d2e6863f2e39356bb99926419fd314341a536b7e76cae60bf7750a4c29e3f4c7f005530b1d4ee0e25b93b76fcc1108222f0b00de52cf4100e97adfd7b9db1370586ba27e1e183299be00d0df8439c380edf2f79deb441eac59b814b04accdff5e17f02046139f91f0332661676ff506e575f0cb2850bcc9f8666f6d1f69f8f4271cb804a79fccd7016f049d1a494c26a527c437fa0be6d51ec7543d9bd7a2f016194ebe3c99080a6c9b5119863dfe865f8e60cae29f50b67dbfaa0a3c9794d73034485ca1613344c572783db3dfab01b28089c51cda99cefa4c1c881a29e229f04c7e0fd04dc425ae8417852e6e31520c6207e9d4e35285feef2a2cb8a3bceb08a166fa4284a516362621e2c06731a442791f1db063a32cf1f005c914102c7273cb4d7ab1bf567d72f230783d2ea99c43a60e8729132441ee6c5362c33f9b613f84417c3c5549f4e3d9e73c6f83f16c8e57ae22fe5f54515e111fe43ad7c400d214281452bb6141cecad84b23a695f061988d906d03be5d89584634b9e9d9a9b072f8e7cbb47c47719318a2001cafa665dd2c82672d16877ea115bd023fc1975f7c59664bfb06f66a1a5e3f05cb283fb45ea67a2727ee6e10bf35b31fdd03d43ec67b753f6737e0d2f4a5275031595878cefc8f0ca", 0x600) r4 = open$dir(&(0x7f0000000380)='./file0\x00', 0x0, 0x0) sendfile(r3, r4, 0x0, 0x10000) epoll_wait(r1, &(0x7f0000000080)=[{}], 0x1, 0xf739) epoll_ctl$EPOLL_CTL_MOD(r1, 0x3, r2, &(0x7f0000000040)={0xa000000d}) [ 1866.987646][ T27] audit: type=1804 audit(1653119154.991:36885): pid=20568 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.4" name="/root/syzkaller-testdir674073113/syzkaller.9dT5dW/1017/file0" dev="sda1" ino=1175 res=1 errno=0 [ 1872.310325][ T1228] ieee802154 phy0 wpan0: encryption failed: -22 [ 1872.316639][ T1228] ieee802154 phy1 wpan1: encryption failed: -22 07:46:05 executing program 1: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_fanout(r0, 0x107, 0x12, &(0x7f0000000000)={0x0, 0x8000}, 0x4) syz_emit_ethernet(0x22, &(0x7f0000000080)={@local, @empty, @void, {@ipv4={0x800, @generic={{0x5, 0x4, 0x0, 0x0, 0x14, 0x0, 0x3, 0x0, 0x0, 0x0, @initdev={0xac, 0x1e, 0x0, 0x0}, @multicast2}}}}}, 0x0) 07:46:05 executing program 3: r0 = socket(0x2000000000000021, 0x2, 0x10000000000002) connect$rxrpc(r0, &(0x7f0000000140)=@in6={0x21, 0x0, 0x2, 0x1c, {0xa, 0x0, 0x0, @empty}}, 0x24) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000002780)={0x0, 0x0, &(0x7f0000000340)={&(0x7f0000000040)=@newlink={0x28, 0x10, 0x0, 0x0, 0x0, {}, [@IFLA_VFINFO_LIST={0x8, 0x16, 0x0, 0x1, [{0x4}]}]}, 0x28}}, 0x0) sendmmsg(r0, &(0x7f00000000c0)=[{{0x0, 0x0, 0x0, 0x0, &(0x7f0000000080)=[{0x18, 0x110, 0x1, "ec"}], 0x18}}, {{0x0, 0x0, 0x0, 0x0, &(0x7f0000000040)=[{0x10}, {0x18, 0x110, 0xc, "9b"}], 0x28}}], 0x2, 0x0) 07:46:05 executing program 2: r0 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt$inet_buf(r0, 0x0, 0x10, &(0x7f0000000400)="17000000020001000003be8c5ee17688a2003308030100ecff370049c3c2b2940900000300000a0000000098fc5ad9485bbb6a880000d6c8d30000dba67e061b0000e2897969227cdf018000000000f50607bdff59100ac45761547a681f009cee4a299b3da400001fb700674f00e88ebbf9315033bf79ac2dff060115003901000000000000ea000000000000000002ffff02dfccebf6ba000840024f0298e9e90554062a80e605007f71174aa951f3c63e5c83f1ba2112", 0xb8) 07:46:05 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x6, 0x89}, 0x0) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) r1 = epoll_create1(0x0) r2 = timerfd_create(0x0, 0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r2, &(0x7f0000000000)) timerfd_settime(r2, 0x2, &(0x7f00000000c0)={{}, {0x0, 0x989680}}, 0x0) r3 = open(&(0x7f0000000200)='./file0\x00', 0x848c5, 0x0) write$9p(r3, &(0x7f0000001400)="3b27a4b46ee92b4a59073c369a5e19f9db153c4fdbc76aa2a4bb9f3e5e1aa197a9e97d1016c01813792e50c2692c175aad715d110a892949ccc6e2e54c2d5c8f0b7932b69797f217168b0c1feb128ae34f0daf487a70b5c117acd43725fe17993634f1695dabd7f998cd55e9d5bd911e86aa7a4ad75a574bb96951d6018b25d942a9544bca1ebb0e8d10c092cdcb85797673972099e4041aaf8d636f66cb1103ef2050ad28fabaed33d6927889d97f4b5ce0de71d3fd832980f4f088d0d824e20549b4bbd906ffa51ce9de54d779eb4de462faac20a3ab0ed9934373ca22cea5454f4c2a740cd461e39956bb5f98df2aebc60cf32623adbffbcc378fa7250b6a3fc863dadcf6d4f8b855c4e70f0796eee6218445dad2811dd6b540ff52efa2f167dd9c1b8b016268d37db430983fefc0645d20614c8df2eb0872c58e09664e672b0b6a9970fec199257e1c606ec3e364c66a0f4d258c74accd43b987c756d602fd8787fed3aa43fd8d84e9656d4a413fa9a423bc54b873583d6d497005e54712fafc71384988d80134fbf84f53fdd74b354848006b8b5b67e7cc5a472475d3ae545ca1fcf7628b873e31ba83a98a7ad5b0cfbe9711b517a9a1388ad0efa2a3b4e22152021d631b731e2e100a9831111db7acce948bb5deeea260463c140ac929e77c58402776caf85d4569a75dde2f64c4491508afb541ed9b2c81fc95c06706235f383e31cf662c95b1e49cfd94871e22720a41535756e419b271276941692bd023dd9c9dbec4f7db1e5c00d8b3be7b8e826a6aadd001edd0dfeb00f8048442b5c48456fd642e629dcb2ff55592665ff491cd832672ce4d999da186db2c3a1f8b6b1f7d3750d7cdb3097954e6e14fb2183ad662c63d4ce8b82dc2487f0fe2ea2827b53a7c6dcced878d2fb29c1d3ff583570e7bc172d1a5c716e0447cb08ce3c468ffdf975da372f3f3eb455aaf5822bc04a51b6cad24a2331369df81c123b009a2381b42e9aeb077f621608d81c12a5f5c6c295d74afd4dd5c051296be0b54c70bf899b347c36bff62f313079983409d7f9cf1242c917985c1b5d0736fe21f8514f63d0369a374c42da40bd5140bc3e602d00c3cb4f8e621863ab47422778d67d72de34753fd72cef80649a1548e4e8dcbcffe4054cc9d8a1f922623a75904cbdaacde768131e587269a4a99d82f7009c1b8ab79aa232a2fd45ad71b603803123f6ba979fa6a87525884b08d721a21400fb1f950b96ead82f408cc4388d3b78fb456616429a520656d5e5a876fd04748498902c86f58d45f4c1b3919eb846a00edf07e7a830bf723e4774f085f15534dd3b5246c0c0970b5ad7bb39b30b156a9430378c5b0aab1261c78d72ac301cd552d5e8dd4b642ec1dc0672745d593bb26d095b5b23576e3cfd6ab580f6e09419d0f0c64250fafaa3759aa1888da48d89c3f7c9454b0b3d0ab40445f5bed4493ef43ab08f31b1345ac4ffd94ad79c9eee53904ed6f572817153190d2e6863f2e39356bb99926419fd314341a536b7e76cae60bf7750a4c29e3f4c7f005530b1d4ee0e25b93b76fcc1108222f0b00de52cf4100e97adfd7b9db1370586ba27e1e183299be00d0df8439c380edf2f79deb441eac59b814b04accdff5e17f02046139f91f0332661676ff506e575f0cb2850bcc9f8666f6d1f69f8f4271cb804a79fccd7016f049d1a494c26a527c437fa0be6d51ec7543d9bd7a2f016194ebe3c99080a6c9b5119863dfe865f8e60cae29f50b67dbfaa0a3c9794d73034485ca1613344c572783db3dfab01b28089c51cda99cefa4c1c881a29e229f04c7e0fd04dc425ae8417852e6e31520c6207e9d4e35285feef2a2cb8a3bceb08a166fa4284a516362621e2c06731a442791f1db063a32cf1f005c914102c7273cb4d7ab1bf567d72f230783d2ea99c43a60e8729132441ee6c5362c33f9b613f84417c3c5549f4e3d9e73c6f83f16c8e57ae22fe5f54515e111fe43ad7c400d214281452bb6141cecad84b23a695f061988d906d03be5d89584634b9e9d9a9b072f8e7cbb47c47719318a2001cafa665dd2c82672d16877ea115bd023fc1975f7c59664bfb06f66a1a5e3f05cb283fb45ea67a2727ee6e10bf35b31fdd03d43ec67b753f6737e0d2f4a5275031595878cefc8f0ca", 0x600) r4 = open$dir(&(0x7f0000000380)='./file0\x00', 0x0, 0x0) sendfile(r3, r4, 0x0, 0x10000) epoll_wait(r1, &(0x7f0000000080)=[{}], 0x1, 0xf739) epoll_ctl$EPOLL_CTL_MOD(r1, 0x3, r2, &(0x7f0000000040)={0xa000000d}) 07:46:05 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x6, 0x89}, 0x0) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) r1 = epoll_create1(0x0) r2 = timerfd_create(0x0, 0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r2, &(0x7f0000000000)) timerfd_settime(r2, 0x2, &(0x7f00000000c0)={{}, {0x0, 0x989680}}, 0x0) r3 = open(&(0x7f0000000200)='./file0\x00', 0x848c5, 0x0) write$9p(r3, &(0x7f0000001400)="3b27a4b46ee92b4a59073c369a5e19f9db153c4fdbc76aa2a4bb9f3e5e1aa197a9e97d1016c01813792e50c2692c175aad715d110a892949ccc6e2e54c2d5c8f0b7932b69797f217168b0c1feb128ae34f0daf487a70b5c117acd43725fe17993634f1695dabd7f998cd55e9d5bd911e86aa7a4ad75a574bb96951d6018b25d942a9544bca1ebb0e8d10c092cdcb85797673972099e4041aaf8d636f66cb1103ef2050ad28fabaed33d6927889d97f4b5ce0de71d3fd832980f4f088d0d824e20549b4bbd906ffa51ce9de54d779eb4de462faac20a3ab0ed9934373ca22cea5454f4c2a740cd461e39956bb5f98df2aebc60cf32623adbffbcc378fa7250b6a3fc863dadcf6d4f8b855c4e70f0796eee6218445dad2811dd6b540ff52efa2f167dd9c1b8b016268d37db430983fefc0645d20614c8df2eb0872c58e09664e672b0b6a9970fec199257e1c606ec3e364c66a0f4d258c74accd43b987c756d602fd8787fed3aa43fd8d84e9656d4a413fa9a423bc54b873583d6d497005e54712fafc71384988d80134fbf84f53fdd74b354848006b8b5b67e7cc5a472475d3ae545ca1fcf7628b873e31ba83a98a7ad5b0cfbe9711b517a9a1388ad0efa2a3b4e22152021d631b731e2e100a9831111db7acce948bb5deeea260463c140ac929e77c58402776caf85d4569a75dde2f64c4491508afb541ed9b2c81fc95c06706235f383e31cf662c95b1e49cfd94871e22720a41535756e419b271276941692bd023dd9c9dbec4f7db1e5c00d8b3be7b8e826a6aadd001edd0dfeb00f8048442b5c48456fd642e629dcb2ff55592665ff491cd832672ce4d999da186db2c3a1f8b6b1f7d3750d7cdb3097954e6e14fb2183ad662c63d4ce8b82dc2487f0fe2ea2827b53a7c6dcced878d2fb29c1d3ff583570e7bc172d1a5c716e0447cb08ce3c468ffdf975da372f3f3eb455aaf5822bc04a51b6cad24a2331369df81c123b009a2381b42e9aeb077f621608d81c12a5f5c6c295d74afd4dd5c051296be0b54c70bf899b347c36bff62f313079983409d7f9cf1242c917985c1b5d0736fe21f8514f63d0369a374c42da40bd5140bc3e602d00c3cb4f8e621863ab47422778d67d72de34753fd72cef80649a1548e4e8dcbcffe4054cc9d8a1f922623a75904cbdaacde768131e587269a4a99d82f7009c1b8ab79aa232a2fd45ad71b603803123f6ba979fa6a87525884b08d721a21400fb1f950b96ead82f408cc4388d3b78fb456616429a520656d5e5a876fd04748498902c86f58d45f4c1b3919eb846a00edf07e7a830bf723e4774f085f15534dd3b5246c0c0970b5ad7bb39b30b156a9430378c5b0aab1261c78d72ac301cd552d5e8dd4b642ec1dc0672745d593bb26d095b5b23576e3cfd6ab580f6e09419d0f0c64250fafaa3759aa1888da48d89c3f7c9454b0b3d0ab40445f5bed4493ef43ab08f31b1345ac4ffd94ad79c9eee53904ed6f572817153190d2e6863f2e39356bb99926419fd314341a536b7e76cae60bf7750a4c29e3f4c7f005530b1d4ee0e25b93b76fcc1108222f0b00de52cf4100e97adfd7b9db1370586ba27e1e183299be00d0df8439c380edf2f79deb441eac59b814b04accdff5e17f02046139f91f0332661676ff506e575f0cb2850bcc9f8666f6d1f69f8f4271cb804a79fccd7016f049d1a494c26a527c437fa0be6d51ec7543d9bd7a2f016194ebe3c99080a6c9b5119863dfe865f8e60cae29f50b67dbfaa0a3c9794d73034485ca1613344c572783db3dfab01b28089c51cda99cefa4c1c881a29e229f04c7e0fd04dc425ae8417852e6e31520c6207e9d4e35285feef2a2cb8a3bceb08a166fa4284a516362621e2c06731a442791f1db063a32cf1f005c914102c7273cb4d7ab1bf567d72f230783d2ea99c43a60e8729132441ee6c5362c33f9b613f84417c3c5549f4e3d9e73c6f83f16c8e57ae22fe5f54515e111fe43ad7c400d214281452bb6141cecad84b23a695f061988d906d03be5d89584634b9e9d9a9b072f8e7cbb47c47719318a2001cafa665dd2c82672d16877ea115bd023fc1975f7c59664bfb06f66a1a5e3f05cb283fb45ea67a2727ee6e10bf35b31fdd03d43ec67b753f6737e0d2f4a5275031595878cefc8f0ca", 0x600) r4 = open$dir(&(0x7f0000000380)='./file0\x00', 0x0, 0x0) sendfile(r3, r4, 0x0, 0x10000) epoll_wait(r1, &(0x7f0000000080)=[{}], 0x1, 0xf739) epoll_ctl$EPOLL_CTL_MOD(r1, 0x3, r2, &(0x7f0000000040)={0xa000000d}) 07:46:05 executing program 5: semop(0x0, &(0x7f0000000000)=[{}], 0x1f4) 07:46:05 executing program 5: r0 = socket$nl_crypto(0x10, 0x3, 0x15) sendmsg$nl_crypto(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000040)=@del={0xe0, 0x11, 0x1, 0x0, 0x0, {{'drbg_pr_sha256\x00'}, '\x00', '\x00', 0x2400}}, 0xe0}}, 0x0) 07:46:05 executing program 2: r0 = socket$rds(0x15, 0x5, 0x0) setsockopt$RDS_CANCEL_SENT_TO(r0, 0x114, 0x2, 0x0, 0x20) [ 1876.619123][ T27] audit: type=1804 audit(1653119165.097:36886): pid=20581 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.4" name="/root/syzkaller-testdir674073113/syzkaller.9dT5dW/1018/file0" dev="sda1" ino=1191 res=1 errno=0 07:46:05 executing program 3: r0 = socket(0x2000000000000021, 0x2, 0x10000000000002) connect$rxrpc(r0, &(0x7f0000000140)=@in6={0x21, 0x0, 0x2, 0x1c, {0xa, 0x0, 0x0, @empty}}, 0x24) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000002780)={0x0, 0x0, &(0x7f0000000340)={&(0x7f0000000040)=@newlink={0x28, 0x10, 0x0, 0x0, 0x0, {}, [@IFLA_VFINFO_LIST={0x8, 0x16, 0x0, 0x1, [{0x4}]}]}, 0x28}}, 0x0) sendmmsg(r0, &(0x7f00000000c0)=[{{0x0, 0x0, 0x0, 0x0, &(0x7f0000000080)=[{0x18, 0x110, 0x1, "ec"}], 0x18}}, {{0x0, 0x0, 0x0, 0x0, &(0x7f0000000040)=[{0x10}, {0x18, 0x110, 0xc, "9b"}], 0x28}}], 0x2, 0x0) 07:46:05 executing program 5: r0 = socket$nl_crypto(0x10, 0x3, 0x15) sendmsg$nl_crypto(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000040)=@del={0xe0, 0x11, 0x1, 0x0, 0x0, {{'drbg_pr_sha256\x00'}, '\x00', '\x00', 0x2400}}, 0xe0}}, 0x0) [ 1876.657696][ T27] audit: type=1804 audit(1653119165.129:36887): pid=20578 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir3207957955/syzkaller.3ROTiw/962/file0" dev="sda1" ino=1178 res=1 errno=0 07:46:05 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)=@newlink={0x28, 0x10, 0x801, 0x0, 0x7, {0x0, 0x0, 0x0, 0x0, 0x20004}, [@IFLA_GROUP={0x8}]}, 0x28}}, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, 0x0, 0x0) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, 0x0, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, 0xffffffffffffffff) creat(&(0x7f0000000280)='./file1\x00', 0x0) write$eventfd(0xffffffffffffffff, 0x0, 0x0) ioctl$BTRFS_IOC_START_SYNC(0xffffffffffffffff, 0x80089418, &(0x7f0000000140)) bpf$OBJ_GET_MAP(0x7, 0x0, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, 0x0, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r1, &(0x7f0000000140)={0x0, 0x8c00, &(0x7f0000000240)={&(0x7f0000000180)=@newlink={0x28, 0x10, 0x801, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x205}, [@IFLA_GROUP={0x8}]}, 0x28}}, 0x0) lseek(0xffffffffffffffff, 0x0, 0x0) 07:46:05 executing program 5: r0 = socket$nl_crypto(0x10, 0x3, 0x15) sendmsg$nl_crypto(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000040)=@del={0xe0, 0x11, 0x1, 0x0, 0x0, {{'drbg_pr_sha256\x00'}, '\x00', '\x00', 0x2400}}, 0xe0}}, 0x0) [ 1876.910136][T20599] IPv6: ADDRCONF(NETDEV_CHANGE): lo: link becomes ready [ 1876.938709][T20599] IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready [ 1876.946865][T20599] 8021q: adding VLAN 0 to HW filter on device bond0 [ 1876.954554][T20599] 8021q: adding VLAN 0 to HW filter on device team0 [ 1876.963749][T20599] A link change request failed with some changes committed already. Interface caif0 may have been left with an inconsistent configuration, please check. 07:46:13 executing program 1: syz_open_dev$video(&(0x7f0000000000), 0x0, 0x4080) 07:46:13 executing program 3: r0 = socket(0x2000000000000021, 0x2, 0x10000000000002) connect$rxrpc(r0, &(0x7f0000000140)=@in6={0x21, 0x0, 0x2, 0x1c, {0xa, 0x0, 0x0, @empty}}, 0x24) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000002780)={0x0, 0x0, &(0x7f0000000340)={&(0x7f0000000040)=@newlink={0x28, 0x10, 0x0, 0x0, 0x0, {}, [@IFLA_VFINFO_LIST={0x8, 0x16, 0x0, 0x1, [{0x4}]}]}, 0x28}}, 0x0) sendmmsg(r0, &(0x7f00000000c0)=[{{0x0, 0x0, 0x0, 0x0, &(0x7f0000000080)=[{0x18, 0x110, 0x1, "ec"}], 0x18}}, {{0x0, 0x0, 0x0, 0x0, &(0x7f0000000040)=[{0x10}, {0x18, 0x110, 0xc, "9b"}], 0x28}}], 0x2, 0x0) 07:46:13 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x6, 0x89}, 0x0) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) r1 = epoll_create1(0x0) r2 = timerfd_create(0x0, 0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r2, &(0x7f0000000000)) timerfd_settime(r2, 0x2, &(0x7f00000000c0)={{}, {0x0, 0x989680}}, 0x0) r3 = open(&(0x7f0000000200)='./file0\x00', 0x848c5, 0x0) write$9p(r3, &(0x7f0000001400)="3b27a4b46ee92b4a59073c369a5e19f9db153c4fdbc76aa2a4bb9f3e5e1aa197a9e97d1016c01813792e50c2692c175aad715d110a892949ccc6e2e54c2d5c8f0b7932b69797f217168b0c1feb128ae34f0daf487a70b5c117acd43725fe17993634f1695dabd7f998cd55e9d5bd911e86aa7a4ad75a574bb96951d6018b25d942a9544bca1ebb0e8d10c092cdcb85797673972099e4041aaf8d636f66cb1103ef2050ad28fabaed33d6927889d97f4b5ce0de71d3fd832980f4f088d0d824e20549b4bbd906ffa51ce9de54d779eb4de462faac20a3ab0ed9934373ca22cea5454f4c2a740cd461e39956bb5f98df2aebc60cf32623adbffbcc378fa7250b6a3fc863dadcf6d4f8b855c4e70f0796eee6218445dad2811dd6b540ff52efa2f167dd9c1b8b016268d37db430983fefc0645d20614c8df2eb0872c58e09664e672b0b6a9970fec199257e1c606ec3e364c66a0f4d258c74accd43b987c756d602fd8787fed3aa43fd8d84e9656d4a413fa9a423bc54b873583d6d497005e54712fafc71384988d80134fbf84f53fdd74b354848006b8b5b67e7cc5a472475d3ae545ca1fcf7628b873e31ba83a98a7ad5b0cfbe9711b517a9a1388ad0efa2a3b4e22152021d631b731e2e100a9831111db7acce948bb5deeea260463c140ac929e77c58402776caf85d4569a75dde2f64c4491508afb541ed9b2c81fc95c06706235f383e31cf662c95b1e49cfd94871e22720a41535756e419b271276941692bd023dd9c9dbec4f7db1e5c00d8b3be7b8e826a6aadd001edd0dfeb00f8048442b5c48456fd642e629dcb2ff55592665ff491cd832672ce4d999da186db2c3a1f8b6b1f7d3750d7cdb3097954e6e14fb2183ad662c63d4ce8b82dc2487f0fe2ea2827b53a7c6dcced878d2fb29c1d3ff583570e7bc172d1a5c716e0447cb08ce3c468ffdf975da372f3f3eb455aaf5822bc04a51b6cad24a2331369df81c123b009a2381b42e9aeb077f621608d81c12a5f5c6c295d74afd4dd5c051296be0b54c70bf899b347c36bff62f313079983409d7f9cf1242c917985c1b5d0736fe21f8514f63d0369a374c42da40bd5140bc3e602d00c3cb4f8e621863ab47422778d67d72de34753fd72cef80649a1548e4e8dcbcffe4054cc9d8a1f922623a75904cbdaacde768131e587269a4a99d82f7009c1b8ab79aa232a2fd45ad71b603803123f6ba979fa6a87525884b08d721a21400fb1f950b96ead82f408cc4388d3b78fb456616429a520656d5e5a876fd04748498902c86f58d45f4c1b3919eb846a00edf07e7a830bf723e4774f085f15534dd3b5246c0c0970b5ad7bb39b30b156a9430378c5b0aab1261c78d72ac301cd552d5e8dd4b642ec1dc0672745d593bb26d095b5b23576e3cfd6ab580f6e09419d0f0c64250fafaa3759aa1888da48d89c3f7c9454b0b3d0ab40445f5bed4493ef43ab08f31b1345ac4ffd94ad79c9eee53904ed6f572817153190d2e6863f2e39356bb99926419fd314341a536b7e76cae60bf7750a4c29e3f4c7f005530b1d4ee0e25b93b76fcc1108222f0b00de52cf4100e97adfd7b9db1370586ba27e1e183299be00d0df8439c380edf2f79deb441eac59b814b04accdff5e17f02046139f91f0332661676ff506e575f0cb2850bcc9f8666f6d1f69f8f4271cb804a79fccd7016f049d1a494c26a527c437fa0be6d51ec7543d9bd7a2f016194ebe3c99080a6c9b5119863dfe865f8e60cae29f50b67dbfaa0a3c9794d73034485ca1613344c572783db3dfab01b28089c51cda99cefa4c1c881a29e229f04c7e0fd04dc425ae8417852e6e31520c6207e9d4e35285feef2a2cb8a3bceb08a166fa4284a516362621e2c06731a442791f1db063a32cf1f005c914102c7273cb4d7ab1bf567d72f230783d2ea99c43a60e8729132441ee6c5362c33f9b613f84417c3c5549f4e3d9e73c6f83f16c8e57ae22fe5f54515e111fe43ad7c400d214281452bb6141cecad84b23a695f061988d906d03be5d89584634b9e9d9a9b072f8e7cbb47c47719318a2001cafa665dd2c82672d16877ea115bd023fc1975f7c59664bfb06f66a1a5e3f05cb283fb45ea67a2727ee6e10bf35b31fdd03d43ec67b753f6737e0d2f4a5275031595878cefc8f0ca", 0x600) r4 = open$dir(&(0x7f0000000380)='./file0\x00', 0x0, 0x0) sendfile(r3, r4, 0x0, 0x10000) epoll_wait(r1, &(0x7f0000000080)=[{}], 0x1, 0xf739) epoll_ctl$EPOLL_CTL_MOD(r1, 0x3, r2, &(0x7f0000000040)={0xa000000d}) 07:46:13 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) getpeername$unix(r2, &(0x7f0000000000)=@abs, &(0x7f0000000280)=0x6e) r3 = getpid() sched_setscheduler(r3, 0x2, &(0x7f0000000100)=0x4) fstat(r2, &(0x7f00000029c0)) r4 = openat$kvm(0xffffffffffffff9c, &(0x7f0000006280), 0x0, 0x0) r5 = ioctl$KVM_CREATE_VM(r4, 0xae01, 0x0) syz_kvm_setup_cpu$x86(r5, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, &(0x7f00000000c0)=[@text32={0x20, 0x0}], 0x1, 0x0, 0x0, 0x0) r6 = ioctl$KVM_CREATE_VCPU(r5, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r5, r6, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000080)=[@text32={0x20, 0x0}], 0x1, 0x0, 0x0, 0x0) 07:46:13 executing program 5: r0 = socket$nl_crypto(0x10, 0x3, 0x15) sendmsg$nl_crypto(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000040)=@del={0xe0, 0x11, 0x1, 0x0, 0x0, {{'drbg_pr_sha256\x00'}, '\x00', '\x00', 0x2400}}, 0xe0}}, 0x0) 07:46:13 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)=@newlink={0x28, 0x10, 0x801, 0x0, 0x7, {0x0, 0x0, 0x0, 0x0, 0x20004}, [@IFLA_GROUP={0x8}]}, 0x28}}, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, 0x0, 0x0) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, 0x0, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, 0xffffffffffffffff) creat(&(0x7f0000000280)='./file1\x00', 0x0) write$eventfd(0xffffffffffffffff, 0x0, 0x0) ioctl$BTRFS_IOC_START_SYNC(0xffffffffffffffff, 0x80089418, &(0x7f0000000140)) bpf$OBJ_GET_MAP(0x7, 0x0, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, 0x0, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r1, &(0x7f0000000140)={0x0, 0x8c00, &(0x7f0000000240)={&(0x7f0000000180)=@newlink={0x28, 0x10, 0x801, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x205}, [@IFLA_GROUP={0x8}]}, 0x28}}, 0x0) lseek(0xffffffffffffffff, 0x0, 0x0) 07:46:13 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000a00)={0x0, 0x0, &(0x7f00000009c0)={0x0, 0x68}}, 0x0) getsockname$packet(r1, &(0x7f0000000200)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000000c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r2, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000180)={0x0, 0x7f4}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000100)=@newqdisc={0x30, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_ingress={0xc}]}, 0x30}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000500)=@newtfilter={0x44, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {0x7}, {}, {0xfff3, 0xffe0}}, [@filter_kind_options=@f_bpf={{0x8}, {0x18, 0x2, [@TCA_BPF_OPS={{0x6, 0x4, 0x1}, {0xc, 0x5, [{0x6}]}}]}}]}, 0x44}}, 0x0) r3 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r3, &(0x7f00000002c0), 0x40000000000009f, 0x0) [ 1884.569237][ T27] audit: type=1804 audit(1653119173.440:36888): pid=20618 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir3207957955/syzkaller.3ROTiw/963/file0" dev="sda1" ino=1190 res=1 errno=0 07:46:13 executing program 3: r0 = syz_io_uring_setup(0x77b, &(0x7f0000000080), &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000ee8000/0x4000)=nil, &(0x7f00000014c0)=0x0, &(0x7f00000001c0)=0x0) socketpair$tipc(0x1e, 0x5, 0x0, &(0x7f0000000040)={0xffffffffffffffff}) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_RECV=@use_registered_buffer={0x1b, 0x0, 0x0, r3, 0x0, 0x0, 0x0, 0x101e0}, 0x0) io_uring_enter(r0, 0x450e, 0x0, 0x0, 0x0, 0x0) 07:46:14 executing program 4: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000000040)='/sys/power/wakeup_count', 0x101101, 0x0) write$dsp(r0, &(0x7f0000000000)="9e", 0x1) 07:46:14 executing program 3: pkey_mprotect(&(0x7f0000ffb000/0x2000)=nil, 0x2000, 0x100000a, 0xffffffffffffffff) pkey_mprotect(&(0x7f0000ffa000/0x4000)=nil, 0x4000, 0x0, 0xffffffffffffffff) 07:46:14 executing program 0: r0 = syz_open_dev$loop(&(0x7f0000000080), 0x0, 0x0) fsetxattr$system_posix_acl(r0, &(0x7f00000013c0)='system.posix_acl_access\x00', &(0x7f0000001500), 0x24, 0x0) 07:46:14 executing program 4: syz_usb_connect(0x2, 0x24, &(0x7f00000008c0)={{0x12, 0x1, 0x0, 0xc8, 0xf9, 0xc0, 0x10, 0x13d3, 0x3224, 0x7cab, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x7b, 0x82, 0xef}}]}}]}}, 0x0) [ 1885.429751][T20613] tipc: Resetting bearer [ 1885.641493][T20619] IPv6: ADDRCONF(NETDEV_CHANGE): lo: link becomes ready [ 1885.668778][T20619] IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready [ 1885.676969][T20619] 8021q: adding VLAN 0 to HW filter on device bond0 [ 1885.684760][T20619] 8021q: adding VLAN 0 to HW filter on device team0 [ 1885.694098][T20619] A link change request failed with some changes committed already. Interface caif0 may have been left with an inconsistent configuration, please check. [ 1885.710591][T20630] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.5'. 07:46:21 executing program 1: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000440)={0x18, 0x3, &(0x7f0000000140)=ANY=[@ANYBLOB="1800000000000000000000000000080095"], &(0x7f00000001c0)='syzkaller\x00', 0x3, 0x1000, &(0x7f00000009c0)=""/4096, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000000)='sys_exit\x00', r0}, 0x10) bpf$MAP_CREATE(0x0, &(0x7f0000000200)=@base={0x1a, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0, '\x00', 0x0, 0xffffffffffffffff, 0x3, 0x0, 0x1}, 0x48) 07:46:21 executing program 3: r0 = socket$rxrpc(0x21, 0x2, 0x2) close_range(r0, 0xffffffffffffffff, 0x0) 07:46:21 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000180)={&(0x7f00000002c0)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x24, 0x24, 0x7, [@func_proto={0x0, 0x0, 0x0, 0xd, 0x2}, @volatile={0x0, 0x0, 0x0, 0x9, 0x3}, @fwd={0x5}]}, {0x0, [0x0, 0x0, 0x0, 0x0, 0x5f]}}, &(0x7f0000000080)=""/171, 0x43, 0xab, 0x1}, 0x20) 07:46:21 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)=@newlink={0x28, 0x10, 0x801, 0x0, 0x7, {0x0, 0x0, 0x0, 0x0, 0x20004}, [@IFLA_GROUP={0x8}]}, 0x28}}, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, 0x0, 0x0) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, 0x0, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, 0xffffffffffffffff) creat(&(0x7f0000000280)='./file1\x00', 0x0) write$eventfd(0xffffffffffffffff, 0x0, 0x0) ioctl$BTRFS_IOC_START_SYNC(0xffffffffffffffff, 0x80089418, &(0x7f0000000140)) bpf$OBJ_GET_MAP(0x7, 0x0, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, 0x0, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r1, &(0x7f0000000140)={0x0, 0x8c00, &(0x7f0000000240)={&(0x7f0000000180)=@newlink={0x28, 0x10, 0x801, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x205}, [@IFLA_GROUP={0x8}]}, 0x28}}, 0x0) lseek(0xffffffffffffffff, 0x0, 0x0) 07:46:21 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x11, 0x2, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "000001000000000008fc9d71fc00000000000000f8ffff002e0b3836005404b0d6301a4ce875f2e3ff5f163ee340b76795008000f8000000000104003c5811039e15775027ecce66fd792bbf0e5bf5ff9b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ff42c65400"}, 0x80) getsockname$packet(r1, &(0x7f0000000000)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000140)=0x14) sendmsg$nl_route(r0, &(0x7f0000002780)={0x0, 0x0, &(0x7f0000000b40)={&(0x7f0000000c80)=@newlink={0x34, 0x10, 0x801, 0x0, 0x0, {0x0, 0x0, 0x0, r2}, [@IFLA_VFINFO_LIST={0x14, 0x16, 0x0, 0x1, [{0x10, 0x1, 0x0, 0x1, [@IFLA_VF_LINK_STATE={0xc, 0xc}]}]}]}, 0x34}}, 0x0) 07:46:21 executing program 4: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r1 = dup(r0) write$6lowpan_enable(r1, &(0x7f0000000000)='0', 0xfffffd2c) r2 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r2, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x16) connect$inet(r2, &(0x7f0000000480)={0x2, 0xfffc, @multicast1}, 0x10) openat$fb0(0xffffffffffffff9c, &(0x7f0000000180), 0x82802, 0x0) setsockopt$inet_IP_XFRM_POLICY(r2, 0x0, 0x11, &(0x7f0000000080)={{{@in=@private=0xa010102, @in=@private=0xa010100, 0x0, 0x4, 0x0, 0xffff, 0x2, 0x0, 0x0, 0x0, 0x0, 0xee01}, {}, {0x0, 0x0, 0x0, 0x6e3ea9e4}, 0x0, 0x0, 0x1}, {{@in=@rand_addr=0x64010101, 0x0, 0x33}, 0x0, @in=@private, 0x0, 0x0, 0x0, 0xb7}}, 0xe8) sendmmsg(r2, &(0x7f0000007fc0), 0x800001d, 0xf734830e74) 07:46:21 executing program 0: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f00000001c0)='securityfs\x00', 0x20008c0, 0x0) mount(0x0, &(0x7f0000000100)='./file0\x00', 0x0, 0x100000, 0x0) mount(0x0, &(0x7f0000000080)='.', 0x0, 0x0, 0x0) mount(&(0x7f0000000000), &(0x7f00000000c0)='.', 0x0, 0x1075040, 0x0) mount(&(0x7f0000000300)=@filename='./file0\x00', &(0x7f0000000380)='.', 0x0, 0x865410, 0x0) mount(&(0x7f0000000080), &(0x7f0000000140)='.', 0x0, 0x5110, 0x0) r0 = syz_open_procfs(0x0, &(0x7f0000000080)='mountinfo\x00') preadv(r0, &(0x7f0000000940)=[{&(0x7f0000000040)=""/42, 0x2a}, {&(0x7f00000008c0)=""/106, 0x5b}, {&(0x7f00000007c0)=""/242, 0xf2}, {&(0x7f0000001380)=""/239, 0xfc36}], 0xd, 0x0, 0x0) 07:46:21 executing program 3: r0 = socket$isdn(0x22, 0x3, 0x0) bind$isdn(r0, &(0x7f0000000000), 0x6) 07:46:21 executing program 3: capset(&(0x7f0000000000)={0x20080522}, &(0x7f00000000c0)) ioprio_set$pid(0x2, 0x0, 0x0) 07:46:21 executing program 4: syz_usb_connect$cdc_ncm(0x0, 0x6f, &(0x7f00000005c0)={{0x12, 0x1, 0x0, 0x2, 0x0, 0x0, 0x20, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x5d, 0x2, 0x1, 0x2, 0xc0, 0x0, {{0x9, 0x4, 0x0, 0x0, 0x1, 0x2, 0xd, 0x0, 0x0, {{0x6, 0x24, 0x6, 0x0, 0x1, "e2"}, {0x5, 0x24, 0x0, 0x8}, {0xd, 0x24, 0xf, 0x1, 0x2, 0x49, 0x2, 0x99}, {0x6, 0x24, 0x1a, 0x6}}, {{0x9, 0x5, 0x81, 0x3, 0x3ff, 0x56, 0x4, 0x3f}}}, {}, {0x9, 0x4, 0x1, 0x1, 0x2, 0x2, 0xd, 0x0, 0x0, "", {{{0x9, 0x5, 0x82, 0x2, 0x400, 0x1f, 0x3f}}, {{0x9, 0x5, 0x3, 0x2, 0x10, 0x20, 0x1, 0x81}}}}}}}]}}, &(0x7f0000000840)={0xa, &(0x7f00000003c0)={0xa, 0x6, 0x110, 0x0, 0x5, 0x4, 0x10, 0x6}, 0x19, 0x0, 0x5, [{0x4, &(0x7f0000000440)=@lang_id={0x4, 0x3, 0x44d}}, {0xe5, &(0x7f00000009c0)=ANY=[@ANYBLOB="e503c3e14703013ff1f0f8c1675b82ccbd3e4dca41961d9a6d63ef3e775c94082f76f42d5e013a1066829902afbd23a4f148e509b436ac75ddbab6ae5517db57c48908746551aae9d6c59399d780e0e30ce847728b571464126347a058abf5e9ae74bdd37d81fac6cad59c212e5b11"]}, {0x74, &(0x7f0000000500)=ANY=[@ANYBLOB="740369bf2bde21e18987d12d92569853883c522b2b2b34806a4e230b2cb6b6bbc2053939360d0a2de165a929bb95b12f40efeaac47118e677816ec1198ff6fd0ea6f906ebccc8f3d72b0c22170f043d810f1f34128"]}, {0x0, 0x0}, {0x4, &(0x7f0000000340)=@lang_id={0x4, 0x3, 0x1870}}]}) 07:46:21 executing program 0: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f00000001c0)='securityfs\x00', 0x20008c0, 0x0) mount(0x0, &(0x7f0000000100)='./file0\x00', 0x0, 0x100000, 0x0) mount(0x0, &(0x7f0000000080)='.', 0x0, 0x0, 0x0) mount(&(0x7f0000000000), &(0x7f00000000c0)='.', 0x0, 0x1075040, 0x0) mount(&(0x7f0000000300)=@filename='./file0\x00', &(0x7f0000000380)='.', 0x0, 0x865410, 0x0) mount(&(0x7f0000000080), &(0x7f0000000140)='.', 0x0, 0x5110, 0x0) r0 = syz_open_procfs(0x0, &(0x7f0000000080)='mountinfo\x00') preadv(r0, &(0x7f0000000940)=[{&(0x7f0000000040)=""/42, 0x2a}, {&(0x7f00000008c0)=""/106, 0x5b}, {&(0x7f00000007c0)=""/242, 0xf2}, {&(0x7f0000001380)=""/239, 0xfc36}], 0xd, 0x0, 0x0) 07:46:22 executing program 3: r0 = socket$can_bcm(0x1d, 0x2, 0x2) connect$can_bcm(r0, &(0x7f0000000140), 0x10) sendmsg$can_bcm(r0, &(0x7f0000000540)={0x0, 0x0, &(0x7f0000000400)={&(0x7f00000004c0)=ANY=[@ANYBLOB="05"], 0x48}}, 0x0) r1 = socket$can_bcm(0x1d, 0x2, 0x2) ioctl$ifreq_SIOCGIFINDEX_vcan(r1, 0x8933, &(0x7f00000002c0)={'vcan0\x00', 0x0}) sendmsg$can_bcm(r0, &(0x7f0000000080)={&(0x7f0000000000)={0x1d, r2}, 0x10, &(0x7f0000000200)={&(0x7f0000000440)={0x5, 0x803, 0x0, {}, {}, {}, 0x1, @canfd={{}, 0x0, 0x0, 0x0, 0x0, "1deb23e11898c3c215fd1094d4b4468077503f320f825fcb51f0108ea5321bb5f1271ffc393f5283bc2129c806f27346af3eeb9f57be5984d17d40c2bd41ad23"}}, 0x80}}, 0x0) [ 1892.665959][T20649] tipc: Resetting bearer [ 1892.939883][T20654] IPv6: ADDRCONF(NETDEV_CHANGE): lo: link becomes ready [ 1892.984130][T20654] IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready [ 1892.998474][T20654] 8021q: adding VLAN 0 to HW filter on device bond0 [ 1893.009294][T20654] 8021q: adding VLAN 0 to HW filter on device team0 [ 1893.019930][T20654] A link change request failed with some changes committed already. Interface caif0 may have been left with an inconsistent configuration, please check. 07:46:30 executing program 0: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f00000001c0)='securityfs\x00', 0x20008c0, 0x0) mount(0x0, &(0x7f0000000100)='./file0\x00', 0x0, 0x100000, 0x0) mount(0x0, &(0x7f0000000080)='.', 0x0, 0x0, 0x0) mount(&(0x7f0000000000), &(0x7f00000000c0)='.', 0x0, 0x1075040, 0x0) mount(&(0x7f0000000300)=@filename='./file0\x00', &(0x7f0000000380)='.', 0x0, 0x865410, 0x0) mount(&(0x7f0000000080), &(0x7f0000000140)='.', 0x0, 0x5110, 0x0) r0 = syz_open_procfs(0x0, &(0x7f0000000080)='mountinfo\x00') preadv(r0, &(0x7f0000000940)=[{&(0x7f0000000040)=""/42, 0x2a}, {&(0x7f00000008c0)=""/106, 0x5b}, {&(0x7f00000007c0)=""/242, 0xf2}, {&(0x7f0000001380)=""/239, 0xfc36}], 0xd, 0x0, 0x0) 07:46:30 executing program 1: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000440)={0x18, 0x3, &(0x7f0000000140)=ANY=[@ANYBLOB="1800000000000000000000000000080095"], &(0x7f00000001c0)='syzkaller\x00', 0x3, 0x1000, &(0x7f00000009c0)=""/4096, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000000)='sys_exit\x00', r0}, 0x10) bpf$MAP_CREATE(0x0, &(0x7f0000000200)=@base={0x1a, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0, '\x00', 0x0, 0xffffffffffffffff, 0x3, 0x0, 0x1}, 0x48) 07:46:30 executing program 3: r0 = openat$sysfs(0xffffff9c, &(0x7f0000000000)='/sys/kernel/rcu_expedited', 0x0, 0x0) read$FUSE(r0, &(0x7f00000001c0)={0x2020}, 0x2020) 07:46:30 executing program 5: r0 = socket$inet6_udp(0xa, 0x2, 0x0) ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD(r0, 0x8982, &(0x7f0000000000)={0x3, 'virt_wifi0\x00'}) 07:46:30 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000280)={0xa, 0x4, &(0x7f0000000040)=@framed={{}, [@func={0x61, 0x0, 0x1, 0x79}]}, &(0x7f00000000c0)='GPL\x00', 0x5, 0xcb, &(0x7f0000000100)=""/203, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 07:46:30 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)=@newlink={0x28, 0x10, 0x801, 0x0, 0x7, {0x0, 0x0, 0x0, 0x0, 0x20004}, [@IFLA_GROUP={0x8}]}, 0x28}}, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, 0x0, 0x0) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, 0x0, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, 0xffffffffffffffff) creat(&(0x7f0000000280)='./file1\x00', 0x0) write$eventfd(0xffffffffffffffff, 0x0, 0x0) ioctl$BTRFS_IOC_START_SYNC(0xffffffffffffffff, 0x80089418, &(0x7f0000000140)) bpf$OBJ_GET_MAP(0x7, 0x0, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, 0x0, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r1, &(0x7f0000000140)={0x0, 0x8c00, &(0x7f0000000240)={&(0x7f0000000180)=@newlink={0x28, 0x10, 0x801, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x205}, [@IFLA_GROUP={0x8}]}, 0x28}}, 0x0) lseek(0xffffffffffffffff, 0x0, 0x0) 07:46:30 executing program 4: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x200000, 0x5, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000900100000f000000000000000200000006000000000008000080000020000000dbf4655fdbf4655f0100ffff53ef010001000000daf4655f000000000000000001000000000000000b0000000004000008000000d2c200001203", 0x66, 0x400}, {&(0x7f0000010100)="00000000000000000000000082e36724c6f34caa846ed2e527703378010040", 0x1f, 0x4e0}, {&(0x7f0000010400)="02000000030000000400000019000f000300040000000000000000000f002e69", 0x20, 0x1000}, {&(0x7f0000010500)="7f000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x1002, 0x2000}, {&(0x7f0000012600)="ed41000010000000daf4655fdbf4655fdbf4655f00000000000004008000000000000800050000000af301000400000000000000000000000900000010", 0x3d, 0x4400}], 0x0, &(0x7f00000000c0)=ANY=[]) chdir(&(0x7f00000000c0)='./file0\x00') r0 = open(&(0x7f0000000080)='./file0\x00', 0x4142, 0x0) ioctl$AUTOFS_DEV_IOCTL_READY(0xffffffffffffffff, 0xc0189376, 0x0) syz_open_procfs(0x0, 0x0) r1 = open(&(0x7f0000000000)='./file0\x00', 0x141042, 0x0) write$binfmt_script(r1, &(0x7f0000000280)=ANY=[], 0xab) ioctl$sock_ipv6_tunnel_SIOCDELPRL(0xffffffffffffffff, 0x89f6, &(0x7f00000003c0)={'ip6tnl0\x00', 0x0}) write$binfmt_script(r0, &(0x7f0000000680)={'#! ', './file0'}, 0xb) syz_open_dev$mouse(0x0, 0x0, 0x0) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) 07:46:30 executing program 3: r0 = openat$sysfs(0xffffff9c, &(0x7f0000000000)='/sys/kernel/rcu_expedited', 0x0, 0x0) read$FUSE(r0, &(0x7f00000001c0)={0x2020}, 0x2020) 07:46:30 executing program 3: r0 = openat$sysfs(0xffffff9c, &(0x7f0000000000)='/sys/kernel/rcu_expedited', 0x0, 0x0) read$FUSE(r0, &(0x7f00000001c0)={0x2020}, 0x2020) 07:46:30 executing program 0: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f00000001c0)='securityfs\x00', 0x20008c0, 0x0) mount(0x0, &(0x7f0000000100)='./file0\x00', 0x0, 0x100000, 0x0) mount(0x0, &(0x7f0000000080)='.', 0x0, 0x0, 0x0) mount(&(0x7f0000000000), &(0x7f00000000c0)='.', 0x0, 0x1075040, 0x0) mount(&(0x7f0000000300)=@filename='./file0\x00', &(0x7f0000000380)='.', 0x0, 0x865410, 0x0) mount(&(0x7f0000000080), &(0x7f0000000140)='.', 0x0, 0x5110, 0x0) r0 = syz_open_procfs(0x0, &(0x7f0000000080)='mountinfo\x00') preadv(r0, &(0x7f0000000940)=[{&(0x7f0000000040)=""/42, 0x2a}, {&(0x7f00000008c0)=""/106, 0x5b}, {&(0x7f00000007c0)=""/242, 0xf2}, {&(0x7f0000001380)=""/239, 0xfc36}], 0xd, 0x0, 0x0) [ 1900.510598][ T27] audit: type=1800 audit(1653119190.167:36889): pid=20688 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.4" name="file0" dev="sda1" ino=1189 res=0 errno=0 07:46:30 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) fstat(r2, &(0x7f00000017c0)) mkdir(&(0x7f0000000140)='./file0\x00', 0x0) open(&(0x7f0000000000)='./file0\x00', 0x0, 0x0) mount(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f00000001c0)='cgroup2\x00', 0x0, 0x0) r3 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) ioctl$INCFS_IOC_GET_FILLED_BLOCKS(0xffffffffffffffff, 0x80286722, &(0x7f0000000540)={&(0x7f0000000440)=""/221, 0xdd, 0x1, 0x8}) r4 = openat$cgroup(r3, &(0x7f0000000200)='syz0\x00', 0x200002, 0x0) r5 = openat$cgroup_int(r4, &(0x7f0000000180)='memory.max\x00', 0x2, 0x0) recvmsg$unix(0xffffffffffffffff, 0x0, 0x12000) write$cgroup_int(r5, 0x0, 0x0) 07:46:30 executing program 3: r0 = openat$sysfs(0xffffff9c, &(0x7f0000000000)='/sys/kernel/rcu_expedited', 0x0, 0x0) read$FUSE(r0, &(0x7f00000001c0)={0x2020}, 0x2020) [ 1900.581755][T20680] tipc: Resetting bearer 07:46:30 executing program 3: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000380)=ANY=[], 0x24}}, 0x0) getsockname$packet(r1, &(0x7f0000000200)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000440)=0x14) sendmsg$nl_route(r0, &(0x7f0000000780)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r2, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000100)=@newqdisc={0x2c, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_drr={0x8}]}, 0x2c}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000340)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000840)=ANY=[@ANYBLOB='T\x00\x00\x00,\x00\'\r\x00'/20, @ANYRES32=r2, @ANYBLOB="0000000000000000e0ff000009000100666c6f77000000002400020020000b8014000280100101000000080000000000000000000800010001"], 0x54}}, 0x0) r3 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r3, &(0x7f00000002c0), 0x40000000000009f, 0x0) [ 1901.630734][T20685] IPv6: ADDRCONF(NETDEV_CHANGE): lo: link becomes ready [ 1901.662365][T20685] IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready [ 1901.671299][T20685] 8021q: adding VLAN 0 to HW filter on device bond0 [ 1901.678992][T20685] 8021q: adding VLAN 0 to HW filter on device team0 [ 1901.689526][T20685] A link change request failed with some changes committed already. Interface caif0 may have been left with an inconsistent configuration, please check. [ 1901.706189][T20705] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.3'. 07:46:47 executing program 1: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000440)={0x18, 0x3, &(0x7f0000000140)=ANY=[@ANYBLOB="1800000000000000000000000000080095"], &(0x7f00000001c0)='syzkaller\x00', 0x3, 0x1000, &(0x7f00000009c0)=""/4096, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000000)='sys_exit\x00', r0}, 0x10) bpf$MAP_CREATE(0x0, &(0x7f0000000200)=@base={0x1a, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0, '\x00', 0x0, 0xffffffffffffffff, 0x3, 0x0, 0x1}, 0x48) 07:46:47 executing program 0: r0 = socket$nl_rdma(0x10, 0x3, 0x14) sendmsg$RDMA_NLDEV_CMD_STAT_GET(r0, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000440)={&(0x7f0000000400)={0x18, 0x1411, 0x1, 0x0, 0x0, "", [@RDMA_NLDEV_ATTR_DEV_INDEX={0x8}]}, 0x18}}, 0x0) 07:46:47 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) fstat(r2, &(0x7f00000017c0)) mkdir(&(0x7f0000000140)='./file0\x00', 0x0) open(&(0x7f0000000000)='./file0\x00', 0x0, 0x0) mount(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f00000001c0)='cgroup2\x00', 0x0, 0x0) r3 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) ioctl$INCFS_IOC_GET_FILLED_BLOCKS(0xffffffffffffffff, 0x80286722, &(0x7f0000000540)={&(0x7f0000000440)=""/221, 0xdd, 0x1, 0x8}) r4 = openat$cgroup(r3, &(0x7f0000000200)='syz0\x00', 0x200002, 0x0) r5 = openat$cgroup_int(r4, &(0x7f0000000180)='memory.max\x00', 0x2, 0x0) recvmsg$unix(0xffffffffffffffff, 0x0, 0x12000) write$cgroup_int(r5, 0x0, 0x0) 07:46:47 executing program 5: r0 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r0, 0x10e, 0xc, &(0x7f00000022c0)={0x64ad}, 0x10) write(r0, &(0x7f0000000080)="240000001a005f0014f9f407000904000200200000000000000000000800020000000000", 0x24) 07:46:47 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$kcm(0x10, 0x2, 0x10) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000200)={'macsec0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000000)=@newlink={0x2c, 0x10, 0x403, 0x0, 0x0, {0x0, 0x0, 0x0, r2}, [@IFLA_ADDRESS={0xa}]}, 0x2c}}, 0x0) 07:46:47 executing program 3: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000040)={0x12, 0x4, &(0x7f0000000000)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x31}]}, &(0x7f0000000100)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x9, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 07:46:47 executing program 5: io_setup(0x8, &(0x7f0000000000)=0x0) io_pgetevents(r0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000240), 0x8}) 07:46:47 executing program 3: futex(&(0x7f0000000000), 0x5, 0x0, 0x0, &(0x7f0000000080), 0x24000000) 07:46:47 executing program 2: r0 = openat$tun(0xffffffffffffff9c, &(0x7f00000003c0), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000040)={'\x00', 0x2}) ioctl$TUNSETTXFILTER(r0, 0x400454d1, &(0x7f0000000000)={0x0, 0x2, [@dev, @local]}) 07:46:47 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000340)={&(0x7f0000000140)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x24, 0x24, 0x2, [@func_proto, @restrict, @func_proto={0x0, 0x0, 0x0, 0xd, 0x2}]}}, &(0x7f0000000280)=""/156, 0x3e, 0x9c, 0x1}, 0x20) 07:46:48 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r0, 0x10e, 0xc, &(0x7f0000000000)={0x8}, 0x10) sendmsg$nl_route(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000300)={&(0x7f00000000c0)=@mpls_getroute={0x24, 0x1a, 0x1, 0x0, 0x0, {0x1c, 0x14}, [@RTA_DST={0x8}]}, 0x24}}, 0x0) 07:46:48 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) fstat(r2, &(0x7f00000017c0)) mkdir(&(0x7f0000000140)='./file0\x00', 0x0) open(&(0x7f0000000000)='./file0\x00', 0x0, 0x0) mount(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f00000001c0)='cgroup2\x00', 0x0, 0x0) r3 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) ioctl$INCFS_IOC_GET_FILLED_BLOCKS(0xffffffffffffffff, 0x80286722, &(0x7f0000000540)={&(0x7f0000000440)=""/221, 0xdd, 0x1, 0x8}) r4 = openat$cgroup(r3, &(0x7f0000000200)='syz0\x00', 0x200002, 0x0) r5 = openat$cgroup_int(r4, &(0x7f0000000180)='memory.max\x00', 0x2, 0x0) recvmsg$unix(0xffffffffffffffff, 0x0, 0x12000) write$cgroup_int(r5, 0x0, 0x0) 07:46:56 executing program 1: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000440)={0x18, 0x3, &(0x7f0000000140)=ANY=[@ANYBLOB="1800000000000000000000000000080095"], &(0x7f00000001c0)='syzkaller\x00', 0x3, 0x1000, &(0x7f00000009c0)=""/4096, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000000)='sys_exit\x00', r0}, 0x10) bpf$MAP_CREATE(0x0, &(0x7f0000000200)=@base={0x1a, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0, '\x00', 0x0, 0xffffffffffffffff, 0x3, 0x0, 0x1}, 0x48) 07:46:56 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000340)={&(0x7f0000000140)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x24, 0x24, 0x2, [@func_proto, @restrict, @func_proto={0x0, 0x0, 0x0, 0xd, 0x2}]}}, &(0x7f0000000280)=""/156, 0x3e, 0x9c, 0x1}, 0x20) 07:46:56 executing program 3: r0 = epoll_create1(0x0) r1 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_tcp_int(r1, 0x6, 0x10000000013, &(0x7f0000d06000)=0x1, 0x4) setsockopt$inet_tcp_TCP_MD5SIG(r1, 0x6, 0xe, &(0x7f0000000440)={@in={{0x2, 0x0, @multicast2}}, 0x0, 0x9, 0x8}, 0xd8) setsockopt$SO_BINDTODEVICE(r1, 0x1, 0x19, &(0x7f0000000000)='batadv0\x00', 0x90) connect$inet(r1, &(0x7f0000000140)={0x2, 0x0, @remote}, 0x10) setsockopt$inet_tcp_int(r1, 0x6, 0x4000000000013, &(0x7f0000000400), 0x4) setsockopt$sock_int(r1, 0x1, 0x3c, &(0x7f0000000240)=0x1, 0x4) sendmmsg(r1, &(0x7f0000004dc0)=[{{0x0, 0x0, &(0x7f0000000380)=[{&(0x7f0000000540)='7', 0x1}], 0x1}}], 0x1, 0x4000100) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000040)) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000100)='cpuacct.usage_percpu_user\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28011, r2, 0x0) epoll_wait(r0, &(0x7f0000000080)=[{}], 0x1, 0x0) 07:46:56 executing program 2: ioctl$TIOCSTI(0xffffffffffffffff, 0x5412, &(0x7f0000002bc0)) getsockopt$inet6_IPV6_IPSEC_POLICY(0xffffffffffffffff, 0x29, 0x22, &(0x7f0000002400)={{{@in6=@private1, @in6=@private0}}, {{@in=@local}, 0x0, @in=@local}}, &(0x7f0000002500)=0xe4) r0 = syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0xa, &(0x7f0000000200)=[{&(0x7f0000010000)="20000000000100000c000000ce0000000f000000010000000000000000000000002000000020000020000000d2f4655fd2f4655f0100ffff53ef010001000000d1f4655f000000000000000001000000000000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010200)="010000000000050011", 0x9, 0x560}, {&(0x7f0000010300)="03", 0x1, 0x640}, {&(0x7f0000010400)="030000001300000023000000ce", 0xd, 0x800}, {&(0x7f0000010500)="fffffffffcff0700000000000000000000000000000000000000000000000080ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c6530", 0x439, 0xc00}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x4400}, {&(0x7f0000011700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x4800}, {&(0x7f0000012b00)="ed41000000040000d1f4655fd2f4655fd2f4655f00000000000004000200000000000800050000000af301000400000000000000000000000100000004", 0x3d, 0x8c80}, {&(0x7f0000012c00)="8081000000180000d1f4655fd1f4655fd1f4655f00000000000001000c00000010000800000000000af303000400000000000000000000000100000012000000010000000100000018000000020000000400000014", 0x55, 0x8d00}, {&(0x7f0000012e00)="ed41000000040000d2f4655fd2f4655fd2f4655f00000000000002", 0x1b, 0x9180}], 0x0, &(0x7f0000013800)=ANY=[]) stat(&(0x7f0000000080)='./file0\x00', &(0x7f0000000140)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) capget(&(0x7f0000000100)={0x20071026}, 0xffffffffffffffff) fchownat(r0, &(0x7f0000000040)='./file0\x00', 0x0, r1, 0x0) getsockopt$inet6_IPV6_IPSEC_POLICY(0xffffffffffffffff, 0x29, 0x22, &(0x7f0000002780)={{{@in6=@remote, @in6=@mcast2}}, {{@in=@empty}, 0x0, @in=@initdev}}, 0x0) syz_mount_image$ext4(0x0, 0x0, 0x40000, 0x0, 0x0, 0x0, &(0x7f0000013800)=ANY=[]) stat(0x0, 0x0) stat(&(0x7f0000000080)='./file0\x00', &(0x7f0000000140)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) fchownat(0xffffffffffffffff, 0x0, r2, r3, 0x0) syz_fuse_handle_req(0xffffffffffffffff, &(0x7f0000000180)="d189bf32aef360ac9e5ac5e695f086fe874b840671163a7e068627720a67953b2b4840af3d9e6479e40434a51eba4cc5dd33a8428116bd7f160fe40e1aaebe2b045bd53ffecf11b338ec72ade6689918476d6c1248058291b10e1c3f88ba2cc64b885c8bd93a179ac633609239d7dda926a25b2d667afc3f34b479c17619880143b01151b906d7e412ba21d153625ec799341dc4e4207c83b1f99ffb9d34ddc9a969fc690bd35bc692111728a9186a1530fa420beefd1f6bf7c3ec08db82210d81ecf7d042bfc90156d312db384f20d556895cee3dbf51b272f3107bf7511d62fc5408425e5e36131b59d2b3517c18f510508a65eba6ea187ffd526e96096aa84f7288fc57f159716e8cc31e6dd252203655faeb0f82a33d4de5c04aa88783b96cd12c7df00b852284c3c67600de4b3c4347d36f9b6901875b6e62ae59ed4e9c3deffe25d3aad4fb51e6e0259e4d7e97f873ee3261c0ba8c19e6b8eb0c4dd8821a8fd1982aec5ffd5b0207e2394ae65ef323c37e67b298a0533745e7957d091db9cbe232bca34f376b19731170daf38c9eff55115ec97c7230480f38a0f8c2d690b65e3675b76d4f3db067effd37a161bb4bfccf81ab6edc35d59644c2c8e46ea8cd97e48609de302c8d1f1ff93f38f4ef216b0df60a6ea3cd7ef27d7b67679ad9ade4c6c3bf4bbd63ce07b4ddc7fccf1b4e7ac28a03cdace9669fb8bba1f25065aa7106f2f14b14a22a822dc68928623742f112afef5c8c318a2c1e0508ebea45a7df650e76e36e5865e2231c34fbac3019b957409f02eb669e31c5f914607ccbb5bf6904808cba28c83e799a1fc807e735f2fad4be05364b788e8c5915f75021b7a59d26c26d58e7decd4edc934b5fcd9e9543ae656a668383741149ce8611a733d3001dcb2c7da488dc63a2e142e751610d63497a2366474f288ebf2f05f7e8743e53e1707db55ea2f6f6a13a100a43fcc8a73cf7481f5e5aefefaa29feece918d6d5099945340f9667cf1ba0710b1003fafd5e824813e5a64f963882417ca400722514ceef815eee5045dfd92f00cff671c9e73f43fcb702c9a4e8bb90a63817b78695e5c95fbe008f49d125b6234ba7b66003115d43d88e335dafe896aa4e2e1333d178f0b35f4466646d26de4174a1951d255f28556169e1da743997f801385b17b677b31e4538518342120971cc551bab0fef990bb87b36d58304c7177a703249eb2d2f73c30f96fb5fab352ea51ba2b520c9ffbb3ea72975d55f4cb831f91b864e3388ef2a4afa74ef950aca587aa36e6a1e5388eb07363651f07d7fd74f87e10e1e75744c2874c6db3ec7fe6ad7a6a0149cfc969c178e03437abc2a991594f3939cf5a421663c293a9088f110ad963e88a239986b557efc4c25be2ad6f336b7a1aebab32d59b7c0702b0edf7bf912d1ef91401fc96e27f13da2b0bfb72d2de680548f81ad1ef2c6dc891d4cf235e6383103c1ff3454445211b6945ff1e28b3c69e1428ad1f7ad2d9de7dc86cbba3c0a3e401cbe3251c2e2ccd5c1b7ee596858dd701d8b24681dbfa27108b2467bfae61b83249c84e4f10d2435626e1b3e5b0d9c5b033c353aa8fd5eac67ff5a6c82e13948ba61feef2e9c044b967bd58581b12b0337582121cb45aad10c7dd1ea515c25501fee8d5b0ff4885011d57f18e3a7eff6d87c502a81d15619f865b5c94a5b9f1355c1eddab5cddcd38ee8b60f75cd6282f5e37469656a968eda89c92f584358fe027928957786f7c1a22f25e4adb409b51fde2148b921de8e0c0f8ce4578031c514020355e777ef7622f753ba4df4416c469fc2c064c92b4dacf3bc7fd56adec974eedc9d0e9cf0da760664c90bf0d17638d1969c2360f282c1a562ebe0e9bfb2f42830208ee6afde6480863ddf51d92dc17bac8397a1bcfbd690ae60224f98206cd58eed0d057a331741c9fd0290cbe5e2e29d142ec333db58ad15d19e5f1ff99edbca689858e5f456b62e6e9f535a29fb19a565549cc2e28c0b1d6ba2a610545999c202fc3f7e41c90db52d0207d3d86e6427dede520692c1dd2b9bc3f396890190f786ff04d51d3172d5e7133589ce8718d183d615791201340459c59596623d338b9edf3bcae3460b83e5b5a776e1ee2cc32209671c028bfaaac95317d25d3d0be5587e0a115c0ee35e13c5659ea739602a771bc3b5b7748dcffa5a61903e02e2b750c3a743e878460951726906d46d955418c6492d79cc86b4fb0794920a0fa42715987086b0ad989899a3829879652181e8e0ff11bebddf79990fcee21a4d8bead374d5436cbb8dbedb47a2a428a21af381b4e98f977f0a77b03533938de41737e2663f79c73a4990a10e0841628370d278953540c17a21706b79de9476e82e6b6747217184997b6485c47f162ee07d02dfc19eb187f31088b0131d8af775f34918eb03876800dd1c87a85f4f99c537caa0835eb03d1d8bde57c94c7e44308508ff20da60108dd7b9850af198cebb5e5556e3890cd66017f6d441dbf896cf7b87d31792b82dd70b128d70420dabd98d366629d42409c2c4ada96f6578f369263bdf45f79743a02b9d44c8bde48522774c1dbb5a361d7141756194cb68084d962acc9fbd0acfa9f26b61af1049b2e931ece13677ff92c0397cef19d548ac7b6877695fd07534b51199c68e513b29ba0f4c4e9ca023f060770d9345266b18167eb7021ea5c4069ee3d383a007aacc5f7bb35b4359c23b6c9d35718acdba368ab490615e4513a441015f50bc520c56f294b10209031c481448dc86d55da083036f6b0fe53bd2c9c9bd0d8b40de026cda130878dc1fdedf1616aebbe7c759ed758f9f63f8685306f34cfa7eab23767a5dd5ea5d9be2bdec1cab435c2b1b45f2687d61519662cad6e31644f8db15b366fbf65a66251d24790b03a6d68107cb0f3bd013356bfff2557c97abc0dff933ff0b3aaa11f4bf099977a48462d95e1f22b9ae152b59853d7c28f4262b090aac563511b83433bcbf96ca53bbbe79826e86bdce896beb48d30d761e4d4254b77d810da6e0922c1487eac1840cf4281e903d0b71600ff6e0889b3669c87ffd4cfbd9ae6a977d4c4b1e918c52dfda173312ba7087904ccbc9096fd40536d8f3234620570c9c71607003d183bb9b6e1f9f6c59e1dc6826d74d70d7d5d22423297985429df7f020f975d351d3406d43bfd46ce78411f56eb856e61928a6b7bcc32829dd5d48083598392ace2764b7735c409a5ea8c93d317e0d675667803007dc424926706a5d22f048e9bee66cc65816660d295a450f4669ac862556288b4f36d0a19046067197941b3c10e15bef750c5d3d63851439caec55cf9770312a8e53722ddb800e05f9b4665b9e941ec9680601a17cd1bde4d0c7ecea97a2dde12c01872d4713f335b240105295d124c7bca7cdaae6a84886268ac35827155ec8d4b10ca4b3b5588f1b6a2cfdfaddaccb5c4b6555496fd936373a571bc883f8b48eeb60e5fbeb5d68c7c3ca5cc9a950f450ae3cd0c289cf75fb41d5a4b9e31d8129c05ac826692d2b05c6fa3dd04fe266694a94929bc054fa0fc6be7b7235a6c30e4b6aa0cb63376c38c77a9153b75d1842897e5eb491eea9677aacdd6cd086b574c568968cf25acc47359a557b9f430706657cc54d95db79435ec211b37bf4f7073619d3e73c62bdeb65488b9c3c05e372168fbe1620e6696900e722305cdbd99b9883d79b397071d5ada941ec42b48e56a999659558e25f9c5b7f3c3fb4d917a47dba689c732b230aedec66f69b48b36233cd9668182729a0b13365ce2d7de4a7b5dbcdb62053597be5935cd0cc99c0a233d12e5d61cb83e8a0a8a926ee03d7d567f8bb8a5a280d6af3faede51b3fb62d1059e6a3ca75c9541097d8d2e8f69349072bbddd696961a110c9bf653ef011aa485198d498c93d21e54f96743a176264b6456e400658d2465be54f08c41481da415d241052f4843801d1ea6658ed360c66d09eb6c02e5f09d77e7d61276bf5d41332c277685b80a494a5722b4ec3673180eabf634486fc73b93214e5f3e838b7dba30057f832d175414b61b443f4c2a69b406d1c5e281b02a22ab54a95144f36db33e1806477a2efe31400a96c73bc6a98f3bfd5ffb60450e4453d22ab7b312d0a8ae3c2e182718db67312bd1e2797e932d55edd6f89bebebbee44472a1df2f104f33f53cb5a1e45d0b52bcd01f728141560acaf6b67c5384efc463e45b86bded608748c473ff8d557dd9290c2fd6bb7b43da1fa97ff270964622caaf7b0b23a17b2126626ef8feb6568f1d5c407c4c2b7ec044e2c27e5a74ee24973200674adc90b8edd193d8f0d9d76add30078a36c3b2758106dbbbb47025d9b94b74c3ee54836932785352aa1de7b37617ea895b62edc582ba59360469fd276c20eb52db2c6128680b83e95c23134a44a8cb7f683217c6e638e656b99f0d39e18125b364c24f9f5ff0a079096ae809686d14a88149f71bfd4da31bed78a38909fed747921e75e4055b179f96312f6f8b817a3836847dd7120259f6ed6d642104ec20199ae78f1ec7ec3d8f3bfa5de1fa02203b98b74db8e78c33c30cbef11a16d81904dd2ad7af60491cb0321b88b3bfb185c5ce8983ea5e7b86a49e6c1bdd32dd8765f9f854ba6ba21c19fd93dca315a27dc576815e56933ba806a757fc238be6e85a9f893e5496619b0108650f8093777f8dbdca68495e90527a882078b5cc812b7a6b4c622cb2385370fcbdedb30848a4a9646110613fc91e6d73a6a9ee175519052de07c7b0f0f5e3b545953546b0da7019e3f834538cd88a85f1a7813d685f0d9138e0468dc157139d6d6adb39f70649679c1dc3afb52d6a1067142ce1bdf2c61f9c4661e9282f5ad5537dfd63de6255a5f90ba7c285dcadedb29527dbeca14f5a5f0b47356a53f615b02238f7544285a835efe60d4ba7dfdb96e95b28b4b5713a94be565cf3f0652c13e0efbb0ee13dfbe6c56d4ff6ba961be867f5aee776498a67737c01876a2af8005ad37af254705f9274e3281643e07f5bc881115b781acd5c5b5438348ed9c63a2aaa8f3ab59799be594095b5cddfe95e8296364ef0e2d6b1e51a11dc28fefdff5f991b1fc67d6f5bf2671c6222ad40732e0b8528353d85adf9236d3aeb20d23da35c73a67c165309ca0c15dd18da8b0428dea967b64e1ee2ee86126dc96797226755543ee1037acd603956fb7d135aa0cb066ff144452eb0d2b0ea35eb570befe34c8d6066877d4e789f8d8fbc8fa17525f3bf71938f076b0c91277ac472701ee7397168a397d27cdb7aabc4d0be8f0584c1500ab079d1cd2ee5e518523775891680e1f9ff3e86d9067d2a3624af3db74b708ea8825b5fe24406c2006fb4f92ede60aec58bf9b2d145e49c2626d900ce436a223df3ee1fd8836161ecef379f2439e722345f31a54238e9cdfc71bea5b54ccc1811ca026946384f442781d000a1e9be924faa4dcb6ff08a02ca4772e4bfbc33c7f495251df4a699213e23c2877e3e5f66ad048da69a92625727ba569652ffdb1ae22b260ee7ef14722f8d2861dbfc31162060922ac4678470179571e99eaec31e67f587b740ef2b5cdc328cdf397bfc8bfa3bda8b40b6e6ac7b1cc391768ec5c1dff1b96685152890827272d537aa6ca499e2ac73ffa0601dff04496318a025a2d07535d0b3c2683c03d76d2cfae0beb857531816ee90de9a1282639f8ab6f83ed3c01edacd3af0a65a90fa02bab5af4ff0fe28556a89068c9fae5d678f55ba4c4f14e559be197a4ff01d3c8923063bbf64c29c230fbe91ac09cbcacd8980629cd7a699c6639894ddbe619dd185a407daf94fc5e82fb38745ffbd9cb8679798a6099835b43eebf1126df43f723e9336251c65f4b892d7cfaf651fa31d4fff50bbdec7d1e901efcb97e5008090c0fd8e16cf79c4e4672785ca3f0e7687e472337f070336430fdf7960981692714938c9e2e4e564e2aaa80c8e7e8a72000d450124c037c08884642320989cee0034d3016b3ef544c330912a06a85dfd76fd1654d35ae8008f6286b2cee7669b6ccb6df46383d3f00230ed1963b917310ef70050affd9c82c8e99f7b13866a8e5382d64459a55b3d6c536cc87f62ea316f28ae7521e380059461fcb18150111e7b4ec8c622f0e7e7613438c53e1faead410ee457456fde946952f4a3a9ff414053e30a625b9c152d73cce1c2ca016d9f551df632b05d55aea82d367688b5b4b7ca97c7465d31034b06fa2388183946f50eb6a9b573190a85cc3cf339bb9e9cbfc8573621841a0f6d1421ebbdc708a3a535dd8c15a0e0d2e20b1db76bad4b100e1871a304822a54cea5339ae243a80bfa512d7d00be770902598943ca4bb24111f13e6dabae284ede5b1be6bb4adbee3241ff10ede39664042bb345035993d1bfd8732f2d7433ed13c5f7e6f6ca6359503a1a8e8b5c580b8b30f25c49f59546f66b89f48c4aead728c27ecf4cf73049fb05e14797234a5fc1c2827cfd4bf2d5bf681a94520f0490f40534c21ab0859975361c736a979825b89b239d75c8168ddba722cc9daf9887f482fa308fb62c62e0cb09dc48351cbbf0faaebd881d5bfb705a0acd4523ae85aa183234c21636121b462051149572175c09207572783575d01815f1681a36b52e948bcd9f438668694948b9d3f82bb4d6d1acb6c87b29a6752bdae5670fefa6ba12bfa5fc6b6ae8c876b009490d1b60090d9125ac4f38e87e39e464a31c236cc2943058f22f6a555e60f08f288a76fa37e04be77ea04b5b7ff33e8e26bd5c5b496c52391043680a58a34ba6af34776a3022a471478fe0f6ca9a73e4716f41bded35d9feeac880084604b08a184c82ab60ac27a1f0e4941e4930d8e2b3d6198e22f254ac82a5a8f04bbd7e6e68adf7051f568be7900117210640a410d7ee6b8827e8883d002fe0479bd3a8727b9a4c1b4fdd2275441520bab662a14e35ee9159274367763deb078c6a98087fef28a4b41a0c14e3b51228558e6a0fe674047d5a789042e5b49127e2b6defc6d36d7f8ca1f80892f779e84c7bc4d53aa156f0e5827a3b36f80cae9c9fb92210d95c4649d4fe848352db11f22b2603ef6677a1066660330193de5952df634e29ad8bc26a939fe886a1390cc2a1db6971214439ae30e59cb08ae8644f1915c80542e078f3f666723bee65b537722ca464f29d988461064bd86b5ef9bdb48f81773a3e97944167778a3499c0991f985715c39419a60067c93e3eccbd3c7604841c5c6493a1eb9d6385806157768c9beecabe29c9a0aca173c82b1f35b675c20cf2f6d30f9f6b91a45d2329675d6b325c734bd667274decdad6e6d745e1cbf97aa3971804d531caabf64c130c0c6f5842d5b8ef3b998b94fce2e933aac9d8caadd7a7e0c2935f59c2db7aeca1e028ad9aa991ccf5eec4d19b118e5a3016492c62a9ce0312afe53d5603b8cdbc559230660673144490fb6811c0a4b64c43a69d3b1528cd9916c708679a291735a65460c264ab40e72553ec4cb27ad9af9367366706a0a3ff770b4bb109484d82db91c6b41e7631dae4951250c202951431cedd3d3905c443a9153a18a69d6edd719142d5dba90c7553bd947cf6bd2b4f168f2ea1499e6af3cd24051631184382752ba9ed6688223a5848a0c0f489b6e20cf0b14659be05a06cb2d6f88831292ea2501cf05409eaeede72c92182f9ab29ebbdb63b0e0813f12d321056e9e530193a74d977a5d0f8b0f6f467056410a6a200c8374f2950885f9d8ef45365e30ab5cb2dd30bbb568ea94511e7dd92ee68e12bad5334b263468eaadca6f8ff62e065db7c733145f8a728b5241bb4c9e26936830f22c854f90d5f9641bcb64d11c73ba52a478b9255609330afcb26b2d34b856114342795c22add892d5c7f343c63161b583c61186da19981f13672a905f6da1284c3e78d7abc8bbfd31995b3ad24973f67c2cc93a0a6caba09484bac84f6b1bce4ef7c73677b6708e3961b1e3fb9fdf0f1e89fc28dc80924b2c0c5a1297c829b8af3bf2046f11630cebaecaf5a3efe5439952638e7568a11630eaf63d73ad6d321e1943a82a18f3045ea43562cba44498414cbfe9211c9f184fb4e85b6927c8f3f08e5d41a74aa9c9467ec85c5781d2e9ca7020d531a390c4f02bc8e8528b12b8d3ad5f28e562e14d6b634f0cc45b65c5df9c67098da6ddc87b77defc6b8c221d4f726d85e0d7c5a8fc011f0dcee75a5eb420871343496eb3b3e9faf80cc81146fc82f23832803f29a72a6a1af853bbe1eaeedc952c809a25ac87e0d8e6c896f47cae62f2b80417ecf573a3b66c24c7c42fada6a91cf5d7717e4ea3a79f9684ddc92e7e55149cd91c270e274c3baad161da74417c44ea0cae5305895e7df5d552758ff40668d4f047063ca1deeac5824624f02256221d5bb431f8cef446e70cd3166de2c0d3aff9f4b8bb53cd2b4ac7825f7cd3d3708053cc4b2e100817bd0d368256e5a6985eefdf6ab3c56c9391798392c6f6e0644ccf34d555c664ca7751defd300c0030386fbd3378afdb7a3cb11488d9edfed7d2490de08493eabf621740298f7de9489f79feceea1531feff3470b5cacf7c11ef470c1852422a78eef3ded3a7b590993d225df9ea482aa3687bef76b7375b22c7d25ea6815851a80a0d9014361511fe162e64953b7e0edf447f5e28900eed64435759a74211c94ad555baf1b4fd377f165af23de320c01a59e829558354d55f47a6d6cf933b5b0492bb15a453d164291d7ce27646485090dfab59198615ce2000f403af31cd004b8beecf859dc8ce1edd1b8d4e8d33a13ebade89ffdfa7ed2d7f508e797283a3384618157926b24b8ae00e8d2dfc120ca7f6cc2bc07e7ec2262ba91becc4c55d35bd4a29be84cb66f2c858bae2a04a6a53b0bbeb3061bf8168d14f9fa82ab62288e86ed02ecb811816cad7a8b215e75f8f03fb598ce9789f05e7b8c8b3b6457f58c6f225fe130b76c7bab88d8ae1af9aac4bd8bd4ef37de7342a011389c2d29ab6b6214e9cd5e01dbd03153dc2f68d1cad0dd0ed2d7c3fa2b7dcdfaadb7338e99b0161cfd09516eec42aeb535ac750e0b0a4330ada78c84180edc90ddc37db2c892c9fe4ac48bc86559f714d0039ad33afc073a60381e9fde5c3432869561f2f1826d327077b78cdd337ecea7752e83a2513501d7c2b46e4c4f64f99dbf234d237c397a8b77d35bb89069b779ca0bebe4d09a7f389bba3f635968f6293b75b8f017d4942bab485e7971773b0588da2b022b7036e19e1daee844d7c8ab3b19591516083d1591321923162c6075afcf7e16c4f6ace4c019ff2986a9622d7c21dfe1d9c3a7daf728f11fdf4c7227c7823d910d24a85ecf5f370c396ee8ee350457a12fe29d6ee5bf4ae20a3e8358c389d4cd768cba9278ad4b7f00711f5c255e14d7fc44ef97cab65884230daad94f1a436e8d07117999f1227de0c3604a69df1c8cfa48306b19009627ea34bc3f724627f95041b159ce4a4df4e28fe18ce598a553ebd5187dd1992e8141327d864e764fe739884fcb71569dd102a91942c891c320f7acd41d17962c6fb1ee98c7dfcb24f2b1feced2c0c5294032fdc6a0bd8fcc350081f4b475b1fcc14b17905a8db07eb6facd662c8cf83a5e88b1a23e1268dee3c1087880be2b0f9cb9fdbcb17e652d34b30e982b101004e1282f0407ade9f30278565e4f4fe4c2ad2a7f7c41fe9cec5f5e9c8fafb2e35b53da710b3e642d658965bfb0809b75ce5381b51d12e2eba992bcdea5a37addd5d806f439060425b26354538f975a9a2eb81c7afc30aa9b571507a1edae2f44a6b70faf98d64da70fdfddbf5702aa516dae29699c0e656379d13a762d2fa2f783e8c7fb6d485cabe1836b753b7eb7c0161e26366c00e5c7637630eaa7e031dbc49c4f3be034c9cd10000d4675491ce032d07fc7eeb5b7c69cdd74284a8ba9abae3b4c42cc5c358283c7bcb049936e893a834747ddda4b80cab83c3af22cc3058049058d9e25bc80a1f1143d3dedd419d56ddd5759275c960b2018c2e03b452c774f01a39b7bd4cb88a96e3d8a100e6bd8955aefa8de0399cec3acf79eea097f581c161098a7b7b79cf423e2c83ae8015ccccb058694089f2f91099c915eae4a5e033b5a60583c3bf0cfaae9e436d59400ebf47779e8c5723c876a01385fb159b3a5518ea868628a7d20d8af8cd4d7106485f371c760687b381d04760e1661d15d970d1257c112cd1499c3c7d502deedd98e175b4420d2317958101617b41c033f168f4582816f0a9f6fcb108262a69a5fe7a9fa152f4f1d3bad072ec00f4a3f5e13a3e0125884c4438715b493638c4fd3887ff8824e925d8be4196e1a17ddac7e1d0328c4c372f0e4a69d44b8c3c5e196d18b7303dcac0c67db7963f8bf3461eae816e69a21b92fc702ccfcdff7d1619c293d9a7b6b3709be4aa83d004ae537bc0b932180565dcfdedf5591ac049c06409333a67b2668366e87c19a0f5533126fd58e7d3398fce772e0a9722d5f79bdd717f0f80beebd6970b3de4314f446da85390b087f17c2b884b4edb850883483f6ee14ddc0a7054ee9dbcd685f3fb822743ef6feb03b8dddf49dccc506a99c2034df5c2a353abccc6fc168697b5fe0a4b5e072505148568494cdbbafbd624e3abb5b818b763d1cb61fa701a8cea1b74d415f9742d052c65efd095c6e216a50a7dd778d3ffe87bc0ea57e0d32d4365b0028ab83ed40deea83e0e76944ecd1e7e3caa4536f39ba9ad67725913534eaaf8a8de61d6bb7dda9cc0c7521eebd059f77426aaff59c41e855fd4b2b177889a38facd86bf9f6a0edcac17afae1c06ed41fbaf353710bdbe728880b1a47ce7f1a2c5f4610d1dc27a71a2782c50f77e36f08803d2ce794903f08079ba389bd628bf0fce8cb8c63e0aa4602dee1585313601f7fe018a3d672a1918c21ac7ca25a078c900d0ebd85785e92431dbe8593374114ef3f447d92c8caad7f0e3a6e13b4e3fa337039bc726176ad9c0aab5c9040f3e190aa57ec3926ca930bfecef3ff6ecc01e01cda39f3d8c799e6f8569e8d95c22bc334d15ea348de0e7bf18f6a84934bbe3eea89d5010144c0a86945d245a314348e3ff6c81e230053ec010d70f8f8d5270a59e9e5f098c52a36324613a7db84ff6227e0229b06ead5690393f1fdf744fd9ae64ac24e21062bed12ffce7b04c977181cd0fe38990e79bedad905099e0b423cce2c28347ecccbcf155fc31b8460a0fdeac924ae88241ef5a0f6bdbebc5549e0a713c7095db0060ad49883818ec4181a2a7336f7aafa6880ab0bf1a3384b1c2b0301a90a34428060e1c358714e60582fd3a379d3edaecd1a14a7bddad659b0fa7dbc88168fa04d8e187057cd9d62cb12246835ab3fdae7516a4db050e72b791aabb2c703fbef4f47e9b72f8c33e2b2eff4fa9ad0f927a175a460a5ce45c8465aca33819a2116d29c48b6860410b3709d8b14cf1fbddda48210d2b1322657da14f080481064b7a521a7a0bae3473390729bd560131d5ee4d147eb14c55f28c65ef97ab0856155d7dec571b55c5eaf22752826394a0a3fbba9ea55d3f4d604e2129c0a21cd132", 0x2000, 0x0) 07:46:56 executing program 5: io_setup(0x8, &(0x7f0000000000)=0x0) io_pgetevents(r0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000240), 0x8}) 07:46:56 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) fstat(r2, &(0x7f00000017c0)) mkdir(&(0x7f0000000140)='./file0\x00', 0x0) open(&(0x7f0000000000)='./file0\x00', 0x0, 0x0) mount(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f00000001c0)='cgroup2\x00', 0x0, 0x0) r3 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) ioctl$INCFS_IOC_GET_FILLED_BLOCKS(0xffffffffffffffff, 0x80286722, &(0x7f0000000540)={&(0x7f0000000440)=""/221, 0xdd, 0x1, 0x8}) r4 = openat$cgroup(r3, &(0x7f0000000200)='syz0\x00', 0x200002, 0x0) r5 = openat$cgroup_int(r4, &(0x7f0000000180)='memory.max\x00', 0x2, 0x0) recvmsg$unix(0xffffffffffffffff, 0x0, 0x12000) write$cgroup_int(r5, 0x0, 0x0) 07:46:57 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000340)={&(0x7f0000000140)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x24, 0x24, 0x2, [@func_proto, @restrict, @func_proto={0x0, 0x0, 0x0, 0xd, 0x2}]}}, &(0x7f0000000280)=""/156, 0x3e, 0x9c, 0x1}, 0x20) 07:46:57 executing program 3: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000000)={0x26, 'hash\x00', 0x0, 0x0, 'ghash-generic\x00'}, 0x58) setsockopt$ALG_SET_KEY(r0, 0x117, 0x1, 0x0, 0x0) 07:46:57 executing program 2: ioctl$TIOCSTI(0xffffffffffffffff, 0x5412, &(0x7f0000002bc0)) getsockopt$inet6_IPV6_IPSEC_POLICY(0xffffffffffffffff, 0x29, 0x22, &(0x7f0000002400)={{{@in6=@private1, @in6=@private0}}, {{@in=@local}, 0x0, @in=@local}}, &(0x7f0000002500)=0xe4) r0 = syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0xa, &(0x7f0000000200)=[{&(0x7f0000010000)="20000000000100000c000000ce0000000f000000010000000000000000000000002000000020000020000000d2f4655fd2f4655f0100ffff53ef010001000000d1f4655f000000000000000001000000000000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010200)="010000000000050011", 0x9, 0x560}, {&(0x7f0000010300)="03", 0x1, 0x640}, {&(0x7f0000010400)="030000001300000023000000ce", 0xd, 0x800}, {&(0x7f0000010500)="fffffffffcff0700000000000000000000000000000000000000000000000080ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c6530", 0x439, 0xc00}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x4400}, {&(0x7f0000011700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x4800}, {&(0x7f0000012b00)="ed41000000040000d1f4655fd2f4655fd2f4655f00000000000004000200000000000800050000000af301000400000000000000000000000100000004", 0x3d, 0x8c80}, {&(0x7f0000012c00)="8081000000180000d1f4655fd1f4655fd1f4655f00000000000001000c00000010000800000000000af303000400000000000000000000000100000012000000010000000100000018000000020000000400000014", 0x55, 0x8d00}, {&(0x7f0000012e00)="ed41000000040000d2f4655fd2f4655fd2f4655f00000000000002", 0x1b, 0x9180}], 0x0, &(0x7f0000013800)=ANY=[]) stat(&(0x7f0000000080)='./file0\x00', &(0x7f0000000140)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) capget(&(0x7f0000000100)={0x20071026}, 0xffffffffffffffff) fchownat(r0, &(0x7f0000000040)='./file0\x00', 0x0, r1, 0x0) getsockopt$inet6_IPV6_IPSEC_POLICY(0xffffffffffffffff, 0x29, 0x22, &(0x7f0000002780)={{{@in6=@remote, @in6=@mcast2}}, {{@in=@empty}, 0x0, @in=@initdev}}, 0x0) syz_mount_image$ext4(0x0, 0x0, 0x40000, 0x0, 0x0, 0x0, &(0x7f0000013800)=ANY=[]) stat(0x0, 0x0) stat(&(0x7f0000000080)='./file0\x00', &(0x7f0000000140)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) fchownat(0xffffffffffffffff, 0x0, r2, r3, 0x0) syz_fuse_handle_req(0xffffffffffffffff, &(0x7f0000000180)="d189bf32aef360ac9e5ac5e695f086fe874b840671163a7e068627720a67953b2b4840af3d9e6479e40434a51eba4cc5dd33a8428116bd7f160fe40e1aaebe2b045bd53ffecf11b338ec72ade6689918476d6c1248058291b10e1c3f88ba2cc64b885c8bd93a179ac633609239d7dda926a25b2d667afc3f34b479c17619880143b01151b906d7e412ba21d153625ec799341dc4e4207c83b1f99ffb9d34ddc9a969fc690bd35bc692111728a9186a1530fa420beefd1f6bf7c3ec08db82210d81ecf7d042bfc90156d312db384f20d556895cee3dbf51b272f3107bf7511d62fc5408425e5e36131b59d2b3517c18f510508a65eba6ea187ffd526e96096aa84f7288fc57f159716e8cc31e6dd252203655faeb0f82a33d4de5c04aa88783b96cd12c7df00b852284c3c67600de4b3c4347d36f9b6901875b6e62ae59ed4e9c3deffe25d3aad4fb51e6e0259e4d7e97f873ee3261c0ba8c19e6b8eb0c4dd8821a8fd1982aec5ffd5b0207e2394ae65ef323c37e67b298a0533745e7957d091db9cbe232bca34f376b19731170daf38c9eff55115ec97c7230480f38a0f8c2d690b65e3675b76d4f3db067effd37a161bb4bfccf81ab6edc35d59644c2c8e46ea8cd97e48609de302c8d1f1ff93f38f4ef216b0df60a6ea3cd7ef27d7b67679ad9ade4c6c3bf4bbd63ce07b4ddc7fccf1b4e7ac28a03cdace9669fb8bba1f25065aa7106f2f14b14a22a822dc68928623742f112afef5c8c318a2c1e0508ebea45a7df650e76e36e5865e2231c34fbac3019b957409f02eb669e31c5f914607ccbb5bf6904808cba28c83e799a1fc807e735f2fad4be05364b788e8c5915f75021b7a59d26c26d58e7decd4edc934b5fcd9e9543ae656a668383741149ce8611a733d3001dcb2c7da488dc63a2e142e751610d63497a2366474f288ebf2f05f7e8743e53e1707db55ea2f6f6a13a100a43fcc8a73cf7481f5e5aefefaa29feece918d6d5099945340f9667cf1ba0710b1003fafd5e824813e5a64f963882417ca400722514ceef815eee5045dfd92f00cff671c9e73f43fcb702c9a4e8bb90a63817b78695e5c95fbe008f49d125b6234ba7b66003115d43d88e335dafe896aa4e2e1333d178f0b35f4466646d26de4174a1951d255f28556169e1da743997f801385b17b677b31e4538518342120971cc551bab0fef990bb87b36d58304c7177a703249eb2d2f73c30f96fb5fab352ea51ba2b520c9ffbb3ea72975d55f4cb831f91b864e3388ef2a4afa74ef950aca587aa36e6a1e5388eb07363651f07d7fd74f87e10e1e75744c2874c6db3ec7fe6ad7a6a0149cfc969c178e03437abc2a991594f3939cf5a421663c293a9088f110ad963e88a239986b557efc4c25be2ad6f336b7a1aebab32d59b7c0702b0edf7bf912d1ef91401fc96e27f13da2b0bfb72d2de680548f81ad1ef2c6dc891d4cf235e6383103c1ff3454445211b6945ff1e28b3c69e1428ad1f7ad2d9de7dc86cbba3c0a3e401cbe3251c2e2ccd5c1b7ee596858dd701d8b24681dbfa27108b2467bfae61b83249c84e4f10d2435626e1b3e5b0d9c5b033c353aa8fd5eac67ff5a6c82e13948ba61feef2e9c044b967bd58581b12b0337582121cb45aad10c7dd1ea515c25501fee8d5b0ff4885011d57f18e3a7eff6d87c502a81d15619f865b5c94a5b9f1355c1eddab5cddcd38ee8b60f75cd6282f5e37469656a968eda89c92f584358fe027928957786f7c1a22f25e4adb409b51fde2148b921de8e0c0f8ce4578031c514020355e777ef7622f753ba4df4416c469fc2c064c92b4dacf3bc7fd56adec974eedc9d0e9cf0da760664c90bf0d17638d1969c2360f282c1a562ebe0e9bfb2f42830208ee6afde6480863ddf51d92dc17bac8397a1bcfbd690ae60224f98206cd58eed0d057a331741c9fd0290cbe5e2e29d142ec333db58ad15d19e5f1ff99edbca689858e5f456b62e6e9f535a29fb19a565549cc2e28c0b1d6ba2a610545999c202fc3f7e41c90db52d0207d3d86e6427dede520692c1dd2b9bc3f396890190f786ff04d51d3172d5e7133589ce8718d183d615791201340459c59596623d338b9edf3bcae3460b83e5b5a776e1ee2cc32209671c028bfaaac95317d25d3d0be5587e0a115c0ee35e13c5659ea739602a771bc3b5b7748dcffa5a61903e02e2b750c3a743e878460951726906d46d955418c6492d79cc86b4fb0794920a0fa42715987086b0ad989899a3829879652181e8e0ff11bebddf79990fcee21a4d8bead374d5436cbb8dbedb47a2a428a21af381b4e98f977f0a77b03533938de41737e2663f79c73a4990a10e0841628370d278953540c17a21706b79de9476e82e6b6747217184997b6485c47f162ee07d02dfc19eb187f31088b0131d8af775f34918eb03876800dd1c87a85f4f99c537caa0835eb03d1d8bde57c94c7e44308508ff20da60108dd7b9850af198cebb5e5556e3890cd66017f6d441dbf896cf7b87d31792b82dd70b128d70420dabd98d366629d42409c2c4ada96f6578f369263bdf45f79743a02b9d44c8bde48522774c1dbb5a361d7141756194cb68084d962acc9fbd0acfa9f26b61af1049b2e931ece13677ff92c0397cef19d548ac7b6877695fd07534b51199c68e513b29ba0f4c4e9ca023f060770d9345266b18167eb7021ea5c4069ee3d383a007aacc5f7bb35b4359c23b6c9d35718acdba368ab490615e4513a441015f50bc520c56f294b10209031c481448dc86d55da083036f6b0fe53bd2c9c9bd0d8b40de026cda130878dc1fdedf1616aebbe7c759ed758f9f63f8685306f34cfa7eab23767a5dd5ea5d9be2bdec1cab435c2b1b45f2687d61519662cad6e31644f8db15b366fbf65a66251d24790b03a6d68107cb0f3bd013356bfff2557c97abc0dff933ff0b3aaa11f4bf099977a48462d95e1f22b9ae152b59853d7c28f4262b090aac563511b83433bcbf96ca53bbbe79826e86bdce896beb48d30d761e4d4254b77d810da6e0922c1487eac1840cf4281e903d0b71600ff6e0889b3669c87ffd4cfbd9ae6a977d4c4b1e918c52dfda173312ba7087904ccbc9096fd40536d8f3234620570c9c71607003d183bb9b6e1f9f6c59e1dc6826d74d70d7d5d22423297985429df7f020f975d351d3406d43bfd46ce78411f56eb856e61928a6b7bcc32829dd5d48083598392ace2764b7735c409a5ea8c93d317e0d675667803007dc424926706a5d22f048e9bee66cc65816660d295a450f4669ac862556288b4f36d0a19046067197941b3c10e15bef750c5d3d63851439caec55cf9770312a8e53722ddb800e05f9b4665b9e941ec9680601a17cd1bde4d0c7ecea97a2dde12c01872d4713f335b240105295d124c7bca7cdaae6a84886268ac35827155ec8d4b10ca4b3b5588f1b6a2cfdfaddaccb5c4b6555496fd936373a571bc883f8b48eeb60e5fbeb5d68c7c3ca5cc9a950f450ae3cd0c289cf75fb41d5a4b9e31d8129c05ac826692d2b05c6fa3dd04fe266694a94929bc054fa0fc6be7b7235a6c30e4b6aa0cb63376c38c77a9153b75d1842897e5eb491eea9677aacdd6cd086b574c568968cf25acc47359a557b9f430706657cc54d95db79435ec211b37bf4f7073619d3e73c62bdeb65488b9c3c05e372168fbe1620e6696900e722305cdbd99b9883d79b397071d5ada941ec42b48e56a999659558e25f9c5b7f3c3fb4d917a47dba689c732b230aedec66f69b48b36233cd9668182729a0b13365ce2d7de4a7b5dbcdb62053597be5935cd0cc99c0a233d12e5d61cb83e8a0a8a926ee03d7d567f8bb8a5a280d6af3faede51b3fb62d1059e6a3ca75c9541097d8d2e8f69349072bbddd696961a110c9bf653ef011aa485198d498c93d21e54f96743a176264b6456e400658d2465be54f08c41481da415d241052f4843801d1ea6658ed360c66d09eb6c02e5f09d77e7d61276bf5d41332c277685b80a494a5722b4ec3673180eabf634486fc73b93214e5f3e838b7dba30057f832d175414b61b443f4c2a69b406d1c5e281b02a22ab54a95144f36db33e1806477a2efe31400a96c73bc6a98f3bfd5ffb60450e4453d22ab7b312d0a8ae3c2e182718db67312bd1e2797e932d55edd6f89bebebbee44472a1df2f104f33f53cb5a1e45d0b52bcd01f728141560acaf6b67c5384efc463e45b86bded608748c473ff8d557dd9290c2fd6bb7b43da1fa97ff270964622caaf7b0b23a17b2126626ef8feb6568f1d5c407c4c2b7ec044e2c27e5a74ee24973200674adc90b8edd193d8f0d9d76add30078a36c3b2758106dbbbb47025d9b94b74c3ee54836932785352aa1de7b37617ea895b62edc582ba59360469fd276c20eb52db2c6128680b83e95c23134a44a8cb7f683217c6e638e656b99f0d39e18125b364c24f9f5ff0a079096ae809686d14a88149f71bfd4da31bed78a38909fed747921e75e4055b179f96312f6f8b817a3836847dd7120259f6ed6d642104ec20199ae78f1ec7ec3d8f3bfa5de1fa02203b98b74db8e78c33c30cbef11a16d81904dd2ad7af60491cb0321b88b3bfb185c5ce8983ea5e7b86a49e6c1bdd32dd8765f9f854ba6ba21c19fd93dca315a27dc576815e56933ba806a757fc238be6e85a9f893e5496619b0108650f8093777f8dbdca68495e90527a882078b5cc812b7a6b4c622cb2385370fcbdedb30848a4a9646110613fc91e6d73a6a9ee175519052de07c7b0f0f5e3b545953546b0da7019e3f834538cd88a85f1a7813d685f0d9138e0468dc157139d6d6adb39f70649679c1dc3afb52d6a1067142ce1bdf2c61f9c4661e9282f5ad5537dfd63de6255a5f90ba7c285dcadedb29527dbeca14f5a5f0b47356a53f615b02238f7544285a835efe60d4ba7dfdb96e95b28b4b5713a94be565cf3f0652c13e0efbb0ee13dfbe6c56d4ff6ba961be867f5aee776498a67737c01876a2af8005ad37af254705f9274e3281643e07f5bc881115b781acd5c5b5438348ed9c63a2aaa8f3ab59799be594095b5cddfe95e8296364ef0e2d6b1e51a11dc28fefdff5f991b1fc67d6f5bf2671c6222ad40732e0b8528353d85adf9236d3aeb20d23da35c73a67c165309ca0c15dd18da8b0428dea967b64e1ee2ee86126dc96797226755543ee1037acd603956fb7d135aa0cb066ff144452eb0d2b0ea35eb570befe34c8d6066877d4e789f8d8fbc8fa17525f3bf71938f076b0c91277ac472701ee7397168a397d27cdb7aabc4d0be8f0584c1500ab079d1cd2ee5e518523775891680e1f9ff3e86d9067d2a3624af3db74b708ea8825b5fe24406c2006fb4f92ede60aec58bf9b2d145e49c2626d900ce436a223df3ee1fd8836161ecef379f2439e722345f31a54238e9cdfc71bea5b54ccc1811ca026946384f442781d000a1e9be924faa4dcb6ff08a02ca4772e4bfbc33c7f495251df4a699213e23c2877e3e5f66ad048da69a92625727ba569652ffdb1ae22b260ee7ef14722f8d2861dbfc31162060922ac4678470179571e99eaec31e67f587b740ef2b5cdc328cdf397bfc8bfa3bda8b40b6e6ac7b1cc391768ec5c1dff1b96685152890827272d537aa6ca499e2ac73ffa0601dff04496318a025a2d07535d0b3c2683c03d76d2cfae0beb857531816ee90de9a1282639f8ab6f83ed3c01edacd3af0a65a90fa02bab5af4ff0fe28556a89068c9fae5d678f55ba4c4f14e559be197a4ff01d3c8923063bbf64c29c230fbe91ac09cbcacd8980629cd7a699c6639894ddbe619dd185a407daf94fc5e82fb38745ffbd9cb8679798a6099835b43eebf1126df43f723e9336251c65f4b892d7cfaf651fa31d4fff50bbdec7d1e901efcb97e5008090c0fd8e16cf79c4e4672785ca3f0e7687e472337f070336430fdf7960981692714938c9e2e4e564e2aaa80c8e7e8a72000d450124c037c08884642320989cee0034d3016b3ef544c330912a06a85dfd76fd1654d35ae8008f6286b2cee7669b6ccb6df46383d3f00230ed1963b917310ef70050affd9c82c8e99f7b13866a8e5382d64459a55b3d6c536cc87f62ea316f28ae7521e380059461fcb18150111e7b4ec8c622f0e7e7613438c53e1faead410ee457456fde946952f4a3a9ff414053e30a625b9c152d73cce1c2ca016d9f551df632b05d55aea82d367688b5b4b7ca97c7465d31034b06fa2388183946f50eb6a9b573190a85cc3cf339bb9e9cbfc8573621841a0f6d1421ebbdc708a3a535dd8c15a0e0d2e20b1db76bad4b100e1871a304822a54cea5339ae243a80bfa512d7d00be770902598943ca4bb24111f13e6dabae284ede5b1be6bb4adbee3241ff10ede39664042bb345035993d1bfd8732f2d7433ed13c5f7e6f6ca6359503a1a8e8b5c580b8b30f25c49f59546f66b89f48c4aead728c27ecf4cf73049fb05e14797234a5fc1c2827cfd4bf2d5bf681a94520f0490f40534c21ab0859975361c736a979825b89b239d75c8168ddba722cc9daf9887f482fa308fb62c62e0cb09dc48351cbbf0faaebd881d5bfb705a0acd4523ae85aa183234c21636121b462051149572175c09207572783575d01815f1681a36b52e948bcd9f438668694948b9d3f82bb4d6d1acb6c87b29a6752bdae5670fefa6ba12bfa5fc6b6ae8c876b009490d1b60090d9125ac4f38e87e39e464a31c236cc2943058f22f6a555e60f08f288a76fa37e04be77ea04b5b7ff33e8e26bd5c5b496c52391043680a58a34ba6af34776a3022a471478fe0f6ca9a73e4716f41bded35d9feeac880084604b08a184c82ab60ac27a1f0e4941e4930d8e2b3d6198e22f254ac82a5a8f04bbd7e6e68adf7051f568be7900117210640a410d7ee6b8827e8883d002fe0479bd3a8727b9a4c1b4fdd2275441520bab662a14e35ee9159274367763deb078c6a98087fef28a4b41a0c14e3b51228558e6a0fe674047d5a789042e5b49127e2b6defc6d36d7f8ca1f80892f779e84c7bc4d53aa156f0e5827a3b36f80cae9c9fb92210d95c4649d4fe848352db11f22b2603ef6677a1066660330193de5952df634e29ad8bc26a939fe886a1390cc2a1db6971214439ae30e59cb08ae8644f1915c80542e078f3f666723bee65b537722ca464f29d988461064bd86b5ef9bdb48f81773a3e97944167778a3499c0991f985715c39419a60067c93e3eccbd3c7604841c5c6493a1eb9d6385806157768c9beecabe29c9a0aca173c82b1f35b675c20cf2f6d30f9f6b91a45d2329675d6b325c734bd667274decdad6e6d745e1cbf97aa3971804d531caabf64c130c0c6f5842d5b8ef3b998b94fce2e933aac9d8caadd7a7e0c2935f59c2db7aeca1e028ad9aa991ccf5eec4d19b118e5a3016492c62a9ce0312afe53d5603b8cdbc559230660673144490fb6811c0a4b64c43a69d3b1528cd9916c708679a291735a65460c264ab40e72553ec4cb27ad9af9367366706a0a3ff770b4bb109484d82db91c6b41e7631dae4951250c202951431cedd3d3905c443a9153a18a69d6edd719142d5dba90c7553bd947cf6bd2b4f168f2ea1499e6af3cd24051631184382752ba9ed6688223a5848a0c0f489b6e20cf0b14659be05a06cb2d6f88831292ea2501cf05409eaeede72c92182f9ab29ebbdb63b0e0813f12d321056e9e530193a74d977a5d0f8b0f6f467056410a6a200c8374f2950885f9d8ef45365e30ab5cb2dd30bbb568ea94511e7dd92ee68e12bad5334b263468eaadca6f8ff62e065db7c733145f8a728b5241bb4c9e26936830f22c854f90d5f9641bcb64d11c73ba52a478b9255609330afcb26b2d34b856114342795c22add892d5c7f343c63161b583c61186da19981f13672a905f6da1284c3e78d7abc8bbfd31995b3ad24973f67c2cc93a0a6caba09484bac84f6b1bce4ef7c73677b6708e3961b1e3fb9fdf0f1e89fc28dc80924b2c0c5a1297c829b8af3bf2046f11630cebaecaf5a3efe5439952638e7568a11630eaf63d73ad6d321e1943a82a18f3045ea43562cba44498414cbfe9211c9f184fb4e85b6927c8f3f08e5d41a74aa9c9467ec85c5781d2e9ca7020d531a390c4f02bc8e8528b12b8d3ad5f28e562e14d6b634f0cc45b65c5df9c67098da6ddc87b77defc6b8c221d4f726d85e0d7c5a8fc011f0dcee75a5eb420871343496eb3b3e9faf80cc81146fc82f23832803f29a72a6a1af853bbe1eaeedc952c809a25ac87e0d8e6c896f47cae62f2b80417ecf573a3b66c24c7c42fada6a91cf5d7717e4ea3a79f9684ddc92e7e55149cd91c270e274c3baad161da74417c44ea0cae5305895e7df5d552758ff40668d4f047063ca1deeac5824624f02256221d5bb431f8cef446e70cd3166de2c0d3aff9f4b8bb53cd2b4ac7825f7cd3d3708053cc4b2e100817bd0d368256e5a6985eefdf6ab3c56c9391798392c6f6e0644ccf34d555c664ca7751defd300c0030386fbd3378afdb7a3cb11488d9edfed7d2490de08493eabf621740298f7de9489f79feceea1531feff3470b5cacf7c11ef470c1852422a78eef3ded3a7b590993d225df9ea482aa3687bef76b7375b22c7d25ea6815851a80a0d9014361511fe162e64953b7e0edf447f5e28900eed64435759a74211c94ad555baf1b4fd377f165af23de320c01a59e829558354d55f47a6d6cf933b5b0492bb15a453d164291d7ce27646485090dfab59198615ce2000f403af31cd004b8beecf859dc8ce1edd1b8d4e8d33a13ebade89ffdfa7ed2d7f508e797283a3384618157926b24b8ae00e8d2dfc120ca7f6cc2bc07e7ec2262ba91becc4c55d35bd4a29be84cb66f2c858bae2a04a6a53b0bbeb3061bf8168d14f9fa82ab62288e86ed02ecb811816cad7a8b215e75f8f03fb598ce9789f05e7b8c8b3b6457f58c6f225fe130b76c7bab88d8ae1af9aac4bd8bd4ef37de7342a011389c2d29ab6b6214e9cd5e01dbd03153dc2f68d1cad0dd0ed2d7c3fa2b7dcdfaadb7338e99b0161cfd09516eec42aeb535ac750e0b0a4330ada78c84180edc90ddc37db2c892c9fe4ac48bc86559f714d0039ad33afc073a60381e9fde5c3432869561f2f1826d327077b78cdd337ecea7752e83a2513501d7c2b46e4c4f64f99dbf234d237c397a8b77d35bb89069b779ca0bebe4d09a7f389bba3f635968f6293b75b8f017d4942bab485e7971773b0588da2b022b7036e19e1daee844d7c8ab3b19591516083d1591321923162c6075afcf7e16c4f6ace4c019ff2986a9622d7c21dfe1d9c3a7daf728f11fdf4c7227c7823d910d24a85ecf5f370c396ee8ee350457a12fe29d6ee5bf4ae20a3e8358c389d4cd768cba9278ad4b7f00711f5c255e14d7fc44ef97cab65884230daad94f1a436e8d07117999f1227de0c3604a69df1c8cfa48306b19009627ea34bc3f724627f95041b159ce4a4df4e28fe18ce598a553ebd5187dd1992e8141327d864e764fe739884fcb71569dd102a91942c891c320f7acd41d17962c6fb1ee98c7dfcb24f2b1feced2c0c5294032fdc6a0bd8fcc350081f4b475b1fcc14b17905a8db07eb6facd662c8cf83a5e88b1a23e1268dee3c1087880be2b0f9cb9fdbcb17e652d34b30e982b101004e1282f0407ade9f30278565e4f4fe4c2ad2a7f7c41fe9cec5f5e9c8fafb2e35b53da710b3e642d658965bfb0809b75ce5381b51d12e2eba992bcdea5a37addd5d806f439060425b26354538f975a9a2eb81c7afc30aa9b571507a1edae2f44a6b70faf98d64da70fdfddbf5702aa516dae29699c0e656379d13a762d2fa2f783e8c7fb6d485cabe1836b753b7eb7c0161e26366c00e5c7637630eaa7e031dbc49c4f3be034c9cd10000d4675491ce032d07fc7eeb5b7c69cdd74284a8ba9abae3b4c42cc5c358283c7bcb049936e893a834747ddda4b80cab83c3af22cc3058049058d9e25bc80a1f1143d3dedd419d56ddd5759275c960b2018c2e03b452c774f01a39b7bd4cb88a96e3d8a100e6bd8955aefa8de0399cec3acf79eea097f581c161098a7b7b79cf423e2c83ae8015ccccb058694089f2f91099c915eae4a5e033b5a60583c3bf0cfaae9e436d59400ebf47779e8c5723c876a01385fb159b3a5518ea868628a7d20d8af8cd4d7106485f371c760687b381d04760e1661d15d970d1257c112cd1499c3c7d502deedd98e175b4420d2317958101617b41c033f168f4582816f0a9f6fcb108262a69a5fe7a9fa152f4f1d3bad072ec00f4a3f5e13a3e0125884c4438715b493638c4fd3887ff8824e925d8be4196e1a17ddac7e1d0328c4c372f0e4a69d44b8c3c5e196d18b7303dcac0c67db7963f8bf3461eae816e69a21b92fc702ccfcdff7d1619c293d9a7b6b3709be4aa83d004ae537bc0b932180565dcfdedf5591ac049c06409333a67b2668366e87c19a0f5533126fd58e7d3398fce772e0a9722d5f79bdd717f0f80beebd6970b3de4314f446da85390b087f17c2b884b4edb850883483f6ee14ddc0a7054ee9dbcd685f3fb822743ef6feb03b8dddf49dccc506a99c2034df5c2a353abccc6fc168697b5fe0a4b5e072505148568494cdbbafbd624e3abb5b818b763d1cb61fa701a8cea1b74d415f9742d052c65efd095c6e216a50a7dd778d3ffe87bc0ea57e0d32d4365b0028ab83ed40deea83e0e76944ecd1e7e3caa4536f39ba9ad67725913534eaaf8a8de61d6bb7dda9cc0c7521eebd059f77426aaff59c41e855fd4b2b177889a38facd86bf9f6a0edcac17afae1c06ed41fbaf353710bdbe728880b1a47ce7f1a2c5f4610d1dc27a71a2782c50f77e36f08803d2ce794903f08079ba389bd628bf0fce8cb8c63e0aa4602dee1585313601f7fe018a3d672a1918c21ac7ca25a078c900d0ebd85785e92431dbe8593374114ef3f447d92c8caad7f0e3a6e13b4e3fa337039bc726176ad9c0aab5c9040f3e190aa57ec3926ca930bfecef3ff6ecc01e01cda39f3d8c799e6f8569e8d95c22bc334d15ea348de0e7bf18f6a84934bbe3eea89d5010144c0a86945d245a314348e3ff6c81e230053ec010d70f8f8d5270a59e9e5f098c52a36324613a7db84ff6227e0229b06ead5690393f1fdf744fd9ae64ac24e21062bed12ffce7b04c977181cd0fe38990e79bedad905099e0b423cce2c28347ecccbcf155fc31b8460a0fdeac924ae88241ef5a0f6bdbebc5549e0a713c7095db0060ad49883818ec4181a2a7336f7aafa6880ab0bf1a3384b1c2b0301a90a34428060e1c358714e60582fd3a379d3edaecd1a14a7bddad659b0fa7dbc88168fa04d8e187057cd9d62cb12246835ab3fdae7516a4db050e72b791aabb2c703fbef4f47e9b72f8c33e2b2eff4fa9ad0f927a175a460a5ce45c8465aca33819a2116d29c48b6860410b3709d8b14cf1fbddda48210d2b1322657da14f080481064b7a521a7a0bae3473390729bd560131d5ee4d147eb14c55f28c65ef97ab0856155d7dec571b55c5eaf22752826394a0a3fbba9ea55d3f4d604e2129c0a21cd132", 0x2000, 0x0) 07:46:57 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000340)={&(0x7f0000000140)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x24, 0x24, 0x2, [@func_proto, @restrict, @func_proto={0x0, 0x0, 0x0, 0xd, 0x2}]}}, &(0x7f0000000280)=""/156, 0x3e, 0x9c, 0x1}, 0x20) 07:46:57 executing program 5: io_setup(0x8, &(0x7f0000000000)=0x0) io_pgetevents(r0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000240), 0x8}) 07:46:57 executing program 4: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000000)={0x26, 'skcipher\x00', 0x0, 0x0, 'ecb(arc4)-generic\x00'}, 0x58) r1 = accept$alg(r0, 0x0, 0x0) r2 = dup(r1) open(&(0x7f0000000140)='./file1\x00', 0x10f0c2, 0x0) mount$9p_fd(0x0, &(0x7f0000000080)='./file1\x00', &(0x7f0000001000), 0x0, &(0x7f0000001040)=ANY=[@ANYBLOB='trans=fd,rfdno=', @ANYRESHEX=r2, @ANYBLOB=',wfdno=', @ANYRESHEX=r1]) [ 1926.979996][T20765] "syz-executor.4" (20765) uses obsolete ecb(arc4) skcipher [ 1926.989597][ T27] audit: type=1800 audit(1653119217.955:36890): pid=20765 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.4" name="file1" dev="sda1" ino=1179 res=0 errno=0 [ 1930.856489][ T1228] ieee802154 phy0 wpan0: encryption failed: -22 [ 1930.862782][ T1228] ieee802154 phy1 wpan1: encryption failed: -22 07:47:13 executing program 5: io_setup(0x8, &(0x7f0000000000)=0x0) io_pgetevents(r0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000240), 0x8}) 07:47:13 executing program 3: socket$packet(0x11, 0x3, 0x300) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() socket$nl_route(0x10, 0x3, 0x0) sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) bind$packet(0xffffffffffffffff, &(0x7f0000000380)={0x11, 0x16, 0x0, 0x1, 0x4, 0x6, @multicast}, 0x14) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) migrate_pages(r0, 0x1, &(0x7f0000000000)=0x7, &(0x7f0000000100)=0x3) getpgid(r0) syz_open_procfs(0xffffffffffffffff, 0x0) r3 = open(0x0, 0x0, 0x0) read$FUSE(r3, 0x0, 0x0) r4 = syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000940)='./file0\x00', 0x100000000000, 0x1, &(0x7f00000000c0)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}], 0x0, &(0x7f0000000180)={[{@fat=@codepage={'codepage', 0x3d, '932'}}]}) mkdirat(r4, &(0x7f0000000040)='./file1\x00', 0x8cffffff00000000) syz_init_net_socket$nfc_raw(0x27, 0x5, 0x0) 07:47:13 executing program 2: ioctl$TIOCSTI(0xffffffffffffffff, 0x5412, &(0x7f0000002bc0)) getsockopt$inet6_IPV6_IPSEC_POLICY(0xffffffffffffffff, 0x29, 0x22, &(0x7f0000002400)={{{@in6=@private1, @in6=@private0}}, {{@in=@local}, 0x0, @in=@local}}, &(0x7f0000002500)=0xe4) r0 = syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0xa, &(0x7f0000000200)=[{&(0x7f0000010000)="20000000000100000c000000ce0000000f000000010000000000000000000000002000000020000020000000d2f4655fd2f4655f0100ffff53ef010001000000d1f4655f000000000000000001000000000000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010200)="010000000000050011", 0x9, 0x560}, {&(0x7f0000010300)="03", 0x1, 0x640}, {&(0x7f0000010400)="030000001300000023000000ce", 0xd, 0x800}, {&(0x7f0000010500)="fffffffffcff0700000000000000000000000000000000000000000000000080ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c6530", 0x439, 0xc00}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x4400}, {&(0x7f0000011700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x4800}, {&(0x7f0000012b00)="ed41000000040000d1f4655fd2f4655fd2f4655f00000000000004000200000000000800050000000af301000400000000000000000000000100000004", 0x3d, 0x8c80}, {&(0x7f0000012c00)="8081000000180000d1f4655fd1f4655fd1f4655f00000000000001000c00000010000800000000000af303000400000000000000000000000100000012000000010000000100000018000000020000000400000014", 0x55, 0x8d00}, {&(0x7f0000012e00)="ed41000000040000d2f4655fd2f4655fd2f4655f00000000000002", 0x1b, 0x9180}], 0x0, &(0x7f0000013800)=ANY=[]) stat(&(0x7f0000000080)='./file0\x00', &(0x7f0000000140)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) capget(&(0x7f0000000100)={0x20071026}, 0xffffffffffffffff) fchownat(r0, &(0x7f0000000040)='./file0\x00', 0x0, r1, 0x0) getsockopt$inet6_IPV6_IPSEC_POLICY(0xffffffffffffffff, 0x29, 0x22, &(0x7f0000002780)={{{@in6=@remote, @in6=@mcast2}}, {{@in=@empty}, 0x0, @in=@initdev}}, 0x0) syz_mount_image$ext4(0x0, 0x0, 0x40000, 0x0, 0x0, 0x0, &(0x7f0000013800)=ANY=[]) stat(0x0, 0x0) stat(&(0x7f0000000080)='./file0\x00', &(0x7f0000000140)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) fchownat(0xffffffffffffffff, 0x0, r2, r3, 0x0) syz_fuse_handle_req(0xffffffffffffffff, &(0x7f0000000180)="d189bf32aef360ac9e5ac5e695f086fe874b840671163a7e068627720a67953b2b4840af3d9e6479e40434a51eba4cc5dd33a8428116bd7f160fe40e1aaebe2b045bd53ffecf11b338ec72ade6689918476d6c1248058291b10e1c3f88ba2cc64b885c8bd93a179ac633609239d7dda926a25b2d667afc3f34b479c17619880143b01151b906d7e412ba21d153625ec799341dc4e4207c83b1f99ffb9d34ddc9a969fc690bd35bc692111728a9186a1530fa420beefd1f6bf7c3ec08db82210d81ecf7d042bfc90156d312db384f20d556895cee3dbf51b272f3107bf7511d62fc5408425e5e36131b59d2b3517c18f510508a65eba6ea187ffd526e96096aa84f7288fc57f159716e8cc31e6dd252203655faeb0f82a33d4de5c04aa88783b96cd12c7df00b852284c3c67600de4b3c4347d36f9b6901875b6e62ae59ed4e9c3deffe25d3aad4fb51e6e0259e4d7e97f873ee3261c0ba8c19e6b8eb0c4dd8821a8fd1982aec5ffd5b0207e2394ae65ef323c37e67b298a0533745e7957d091db9cbe232bca34f376b19731170daf38c9eff55115ec97c7230480f38a0f8c2d690b65e3675b76d4f3db067effd37a161bb4bfccf81ab6edc35d59644c2c8e46ea8cd97e48609de302c8d1f1ff93f38f4ef216b0df60a6ea3cd7ef27d7b67679ad9ade4c6c3bf4bbd63ce07b4ddc7fccf1b4e7ac28a03cdace9669fb8bba1f25065aa7106f2f14b14a22a822dc68928623742f112afef5c8c318a2c1e0508ebea45a7df650e76e36e5865e2231c34fbac3019b957409f02eb669e31c5f914607ccbb5bf6904808cba28c83e799a1fc807e735f2fad4be05364b788e8c5915f75021b7a59d26c26d58e7decd4edc934b5fcd9e9543ae656a668383741149ce8611a733d3001dcb2c7da488dc63a2e142e751610d63497a2366474f288ebf2f05f7e8743e53e1707db55ea2f6f6a13a100a43fcc8a73cf7481f5e5aefefaa29feece918d6d5099945340f9667cf1ba0710b1003fafd5e824813e5a64f963882417ca400722514ceef815eee5045dfd92f00cff671c9e73f43fcb702c9a4e8bb90a63817b78695e5c95fbe008f49d125b6234ba7b66003115d43d88e335dafe896aa4e2e1333d178f0b35f4466646d26de4174a1951d255f28556169e1da743997f801385b17b677b31e4538518342120971cc551bab0fef990bb87b36d58304c7177a703249eb2d2f73c30f96fb5fab352ea51ba2b520c9ffbb3ea72975d55f4cb831f91b864e3388ef2a4afa74ef950aca587aa36e6a1e5388eb07363651f07d7fd74f87e10e1e75744c2874c6db3ec7fe6ad7a6a0149cfc969c178e03437abc2a991594f3939cf5a421663c293a9088f110ad963e88a239986b557efc4c25be2ad6f336b7a1aebab32d59b7c0702b0edf7bf912d1ef91401fc96e27f13da2b0bfb72d2de680548f81ad1ef2c6dc891d4cf235e6383103c1ff3454445211b6945ff1e28b3c69e1428ad1f7ad2d9de7dc86cbba3c0a3e401cbe3251c2e2ccd5c1b7ee596858dd701d8b24681dbfa27108b2467bfae61b83249c84e4f10d2435626e1b3e5b0d9c5b033c353aa8fd5eac67ff5a6c82e13948ba61feef2e9c044b967bd58581b12b0337582121cb45aad10c7dd1ea515c25501fee8d5b0ff4885011d57f18e3a7eff6d87c502a81d15619f865b5c94a5b9f1355c1eddab5cddcd38ee8b60f75cd6282f5e37469656a968eda89c92f584358fe027928957786f7c1a22f25e4adb409b51fde2148b921de8e0c0f8ce4578031c514020355e777ef7622f753ba4df4416c469fc2c064c92b4dacf3bc7fd56adec974eedc9d0e9cf0da760664c90bf0d17638d1969c2360f282c1a562ebe0e9bfb2f42830208ee6afde6480863ddf51d92dc17bac8397a1bcfbd690ae60224f98206cd58eed0d057a331741c9fd0290cbe5e2e29d142ec333db58ad15d19e5f1ff99edbca689858e5f456b62e6e9f535a29fb19a565549cc2e28c0b1d6ba2a610545999c202fc3f7e41c90db52d0207d3d86e6427dede520692c1dd2b9bc3f396890190f786ff04d51d3172d5e7133589ce8718d183d615791201340459c59596623d338b9edf3bcae3460b83e5b5a776e1ee2cc32209671c028bfaaac95317d25d3d0be5587e0a115c0ee35e13c5659ea739602a771bc3b5b7748dcffa5a61903e02e2b750c3a743e878460951726906d46d955418c6492d79cc86b4fb0794920a0fa42715987086b0ad989899a3829879652181e8e0ff11bebddf79990fcee21a4d8bead374d5436cbb8dbedb47a2a428a21af381b4e98f977f0a77b03533938de41737e2663f79c73a4990a10e0841628370d278953540c17a21706b79de9476e82e6b6747217184997b6485c47f162ee07d02dfc19eb187f31088b0131d8af775f34918eb03876800dd1c87a85f4f99c537caa0835eb03d1d8bde57c94c7e44308508ff20da60108dd7b9850af198cebb5e5556e3890cd66017f6d441dbf896cf7b87d31792b82dd70b128d70420dabd98d366629d42409c2c4ada96f6578f369263bdf45f79743a02b9d44c8bde48522774c1dbb5a361d7141756194cb68084d962acc9fbd0acfa9f26b61af1049b2e931ece13677ff92c0397cef19d548ac7b6877695fd07534b51199c68e513b29ba0f4c4e9ca023f060770d9345266b18167eb7021ea5c4069ee3d383a007aacc5f7bb35b4359c23b6c9d35718acdba368ab490615e4513a441015f50bc520c56f294b10209031c481448dc86d55da083036f6b0fe53bd2c9c9bd0d8b40de026cda130878dc1fdedf1616aebbe7c759ed758f9f63f8685306f34cfa7eab23767a5dd5ea5d9be2bdec1cab435c2b1b45f2687d61519662cad6e31644f8db15b366fbf65a66251d24790b03a6d68107cb0f3bd013356bfff2557c97abc0dff933ff0b3aaa11f4bf099977a48462d95e1f22b9ae152b59853d7c28f4262b090aac563511b83433bcbf96ca53bbbe79826e86bdce896beb48d30d761e4d4254b77d810da6e0922c1487eac1840cf4281e903d0b71600ff6e0889b3669c87ffd4cfbd9ae6a977d4c4b1e918c52dfda173312ba7087904ccbc9096fd40536d8f3234620570c9c71607003d183bb9b6e1f9f6c59e1dc6826d74d70d7d5d22423297985429df7f020f975d351d3406d43bfd46ce78411f56eb856e61928a6b7bcc32829dd5d48083598392ace2764b7735c409a5ea8c93d317e0d675667803007dc424926706a5d22f048e9bee66cc65816660d295a450f4669ac862556288b4f36d0a19046067197941b3c10e15bef750c5d3d63851439caec55cf9770312a8e53722ddb800e05f9b4665b9e941ec9680601a17cd1bde4d0c7ecea97a2dde12c01872d4713f335b240105295d124c7bca7cdaae6a84886268ac35827155ec8d4b10ca4b3b5588f1b6a2cfdfaddaccb5c4b6555496fd936373a571bc883f8b48eeb60e5fbeb5d68c7c3ca5cc9a950f450ae3cd0c289cf75fb41d5a4b9e31d8129c05ac826692d2b05c6fa3dd04fe266694a94929bc054fa0fc6be7b7235a6c30e4b6aa0cb63376c38c77a9153b75d1842897e5eb491eea9677aacdd6cd086b574c568968cf25acc47359a557b9f430706657cc54d95db79435ec211b37bf4f7073619d3e73c62bdeb65488b9c3c05e372168fbe1620e6696900e722305cdbd99b9883d79b397071d5ada941ec42b48e56a999659558e25f9c5b7f3c3fb4d917a47dba689c732b230aedec66f69b48b36233cd9668182729a0b13365ce2d7de4a7b5dbcdb62053597be5935cd0cc99c0a233d12e5d61cb83e8a0a8a926ee03d7d567f8bb8a5a280d6af3faede51b3fb62d1059e6a3ca75c9541097d8d2e8f69349072bbddd696961a110c9bf653ef011aa485198d498c93d21e54f96743a176264b6456e400658d2465be54f08c41481da415d241052f4843801d1ea6658ed360c66d09eb6c02e5f09d77e7d61276bf5d41332c277685b80a494a5722b4ec3673180eabf634486fc73b93214e5f3e838b7dba30057f832d175414b61b443f4c2a69b406d1c5e281b02a22ab54a95144f36db33e1806477a2efe31400a96c73bc6a98f3bfd5ffb60450e4453d22ab7b312d0a8ae3c2e182718db67312bd1e2797e932d55edd6f89bebebbee44472a1df2f104f33f53cb5a1e45d0b52bcd01f728141560acaf6b67c5384efc463e45b86bded608748c473ff8d557dd9290c2fd6bb7b43da1fa97ff270964622caaf7b0b23a17b2126626ef8feb6568f1d5c407c4c2b7ec044e2c27e5a74ee24973200674adc90b8edd193d8f0d9d76add30078a36c3b2758106dbbbb47025d9b94b74c3ee54836932785352aa1de7b37617ea895b62edc582ba59360469fd276c20eb52db2c6128680b83e95c23134a44a8cb7f683217c6e638e656b99f0d39e18125b364c24f9f5ff0a079096ae809686d14a88149f71bfd4da31bed78a38909fed747921e75e4055b179f96312f6f8b817a3836847dd7120259f6ed6d642104ec20199ae78f1ec7ec3d8f3bfa5de1fa02203b98b74db8e78c33c30cbef11a16d81904dd2ad7af60491cb0321b88b3bfb185c5ce8983ea5e7b86a49e6c1bdd32dd8765f9f854ba6ba21c19fd93dca315a27dc576815e56933ba806a757fc238be6e85a9f893e5496619b0108650f8093777f8dbdca68495e90527a882078b5cc812b7a6b4c622cb2385370fcbdedb30848a4a9646110613fc91e6d73a6a9ee175519052de07c7b0f0f5e3b545953546b0da7019e3f834538cd88a85f1a7813d685f0d9138e0468dc157139d6d6adb39f70649679c1dc3afb52d6a1067142ce1bdf2c61f9c4661e9282f5ad5537dfd63de6255a5f90ba7c285dcadedb29527dbeca14f5a5f0b47356a53f615b02238f7544285a835efe60d4ba7dfdb96e95b28b4b5713a94be565cf3f0652c13e0efbb0ee13dfbe6c56d4ff6ba961be867f5aee776498a67737c01876a2af8005ad37af254705f9274e3281643e07f5bc881115b781acd5c5b5438348ed9c63a2aaa8f3ab59799be594095b5cddfe95e8296364ef0e2d6b1e51a11dc28fefdff5f991b1fc67d6f5bf2671c6222ad40732e0b8528353d85adf9236d3aeb20d23da35c73a67c165309ca0c15dd18da8b0428dea967b64e1ee2ee86126dc96797226755543ee1037acd603956fb7d135aa0cb066ff144452eb0d2b0ea35eb570befe34c8d6066877d4e789f8d8fbc8fa17525f3bf71938f076b0c91277ac472701ee7397168a397d27cdb7aabc4d0be8f0584c1500ab079d1cd2ee5e518523775891680e1f9ff3e86d9067d2a3624af3db74b708ea8825b5fe24406c2006fb4f92ede60aec58bf9b2d145e49c2626d900ce436a223df3ee1fd8836161ecef379f2439e722345f31a54238e9cdfc71bea5b54ccc1811ca026946384f442781d000a1e9be924faa4dcb6ff08a02ca4772e4bfbc33c7f495251df4a699213e23c2877e3e5f66ad048da69a92625727ba569652ffdb1ae22b260ee7ef14722f8d2861dbfc31162060922ac4678470179571e99eaec31e67f587b740ef2b5cdc328cdf397bfc8bfa3bda8b40b6e6ac7b1cc391768ec5c1dff1b96685152890827272d537aa6ca499e2ac73ffa0601dff04496318a025a2d07535d0b3c2683c03d76d2cfae0beb857531816ee90de9a1282639f8ab6f83ed3c01edacd3af0a65a90fa02bab5af4ff0fe28556a89068c9fae5d678f55ba4c4f14e559be197a4ff01d3c8923063bbf64c29c230fbe91ac09cbcacd8980629cd7a699c6639894ddbe619dd185a407daf94fc5e82fb38745ffbd9cb8679798a6099835b43eebf1126df43f723e9336251c65f4b892d7cfaf651fa31d4fff50bbdec7d1e901efcb97e5008090c0fd8e16cf79c4e4672785ca3f0e7687e472337f070336430fdf7960981692714938c9e2e4e564e2aaa80c8e7e8a72000d450124c037c08884642320989cee0034d3016b3ef544c330912a06a85dfd76fd1654d35ae8008f6286b2cee7669b6ccb6df46383d3f00230ed1963b917310ef70050affd9c82c8e99f7b13866a8e5382d64459a55b3d6c536cc87f62ea316f28ae7521e380059461fcb18150111e7b4ec8c622f0e7e7613438c53e1faead410ee457456fde946952f4a3a9ff414053e30a625b9c152d73cce1c2ca016d9f551df632b05d55aea82d367688b5b4b7ca97c7465d31034b06fa2388183946f50eb6a9b573190a85cc3cf339bb9e9cbfc8573621841a0f6d1421ebbdc708a3a535dd8c15a0e0d2e20b1db76bad4b100e1871a304822a54cea5339ae243a80bfa512d7d00be770902598943ca4bb24111f13e6dabae284ede5b1be6bb4adbee3241ff10ede39664042bb345035993d1bfd8732f2d7433ed13c5f7e6f6ca6359503a1a8e8b5c580b8b30f25c49f59546f66b89f48c4aead728c27ecf4cf73049fb05e14797234a5fc1c2827cfd4bf2d5bf681a94520f0490f40534c21ab0859975361c736a979825b89b239d75c8168ddba722cc9daf9887f482fa308fb62c62e0cb09dc48351cbbf0faaebd881d5bfb705a0acd4523ae85aa183234c21636121b462051149572175c09207572783575d01815f1681a36b52e948bcd9f438668694948b9d3f82bb4d6d1acb6c87b29a6752bdae5670fefa6ba12bfa5fc6b6ae8c876b009490d1b60090d9125ac4f38e87e39e464a31c236cc2943058f22f6a555e60f08f288a76fa37e04be77ea04b5b7ff33e8e26bd5c5b496c52391043680a58a34ba6af34776a3022a471478fe0f6ca9a73e4716f41bded35d9feeac880084604b08a184c82ab60ac27a1f0e4941e4930d8e2b3d6198e22f254ac82a5a8f04bbd7e6e68adf7051f568be7900117210640a410d7ee6b8827e8883d002fe0479bd3a8727b9a4c1b4fdd2275441520bab662a14e35ee9159274367763deb078c6a98087fef28a4b41a0c14e3b51228558e6a0fe674047d5a789042e5b49127e2b6defc6d36d7f8ca1f80892f779e84c7bc4d53aa156f0e5827a3b36f80cae9c9fb92210d95c4649d4fe848352db11f22b2603ef6677a1066660330193de5952df634e29ad8bc26a939fe886a1390cc2a1db6971214439ae30e59cb08ae8644f1915c80542e078f3f666723bee65b537722ca464f29d988461064bd86b5ef9bdb48f81773a3e97944167778a3499c0991f985715c39419a60067c93e3eccbd3c7604841c5c6493a1eb9d6385806157768c9beecabe29c9a0aca173c82b1f35b675c20cf2f6d30f9f6b91a45d2329675d6b325c734bd667274decdad6e6d745e1cbf97aa3971804d531caabf64c130c0c6f5842d5b8ef3b998b94fce2e933aac9d8caadd7a7e0c2935f59c2db7aeca1e028ad9aa991ccf5eec4d19b118e5a3016492c62a9ce0312afe53d5603b8cdbc559230660673144490fb6811c0a4b64c43a69d3b1528cd9916c708679a291735a65460c264ab40e72553ec4cb27ad9af9367366706a0a3ff770b4bb109484d82db91c6b41e7631dae4951250c202951431cedd3d3905c443a9153a18a69d6edd719142d5dba90c7553bd947cf6bd2b4f168f2ea1499e6af3cd24051631184382752ba9ed6688223a5848a0c0f489b6e20cf0b14659be05a06cb2d6f88831292ea2501cf05409eaeede72c92182f9ab29ebbdb63b0e0813f12d321056e9e530193a74d977a5d0f8b0f6f467056410a6a200c8374f2950885f9d8ef45365e30ab5cb2dd30bbb568ea94511e7dd92ee68e12bad5334b263468eaadca6f8ff62e065db7c733145f8a728b5241bb4c9e26936830f22c854f90d5f9641bcb64d11c73ba52a478b9255609330afcb26b2d34b856114342795c22add892d5c7f343c63161b583c61186da19981f13672a905f6da1284c3e78d7abc8bbfd31995b3ad24973f67c2cc93a0a6caba09484bac84f6b1bce4ef7c73677b6708e3961b1e3fb9fdf0f1e89fc28dc80924b2c0c5a1297c829b8af3bf2046f11630cebaecaf5a3efe5439952638e7568a11630eaf63d73ad6d321e1943a82a18f3045ea43562cba44498414cbfe9211c9f184fb4e85b6927c8f3f08e5d41a74aa9c9467ec85c5781d2e9ca7020d531a390c4f02bc8e8528b12b8d3ad5f28e562e14d6b634f0cc45b65c5df9c67098da6ddc87b77defc6b8c221d4f726d85e0d7c5a8fc011f0dcee75a5eb420871343496eb3b3e9faf80cc81146fc82f23832803f29a72a6a1af853bbe1eaeedc952c809a25ac87e0d8e6c896f47cae62f2b80417ecf573a3b66c24c7c42fada6a91cf5d7717e4ea3a79f9684ddc92e7e55149cd91c270e274c3baad161da74417c44ea0cae5305895e7df5d552758ff40668d4f047063ca1deeac5824624f02256221d5bb431f8cef446e70cd3166de2c0d3aff9f4b8bb53cd2b4ac7825f7cd3d3708053cc4b2e100817bd0d368256e5a6985eefdf6ab3c56c9391798392c6f6e0644ccf34d555c664ca7751defd300c0030386fbd3378afdb7a3cb11488d9edfed7d2490de08493eabf621740298f7de9489f79feceea1531feff3470b5cacf7c11ef470c1852422a78eef3ded3a7b590993d225df9ea482aa3687bef76b7375b22c7d25ea6815851a80a0d9014361511fe162e64953b7e0edf447f5e28900eed64435759a74211c94ad555baf1b4fd377f165af23de320c01a59e829558354d55f47a6d6cf933b5b0492bb15a453d164291d7ce27646485090dfab59198615ce2000f403af31cd004b8beecf859dc8ce1edd1b8d4e8d33a13ebade89ffdfa7ed2d7f508e797283a3384618157926b24b8ae00e8d2dfc120ca7f6cc2bc07e7ec2262ba91becc4c55d35bd4a29be84cb66f2c858bae2a04a6a53b0bbeb3061bf8168d14f9fa82ab62288e86ed02ecb811816cad7a8b215e75f8f03fb598ce9789f05e7b8c8b3b6457f58c6f225fe130b76c7bab88d8ae1af9aac4bd8bd4ef37de7342a011389c2d29ab6b6214e9cd5e01dbd03153dc2f68d1cad0dd0ed2d7c3fa2b7dcdfaadb7338e99b0161cfd09516eec42aeb535ac750e0b0a4330ada78c84180edc90ddc37db2c892c9fe4ac48bc86559f714d0039ad33afc073a60381e9fde5c3432869561f2f1826d327077b78cdd337ecea7752e83a2513501d7c2b46e4c4f64f99dbf234d237c397a8b77d35bb89069b779ca0bebe4d09a7f389bba3f635968f6293b75b8f017d4942bab485e7971773b0588da2b022b7036e19e1daee844d7c8ab3b19591516083d1591321923162c6075afcf7e16c4f6ace4c019ff2986a9622d7c21dfe1d9c3a7daf728f11fdf4c7227c7823d910d24a85ecf5f370c396ee8ee350457a12fe29d6ee5bf4ae20a3e8358c389d4cd768cba9278ad4b7f00711f5c255e14d7fc44ef97cab65884230daad94f1a436e8d07117999f1227de0c3604a69df1c8cfa48306b19009627ea34bc3f724627f95041b159ce4a4df4e28fe18ce598a553ebd5187dd1992e8141327d864e764fe739884fcb71569dd102a91942c891c320f7acd41d17962c6fb1ee98c7dfcb24f2b1feced2c0c5294032fdc6a0bd8fcc350081f4b475b1fcc14b17905a8db07eb6facd662c8cf83a5e88b1a23e1268dee3c1087880be2b0f9cb9fdbcb17e652d34b30e982b101004e1282f0407ade9f30278565e4f4fe4c2ad2a7f7c41fe9cec5f5e9c8fafb2e35b53da710b3e642d658965bfb0809b75ce5381b51d12e2eba992bcdea5a37addd5d806f439060425b26354538f975a9a2eb81c7afc30aa9b571507a1edae2f44a6b70faf98d64da70fdfddbf5702aa516dae29699c0e656379d13a762d2fa2f783e8c7fb6d485cabe1836b753b7eb7c0161e26366c00e5c7637630eaa7e031dbc49c4f3be034c9cd10000d4675491ce032d07fc7eeb5b7c69cdd74284a8ba9abae3b4c42cc5c358283c7bcb049936e893a834747ddda4b80cab83c3af22cc3058049058d9e25bc80a1f1143d3dedd419d56ddd5759275c960b2018c2e03b452c774f01a39b7bd4cb88a96e3d8a100e6bd8955aefa8de0399cec3acf79eea097f581c161098a7b7b79cf423e2c83ae8015ccccb058694089f2f91099c915eae4a5e033b5a60583c3bf0cfaae9e436d59400ebf47779e8c5723c876a01385fb159b3a5518ea868628a7d20d8af8cd4d7106485f371c760687b381d04760e1661d15d970d1257c112cd1499c3c7d502deedd98e175b4420d2317958101617b41c033f168f4582816f0a9f6fcb108262a69a5fe7a9fa152f4f1d3bad072ec00f4a3f5e13a3e0125884c4438715b493638c4fd3887ff8824e925d8be4196e1a17ddac7e1d0328c4c372f0e4a69d44b8c3c5e196d18b7303dcac0c67db7963f8bf3461eae816e69a21b92fc702ccfcdff7d1619c293d9a7b6b3709be4aa83d004ae537bc0b932180565dcfdedf5591ac049c06409333a67b2668366e87c19a0f5533126fd58e7d3398fce772e0a9722d5f79bdd717f0f80beebd6970b3de4314f446da85390b087f17c2b884b4edb850883483f6ee14ddc0a7054ee9dbcd685f3fb822743ef6feb03b8dddf49dccc506a99c2034df5c2a353abccc6fc168697b5fe0a4b5e072505148568494cdbbafbd624e3abb5b818b763d1cb61fa701a8cea1b74d415f9742d052c65efd095c6e216a50a7dd778d3ffe87bc0ea57e0d32d4365b0028ab83ed40deea83e0e76944ecd1e7e3caa4536f39ba9ad67725913534eaaf8a8de61d6bb7dda9cc0c7521eebd059f77426aaff59c41e855fd4b2b177889a38facd86bf9f6a0edcac17afae1c06ed41fbaf353710bdbe728880b1a47ce7f1a2c5f4610d1dc27a71a2782c50f77e36f08803d2ce794903f08079ba389bd628bf0fce8cb8c63e0aa4602dee1585313601f7fe018a3d672a1918c21ac7ca25a078c900d0ebd85785e92431dbe8593374114ef3f447d92c8caad7f0e3a6e13b4e3fa337039bc726176ad9c0aab5c9040f3e190aa57ec3926ca930bfecef3ff6ecc01e01cda39f3d8c799e6f8569e8d95c22bc334d15ea348de0e7bf18f6a84934bbe3eea89d5010144c0a86945d245a314348e3ff6c81e230053ec010d70f8f8d5270a59e9e5f098c52a36324613a7db84ff6227e0229b06ead5690393f1fdf744fd9ae64ac24e21062bed12ffce7b04c977181cd0fe38990e79bedad905099e0b423cce2c28347ecccbcf155fc31b8460a0fdeac924ae88241ef5a0f6bdbebc5549e0a713c7095db0060ad49883818ec4181a2a7336f7aafa6880ab0bf1a3384b1c2b0301a90a34428060e1c358714e60582fd3a379d3edaecd1a14a7bddad659b0fa7dbc88168fa04d8e187057cd9d62cb12246835ab3fdae7516a4db050e72b791aabb2c703fbef4f47e9b72f8c33e2b2eff4fa9ad0f927a175a460a5ce45c8465aca33819a2116d29c48b6860410b3709d8b14cf1fbddda48210d2b1322657da14f080481064b7a521a7a0bae3473390729bd560131d5ee4d147eb14c55f28c65ef97ab0856155d7dec571b55c5eaf22752826394a0a3fbba9ea55d3f4d604e2129c0a21cd132", 0x2000, 0x0) 07:47:13 executing program 0: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="13000000270011cd674a7571017cf344b46302"], 0x108}}, 0x0) 07:47:13 executing program 4: bpf$PROG_LOAD(0x5, &(0x7f00002a0fb8)={0x10, 0x4, &(0x7f0000000000)=@framed={{0xffffff85, 0x0, 0x0, 0x0, 0x7b, 0x15, 0x0, 0x0, 0xee1e}, [@call={0x2c}]}, &(0x7f0000000140)='GPL\x00', 0x4, 0x99, &(0x7f0000000180)=""/153, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x25) 07:47:13 executing program 1: sendmsg$NL80211_CMD_FRAME(0xffffffffffffffff, &(0x7f0000001280)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000040)=ANY=[@ANYBLOB="6a040000", @ANYRES16, @ANYBLOB="01edff000000000004003b1c2100080003"], 0x448}}, 0x0) ioctl$sock_inet_SIOCSIFPFLAGS(0xffffffffffffffff, 0x8934, &(0x7f0000000040)={'wlan0\x00', 0x2}) r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) ioctl(r0, 0x8b32, &(0x7f0000000040)) 07:47:13 executing program 4: r0 = creat(&(0x7f0000000040)='./bus\x00', 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r2) ioctl$AUTOFS_DEV_IOCTL_REQUESTER(r0, 0x6609, 0x0) 07:47:13 executing program 2: ioctl$TIOCSTI(0xffffffffffffffff, 0x5412, &(0x7f0000002bc0)) getsockopt$inet6_IPV6_IPSEC_POLICY(0xffffffffffffffff, 0x29, 0x22, &(0x7f0000002400)={{{@in6=@private1, @in6=@private0}}, {{@in=@local}, 0x0, @in=@local}}, &(0x7f0000002500)=0xe4) r0 = syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0xa, &(0x7f0000000200)=[{&(0x7f0000010000)="20000000000100000c000000ce0000000f000000010000000000000000000000002000000020000020000000d2f4655fd2f4655f0100ffff53ef010001000000d1f4655f000000000000000001000000000000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010200)="010000000000050011", 0x9, 0x560}, {&(0x7f0000010300)="03", 0x1, 0x640}, {&(0x7f0000010400)="030000001300000023000000ce", 0xd, 0x800}, {&(0x7f0000010500)="fffffffffcff0700000000000000000000000000000000000000000000000080ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c6530", 0x439, 0xc00}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x4400}, {&(0x7f0000011700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x4800}, {&(0x7f0000012b00)="ed41000000040000d1f4655fd2f4655fd2f4655f00000000000004000200000000000800050000000af301000400000000000000000000000100000004", 0x3d, 0x8c80}, {&(0x7f0000012c00)="8081000000180000d1f4655fd1f4655fd1f4655f00000000000001000c00000010000800000000000af303000400000000000000000000000100000012000000010000000100000018000000020000000400000014", 0x55, 0x8d00}, {&(0x7f0000012e00)="ed41000000040000d2f4655fd2f4655fd2f4655f00000000000002", 0x1b, 0x9180}], 0x0, &(0x7f0000013800)=ANY=[]) stat(&(0x7f0000000080)='./file0\x00', &(0x7f0000000140)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) capget(&(0x7f0000000100)={0x20071026}, 0xffffffffffffffff) fchownat(r0, &(0x7f0000000040)='./file0\x00', 0x0, r1, 0x0) getsockopt$inet6_IPV6_IPSEC_POLICY(0xffffffffffffffff, 0x29, 0x22, &(0x7f0000002780)={{{@in6=@remote, @in6=@mcast2}}, {{@in=@empty}, 0x0, @in=@initdev}}, 0x0) syz_mount_image$ext4(0x0, 0x0, 0x40000, 0x0, 0x0, 0x0, &(0x7f0000013800)=ANY=[]) stat(0x0, 0x0) stat(&(0x7f0000000080)='./file0\x00', &(0x7f0000000140)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) fchownat(0xffffffffffffffff, 0x0, r2, r3, 0x0) syz_fuse_handle_req(0xffffffffffffffff, &(0x7f0000000180)="d189bf32aef360ac9e5ac5e695f086fe874b840671163a7e068627720a67953b2b4840af3d9e6479e40434a51eba4cc5dd33a8428116bd7f160fe40e1aaebe2b045bd53ffecf11b338ec72ade6689918476d6c1248058291b10e1c3f88ba2cc64b885c8bd93a179ac633609239d7dda926a25b2d667afc3f34b479c17619880143b01151b906d7e412ba21d153625ec799341dc4e4207c83b1f99ffb9d34ddc9a969fc690bd35bc692111728a9186a1530fa420beefd1f6bf7c3ec08db82210d81ecf7d042bfc90156d312db384f20d556895cee3dbf51b272f3107bf7511d62fc5408425e5e36131b59d2b3517c18f510508a65eba6ea187ffd526e96096aa84f7288fc57f159716e8cc31e6dd252203655faeb0f82a33d4de5c04aa88783b96cd12c7df00b852284c3c67600de4b3c4347d36f9b6901875b6e62ae59ed4e9c3deffe25d3aad4fb51e6e0259e4d7e97f873ee3261c0ba8c19e6b8eb0c4dd8821a8fd1982aec5ffd5b0207e2394ae65ef323c37e67b298a0533745e7957d091db9cbe232bca34f376b19731170daf38c9eff55115ec97c7230480f38a0f8c2d690b65e3675b76d4f3db067effd37a161bb4bfccf81ab6edc35d59644c2c8e46ea8cd97e48609de302c8d1f1ff93f38f4ef216b0df60a6ea3cd7ef27d7b67679ad9ade4c6c3bf4bbd63ce07b4ddc7fccf1b4e7ac28a03cdace9669fb8bba1f25065aa7106f2f14b14a22a822dc68928623742f112afef5c8c318a2c1e0508ebea45a7df650e76e36e5865e2231c34fbac3019b957409f02eb669e31c5f914607ccbb5bf6904808cba28c83e799a1fc807e735f2fad4be05364b788e8c5915f75021b7a59d26c26d58e7decd4edc934b5fcd9e9543ae656a668383741149ce8611a733d3001dcb2c7da488dc63a2e142e751610d63497a2366474f288ebf2f05f7e8743e53e1707db55ea2f6f6a13a100a43fcc8a73cf7481f5e5aefefaa29feece918d6d5099945340f9667cf1ba0710b1003fafd5e824813e5a64f963882417ca400722514ceef815eee5045dfd92f00cff671c9e73f43fcb702c9a4e8bb90a63817b78695e5c95fbe008f49d125b6234ba7b66003115d43d88e335dafe896aa4e2e1333d178f0b35f4466646d26de4174a1951d255f28556169e1da743997f801385b17b677b31e4538518342120971cc551bab0fef990bb87b36d58304c7177a703249eb2d2f73c30f96fb5fab352ea51ba2b520c9ffbb3ea72975d55f4cb831f91b864e3388ef2a4afa74ef950aca587aa36e6a1e5388eb07363651f07d7fd74f87e10e1e75744c2874c6db3ec7fe6ad7a6a0149cfc969c178e03437abc2a991594f3939cf5a421663c293a9088f110ad963e88a239986b557efc4c25be2ad6f336b7a1aebab32d59b7c0702b0edf7bf912d1ef91401fc96e27f13da2b0bfb72d2de680548f81ad1ef2c6dc891d4cf235e6383103c1ff3454445211b6945ff1e28b3c69e1428ad1f7ad2d9de7dc86cbba3c0a3e401cbe3251c2e2ccd5c1b7ee596858dd701d8b24681dbfa27108b2467bfae61b83249c84e4f10d2435626e1b3e5b0d9c5b033c353aa8fd5eac67ff5a6c82e13948ba61feef2e9c044b967bd58581b12b0337582121cb45aad10c7dd1ea515c25501fee8d5b0ff4885011d57f18e3a7eff6d87c502a81d15619f865b5c94a5b9f1355c1eddab5cddcd38ee8b60f75cd6282f5e37469656a968eda89c92f584358fe027928957786f7c1a22f25e4adb409b51fde2148b921de8e0c0f8ce4578031c514020355e777ef7622f753ba4df4416c469fc2c064c92b4dacf3bc7fd56adec974eedc9d0e9cf0da760664c90bf0d17638d1969c2360f282c1a562ebe0e9bfb2f42830208ee6afde6480863ddf51d92dc17bac8397a1bcfbd690ae60224f98206cd58eed0d057a331741c9fd0290cbe5e2e29d142ec333db58ad15d19e5f1ff99edbca689858e5f456b62e6e9f535a29fb19a565549cc2e28c0b1d6ba2a610545999c202fc3f7e41c90db52d0207d3d86e6427dede520692c1dd2b9bc3f396890190f786ff04d51d3172d5e7133589ce8718d183d615791201340459c59596623d338b9edf3bcae3460b83e5b5a776e1ee2cc32209671c028bfaaac95317d25d3d0be5587e0a115c0ee35e13c5659ea739602a771bc3b5b7748dcffa5a61903e02e2b750c3a743e878460951726906d46d955418c6492d79cc86b4fb0794920a0fa42715987086b0ad989899a3829879652181e8e0ff11bebddf79990fcee21a4d8bead374d5436cbb8dbedb47a2a428a21af381b4e98f977f0a77b03533938de41737e2663f79c73a4990a10e0841628370d278953540c17a21706b79de9476e82e6b6747217184997b6485c47f162ee07d02dfc19eb187f31088b0131d8af775f34918eb03876800dd1c87a85f4f99c537caa0835eb03d1d8bde57c94c7e44308508ff20da60108dd7b9850af198cebb5e5556e3890cd66017f6d441dbf896cf7b87d31792b82dd70b128d70420dabd98d366629d42409c2c4ada96f6578f369263bdf45f79743a02b9d44c8bde48522774c1dbb5a361d7141756194cb68084d962acc9fbd0acfa9f26b61af1049b2e931ece13677ff92c0397cef19d548ac7b6877695fd07534b51199c68e513b29ba0f4c4e9ca023f060770d9345266b18167eb7021ea5c4069ee3d383a007aacc5f7bb35b4359c23b6c9d35718acdba368ab490615e4513a441015f50bc520c56f294b10209031c481448dc86d55da083036f6b0fe53bd2c9c9bd0d8b40de026cda130878dc1fdedf1616aebbe7c759ed758f9f63f8685306f34cfa7eab23767a5dd5ea5d9be2bdec1cab435c2b1b45f2687d61519662cad6e31644f8db15b366fbf65a66251d24790b03a6d68107cb0f3bd013356bfff2557c97abc0dff933ff0b3aaa11f4bf099977a48462d95e1f22b9ae152b59853d7c28f4262b090aac563511b83433bcbf96ca53bbbe79826e86bdce896beb48d30d761e4d4254b77d810da6e0922c1487eac1840cf4281e903d0b71600ff6e0889b3669c87ffd4cfbd9ae6a977d4c4b1e918c52dfda173312ba7087904ccbc9096fd40536d8f3234620570c9c71607003d183bb9b6e1f9f6c59e1dc6826d74d70d7d5d22423297985429df7f020f975d351d3406d43bfd46ce78411f56eb856e61928a6b7bcc32829dd5d48083598392ace2764b7735c409a5ea8c93d317e0d675667803007dc424926706a5d22f048e9bee66cc65816660d295a450f4669ac862556288b4f36d0a19046067197941b3c10e15bef750c5d3d63851439caec55cf9770312a8e53722ddb800e05f9b4665b9e941ec9680601a17cd1bde4d0c7ecea97a2dde12c01872d4713f335b240105295d124c7bca7cdaae6a84886268ac35827155ec8d4b10ca4b3b5588f1b6a2cfdfaddaccb5c4b6555496fd936373a571bc883f8b48eeb60e5fbeb5d68c7c3ca5cc9a950f450ae3cd0c289cf75fb41d5a4b9e31d8129c05ac826692d2b05c6fa3dd04fe266694a94929bc054fa0fc6be7b7235a6c30e4b6aa0cb63376c38c77a9153b75d1842897e5eb491eea9677aacdd6cd086b574c568968cf25acc47359a557b9f430706657cc54d95db79435ec211b37bf4f7073619d3e73c62bdeb65488b9c3c05e372168fbe1620e6696900e722305cdbd99b9883d79b397071d5ada941ec42b48e56a999659558e25f9c5b7f3c3fb4d917a47dba689c732b230aedec66f69b48b36233cd9668182729a0b13365ce2d7de4a7b5dbcdb62053597be5935cd0cc99c0a233d12e5d61cb83e8a0a8a926ee03d7d567f8bb8a5a280d6af3faede51b3fb62d1059e6a3ca75c9541097d8d2e8f69349072bbddd696961a110c9bf653ef011aa485198d498c93d21e54f96743a176264b6456e400658d2465be54f08c41481da415d241052f4843801d1ea6658ed360c66d09eb6c02e5f09d77e7d61276bf5d41332c277685b80a494a5722b4ec3673180eabf634486fc73b93214e5f3e838b7dba30057f832d175414b61b443f4c2a69b406d1c5e281b02a22ab54a95144f36db33e1806477a2efe31400a96c73bc6a98f3bfd5ffb60450e4453d22ab7b312d0a8ae3c2e182718db67312bd1e2797e932d55edd6f89bebebbee44472a1df2f104f33f53cb5a1e45d0b52bcd01f728141560acaf6b67c5384efc463e45b86bded608748c473ff8d557dd9290c2fd6bb7b43da1fa97ff270964622caaf7b0b23a17b2126626ef8feb6568f1d5c407c4c2b7ec044e2c27e5a74ee24973200674adc90b8edd193d8f0d9d76add30078a36c3b2758106dbbbb47025d9b94b74c3ee54836932785352aa1de7b37617ea895b62edc582ba59360469fd276c20eb52db2c6128680b83e95c23134a44a8cb7f683217c6e638e656b99f0d39e18125b364c24f9f5ff0a079096ae809686d14a88149f71bfd4da31bed78a38909fed747921e75e4055b179f96312f6f8b817a3836847dd7120259f6ed6d642104ec20199ae78f1ec7ec3d8f3bfa5de1fa02203b98b74db8e78c33c30cbef11a16d81904dd2ad7af60491cb0321b88b3bfb185c5ce8983ea5e7b86a49e6c1bdd32dd8765f9f854ba6ba21c19fd93dca315a27dc576815e56933ba806a757fc238be6e85a9f893e5496619b0108650f8093777f8dbdca68495e90527a882078b5cc812b7a6b4c622cb2385370fcbdedb30848a4a9646110613fc91e6d73a6a9ee175519052de07c7b0f0f5e3b545953546b0da7019e3f834538cd88a85f1a7813d685f0d9138e0468dc157139d6d6adb39f70649679c1dc3afb52d6a1067142ce1bdf2c61f9c4661e9282f5ad5537dfd63de6255a5f90ba7c285dcadedb29527dbeca14f5a5f0b47356a53f615b02238f7544285a835efe60d4ba7dfdb96e95b28b4b5713a94be565cf3f0652c13e0efbb0ee13dfbe6c56d4ff6ba961be867f5aee776498a67737c01876a2af8005ad37af254705f9274e3281643e07f5bc881115b781acd5c5b5438348ed9c63a2aaa8f3ab59799be594095b5cddfe95e8296364ef0e2d6b1e51a11dc28fefdff5f991b1fc67d6f5bf2671c6222ad40732e0b8528353d85adf9236d3aeb20d23da35c73a67c165309ca0c15dd18da8b0428dea967b64e1ee2ee86126dc96797226755543ee1037acd603956fb7d135aa0cb066ff144452eb0d2b0ea35eb570befe34c8d6066877d4e789f8d8fbc8fa17525f3bf71938f076b0c91277ac472701ee7397168a397d27cdb7aabc4d0be8f0584c1500ab079d1cd2ee5e518523775891680e1f9ff3e86d9067d2a3624af3db74b708ea8825b5fe24406c2006fb4f92ede60aec58bf9b2d145e49c2626d900ce436a223df3ee1fd8836161ecef379f2439e722345f31a54238e9cdfc71bea5b54ccc1811ca026946384f442781d000a1e9be924faa4dcb6ff08a02ca4772e4bfbc33c7f495251df4a699213e23c2877e3e5f66ad048da69a92625727ba569652ffdb1ae22b260ee7ef14722f8d2861dbfc31162060922ac4678470179571e99eaec31e67f587b740ef2b5cdc328cdf397bfc8bfa3bda8b40b6e6ac7b1cc391768ec5c1dff1b96685152890827272d537aa6ca499e2ac73ffa0601dff04496318a025a2d07535d0b3c2683c03d76d2cfae0beb857531816ee90de9a1282639f8ab6f83ed3c01edacd3af0a65a90fa02bab5af4ff0fe28556a89068c9fae5d678f55ba4c4f14e559be197a4ff01d3c8923063bbf64c29c230fbe91ac09cbcacd8980629cd7a699c6639894ddbe619dd185a407daf94fc5e82fb38745ffbd9cb8679798a6099835b43eebf1126df43f723e9336251c65f4b892d7cfaf651fa31d4fff50bbdec7d1e901efcb97e5008090c0fd8e16cf79c4e4672785ca3f0e7687e472337f070336430fdf7960981692714938c9e2e4e564e2aaa80c8e7e8a72000d450124c037c08884642320989cee0034d3016b3ef544c330912a06a85dfd76fd1654d35ae8008f6286b2cee7669b6ccb6df46383d3f00230ed1963b917310ef70050affd9c82c8e99f7b13866a8e5382d64459a55b3d6c536cc87f62ea316f28ae7521e380059461fcb18150111e7b4ec8c622f0e7e7613438c53e1faead410ee457456fde946952f4a3a9ff414053e30a625b9c152d73cce1c2ca016d9f551df632b05d55aea82d367688b5b4b7ca97c7465d31034b06fa2388183946f50eb6a9b573190a85cc3cf339bb9e9cbfc8573621841a0f6d1421ebbdc708a3a535dd8c15a0e0d2e20b1db76bad4b100e1871a304822a54cea5339ae243a80bfa512d7d00be770902598943ca4bb24111f13e6dabae284ede5b1be6bb4adbee3241ff10ede39664042bb345035993d1bfd8732f2d7433ed13c5f7e6f6ca6359503a1a8e8b5c580b8b30f25c49f59546f66b89f48c4aead728c27ecf4cf73049fb05e14797234a5fc1c2827cfd4bf2d5bf681a94520f0490f40534c21ab0859975361c736a979825b89b239d75c8168ddba722cc9daf9887f482fa308fb62c62e0cb09dc48351cbbf0faaebd881d5bfb705a0acd4523ae85aa183234c21636121b462051149572175c09207572783575d01815f1681a36b52e948bcd9f438668694948b9d3f82bb4d6d1acb6c87b29a6752bdae5670fefa6ba12bfa5fc6b6ae8c876b009490d1b60090d9125ac4f38e87e39e464a31c236cc2943058f22f6a555e60f08f288a76fa37e04be77ea04b5b7ff33e8e26bd5c5b496c52391043680a58a34ba6af34776a3022a471478fe0f6ca9a73e4716f41bded35d9feeac880084604b08a184c82ab60ac27a1f0e4941e4930d8e2b3d6198e22f254ac82a5a8f04bbd7e6e68adf7051f568be7900117210640a410d7ee6b8827e8883d002fe0479bd3a8727b9a4c1b4fdd2275441520bab662a14e35ee9159274367763deb078c6a98087fef28a4b41a0c14e3b51228558e6a0fe674047d5a789042e5b49127e2b6defc6d36d7f8ca1f80892f779e84c7bc4d53aa156f0e5827a3b36f80cae9c9fb92210d95c4649d4fe848352db11f22b2603ef6677a1066660330193de5952df634e29ad8bc26a939fe886a1390cc2a1db6971214439ae30e59cb08ae8644f1915c80542e078f3f666723bee65b537722ca464f29d988461064bd86b5ef9bdb48f81773a3e97944167778a3499c0991f985715c39419a60067c93e3eccbd3c7604841c5c6493a1eb9d6385806157768c9beecabe29c9a0aca173c82b1f35b675c20cf2f6d30f9f6b91a45d2329675d6b325c734bd667274decdad6e6d745e1cbf97aa3971804d531caabf64c130c0c6f5842d5b8ef3b998b94fce2e933aac9d8caadd7a7e0c2935f59c2db7aeca1e028ad9aa991ccf5eec4d19b118e5a3016492c62a9ce0312afe53d5603b8cdbc559230660673144490fb6811c0a4b64c43a69d3b1528cd9916c708679a291735a65460c264ab40e72553ec4cb27ad9af9367366706a0a3ff770b4bb109484d82db91c6b41e7631dae4951250c202951431cedd3d3905c443a9153a18a69d6edd719142d5dba90c7553bd947cf6bd2b4f168f2ea1499e6af3cd24051631184382752ba9ed6688223a5848a0c0f489b6e20cf0b14659be05a06cb2d6f88831292ea2501cf05409eaeede72c92182f9ab29ebbdb63b0e0813f12d321056e9e530193a74d977a5d0f8b0f6f467056410a6a200c8374f2950885f9d8ef45365e30ab5cb2dd30bbb568ea94511e7dd92ee68e12bad5334b263468eaadca6f8ff62e065db7c733145f8a728b5241bb4c9e26936830f22c854f90d5f9641bcb64d11c73ba52a478b9255609330afcb26b2d34b856114342795c22add892d5c7f343c63161b583c61186da19981f13672a905f6da1284c3e78d7abc8bbfd31995b3ad24973f67c2cc93a0a6caba09484bac84f6b1bce4ef7c73677b6708e3961b1e3fb9fdf0f1e89fc28dc80924b2c0c5a1297c829b8af3bf2046f11630cebaecaf5a3efe5439952638e7568a11630eaf63d73ad6d321e1943a82a18f3045ea43562cba44498414cbfe9211c9f184fb4e85b6927c8f3f08e5d41a74aa9c9467ec85c5781d2e9ca7020d531a390c4f02bc8e8528b12b8d3ad5f28e562e14d6b634f0cc45b65c5df9c67098da6ddc87b77defc6b8c221d4f726d85e0d7c5a8fc011f0dcee75a5eb420871343496eb3b3e9faf80cc81146fc82f23832803f29a72a6a1af853bbe1eaeedc952c809a25ac87e0d8e6c896f47cae62f2b80417ecf573a3b66c24c7c42fada6a91cf5d7717e4ea3a79f9684ddc92e7e55149cd91c270e274c3baad161da74417c44ea0cae5305895e7df5d552758ff40668d4f047063ca1deeac5824624f02256221d5bb431f8cef446e70cd3166de2c0d3aff9f4b8bb53cd2b4ac7825f7cd3d3708053cc4b2e100817bd0d368256e5a6985eefdf6ab3c56c9391798392c6f6e0644ccf34d555c664ca7751defd300c0030386fbd3378afdb7a3cb11488d9edfed7d2490de08493eabf621740298f7de9489f79feceea1531feff3470b5cacf7c11ef470c1852422a78eef3ded3a7b590993d225df9ea482aa3687bef76b7375b22c7d25ea6815851a80a0d9014361511fe162e64953b7e0edf447f5e28900eed64435759a74211c94ad555baf1b4fd377f165af23de320c01a59e829558354d55f47a6d6cf933b5b0492bb15a453d164291d7ce27646485090dfab59198615ce2000f403af31cd004b8beecf859dc8ce1edd1b8d4e8d33a13ebade89ffdfa7ed2d7f508e797283a3384618157926b24b8ae00e8d2dfc120ca7f6cc2bc07e7ec2262ba91becc4c55d35bd4a29be84cb66f2c858bae2a04a6a53b0bbeb3061bf8168d14f9fa82ab62288e86ed02ecb811816cad7a8b215e75f8f03fb598ce9789f05e7b8c8b3b6457f58c6f225fe130b76c7bab88d8ae1af9aac4bd8bd4ef37de7342a011389c2d29ab6b6214e9cd5e01dbd03153dc2f68d1cad0dd0ed2d7c3fa2b7dcdfaadb7338e99b0161cfd09516eec42aeb535ac750e0b0a4330ada78c84180edc90ddc37db2c892c9fe4ac48bc86559f714d0039ad33afc073a60381e9fde5c3432869561f2f1826d327077b78cdd337ecea7752e83a2513501d7c2b46e4c4f64f99dbf234d237c397a8b77d35bb89069b779ca0bebe4d09a7f389bba3f635968f6293b75b8f017d4942bab485e7971773b0588da2b022b7036e19e1daee844d7c8ab3b19591516083d1591321923162c6075afcf7e16c4f6ace4c019ff2986a9622d7c21dfe1d9c3a7daf728f11fdf4c7227c7823d910d24a85ecf5f370c396ee8ee350457a12fe29d6ee5bf4ae20a3e8358c389d4cd768cba9278ad4b7f00711f5c255e14d7fc44ef97cab65884230daad94f1a436e8d07117999f1227de0c3604a69df1c8cfa48306b19009627ea34bc3f724627f95041b159ce4a4df4e28fe18ce598a553ebd5187dd1992e8141327d864e764fe739884fcb71569dd102a91942c891c320f7acd41d17962c6fb1ee98c7dfcb24f2b1feced2c0c5294032fdc6a0bd8fcc350081f4b475b1fcc14b17905a8db07eb6facd662c8cf83a5e88b1a23e1268dee3c1087880be2b0f9cb9fdbcb17e652d34b30e982b101004e1282f0407ade9f30278565e4f4fe4c2ad2a7f7c41fe9cec5f5e9c8fafb2e35b53da710b3e642d658965bfb0809b75ce5381b51d12e2eba992bcdea5a37addd5d806f439060425b26354538f975a9a2eb81c7afc30aa9b571507a1edae2f44a6b70faf98d64da70fdfddbf5702aa516dae29699c0e656379d13a762d2fa2f783e8c7fb6d485cabe1836b753b7eb7c0161e26366c00e5c7637630eaa7e031dbc49c4f3be034c9cd10000d4675491ce032d07fc7eeb5b7c69cdd74284a8ba9abae3b4c42cc5c358283c7bcb049936e893a834747ddda4b80cab83c3af22cc3058049058d9e25bc80a1f1143d3dedd419d56ddd5759275c960b2018c2e03b452c774f01a39b7bd4cb88a96e3d8a100e6bd8955aefa8de0399cec3acf79eea097f581c161098a7b7b79cf423e2c83ae8015ccccb058694089f2f91099c915eae4a5e033b5a60583c3bf0cfaae9e436d59400ebf47779e8c5723c876a01385fb159b3a5518ea868628a7d20d8af8cd4d7106485f371c760687b381d04760e1661d15d970d1257c112cd1499c3c7d502deedd98e175b4420d2317958101617b41c033f168f4582816f0a9f6fcb108262a69a5fe7a9fa152f4f1d3bad072ec00f4a3f5e13a3e0125884c4438715b493638c4fd3887ff8824e925d8be4196e1a17ddac7e1d0328c4c372f0e4a69d44b8c3c5e196d18b7303dcac0c67db7963f8bf3461eae816e69a21b92fc702ccfcdff7d1619c293d9a7b6b3709be4aa83d004ae537bc0b932180565dcfdedf5591ac049c06409333a67b2668366e87c19a0f5533126fd58e7d3398fce772e0a9722d5f79bdd717f0f80beebd6970b3de4314f446da85390b087f17c2b884b4edb850883483f6ee14ddc0a7054ee9dbcd685f3fb822743ef6feb03b8dddf49dccc506a99c2034df5c2a353abccc6fc168697b5fe0a4b5e072505148568494cdbbafbd624e3abb5b818b763d1cb61fa701a8cea1b74d415f9742d052c65efd095c6e216a50a7dd778d3ffe87bc0ea57e0d32d4365b0028ab83ed40deea83e0e76944ecd1e7e3caa4536f39ba9ad67725913534eaaf8a8de61d6bb7dda9cc0c7521eebd059f77426aaff59c41e855fd4b2b177889a38facd86bf9f6a0edcac17afae1c06ed41fbaf353710bdbe728880b1a47ce7f1a2c5f4610d1dc27a71a2782c50f77e36f08803d2ce794903f08079ba389bd628bf0fce8cb8c63e0aa4602dee1585313601f7fe018a3d672a1918c21ac7ca25a078c900d0ebd85785e92431dbe8593374114ef3f447d92c8caad7f0e3a6e13b4e3fa337039bc726176ad9c0aab5c9040f3e190aa57ec3926ca930bfecef3ff6ecc01e01cda39f3d8c799e6f8569e8d95c22bc334d15ea348de0e7bf18f6a84934bbe3eea89d5010144c0a86945d245a314348e3ff6c81e230053ec010d70f8f8d5270a59e9e5f098c52a36324613a7db84ff6227e0229b06ead5690393f1fdf744fd9ae64ac24e21062bed12ffce7b04c977181cd0fe38990e79bedad905099e0b423cce2c28347ecccbcf155fc31b8460a0fdeac924ae88241ef5a0f6bdbebc5549e0a713c7095db0060ad49883818ec4181a2a7336f7aafa6880ab0bf1a3384b1c2b0301a90a34428060e1c358714e60582fd3a379d3edaecd1a14a7bddad659b0fa7dbc88168fa04d8e187057cd9d62cb12246835ab3fdae7516a4db050e72b791aabb2c703fbef4f47e9b72f8c33e2b2eff4fa9ad0f927a175a460a5ce45c8465aca33819a2116d29c48b6860410b3709d8b14cf1fbddda48210d2b1322657da14f080481064b7a521a7a0bae3473390729bd560131d5ee4d147eb14c55f28c65ef97ab0856155d7dec571b55c5eaf22752826394a0a3fbba9ea55d3f4d604e2129c0a21cd132", 0x2000, 0x0) 07:47:13 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000140)=@newlink={0x50, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x30, 0x12, 0x0, 0x1, @erspan={{0xb}, {0x20, 0x2, 0x0, 0x1, [@IFLA_GRE_COLLECT_METADATA={0x4}, @IFLA_GRE_IKEY={0x8, 0x4, 0x200}, @IFLA_GRE_IFLAGS={0x6}, @IFLA_GRE_REMOTE={0x8, 0x7, @loopback}]}}}]}, 0x50}}, 0x0) [ 1941.952912][T20778] unsupported nlmsg_type 40 07:47:13 executing program 4: r0 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$ARPT_SO_SET_REPLACE(r0, 0x0, 0x60, &(0x7f0000000440)={'filter\x00', 0x4, 0x4, 0x3e8, 0x100, 0x100, 0x0, 0x300, 0x300, 0x300, 0x4, 0x0, {[{{@arp={@remote, @broadcast, 0x0, 0x0, 0x0, 0x0, {@mac=@link_local={0x2}}, {}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 'bridge0\x00', 'erspan0\x00'}, 0xc0, 0x100}, @unspec=@RATEEST={0x40, 'RATEEST\x00', 0x0, {'syz1\x00', 0x2, 0x4}}}, {{@uncond, 0xc0, 0x100}, @unspec=@RATEEST={0x40, 'RATEEST\x00', 0x0, {'syz0\x00', 0x0, 0x2}}}, {{@arp={@multicast1, @initdev={0xac, 0x1e, 0x0, 0x0}, 0x0, 0x0, 0x0, 0x0, {@mac=@link_local}, {@mac=@multicast}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 'veth0_vlan\x00', 'ipvlan1\x00'}, 0xc0, 0x100}, @unspec=@RATEEST={0x40, 'RATEEST\x00', 0x0, {'syz1\x00', 0x2, 0x4}}}], {{'\x00', 0xc0, 0xe8}, {0x28}}}}, 0x438) [ 1942.068451][T20784] loop3: detected capacity change from 0 to 264192 07:47:14 executing program 3: socket$packet(0x11, 0x3, 0x300) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() socket$nl_route(0x10, 0x3, 0x0) sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) bind$packet(0xffffffffffffffff, &(0x7f0000000380)={0x11, 0x16, 0x0, 0x1, 0x4, 0x6, @multicast}, 0x14) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) migrate_pages(r0, 0x1, &(0x7f0000000000)=0x7, &(0x7f0000000100)=0x3) getpgid(r0) syz_open_procfs(0xffffffffffffffff, 0x0) r3 = open(0x0, 0x0, 0x0) read$FUSE(r3, 0x0, 0x0) r4 = syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000940)='./file0\x00', 0x100000000000, 0x1, &(0x7f00000000c0)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}], 0x0, &(0x7f0000000180)={[{@fat=@codepage={'codepage', 0x3d, '932'}}]}) mkdirat(r4, &(0x7f0000000040)='./file1\x00', 0x8cffffff00000000) syz_init_net_socket$nfc_raw(0x27, 0x5, 0x0) 07:47:14 executing program 2: socket$packet(0x11, 0x3, 0x300) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() socket$nl_route(0x10, 0x3, 0x0) sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) bind$packet(0xffffffffffffffff, &(0x7f0000000380)={0x11, 0x16, 0x0, 0x1, 0x4, 0x6, @multicast}, 0x14) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) migrate_pages(r0, 0x1, &(0x7f0000000000)=0x7, &(0x7f0000000100)=0x3) getpgid(r0) syz_open_procfs(0xffffffffffffffff, 0x0) r3 = open(0x0, 0x0, 0x0) read$FUSE(r3, 0x0, 0x0) r4 = syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000940)='./file0\x00', 0x100000000000, 0x1, &(0x7f00000000c0)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}], 0x0, &(0x7f0000000180)={[{@fat=@codepage={'codepage', 0x3d, '932'}}]}) mkdirat(r4, &(0x7f0000000040)='./file1\x00', 0x8cffffff00000000) syz_init_net_socket$nfc_raw(0x27, 0x5, 0x0) 07:47:14 executing program 4: socket$packet(0x11, 0x3, 0x300) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() socket$nl_route(0x10, 0x3, 0x0) sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) bind$packet(0xffffffffffffffff, &(0x7f0000000380)={0x11, 0x16, 0x0, 0x1, 0x4, 0x6, @multicast}, 0x14) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) migrate_pages(r0, 0x1, &(0x7f0000000000)=0x7, &(0x7f0000000100)=0x3) getpgid(r0) syz_open_procfs(0xffffffffffffffff, 0x0) r3 = open(0x0, 0x0, 0x0) read$FUSE(r3, 0x0, 0x0) r4 = syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000940)='./file0\x00', 0x100000000000, 0x1, &(0x7f00000000c0)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}], 0x0, &(0x7f0000000180)={[{@fat=@codepage={'codepage', 0x3d, '932'}}]}) mkdirat(r4, &(0x7f0000000040)='./file1\x00', 0x8cffffff00000000) syz_init_net_socket$nfc_raw(0x27, 0x5, 0x0) 07:47:14 executing program 0: socket$packet(0x11, 0x3, 0x300) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() socket$nl_route(0x10, 0x3, 0x0) sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) bind$packet(0xffffffffffffffff, &(0x7f0000000380)={0x11, 0x16, 0x0, 0x1, 0x4, 0x6, @multicast}, 0x14) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) migrate_pages(r0, 0x1, &(0x7f0000000000)=0x7, &(0x7f0000000100)=0x3) getpgid(r0) syz_open_procfs(0xffffffffffffffff, 0x0) r3 = open(0x0, 0x0, 0x0) read$FUSE(r3, 0x0, 0x0) r4 = syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000940)='./file0\x00', 0x100000000000, 0x1, &(0x7f00000000c0)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}], 0x0, &(0x7f0000000180)={[{@fat=@codepage={'codepage', 0x3d, '932'}}]}) mkdirat(r4, &(0x7f0000000040)='./file1\x00', 0x8cffffff00000000) syz_init_net_socket$nfc_raw(0x27, 0x5, 0x0) 07:47:14 executing program 5: socket$packet(0x11, 0x3, 0x300) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() socket$nl_route(0x10, 0x3, 0x0) sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) bind$packet(0xffffffffffffffff, &(0x7f0000000380)={0x11, 0x16, 0x0, 0x1, 0x4, 0x6, @multicast}, 0x14) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) migrate_pages(r0, 0x1, &(0x7f0000000000)=0x7, &(0x7f0000000100)=0x3) getpgid(r0) syz_open_procfs(0xffffffffffffffff, 0x0) r3 = open(0x0, 0x0, 0x0) read$FUSE(r3, 0x0, 0x0) r4 = syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000940)='./file0\x00', 0x100000000000, 0x1, &(0x7f00000000c0)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}], 0x0, &(0x7f0000000180)={[{@fat=@codepage={'codepage', 0x3d, '932'}}]}) mkdirat(r4, &(0x7f0000000040)='./file1\x00', 0x8cffffff00000000) syz_init_net_socket$nfc_raw(0x27, 0x5, 0x0) 07:47:20 executing program 5: socket$packet(0x11, 0x3, 0x300) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() socket$nl_route(0x10, 0x3, 0x0) sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) bind$packet(0xffffffffffffffff, &(0x7f0000000380)={0x11, 0x16, 0x0, 0x1, 0x4, 0x6, @multicast}, 0x14) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) migrate_pages(r0, 0x1, &(0x7f0000000000)=0x7, &(0x7f0000000100)=0x3) getpgid(r0) syz_open_procfs(0xffffffffffffffff, 0x0) r3 = open(0x0, 0x0, 0x0) read$FUSE(r3, 0x0, 0x0) r4 = syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000940)='./file0\x00', 0x100000000000, 0x1, &(0x7f00000000c0)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}], 0x0, &(0x7f0000000180)={[{@fat=@codepage={'codepage', 0x3d, '932'}}]}) mkdirat(r4, &(0x7f0000000040)='./file1\x00', 0x8cffffff00000000) syz_init_net_socket$nfc_raw(0x27, 0x5, 0x0) 07:47:20 executing program 4: socket$packet(0x11, 0x3, 0x300) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() socket$nl_route(0x10, 0x3, 0x0) sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) bind$packet(0xffffffffffffffff, &(0x7f0000000380)={0x11, 0x16, 0x0, 0x1, 0x4, 0x6, @multicast}, 0x14) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) migrate_pages(r0, 0x1, &(0x7f0000000000)=0x7, &(0x7f0000000100)=0x3) getpgid(r0) syz_open_procfs(0xffffffffffffffff, 0x0) r3 = open(0x0, 0x0, 0x0) read$FUSE(r3, 0x0, 0x0) r4 = syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000940)='./file0\x00', 0x100000000000, 0x1, &(0x7f00000000c0)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}], 0x0, &(0x7f0000000180)={[{@fat=@codepage={'codepage', 0x3d, '932'}}]}) mkdirat(r4, &(0x7f0000000040)='./file1\x00', 0x8cffffff00000000) syz_init_net_socket$nfc_raw(0x27, 0x5, 0x0) [ 1950.129212][T20767] [ 1950.131562][T20767] ====================================================== [ 1950.138567][T20767] WARNING: possible circular locking dependency detected [ 1950.145580][T20767] 5.18.0-rc7-syzkaller-00136-g3b5e1590a267 #0 Not tainted [ 1950.152682][T20767] ------------------------------------------------------ [ 1950.159689][T20767] udevd/20767 is trying to acquire lock: [ 1950.165305][T20767] ffff8880788a1938 ((wq_completion)loop3){+.+.}-{0:0}, at: flush_workqueue+0x170/0x16a0 [ 1950.175119][T20767] [ 1950.175119][T20767] but task is already holding lock: [ 1950.182468][T20767] ffff88801c37b118 (&disk->open_mutex){+.+.}-{3:3}, at: blkdev_put+0xf8/0x790 [ 1950.191392][T20767] [ 1950.191392][T20767] which lock already depends on the new lock. [ 1950.191392][T20767] [ 1950.201785][T20767] [ 1950.201785][T20767] the existing dependency chain (in reverse order) is: [ 1950.210781][T20767] [ 1950.210781][T20767] -> #5 (&disk->open_mutex){+.+.}-{3:3}: [ 1950.218595][T20767] lock_acquire+0x1a7/0x400 [ 1950.223646][T20767] __mutex_lock_common+0x1de/0x26e0 [ 1950.229406][T20767] mutex_lock_nested+0x17/0x20 [ 1950.234688][T20767] blkdev_get_by_dev+0xfd/0xa30 [ 1950.240056][T20767] swsusp_check+0xb0/0x400 [ 1950.244998][T20767] software_resume+0xc8/0x3c0 [ 1950.250198][T20767] resume_store+0xdc/0x120 [ 1950.255125][T20767] kernfs_fop_write_iter+0x3ac/0x500 [ 1950.260950][T20767] vfs_write+0xa22/0xd40 [ 1950.265727][T20767] ksys_write+0x19b/0x2c0 [ 1950.270565][T20767] do_syscall_64+0x2b/0x70 [ 1950.275505][T20767] entry_SYSCALL_64_after_hwframe+0x44/0xae [ 1950.281910][T20767] [ 1950.281910][T20767] -> #4 (system_transition_mutex/1){+.+.}-{3:3}: [ 1950.290412][T20767] lock_acquire+0x1a7/0x400 [ 1950.295419][T20767] __mutex_lock_common+0x1de/0x26e0 [ 1950.301118][T20767] mutex_lock_nested+0x17/0x20 [ 1950.306384][T20767] software_resume+0x7a/0x3c0 [ 1950.311563][T20767] resume_store+0xdc/0x120 [ 1950.316480][T20767] kernfs_fop_write_iter+0x3ac/0x500 [ 1950.322267][T20767] vfs_write+0xa22/0xd40 [ 1950.327010][T20767] ksys_write+0x19b/0x2c0 [ 1950.331845][T20767] do_syscall_64+0x2b/0x70 [ 1950.336762][T20767] entry_SYSCALL_64_after_hwframe+0x44/0xae [ 1950.343154][T20767] [ 1950.343154][T20767] -> #3 (&of->mutex){+.+.}-{3:3}: [ 1950.350342][T20767] lock_acquire+0x1a7/0x400 [ 1950.355346][T20767] __mutex_lock_common+0x1de/0x26e0 [ 1950.361052][T20767] mutex_lock_nested+0x17/0x20 [ 1950.366316][T20767] kernfs_seq_start+0x4f/0x3a0 [ 1950.371583][T20767] seq_read_iter+0x3cd/0xd30 [ 1950.376732][T20767] vfs_read+0xa01/0xd10 [ 1950.381390][T20767] ksys_read+0x19b/0x2c0 [ 1950.386131][T20767] do_syscall_64+0x2b/0x70 [ 1950.391049][T20767] entry_SYSCALL_64_after_hwframe+0x44/0xae [ 1950.397444][T20767] [ 1950.397444][T20767] -> #2 (&p->lock){+.+.}-{3:3}: [ 1950.404456][T20767] lock_acquire+0x1a7/0x400 [ 1950.409461][T20767] __mutex_lock_common+0x1de/0x26e0 [ 1950.415162][T20767] mutex_lock_nested+0x17/0x20 [ 1950.420426][T20767] seq_read_iter+0xad/0xd30 [ 1950.425430][T20767] do_iter_readv_writev+0x499/0x650 [ 1950.431158][T20767] do_iter_read+0x1d8/0x770 [ 1950.436160][T20767] loop_process_work+0xf39/0x22f0 [ 1950.441725][T20767] process_one_work+0x81c/0xd10 [ 1950.447081][T20767] worker_thread+0xb14/0x1330 [ 1950.452261][T20767] kthread+0x266/0x300 [ 1950.456854][T20767] ret_from_fork+0x1f/0x30 [ 1950.461781][T20767] [ 1950.461781][T20767] -> #1 ((work_completion)(&lo->rootcg_work)){+.+.}-{0:0}: [ 1950.471138][T20767] lock_acquire+0x1a7/0x400 [ 1950.476144][T20767] process_one_work+0x7f1/0xd10 [ 1950.481498][T20767] worker_thread+0xb14/0x1330 [ 1950.486677][T20767] kthread+0x266/0x300 [ 1950.491248][T20767] ret_from_fork+0x1f/0x30 [ 1950.496168][T20767] [ 1950.496168][T20767] -> #0 ((wq_completion)loop3){+.+.}-{0:0}: [ 1950.504222][T20767] validate_chain+0x185c/0x65c0 [ 1950.509573][T20767] __lock_acquire+0x129a/0x1f80 [ 1950.514925][T20767] lock_acquire+0x1a7/0x400 [ 1950.519928][T20767] flush_workqueue+0x18c/0x16a0 [ 1950.525283][T20767] drain_workqueue+0xc3/0x3a0 [ 1950.530462][T20767] destroy_workqueue+0x7d/0xed0 [ 1950.535810][T20767] __loop_clr_fd+0x1bc/0x930 [ 1950.540903][T20767] blkdev_put+0x5a1/0x790 [ 1950.545747][T20767] blkdev_close+0x55/0x80 [ 1950.550588][T20767] __fput+0x3b9/0x820 [ 1950.555075][T20767] task_work_run+0x146/0x1c0 [ 1950.560167][T20767] exit_to_user_mode_loop+0x134/0x160 [ 1950.566089][T20767] exit_to_user_mode_prepare+0xad/0x110 [ 1950.572137][T20767] syscall_exit_to_user_mode+0x2e/0x70 [ 1950.578120][T20767] entry_SYSCALL_64_after_hwframe+0x44/0xae [ 1950.584520][T20767] [ 1950.584520][T20767] other info that might help us debug this: [ 1950.584520][T20767] [ 1950.594726][T20767] Chain exists of: [ 1950.594726][T20767] (wq_completion)loop3 --> system_transition_mutex/1 --> &disk->open_mutex [ 1950.594726][T20767] [ 1950.609226][T20767] Possible unsafe locking scenario: [ 1950.609226][T20767] [ 1950.616657][T20767] CPU0 CPU1 [ 1950.622001][T20767] ---- ---- [ 1950.627343][T20767] lock(&disk->open_mutex); [ 1950.631913][T20767] lock(system_transition_mutex/1); [ 1950.639700][T20767] lock(&disk->open_mutex); [ 1950.646791][T20767] lock((wq_completion)loop3); [ 1950.651622][T20767] [ 1950.651622][T20767] *** DEADLOCK *** [ 1950.651622][T20767] [ 1950.659743][T20767] 1 lock held by udevd/20767: [ 1950.664395][T20767] #0: ffff88801c37b118 (&disk->open_mutex){+.+.}-{3:3}, at: blkdev_put+0xf8/0x790 [ 1950.673685][T20767] [ 1950.673685][T20767] stack backtrace: [ 1950.679554][T20767] CPU: 1 PID: 20767 Comm: udevd Not tainted 5.18.0-rc7-syzkaller-00136-g3b5e1590a267 #0 [ 1950.689245][T20767] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 1950.699277][T20767] Call Trace: [ 1950.702543][T20767] [ 1950.705456][T20767] dump_stack_lvl+0x1e3/0x2cb [ 1950.710162][T20767] ? bfq_pos_tree_add_move+0x436/0x436 [ 1950.715605][T20767] ? print_circular_bug+0x13e/0x1c0 [ 1950.720791][T20767] check_noncircular+0x2f7/0x3b0 [ 1950.725714][T20767] ? add_chain_block+0x850/0x850 [ 1950.730635][T20767] ? lockdep_lock+0x11d/0x2a0 [ 1950.735293][T20767] ? reacquire_held_locks+0x680/0x680 [ 1950.740650][T20767] validate_chain+0x185c/0x65c0 [ 1950.745481][T20767] ? reacquire_held_locks+0x680/0x680 [ 1950.750840][T20767] ? reacquire_held_locks+0x680/0x680 [ 1950.756194][T20767] ? reacquire_held_locks+0x680/0x680 [ 1950.761549][T20767] ? reacquire_held_locks+0x680/0x680 [ 1950.766903][T20767] ? mark_lock+0x98/0x350 [ 1950.771221][T20767] ? mark_lock+0x98/0x350 [ 1950.775535][T20767] ? finish_lock_switch+0x1bb/0x350 [ 1950.780759][T20767] ? rcu_read_lock_sched_held+0x89/0x130 [ 1950.786394][T20767] ? __bpf_trace_rcu_stall_warning+0x10/0x10 [ 1950.792354][T20767] ? mark_lock+0x98/0x350 [ 1950.796663][T20767] __lock_acquire+0x129a/0x1f80 [ 1950.801500][T20767] lock_acquire+0x1a7/0x400 [ 1950.805984][T20767] ? flush_workqueue+0x170/0x16a0 [ 1950.810992][T20767] ? read_lock_is_recursive+0x10/0x10 [ 1950.816343][T20767] ? lockdep_softirqs_off+0x420/0x420 [ 1950.821699][T20767] flush_workqueue+0x18c/0x16a0 [ 1950.826544][T20767] ? flush_workqueue+0x170/0x16a0 [ 1950.831551][T20767] ? __mutex_lock_common+0x465/0x26e0 [ 1950.836911][T20767] ? rcu_work_rcufn+0x140/0x140 [ 1950.841749][T20767] ? print_irqtrace_events+0x220/0x220 [ 1950.847190][T20767] drain_workqueue+0xc3/0x3a0 [ 1950.851855][T20767] destroy_workqueue+0x7d/0xed0 [ 1950.856691][T20767] __loop_clr_fd+0x1bc/0x930 [ 1950.861265][T20767] ? lo_release+0x174/0x1f0 [ 1950.865747][T20767] ? lo_open+0x100/0x100 [ 1950.869973][T20767] blkdev_put+0x5a1/0x790 [ 1950.874288][T20767] ? lockdep_hardirqs_on_prepare+0x448/0x7b0 [ 1950.880249][T20767] ? blkdev_open+0x2e0/0x2e0 [ 1950.884819][T20767] blkdev_close+0x55/0x80 [ 1950.889130][T20767] __fput+0x3b9/0x820 [ 1950.893100][T20767] task_work_run+0x146/0x1c0 [ 1950.897680][T20767] exit_to_user_mode_loop+0x134/0x160 [ 1950.903034][T20767] exit_to_user_mode_prepare+0xad/0x110 [ 1950.908562][T20767] syscall_exit_to_user_mode+0x2e/0x70 [ 1950.914003][T20767] entry_SYSCALL_64_after_hwframe+0x44/0xae [ 1950.919879][T20767] RIP: 0033:0x7f3fa8d25fc3 [ 1950.924275][T20767] Code: 48 ff ff ff b8 ff ff ff ff e9 3e ff ff ff 66 0f 1f 84 00 00 00 00 00 64 8b 04 25 18 00 00 00 85 c0 75 14 b8 03 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 45 c3 0f 1f 40 00 48 83 ec 18 89 7c 24 0c e8 [ 1950.943860][T20767] RSP: 002b:00007ffe1d6c8cb8 EFLAGS: 00000246 ORIG_RAX: 0000000000000003 [ 1950.952252][T20767] RAX: 0000000000000000 RBX: 00007f3fa910b6a8 RCX: 00007f3fa8d25fc3 [ 1950.960208][T20767] RDX: 000000000000001c RSI: 00007ffe1d6c84b8 RDI: 0000000000000008 [ 1950.968159][T20767] RBP: 0000557f55f5cb60 R08: 0000000000000007 R09: 0000557f55f85c00 [ 1950.976109][T20767] R10: 00000000014335a8 R11: 0000000000000246 R12: 0000000000000002 [ 1950.984058][T20767] R13: 0000557f55f76280 R14: 0000000000000008 R15: 0000557f55f52910 [ 1950.992015][T20767]