fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 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)) 04:25:49 executing program 4: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000440)=@base={0xa, 0x2, 0x40, 0x1f}, 0x48) bpf$MAP_UPDATE_BATCH(0x1a, &(0x7f0000000340)={0x0, 0x0, &(0x7f00000001c0), &(0x7f00000002c0), 0x7fff, r0}, 0x38) bpf$MAP_DELETE_BATCH(0x18, &(0x7f0000000300)={0x0, 0x0, 0x0, 0x0, 0x6, r0}, 0x38) 04:25:50 executing program 3: r0 = socket$inet6(0xa, 0x1, 0x8010000000000084) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x4e21, 0x0, @ipv4={'\x00', '\xff\xff', @dev={0xac, 0x14, 0x14, 0x39}}}, 0x1c) setsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0x3, 0x0, 0x0) 04:25:50 executing program 0: r0 = socket$inet6(0xa, 0x6, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x4e20}, 0x1c) listen(r0, 0xc) r1 = socket$inet_dccp(0x2, 0x6, 0x0) connect$inet(r1, &(0x7f0000e5c000)={0x2, 0x4e20, @loopback=0x7f000002}, 0x10) getsockopt$inet_int(r1, 0x10d, 0xbc, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 04:25:50 executing program 2: r0 = socket$inet6(0xa, 0x6, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x4e20}, 0x1c) listen(r0, 0xc) r1 = socket$inet_dccp(0x2, 0x6, 0x0) connect$inet(r1, &(0x7f0000e5c000)={0x2, 0x4e20, @loopback=0x7f000002}, 0x10) getsockopt$inet_int(r1, 0x10d, 0xbc, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 04:25:50 executing program 5: r0 = syz_open_dev$dri(&(0x7f0000000040), 0x0, 0x0) r1 = open(&(0x7f0000000040)='./file0\x00', 0x40c5, 0x0) ioctl$DRM_IOCTL_PRIME_FD_TO_HANDLE(r0, 0xc00c642e, &(0x7f0000000000)={0x0, 0x0, r1}) 04:25:50 executing program 2: r0 = socket$inet6(0xa, 0x6, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x4e20}, 0x1c) listen(r0, 0xc) r1 = socket$inet_dccp(0x2, 0x6, 0x0) connect$inet(r1, &(0x7f0000e5c000)={0x2, 0x4e20, @loopback=0x7f000002}, 0x10) getsockopt$inet_int(r1, 0x10d, 0xbc, &(0x7f0000000080), &(0x7f00000000c0)=0x4) [ 540.596739][ T8626] loop1: detected capacity change from 0 to 8191 [ 540.756266][ T8626] loop1: 04:25:50 executing program 3: r0 = socket$inet6(0xa, 0x1, 0x8010000000000084) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x4e21, 0x0, @ipv4={'\x00', '\xff\xff', @dev={0xac, 0x14, 0x14, 0x39}}}, 0x1c) setsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0x3, 0x0, 0x0) 04:25:50 executing program 5: r0 = syz_open_dev$dri(&(0x7f0000000040), 0x0, 0x0) r1 = open(&(0x7f0000000040)='./file0\x00', 0x40c5, 0x0) ioctl$DRM_IOCTL_PRIME_FD_TO_HANDLE(r0, 0xc00c642e, &(0x7f0000000000)={0x0, 0x0, r1}) 04:25:51 executing program 0: r0 = socket$inet6(0xa, 0x6, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x4e20}, 0x1c) listen(r0, 0xc) r1 = socket$inet_dccp(0x2, 0x6, 0x0) connect$inet(r1, &(0x7f0000e5c000)={0x2, 0x4e20, @loopback=0x7f000002}, 0x10) getsockopt$inet_int(r1, 0x10d, 0xbc, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 04:25:51 executing program 2: r0 = socket$inet6(0xa, 0x6, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x4e20}, 0x1c) listen(r0, 0xc) r1 = socket$inet_dccp(0x2, 0x6, 0x0) connect$inet(r1, &(0x7f0000e5c000)={0x2, 0x4e20, @loopback=0x7f000002}, 0x10) getsockopt$inet_int(r1, 0x10d, 0xbc, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 04:25:51 executing program 1: syz_mount_image$hfs(&(0x7f0000000000), &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000005c0), 0x0, &(0x7f0000000100)={[{@gid={'gid', 0x3d, 0xffffffffffffffff}}]}) 04:25:51 executing program 3: r0 = socket$inet6(0xa, 0x1, 0x8010000000000084) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x4e21, 0x0, @ipv4={'\x00', '\xff\xff', @dev={0xac, 0x14, 0x14, 0x39}}}, 0x1c) setsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0x3, 0x0, 0x0) [ 541.962422][ T8650] hfs: invalid gid -1 [ 541.966593][ T8650] hfs: unable to parse mount options 04:25:53 executing program 0: r0 = socket$inet6(0xa, 0x6, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x4e20}, 0x1c) listen(r0, 0xc) r1 = socket$inet_dccp(0x2, 0x6, 0x0) connect$inet(r1, &(0x7f0000e5c000)={0x2, 0x4e20, @loopback=0x7f000002}, 0x10) getsockopt$inet_int(r1, 0x10d, 0xbc, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 04:25:53 executing program 4: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000440)=@base={0xa, 0x2, 0x40, 0x1f}, 0x48) bpf$MAP_UPDATE_BATCH(0x1a, &(0x7f0000000340)={0x0, 0x0, &(0x7f00000001c0), &(0x7f00000002c0), 0x7fff, r0}, 0x38) bpf$MAP_DELETE_BATCH(0x18, &(0x7f0000000300)={0x0, 0x0, 0x0, 0x0, 0x6, r0}, 0x38) 04:25:53 executing program 5: r0 = syz_open_dev$dri(&(0x7f0000000040), 0x0, 0x0) r1 = open(&(0x7f0000000040)='./file0\x00', 0x40c5, 0x0) ioctl$DRM_IOCTL_PRIME_FD_TO_HANDLE(r0, 0xc00c642e, &(0x7f0000000000)={0x0, 0x0, r1}) 04:25:53 executing program 2: r0 = socket$xdp(0x2c, 0x3, 0x0) getsockopt$XDP_MMAP_OFFSETS(r0, 0x11b, 0x8, &(0x7f0000000080), &(0x7f0000000100)=0x80) 04:25:53 executing program 3: r0 = socket$inet_mptcp(0x2, 0x1, 0x106) setsockopt$SO_TIMESTAMP(r0, 0x1, 0x9, &(0x7f0000000040), 0x4) 04:25:53 executing program 1: syz_mount_image$hfs(&(0x7f0000000000), &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000005c0), 0x0, &(0x7f0000000100)={[{@gid={'gid', 0x3d, 0xffffffffffffffff}}]}) [ 543.093019][ T8661] hfs: invalid gid -1 [ 543.097193][ T8661] hfs: unable to parse mount options 04:25:53 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000100), 0xffffffffffffffff) r2 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000040)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_GET_MPATH(r2, &(0x7f0000000140)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)={0x1c, r1, 0x831e8b1b936bcd4f, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}}, 0x1c}}, 0x0) 04:25:53 executing program 2: r0 = socket$xdp(0x2c, 0x3, 0x0) getsockopt$XDP_MMAP_OFFSETS(r0, 0x11b, 0x8, &(0x7f0000000080), &(0x7f0000000100)=0x80) 04:25:53 executing program 5: r0 = syz_init_net_socket$802154_dgram(0x24, 0x2, 0x0) sendmsg$802154_dgram(r0, &(0x7f00000000c0)={&(0x7f0000000000)={0x24, @short}, 0x14, &(0x7f0000000080)={0x0}}, 0x0) 04:25:53 executing program 0: semctl$SEM_STAT(0x0, 0x1, 0x12, &(0x7f0000000000)=""/236) 04:25:53 executing program 1: syz_mount_image$hfs(&(0x7f0000000000), &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000005c0), 0x0, &(0x7f0000000100)={[{@gid={'gid', 0x3d, 0xffffffffffffffff}}]}) 04:25:53 executing program 2: r0 = socket$xdp(0x2c, 0x3, 0x0) getsockopt$XDP_MMAP_OFFSETS(r0, 0x11b, 0x8, &(0x7f0000000080), &(0x7f0000000100)=0x80) 04:25:53 executing program 5: r0 = syz_open_dev$tty20(0xc, 0x4, 0x1) r1 = epoll_create1(0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r0, &(0x7f0000000140)) r2 = syz_open_dev$tty20(0xc, 0x4, 0x1) writev(r2, &(0x7f00000014c0)=[{&(0x7f0000000300)="73414ec94d9982ced65bb7e40b678859e240a05c7c8b8476bbff1decf05dc3223f832faaf5706469fc7a7085cdcc96d4d07b6705e84f13c178f7d2927ecdbdb12e8c9b6730dd95a662a1e2e30863f72fbe0472e5222a912a0d48a0134e2a2f59dfbceb6506859563d0139a595cbb0288ca08f23d4d4f597ffd0a9e07cfc54691a8a5423ffa6f7b2b9e0f01b0965ffc85febc8f88821d3301d1057f2e8ec90c31acd65c03c4bc5e574172eeb63f7301155c3493ce91c4f6aae8d73af1e8f89a28a4c9221d18e6b2713d343e215f49f33582e2c41ee2fa7411e9f89eb62773e1f3a0405658b10919777ae8fc104425d4011f8434e1cd4e64a894c7aefa3bb269ff7f688da5c3ddf167cd6d83f256922dae8437b568544a41e356534fed117fb1ca2c64d9f68978fdf1f1d34668a29e8260db5c8bda76ca74b8a107f379afea5822f43351a633e1420cdeeb1042874eb82387281a56e5ac7cd14d4eb3607ddf63ccbbaf5b7b5fe4f83d03b51645e5f825ce5d58a12983e2fdcaab4ce747c2d4ad782207706693548f6b676d0acb8e4e35e68310dfa1fe80825a8677eab22a12fcf1fd2ac1b2930545bbb08066fbc5fea2634f15803282ac9cfc0a726ebce889f46129e9b3855f31d2d9af5d999e897490f2255c2d3d678f44e0c9efcb092609815d20fe56ba1775b6f2f17eec747c97d1bed1c6b41fbfab52397874d9a776d08f61a42a40b9c8985ef818c5616f6266ea872540a58c77b023f03679d6a21a6615509954b895b67789729a5377fce2f53c665c282bc8b596acd7ce9f84bb857c70b5074b7d681899e123bddc6bb528b4b11fa93c4f70adee3d16b58e454ecff3ba2c65d6f268ef687a532d0532bfc70638450c5c0cd706e45bb33c21a206a3a91b64528d03969ae84bf9441cd1b51458a87ef3890c59b5a61608623aff88994cff64721e78107f9326e5fc695bf3152242bbf67010e4dc253053045094b526f458811f3a7a86b717106c0fa5cccb78eb11bf691b2700d5b8b0d0e44e646864d0063898679c27ade2bae3efcb9f6269228e801aaf86d8d84a7687f871ac7a3e88c87d952dc979dc1e0393ac662a191a78e5eb9637f8d27dbe4346cf52b64a67fd8f8f50475dbe7229216024759a36eb0d9b98335e729a902a89726b380a9f6fc4e8dda6b281ddd1ce0d27c0cbafc8e05a7e8f3a3b2d4bb77d4276ea6bd6a66791b3308837e2124e9f560b8439809be0fca13f631b3e46b3314cd1a67df2443e79d064aae552965004d64d87838944a4250af6c0dd687a610ea0ed013896819f6d7b9db1452f403af7b3f5f4737d87d7516f878c8d755ebcfc657433afc9d8d279eefd6b52eb6fc9d56233081a967aad4bc3b6dac164fe68b5e2bcb9f7ec8e9f256333c6da81ba556523183eee19f3b69ab7894977099ba82f3d415bda7dc97466148babdc621ade1e0527085e6d7279e0eb189315604c25791a0e061a2213a20fd90fd549bd57035098f3a469f140bff8f0b4eb7e84c54db70aeb50f07ec03f6d6bbc9689188910461d7bf057ad86364183baa35bd241882308859b997226986fbc22b97bf5f6e415765b3c4cda390d5218d8712dc359c2728f8d845bdc9b01f64d3b931cb1f5be3ca4e6251e79d5397bdf2c8dd5ae082cfcdba4ec0b3e0fc115db12423e46811343315eca6cedbe36518c25d900b5dd2e780e698339c14c7b917dd55e7ef665c6374f9279666e90de0abefa597729f25425889f54ab203a24c8af1543dd58fee7b4af27d98bac00e748a357bcd33336616b6d86523e76b33fb5fe2aa8c287892ece1439aab6cd93ebb6210afcbbc03e3f0e710a789d149366d1620b530e9c186436e529b3d2e59afeb4ce432afc4a920fb3217c4108d15611c631881c88a531a8089bfab6ef52e7e3cdee866c1d62f1d486ce15ed9cd2ec0fffbe18e76cd4ae5f8cb7b4ebc5b28d9e7e5b525ab24d73b5275b46aef29742369ce16820ceeb3683e4d2b4021f91c8a99d8f819906b6411f48af0f1f2fbde99a215886df0eb37fd639239c709cd31f6a3fa5164d6f8afdff56b91ccaa113544fe981145cbc13037c848493a204d4a2491dd1e1f19cc5aa961209f60f6baaad09af6f69e0ac0e7af72a720f22def0c55f2ebf70f3ac57b90d88a2b05f6f0d4c6e62e5549cec136e2e146161f9d0c54d04ae3d8ab81e204485944248e8748f9f0cdab48d5ce72b8a13a2427a240e18c1de2a873cccb70d05cd46f29f21a06184c061e8951dacb6a0f733cc5f6a5bfb87f0c8507bff25234e61e549f6d434b9c64df7599962ce38410fd9aed7745a0f4bcdfb17522e48b9fa27799abece0ed9559c778d319b170950c34d1b00af9f33573a2651cde6a59439ee8ecf23a481e0d0351459260ab28fc7883cc39f67ccb6f42a1ddcfbe1b14f3ca3debebe35e3c26c8f26625f9143656e1275b1f668a4da20a667c2f2422015d5750b1109ee7ea0d699975865fda29283e73af92e148941e428e9dcfd3f8eb43a76d3cf5e1b61eeb1db3b4001af3a2d6bfd3ee76c1d4c2d439dfa87be5551c942e63d7de49bbb1c41df82849b09ae83e77cd527bcaf57046eaacbd40d0586da7faf9c42962545483c898e3fcb1a24b6f4ba7c6dcb2acea148cc63b8a46951e2170b65ba1e9de10e3a3deef2f83d87ae521c761ef4ada2c7a57d6f015555230d785080e3267488ee751c2f066b60cb601d300da34d90b3a9d7096bbab82de6a91904e4ca5c0880f5441d6cae6d558cd73c4189888612f668c39d249ac5446da3634e5652b03c39b9c6f3e836c468b560afc85a93aa84e87060ebeb79bc11deb61a966ebc5fe900e711bd87cfe3c12e5699b948c014287f4649732818f16bb4e4b1cc964a185ed172db06806fbb0bf20e8b73996f3ffaef8058f180518e7139372cc1b75bb10d30a07c2c1f0fe47a685545c76bd020e9705d665eb0647538ce581afa85cb37275a040e1d1a34b4ba1300d2a921ac6575160ba86a48ff337772ddc37d5c2dcc3a371a0fabb1b854917dbf112c6dc7b3ef632f13e97b79aa175dcb34e75fbe07683d41d37f31fc5e3d80ad211a92fa08358c49cc9fa36cd2226dd02d6322acc4edf2386938f100d864e486a14dd04435b80408e50d6de7ae9379da38218a805cbaccbdb6bbf6befd947caeb23dfc2dc70b4b8486c10b3b650c21af8728631961b95d3e0dd8781c15d31b2f7968b16e6cff1c5721380e55b68955674527886b6595094f7c5ecd4f23a4fa7b6cee8f36b2e515c59cf9e27c506d5b2eb1693258a523bc5b107f53e0e2d1d7a84aa272adc455e75147e4ef125104903dcb51d874bf9f8946f6fdb6166218ca523f54f3b4dfc0693e2df7fa1773426f4d77a5787fc7c663c8e6e3ab4aae6da5ddda0264c84a19687ab80932700da55abfa64faa51626e0ca40f956e1682599a4448090e1b6d5e6cabec9e533f01e418005dbd5d29204d7ec8d35bdf6e87f7d9628aaad1eed6938e3b04cdf196692947fb920707efe116c63f46d40066243542cbf7ae407f2dfe82723a26bc4c1320a1f4ff332123a14ff9c1a1b5c8769b306c", 0x9e2}], 0x1) [ 543.970796][ T8674] hfs: invalid gid -1 [ 543.975244][ T8674] hfs: unable to parse mount options 04:25:55 executing program 4: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000440)=@base={0xa, 0x2, 0x40, 0x1f}, 0x48) bpf$MAP_UPDATE_BATCH(0x1a, &(0x7f0000000340)={0x0, 0x0, &(0x7f00000001c0), &(0x7f00000002c0), 0x7fff, r0}, 0x38) bpf$MAP_DELETE_BATCH(0x18, &(0x7f0000000300)={0x0, 0x0, 0x0, 0x0, 0x6, r0}, 0x38) 04:25:55 executing program 3: unshare(0x6c060000) pipe(0x0) timer_create(0x9, &(0x7f0000000100)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000540)=0x0) timer_settime(0x0, 0x0, &(0x7f000006b000)={{0x0, 0x8}, {0x0, 0x9}}, 0x0) r1 = socket$inet_tcp(0x2, 0x1, 0x0) sendto$inet(0xffffffffffffffff, 0x0, 0x0, 0x20008005, &(0x7f0000000140)={0x2, 0x4e20, @multicast2}, 0x10) r2 = socket$inet(0x10, 0x80003, 0x0) sendmsg(r2, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000300)=[{&(0x7f0000000040)}], 0x1}, 0x0) ioctl$sock_SIOCGIFVLAN_DEL_VLAN_CMD(r2, 0x8982, &(0x7f0000000100)={0x1, 'vlan1\x00', {}, 0x1ff}) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000300)={0x8, 0x5, &(0x7f0000000080)=@framed={{0x18, 0x0, 0x0, 0x0, 0x3000}, [@alu={0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, @jmp={0x5, 0x0, 0x2, 0x0, 0x0, 0xfffffffffffffffe}]}, &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x40f00, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000280)={0x0, 0x5, &(0x7f0000000080)=ANY=[], &(0x7f0000000000)='syzkaller\x00', 0x755b, 0x0, 0x0, 0x0, 0x10, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) recvfrom(r1, &(0x7f0000000480)=""/110, 0xfffffe32, 0x0, 0x0, 0xffffffffffffff39) sendmsg(0xffffffffffffffff, &(0x7f0000000200)={&(0x7f0000000380)=@ieee802154={0x24, @short={0x2, 0x3, 0xaaa1}}, 0x80, &(0x7f0000001540)=[{&(0x7f0000000400)="587af6dd1dadd47d35b223f47f8de8e91fd3f3f2d10cd71bc91212eb0a6184c67888e48d17a97aa5b76e261a24a5433c836a8352b985affa4a7826c50ef8feecf2c349547342e8391da6", 0x4a}, {&(0x7f0000000d00)="304e8c9e332b5988fee3aa192cb52f410cdd6e911722dd56a70b6fc8be2b08b984bcf210db046e633b9e2eab071e6d8e4d6086c31151580dd5bb4630343ad17a292b1fdd9e042134c296c5c246a2f92144909ac88570fd9fcd647cf2ba4061381132be4698d48691140dc3b763f263556dd89ec092a0db1cf0fda6883ed1686d493260a38d7f8ecfa63a31b782865eedfb1bc662b174ca2539998a1a63f3ddebcb8d30ca96581dd328049ecfb126bd3d46ef59b177f4c15b25af9ce57d16e8351fba1b8ad806c03f514516acfca9fbebb21062656549d10f3481d34b430aa689afce1de571432eec8ef3cf3182b8", 0xee}, {&(0x7f00000011c0)="30fa13ab4901afa6d350af3f7f9472d40729a13be9eda07e1792a6518a9e4a3167ae7718ca8e0806316bb3725d7345627251fd3d167992e4397abd9cae860dc412f4435f9ff71ae2dd04d6d236447f25522e5025ea137800d749131686ebfe4957de994bba653de6ae9da1aa65ba3973e0c1e4bd8d34d9c9eaa19599623a87f01f95e2c80fcc820949e6fe0da857d99bdfc4a4cafdb7005ca613ba76fb83521b48885b0b9a5094f3ea9d201fefca84669ef6f17b077b0eb3d70a2851a67a4549bc6d922a", 0xc4}, {&(0x7f00000012c0)="5ae96f41a8ecfcd4bf2807c979c671395e07bad494268b6fd9741c4dd6f511c5a543632091c8ca56d9a7c717e171d9079ae4dce438b260c1a21bbf44e33071e73673072038f4ee1d7b37a43922a2d6f5230b8dbca3d647f54775ad7d3b2526602cce122bb9ace3c218100e1401677c6179a6487230c9c568b3de8b7707020567b1658a98e289ea1b5d6341b62ce7d74e6d75a79da9a34bebfdac1916fc9be832dd4ed988bafd960a108ca8ccfc0c1ece11ce7bcce1e14bb8c48ec2b752d8d5d09470e8bc78abc971afca2a2a68d8183eeec2444c816c07a71ec3f7c9843cfcdd36f870e6da1f93ca8a265c81a189", 0xee}, {&(0x7f0000000580)="3c80d8dec385ca47d5fb3ea6cf5cdc8830e0d83842f6218b2a77c3f409904391572b7c6932fd0ff21b015b27ff86d1673a77160d23a683fb4d0edc53ad49958c443b27ca1f093a69dfaeef812dc8155ef54e0f47b0e0d238269010de5156e4250ec72461fa5cf76872c7c0099b0b6505b6edcee046bf045cd471e0c56ab5c0c95a56497c5284efd6e6240a96526f3314c56327a33acfab0de9cb1533336fd37ee096937337fe207ad0b2d5066dd24db1631a466f4fc8619e57a683827141c325db1c85d495f347c2ee88264a1f8153d60932f1320ad87e24e503a9461e8fba", 0xdf}], 0x5}, 0x0) timer_settime(r0, 0x235f652706877cee, &(0x7f0000000780), &(0x7f00000007c0)) vmsplice(0xffffffffffffffff, &(0x7f0000000100)=[{&(0x7f0000000600)='B', 0x20000601}], 0x1, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000680)={0x0, 0xf, &(0x7f0000000980)=ANY=[@ANYBLOB, @ANYBLOB="00000000400000008510000002000000851000000800000018480000f8ffefff000000000000000002640900030000002a1710ad6c16ec000400000018510000030000000000000000000000950000000000000095000000000000008badf4bbea8f4bed1fee6be8d44781320df8c858e990be4cfdc6e3dbe39a28109856ff49f51230a52c9a8628f6bcb340f3c0b9add9b85cefa0269abb6b2a6ec9e85074d912759630a78fe09a17f271b99c6f36f1713c16002a58925bd79872c27dc8dccf6104c87c9c9b32f2346ae12e99e98a693fda65e2"], &(0x7f00000000c0)='syzkaller\x00', 0x7, 0x0, 0x0, 0x41100, 0x18, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f00000001c0)={0x3, 0x23}, 0x8, 0x10, 0x0}, 0x80) socket$packet(0x11, 0x0, 0x300) getpeername$packet(0xffffffffffffffff, &(0x7f0000000140)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @remote}, &(0x7f0000000180)=0x14) openat$ttyS3(0xffffff9c, &(0x7f0000000000), 0x107640, 0x0) 04:25:55 executing program 0: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = socket$inet_sctp(0x2, 0x1, 0x84) r1 = bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f00000013c0)=@bpf_lsm={0x2, 0x3, &(0x7f0000000200)=@framed, &(0x7f0000000280)='syzkaller\x00', 0x1, 0x1000, &(0x7f00000002c0)=""/4096, 0x0, 0x0, '\x00', 0x0, 0x1b, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) setsockopt$sock_attach_bpf(r0, 0x1, 0x32, &(0x7f0000000180)=r1, 0x4) 04:25:55 executing program 2: r0 = socket$xdp(0x2c, 0x3, 0x0) getsockopt$XDP_MMAP_OFFSETS(r0, 0x11b, 0x8, &(0x7f0000000080), &(0x7f0000000100)=0x80) 04:25:55 executing program 1: syz_mount_image$hfs(&(0x7f0000000000), &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000005c0), 0x0, &(0x7f0000000100)={[{@gid={'gid', 0x3d, 0xffffffffffffffff}}]}) 04:25:55 executing program 5: seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000000000)={0x3, &(0x7f00000000c0)=[{0x15, 0x0, 0x0, 0xfffffffe}, {0x4c}, {0x6}]}) syz_init_net_socket$bt_l2cap(0x1f, 0x0, 0x0) [ 545.346484][ T24] audit: type=1326 audit(1660019155.383:101): auid=4294967295 uid=0 gid=0 ses=4294967295 subj==unconfined pid=8680 comm="syz-executor.5" exe="/root/syz-executor.5" sig=31 arch=40000003 syscall=240 compat=1 ip=0xf7fc2549 code=0x0 [ 545.418749][ T8686] hfs: invalid gid -1 [ 545.422997][ T8686] hfs: unable to parse mount options 04:25:55 executing program 2: gettid() socketpair$nbd(0x2, 0x2, 0x0, &(0x7f0000000680)) getpid() getpid() syz_open_procfs$namespace(0x0, 0x0) getpid() syz_clone(0x40000000, &(0x7f00000001c0)="b5413fcd64b5e5f9e42c5bedaa78b7021e08731e77e8db96f8247c12c32a749b060a8dc737511fffb6b629bbfc5adbe20c3c9b8a972a2c07dbe8805b0266181d8948977ae2a11cd8c3d1b28e10d0739e72bf7b6853597b688c54410212f7c386287b5b9758c3ffbd51a4d27052ccb9a0", 0x70, &(0x7f0000000280), &(0x7f00000002c0), &(0x7f0000000300)="c530fda764734c4f211ad34e9812091657a735c9c4121a1fef1a6f932ddd6a79a7adfcb81a28573651") r0 = getpid() syz_open_procfs$namespace(r0, 0x0) gettid() 04:25:55 executing program 0: r0 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r0, 0x1, 0xf, &(0x7f0000d1c000)=0x6, 0x4) setsockopt$inet6_int(r0, 0x29, 0x1a, &(0x7f00000001c0)=0xdf8, 0x4) bind$inet6(r0, &(0x7f0000f67fe4)={0xa, 0x4e20}, 0x1c) r1 = socket$inet(0x2, 0x2, 0x0) bind(r1, &(0x7f0000000080)=@in={0x2, 0x4e20}, 0x7c) r2 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r2, 0x1, 0xf, &(0x7f0000d1c000)=0x6, 0x4) setsockopt$inet6_int(r2, 0x29, 0x1a, &(0x7f00000001c0)=0xdf8, 0x4) bind$inet6(r2, &(0x7f0000f67fe4)={0xa, 0x4e20}, 0x1c) r3 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r3, 0x1, 0xf, &(0x7f0000d1c000)=0x6, 0x271) bind$inet6(r3, &(0x7f0000000040)={0xa, 0x4e20, 0x0, @mcast1, 0x2}, 0x1c) r4 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r4, 0x1, 0xf, &(0x7f0000d1c000)=0x6, 0x271) bind$inet6(r4, &(0x7f0000000040)={0xa, 0x4e20, 0x0, @mcast1, 0x2}, 0x1c) r5 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r5, 0x1, 0xf, &(0x7f0000000100)=0x4, 0x4) bind$inet6(r5, &(0x7f0000000480)={0xa, 0x4e20, 0x0, @mcast1, 0x2}, 0x1c) r6 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r6, 0x1, 0xf, &(0x7f0000f59ffc)=0x4, 0x4) bind$inet6(r6, &(0x7f0000000480)={0xa, 0x4e20, 0x0, @mcast1, 0x2}, 0x1c) r7 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r7, 0x1, 0xf, &(0x7f0000f59ffc)=0x4, 0x4) bind$inet6(r7, &(0x7f0000000480)={0xa, 0x4e20, 0x0, @mcast1, 0x2}, 0x1c) r8 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r8, 0x1, 0xf, &(0x7f0000f59ffc)=0x4, 0x4) bind$inet6(r8, &(0x7f0000000000)={0xa, 0x4e20, 0x0, @mcast1, 0x5}, 0x1c) r9 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r9, 0x1, 0xf, &(0x7f0000d1c000)=0x6, 0x4) setsockopt$inet6_int(r9, 0x29, 0x1a, &(0x7f00000001c0)=0xdf8, 0x4) bind$inet6(r9, &(0x7f0000f67fe4)={0xa, 0x4e20}, 0x1c) r10 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r10, 0x1, 0xf, &(0x7f0000f59ffc)=0x4, 0x4) bind$inet6(r10, &(0x7f0000000480)={0xa, 0x4e20, 0x0, @mcast1, 0x2}, 0x1c) r11 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r11, 0x1, 0xf, &(0x7f0000f59ffc)=0x4, 0x4) bind$inet6(r11, &(0x7f0000000480)={0xa, 0x4e20, 0x0, @mcast1, 0x3}, 0x1c) 04:25:56 executing program 5: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) r1 = syz_open_dev$dri(&(0x7f00000002c0), 0x0, 0x0) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r1, 0xc02064b2, &(0x7f0000000040)={0x80, 0xc26d, 0x7e, 0x0, 0x0}) close(r0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) r4 = syz_open_dev$dri(&(0x7f00000002c0), 0x0, 0x0) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r4, 0xc02064b2, &(0x7f0000000040)={0x80, 0xc26d, 0x7e, 0x0, 0x0}) close(r3) ioctl$DRM_IOCTL_MODE_DESTROY_DUMB(r4, 0xc00c642d, &(0x7f0000000100)={r5}) ioctl$DRM_IOCTL_MODE_DESTROY_DUMB(r1, 0xc00c642d, &(0x7f0000000100)={r2}) ioctl$DRM_IOCTL_PRIME_FD_TO_HANDLE(r1, 0xc00c642e, &(0x7f0000000080)={0x0, 0x0, r0}) 04:25:56 executing program 4: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000440)=@base={0xa, 0x2, 0x40, 0x1f}, 0x48) bpf$MAP_UPDATE_BATCH(0x1a, &(0x7f0000000340)={0x0, 0x0, &(0x7f00000001c0), &(0x7f00000002c0), 0x7fff, r0}, 0x38) bpf$MAP_DELETE_BATCH(0x18, &(0x7f0000000300)={0x0, 0x0, 0x0, 0x0, 0x6, r0}, 0x38) 04:25:56 executing program 1: bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, 0x0, 0x0) r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$devlink(&(0x7f00000000c0), 0xffffffffffffffff) sendmsg$DEVLINK_CMD_TRAP_GET(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000100)={0x14, r1, 0x311, 0x0, 0x0, {0x2e}}, 0x14}}, 0x0) 04:25:56 executing program 1: r0 = socket$rxrpc(0x21, 0x2, 0x2) bind$rxrpc(r0, &(0x7f0000000400)=@in6={0x21, 0x0, 0x2, 0x1c, {0x2d, 0x0, 0x0, @ipv4={'\x00', '\xff\xff', @multicast1}}}, 0x24) 04:25:56 executing program 0: r0 = syz_io_uring_setup(0x4dae, &(0x7f0000000240), &(0x7f0000002000/0x2000)=nil, &(0x7f0000004000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000040)=0x0) r3 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000080)='mountinfo\x00') syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd=r3, 0x0, 0x0}, 0x0) io_uring_enter(r0, 0x2fe, 0x0, 0x0, 0x0, 0x0) 04:25:57 executing program 3: unshare(0x6c060000) pipe(0x0) timer_create(0x9, &(0x7f0000000100)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000540)=0x0) timer_settime(0x0, 0x0, &(0x7f000006b000)={{0x0, 0x8}, {0x0, 0x9}}, 0x0) r1 = socket$inet_tcp(0x2, 0x1, 0x0) sendto$inet(0xffffffffffffffff, 0x0, 0x0, 0x20008005, &(0x7f0000000140)={0x2, 0x4e20, @multicast2}, 0x10) r2 = socket$inet(0x10, 0x80003, 0x0) sendmsg(r2, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000300)=[{&(0x7f0000000040)}], 0x1}, 0x0) ioctl$sock_SIOCGIFVLAN_DEL_VLAN_CMD(r2, 0x8982, &(0x7f0000000100)={0x1, 'vlan1\x00', {}, 0x1ff}) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000300)={0x8, 0x5, &(0x7f0000000080)=@framed={{0x18, 0x0, 0x0, 0x0, 0x3000}, [@alu={0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, @jmp={0x5, 0x0, 0x2, 0x0, 0x0, 0xfffffffffffffffe}]}, &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x40f00, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000280)={0x0, 0x5, &(0x7f0000000080)=ANY=[], &(0x7f0000000000)='syzkaller\x00', 0x755b, 0x0, 0x0, 0x0, 0x10, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) recvfrom(r1, &(0x7f0000000480)=""/110, 0xfffffe32, 0x0, 0x0, 0xffffffffffffff39) sendmsg(0xffffffffffffffff, &(0x7f0000000200)={&(0x7f0000000380)=@ieee802154={0x24, @short={0x2, 0x3, 0xaaa1}}, 0x80, &(0x7f0000001540)=[{&(0x7f0000000400)="587af6dd1dadd47d35b223f47f8de8e91fd3f3f2d10cd71bc91212eb0a6184c67888e48d17a97aa5b76e261a24a5433c836a8352b985affa4a7826c50ef8feecf2c349547342e8391da6", 0x4a}, {&(0x7f0000000d00)="304e8c9e332b5988fee3aa192cb52f410cdd6e911722dd56a70b6fc8be2b08b984bcf210db046e633b9e2eab071e6d8e4d6086c31151580dd5bb4630343ad17a292b1fdd9e042134c296c5c246a2f92144909ac88570fd9fcd647cf2ba4061381132be4698d48691140dc3b763f263556dd89ec092a0db1cf0fda6883ed1686d493260a38d7f8ecfa63a31b782865eedfb1bc662b174ca2539998a1a63f3ddebcb8d30ca96581dd328049ecfb126bd3d46ef59b177f4c15b25af9ce57d16e8351fba1b8ad806c03f514516acfca9fbebb21062656549d10f3481d34b430aa689afce1de571432eec8ef3cf3182b8", 0xee}, {&(0x7f00000011c0)="30fa13ab4901afa6d350af3f7f9472d40729a13be9eda07e1792a6518a9e4a3167ae7718ca8e0806316bb3725d7345627251fd3d167992e4397abd9cae860dc412f4435f9ff71ae2dd04d6d236447f25522e5025ea137800d749131686ebfe4957de994bba653de6ae9da1aa65ba3973e0c1e4bd8d34d9c9eaa19599623a87f01f95e2c80fcc820949e6fe0da857d99bdfc4a4cafdb7005ca613ba76fb83521b48885b0b9a5094f3ea9d201fefca84669ef6f17b077b0eb3d70a2851a67a4549bc6d922a", 0xc4}, {&(0x7f00000012c0)="5ae96f41a8ecfcd4bf2807c979c671395e07bad494268b6fd9741c4dd6f511c5a543632091c8ca56d9a7c717e171d9079ae4dce438b260c1a21bbf44e33071e73673072038f4ee1d7b37a43922a2d6f5230b8dbca3d647f54775ad7d3b2526602cce122bb9ace3c218100e1401677c6179a6487230c9c568b3de8b7707020567b1658a98e289ea1b5d6341b62ce7d74e6d75a79da9a34bebfdac1916fc9be832dd4ed988bafd960a108ca8ccfc0c1ece11ce7bcce1e14bb8c48ec2b752d8d5d09470e8bc78abc971afca2a2a68d8183eeec2444c816c07a71ec3f7c9843cfcdd36f870e6da1f93ca8a265c81a189", 0xee}, {&(0x7f0000000580)="3c80d8dec385ca47d5fb3ea6cf5cdc8830e0d83842f6218b2a77c3f409904391572b7c6932fd0ff21b015b27ff86d1673a77160d23a683fb4d0edc53ad49958c443b27ca1f093a69dfaeef812dc8155ef54e0f47b0e0d238269010de5156e4250ec72461fa5cf76872c7c0099b0b6505b6edcee046bf045cd471e0c56ab5c0c95a56497c5284efd6e6240a96526f3314c56327a33acfab0de9cb1533336fd37ee096937337fe207ad0b2d5066dd24db1631a466f4fc8619e57a683827141c325db1c85d495f347c2ee88264a1f8153d60932f1320ad87e24e503a9461e8fba", 0xdf}], 0x5}, 0x0) timer_settime(r0, 0x235f652706877cee, &(0x7f0000000780), &(0x7f00000007c0)) vmsplice(0xffffffffffffffff, &(0x7f0000000100)=[{&(0x7f0000000600)='B', 0x20000601}], 0x1, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000680)={0x0, 0xf, &(0x7f0000000980)=ANY=[@ANYBLOB, @ANYBLOB="00000000400000008510000002000000851000000800000018480000f8ffefff000000000000000002640900030000002a1710ad6c16ec000400000018510000030000000000000000000000950000000000000095000000000000008badf4bbea8f4bed1fee6be8d44781320df8c858e990be4cfdc6e3dbe39a28109856ff49f51230a52c9a8628f6bcb340f3c0b9add9b85cefa0269abb6b2a6ec9e85074d912759630a78fe09a17f271b99c6f36f1713c16002a58925bd79872c27dc8dccf6104c87c9c9b32f2346ae12e99e98a693fda65e2"], &(0x7f00000000c0)='syzkaller\x00', 0x7, 0x0, 0x0, 0x41100, 0x18, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f00000001c0)={0x3, 0x23}, 0x8, 0x10, 0x0}, 0x80) socket$packet(0x11, 0x0, 0x300) getpeername$packet(0xffffffffffffffff, &(0x7f0000000140)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @remote}, &(0x7f0000000180)=0x14) openat$ttyS3(0xffffff9c, &(0x7f0000000000), 0x107640, 0x0) 04:25:57 executing program 5: 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={0x44, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_hfsc={{0x9}, {0x14, 0x2, @TCA_HFSC_FSC={0x10}}}]}, 0x44}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000900)=@delchain={0x48, 0x28, 0xd39, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {0x8, 0xffff}, {0x8}}, [@filter_kind_options=@f_rsvp6={{0xa}, {0x18, 0x2, [@TCA_RSVP_SRC={0x14, 0x3, @ipv4={'\x00', '\xff\xff', @broadcast}}]}}]}, 0x48}}, 0x0) [ 547.821878][ T8714] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.5'. 04:25:58 executing program 1: syz_emit_ethernet(0x46, &(0x7f0000000180)={@local, @broadcast, @void, {@ipv4={0x800, @udp={{0x5, 0x4, 0x0, 0x0, 0x38, 0x0, 0x0, 0x0, 0x11, 0x0, @rand_addr, @empty}, {0x0, 0x1b59, 0x24, 0x0, @wg=@data={0x4, 0x0, 0x2, "1f14741d056d6d81d9f68d9c"}}}}}}, 0x0) 04:25:58 executing program 2: r0 = syz_open_dev$sg(&(0x7f0000000000), 0x0, 0x0) ioctl$SG_GET_NUM_WAITING(r0, 0x227d, &(0x7f0000002380)) 04:25:58 executing program 0: unshare(0x6c060000) pipe(0x0) timer_create(0x9, &(0x7f0000000100)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000540)=0x0) timer_settime(0x0, 0x0, &(0x7f000006b000)={{0x0, 0x8}, {0x0, 0x9}}, 0x0) r1 = socket$inet_tcp(0x2, 0x1, 0x0) sendto$inet(0xffffffffffffffff, 0x0, 0x0, 0x20008005, &(0x7f0000000140)={0x2, 0x4e20, @multicast2}, 0x10) r2 = socket$inet(0x10, 0x80003, 0x0) sendmsg(r2, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000300)=[{&(0x7f0000000040)}], 0x1}, 0x0) ioctl$sock_SIOCGIFVLAN_DEL_VLAN_CMD(r2, 0x8982, &(0x7f0000000100)={0x1, 'vlan1\x00', {}, 0x1ff}) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000300)={0x8, 0x5, &(0x7f0000000080)=@framed={{0x18, 0x0, 0x0, 0x0, 0x3000}, [@alu={0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, @jmp={0x5, 0x0, 0x2, 0x0, 0x0, 0xfffffffffffffffe}]}, &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x40f00, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000280)={0x0, 0x5, &(0x7f0000000080)=ANY=[], &(0x7f0000000000)='syzkaller\x00', 0x755b, 0x0, 0x0, 0x0, 0x10, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) recvfrom(r1, &(0x7f0000000480)=""/110, 0xfffffe32, 0x0, 0x0, 0xffffffffffffff39) sendmsg(0xffffffffffffffff, &(0x7f0000000200)={&(0x7f0000000380)=@ieee802154={0x24, @short={0x2, 0x3, 0xaaa1}}, 0x80, &(0x7f0000001540)=[{&(0x7f0000000400)="587af6dd1dadd47d35b223f47f8de8e91fd3f3f2d10cd71bc91212eb0a6184c67888e48d17a97aa5b76e261a24a5433c836a8352b985affa4a7826c50ef8feecf2c349547342e8391da6", 0x4a}, {&(0x7f0000000d00)="304e8c9e332b5988fee3aa192cb52f410cdd6e911722dd56a70b6fc8be2b08b984bcf210db046e633b9e2eab071e6d8e4d6086c31151580dd5bb4630343ad17a292b1fdd9e042134c296c5c246a2f92144909ac88570fd9fcd647cf2ba4061381132be4698d48691140dc3b763f263556dd89ec092a0db1cf0fda6883ed1686d493260a38d7f8ecfa63a31b782865eedfb1bc662b174ca2539998a1a63f3ddebcb8d30ca96581dd328049ecfb126bd3d46ef59b177f4c15b25af9ce57d16e8351fba1b8ad806c03f514516acfca9fbebb21062656549d10f3481d34b430aa689afce1de571432eec8ef3cf3182b8", 0xee}, {&(0x7f00000011c0)="30fa13ab4901afa6d350af3f7f9472d40729a13be9eda07e1792a6518a9e4a3167ae7718ca8e0806316bb3725d7345627251fd3d167992e4397abd9cae860dc412f4435f9ff71ae2dd04d6d236447f25522e5025ea137800d749131686ebfe4957de994bba653de6ae9da1aa65ba3973e0c1e4bd8d34d9c9eaa19599623a87f01f95e2c80fcc820949e6fe0da857d99bdfc4a4cafdb7005ca613ba76fb83521b48885b0b9a5094f3ea9d201fefca84669ef6f17b077b0eb3d70a2851a67a4549bc6d922a", 0xc4}, {&(0x7f00000012c0)="5ae96f41a8ecfcd4bf2807c979c671395e07bad494268b6fd9741c4dd6f511c5a543632091c8ca56d9a7c717e171d9079ae4dce438b260c1a21bbf44e33071e73673072038f4ee1d7b37a43922a2d6f5230b8dbca3d647f54775ad7d3b2526602cce122bb9ace3c218100e1401677c6179a6487230c9c568b3de8b7707020567b1658a98e289ea1b5d6341b62ce7d74e6d75a79da9a34bebfdac1916fc9be832dd4ed988bafd960a108ca8ccfc0c1ece11ce7bcce1e14bb8c48ec2b752d8d5d09470e8bc78abc971afca2a2a68d8183eeec2444c816c07a71ec3f7c9843cfcdd36f870e6da1f93ca8a265c81a189", 0xee}, {&(0x7f0000000580)="3c80d8dec385ca47d5fb3ea6cf5cdc8830e0d83842f6218b2a77c3f409904391572b7c6932fd0ff21b015b27ff86d1673a77160d23a683fb4d0edc53ad49958c443b27ca1f093a69dfaeef812dc8155ef54e0f47b0e0d238269010de5156e4250ec72461fa5cf76872c7c0099b0b6505b6edcee046bf045cd471e0c56ab5c0c95a56497c5284efd6e6240a96526f3314c56327a33acfab0de9cb1533336fd37ee096937337fe207ad0b2d5066dd24db1631a466f4fc8619e57a683827141c325db1c85d495f347c2ee88264a1f8153d60932f1320ad87e24e503a9461e8fba", 0xdf}], 0x5}, 0x0) timer_settime(r0, 0x235f652706877cee, &(0x7f0000000780), &(0x7f00000007c0)) vmsplice(0xffffffffffffffff, &(0x7f0000000100)=[{&(0x7f0000000600)='B', 0x20000601}], 0x1, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000680)={0x0, 0xf, &(0x7f0000000980)=ANY=[@ANYBLOB, @ANYBLOB="00000000400000008510000002000000851000000800000018480000f8ffefff000000000000000002640900030000002a1710ad6c16ec000400000018510000030000000000000000000000950000000000000095000000000000008badf4bbea8f4bed1fee6be8d44781320df8c858e990be4cfdc6e3dbe39a28109856ff49f51230a52c9a8628f6bcb340f3c0b9add9b85cefa0269abb6b2a6ec9e85074d912759630a78fe09a17f271b99c6f36f1713c16002a58925bd79872c27dc8dccf6104c87c9c9b32f2346ae12e99e98a693fda65e2"], &(0x7f00000000c0)='syzkaller\x00', 0x7, 0x0, 0x0, 0x41100, 0x18, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f00000001c0)={0x3, 0x23}, 0x8, 0x10, 0x0}, 0x80) socket$packet(0x11, 0x0, 0x300) getpeername$packet(0xffffffffffffffff, &(0x7f0000000140)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @remote}, &(0x7f0000000180)=0x14) openat$ttyS3(0xffffff9c, &(0x7f0000000000), 0x107640, 0x0) 04:25:58 executing program 5: unshare(0xb4d09587072166cf) unshare(0x44000000) ioctl$KVM_SET_MP_STATE(0xffffffffffffffff, 0x4004ae99, &(0x7f0000000040)=0x1) 04:25:58 executing program 1: syz_emit_ethernet(0x46, &(0x7f0000000180)={@local, @broadcast, @void, {@ipv4={0x800, @udp={{0x5, 0x4, 0x0, 0x0, 0x38, 0x0, 0x0, 0x0, 0x11, 0x0, @rand_addr, @empty}, {0x0, 0x1b59, 0x24, 0x0, @wg=@data={0x4, 0x0, 0x2, "1f14741d056d6d81d9f68d9c"}}}}}}, 0x0) 04:25:59 executing program 2: r0 = syz_open_dev$sg(&(0x7f0000000000), 0x0, 0x0) ioctl$SG_GET_NUM_WAITING(r0, 0x227d, &(0x7f0000002380)) 04:26:01 executing program 0: unshare(0x6c060000) pipe(0x0) timer_create(0x9, &(0x7f0000000100)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000540)=0x0) timer_settime(0x0, 0x0, &(0x7f000006b000)={{0x0, 0x8}, {0x0, 0x9}}, 0x0) r1 = socket$inet_tcp(0x2, 0x1, 0x0) sendto$inet(0xffffffffffffffff, 0x0, 0x0, 0x20008005, &(0x7f0000000140)={0x2, 0x4e20, @multicast2}, 0x10) r2 = socket$inet(0x10, 0x80003, 0x0) sendmsg(r2, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000300)=[{&(0x7f0000000040)}], 0x1}, 0x0) ioctl$sock_SIOCGIFVLAN_DEL_VLAN_CMD(r2, 0x8982, &(0x7f0000000100)={0x1, 'vlan1\x00', {}, 0x1ff}) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000300)={0x8, 0x5, &(0x7f0000000080)=@framed={{0x18, 0x0, 0x0, 0x0, 0x3000}, [@alu={0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, @jmp={0x5, 0x0, 0x2, 0x0, 0x0, 0xfffffffffffffffe}]}, &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x40f00, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000280)={0x0, 0x5, &(0x7f0000000080)=ANY=[], &(0x7f0000000000)='syzkaller\x00', 0x755b, 0x0, 0x0, 0x0, 0x10, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) recvfrom(r1, &(0x7f0000000480)=""/110, 0xfffffe32, 0x0, 0x0, 0xffffffffffffff39) sendmsg(0xffffffffffffffff, &(0x7f0000000200)={&(0x7f0000000380)=@ieee802154={0x24, @short={0x2, 0x3, 0xaaa1}}, 0x80, &(0x7f0000001540)=[{&(0x7f0000000400)="587af6dd1dadd47d35b223f47f8de8e91fd3f3f2d10cd71bc91212eb0a6184c67888e48d17a97aa5b76e261a24a5433c836a8352b985affa4a7826c50ef8feecf2c349547342e8391da6", 0x4a}, {&(0x7f0000000d00)="304e8c9e332b5988fee3aa192cb52f410cdd6e911722dd56a70b6fc8be2b08b984bcf210db046e633b9e2eab071e6d8e4d6086c31151580dd5bb4630343ad17a292b1fdd9e042134c296c5c246a2f92144909ac88570fd9fcd647cf2ba4061381132be4698d48691140dc3b763f263556dd89ec092a0db1cf0fda6883ed1686d493260a38d7f8ecfa63a31b782865eedfb1bc662b174ca2539998a1a63f3ddebcb8d30ca96581dd328049ecfb126bd3d46ef59b177f4c15b25af9ce57d16e8351fba1b8ad806c03f514516acfca9fbebb21062656549d10f3481d34b430aa689afce1de571432eec8ef3cf3182b8", 0xee}, {&(0x7f00000011c0)="30fa13ab4901afa6d350af3f7f9472d40729a13be9eda07e1792a6518a9e4a3167ae7718ca8e0806316bb3725d7345627251fd3d167992e4397abd9cae860dc412f4435f9ff71ae2dd04d6d236447f25522e5025ea137800d749131686ebfe4957de994bba653de6ae9da1aa65ba3973e0c1e4bd8d34d9c9eaa19599623a87f01f95e2c80fcc820949e6fe0da857d99bdfc4a4cafdb7005ca613ba76fb83521b48885b0b9a5094f3ea9d201fefca84669ef6f17b077b0eb3d70a2851a67a4549bc6d922a", 0xc4}, {&(0x7f00000012c0)="5ae96f41a8ecfcd4bf2807c979c671395e07bad494268b6fd9741c4dd6f511c5a543632091c8ca56d9a7c717e171d9079ae4dce438b260c1a21bbf44e33071e73673072038f4ee1d7b37a43922a2d6f5230b8dbca3d647f54775ad7d3b2526602cce122bb9ace3c218100e1401677c6179a6487230c9c568b3de8b7707020567b1658a98e289ea1b5d6341b62ce7d74e6d75a79da9a34bebfdac1916fc9be832dd4ed988bafd960a108ca8ccfc0c1ece11ce7bcce1e14bb8c48ec2b752d8d5d09470e8bc78abc971afca2a2a68d8183eeec2444c816c07a71ec3f7c9843cfcdd36f870e6da1f93ca8a265c81a189", 0xee}, {&(0x7f0000000580)="3c80d8dec385ca47d5fb3ea6cf5cdc8830e0d83842f6218b2a77c3f409904391572b7c6932fd0ff21b015b27ff86d1673a77160d23a683fb4d0edc53ad49958c443b27ca1f093a69dfaeef812dc8155ef54e0f47b0e0d238269010de5156e4250ec72461fa5cf76872c7c0099b0b6505b6edcee046bf045cd471e0c56ab5c0c95a56497c5284efd6e6240a96526f3314c56327a33acfab0de9cb1533336fd37ee096937337fe207ad0b2d5066dd24db1631a466f4fc8619e57a683827141c325db1c85d495f347c2ee88264a1f8153d60932f1320ad87e24e503a9461e8fba", 0xdf}], 0x5}, 0x0) timer_settime(r0, 0x235f652706877cee, &(0x7f0000000780), &(0x7f00000007c0)) vmsplice(0xffffffffffffffff, &(0x7f0000000100)=[{&(0x7f0000000600)='B', 0x20000601}], 0x1, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000680)={0x0, 0xf, &(0x7f0000000980)=ANY=[@ANYBLOB, @ANYBLOB="00000000400000008510000002000000851000000800000018480000f8ffefff000000000000000002640900030000002a1710ad6c16ec000400000018510000030000000000000000000000950000000000000095000000000000008badf4bbea8f4bed1fee6be8d44781320df8c858e990be4cfdc6e3dbe39a28109856ff49f51230a52c9a8628f6bcb340f3c0b9add9b85cefa0269abb6b2a6ec9e85074d912759630a78fe09a17f271b99c6f36f1713c16002a58925bd79872c27dc8dccf6104c87c9c9b32f2346ae12e99e98a693fda65e2"], &(0x7f00000000c0)='syzkaller\x00', 0x7, 0x0, 0x0, 0x41100, 0x18, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f00000001c0)={0x3, 0x23}, 0x8, 0x10, 0x0}, 0x80) socket$packet(0x11, 0x0, 0x300) getpeername$packet(0xffffffffffffffff, &(0x7f0000000140)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @remote}, &(0x7f0000000180)=0x14) openat$ttyS3(0xffffff9c, &(0x7f0000000000), 0x107640, 0x0) 04:26:01 executing program 1: syz_emit_ethernet(0x46, &(0x7f0000000180)={@local, @broadcast, @void, {@ipv4={0x800, @udp={{0x5, 0x4, 0x0, 0x0, 0x38, 0x0, 0x0, 0x0, 0x11, 0x0, @rand_addr, @empty}, {0x0, 0x1b59, 0x24, 0x0, @wg=@data={0x4, 0x0, 0x2, "1f14741d056d6d81d9f68d9c"}}}}}}, 0x0) 04:26:01 executing program 2: r0 = syz_open_dev$sg(&(0x7f0000000000), 0x0, 0x0) ioctl$SG_GET_NUM_WAITING(r0, 0x227d, &(0x7f0000002380)) 04:26:01 executing program 3: unshare(0x6c060000) pipe(0x0) timer_create(0x9, &(0x7f0000000100)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000540)=0x0) timer_settime(0x0, 0x0, &(0x7f000006b000)={{0x0, 0x8}, {0x0, 0x9}}, 0x0) r1 = socket$inet_tcp(0x2, 0x1, 0x0) sendto$inet(0xffffffffffffffff, 0x0, 0x0, 0x20008005, &(0x7f0000000140)={0x2, 0x4e20, @multicast2}, 0x10) r2 = socket$inet(0x10, 0x80003, 0x0) sendmsg(r2, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000300)=[{&(0x7f0000000040)}], 0x1}, 0x0) ioctl$sock_SIOCGIFVLAN_DEL_VLAN_CMD(r2, 0x8982, &(0x7f0000000100)={0x1, 'vlan1\x00', {}, 0x1ff}) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000300)={0x8, 0x5, &(0x7f0000000080)=@framed={{0x18, 0x0, 0x0, 0x0, 0x3000}, [@alu={0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, @jmp={0x5, 0x0, 0x2, 0x0, 0x0, 0xfffffffffffffffe}]}, &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x40f00, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000280)={0x0, 0x5, &(0x7f0000000080)=ANY=[], &(0x7f0000000000)='syzkaller\x00', 0x755b, 0x0, 0x0, 0x0, 0x10, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) recvfrom(r1, &(0x7f0000000480)=""/110, 0xfffffe32, 0x0, 0x0, 0xffffffffffffff39) sendmsg(0xffffffffffffffff, &(0x7f0000000200)={&(0x7f0000000380)=@ieee802154={0x24, @short={0x2, 0x3, 0xaaa1}}, 0x80, &(0x7f0000001540)=[{&(0x7f0000000400)="587af6dd1dadd47d35b223f47f8de8e91fd3f3f2d10cd71bc91212eb0a6184c67888e48d17a97aa5b76e261a24a5433c836a8352b985affa4a7826c50ef8feecf2c349547342e8391da6", 0x4a}, {&(0x7f0000000d00)="304e8c9e332b5988fee3aa192cb52f410cdd6e911722dd56a70b6fc8be2b08b984bcf210db046e633b9e2eab071e6d8e4d6086c31151580dd5bb4630343ad17a292b1fdd9e042134c296c5c246a2f92144909ac88570fd9fcd647cf2ba4061381132be4698d48691140dc3b763f263556dd89ec092a0db1cf0fda6883ed1686d493260a38d7f8ecfa63a31b782865eedfb1bc662b174ca2539998a1a63f3ddebcb8d30ca96581dd328049ecfb126bd3d46ef59b177f4c15b25af9ce57d16e8351fba1b8ad806c03f514516acfca9fbebb21062656549d10f3481d34b430aa689afce1de571432eec8ef3cf3182b8", 0xee}, {&(0x7f00000011c0)="30fa13ab4901afa6d350af3f7f9472d40729a13be9eda07e1792a6518a9e4a3167ae7718ca8e0806316bb3725d7345627251fd3d167992e4397abd9cae860dc412f4435f9ff71ae2dd04d6d236447f25522e5025ea137800d749131686ebfe4957de994bba653de6ae9da1aa65ba3973e0c1e4bd8d34d9c9eaa19599623a87f01f95e2c80fcc820949e6fe0da857d99bdfc4a4cafdb7005ca613ba76fb83521b48885b0b9a5094f3ea9d201fefca84669ef6f17b077b0eb3d70a2851a67a4549bc6d922a", 0xc4}, {&(0x7f00000012c0)="5ae96f41a8ecfcd4bf2807c979c671395e07bad494268b6fd9741c4dd6f511c5a543632091c8ca56d9a7c717e171d9079ae4dce438b260c1a21bbf44e33071e73673072038f4ee1d7b37a43922a2d6f5230b8dbca3d647f54775ad7d3b2526602cce122bb9ace3c218100e1401677c6179a6487230c9c568b3de8b7707020567b1658a98e289ea1b5d6341b62ce7d74e6d75a79da9a34bebfdac1916fc9be832dd4ed988bafd960a108ca8ccfc0c1ece11ce7bcce1e14bb8c48ec2b752d8d5d09470e8bc78abc971afca2a2a68d8183eeec2444c816c07a71ec3f7c9843cfcdd36f870e6da1f93ca8a265c81a189", 0xee}, {&(0x7f0000000580)="3c80d8dec385ca47d5fb3ea6cf5cdc8830e0d83842f6218b2a77c3f409904391572b7c6932fd0ff21b015b27ff86d1673a77160d23a683fb4d0edc53ad49958c443b27ca1f093a69dfaeef812dc8155ef54e0f47b0e0d238269010de5156e4250ec72461fa5cf76872c7c0099b0b6505b6edcee046bf045cd471e0c56ab5c0c95a56497c5284efd6e6240a96526f3314c56327a33acfab0de9cb1533336fd37ee096937337fe207ad0b2d5066dd24db1631a466f4fc8619e57a683827141c325db1c85d495f347c2ee88264a1f8153d60932f1320ad87e24e503a9461e8fba", 0xdf}], 0x5}, 0x0) timer_settime(r0, 0x235f652706877cee, &(0x7f0000000780), &(0x7f00000007c0)) vmsplice(0xffffffffffffffff, &(0x7f0000000100)=[{&(0x7f0000000600)='B', 0x20000601}], 0x1, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000680)={0x0, 0xf, &(0x7f0000000980)=ANY=[@ANYBLOB, @ANYBLOB="00000000400000008510000002000000851000000800000018480000f8ffefff000000000000000002640900030000002a1710ad6c16ec000400000018510000030000000000000000000000950000000000000095000000000000008badf4bbea8f4bed1fee6be8d44781320df8c858e990be4cfdc6e3dbe39a28109856ff49f51230a52c9a8628f6bcb340f3c0b9add9b85cefa0269abb6b2a6ec9e85074d912759630a78fe09a17f271b99c6f36f1713c16002a58925bd79872c27dc8dccf6104c87c9c9b32f2346ae12e99e98a693fda65e2"], &(0x7f00000000c0)='syzkaller\x00', 0x7, 0x0, 0x0, 0x41100, 0x18, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f00000001c0)={0x3, 0x23}, 0x8, 0x10, 0x0}, 0x80) socket$packet(0x11, 0x0, 0x300) getpeername$packet(0xffffffffffffffff, &(0x7f0000000140)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @remote}, &(0x7f0000000180)=0x14) openat$ttyS3(0xffffff9c, &(0x7f0000000000), 0x107640, 0x0) 04:26:01 executing program 5: unshare(0xb4d09587072166cf) unshare(0x44000000) ioctl$KVM_SET_MP_STATE(0xffffffffffffffff, 0x4004ae99, &(0x7f0000000040)=0x1) 04:26:01 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$tipc2(&(0x7f0000000080), 0xffffffffffffffff) sendmsg$TIPC_NL_NODE_GET(r0, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000440)={&(0x7f0000000100)={0x14, r1, 0xed45881629c87717}, 0x14}}, 0x0) 04:26:01 executing program 1: syz_emit_ethernet(0x46, &(0x7f0000000180)={@local, @broadcast, @void, {@ipv4={0x800, @udp={{0x5, 0x4, 0x0, 0x0, 0x38, 0x0, 0x0, 0x0, 0x11, 0x0, @rand_addr, @empty}, {0x0, 0x1b59, 0x24, 0x0, @wg=@data={0x4, 0x0, 0x2, "1f14741d056d6d81d9f68d9c"}}}}}}, 0x0) 04:26:01 executing program 2: r0 = syz_open_dev$sg(&(0x7f0000000000), 0x0, 0x0) ioctl$SG_GET_NUM_WAITING(r0, 0x227d, &(0x7f0000002380)) 04:26:02 executing program 4: capget(&(0x7f0000000000), 0x0) capget(0x0, 0x0) socket$nl_netfilter(0x10, 0x3, 0xc) r0 = eventfd2(0x6, 0x0) write$eventfd(r0, &(0x7f0000000640)=0x8, 0x8) pipe2$watch_queue(0x0, 0x80) sendmsg$IPSET_CMD_LIST(0xffffffffffffffff, 0x0, 0x0) sendmsg$IPSET_CMD_FLUSH(0xffffffffffffffff, 0x0, 0x0) sendmsg$NFQNL_MSG_CONFIG(0xffffffffffffffff, &(0x7f0000000240)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x200}, 0xc, &(0x7f0000000200)={&(0x7f00000001c0)={0x40, 0x2, 0x3, 0xbfabae48da9139ab, 0x0, 0x0, {0x1, 0x0, 0x4}, [@NFQA_CFG_CMD={0x8, 0x1, {0x0, 0x0, 0xa}}, @NFQA_CFG_PARAMS={0x9, 0x2, {0x1, 0x1}}, @NFQA_CFG_CMD={0x8, 0x1, {0x4, 0x0, 0x6}}, @NFQA_CFG_MASK={0x8, 0x4, 0x1, 0x0, 0x1}, @NFQA_CFG_CMD={0x8, 0x1, {0x1, 0x0, 0xb}}]}, 0x40}}, 0x0) r1 = socket$nl_netfilter(0x10, 0x3, 0xc) r2 = getpgid(0xffffffffffffffff) capget(&(0x7f0000000380)={0x20071026, r2}, &(0x7f00000003c0)={0xffffffff, 0x5f, 0x22a0, 0x3, 0x80000000}) sendmsg$NFULNL_MSG_CONFIG(r1, &(0x7f0000000140)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x10}, 0xc, &(0x7f0000000100)={&(0x7f0000000080)={0x44, 0x1, 0x4, 0x5, 0x0, 0x0, {0xc, 0x0, 0x3}, [@NFULA_CFG_FLAGS={0x6, 0x6, 0x1, 0x0, 0x4}, @NFULA_CFG_NLBUFSIZ={0x8, 0x3, 0x1, 0x0, 0x5}, @NFULA_CFG_QTHRESH={0x8, 0x5, 0x1, 0x0, 0x9}, @NFULA_CFG_CMD={0x5, 0x1, 0x1}, @NFULA_CFG_NLBUFSIZ={0x8}, @NFULA_CFG_TIMEOUT={0x8, 0x4, 0x1, 0x0, 0x80000001}]}, 0x44}, 0x1, 0x0, 0x0, 0x24001}, 0x0) pipe2$watch_queue(0x0, 0x80) sendmsg$NFULNL_MSG_CONFIG(r1, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f00000002c0)=ANY=[@ANYBLOB="3800000001040900000000000000034000000003080005817d4c7a90a3d3"], 0x38}, 0x1, 0x0, 0x0, 0x800}, 0x80) 04:26:03 executing program 1: r0 = socket$inet_dccp(0x2, 0x6, 0x0) getsockopt$inet_int(r0, 0x10d, 0xe3, &(0x7f0000000100), &(0x7f0000000000)=0x15) 04:26:03 executing program 2: openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='memory.events\x00', 0x275a, 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='memory.events\x00', 0x7a05, 0x1700) open_by_handle_at(r0, &(0x7f00000000c0)=@ocfs2_parent={0x18, 0x2, {{0x3ff, 0x10000}}}, 0x0) [ 553.475397][ T8756] netlink: 28 bytes leftover after parsing attributes in process `syz-executor.4'. 04:26:03 executing program 4: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f00000004c0)={'batadv_slave_1\x00', 0x0}) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$sock_inet6_SIOCSIFADDR(r3, 0x8916, &(0x7f0000000180)={@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0x0, r2}) r4 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r4, 0x8933, &(0x7f00000004c0)={'batadv_slave_1\x00', 0x0}) r6 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$sock_inet6_SIOCSIFADDR(r6, 0x8916, &(0x7f0000000180)={@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0x0, r5}) r7 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r7, 0x8933, &(0x7f00000004c0)={'batadv_slave_0\x00', 0x0}) r9 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$sock_inet6_SIOCSIFADDR(r9, 0x8916, &(0x7f0000000180)={@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0x0, r8}) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000100)={'veth0\x00', 0x0}) r11 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r11, 0x8933, &(0x7f00000004c0)={'batadv_slave_1\x00', 0x0}) r13 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$sock_inet6_SIOCSIFADDR(r13, 0x8916, &(0x7f0000000180)={@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0x0, r12}) sendmsg$ETHTOOL_MSG_LINKINFO_GET(0xffffffffffffffff, &(0x7f0000000300)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x1000}, 0xc, &(0x7f00000002c0)={&(0x7f0000000340)=ANY=[@ANYBLOB="44010000", @ANYRES16=0x0, @ANYBLOB="906687bf097dac4a60112a65a6063e00022dbd7000fedbdf25020000001c00018008002100", @ANYRES32=r10, @ANYBLOB="43120100", @ANYRES32=0x0, @ANYBLOB="080003000100000050000180080003000000000008000100", @ANYRES32=0x0, @ANYBLOB="080003000100000008000100", @ANYRES32=0x0, @ANYBLOB="08000100", @ANYRES32=0x0, @ANYBLOB="1400020064756d6d79300000000000000000000008000100", @ANYRES32=0x0, @ANYBLOB="08000300030000005c0001801400020073797a6b616c6c657231000000000000140002007465616d300000000000000000000000080003000100000008000100", @ANYRES32=0x0, @ANYBLOB="080003000100000008000100", @ANYRES32=0x0, @ANYBLOB="080003000100000008000100", @ANYRES32=0x0, @ANYBLOB="200001801400020076657468305f766972745f776966690008000100", @ANYRES32=r2, @ANYBLOB="4800018008000100", @ANYRES32=r5, @ANYBLOB="08000100", @ANYRES32=r8, @ANYBLOB="1400020069705f7674693000000000000000000008000100", @ANYRES32=r10, @ANYBLOB="080003000200000008000100", @ANYRES32=r12, @ANYBLOB="0800030000000000"], 0x144}, 0x1, 0x0, 0x0, 0x20080014}, 0x40c0010) 04:26:04 executing program 0: unshare(0x6c060000) pipe(0x0) timer_create(0x9, &(0x7f0000000100)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000540)=0x0) timer_settime(0x0, 0x0, &(0x7f000006b000)={{0x0, 0x8}, {0x0, 0x9}}, 0x0) r1 = socket$inet_tcp(0x2, 0x1, 0x0) sendto$inet(0xffffffffffffffff, 0x0, 0x0, 0x20008005, &(0x7f0000000140)={0x2, 0x4e20, @multicast2}, 0x10) r2 = socket$inet(0x10, 0x80003, 0x0) sendmsg(r2, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000300)=[{&(0x7f0000000040)}], 0x1}, 0x0) ioctl$sock_SIOCGIFVLAN_DEL_VLAN_CMD(r2, 0x8982, &(0x7f0000000100)={0x1, 'vlan1\x00', {}, 0x1ff}) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000300)={0x8, 0x5, &(0x7f0000000080)=@framed={{0x18, 0x0, 0x0, 0x0, 0x3000}, [@alu={0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, @jmp={0x5, 0x0, 0x2, 0x0, 0x0, 0xfffffffffffffffe}]}, &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x40f00, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000280)={0x0, 0x5, &(0x7f0000000080)=ANY=[], &(0x7f0000000000)='syzkaller\x00', 0x755b, 0x0, 0x0, 0x0, 0x10, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) recvfrom(r1, &(0x7f0000000480)=""/110, 0xfffffe32, 0x0, 0x0, 0xffffffffffffff39) sendmsg(0xffffffffffffffff, &(0x7f0000000200)={&(0x7f0000000380)=@ieee802154={0x24, @short={0x2, 0x3, 0xaaa1}}, 0x80, &(0x7f0000001540)=[{&(0x7f0000000400)="587af6dd1dadd47d35b223f47f8de8e91fd3f3f2d10cd71bc91212eb0a6184c67888e48d17a97aa5b76e261a24a5433c836a8352b985affa4a7826c50ef8feecf2c349547342e8391da6", 0x4a}, {&(0x7f0000000d00)="304e8c9e332b5988fee3aa192cb52f410cdd6e911722dd56a70b6fc8be2b08b984bcf210db046e633b9e2eab071e6d8e4d6086c31151580dd5bb4630343ad17a292b1fdd9e042134c296c5c246a2f92144909ac88570fd9fcd647cf2ba4061381132be4698d48691140dc3b763f263556dd89ec092a0db1cf0fda6883ed1686d493260a38d7f8ecfa63a31b782865eedfb1bc662b174ca2539998a1a63f3ddebcb8d30ca96581dd328049ecfb126bd3d46ef59b177f4c15b25af9ce57d16e8351fba1b8ad806c03f514516acfca9fbebb21062656549d10f3481d34b430aa689afce1de571432eec8ef3cf3182b8", 0xee}, {&(0x7f00000011c0)="30fa13ab4901afa6d350af3f7f9472d40729a13be9eda07e1792a6518a9e4a3167ae7718ca8e0806316bb3725d7345627251fd3d167992e4397abd9cae860dc412f4435f9ff71ae2dd04d6d236447f25522e5025ea137800d749131686ebfe4957de994bba653de6ae9da1aa65ba3973e0c1e4bd8d34d9c9eaa19599623a87f01f95e2c80fcc820949e6fe0da857d99bdfc4a4cafdb7005ca613ba76fb83521b48885b0b9a5094f3ea9d201fefca84669ef6f17b077b0eb3d70a2851a67a4549bc6d922a", 0xc4}, {&(0x7f00000012c0)="5ae96f41a8ecfcd4bf2807c979c671395e07bad494268b6fd9741c4dd6f511c5a543632091c8ca56d9a7c717e171d9079ae4dce438b260c1a21bbf44e33071e73673072038f4ee1d7b37a43922a2d6f5230b8dbca3d647f54775ad7d3b2526602cce122bb9ace3c218100e1401677c6179a6487230c9c568b3de8b7707020567b1658a98e289ea1b5d6341b62ce7d74e6d75a79da9a34bebfdac1916fc9be832dd4ed988bafd960a108ca8ccfc0c1ece11ce7bcce1e14bb8c48ec2b752d8d5d09470e8bc78abc971afca2a2a68d8183eeec2444c816c07a71ec3f7c9843cfcdd36f870e6da1f93ca8a265c81a189", 0xee}, {&(0x7f0000000580)="3c80d8dec385ca47d5fb3ea6cf5cdc8830e0d83842f6218b2a77c3f409904391572b7c6932fd0ff21b015b27ff86d1673a77160d23a683fb4d0edc53ad49958c443b27ca1f093a69dfaeef812dc8155ef54e0f47b0e0d238269010de5156e4250ec72461fa5cf76872c7c0099b0b6505b6edcee046bf045cd471e0c56ab5c0c95a56497c5284efd6e6240a96526f3314c56327a33acfab0de9cb1533336fd37ee096937337fe207ad0b2d5066dd24db1631a466f4fc8619e57a683827141c325db1c85d495f347c2ee88264a1f8153d60932f1320ad87e24e503a9461e8fba", 0xdf}], 0x5}, 0x0) timer_settime(r0, 0x235f652706877cee, &(0x7f0000000780), &(0x7f00000007c0)) vmsplice(0xffffffffffffffff, &(0x7f0000000100)=[{&(0x7f0000000600)='B', 0x20000601}], 0x1, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000680)={0x0, 0xf, &(0x7f0000000980)=ANY=[@ANYBLOB, @ANYBLOB="00000000400000008510000002000000851000000800000018480000f8ffefff000000000000000002640900030000002a1710ad6c16ec000400000018510000030000000000000000000000950000000000000095000000000000008badf4bbea8f4bed1fee6be8d44781320df8c858e990be4cfdc6e3dbe39a28109856ff49f51230a52c9a8628f6bcb340f3c0b9add9b85cefa0269abb6b2a6ec9e85074d912759630a78fe09a17f271b99c6f36f1713c16002a58925bd79872c27dc8dccf6104c87c9c9b32f2346ae12e99e98a693fda65e2"], &(0x7f00000000c0)='syzkaller\x00', 0x7, 0x0, 0x0, 0x41100, 0x18, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f00000001c0)={0x3, 0x23}, 0x8, 0x10, 0x0}, 0x80) socket$packet(0x11, 0x0, 0x300) getpeername$packet(0xffffffffffffffff, &(0x7f0000000140)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @remote}, &(0x7f0000000180)=0x14) openat$ttyS3(0xffffff9c, &(0x7f0000000000), 0x107640, 0x0) 04:26:04 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000780)={0x0, 0x0, &(0x7f0000000740)={&(0x7f0000000300)={0x48, 0x2, 0x6, 0x101, 0x0, 0x0, {}, [@IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_TYPENAME={0x10, 0x3, 'hash:ip,mac\x00'}]}, 0x48}}, 0x0) sendmsg$IPSET_CMD_DESTROY(r0, &(0x7f0000000a40)={0x0, 0x0, &(0x7f0000000a00)={&(0x7f00000009c0)={0x28, 0x3, 0x6, 0x201, 0x0, 0x0, {}, [@IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}]}, 0x28}}, 0x0) 04:26:04 executing program 2: openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='memory.events\x00', 0x275a, 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='memory.events\x00', 0x7a05, 0x1700) open_by_handle_at(r0, &(0x7f00000000c0)=@ocfs2_parent={0x18, 0x2, {{0x3ff, 0x10000}}}, 0x0) 04:26:04 executing program 3: unshare(0x6c060000) pipe(0x0) timer_create(0x9, &(0x7f0000000100)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000540)=0x0) timer_settime(0x0, 0x0, &(0x7f000006b000)={{0x0, 0x8}, {0x0, 0x9}}, 0x0) r1 = socket$inet_tcp(0x2, 0x1, 0x0) sendto$inet(0xffffffffffffffff, 0x0, 0x0, 0x20008005, &(0x7f0000000140)={0x2, 0x4e20, @multicast2}, 0x10) r2 = socket$inet(0x10, 0x80003, 0x0) sendmsg(r2, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000300)=[{&(0x7f0000000040)}], 0x1}, 0x0) ioctl$sock_SIOCGIFVLAN_DEL_VLAN_CMD(r2, 0x8982, &(0x7f0000000100)={0x1, 'vlan1\x00', {}, 0x1ff}) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000300)={0x8, 0x5, &(0x7f0000000080)=@framed={{0x18, 0x0, 0x0, 0x0, 0x3000}, [@alu={0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, @jmp={0x5, 0x0, 0x2, 0x0, 0x0, 0xfffffffffffffffe}]}, &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x40f00, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000280)={0x0, 0x5, &(0x7f0000000080)=ANY=[], &(0x7f0000000000)='syzkaller\x00', 0x755b, 0x0, 0x0, 0x0, 0x10, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) recvfrom(r1, &(0x7f0000000480)=""/110, 0xfffffe32, 0x0, 0x0, 0xffffffffffffff39) sendmsg(0xffffffffffffffff, &(0x7f0000000200)={&(0x7f0000000380)=@ieee802154={0x24, @short={0x2, 0x3, 0xaaa1}}, 0x80, &(0x7f0000001540)=[{&(0x7f0000000400)="587af6dd1dadd47d35b223f47f8de8e91fd3f3f2d10cd71bc91212eb0a6184c67888e48d17a97aa5b76e261a24a5433c836a8352b985affa4a7826c50ef8feecf2c349547342e8391da6", 0x4a}, {&(0x7f0000000d00)="304e8c9e332b5988fee3aa192cb52f410cdd6e911722dd56a70b6fc8be2b08b984bcf210db046e633b9e2eab071e6d8e4d6086c31151580dd5bb4630343ad17a292b1fdd9e042134c296c5c246a2f92144909ac88570fd9fcd647cf2ba4061381132be4698d48691140dc3b763f263556dd89ec092a0db1cf0fda6883ed1686d493260a38d7f8ecfa63a31b782865eedfb1bc662b174ca2539998a1a63f3ddebcb8d30ca96581dd328049ecfb126bd3d46ef59b177f4c15b25af9ce57d16e8351fba1b8ad806c03f514516acfca9fbebb21062656549d10f3481d34b430aa689afce1de571432eec8ef3cf3182b8", 0xee}, {&(0x7f00000011c0)="30fa13ab4901afa6d350af3f7f9472d40729a13be9eda07e1792a6518a9e4a3167ae7718ca8e0806316bb3725d7345627251fd3d167992e4397abd9cae860dc412f4435f9ff71ae2dd04d6d236447f25522e5025ea137800d749131686ebfe4957de994bba653de6ae9da1aa65ba3973e0c1e4bd8d34d9c9eaa19599623a87f01f95e2c80fcc820949e6fe0da857d99bdfc4a4cafdb7005ca613ba76fb83521b48885b0b9a5094f3ea9d201fefca84669ef6f17b077b0eb3d70a2851a67a4549bc6d922a", 0xc4}, {&(0x7f00000012c0)="5ae96f41a8ecfcd4bf2807c979c671395e07bad494268b6fd9741c4dd6f511c5a543632091c8ca56d9a7c717e171d9079ae4dce438b260c1a21bbf44e33071e73673072038f4ee1d7b37a43922a2d6f5230b8dbca3d647f54775ad7d3b2526602cce122bb9ace3c218100e1401677c6179a6487230c9c568b3de8b7707020567b1658a98e289ea1b5d6341b62ce7d74e6d75a79da9a34bebfdac1916fc9be832dd4ed988bafd960a108ca8ccfc0c1ece11ce7bcce1e14bb8c48ec2b752d8d5d09470e8bc78abc971afca2a2a68d8183eeec2444c816c07a71ec3f7c9843cfcdd36f870e6da1f93ca8a265c81a189", 0xee}, {&(0x7f0000000580)="3c80d8dec385ca47d5fb3ea6cf5cdc8830e0d83842f6218b2a77c3f409904391572b7c6932fd0ff21b015b27ff86d1673a77160d23a683fb4d0edc53ad49958c443b27ca1f093a69dfaeef812dc8155ef54e0f47b0e0d238269010de5156e4250ec72461fa5cf76872c7c0099b0b6505b6edcee046bf045cd471e0c56ab5c0c95a56497c5284efd6e6240a96526f3314c56327a33acfab0de9cb1533336fd37ee096937337fe207ad0b2d5066dd24db1631a466f4fc8619e57a683827141c325db1c85d495f347c2ee88264a1f8153d60932f1320ad87e24e503a9461e8fba", 0xdf}], 0x5}, 0x0) timer_settime(r0, 0x235f652706877cee, &(0x7f0000000780), &(0x7f00000007c0)) vmsplice(0xffffffffffffffff, &(0x7f0000000100)=[{&(0x7f0000000600)='B', 0x20000601}], 0x1, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000680)={0x0, 0xf, &(0x7f0000000980)=ANY=[@ANYBLOB, @ANYBLOB="00000000400000008510000002000000851000000800000018480000f8ffefff000000000000000002640900030000002a1710ad6c16ec000400000018510000030000000000000000000000950000000000000095000000000000008badf4bbea8f4bed1fee6be8d44781320df8c858e990be4cfdc6e3dbe39a28109856ff49f51230a52c9a8628f6bcb340f3c0b9add9b85cefa0269abb6b2a6ec9e85074d912759630a78fe09a17f271b99c6f36f1713c16002a58925bd79872c27dc8dccf6104c87c9c9b32f2346ae12e99e98a693fda65e2"], &(0x7f00000000c0)='syzkaller\x00', 0x7, 0x0, 0x0, 0x41100, 0x18, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f00000001c0)={0x3, 0x23}, 0x8, 0x10, 0x0}, 0x80) socket$packet(0x11, 0x0, 0x300) getpeername$packet(0xffffffffffffffff, &(0x7f0000000140)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @remote}, &(0x7f0000000180)=0x14) openat$ttyS3(0xffffff9c, &(0x7f0000000000), 0x107640, 0x0) 04:26:07 executing program 5: unshare(0xb4d09587072166cf) unshare(0x44000000) ioctl$KVM_SET_MP_STATE(0xffffffffffffffff, 0x4004ae99, &(0x7f0000000040)=0x1) 04:26:07 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000780)={0x0, 0x0, &(0x7f0000000740)={&(0x7f0000000300)={0x48, 0x2, 0x6, 0x101, 0x0, 0x0, {}, [@IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_TYPENAME={0x10, 0x3, 'hash:ip,mac\x00'}]}, 0x48}}, 0x0) sendmsg$IPSET_CMD_DESTROY(r0, &(0x7f0000000a40)={0x0, 0x0, &(0x7f0000000a00)={&(0x7f00000009c0)={0x28, 0x3, 0x6, 0x201, 0x0, 0x0, {}, [@IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}]}, 0x28}}, 0x0) 04:26:07 executing program 4: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f00000004c0)={'batadv_slave_1\x00', 0x0}) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$sock_inet6_SIOCSIFADDR(r3, 0x8916, &(0x7f0000000180)={@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0x0, r2}) r4 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r4, 0x8933, &(0x7f00000004c0)={'batadv_slave_1\x00', 0x0}) r6 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$sock_inet6_SIOCSIFADDR(r6, 0x8916, &(0x7f0000000180)={@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0x0, r5}) r7 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r7, 0x8933, &(0x7f00000004c0)={'batadv_slave_0\x00', 0x0}) r9 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$sock_inet6_SIOCSIFADDR(r9, 0x8916, &(0x7f0000000180)={@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0x0, r8}) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000100)={'veth0\x00', 0x0}) r11 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r11, 0x8933, &(0x7f00000004c0)={'batadv_slave_1\x00', 0x0}) r13 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$sock_inet6_SIOCSIFADDR(r13, 0x8916, &(0x7f0000000180)={@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0x0, r12}) sendmsg$ETHTOOL_MSG_LINKINFO_GET(0xffffffffffffffff, &(0x7f0000000300)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x1000}, 0xc, &(0x7f00000002c0)={&(0x7f0000000340)=ANY=[@ANYBLOB="44010000", @ANYRES16=0x0, @ANYBLOB="906687bf097dac4a60112a65a6063e00022dbd7000fedbdf25020000001c00018008002100", @ANYRES32=r10, @ANYBLOB="43120100", @ANYRES32=0x0, @ANYBLOB="080003000100000050000180080003000000000008000100", @ANYRES32=0x0, @ANYBLOB="080003000100000008000100", @ANYRES32=0x0, @ANYBLOB="08000100", @ANYRES32=0x0, @ANYBLOB="1400020064756d6d79300000000000000000000008000100", @ANYRES32=0x0, @ANYBLOB="08000300030000005c0001801400020073797a6b616c6c657231000000000000140002007465616d300000000000000000000000080003000100000008000100", @ANYRES32=0x0, @ANYBLOB="080003000100000008000100", @ANYRES32=0x0, @ANYBLOB="080003000100000008000100", @ANYRES32=0x0, @ANYBLOB="200001801400020076657468305f766972745f776966690008000100", @ANYRES32=r2, @ANYBLOB="4800018008000100", @ANYRES32=r5, @ANYBLOB="08000100", @ANYRES32=r8, @ANYBLOB="1400020069705f7674693000000000000000000008000100", @ANYRES32=r10, @ANYBLOB="080003000200000008000100", @ANYRES32=r12, @ANYBLOB="0800030000000000"], 0x144}, 0x1, 0x0, 0x0, 0x20080014}, 0x40c0010) 04:26:07 executing program 2: openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='memory.events\x00', 0x275a, 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='memory.events\x00', 0x7a05, 0x1700) open_by_handle_at(r0, &(0x7f00000000c0)=@ocfs2_parent={0x18, 0x2, {{0x3ff, 0x10000}}}, 0x0) 04:26:07 executing program 3: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) r1 = dup(r0) setsockopt$inet_sctp6_SCTP_RECONFIG_SUPPORTED(r0, 0x84, 0x75, &(0x7f0000000180)={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_ADD_STREAMS(r0, 0x84, 0x79, &(0x7f0000000200)={0x0, 0x0, 0xff00}, 0x8) setsockopt$inet_sctp6_SCTP_ADD_STREAMS(r1, 0x84, 0x79, &(0x7f00000000c0)={0x0, 0x0, 0x9a38}, 0x8) 04:26:07 executing program 0: syz_mount_image$cramfs(&(0x7f0000005e00), &(0x7f0000005e40)='./file0\x00', 0x0, 0x0, 0x0, 0x1080000, &(0x7f0000006080)) 04:26:07 executing program 0: syz_emit_ethernet(0x86, &(0x7f00000000c0)={@multicast, @dev, @void, {@ipv4={0x800, @udp={{0x5, 0x4, 0x0, 0x0, 0x78, 0x0, 0x0, 0x0, 0x11, 0x0, @empty, @empty}, {0x0, 0x1b59, 0x64, 0x0, @wg=@response={0x4, 0x0, 0x2, "00008011084f390401e1081906000000000000feffffffffffff1dde00000001", "9384bbeb3018ad591b661fe808b21b77", {'\x00', "a329d3a13bd5b6cc6a9471314a1d8c69"}}}}}}}, 0x0) 04:26:07 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000780)={0x0, 0x0, &(0x7f0000000740)={&(0x7f0000000300)={0x48, 0x2, 0x6, 0x101, 0x0, 0x0, {}, [@IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_TYPENAME={0x10, 0x3, 'hash:ip,mac\x00'}]}, 0x48}}, 0x0) sendmsg$IPSET_CMD_DESTROY(r0, &(0x7f0000000a40)={0x0, 0x0, &(0x7f0000000a00)={&(0x7f00000009c0)={0x28, 0x3, 0x6, 0x201, 0x0, 0x0, {}, [@IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}]}, 0x28}}, 0x0) 04:26:07 executing program 4: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f00000004c0)={'batadv_slave_1\x00', 0x0}) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$sock_inet6_SIOCSIFADDR(r3, 0x8916, &(0x7f0000000180)={@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0x0, r2}) r4 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r4, 0x8933, &(0x7f00000004c0)={'batadv_slave_1\x00', 0x0}) r6 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$sock_inet6_SIOCSIFADDR(r6, 0x8916, &(0x7f0000000180)={@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0x0, r5}) r7 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r7, 0x8933, &(0x7f00000004c0)={'batadv_slave_0\x00', 0x0}) r9 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$sock_inet6_SIOCSIFADDR(r9, 0x8916, &(0x7f0000000180)={@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0x0, r8}) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000100)={'veth0\x00', 0x0}) r11 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r11, 0x8933, &(0x7f00000004c0)={'batadv_slave_1\x00', 0x0}) r13 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$sock_inet6_SIOCSIFADDR(r13, 0x8916, &(0x7f0000000180)={@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0x0, r12}) sendmsg$ETHTOOL_MSG_LINKINFO_GET(0xffffffffffffffff, &(0x7f0000000300)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x1000}, 0xc, &(0x7f00000002c0)={&(0x7f0000000340)=ANY=[@ANYBLOB="44010000", @ANYRES16=0x0, @ANYBLOB="906687bf097dac4a60112a65a6063e00022dbd7000fedbdf25020000001c00018008002100", @ANYRES32=r10, @ANYBLOB="43120100", @ANYRES32=0x0, @ANYBLOB="080003000100000050000180080003000000000008000100", @ANYRES32=0x0, @ANYBLOB="080003000100000008000100", @ANYRES32=0x0, @ANYBLOB="08000100", @ANYRES32=0x0, @ANYBLOB="1400020064756d6d79300000000000000000000008000100", @ANYRES32=0x0, @ANYBLOB="08000300030000005c0001801400020073797a6b616c6c657231000000000000140002007465616d300000000000000000000000080003000100000008000100", @ANYRES32=0x0, @ANYBLOB="080003000100000008000100", @ANYRES32=0x0, @ANYBLOB="080003000100000008000100", @ANYRES32=0x0, @ANYBLOB="200001801400020076657468305f766972745f776966690008000100", @ANYRES32=r2, @ANYBLOB="4800018008000100", @ANYRES32=r5, @ANYBLOB="08000100", @ANYRES32=r8, @ANYBLOB="1400020069705f7674693000000000000000000008000100", @ANYRES32=r10, @ANYBLOB="080003000200000008000100", @ANYRES32=r12, @ANYBLOB="0800030000000000"], 0x144}, 0x1, 0x0, 0x0, 0x20080014}, 0x40c0010) 04:26:07 executing program 2: openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='memory.events\x00', 0x275a, 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='memory.events\x00', 0x7a05, 0x1700) open_by_handle_at(r0, &(0x7f00000000c0)=@ocfs2_parent={0x18, 0x2, {{0x3ff, 0x10000}}}, 0x0) 04:26:08 executing program 3: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) r1 = dup(r0) setsockopt$inet_sctp6_SCTP_RECONFIG_SUPPORTED(r0, 0x84, 0x75, &(0x7f0000000180)={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_ADD_STREAMS(r0, 0x84, 0x79, &(0x7f0000000200)={0x0, 0x0, 0xff00}, 0x8) setsockopt$inet_sctp6_SCTP_ADD_STREAMS(r1, 0x84, 0x79, &(0x7f00000000c0)={0x0, 0x0, 0x9a38}, 0x8) 04:26:08 executing program 0: setpriority(0x2, 0x8000, 0x0) 04:26:09 executing program 5: unshare(0xb4d09587072166cf) unshare(0x44000000) ioctl$KVM_SET_MP_STATE(0xffffffffffffffff, 0x4004ae99, &(0x7f0000000040)=0x1) 04:26:09 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000780)={0x0, 0x0, &(0x7f0000000740)={&(0x7f0000000300)={0x48, 0x2, 0x6, 0x101, 0x0, 0x0, {}, [@IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_TYPENAME={0x10, 0x3, 'hash:ip,mac\x00'}]}, 0x48}}, 0x0) sendmsg$IPSET_CMD_DESTROY(r0, &(0x7f0000000a40)={0x0, 0x0, &(0x7f0000000a00)={&(0x7f00000009c0)={0x28, 0x3, 0x6, 0x201, 0x0, 0x0, {}, [@IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}]}, 0x28}}, 0x0) 04:26:09 executing program 4: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f00000004c0)={'batadv_slave_1\x00', 0x0}) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$sock_inet6_SIOCSIFADDR(r3, 0x8916, &(0x7f0000000180)={@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0x0, r2}) r4 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r4, 0x8933, &(0x7f00000004c0)={'batadv_slave_1\x00', 0x0}) r6 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$sock_inet6_SIOCSIFADDR(r6, 0x8916, &(0x7f0000000180)={@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0x0, r5}) r7 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r7, 0x8933, &(0x7f00000004c0)={'batadv_slave_0\x00', 0x0}) r9 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$sock_inet6_SIOCSIFADDR(r9, 0x8916, &(0x7f0000000180)={@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0x0, r8}) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000100)={'veth0\x00', 0x0}) r11 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r11, 0x8933, &(0x7f00000004c0)={'batadv_slave_1\x00', 0x0}) r13 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$sock_inet6_SIOCSIFADDR(r13, 0x8916, &(0x7f0000000180)={@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0x0, r12}) sendmsg$ETHTOOL_MSG_LINKINFO_GET(0xffffffffffffffff, &(0x7f0000000300)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x1000}, 0xc, &(0x7f00000002c0)={&(0x7f0000000340)=ANY=[@ANYBLOB="44010000", @ANYRES16=0x0, @ANYBLOB="906687bf097dac4a60112a65a6063e00022dbd7000fedbdf25020000001c00018008002100", @ANYRES32=r10, @ANYBLOB="43120100", @ANYRES32=0x0, @ANYBLOB="080003000100000050000180080003000000000008000100", @ANYRES32=0x0, @ANYBLOB="080003000100000008000100", @ANYRES32=0x0, @ANYBLOB="08000100", @ANYRES32=0x0, @ANYBLOB="1400020064756d6d79300000000000000000000008000100", @ANYRES32=0x0, @ANYBLOB="08000300030000005c0001801400020073797a6b616c6c657231000000000000140002007465616d300000000000000000000000080003000100000008000100", @ANYRES32=0x0, @ANYBLOB="080003000100000008000100", @ANYRES32=0x0, @ANYBLOB="080003000100000008000100", @ANYRES32=0x0, @ANYBLOB="200001801400020076657468305f766972745f776966690008000100", @ANYRES32=r2, @ANYBLOB="4800018008000100", @ANYRES32=r5, @ANYBLOB="08000100", @ANYRES32=r8, @ANYBLOB="1400020069705f7674693000000000000000000008000100", @ANYRES32=r10, @ANYBLOB="080003000200000008000100", @ANYRES32=r12, @ANYBLOB="0800030000000000"], 0x144}, 0x1, 0x0, 0x0, 0x20080014}, 0x40c0010) 04:26:09 executing program 2: syz_init_net_socket$bt_hci(0x1f, 0x6, 0x5) 04:26:09 executing program 3: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) r1 = dup(r0) setsockopt$inet_sctp6_SCTP_RECONFIG_SUPPORTED(r0, 0x84, 0x75, &(0x7f0000000180)={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_ADD_STREAMS(r0, 0x84, 0x79, &(0x7f0000000200)={0x0, 0x0, 0xff00}, 0x8) setsockopt$inet_sctp6_SCTP_ADD_STREAMS(r1, 0x84, 0x79, &(0x7f00000000c0)={0x0, 0x0, 0x9a38}, 0x8) 04:26:09 executing program 0: r0 = socket$inet_udplite(0x2, 0x2, 0x88) sendmsg$inet(r0, &(0x7f0000000180)={&(0x7f0000000000)={0x2, 0x4e23, @initdev={0xac, 0x1e, 0x0, 0x0}}, 0x10, 0x0, 0x0, &(0x7f0000000040)=[@ip_retopts={{0x38, 0x0, 0x7, {[@noop, @timestamp_prespec={0x44, 0x24, 0x20, 0x3, 0x0, [{@local}, {}, {}, {}]}]}}}], 0x38}, 0x0) 04:26:09 executing program 2: syz_init_net_socket$bt_hci(0x1f, 0x6, 0x5) 04:26:09 executing program 0: syz_read_part_table(0x0, 0xaaaaaaaaaaaabc1, &(0x7f0000000200)=[{&(0x7f0000000000)="6c76d38548ada8cd6af8182ce5c4afd75aef2e2a3f4633a05863052399a78abf3532bac82eab32b7eb5c4431d22250b9650000000000000002a9e97c6d8bffbb74e950e30b015603f2ff0000000000000003eed001cb8420d6ba879ca575ef6f94e2c987f5e49231d6955a75c3053f1387c3699c9bb19b221d6413fe34325835ec6fe6b61162cd201827ff90fb136f199fc23bd0fa8139c4b2bc4e10754fa6c244890b", 0xa3, 0x8}, {&(0x7f0000000280)="00f9bc54eb0c2016b47724fb16ed298a5104f9497c4edf1fde810d6be0717a173f29d9fbf026ea0d133eeea34e46d061e8e203963083aaa987f1d00c4146bdd86e411a60e90f8d54a5c5a29d6cc728ce8e85f38d911cac625c7ce1d59fc89e7fab884a26444400ab668d25b2ecc542787b72a45d044b6c771501d7bd580f191d5e3741317ada37676fbaad", 0x8b, 0x7}, {&(0x7f0000000140)="3e6f2ceedce758531d8fc80b84bff416811bc9586e79b373fbc072dd3f14f288f2337f647ff1c30286679577d599a4e0d995c222b21c190fb01988c4ab0ab820b261a73548f313d8695fc73336de665d58a77972f1b64b421f12fd6978838e79ef1a5717293fef045a30c20936bd56e20fe2b4fc6dc75d9d42b8dc2e6f3e417206618ebeb9f945099146f113eee181909a92b8378b447de1da", 0x99, 0x2}]) 04:26:09 executing program 1: r0 = syz_io_uring_setup(0xcd1, &(0x7f0000000240), &(0x7f0000003000/0x1000)=nil, &(0x7f0000ffe000/0x2000)=nil, &(0x7f0000000040)=0x0, &(0x7f0000000140)=0x0) ppoll(&(0x7f0000000000)=[{r0}], 0x1, 0x0, 0x0, 0x0) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) syz_io_uring_submit(r1, r2, &(0x7f00000008c0)=@IORING_OP_SENDMSG={0x9, 0x4, 0x0, r3, 0x0, &(0x7f0000000880)={0x0, 0x0, 0x0}}, 0x8) syz_io_uring_submit(r1, r2, &(0x7f0000000180)=@IORING_OP_ACCEPT={0xd, 0x0, 0x0, 0xffffffffffffffff, 0x0}, 0x0) io_uring_enter(r0, 0x5595, 0x0, 0x0, 0x0, 0x0) 04:26:09 executing program 3: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) r1 = dup(r0) setsockopt$inet_sctp6_SCTP_RECONFIG_SUPPORTED(r0, 0x84, 0x75, &(0x7f0000000180)={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_ADD_STREAMS(r0, 0x84, 0x79, &(0x7f0000000200)={0x0, 0x0, 0xff00}, 0x8) setsockopt$inet_sctp6_SCTP_ADD_STREAMS(r1, 0x84, 0x79, &(0x7f00000000c0)={0x0, 0x0, 0x9a38}, 0x8) 04:26:09 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000080), 0xffffffffffffffff) r2 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r2, 0x8933, &(0x7f0000000240)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_SET_STATION(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000280)={0x30, r1, 0x129, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_MAC={0xa, 0x6, @device_b}, @NL80211_ATTR_STA_SUPPORTED_CHANNELS={0x6, 0xbd, [0x0]}]}, 0x30}}, 0x0) 04:26:09 executing program 2: syz_init_net_socket$bt_hci(0x1f, 0x6, 0x5) 04:26:10 executing program 2: syz_init_net_socket$bt_hci(0x1f, 0x6, 0x5) 04:26:10 executing program 4: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) close(r0) r1 = openat$sw_sync(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$SW_SYNC_IOC_CREATE_FENCE(r1, 0xc0285700, &(0x7f0000000080)={0x0, "4706000400000000a52f7e4567d73eae00", 0xffffffffffffffff}) r3 = socket$can_raw(0x1d, 0x3, 0x1) dup2(r3, r0) close(r2) 04:26:10 executing program 1: r0 = syz_io_uring_setup(0xcd1, &(0x7f0000000240), &(0x7f0000003000/0x1000)=nil, &(0x7f0000ffe000/0x2000)=nil, &(0x7f0000000040)=0x0, &(0x7f0000000140)=0x0) ppoll(&(0x7f0000000000)=[{r0}], 0x1, 0x0, 0x0, 0x0) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) syz_io_uring_submit(r1, r2, &(0x7f00000008c0)=@IORING_OP_SENDMSG={0x9, 0x4, 0x0, r3, 0x0, &(0x7f0000000880)={0x0, 0x0, 0x0}}, 0x8) syz_io_uring_submit(r1, r2, &(0x7f0000000180)=@IORING_OP_ACCEPT={0xd, 0x0, 0x0, 0xffffffffffffffff, 0x0}, 0x0) io_uring_enter(r0, 0x5595, 0x0, 0x0, 0x0, 0x0) 04:26:10 executing program 0: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f00000002c0)=ANY=[@ANYBLOB="12010000090018105e22060000000000e10109022400010000000009040000090300000009210000000122220009058103"], 0x0) syz_usb_control_io(r0, &(0x7f0000000040)={0x2c, 0x0, 0x0, 0x0, &(0x7f0000000180)={0x20, 0x29, 0xf, {0xf, 0x29, 0x1, 0x0, 0x0, 0x0, "0400", "00000004"}}, 0x0}, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000001d80)={0x2c, &(0x7f0000000200)=ANY=[], 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000440)={0x2c, &(0x7f0000000340)={0x0, 0x0, 0x4, "7a5aa4fd"}, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000400)={0x2c, &(0x7f0000000480)={0x0, 0x0, 0x4, "45940279"}, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000d40)={0x2c, &(0x7f0000000bc0)={0x0, 0x0, 0x4, "ca39717b"}, 0x0, 0x0, 0x0, 0x0}) 04:26:11 executing program 4: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) close(r0) r1 = openat$sw_sync(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$SW_SYNC_IOC_CREATE_FENCE(r1, 0xc0285700, &(0x7f0000000080)={0x0, "4706000400000000a52f7e4567d73eae00", 0xffffffffffffffff}) r3 = socket$can_raw(0x1d, 0x3, 0x1) dup2(r3, r0) close(r2) 04:26:11 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000001c0)=@newlink={0x4c, 0x10, 0xffffff1f, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x2c, 0x12, 0x0, 0x1, @gre={{0x8}, {0x20, 0x2, 0x0, 0x1, [@IFLA_GRE_OFLAGS={0x6}, @IFLA_GRE_ENCAP_TYPE={0x6}, @IFLA_GRE_COLLECT_METADATA={0x4}, @IFLA_GRE_IKEY={0x8}]}}}]}, 0x4c}}, 0x0) 04:26:11 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000080), 0xffffffffffffffff) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f00000000c0)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_CONNECT(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000240)={0x3c, r1, 0x5, 0x0, 0x0, {{0x26}, {@val={0x8, 0x3, r2}, @void}}, [@NL80211_ATTR_SSID={0xa, 0x34, @default_ap_ssid}, @NL80211_ATTR_MAC={0xa, 0x6, @from_mac}, @chandef_params=[@NL80211_ATTR_WIPHY_FREQ={0x8}]]}, 0x3c}}, 0x0) [ 561.512367][ T3615] usb 1-1: new high-speed USB device number 12 using dummy_hcd 04:26:11 executing program 5: r0 = timerfd_create(0x0, 0x0) clock_gettime(0x0, &(0x7f0000000140)={0x0, 0x0}) timerfd_settime(r0, 0x3, &(0x7f0000000180)={{}, {r1, r2+60000000}}, 0x0) r3 = timerfd_create(0x0, 0x0) timerfd_settime(r3, 0x3, &(0x7f0000000040)={{}, {0x0, 0x3938700}}, 0x0) clock_settime(0x0, &(0x7f0000000000)={0x77359400}) [ 561.752672][ T3615] usb 1-1: Using ep0 maxpacket: 16 04:26:11 executing program 2: r0 = openat$vmci(0xffffffffffffff9c, &(0x7f0000000700), 0x2, 0x0) ioctl$IOCTL_VMCI_QUEUEPAIR_DETACH(r0, 0x7aa, 0x0) 04:26:11 executing program 3: r0 = syz_io_uring_setup(0x23d4, &(0x7f00000001c0), &(0x7f0000ffc000/0x4000)=nil, &(0x7f0000004000/0x2000)=nil, &(0x7f0000000100), &(0x7f0000000080)) io_uring_register$IORING_REGISTER_PERSONALITY(r0, 0x9, 0x0, 0x0) r1 = io_uring_register$IORING_REGISTER_PERSONALITY(r0, 0x9, 0x0, 0x0) socket$inet(0x2b, 0x0, 0x0) sendmmsg(0xffffffffffffffff, &(0x7f0000006440)=[{{0x0, 0x0, &(0x7f0000001680)=[{&(0x7f0000000000)="45d3291f8b0b0dda", 0x8}], 0x1}}], 0x1, 0x0) io_uring_register$IORING_UNREGISTER_PERSONALITY(r0, 0x13, 0x20000000, r1) [ 561.873553][ T3615] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 561.886370][ T3615] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 561.896589][ T3615] usb 1-1: config 0 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 9 04:26:12 executing program 4: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) close(r0) r1 = openat$sw_sync(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$SW_SYNC_IOC_CREATE_FENCE(r1, 0xc0285700, &(0x7f0000000080)={0x0, "4706000400000000a52f7e4567d73eae00", 0xffffffffffffffff}) r3 = socket$can_raw(0x1d, 0x3, 0x1) dup2(r3, r0) close(r2) 04:26:12 executing program 2: bpf$MAP_CREATE(0x1d, 0x0, 0x0) 04:26:12 executing program 1: r0 = syz_io_uring_setup(0xcd1, &(0x7f0000000240), &(0x7f0000003000/0x1000)=nil, &(0x7f0000ffe000/0x2000)=nil, &(0x7f0000000040)=0x0, &(0x7f0000000140)=0x0) ppoll(&(0x7f0000000000)=[{r0}], 0x1, 0x0, 0x0, 0x0) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) syz_io_uring_submit(r1, r2, &(0x7f00000008c0)=@IORING_OP_SENDMSG={0x9, 0x4, 0x0, r3, 0x0, &(0x7f0000000880)={0x0, 0x0, 0x0}}, 0x8) syz_io_uring_submit(r1, r2, &(0x7f0000000180)=@IORING_OP_ACCEPT={0xd, 0x0, 0x0, 0xffffffffffffffff, 0x0}, 0x0) io_uring_enter(r0, 0x5595, 0x0, 0x0, 0x0, 0x0) [ 562.133525][ T3615] usb 1-1: New USB device found, idVendor=225e, idProduct=0006, bcdDevice= 0.00 [ 562.142920][ T3615] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=225 [ 562.151299][ T3615] usb 1-1: SerialNumber: syz 03:33:20 executing program 5: bpf$PROG_LOAD(0x5, &(0x7f0000000180)={0x12, 0x4, &(0x7f0000000000)=@framed={{}, [@call={0x63, 0x11, 0x2}]}, &(0x7f00000000c0)='GPL\x00', 0x4, 0x1000, &(0x7f0000000200)=""/4096, 0x0, 0x0, '\x00', 0x0, 0xe, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) [ 562.250330][ T3615] usb 1-1: config 0 descriptor?? [ 562.298066][ T3615] hub 1-1:0.0: USB hub found 03:33:20 executing program 3: r0 = syz_io_uring_setup(0x23d4, &(0x7f00000001c0), &(0x7f0000ffc000/0x4000)=nil, &(0x7f0000004000/0x2000)=nil, &(0x7f0000000100), &(0x7f0000000080)) io_uring_register$IORING_REGISTER_PERSONALITY(r0, 0x9, 0x0, 0x0) r1 = io_uring_register$IORING_REGISTER_PERSONALITY(r0, 0x9, 0x0, 0x0) socket$inet(0x2b, 0x0, 0x0) sendmmsg(0xffffffffffffffff, &(0x7f0000006440)=[{{0x0, 0x0, &(0x7f0000001680)=[{&(0x7f0000000000)="45d3291f8b0b0dda", 0x8}], 0x1}}], 0x1, 0x0) io_uring_register$IORING_UNREGISTER_PERSONALITY(r0, 0x13, 0x20000000, r1) [ 562.522879][ T3615] hub 1-1:0.0: 1 port detected [ 563.402904][ T3615] hub 1-1:0.0: activate --> -90 [ 564.277848][ T3566] usb 1-1: USB disconnect, device number 12 03:33:22 executing program 0: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f00000002c0)=ANY=[@ANYBLOB="12010000090018105e22060000000000e10109022400010000000009040000090300000009210000000122220009058103"], 0x0) syz_usb_control_io(r0, &(0x7f0000000040)={0x2c, 0x0, 0x0, 0x0, &(0x7f0000000180)={0x20, 0x29, 0xf, {0xf, 0x29, 0x1, 0x0, 0x0, 0x0, "0400", "00000004"}}, 0x0}, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000001d80)={0x2c, &(0x7f0000000200)=ANY=[], 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000440)={0x2c, &(0x7f0000000340)={0x0, 0x0, 0x4, "7a5aa4fd"}, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000400)={0x2c, &(0x7f0000000480)={0x0, 0x0, 0x4, "45940279"}, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000d40)={0x2c, &(0x7f0000000bc0)={0x0, 0x0, 0x4, "ca39717b"}, 0x0, 0x0, 0x0, 0x0}) 03:33:22 executing program 4: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) close(r0) r1 = openat$sw_sync(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$SW_SYNC_IOC_CREATE_FENCE(r1, 0xc0285700, &(0x7f0000000080)={0x0, "4706000400000000a52f7e4567d73eae00", 0xffffffffffffffff}) r3 = socket$can_raw(0x1d, 0x3, 0x1) dup2(r3, r0) close(r2) 03:33:22 executing program 2: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nbd(&(0x7f0000000400), r0) sendmsg$NBD_CMD_CONNECT(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000003c0)={&(0x7f0000000480)={0x38, r1, 0x10e2ed8c938a2ee5, 0x0, 0x0, {}, [@NBD_ATTR_SOCKETS={0xc, 0x7, 0x0, 0x1, [{0x8}]}, @NBD_ATTR_CLIENT_FLAGS={0xc, 0x6, 0x3}, @NBD_ATTR_SIZE_BYTES={0xc}]}, 0x38}}, 0x0) 03:33:22 executing program 5: pipe2$watch_queue(&(0x7f0000000000)={0xffffffffffffffff}, 0x80) fadvise64(r0, 0x0, 0x0, 0x0) 03:33:22 executing program 3: r0 = syz_io_uring_setup(0x23d4, &(0x7f00000001c0), &(0x7f0000ffc000/0x4000)=nil, &(0x7f0000004000/0x2000)=nil, &(0x7f0000000100), &(0x7f0000000080)) io_uring_register$IORING_REGISTER_PERSONALITY(r0, 0x9, 0x0, 0x0) r1 = io_uring_register$IORING_REGISTER_PERSONALITY(r0, 0x9, 0x0, 0x0) socket$inet(0x2b, 0x0, 0x0) sendmmsg(0xffffffffffffffff, &(0x7f0000006440)=[{{0x0, 0x0, &(0x7f0000001680)=[{&(0x7f0000000000)="45d3291f8b0b0dda", 0x8}], 0x1}}], 0x1, 0x0) io_uring_register$IORING_UNREGISTER_PERSONALITY(r0, 0x13, 0x20000000, r1) 03:33:22 executing program 1: r0 = syz_io_uring_setup(0xcd1, &(0x7f0000000240), &(0x7f0000003000/0x1000)=nil, &(0x7f0000ffe000/0x2000)=nil, &(0x7f0000000040)=0x0, &(0x7f0000000140)=0x0) ppoll(&(0x7f0000000000)=[{r0}], 0x1, 0x0, 0x0, 0x0) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) syz_io_uring_submit(r1, r2, &(0x7f00000008c0)=@IORING_OP_SENDMSG={0x9, 0x4, 0x0, r3, 0x0, &(0x7f0000000880)={0x0, 0x0, 0x0}}, 0x8) syz_io_uring_submit(r1, r2, &(0x7f0000000180)=@IORING_OP_ACCEPT={0xd, 0x0, 0x0, 0xffffffffffffffff, 0x0}, 0x0) io_uring_enter(r0, 0x5595, 0x0, 0x0, 0x0, 0x0) [ 564.943342][ T8872] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.2'. 03:33:22 executing program 4: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) setsockopt$SO_ATTACH_FILTER(r1, 0x1, 0x1a, &(0x7f0000ab9ff0)={0x2, &(0x7f0000000e00)=[{0x20, 0x0, 0x0, 0xfffff00c}, {0x6}]}, 0x8) sendmmsg(r0, &(0x7f0000000cc0)=[{{0x0, 0x0, &(0x7f0000000380)=[{&(0x7f0000000100)="cf409323", 0x40cf}], 0x1}}], 0x1, 0x0) 03:33:22 executing program 5: r0 = socket$pptp(0x18, 0x1, 0x2) r1 = socket$pptp(0x18, 0x1, 0x2) bind$pptp(r1, &(0x7f00000001c0)={0x18, 0x2, {0x1, @local}}, 0x1e) bind$pptp(r0, &(0x7f0000000180)={0x18, 0x2, {0xffff, @loopback}}, 0x1e) connect$pptp(r0, &(0x7f0000000000)={0x18, 0x2, {0x0, @dev}}, 0x1e) 03:33:23 executing program 2: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nbd(&(0x7f0000000400), r0) sendmsg$NBD_CMD_CONNECT(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000003c0)={&(0x7f0000000480)={0x38, r1, 0x10e2ed8c938a2ee5, 0x0, 0x0, {}, [@NBD_ATTR_SOCKETS={0xc, 0x7, 0x0, 0x1, [{0x8}]}, @NBD_ATTR_CLIENT_FLAGS={0xc, 0x6, 0x3}, @NBD_ATTR_SIZE_BYTES={0xc}]}, 0x38}}, 0x0) 03:33:23 executing program 3: r0 = syz_io_uring_setup(0x23d4, &(0x7f00000001c0), &(0x7f0000ffc000/0x4000)=nil, &(0x7f0000004000/0x2000)=nil, &(0x7f0000000100), &(0x7f0000000080)) io_uring_register$IORING_REGISTER_PERSONALITY(r0, 0x9, 0x0, 0x0) r1 = io_uring_register$IORING_REGISTER_PERSONALITY(r0, 0x9, 0x0, 0x0) socket$inet(0x2b, 0x0, 0x0) sendmmsg(0xffffffffffffffff, &(0x7f0000006440)=[{{0x0, 0x0, &(0x7f0000001680)=[{&(0x7f0000000000)="45d3291f8b0b0dda", 0x8}], 0x1}}], 0x1, 0x0) io_uring_register$IORING_UNREGISTER_PERSONALITY(r0, 0x13, 0x20000000, r1) [ 565.512403][ T3566] usb 1-1: new high-speed USB device number 13 using dummy_hcd 03:33:23 executing program 3: bpf$BPF_TASK_FD_QUERY(0x14, &(0x7f0000000080)={0x0, 0xffffffffffffffff, 0x0, 0x7, &(0x7f0000000000)='cgroup\x00'}, 0x30) r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) r1 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x9, 0x4, &(0x7f0000000580)=ANY=[@ANYBLOB="180000000000000000000000000000006112000000000000950000000000000001c4823902417d6f4990533b81544945baeda45a4c4d59875333365b85ffba6706"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) r2 = bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000100)={r1, r0, 0x2}, 0x10) bpf$BPF_LINK_UPDATE(0x1d, &(0x7f0000000040)={r2, r1, 0x4}, 0x10) [ 565.570391][ T8886] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.2'. 03:33:23 executing program 4: r0 = userfaultfd(0x1) ioctl$UFFDIO_API(r0, 0xc018aa3f, &(0x7f00000001c0)) ioctl$UFFDIO_WRITEPROTECT(r0, 0xc028aa03, &(0x7f0000000000)={{&(0x7f0000ffc000/0x1000)=nil, 0x1000}}) [ 565.772849][ T3566] usb 1-1: Using ep0 maxpacket: 16 [ 565.902928][ T3566] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 565.914492][ T3566] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 565.924659][ T3566] usb 1-1: config 0 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 9 [ 566.133129][ T3566] usb 1-1: New USB device found, idVendor=225e, idProduct=0006, bcdDevice= 0.00 [ 566.142522][ T3566] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=225 [ 566.150929][ T3566] usb 1-1: SerialNumber: syz [ 566.234716][ T3566] usb 1-1: config 0 descriptor?? [ 566.295185][ T3566] hub 1-1:0.0: USB hub found [ 566.512864][ T3566] hub 1-1:0.0: 1 port detected [ 567.402495][ T3566] hub 1-1:0.0: activate --> -90 [ 568.285529][ T125] usb 1-1: USB disconnect, device number 13 03:33:26 executing program 0: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f00000002c0)=ANY=[@ANYBLOB="12010000090018105e22060000000000e10109022400010000000009040000090300000009210000000122220009058103"], 0x0) syz_usb_control_io(r0, &(0x7f0000000040)={0x2c, 0x0, 0x0, 0x0, &(0x7f0000000180)={0x20, 0x29, 0xf, {0xf, 0x29, 0x1, 0x0, 0x0, 0x0, "0400", "00000004"}}, 0x0}, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000001d80)={0x2c, &(0x7f0000000200)=ANY=[], 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000440)={0x2c, &(0x7f0000000340)={0x0, 0x0, 0x4, "7a5aa4fd"}, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000400)={0x2c, &(0x7f0000000480)={0x0, 0x0, 0x4, "45940279"}, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000d40)={0x2c, &(0x7f0000000bc0)={0x0, 0x0, 0x4, "ca39717b"}, 0x0, 0x0, 0x0, 0x0}) 03:33:26 executing program 2: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nbd(&(0x7f0000000400), r0) sendmsg$NBD_CMD_CONNECT(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000003c0)={&(0x7f0000000480)={0x38, r1, 0x10e2ed8c938a2ee5, 0x0, 0x0, {}, [@NBD_ATTR_SOCKETS={0xc, 0x7, 0x0, 0x1, [{0x8}]}, @NBD_ATTR_CLIENT_FLAGS={0xc, 0x6, 0x3}, @NBD_ATTR_SIZE_BYTES={0xc}]}, 0x38}}, 0x0) 03:33:26 executing program 5: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r0, &(0x7f00000005c0)={0x1f, 0xffffffffffffffff, 0x3}, 0x6) setsockopt$bt_hci_HCI_TIME_STAMP(r0, 0x0, 0x3, 0x0, 0x0) 03:33:26 executing program 1: r0 = socket$inet_sctp(0x2, 0x1, 0x84) getsockopt$inet_sctp_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x1f, &(0x7f0000000200), &(0x7f00000002c0)=0x90) 03:33:26 executing program 3: r0 = socket$inet_udplite(0x2, 0x2, 0x88) setsockopt$inet_group_source_req(r0, 0x0, 0x2e, &(0x7f0000000000)={0x11, {{0x2, 0x0, @multicast2}}, {{0x2, 0x0, @remote}}}, 0x104) setsockopt$inet_group_source_req(r0, 0x0, 0x2f, &(0x7f0000000200)={0x11, {{0x2, 0x0, @multicast2}}, {{0x2, 0x0, @multicast2}}}, 0x104) 03:33:26 executing program 4: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) setsockopt$inet6_opts(r0, 0x29, 0x3b, &(0x7f00000005c0)=@srh={0x0, 0x2, 0x4, 0x1, 0x0, 0x0, 0x0, [@remote]}, 0x18) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f0000001040)={0xa, 0x4e20, 0x0, @dev, 0x9}, 0x1c) [ 568.921870][ T8899] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.2'. 03:33:26 executing program 3: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18000000000000200000000000000000850000002300000095"], &(0x7f00000001c0)='GPL\x00', 0x4, 0x9a, &(0x7f0000000000)=""/154, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000680)={&(0x7f0000000640)='mm_page_alloc\x00', r0}, 0x10) bpf$MAP_CREATE(0x0, &(0x7f0000000140)=@base={0x5, 0x1f, 0x4003, 0x23}, 0x48) 03:33:26 executing program 5: r0 = openat$full(0xffffffffffffff9c, &(0x7f0000000300), 0x0, 0x0) r1 = openat$drirender128(0xffffffffffffff9c, &(0x7f0000000340), 0x2, 0x0) syz_mount_image$ext4(0x0, &(0x7f0000000100)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) mount$9p_fd(0x0, &(0x7f0000000280)='./file0\x00', &(0x7f00000002c0), 0x0, &(0x7f0000000380)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}}) 03:33:26 executing program 1: r0 = add_key$keyring(&(0x7f0000000400), &(0x7f0000000440)={'syz', 0x2}, 0x0, 0x0, 0xfffffffffffffffd) request_key(&(0x7f0000000340)='user\x00', &(0x7f0000000380)={'syz', 0x3}, &(0x7f00000003c0)=')\x00', r0) add_key$user(&(0x7f0000000000), &(0x7f0000000040)={'syz', 0x3}, &(0x7f0000000080)='?', 0x1, r0) 03:33:26 executing program 4: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) setsockopt$inet6_opts(r0, 0x29, 0x3b, &(0x7f00000005c0)=@srh={0x0, 0x2, 0x4, 0x1, 0x0, 0x0, 0x0, [@remote]}, 0x18) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f0000001040)={0xa, 0x4e20, 0x0, @dev, 0x9}, 0x1c) 03:33:27 executing program 2: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nbd(&(0x7f0000000400), r0) sendmsg$NBD_CMD_CONNECT(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000003c0)={&(0x7f0000000480)={0x38, r1, 0x10e2ed8c938a2ee5, 0x0, 0x0, {}, [@NBD_ATTR_SOCKETS={0xc, 0x7, 0x0, 0x1, [{0x8}]}, @NBD_ATTR_CLIENT_FLAGS={0xc, 0x6, 0x3}, @NBD_ATTR_SIZE_BYTES={0xc}]}, 0x38}}, 0x0) [ 569.463097][ T125] usb 1-1: new high-speed USB device number 14 using dummy_hcd 03:33:27 executing program 1: r0 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r0, 0x1, 0xf, &(0x7f0000d1c000)=0x6, 0x4) bind$inet6(r0, &(0x7f0000f67fe4)={0xa, 0x4e20, 0x0, @ipv4={'\x00', '\xff\xff', @broadcast}}, 0x1c) r1 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r1, 0x1, 0xf, &(0x7f0000d1c000)=0x6, 0x4) bind$inet6(r1, &(0x7f0000f67fe4)={0xa, 0x4e20, 0x0, @ipv4={'\x00', '\xff\xff', @broadcast}}, 0x1c) r2 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r2, 0x1, 0xf, &(0x7f0000d1c000)=0x6, 0x4) setsockopt$sock_int(r2, 0x1, 0x2, &(0x7f0000000000)=0x20, 0x4) bind$inet6(r2, &(0x7f0000f67fe4)={0xa, 0x4e20, 0x0, @empty}, 0x1c) r3 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r3, 0x1, 0xf, &(0x7f0000d1c000)=0x6, 0x4) bind$inet6(r3, &(0x7f0000f67fe4)={0xa, 0x4e20, 0x0, @empty}, 0x1c) r4 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r4, 0x1, 0xf, &(0x7f0000d1c000)=0x6, 0x4) bind$inet6(r4, &(0x7f0000f67fe4)={0xa, 0x4e20, 0x0, @ipv4={'\x00', '\xff\xff', @broadcast}}, 0x1c) r5 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r5, 0x1, 0xf, &(0x7f0000d1c000)=0x6, 0x4) bind$inet6(r5, &(0x7f0000f67fe4)={0xa, 0x4e20, 0x0, @ipv4={'\x00', '\xff\xff', @broadcast}}, 0x1c) r6 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r6, 0x1, 0xf, &(0x7f0000d1c000)=0x6, 0x4) bind$inet6(r6, &(0x7f0000f67fe4)={0xa, 0x4e20, 0x0, @ipv4={'\x00', '\xff\xff', @broadcast}}, 0x1c) r7 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r7, 0x1, 0xf, &(0x7f0000d1c000)=0x6, 0x4) bind$inet6(r7, &(0x7f0000f67fe4)={0xa, 0x4e20, 0x0, @empty}, 0x1c) r8 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r8, 0x1, 0xf, &(0x7f0000d1c000)=0x6, 0x4) bind$inet6(r8, &(0x7f0000f67fe4)={0xa, 0x4e20, 0x0, @empty}, 0x1c) r9 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r9, 0x1, 0xf, &(0x7f0000d1c000)=0x6, 0x4) bind$inet6(r9, &(0x7f0000f67fe4)={0xa, 0x4e20, 0x0, @ipv4={'\x00', '\xff\xff', @broadcast}}, 0x1c) r10 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r10, 0x1, 0xf, &(0x7f0000d1c000)=0x6, 0x4) bind$inet6(r10, &(0x7f0000f67fe4)={0xa, 0x4e20, 0x0, @empty}, 0x1c) r11 = socket$inet6(0xa, 0x2, 0x0) setsockopt$sock_int(r11, 0x1, 0xf, &(0x7f0000d1c000)=0x6, 0x4) bind$inet6(r11, &(0x7f0000f67fe4)={0xa, 0x4e20, 0x0, @empty}, 0x1c) [ 569.511406][ T8912] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.2'. [ 569.702414][ T125] usb 1-1: Using ep0 maxpacket: 16 [ 569.842817][ T125] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 569.854259][ T125] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 569.869106][ T125] usb 1-1: config 0 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 9 [ 569.964906][ T125] usb 1-1: New USB device found, idVendor=225e, idProduct=0006, bcdDevice= 0.00 [ 569.974375][ T125] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=225 [ 569.982852][ T125] usb 1-1: SerialNumber: syz [ 570.035732][ T125] usb 1-1: config 0 descriptor?? [ 570.094427][ T125] hub 1-1:0.0: USB hub found [ 570.302873][ T125] hub 1-1:0.0: 1 port detected [ 571.192496][ T125] hub 1-1:0.0: activate --> -90 [ 572.048103][ T3564] usb 1-1: USB disconnect, device number 14 03:33:30 executing program 0: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f00000002c0)=ANY=[@ANYBLOB="12010000090018105e22060000000000e10109022400010000000009040000090300000009210000000122220009058103"], 0x0) syz_usb_control_io(r0, &(0x7f0000000040)={0x2c, 0x0, 0x0, 0x0, &(0x7f0000000180)={0x20, 0x29, 0xf, {0xf, 0x29, 0x1, 0x0, 0x0, 0x0, "0400", "00000004"}}, 0x0}, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000001d80)={0x2c, &(0x7f0000000200)=ANY=[], 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000440)={0x2c, &(0x7f0000000340)={0x0, 0x0, 0x4, "7a5aa4fd"}, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000400)={0x2c, &(0x7f0000000480)={0x0, 0x0, 0x4, "45940279"}, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000d40)={0x2c, &(0x7f0000000bc0)={0x0, 0x0, 0x4, "ca39717b"}, 0x0, 0x0, 0x0, 0x0}) 03:33:30 executing program 4: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) setsockopt$inet6_opts(r0, 0x29, 0x3b, &(0x7f00000005c0)=@srh={0x0, 0x2, 0x4, 0x1, 0x0, 0x0, 0x0, [@remote]}, 0x18) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f0000001040)={0xa, 0x4e20, 0x0, @dev, 0x9}, 0x1c) 03:33:30 executing program 3: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18000000000000200000000000000000850000002300000095"], &(0x7f00000001c0)='GPL\x00', 0x4, 0x9a, &(0x7f0000000000)=""/154, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000680)={&(0x7f0000000640)='mm_page_alloc\x00', r0}, 0x10) bpf$MAP_CREATE(0x0, &(0x7f0000000140)=@base={0x5, 0x1f, 0x4003, 0x23}, 0x48) 03:33:30 executing program 2: syz_clone(0x40b00180, 0x0, 0x0, 0x0, 0x0, 0x0) 03:33:30 executing program 1: r0 = bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000240)=@bpf_lsm={0x16, 0x7, &(0x7f0000000180)=@raw=[@func={0x85, 0x0, 0x1, 0x0, 0x4}, @exit, @initr0, @exit, @func={0x85, 0x0, 0x1, 0x0, 0xfffffffffffffffc}, @exit], &(0x7f00000000c0)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x1b, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000001c0)={r0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xeae1aab5693fba0e}, 0x48) 03:33:30 executing program 5: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000011c0)={0xd, 0x4, &(0x7f0000000980)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x2}]}, &(0x7f0000000040)='GPL\x00', 0x6, 0x100e, &(0x7f0000001480)=""/4110, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 03:33:30 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_CT_GET(r0, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000440)={&(0x7f00000000c0)={0x38, 0x1, 0x1, 0x205, 0x25000000, 0x0, {0xa}, [@CTA_FILTER={0xc, 0x19, 0x0, 0x1, [@CTA_FILTER_ORIG_FLAGS={0x8, 0x1, 0xc}]}, @CTA_TUPLE_ORIG={0x18, 0x1, 0x0, 0x1, [@CTA_TUPLE_PROTO={0xc, 0x2, 0x0, 0x1, {0x5, 0x1, 0x1}}, @CTA_TUPLE_ZONE={0x6}]}]}, 0x38}}, 0x0) 03:33:30 executing program 4: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) setsockopt$inet6_opts(r0, 0x29, 0x3b, &(0x7f00000005c0)=@srh={0x0, 0x2, 0x4, 0x1, 0x0, 0x0, 0x0, [@remote]}, 0x18) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f0000001040)={0xa, 0x4e20, 0x0, @dev, 0x9}, 0x1c) 03:33:30 executing program 1: r0 = socket$qrtr(0x2a, 0x2, 0x0) connect$qrtr(r0, &(0x7f0000000040), 0xc) read(r0, &(0x7f0000000080)=""/209, 0xd1) connect$qrtr(r0, &(0x7f0000000180), 0xc) r1 = socket$qrtr(0x2a, 0x2, 0x0) connect$qrtr(r1, &(0x7f0000000040)={0x2a, 0x1, 0x4000}, 0xc) getpeername$qrtr(0xffffffffffffffff, 0x0, 0x0) write$binfmt_script(r1, 0x0, 0x0) 03:33:30 executing program 3: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18000000000000200000000000000000850000002300000095"], &(0x7f00000001c0)='GPL\x00', 0x4, 0x9a, &(0x7f0000000000)=""/154, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000680)={&(0x7f0000000640)='mm_page_alloc\x00', r0}, 0x10) bpf$MAP_CREATE(0x0, &(0x7f0000000140)=@base={0x5, 0x1f, 0x4003, 0x23}, 0x48) [ 573.172867][ T125] usb 1-1: new high-speed USB device number 15 using dummy_hcd [ 573.462919][ T125] usb 1-1: Using ep0 maxpacket: 16 03:33:31 executing program 2: syz_clone(0x40b00180, 0x0, 0x0, 0x0, 0x0, 0x0) [ 573.604173][ T125] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 573.615443][ T125] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 573.625560][ T125] usb 1-1: config 0 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 9 03:33:31 executing program 5: r0 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/sys/net/ipv4/vs/sync_qlen_max\x00', 0x2, 0x0) read$char_usb(r0, 0x0, 0x0) [ 573.765753][ T125] usb 1-1: New USB device found, idVendor=225e, idProduct=0006, bcdDevice= 0.00 [ 573.775189][ T125] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=225 [ 573.783671][ T125] usb 1-1: SerialNumber: syz [ 573.888952][ T125] usb 1-1: config 0 descriptor?? [ 573.952767][ T125] hub 1-1:0.0: USB hub found [ 574.142846][ T125] hub 1-1:0.0: 1 port detected [ 575.022415][ T3571] hub 1-1:0.0: activate --> -90 [ 575.887824][ T125] usb 1-1: USB disconnect, device number 15 [ 576.412317][ T1195] ieee802154 phy0 wpan0: encryption failed: -22 [ 576.422687][ T1195] ieee802154 phy1 wpan1: encryption failed: -22 03:33:34 executing program 4: seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0xffffc90000000000, 0x8, 0x0) r0 = syz_usb_connect$printer(0x5, 0x36, &(0x7f0000000180)={{0x12, 0x1, 0x200, 0x0, 0x0, 0x0, 0x40, 0x525, 0xa4a8, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x1, 0x0, 0x0, 0x6, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x7, 0x1, 0x1, 0x5, "", {{{0x9, 0x5, 0x1, 0x2, 0x400, 0x4}}, [{{0x9, 0x5, 0x82, 0x2, 0x1cf, 0x0, 0x4, 0x40}}]}}}]}}]}}, &(0x7f00000002c0)={0xa, &(0x7f00000001c0)={0xa, 0x6, 0x0, 0x5, 0x3f, 0x2f, 0x40, 0x8}, 0x0, 0x0, 0x2, [{0x4, &(0x7f0000000240)=@lang_id={0x4, 0x3, 0xc0a}}, {0x2, &(0x7f0000000280)=@string={0x2}}]}) sendmsg$BATADV_CMD_GET_GATEWAYS(0xffffffffffffffff, 0x0, 0x1) syz_genetlink_get_family_id$ieee802154(0x0, 0xffffffffffffffff) sendmsg$IEEE802154_START_REQ(0xffffffffffffffff, &(0x7f00000007c0)={&(0x7f00000006c0)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f0000000780)={&(0x7f0000000740)={0x34, 0x0, 0x0, 0x0, 0x25dfdbff, {}, [@IEEE802154_ATTR_BCN_ORD={0x5}, @IEEE802154_ATTR_COORD_REALIGN={0x5, 0x1b, 0x3f}, @IEEE802154_ATTR_BCN_ORD={0x5, 0x17, 0x1}, @IEEE802154_ATTR_CHANNEL={0x5, 0x7, 0xf}]}, 0x34}, 0x1, 0x0, 0x0, 0x20000004}, 0x40) syz_usb_control_io$printer(r0, &(0x7f00000003c0)={0x14, &(0x7f0000000300)=ANY=[@ANYBLOB="20302700000000005aa6a3"], &(0x7f0000000340)={0x0, 0x3, 0x4f, @string={0x4f, 0x3, "d5b5eeb94c34cc517d1dbc6d145e5fcffa77cea98abad4185716365b4ae52d33305cdd5dc8976cbe33b8bf3e12a299b3e717acbf2c4f82c92cf127e8904df86c7fe2509673bb55eebcc81cc223"}}}, &(0x7f0000000580)={0x34, 0x0, &(0x7f0000000440)={0x0, 0xa, 0x1, 0x9}, 0x0, &(0x7f00000004c0)={0x20, 0x0, 0x11, {0xf, "222015dbd3d84ebb2b022ffe4fac43"}}, 0x0, &(0x7f0000000540)={0x20, 0x0, 0x1, 0x2}}) seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x8, &(0x7f0000000040)={0x4, &(0x7f0000000000)=[{0x0, 0x4, 0x1}, {0x3, 0x2e, 0x9}, {0x3f, 0x0, 0x2, 0x10001}, {0x1, 0x7, 0x80, 0x7}]}) ioctl$KVM_DEASSIGN_PCI_DEVICE(0xffffffffffffffff, 0x4040ae72, &(0x7f0000000140)={0x0, 0x2, 0x2, 0x3, 0x5}) 03:33:34 executing program 1: openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.stat\x00', 0x275a, 0x0) socket$nl_netfilter(0x10, 0x3, 0xc) socket$nl_netfilter(0x10, 0x3, 0xc) pipe(&(0x7f0000000180)) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000300)={0x8, 0x5, &(0x7f0000000080)=@framed={{0x18, 0x0, 0x0, 0x0, 0x1ff}, [@alu={0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, @jmp={0x5, 0x0, 0x5, 0x0, 0x0, 0xfffffffffffffffe}]}, &(0x7f0000000000)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) socket$packet(0x11, 0x2, 0x300) pipe(&(0x7f0000000380)) pipe(&(0x7f0000000080)) pipe(&(0x7f00000000c0)) r0 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_int(r0, 0x107, 0x14, &(0x7f0000000100)=0x2, 0x4) socketpair(0x1, 0x100000005, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) getpeername$packet(r1, &(0x7f0000000000)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000080)=0x14) sendto$packet(r0, 0x0, 0x0, 0x0, &(0x7f0000000040)={0x11, 0x0, r2, 0x1, 0x0, 0x6, @random="380dc1c14a5f"}, 0x14) 03:33:34 executing program 3: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18000000000000200000000000000000850000002300000095"], &(0x7f00000001c0)='GPL\x00', 0x4, 0x9a, &(0x7f0000000000)=""/154, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000680)={&(0x7f0000000640)='mm_page_alloc\x00', r0}, 0x10) bpf$MAP_CREATE(0x0, &(0x7f0000000140)=@base={0x5, 0x1f, 0x4003, 0x23}, 0x48) 03:33:34 executing program 5: r0 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/sys/net/ipv4/vs/sync_qlen_max\x00', 0x2, 0x0) read$char_usb(r0, 0x0, 0x0) 03:33:34 executing program 2: syz_clone(0x40b00180, 0x0, 0x0, 0x0, 0x0, 0x0) 03:33:34 executing program 5: r0 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/sys/net/ipv4/vs/sync_qlen_max\x00', 0x2, 0x0) read$char_usb(r0, 0x0, 0x0) 03:33:34 executing program 0: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000140)='./file0\x00', 0x0, 0x8, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000600100000f000000000000000000000004000000000002000020000020000000ddf4655fddf4655f0100ffff53ef010001000000ddf4655f000000000000000001000000000000000b0000000001000008000000d24200001203", 0x66, 0x400}, {&(0x7f0000010100)="0000000000000000000000006856d49a00cc4371bd6a7c893f280045010040", 0x1f, 0x4e0}, {&(0x7f0000010300)="03", 0x1, 0x640}, {&(0x7f0000002540)="03000000040000000500000016000f000300040000000000000000000f00698c", 0x20, 0x800}, {&(0x7f0000010e00)="ed41000000040000ddf4655fddf4655fddf4655f000000000000040020", 0x1d, 0x1500}, {&(0x7f0000011000)="8081000000180000ddf4655fddf4655fddf4655f00000000000001002000000010000800000000000af302000400000000000000000000000200000030000000020020000400000032", 0x49, 0x1600}, {0x0, 0x0, 0x6700000}, {&(0x7f0000000580)="111fc0d901000000803a0900803a09000000000006", 0x15, 0xc000}], 0x0, &(0x7f00000006c0)=ANY=[]) [ 576.952817][ T3615] usb 5-1: new high-speed USB device number 21 using dummy_hcd 03:33:35 executing program 3: r0 = socket(0x10, 0x3, 0x0) r1 = socket(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) syz_genetlink_get_family_id$nl80211(&(0x7f00000001c0), r3) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r4, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000340)=ANY=[@ANYBLOB="4400000024000b0f00ff00bf4298bde2880a0000", @ANYRES32=r4, @ANYBLOB="00000000ffffffff0000000009000100677265640000000014000200100003000a"], 0x44}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000001c40)={&(0x7f0000000240)=@newqdisc={0x44, 0x24, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_gred={{0x9}, {0x14, 0x2, [@TCA_GRED_DPS={0x10, 0x3, {0x11}}]}}]}, 0x44}}, 0x0) 03:33:35 executing program 1: timer_create(0x0, &(0x7f0000066000)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f00009b1ffc)) timer_settime(0x0, 0x0, &(0x7f0000000040)={{0x0, 0x989680}, {0x0, 0x9}}, 0x0) timer_create(0x0, &(0x7f0000000100)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000300)=0x0) timer_settime(r0, 0x0, 0x0, 0x0) timer_create(0x0, &(0x7f0000000000)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000240)=0x0) r2 = openat$ptmx(0xffffffffffffff9c, &(0x7f00001f0000), 0x1000002, 0x0) ioctl$TIOCSETD(r2, 0x5423, &(0x7f0000000400)=0xd) r3 = dup(r2) r4 = open(&(0x7f0000000080)='./file0\x00', 0x141042, 0x0) ftruncate(r4, 0xee72) sendfile(r3, r4, 0x0, 0x8000fffffffe) timer_settime(r1, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) 03:33:35 executing program 0: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000000c0)={0x11, 0x5, &(0x7f0000000000)=ANY=[@ANYBLOB="18000000000400000000000000000000660000006d000000850000000f00000095"], &(0x7f0000000400)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000480)={&(0x7f0000000080)='sys_exit\x00', r0}, 0x78) prctl$PR_SET_NAME(0xf, 0x0) [ 577.382687][ T3615] usb 5-1: config 1 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 0 03:33:35 executing program 2: syz_clone(0x40b00180, 0x0, 0x0, 0x0, 0x0, 0x0) [ 577.551902][ T8960] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.3'. [ 577.589508][ T3615] usb 5-1: New USB device found, idVendor=0525, idProduct=a4a8, bcdDevice= 0.40 03:33:35 executing program 5: r0 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/sys/net/ipv4/vs/sync_qlen_max\x00', 0x2, 0x0) read$char_usb(r0, 0x0, 0x0) [ 577.599062][ T3615] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 577.607432][ T3615] usb 5-1: Product: syz [ 577.611770][ T3615] usb 5-1: SerialNumber: syz [ 577.663726][ T8953] raw-gadget.0 gadget.4: fail, usb_ep_enable returned -22 [ 577.671433][ T8953] raw-gadget.0 gadget.4: fail, usb_ep_enable returned -22 [ 578.178307][ T3564] usb 5-1: USB disconnect, device number 21 03:33:36 executing program 4: pipe(&(0x7f0000000300)={0xffffffffffffffff, 0xffffffffffffffff}) write$binfmt_misc(r1, &(0x7f0000000340)=ANY=[], 0x4240a2a0) r2 = socket$alg(0x26, 0x5, 0x0) bind$alg(r2, &(0x7f0000000940)={0x26, 'hash\x00', 0x0, 0x0, 'sha224-generic\x00'}, 0x58) r3 = accept4(r2, 0x0, 0x0, 0x0) splice(r0, 0x0, r3, 0x0, 0x8, 0x0) 03:33:36 executing program 0: unshare(0x40400) r0 = socket$inet_mptcp(0x2, 0x1, 0x106) setsockopt$sock_int(r0, 0x1, 0x2b, 0x0, 0x0) 03:33:36 executing program 3: r0 = socket$inet(0x2b, 0x801, 0x0) getsockopt$ARPT_SO_GET_REVISION_TARGET(r0, 0x0, 0x63, &(0x7f0000000000)={'ipvs\x00'}, &(0x7f0000000040)=0x1e) getsockopt$inet_sctp_SCTP_MAX_BURST(r0, 0x6, 0x14, 0x0, 0x0) setsockopt$EBT_SO_SET_COUNTERS(r0, 0x0, 0x81, 0x0, 0x0) 03:33:36 executing program 1: timer_create(0x0, &(0x7f0000066000)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f00009b1ffc)) timer_settime(0x0, 0x0, &(0x7f0000000040)={{0x0, 0x989680}, {0x0, 0x9}}, 0x0) timer_create(0x0, &(0x7f0000000100)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000300)=0x0) timer_settime(r0, 0x0, 0x0, 0x0) timer_create(0x0, &(0x7f0000000000)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000240)=0x0) r2 = openat$ptmx(0xffffffffffffff9c, &(0x7f00001f0000), 0x1000002, 0x0) ioctl$TIOCSETD(r2, 0x5423, &(0x7f0000000400)=0xd) r3 = dup(r2) r4 = open(&(0x7f0000000080)='./file0\x00', 0x141042, 0x0) ftruncate(r4, 0xee72) sendfile(r3, r4, 0x0, 0x8000fffffffe) timer_settime(r1, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) 03:33:36 executing program 5: r0 = syz_open_dev$video4linux(&(0x7f0000000040), 0x0, 0x0) ioctl$VIDIOC_SUBDEV_ENUM_FRAME_SIZE(r0, 0xc040564a, &(0x7f0000000080)={0x0, 0x0, 0x1011}) 03:33:36 executing program 5: r0 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e22, @multicast1}, 0x10) syz_emit_ethernet(0xfed6, &(0x7f00000000c0)={@link_local, @local, @void, {@ipv4={0x800, @udp={{0x5, 0x4, 0x0, 0x0, 0x24, 0x0, 0x0, 0x0, 0x11, 0x0, @private, @broadcast=0xe0000001}, {0x0, 0x4e22, 0x10, 0x0, @gue={{0x2}}}}}}}, 0x0) syz_emit_ethernet(0x2a, &(0x7f0000000100)={@link_local, @link_local, @void, {@ipv4={0x800, @udp={{0x5, 0x4, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x0, 0x11, 0x0, @dev={0xac, 0x1c}, @broadcast=0xe0000001}, {0x0, 0x4e22, 0x8}}}}}, 0x0) 03:33:37 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000280)={&(0x7f0000000640)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x34, 0x34, 0x6, [@typedef={0x4, 0x0, 0x0, 0x7}, @int={0x0, 0x0, 0x0, 0x1, 0x5, 0x0, 0x0, 0x8}, @union={0x0, 0x1, 0x0, 0x5, 0x0, 0x0, [{0x0, 0x2}]}]}, {0x0, [0x0, 0x0, 0x0, 0xda]}}, 0x0, 0x52}, 0x20) 03:33:37 executing program 1: timer_create(0x0, &(0x7f0000066000)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f00009b1ffc)) timer_settime(0x0, 0x0, &(0x7f0000000040)={{0x0, 0x989680}, {0x0, 0x9}}, 0x0) timer_create(0x0, &(0x7f0000000100)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000300)=0x0) timer_settime(r0, 0x0, 0x0, 0x0) timer_create(0x0, &(0x7f0000000000)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000240)=0x0) r2 = openat$ptmx(0xffffffffffffff9c, &(0x7f00001f0000), 0x1000002, 0x0) ioctl$TIOCSETD(r2, 0x5423, &(0x7f0000000400)=0xd) r3 = dup(r2) r4 = open(&(0x7f0000000080)='./file0\x00', 0x141042, 0x0) ftruncate(r4, 0xee72) sendfile(r3, r4, 0x0, 0x8000fffffffe) timer_settime(r1, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) 03:33:37 executing program 2: r0 = bpf$MAP_CREATE(0x0, &(0x7f00000004c0)=@base={0x19, 0x4, 0x8, 0x8}, 0x48) r1 = bpf$MAP_CREATE(0x0, &(0x7f0000000040)=@base={0xc, 0x4, 0x4, 0x9, 0x0, r0}, 0x48) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x5, 0x5, &(0x7f0000000200)=@framed={{}, [@map_val={0x18, 0x0, 0x2, 0x0, r1}]}, &(0x7f0000000040)='GPL\x00', 0x4, 0xc9, &(0x7f0000000080)=""/201, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 03:33:37 executing program 3: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) pipe(&(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r0, 0x0, r3, 0x0, 0x10000, 0x0) read(r2, &(0x7f0000002540)=""/4100, 0xfffffdef) read(r2, &(0x7f0000000480)=""/187, 0xbb) write$binfmt_elf64(r1, &(0x7f0000000640)=ANY=[], 0x10034) 03:33:37 executing program 2: r0 = socket$unix(0x1, 0x2, 0x0) bind$unix(r0, &(0x7f00000006c0)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0x6e) r1 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x4, &(0x7f0000000740)=ANY=[@ANYBLOB="18000000000000000000000000000000850000000700000095"], &(0x7f00000001c0)='GPL\x00', 0x4, 0x9c, &(0x7f00000002c0)=""/156, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r2 = socket$unix(0x1, 0x2, 0x0) r3 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x11, 0x8, &(0x7f00000005c0)=ANY=[@ANYBLOB="620af8ff0c200021bfa100000000000007010000f8ffffffb702000003000000bd120000000000008500000006000000b70000000000000095000000000000003faf4f2aa3d9b18ed81294e2c49e8020a6f4e0e4a9446c7670568982b4e020f698393aa0f3881f9c24aa56f15199fad0093c59d66bfc0931613899f829c65326ecc65ece9f36c70d0f13905ea23c22624cbf87f9793f50b3546040677b0c5077da80fb982c1e9400e693146cea484a415b76966118b64f751a0f241b072e90080008002d75593a286cecc93e64c227c95aa1b784625704f07a72c29184ff7f0000cef809606056fe5c34664c0af9360a1f7a5e6b607130c89f18c0c1089d8b8588d72ec29c48b45ef4adf634be763289d01aa27ae8b09e00e79ab20b0b8e12643981af2ad0000000000000006fa03c6400002089b302d7bf6023cdcedb5e0125ebbcebdde510cb2364149215108333719acd97cfa107d40224edc5465a932b77e74e802a0d42bc6099ad2300000080006ef6c1ff0900000000000010c63a949e8b7955394ffa82b8e942c89112ff7f0000bfeda7be586602d985430cea0162ab3fcf4591c926abfb076719237c8d0e60b0eea24492a660583eecdbf5bcd3de3a83209da17a0faf60fd6ad9b97aa5fa68480366c9c6fd6fa5043aa3926b81e3b59c9b001d6a08000000ea2b1a52496dfcaf99431412fd134a996382a1a04d5bb924cfe5f3185418d605ffff9c4d2ec7c32f2095e63c80aff9fa740b5b7632f32030916f89c6dad7603f2ba2a790d62d6faec2fed44da492a730142ba11de6c5d50b83bae616c9054d1e7c13b1355d6f4a8245ffa4997da9c77af4c0eb97fca585ec6bf58351d564beb6d952aab9c70764b0a8a7583c90b3433b809bfe9fbd48bc873495cbff8a326eea31ae4e0f75ad149bc9982bacfb72eca44c39fc05ebf6c9d13330ca006bce1a84521f14518c9b476fccbd6c712016219848624b87cec2dbe98223a0eb4fa39f6b5c02e6d6d90756ff57902a8f57000010009700cf0b4b8bc2294133000000000000000000030000000000000000000000000010008bc0d9559711e6e8861c46495ba585a4b2d02edc3e28dd271c896249ed85b980680b6c4a000000002b435ac15fc0288d9b2a169cdcacc413b48dafb7a2c8cb482bac0ac502d9ba96ffffff7f00000000df73d683bb7d5ad897ef3b7cda42013d53046da21b40216e14ba2d6af8656bfff17addaedab25b30002abbba7fa725f38400be7c1f001b2cd317902f19e385be9e48dccff729433282830689000053b263339863297771429d120000003341bf4a00fca0493cf29b33dcc9ffffffffffffffd39fec2271ff01589646efd1cf870cd7bb2366fde4a594290c2a5fe870ce5dfd3467decb05cfd9fcb32c8ed1dbd9d10a64c108285e71b5565b1768ee58969c41595229df17bcad70fb4021428ce970275d13b78249788f11f761038b75d4e832b561d46ea3abe0fa4d30dc94ef241875f3b4b6ab7929a57affe7d7fa29822aea68a660e717a04becff0f719197724f4fce1093b62d7e8c7123d8ecbbc55bf404e4e1f74b7eed82571be54c72d978cf906d020000000000faff9d119f2c06f815312e0cfe222a06f56dd022c074eb8a5fc47bd6322fb0bf47c0a8d154cb05c37feaf3dd95f6ef2acd1f8082786105c7df8be5877050c91301bb997316dbf17866fb84d417373195ff2e1c5560926e90109b598502d3e959efc71f665c4d75cf2458e3542c9062ece87f99a061887a20639b41c8c12ee86c50804042b3eac1f879b136345cf67ca3fb5aac518a75f9e7d7101d5e186c489b3a06fb99e0aa7f23a054de2f4d92d6bd72ee2c9fdc75aaaf1e3e483b4ad05573af403269b4a39ce40293947d9a631bcbf3583784acbda216550d7aec6b79e30cbd128f54c2d3335457acf366d644b19247832258c3b377327ac9ecc34f24c9ae153ec60ac0694da85bff9f5f4d780000000000000000d6b2c5ea1393f3f24285bf16b99c9cc0ad1857216f1a985f369191ae954febb3df464bfe0f7f3ee9afe7befb89d2777399f5874c553aeb3729cffe86e66964ae09bb6d163118e4cbe024fd452277c3887d6116c6cc9d8046c216c1f895778cb26e22a2a998de44aeadea2a40da8daccf080842a486721737390cbf3a74cb2003016f1514216bdf57d2a40d40b51ab63e96ec8485b3b8a8c9ae3d14f93100c2e0893862eef552fcde2981f48c482bde8a168c3f5db2fea6f26e4a4304e50c349f4f9ecee27defc93871c5f99b355b72d538ba4958ea8e4aa37094191e10096e7e60fc3545a2c905a1a95e9571bf38ae1981c4238ecaee6f75cd0a6881bd1517a8250df98674152f94c12409e2a3bce109b6000000000000000000d6d5210d7560eb929c4a45d6a97a27602b81f76386f153633e28e1a5ccb7826e293d04a8a6fd45138dd65153c277b0c6bc5a1fad6ec9a31137abf9a404abde7750898b1bd627e87306703be8672d70d1ab57075228a9f46ed9bd1f08fb8191bbab2dc51de3a61f0868afc4294859323e7a45319f18101288a0268893373750d1a8fe64680b0a3fc22dd704e4214de5946912d6c98cd1a9fbe1e7d58c08acaf30235b928a31d2eca55f74a23641f61f2d5b308cf0d031b0c7f0ced69993e9960ff5f76024e6009756237badf4e7965bbe2777e808fcba821aa8e8c5c38cda54e14356cb4900000000000000000000000000c1fee30a3f7a85d1b29e58c77685efc0ceb1c8e5729c66418d169fc03aa188546b3ad2a182068e2209c96be662a51e3a0e2505bc7f41019645466ac96e0d4b3bc19faa5449209b085f3c334b47f067bbab40743b2a428f1da1f68df75cf41f00000078053726602111b40e761fd21081920382f14d12ca3c3431ee97471c7868c6da7eaa69eb7f7f80572fdd11bb1d0d1280fbc22fc5ed1762eb0b428ee751c47d8e894f745a868404a0bf35f0121008b722b1eaa6aedfa1bf2e7ccb2d61d5d76331945e20fa26b8471d42645288d7226bbd9c9e9e1cc9eb3d541e407cc2dae5e690cd668ab84875f2c50ba891cea599b079b4b4ba686fcdf240430a537a395dc73bda367bf12cb7d81691a5fe8c47be395656a297e9df0e71f96756ea5cce7daac4be290159f6bcd75f0dda9de5532e71ae9e48b0ed1254b81faae79b6af6fbb869604d51a36a54c832e45b2569dc0d90b075225fde44c4e097a1ff52f60f455f4c253171ad47d6b70ebc660309e1e245b0fdf9743af930cd6db49a47613808bad959d8beb91af495719a64a43971679bc7d4c7a56610214c7fceeca2c61ba4f9400fe7faa6106f131d58b8826d0c4a2eb3c7b06fde462df9281f3575226abbaa7f35bd04d8eb44ba4b09cf7e8eee6e3e43930ddff0094379b055599cb781c958c349b22ac4ef329d91d6fc87698eb309f7b6e9c83995f55d08b12872c3d63bc12e3ab8145cb83177076871cfb4e7bbd3a055224f86f48aad84842ec2ce6d9de838bfafcc455e8c77071230a7b8cf41c364ec50dd050ad3597fc81812ba6f0b0006a34a3ee6221944b6a471c75e0f389e5b68310a70297659270e5a98f551185f55f775528799cc9e7ee0db5b6a96737976155ce39e1c48c7fa4f57b4b244c54a555d52028aae25edc2f4157c12ad84d2edfe3e33fb02639ff9f9ae04a84d428f082f7b2c41e02360110613c101e658662cc60bc9982bb57645e3485b00b00774827dc8cec0c074004344226c620d015429c696203d91105035e5174627347aa1e9b06a249ec8be11c5cb8cfb17b0d9744170ade21145d2b31b0aecbad9ea45b42273eb48ca6197d4266223acef644ebd6d15031b02eab3fa50a4421e04a7f7185267323d7c583b15e1171775637abc94e3941e37756b4d22aa35133992c65015d547dd4e08e2decefb6ead12c2b888ec4f431e316503"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000140), 0x10}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000580)={&(0x7f0000000040)='9p_client_req\x00', r3}, 0x10) connect$unix(r2, &(0x7f0000000080)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0x6e) sendmmsg(r2, &(0x7f0000002dc0), 0x307017fdb7a66cb, 0x3ec0) dup2(r1, r2) 03:33:37 executing program 0: syz_usb_connect(0x0, 0x2d, &(0x7f0000000040)=ANY=[@ANYBLOB="12010000e88ba940d6063b00352001e8030109023400010000000009040000015794810009058d"], 0x0) 03:33:37 executing program 4: pipe(&(0x7f0000000300)={0xffffffffffffffff, 0xffffffffffffffff}) write$binfmt_misc(r1, &(0x7f0000000340)=ANY=[], 0x4240a2a0) r2 = socket$alg(0x26, 0x5, 0x0) bind$alg(r2, &(0x7f0000000940)={0x26, 'hash\x00', 0x0, 0x0, 'sha224-generic\x00'}, 0x58) r3 = accept4(r2, 0x0, 0x0, 0x0) splice(r0, 0x0, r3, 0x0, 0x8, 0x0) 03:33:37 executing program 5: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ieee802154(&(0x7f0000000040), r0) r2 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) sendmsg$IEEE802154_LLSEC_SETPARAMS(r2, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)={0x30, r1, 0x1, 0x0, 0x0, {}, [@IEEE802154_ATTR_LLSEC_KEY_MODE={0x5, 0x2b, 0x2}, @IEEE802154_ATTR_DEV_NAME={0xa, 0x1, 'wpan1\x00'}, @IEEE802154_ATTR_LLSEC_SECLEVEL={0x5}]}, 0x30}}, 0x0) 03:33:38 executing program 1: timer_create(0x0, &(0x7f0000066000)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f00009b1ffc)) timer_settime(0x0, 0x0, &(0x7f0000000040)={{0x0, 0x989680}, {0x0, 0x9}}, 0x0) timer_create(0x0, &(0x7f0000000100)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000300)=0x0) timer_settime(r0, 0x0, 0x0, 0x0) timer_create(0x0, &(0x7f0000000000)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000240)=0x0) r2 = openat$ptmx(0xffffffffffffff9c, &(0x7f00001f0000), 0x1000002, 0x0) ioctl$TIOCSETD(r2, 0x5423, &(0x7f0000000400)=0xd) r3 = dup(r2) r4 = open(&(0x7f0000000080)='./file0\x00', 0x141042, 0x0) ftruncate(r4, 0xee72) sendfile(r3, r4, 0x0, 0x8000fffffffe) timer_settime(r1, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) 03:33:38 executing program 2: openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000000340), 0x2, 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000000c0)) pipe2$9p(&(0x7f0000000280), 0x0) close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) pselect6(0x40, &(0x7f0000000140), &(0x7f0000000180)={0xff}, 0x0, 0x0, 0x0) [ 580.343392][ T3564] usb 1-1: new high-speed USB device number 16 using dummy_hcd 03:33:38 executing program 5: bpf$MAP_CREATE(0x0, &(0x7f0000000300)=@base={0x1, 0x4, 0x3, 0x677c, 0x44}, 0x48) [ 580.703190][ T3564] usb 1-1: config index 0 descriptor too short (expected 52, got 27) [ 580.711575][ T3564] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x8D has invalid wMaxPacketSize 0 03:33:38 executing program 2: mkdir(&(0x7f00000001c0)='./file0\x00', 0x1c3) r0 = creat(&(0x7f0000000140)='./bus\x00', 0x6c) mount(&(0x7f0000000240)=@sr0, &(0x7f00000002c0)='./bus\x00', &(0x7f0000000300)='ext4\x00', 0x80040, &(0x7f0000000340)='cgroup2\x00') mount(0x0, &(0x7f0000000400)='./file0\x00', &(0x7f00000003c0)='cgroup2\x00', 0x810, 0x0) r1 = open(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) write$cgroup_int(0xffffffffffffffff, &(0x7f0000000200), 0xf000) sendfile(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0xf03b0000) sendfile(r0, 0xffffffffffffffff, &(0x7f0000000380)=0x6, 0x3800) r2 = openat$cgroup_procs(r1, &(0x7f0000000180)='cgroup.procs\x00', 0x2, 0x0) writev(r2, &(0x7f0000000440)=[{&(0x7f0000000100)='0', 0x1}], 0x1) prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x8c}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)=0x9) r3 = creat(&(0x7f0000000000)='./bus\x00', 0x0) ftruncate(r3, 0x208200) r4 = socket$inet6(0xa, 0x1, 0x0) close(r4) r5 = open(&(0x7f0000000040)='./bus\x00', 0x1145042, 0x0) sendfile(r5, r4, 0x0, 0x800000a1) ftruncate(r3, 0xfff) 03:33:38 executing program 3: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = openat$procfs(0xffffff9c, &(0x7f0000000200)='/proc/zoneinfo\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000000640)={0x2020}, 0x2020) syz_open_dev$sndmidi(0x0, 0x2, 0x141101) write$6lowpan_enable(0xffffffffffffffff, 0x0, 0x0) r1 = creat(&(0x7f0000000280)='./file0\x00', 0xf1) close(r1) execve(&(0x7f00000000c0)='./file0\x00', &(0x7f00000004c0)=[&(0x7f0000000600)='\xfc|\xf5\x13\xd4\xf6P\xc5DF\xc1Z\x87\xf0\x9b1\xaa\x8d\x7f\xfb;\xca\x8b\xc5s\xda\xde\xf1~\x9e\xe0$\x8d\x95\x80=%\x1d\x1db\xfb8MI\xd1\x140xffffffffffffffff, 0xffffffffffffffff}) write$binfmt_misc(r1, &(0x7f0000000340)=ANY=[], 0x4240a2a0) r2 = socket$alg(0x26, 0x5, 0x0) bind$alg(r2, &(0x7f0000000940)={0x26, 'hash\x00', 0x0, 0x0, 'sha224-generic\x00'}, 0x58) r3 = accept4(r2, 0x0, 0x0, 0x0) splice(r0, 0x0, r3, 0x0, 0x8, 0x0) 03:33:39 executing program 2: mkdir(&(0x7f00000001c0)='./file0\x00', 0x1c3) r0 = creat(&(0x7f0000000140)='./bus\x00', 0x6c) mount(&(0x7f0000000240)=@sr0, &(0x7f00000002c0)='./bus\x00', &(0x7f0000000300)='ext4\x00', 0x80040, &(0x7f0000000340)='cgroup2\x00') mount(0x0, &(0x7f0000000400)='./file0\x00', &(0x7f00000003c0)='cgroup2\x00', 0x810, 0x0) r1 = open(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) write$cgroup_int(0xffffffffffffffff, &(0x7f0000000200), 0xf000) sendfile(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0xf03b0000) sendfile(r0, 0xffffffffffffffff, &(0x7f0000000380)=0x6, 0x3800) r2 = openat$cgroup_procs(r1, &(0x7f0000000180)='cgroup.procs\x00', 0x2, 0x0) writev(r2, &(0x7f0000000440)=[{&(0x7f0000000100)='0', 0x1}], 0x1) prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x8c}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)=0x9) r3 = creat(&(0x7f0000000000)='./bus\x00', 0x0) ftruncate(r3, 0x208200) r4 = socket$inet6(0xa, 0x1, 0x0) close(r4) r5 = open(&(0x7f0000000040)='./bus\x00', 0x1145042, 0x0) sendfile(r5, r4, 0x0, 0x800000a1) ftruncate(r3, 0xfff) 03:33:40 executing program 0: syz_usb_connect(0x0, 0x2d, &(0x7f0000000040)=ANY=[@ANYBLOB="12010000e88ba940d6063b00352001e8030109023400010000000009040000015794810009058d"], 0x0) 03:33:40 executing program 5: r0 = syz_init_net_socket$ax25(0x3, 0x2, 0x0) setsockopt$ax25_int(r0, 0x101, 0xa, &(0x7f0000000040), 0x4) 03:33:40 executing program 1: 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, &(0x7f0000000180)={0x2, 0x4e20, @loopback}, 0x10) getsockopt$inet_int(r1, 0x10d, 0xea, &(0x7f0000000080), &(0x7f0000000000)=0x4) [ 582.276495][ T24] audit: type=1800 audit(2000000020.150:103): pid=9035 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.2" name="bus" dev="sda1" ino=1159 res=0 errno=0 03:33:40 executing program 3: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = openat$procfs(0xffffff9c, &(0x7f0000000200)='/proc/zoneinfo\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000000640)={0x2020}, 0x2020) syz_open_dev$sndmidi(0x0, 0x2, 0x141101) write$6lowpan_enable(0xffffffffffffffff, 0x0, 0x0) r1 = creat(&(0x7f0000000280)='./file0\x00', 0xf1) close(r1) execve(&(0x7f00000000c0)='./file0\x00', &(0x7f00000004c0)=[&(0x7f0000000600)='\xfc|\xf5\x13\xd4\xf6P\xc5DF\xc1Z\x87\xf0\x9b1\xaa\x8d\x7f\xfb;\xca\x8b\xc5s\xda\xde\xf1~\x9e\xe0$\x8d\x95\x80=%\x1d\x1db\xfb8MI\xd1\x140xffffffffffffffff, 0xffffffffffffffff}) write$binfmt_misc(r1, &(0x7f0000000340)=ANY=[], 0x4240a2a0) r2 = socket$alg(0x26, 0x5, 0x0) bind$alg(r2, &(0x7f0000000940)={0x26, 'hash\x00', 0x0, 0x0, 'sha224-generic\x00'}, 0x58) r3 = accept4(r2, 0x0, 0x0, 0x0) splice(r0, 0x0, r3, 0x0, 0x8, 0x0) [ 583.104883][ T24] audit: type=1800 audit(2000000020.970:104): pid=9046 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.2" name="bus" dev="sda1" ino=1175 res=0 errno=0 03:33:41 executing program 2: mkdir(&(0x7f00000001c0)='./file0\x00', 0x1c3) r0 = creat(&(0x7f0000000140)='./bus\x00', 0x6c) mount(&(0x7f0000000240)=@sr0, &(0x7f00000002c0)='./bus\x00', &(0x7f0000000300)='ext4\x00', 0x80040, &(0x7f0000000340)='cgroup2\x00') mount(0x0, &(0x7f0000000400)='./file0\x00', &(0x7f00000003c0)='cgroup2\x00', 0x810, 0x0) r1 = open(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) write$cgroup_int(0xffffffffffffffff, &(0x7f0000000200), 0xf000) sendfile(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0xf03b0000) sendfile(r0, 0xffffffffffffffff, &(0x7f0000000380)=0x6, 0x3800) r2 = openat$cgroup_procs(r1, &(0x7f0000000180)='cgroup.procs\x00', 0x2, 0x0) writev(r2, &(0x7f0000000440)=[{&(0x7f0000000100)='0', 0x1}], 0x1) prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x8c}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)=0x9) r3 = creat(&(0x7f0000000000)='./bus\x00', 0x0) ftruncate(r3, 0x208200) r4 = socket$inet6(0xa, 0x1, 0x0) close(r4) r5 = open(&(0x7f0000000040)='./bus\x00', 0x1145042, 0x0) sendfile(r5, r4, 0x0, 0x800000a1) ftruncate(r3, 0xfff) [ 583.362896][ T3615] usb 1-1: config index 0 descriptor too short (expected 52, got 27) [ 583.371248][ T3615] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x8D has invalid wMaxPacketSize 0 03:33:41 executing program 5: setsockopt$IP6T_SO_SET_REPLACE(0xffffffffffffffff, 0x29, 0x40, &(0x7f0000000000)=@raw={'raw\x00', 0x3c1, 0x3, 0x2b0, 0x0, 0x111, 0x4b4, 0xd0, 0xd4feffff, 0x1e0, 0x202, 0x278, 0x1e0, 0x278, 0x3, 0x0, {[{{@ipv6={@empty, @empty, [], [], 'bond0\x00', 'team_slave_0\x00'}, 0x0, 0xa8, 0xd0}, @common=@inet=@TCPMSS={0x28}}, {{@ipv6={@private0, @private1, [], [], 'veth1_to_hsr\x00', 'erspan0\x00'}, 0x0, 0xa8, 0x110}, @unspec=@CT2={0x68, 'CT\x00', 0x2, {0x0, 0x0, 0x0, 0x0, 'pptp\x00', 'syz1\x00'}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x310) syz_usb_connect$uac1(0x0, 0xa4, &(0x7f0000000000)=ANY=[@ANYBLOB="2a01000020000040b708000000000000030109029200030172e500090400000001011e000a24010000000201020c0d2407000003070000000000000c240200e9fffff5ffffffff09240322000000058245240505"], 0x0) 03:33:41 executing program 3: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = openat$procfs(0xffffff9c, &(0x7f0000000200)='/proc/zoneinfo\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000000640)={0x2020}, 0x2020) syz_open_dev$sndmidi(0x0, 0x2, 0x141101) write$6lowpan_enable(0xffffffffffffffff, 0x0, 0x0) r1 = creat(&(0x7f0000000280)='./file0\x00', 0xf1) close(r1) execve(&(0x7f00000000c0)='./file0\x00', &(0x7f00000004c0)=[&(0x7f0000000600)='\xfc|\xf5\x13\xd4\xf6P\xc5DF\xc1Z\x87\xf0\x9b1\xaa\x8d\x7f\xfb;\xca\x8b\xc5s\xda\xde\xf1~\x9e\xe0$\x8d\x95\x80=%\x1d\x1db\xfb8MI\xd1\x140x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000100)=0xab) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffff00000000", @ANYRES32=r4, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000005840)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000240)=ANY=[@ANYBLOB="4800000024000b0e00"/20, @ANYRES32=r4, @ANYBLOB="00000000ffffffff0000000008000100687462001c0002001800020003"], 0x48}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000001c0)=@newtfilter={0x4c, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {}, {0xfff3}}, [@filter_kind_options=@f_flower={{0xb}, {0x1c, 0x2, [@TCA_FLOWER_KEY_ETH_DST={0xa, 0x4, @remote}, @TCA_FLOWER_KEY_ETH_DST_MASK={0xa}]}}]}, 0x4c}}, 0x0) [ 584.834106][ T125] usb 6-1: New USB device found, idVendor=08b7, idProduct=0000, bcdDevice= 0.00 [ 584.843516][ T125] usb 6-1: New USB device strings: Mfr=0, Product=0, SerialNumber=3 [ 584.852209][ T125] usb 6-1: SerialNumber: syz 03:33:42 executing program 1: sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000380)=ANY=[@ANYBLOB="3400000024000b0f000003000000000000000000", @ANYRES32, @ANYBLOB="00000000ffffffff000000000900010063616b65"], 0x34}}, 0x0) r0 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r0, &(0x7f00000002c0), 0x40000000000009f, 0x0) 03:33:42 executing program 3: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = openat$procfs(0xffffff9c, &(0x7f0000000200)='/proc/zoneinfo\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000000640)={0x2020}, 0x2020) syz_open_dev$sndmidi(0x0, 0x2, 0x141101) write$6lowpan_enable(0xffffffffffffffff, 0x0, 0x0) r1 = creat(&(0x7f0000000280)='./file0\x00', 0xf1) close(r1) execve(&(0x7f00000000c0)='./file0\x00', &(0x7f00000004c0)=[&(0x7f0000000600)='\xfc|\xf5\x13\xd4\xf6P\xc5DF\xc1Z\x87\xf0\x9b1\xaa\x8d\x7f\xfb;\xca\x8b\xc5s\xda\xde\xf1~\x9e\xe0$\x8d\x95\x80=%\x1d\x1db\xfb8MI\xd1\x140x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000140)=0x14) r2 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000180)=@newqdisc={0x3c, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r1, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_plug={{0x9}, {0xc, 0xf}}]}, 0x3c}}, 0x0) sendmmsg$inet(r0, &(0x7f0000000600)=[{{0x0, 0x0, &(0x7f0000000100)=[{&(0x7f0000000000)="9c5167c6ccb78160345be45a", 0xc}, {&(0x7f00000001c0)="6a0e", 0x2}], 0x2}}], 0x1, 0x0) 03:33:47 executing program 1: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0x9, &(0x7f0000000000)={0x0, @in={{0x2, 0x0, @empty}}, 0x0, 0x0, 0x400, 0x0, 0x32}, 0x9c) bind$inet6(r0, &(0x7f00004b8fe4)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) setsockopt$inet_sctp6_SCTP_FRAGMENT_INTERLEAVE(r0, 0x84, 0x12, &(0x7f00000001c0)=0x7, 0x4) sendto$inet6(r0, &(0x7f0000847fff)='X', 0x34000, 0x0, &(0x7f000005ffe4)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) [ 589.923121][ T3564] usb 6-1: config 1 has an invalid descriptor of length 0, skipping remainder of the config [ 589.936252][ T3564] usb 6-1: config 1 has 1 interface, different from the descriptor's value: 3 03:33:47 executing program 2: r0 = bpf$BPF_BTF_LOAD(0x12, &(0x7f00000003c0)={&(0x7f0000000280)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0xc, 0xc, 0x2, [@enum]}}, &(0x7f0000000300)=""/161, 0x26, 0xa1, 0x1}, 0x20) bpf$MAP_CREATE(0x0, &(0x7f00000000c0)=@base={0x13, 0x8, 0x4, 0x0, 0x0, 0xffffffffffffffff, 0x0, '\x00', 0x0, r0, 0x0, 0x1}, 0x48) [ 590.063598][ T3564] usb 6-1: New USB device found, idVendor=08b7, idProduct=0000, bcdDevice= 0.00 [ 590.073641][ T3564] usb 6-1: New USB device strings: Mfr=0, Product=0, SerialNumber=3 [ 590.081846][ T3564] usb 6-1: SerialNumber: syz 03:33:48 executing program 4: r0 = socket(0x10, 0x3, 0x0) syz_genetlink_get_family_id$nl80211(&(0x7f0000000040), r0) write(r0, &(0x7f0000000000)="240000001e005f031400ff01000000f80700b3586ff606c2e553797c080008e467dc0000", 0xfe77) recvmmsg(r0, &(0x7f0000005180), 0xab, 0x60, 0x0) 03:33:48 executing program 3: r0 = bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000280)=@bpf_lsm={0x6, 0x3, &(0x7f00000003c0)=ANY=[@ANYBLOB="18000000003f000000000000000000f195"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x1b, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) r1 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000080)=@framed, &(0x7f00000000c0)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f00000002c0)='virtio_transport_alloc_pkt\x00', r1}, 0x10) bpf$LINK_GET_NEXT_ID(0x1f, &(0x7f0000000040)={0x0, 0x0}, 0x8) r3 = bpf$LINK_GET_FD_BY_ID(0x1e, &(0x7f0000000080)=r2, 0x4) bpf$BPF_LINK_UPDATE(0x1d, &(0x7f00000007c0)={r3, r0}, 0x10) 03:33:48 executing program 0: pipe(&(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) socket$inet_icmp_raw(0x2, 0x3, 0x1) r2 = socket$inet_udp(0x2, 0x2, 0x0) close(r2) r3 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$inet_opts(r3, 0x0, 0x4, &(0x7f0000000100)="01", 0x1) write$binfmt_misc(r1, &(0x7f0000000000)=ANY=[], 0x4240a2a0) bind$inet(r2, &(0x7f0000000080)={0x2, 0x0, @local}, 0x10) connect$inet(r2, &(0x7f00000000c0)={0x2, 0x0, @multicast1}, 0x10) splice(r0, 0x0, r2, 0x0, 0x400fe0, 0x0) [ 590.455021][ T3564] usb 6-1: unknown interface protocol 0x1e, assuming v1 [ 590.462369][ T3564] usb 6-1: 0:2 : does not exist [ 590.641583][ T3564] usb 6-1: USB disconnect, device number 10 03:33:48 executing program 4: r0 = socket(0x10, 0x3, 0x0) syz_genetlink_get_family_id$nl80211(&(0x7f0000000040), r0) write(r0, &(0x7f0000000000)="240000001e005f031400ff01000000f80700b3586ff606c2e553797c080008e467dc0000", 0xfe77) recvmmsg(r0, &(0x7f0000005180), 0xab, 0x60, 0x0) 03:33:48 executing program 2: r0 = syz_open_dev$vcsa(&(0x7f0000000480), 0x0, 0x0) pidfd_send_signal(r0, 0x0, 0x0, 0x0) 03:33:48 executing program 5: setsockopt$IP6T_SO_SET_REPLACE(0xffffffffffffffff, 0x29, 0x40, &(0x7f0000000000)=@raw={'raw\x00', 0x3c1, 0x3, 0x2b0, 0x0, 0x111, 0x4b4, 0xd0, 0xd4feffff, 0x1e0, 0x202, 0x278, 0x1e0, 0x278, 0x3, 0x0, {[{{@ipv6={@empty, @empty, [], [], 'bond0\x00', 'team_slave_0\x00'}, 0x0, 0xa8, 0xd0}, @common=@inet=@TCPMSS={0x28}}, {{@ipv6={@private0, @private1, [], [], 'veth1_to_hsr\x00', 'erspan0\x00'}, 0x0, 0xa8, 0x110}, @unspec=@CT2={0x68, 'CT\x00', 0x2, {0x0, 0x0, 0x0, 0x0, 'pptp\x00', 'syz1\x00'}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x310) syz_usb_connect$uac1(0x0, 0xa4, &(0x7f0000000000)=ANY=[@ANYBLOB="2a01000020000040b708000000000000030109029200030172e500090400000001011e000a24010000000201020c0d2407000003070000000000000c240200e9fffff5ffffffff09240322000000058245240505"], 0x0) 03:33:48 executing program 3: r0 = socket$inet6_mptcp(0xa, 0x1, 0x106) setsockopt$inet6_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f00000000c0)='yeah\x00', 0x5) connect$inet6(r0, &(0x7f0000000180)={0xa, 0x4001, 0x0, @dev={0xfe, 0x80, '\x00', 0x1c}, 0xd}, 0x1c) sendmsg$inet6(r0, &(0x7f0000001500)={0x0, 0x0, &(0x7f0000001300)=[{&(0x7f0000000000)='P', 0x1}], 0x1}, 0x0) 03:33:49 executing program 1: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0x9, &(0x7f0000000000)={0x0, @in={{0x2, 0x0, @empty}}, 0x0, 0x0, 0x400, 0x0, 0x32}, 0x9c) bind$inet6(r0, &(0x7f00004b8fe4)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) setsockopt$inet_sctp6_SCTP_FRAGMENT_INTERLEAVE(r0, 0x84, 0x12, &(0x7f00000001c0)=0x7, 0x4) sendto$inet6(r0, &(0x7f0000847fff)='X', 0x34000, 0x0, &(0x7f000005ffe4)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) 03:33:49 executing program 2: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000880)=ANY=[@ANYBLOB="12010000000000105804195000000000000109022400010000000009040000010300000009210000000122dc0109058103"], 0x0) syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000000)=ANY=[@ANYBLOB="12011003"], 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_connect$hid(0x0, 0x0, 0x0, &(0x7f00000003c0)={0x0, 0x0, 0x0, 0x0, 0x1, [{0x29, &(0x7f0000000140)=@string={0x29, 0x3, "9d38162f141ba25d003ffc10bc904d556f05380d019ffc6e0d1f0ca9bdefca8d021627b0ddf2dc"}}]}) syz_usb_control_io(r0, &(0x7f0000000340)={0x2c, &(0x7f0000000000)=ANY=[], 0x0, 0x0, 0x0, 0x0}, 0x0) 03:33:49 executing program 0: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_tx_ring(r0, 0x107, 0x5, &(0x7f00000000c0)=@req3={0x8000, 0x6, 0x8000, 0x6}, 0x1c) mmap(&(0x7f0000000000/0x2000)=nil, 0x30000, 0x0, 0x11, r0, 0x0) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) madvise(&(0x7f000000a000/0x1000)=nil, 0x1000, 0x15) 03:33:49 executing program 3: mknodat$loop(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x1) r0 = inotify_init() inotify_add_watch(r0, &(0x7f0000000100)='./file0\x00', 0x10) r1 = inotify_init() inotify_add_watch(r1, &(0x7f0000000040)='./file0\x00', 0x20000000) inotify_add_watch(r1, &(0x7f0000000100)='./file0\x00', 0x10) 03:33:49 executing program 4: r0 = socket(0x10, 0x3, 0x0) syz_genetlink_get_family_id$nl80211(&(0x7f0000000040), r0) write(r0, &(0x7f0000000000)="240000001e005f031400ff01000000f80700b3586ff606c2e553797c080008e467dc0000", 0xfe77) recvmmsg(r0, &(0x7f0000005180), 0xab, 0x60, 0x0) [ 591.501142][ T7920] udevd[7920]: error opening ATTR{/sys/devices/platform/dummy_hcd.5/usb6/6-1/6-1:1.0/sound/card3/controlC3/../uevent} for writing: No such file or directory [ 591.672148][ T3571] usb 6-1: new high-speed USB device number 11 using dummy_hcd 03:33:49 executing program 3: r0 = openat$vnet(0xffffff9c, &(0x7f0000000c80), 0x2, 0x0) ioctl$VHOST_GET_FEATURES(r0, 0x8008af00, &(0x7f0000000cc0)) 03:33:49 executing program 4: r0 = socket(0x10, 0x3, 0x0) syz_genetlink_get_family_id$nl80211(&(0x7f0000000040), r0) write(r0, &(0x7f0000000000)="240000001e005f031400ff01000000f80700b3586ff606c2e553797c080008e467dc0000", 0xfe77) recvmmsg(r0, &(0x7f0000005180), 0xab, 0x60, 0x0) [ 591.986449][ T3566] usb 3-1: new high-speed USB device number 10 using dummy_hcd [ 592.063270][ T3571] usb 6-1: config 1 has an invalid descriptor of length 0, skipping remainder of the config [ 592.073658][ T3571] usb 6-1: config 1 has 1 interface, different from the descriptor's value: 3 [ 592.152415][ T9168] not chained 80000 origins [ 592.157047][ T9168] CPU: 1 PID: 9168 Comm: syz-executor.1 Not tainted 5.19.0-syzkaller-32655-g1b070a5d1a2c #0 [ 592.167254][ T9168] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/22/2022 [ 592.177424][ T9168] Call Trace: [ 592.180773][ T9168] [ 592.183773][ T9168] dump_stack_lvl+0x1c8/0x256 [ 592.188625][ T9168] dump_stack+0x1a/0x1c [ 592.192935][ T9168] kmsan_internal_chain_origin+0x78/0x120 [ 592.198803][ T9168] ? kmsan_internal_chain_origin+0xac/0x120 [ 592.204839][ T9168] ? __msan_chain_origin+0xbd/0x140 [ 592.210174][ T9168] ? sctp_chunk_fail+0xd3/0xf0 [ 592.215148][ T9168] ? __sctp_outq_teardown+0x254/0x1450 [ 592.220753][ T9168] ? sctp_outq_free+0x1a/0x20 [ 592.225540][ T9168] ? sctp_association_free+0x300/0xde0 [ 592.231147][ T9168] ? sctp_do_sm+0x8a7b/0x9b90 [ 592.235949][ T9168] ? sctp_primitive_ABORT+0xc2/0x100 [ 592.241401][ T9168] ? sctp_close+0x401/0xda0 [ 592.246037][ T9168] ? inet_release+0x2c4/0x350 [ 592.250845][ T9168] ? inet6_release+0x77/0xd0 [ 592.255602][ T9168] ? sock_close+0xdb/0x2d0 [ 592.260139][ T9168] ? __fput+0x660/0xe30 [ 592.264468][ T9168] ? ____fput+0x1a/0x20 [ 592.268761][ T9168] ? task_work_run+0x13c/0x280 [ 592.273703][ T9168] ? exit_to_user_mode_loop+0x2a9/0x320 [ 592.279375][ T9168] ? exit_to_user_mode_prepare+0x16e/0x220 [ 592.285309][ T9168] ? syscall_exit_to_user_mode+0x23/0x40 [ 592.291083][ T9168] ? __do_fast_syscall_32+0xb1/0x100 [ 592.296485][ T9168] ? do_fast_syscall_32+0x33/0x70 [ 592.301626][ T9168] ? do_SYSENTER_32+0x1b/0x20 [ 592.306435][ T9168] ? entry_SYSENTER_compat_after_hwframe+0x70/0x82 [ 592.313099][ T9168] ? kmsan_internal_set_shadow_origin+0x62/0xe0 [ 592.319493][ T9168] ? kmsan_internal_unpoison_memory+0x10/0x20 [ 592.325721][ T9168] ? kmsan_internal_set_shadow_origin+0x62/0xe0 [ 592.332132][ T9168] ? kmsan_get_shadow_origin_ptr+0x49/0xa0 [ 592.338089][ T9168] __msan_chain_origin+0xbd/0x140 [ 592.343251][ T9168] sctp_chunk_fail+0xd3/0xf0 [ 592.347998][ T9168] __sctp_outq_teardown+0x254/0x1450 [ 592.353430][ T9168] sctp_outq_free+0x1a/0x20 [ 592.358054][ T9168] sctp_association_free+0x300/0xde0 [ 592.363497][ T9168] sctp_do_sm+0x8a7b/0x9b90 [ 592.368146][ T9168] ? kmsan_internal_memmove_metadata+0x96/0x350 [ 592.374540][ T9168] ? kmsan_get_shadow_origin_ptr+0x49/0xa0 [ 592.380492][ T9168] ? skb_put+0x185/0x230 [ 592.384895][ T9168] sctp_primitive_ABORT+0xc2/0x100 [ 592.390133][ T9168] sctp_close+0x401/0xda0 [ 592.394611][ T9168] ? kmsan_get_shadow_origin_ptr+0x49/0xa0 [ 592.400557][ T9168] ? sctp_destruct_sock+0x80/0x80 [ 592.405709][ T9168] inet_release+0x2c4/0x350 [ 592.410342][ T9168] inet6_release+0x77/0xd0 [ 592.414878][ T9168] ? __inet6_bind+0x1a30/0x1a30 [ 592.419858][ T9168] sock_close+0xdb/0x2d0 [ 592.424228][ T9168] ? sock_mmap+0xc0/0xc0 [ 592.428579][ T9168] __fput+0x660/0xe30 [ 592.432722][ T9168] ? fput+0x280/0x280 [ 592.436833][ T9168] ____fput+0x1a/0x20 [ 592.440953][ T9168] task_work_run+0x13c/0x280 [ 592.445716][ T9168] exit_to_user_mode_loop+0x2a9/0x320 [ 592.451213][ T9168] exit_to_user_mode_prepare+0x16e/0x220 [ 592.456975][ T9168] syscall_exit_to_user_mode+0x23/0x40 [ 592.462590][ T9168] __do_fast_syscall_32+0xb1/0x100 [ 592.467831][ T9168] do_fast_syscall_32+0x33/0x70 [ 592.472803][ T9168] do_SYSENTER_32+0x1b/0x20 [ 592.477425][ T9168] entry_SYSENTER_compat_after_hwframe+0x70/0x82 [ 592.483883][ T9168] RIP: 0023:0xf7fcc549 [ 592.488041][ T9168] Code: 03 74 c0 01 10 05 03 74 b8 01 10 06 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 [ 592.507794][ T9168] RSP: 002b:00000000fff21750 EFLAGS: 00000282 ORIG_RAX: 0000000000000006 [ 592.516328][ T9168] RAX: 0000000000000000 RBX: 0000000000000003 RCX: 0000000000000002 [ 592.524389][ T9168] RDX: 0000000000000000 RSI: 00000000f6f37000 RDI: 0000000000090a9f [ 592.532454][ T9168] RBP: 00000000f6f5c0c0 R08: 0000000000000000 R09: 0000000000000000 [ 592.540517][ T9168] R10: 0000000000000000 R11: 0000000000000286 R12: 0000000000000000 [ 592.548577][ T9168] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 [ 592.556659][ T9168] [ 592.559943][ T9168] Uninit was stored to memory at: [ 592.565255][ T9168] sctp_chunk_fail+0xd3/0xf0 [ 592.569996][ T9168] __sctp_outq_teardown+0x254/0x1450 [ 592.575532][ T9168] sctp_outq_free+0x1a/0x20 [ 592.580163][ T9168] sctp_association_free+0x300/0xde0 [ 592.585699][ T9168] sctp_do_sm+0x8a7b/0x9b90 [ 592.590330][ T9168] sctp_primitive_ABORT+0xc2/0x100 [ 592.595672][ T9168] sctp_close+0x401/0xda0 [ 592.600139][ T9168] inet_release+0x2c4/0x350 [ 592.604873][ T9168] inet6_release+0x77/0xd0 [ 592.609424][ T9168] sock_close+0xdb/0x2d0 [ 592.613900][ T9168] __fput+0x660/0xe30 [ 592.618034][ T9168] ____fput+0x1a/0x20 [ 592.622235][ T9168] task_work_run+0x13c/0x280 [ 592.623559][ T3566] usb 3-1: Using ep0 maxpacket: 16 [ 592.626929][ T9168] exit_to_user_mode_loop+0x2a9/0x320 [ 592.635738][ T3571] usb 6-1: New USB device found, idVendor=08b7, idProduct=0000, bcdDevice= 0.00 [ 592.637531][ T9168] exit_to_user_mode_prepare+0x16e/0x220 [ 592.637627][ T9168] syscall_exit_to_user_mode+0x23/0x40 [ 592.646816][ T3571] usb 6-1: New USB device strings: Mfr=0, Product=0, SerialNumber=3 [ 592.652521][ T9168] __do_fast_syscall_32+0xb1/0x100 [ 592.652610][ T9168] do_fast_syscall_32+0x33/0x70 [ 592.652686][ T9168] do_SYSENTER_32+0x1b/0x20 [ 592.652763][ T9168] entry_SYSENTER_compat_after_hwframe+0x70/0x82 [ 592.658225][ T3571] usb 6-1: SerialNumber: syz [ 592.666276][ T9168] [ 592.694806][ T9168] Uninit was stored to memory at: [ 592.700011][ T9168] sctp_chunk_fail+0xd3/0xf0 [ 592.704854][ T9168] __sctp_outq_teardown+0x254/0x1450 [ 592.710280][ T9168] sctp_outq_free+0x1a/0x20 [ 592.715012][ T9168] sctp_association_free+0x300/0xde0 [ 592.720446][ T9168] sctp_do_sm+0x8a7b/0x9b90 [ 592.725184][ T9168] sctp_primitive_ABORT+0xc2/0x100 [ 592.730435][ T9168] sctp_close+0x401/0xda0 [ 592.735000][ T9168] inet_release+0x2c4/0x350 [ 592.739625][ T9168] inet6_release+0x77/0xd0 [ 592.744276][ T9168] sock_close+0xdb/0x2d0 [ 592.748648][ T9168] __fput+0x660/0xe30 03:33:50 executing program 0: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_tx_ring(r0, 0x107, 0x5, &(0x7f00000000c0)=@req3={0x8000, 0x6, 0x8000, 0x6}, 0x1c) mmap(&(0x7f0000000000/0x2000)=nil, 0x30000, 0x0, 0x11, r0, 0x0) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) madvise(&(0x7f000000a000/0x1000)=nil, 0x1000, 0x15) [ 592.752869][ T9168] ____fput+0x1a/0x20 [ 592.757002][ T9168] task_work_run+0x13c/0x280 [ 592.761752][ T9168] exit_to_user_mode_loop+0x2a9/0x320 [ 592.767370][ T9168] exit_to_user_mode_prepare+0x16e/0x220 [ 592.773249][ T9168] syscall_exit_to_user_mode+0x23/0x40 [ 592.778868][ T9168] __do_fast_syscall_32+0xb1/0x100 [ 592.784238][ T9168] do_fast_syscall_32+0x33/0x70 [ 592.789222][ T9168] do_SYSENTER_32+0x1b/0x20 [ 592.793951][ T9168] entry_SYSENTER_compat_after_hwframe+0x70/0x82 [ 592.800424][ T9168] [ 592.802903][ T9168] Uninit was stored to memory at: [ 592.807987][ T3566] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 592.808100][ T9168] sctp_chunk_fail+0xd3/0xf0 [ 592.819214][ T3566] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 592.823754][ T9168] __sctp_outq_teardown+0x254/0x1450 [ 592.833672][ T3566] usb 3-1: New USB device found, idVendor=0458, idProduct=5019, bcdDevice= 0.00 [ 592.838897][ T9168] sctp_outq_free+0x1a/0x20 [ 592.848133][ T3566] usb 3-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 592.852616][ T9168] sctp_association_free+0x300/0xde0 [ 592.866343][ T9168] sctp_do_sm+0x8a7b/0x9b90 [ 592.870985][ T9168] sctp_primitive_ABORT+0xc2/0x100 [ 592.876317][ T9168] sctp_close+0x401/0xda0 [ 592.880783][ T9168] inet_release+0x2c4/0x350 [ 592.885517][ T9168] inet6_release+0x77/0xd0 [ 592.890062][ T9168] sock_close+0xdb/0x2d0 [ 592.894528][ T9168] __fput+0x660/0xe30 [ 592.898657][ T9168] ____fput+0x1a/0x20 [ 592.902877][ T9168] task_work_run+0x13c/0x280 [ 592.907624][ T9168] exit_to_user_mode_loop+0x2a9/0x320 [ 592.913218][ T9168] exit_to_user_mode_prepare+0x16e/0x220 [ 592.918989][ T9168] syscall_exit_to_user_mode+0x23/0x40 [ 592.924700][ T9168] __do_fast_syscall_32+0xb1/0x100 [ 592.929946][ T9168] do_fast_syscall_32+0x33/0x70 [ 592.935027][ T9168] do_SYSENTER_32+0x1b/0x20 [ 592.939656][ T9168] entry_SYSENTER_compat_after_hwframe+0x70/0x82 [ 592.946223][ T9168] [ 592.948613][ T9168] Uninit was stored to memory at: [ 592.953913][ T9168] sctp_chunk_fail+0xd3/0xf0 [ 592.958654][ T9168] __sctp_outq_teardown+0x254/0x1450 [ 592.964174][ T9168] sctp_outq_free+0x1a/0x20 [ 592.968802][ T9168] sctp_association_free+0x300/0xde0 [ 592.974334][ T9168] sctp_do_sm+0x8a7b/0x9b90 [ 592.978971][ T9168] sctp_primitive_ABORT+0xc2/0x100 [ 592.984305][ T9168] sctp_close+0x401/0xda0 [ 592.988773][ T9168] inet_release+0x2c4/0x350 [ 592.993512][ T9168] inet6_release+0x77/0xd0 [ 592.998068][ T9168] sock_close+0xdb/0x2d0 [ 593.002531][ T9168] __fput+0x660/0xe30 [ 593.006682][ T9168] ____fput+0x1a/0x20 [ 593.010807][ T9168] task_work_run+0x13c/0x280 [ 593.015645][ T9168] exit_to_user_mode_loop+0x2a9/0x320 [ 593.021157][ T9168] exit_to_user_mode_prepare+0x16e/0x220 [ 593.027023][ T9168] syscall_exit_to_user_mode+0x23/0x40 [ 593.032733][ T9168] __do_fast_syscall_32+0xb1/0x100 [ 593.037977][ T9168] do_fast_syscall_32+0x33/0x70 [ 593.043050][ T9168] do_SYSENTER_32+0x1b/0x20 [ 593.047677][ T9168] entry_SYSENTER_compat_after_hwframe+0x70/0x82 [ 593.054248][ T9168] [ 593.056633][ T9168] Uninit was stored to memory at: [ 593.061839][ T9168] sctp_chunk_fail+0xd3/0xf0 [ 593.066721][ T9168] __sctp_outq_teardown+0x254/0x1450 [ 593.072240][ T9168] sctp_outq_free+0x1a/0x20 [ 593.076869][ T9168] sctp_association_free+0x300/0xde0 [ 593.082411][ T9168] sctp_do_sm+0x8a7b/0x9b90 [ 593.087056][ T9168] sctp_primitive_ABORT+0xc2/0x100 [ 593.092388][ T9168] sctp_close+0x401/0xda0 [ 593.096872][ T9168] inet_release+0x2c4/0x350 [ 593.101514][ T9168] inet6_release+0x77/0xd0 [ 593.106190][ T9168] sock_close+0xdb/0x2d0 [ 593.110559][ T9168] __fput+0x660/0xe30 [ 593.114784][ T9168] ____fput+0x1a/0x20 [ 593.118923][ T9168] task_work_run+0x13c/0x280 [ 593.123769][ T9168] exit_to_user_mode_loop+0x2a9/0x320 [ 593.129291][ T9168] exit_to_user_mode_prepare+0x16e/0x220 [ 593.135157][ T9168] syscall_exit_to_user_mode+0x23/0x40 [ 593.140784][ T9168] __do_fast_syscall_32+0xb1/0x100 [ 593.146133][ T9168] do_fast_syscall_32+0x33/0x70 [ 593.151109][ T9168] do_SYSENTER_32+0x1b/0x20 [ 593.155834][ T9168] entry_SYSENTER_compat_after_hwframe+0x70/0x82 [ 593.162391][ T9168] [ 593.164777][ T9168] Uninit was stored to memory at: [ 593.170021][ T9168] sctp_datamsg_from_user+0x1a69/0x2000 [ 593.175823][ T9168] sctp_sendmsg_to_asoc+0x101a/0x19e0 [ 593.181372][ T9168] sctp_sendmsg+0x3836/0x4ce0 [ 593.186287][ T9168] inet_sendmsg+0x101/0x180 [ 593.190928][ T9168] __sys_sendto+0x7ea/0xa60 [ 593.195650][ T9168] __ia32_sys_sendto+0x11b/0x1b0 [ 593.200718][ T9168] __do_fast_syscall_32+0xa2/0x100 [ 593.206066][ T9168] do_fast_syscall_32+0x33/0x70 [ 593.211046][ T9168] do_SYSENTER_32+0x1b/0x20 [ 593.215774][ T9168] entry_SYSENTER_compat_after_hwframe+0x70/0x82 [ 593.222330][ T9168] [ 593.224719][ T9168] Uninit was stored to memory at: [ 593.229931][ T9168] sctp_datamsg_from_user+0x2ed/0x2000 [ 593.235657][ T9168] sctp_sendmsg_to_asoc+0x101a/0x19e0 [ 593.241202][ T9168] sctp_sendmsg+0x3836/0x4ce0 [ 593.246125][ T9168] inet_sendmsg+0x101/0x180 [ 593.250759][ T9168] __sys_sendto+0x7ea/0xa60 [ 593.255485][ T9168] __ia32_sys_sendto+0x11b/0x1b0 [ 593.260562][ T9168] __do_fast_syscall_32+0xa2/0x100 [ 593.265907][ T9168] do_fast_syscall_32+0x33/0x70 [ 593.270913][ T9168] do_SYSENTER_32+0x1b/0x20 [ 593.275640][ T9168] entry_SYSENTER_compat_after_hwframe+0x70/0x82 [ 593.282195][ T9168] [ 593.284577][ T9168] Uninit was created at: [ 593.289021][ T9168] kmem_cache_alloc_trace+0x69e/0xdf0 [ 593.294641][ T9168] sctp_datamsg_from_user+0x93/0x2000 [ 593.300171][ T9168] sctp_sendmsg_to_asoc+0x101a/0x19e0 [ 593.305820][ T9168] sctp_sendmsg+0x3836/0x4ce0 [ 593.310648][ T9168] inet_sendmsg+0x101/0x180 [ 593.315377][ T9168] __sys_sendto+0x7ea/0xa60 [ 593.319998][ T9168] __ia32_sys_sendto+0x11b/0x1b0 [ 593.325151][ T9168] __do_fast_syscall_32+0xa2/0x100 [ 593.330394][ T9168] do_fast_syscall_32+0x33/0x70 [ 593.335475][ T9168] do_SYSENTER_32+0x1b/0x20 [ 593.340115][ T9168] entry_SYSENTER_compat_after_hwframe+0x70/0x82 [ 593.462052][ T3571] usb 6-1: unknown interface protocol 0x1e, assuming v1 [ 593.469236][ T3571] usb 6-1: 0:2 : does not exist [ 593.599503][ T3566] usb 3-1: config 0 descriptor?? [ 593.808084][ T3571] usb 6-1: USB disconnect, device number 11 [ 593.862464][ T9172] UDC core: USB Raw Gadget: couldn't find an available UDC or it's busy [ 593.872593][ T9172] misc raw-gadget: fail, usb_gadget_register_driver returned -16 03:33:51 executing program 3: r0 = openat$vnet(0xffffff9c, &(0x7f0000000c80), 0x2, 0x0) ioctl$VHOST_GET_FEATURES(r0, 0x8008af00, &(0x7f0000000cc0)) 03:33:51 executing program 1: r0 = socket$igmp6(0xa, 0x3, 0x2) sendmmsg$inet6(r0, &(0x7f0000005180)=[{{&(0x7f0000000000)={0xa, 0x0, 0x0, @mcast2}, 0x1c, 0x0, 0x0, &(0x7f0000001240)=[@dstopts={{0x14}}, @dstopts={{0x14}}, @hoplimit_2292={{0x10, 0x29, 0x8, 0x4}}], 0x38}}], 0x1, 0x0) 03:33:52 executing program 4: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000100)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x3, 0x0, 0x0, {0x7}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWSET={0x70, 0x9, 0xa, 0x401, 0x0, 0x0, {0x7}, [@NFTA_SET_ID={0x8}, @NFTA_SET_NAME={0x9, 0x2, 'syz1\x00'}, @NFTA_SET_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_SET_KEY_LEN={0x8, 0x5, 0x1, 0x0, 0x21}, @NFTA_SET_EXPR={0x34, 0x11, 0x0, 0x1, @limit={{0xa}, @val={0x24, 0x2, 0x0, 0x1, [@NFTA_LIMIT_UNIT={0xc}, @NFTA_LIMIT_TYPE={0x8, 0x4, 0x1, 0x0, 0x1}, @NFTA_LIMIT_RATE={0xc}]}}}]}], {0x14, 0x10}}, 0xb8}}, 0x0) [ 594.145002][ T7920] udevd[7920]: error opening ATTR{/sys/devices/platform/dummy_hcd.5/usb6/6-1/6-1:1.0/sound/card3/controlC3/../uevent} for writing: No such file or directory 03:33:52 executing program 0: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_tx_ring(r0, 0x107, 0x5, &(0x7f00000000c0)=@req3={0x8000, 0x6, 0x8000, 0x6}, 0x1c) mmap(&(0x7f0000000000/0x2000)=nil, 0x30000, 0x0, 0x11, r0, 0x0) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) madvise(&(0x7f000000a000/0x1000)=nil, 0x1000, 0x15) 03:33:52 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$batadv(&(0x7f0000000880), 0xffffffffffffffff) sendmsg$BATADV_CMD_GET_MCAST_FLAGS(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000800)=ANY=[@ANYBLOB='D\x00\x00\x00', @ANYRES16=r1, @ANYBLOB="13e729bd7000fddbdf250e000000050033000000000008003a0fc40000000800030054"], 0x44}}, 0x0) [ 594.374346][ T3566] input: HID 0458:5019 as /devices/platform/dummy_hcd.2/usb3/3-1/3-1:0.0/0003:0458:5019.0002/input/input20 [ 594.568563][ T3566] input: HID 0458:5019 as /devices/platform/dummy_hcd.2/usb3/3-1/3-1:0.0/0003:0458:5019.0002/input/input21 [ 594.785220][ T3566] kye 0003:0458:5019.0002: input,hiddev0,hidraw0: USB HID v0.00 Pointer [HID 0458:5019] on usb-dummy_hcd.2-1/input0 [ 594.902671][ T3566] usb 3-1: USB disconnect, device number 10 03:33:52 executing program 2: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000880)=ANY=[@ANYBLOB="12010000000000105804195000000000000109022400010000000009040000010300000009210000000122dc0109058103"], 0x0) syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000000)=ANY=[@ANYBLOB="12011003"], 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_connect$hid(0x0, 0x0, 0x0, &(0x7f00000003c0)={0x0, 0x0, 0x0, 0x0, 0x1, [{0x29, &(0x7f0000000140)=@string={0x29, 0x3, "9d38162f141ba25d003ffc10bc904d556f05380d019ffc6e0d1f0ca9bdefca8d021627b0ddf2dc"}}]}) syz_usb_control_io(r0, &(0x7f0000000340)={0x2c, &(0x7f0000000000)=ANY=[], 0x0, 0x0, 0x0, 0x0}, 0x0) 03:33:52 executing program 3: r0 = openat$vnet(0xffffff9c, &(0x7f0000000c80), 0x2, 0x0) ioctl$VHOST_GET_FEATURES(r0, 0x8008af00, &(0x7f0000000cc0)) 03:33:52 executing program 4: r0 = openat$fb0(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) read$fb(r0, 0x0, 0xfffffffffffffdb4) 03:33:52 executing program 5: r0 = bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x18, 0x4, &(0x7f0000000280)=ANY=[@ANYBLOB="b4000000000b00007910000000000000c3100000a1000000950074000000000031fb0d3a42319fa204399d17d34e075fdcda533ab1aa71ab1d764152e6cb25dadc7ded5dbe11b60ac5ea9fca11027d19e93adb603deb92de3141e8ed7ac5b87a2070213cdfdc5d6c4890cdeb50347c32060581172b94c6ba22a2b58eb6cbad46ed6e7965a2ba103b0b36f790bb41931f9a3d4dd127c1b4e49f7468f5e603950c6367587e8ece17d5c6e7c7514386f5125c0e2aa441cda5630047b770bc93868c63db6b6c27786aaff609c902fd65b951074957e967a8a3a405eaafbfafacdb7c2f6f32c251fadcd5a2e34b2efc310dae213aaad007975c26f6001f9b9dd2bf699781e0bbff554630fd9f9fff61813814a65b8e3bb2156ea642519206f26eb7359f732d497c0d4fdb4a735b9a7edd66dbed5f9e04c0fd41bd80a60d6b2508d0318bb94edcbda8ecbd30b320f9bab6efc65de00cdeacba5716"], &(0x7f0000003ff6)='GPL\x00', 0x2, 0xfd90, &(0x7f000000cf3d)=""/195}, 0x48) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000040)='qdisc_create\x00', r0}, 0x10) 03:33:52 executing program 1: mmap(&(0x7f0000000000/0xfbe000)=nil, 0xfbe000, 0x7, 0x31, 0xffffffffffffffff, 0x0) mbind(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x3, &(0x7f0000000000)=0x3, 0x8, 0x0) mlock(&(0x7f0000283000/0x3000)=nil, 0x3000) 03:33:53 executing program 0: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_tx_ring(r0, 0x107, 0x5, &(0x7f00000000c0)=@req3={0x8000, 0x6, 0x8000, 0x6}, 0x1c) mmap(&(0x7f0000000000/0x2000)=nil, 0x30000, 0x0, 0x11, r0, 0x0) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) madvise(&(0x7f000000a000/0x1000)=nil, 0x1000, 0x15) 03:33:53 executing program 3: r0 = openat$vnet(0xffffff9c, &(0x7f0000000c80), 0x2, 0x0) ioctl$VHOST_GET_FEATURES(r0, 0x8008af00, &(0x7f0000000cc0)) 03:33:53 executing program 5: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000029000)={0xffffffffffffffff, 0xffffffffffffffff}) recvmmsg(r0, &(0x7f0000000000)=[{{0x0, 0x0, 0x0}}], 0x33c, 0x0, 0x0) poll(&(0x7f00000000c0)=[{r0}, {r0}], 0x2, 0xfffffffffffffff8) dup2(r0, r1) 03:33:53 executing program 1: mmap(&(0x7f0000000000/0xfbe000)=nil, 0xfbe000, 0x7, 0x31, 0xffffffffffffffff, 0x0) mbind(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x3, &(0x7f0000000000)=0x3, 0x8, 0x0) mlock(&(0x7f0000283000/0x3000)=nil, 0x3000) 03:33:53 executing program 4: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f0000000940)='tmpfs\x00', 0x0, 0x0) setxattr$system_posix_acl(&(0x7f0000000200)='./file0\x00', &(0x7f00000002c0)='system.posix_acl_default\x00', &(0x7f00000000c0), 0x24, 0x0) chdir(&(0x7f0000000380)='./file0\x00') r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) syz_mount_image$zonefs(0x0, &(0x7f0000000400)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) setuid(r1) listxattr(&(0x7f0000000100)='./file0\x00', &(0x7f0000001980)=""/4104, 0x15b0e5a4) [ 595.793294][ T3564] usb 3-1: new high-speed USB device number 11 using dummy_hcd 03:33:53 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f0000004500), 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_LINKINFO_GET(r0, &(0x7f0000004800)={0x0, 0x0, &(0x7f00000047c0)={&(0x7f00000046c0)={0x2c, r1, 0x5, 0x0, 0x0, {0x3}, [@HEADER={0x18, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'lo\x00'}]}]}, 0x2c}}, 0x0) [ 596.033836][ T3564] usb 3-1: Using ep0 maxpacket: 16 03:33:54 executing program 3: r0 = socket(0x1d, 0x2, 0x7) connect$ax25(r0, &(0x7f0000000200)={{0x3, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}}, [@bcast, @bcast, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x3}, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x1}, @default, @default, @default]}, 0x48) [ 596.153131][ T3564] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 596.164594][ T3564] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 596.174751][ T3564] usb 3-1: New USB device found, idVendor=0458, idProduct=5019, bcdDevice= 0.00 [ 596.185679][ T3564] usb 3-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 596.358762][ T3564] usb 3-1: config 0 descriptor?? [ 596.608023][ T9209] UDC core: USB Raw Gadget: couldn't find an available UDC or it's busy [ 596.617815][ T9209] misc raw-gadget: fail, usb_gadget_register_driver returned -16 [ 596.929987][ T3564] input: HID 0458:5019 as /devices/platform/dummy_hcd.2/usb3/3-1/3-1:0.0/0003:0458:5019.0003/input/input22 [ 597.018979][ T3564] input: HID 0458:5019 as /devices/platform/dummy_hcd.2/usb3/3-1/3-1:0.0/0003:0458:5019.0003/input/input23 [ 597.113245][ T3564] kye 0003:0458:5019.0003: input,hiddev0,hidraw0: USB HID v0.00 Pointer [HID 0458:5019] on usb-dummy_hcd.2-1/input0 [ 597.152117][ T3564] usb 3-1: USB disconnect, device number 11 03:33:55 executing program 2: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000880)=ANY=[@ANYBLOB="12010000000000105804195000000000000109022400010000000009040000010300000009210000000122dc0109058103"], 0x0) syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000000)=ANY=[@ANYBLOB="12011003"], 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_connect$hid(0x0, 0x0, 0x0, &(0x7f00000003c0)={0x0, 0x0, 0x0, 0x0, 0x1, [{0x29, &(0x7f0000000140)=@string={0x29, 0x3, "9d38162f141ba25d003ffc10bc904d556f05380d019ffc6e0d1f0ca9bdefca8d021627b0ddf2dc"}}]}) syz_usb_control_io(r0, &(0x7f0000000340)={0x2c, &(0x7f0000000000)=ANY=[], 0x0, 0x0, 0x0, 0x0}, 0x0) 03:33:55 executing program 5: r0 = socket$inet6(0xa, 0x1, 0x0) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x6, 0x21, &(0x7f0000000080)={@ipv4={'\x00', '\xff\xff', @dev}}, 0x20) getsockopt$inet6_tcp_buf(r0, 0x6, 0x21, 0x0, &(0x7f0000000380)) 03:33:55 executing program 1: mmap(&(0x7f0000000000/0xfbe000)=nil, 0xfbe000, 0x7, 0x31, 0xffffffffffffffff, 0x0) mbind(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x3, &(0x7f0000000000)=0x3, 0x8, 0x0) mlock(&(0x7f0000283000/0x3000)=nil, 0x3000) 03:33:55 executing program 4: syz_mount_image$fuse(0x0, &(0x7f0000000080)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) unshare(0x600) r0 = open(&(0x7f0000001080)='./file0\x00', 0x0, 0x0) ioctl$sock_SIOCETHTOOL(r0, 0x800c6613, 0x0) 03:33:55 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f00000000c0), 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_FEATURES_SET(r0, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000280)={0x4c, r1, 0x1, 0x0, 0x0, {}, [@ETHTOOL_A_FEATURES_WANTED={0x18, 0x3, 0x0, 0x1, [@ETHTOOL_A_BITSET_VALUE={0x4}, @ETHTOOL_A_BITSET_NOMASK={0x4}, @ETHTOOL_A_BITSET_BITS={0x4}, @ETHTOOL_A_BITSET_SIZE={0x8}]}, @ETHTOOL_A_FEATURES_HEADER={0x20, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'syz_tun\x00'}, @ETHTOOL_A_HEADER_FLAGS={0x8}]}]}, 0x4c}}, 0x0) 03:33:55 executing program 3: bpf$MAP_GET_NEXT_KEY(0x4, &(0x7f00000009c0)={0xffffffffffffffff, &(0x7f0000000900)="7db58a89381b1b4757f8bc11c8f9ac7d0f92e9aa042aad7a7aecd52edddce79bf5129c81db102f3cd2bce3b7cb2dee72fe8d2b85f9b779f3e54f0c2466847214be7e", &(0x7f0000000980)=""/19}, 0x20) r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000000)=@base={0x9, 0x1, 0x42, 0x40, 0x0, 0x1}, 0x48) bpf$MAP_UPDATE_BATCH(0x1a, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000640), &(0x7f0000000140), 0x1000, r0}, 0x38) bpf$MAP_LOOKUP_BATCH(0x19, &(0x7f0000000280)={0x0, &(0x7f00000000c0)=""/114, &(0x7f0000000140), &(0x7f0000001580), 0x7, r0}, 0x38) 03:33:55 executing program 5: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000005c0)={0x5, 0x4, &(0x7f0000000000)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x86}]}, &(0x7f0000000340)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 03:33:55 executing program 1: mmap(&(0x7f0000000000/0xfbe000)=nil, 0xfbe000, 0x7, 0x31, 0xffffffffffffffff, 0x0) mbind(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x3, &(0x7f0000000000)=0x3, 0x8, 0x0) mlock(&(0x7f0000283000/0x3000)=nil, 0x3000) 03:33:55 executing program 4: seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000000300)={0x3, &(0x7f0000000040)=[{0x15, 0x0, 0x0, 0xffffffa1}, {0x2}, {0x6, 0x0, 0x0, 0x7ffffdbf}]}) openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) 03:33:55 executing program 0: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f00000000c0)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x10, 0x27b8, 0x1ed, 0x40, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x2, 0x3, 0x1, 0x0, 0x0, {0x9, 0x21, 0x0, 0x0, 0x1, {0x22, 0x2}}}}]}}]}}, 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io(r0, &(0x7f0000000bc0)={0x2c, &(0x7f00000014c0)=ANY=[@ANYBLOB="400375"], 0x0, 0x0, 0x0, 0x0}, 0x0) syz_usb_control_io(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000d40)={0x2c, 0x0, &(0x7f0000000b80)={0x0, 0xa, 0x1}, 0x0, &(0x7f0000000c40)={0x20, 0x1, 0x65, "21408c7d0974e8c27bea1c756b313db3204c69d4ce186c154817f7a4bc7b931cb8fc2f54c77b98ce5dc3f6f6ea5358df8752d59c8355a40a61673c2cde60edfb40199c5b73839054eb93c75fda8f3480dab1c6307ad987a2e1d28b6bbb3bd0620b6bc73506"}, 0x0}) 03:33:56 executing program 5: r0 = socket$inet(0x2, 0x4000000000000001, 0x0) bind$inet(r0, &(0x7f0000deb000)={0x2, 0x4e23, @multicast1}, 0x10) setsockopt$inet_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f0000000000)='westwood\x00', 0x9) sendto$inet(r0, 0x0, 0x0, 0x20000010, &(0x7f0000000100)={0x2, 0x4e23, @empty}, 0x10) [ 598.262353][ T3615] usb 3-1: new high-speed USB device number 12 using dummy_hcd 03:33:56 executing program 4: sendmsg$IPCTNL_MSG_EXP_GET(0xffffffffffffffff, &(0x7f0000001580)={0x0, 0x0, &(0x7f0000001540)={0x0}, 0x1, 0x0, 0x0, 0x4004810}, 0xc004) syz_usb_connect(0x4, 0x0, 0x0, &(0x7f0000000e40)={0x0, 0x0, 0xc, &(0x7f0000000c80)={0x5, 0xf, 0xc, 0x1, [@ext_cap={0x7, 0x10, 0x2, 0x12, 0x0, 0x0, 0x400}]}, 0x1, [{0x4, &(0x7f0000000d00)=@string={0x4, 0x3, "fe82"}}]}) syz_usb_connect(0x0, 0x24, &(0x7f0000000ec0)={{0x12, 0x1, 0x0, 0xfb, 0x6f, 0xfc, 0x8, 0x249c, 0x9008, 0xe294, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x1, 0xc0, 0x0, [{{0x9, 0x4, 0x0, 0xa5, 0x0, 0x7e, 0x22, 0x5a, 0x4}}]}}]}}, 0x0) [ 598.503090][ T3615] usb 3-1: Using ep0 maxpacket: 16 [ 598.532196][ T3564] usb 1-1: new high-speed USB device number 20 using dummy_hcd [ 598.623042][ T3615] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 598.634393][ T3615] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 598.646799][ T3615] usb 3-1: New USB device found, idVendor=0458, idProduct=5019, bcdDevice= 0.00 [ 598.656456][ T3615] usb 3-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 598.727762][ T3615] usb 3-1: config 0 descriptor?? [ 598.793696][ T3564] usb 1-1: Using ep0 maxpacket: 16 [ 598.912798][ T3564] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 598.924839][ T3564] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 598.934933][ T3564] usb 1-1: config 0 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 2 [ 598.948066][ T3564] usb 1-1: New USB device found, idVendor=27b8, idProduct=01ed, bcdDevice= 0.40 [ 598.957542][ T3564] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 598.993982][ T9239] UDC core: USB Raw Gadget: couldn't find an available UDC or it's busy [ 599.004141][ T9239] misc raw-gadget: fail, usb_gadget_register_driver returned -16 [ 599.024587][ T3564] usb 1-1: config 0 descriptor?? [ 599.082286][ T8569] usb 5-1: new high-speed USB device number 22 using dummy_hcd [ 599.276299][ T3615] input: HID 0458:5019 as /devices/platform/dummy_hcd.2/usb3/3-1/3-1:0.0/0003:0458:5019.0004/input/input24 [ 599.352360][ T8569] usb 5-1: Using ep0 maxpacket: 8 [ 599.370367][ T3615] input: HID 0458:5019 as /devices/platform/dummy_hcd.2/usb3/3-1/3-1:0.0/0003:0458:5019.0004/input/input25 [ 599.451465][ T3615] kye 0003:0458:5019.0004: input,hiddev0,hidraw0: USB HID v0.00 Pointer [HID 0458:5019] on usb-dummy_hcd.2-1/input0 [ 599.500836][ T3615] usb 3-1: USB disconnect, device number 12 [ 599.512673][ T8569] usb 5-1: config 0 interface 0 has no altsetting 0 [ 599.570552][ T3564] hid-led 0003:27B8:01ED.0005: unknown main item tag 0x0 [ 599.578035][ T3564] hid-led 0003:27B8:01ED.0005: unknown main item tag 0x0 [ 599.708776][ T8569] usb 5-1: New USB device found, idVendor=249c, idProduct=9008, bcdDevice=e2.94 [ 599.718569][ T8569] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 599.726971][ T8569] usb 5-1: Product: syz [ 599.731303][ T8569] usb 5-1: Manufacturer: syz [ 599.736229][ T8569] usb 5-1: SerialNumber: syz [ 599.786298][ T8569] usb 5-1: config 0 descriptor?? [ 599.976874][ T3564] hid-led 0003:27B8:01ED.0005: hidraw0: USB HID v0.00 Device [HID 27b8:01ed] on usb-dummy_hcd.0-1/input0 [ 600.003506][ T3564] hid-led 0003:27B8:01ED.0005: ThingM blink(1) initialized 03:33:57 executing program 2: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000880)=ANY=[@ANYBLOB="12010000000000105804195000000000000109022400010000000009040000010300000009210000000122dc0109058103"], 0x0) syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000000)=ANY=[@ANYBLOB="12011003"], 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_connect$hid(0x0, 0x0, 0x0, &(0x7f00000003c0)={0x0, 0x0, 0x0, 0x0, 0x1, [{0x29, &(0x7f0000000140)=@string={0x29, 0x3, "9d38162f141ba25d003ffc10bc904d556f05380d019ffc6e0d1f0ca9bdefca8d021627b0ddf2dc"}}]}) syz_usb_control_io(r0, &(0x7f0000000340)={0x2c, &(0x7f0000000000)=ANY=[], 0x0, 0x0, 0x0, 0x0}, 0x0) 03:33:57 executing program 3: bpf$MAP_GET_NEXT_KEY(0x4, &(0x7f00000009c0)={0xffffffffffffffff, &(0x7f0000000900)="7db58a89381b1b4757f8bc11c8f9ac7d0f92e9aa042aad7a7aecd52edddce79bf5129c81db102f3cd2bce3b7cb2dee72fe8d2b85f9b779f3e54f0c2466847214be7e", &(0x7f0000000980)=""/19}, 0x20) r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000000)=@base={0x9, 0x1, 0x42, 0x40, 0x0, 0x1}, 0x48) bpf$MAP_UPDATE_BATCH(0x1a, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000640), &(0x7f0000000140), 0x1000, r0}, 0x38) bpf$MAP_LOOKUP_BATCH(0x19, &(0x7f0000000280)={0x0, &(0x7f00000000c0)=""/114, &(0x7f0000000140), &(0x7f0000001580), 0x7, r0}, 0x38) 03:33:57 executing program 1: syz_mount_image$fuse(0x0, &(0x7f0000000140)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) pipe2$9p(&(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) r1 = dup(r0) r2 = open$dir(&(0x7f0000000000)='./file0\x00', 0x0, 0x0) sendfile(r1, r2, 0x0, 0x0) 03:33:57 executing program 5: openat$sndtimer(0xffffffffffffff9c, &(0x7f0000000080), 0x0) r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nbd(&(0x7f0000000240), r0) socketpair$nbd(0x1, 0x1, 0x0, &(0x7f0000000280)={0xffffffffffffffff}) sendmsg$NBD_CMD_CONNECT(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000480)={0x2c, r1, 0x111, 0x0, 0x0, {}, [@NBD_ATTR_SIZE_BYTES={0xc}, @NBD_ATTR_SOCKETS={0xc, 0x7, 0x0, 0x1, [{0x8, 0x1, r2}]}]}, 0x2c}}, 0x0) [ 600.195576][ T3564] usb 1-1: USB disconnect, device number 20 [ 600.200748][ T8569] usb 5-1: selecting invalid altsetting 0 [ 600.207549][ T8569] usb 5-1: can't set first interface for hiFace device. [ 600.214771][ T8569] snd-usb-hiface: probe of 5-1:0.0 failed with error -5 [ 600.335665][ T8569] usb 5-1: USB disconnect, device number 22 03:33:58 executing program 1: r0 = socket$packet(0x11, 0x2, 0x300) ioctl$int_in(r0, 0x5452, &(0x7f0000000040)=0x5) syz_emit_ethernet(0x4a, &(0x7f00000005c0)={@local, @local, @void, {@ipv6={0x86dd, @tcp={0x0, 0x6, "0a3ff2", 0x14, 0x6, 0x0, @remote, @local, {[], {{0x0, 0x0, 0x41424344, 0x41424344, 0x0, 0x0, 0x5}}}}}}}, 0x0) 03:33:58 executing program 5: openat$sndtimer(0xffffffffffffff9c, &(0x7f0000000080), 0x0) r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nbd(&(0x7f0000000240), r0) socketpair$nbd(0x1, 0x1, 0x0, &(0x7f0000000280)={0xffffffffffffffff}) sendmsg$NBD_CMD_CONNECT(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000480)={0x2c, r1, 0x111, 0x0, 0x0, {}, [@NBD_ATTR_SIZE_BYTES={0xc}, @NBD_ATTR_SOCKETS={0xc, 0x7, 0x0, 0x1, [{0x8, 0x1, r2}]}]}, 0x2c}}, 0x0) 03:33:58 executing program 4: unshare(0x2000400) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000002c0), 0x0, 0x0) ioctl$KVM_CREATE_VM(r0, 0xae03, 0xad) [ 600.802451][ T125] usb 3-1: new high-speed USB device number 13 using dummy_hcd 03:33:58 executing program 0: madvise(&(0x7f0000bdc000/0x4000)=nil, 0x86ac726dff2f4713, 0xa) shmat(0x0, &(0x7f0000bde000/0x4000)=nil, 0x4800) r0 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) process_vm_writev(r0, &(0x7f00000000c0)=[{&(0x7f0000001580)=""/4096, 0x100f}], 0xd, &(0x7f0000001540)=[{&(0x7f0000000000)=""/169, 0x729ecc1}], 0x1, 0x0) 03:33:58 executing program 1: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000340), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000040)={'\x00', 0x1}) ioctl$TUNSETLINK(r0, 0x400454cd, 0x335) 03:33:58 executing program 5: openat$sndtimer(0xffffffffffffff9c, &(0x7f0000000080), 0x0) r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nbd(&(0x7f0000000240), r0) socketpair$nbd(0x1, 0x1, 0x0, &(0x7f0000000280)={0xffffffffffffffff}) sendmsg$NBD_CMD_CONNECT(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000480)={0x2c, r1, 0x111, 0x0, 0x0, {}, [@NBD_ATTR_SIZE_BYTES={0xc}, @NBD_ATTR_SOCKETS={0xc, 0x7, 0x0, 0x1, [{0x8, 0x1, r2}]}]}, 0x2c}}, 0x0) [ 601.053383][ T125] usb 3-1: Using ep0 maxpacket: 16 03:33:58 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000000)={0x101ff, 0x1, 0xf000, 0x2000, &(0x7f0000ffe000/0x2000)=nil}) r2 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r3 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) r4 = ioctl$KVM_CREATE_VM(r3, 0xae01, 0x0) dup2(r3, r4) openat$kvm(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) r5 = epoll_create1(0x0) fcntl$dupfd(r5, 0x2, 0xffffffffffffffff) r6 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000000c0)={0x16, 0x3, &(0x7f0000000080)=@framed, &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r7 = epoll_create1(0x0) r8 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000180)='/sys/kernel/debug/binder/transactions\x00', 0x0, 0x0) epoll_ctl$EPOLL_CTL_ADD(r8, 0x1, r2, &(0x7f00000001c0)={0x20000000}) r9 = fcntl$dupfd(r7, 0x2, 0xffffffffffffffff) bpf$BPF_PROG_ATTACH(0x8, &(0x7f0000000140)={@cgroup=r9, r6, 0x11, 0x0, r9}, 0x14) 03:33:59 executing program 3: bpf$MAP_GET_NEXT_KEY(0x4, &(0x7f00000009c0)={0xffffffffffffffff, &(0x7f0000000900)="7db58a89381b1b4757f8bc11c8f9ac7d0f92e9aa042aad7a7aecd52edddce79bf5129c81db102f3cd2bce3b7cb2dee72fe8d2b85f9b779f3e54f0c2466847214be7e", &(0x7f0000000980)=""/19}, 0x20) r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000000)=@base={0x9, 0x1, 0x42, 0x40, 0x0, 0x1}, 0x48) bpf$MAP_UPDATE_BATCH(0x1a, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000640), &(0x7f0000000140), 0x1000, r0}, 0x38) bpf$MAP_LOOKUP_BATCH(0x19, &(0x7f0000000280)={0x0, &(0x7f00000000c0)=""/114, &(0x7f0000000140), &(0x7f0000001580), 0x7, r0}, 0x38) [ 601.183090][ T125] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 601.194814][ T125] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 601.210152][ T125] usb 3-1: New USB device found, idVendor=0458, idProduct=5019, bcdDevice= 0.00 [ 601.219541][ T125] usb 3-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 601.335501][ T125] usb 3-1: config 0 descriptor?? [ 601.652527][ T9262] UDC core: USB Raw Gadget: couldn't find an available UDC or it's busy [ 601.662458][ T9262] misc raw-gadget: fail, usb_gadget_register_driver returned -16 [ 602.145299][ T125] input: HID 0458:5019 as /devices/platform/dummy_hcd.2/usb3/3-1/3-1:0.0/0003:0458:5019.0006/input/input26 [ 602.252402][ T125] input: HID 0458:5019 as /devices/platform/dummy_hcd.2/usb3/3-1/3-1:0.0/0003:0458:5019.0006/input/input27 [ 602.350238][ T125] kye 0003:0458:5019.0006: input,hiddev0,hidraw0: USB HID v0.00 Pointer [HID 0458:5019] on usb-dummy_hcd.2-1/input0 [ 602.418277][ T125] usb 3-1: USB disconnect, device number 13 03:34:00 executing program 5: openat$sndtimer(0xffffffffffffff9c, &(0x7f0000000080), 0x0) r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nbd(&(0x7f0000000240), r0) socketpair$nbd(0x1, 0x1, 0x0, &(0x7f0000000280)={0xffffffffffffffff}) sendmsg$NBD_CMD_CONNECT(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000480)={0x2c, r1, 0x111, 0x0, 0x0, {}, [@NBD_ATTR_SIZE_BYTES={0xc}, @NBD_ATTR_SOCKETS={0xc, 0x7, 0x0, 0x1, [{0x8, 0x1, r2}]}]}, 0x2c}}, 0x0) 03:34:00 executing program 1: pipe2$9p(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) r2 = epoll_create1(0x0) epoll_ctl$EPOLL_CTL_ADD(r2, 0x1, r0, &(0x7f00000000c0)) dup2(r2, r1) epoll_ctl$EPOLL_CTL_MOD(r2, 0x3, r0, &(0x7f0000000080)) 03:34:00 executing program 0: madvise(&(0x7f0000bdc000/0x4000)=nil, 0x86ac726dff2f4713, 0xa) shmat(0x0, &(0x7f0000bde000/0x4000)=nil, 0x4800) r0 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) process_vm_writev(r0, &(0x7f00000000c0)=[{&(0x7f0000001580)=""/4096, 0x100f}], 0xd, &(0x7f0000001540)=[{&(0x7f0000000000)=""/169, 0x729ecc1}], 0x1, 0x0) 03:34:00 executing program 3: bpf$MAP_GET_NEXT_KEY(0x4, &(0x7f00000009c0)={0xffffffffffffffff, &(0x7f0000000900)="7db58a89381b1b4757f8bc11c8f9ac7d0f92e9aa042aad7a7aecd52edddce79bf5129c81db102f3cd2bce3b7cb2dee72fe8d2b85f9b779f3e54f0c2466847214be7e", &(0x7f0000000980)=""/19}, 0x20) r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000000)=@base={0x9, 0x1, 0x42, 0x40, 0x0, 0x1}, 0x48) bpf$MAP_UPDATE_BATCH(0x1a, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000640), &(0x7f0000000140), 0x1000, r0}, 0x38) bpf$MAP_LOOKUP_BATCH(0x19, &(0x7f0000000280)={0x0, &(0x7f00000000c0)=""/114, &(0x7f0000000140), &(0x7f0000001580), 0x7, r0}, 0x38) 03:34:00 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000000)={0x101ff, 0x1, 0xf000, 0x2000, &(0x7f0000ffe000/0x2000)=nil}) r2 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r3 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) r4 = ioctl$KVM_CREATE_VM(r3, 0xae01, 0x0) dup2(r3, r4) openat$kvm(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) r5 = epoll_create1(0x0) fcntl$dupfd(r5, 0x2, 0xffffffffffffffff) r6 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000000c0)={0x16, 0x3, &(0x7f0000000080)=@framed, &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r7 = epoll_create1(0x0) r8 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000180)='/sys/kernel/debug/binder/transactions\x00', 0x0, 0x0) epoll_ctl$EPOLL_CTL_ADD(r8, 0x1, r2, &(0x7f00000001c0)={0x20000000}) r9 = fcntl$dupfd(r7, 0x2, 0xffffffffffffffff) bpf$BPF_PROG_ATTACH(0x8, &(0x7f0000000140)={@cgroup=r9, r6, 0x11, 0x0, r9}, 0x14) 03:34:01 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000040)={0x10, 0x4, &(0x7f0000000000)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x6c}]}, &(0x7f0000000140)='GPL\x00', 0x4, 0xd8, &(0x7f00000002c0)=""/216, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 03:34:01 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)=@ipv4_newroute={0x1c, 0x18, 0x321, 0x0, 0x0, {0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x700}}, 0x1c}}, 0x0) 03:34:01 executing program 5: openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000140)='cpuacct.stat\x00', 0x0, 0x0) write(0xffffffffffffffff, &(0x7f0000000040)="0f42", 0x2) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_IRQCHIP(0xffffffffffffffff, 0x8208ae63, &(0x7f0000000880)={0x0, 0x0, @ioapic={0x0, 0x0, 0x0, 0x0, 0x0, [{0x20}, {0x0, 0x0, 0x1f}, {0xf8}, {}, {}, {}, {0x0, 0x0, 0x40}, {}, {}, {}, {0x0, 0x0, 0xff}, {}, {}, {}, {}, {}, {}, {}, {0x0, 0x0, 0xff}, {}, {}, {0x0, 0xc2}]}}) open(&(0x7f0000000300)='.\x00', 0x0, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000180)={0x5, 0x3, 0xf000, 0x1000, &(0x7f0000000000/0x1000)=nil}) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000100)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f0000000200)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xfb, 0x0, 0x0, 0x20]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) sendmsg$IPVS_CMD_DEL_DEST(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000540)=ANY=[]}}, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) ioctl$KVM_NMI(r2, 0xae9a) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f0000000380)) ioctl$KVM_RUN(r2, 0xae80, 0x0) 03:34:01 executing program 1: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000000c0)={0x11, 0x5, &(0x7f00000002c0)=ANY=[@ANYBLOB="18000000f2ffffff00000000ff000000850000002a000000850000005000000095"], &(0x7f0000000280)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000000)='itimer_state\x00', r0}, 0x10) setitimer(0x2, 0x0, 0x0) 03:34:01 executing program 3: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) write(0xffffffffffffffff, &(0x7f0000000000)="240040001a005f02143ff407001104001ffeffffff", 0x15) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000000)={'lo\x00'}) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8b14, &(0x7f0000000000)={'wlan1\x00'}) 03:34:01 executing program 2: mkdir(&(0x7f00000002c0)='./file0\x00', 0x0) pipe2$9p(&(0x7f0000000240)={0xffffffffffffffff}, 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x4924924924927be, 0x0) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000180), 0x0, &(0x7f0000001840)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r2}}) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x0, 0x0) 03:34:01 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000000)={0x101ff, 0x1, 0xf000, 0x2000, &(0x7f0000ffe000/0x2000)=nil}) r2 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r3 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) r4 = ioctl$KVM_CREATE_VM(r3, 0xae01, 0x0) dup2(r3, r4) openat$kvm(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) r5 = epoll_create1(0x0) fcntl$dupfd(r5, 0x2, 0xffffffffffffffff) r6 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000000c0)={0x16, 0x3, &(0x7f0000000080)=@framed, &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r7 = epoll_create1(0x0) r8 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000180)='/sys/kernel/debug/binder/transactions\x00', 0x0, 0x0) epoll_ctl$EPOLL_CTL_ADD(r8, 0x1, r2, &(0x7f00000001c0)={0x20000000}) r9 = fcntl$dupfd(r7, 0x2, 0xffffffffffffffff) bpf$BPF_PROG_ATTACH(0x8, &(0x7f0000000140)={@cgroup=r9, r6, 0x11, 0x0, r9}, 0x14) 03:34:01 executing program 5: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f0000000000)=ANY=[@ANYBLOB="18010000000001000000000000000000850000006d00000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000180)={&(0x7f0000000140)='kfree\x00', r0}, 0x10) r1 = creat(&(0x7f0000000040)='./file0\x00', 0xecf86c37d53048fb) write$binfmt_elf64(r1, &(0x7f0000000300)=ANY=[@ANYBLOB="7f454c4600000000000000000000000003003e"], 0x78) close(r1) execve(&(0x7f00000001c0)='./file0\x00', 0x0, 0x0) [ 604.008081][ T9320] syz-executor.1 calls setitimer() with new_value NULL pointer. Misfeature support will be removed 03:34:02 executing program 0: madvise(&(0x7f0000bdc000/0x4000)=nil, 0x86ac726dff2f4713, 0xa) shmat(0x0, &(0x7f0000bde000/0x4000)=nil, 0x4800) r0 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) process_vm_writev(r0, &(0x7f00000000c0)=[{&(0x7f0000001580)=""/4096, 0x100f}], 0xd, &(0x7f0000001540)=[{&(0x7f0000000000)=""/169, 0x729ecc1}], 0x1, 0x0) 03:34:02 executing program 3: r0 = syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$TCSETSW2(r0, 0x4b66, &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0, "28cf86fe249fe2572e88c0c9ee0fe4a6655959"}) 03:34:02 executing program 1: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x8, &(0x7f0000000200)=[{&(0x7f0000010000)="20000000000100000c000000ce0000000f000000010000000000000000000000002000000020000020000000ddf4655fddf4655f0100ffff53ef010001000000ddf4655f000000000000000001000000000000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010200)="230000000000050011", 0x9, 0x560}, {&(0x7f0000010300)="03", 0x1, 0x640}, {&(0x7f0000010400)="030000001300000023", 0x9, 0x800}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x4400}, {&(0x7f0000011700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x4800}, {&(0x7f0000012b00)="ed41000000040000eef4655fddf4655fddf4655f000000000000040002", 0x1d, 0x8c80}, {&(0x7f0000012c00)="8081000000180000ddf4655fddf4655fddf4655f00000000000001000c00000010000800000000000af303000400000000000000000000000100000012000000010000000100000018000000020000000400000014", 0x55, 0x8d00}], 0x0, &(0x7f0000013800)=ANY=[]) r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000040)=@framed, &(0x7f0000000140)='syzkaller\x00', 0x4, 0x91, &(0x7f0000000400)=""/145, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000200)={&(0x7f0000000340)='kfree\x00', r0}, 0x10) r1 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000100)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000200)=@newtaction={0x78, 0x12, 0x319, 0x0, 0x0, {}, [{0x4}, {0x60, 0x1, [@m_vlan={0x30, 0x0, 0x0, 0x0, {{0x9}, {0x4}, {0x4}, {0xc}, {0xc}}}, @m_xt={0x2c, 0x12, 0x0, 0x0, {{0x7}, {0x4}, {0x4}, {0xc}, {0xc}}}]}]}, 0x78}}, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000080)) socket$inet_udp(0x2, 0x2, 0x0) r2 = socket$inet6(0xa, 0x2, 0x0) bind$inet6(r2, &(0x7f00000000c0)={0xa, 0x14e24}, 0x1c) connect$inet6(r2, &(0x7f0000000080)={0xa, 0x4e24, 0x0, @loopback}, 0x1c) sendmmsg(r2, &(0x7f00000092c0), 0x4ff, 0x0) [ 604.564525][ T9344] loop1: detected capacity change from 0 to 512 03:34:02 executing program 3: r0 = syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$TCSETSW2(r0, 0x4b66, &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0, "28cf86fe249fe2572e88c0c9ee0fe4a6655959"}) [ 604.830660][ T9344] EXT4-fs (loop1): mounted filesystem without journal. Quota mode: writeback. [ 604.945361][ T9344] ext4 filesystem being mounted at /root/syzkaller-testdir730914474/syzkaller.eDMnwg/350/file0 supports timestamps until 2038 (0x7fffffff) 03:34:02 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000000)={0x101ff, 0x1, 0xf000, 0x2000, &(0x7f0000ffe000/0x2000)=nil}) r2 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r3 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) r4 = ioctl$KVM_CREATE_VM(r3, 0xae01, 0x0) dup2(r3, r4) openat$kvm(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) r5 = epoll_create1(0x0) fcntl$dupfd(r5, 0x2, 0xffffffffffffffff) r6 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000000c0)={0x16, 0x3, &(0x7f0000000080)=@framed, &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r7 = epoll_create1(0x0) r8 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000180)='/sys/kernel/debug/binder/transactions\x00', 0x0, 0x0) epoll_ctl$EPOLL_CTL_ADD(r8, 0x1, r2, &(0x7f00000001c0)={0x20000000}) r9 = fcntl$dupfd(r7, 0x2, 0xffffffffffffffff) bpf$BPF_PROG_ATTACH(0x8, &(0x7f0000000140)={@cgroup=r9, r6, 0x11, 0x0, r9}, 0x14) 03:34:02 executing program 5: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000080)={0xffffffffffffffff}) r1 = gettid() sendmmsg$unix(r0, &(0x7f0000000880)=[{{0x0, 0x0, 0x0, 0x0, &(0x7f00000000c0)=[@cred={{0x1c, 0x1, 0x2, {r1, 0xee01, 0xee00}}}], 0x20}}], 0x1, 0x0) 03:34:03 executing program 2: mkdir(&(0x7f00000002c0)='./file0\x00', 0x0) pipe2$9p(&(0x7f0000000240)={0xffffffffffffffff}, 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x4924924924927be, 0x0) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000180), 0x0, &(0x7f0000001840)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r2}}) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x0, 0x0) 03:34:03 executing program 3: r0 = syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$TCSETSW2(r0, 0x4b66, &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0, "28cf86fe249fe2572e88c0c9ee0fe4a6655959"}) 03:34:03 executing program 0: madvise(&(0x7f0000bdc000/0x4000)=nil, 0x86ac726dff2f4713, 0xa) shmat(0x0, &(0x7f0000bde000/0x4000)=nil, 0x4800) r0 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) process_vm_writev(r0, &(0x7f00000000c0)=[{&(0x7f0000001580)=""/4096, 0x100f}], 0xd, &(0x7f0000001540)=[{&(0x7f0000000000)=""/169, 0x729ecc1}], 0x1, 0x0) 03:34:03 executing program 5: r0 = socket$inet6(0xa, 0x6, 0x0) bind$inet6(r0, &(0x7f00000000c0)={0xa, 0x4e20}, 0x1c) listen(r0, 0x200007) r1 = socket$inet_dccp(0x2, 0x6, 0x0) connect$inet(r1, &(0x7f0000000180)={0x2, 0x4e20, @remote}, 0x10) getsockopt$inet_int(r1, 0x10d, 0xd7, &(0x7f0000000100), &(0x7f0000000000)=0x15) 03:34:03 executing program 3: r0 = syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$TCSETSW2(r0, 0x4b66, &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0, "28cf86fe249fe2572e88c0c9ee0fe4a6655959"}) 03:34:04 executing program 4: r0 = syz_init_net_socket$llc(0x1a, 0x1, 0x0) setsockopt$llc_int(r0, 0x10c, 0x0, &(0x7f0000000180), 0x4) 03:34:04 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) getsockopt$inet_sctp_SCTP_GET_ASSOC_NUMBER(r0, 0x84, 0xd, 0x0, &(0x7f0000000100)=0x4) 03:34:04 executing program 2: mkdir(&(0x7f00000002c0)='./file0\x00', 0x0) pipe2$9p(&(0x7f0000000240)={0xffffffffffffffff}, 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x4924924924927be, 0x0) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000180), 0x0, &(0x7f0000001840)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r2}}) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x0, 0x0) [ 606.902375][ T9381] sctp: [Deprecated]: syz-executor.0 (pid 9381) Use of int in maxseg socket option. [ 606.902375][ T9381] Use struct sctp_assoc_value instead 03:34:05 executing program 1: r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000004fc8)={0x0, 0x0, &(0x7f000000b000)={&(0x7f0000000000)=@mpls_newroute={0x24, 0x18, 0x21, 0x0, 0x0, {0x1c, 0x14, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x1}, [@RTA_DST={0x8, 0x13}]}, 0x24}}, 0x0) 03:34:05 executing program 3: socket$kcm(0x2b, 0x1, 0x0) r0 = socket$kcm(0x10, 0x2, 0x4) sendmsg$kcm(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000080)="39000000140081ae00d175040f62b04a2bb95473585806dbb7d553b4a4000014b63e722cd43f3a2b3600000000004000"/57, 0x39}], 0x1}, 0x0) socket$inet_smc(0x2b, 0x1, 0x0) recvmsg$kcm(r0, &(0x7f0000001600)={0x0, 0x0, 0x0}, 0x0) 03:34:05 executing program 4: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000040)=@base={0x9, 0x5, 0x3, 0x4}, 0x48) bpf$MAP_DELETE_BATCH(0x1b, &(0x7f0000000280)={0x0, 0x0, &(0x7f00000001c0), 0x0, 0x4, r0}, 0x38) 03:34:05 executing program 5: bpf$MAP_CREATE(0x0, &(0x7f0000002200)=@base={0x19, 0x4, 0x4, 0x7266f7f3, 0x0, 0x1}, 0x48) 03:34:05 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000100), 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_PRIVFLAGS_SET(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000180)=ANY=[@ANYBLOB="18000000", @ANYRES16=r1, @ANYBLOB="05f300000000000000002000000004000280"], 0x18}}, 0x0) 03:34:05 executing program 3: r0 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r1) r2 = socket$nl_generic(0x10, 0x3, 0x10) r3 = syz_genetlink_get_family_id$tipc(&(0x7f0000000040), 0xffffffffffffffff) sendmsg$TIPC_CMD_RESET_LINK_STATS(r2, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000040)={0x30, r3, 0x1, 0x0, 0x0, {{}, {}, {0x14, 0x14, 'broadcast-link\x00'}}}, 0x30}}, 0x0) [ 607.350063][ T3515] EXT4-fs (loop1): unmounting filesystem. 03:34:05 executing program 4: r0 = add_key$user(&(0x7f0000000040), &(0x7f0000000080)={'syz', 0x1}, &(0x7f0000000580)='v', 0x1, 0xfffffffffffffffe) r1 = add_key$user(&(0x7f0000000040), &(0x7f0000000080)={'syz', 0x1}, &(0x7f0000000580)='v', 0x1, 0xfffffffffffffffe) r2 = add_key$user(&(0x7f0000000300), &(0x7f0000000340)={'syz', 0x3}, &(0x7f00000005c0)="f141bb3d87f61e1e6422cee9ab94c88bf7acf6eedd4b95860daed7dfb8873d35789feb996c90555c3e949721323d429a9177281746fccbf04574bec2d323c900ac3c142c7349ed9288b5e955800114d6d9309d9ac841b57330773911971486f38737631f18160750e47ec0a278fcebf0eea819a47139f2f555b3e26a3777245fb0049350bb921857dbb91d5dff477023b5535b93d123e864132b35e889cabaed996abe8b5430a1d094004ad6bcc461d7467a778a97cc4c9f3850aa4b86210de9b92edcd4dd93fbc0dba2ec37a76adf3024", 0xd1, 0xfffffffffffffffd) keyctl$dh_compute(0x17, &(0x7f0000000380)={r1, r2, r0}, &(0x7f00000003c0)=""/124, 0x7c, &(0x7f0000000500)={&(0x7f0000000440)={'wp512-generic\x00'}, &(0x7f0000000480)="5fb37f", 0x3}) 03:34:05 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000100), 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_PRIVFLAGS_SET(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000180)=ANY=[@ANYBLOB="18000000", @ANYRES16=r1, @ANYBLOB="05f300000000000000002000000004000280"], 0x18}}, 0x0) 03:34:05 executing program 5: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040), 0xffffffffffffffff) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000140)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_FRAME(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000400)={0x48, r1, 0x121, 0x0, 0x0, {{}, {@val={0x8, 0x3, r2}, @void}}, [@NL80211_ATTR_FRAME={0x29, 0x33, @auth={@with_ht={{{0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x1}, {}, @device_b}}, 0x1, 0x0, 0x0, @val={0x10, 0x1}}}]}, 0x48}}, 0x0) 03:34:05 executing program 3: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x16, 0x4, &(0x7f0000000000)=@framed={{}, [@ldst={0x1, 0x0, 0x3, 0x0, 0x1, 0x91}]}, &(0x7f0000000080)='syzkaller\x00', 0x4, 0x98, &(0x7f00000000c0)=""/152, 0x0, 0x0, '\x00', 0x0, 0xc, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 03:34:05 executing program 4: r0 = add_key$user(&(0x7f0000000040), &(0x7f0000000080)={'syz', 0x1}, &(0x7f0000000580)='v', 0x1, 0xfffffffffffffffe) r1 = add_key$user(&(0x7f0000000040), &(0x7f0000000080)={'syz', 0x1}, &(0x7f0000000580)='v', 0x1, 0xfffffffffffffffe) r2 = add_key$user(&(0x7f0000000300), &(0x7f0000000340)={'syz', 0x3}, &(0x7f00000005c0)="f141bb3d87f61e1e6422cee9ab94c88bf7acf6eedd4b95860daed7dfb8873d35789feb996c90555c3e949721323d429a9177281746fccbf04574bec2d323c900ac3c142c7349ed9288b5e955800114d6d9309d9ac841b57330773911971486f38737631f18160750e47ec0a278fcebf0eea819a47139f2f555b3e26a3777245fb0049350bb921857dbb91d5dff477023b5535b93d123e864132b35e889cabaed996abe8b5430a1d094004ad6bcc461d7467a778a97cc4c9f3850aa4b86210de9b92edcd4dd93fbc0dba2ec37a76adf3024", 0xd1, 0xfffffffffffffffd) keyctl$dh_compute(0x17, &(0x7f0000000380)={r1, r2, r0}, &(0x7f00000003c0)=""/124, 0x7c, &(0x7f0000000500)={&(0x7f0000000440)={'wp512-generic\x00'}, &(0x7f0000000480)="5fb37f", 0x3}) 03:34:05 executing program 2: mkdir(&(0x7f00000002c0)='./file0\x00', 0x0) pipe2$9p(&(0x7f0000000240)={0xffffffffffffffff}, 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x4924924924927be, 0x0) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000180), 0x0, &(0x7f0000001840)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r2}}) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x0, 0x0) 03:34:05 executing program 1: prctl$PR_SET_THP_DISABLE(0x29, 0x1) r0 = syz_open_procfs(0x0, &(0x7f0000000080)='smaps\x00') preadv(r0, &(0x7f0000000640)=[{&(0x7f00000002c0)=""/172, 0xac}], 0x1, 0xfffffffe, 0x0) 03:34:06 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000100), 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_PRIVFLAGS_SET(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000180)=ANY=[@ANYBLOB="18000000", @ANYRES16=r1, @ANYBLOB="05f300000000000000002000000004000280"], 0x18}}, 0x0) 03:34:06 executing program 5: pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$inet_udp(0x2, 0x2, 0x0) close(r2) ioctl$EVIOCSFF(0xffffffffffffffff, 0x40304580, &(0x7f0000000040)={0x0, 0x0, 0x0, {0x0, 0xa}, {0x1}, @period={0x59, 0x0, 0x8, 0x4, 0x0, {}, 0x0, 0x0}}) socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000000)=ANY=[@ANYBLOB="4808000010001fff3a4ee9cd283caf790000540b", @ANYRES32=0x0, @ANYBLOB="0000000000000000280012800a00010076786c616e"], 0x3}}, 0x0) write$binfmt_misc(r1, &(0x7f0000000000)=ANY=[], 0xfffffecc) splice(r0, 0x0, r2, 0x0, 0x4ffe2, 0x0) 03:34:06 executing program 3: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x16, 0x4, &(0x7f0000000000)=@framed={{}, [@ldst={0x1, 0x0, 0x3, 0x0, 0x1, 0x91}]}, &(0x7f0000000080)='syzkaller\x00', 0x4, 0x98, &(0x7f00000000c0)=""/152, 0x0, 0x0, '\x00', 0x0, 0xc, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 03:34:06 executing program 4: r0 = add_key$user(&(0x7f0000000040), &(0x7f0000000080)={'syz', 0x1}, &(0x7f0000000580)='v', 0x1, 0xfffffffffffffffe) r1 = add_key$user(&(0x7f0000000040), &(0x7f0000000080)={'syz', 0x1}, &(0x7f0000000580)='v', 0x1, 0xfffffffffffffffe) r2 = add_key$user(&(0x7f0000000300), &(0x7f0000000340)={'syz', 0x3}, &(0x7f00000005c0)="f141bb3d87f61e1e6422cee9ab94c88bf7acf6eedd4b95860daed7dfb8873d35789feb996c90555c3e949721323d429a9177281746fccbf04574bec2d323c900ac3c142c7349ed9288b5e955800114d6d9309d9ac841b57330773911971486f38737631f18160750e47ec0a278fcebf0eea819a47139f2f555b3e26a3777245fb0049350bb921857dbb91d5dff477023b5535b93d123e864132b35e889cabaed996abe8b5430a1d094004ad6bcc461d7467a778a97cc4c9f3850aa4b86210de9b92edcd4dd93fbc0dba2ec37a76adf3024", 0xd1, 0xfffffffffffffffd) keyctl$dh_compute(0x17, &(0x7f0000000380)={r1, r2, r0}, &(0x7f00000003c0)=""/124, 0x7c, &(0x7f0000000500)={&(0x7f0000000440)={'wp512-generic\x00'}, &(0x7f0000000480)="5fb37f", 0x3}) 03:34:06 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_CT_GET(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000240)={0x24, 0x1, 0x1, 0x303, 0x0, 0x0, {}, [@CTA_STATUS={0x8}, @CTA_MARK={0x8}]}, 0x24}}, 0x0) 03:34:06 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000100), 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_PRIVFLAGS_SET(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000180)=ANY=[@ANYBLOB="18000000", @ANYRES16=r1, @ANYBLOB="05f300000000000000002000000004000280"], 0x18}}, 0x0) [ 608.652956][ T9421] netlink: 2028 bytes leftover after parsing attributes in process `syz-executor.5'. [ 608.662786][ T9421] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.5'. 03:34:06 executing program 3: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x16, 0x4, &(0x7f0000000000)=@framed={{}, [@ldst={0x1, 0x0, 0x3, 0x0, 0x1, 0x91}]}, &(0x7f0000000080)='syzkaller\x00', 0x4, 0x98, &(0x7f00000000c0)=""/152, 0x0, 0x0, '\x00', 0x0, 0xc, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 03:34:06 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f000000c2c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000000c0)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a28000000000a01010000000000000000020000000900010073797a300000000008000240000000032c000000030a01030000000000000000020000000900010073797a30000000000900030073797a320000000014000000110001"], 0x7c}}, 0x0) sendmsg$NFT_BATCH(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000240)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x101, 0x0, 0x0, {0x2}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}], {0x14}}, 0x48}}, 0x0) 03:34:06 executing program 4: r0 = add_key$user(&(0x7f0000000040), &(0x7f0000000080)={'syz', 0x1}, &(0x7f0000000580)='v', 0x1, 0xfffffffffffffffe) r1 = add_key$user(&(0x7f0000000040), &(0x7f0000000080)={'syz', 0x1}, &(0x7f0000000580)='v', 0x1, 0xfffffffffffffffe) r2 = add_key$user(&(0x7f0000000300), &(0x7f0000000340)={'syz', 0x3}, &(0x7f00000005c0)="f141bb3d87f61e1e6422cee9ab94c88bf7acf6eedd4b95860daed7dfb8873d35789feb996c90555c3e949721323d429a9177281746fccbf04574bec2d323c900ac3c142c7349ed9288b5e955800114d6d9309d9ac841b57330773911971486f38737631f18160750e47ec0a278fcebf0eea819a47139f2f555b3e26a3777245fb0049350bb921857dbb91d5dff477023b5535b93d123e864132b35e889cabaed996abe8b5430a1d094004ad6bcc461d7467a778a97cc4c9f3850aa4b86210de9b92edcd4dd93fbc0dba2ec37a76adf3024", 0xd1, 0xfffffffffffffffd) keyctl$dh_compute(0x17, &(0x7f0000000380)={r1, r2, r0}, &(0x7f00000003c0)=""/124, 0x7c, &(0x7f0000000500)={&(0x7f0000000440)={'wp512-generic\x00'}, &(0x7f0000000480)="5fb37f", 0x3}) 03:34:07 executing program 0: openat$tcp_congestion(0xffffff9c, &(0x7f0000000000), 0x1, 0x0) pselect6(0x40, &(0x7f0000000040)={0x8}, 0x0, 0x0, 0x0, 0x0) 03:34:07 executing program 3: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x16, 0x4, &(0x7f0000000000)=@framed={{}, [@ldst={0x1, 0x0, 0x3, 0x0, 0x1, 0x91}]}, &(0x7f0000000080)='syzkaller\x00', 0x4, 0x98, &(0x7f00000000c0)=""/152, 0x0, 0x0, '\x00', 0x0, 0xc, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 03:34:07 executing program 2: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000001d00), 0x0, 0x0) ioctl$TUNSETQUEUE(r0, 0x400454d9, &(0x7f0000000080)={'pimreg1\x00', 0x400}) 03:34:07 executing program 5: bpf$BPF_BTF_LOAD(0x12, &(0x7f00000001c0)={&(0x7f0000000040)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0xc, 0xc, 0x2, [@enum]}}, &(0x7f0000000200)=""/148, 0x26, 0x94, 0x1}, 0x20) bpf$BPF_BTF_GET_NEXT_ID(0x17, &(0x7f00000002c0)={0x0, 0x0}, 0x8) bpf$BPF_BTF_GET_FD_BY_ID(0x13, &(0x7f0000000440)=r0, 0x4) 03:34:07 executing program 1: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0xe, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x0, 0x0, 0x0, 0x0, 0x71, 0x10, 0x65}, [@ldst={0x3, 0x0, 0x3}]}, &(0x7f0000003ff6)='GPL\x00', 0x2, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x1f2, 0x10, &(0x7f0000000000), 0xfffffe51}, 0x48) 03:34:07 executing program 4: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f00000021c0), 0x0, 0x0) ioctl$TCSETS(r0, 0x40045431, &(0x7f0000000080)={0x0, 0x0, 0x0, 0x0, 0x0, "0040001e1d113c81fcf76000"}) r1 = syz_open_pts(r0, 0x0) ioctl$TCGETS(r1, 0x5432, 0x0) 03:34:07 executing program 0: openat$tcp_congestion(0xffffff9c, &(0x7f0000000000), 0x1, 0x0) pselect6(0x40, &(0x7f0000000040)={0x8}, 0x0, 0x0, 0x0, 0x0) 03:34:07 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ipvs(&(0x7f00000004c0), 0xffffffffffffffff) sendmsg$IPVS_CMD_GET_DAEMON(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000080)={0x14, r1, 0x319}, 0x14}}, 0x0) 03:34:08 executing program 5: r0 = bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000340)={0x6, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r1 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000400)={'batadv_slave_1\x00', 0x0}) bpf$BPF_LINK_CREATE_XDP(0x1c, &(0x7f00000006c0)={r0, r2, 0x25, 0x14}, 0x10) 03:34:08 executing program 1: write$bt_hci(0xffffffffffffffff, 0x0, 0x0) 03:34:08 executing program 3: syz_mount_image$tmpfs(&(0x7f0000003b40), &(0x7f0000000000)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000004d00)={[{@mpol={'mpol', 0x3d, {'interleave', '', @void}}, 0x2e}, {@huge_within_size}]}) 03:34:08 executing program 4: r0 = syz_open_dev$video(&(0x7f0000000040), 0x0, 0x0) ioctl$VIDIOC_S_PARM(r0, 0xc0d05605, &(0x7f0000000080)={0x2, @output={0x0, 0x0, {0x0, 0x34325241}}}) 03:34:08 executing program 0: openat$tcp_congestion(0xffffff9c, &(0x7f0000000000), 0x1, 0x0) pselect6(0x40, &(0x7f0000000040)={0x8}, 0x0, 0x0, 0x0, 0x0) [ 610.373933][ T9451] tmpfs: Bad value for 'mpol' 03:34:08 executing program 2: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = bpf$PROG_LOAD(0x5, &(0x7f0000000100)={0x1, 0x3, &(0x7f0000000400)=ANY=[@ANYBLOB="850000002f0000001400000000fbff0f95000000000000004dd5488e8e00f79e80e42771c3790944665b3129d59c03230f08fe04e537a978ffffdbf614a4cb1cb8e19c68d0e65c865ce947bb5b5ccfe99565000000009f10ea235940a42c8d2247ea955130910563c18972f6729a089fb3333a49456e76e20241e33512ef203942c734200e42f0e4b98de846ddeafa13e1f90a4c8a85f5318c04fb4f9cec81ce27689374e2d2f1cbe27ed469f8a64ee1a2a30473c0fcdd4e94f296ff030000302f136e1ac9e682607b8c6035119da50437d118510020137961d9bf16c38a09000000000000000000000000001e0000000000e30f8dd69e35b830529a298388f6e30c0e6d4e09333068ce837044cd51f4e2ced25531e07805000000d26bc93ee89773e7c8f8198b3887422a829c5dfee0dee3b6e624b31fe1d4611283bc8c2669ef4344aa5a08657374e0183c4acc00cbd74d1660317914d07da4418660515b80c4a86f0000001ba47b8bcf5749e3de2769e2f0cd7d4031a9e4000000000000040439662751a1cce28248f7b220ec96175f67a37957f2fd90627f14c0b80a974680907d0945f5d3df322a5265cf0e70167ef74da6b66c267defaff12a376440b8c54001fc846a20981b6e48c9dc29cf1de598c65a513ae9d15af10ad871fbd10eed890000f19f913800ca36fad21d46ea8b783057ddc49ea793c306269279253123f1c2501b8e5f0807abc941a7e9735d6c13b694e2167e811ac8ab42fe96e49244335d48132bcf09abb7a6ae3d79e377bd291d048328fdbb77617e09d6c7c7ee3db2938c6700bd0d0e06338e05556228aaf6c308f13944427efb62a84bd141dba0c806008c004095003b5ccad098cb26ee61f87699f41269eeaf01a29e752f5511bf4b86c6000000020000000000000000000000000000005516fee9f7fc6d04ac94fe5d640f1e84c0030000000000000000000000002745b52cc69854e28eb5913f1d82adb309b81d3823147d68c2c9daf559ff06951c8949f9050689de0edf324221b9cb5d3c930a2b9ab47ba01e70f940251b2f7916eb7458b9d9f2597163a111407585eaef73bd887905bc2354517caac2cdb1184ed74cf91dc7a9d0fbed48a1a16f8e73775a637bd7813ceb60492bef83e7f0f6364c082b3f484182b738dced0503b6a7760e79c6cb87798777ec43798c6c135aaad66bc23125fbae19259a8f241d79e13dba19ba2f1696042861a80b97e7cea266f0287508bdd275236e1246b3d1b5c13fba5c18f4ec6d371af7ea8f80bb243789fe370c16265956e2d0958e487b7c0472bfdd55cd1fa5df0000a8dbe0ad3f5f32f6b796fe466acb27a377d6476a15b11655969fe325edddd2528d1dafb80cd86c94ea6606e13baced541f2b217f6f46049567175c4b8e670d000000009b480086014a3257a6e4f81db50a411d08e7e793f0072617ecd3f025d2d189bd9ed7e1886d5ebb9ff86b299089bd5db225e10ccd587558ae5d08f0cbd338bcb725a34159a0c9c7713a5ef313f189b3e7737c843718e433c3209e9ba7ba5e64a2adafe14f0f8bf7b2061b8b6c50e3fcc86221b93847fbe6adb71eac24186cb4162d4a761a4391fda557a3cc3cdd22a014b4fe3d01c13e4025d1c094ada7bb10c1d8940c1aa54a2582573ca7b7587dbcfaba9949ff15107e5e2fc461431c243f47d5954782799d03fb534a53e23913b0c286527bbefeced320a05de47470f97459a175965e72c68c454b385330504a1414165eb1490ea4763341987011075162af9327d0057de6c35fa3b7d76fc6bc506540b09089e640e5366f6efed9b8e57bcce02df6e6b1e7a382846051c7f1440f6b682181634ee030e0a09bedd15400000000692a5e955a11f72a120ce80c8cbf6468dd038ef5563558d0fa7c2ccdb9c5b681b3b7ff33cdcd8000c38b8b63baaf47b7ecc5510ad5ec754b3c6aaa81605bc75146645a21cb566dd87f6a20a10016502608a91d46e0066a0798eeeb8cafadf1463268663994d5d2f1838db502e7000000000000000000000010000043fc5b034b8f5c4d6bc46d44ce4e7b48c5504911c668731628336b8cf7816bc6a200633dab2e6b3f3fa8cd98e737fa336cae302fc2b3ef648477abc02be92e30b508d46b66bccc2b8cfe9613642ca3a1393b64b4341997976d320b35aff290e59dd0c8a4577fb83983527468ec175d723052611ed919fe6b6449a34563b5722e5135f9b9c4f382fb9ae3009849decef8597ed176b0083099f597377ecd227a6a721536c13448f623d2c95ddf5ad69ef3a2e3ba88f43b5d08ea099c0dff2e13301a9af65a7065e09f306567636c52a23d73c69fd0bc919d0632cbcc9fb3bdb4ee538a23579221d4f7cce5803022e26c577100000000000000000000000000c46224db13e633ed4f61fed66f52e5c68aa9bc82f025fe5dc16cb67153f3b188eb1c99d886"], &(0x7f0000000240)='GPL\x00', 0x1, 0xc3, &(0x7f0000000300)=""/195}, 0x48) setsockopt$sock_attach_bpf(r0, 0x1, 0x32, &(0x7f00000000c0)=r1, 0x4) sendmsg$IPSET_CMD_DESTROY(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000000c0)={0x14, 0x3, 0x6, 0x801}, 0x14}}, 0x0) 03:34:08 executing program 3: r0 = syz_open_dev$swradio(&(0x7f0000000000), 0x0, 0x2) ioctl$VIDIOC_S_FMT(r0, 0xc0d05605, &(0x7f0000000080)={0xd, @pix_mp}) 03:34:08 executing program 1: syz_emit_ethernet(0x4e, &(0x7f00000000c0)={@local, @remote, @val={@void}, {@ipv6={0x86dd, @tcp={0x0, 0x6, "7de84e", 0x4, 0x2f, 0x0, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}, @local, {[], {{0x0, 0x883e, 0x41424344, 0x41424344, 0x0, 0x0, 0x5}}}}}}}, 0x0) 03:34:08 executing program 0: openat$tcp_congestion(0xffffff9c, &(0x7f0000000000), 0x1, 0x0) pselect6(0x40, &(0x7f0000000040)={0x8}, 0x0, 0x0, 0x0, 0x0) 03:34:08 executing program 4: r0 = syz_open_dev$video(&(0x7f0000000040), 0x0, 0x0) ioctl$VIDIOC_S_PARM(r0, 0xc0d05605, &(0x7f0000000080)={0x2, @output={0x0, 0x0, {0x0, 0x34325241}}}) 03:34:08 executing program 5: unshare(0x20400) r0 = socket$netlink(0x10, 0x3, 0x8000000004) writev(r0, &(0x7f0000000140)=[{&(0x7f0000000080)="580000001400192340834b80040d8c560a067f0200ff000000000000000058000b4824ca945f64009400ff0325010ebc000000000000008000f0fffeffe809005300fff5dd00000010000200040010000400014008000000", 0x58}], 0x1) 03:34:08 executing program 2: setrlimit(0x0, 0x0) 03:34:08 executing program 3: syz_emit_ethernet(0x7e, &(0x7f0000000040)={@local, @link_local, @void, {@ipv6={0x86dd, @gre_packet={0x0, 0x6, '\x00', 0x48, 0x2f, 0x0, @local, @local, {[], {{0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x0, 0x1, 0x88be, 0x0, 0x0, [0x0, 0x0]}, {0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x1200}, {0x0, 0x0, 0x0, 0x0, 0x1f4}, {0x8, 0x88c0}}}}}}}, 0x0) 03:34:08 executing program 1: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$UI_ABS_SETUP(r0, 0x401c5504, &(0x7f0000000040)={0x200}) 03:34:09 executing program 0: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000080)=@base={0x8, 0x4, 0x4, 0x2200, 0x0, 0x1}, 0x48) bpf$BPF_GET_MAP_INFO(0x15, &(0x7f0000000000)={r0, 0x58, &(0x7f0000001400)}, 0x10) 03:34:09 executing program 4: r0 = syz_open_dev$video(&(0x7f0000000040), 0x0, 0x0) ioctl$VIDIOC_S_PARM(r0, 0xc0d05605, &(0x7f0000000080)={0x2, @output={0x0, 0x0, {0x0, 0x34325241}}}) 03:34:09 executing program 5: r0 = openat$vnet(0xffffffffffffff9c, &(0x7f0000002500), 0x2, 0x0) ioctl$VHOST_SET_FEATURES(r0, 0x4008af00, &(0x7f0000002540)=0x4000000) 03:34:09 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$devlink(&(0x7f0000000000), 0xffffffffffffffff) sendmsg$DEVLINK_CMD_SB_PORT_POOL_GET(r0, &(0x7f0000000180)={0xffffffffffffffff, 0x0, &(0x7f0000000140)={&(0x7f0000000080)={0x4c, r1, 0x1, 0x0, 0x0, {0x4d}, [{{@nsim={{0xe}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8}}, {0x8}, {0x6}}]}, 0x4c}}, 0x0) 03:34:09 executing program 2: r0 = socket$inet_smc(0x2b, 0x1, 0x0) setsockopt$EBT_SO_SET_ENTRIES(r0, 0x0, 0x80, &(0x7f0000000040)=@nat={'nat\x00', 0x19, 0x0, 0xc0, [0x20000200, 0x0, 0x0, 0x20000290, 0x20000260], 0x0, 0x0, &(0x7f0000000200)=[{}, {}, {}, {}]}, 0x110) 03:34:09 executing program 0: r0 = bpf$MAP_CREATE(0x0, &(0x7f00000000c0)=@base={0x1, 0xe4, 0x1, 0x6}, 0x48) bpf$BPF_BTF_LOAD(0x12, 0x0, 0x0) bpf$MAP_UPDATE_BATCH(0x1a, &(0x7f0000000980)={&(0x7f0000000680), &(0x7f0000000780)=""/137, &(0x7f0000000840), &(0x7f0000000900), 0x6, r0}, 0x38) 03:34:09 executing program 4: r0 = syz_open_dev$video(&(0x7f0000000040), 0x0, 0x0) ioctl$VIDIOC_S_PARM(r0, 0xc0d05605, &(0x7f0000000080)={0x2, @output={0x0, 0x0, {0x0, 0x34325241}}}) 03:34:09 executing program 5: r0 = openat$dsp1(0xffffffffffffff9c, &(0x7f00000000c0), 0x8001, 0x0) ioctl$SNDCTL_DSP_SETFRAGMENT(r0, 0xc004500a, &(0x7f0000000040)) write$dsp(r0, &(0x7f0000000300)="995fae7aed77f0c11b97464b65b70fe9edc8aef97727e8b7d60b3c0aacaf5c1e", 0x20) 03:34:09 executing program 1: socket$alg(0x26, 0x5, 0x0) open(&(0x7f0000000200)='./bus\x00', 0x1612c2, 0x0) signalfd(0xffffffffffffffff, &(0x7f00000000c0)={[0xfffffffffffffdfe]}, 0x8) r0 = syz_io_uring_setup(0x3ede, &(0x7f00000002c0), &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, 0x0}, 0x0) io_uring_enter(r0, 0x2ff, 0x0, 0x0, 0x0, 0x0) syz_io_uring_submit(0x0, 0x0, 0x0, 0x0) 03:34:09 executing program 0: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000001c0)={0x12, 0x4, &(0x7f0000001300)=@framed={{}, [@ldst={0x1, 0x2, 0x3, 0x2, 0x1, 0x3b}]}, &(0x7f0000000040)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0xf, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 03:34:09 executing program 2: r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000000000), 0x42, 0x0) openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x40, 0x0) mount$fuse(0x0, &(0x7f0000000240)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f00000005c0)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000100000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) read$FUSE(r0, &(0x7f000000c3c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000000040)={0x50, 0x0, r1, {0x7, 0x1f}}, 0x50) syz_fuse_handle_req(r0, &(0x7f00000042c0)="0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000", 0x2000, &(0x7f00000062c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000006340)={0x20, 0x0, 0x0, {0x0, 0x1}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000e400)="4984d306b482d325619e5f16d7e650c5e28ff3c4cf56aa10ffd282b652deb2886ccbacbe8e69110371e859fe758441ee3c0be4d12ade1a02094db51a5fe520932189f1d1ae6b0142c3db4ce2f2fad63fda0f26f40f5dc714d5516af5e06e28b5188d20ec2dd5f10f5e1831af490694b8e166fddc69c01c149ea69dea858ed6819844b068c4ff6ac3f90a4c070135afd49dad72136c8e6b6f2b8ca4340398a01976749f4d4653d73e16d14dc34316ef0bd71ae8050d02a5541bf2bdbd55616d767052d4ce4bf6a955ae62a27cedb8800cc176f7ac903758272edbcbd6bbece747ebb495f396aa923f6407c5f6641e3429d3706aa9ee861764b1b4a2216a2cce244128296c29233058c2d621f37378386b5a58e4a06da595b21b95947970143d3fe6369a419479b5018840bf9de6a56e854783fa5f6704ad11808e1f1ba234a708d12b6c71199892b7c4c5af2a93bb522d4b77ca818a62d3a2fa5f6ef16e2a8b6863cc3d562125f2bd273b8ec5f1fb21b8c7ee7e2d3319d0a73410eb25b6dbb6e15694c87b1ce34df2c4d31c173f70bc651a99d006909c615c23f6dd17723f0cd8498e4d81ccddfca90ade67c20a5187aa8f09c85953a2537aaf93c1a069f9e3a4dfee9dccf2f135be921a630ab3d1cfbaea7dcfacb6d484cab8b7bafc257a4054a14d1d9999be056686be56e8960e31a578fd549667fc20b9bed86b8fea2fd219f4fa36197e1e9f81f5f9f57285df20b194623a68fde2ea88ecf24adc4f21b966b407cc7bdc6ac2c66f2ad74324a65a435ba4ee52fd283e86211836959664839aa2196c098ed1824af725d77b343d06e827c0a1a121a948603e7c8ba2c810e59cb21e7e7e035e883441597545d8bef06df757910cadcc36f190a9f1e1a4a4838e8374ad0d97441d418f8d0e60aaf7caf3ed3b66f35a37e5563f7aed7cfd6003deee0b6a7f7192de24376fd9cf11497ee6e76f835cde94f2d2fa75d348303207a038b0f6f52f45b2b293e0430ba7fdb1c40adcca068c0e05d3653004e999895267ff9ae593ab21987ed405bebb31d44ede0214618a28052d31f22bf259803728a81a174b9aea3f3b378a0b9cafa5da3aa934ddff431b2472ba74b2b64ad4f25590036831855ea73798eb8f6f3794cf2e7bddabb45cb33492f0a13a0193300cee46f7f19885fd9067a28ee70e9bb4ca8d570a0dc25b90a63533fe994742a703624810502ccac451010b37606ffe1b007b3ff497bfeb239810a3c9d5d2e55a16fdd6a39198268562cdbf325047d7861229cb127ed4151145569ed0aea9b09552009c1e5aac7f8ceceeaa1cefa480374f8e4e55b88df5e14434d883a56147fa9cb1e1b324c5a482d151190d893ac54352ebcf8fb7de2a0fffece6c27e05f9e75ddf0859d358e7e9d901c9a78247445955ee6c00d0a076300c7dbb75b21c31fa3eac986c4f952e6725af370f5aeefdab08e2b8b2e2719e3d3db9eacb4bac05a9897e1a97d1a9f23551e304d4d8bd691ba4ad3f0ed215e85ae371f04fa58b94b2d524cfc9fa454d1bb89a19aff72398a262b266444b8700811d49267bfa77f9cb86e481514026407930272a2cf40ccc21c7b4f6aa4ab92aadafd9eefd813dbe20d4662f46c0129b56e65e7fcea119f78cb559597b92e4964ec3e9efd769e6dd3b0aadcce47e8862e7948f4dc3a72addee9c3a275cc0fbcd28d44d2d26a7916c901ceb406dd336905369797631f9eb3906ea09a83845307370b9c3e2c2ff6adf6ac7e06e433cc4756f2d417c74d0dfaff0b251cd43c0c6b21ecf30414394fe44a55d33dd786b5012080f31b52b4e812d7a78259407f0ac74c259f7a9ade3a21e30b2a81a68a8d8a0e3efef4cca0e5753035a4e88f761d736013a254935d9c156f36d0caddaf366c109f26146f60e60bd6801b426e42b856e5248e98d44a151a3cfca0acc7d8fe6713fbd55d43217a91cd30530185f51844165ecea9cdde33ee1bf7758b75fdbd018d1e547c47e6db9d18e4f5043dbfa1dc5cfe8d700bacf344a037afb504b1418e226b56677d7e6049aa7c962b7d9a6da18081dc88ee60be9d1e050e54a78898ac01e2ae0848d95a6ac6c0c5ce0d72cbf5a28630d424c04de455004c1ad3ad06bb6d53e78f63209d6f1f29392f2ec1752d6bac5cb112b1d817501f14e7028ef3f539f0c794c30e814369433ac8995056032573de7b55a8d967cca2b5ad9b8cd942f4614720433e7a9e5711b8137d146d2e8a0d0d6b1cbd0073fb1e362a75b4f48c1100204cccb7c1e1bace2da0d7e7b6a96ce86aed7f812405afb159920757959ed930180f9e7329ffcacb182bcafee2e24aff9a72020de1d52a6511fc7e90843b99349f1bf749a4d5a866db7668a74c32bfb43d6976909016ba7b21e193e2048387e6a0186f8dd68d6acb5e03f9cd314990070dce1714edfd0218c4bb3f8ffe754482f48f582f3d70a999546909532b3386ff819dd05ca54c781d33ca2a1eac8164187e3dbe365fb6bfba95e3d401f66b979bf2e4f5f18e612fb9f6076717579396a4a128fb855fb6f113c19ab3023bd6828ed3aa0f4c254a5538074195dcc96b49bd0b419ae46c79c67d4d4931ee94005e80af735039ec713ad518ac57495bc4215e14c4a82aa80f8f102b1a6682202669140444860cac1c379e0bf5279ce8e73a5ff3bda257a40bad320a9a01022ee1c468aab2ddd8951cfaf55cceb64888f11149f46722e773220adf4da1629c13e44f4b892269936f141c7921b915af036cd1d5d89cca6cac76a6c5bd80244c48e9a8168f74628498137a0b6815ece8245545755440ef91b6bb3d651a4aa057d414c4033cc25d8c0d59781f24da56c664a851eb7bc974bbe9ce316d117179dbeb097fe18889eab18b0ffe5f6faa95158018d6fdf36053664b38edb5e57391c4b8d815632d8f99aa226dcc0f7869134bbe4db930871c8359a6fc1b1af604b461d27bf17a813001e8d8c17a128810f64899f16446000293eda8fb9a73f4377ddc76c7607e0f37768031f82e93f73d995a776a2730a8c7430740055f725695558d900e5b18db49667bcf60be62df9626ea5513531b98fdf15866fc2eb308d9d3137702fe2ea51114235b6e304109c366671824e47f8845ea3b7529d23a29f990dc5860453cc3481dfe625c280057c4e7c9eb1229c0161df78c7462ee92373314cfda7f44dfe7664ec166e1105f6198eb24836d59632f340c0261b5b043859d71a309145c8f44e26a14d2a449634eb5538e5f72e02009f807c13ee5cb4c636967c66f201fe4bc1a8531534d41a27124f39039fd6b19f275aed72adc07106871cc4e8f354d3ade677928a61f094ed5202360e336846fb84f76619f887c1ff65c22ecb4319d572b05f4125ed8b5907b6b4ec5600d6c01a6faccc637331be02eba3fc52109e8faeaa8037851a53d66b3fc622ee8d9cb665a762dd2f595ddfbbc1184cafab393f28ef927ddd9a1c1375f60233ed7a85112e35d3bcc32da8e6b5b6045969d8148f8b41e528647bcb7de3f518679b382c048fa65afb20a1f8e32aa68d706abaf7ac482f3e69c997f583b50ed8b9dc0ebb949470a4dc1e371b05df0c424ff18d2a8d28588c76b267e2ed1fcab4c750fdafa352c0f4f068b7969f6e373019c67f7896fa46c7cafd4a8f1336240519c2ba4957425abac3bfc90a26bed117cc7b50e00a7dc5001bc2092eb3beacf3820e6d120b904431362f6e77c2ab04efc0e7a63281cf992f0f1619de7dbba9b61b3058b3f90c78e6c4f4b3c9e9b041d2ff7ad8570999130a4ef33f332945941f5fe12ea3a70176e01ba646cb0337b786e34aada545ca65c5f06946fa8661ca25a1ecc5f09a40512d6d0c97415c56edd3c99f64816604a59dd7dc4517e8598e4caccf0c4c1e1c00715928ba72f1e6384df26880e9bab9260e17f22b8726dd8d1533c19fecb13b2745c5d88c83261152400f290bf1a5e5a5b3da93023b2ba11673b3d240d4231287fc44c94f8a858db9d7794e55517bd8d39fdb162b389c1cbdb4cecbe81c7af8d9bf8f102c33b386677102c0b70848cda747d131d0ce003f4c845f0350e612fdbe8527361d0e670c95c623145436065ab6e67e617304acae013cd4b816a932204f1542fe72cda5b352261d0d3256febab4cbfcf8c9cdf0fb007bd69f508af631f3007cfbb4b13ab0615808533602508e79096b7c97dbb95539ed9517b2f4a0c9c1cbdfe8f008faeb23f9f0e5059b624a9f93535a98f049120bd92aca76259cd5b172014a0e0319d3fd8b9fbc6d9cfac99c37f6737c91dd31ad5b3c8004374e611c033d704f0a42e8f5d9c4defbdf14a0cea4225ff59ff91c13862e8aaf1d1fdab96276083be8f0e2a66fdd8ce6d06064f7af60bf94cd6e7aa62172b17b59e02232cfbf7c0e0e6243a92e1f89c29564aa3742892706b0e9c15e214d117b4b9cb9728466084dd6ae0d829c76ed2dde0f6a8935378e190b2e32c05d1720c3f788c74fa74f36f71373e4de1b035430aca379e81a138d8d8604cab86be8d75789995975788bc503ef8cc112cdf6267f5b08bb320fc3862a676fe6a3e4667565419395c0af38d9f45987bd44fad43c4933c33af9d1e2f8c66ec3a3a23e294998fea7da306388062481a18be50b5302217fbeafe0ff65417e3749adf25c6cce60159d70a9b8de3d3f80c894b791a5e9264a01b3270c6c846bd56b0d0d96c589ce951f66ce3bb1baa152f6e6f0dd25930b1522c578903ebc1f23427e2e523ee9d805ec61d551d81b3285b4a7c79889f39a351207314ac1eb0335ecef58dcf0bf7574d18ceffc1b15aa2cc13b026e4b59022130416d4c1768437978c481356eb6c151f19666cdfe87199e98e8093aab6c713fd05b672abd7b6f942f3098ade6ec70aba57c39772b3fc1410c6b3bbb2c9fdfa05741a047aa5b94032fd94572d1470d9158c6415945e094917305adc7f8bbab6b9c497c3f10acdda00889fa18b2ebe57c54134f3bd054c66b2216c9bf4c5ca097b95ca62d5c51d4147da206bbaaa48d18b1b2b05cfb19f2b8e7aa06fbafa2d0b1a3177915347518f8d502824ca858dec614c37f07f45d8c65c18f06fe7ccb2531e0bffa219649aaea6402c01aa79cb8a7ebd3377adb4cbf38f63f0ace0fac85d3ce8899ccc555ac0fb7610204198e2be9972e0a6fba11f5461de1c91cbbeb9e8a149f30125b11b5a449d5c230f8fa7721fbe9a4e3545351345b1e335ec2558622b5e845c78d935487183e097ceb27c55262022b27a7cc8ad1d7d95eb737a982d555dcbec29f31efaa026b8d89cca7ea7b59c9c5064ff7324211b175bc5fff261cfce1fc79e75febc3c33462c4e7bcb33332ebf1cc7508c05084e6a4fe6de39888f53c2d62c95edbca35db82b297a4e53af02fd531f35f4161d6906ffde22aff95d4e3c173e22580629e8b8f6c7014e4644763c6b2ee28cea0b61afc5789f18ca1010d956100bbcc500864ce304714cacd0c10238228bbcb4c764a0d131dc81c7757cbd39dbb598408e6e99c769c70c122437841770a05d575a46ef3a8ee3fd92d9dbf3a77f325e661542b788ea68a81bdf1e3dbe2cdfd63ac8a39b2e7c3041099e6747ae29f747693b38a7171479b5a73838a3a1ee3bf19082ee0d79370865cd859934cec12ab0276c130b64e76ac1d536145d9d9d84a5db1e605d9d8e3cec81bbdc616dd6e9371aa0692e7e473215017b263affa0100fe84abcd6e0e3159fb838f9916ae47e49def811c948bebdd8e3d042fb358a28a9fe8367196ae5176443d7b9076808d8763713a1c024044efbb585b153c075477b7f4674c5288271c8080aec4a2d75eccc9d629b133ae426e6de0b5504865b6c627ee67d2231a8ce8ab8329b33e7fd4fdd049ee7c05b8b8aae1cd2a0728ceb6ad116bb3ece44b196d226539bd8d75ec23fdab7727bb9c00cc06edf01cc62fd5808aa8f05a29f45acbbc617deb05722c78e8c8ae4a5459847cacfb6d1eee552f5fad6dd3bd58801dcc6e29fc1d57007390cfd06a30e5f0219b6ff406640207fd07f120578a4c713a143732f3925835ea8eeea686a835d2d25befc40561aa6a30bfc7ccc839f0aa3af9430500f82b3d8d568716c2b44a5a35f6ab5d86bac1bd7bd1b675c9dfd3cb346eb3e41ac2f253899134a153c3fb62563cf19d074196c677bfc97423b0d8623f6b0bb839588f23673f3a7b29ca103945da50b36c9f9018e01e1c4dbdceb0a091daf6631ce2b312c391905dc9e984babf72229cb3ffe431df165ea6d95e79e8e2b83fb5b0ec7b0af4370fb0f743595560fed169c8006f7c9ebbc3b4c5737e448d8c6d07fa867ec6eaa1d1930cbf8a71082498c872a06e2e2df8c45e12bc5e7122a0f303c740bbaaafb36893576f34f4f1dfefb2a23d9462054905733e5ed8d32ffac80cb341dcf62de469454bcf19f2fcbbd22816ce7525324e3a78e0398ff9d6e2f4d6397f444adfa7537b573aab3845956dc7903a170efca65eb6f79947bae092ce05f1d3a7d3687d4777a57f2e4a7852c11529f39cca9de7421aa62d9bdf301f58af641d1e0559e869cf070a954b838f82be1be952902465c3e64998d84193415ee04d834ed8fd7e0e9d6a52599c7d2018fa93d03b559c627ac6ce5f97d63103af9e2c297f72b8438899c3db9ebed79e109bcaecf3cf81ab2c77fc49cb8171e17f7f2e6bd8ce486792ed65f822c1b2fb6c225843eb348c118f386530da165ab4a7c27bb020422bfd41b2da1875171b036d1e0bef0f7257c11f1c803cbb4d611344296f2fb2818502f47c9afafad99f36e8b9297a70b177b88c5aa075c473beb81c4f131b41a19d1a16e9c33493147582de62f428d573aa8c152739afbbc904b4be69e5e73a8a9ecc77c9e7dc8969565086d569f3daa4db5a9e9f01f2f1695eaf85b4a7822887598b8ec9c2dc006d3a20e35d110e884fc421b53208f8b5cf45c79582b74727e0e6ac7c869a93f20e383e9ee49a0e41c9aab3f3d87d3e1d8e0a310432bd8523c4e7d104cd89cac2ee1223a0b6dfc2eff73181b8ab499b3dde29e3574af359105a0fbc2755410d83115cc294eb1ebf83b9ec65b550bb1698b49ca85f89050c55afc61d6e5921eaeb99897c505bc160e2ff598aa41a10540058d05bb81d0a86fa03aa6771165fda911c4b337d0d2adfac513c49b7b9f0193f88650d3de23fa7405a53484b98192be7cc9757818ff081496f9a627829a621a5b5b46986a6a3b0d28427121f6d976da4aca8f46660a6794a3fd3a43fb528bfb0b9641e5c3a1646ea078844a0e96e1ae5ed2431d79b831da85ad694046e0252d5d6502ff71ddd555967f7189c0c6cb430fa64b28f25bdce56248745627320e24dd3a1074390b741e1a947f22b9957ac8896e1cb462e255950c1ac2aecabfb25a9f20d6ad205d4fec749e09b51bfb6dee7c16eaca2733446ea34bfd3a270ed1a4f1652baa2e16f6c978037fb0320a214b216d4b4a3f25a4062f21140e43db9b9c01c9c381b7d8541d29a43e12467f6af13d8f7e0f6830afe567cafd6df6e5f2b5b03fdcab2ab7803adf5b9cf361cb212dbf184d23096252bdccd6be380b1c9f34141813f19fd3f10c4756cdb1453411c39c1b921879296b2222a45472ea0a953bb06c0ed1dd69059fbcf42c820dab022994fef4cd885b486f761c0149e405f328da3a64181eab7c5be4674ed7dc7a395674b592f91ec45b3c903f30c3fd6bc277d35af221b740df859f4f0fe0f4950aa4ca32327ddad8492e6bc04e5912d8b4815e7456680eeb04de1a94c3af3af88fb93e313f1c8e3145c4e8c6a95ce5ab76bae2d88032e5aba5b27d0e03b593d03e0298754f19e3df0b03642342bd3815ec0a3bc47d9e660787d0549c3160e6e077ba7d23f3deffb407538041cfb8d6e03348e3cbb4e2be9dd1a596538d62c207ce33cb7c592b6d16bfbbc995a6e1ff1334bc6779ae35b36a27bdaa3ebda3ca29bb48dcbbed29adb5e22101e0010f525a84274091c723f911891b5cd92b75d8e7a3b6f07393dfa47b53daa3819fa8210f4efaafe5c2d2e172df5e14aa90badb86b47ff25fa28d0716c013458a8ed1624e9494b1bb4e0d6349c1837f1161379d74360d425291683c1ee57382d9830b437090063b0c27f62f3f36e9a6e01a4cf004870363a191d02040b59a8b73d51a9f6015dd2e4120a0ea6396dc445a507a23a0ee86612df1729ec28107fae1543af7a1f51b3ca8f9881567fd15a7e3460c42b2de75684878e070cb9c83fb273afc10993b16eb43d1242c3fa07be18a06dba434ceaf5fce85ec16030c74f1839da461a3bcbf98e726874263e027cf4955e8ec206e5619b2c3dd6b576046debe3cf17f65b5bd02903d94f1f1c31bc53ff2478ecd4bb1a6cea12f5498f6f0d64a37126bdb9d53e6dd2ece9724a623263074f173423d0e12ed08dc3544209c24c2d2abd76acad888164142510823177a034bc415841230a053d3b726de6bf437d3844b4232afe67941346ec141ae9277bf5b90a655aa25053fd9b05167aebd05a839fe42f33d614dd7c9a08bac9ca9f1da4bb194d8b69a82b13a4f654590271b852e5dd5f628b1d1535fb8c36e4820570ad258d00246cf5d6f26c4605e9658e5e64c58d507443cf9cea087cb85a9b728bec675f4904269481a606f55620489429ae6ec872aefb177d0017b87cbc57983054931749fa64534e7f11a564d67444b11f69dfed83a9a1a974139d4f337c4d3002f23e1f71022e1067f3d58f945535d94f8c927b2062f7d6ba15fcd264e8d5453ad092a2a0f58d040088bd546e07fc8cd227414a7fea477b122cc366cf1dacae276acc592a39784753ffef8332924f77b12ae1e99ab62c26777dcd8bfe9c8cd53595d22e5e9a06a0d20d8ea251c521407577caff5404a1ad812cb2330b5b3679663157507633fb0e054c0c74bbfd23470abbdf0396d7845d0cead8936d91f387cbcbbc21c037b1462bb8bd7a8e1caf9ea0625c9601871db756545f3a7383d48f0233c6d5c1aa7ee8b9ed0c87110252afdd965d61a7d70aa78cb4ac2fc4e58d3a3151a9d65b140df7952903e18c3b05ae73040d379aae2fe2e60167243530f37811e4950dd5da2d29377c1f5717722ec1e0c4fbd1d0e0b76c22a9b7cf97536ed64709cfdf66155fe0347c762c9ab3010e1f80eacd6e9a84ff6c74aefb57ebfb92ea60ea482fe18574b9e9e23a6a3c09907e3f6027b5fb637c20a31e0cb4efe64e9c2a16b6a4b52216396dc65cfa0b0130475c538c049d07d88cbb80d9058328288f8cacedcf3533713a4481f53dcea863a323a803fdfeb460232b5d8ea5339e57034c132126a0dcc2987e57bf52b00f2bcc7feee62027ccc48d18ccd863b597a557aac7b63951db1a535c6ad92543dd572ee763f9abd588fa83c1a7d652b01ff66af6e3e9ca50021e4b83090531359ddf1f0fb00c62782a42f32260e76392abb3d3000531a38f85214e2d065089c48e573e9e350951a4771831b43479f289fe1b283f0d00f865625d721800d8172c7c1c440f7c7eda7e935ff8edf9328332e356a137cae532c1e8041112d885709b9c1bfcca4e6df1d18afa87563815b6b86d0b82bc5ed22ae30bca6ff632b361eac835db2fa536199c8bdd2c36402b45d0503b00d9fff48291a20761490fefe00110fa50d1d62cd717b0469efdaa5012e97ccfce707cd33d7645085f12af9021f5aa5081e535aed753c7543f6509555cdf8644c19eae4d8026c79ed21cbb1e9d85f50c1d21aa1bbbdafe5c47058f76355bbd44898637d92ca7e48d478f3662d375f72ab14af979c04ead0f082416779625bc68abdb30704313bf56fbb19cee0412304c15309706b9c047db75ae677ad45d53918b0474f7b4cf8d30053e3c457c4539dbb286a1b5d7030cee121e47c4bda566ae6eede6d893e8762989fbce866e89e0575baf6e649461a3cf0578360eb56314ad0091d724481ffac276a7ae4f88e57a4ecf7e8e2fb2e1502d7426c5c907cfc0103fab0e0c4b787dc05aa362dade47de70bceba76d8e07910f7c104566dadc94fb5b3a19060d5d8b6a2f8037158d1b7afb0f2e9732cea0f266ab7d1f637f0844477a979cda63f96901c105c204615d0fcea1152bb2ea88fe545952f5c0a1c6ae8598c90f7951ef4c39a1c8fbcd44ddbf6168318a34d8e10707b8a51ddc9672ccfb76c56b201a9d10458d60e46928a55188e89ac251980fd84d6ec88900a49bb887f6dde6d15894db9a38e0888cbeb2b58278eefe20cc3cc910f2ad148ef69b3ca3d2956f6b05da2258711c2478f95a8586bd1ffa4851bd2a694beae331181a3db35860e012f41983f2fc0cc9bfd244bb534c369a28c8bf382c77ab20a1d98601a38edd7f8794143fc24574ffddf584ec0520bc2ae98adfd875ad53d5e60dc29d80a787d1d92f770ba2215495b50276f890c5aaa80bd7985712c06796eecefb27fdb76d00c215da6a615cdd31814e483d1f7620ceb577eed69637023107d4b19910a7a009ad448c90609e6941d6c2b2c1fe576ff5e6910236ea364b190eb7c1ad8dd1e504c7aa1ee9661a67353ed140c24ee1ac734273e2f24fab97b64048afea122796e742775fadab692ae6278599a8d5a9a1f8a2ab57f022a0c856bde87cf63e09afc72ac7b1c9119f2810e803edc6eeeecc0f30bab3e92b7d8793bb9eb5c33161ee903d5c1114261ae7d8e744486653e3ef6799d23bf5f9a064869e1d26d54658c02d4ef855f03e6ab3f19de61262b3292f92578aa10252e08c38bc835c325bf30694bdd1000862717bd94370ed19f92f16eb653bd346111b57634b191724f9219dcef12bd15aceba6fb71ed4484af67c469db3a46507de8822a738500f597dcb852c1a2ef5ae303a9adc0f4eb32256fc4f0e98b4d69b0c70e3d01cb357ad1d39707502441c6c656b6e61a62a31bdbcbc6917d2689c8495e43acbb54615883ce67d87d73cdde3b3556e9b179d587d8b285249d2ca76b407fe5fea87ee331f419eb81b4992f89091eb9b959b9aa8dd5e7093e39f0cceb982b6bc04a65ad0e93db35aec2acdcaf9778b61f1bb60ef3eabcb233f284d355e83eea4e77c83fcd05d30cac0bf2dadd62ed928f04450d3a94d3456e0fa8ac166e2eb7f41e73922b63549989a9832adfa746e0505321708e2ef7aed4fe57bfc6a534c55adf15eada171591028e07ebec5431de5173690d46b702fbcc697b063fed279da1091a5d5ebd8d3fbcd32c7e3284d5388ff9dbc3d157939f56fb6f9076b5c840f81ead2ec34caddcd293e0fc079bd610598d392abe773c7e27b4c9a9b2f2dcd015d2fa2512f752abd2b2dadd2fee17316bb1afd8434ff5db433ffc613741bb6867670c83768252c31ff8d5f5bd652714035ad39af3276b0949fac4bc8e2c7dd04aa4c5d4736af43745b8ebdf535d4eaebfbd5e71c1ecaea279d5f0cbf1aa50e41a2396b4b026542b366b687fbe0c8add4cb6c162cd27afe296d6c161ed076f630e6d9c04711b2fdfc81a8ab54d3050afb6745d5ff10a50159c8554c1cd878fc02c0a3e8da3a44dd0a2bacf78f22853a253cf13ac4018561c1a9fb1b74b866a7a384355c651bc3315c0abeeda0a168", 0x2000, &(0x7f0000001100)={0x0, 0x0, 0x0, 0x0, &(0x7f00000004c0)={0x18, 0xfffffffffffffffe}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) r2 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) sendfile(r2, r2, 0x0, 0x8001) syz_fuse_handle_req(r0, &(0x7f0000002140)="1b9032ab7e7de30221d98c610c92734859e183b4a8ff5f05fe2cd8fd000e6458edbd52827d36ed95ede74c5aa33a6c9f54d3a13de2b3bf1cd6b3b1966b3664517d31d1270e2242ab69319a06253c2575afab985d734da0a82f1140144310402dd635f7802f3cece718bb8712fa34a00c57ced3ac4c12f03cc818aa97a63ce39ba53678619979c8832c9a863d74a5860b4e41eb61f4a60200cc11673f7cba847b3c00d884f35aa60e4337cbdcfd7a96517332693eb6684713a03d6b944192fe6e9ee1a75b11e5454357ba3eafde2cd587a13c93e3e38abb77301907536a26e792938c0cf4226c392514118276ea63f716f846177c209d7cf1ea8605191bed888568bdb71097276cfa9c7a80be150545b48c3146183013f6cf920220ccd78ee8052ac888a26f10f58c5189c6ab54c50505f608511ea2df66437a40bfea6c3c129c9ee7f3de1065d17a7b881c85c13b73c95bfd2628e56aa63b137d021a5d334554452fe88ddf517c9ecad22ba1522403a662924f7c406eb3e345279da8c32e7c76c7545f68658e71915ef0bff2a0c72a5e4382b675f60f5bcd16820f7f54833591d4875b057496853565b2f8ab66c98637a7d1f132283962239de4befd85dc0a6432c9f5bffaefb6ca858660cc7a29455227dab526c4ec139e5558d09cdfd4fdf7295752697b2996f1ec7b414e8a4f10d2f9529420b7923c9fdd6e482f287d11d8fc4aed7af19ae2ca5626223112af5a3922e71ac8c1376d4e8be8820065ff64ac106a823818707fc8082f63dac25dc189a95e2df6c86fff1fcc054f1405bc92b3d157c722bc9a867bdc90201749e158354657606295961d4fb4fef38568a5688e5a8ea9a5a6c96cc7149fde0eacd07c9e35c8e3908c3f577bcba2d02cafb67cf063b414cdb22e04a0cb918141e32fcdd1496991411b24ab484510862b280419a78f15a9c59838bbc4ffb18935bb79f8e53c6ce5ce53143eb447a6c73bbba6f65d6d9e52216f14217bdf24f6b83126e86133067541d1ea2b7fe2301e07085ec5eb899f3b4e9f8d704039dc96454266df4c3815b9460f7d29630354babe090fca4dd2d1d7877b5ea180d6a84a46aabecf850b6689a3e339ad8307c1bb64c3101df81ac9422bae077ac408ca98612c3a8606e8a44e65c2d3e7afe21083ce00a9ef5416b6524f63029413314f7b3a77fcd38afae9d4e8c0398b7002e1aa3c04d167c0f3fe68f78a0290bac935bc088aae59f5c0a1a6d9b89c98fec9356cb69c94d6a667be6a52a081cba804924e24f2b4bc72f9b5d3b6ac19717ee18b7ced7ef5cc6cb83d48a1a7ed9e26d0619547669bce75a5b63e8e2f3e73ce4201cbe66900ce3d1425f9c420cfb308877247195fbe4d58efbd1a928f23f866a37ccdb9e7ae9cb0b5936edad0437c8a70a122becf32bc096d4015325efa5a87c3485beac877f7b3d3931b2ddd95b38f15fbff20879047711fc304ffc1de823e6494a6d022b423024e012583939a033309688d358e086344d2d0ef0718c1a5d01cd96677352932b05e3b0ec98f59c5d42b235f0e1d117ce8a7aad70ae29fa172817a7ea3b789d4cfd5e764c682a303e2972513bceb5e0b89a70dc7292ef7501ca24c352107ef5a6a5f42d9bf493764a12e2d102e135e1e7f0594b533c29fa098ad53a653e084688dcac1d8905133944d0f01a2c6cfd62b13c4189fde38c53c5324c4e7feecce2a29034f5be4579b05886d210f77b6e69f0306f8b58603784a7eab579ff7d0dcafb10d038acdc093c3c4f824beb0e9b57fe61a47d48afe7b8bc19bf6cc4ac2e9da4c1e1705ad6b1abf5a384c7e1764c05c3420b8626e421b4afa35dc36bac77eeeb51071e47314e25961635b4cd8f70b155708c342f76ebf19e6632770969453f4ece40e1f8e948901deadb31ea9dd15756ac617821d47b8bcc828e6e2681ee85e4fba7f3252698320771accc02862870ee0365e8b470030260ba45289d6cd09572653ea397531a9bb58e63aad615c8ef6420faea89c9331e746b1b2fb11d803b3353658e4183656b2d1e7298d1d4fb40f63769fa998c9dda3972fb93ea79836961e112c1029e0c9800588e1cc72ac46c3eacaa9281480f09acfbedad7ac0c8c8c06c2714a5607cf214f10fa7b91ac8c4ea866e0ba37e63212a44f75123ca6b621382362e97c789da25c23303e33e5915e80025ca635ebdfe8015c0332e81832fd71591a7d823ef624d16d7df6957815d7dd722a0474970d48fcde3014348693bccbea779e133aea49898785e640c9515d622cf9417d89ef10c427099de620d5c948fee1455fb3fa48d2c3270769f865597d12be7ef330ebc2840cc09de2dd85895de15ce21ee204633073318818df304d2af642f15136d67ad8314db2e38a8e3f557e1d7737f55805126a11c0182254ec5adf0d63c7b8d7c8344c65cc45a62484e54bda662c3ccdbf3bbd42762906a3c03d2cd9563f2030e62351bd02d46106b1232da369724ce591c9fccf08eb0a2b0c919b77a50cf5a867cea2b64e5c16151a196a3f700c6a7b7f21a6f23be212d2c9e651c3402141b4f0c7200a2f2b0210ba62cf5e41fdd1f16856226c7be8ceb73604690fa081fb8974d0280c75c77127c6e4e1fcf8c5075ad241219ce1fee9067ad613bf029c8ec5ace48054d0a829a39d7c7932a6ac9749494811a62002a77d09e901604f877afdf47eaff9e1cee8e71a69eff73293d68a4c25df599994eef3dc9221245350defceac758e4c81d6cd31d323915d186da38b4278b50f690f900f8056c003bbef0b1202df84c79de0080a3a6da125fcc4ad84fe3010c8e2eccb505ba43d622665c62d8638e471944325dc91427654e87e9dc89cd5eff1e5f635849c0d2d540fca3332c427bf8e0e0eebd6042ea8090db63a87a4ef830d49d10267891b813d83ae90e13afdbe59ad319a8f1db1362ec20ebc2b979a8ec7cdb72c6fa840cf872c1ee6bc02630fa1888755abef875b465a7501cd885caa49d2254c0d02dc49c33dff719ff21b634d988b40b3f9d38fc3b7a3a3021cf15bf88b63988249fd81f67928c804ba54c438e3934a4ee63037ee38e7e9fce61fca58f59e4bfc58c94f36bc9a11f862a56f48d1f28aabfc70abf378d3b2786724d3e24916ec9364a2b7a935b75ebfddc3129361765c248f7e6b15feeb93883e454ffb672445afeb665590590b80d5d5ba49fef6cb45613e71626f5056ac0934c95175ff8748088bf5619b6855e63b4ba1b10e2a8eda2adc7dd4a0d3654a84596543b110335da183f504d4748b22cddc6b4c4767bc2940bc36c1e3f1407a94ad0f1520ea076d9e61db46aa10d50d1e50b36abc1dee223ea2728756abea67f35bdf639e523b382ec5a701ac15b4fb7eb7b3c1800b4376fd93a6c35a99e5a773ba614f116eb5a7df19060791e7d2e2bf742d944eb8ac6f3eaf3fe191d3883f4d76e11c72c5cf06ba95873a3ffde17f36ff76d716d0181aaa4a7898db972247360a8c737f27626a281d2860c5cc653e70c07c61de74d350b45af7dd2272ba5bf330e82522cdd946fab4a573639d9ebadb632de35ce9e595ec4edae97ecdb1a04323cb43d34dd5f91e9340b6a77d3015487eb315d34cbcc92b3c1d5289f91bd138b400b11a0dca8e6a71ac71809fde775d53ee3cd1a1284d880f251af1a91200110dfd243f34331c84f4f9a8e859c77e00dd8170a9641fe40ed0e8202f18bead99e430a540a24372ce3bcfd68710ef2d2c2b0b5d61ad3e113c5d7da00f52404ca06e3ab10b611daaf00924e456f92ac6d27178baec52f944c5905f24d99093fe8a4a02f56205e50c178f6eb71db0ba4441b08682a50a1b7af641e0cd94b4ffbef783a9b0b93c2c251d76943bd6cb18c249516dca0c0a7816540b9cfc18796f775b722c74fd321d659ab1ecee465b3abf0648052108b618283d3afc83bc4b879ba0fb2d86e8fb25e1eeb59e119618efaa12f8831415d5c881e58f4f443f8b2fb88c7d42955efa29402ddde3c6884157cbbefbd6a4129069ef1dd8ecc2606c2366b592a3d9a405e6c828fe54c5740d29f7e5db47ec2afa89a44af65759094ef5c0a2da2ef76030bc286004427398850ef9f94ba53edfdf7c7e4f3c1060a9fc5b6376916ecc6da4faef95315242149a851e190baa8228c79a6e6736cb18d59763bf63e18699a4f3c097a690d6f945beadb25f4da4bf03402813ae8a06c552f818ada0111414d4d0324a409d439cd349b07e66ab5539cc0cb319b8c449eed5bc628c7caaa08f28c1b2473f6a033ed3fb6c2efb79066b3d99a15c04ca938ec1de9a8835e76487e6d7ccc2bdc4653c71adbabe9b17d24466f115c03c575e69a8c85015b49f7c024b883ff09f0df01500a4b9a088f8df211a324aedab15ab1639329d4b0ca710f961fbe754a3c35c40600f270ed9e38600b3999bd316f3d7d38335ad6d1ba11f1b39f0e398379bbcfec649644e3f65e002441cf9e7548d56dc7cb46637be09fccf4c9a6de6fffbbd90f08873b8c764ce307d85e282feca5c53eb369aa61c162fd9b65bd41f5350efb362ad15749cf5523ffdb4d7cf788eb10611f45c47a68ff2f55156b2e65f7e609dd6422544c8ab7e85b212e17e97be3d52ef239650dc916c60aae9a7b312eda890d7f08344fde5658ce2220677e78e8edcdf77f9f668fe7e687112a5b8db7371a13f7c22dc38bc6a09820242b304ae8209f1715ca24234d88b8083163346c0932524b19a99772269780cb39e93fc3bfa088e701c1512b56ddc632797d59f8803f16173f1939311c829af7a24248f9047089be7aac7fa077a6f0be97b8a98a5156dec72efc065aec534e10282d92776dffc79e601e0bb820b3f0c7d6d27b54843df1dd470152384ae1f5fa6898bbfdcbe2e0d23ff294b6b3e6246545e1b71539fd051052e707153f25ac44ff01f05aaa9e8f2686db84ebbfcc270b9ed47d3caf2499b10ee45934bcec2d4ddc502226fdf0a8a31a5abd62777ec2aacf286bfe9f051ed7441af5c7713852835480ef9ee067e384bbff726847f0a70a2b9ad08ce87c49b8d3a49341dad71b8a9364442e248d4a95829d2fd5cc14ee9b44c8350583b6553a1ffb35d977ea498339cdef790bf68e1974e074417a18239cf0addfe0f6ade03fa9f079e19209b660473ac902306c5d00c0c277b0799aef17c4ce1e8f4dcc8b6469635efcc5be16011a9b7e1e71ebe364c98945fd1b100bd20f311d7179bd09133968ad99aa31561475b083d506e8d11bb2f8ccc447e101b370b2d4f1c2d1e3d2422d91cd17bf1fbe237751f49271305fe723a21807f2c4bb7e837aac2a9703256b69d2e2ece30ef6a9131c52a977efdf1489c4f900b0b6d32b4b4fde000df930dea7d00a467e5721d2fe1511c3deb88881a5db58c50d9d10c449b6fd991791b5db04cec88c47ccf5872222bc9d499c8e7c4d0c937030ec87b9f85b2a3801f16ceacf27e6bd28351cb32d4319dab2a98ea02cc54b9f8198e3ff6bfcc9031976964dc4bfca9a483a43036e26c8cec3a55fde0f7f60c8191be0bcd5f2011d4464202d844e3e5111ba1442f41807b0ece4a02f8d87ab857dc648644f088750c337fc0e60fb6b959cdc45bc4ff4dd1201a40ad58a9304767163d091cea804151d001134eb29e847e2d8a4f6b9acd9624c905d7fc1cd0973077db776cc01a24b71395f5cee7e8f6b5602ece810fbe8abf23663447722f296dcaae4c82468a1909b5437e166c10fdbf6ab1e6ce7491bc1e1df3923735e84f16ae49c0289134e0ec8ee0a7088bb1b7d72519d12b5a4609c293d189160f08e94b3526ac9045ed2e136faaa73d682c87f9d7ec9d7db1f591be1a50cc6a8329f6580d205451e2ce31ef989eda995f43683f204ec64ee09dc31e79d3195c02d07bb425366ded3fa0e45177c780372515a38e4a3ae450103168e68dae6bd5c591a523fadffdc78fa9cbe0527039c6467fe95ce01001553c9137ededcabdd82a27684b938ccf29b30eb8bf2404efb4f6c250e2dd2ab0a5bd1d971721dc0d4ac9ca38236f99c721449f9a5edb0f9c1ddbe92c789089853f5ea738d2fd502e8a1ec9aa07729121e068274a5b4066fcbf111cd23edf11f954cfa6e8962b60730ad2b09f0dcaa1bd140d80beca4b42166b440754311290713537ea6c03f28d62e13a1c30e422dcf208d61cff89f4fa9816342dd72a2aafb7ee556084ad1150e3437cf83793671aa1527ba2066151183b397b2781dbca1a5035a30efc1d6810b9385eeb9442102c9351aeba2f3c29c79366488ba4f8737da8800909757e1a6f8c61005c18a256b5ca7a12b3b1880d4c4b5e5431742885c612c2091d54e6794c72f61b006802db2006b121ccc2df4752a6f9c4d3cbfbffc3c3a1864feaf30521f5d7baf343f290e8e80fd5cee1dd5924a4422eaedb43d4a3c918b1cf9e6898ee087488944108dd16de85b7d3b36c42be362e40d81367cbce56212e494754abfdbf95ff6883e87bd82ee3e510f8b8973eaf25a9572ecc980a0d57d1a3a577c0133e333beb37cc1c99fd315f5c917f99e84c4ada20d19112f16e01b750cc12e029320a455d9ba1d877320e686e6a39f08f675f646aa792555de915e427b02464e34f6121ba4e30258a42f17a83eb8b0e0f2944ea16c2c95be147ed97b88cc31db2dd927f31d6ea1f200dee7d371ce518c19cf48d9855f08ee4338c7fa471dbd8c9b6ce784a898158da1805803afced8553d5d249733f9841a17ee74ee4db3cb260bea9da4087e1225da103526a9162ba85691aed5e819e2d853908413ea56f7bc4fa79e3d3d2d623c27b58c27daff0d8d2a45ee471e12118ee7c0b16ffb1a13700966045b923a6f48ae8192fe6f87b698bb2a658505b51133c7ddbf17c281a84a47978ffd18a9e666f3b51e77bf280876c210a2c6853d85591c95be8883f8ecfb8726b147428442234d1c638f1ac1c79dce85317179c6ab3d1cc01a54104859a639a3a1ff37872341261f6a6a2f1fb667b4e937875eb50c096cf7adbd697ee1860f053511afaf5965dea1e0a974271bda5c911c0565bf199d70e635ef1d42e360c0509fcc53bbd1b2036af2e7615d2e4140321f60a2643abb90fcb048c48550e3e8c34cdddc55fb4e4f32da17e21050445d6f7357f390b6edaedba0cd7e8bbc246f669770600d843f7ff5bbc02c6a2bbc7234ebb580c589c369474661754293d4bd8bf6f4c74cc512f9fadd7d9cf08f3ee0a6b3411b5137ab83c7e591ad9fdad5f636da9ac42ec39fb3c53aae359813f38f6a817db255f423f77ed1175d49b6e9fd0b99e6d7130ff2417812f9bf4724d05e6c34327ebf4028866000f8056480a3972d7bbaaf00832e2b5b1229e09abc4499943813ec0008c416a439a5c2ab21e94be8a7eb041f7facdd82ed77d4621d654bbca8432bc0de7046fa16ec6aa22aaefb00e6f5bf82478dbe576d1c93bc4bdad6b6974a457811af4462ac6ee9a7ab6238524ec344a4bddeeaa7a5ef00746642773764b80a71130fcd29ae62e313eb7e1e846390c59582b6cb96af119bcf18d6f3b83f1cd069fcc77746f003dde9f7c7285ab9944d96522b43c24af5304d97d132e1232aee4c66dc006ee82a3167169a297d4abcc02e7612bbb9ee8fa8d8483067a50bc2b3a706173038d824052d55639a2da7beaa14921bd884a5ab176bd7e12fec52b8f9e9a1f7b3f3e70d13d3b72e3763c7c66ded07efa9185e7080bbfd3bcefcb3806fc0334b0ceb73d4aa88e404db289151bcd266fb79341bf9cdca22e4faedaf2c298a799b429b0a7070c15ea48cfc03ebc76ee42c8da98931ae3240f8332d725fbc6bc0644dd8ac7d64ed62847d77b6ced169b937ceafccdb8da00f604b6fdaac7851ae29d698650e6de2fb7548ac49136863d7f2b1add22289ffee480f3b89c850de32f39d0185cc537f30d827928493d8a11c00326a2e51600b2a37fa47bb5bf88751e327f30a0f7b80317f947ebfff7fe99ab60eda86cb3b82ac740a9cd43d4d761b25ee5b866c1a65fcb797ff156cd038e6850debf8048f30e9c89886e2278434d8fb631ee61bedaa40946c25e01905befb9bf1907184fea31297d4eba4e217a4998bb78faa0c105a91f372a89778af3360e7104699a86dbe7b736e5da544a6b1f65e794a4c794384b420f094d48640387cbb145495cab79592bd10c02f82aa08966b8c8ea28e952ed6d726afe722603f99ebbf5f018c172131fb19b68ba3ced92ed0db07548e87af895a49f25adfccf8fe8babc31039718b474731f0f074d446d41eecc79a3dc4b3adea49f531494b976bf04b0a1d19899e59078fbeddca0be9516062ded818f90c6e6289480a00ffb6653b8bcde20b83e1c3a8b7f837c97192f968e0bd3d6adf2600cbf96d2d9ad2cf2de7bb9d6d223c323bf070d71be6d5cc005eccfdefd6ee86f81123511a30bed75f1bbdae141669847b7275904fcf656c9bfc09dabaa2ec153d3b151ea864108eb65544a51e52e4588bf9987e6b4b20b64b901fe96a9ed6c22116a0151c4f5938cccee21ef663e41a65e40c424dce6fe23030aefc62a89e6fc3c920d8869c70b2f84083ebfe224a926aa4d4d92f57e3938ba5d63234ac14fc250d24ab07487535d5a704f7012159a9948348f81f836946934026b63380fad02fd44435dcb7e2b97361c875f8487004ace018bb55edb40bfcb9c9f7888206ec23d67e468dae34c5211f0f2fb966b8086db9d263f58351ade03bd4f0db50ed7f570c55000c9f2d4985aa15b3dfc669ce6f0f0683357d7905c3cae8416ac0a16d0b6283f46af487f1cd32c8fa4f50e119bef259dead13b70fba870ec7bd8f979a0410f03490ceb80023aad790a5f524998947d8ea5cf5db2cb3a5b1ca1239b7e11023f8aeea3b83063c597c18eefacfbf8bba9d833da184313430ecc83ae30e24aed209ed5c528d6b7d21c01f80604bb00798b5c5bb9e41093dafcf2ef70e7ddc86dd4c6b52df8b437b9beb70dba16a9070936bc9efaef96b934ef1507044a50eca84181d7f60bce602a895bc81eb168d8d409473b886c07924ffef6a048e7746dcd28fffddb52d4df7bb19ca83a0a338e73c8d0ae95c886295fd2764bd41154163b6ac2c42c27b50398cffe42a4ddb35c689fc4574e0e601677172b0f0a37a16b8b80438cc8114e5f60ed5055af35ffa749b2160be76ddd8523010a012495d507c483b64deadc91d4b4654f1d341705b42bb0828fe0261b268036714fa851c246482b405842ec508136e421eed4f6cf2d280fa1494bf08846508566ceedc81c8d1ae0bb7b3fb78e44cf1de01dea3688a96246359bcc1bf286787fb7ac26d7589ec1cb75d2acc2cf85f8255ee80dc6708d51e5bb8b67295d6d49b84560fb1648ca611a9881948e7c53a756de8b4545e0bf2d6c665ebef42ec16b1a4f764205bda56ae191b102839b8b9a8ebee8c4f21e2eab0acbf57c049b8f3ceee4d77979cc8450ce795525f915d099af4288617eba9c5acafcbb0ac080f9060423265251d0b090bbfd8fd579959632fe76bf961a826f7d0735a25818d109ebf055d8760df83d1f3e1ae0ff33bfef8625fca06ca52ca094eab30e7305aaa591f373042c1c0c86798bb14c72b4ce65d7eb646da63538b346b06ea82fe3488d3fcb0acdf8ebc7755557564081cb1d6b62d03a6bdd0f63fba2b8cb8cb6b0b336b5bb99b90763d6d9a8759f32875c2e2d33e17a170e706ffd0c407135205f8e09d104d672738bd772bcecd46f33a79d12f51b37251df71ef464494e7299d791bf6273da7ccc2780dddfbc423b8785ac00dd6d12557b0d062720b73d4b95232766789d6e2fc092ba7bf371cfe9fe204c453df3fc9efe1280d5cb1d5d7434bcb24acfbeb646d2b25b52eddc92e2b6d920ab7251cc41e7bb2aa4c9e7f775fbdd1be585399ebfa71a784f887d0510f52cf84ccb88a89fd2b99c7bf5ffdcb0b9755d1fc20c61d0c1c0cb581b67beef2638094365804617d1ef6875163dd30f5ad2cb358cf2fa7ea55790c4338a3d26c97e32a97a8010aa03e89311376b634dae5f50306c7cd15ef1a207287f58f6b6595885679c04d8ddd01d17f29a3af57f689272ae63b5211268d0c6a8285c98b42170e0c4fdf2e3ab6932b90f826e26206fcbeded986bea24fd2a7429d52fb48e3a181c60dd4281c4a344c0f31405580e477a1c24709519392cd39bd7f29689ea0e64a91f9bd7757be641201c61befd37134b8d95fd8354e7b546ecf1e0539ee1f2b11059a19e39fb9cb36178cf543b41d6e59a9bc5b1d81e47956085865b98f9f98758b664441263a1b539235a5472812580bc253bb0601219af3ded3a7f44f2b9df55f6bf0494c34f7c5d26230822c9bfb7311f4788b69869a290092103cda888f0690e33f3b2808937b71ddb792c854f9a881ea9d05896b7fc15b24f525c52716e4ee656592d4e041e52ac13326779bc03fe275b0f18f4e9ec93817e5b87682427084a99d822d757a1840d588704c8a76a0e108ff8c0dc8730b80e66d8aeb7fb7d2750bdc2c7b724512626e2a0bc6b3eed4ed22c770b89287a2e6968a347df5a75a74015faac27b98cc0a81863cbba499c6e7a146249e8f7cdc3dcf9461e30dea05e82b134b862eec44b513b3ed628c9946072cd8c0b06231d914135018fb2d782e677f8d807431b5dbc814cc3972e1d10fdd143c263e2f66c313c951a3e60a161d5ea19285f5e349a75090a97e389bf6c1a15b5655b6785aadf4af2b5eae992d062a37113da9e53845759e11879c985a4d5fe37d2b3599b01774f8ae09a21b237e7439742603b4044781ba22c1305d7ce7e00e2b829ef0ecf766e13c2218da1c55753a79126fad44251a9cf515ad24aff6c854d8456c83ef865c79795bdce36da137890a0a2c4c52a41ef69ca165d174bad83cd9f21c9693b89a58fd95715b3c454eae6f544eba6407cb8946e22a071dd140af5471d14f87034e8f4b127fd2b2a516c7d080db32ba0cd463b2f668e0ccc8df6feab59b59d52fe2070efcd1030e6054dc54f40ae4ae400b5468d1fd72ce3a7670d12013426b725bf27d6bda592c62089a8b94e5a241678a2fb924151ac3f07c37d7e0004a5218c656c9989e63acfb5cba3ff60e82af7139e9f2e07c1cf2d6c286549221223b419dda57a127350ee5b4a324a36551ed424c1a3fd61bfb26e6d12f3f76479da8e31b28ae71eccd52dc52d15877b796b6be59966369be134d2d49eec6e3980ad744b82bd9d09e3d2b3fda078f004d00ff6063140c41afd58bef8bd58f9475ac0dadc8141b61c97bb563203ecfadd35e7bbe79ce7e7431319b1ebaffa0ffa2ec839c1fb042bd646d77a17add3281e64b68c7d9d7ff979cf57293ad1554de494f3d3af242ee9d751fb241d4bc9c6528e06c389e0c13d5afbfd8fc821b4d0d87928795d79688e6c6a4cc423bd51b939bac0f75f4e12e380f732014044ebf2a23617e7f371e919d32ff20ac1b90835e0fed8e072b7a432b2438aab328347bef583f5cc3858901ed0df44a5a564f07c8c3d7fe04566a14ca83f844ebf9f1ca62d3cc14010c9ebe25e03118858863b4355a9045f873c4a7e70ce28ff337a9260ef01143aa6e", 0x2000, &(0x7f0000000b80)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000540)={0x11, 0x0, 0x0, {'\x00'}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 03:34:10 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$devlink(&(0x7f0000000000), 0xffffffffffffffff) sendmsg$DEVLINK_CMD_SB_PORT_POOL_GET(r0, &(0x7f0000000180)={0xffffffffffffffff, 0x0, &(0x7f0000000140)={&(0x7f0000000080)={0x4c, r1, 0x1, 0x0, 0x0, {0x4d}, [{{@nsim={{0xe}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8}}, {0x8}, {0x6}}]}, 0x4c}}, 0x0) 03:34:10 executing program 4: bpf$ENABLE_STATS(0x20, 0x0, 0x0) r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x3, 0x3, &(0x7f0000001fd8)=@framed={{0xffffff85, 0x0, 0x0, 0x0, 0x97, 0x5d}}, &(0x7f0000000000)='GPL\x00', 0x5, 0x487, &(0x7f000000cf3d)=""/195}, 0x48) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000180)={r0, 0x0, 0xe, 0x0, &(0x7f0000000380)="263abd030e98ff4dc870bd6688a8", 0x0, 0x5ab}, 0x28) 03:34:10 executing program 5: r0 = socket$inet6_sctp(0xa, 0x801, 0x84) r1 = socket$kcm(0x10, 0x2, 0x4) sendto$inet6(r0, &(0x7f0000000140)='3', 0x1, 0x0, &(0x7f0000000180)={0xa, 0x0, 0x0, @ipv4={'\x00', '\xff\xff', @initdev={0xac, 0x1e, 0x0, 0x0}}}, 0x1c) sendto$inet6(r0, &(0x7f0000001900)="eb", 0x1, 0x0, &(0x7f0000000240)={0xa, 0x0, 0x0, @local, 0x8}, 0x1c) sendmsg$kcm(r1, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000040)=[{&(0x7f00000000c0)="480000001400e702155f9f95274b0a000a845865400402000002000000006fab078a6a36d47a56aa68c604c46d96bd7c901792a97985497626ff00034310e68b0c890000ff000000", 0x48}], 0x1}, 0x0) 03:34:10 executing program 0: r0 = open(&(0x7f0000000000)='.\x00', 0x0, 0x0) r1 = open(&(0x7f0000000000)='.\x00', 0x0, 0x0) mkdirat(r1, &(0x7f0000000200)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/\x00', 0x0) renameat2(0xffffffffffffff9c, &(0x7f0000000100)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/\x00', r1, &(0x7f0000000180)='./file1\x00', 0x5) renameat2(0xffffffffffffff9c, &(0x7f0000000100)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/\x00', r0, &(0x7f0000000180)='./file1\x00', 0x0) 03:34:10 executing program 1: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000380), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000000)={'\x00', 0x2}) ioctl$TUNSETVNETLE(r0, 0x400454ca, &(0x7f00000000c0)) 03:34:10 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$devlink(&(0x7f0000000000), 0xffffffffffffffff) sendmsg$DEVLINK_CMD_SB_PORT_POOL_GET(r0, &(0x7f0000000180)={0xffffffffffffffff, 0x0, &(0x7f0000000140)={&(0x7f0000000080)={0x4c, r1, 0x1, 0x0, 0x0, {0x4d}, [{{@nsim={{0xe}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8}}, {0x8}, {0x6}}]}, 0x4c}}, 0x0) 03:34:10 executing program 4: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f00000002c0)='/sys/power/resume', 0x121a02, 0x0) write$cgroup_int(r0, &(0x7f0000000080)=0x301, 0x12) pwrite64(r0, &(0x7f0000000140), 0x0, 0x0) 03:34:10 executing program 0: syz_genetlink_get_family_id$netlbl_unlabel(0x0, 0xffffffffffffffff) 03:34:10 executing program 5: bpf$PROG_LOAD(0x5, &(0x7f00002a0fb8)={0x13, 0x4, &(0x7f0000000000)=@framed={{0xffffff85, 0x0, 0x0, 0x0, 0x8, 0x35}, [@call={0x85, 0x0, 0x0, 0x7}]}, &(0x7f0000000140)='GPL\x00', 0x4, 0x99, &(0x7f0000000180)=""/153, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0, 0xfffffffffffffd0c}, 0x64) 03:34:11 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$devlink(&(0x7f0000000000), 0xffffffffffffffff) sendmsg$DEVLINK_CMD_SB_PORT_POOL_GET(r0, &(0x7f0000000180)={0xffffffffffffffff, 0x0, &(0x7f0000000140)={&(0x7f0000000080)={0x4c, r1, 0x1, 0x0, 0x0, {0x4d}, [{{@nsim={{0xe}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8}}, {0x8}, {0x6}}]}, 0x4c}}, 0x0) 03:34:11 executing program 1: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000380), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000000)={'\x00', 0x2}) ioctl$TUNSETVNETLE(r0, 0x400454ca, &(0x7f00000000c0)) 03:34:11 executing program 2: r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000000000), 0x42, 0x0) openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x40, 0x0) mount$fuse(0x0, &(0x7f0000000240)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f00000005c0)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000100000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) read$FUSE(r0, &(0x7f000000c3c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000000040)={0x50, 0x0, r1, {0x7, 0x1f}}, 0x50) syz_fuse_handle_req(r0, &(0x7f00000042c0)="0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000", 0x2000, &(0x7f00000062c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000006340)={0x20, 0x0, 0x0, {0x0, 0x1}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000e400)="4984d306b482d325619e5f16d7e650c5e28ff3c4cf56aa10ffd282b652deb2886ccbacbe8e69110371e859fe758441ee3c0be4d12ade1a02094db51a5fe520932189f1d1ae6b0142c3db4ce2f2fad63fda0f26f40f5dc714d5516af5e06e28b5188d20ec2dd5f10f5e1831af490694b8e166fddc69c01c149ea69dea858ed6819844b068c4ff6ac3f90a4c070135afd49dad72136c8e6b6f2b8ca4340398a01976749f4d4653d73e16d14dc34316ef0bd71ae8050d02a5541bf2bdbd55616d767052d4ce4bf6a955ae62a27cedb8800cc176f7ac903758272edbcbd6bbece747ebb495f396aa923f6407c5f6641e3429d3706aa9ee861764b1b4a2216a2cce244128296c29233058c2d621f37378386b5a58e4a06da595b21b95947970143d3fe6369a419479b5018840bf9de6a56e854783fa5f6704ad11808e1f1ba234a708d12b6c71199892b7c4c5af2a93bb522d4b77ca818a62d3a2fa5f6ef16e2a8b6863cc3d562125f2bd273b8ec5f1fb21b8c7ee7e2d3319d0a73410eb25b6dbb6e15694c87b1ce34df2c4d31c173f70bc651a99d006909c615c23f6dd17723f0cd8498e4d81ccddfca90ade67c20a5187aa8f09c85953a2537aaf93c1a069f9e3a4dfee9dccf2f135be921a630ab3d1cfbaea7dcfacb6d484cab8b7bafc257a4054a14d1d9999be056686be56e8960e31a578fd549667fc20b9bed86b8fea2fd219f4fa36197e1e9f81f5f9f57285df20b194623a68fde2ea88ecf24adc4f21b966b407cc7bdc6ac2c66f2ad74324a65a435ba4ee52fd283e86211836959664839aa2196c098ed1824af725d77b343d06e827c0a1a121a948603e7c8ba2c810e59cb21e7e7e035e883441597545d8bef06df757910cadcc36f190a9f1e1a4a4838e8374ad0d97441d418f8d0e60aaf7caf3ed3b66f35a37e5563f7aed7cfd6003deee0b6a7f7192de24376fd9cf11497ee6e76f835cde94f2d2fa75d348303207a038b0f6f52f45b2b293e0430ba7fdb1c40adcca068c0e05d3653004e999895267ff9ae593ab21987ed405bebb31d44ede0214618a28052d31f22bf259803728a81a174b9aea3f3b378a0b9cafa5da3aa934ddff431b2472ba74b2b64ad4f25590036831855ea73798eb8f6f3794cf2e7bddabb45cb33492f0a13a0193300cee46f7f19885fd9067a28ee70e9bb4ca8d570a0dc25b90a63533fe994742a703624810502ccac451010b37606ffe1b007b3ff497bfeb239810a3c9d5d2e55a16fdd6a39198268562cdbf325047d7861229cb127ed4151145569ed0aea9b09552009c1e5aac7f8ceceeaa1cefa480374f8e4e55b88df5e14434d883a56147fa9cb1e1b324c5a482d151190d893ac54352ebcf8fb7de2a0fffece6c27e05f9e75ddf0859d358e7e9d901c9a78247445955ee6c00d0a076300c7dbb75b21c31fa3eac986c4f952e6725af370f5aeefdab08e2b8b2e2719e3d3db9eacb4bac05a9897e1a97d1a9f23551e304d4d8bd691ba4ad3f0ed215e85ae371f04fa58b94b2d524cfc9fa454d1bb89a19aff72398a262b266444b8700811d49267bfa77f9cb86e481514026407930272a2cf40ccc21c7b4f6aa4ab92aadafd9eefd813dbe20d4662f46c0129b56e65e7fcea119f78cb559597b92e4964ec3e9efd769e6dd3b0aadcce47e8862e7948f4dc3a72addee9c3a275cc0fbcd28d44d2d26a7916c901ceb406dd336905369797631f9eb3906ea09a83845307370b9c3e2c2ff6adf6ac7e06e433cc4756f2d417c74d0dfaff0b251cd43c0c6b21ecf30414394fe44a55d33dd786b5012080f31b52b4e812d7a78259407f0ac74c259f7a9ade3a21e30b2a81a68a8d8a0e3efef4cca0e5753035a4e88f761d736013a254935d9c156f36d0caddaf366c109f26146f60e60bd6801b426e42b856e5248e98d44a151a3cfca0acc7d8fe6713fbd55d43217a91cd30530185f51844165ecea9cdde33ee1bf7758b75fdbd018d1e547c47e6db9d18e4f5043dbfa1dc5cfe8d700bacf344a037afb504b1418e226b56677d7e6049aa7c962b7d9a6da18081dc88ee60be9d1e050e54a78898ac01e2ae0848d95a6ac6c0c5ce0d72cbf5a28630d424c04de455004c1ad3ad06bb6d53e78f63209d6f1f29392f2ec1752d6bac5cb112b1d817501f14e7028ef3f539f0c794c30e814369433ac8995056032573de7b55a8d967cca2b5ad9b8cd942f4614720433e7a9e5711b8137d146d2e8a0d0d6b1cbd0073fb1e362a75b4f48c1100204cccb7c1e1bace2da0d7e7b6a96ce86aed7f812405afb159920757959ed930180f9e7329ffcacb182bcafee2e24aff9a72020de1d52a6511fc7e90843b99349f1bf749a4d5a866db7668a74c32bfb43d6976909016ba7b21e193e2048387e6a0186f8dd68d6acb5e03f9cd314990070dce1714edfd0218c4bb3f8ffe754482f48f582f3d70a999546909532b3386ff819dd05ca54c781d33ca2a1eac8164187e3dbe365fb6bfba95e3d401f66b979bf2e4f5f18e612fb9f6076717579396a4a128fb855fb6f113c19ab3023bd6828ed3aa0f4c254a5538074195dcc96b49bd0b419ae46c79c67d4d4931ee94005e80af735039ec713ad518ac57495bc4215e14c4a82aa80f8f102b1a6682202669140444860cac1c379e0bf5279ce8e73a5ff3bda257a40bad320a9a01022ee1c468aab2ddd8951cfaf55cceb64888f11149f46722e773220adf4da1629c13e44f4b892269936f141c7921b915af036cd1d5d89cca6cac76a6c5bd80244c48e9a8168f74628498137a0b6815ece8245545755440ef91b6bb3d651a4aa057d414c4033cc25d8c0d59781f24da56c664a851eb7bc974bbe9ce316d117179dbeb097fe18889eab18b0ffe5f6faa95158018d6fdf36053664b38edb5e57391c4b8d815632d8f99aa226dcc0f7869134bbe4db930871c8359a6fc1b1af604b461d27bf17a813001e8d8c17a128810f64899f16446000293eda8fb9a73f4377ddc76c7607e0f37768031f82e93f73d995a776a2730a8c7430740055f725695558d900e5b18db49667bcf60be62df9626ea5513531b98fdf15866fc2eb308d9d3137702fe2ea51114235b6e304109c366671824e47f8845ea3b7529d23a29f990dc5860453cc3481dfe625c280057c4e7c9eb1229c0161df78c7462ee92373314cfda7f44dfe7664ec166e1105f6198eb24836d59632f340c0261b5b043859d71a309145c8f44e26a14d2a449634eb5538e5f72e02009f807c13ee5cb4c636967c66f201fe4bc1a8531534d41a27124f39039fd6b19f275aed72adc07106871cc4e8f354d3ade677928a61f094ed5202360e336846fb84f76619f887c1ff65c22ecb4319d572b05f4125ed8b5907b6b4ec5600d6c01a6faccc637331be02eba3fc52109e8faeaa8037851a53d66b3fc622ee8d9cb665a762dd2f595ddfbbc1184cafab393f28ef927ddd9a1c1375f60233ed7a85112e35d3bcc32da8e6b5b6045969d8148f8b41e528647bcb7de3f518679b382c048fa65afb20a1f8e32aa68d706abaf7ac482f3e69c997f583b50ed8b9dc0ebb949470a4dc1e371b05df0c424ff18d2a8d28588c76b267e2ed1fcab4c750fdafa352c0f4f068b7969f6e373019c67f7896fa46c7cafd4a8f1336240519c2ba4957425abac3bfc90a26bed117cc7b50e00a7dc5001bc2092eb3beacf3820e6d120b904431362f6e77c2ab04efc0e7a63281cf992f0f1619de7dbba9b61b3058b3f90c78e6c4f4b3c9e9b041d2ff7ad8570999130a4ef33f332945941f5fe12ea3a70176e01ba646cb0337b786e34aada545ca65c5f06946fa8661ca25a1ecc5f09a40512d6d0c97415c56edd3c99f64816604a59dd7dc4517e8598e4caccf0c4c1e1c00715928ba72f1e6384df26880e9bab9260e17f22b8726dd8d1533c19fecb13b2745c5d88c83261152400f290bf1a5e5a5b3da93023b2ba11673b3d240d4231287fc44c94f8a858db9d7794e55517bd8d39fdb162b389c1cbdb4cecbe81c7af8d9bf8f102c33b386677102c0b70848cda747d131d0ce003f4c845f0350e612fdbe8527361d0e670c95c623145436065ab6e67e617304acae013cd4b816a932204f1542fe72cda5b352261d0d3256febab4cbfcf8c9cdf0fb007bd69f508af631f3007cfbb4b13ab0615808533602508e79096b7c97dbb95539ed9517b2f4a0c9c1cbdfe8f008faeb23f9f0e5059b624a9f93535a98f049120bd92aca76259cd5b172014a0e0319d3fd8b9fbc6d9cfac99c37f6737c91dd31ad5b3c8004374e611c033d704f0a42e8f5d9c4defbdf14a0cea4225ff59ff91c13862e8aaf1d1fdab96276083be8f0e2a66fdd8ce6d06064f7af60bf94cd6e7aa62172b17b59e02232cfbf7c0e0e6243a92e1f89c29564aa3742892706b0e9c15e214d117b4b9cb9728466084dd6ae0d829c76ed2dde0f6a8935378e190b2e32c05d1720c3f788c74fa74f36f71373e4de1b035430aca379e81a138d8d8604cab86be8d75789995975788bc503ef8cc112cdf6267f5b08bb320fc3862a676fe6a3e4667565419395c0af38d9f45987bd44fad43c4933c33af9d1e2f8c66ec3a3a23e294998fea7da306388062481a18be50b5302217fbeafe0ff65417e3749adf25c6cce60159d70a9b8de3d3f80c894b791a5e9264a01b3270c6c846bd56b0d0d96c589ce951f66ce3bb1baa152f6e6f0dd25930b1522c578903ebc1f23427e2e523ee9d805ec61d551d81b3285b4a7c79889f39a351207314ac1eb0335ecef58dcf0bf7574d18ceffc1b15aa2cc13b026e4b59022130416d4c1768437978c481356eb6c151f19666cdfe87199e98e8093aab6c713fd05b672abd7b6f942f3098ade6ec70aba57c39772b3fc1410c6b3bbb2c9fdfa05741a047aa5b94032fd94572d1470d9158c6415945e094917305adc7f8bbab6b9c497c3f10acdda00889fa18b2ebe57c54134f3bd054c66b2216c9bf4c5ca097b95ca62d5c51d4147da206bbaaa48d18b1b2b05cfb19f2b8e7aa06fbafa2d0b1a3177915347518f8d502824ca858dec614c37f07f45d8c65c18f06fe7ccb2531e0bffa219649aaea6402c01aa79cb8a7ebd3377adb4cbf38f63f0ace0fac85d3ce8899ccc555ac0fb7610204198e2be9972e0a6fba11f5461de1c91cbbeb9e8a149f30125b11b5a449d5c230f8fa7721fbe9a4e3545351345b1e335ec2558622b5e845c78d935487183e097ceb27c55262022b27a7cc8ad1d7d95eb737a982d555dcbec29f31efaa026b8d89cca7ea7b59c9c5064ff7324211b175bc5fff261cfce1fc79e75febc3c33462c4e7bcb33332ebf1cc7508c05084e6a4fe6de39888f53c2d62c95edbca35db82b297a4e53af02fd531f35f4161d6906ffde22aff95d4e3c173e22580629e8b8f6c7014e4644763c6b2ee28cea0b61afc5789f18ca1010d956100bbcc500864ce304714cacd0c10238228bbcb4c764a0d131dc81c7757cbd39dbb598408e6e99c769c70c122437841770a05d575a46ef3a8ee3fd92d9dbf3a77f325e661542b788ea68a81bdf1e3dbe2cdfd63ac8a39b2e7c3041099e6747ae29f747693b38a7171479b5a73838a3a1ee3bf19082ee0d79370865cd859934cec12ab0276c130b64e76ac1d536145d9d9d84a5db1e605d9d8e3cec81bbdc616dd6e9371aa0692e7e473215017b263affa0100fe84abcd6e0e3159fb838f9916ae47e49def811c948bebdd8e3d042fb358a28a9fe8367196ae5176443d7b9076808d8763713a1c024044efbb585b153c075477b7f4674c5288271c8080aec4a2d75eccc9d629b133ae426e6de0b5504865b6c627ee67d2231a8ce8ab8329b33e7fd4fdd049ee7c05b8b8aae1cd2a0728ceb6ad116bb3ece44b196d226539bd8d75ec23fdab7727bb9c00cc06edf01cc62fd5808aa8f05a29f45acbbc617deb05722c78e8c8ae4a5459847cacfb6d1eee552f5fad6dd3bd58801dcc6e29fc1d57007390cfd06a30e5f0219b6ff406640207fd07f120578a4c713a143732f3925835ea8eeea686a835d2d25befc40561aa6a30bfc7ccc839f0aa3af9430500f82b3d8d568716c2b44a5a35f6ab5d86bac1bd7bd1b675c9dfd3cb346eb3e41ac2f253899134a153c3fb62563cf19d074196c677bfc97423b0d8623f6b0bb839588f23673f3a7b29ca103945da50b36c9f9018e01e1c4dbdceb0a091daf6631ce2b312c391905dc9e984babf72229cb3ffe431df165ea6d95e79e8e2b83fb5b0ec7b0af4370fb0f743595560fed169c8006f7c9ebbc3b4c5737e448d8c6d07fa867ec6eaa1d1930cbf8a71082498c872a06e2e2df8c45e12bc5e7122a0f303c740bbaaafb36893576f34f4f1dfefb2a23d9462054905733e5ed8d32ffac80cb341dcf62de469454bcf19f2fcbbd22816ce7525324e3a78e0398ff9d6e2f4d6397f444adfa7537b573aab3845956dc7903a170efca65eb6f79947bae092ce05f1d3a7d3687d4777a57f2e4a7852c11529f39cca9de7421aa62d9bdf301f58af641d1e0559e869cf070a954b838f82be1be952902465c3e64998d84193415ee04d834ed8fd7e0e9d6a52599c7d2018fa93d03b559c627ac6ce5f97d63103af9e2c297f72b8438899c3db9ebed79e109bcaecf3cf81ab2c77fc49cb8171e17f7f2e6bd8ce486792ed65f822c1b2fb6c225843eb348c118f386530da165ab4a7c27bb020422bfd41b2da1875171b036d1e0bef0f7257c11f1c803cbb4d611344296f2fb2818502f47c9afafad99f36e8b9297a70b177b88c5aa075c473beb81c4f131b41a19d1a16e9c33493147582de62f428d573aa8c152739afbbc904b4be69e5e73a8a9ecc77c9e7dc8969565086d569f3daa4db5a9e9f01f2f1695eaf85b4a7822887598b8ec9c2dc006d3a20e35d110e884fc421b53208f8b5cf45c79582b74727e0e6ac7c869a93f20e383e9ee49a0e41c9aab3f3d87d3e1d8e0a310432bd8523c4e7d104cd89cac2ee1223a0b6dfc2eff73181b8ab499b3dde29e3574af359105a0fbc2755410d83115cc294eb1ebf83b9ec65b550bb1698b49ca85f89050c55afc61d6e5921eaeb99897c505bc160e2ff598aa41a10540058d05bb81d0a86fa03aa6771165fda911c4b337d0d2adfac513c49b7b9f0193f88650d3de23fa7405a53484b98192be7cc9757818ff081496f9a627829a621a5b5b46986a6a3b0d28427121f6d976da4aca8f46660a6794a3fd3a43fb528bfb0b9641e5c3a1646ea078844a0e96e1ae5ed2431d79b831da85ad694046e0252d5d6502ff71ddd555967f7189c0c6cb430fa64b28f25bdce56248745627320e24dd3a1074390b741e1a947f22b9957ac8896e1cb462e255950c1ac2aecabfb25a9f20d6ad205d4fec749e09b51bfb6dee7c16eaca2733446ea34bfd3a270ed1a4f1652baa2e16f6c978037fb0320a214b216d4b4a3f25a4062f21140e43db9b9c01c9c381b7d8541d29a43e12467f6af13d8f7e0f6830afe567cafd6df6e5f2b5b03fdcab2ab7803adf5b9cf361cb212dbf184d23096252bdccd6be380b1c9f34141813f19fd3f10c4756cdb1453411c39c1b921879296b2222a45472ea0a953bb06c0ed1dd69059fbcf42c820dab022994fef4cd885b486f761c0149e405f328da3a64181eab7c5be4674ed7dc7a395674b592f91ec45b3c903f30c3fd6bc277d35af221b740df859f4f0fe0f4950aa4ca32327ddad8492e6bc04e5912d8b4815e7456680eeb04de1a94c3af3af88fb93e313f1c8e3145c4e8c6a95ce5ab76bae2d88032e5aba5b27d0e03b593d03e0298754f19e3df0b03642342bd3815ec0a3bc47d9e660787d0549c3160e6e077ba7d23f3deffb407538041cfb8d6e03348e3cbb4e2be9dd1a596538d62c207ce33cb7c592b6d16bfbbc995a6e1ff1334bc6779ae35b36a27bdaa3ebda3ca29bb48dcbbed29adb5e22101e0010f525a84274091c723f911891b5cd92b75d8e7a3b6f07393dfa47b53daa3819fa8210f4efaafe5c2d2e172df5e14aa90badb86b47ff25fa28d0716c013458a8ed1624e9494b1bb4e0d6349c1837f1161379d74360d425291683c1ee57382d9830b437090063b0c27f62f3f36e9a6e01a4cf004870363a191d02040b59a8b73d51a9f6015dd2e4120a0ea6396dc445a507a23a0ee86612df1729ec28107fae1543af7a1f51b3ca8f9881567fd15a7e3460c42b2de75684878e070cb9c83fb273afc10993b16eb43d1242c3fa07be18a06dba434ceaf5fce85ec16030c74f1839da461a3bcbf98e726874263e027cf4955e8ec206e5619b2c3dd6b576046debe3cf17f65b5bd02903d94f1f1c31bc53ff2478ecd4bb1a6cea12f5498f6f0d64a37126bdb9d53e6dd2ece9724a623263074f173423d0e12ed08dc3544209c24c2d2abd76acad888164142510823177a034bc415841230a053d3b726de6bf437d3844b4232afe67941346ec141ae9277bf5b90a655aa25053fd9b05167aebd05a839fe42f33d614dd7c9a08bac9ca9f1da4bb194d8b69a82b13a4f654590271b852e5dd5f628b1d1535fb8c36e4820570ad258d00246cf5d6f26c4605e9658e5e64c58d507443cf9cea087cb85a9b728bec675f4904269481a606f55620489429ae6ec872aefb177d0017b87cbc57983054931749fa64534e7f11a564d67444b11f69dfed83a9a1a974139d4f337c4d3002f23e1f71022e1067f3d58f945535d94f8c927b2062f7d6ba15fcd264e8d5453ad092a2a0f58d040088bd546e07fc8cd227414a7fea477b122cc366cf1dacae276acc592a39784753ffef8332924f77b12ae1e99ab62c26777dcd8bfe9c8cd53595d22e5e9a06a0d20d8ea251c521407577caff5404a1ad812cb2330b5b3679663157507633fb0e054c0c74bbfd23470abbdf0396d7845d0cead8936d91f387cbcbbc21c037b1462bb8bd7a8e1caf9ea0625c9601871db756545f3a7383d48f0233c6d5c1aa7ee8b9ed0c87110252afdd965d61a7d70aa78cb4ac2fc4e58d3a3151a9d65b140df7952903e18c3b05ae73040d379aae2fe2e60167243530f37811e4950dd5da2d29377c1f5717722ec1e0c4fbd1d0e0b76c22a9b7cf97536ed64709cfdf66155fe0347c762c9ab3010e1f80eacd6e9a84ff6c74aefb57ebfb92ea60ea482fe18574b9e9e23a6a3c09907e3f6027b5fb637c20a31e0cb4efe64e9c2a16b6a4b52216396dc65cfa0b0130475c538c049d07d88cbb80d9058328288f8cacedcf3533713a4481f53dcea863a323a803fdfeb460232b5d8ea5339e57034c132126a0dcc2987e57bf52b00f2bcc7feee62027ccc48d18ccd863b597a557aac7b63951db1a535c6ad92543dd572ee763f9abd588fa83c1a7d652b01ff66af6e3e9ca50021e4b83090531359ddf1f0fb00c62782a42f32260e76392abb3d3000531a38f85214e2d065089c48e573e9e350951a4771831b43479f289fe1b283f0d00f865625d721800d8172c7c1c440f7c7eda7e935ff8edf9328332e356a137cae532c1e8041112d885709b9c1bfcca4e6df1d18afa87563815b6b86d0b82bc5ed22ae30bca6ff632b361eac835db2fa536199c8bdd2c36402b45d0503b00d9fff48291a20761490fefe00110fa50d1d62cd717b0469efdaa5012e97ccfce707cd33d7645085f12af9021f5aa5081e535aed753c7543f6509555cdf8644c19eae4d8026c79ed21cbb1e9d85f50c1d21aa1bbbdafe5c47058f76355bbd44898637d92ca7e48d478f3662d375f72ab14af979c04ead0f082416779625bc68abdb30704313bf56fbb19cee0412304c15309706b9c047db75ae677ad45d53918b0474f7b4cf8d30053e3c457c4539dbb286a1b5d7030cee121e47c4bda566ae6eede6d893e8762989fbce866e89e0575baf6e649461a3cf0578360eb56314ad0091d724481ffac276a7ae4f88e57a4ecf7e8e2fb2e1502d7426c5c907cfc0103fab0e0c4b787dc05aa362dade47de70bceba76d8e07910f7c104566dadc94fb5b3a19060d5d8b6a2f8037158d1b7afb0f2e9732cea0f266ab7d1f637f0844477a979cda63f96901c105c204615d0fcea1152bb2ea88fe545952f5c0a1c6ae8598c90f7951ef4c39a1c8fbcd44ddbf6168318a34d8e10707b8a51ddc9672ccfb76c56b201a9d10458d60e46928a55188e89ac251980fd84d6ec88900a49bb887f6dde6d15894db9a38e0888cbeb2b58278eefe20cc3cc910f2ad148ef69b3ca3d2956f6b05da2258711c2478f95a8586bd1ffa4851bd2a694beae331181a3db35860e012f41983f2fc0cc9bfd244bb534c369a28c8bf382c77ab20a1d98601a38edd7f8794143fc24574ffddf584ec0520bc2ae98adfd875ad53d5e60dc29d80a787d1d92f770ba2215495b50276f890c5aaa80bd7985712c06796eecefb27fdb76d00c215da6a615cdd31814e483d1f7620ceb577eed69637023107d4b19910a7a009ad448c90609e6941d6c2b2c1fe576ff5e6910236ea364b190eb7c1ad8dd1e504c7aa1ee9661a67353ed140c24ee1ac734273e2f24fab97b64048afea122796e742775fadab692ae6278599a8d5a9a1f8a2ab57f022a0c856bde87cf63e09afc72ac7b1c9119f2810e803edc6eeeecc0f30bab3e92b7d8793bb9eb5c33161ee903d5c1114261ae7d8e744486653e3ef6799d23bf5f9a064869e1d26d54658c02d4ef855f03e6ab3f19de61262b3292f92578aa10252e08c38bc835c325bf30694bdd1000862717bd94370ed19f92f16eb653bd346111b57634b191724f9219dcef12bd15aceba6fb71ed4484af67c469db3a46507de8822a738500f597dcb852c1a2ef5ae303a9adc0f4eb32256fc4f0e98b4d69b0c70e3d01cb357ad1d39707502441c6c656b6e61a62a31bdbcbc6917d2689c8495e43acbb54615883ce67d87d73cdde3b3556e9b179d587d8b285249d2ca76b407fe5fea87ee331f419eb81b4992f89091eb9b959b9aa8dd5e7093e39f0cceb982b6bc04a65ad0e93db35aec2acdcaf9778b61f1bb60ef3eabcb233f284d355e83eea4e77c83fcd05d30cac0bf2dadd62ed928f04450d3a94d3456e0fa8ac166e2eb7f41e73922b63549989a9832adfa746e0505321708e2ef7aed4fe57bfc6a534c55adf15eada171591028e07ebec5431de5173690d46b702fbcc697b063fed279da1091a5d5ebd8d3fbcd32c7e3284d5388ff9dbc3d157939f56fb6f9076b5c840f81ead2ec34caddcd293e0fc079bd610598d392abe773c7e27b4c9a9b2f2dcd015d2fa2512f752abd2b2dadd2fee17316bb1afd8434ff5db433ffc613741bb6867670c83768252c31ff8d5f5bd652714035ad39af3276b0949fac4bc8e2c7dd04aa4c5d4736af43745b8ebdf535d4eaebfbd5e71c1ecaea279d5f0cbf1aa50e41a2396b4b026542b366b687fbe0c8add4cb6c162cd27afe296d6c161ed076f630e6d9c04711b2fdfc81a8ab54d3050afb6745d5ff10a50159c8554c1cd878fc02c0a3e8da3a44dd0a2bacf78f22853a253cf13ac4018561c1a9fb1b74b866a7a384355c651bc3315c0abeeda0a168", 0x2000, &(0x7f0000001100)={0x0, 0x0, 0x0, 0x0, &(0x7f00000004c0)={0x18, 0xfffffffffffffffe}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) r2 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) sendfile(r2, r2, 0x0, 0x8001) syz_fuse_handle_req(r0, &(0x7f0000002140)="1b9032ab7e7de30221d98c610c92734859e183b4a8ff5f05fe2cd8fd000e6458edbd52827d36ed95ede74c5aa33a6c9f54d3a13de2b3bf1cd6b3b1966b3664517d31d1270e2242ab69319a06253c2575afab985d734da0a82f1140144310402dd635f7802f3cece718bb8712fa34a00c57ced3ac4c12f03cc818aa97a63ce39ba53678619979c8832c9a863d74a5860b4e41eb61f4a60200cc11673f7cba847b3c00d884f35aa60e4337cbdcfd7a96517332693eb6684713a03d6b944192fe6e9ee1a75b11e5454357ba3eafde2cd587a13c93e3e38abb77301907536a26e792938c0cf4226c392514118276ea63f716f846177c209d7cf1ea8605191bed888568bdb71097276cfa9c7a80be150545b48c3146183013f6cf920220ccd78ee8052ac888a26f10f58c5189c6ab54c50505f608511ea2df66437a40bfea6c3c129c9ee7f3de1065d17a7b881c85c13b73c95bfd2628e56aa63b137d021a5d334554452fe88ddf517c9ecad22ba1522403a662924f7c406eb3e345279da8c32e7c76c7545f68658e71915ef0bff2a0c72a5e4382b675f60f5bcd16820f7f54833591d4875b057496853565b2f8ab66c98637a7d1f132283962239de4befd85dc0a6432c9f5bffaefb6ca858660cc7a29455227dab526c4ec139e5558d09cdfd4fdf7295752697b2996f1ec7b414e8a4f10d2f9529420b7923c9fdd6e482f287d11d8fc4aed7af19ae2ca5626223112af5a3922e71ac8c1376d4e8be8820065ff64ac106a823818707fc8082f63dac25dc189a95e2df6c86fff1fcc054f1405bc92b3d157c722bc9a867bdc90201749e158354657606295961d4fb4fef38568a5688e5a8ea9a5a6c96cc7149fde0eacd07c9e35c8e3908c3f577bcba2d02cafb67cf063b414cdb22e04a0cb918141e32fcdd1496991411b24ab484510862b280419a78f15a9c59838bbc4ffb18935bb79f8e53c6ce5ce53143eb447a6c73bbba6f65d6d9e52216f14217bdf24f6b83126e86133067541d1ea2b7fe2301e07085ec5eb899f3b4e9f8d704039dc96454266df4c3815b9460f7d29630354babe090fca4dd2d1d7877b5ea180d6a84a46aabecf850b6689a3e339ad8307c1bb64c3101df81ac9422bae077ac408ca98612c3a8606e8a44e65c2d3e7afe21083ce00a9ef5416b6524f63029413314f7b3a77fcd38afae9d4e8c0398b7002e1aa3c04d167c0f3fe68f78a0290bac935bc088aae59f5c0a1a6d9b89c98fec9356cb69c94d6a667be6a52a081cba804924e24f2b4bc72f9b5d3b6ac19717ee18b7ced7ef5cc6cb83d48a1a7ed9e26d0619547669bce75a5b63e8e2f3e73ce4201cbe66900ce3d1425f9c420cfb308877247195fbe4d58efbd1a928f23f866a37ccdb9e7ae9cb0b5936edad0437c8a70a122becf32bc096d4015325efa5a87c3485beac877f7b3d3931b2ddd95b38f15fbff20879047711fc304ffc1de823e6494a6d022b423024e012583939a033309688d358e086344d2d0ef0718c1a5d01cd96677352932b05e3b0ec98f59c5d42b235f0e1d117ce8a7aad70ae29fa172817a7ea3b789d4cfd5e764c682a303e2972513bceb5e0b89a70dc7292ef7501ca24c352107ef5a6a5f42d9bf493764a12e2d102e135e1e7f0594b533c29fa098ad53a653e084688dcac1d8905133944d0f01a2c6cfd62b13c4189fde38c53c5324c4e7feecce2a29034f5be4579b05886d210f77b6e69f0306f8b58603784a7eab579ff7d0dcafb10d038acdc093c3c4f824beb0e9b57fe61a47d48afe7b8bc19bf6cc4ac2e9da4c1e1705ad6b1abf5a384c7e1764c05c3420b8626e421b4afa35dc36bac77eeeb51071e47314e25961635b4cd8f70b155708c342f76ebf19e6632770969453f4ece40e1f8e948901deadb31ea9dd15756ac617821d47b8bcc828e6e2681ee85e4fba7f3252698320771accc02862870ee0365e8b470030260ba45289d6cd09572653ea397531a9bb58e63aad615c8ef6420faea89c9331e746b1b2fb11d803b3353658e4183656b2d1e7298d1d4fb40f63769fa998c9dda3972fb93ea79836961e112c1029e0c9800588e1cc72ac46c3eacaa9281480f09acfbedad7ac0c8c8c06c2714a5607cf214f10fa7b91ac8c4ea866e0ba37e63212a44f75123ca6b621382362e97c789da25c23303e33e5915e80025ca635ebdfe8015c0332e81832fd71591a7d823ef624d16d7df6957815d7dd722a0474970d48fcde3014348693bccbea779e133aea49898785e640c9515d622cf9417d89ef10c427099de620d5c948fee1455fb3fa48d2c3270769f865597d12be7ef330ebc2840cc09de2dd85895de15ce21ee204633073318818df304d2af642f15136d67ad8314db2e38a8e3f557e1d7737f55805126a11c0182254ec5adf0d63c7b8d7c8344c65cc45a62484e54bda662c3ccdbf3bbd42762906a3c03d2cd9563f2030e62351bd02d46106b1232da369724ce591c9fccf08eb0a2b0c919b77a50cf5a867cea2b64e5c16151a196a3f700c6a7b7f21a6f23be212d2c9e651c3402141b4f0c7200a2f2b0210ba62cf5e41fdd1f16856226c7be8ceb73604690fa081fb8974d0280c75c77127c6e4e1fcf8c5075ad241219ce1fee9067ad613bf029c8ec5ace48054d0a829a39d7c7932a6ac9749494811a62002a77d09e901604f877afdf47eaff9e1cee8e71a69eff73293d68a4c25df599994eef3dc9221245350defceac758e4c81d6cd31d323915d186da38b4278b50f690f900f8056c003bbef0b1202df84c79de0080a3a6da125fcc4ad84fe3010c8e2eccb505ba43d622665c62d8638e471944325dc91427654e87e9dc89cd5eff1e5f635849c0d2d540fca3332c427bf8e0e0eebd6042ea8090db63a87a4ef830d49d10267891b813d83ae90e13afdbe59ad319a8f1db1362ec20ebc2b979a8ec7cdb72c6fa840cf872c1ee6bc02630fa1888755abef875b465a7501cd885caa49d2254c0d02dc49c33dff719ff21b634d988b40b3f9d38fc3b7a3a3021cf15bf88b63988249fd81f67928c804ba54c438e3934a4ee63037ee38e7e9fce61fca58f59e4bfc58c94f36bc9a11f862a56f48d1f28aabfc70abf378d3b2786724d3e24916ec9364a2b7a935b75ebfddc3129361765c248f7e6b15feeb93883e454ffb672445afeb665590590b80d5d5ba49fef6cb45613e71626f5056ac0934c95175ff8748088bf5619b6855e63b4ba1b10e2a8eda2adc7dd4a0d3654a84596543b110335da183f504d4748b22cddc6b4c4767bc2940bc36c1e3f1407a94ad0f1520ea076d9e61db46aa10d50d1e50b36abc1dee223ea2728756abea67f35bdf639e523b382ec5a701ac15b4fb7eb7b3c1800b4376fd93a6c35a99e5a773ba614f116eb5a7df19060791e7d2e2bf742d944eb8ac6f3eaf3fe191d3883f4d76e11c72c5cf06ba95873a3ffde17f36ff76d716d0181aaa4a7898db972247360a8c737f27626a281d2860c5cc653e70c07c61de74d350b45af7dd2272ba5bf330e82522cdd946fab4a573639d9ebadb632de35ce9e595ec4edae97ecdb1a04323cb43d34dd5f91e9340b6a77d3015487eb315d34cbcc92b3c1d5289f91bd138b400b11a0dca8e6a71ac71809fde775d53ee3cd1a1284d880f251af1a91200110dfd243f34331c84f4f9a8e859c77e00dd8170a9641fe40ed0e8202f18bead99e430a540a24372ce3bcfd68710ef2d2c2b0b5d61ad3e113c5d7da00f52404ca06e3ab10b611daaf00924e456f92ac6d27178baec52f944c5905f24d99093fe8a4a02f56205e50c178f6eb71db0ba4441b08682a50a1b7af641e0cd94b4ffbef783a9b0b93c2c251d76943bd6cb18c249516dca0c0a7816540b9cfc18796f775b722c74fd321d659ab1ecee465b3abf0648052108b618283d3afc83bc4b879ba0fb2d86e8fb25e1eeb59e119618efaa12f8831415d5c881e58f4f443f8b2fb88c7d42955efa29402ddde3c6884157cbbefbd6a4129069ef1dd8ecc2606c2366b592a3d9a405e6c828fe54c5740d29f7e5db47ec2afa89a44af65759094ef5c0a2da2ef76030bc286004427398850ef9f94ba53edfdf7c7e4f3c1060a9fc5b6376916ecc6da4faef95315242149a851e190baa8228c79a6e6736cb18d59763bf63e18699a4f3c097a690d6f945beadb25f4da4bf03402813ae8a06c552f818ada0111414d4d0324a409d439cd349b07e66ab5539cc0cb319b8c449eed5bc628c7caaa08f28c1b2473f6a033ed3fb6c2efb79066b3d99a15c04ca938ec1de9a8835e76487e6d7ccc2bdc4653c71adbabe9b17d24466f115c03c575e69a8c85015b49f7c024b883ff09f0df01500a4b9a088f8df211a324aedab15ab1639329d4b0ca710f961fbe754a3c35c40600f270ed9e38600b3999bd316f3d7d38335ad6d1ba11f1b39f0e398379bbcfec649644e3f65e002441cf9e7548d56dc7cb46637be09fccf4c9a6de6fffbbd90f08873b8c764ce307d85e282feca5c53eb369aa61c162fd9b65bd41f5350efb362ad15749cf5523ffdb4d7cf788eb10611f45c47a68ff2f55156b2e65f7e609dd6422544c8ab7e85b212e17e97be3d52ef239650dc916c60aae9a7b312eda890d7f08344fde5658ce2220677e78e8edcdf77f9f668fe7e687112a5b8db7371a13f7c22dc38bc6a09820242b304ae8209f1715ca24234d88b8083163346c0932524b19a99772269780cb39e93fc3bfa088e701c1512b56ddc632797d59f8803f16173f1939311c829af7a24248f9047089be7aac7fa077a6f0be97b8a98a5156dec72efc065aec534e10282d92776dffc79e601e0bb820b3f0c7d6d27b54843df1dd470152384ae1f5fa6898bbfdcbe2e0d23ff294b6b3e6246545e1b71539fd051052e707153f25ac44ff01f05aaa9e8f2686db84ebbfcc270b9ed47d3caf2499b10ee45934bcec2d4ddc502226fdf0a8a31a5abd62777ec2aacf286bfe9f051ed7441af5c7713852835480ef9ee067e384bbff726847f0a70a2b9ad08ce87c49b8d3a49341dad71b8a9364442e248d4a95829d2fd5cc14ee9b44c8350583b6553a1ffb35d977ea498339cdef790bf68e1974e074417a18239cf0addfe0f6ade03fa9f079e19209b660473ac902306c5d00c0c277b0799aef17c4ce1e8f4dcc8b6469635efcc5be16011a9b7e1e71ebe364c98945fd1b100bd20f311d7179bd09133968ad99aa31561475b083d506e8d11bb2f8ccc447e101b370b2d4f1c2d1e3d2422d91cd17bf1fbe237751f49271305fe723a21807f2c4bb7e837aac2a9703256b69d2e2ece30ef6a9131c52a977efdf1489c4f900b0b6d32b4b4fde000df930dea7d00a467e5721d2fe1511c3deb88881a5db58c50d9d10c449b6fd991791b5db04cec88c47ccf5872222bc9d499c8e7c4d0c937030ec87b9f85b2a3801f16ceacf27e6bd28351cb32d4319dab2a98ea02cc54b9f8198e3ff6bfcc9031976964dc4bfca9a483a43036e26c8cec3a55fde0f7f60c8191be0bcd5f2011d4464202d844e3e5111ba1442f41807b0ece4a02f8d87ab857dc648644f088750c337fc0e60fb6b959cdc45bc4ff4dd1201a40ad58a9304767163d091cea804151d001134eb29e847e2d8a4f6b9acd9624c905d7fc1cd0973077db776cc01a24b71395f5cee7e8f6b5602ece810fbe8abf23663447722f296dcaae4c82468a1909b5437e166c10fdbf6ab1e6ce7491bc1e1df3923735e84f16ae49c0289134e0ec8ee0a7088bb1b7d72519d12b5a4609c293d189160f08e94b3526ac9045ed2e136faaa73d682c87f9d7ec9d7db1f591be1a50cc6a8329f6580d205451e2ce31ef989eda995f43683f204ec64ee09dc31e79d3195c02d07bb425366ded3fa0e45177c780372515a38e4a3ae450103168e68dae6bd5c591a523fadffdc78fa9cbe0527039c6467fe95ce01001553c9137ededcabdd82a27684b938ccf29b30eb8bf2404efb4f6c250e2dd2ab0a5bd1d971721dc0d4ac9ca38236f99c721449f9a5edb0f9c1ddbe92c789089853f5ea738d2fd502e8a1ec9aa07729121e068274a5b4066fcbf111cd23edf11f954cfa6e8962b60730ad2b09f0dcaa1bd140d80beca4b42166b440754311290713537ea6c03f28d62e13a1c30e422dcf208d61cff89f4fa9816342dd72a2aafb7ee556084ad1150e3437cf83793671aa1527ba2066151183b397b2781dbca1a5035a30efc1d6810b9385eeb9442102c9351aeba2f3c29c79366488ba4f8737da8800909757e1a6f8c61005c18a256b5ca7a12b3b1880d4c4b5e5431742885c612c2091d54e6794c72f61b006802db2006b121ccc2df4752a6f9c4d3cbfbffc3c3a1864feaf30521f5d7baf343f290e8e80fd5cee1dd5924a4422eaedb43d4a3c918b1cf9e6898ee087488944108dd16de85b7d3b36c42be362e40d81367cbce56212e494754abfdbf95ff6883e87bd82ee3e510f8b8973eaf25a9572ecc980a0d57d1a3a577c0133e333beb37cc1c99fd315f5c917f99e84c4ada20d19112f16e01b750cc12e029320a455d9ba1d877320e686e6a39f08f675f646aa792555de915e427b02464e34f6121ba4e30258a42f17a83eb8b0e0f2944ea16c2c95be147ed97b88cc31db2dd927f31d6ea1f200dee7d371ce518c19cf48d9855f08ee4338c7fa471dbd8c9b6ce784a898158da1805803afced8553d5d249733f9841a17ee74ee4db3cb260bea9da4087e1225da103526a9162ba85691aed5e819e2d853908413ea56f7bc4fa79e3d3d2d623c27b58c27daff0d8d2a45ee471e12118ee7c0b16ffb1a13700966045b923a6f48ae8192fe6f87b698bb2a658505b51133c7ddbf17c281a84a47978ffd18a9e666f3b51e77bf280876c210a2c6853d85591c95be8883f8ecfb8726b147428442234d1c638f1ac1c79dce85317179c6ab3d1cc01a54104859a639a3a1ff37872341261f6a6a2f1fb667b4e937875eb50c096cf7adbd697ee1860f053511afaf5965dea1e0a974271bda5c911c0565bf199d70e635ef1d42e360c0509fcc53bbd1b2036af2e7615d2e4140321f60a2643abb90fcb048c48550e3e8c34cdddc55fb4e4f32da17e21050445d6f7357f390b6edaedba0cd7e8bbc246f669770600d843f7ff5bbc02c6a2bbc7234ebb580c589c369474661754293d4bd8bf6f4c74cc512f9fadd7d9cf08f3ee0a6b3411b5137ab83c7e591ad9fdad5f636da9ac42ec39fb3c53aae359813f38f6a817db255f423f77ed1175d49b6e9fd0b99e6d7130ff2417812f9bf4724d05e6c34327ebf4028866000f8056480a3972d7bbaaf00832e2b5b1229e09abc4499943813ec0008c416a439a5c2ab21e94be8a7eb041f7facdd82ed77d4621d654bbca8432bc0de7046fa16ec6aa22aaefb00e6f5bf82478dbe576d1c93bc4bdad6b6974a457811af4462ac6ee9a7ab6238524ec344a4bddeeaa7a5ef00746642773764b80a71130fcd29ae62e313eb7e1e846390c59582b6cb96af119bcf18d6f3b83f1cd069fcc77746f003dde9f7c7285ab9944d96522b43c24af5304d97d132e1232aee4c66dc006ee82a3167169a297d4abcc02e7612bbb9ee8fa8d8483067a50bc2b3a706173038d824052d55639a2da7beaa14921bd884a5ab176bd7e12fec52b8f9e9a1f7b3f3e70d13d3b72e3763c7c66ded07efa9185e7080bbfd3bcefcb3806fc0334b0ceb73d4aa88e404db289151bcd266fb79341bf9cdca22e4faedaf2c298a799b429b0a7070c15ea48cfc03ebc76ee42c8da98931ae3240f8332d725fbc6bc0644dd8ac7d64ed62847d77b6ced169b937ceafccdb8da00f604b6fdaac7851ae29d698650e6de2fb7548ac49136863d7f2b1add22289ffee480f3b89c850de32f39d0185cc537f30d827928493d8a11c00326a2e51600b2a37fa47bb5bf88751e327f30a0f7b80317f947ebfff7fe99ab60eda86cb3b82ac740a9cd43d4d761b25ee5b866c1a65fcb797ff156cd038e6850debf8048f30e9c89886e2278434d8fb631ee61bedaa40946c25e01905befb9bf1907184fea31297d4eba4e217a4998bb78faa0c105a91f372a89778af3360e7104699a86dbe7b736e5da544a6b1f65e794a4c794384b420f094d48640387cbb145495cab79592bd10c02f82aa08966b8c8ea28e952ed6d726afe722603f99ebbf5f018c172131fb19b68ba3ced92ed0db07548e87af895a49f25adfccf8fe8babc31039718b474731f0f074d446d41eecc79a3dc4b3adea49f531494b976bf04b0a1d19899e59078fbeddca0be9516062ded818f90c6e6289480a00ffb6653b8bcde20b83e1c3a8b7f837c97192f968e0bd3d6adf2600cbf96d2d9ad2cf2de7bb9d6d223c323bf070d71be6d5cc005eccfdefd6ee86f81123511a30bed75f1bbdae141669847b7275904fcf656c9bfc09dabaa2ec153d3b151ea864108eb65544a51e52e4588bf9987e6b4b20b64b901fe96a9ed6c22116a0151c4f5938cccee21ef663e41a65e40c424dce6fe23030aefc62a89e6fc3c920d8869c70b2f84083ebfe224a926aa4d4d92f57e3938ba5d63234ac14fc250d24ab07487535d5a704f7012159a9948348f81f836946934026b63380fad02fd44435dcb7e2b97361c875f8487004ace018bb55edb40bfcb9c9f7888206ec23d67e468dae34c5211f0f2fb966b8086db9d263f58351ade03bd4f0db50ed7f570c55000c9f2d4985aa15b3dfc669ce6f0f0683357d7905c3cae8416ac0a16d0b6283f46af487f1cd32c8fa4f50e119bef259dead13b70fba870ec7bd8f979a0410f03490ceb80023aad790a5f524998947d8ea5cf5db2cb3a5b1ca1239b7e11023f8aeea3b83063c597c18eefacfbf8bba9d833da184313430ecc83ae30e24aed209ed5c528d6b7d21c01f80604bb00798b5c5bb9e41093dafcf2ef70e7ddc86dd4c6b52df8b437b9beb70dba16a9070936bc9efaef96b934ef1507044a50eca84181d7f60bce602a895bc81eb168d8d409473b886c07924ffef6a048e7746dcd28fffddb52d4df7bb19ca83a0a338e73c8d0ae95c886295fd2764bd41154163b6ac2c42c27b50398cffe42a4ddb35c689fc4574e0e601677172b0f0a37a16b8b80438cc8114e5f60ed5055af35ffa749b2160be76ddd8523010a012495d507c483b64deadc91d4b4654f1d341705b42bb0828fe0261b268036714fa851c246482b405842ec508136e421eed4f6cf2d280fa1494bf08846508566ceedc81c8d1ae0bb7b3fb78e44cf1de01dea3688a96246359bcc1bf286787fb7ac26d7589ec1cb75d2acc2cf85f8255ee80dc6708d51e5bb8b67295d6d49b84560fb1648ca611a9881948e7c53a756de8b4545e0bf2d6c665ebef42ec16b1a4f764205bda56ae191b102839b8b9a8ebee8c4f21e2eab0acbf57c049b8f3ceee4d77979cc8450ce795525f915d099af4288617eba9c5acafcbb0ac080f9060423265251d0b090bbfd8fd579959632fe76bf961a826f7d0735a25818d109ebf055d8760df83d1f3e1ae0ff33bfef8625fca06ca52ca094eab30e7305aaa591f373042c1c0c86798bb14c72b4ce65d7eb646da63538b346b06ea82fe3488d3fcb0acdf8ebc7755557564081cb1d6b62d03a6bdd0f63fba2b8cb8cb6b0b336b5bb99b90763d6d9a8759f32875c2e2d33e17a170e706ffd0c407135205f8e09d104d672738bd772bcecd46f33a79d12f51b37251df71ef464494e7299d791bf6273da7ccc2780dddfbc423b8785ac00dd6d12557b0d062720b73d4b95232766789d6e2fc092ba7bf371cfe9fe204c453df3fc9efe1280d5cb1d5d7434bcb24acfbeb646d2b25b52eddc92e2b6d920ab7251cc41e7bb2aa4c9e7f775fbdd1be585399ebfa71a784f887d0510f52cf84ccb88a89fd2b99c7bf5ffdcb0b9755d1fc20c61d0c1c0cb581b67beef2638094365804617d1ef6875163dd30f5ad2cb358cf2fa7ea55790c4338a3d26c97e32a97a8010aa03e89311376b634dae5f50306c7cd15ef1a207287f58f6b6595885679c04d8ddd01d17f29a3af57f689272ae63b5211268d0c6a8285c98b42170e0c4fdf2e3ab6932b90f826e26206fcbeded986bea24fd2a7429d52fb48e3a181c60dd4281c4a344c0f31405580e477a1c24709519392cd39bd7f29689ea0e64a91f9bd7757be641201c61befd37134b8d95fd8354e7b546ecf1e0539ee1f2b11059a19e39fb9cb36178cf543b41d6e59a9bc5b1d81e47956085865b98f9f98758b664441263a1b539235a5472812580bc253bb0601219af3ded3a7f44f2b9df55f6bf0494c34f7c5d26230822c9bfb7311f4788b69869a290092103cda888f0690e33f3b2808937b71ddb792c854f9a881ea9d05896b7fc15b24f525c52716e4ee656592d4e041e52ac13326779bc03fe275b0f18f4e9ec93817e5b87682427084a99d822d757a1840d588704c8a76a0e108ff8c0dc8730b80e66d8aeb7fb7d2750bdc2c7b724512626e2a0bc6b3eed4ed22c770b89287a2e6968a347df5a75a74015faac27b98cc0a81863cbba499c6e7a146249e8f7cdc3dcf9461e30dea05e82b134b862eec44b513b3ed628c9946072cd8c0b06231d914135018fb2d782e677f8d807431b5dbc814cc3972e1d10fdd143c263e2f66c313c951a3e60a161d5ea19285f5e349a75090a97e389bf6c1a15b5655b6785aadf4af2b5eae992d062a37113da9e53845759e11879c985a4d5fe37d2b3599b01774f8ae09a21b237e7439742603b4044781ba22c1305d7ce7e00e2b829ef0ecf766e13c2218da1c55753a79126fad44251a9cf515ad24aff6c854d8456c83ef865c79795bdce36da137890a0a2c4c52a41ef69ca165d174bad83cd9f21c9693b89a58fd95715b3c454eae6f544eba6407cb8946e22a071dd140af5471d14f87034e8f4b127fd2b2a516c7d080db32ba0cd463b2f668e0ccc8df6feab59b59d52fe2070efcd1030e6054dc54f40ae4ae400b5468d1fd72ce3a7670d12013426b725bf27d6bda592c62089a8b94e5a241678a2fb924151ac3f07c37d7e0004a5218c656c9989e63acfb5cba3ff60e82af7139e9f2e07c1cf2d6c286549221223b419dda57a127350ee5b4a324a36551ed424c1a3fd61bfb26e6d12f3f76479da8e31b28ae71eccd52dc52d15877b796b6be59966369be134d2d49eec6e3980ad744b82bd9d09e3d2b3fda078f004d00ff6063140c41afd58bef8bd58f9475ac0dadc8141b61c97bb563203ecfadd35e7bbe79ce7e7431319b1ebaffa0ffa2ec839c1fb042bd646d77a17add3281e64b68c7d9d7ff979cf57293ad1554de494f3d3af242ee9d751fb241d4bc9c6528e06c389e0c13d5afbfd8fc821b4d0d87928795d79688e6c6a4cc423bd51b939bac0f75f4e12e380f732014044ebf2a23617e7f371e919d32ff20ac1b90835e0fed8e072b7a432b2438aab328347bef583f5cc3858901ed0df44a5a564f07c8c3d7fe04566a14ca83f844ebf9f1ca62d3cc14010c9ebe25e03118858863b4355a9045f873c4a7e70ce28ff337a9260ef01143aa6e", 0x2000, &(0x7f0000000b80)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000540)={0x11, 0x0, 0x0, {'\x00'}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 03:34:11 executing program 0: mmap(&(0x7f0000000000/0xff5000)=nil, 0xff5000, 0x0, 0x200000005c831, 0xffffffffffffffff, 0x0) ppoll(0x0, 0x0, 0x0, &(0x7f0000000100), 0x8) 03:34:11 executing program 5: unshare(0x600) r0 = socket$can_raw(0x1d, 0x3, 0x1) setsockopt$CAN_RAW_FILTER(r0, 0x65, 0x2, 0x0, 0x4) 03:34:11 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000005c0)=@newtaction={0x6c, 0x30, 0x1, 0x0, 0x0, {}, [{0x58, 0x1, [@m_skbmod={0x54, 0x1, 0x0, 0x0, {{0x11}, {0x28, 0x2, 0x0, 0x1, [@TCA_SKBMOD_PARMS={0x24}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x6c}}, 0x0) 03:34:11 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000100)=@bridge_setlink={0x3c, 0x13, 0x1, 0x0, 0x0, {0xd}, [@IFLA_MTU={0x8, 0x4, 0xf6}, @IFLA_IFNAME={0x14, 0x3, 'ip6tnl0\x00'}]}, 0x3c}}, 0x0) 03:34:11 executing program 1: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000380), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000000)={'\x00', 0x2}) ioctl$TUNSETVNETLE(r0, 0x400454ca, &(0x7f00000000c0)) 03:34:12 executing program 0: futex(0x0, 0x3, 0xfffffffc, 0x0, 0x0, 0x0) [ 614.376864][ T9539] netlink: 60 bytes leftover after parsing attributes in process `syz-executor.3'. [ 614.386818][ T9539] netlink: 60 bytes leftover after parsing attributes in process `syz-executor.3'. 03:34:12 executing program 5: r0 = socket$inet_udp(0x2, 0x2, 0x0) connect(r0, &(0x7f0000000100)=@in={0x2, 0x0, @dev}, 0x80) sendmsg$sock(r0, &(0x7f0000000180)={0x0, 0x0, 0x0}, 0x0) recvmsg(r0, &(0x7f0000001300)={0x0, 0x0, 0x0}, 0x0) 03:34:12 executing program 4: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x4, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000010000000100000001000000004000000040000020000000def4655fdef4655f0100ffff53ef", 0x3a, 0x400}, {&(0x7f0000010400)="020000001200000022", 0x9, 0x800}, {0x0}, {&(0x7f0000012e00)="ed41000000080000def4655fdef4655fdef4655f000000000000040004", 0x1d, 0x11080}], 0x0, &(0x7f00000001c0)) 03:34:12 executing program 3: r0 = socket(0x40000000002, 0x3, 0x2) r1 = socket(0x40000000002, 0x3, 0x80000000002) setsockopt$SO_BINDTODEVICE(r1, 0x1, 0x19, &(0x7f0000000140)='veth1_virt_wifi\x00', 0x10) setsockopt$inet_int(r0, 0x0, 0x14, &(0x7f0000000000)=0xac, 0x4) sendto$unix(r1, 0x0, 0x0, 0x0, &(0x7f0000000180)=@abs={0x0, 0x0, 0x10000e0}, 0x6e) setsockopt$inet_int(r0, 0x0, 0x12, &(0x7f00000000c0)=0x2, 0x4) recvmmsg(r0, &(0x7f0000000240)=[{{0x0, 0xfffffffffffffea7, 0x0, 0x0, 0x0, 0xfffffffffffffec8}}], 0x4000000000002c5, 0x2, 0x0) 03:34:12 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$batadv(&(0x7f00000000c0), 0xffffffffffffffff) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(r0, 0x8933, &(0x7f0000000300)={'batadv0\x00', 0x0}) sendmsg$BATADV_CMD_SET_MESH(r0, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000440)={&(0x7f00000003c0)={0x2c, r1, 0x1, 0x0, 0x0, {}, [@BATADV_ATTR_MULTICAST_FANOUT={0x8}, @BATADV_ATTR_ORIG_INTERVAL={0x8}, @BATADV_ATTR_MESH_IFINDEX={0x8, 0x3, r2}]}, 0x2c}}, 0x0) 03:34:12 executing program 2: r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000000000), 0x42, 0x0) openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x40, 0x0) mount$fuse(0x0, &(0x7f0000000240)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f00000005c0)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000100000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) read$FUSE(r0, &(0x7f000000c3c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000000040)={0x50, 0x0, r1, {0x7, 0x1f}}, 0x50) syz_fuse_handle_req(r0, &(0x7f00000042c0)="0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000", 0x2000, &(0x7f00000062c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000006340)={0x20, 0x0, 0x0, {0x0, 0x1}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000e400)="4984d306b482d325619e5f16d7e650c5e28ff3c4cf56aa10ffd282b652deb2886ccbacbe8e69110371e859fe758441ee3c0be4d12ade1a02094db51a5fe520932189f1d1ae6b0142c3db4ce2f2fad63fda0f26f40f5dc714d5516af5e06e28b5188d20ec2dd5f10f5e1831af490694b8e166fddc69c01c149ea69dea858ed6819844b068c4ff6ac3f90a4c070135afd49dad72136c8e6b6f2b8ca4340398a01976749f4d4653d73e16d14dc34316ef0bd71ae8050d02a5541bf2bdbd55616d767052d4ce4bf6a955ae62a27cedb8800cc176f7ac903758272edbcbd6bbece747ebb495f396aa923f6407c5f6641e3429d3706aa9ee861764b1b4a2216a2cce244128296c29233058c2d621f37378386b5a58e4a06da595b21b95947970143d3fe6369a419479b5018840bf9de6a56e854783fa5f6704ad11808e1f1ba234a708d12b6c71199892b7c4c5af2a93bb522d4b77ca818a62d3a2fa5f6ef16e2a8b6863cc3d562125f2bd273b8ec5f1fb21b8c7ee7e2d3319d0a73410eb25b6dbb6e15694c87b1ce34df2c4d31c173f70bc651a99d006909c615c23f6dd17723f0cd8498e4d81ccddfca90ade67c20a5187aa8f09c85953a2537aaf93c1a069f9e3a4dfee9dccf2f135be921a630ab3d1cfbaea7dcfacb6d484cab8b7bafc257a4054a14d1d9999be056686be56e8960e31a578fd549667fc20b9bed86b8fea2fd219f4fa36197e1e9f81f5f9f57285df20b194623a68fde2ea88ecf24adc4f21b966b407cc7bdc6ac2c66f2ad74324a65a435ba4ee52fd283e86211836959664839aa2196c098ed1824af725d77b343d06e827c0a1a121a948603e7c8ba2c810e59cb21e7e7e035e883441597545d8bef06df757910cadcc36f190a9f1e1a4a4838e8374ad0d97441d418f8d0e60aaf7caf3ed3b66f35a37e5563f7aed7cfd6003deee0b6a7f7192de24376fd9cf11497ee6e76f835cde94f2d2fa75d348303207a038b0f6f52f45b2b293e0430ba7fdb1c40adcca068c0e05d3653004e999895267ff9ae593ab21987ed405bebb31d44ede0214618a28052d31f22bf259803728a81a174b9aea3f3b378a0b9cafa5da3aa934ddff431b2472ba74b2b64ad4f25590036831855ea73798eb8f6f3794cf2e7bddabb45cb33492f0a13a0193300cee46f7f19885fd9067a28ee70e9bb4ca8d570a0dc25b90a63533fe994742a703624810502ccac451010b37606ffe1b007b3ff497bfeb239810a3c9d5d2e55a16fdd6a39198268562cdbf325047d7861229cb127ed4151145569ed0aea9b09552009c1e5aac7f8ceceeaa1cefa480374f8e4e55b88df5e14434d883a56147fa9cb1e1b324c5a482d151190d893ac54352ebcf8fb7de2a0fffece6c27e05f9e75ddf0859d358e7e9d901c9a78247445955ee6c00d0a076300c7dbb75b21c31fa3eac986c4f952e6725af370f5aeefdab08e2b8b2e2719e3d3db9eacb4bac05a9897e1a97d1a9f23551e304d4d8bd691ba4ad3f0ed215e85ae371f04fa58b94b2d524cfc9fa454d1bb89a19aff72398a262b266444b8700811d49267bfa77f9cb86e481514026407930272a2cf40ccc21c7b4f6aa4ab92aadafd9eefd813dbe20d4662f46c0129b56e65e7fcea119f78cb559597b92e4964ec3e9efd769e6dd3b0aadcce47e8862e7948f4dc3a72addee9c3a275cc0fbcd28d44d2d26a7916c901ceb406dd336905369797631f9eb3906ea09a83845307370b9c3e2c2ff6adf6ac7e06e433cc4756f2d417c74d0dfaff0b251cd43c0c6b21ecf30414394fe44a55d33dd786b5012080f31b52b4e812d7a78259407f0ac74c259f7a9ade3a21e30b2a81a68a8d8a0e3efef4cca0e5753035a4e88f761d736013a254935d9c156f36d0caddaf366c109f26146f60e60bd6801b426e42b856e5248e98d44a151a3cfca0acc7d8fe6713fbd55d43217a91cd30530185f51844165ecea9cdde33ee1bf7758b75fdbd018d1e547c47e6db9d18e4f5043dbfa1dc5cfe8d700bacf344a037afb504b1418e226b56677d7e6049aa7c962b7d9a6da18081dc88ee60be9d1e050e54a78898ac01e2ae0848d95a6ac6c0c5ce0d72cbf5a28630d424c04de455004c1ad3ad06bb6d53e78f63209d6f1f29392f2ec1752d6bac5cb112b1d817501f14e7028ef3f539f0c794c30e814369433ac8995056032573de7b55a8d967cca2b5ad9b8cd942f4614720433e7a9e5711b8137d146d2e8a0d0d6b1cbd0073fb1e362a75b4f48c1100204cccb7c1e1bace2da0d7e7b6a96ce86aed7f812405afb159920757959ed930180f9e7329ffcacb182bcafee2e24aff9a72020de1d52a6511fc7e90843b99349f1bf749a4d5a866db7668a74c32bfb43d6976909016ba7b21e193e2048387e6a0186f8dd68d6acb5e03f9cd314990070dce1714edfd0218c4bb3f8ffe754482f48f582f3d70a999546909532b3386ff819dd05ca54c781d33ca2a1eac8164187e3dbe365fb6bfba95e3d401f66b979bf2e4f5f18e612fb9f6076717579396a4a128fb855fb6f113c19ab3023bd6828ed3aa0f4c254a5538074195dcc96b49bd0b419ae46c79c67d4d4931ee94005e80af735039ec713ad518ac57495bc4215e14c4a82aa80f8f102b1a6682202669140444860cac1c379e0bf5279ce8e73a5ff3bda257a40bad320a9a01022ee1c468aab2ddd8951cfaf55cceb64888f11149f46722e773220adf4da1629c13e44f4b892269936f141c7921b915af036cd1d5d89cca6cac76a6c5bd80244c48e9a8168f74628498137a0b6815ece8245545755440ef91b6bb3d651a4aa057d414c4033cc25d8c0d59781f24da56c664a851eb7bc974bbe9ce316d117179dbeb097fe18889eab18b0ffe5f6faa95158018d6fdf36053664b38edb5e57391c4b8d815632d8f99aa226dcc0f7869134bbe4db930871c8359a6fc1b1af604b461d27bf17a813001e8d8c17a128810f64899f16446000293eda8fb9a73f4377ddc76c7607e0f37768031f82e93f73d995a776a2730a8c7430740055f725695558d900e5b18db49667bcf60be62df9626ea5513531b98fdf15866fc2eb308d9d3137702fe2ea51114235b6e304109c366671824e47f8845ea3b7529d23a29f990dc5860453cc3481dfe625c280057c4e7c9eb1229c0161df78c7462ee92373314cfda7f44dfe7664ec166e1105f6198eb24836d59632f340c0261b5b043859d71a309145c8f44e26a14d2a449634eb5538e5f72e02009f807c13ee5cb4c636967c66f201fe4bc1a8531534d41a27124f39039fd6b19f275aed72adc07106871cc4e8f354d3ade677928a61f094ed5202360e336846fb84f76619f887c1ff65c22ecb4319d572b05f4125ed8b5907b6b4ec5600d6c01a6faccc637331be02eba3fc52109e8faeaa8037851a53d66b3fc622ee8d9cb665a762dd2f595ddfbbc1184cafab393f28ef927ddd9a1c1375f60233ed7a85112e35d3bcc32da8e6b5b6045969d8148f8b41e528647bcb7de3f518679b382c048fa65afb20a1f8e32aa68d706abaf7ac482f3e69c997f583b50ed8b9dc0ebb949470a4dc1e371b05df0c424ff18d2a8d28588c76b267e2ed1fcab4c750fdafa352c0f4f068b7969f6e373019c67f7896fa46c7cafd4a8f1336240519c2ba4957425abac3bfc90a26bed117cc7b50e00a7dc5001bc2092eb3beacf3820e6d120b904431362f6e77c2ab04efc0e7a63281cf992f0f1619de7dbba9b61b3058b3f90c78e6c4f4b3c9e9b041d2ff7ad8570999130a4ef33f332945941f5fe12ea3a70176e01ba646cb0337b786e34aada545ca65c5f06946fa8661ca25a1ecc5f09a40512d6d0c97415c56edd3c99f64816604a59dd7dc4517e8598e4caccf0c4c1e1c00715928ba72f1e6384df26880e9bab9260e17f22b8726dd8d1533c19fecb13b2745c5d88c83261152400f290bf1a5e5a5b3da93023b2ba11673b3d240d4231287fc44c94f8a858db9d7794e55517bd8d39fdb162b389c1cbdb4cecbe81c7af8d9bf8f102c33b386677102c0b70848cda747d131d0ce003f4c845f0350e612fdbe8527361d0e670c95c623145436065ab6e67e617304acae013cd4b816a932204f1542fe72cda5b352261d0d3256febab4cbfcf8c9cdf0fb007bd69f508af631f3007cfbb4b13ab0615808533602508e79096b7c97dbb95539ed9517b2f4a0c9c1cbdfe8f008faeb23f9f0e5059b624a9f93535a98f049120bd92aca76259cd5b172014a0e0319d3fd8b9fbc6d9cfac99c37f6737c91dd31ad5b3c8004374e611c033d704f0a42e8f5d9c4defbdf14a0cea4225ff59ff91c13862e8aaf1d1fdab96276083be8f0e2a66fdd8ce6d06064f7af60bf94cd6e7aa62172b17b59e02232cfbf7c0e0e6243a92e1f89c29564aa3742892706b0e9c15e214d117b4b9cb9728466084dd6ae0d829c76ed2dde0f6a8935378e190b2e32c05d1720c3f788c74fa74f36f71373e4de1b035430aca379e81a138d8d8604cab86be8d75789995975788bc503ef8cc112cdf6267f5b08bb320fc3862a676fe6a3e4667565419395c0af38d9f45987bd44fad43c4933c33af9d1e2f8c66ec3a3a23e294998fea7da306388062481a18be50b5302217fbeafe0ff65417e3749adf25c6cce60159d70a9b8de3d3f80c894b791a5e9264a01b3270c6c846bd56b0d0d96c589ce951f66ce3bb1baa152f6e6f0dd25930b1522c578903ebc1f23427e2e523ee9d805ec61d551d81b3285b4a7c79889f39a351207314ac1eb0335ecef58dcf0bf7574d18ceffc1b15aa2cc13b026e4b59022130416d4c1768437978c481356eb6c151f19666cdfe87199e98e8093aab6c713fd05b672abd7b6f942f3098ade6ec70aba57c39772b3fc1410c6b3bbb2c9fdfa05741a047aa5b94032fd94572d1470d9158c6415945e094917305adc7f8bbab6b9c497c3f10acdda00889fa18b2ebe57c54134f3bd054c66b2216c9bf4c5ca097b95ca62d5c51d4147da206bbaaa48d18b1b2b05cfb19f2b8e7aa06fbafa2d0b1a3177915347518f8d502824ca858dec614c37f07f45d8c65c18f06fe7ccb2531e0bffa219649aaea6402c01aa79cb8a7ebd3377adb4cbf38f63f0ace0fac85d3ce8899ccc555ac0fb7610204198e2be9972e0a6fba11f5461de1c91cbbeb9e8a149f30125b11b5a449d5c230f8fa7721fbe9a4e3545351345b1e335ec2558622b5e845c78d935487183e097ceb27c55262022b27a7cc8ad1d7d95eb737a982d555dcbec29f31efaa026b8d89cca7ea7b59c9c5064ff7324211b175bc5fff261cfce1fc79e75febc3c33462c4e7bcb33332ebf1cc7508c05084e6a4fe6de39888f53c2d62c95edbca35db82b297a4e53af02fd531f35f4161d6906ffde22aff95d4e3c173e22580629e8b8f6c7014e4644763c6b2ee28cea0b61afc5789f18ca1010d956100bbcc500864ce304714cacd0c10238228bbcb4c764a0d131dc81c7757cbd39dbb598408e6e99c769c70c122437841770a05d575a46ef3a8ee3fd92d9dbf3a77f325e661542b788ea68a81bdf1e3dbe2cdfd63ac8a39b2e7c3041099e6747ae29f747693b38a7171479b5a73838a3a1ee3bf19082ee0d79370865cd859934cec12ab0276c130b64e76ac1d536145d9d9d84a5db1e605d9d8e3cec81bbdc616dd6e9371aa0692e7e473215017b263affa0100fe84abcd6e0e3159fb838f9916ae47e49def811c948bebdd8e3d042fb358a28a9fe8367196ae5176443d7b9076808d8763713a1c024044efbb585b153c075477b7f4674c5288271c8080aec4a2d75eccc9d629b133ae426e6de0b5504865b6c627ee67d2231a8ce8ab8329b33e7fd4fdd049ee7c05b8b8aae1cd2a0728ceb6ad116bb3ece44b196d226539bd8d75ec23fdab7727bb9c00cc06edf01cc62fd5808aa8f05a29f45acbbc617deb05722c78e8c8ae4a5459847cacfb6d1eee552f5fad6dd3bd58801dcc6e29fc1d57007390cfd06a30e5f0219b6ff406640207fd07f120578a4c713a143732f3925835ea8eeea686a835d2d25befc40561aa6a30bfc7ccc839f0aa3af9430500f82b3d8d568716c2b44a5a35f6ab5d86bac1bd7bd1b675c9dfd3cb346eb3e41ac2f253899134a153c3fb62563cf19d074196c677bfc97423b0d8623f6b0bb839588f23673f3a7b29ca103945da50b36c9f9018e01e1c4dbdceb0a091daf6631ce2b312c391905dc9e984babf72229cb3ffe431df165ea6d95e79e8e2b83fb5b0ec7b0af4370fb0f743595560fed169c8006f7c9ebbc3b4c5737e448d8c6d07fa867ec6eaa1d1930cbf8a71082498c872a06e2e2df8c45e12bc5e7122a0f303c740bbaaafb36893576f34f4f1dfefb2a23d9462054905733e5ed8d32ffac80cb341dcf62de469454bcf19f2fcbbd22816ce7525324e3a78e0398ff9d6e2f4d6397f444adfa7537b573aab3845956dc7903a170efca65eb6f79947bae092ce05f1d3a7d3687d4777a57f2e4a7852c11529f39cca9de7421aa62d9bdf301f58af641d1e0559e869cf070a954b838f82be1be952902465c3e64998d84193415ee04d834ed8fd7e0e9d6a52599c7d2018fa93d03b559c627ac6ce5f97d63103af9e2c297f72b8438899c3db9ebed79e109bcaecf3cf81ab2c77fc49cb8171e17f7f2e6bd8ce486792ed65f822c1b2fb6c225843eb348c118f386530da165ab4a7c27bb020422bfd41b2da1875171b036d1e0bef0f7257c11f1c803cbb4d611344296f2fb2818502f47c9afafad99f36e8b9297a70b177b88c5aa075c473beb81c4f131b41a19d1a16e9c33493147582de62f428d573aa8c152739afbbc904b4be69e5e73a8a9ecc77c9e7dc8969565086d569f3daa4db5a9e9f01f2f1695eaf85b4a7822887598b8ec9c2dc006d3a20e35d110e884fc421b53208f8b5cf45c79582b74727e0e6ac7c869a93f20e383e9ee49a0e41c9aab3f3d87d3e1d8e0a310432bd8523c4e7d104cd89cac2ee1223a0b6dfc2eff73181b8ab499b3dde29e3574af359105a0fbc2755410d83115cc294eb1ebf83b9ec65b550bb1698b49ca85f89050c55afc61d6e5921eaeb99897c505bc160e2ff598aa41a10540058d05bb81d0a86fa03aa6771165fda911c4b337d0d2adfac513c49b7b9f0193f88650d3de23fa7405a53484b98192be7cc9757818ff081496f9a627829a621a5b5b46986a6a3b0d28427121f6d976da4aca8f46660a6794a3fd3a43fb528bfb0b9641e5c3a1646ea078844a0e96e1ae5ed2431d79b831da85ad694046e0252d5d6502ff71ddd555967f7189c0c6cb430fa64b28f25bdce56248745627320e24dd3a1074390b741e1a947f22b9957ac8896e1cb462e255950c1ac2aecabfb25a9f20d6ad205d4fec749e09b51bfb6dee7c16eaca2733446ea34bfd3a270ed1a4f1652baa2e16f6c978037fb0320a214b216d4b4a3f25a4062f21140e43db9b9c01c9c381b7d8541d29a43e12467f6af13d8f7e0f6830afe567cafd6df6e5f2b5b03fdcab2ab7803adf5b9cf361cb212dbf184d23096252bdccd6be380b1c9f34141813f19fd3f10c4756cdb1453411c39c1b921879296b2222a45472ea0a953bb06c0ed1dd69059fbcf42c820dab022994fef4cd885b486f761c0149e405f328da3a64181eab7c5be4674ed7dc7a395674b592f91ec45b3c903f30c3fd6bc277d35af221b740df859f4f0fe0f4950aa4ca32327ddad8492e6bc04e5912d8b4815e7456680eeb04de1a94c3af3af88fb93e313f1c8e3145c4e8c6a95ce5ab76bae2d88032e5aba5b27d0e03b593d03e0298754f19e3df0b03642342bd3815ec0a3bc47d9e660787d0549c3160e6e077ba7d23f3deffb407538041cfb8d6e03348e3cbb4e2be9dd1a596538d62c207ce33cb7c592b6d16bfbbc995a6e1ff1334bc6779ae35b36a27bdaa3ebda3ca29bb48dcbbed29adb5e22101e0010f525a84274091c723f911891b5cd92b75d8e7a3b6f07393dfa47b53daa3819fa8210f4efaafe5c2d2e172df5e14aa90badb86b47ff25fa28d0716c013458a8ed1624e9494b1bb4e0d6349c1837f1161379d74360d425291683c1ee57382d9830b437090063b0c27f62f3f36e9a6e01a4cf004870363a191d02040b59a8b73d51a9f6015dd2e4120a0ea6396dc445a507a23a0ee86612df1729ec28107fae1543af7a1f51b3ca8f9881567fd15a7e3460c42b2de75684878e070cb9c83fb273afc10993b16eb43d1242c3fa07be18a06dba434ceaf5fce85ec16030c74f1839da461a3bcbf98e726874263e027cf4955e8ec206e5619b2c3dd6b576046debe3cf17f65b5bd02903d94f1f1c31bc53ff2478ecd4bb1a6cea12f5498f6f0d64a37126bdb9d53e6dd2ece9724a623263074f173423d0e12ed08dc3544209c24c2d2abd76acad888164142510823177a034bc415841230a053d3b726de6bf437d3844b4232afe67941346ec141ae9277bf5b90a655aa25053fd9b05167aebd05a839fe42f33d614dd7c9a08bac9ca9f1da4bb194d8b69a82b13a4f654590271b852e5dd5f628b1d1535fb8c36e4820570ad258d00246cf5d6f26c4605e9658e5e64c58d507443cf9cea087cb85a9b728bec675f4904269481a606f55620489429ae6ec872aefb177d0017b87cbc57983054931749fa64534e7f11a564d67444b11f69dfed83a9a1a974139d4f337c4d3002f23e1f71022e1067f3d58f945535d94f8c927b2062f7d6ba15fcd264e8d5453ad092a2a0f58d040088bd546e07fc8cd227414a7fea477b122cc366cf1dacae276acc592a39784753ffef8332924f77b12ae1e99ab62c26777dcd8bfe9c8cd53595d22e5e9a06a0d20d8ea251c521407577caff5404a1ad812cb2330b5b3679663157507633fb0e054c0c74bbfd23470abbdf0396d7845d0cead8936d91f387cbcbbc21c037b1462bb8bd7a8e1caf9ea0625c9601871db756545f3a7383d48f0233c6d5c1aa7ee8b9ed0c87110252afdd965d61a7d70aa78cb4ac2fc4e58d3a3151a9d65b140df7952903e18c3b05ae73040d379aae2fe2e60167243530f37811e4950dd5da2d29377c1f5717722ec1e0c4fbd1d0e0b76c22a9b7cf97536ed64709cfdf66155fe0347c762c9ab3010e1f80eacd6e9a84ff6c74aefb57ebfb92ea60ea482fe18574b9e9e23a6a3c09907e3f6027b5fb637c20a31e0cb4efe64e9c2a16b6a4b52216396dc65cfa0b0130475c538c049d07d88cbb80d9058328288f8cacedcf3533713a4481f53dcea863a323a803fdfeb460232b5d8ea5339e57034c132126a0dcc2987e57bf52b00f2bcc7feee62027ccc48d18ccd863b597a557aac7b63951db1a535c6ad92543dd572ee763f9abd588fa83c1a7d652b01ff66af6e3e9ca50021e4b83090531359ddf1f0fb00c62782a42f32260e76392abb3d3000531a38f85214e2d065089c48e573e9e350951a4771831b43479f289fe1b283f0d00f865625d721800d8172c7c1c440f7c7eda7e935ff8edf9328332e356a137cae532c1e8041112d885709b9c1bfcca4e6df1d18afa87563815b6b86d0b82bc5ed22ae30bca6ff632b361eac835db2fa536199c8bdd2c36402b45d0503b00d9fff48291a20761490fefe00110fa50d1d62cd717b0469efdaa5012e97ccfce707cd33d7645085f12af9021f5aa5081e535aed753c7543f6509555cdf8644c19eae4d8026c79ed21cbb1e9d85f50c1d21aa1bbbdafe5c47058f76355bbd44898637d92ca7e48d478f3662d375f72ab14af979c04ead0f082416779625bc68abdb30704313bf56fbb19cee0412304c15309706b9c047db75ae677ad45d53918b0474f7b4cf8d30053e3c457c4539dbb286a1b5d7030cee121e47c4bda566ae6eede6d893e8762989fbce866e89e0575baf6e649461a3cf0578360eb56314ad0091d724481ffac276a7ae4f88e57a4ecf7e8e2fb2e1502d7426c5c907cfc0103fab0e0c4b787dc05aa362dade47de70bceba76d8e07910f7c104566dadc94fb5b3a19060d5d8b6a2f8037158d1b7afb0f2e9732cea0f266ab7d1f637f0844477a979cda63f96901c105c204615d0fcea1152bb2ea88fe545952f5c0a1c6ae8598c90f7951ef4c39a1c8fbcd44ddbf6168318a34d8e10707b8a51ddc9672ccfb76c56b201a9d10458d60e46928a55188e89ac251980fd84d6ec88900a49bb887f6dde6d15894db9a38e0888cbeb2b58278eefe20cc3cc910f2ad148ef69b3ca3d2956f6b05da2258711c2478f95a8586bd1ffa4851bd2a694beae331181a3db35860e012f41983f2fc0cc9bfd244bb534c369a28c8bf382c77ab20a1d98601a38edd7f8794143fc24574ffddf584ec0520bc2ae98adfd875ad53d5e60dc29d80a787d1d92f770ba2215495b50276f890c5aaa80bd7985712c06796eecefb27fdb76d00c215da6a615cdd31814e483d1f7620ceb577eed69637023107d4b19910a7a009ad448c90609e6941d6c2b2c1fe576ff5e6910236ea364b190eb7c1ad8dd1e504c7aa1ee9661a67353ed140c24ee1ac734273e2f24fab97b64048afea122796e742775fadab692ae6278599a8d5a9a1f8a2ab57f022a0c856bde87cf63e09afc72ac7b1c9119f2810e803edc6eeeecc0f30bab3e92b7d8793bb9eb5c33161ee903d5c1114261ae7d8e744486653e3ef6799d23bf5f9a064869e1d26d54658c02d4ef855f03e6ab3f19de61262b3292f92578aa10252e08c38bc835c325bf30694bdd1000862717bd94370ed19f92f16eb653bd346111b57634b191724f9219dcef12bd15aceba6fb71ed4484af67c469db3a46507de8822a738500f597dcb852c1a2ef5ae303a9adc0f4eb32256fc4f0e98b4d69b0c70e3d01cb357ad1d39707502441c6c656b6e61a62a31bdbcbc6917d2689c8495e43acbb54615883ce67d87d73cdde3b3556e9b179d587d8b285249d2ca76b407fe5fea87ee331f419eb81b4992f89091eb9b959b9aa8dd5e7093e39f0cceb982b6bc04a65ad0e93db35aec2acdcaf9778b61f1bb60ef3eabcb233f284d355e83eea4e77c83fcd05d30cac0bf2dadd62ed928f04450d3a94d3456e0fa8ac166e2eb7f41e73922b63549989a9832adfa746e0505321708e2ef7aed4fe57bfc6a534c55adf15eada171591028e07ebec5431de5173690d46b702fbcc697b063fed279da1091a5d5ebd8d3fbcd32c7e3284d5388ff9dbc3d157939f56fb6f9076b5c840f81ead2ec34caddcd293e0fc079bd610598d392abe773c7e27b4c9a9b2f2dcd015d2fa2512f752abd2b2dadd2fee17316bb1afd8434ff5db433ffc613741bb6867670c83768252c31ff8d5f5bd652714035ad39af3276b0949fac4bc8e2c7dd04aa4c5d4736af43745b8ebdf535d4eaebfbd5e71c1ecaea279d5f0cbf1aa50e41a2396b4b026542b366b687fbe0c8add4cb6c162cd27afe296d6c161ed076f630e6d9c04711b2fdfc81a8ab54d3050afb6745d5ff10a50159c8554c1cd878fc02c0a3e8da3a44dd0a2bacf78f22853a253cf13ac4018561c1a9fb1b74b866a7a384355c651bc3315c0abeeda0a168", 0x2000, &(0x7f0000001100)={0x0, 0x0, 0x0, 0x0, &(0x7f00000004c0)={0x18, 0xfffffffffffffffe}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) r2 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) sendfile(r2, r2, 0x0, 0x8001) syz_fuse_handle_req(r0, &(0x7f0000002140)="1b9032ab7e7de30221d98c610c92734859e183b4a8ff5f05fe2cd8fd000e6458edbd52827d36ed95ede74c5aa33a6c9f54d3a13de2b3bf1cd6b3b1966b3664517d31d1270e2242ab69319a06253c2575afab985d734da0a82f1140144310402dd635f7802f3cece718bb8712fa34a00c57ced3ac4c12f03cc818aa97a63ce39ba53678619979c8832c9a863d74a5860b4e41eb61f4a60200cc11673f7cba847b3c00d884f35aa60e4337cbdcfd7a96517332693eb6684713a03d6b944192fe6e9ee1a75b11e5454357ba3eafde2cd587a13c93e3e38abb77301907536a26e792938c0cf4226c392514118276ea63f716f846177c209d7cf1ea8605191bed888568bdb71097276cfa9c7a80be150545b48c3146183013f6cf920220ccd78ee8052ac888a26f10f58c5189c6ab54c50505f608511ea2df66437a40bfea6c3c129c9ee7f3de1065d17a7b881c85c13b73c95bfd2628e56aa63b137d021a5d334554452fe88ddf517c9ecad22ba1522403a662924f7c406eb3e345279da8c32e7c76c7545f68658e71915ef0bff2a0c72a5e4382b675f60f5bcd16820f7f54833591d4875b057496853565b2f8ab66c98637a7d1f132283962239de4befd85dc0a6432c9f5bffaefb6ca858660cc7a29455227dab526c4ec139e5558d09cdfd4fdf7295752697b2996f1ec7b414e8a4f10d2f9529420b7923c9fdd6e482f287d11d8fc4aed7af19ae2ca5626223112af5a3922e71ac8c1376d4e8be8820065ff64ac106a823818707fc8082f63dac25dc189a95e2df6c86fff1fcc054f1405bc92b3d157c722bc9a867bdc90201749e158354657606295961d4fb4fef38568a5688e5a8ea9a5a6c96cc7149fde0eacd07c9e35c8e3908c3f577bcba2d02cafb67cf063b414cdb22e04a0cb918141e32fcdd1496991411b24ab484510862b280419a78f15a9c59838bbc4ffb18935bb79f8e53c6ce5ce53143eb447a6c73bbba6f65d6d9e52216f14217bdf24f6b83126e86133067541d1ea2b7fe2301e07085ec5eb899f3b4e9f8d704039dc96454266df4c3815b9460f7d29630354babe090fca4dd2d1d7877b5ea180d6a84a46aabecf850b6689a3e339ad8307c1bb64c3101df81ac9422bae077ac408ca98612c3a8606e8a44e65c2d3e7afe21083ce00a9ef5416b6524f63029413314f7b3a77fcd38afae9d4e8c0398b7002e1aa3c04d167c0f3fe68f78a0290bac935bc088aae59f5c0a1a6d9b89c98fec9356cb69c94d6a667be6a52a081cba804924e24f2b4bc72f9b5d3b6ac19717ee18b7ced7ef5cc6cb83d48a1a7ed9e26d0619547669bce75a5b63e8e2f3e73ce4201cbe66900ce3d1425f9c420cfb308877247195fbe4d58efbd1a928f23f866a37ccdb9e7ae9cb0b5936edad0437c8a70a122becf32bc096d4015325efa5a87c3485beac877f7b3d3931b2ddd95b38f15fbff20879047711fc304ffc1de823e6494a6d022b423024e012583939a033309688d358e086344d2d0ef0718c1a5d01cd96677352932b05e3b0ec98f59c5d42b235f0e1d117ce8a7aad70ae29fa172817a7ea3b789d4cfd5e764c682a303e2972513bceb5e0b89a70dc7292ef7501ca24c352107ef5a6a5f42d9bf493764a12e2d102e135e1e7f0594b533c29fa098ad53a653e084688dcac1d8905133944d0f01a2c6cfd62b13c4189fde38c53c5324c4e7feecce2a29034f5be4579b05886d210f77b6e69f0306f8b58603784a7eab579ff7d0dcafb10d038acdc093c3c4f824beb0e9b57fe61a47d48afe7b8bc19bf6cc4ac2e9da4c1e1705ad6b1abf5a384c7e1764c05c3420b8626e421b4afa35dc36bac77eeeb51071e47314e25961635b4cd8f70b155708c342f76ebf19e6632770969453f4ece40e1f8e948901deadb31ea9dd15756ac617821d47b8bcc828e6e2681ee85e4fba7f3252698320771accc02862870ee0365e8b470030260ba45289d6cd09572653ea397531a9bb58e63aad615c8ef6420faea89c9331e746b1b2fb11d803b3353658e4183656b2d1e7298d1d4fb40f63769fa998c9dda3972fb93ea79836961e112c1029e0c9800588e1cc72ac46c3eacaa9281480f09acfbedad7ac0c8c8c06c2714a5607cf214f10fa7b91ac8c4ea866e0ba37e63212a44f75123ca6b621382362e97c789da25c23303e33e5915e80025ca635ebdfe8015c0332e81832fd71591a7d823ef624d16d7df6957815d7dd722a0474970d48fcde3014348693bccbea779e133aea49898785e640c9515d622cf9417d89ef10c427099de620d5c948fee1455fb3fa48d2c3270769f865597d12be7ef330ebc2840cc09de2dd85895de15ce21ee204633073318818df304d2af642f15136d67ad8314db2e38a8e3f557e1d7737f55805126a11c0182254ec5adf0d63c7b8d7c8344c65cc45a62484e54bda662c3ccdbf3bbd42762906a3c03d2cd9563f2030e62351bd02d46106b1232da369724ce591c9fccf08eb0a2b0c919b77a50cf5a867cea2b64e5c16151a196a3f700c6a7b7f21a6f23be212d2c9e651c3402141b4f0c7200a2f2b0210ba62cf5e41fdd1f16856226c7be8ceb73604690fa081fb8974d0280c75c77127c6e4e1fcf8c5075ad241219ce1fee9067ad613bf029c8ec5ace48054d0a829a39d7c7932a6ac9749494811a62002a77d09e901604f877afdf47eaff9e1cee8e71a69eff73293d68a4c25df599994eef3dc9221245350defceac758e4c81d6cd31d323915d186da38b4278b50f690f900f8056c003bbef0b1202df84c79de0080a3a6da125fcc4ad84fe3010c8e2eccb505ba43d622665c62d8638e471944325dc91427654e87e9dc89cd5eff1e5f635849c0d2d540fca3332c427bf8e0e0eebd6042ea8090db63a87a4ef830d49d10267891b813d83ae90e13afdbe59ad319a8f1db1362ec20ebc2b979a8ec7cdb72c6fa840cf872c1ee6bc02630fa1888755abef875b465a7501cd885caa49d2254c0d02dc49c33dff719ff21b634d988b40b3f9d38fc3b7a3a3021cf15bf88b63988249fd81f67928c804ba54c438e3934a4ee63037ee38e7e9fce61fca58f59e4bfc58c94f36bc9a11f862a56f48d1f28aabfc70abf378d3b2786724d3e24916ec9364a2b7a935b75ebfddc3129361765c248f7e6b15feeb93883e454ffb672445afeb665590590b80d5d5ba49fef6cb45613e71626f5056ac0934c95175ff8748088bf5619b6855e63b4ba1b10e2a8eda2adc7dd4a0d3654a84596543b110335da183f504d4748b22cddc6b4c4767bc2940bc36c1e3f1407a94ad0f1520ea076d9e61db46aa10d50d1e50b36abc1dee223ea2728756abea67f35bdf639e523b382ec5a701ac15b4fb7eb7b3c1800b4376fd93a6c35a99e5a773ba614f116eb5a7df19060791e7d2e2bf742d944eb8ac6f3eaf3fe191d3883f4d76e11c72c5cf06ba95873a3ffde17f36ff76d716d0181aaa4a7898db972247360a8c737f27626a281d2860c5cc653e70c07c61de74d350b45af7dd2272ba5bf330e82522cdd946fab4a573639d9ebadb632de35ce9e595ec4edae97ecdb1a04323cb43d34dd5f91e9340b6a77d3015487eb315d34cbcc92b3c1d5289f91bd138b400b11a0dca8e6a71ac71809fde775d53ee3cd1a1284d880f251af1a91200110dfd243f34331c84f4f9a8e859c77e00dd8170a9641fe40ed0e8202f18bead99e430a540a24372ce3bcfd68710ef2d2c2b0b5d61ad3e113c5d7da00f52404ca06e3ab10b611daaf00924e456f92ac6d27178baec52f944c5905f24d99093fe8a4a02f56205e50c178f6eb71db0ba4441b08682a50a1b7af641e0cd94b4ffbef783a9b0b93c2c251d76943bd6cb18c249516dca0c0a7816540b9cfc18796f775b722c74fd321d659ab1ecee465b3abf0648052108b618283d3afc83bc4b879ba0fb2d86e8fb25e1eeb59e119618efaa12f8831415d5c881e58f4f443f8b2fb88c7d42955efa29402ddde3c6884157cbbefbd6a4129069ef1dd8ecc2606c2366b592a3d9a405e6c828fe54c5740d29f7e5db47ec2afa89a44af65759094ef5c0a2da2ef76030bc286004427398850ef9f94ba53edfdf7c7e4f3c1060a9fc5b6376916ecc6da4faef95315242149a851e190baa8228c79a6e6736cb18d59763bf63e18699a4f3c097a690d6f945beadb25f4da4bf03402813ae8a06c552f818ada0111414d4d0324a409d439cd349b07e66ab5539cc0cb319b8c449eed5bc628c7caaa08f28c1b2473f6a033ed3fb6c2efb79066b3d99a15c04ca938ec1de9a8835e76487e6d7ccc2bdc4653c71adbabe9b17d24466f115c03c575e69a8c85015b49f7c024b883ff09f0df01500a4b9a088f8df211a324aedab15ab1639329d4b0ca710f961fbe754a3c35c40600f270ed9e38600b3999bd316f3d7d38335ad6d1ba11f1b39f0e398379bbcfec649644e3f65e002441cf9e7548d56dc7cb46637be09fccf4c9a6de6fffbbd90f08873b8c764ce307d85e282feca5c53eb369aa61c162fd9b65bd41f5350efb362ad15749cf5523ffdb4d7cf788eb10611f45c47a68ff2f55156b2e65f7e609dd6422544c8ab7e85b212e17e97be3d52ef239650dc916c60aae9a7b312eda890d7f08344fde5658ce2220677e78e8edcdf77f9f668fe7e687112a5b8db7371a13f7c22dc38bc6a09820242b304ae8209f1715ca24234d88b8083163346c0932524b19a99772269780cb39e93fc3bfa088e701c1512b56ddc632797d59f8803f16173f1939311c829af7a24248f9047089be7aac7fa077a6f0be97b8a98a5156dec72efc065aec534e10282d92776dffc79e601e0bb820b3f0c7d6d27b54843df1dd470152384ae1f5fa6898bbfdcbe2e0d23ff294b6b3e6246545e1b71539fd051052e707153f25ac44ff01f05aaa9e8f2686db84ebbfcc270b9ed47d3caf2499b10ee45934bcec2d4ddc502226fdf0a8a31a5abd62777ec2aacf286bfe9f051ed7441af5c7713852835480ef9ee067e384bbff726847f0a70a2b9ad08ce87c49b8d3a49341dad71b8a9364442e248d4a95829d2fd5cc14ee9b44c8350583b6553a1ffb35d977ea498339cdef790bf68e1974e074417a18239cf0addfe0f6ade03fa9f079e19209b660473ac902306c5d00c0c277b0799aef17c4ce1e8f4dcc8b6469635efcc5be16011a9b7e1e71ebe364c98945fd1b100bd20f311d7179bd09133968ad99aa31561475b083d506e8d11bb2f8ccc447e101b370b2d4f1c2d1e3d2422d91cd17bf1fbe237751f49271305fe723a21807f2c4bb7e837aac2a9703256b69d2e2ece30ef6a9131c52a977efdf1489c4f900b0b6d32b4b4fde000df930dea7d00a467e5721d2fe1511c3deb88881a5db58c50d9d10c449b6fd991791b5db04cec88c47ccf5872222bc9d499c8e7c4d0c937030ec87b9f85b2a3801f16ceacf27e6bd28351cb32d4319dab2a98ea02cc54b9f8198e3ff6bfcc9031976964dc4bfca9a483a43036e26c8cec3a55fde0f7f60c8191be0bcd5f2011d4464202d844e3e5111ba1442f41807b0ece4a02f8d87ab857dc648644f088750c337fc0e60fb6b959cdc45bc4ff4dd1201a40ad58a9304767163d091cea804151d001134eb29e847e2d8a4f6b9acd9624c905d7fc1cd0973077db776cc01a24b71395f5cee7e8f6b5602ece810fbe8abf23663447722f296dcaae4c82468a1909b5437e166c10fdbf6ab1e6ce7491bc1e1df3923735e84f16ae49c0289134e0ec8ee0a7088bb1b7d72519d12b5a4609c293d189160f08e94b3526ac9045ed2e136faaa73d682c87f9d7ec9d7db1f591be1a50cc6a8329f6580d205451e2ce31ef989eda995f43683f204ec64ee09dc31e79d3195c02d07bb425366ded3fa0e45177c780372515a38e4a3ae450103168e68dae6bd5c591a523fadffdc78fa9cbe0527039c6467fe95ce01001553c9137ededcabdd82a27684b938ccf29b30eb8bf2404efb4f6c250e2dd2ab0a5bd1d971721dc0d4ac9ca38236f99c721449f9a5edb0f9c1ddbe92c789089853f5ea738d2fd502e8a1ec9aa07729121e068274a5b4066fcbf111cd23edf11f954cfa6e8962b60730ad2b09f0dcaa1bd140d80beca4b42166b440754311290713537ea6c03f28d62e13a1c30e422dcf208d61cff89f4fa9816342dd72a2aafb7ee556084ad1150e3437cf83793671aa1527ba2066151183b397b2781dbca1a5035a30efc1d6810b9385eeb9442102c9351aeba2f3c29c79366488ba4f8737da8800909757e1a6f8c61005c18a256b5ca7a12b3b1880d4c4b5e5431742885c612c2091d54e6794c72f61b006802db2006b121ccc2df4752a6f9c4d3cbfbffc3c3a1864feaf30521f5d7baf343f290e8e80fd5cee1dd5924a4422eaedb43d4a3c918b1cf9e6898ee087488944108dd16de85b7d3b36c42be362e40d81367cbce56212e494754abfdbf95ff6883e87bd82ee3e510f8b8973eaf25a9572ecc980a0d57d1a3a577c0133e333beb37cc1c99fd315f5c917f99e84c4ada20d19112f16e01b750cc12e029320a455d9ba1d877320e686e6a39f08f675f646aa792555de915e427b02464e34f6121ba4e30258a42f17a83eb8b0e0f2944ea16c2c95be147ed97b88cc31db2dd927f31d6ea1f200dee7d371ce518c19cf48d9855f08ee4338c7fa471dbd8c9b6ce784a898158da1805803afced8553d5d249733f9841a17ee74ee4db3cb260bea9da4087e1225da103526a9162ba85691aed5e819e2d853908413ea56f7bc4fa79e3d3d2d623c27b58c27daff0d8d2a45ee471e12118ee7c0b16ffb1a13700966045b923a6f48ae8192fe6f87b698bb2a658505b51133c7ddbf17c281a84a47978ffd18a9e666f3b51e77bf280876c210a2c6853d85591c95be8883f8ecfb8726b147428442234d1c638f1ac1c79dce85317179c6ab3d1cc01a54104859a639a3a1ff37872341261f6a6a2f1fb667b4e937875eb50c096cf7adbd697ee1860f053511afaf5965dea1e0a974271bda5c911c0565bf199d70e635ef1d42e360c0509fcc53bbd1b2036af2e7615d2e4140321f60a2643abb90fcb048c48550e3e8c34cdddc55fb4e4f32da17e21050445d6f7357f390b6edaedba0cd7e8bbc246f669770600d843f7ff5bbc02c6a2bbc7234ebb580c589c369474661754293d4bd8bf6f4c74cc512f9fadd7d9cf08f3ee0a6b3411b5137ab83c7e591ad9fdad5f636da9ac42ec39fb3c53aae359813f38f6a817db255f423f77ed1175d49b6e9fd0b99e6d7130ff2417812f9bf4724d05e6c34327ebf4028866000f8056480a3972d7bbaaf00832e2b5b1229e09abc4499943813ec0008c416a439a5c2ab21e94be8a7eb041f7facdd82ed77d4621d654bbca8432bc0de7046fa16ec6aa22aaefb00e6f5bf82478dbe576d1c93bc4bdad6b6974a457811af4462ac6ee9a7ab6238524ec344a4bddeeaa7a5ef00746642773764b80a71130fcd29ae62e313eb7e1e846390c59582b6cb96af119bcf18d6f3b83f1cd069fcc77746f003dde9f7c7285ab9944d96522b43c24af5304d97d132e1232aee4c66dc006ee82a3167169a297d4abcc02e7612bbb9ee8fa8d8483067a50bc2b3a706173038d824052d55639a2da7beaa14921bd884a5ab176bd7e12fec52b8f9e9a1f7b3f3e70d13d3b72e3763c7c66ded07efa9185e7080bbfd3bcefcb3806fc0334b0ceb73d4aa88e404db289151bcd266fb79341bf9cdca22e4faedaf2c298a799b429b0a7070c15ea48cfc03ebc76ee42c8da98931ae3240f8332d725fbc6bc0644dd8ac7d64ed62847d77b6ced169b937ceafccdb8da00f604b6fdaac7851ae29d698650e6de2fb7548ac49136863d7f2b1add22289ffee480f3b89c850de32f39d0185cc537f30d827928493d8a11c00326a2e51600b2a37fa47bb5bf88751e327f30a0f7b80317f947ebfff7fe99ab60eda86cb3b82ac740a9cd43d4d761b25ee5b866c1a65fcb797ff156cd038e6850debf8048f30e9c89886e2278434d8fb631ee61bedaa40946c25e01905befb9bf1907184fea31297d4eba4e217a4998bb78faa0c105a91f372a89778af3360e7104699a86dbe7b736e5da544a6b1f65e794a4c794384b420f094d48640387cbb145495cab79592bd10c02f82aa08966b8c8ea28e952ed6d726afe722603f99ebbf5f018c172131fb19b68ba3ced92ed0db07548e87af895a49f25adfccf8fe8babc31039718b474731f0f074d446d41eecc79a3dc4b3adea49f531494b976bf04b0a1d19899e59078fbeddca0be9516062ded818f90c6e6289480a00ffb6653b8bcde20b83e1c3a8b7f837c97192f968e0bd3d6adf2600cbf96d2d9ad2cf2de7bb9d6d223c323bf070d71be6d5cc005eccfdefd6ee86f81123511a30bed75f1bbdae141669847b7275904fcf656c9bfc09dabaa2ec153d3b151ea864108eb65544a51e52e4588bf9987e6b4b20b64b901fe96a9ed6c22116a0151c4f5938cccee21ef663e41a65e40c424dce6fe23030aefc62a89e6fc3c920d8869c70b2f84083ebfe224a926aa4d4d92f57e3938ba5d63234ac14fc250d24ab07487535d5a704f7012159a9948348f81f836946934026b63380fad02fd44435dcb7e2b97361c875f8487004ace018bb55edb40bfcb9c9f7888206ec23d67e468dae34c5211f0f2fb966b8086db9d263f58351ade03bd4f0db50ed7f570c55000c9f2d4985aa15b3dfc669ce6f0f0683357d7905c3cae8416ac0a16d0b6283f46af487f1cd32c8fa4f50e119bef259dead13b70fba870ec7bd8f979a0410f03490ceb80023aad790a5f524998947d8ea5cf5db2cb3a5b1ca1239b7e11023f8aeea3b83063c597c18eefacfbf8bba9d833da184313430ecc83ae30e24aed209ed5c528d6b7d21c01f80604bb00798b5c5bb9e41093dafcf2ef70e7ddc86dd4c6b52df8b437b9beb70dba16a9070936bc9efaef96b934ef1507044a50eca84181d7f60bce602a895bc81eb168d8d409473b886c07924ffef6a048e7746dcd28fffddb52d4df7bb19ca83a0a338e73c8d0ae95c886295fd2764bd41154163b6ac2c42c27b50398cffe42a4ddb35c689fc4574e0e601677172b0f0a37a16b8b80438cc8114e5f60ed5055af35ffa749b2160be76ddd8523010a012495d507c483b64deadc91d4b4654f1d341705b42bb0828fe0261b268036714fa851c246482b405842ec508136e421eed4f6cf2d280fa1494bf08846508566ceedc81c8d1ae0bb7b3fb78e44cf1de01dea3688a96246359bcc1bf286787fb7ac26d7589ec1cb75d2acc2cf85f8255ee80dc6708d51e5bb8b67295d6d49b84560fb1648ca611a9881948e7c53a756de8b4545e0bf2d6c665ebef42ec16b1a4f764205bda56ae191b102839b8b9a8ebee8c4f21e2eab0acbf57c049b8f3ceee4d77979cc8450ce795525f915d099af4288617eba9c5acafcbb0ac080f9060423265251d0b090bbfd8fd579959632fe76bf961a826f7d0735a25818d109ebf055d8760df83d1f3e1ae0ff33bfef8625fca06ca52ca094eab30e7305aaa591f373042c1c0c86798bb14c72b4ce65d7eb646da63538b346b06ea82fe3488d3fcb0acdf8ebc7755557564081cb1d6b62d03a6bdd0f63fba2b8cb8cb6b0b336b5bb99b90763d6d9a8759f32875c2e2d33e17a170e706ffd0c407135205f8e09d104d672738bd772bcecd46f33a79d12f51b37251df71ef464494e7299d791bf6273da7ccc2780dddfbc423b8785ac00dd6d12557b0d062720b73d4b95232766789d6e2fc092ba7bf371cfe9fe204c453df3fc9efe1280d5cb1d5d7434bcb24acfbeb646d2b25b52eddc92e2b6d920ab7251cc41e7bb2aa4c9e7f775fbdd1be585399ebfa71a784f887d0510f52cf84ccb88a89fd2b99c7bf5ffdcb0b9755d1fc20c61d0c1c0cb581b67beef2638094365804617d1ef6875163dd30f5ad2cb358cf2fa7ea55790c4338a3d26c97e32a97a8010aa03e89311376b634dae5f50306c7cd15ef1a207287f58f6b6595885679c04d8ddd01d17f29a3af57f689272ae63b5211268d0c6a8285c98b42170e0c4fdf2e3ab6932b90f826e26206fcbeded986bea24fd2a7429d52fb48e3a181c60dd4281c4a344c0f31405580e477a1c24709519392cd39bd7f29689ea0e64a91f9bd7757be641201c61befd37134b8d95fd8354e7b546ecf1e0539ee1f2b11059a19e39fb9cb36178cf543b41d6e59a9bc5b1d81e47956085865b98f9f98758b664441263a1b539235a5472812580bc253bb0601219af3ded3a7f44f2b9df55f6bf0494c34f7c5d26230822c9bfb7311f4788b69869a290092103cda888f0690e33f3b2808937b71ddb792c854f9a881ea9d05896b7fc15b24f525c52716e4ee656592d4e041e52ac13326779bc03fe275b0f18f4e9ec93817e5b87682427084a99d822d757a1840d588704c8a76a0e108ff8c0dc8730b80e66d8aeb7fb7d2750bdc2c7b724512626e2a0bc6b3eed4ed22c770b89287a2e6968a347df5a75a74015faac27b98cc0a81863cbba499c6e7a146249e8f7cdc3dcf9461e30dea05e82b134b862eec44b513b3ed628c9946072cd8c0b06231d914135018fb2d782e677f8d807431b5dbc814cc3972e1d10fdd143c263e2f66c313c951a3e60a161d5ea19285f5e349a75090a97e389bf6c1a15b5655b6785aadf4af2b5eae992d062a37113da9e53845759e11879c985a4d5fe37d2b3599b01774f8ae09a21b237e7439742603b4044781ba22c1305d7ce7e00e2b829ef0ecf766e13c2218da1c55753a79126fad44251a9cf515ad24aff6c854d8456c83ef865c79795bdce36da137890a0a2c4c52a41ef69ca165d174bad83cd9f21c9693b89a58fd95715b3c454eae6f544eba6407cb8946e22a071dd140af5471d14f87034e8f4b127fd2b2a516c7d080db32ba0cd463b2f668e0ccc8df6feab59b59d52fe2070efcd1030e6054dc54f40ae4ae400b5468d1fd72ce3a7670d12013426b725bf27d6bda592c62089a8b94e5a241678a2fb924151ac3f07c37d7e0004a5218c656c9989e63acfb5cba3ff60e82af7139e9f2e07c1cf2d6c286549221223b419dda57a127350ee5b4a324a36551ed424c1a3fd61bfb26e6d12f3f76479da8e31b28ae71eccd52dc52d15877b796b6be59966369be134d2d49eec6e3980ad744b82bd9d09e3d2b3fda078f004d00ff6063140c41afd58bef8bd58f9475ac0dadc8141b61c97bb563203ecfadd35e7bbe79ce7e7431319b1ebaffa0ffa2ec839c1fb042bd646d77a17add3281e64b68c7d9d7ff979cf57293ad1554de494f3d3af242ee9d751fb241d4bc9c6528e06c389e0c13d5afbfd8fc821b4d0d87928795d79688e6c6a4cc423bd51b939bac0f75f4e12e380f732014044ebf2a23617e7f371e919d32ff20ac1b90835e0fed8e072b7a432b2438aab328347bef583f5cc3858901ed0df44a5a564f07c8c3d7fe04566a14ca83f844ebf9f1ca62d3cc14010c9ebe25e03118858863b4355a9045f873c4a7e70ce28ff337a9260ef01143aa6e", 0x2000, &(0x7f0000000b80)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000540)={0x11, 0x0, 0x0, {'\x00'}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 03:34:12 executing program 1: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000380), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000000)={'\x00', 0x2}) ioctl$TUNSETVNETLE(r0, 0x400454ca, &(0x7f00000000c0)) [ 614.944906][ T9547] loop4: detected capacity change from 0 to 512 [ 615.047553][ T9551] raw_sendmsg: syz-executor.3 forgot to set AF_INET. Fix it! [ 615.075954][ T9547] EXT4-fs (loop4): warning: mounting unchecked fs, running e2fsck is recommended [ 615.157812][ T9547] EXT4-fs (loop4): failed to initialize system zone (-117) [ 615.166489][ T9547] EXT4-fs (loop4): mount failed 03:34:13 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$batadv(&(0x7f00000000c0), 0xffffffffffffffff) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(r0, 0x8933, &(0x7f0000000300)={'batadv0\x00', 0x0}) sendmsg$BATADV_CMD_SET_MESH(r0, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000440)={&(0x7f00000003c0)={0x2c, r1, 0x1, 0x0, 0x0, {}, [@BATADV_ATTR_MULTICAST_FANOUT={0x8}, @BATADV_ATTR_ORIG_INTERVAL={0x8}, @BATADV_ATTR_MESH_IFINDEX={0x8, 0x3, r2}]}, 0x2c}}, 0x0) 03:34:13 executing program 4: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='blkio.bfq.io_service_time_recursive\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) fdatasync(r0) madvise(&(0x7f0000000000/0x600000)=nil, 0x600003, 0x15) r1 = socket(0x1, 0x803, 0x0) getsockopt$SO_BINDTODEVICE(r1, 0x1, 0x3, &(0x7f0000000000), 0x20000000) 03:34:13 executing program 3: syz_emit_ethernet(0x106, &(0x7f00000002c0)={@link_local, @broadcast, @void, {@ipv6={0x86dd, @generic={0x0, 0x6, "427780", 0xd0, 0x0, 0x0, @remote, @ipv4, {[], "101984b69c6894da2027219a225e32a393e58369e588f9aa97415de08d197b46d458f240aa11a02e05a669fc188923efc3d0ebadc45b42fd4839f3abb2c982f061ff8a0df5f958536d345bb7c309c897318cfb5038ae0ead424ca969ef159d34c5b408e2c31daccc5482d5fd6c30ef1466db30aec9044a786351660ac4b9b28d5b3921838b4f571439664273e6e753dcbee1438c68b93573bce22fbb1a5c55826c51fee7523359c0338014efb8a92a78712f1ee2fe2b647d0d1490c17f79b530da1b0abb78649e5a98e0a96d80dff237"}}}}}, 0x0) 03:34:13 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000140)={0x3, 0x4, &(0x7f0000000040)=@framed={{}, [@ldst={0x1, 0x0, 0x3, 0x0, 0x1, 0x7c}]}, &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x24, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 03:34:13 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$batadv(&(0x7f00000000c0), 0xffffffffffffffff) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(r0, 0x8933, &(0x7f0000000300)={'batadv0\x00', 0x0}) sendmsg$BATADV_CMD_SET_MESH(r0, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000440)={&(0x7f00000003c0)={0x2c, r1, 0x1, 0x0, 0x0, {}, [@BATADV_ATTR_MULTICAST_FANOUT={0x8}, @BATADV_ATTR_ORIG_INTERVAL={0x8}, @BATADV_ATTR_MESH_IFINDEX={0x8, 0x3, r2}]}, 0x2c}}, 0x0) 03:34:13 executing program 5: r0 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) ioctl$sock_inet6_SIOCSIFADDR(r0, 0x8913, &(0x7f0000000040)={@private0={0xfc, 0x3a}}) 03:34:13 executing program 4: r0 = openat$sequencer(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) ioctl$SNDCTL_SEQ_OUTOFBAND(r0, 0x40085112, &(0x7f0000000000)=@e={0xff, 0xe, 0x0, 0x0, @SEQ_NOTEON}) 03:34:13 executing program 3: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002200)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) read$FUSE(r0, &(0x7f0000004500)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1}, 0x50) read$FUSE(r0, &(0x7f0000008a40)={0x2020}, 0x2020) lstat(&(0x7f0000000640)='./file0\x00', 0x0) syz_fuse_handle_req(r0, &(0x7f0000006a40)="ea599264c75e753a5f0a5adf8471e25028e3a3d2bfaed3c71811ef6c776ebd7914f4d008380d9fbbfcc2cd6065ab22a9119c0e84682bec8a167f735bc57f764b5a37498ec00546b2e14ab730b02e1d5923a52fbd296d42f3b4b72a69059324e159c4f0e6422b9375c5580f13611e781bfa8df5bd36e35ce402bf431da16248bdd0e3fd09b463fcb96bbf32ac2ec9adb902be04f82ec599878337f3b84c795c5a24bcfae0dcc59cedda23f997fce79dc90307bf7122004f2266aafb3670d9a9568c699dfbee2308116346ff34afb64ee0074b716d1d6ea81275133d620f35bd38a97ec7bb522894f4137ce7ee9d22154a7055a1855eabdddcb320b1db706f2ff64239ee8b9e930a50c3b73a1c9723e956917ae616a8ab9f5e8a7d73ee394efe29ed66d690458af1cf90e6ec638389fa58819150ac993e903d53f340e94f43df0ac120ca9d797e427271efd6a4a0a4158a1f98fcabb64b9985ba5468465146d0ff6622e61e4a77cc7557037acdfd33cef59a373e5a8a8ee6261efb8f5ebf6aed09501e486da991414a836295b94a7b8ee15951d09fea5b3cf94ab2d7d0bb69a752a9468236ca342096417325e728878332878de3b2958b790b2806503b6fbe3c5c92d68f311a23726051e777011ad0a59093f038d8af5a1c9e9ef820de67e09514d1eef19b6ec76e0c5b1b59777003bbe83e563999343e02c75e39779d8d2eb9a3d346e8a8b39a78ceb74ba3688fabc948805699c600a337416868220b99d824b8b05c96c36f7dc46062f6b5bcf3a858965447fb2fe495c127b21c3b7f2e9c917f0ebc7a0b79c5ea6220881c37ccf169d10f5505f8d9e5aad90baafdf3bf9b82ffe4b2fcc30a2c86f9901434ecb73497f9e30af5a5cc1e3ee487466ff23cbbade3e96a3f7767294ae3e8eb5cf509e113ffa55fa2b098961b57caf7be5b39c0c7e918a2e091a5300e1e4302e288fed9c2caf7d803aba40d28d44e6cdd2a7a4d68ddf6777426dd28013f63371ab159e7d936ea8793c6147608742094051964638e757491faec3bac13885ed1a54ea7149998d2d5e71f60084ef2434fd4a5f0cd5edfa53936155ed02cddeb57d174852bf7bcab92b70ba902bddf79b2821442380155b11d5287e909b59b87689dd2c1e8b92b0322cab33118903a749f59c5f2b0e101141c034e587989d5a3990bd9a244e602d5b041d8b757a29d82d2648ca7fce7ab0bfee0a38be3366d9145c69416a9f11479cac8a56eaa8a107603026d3bb55e845fb99a3a30bdedcfcb73a9f27b36142f753a17d8b5f7679dd629d5ac39e8ebd51f70fc1c2fdb088d47a19b5fff4e4be781154e96dc3eb6c873ab4834cfced828ecddf74d2371827fd8c939da5e4942021434d1ffb5c44e1f3bf395d91c47f02a5432f43c5755c18bd7b54e5094f244e7c64531e44877a55e3a35a160b74e6742df550cb254819e8f666836fd2c74ffe56c89ebcca0d8db55e33b934032c18789923ac3d22e1c620ec7f1b49ce4e7c99546e9f502e106a75394a74605b257fc8a1af4be397ba024eb56cd17c9c9ad9820584eb5378d5b41e80e1a3799075be7ba48be58f47330255ae9253af33770446802a4c4e047c3249ed6b450606d3b61a271108e3822330aed072cc0f516944cb2cc5ae97ecff2e49fec06f3d88f0db623ebef45919e9f5a8726f261a29da2bafb2a2468d502dab5133744955bfa824e2f997dd858c2633846dca798006966c7bc33e183c36b62560ac548bb76950c2c2b6d54ac3929ffa8360b97e99fbb2f46968af7e38dd373ad8c82961088115cdc5d89a6d6d6155696e9601cbe9f3979195e1be201b1bf7c56ecfb4393b14a9551f55ce0afc8f4a1173f8cfeedec280cf871102500d849369182a3cc0a19ff725c3d2640d631aef58e052439f5ee194bf0cf6001141e41c993683b2a720797278c3e598f641408b9382c40e08fbcc4ff18934c00c902f730109e0d6b3a7d2b39c6f685552caee9fc5fac0673861149266764c53bc4bf51b26d7e8d60f1b2a5f89560cfcfa842f759c78839f7df951c750f8cd32dc8fde8413ddc5a8a7f089e854dc6fa0bc7f4b938474658fed9ac04ec96c8fa622247024d73af4ade15d4b5c7eb2775cd1bb3815931217d6f3b37adaa3ba165852c6131909d7e5fe1432288a705650686141368db00f52d1ef610d65c435d72d73db315cb1f0994a9518d6e12a2053c1230242242fb2eb5351df2fb8c97652a2edf658d42c1523222d7093418374da30462582e0bc26838f21c9f0b4459238257251ea85454c83bc69aad3c818ecf256db3689fdf59f9d072279f7b960cf9c7445b04ede30e1c68d320c27e4b88abce10d3f81e593ed78fc1081e64f5ce0de07b570eb49150f3534d78386845b1815983743f60769ec44ca42abb603e18eeaf8407359d3941d5a27090e7f1042f584a2c213b2e0d9b2702957db679e3ed506bbfeb0fb8ddd71efba85e46e7658e07d8889a457a0d3a7bdb0ad32b68017ab8825f4ceba566f91d287148ca4464cd2791ab16cb018b17c371c083e1c442a32f8a6f5c16ed1eef3839c279f092248cdcdb4a30ff164d12fbb12da9baf336ced5e7bfd69c87784cc17671acb3fe27b805b9d76808653579cdea1cc193397aafc145879135cbdc9745ff497a2dfbe7a1e2ca592d3b753f3db5e5f966d32656dfaab2261e73e5f5cc553d64237134cd8c69d9770d50a604239b1a56c049ce77bd99d1cfe91c2eafdce1a499da0890c132f44eb6ac05044297752d493b9284581512826da2b608f3ded9eebfacc1e2ec7c717d13990fefd66582b5322d55e609977c59132e186b3eaca8933c12a9ef3fda73a5976dd50b1889de9181baa86d4fca53439d48ebf8e88cc8dbcdbd7924fe6249882ba144446cee32150807654053f0a05459a9fe0c3f67724df0c9226612099d3a5264154f34654836126e7ddc29ed873efe92334d8afc5cdac6015f82df5d44a3037258f6b89aca31b1a8595e3ac91e8ae638999802b4d9ae2e3e493a3edfb548599afa11ccd1c464f559508a3e4514ba070c42069448d25e3786d4e6c95b1cbde34a40b5e024818b5b561efecc33b797b9dc9b93685756bdf25ff46206c4619d33271727f11815d3c039e64ce9e4b54b73d5555a580bd23bc7f7781313283a7f36d6419662edaf4c155e2858efe544b6d91886f3fef3ce56d6f4aba16fb4668d2c0b4c72aa153c6a9c5a769ebe4dbaeefca622675b0bdd2b0aba23ed1ed023d7b7dca86197acd96c06881db83cec12ce8f613e7d864291a3a5f0f8696fac3acc7694d70ca7676a07cba742065362745d26611cf3265260f1955956e36b31c50fd9430d408805d867aef26961fc98dfa3efee17bfefd6c33c797becbd2b625ac9a1b23a25b0c5259a320f038cdd6e6a25a56f871800040a87dee6ec75161b205fea07238f1990faff07f27a0ab59f43db9480d1b902a29af3370f5546b6d1ed8e00c241d00c3541727e85996f11c709e82f69f3f3be37175e4eee34ceeeccae0e79ae4b94970ef0cca19b1dcef3beda609da9bb3762b72b136f8793f5e458bfbbc429bf8b169a0e241620c2225e08853576483afc4f8cbad645a5eb37d1b29b719b02aa64fed03927669c3f7b03305391796ee59c40719b9819c76b0a34ae6925679f5115e208f8c3d0fad60201ec054efb8f0016b850fba619749782e0c7080ccbfc6c347d04e4e2ab3dc6a5adbf746358c53cf5cd50e1a524271667c445200a45333284ae22ebcb43dfbb40aeccb6b4739fbf7a8c22131663547615957ba8bc89bbbebc7e483b1df55cc216629e5a1ef11d54ae8c756bc00067745a68fa42464eec768a54cdd34c9b906d9010d55cd4c6995b4384e6e470b1c8c0d84fc6106282297abfc4839b0db89e7972130287b61bbbb5e0dd696c27537681e72a0f7bbdabde5f9c5ce442866a8e865f289bf079975fbc27e26c5700840b82c9e7bfa5b95d8e6f2c1565607a0f2bf2d51c86fe0f46f15c0370d00c001edeb053a33db08a67bb04478aefbdb1f741205aef7864423eee924f08b15ecfb77b9b45b7687a31594802aa2cf5ba97018f1355cf9bb504b2ed63c8405a30ee9cce2be575d1962c3f0127d3a2a6bde82e42df5353d613b06c83b0b8c63fc591bb3c492bece8992d484aac67e1f629debda55bc97809d9ce1da6aee40fde39d0764c3f2e4828ae3362fe5edcb464dd19b36ac870f2479d313466ab666117094dc8874e98f26b9ffd8601be0c09aa80167fb4549e46b9ecb5d209427bc4cf0a79f3a514908e346171bd3f4bce70d769741ace8137866deb0f3d7d98613ef6d77995bfd53d311529f03cd92fc85d24dfd6861d7a9391f0a8d52251812e632dc3ae6943fae0a2cb9577bd9186f411609dae9b3caca3117e9e4d3323f266feb5022d388a3604b2af34286bfd7aa8ea16d575ef7a9efa4d3d9df17a94445236e6cbff3cecc7e4076a0c51075d5261997982968bdc4a2f15c962109b259e67443d3fd6b0994c1401bdfc7b4fbd9993c1be03968c923f4b18f23794bd486165b7dd9d435254283c908016a4ca8ada2ce9f3c0e50e3cf1eceebd8b06f89ef42b2c960a0241cad28cb61352e26567ea59894ce24d2d84c8fc64a91f129d457c4b2e1cc0e46bf5cae919ee75757090c5c1c4ffec00d5b6bb772ee852538e11edd844dc9869db8e28e931c8b339fcb407ec2e1243720a024fe5128de9f08a971db4ae4194909e46f5c95aa1532aff9d1045b1ff3a7c4de2b60ee32981b0337371635d7e88f0241d23d7b38d3b492c92bf4f4b413b6cbbbfea5fa0a329cc8828255c1541175981714385baf3f6fb7fe9c05ab79661da2b2ec1e46b067a52426361c231a57aa0753c2fee6dc553cacb9f6c285602ee3617d0f43c8d66003a6ae10ca1441f8dba1228d8f6b3932391dcbff38d5a71749ed266a9f7d74685c8912e531b8619e25db43a2267be85e9cb071f7296d2e97e3944211e2662c9c3be66161fb0994ede9e8a76b0b5e5fed6685d49ac5d4258fa7e89c6bf42f3f2bd921b1f75d59ffed0634c15e4039fdc1bb551eceda13d22f54cd4a3ff1b31cffae89fa81a680338600bfa599b4251b18a70f249a3275f2f581345f3e53c82465726344219d515bc792d2161724442459a3eef7f42e23bc7f3a2bea654a9449e9d79c6c4f4fe4522bad12c90fc1b75c99365a5b8f08280f5189d77fb05d47662c8194c001823877b45ca1d250f63af007d37e4c9577223cf5415dc22e0416c0b1387eebe056bde582f27c04ed5a7ecc18f6c37e48af6b81a957d35b022253450849d25211129732571b18b9a4ab162e4988c26e38fec9508b06e39fe693730209585f0a686b7d411c02ed391361fe35e45137b00aae16f9ce56a30c9c1c8a71d9293b1beaf633ae09b4dd3b20350c30997881df64b5fc860e4dfa03e02d2c02be2135446181a3747243716a630b52f84b25f4f8902a3b5e6868d8fc25500eb70c427b66e94d2432013c3090fdcfe2bf8bbc8b6fa03ded402bc4fe3ddd9a02c95982950dd5787bed330ce31e78f8572f8d7992dceb023118994c4d47c760fa85eba1dfcc36d9fc41586b7e46cc55f76ca8dc7b75d46c922c1f792add333f28c30b0b1ab552cb5f1acbf7933fff993cea7553f19ae0d50ac1ac5eae6aaad754a158d17945c40a038d07316ee7936dd192b4c0387e57cc8c0d4ff9ce04c7eb6b7dc37dbf087a6c1920fa926aa68ecd6fd84eb60245dceddb9c347d8fec7cdc486e499aff588a2ef00fd57f79208c0745bcbae6f53a44b09d5af7e6eb37ca9db9748d228b67011d279abbe9819c2a5c058aaf6ea33c7dcea03b681695934cc937ff24218756f3a9bf2948410043f783bfec2d9217062ccd72b3e9e9d8ac952d0f1e88bd7e82ccfa3dca5650964c8e1797d474aea153d7f94a9b42004723002c1546ce077414737b35b72948f1d6fbec7c132cfac66a0eaccce1c29ccaac9a848a5cef0c10ad1325c869cef19f41f177538276fa030ed38687ce44f7d1f87a93e316b201c040eac537367ebf17be3c6223fdd7a33d085dfc195506eea12f34ead3fe24498049f090344059f1dc2efb02eb635141ba448fac990e72485488aa958e2110bd91f2ac8ac35e8ea0826d36eb9851650d0937f7f5a09967a8ca7b52ef4c5e069d39164cebf2f47610909fe2e0bbf2fd5f80c465da6db291af79683fad6e1ed2fe791ba7eb1fbc4e454fa8f54b0f1c406be192050aa38d7feb5d9c5081f5991568ae020c606b7c78b724f8d1a15da8871a8cd338b9803c0840647669ba2a4605b9f302e57b6dccdeb37aba3e6314506cc300144ebed9ae1ff23527370aa38855a851afb722dede2df32db87c8d3406196a7bc0daf075e42ebd3f7cdc0440bd050bf7e8874f63cadb38065af0d1b3609044eebb431bedc082cbf6df2f26f81f9fb76f63d24a3d61c085257d753c478cda9fcf54a692cc43c984cf0f5e23d5f67e6bf71d1feeb754f605885421e7800385125872c7b75c7fbd3d1b3d449b8cf132ee52dd320b82a7dac6905de92481f11e3f1b90d2d8f932ee3415688b4e5e8f70bc580b207f0b5844fc460825af85acd4e54445f973774439ce31cc853db948a73fb47bb0f51a790ce91be993964eb0700aa2e2c299cb636353feef869b15eadb12819df060444c2599ec8ec27f34d9b4b8f660d185b6d5e36446b77366524881f42a03be0de811ef20363caaf6e6c11a7cbe8e6d39e6c8c7f6afc2e57babccb397fd38bb08cacc44c4f9bd8463d8c56bb66fdfd1d1eaa5cb226b1677061881780469622688d3070974a2f2cbab3a250a66217e10af3c0ffe8b21c0020f992688eb4cd27a6efc8b4558c6c086b1a65ce0817ada9397ad0c4cd7fdf2e8050e3215455333480eedcb2ed4fb579f788964947fe6a0d95b6099867be5c538bd22a64aae790c2107195324ba53007b66b1bfc12af0d7a7c97d7da0a984f0adb3c0965a66d7e0d0ccd205f4cc2b78a82d9f1e55b067bc71518e7211c7647ed8eff4454da920efdeb58e317403f3e1d0429e133a5be6e7785e22e5eb9ef21c3c308e17c82dc49e4be142051b230d4c02728292a473862f1e518b680d4cbc96bea08ffc39c87ebaeed8a65f7fecef7164432432e7406b25f24b44d31ca93b6377bea9ee8f5eb9455b4faeb96935dc99799b6685448818b8110026f3094eabe9fd6f339fcd6c15d890ff7d59f32c439e5d4605a29104bc17d2f0532b3874d592c4c76ebb58e86a022a075288345322eed4ab65ae86f3f0965f35cf608725a42a7e8798291c03d3b8fb16bd211ebbf96af18039fd4609f32faefd5ad2d7f3c9b134515d201bc84800b65f2e738328fda6e82db755b8a2e9af982d3c8f430ff97004351ec20ca89d99b7f4095948a2255da35ad112745949f3c8c7e87c75897c7f203ec20edf8267076683b667e2319727bbb1dd52fd1c73be01c3358bc35cff9279cbbb39c268ef371438ca88412926503d0d510006dcab3144ba4c19b37edc761c8a2dff4578de6b9646876a6d09380dd2ac886e9775cf9adb0215821dbffd500fcbd3f8796e9bd6b6091216134f8b46e0e4204e0c7bea831277b8355092ff2919f902c94a8e3d67209dcc97f0322269f6ad9cca61b8b83bd404bd1dbaaf69a9f4ed2ceda2f056271f224cd8e53a186fc5b8aca29f4d71f4582716bbac308bfb6a9ab6c2e882ec7d9eab78903b9eb45062daae3da196a2eba8635b7b5b712be5abe66fcc9b0be631be85f86b543e6798e89da9a341e35966f5188d9fd52e776e0ad5f11bb0fd656b0ae21b1d36c899e7d5d1ee9339c06a0ed0d4016701673244db8c5837c9d4fd448ad3d92a47fec597b008ea10ea2a155098a2aaec5fb5980f302142aeb927cc89e6d2ebc02da750acc8aaad585b3c6056c9b93c63095f15743e60c4508c5c040b8c2d0730b52afc0fc2825e886c0f9daa3841612f52dfe649f760d06a068b36d96bc8d738124014537c3e3bfa09b5b43fb26560e9313b95aa18a08c1c291b0e037b72ce26538748d3356b727165cba8672746155627811415cf09587a0ea52612e3c58109d7ffced931703d57c7949abf6de1d6b10511218927d195f7160b98cce2faeb9fce8e6ff0811184e6b09ba235777df68f810868d62070c6c5b7259c447da2399c5bce8978fe44d33725a42d046865c4e3010089ce4923020a5b81d1105dff5784900f1e1a6292d210dab3849571c7631c3a316ed9dccedae6b987c3cd54a20be39e85034b5a0143c6f7f32b8541df5f61499a1680eb9ab97ceab233c6da70211e949076d1261bc3b16cf01a15deb1a8da8da4bd75cb8dbc10e15b46a1d302d9a248892013474870e736b1bc8b83b7d28aa6feb630ed9a2d8162e8115a8639dfcde279397846910f1381e8b5d9158104ebd640e748af1953fbdff1a25e60495c2895a2d7f4f9ff5754f5e938388a9c0ad1acc728d8d2443987e6050bbb4d3a79c6f3377b1836b4abf7bfde476cd1a018a64f382864edbdff37d706c2c157b456ebb9a9783e9ecd1356032919f47b845de5dcd7b9f403b517bbba0221bbbfd1060071c550eca8e760b390fe6d7983b96aa2f5cbe4ca00c26f7d1cc0f5331b6a22c75a91da476776721cca02feb8d5d231d11205f31e114b2cf4b45d6e36776cfc8629e381ec62ca2df34d44b104aadbe73285c6d5526d8e439d965a4494f9b7dbe0c9534c7d8eb59ea64af6bbdf548def2967e088604489e72a1ef33ba35e7f77f021f79b8edb8af288bdd34edb03b29cd91cf7ed77e91ae18b7f95f431f62cb1ba06d240a9dafd91bffb6dabda9fc168bef87bfcdf65da695dd02cb2a3f151c42d11c12a95170e3e433d9a34be20ae13baf288d183b8c2c0c512bdd1b2ef9fc66c3d881b5dc0502f65037f7dea077d0a7e6cddcf4737e747220b293bfdc9fc9e35e59bb0fb64410cdf5044c19fad86921b11a34e88ce3eee86cf29cb50747f59292165bc75db85a91018bef67cb101f9b3dfb377fac82e3c294266476c6b1f7e8d9fab7ee162e47242a8e161c6ac3c500d86a3b1cb1f64c489751e651ef3f2507731a3e147f54f9f2e511aefb66c5cc41622282d193c59ac583e1eb4007150717dbe7b2be2618850ef1d4a888d82add0c19a387877299507dd3ae19a195b24d1317993d91393acdc4e8b89abd2f3aef74f5ec4481c37871e731b321f8eed6973a138289f3417d6c1901f9ca8465bc3ec6b1bd7f2182f348fa13b4ef4baf7f07bf6343c012814c7e652bdc896e743f47b9cbd14d0ba67244c0f66b5cdee3363a5a02144c2c9468f4c3d1b3351c689c4de4b0d0e74833fadc8e2e45c001eca274d85428cbb853d6a369e550696acf09d15985149daaa23dacd8026db805e2107edb36d47f206c7eb844f425c6ab2f0c9054b6559af82967aa03c54caad11a7a24cd1c2e7906aa270186587e297e8c86ea55633166de21a54ccbbef465e0b208f142ea7fc7f949fbe76665b2cc799e2b3219383a1894d2d9e7d054c7b810ffa7f340aa51c24db4147884521ebf644e5326767085ef64691d73a62a8c02e958acf8fb0929b41c6d1c63d6979c711641ccc92eb91c088d3ce0ef0d0935b4ff6b5c3c40e62a766dd9321bd4d747a29f87d84c988fe11b3ea33064355e8a1fa9d0405ae827f0dbeabb808d4477d02806dbf9c12ae2c1e142893afed2c59dde753284de1f00c37938b916de0f68d291a20ccede2301e240074480e3f495c26c9864cc70943107ca79b0a533fd0ffa4b587cb3b765a812c9f29fe0f1d8f688e4a24bf9efeeae7165503c3a359f081166a4aa849bd5e7511605ea990f6e79f53331c682187c6cbff8c3977b364d57ae5c30f1d1a42e3e21ff737c2dbd7b8dca28932b95140c14ef292fc31afd125f6be422d4c4a8ccabe66d7444015d0fd63970afa4745b9990ae996eb8631058b8d98868af25ee5b1d8cfb48e207e1e6b782dc792b49e4a4156bda2fa5c1efe0e2b2be8d2a496855e46eb2e8062ab0ef83f0e83752d4ec6432cc72547970f54dedf9474ee3c0b54fd56b719f632d68bef899c916dd7334d5ac6bb523bff654ffcc8f214332704b8fdd7fe4fc2c0211f1c4571e4022138d4166c2f5c253c2e50ed01f31e1d7ab863b657e1271ebf56529686cd92f8eb60dba7af43e5d5a94a3c28c2ca44c3e99dda0be96ba984a18c863e5c81353461e5cf0fdb3096adc8d02f4bee35f033a97db9e91096a9b00435439ba0fb43e4070acda03bd426bf23471b2a05376589fbbe9ca62aee753976d1ec35f093cfe9cf892c4fa25ec189b4688b68effb7fc358ecabecbf68cba13042ece4d1dba3a71a067d8dbe5854443ca6e479884fc7aa45e621cdf2e00ad088d9243a89ac2bd351e8913a6a7bc67fd7fae020e4355378a784b5ce92130dc72ec1720daefe2a0fbdcbbbe798988debbc603ff5b6aaf0ae3a6a2edf1b5f9f104af045d35808f8da06eb031ba53edbd2e48d6e83866f7a5196eac1d22810098f3b8f84499f0c802213194ad2b4169cdf27939ddfa9173b52850e1f07b5c37c8985966695f6aa1d6d11cb8de6338cf73af29283136766b1f2125415ed33ebb4eeabf8198b72b7bc3cfaa2b0da55c831a4034416434066830f2f8d655edccb0e24be30d683b85f5c2528fa9983cc7fe248dcc0d26d5c5ade68238cd7916112bd6b1abb401abc1317d7f4e0b367ec3ba24364a51867da94dab0c15cfa6f9da5801710145fb12c1172710b96a760c085ec3c8069ff1ae8cbc9782ddea35f9141b00685b8f843b7ef2f9ace512db0b8390e9408245cff9625891c5e937d94a74d16be69dadbb8237e3db53c84bb859cce59fb3f38fe610f30ebad609c495a06d3cf4e7de3859d9219d497a05d3deea95d67909e806e63de13fabc2d6816a199de0ccfa5a383276c3a850295d258d5b3180f7beec5932f880aed3471dac955e4734fb76c01bed8854b78d32af66a820c8010f10d0ce52b8e80c526f55e6918cb8ce6f0fa65ea9d10d35f6e7ffb2514a2c2a0b76efa59994dfd2345b2f2f682ef65f493d5530f2efe818f405df29cb2d1f7b0763b4a073e40bc56b155aed9d3fe95fbb678a830c9531e88d1bb9f0d3633c454b36e3b4e64f881ab6e2fa83cc24f35bf531e6cafefaeb8a598f14a2e45ae52cb647f0111d84f37b288876a4ddd1973ea3ee6e5193ecb39cc9322dc212bed0b9153554e5463f7eb28839b6e42be6597aed2c45373880d3b143d8601c6b3c5cd43a7396e1469c2e5928c2c562bc001b7148662009e0d520813b877d95fbf4a27c9c93fe59939c25cd8bf7cb4a1742542385a6c2498eb3880e4e42f74f66e94b0563444ca954537ff9d0fcdfcc892a2161f4c80914674280eb2d84040311d2f585c0e94984583a44c35e47c8f02ead81f4c264dc58050436b6a451130e92a0fd6a0f72658766695b073a19473dfc0ae86d65c7e54c579e5fcf9416406793fac303a0efa9efb812fd62da85f20ede9f141e912f434bef6c454a6c468c92c0932318e9c23e0d9fc4a8d20d925d8eb8f685bcdd61fbf2bddeb571fa7793ad23a18cbb74ed3ff4ce3d39", 0x2000, &(0x7f0000002980)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000024c0)={0x90, 0x0, 0x0, {0x2, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6000, 0x0, 0x0, 0x0, 0x800}}}, 0x0, 0x0, 0x0, 0x0}) r2 = openat(0xffffffffffffff9c, &(0x7f0000004400)='./file0/file0\x00', 0x185842, 0x0) write(r2, &(0x7f0000004200)="74efc4c419fdb8d66b12a7bbf371d056ad6f01e9762d70401d979d331b48b925ffe6a7759abb206b9b18bfc3f3f96adb2b37c2121ef21e91bac768dd33df29649da1d82e826a55c4d620b6f510daee26004b741c951d528d806efbe00c439f2df46d3adf8be24e280b948a49afd17d56437c6e752d84f99bf37a88f0c54488dd13b848f2381d7d2aecb68ed16762e4a3c1a847565364b9f1af92c9c89e06e89fe6179cb7078a742cb968a9f09cc690dc473df29d6ad9af5879e9a2618c63702117a3a63d3a4236baee86f5f452e9663a795306dabb97db884348ab437bdc13b7cfb03eff1cf216f09d21078e1852fc7c96413d9d65c52ce9baa6bc26de7f028738a17120de30a433c9c3c8e276f3ae5e18a1f95767fffe8e98b0c3f134f12263b01c36866d4e0e856cc14ecf50279adb9438c6219c49cae973d8e7faf33dcdeb96d7ef7e89ae828cb91df22939307bb1f7fb7392e1e24f6b63166b89937c00eb8fea0245cd93e4aa803160bd71c1a0bbb6b8285d8ab654485ab985f1dd2eb9abf53131a9680dcafe4000d3ea528dd52aba3e4ff6a3883ec614253d5627bd91522d881128328ed1e00907fa6cc48cec5268bbedd85ec02d8bac3183460dd1a27fbc06b5642473a41a6cbfb07f53deab2473b37c3d10a125d610f1b9ea5c83e7d462048f25fc1e79295eeff750a23faf5d542758c421bb0673504c9dbae2959f77", 0x1ffe00) 03:34:14 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$nl_route(r2, &(0x7f00000006c0)={0x0, 0x0, &(0x7f0000000680)={0x0, 0x18}}, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000540)=ANY=[@ANYBLOB="4800000010000507000000000000000000000400", @ANYRES32=r3, @ANYBLOB="d500000000000000280012001e00010076657468"], 0x48}}, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000440)=ANY=[@ANYBLOB="500000001000810500001c000000000000000000", @ANYRES32=0x0, @ANYBLOB="01000000000000002800128009000100766c616e000000001800028006000100000000000c0002000c0000000d00000008000500", @ANYRES32=r3], 0x50}}, 0x0) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = socket$packet(0x11, 0x3, 0x300) getsockname$packet(r5, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)) sendmsg$nl_route(r4, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000740)=@newlink={0x20, 0x11, 0x40d, 0x0, 0x0, {0x0, 0x0, 0x0, r6}}, 0x20}}, 0x0) 03:34:14 executing program 2: r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000000000), 0x42, 0x0) openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x40, 0x0) mount$fuse(0x0, &(0x7f0000000240)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f00000005c0)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000100000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) read$FUSE(r0, &(0x7f000000c3c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000000040)={0x50, 0x0, r1, {0x7, 0x1f}}, 0x50) syz_fuse_handle_req(r0, &(0x7f00000042c0)="0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000", 0x2000, &(0x7f00000062c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000006340)={0x20, 0x0, 0x0, {0x0, 0x1}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000e400)="4984d306b482d325619e5f16d7e650c5e28ff3c4cf56aa10ffd282b652deb2886ccbacbe8e69110371e859fe758441ee3c0be4d12ade1a02094db51a5fe520932189f1d1ae6b0142c3db4ce2f2fad63fda0f26f40f5dc714d5516af5e06e28b5188d20ec2dd5f10f5e1831af490694b8e166fddc69c01c149ea69dea858ed6819844b068c4ff6ac3f90a4c070135afd49dad72136c8e6b6f2b8ca4340398a01976749f4d4653d73e16d14dc34316ef0bd71ae8050d02a5541bf2bdbd55616d767052d4ce4bf6a955ae62a27cedb8800cc176f7ac903758272edbcbd6bbece747ebb495f396aa923f6407c5f6641e3429d3706aa9ee861764b1b4a2216a2cce244128296c29233058c2d621f37378386b5a58e4a06da595b21b95947970143d3fe6369a419479b5018840bf9de6a56e854783fa5f6704ad11808e1f1ba234a708d12b6c71199892b7c4c5af2a93bb522d4b77ca818a62d3a2fa5f6ef16e2a8b6863cc3d562125f2bd273b8ec5f1fb21b8c7ee7e2d3319d0a73410eb25b6dbb6e15694c87b1ce34df2c4d31c173f70bc651a99d006909c615c23f6dd17723f0cd8498e4d81ccddfca90ade67c20a5187aa8f09c85953a2537aaf93c1a069f9e3a4dfee9dccf2f135be921a630ab3d1cfbaea7dcfacb6d484cab8b7bafc257a4054a14d1d9999be056686be56e8960e31a578fd549667fc20b9bed86b8fea2fd219f4fa36197e1e9f81f5f9f57285df20b194623a68fde2ea88ecf24adc4f21b966b407cc7bdc6ac2c66f2ad74324a65a435ba4ee52fd283e86211836959664839aa2196c098ed1824af725d77b343d06e827c0a1a121a948603e7c8ba2c810e59cb21e7e7e035e883441597545d8bef06df757910cadcc36f190a9f1e1a4a4838e8374ad0d97441d418f8d0e60aaf7caf3ed3b66f35a37e5563f7aed7cfd6003deee0b6a7f7192de24376fd9cf11497ee6e76f835cde94f2d2fa75d348303207a038b0f6f52f45b2b293e0430ba7fdb1c40adcca068c0e05d3653004e999895267ff9ae593ab21987ed405bebb31d44ede0214618a28052d31f22bf259803728a81a174b9aea3f3b378a0b9cafa5da3aa934ddff431b2472ba74b2b64ad4f25590036831855ea73798eb8f6f3794cf2e7bddabb45cb33492f0a13a0193300cee46f7f19885fd9067a28ee70e9bb4ca8d570a0dc25b90a63533fe994742a703624810502ccac451010b37606ffe1b007b3ff497bfeb239810a3c9d5d2e55a16fdd6a39198268562cdbf325047d7861229cb127ed4151145569ed0aea9b09552009c1e5aac7f8ceceeaa1cefa480374f8e4e55b88df5e14434d883a56147fa9cb1e1b324c5a482d151190d893ac54352ebcf8fb7de2a0fffece6c27e05f9e75ddf0859d358e7e9d901c9a78247445955ee6c00d0a076300c7dbb75b21c31fa3eac986c4f952e6725af370f5aeefdab08e2b8b2e2719e3d3db9eacb4bac05a9897e1a97d1a9f23551e304d4d8bd691ba4ad3f0ed215e85ae371f04fa58b94b2d524cfc9fa454d1bb89a19aff72398a262b266444b8700811d49267bfa77f9cb86e481514026407930272a2cf40ccc21c7b4f6aa4ab92aadafd9eefd813dbe20d4662f46c0129b56e65e7fcea119f78cb559597b92e4964ec3e9efd769e6dd3b0aadcce47e8862e7948f4dc3a72addee9c3a275cc0fbcd28d44d2d26a7916c901ceb406dd336905369797631f9eb3906ea09a83845307370b9c3e2c2ff6adf6ac7e06e433cc4756f2d417c74d0dfaff0b251cd43c0c6b21ecf30414394fe44a55d33dd786b5012080f31b52b4e812d7a78259407f0ac74c259f7a9ade3a21e30b2a81a68a8d8a0e3efef4cca0e5753035a4e88f761d736013a254935d9c156f36d0caddaf366c109f26146f60e60bd6801b426e42b856e5248e98d44a151a3cfca0acc7d8fe6713fbd55d43217a91cd30530185f51844165ecea9cdde33ee1bf7758b75fdbd018d1e547c47e6db9d18e4f5043dbfa1dc5cfe8d700bacf344a037afb504b1418e226b56677d7e6049aa7c962b7d9a6da18081dc88ee60be9d1e050e54a78898ac01e2ae0848d95a6ac6c0c5ce0d72cbf5a28630d424c04de455004c1ad3ad06bb6d53e78f63209d6f1f29392f2ec1752d6bac5cb112b1d817501f14e7028ef3f539f0c794c30e814369433ac8995056032573de7b55a8d967cca2b5ad9b8cd942f4614720433e7a9e5711b8137d146d2e8a0d0d6b1cbd0073fb1e362a75b4f48c1100204cccb7c1e1bace2da0d7e7b6a96ce86aed7f812405afb159920757959ed930180f9e7329ffcacb182bcafee2e24aff9a72020de1d52a6511fc7e90843b99349f1bf749a4d5a866db7668a74c32bfb43d6976909016ba7b21e193e2048387e6a0186f8dd68d6acb5e03f9cd314990070dce1714edfd0218c4bb3f8ffe754482f48f582f3d70a999546909532b3386ff819dd05ca54c781d33ca2a1eac8164187e3dbe365fb6bfba95e3d401f66b979bf2e4f5f18e612fb9f6076717579396a4a128fb855fb6f113c19ab3023bd6828ed3aa0f4c254a5538074195dcc96b49bd0b419ae46c79c67d4d4931ee94005e80af735039ec713ad518ac57495bc4215e14c4a82aa80f8f102b1a6682202669140444860cac1c379e0bf5279ce8e73a5ff3bda257a40bad320a9a01022ee1c468aab2ddd8951cfaf55cceb64888f11149f46722e773220adf4da1629c13e44f4b892269936f141c7921b915af036cd1d5d89cca6cac76a6c5bd80244c48e9a8168f74628498137a0b6815ece8245545755440ef91b6bb3d651a4aa057d414c4033cc25d8c0d59781f24da56c664a851eb7bc974bbe9ce316d117179dbeb097fe18889eab18b0ffe5f6faa95158018d6fdf36053664b38edb5e57391c4b8d815632d8f99aa226dcc0f7869134bbe4db930871c8359a6fc1b1af604b461d27bf17a813001e8d8c17a128810f64899f16446000293eda8fb9a73f4377ddc76c7607e0f37768031f82e93f73d995a776a2730a8c7430740055f725695558d900e5b18db49667bcf60be62df9626ea5513531b98fdf15866fc2eb308d9d3137702fe2ea51114235b6e304109c366671824e47f8845ea3b7529d23a29f990dc5860453cc3481dfe625c280057c4e7c9eb1229c0161df78c7462ee92373314cfda7f44dfe7664ec166e1105f6198eb24836d59632f340c0261b5b043859d71a309145c8f44e26a14d2a449634eb5538e5f72e02009f807c13ee5cb4c636967c66f201fe4bc1a8531534d41a27124f39039fd6b19f275aed72adc07106871cc4e8f354d3ade677928a61f094ed5202360e336846fb84f76619f887c1ff65c22ecb4319d572b05f4125ed8b5907b6b4ec5600d6c01a6faccc637331be02eba3fc52109e8faeaa8037851a53d66b3fc622ee8d9cb665a762dd2f595ddfbbc1184cafab393f28ef927ddd9a1c1375f60233ed7a85112e35d3bcc32da8e6b5b6045969d8148f8b41e528647bcb7de3f518679b382c048fa65afb20a1f8e32aa68d706abaf7ac482f3e69c997f583b50ed8b9dc0ebb949470a4dc1e371b05df0c424ff18d2a8d28588c76b267e2ed1fcab4c750fdafa352c0f4f068b7969f6e373019c67f7896fa46c7cafd4a8f1336240519c2ba4957425abac3bfc90a26bed117cc7b50e00a7dc5001bc2092eb3beacf3820e6d120b904431362f6e77c2ab04efc0e7a63281cf992f0f1619de7dbba9b61b3058b3f90c78e6c4f4b3c9e9b041d2ff7ad8570999130a4ef33f332945941f5fe12ea3a70176e01ba646cb0337b786e34aada545ca65c5f06946fa8661ca25a1ecc5f09a40512d6d0c97415c56edd3c99f64816604a59dd7dc4517e8598e4caccf0c4c1e1c00715928ba72f1e6384df26880e9bab9260e17f22b8726dd8d1533c19fecb13b2745c5d88c83261152400f290bf1a5e5a5b3da93023b2ba11673b3d240d4231287fc44c94f8a858db9d7794e55517bd8d39fdb162b389c1cbdb4cecbe81c7af8d9bf8f102c33b386677102c0b70848cda747d131d0ce003f4c845f0350e612fdbe8527361d0e670c95c623145436065ab6e67e617304acae013cd4b816a932204f1542fe72cda5b352261d0d3256febab4cbfcf8c9cdf0fb007bd69f508af631f3007cfbb4b13ab0615808533602508e79096b7c97dbb95539ed9517b2f4a0c9c1cbdfe8f008faeb23f9f0e5059b624a9f93535a98f049120bd92aca76259cd5b172014a0e0319d3fd8b9fbc6d9cfac99c37f6737c91dd31ad5b3c8004374e611c033d704f0a42e8f5d9c4defbdf14a0cea4225ff59ff91c13862e8aaf1d1fdab96276083be8f0e2a66fdd8ce6d06064f7af60bf94cd6e7aa62172b17b59e02232cfbf7c0e0e6243a92e1f89c29564aa3742892706b0e9c15e214d117b4b9cb9728466084dd6ae0d829c76ed2dde0f6a8935378e190b2e32c05d1720c3f788c74fa74f36f71373e4de1b035430aca379e81a138d8d8604cab86be8d75789995975788bc503ef8cc112cdf6267f5b08bb320fc3862a676fe6a3e4667565419395c0af38d9f45987bd44fad43c4933c33af9d1e2f8c66ec3a3a23e294998fea7da306388062481a18be50b5302217fbeafe0ff65417e3749adf25c6cce60159d70a9b8de3d3f80c894b791a5e9264a01b3270c6c846bd56b0d0d96c589ce951f66ce3bb1baa152f6e6f0dd25930b1522c578903ebc1f23427e2e523ee9d805ec61d551d81b3285b4a7c79889f39a351207314ac1eb0335ecef58dcf0bf7574d18ceffc1b15aa2cc13b026e4b59022130416d4c1768437978c481356eb6c151f19666cdfe87199e98e8093aab6c713fd05b672abd7b6f942f3098ade6ec70aba57c39772b3fc1410c6b3bbb2c9fdfa05741a047aa5b94032fd94572d1470d9158c6415945e094917305adc7f8bbab6b9c497c3f10acdda00889fa18b2ebe57c54134f3bd054c66b2216c9bf4c5ca097b95ca62d5c51d4147da206bbaaa48d18b1b2b05cfb19f2b8e7aa06fbafa2d0b1a3177915347518f8d502824ca858dec614c37f07f45d8c65c18f06fe7ccb2531e0bffa219649aaea6402c01aa79cb8a7ebd3377adb4cbf38f63f0ace0fac85d3ce8899ccc555ac0fb7610204198e2be9972e0a6fba11f5461de1c91cbbeb9e8a149f30125b11b5a449d5c230f8fa7721fbe9a4e3545351345b1e335ec2558622b5e845c78d935487183e097ceb27c55262022b27a7cc8ad1d7d95eb737a982d555dcbec29f31efaa026b8d89cca7ea7b59c9c5064ff7324211b175bc5fff261cfce1fc79e75febc3c33462c4e7bcb33332ebf1cc7508c05084e6a4fe6de39888f53c2d62c95edbca35db82b297a4e53af02fd531f35f4161d6906ffde22aff95d4e3c173e22580629e8b8f6c7014e4644763c6b2ee28cea0b61afc5789f18ca1010d956100bbcc500864ce304714cacd0c10238228bbcb4c764a0d131dc81c7757cbd39dbb598408e6e99c769c70c122437841770a05d575a46ef3a8ee3fd92d9dbf3a77f325e661542b788ea68a81bdf1e3dbe2cdfd63ac8a39b2e7c3041099e6747ae29f747693b38a7171479b5a73838a3a1ee3bf19082ee0d79370865cd859934cec12ab0276c130b64e76ac1d536145d9d9d84a5db1e605d9d8e3cec81bbdc616dd6e9371aa0692e7e473215017b263affa0100fe84abcd6e0e3159fb838f9916ae47e49def811c948bebdd8e3d042fb358a28a9fe8367196ae5176443d7b9076808d8763713a1c024044efbb585b153c075477b7f4674c5288271c8080aec4a2d75eccc9d629b133ae426e6de0b5504865b6c627ee67d2231a8ce8ab8329b33e7fd4fdd049ee7c05b8b8aae1cd2a0728ceb6ad116bb3ece44b196d226539bd8d75ec23fdab7727bb9c00cc06edf01cc62fd5808aa8f05a29f45acbbc617deb05722c78e8c8ae4a5459847cacfb6d1eee552f5fad6dd3bd58801dcc6e29fc1d57007390cfd06a30e5f0219b6ff406640207fd07f120578a4c713a143732f3925835ea8eeea686a835d2d25befc40561aa6a30bfc7ccc839f0aa3af9430500f82b3d8d568716c2b44a5a35f6ab5d86bac1bd7bd1b675c9dfd3cb346eb3e41ac2f253899134a153c3fb62563cf19d074196c677bfc97423b0d8623f6b0bb839588f23673f3a7b29ca103945da50b36c9f9018e01e1c4dbdceb0a091daf6631ce2b312c391905dc9e984babf72229cb3ffe431df165ea6d95e79e8e2b83fb5b0ec7b0af4370fb0f743595560fed169c8006f7c9ebbc3b4c5737e448d8c6d07fa867ec6eaa1d1930cbf8a71082498c872a06e2e2df8c45e12bc5e7122a0f303c740bbaaafb36893576f34f4f1dfefb2a23d9462054905733e5ed8d32ffac80cb341dcf62de469454bcf19f2fcbbd22816ce7525324e3a78e0398ff9d6e2f4d6397f444adfa7537b573aab3845956dc7903a170efca65eb6f79947bae092ce05f1d3a7d3687d4777a57f2e4a7852c11529f39cca9de7421aa62d9bdf301f58af641d1e0559e869cf070a954b838f82be1be952902465c3e64998d84193415ee04d834ed8fd7e0e9d6a52599c7d2018fa93d03b559c627ac6ce5f97d63103af9e2c297f72b8438899c3db9ebed79e109bcaecf3cf81ab2c77fc49cb8171e17f7f2e6bd8ce486792ed65f822c1b2fb6c225843eb348c118f386530da165ab4a7c27bb020422bfd41b2da1875171b036d1e0bef0f7257c11f1c803cbb4d611344296f2fb2818502f47c9afafad99f36e8b9297a70b177b88c5aa075c473beb81c4f131b41a19d1a16e9c33493147582de62f428d573aa8c152739afbbc904b4be69e5e73a8a9ecc77c9e7dc8969565086d569f3daa4db5a9e9f01f2f1695eaf85b4a7822887598b8ec9c2dc006d3a20e35d110e884fc421b53208f8b5cf45c79582b74727e0e6ac7c869a93f20e383e9ee49a0e41c9aab3f3d87d3e1d8e0a310432bd8523c4e7d104cd89cac2ee1223a0b6dfc2eff73181b8ab499b3dde29e3574af359105a0fbc2755410d83115cc294eb1ebf83b9ec65b550bb1698b49ca85f89050c55afc61d6e5921eaeb99897c505bc160e2ff598aa41a10540058d05bb81d0a86fa03aa6771165fda911c4b337d0d2adfac513c49b7b9f0193f88650d3de23fa7405a53484b98192be7cc9757818ff081496f9a627829a621a5b5b46986a6a3b0d28427121f6d976da4aca8f46660a6794a3fd3a43fb528bfb0b9641e5c3a1646ea078844a0e96e1ae5ed2431d79b831da85ad694046e0252d5d6502ff71ddd555967f7189c0c6cb430fa64b28f25bdce56248745627320e24dd3a1074390b741e1a947f22b9957ac8896e1cb462e255950c1ac2aecabfb25a9f20d6ad205d4fec749e09b51bfb6dee7c16eaca2733446ea34bfd3a270ed1a4f1652baa2e16f6c978037fb0320a214b216d4b4a3f25a4062f21140e43db9b9c01c9c381b7d8541d29a43e12467f6af13d8f7e0f6830afe567cafd6df6e5f2b5b03fdcab2ab7803adf5b9cf361cb212dbf184d23096252bdccd6be380b1c9f34141813f19fd3f10c4756cdb1453411c39c1b921879296b2222a45472ea0a953bb06c0ed1dd69059fbcf42c820dab022994fef4cd885b486f761c0149e405f328da3a64181eab7c5be4674ed7dc7a395674b592f91ec45b3c903f30c3fd6bc277d35af221b740df859f4f0fe0f4950aa4ca32327ddad8492e6bc04e5912d8b4815e7456680eeb04de1a94c3af3af88fb93e313f1c8e3145c4e8c6a95ce5ab76bae2d88032e5aba5b27d0e03b593d03e0298754f19e3df0b03642342bd3815ec0a3bc47d9e660787d0549c3160e6e077ba7d23f3deffb407538041cfb8d6e03348e3cbb4e2be9dd1a596538d62c207ce33cb7c592b6d16bfbbc995a6e1ff1334bc6779ae35b36a27bdaa3ebda3ca29bb48dcbbed29adb5e22101e0010f525a84274091c723f911891b5cd92b75d8e7a3b6f07393dfa47b53daa3819fa8210f4efaafe5c2d2e172df5e14aa90badb86b47ff25fa28d0716c013458a8ed1624e9494b1bb4e0d6349c1837f1161379d74360d425291683c1ee57382d9830b437090063b0c27f62f3f36e9a6e01a4cf004870363a191d02040b59a8b73d51a9f6015dd2e4120a0ea6396dc445a507a23a0ee86612df1729ec28107fae1543af7a1f51b3ca8f9881567fd15a7e3460c42b2de75684878e070cb9c83fb273afc10993b16eb43d1242c3fa07be18a06dba434ceaf5fce85ec16030c74f1839da461a3bcbf98e726874263e027cf4955e8ec206e5619b2c3dd6b576046debe3cf17f65b5bd02903d94f1f1c31bc53ff2478ecd4bb1a6cea12f5498f6f0d64a37126bdb9d53e6dd2ece9724a623263074f173423d0e12ed08dc3544209c24c2d2abd76acad888164142510823177a034bc415841230a053d3b726de6bf437d3844b4232afe67941346ec141ae9277bf5b90a655aa25053fd9b05167aebd05a839fe42f33d614dd7c9a08bac9ca9f1da4bb194d8b69a82b13a4f654590271b852e5dd5f628b1d1535fb8c36e4820570ad258d00246cf5d6f26c4605e9658e5e64c58d507443cf9cea087cb85a9b728bec675f4904269481a606f55620489429ae6ec872aefb177d0017b87cbc57983054931749fa64534e7f11a564d67444b11f69dfed83a9a1a974139d4f337c4d3002f23e1f71022e1067f3d58f945535d94f8c927b2062f7d6ba15fcd264e8d5453ad092a2a0f58d040088bd546e07fc8cd227414a7fea477b122cc366cf1dacae276acc592a39784753ffef8332924f77b12ae1e99ab62c26777dcd8bfe9c8cd53595d22e5e9a06a0d20d8ea251c521407577caff5404a1ad812cb2330b5b3679663157507633fb0e054c0c74bbfd23470abbdf0396d7845d0cead8936d91f387cbcbbc21c037b1462bb8bd7a8e1caf9ea0625c9601871db756545f3a7383d48f0233c6d5c1aa7ee8b9ed0c87110252afdd965d61a7d70aa78cb4ac2fc4e58d3a3151a9d65b140df7952903e18c3b05ae73040d379aae2fe2e60167243530f37811e4950dd5da2d29377c1f5717722ec1e0c4fbd1d0e0b76c22a9b7cf97536ed64709cfdf66155fe0347c762c9ab3010e1f80eacd6e9a84ff6c74aefb57ebfb92ea60ea482fe18574b9e9e23a6a3c09907e3f6027b5fb637c20a31e0cb4efe64e9c2a16b6a4b52216396dc65cfa0b0130475c538c049d07d88cbb80d9058328288f8cacedcf3533713a4481f53dcea863a323a803fdfeb460232b5d8ea5339e57034c132126a0dcc2987e57bf52b00f2bcc7feee62027ccc48d18ccd863b597a557aac7b63951db1a535c6ad92543dd572ee763f9abd588fa83c1a7d652b01ff66af6e3e9ca50021e4b83090531359ddf1f0fb00c62782a42f32260e76392abb3d3000531a38f85214e2d065089c48e573e9e350951a4771831b43479f289fe1b283f0d00f865625d721800d8172c7c1c440f7c7eda7e935ff8edf9328332e356a137cae532c1e8041112d885709b9c1bfcca4e6df1d18afa87563815b6b86d0b82bc5ed22ae30bca6ff632b361eac835db2fa536199c8bdd2c36402b45d0503b00d9fff48291a20761490fefe00110fa50d1d62cd717b0469efdaa5012e97ccfce707cd33d7645085f12af9021f5aa5081e535aed753c7543f6509555cdf8644c19eae4d8026c79ed21cbb1e9d85f50c1d21aa1bbbdafe5c47058f76355bbd44898637d92ca7e48d478f3662d375f72ab14af979c04ead0f082416779625bc68abdb30704313bf56fbb19cee0412304c15309706b9c047db75ae677ad45d53918b0474f7b4cf8d30053e3c457c4539dbb286a1b5d7030cee121e47c4bda566ae6eede6d893e8762989fbce866e89e0575baf6e649461a3cf0578360eb56314ad0091d724481ffac276a7ae4f88e57a4ecf7e8e2fb2e1502d7426c5c907cfc0103fab0e0c4b787dc05aa362dade47de70bceba76d8e07910f7c104566dadc94fb5b3a19060d5d8b6a2f8037158d1b7afb0f2e9732cea0f266ab7d1f637f0844477a979cda63f96901c105c204615d0fcea1152bb2ea88fe545952f5c0a1c6ae8598c90f7951ef4c39a1c8fbcd44ddbf6168318a34d8e10707b8a51ddc9672ccfb76c56b201a9d10458d60e46928a55188e89ac251980fd84d6ec88900a49bb887f6dde6d15894db9a38e0888cbeb2b58278eefe20cc3cc910f2ad148ef69b3ca3d2956f6b05da2258711c2478f95a8586bd1ffa4851bd2a694beae331181a3db35860e012f41983f2fc0cc9bfd244bb534c369a28c8bf382c77ab20a1d98601a38edd7f8794143fc24574ffddf584ec0520bc2ae98adfd875ad53d5e60dc29d80a787d1d92f770ba2215495b50276f890c5aaa80bd7985712c06796eecefb27fdb76d00c215da6a615cdd31814e483d1f7620ceb577eed69637023107d4b19910a7a009ad448c90609e6941d6c2b2c1fe576ff5e6910236ea364b190eb7c1ad8dd1e504c7aa1ee9661a67353ed140c24ee1ac734273e2f24fab97b64048afea122796e742775fadab692ae6278599a8d5a9a1f8a2ab57f022a0c856bde87cf63e09afc72ac7b1c9119f2810e803edc6eeeecc0f30bab3e92b7d8793bb9eb5c33161ee903d5c1114261ae7d8e744486653e3ef6799d23bf5f9a064869e1d26d54658c02d4ef855f03e6ab3f19de61262b3292f92578aa10252e08c38bc835c325bf30694bdd1000862717bd94370ed19f92f16eb653bd346111b57634b191724f9219dcef12bd15aceba6fb71ed4484af67c469db3a46507de8822a738500f597dcb852c1a2ef5ae303a9adc0f4eb32256fc4f0e98b4d69b0c70e3d01cb357ad1d39707502441c6c656b6e61a62a31bdbcbc6917d2689c8495e43acbb54615883ce67d87d73cdde3b3556e9b179d587d8b285249d2ca76b407fe5fea87ee331f419eb81b4992f89091eb9b959b9aa8dd5e7093e39f0cceb982b6bc04a65ad0e93db35aec2acdcaf9778b61f1bb60ef3eabcb233f284d355e83eea4e77c83fcd05d30cac0bf2dadd62ed928f04450d3a94d3456e0fa8ac166e2eb7f41e73922b63549989a9832adfa746e0505321708e2ef7aed4fe57bfc6a534c55adf15eada171591028e07ebec5431de5173690d46b702fbcc697b063fed279da1091a5d5ebd8d3fbcd32c7e3284d5388ff9dbc3d157939f56fb6f9076b5c840f81ead2ec34caddcd293e0fc079bd610598d392abe773c7e27b4c9a9b2f2dcd015d2fa2512f752abd2b2dadd2fee17316bb1afd8434ff5db433ffc613741bb6867670c83768252c31ff8d5f5bd652714035ad39af3276b0949fac4bc8e2c7dd04aa4c5d4736af43745b8ebdf535d4eaebfbd5e71c1ecaea279d5f0cbf1aa50e41a2396b4b026542b366b687fbe0c8add4cb6c162cd27afe296d6c161ed076f630e6d9c04711b2fdfc81a8ab54d3050afb6745d5ff10a50159c8554c1cd878fc02c0a3e8da3a44dd0a2bacf78f22853a253cf13ac4018561c1a9fb1b74b866a7a384355c651bc3315c0abeeda0a168", 0x2000, &(0x7f0000001100)={0x0, 0x0, 0x0, 0x0, &(0x7f00000004c0)={0x18, 0xfffffffffffffffe}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) r2 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) sendfile(r2, r2, 0x0, 0x8001) syz_fuse_handle_req(r0, &(0x7f0000002140)="1b9032ab7e7de30221d98c610c92734859e183b4a8ff5f05fe2cd8fd000e6458edbd52827d36ed95ede74c5aa33a6c9f54d3a13de2b3bf1cd6b3b1966b3664517d31d1270e2242ab69319a06253c2575afab985d734da0a82f1140144310402dd635f7802f3cece718bb8712fa34a00c57ced3ac4c12f03cc818aa97a63ce39ba53678619979c8832c9a863d74a5860b4e41eb61f4a60200cc11673f7cba847b3c00d884f35aa60e4337cbdcfd7a96517332693eb6684713a03d6b944192fe6e9ee1a75b11e5454357ba3eafde2cd587a13c93e3e38abb77301907536a26e792938c0cf4226c392514118276ea63f716f846177c209d7cf1ea8605191bed888568bdb71097276cfa9c7a80be150545b48c3146183013f6cf920220ccd78ee8052ac888a26f10f58c5189c6ab54c50505f608511ea2df66437a40bfea6c3c129c9ee7f3de1065d17a7b881c85c13b73c95bfd2628e56aa63b137d021a5d334554452fe88ddf517c9ecad22ba1522403a662924f7c406eb3e345279da8c32e7c76c7545f68658e71915ef0bff2a0c72a5e4382b675f60f5bcd16820f7f54833591d4875b057496853565b2f8ab66c98637a7d1f132283962239de4befd85dc0a6432c9f5bffaefb6ca858660cc7a29455227dab526c4ec139e5558d09cdfd4fdf7295752697b2996f1ec7b414e8a4f10d2f9529420b7923c9fdd6e482f287d11d8fc4aed7af19ae2ca5626223112af5a3922e71ac8c1376d4e8be8820065ff64ac106a823818707fc8082f63dac25dc189a95e2df6c86fff1fcc054f1405bc92b3d157c722bc9a867bdc90201749e158354657606295961d4fb4fef38568a5688e5a8ea9a5a6c96cc7149fde0eacd07c9e35c8e3908c3f577bcba2d02cafb67cf063b414cdb22e04a0cb918141e32fcdd1496991411b24ab484510862b280419a78f15a9c59838bbc4ffb18935bb79f8e53c6ce5ce53143eb447a6c73bbba6f65d6d9e52216f14217bdf24f6b83126e86133067541d1ea2b7fe2301e07085ec5eb899f3b4e9f8d704039dc96454266df4c3815b9460f7d29630354babe090fca4dd2d1d7877b5ea180d6a84a46aabecf850b6689a3e339ad8307c1bb64c3101df81ac9422bae077ac408ca98612c3a8606e8a44e65c2d3e7afe21083ce00a9ef5416b6524f63029413314f7b3a77fcd38afae9d4e8c0398b7002e1aa3c04d167c0f3fe68f78a0290bac935bc088aae59f5c0a1a6d9b89c98fec9356cb69c94d6a667be6a52a081cba804924e24f2b4bc72f9b5d3b6ac19717ee18b7ced7ef5cc6cb83d48a1a7ed9e26d0619547669bce75a5b63e8e2f3e73ce4201cbe66900ce3d1425f9c420cfb308877247195fbe4d58efbd1a928f23f866a37ccdb9e7ae9cb0b5936edad0437c8a70a122becf32bc096d4015325efa5a87c3485beac877f7b3d3931b2ddd95b38f15fbff20879047711fc304ffc1de823e6494a6d022b423024e012583939a033309688d358e086344d2d0ef0718c1a5d01cd96677352932b05e3b0ec98f59c5d42b235f0e1d117ce8a7aad70ae29fa172817a7ea3b789d4cfd5e764c682a303e2972513bceb5e0b89a70dc7292ef7501ca24c352107ef5a6a5f42d9bf493764a12e2d102e135e1e7f0594b533c29fa098ad53a653e084688dcac1d8905133944d0f01a2c6cfd62b13c4189fde38c53c5324c4e7feecce2a29034f5be4579b05886d210f77b6e69f0306f8b58603784a7eab579ff7d0dcafb10d038acdc093c3c4f824beb0e9b57fe61a47d48afe7b8bc19bf6cc4ac2e9da4c1e1705ad6b1abf5a384c7e1764c05c3420b8626e421b4afa35dc36bac77eeeb51071e47314e25961635b4cd8f70b155708c342f76ebf19e6632770969453f4ece40e1f8e948901deadb31ea9dd15756ac617821d47b8bcc828e6e2681ee85e4fba7f3252698320771accc02862870ee0365e8b470030260ba45289d6cd09572653ea397531a9bb58e63aad615c8ef6420faea89c9331e746b1b2fb11d803b3353658e4183656b2d1e7298d1d4fb40f63769fa998c9dda3972fb93ea79836961e112c1029e0c9800588e1cc72ac46c3eacaa9281480f09acfbedad7ac0c8c8c06c2714a5607cf214f10fa7b91ac8c4ea866e0ba37e63212a44f75123ca6b621382362e97c789da25c23303e33e5915e80025ca635ebdfe8015c0332e81832fd71591a7d823ef624d16d7df6957815d7dd722a0474970d48fcde3014348693bccbea779e133aea49898785e640c9515d622cf9417d89ef10c427099de620d5c948fee1455fb3fa48d2c3270769f865597d12be7ef330ebc2840cc09de2dd85895de15ce21ee204633073318818df304d2af642f15136d67ad8314db2e38a8e3f557e1d7737f55805126a11c0182254ec5adf0d63c7b8d7c8344c65cc45a62484e54bda662c3ccdbf3bbd42762906a3c03d2cd9563f2030e62351bd02d46106b1232da369724ce591c9fccf08eb0a2b0c919b77a50cf5a867cea2b64e5c16151a196a3f700c6a7b7f21a6f23be212d2c9e651c3402141b4f0c7200a2f2b0210ba62cf5e41fdd1f16856226c7be8ceb73604690fa081fb8974d0280c75c77127c6e4e1fcf8c5075ad241219ce1fee9067ad613bf029c8ec5ace48054d0a829a39d7c7932a6ac9749494811a62002a77d09e901604f877afdf47eaff9e1cee8e71a69eff73293d68a4c25df599994eef3dc9221245350defceac758e4c81d6cd31d323915d186da38b4278b50f690f900f8056c003bbef0b1202df84c79de0080a3a6da125fcc4ad84fe3010c8e2eccb505ba43d622665c62d8638e471944325dc91427654e87e9dc89cd5eff1e5f635849c0d2d540fca3332c427bf8e0e0eebd6042ea8090db63a87a4ef830d49d10267891b813d83ae90e13afdbe59ad319a8f1db1362ec20ebc2b979a8ec7cdb72c6fa840cf872c1ee6bc02630fa1888755abef875b465a7501cd885caa49d2254c0d02dc49c33dff719ff21b634d988b40b3f9d38fc3b7a3a3021cf15bf88b63988249fd81f67928c804ba54c438e3934a4ee63037ee38e7e9fce61fca58f59e4bfc58c94f36bc9a11f862a56f48d1f28aabfc70abf378d3b2786724d3e24916ec9364a2b7a935b75ebfddc3129361765c248f7e6b15feeb93883e454ffb672445afeb665590590b80d5d5ba49fef6cb45613e71626f5056ac0934c95175ff8748088bf5619b6855e63b4ba1b10e2a8eda2adc7dd4a0d3654a84596543b110335da183f504d4748b22cddc6b4c4767bc2940bc36c1e3f1407a94ad0f1520ea076d9e61db46aa10d50d1e50b36abc1dee223ea2728756abea67f35bdf639e523b382ec5a701ac15b4fb7eb7b3c1800b4376fd93a6c35a99e5a773ba614f116eb5a7df19060791e7d2e2bf742d944eb8ac6f3eaf3fe191d3883f4d76e11c72c5cf06ba95873a3ffde17f36ff76d716d0181aaa4a7898db972247360a8c737f27626a281d2860c5cc653e70c07c61de74d350b45af7dd2272ba5bf330e82522cdd946fab4a573639d9ebadb632de35ce9e595ec4edae97ecdb1a04323cb43d34dd5f91e9340b6a77d3015487eb315d34cbcc92b3c1d5289f91bd138b400b11a0dca8e6a71ac71809fde775d53ee3cd1a1284d880f251af1a91200110dfd243f34331c84f4f9a8e859c77e00dd8170a9641fe40ed0e8202f18bead99e430a540a24372ce3bcfd68710ef2d2c2b0b5d61ad3e113c5d7da00f52404ca06e3ab10b611daaf00924e456f92ac6d27178baec52f944c5905f24d99093fe8a4a02f56205e50c178f6eb71db0ba4441b08682a50a1b7af641e0cd94b4ffbef783a9b0b93c2c251d76943bd6cb18c249516dca0c0a7816540b9cfc18796f775b722c74fd321d659ab1ecee465b3abf0648052108b618283d3afc83bc4b879ba0fb2d86e8fb25e1eeb59e119618efaa12f8831415d5c881e58f4f443f8b2fb88c7d42955efa29402ddde3c6884157cbbefbd6a4129069ef1dd8ecc2606c2366b592a3d9a405e6c828fe54c5740d29f7e5db47ec2afa89a44af65759094ef5c0a2da2ef76030bc286004427398850ef9f94ba53edfdf7c7e4f3c1060a9fc5b6376916ecc6da4faef95315242149a851e190baa8228c79a6e6736cb18d59763bf63e18699a4f3c097a690d6f945beadb25f4da4bf03402813ae8a06c552f818ada0111414d4d0324a409d439cd349b07e66ab5539cc0cb319b8c449eed5bc628c7caaa08f28c1b2473f6a033ed3fb6c2efb79066b3d99a15c04ca938ec1de9a8835e76487e6d7ccc2bdc4653c71adbabe9b17d24466f115c03c575e69a8c85015b49f7c024b883ff09f0df01500a4b9a088f8df211a324aedab15ab1639329d4b0ca710f961fbe754a3c35c40600f270ed9e38600b3999bd316f3d7d38335ad6d1ba11f1b39f0e398379bbcfec649644e3f65e002441cf9e7548d56dc7cb46637be09fccf4c9a6de6fffbbd90f08873b8c764ce307d85e282feca5c53eb369aa61c162fd9b65bd41f5350efb362ad15749cf5523ffdb4d7cf788eb10611f45c47a68ff2f55156b2e65f7e609dd6422544c8ab7e85b212e17e97be3d52ef239650dc916c60aae9a7b312eda890d7f08344fde5658ce2220677e78e8edcdf77f9f668fe7e687112a5b8db7371a13f7c22dc38bc6a09820242b304ae8209f1715ca24234d88b8083163346c0932524b19a99772269780cb39e93fc3bfa088e701c1512b56ddc632797d59f8803f16173f1939311c829af7a24248f9047089be7aac7fa077a6f0be97b8a98a5156dec72efc065aec534e10282d92776dffc79e601e0bb820b3f0c7d6d27b54843df1dd470152384ae1f5fa6898bbfdcbe2e0d23ff294b6b3e6246545e1b71539fd051052e707153f25ac44ff01f05aaa9e8f2686db84ebbfcc270b9ed47d3caf2499b10ee45934bcec2d4ddc502226fdf0a8a31a5abd62777ec2aacf286bfe9f051ed7441af5c7713852835480ef9ee067e384bbff726847f0a70a2b9ad08ce87c49b8d3a49341dad71b8a9364442e248d4a95829d2fd5cc14ee9b44c8350583b6553a1ffb35d977ea498339cdef790bf68e1974e074417a18239cf0addfe0f6ade03fa9f079e19209b660473ac902306c5d00c0c277b0799aef17c4ce1e8f4dcc8b6469635efcc5be16011a9b7e1e71ebe364c98945fd1b100bd20f311d7179bd09133968ad99aa31561475b083d506e8d11bb2f8ccc447e101b370b2d4f1c2d1e3d2422d91cd17bf1fbe237751f49271305fe723a21807f2c4bb7e837aac2a9703256b69d2e2ece30ef6a9131c52a977efdf1489c4f900b0b6d32b4b4fde000df930dea7d00a467e5721d2fe1511c3deb88881a5db58c50d9d10c449b6fd991791b5db04cec88c47ccf5872222bc9d499c8e7c4d0c937030ec87b9f85b2a3801f16ceacf27e6bd28351cb32d4319dab2a98ea02cc54b9f8198e3ff6bfcc9031976964dc4bfca9a483a43036e26c8cec3a55fde0f7f60c8191be0bcd5f2011d4464202d844e3e5111ba1442f41807b0ece4a02f8d87ab857dc648644f088750c337fc0e60fb6b959cdc45bc4ff4dd1201a40ad58a9304767163d091cea804151d001134eb29e847e2d8a4f6b9acd9624c905d7fc1cd0973077db776cc01a24b71395f5cee7e8f6b5602ece810fbe8abf23663447722f296dcaae4c82468a1909b5437e166c10fdbf6ab1e6ce7491bc1e1df3923735e84f16ae49c0289134e0ec8ee0a7088bb1b7d72519d12b5a4609c293d189160f08e94b3526ac9045ed2e136faaa73d682c87f9d7ec9d7db1f591be1a50cc6a8329f6580d205451e2ce31ef989eda995f43683f204ec64ee09dc31e79d3195c02d07bb425366ded3fa0e45177c780372515a38e4a3ae450103168e68dae6bd5c591a523fadffdc78fa9cbe0527039c6467fe95ce01001553c9137ededcabdd82a27684b938ccf29b30eb8bf2404efb4f6c250e2dd2ab0a5bd1d971721dc0d4ac9ca38236f99c721449f9a5edb0f9c1ddbe92c789089853f5ea738d2fd502e8a1ec9aa07729121e068274a5b4066fcbf111cd23edf11f954cfa6e8962b60730ad2b09f0dcaa1bd140d80beca4b42166b440754311290713537ea6c03f28d62e13a1c30e422dcf208d61cff89f4fa9816342dd72a2aafb7ee556084ad1150e3437cf83793671aa1527ba2066151183b397b2781dbca1a5035a30efc1d6810b9385eeb9442102c9351aeba2f3c29c79366488ba4f8737da8800909757e1a6f8c61005c18a256b5ca7a12b3b1880d4c4b5e5431742885c612c2091d54e6794c72f61b006802db2006b121ccc2df4752a6f9c4d3cbfbffc3c3a1864feaf30521f5d7baf343f290e8e80fd5cee1dd5924a4422eaedb43d4a3c918b1cf9e6898ee087488944108dd16de85b7d3b36c42be362e40d81367cbce56212e494754abfdbf95ff6883e87bd82ee3e510f8b8973eaf25a9572ecc980a0d57d1a3a577c0133e333beb37cc1c99fd315f5c917f99e84c4ada20d19112f16e01b750cc12e029320a455d9ba1d877320e686e6a39f08f675f646aa792555de915e427b02464e34f6121ba4e30258a42f17a83eb8b0e0f2944ea16c2c95be147ed97b88cc31db2dd927f31d6ea1f200dee7d371ce518c19cf48d9855f08ee4338c7fa471dbd8c9b6ce784a898158da1805803afced8553d5d249733f9841a17ee74ee4db3cb260bea9da4087e1225da103526a9162ba85691aed5e819e2d853908413ea56f7bc4fa79e3d3d2d623c27b58c27daff0d8d2a45ee471e12118ee7c0b16ffb1a13700966045b923a6f48ae8192fe6f87b698bb2a658505b51133c7ddbf17c281a84a47978ffd18a9e666f3b51e77bf280876c210a2c6853d85591c95be8883f8ecfb8726b147428442234d1c638f1ac1c79dce85317179c6ab3d1cc01a54104859a639a3a1ff37872341261f6a6a2f1fb667b4e937875eb50c096cf7adbd697ee1860f053511afaf5965dea1e0a974271bda5c911c0565bf199d70e635ef1d42e360c0509fcc53bbd1b2036af2e7615d2e4140321f60a2643abb90fcb048c48550e3e8c34cdddc55fb4e4f32da17e21050445d6f7357f390b6edaedba0cd7e8bbc246f669770600d843f7ff5bbc02c6a2bbc7234ebb580c589c369474661754293d4bd8bf6f4c74cc512f9fadd7d9cf08f3ee0a6b3411b5137ab83c7e591ad9fdad5f636da9ac42ec39fb3c53aae359813f38f6a817db255f423f77ed1175d49b6e9fd0b99e6d7130ff2417812f9bf4724d05e6c34327ebf4028866000f8056480a3972d7bbaaf00832e2b5b1229e09abc4499943813ec0008c416a439a5c2ab21e94be8a7eb041f7facdd82ed77d4621d654bbca8432bc0de7046fa16ec6aa22aaefb00e6f5bf82478dbe576d1c93bc4bdad6b6974a457811af4462ac6ee9a7ab6238524ec344a4bddeeaa7a5ef00746642773764b80a71130fcd29ae62e313eb7e1e846390c59582b6cb96af119bcf18d6f3b83f1cd069fcc77746f003dde9f7c7285ab9944d96522b43c24af5304d97d132e1232aee4c66dc006ee82a3167169a297d4abcc02e7612bbb9ee8fa8d8483067a50bc2b3a706173038d824052d55639a2da7beaa14921bd884a5ab176bd7e12fec52b8f9e9a1f7b3f3e70d13d3b72e3763c7c66ded07efa9185e7080bbfd3bcefcb3806fc0334b0ceb73d4aa88e404db289151bcd266fb79341bf9cdca22e4faedaf2c298a799b429b0a7070c15ea48cfc03ebc76ee42c8da98931ae3240f8332d725fbc6bc0644dd8ac7d64ed62847d77b6ced169b937ceafccdb8da00f604b6fdaac7851ae29d698650e6de2fb7548ac49136863d7f2b1add22289ffee480f3b89c850de32f39d0185cc537f30d827928493d8a11c00326a2e51600b2a37fa47bb5bf88751e327f30a0f7b80317f947ebfff7fe99ab60eda86cb3b82ac740a9cd43d4d761b25ee5b866c1a65fcb797ff156cd038e6850debf8048f30e9c89886e2278434d8fb631ee61bedaa40946c25e01905befb9bf1907184fea31297d4eba4e217a4998bb78faa0c105a91f372a89778af3360e7104699a86dbe7b736e5da544a6b1f65e794a4c794384b420f094d48640387cbb145495cab79592bd10c02f82aa08966b8c8ea28e952ed6d726afe722603f99ebbf5f018c172131fb19b68ba3ced92ed0db07548e87af895a49f25adfccf8fe8babc31039718b474731f0f074d446d41eecc79a3dc4b3adea49f531494b976bf04b0a1d19899e59078fbeddca0be9516062ded818f90c6e6289480a00ffb6653b8bcde20b83e1c3a8b7f837c97192f968e0bd3d6adf2600cbf96d2d9ad2cf2de7bb9d6d223c323bf070d71be6d5cc005eccfdefd6ee86f81123511a30bed75f1bbdae141669847b7275904fcf656c9bfc09dabaa2ec153d3b151ea864108eb65544a51e52e4588bf9987e6b4b20b64b901fe96a9ed6c22116a0151c4f5938cccee21ef663e41a65e40c424dce6fe23030aefc62a89e6fc3c920d8869c70b2f84083ebfe224a926aa4d4d92f57e3938ba5d63234ac14fc250d24ab07487535d5a704f7012159a9948348f81f836946934026b63380fad02fd44435dcb7e2b97361c875f8487004ace018bb55edb40bfcb9c9f7888206ec23d67e468dae34c5211f0f2fb966b8086db9d263f58351ade03bd4f0db50ed7f570c55000c9f2d4985aa15b3dfc669ce6f0f0683357d7905c3cae8416ac0a16d0b6283f46af487f1cd32c8fa4f50e119bef259dead13b70fba870ec7bd8f979a0410f03490ceb80023aad790a5f524998947d8ea5cf5db2cb3a5b1ca1239b7e11023f8aeea3b83063c597c18eefacfbf8bba9d833da184313430ecc83ae30e24aed209ed5c528d6b7d21c01f80604bb00798b5c5bb9e41093dafcf2ef70e7ddc86dd4c6b52df8b437b9beb70dba16a9070936bc9efaef96b934ef1507044a50eca84181d7f60bce602a895bc81eb168d8d409473b886c07924ffef6a048e7746dcd28fffddb52d4df7bb19ca83a0a338e73c8d0ae95c886295fd2764bd41154163b6ac2c42c27b50398cffe42a4ddb35c689fc4574e0e601677172b0f0a37a16b8b80438cc8114e5f60ed5055af35ffa749b2160be76ddd8523010a012495d507c483b64deadc91d4b4654f1d341705b42bb0828fe0261b268036714fa851c246482b405842ec508136e421eed4f6cf2d280fa1494bf08846508566ceedc81c8d1ae0bb7b3fb78e44cf1de01dea3688a96246359bcc1bf286787fb7ac26d7589ec1cb75d2acc2cf85f8255ee80dc6708d51e5bb8b67295d6d49b84560fb1648ca611a9881948e7c53a756de8b4545e0bf2d6c665ebef42ec16b1a4f764205bda56ae191b102839b8b9a8ebee8c4f21e2eab0acbf57c049b8f3ceee4d77979cc8450ce795525f915d099af4288617eba9c5acafcbb0ac080f9060423265251d0b090bbfd8fd579959632fe76bf961a826f7d0735a25818d109ebf055d8760df83d1f3e1ae0ff33bfef8625fca06ca52ca094eab30e7305aaa591f373042c1c0c86798bb14c72b4ce65d7eb646da63538b346b06ea82fe3488d3fcb0acdf8ebc7755557564081cb1d6b62d03a6bdd0f63fba2b8cb8cb6b0b336b5bb99b90763d6d9a8759f32875c2e2d33e17a170e706ffd0c407135205f8e09d104d672738bd772bcecd46f33a79d12f51b37251df71ef464494e7299d791bf6273da7ccc2780dddfbc423b8785ac00dd6d12557b0d062720b73d4b95232766789d6e2fc092ba7bf371cfe9fe204c453df3fc9efe1280d5cb1d5d7434bcb24acfbeb646d2b25b52eddc92e2b6d920ab7251cc41e7bb2aa4c9e7f775fbdd1be585399ebfa71a784f887d0510f52cf84ccb88a89fd2b99c7bf5ffdcb0b9755d1fc20c61d0c1c0cb581b67beef2638094365804617d1ef6875163dd30f5ad2cb358cf2fa7ea55790c4338a3d26c97e32a97a8010aa03e89311376b634dae5f50306c7cd15ef1a207287f58f6b6595885679c04d8ddd01d17f29a3af57f689272ae63b5211268d0c6a8285c98b42170e0c4fdf2e3ab6932b90f826e26206fcbeded986bea24fd2a7429d52fb48e3a181c60dd4281c4a344c0f31405580e477a1c24709519392cd39bd7f29689ea0e64a91f9bd7757be641201c61befd37134b8d95fd8354e7b546ecf1e0539ee1f2b11059a19e39fb9cb36178cf543b41d6e59a9bc5b1d81e47956085865b98f9f98758b664441263a1b539235a5472812580bc253bb0601219af3ded3a7f44f2b9df55f6bf0494c34f7c5d26230822c9bfb7311f4788b69869a290092103cda888f0690e33f3b2808937b71ddb792c854f9a881ea9d05896b7fc15b24f525c52716e4ee656592d4e041e52ac13326779bc03fe275b0f18f4e9ec93817e5b87682427084a99d822d757a1840d588704c8a76a0e108ff8c0dc8730b80e66d8aeb7fb7d2750bdc2c7b724512626e2a0bc6b3eed4ed22c770b89287a2e6968a347df5a75a74015faac27b98cc0a81863cbba499c6e7a146249e8f7cdc3dcf9461e30dea05e82b134b862eec44b513b3ed628c9946072cd8c0b06231d914135018fb2d782e677f8d807431b5dbc814cc3972e1d10fdd143c263e2f66c313c951a3e60a161d5ea19285f5e349a75090a97e389bf6c1a15b5655b6785aadf4af2b5eae992d062a37113da9e53845759e11879c985a4d5fe37d2b3599b01774f8ae09a21b237e7439742603b4044781ba22c1305d7ce7e00e2b829ef0ecf766e13c2218da1c55753a79126fad44251a9cf515ad24aff6c854d8456c83ef865c79795bdce36da137890a0a2c4c52a41ef69ca165d174bad83cd9f21c9693b89a58fd95715b3c454eae6f544eba6407cb8946e22a071dd140af5471d14f87034e8f4b127fd2b2a516c7d080db32ba0cd463b2f668e0ccc8df6feab59b59d52fe2070efcd1030e6054dc54f40ae4ae400b5468d1fd72ce3a7670d12013426b725bf27d6bda592c62089a8b94e5a241678a2fb924151ac3f07c37d7e0004a5218c656c9989e63acfb5cba3ff60e82af7139e9f2e07c1cf2d6c286549221223b419dda57a127350ee5b4a324a36551ed424c1a3fd61bfb26e6d12f3f76479da8e31b28ae71eccd52dc52d15877b796b6be59966369be134d2d49eec6e3980ad744b82bd9d09e3d2b3fda078f004d00ff6063140c41afd58bef8bd58f9475ac0dadc8141b61c97bb563203ecfadd35e7bbe79ce7e7431319b1ebaffa0ffa2ec839c1fb042bd646d77a17add3281e64b68c7d9d7ff979cf57293ad1554de494f3d3af242ee9d751fb241d4bc9c6528e06c389e0c13d5afbfd8fc821b4d0d87928795d79688e6c6a4cc423bd51b939bac0f75f4e12e380f732014044ebf2a23617e7f371e919d32ff20ac1b90835e0fed8e072b7a432b2438aab328347bef583f5cc3858901ed0df44a5a564f07c8c3d7fe04566a14ca83f844ebf9f1ca62d3cc14010c9ebe25e03118858863b4355a9045f873c4a7e70ce28ff337a9260ef01143aa6e", 0x2000, &(0x7f0000000b80)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000540)={0x11, 0x0, 0x0, {'\x00'}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 03:34:14 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$batadv(&(0x7f00000000c0), 0xffffffffffffffff) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(r0, 0x8933, &(0x7f0000000300)={'batadv0\x00', 0x0}) sendmsg$BATADV_CMD_SET_MESH(r0, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000440)={&(0x7f00000003c0)={0x2c, r1, 0x1, 0x0, 0x0, {}, [@BATADV_ATTR_MULTICAST_FANOUT={0x8}, @BATADV_ATTR_ORIG_INTERVAL={0x8}, @BATADV_ATTR_MESH_IFINDEX={0x8, 0x3, r2}]}, 0x2c}}, 0x0) 03:34:14 executing program 4: r0 = openat$sequencer(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) ioctl$SNDCTL_SEQ_OUTOFBAND(r0, 0x40085112, &(0x7f0000000000)=@e={0xff, 0xe, 0x0, 0x0, @SEQ_NOTEON}) [ 616.698191][ T9586] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.1'. 03:34:14 executing program 4: r0 = openat$sequencer(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) ioctl$SNDCTL_SEQ_OUTOFBAND(r0, 0x40085112, &(0x7f0000000000)=@e={0xff, 0xe, 0x0, 0x0, @SEQ_NOTEON}) 03:34:14 executing program 0: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder1\x00', 0x0, 0x0) ioctl$BINDER_GET_FROZEN_INFO(r0, 0xc00c620f, 0x0) ioctl$BINDER_WRITE_READ(r0, 0x40046208, 0x0) 03:34:14 executing program 5: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000180)=@framed, &(0x7f00000000c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000200)={&(0x7f0000000340)='kfree\x00', r0}, 0x10) r1 = openat$vcs(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) preadv2(r1, &(0x7f0000002c40)=[{&(0x7f00000009c0)=""/4096, 0x1000}], 0x1, 0x0, 0x0, 0x20) 03:34:15 executing program 4: r0 = openat$sequencer(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) ioctl$SNDCTL_SEQ_OUTOFBAND(r0, 0x40085112, &(0x7f0000000000)=@e={0xff, 0xe, 0x0, 0x0, @SEQ_NOTEON}) 03:34:15 executing program 3: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002200)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) read$FUSE(r0, &(0x7f0000004500)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1}, 0x50) read$FUSE(r0, &(0x7f0000008a40)={0x2020}, 0x2020) lstat(&(0x7f0000000640)='./file0\x00', 0x0) syz_fuse_handle_req(r0, &(0x7f0000006a40)="ea599264c75e753a5f0a5adf8471e25028e3a3d2bfaed3c71811ef6c776ebd7914f4d008380d9fbbfcc2cd6065ab22a9119c0e84682bec8a167f735bc57f764b5a37498ec00546b2e14ab730b02e1d5923a52fbd296d42f3b4b72a69059324e159c4f0e6422b9375c5580f13611e781bfa8df5bd36e35ce402bf431da16248bdd0e3fd09b463fcb96bbf32ac2ec9adb902be04f82ec599878337f3b84c795c5a24bcfae0dcc59cedda23f997fce79dc90307bf7122004f2266aafb3670d9a9568c699dfbee2308116346ff34afb64ee0074b716d1d6ea81275133d620f35bd38a97ec7bb522894f4137ce7ee9d22154a7055a1855eabdddcb320b1db706f2ff64239ee8b9e930a50c3b73a1c9723e956917ae616a8ab9f5e8a7d73ee394efe29ed66d690458af1cf90e6ec638389fa58819150ac993e903d53f340e94f43df0ac120ca9d797e427271efd6a4a0a4158a1f98fcabb64b9985ba5468465146d0ff6622e61e4a77cc7557037acdfd33cef59a373e5a8a8ee6261efb8f5ebf6aed09501e486da991414a836295b94a7b8ee15951d09fea5b3cf94ab2d7d0bb69a752a9468236ca342096417325e728878332878de3b2958b790b2806503b6fbe3c5c92d68f311a23726051e777011ad0a59093f038d8af5a1c9e9ef820de67e09514d1eef19b6ec76e0c5b1b59777003bbe83e563999343e02c75e39779d8d2eb9a3d346e8a8b39a78ceb74ba3688fabc948805699c600a337416868220b99d824b8b05c96c36f7dc46062f6b5bcf3a858965447fb2fe495c127b21c3b7f2e9c917f0ebc7a0b79c5ea6220881c37ccf169d10f5505f8d9e5aad90baafdf3bf9b82ffe4b2fcc30a2c86f9901434ecb73497f9e30af5a5cc1e3ee487466ff23cbbade3e96a3f7767294ae3e8eb5cf509e113ffa55fa2b098961b57caf7be5b39c0c7e918a2e091a5300e1e4302e288fed9c2caf7d803aba40d28d44e6cdd2a7a4d68ddf6777426dd28013f63371ab159e7d936ea8793c6147608742094051964638e757491faec3bac13885ed1a54ea7149998d2d5e71f60084ef2434fd4a5f0cd5edfa53936155ed02cddeb57d174852bf7bcab92b70ba902bddf79b2821442380155b11d5287e909b59b87689dd2c1e8b92b0322cab33118903a749f59c5f2b0e101141c034e587989d5a3990bd9a244e602d5b041d8b757a29d82d2648ca7fce7ab0bfee0a38be3366d9145c69416a9f11479cac8a56eaa8a107603026d3bb55e845fb99a3a30bdedcfcb73a9f27b36142f753a17d8b5f7679dd629d5ac39e8ebd51f70fc1c2fdb088d47a19b5fff4e4be781154e96dc3eb6c873ab4834cfced828ecddf74d2371827fd8c939da5e4942021434d1ffb5c44e1f3bf395d91c47f02a5432f43c5755c18bd7b54e5094f244e7c64531e44877a55e3a35a160b74e6742df550cb254819e8f666836fd2c74ffe56c89ebcca0d8db55e33b934032c18789923ac3d22e1c620ec7f1b49ce4e7c99546e9f502e106a75394a74605b257fc8a1af4be397ba024eb56cd17c9c9ad9820584eb5378d5b41e80e1a3799075be7ba48be58f47330255ae9253af33770446802a4c4e047c3249ed6b450606d3b61a271108e3822330aed072cc0f516944cb2cc5ae97ecff2e49fec06f3d88f0db623ebef45919e9f5a8726f261a29da2bafb2a2468d502dab5133744955bfa824e2f997dd858c2633846dca798006966c7bc33e183c36b62560ac548bb76950c2c2b6d54ac3929ffa8360b97e99fbb2f46968af7e38dd373ad8c82961088115cdc5d89a6d6d6155696e9601cbe9f3979195e1be201b1bf7c56ecfb4393b14a9551f55ce0afc8f4a1173f8cfeedec280cf871102500d849369182a3cc0a19ff725c3d2640d631aef58e052439f5ee194bf0cf6001141e41c993683b2a720797278c3e598f641408b9382c40e08fbcc4ff18934c00c902f730109e0d6b3a7d2b39c6f685552caee9fc5fac0673861149266764c53bc4bf51b26d7e8d60f1b2a5f89560cfcfa842f759c78839f7df951c750f8cd32dc8fde8413ddc5a8a7f089e854dc6fa0bc7f4b938474658fed9ac04ec96c8fa622247024d73af4ade15d4b5c7eb2775cd1bb3815931217d6f3b37adaa3ba165852c6131909d7e5fe1432288a705650686141368db00f52d1ef610d65c435d72d73db315cb1f0994a9518d6e12a2053c1230242242fb2eb5351df2fb8c97652a2edf658d42c1523222d7093418374da30462582e0bc26838f21c9f0b4459238257251ea85454c83bc69aad3c818ecf256db3689fdf59f9d072279f7b960cf9c7445b04ede30e1c68d320c27e4b88abce10d3f81e593ed78fc1081e64f5ce0de07b570eb49150f3534d78386845b1815983743f60769ec44ca42abb603e18eeaf8407359d3941d5a27090e7f1042f584a2c213b2e0d9b2702957db679e3ed506bbfeb0fb8ddd71efba85e46e7658e07d8889a457a0d3a7bdb0ad32b68017ab8825f4ceba566f91d287148ca4464cd2791ab16cb018b17c371c083e1c442a32f8a6f5c16ed1eef3839c279f092248cdcdb4a30ff164d12fbb12da9baf336ced5e7bfd69c87784cc17671acb3fe27b805b9d76808653579cdea1cc193397aafc145879135cbdc9745ff497a2dfbe7a1e2ca592d3b753f3db5e5f966d32656dfaab2261e73e5f5cc553d64237134cd8c69d9770d50a604239b1a56c049ce77bd99d1cfe91c2eafdce1a499da0890c132f44eb6ac05044297752d493b9284581512826da2b608f3ded9eebfacc1e2ec7c717d13990fefd66582b5322d55e609977c59132e186b3eaca8933c12a9ef3fda73a5976dd50b1889de9181baa86d4fca53439d48ebf8e88cc8dbcdbd7924fe6249882ba144446cee32150807654053f0a05459a9fe0c3f67724df0c9226612099d3a5264154f34654836126e7ddc29ed873efe92334d8afc5cdac6015f82df5d44a3037258f6b89aca31b1a8595e3ac91e8ae638999802b4d9ae2e3e493a3edfb548599afa11ccd1c464f559508a3e4514ba070c42069448d25e3786d4e6c95b1cbde34a40b5e024818b5b561efecc33b797b9dc9b93685756bdf25ff46206c4619d33271727f11815d3c039e64ce9e4b54b73d5555a580bd23bc7f7781313283a7f36d6419662edaf4c155e2858efe544b6d91886f3fef3ce56d6f4aba16fb4668d2c0b4c72aa153c6a9c5a769ebe4dbaeefca622675b0bdd2b0aba23ed1ed023d7b7dca86197acd96c06881db83cec12ce8f613e7d864291a3a5f0f8696fac3acc7694d70ca7676a07cba742065362745d26611cf3265260f1955956e36b31c50fd9430d408805d867aef26961fc98dfa3efee17bfefd6c33c797becbd2b625ac9a1b23a25b0c5259a320f038cdd6e6a25a56f871800040a87dee6ec75161b205fea07238f1990faff07f27a0ab59f43db9480d1b902a29af3370f5546b6d1ed8e00c241d00c3541727e85996f11c709e82f69f3f3be37175e4eee34ceeeccae0e79ae4b94970ef0cca19b1dcef3beda609da9bb3762b72b136f8793f5e458bfbbc429bf8b169a0e241620c2225e08853576483afc4f8cbad645a5eb37d1b29b719b02aa64fed03927669c3f7b03305391796ee59c40719b9819c76b0a34ae6925679f5115e208f8c3d0fad60201ec054efb8f0016b850fba619749782e0c7080ccbfc6c347d04e4e2ab3dc6a5adbf746358c53cf5cd50e1a524271667c445200a45333284ae22ebcb43dfbb40aeccb6b4739fbf7a8c22131663547615957ba8bc89bbbebc7e483b1df55cc216629e5a1ef11d54ae8c756bc00067745a68fa42464eec768a54cdd34c9b906d9010d55cd4c6995b4384e6e470b1c8c0d84fc6106282297abfc4839b0db89e7972130287b61bbbb5e0dd696c27537681e72a0f7bbdabde5f9c5ce442866a8e865f289bf079975fbc27e26c5700840b82c9e7bfa5b95d8e6f2c1565607a0f2bf2d51c86fe0f46f15c0370d00c001edeb053a33db08a67bb04478aefbdb1f741205aef7864423eee924f08b15ecfb77b9b45b7687a31594802aa2cf5ba97018f1355cf9bb504b2ed63c8405a30ee9cce2be575d1962c3f0127d3a2a6bde82e42df5353d613b06c83b0b8c63fc591bb3c492bece8992d484aac67e1f629debda55bc97809d9ce1da6aee40fde39d0764c3f2e4828ae3362fe5edcb464dd19b36ac870f2479d313466ab666117094dc8874e98f26b9ffd8601be0c09aa80167fb4549e46b9ecb5d209427bc4cf0a79f3a514908e346171bd3f4bce70d769741ace8137866deb0f3d7d98613ef6d77995bfd53d311529f03cd92fc85d24dfd6861d7a9391f0a8d52251812e632dc3ae6943fae0a2cb9577bd9186f411609dae9b3caca3117e9e4d3323f266feb5022d388a3604b2af34286bfd7aa8ea16d575ef7a9efa4d3d9df17a94445236e6cbff3cecc7e4076a0c51075d5261997982968bdc4a2f15c962109b259e67443d3fd6b0994c1401bdfc7b4fbd9993c1be03968c923f4b18f23794bd486165b7dd9d435254283c908016a4ca8ada2ce9f3c0e50e3cf1eceebd8b06f89ef42b2c960a0241cad28cb61352e26567ea59894ce24d2d84c8fc64a91f129d457c4b2e1cc0e46bf5cae919ee75757090c5c1c4ffec00d5b6bb772ee852538e11edd844dc9869db8e28e931c8b339fcb407ec2e1243720a024fe5128de9f08a971db4ae4194909e46f5c95aa1532aff9d1045b1ff3a7c4de2b60ee32981b0337371635d7e88f0241d23d7b38d3b492c92bf4f4b413b6cbbbfea5fa0a329cc8828255c1541175981714385baf3f6fb7fe9c05ab79661da2b2ec1e46b067a52426361c231a57aa0753c2fee6dc553cacb9f6c285602ee3617d0f43c8d66003a6ae10ca1441f8dba1228d8f6b3932391dcbff38d5a71749ed266a9f7d74685c8912e531b8619e25db43a2267be85e9cb071f7296d2e97e3944211e2662c9c3be66161fb0994ede9e8a76b0b5e5fed6685d49ac5d4258fa7e89c6bf42f3f2bd921b1f75d59ffed0634c15e4039fdc1bb551eceda13d22f54cd4a3ff1b31cffae89fa81a680338600bfa599b4251b18a70f249a3275f2f581345f3e53c82465726344219d515bc792d2161724442459a3eef7f42e23bc7f3a2bea654a9449e9d79c6c4f4fe4522bad12c90fc1b75c99365a5b8f08280f5189d77fb05d47662c8194c001823877b45ca1d250f63af007d37e4c9577223cf5415dc22e0416c0b1387eebe056bde582f27c04ed5a7ecc18f6c37e48af6b81a957d35b022253450849d25211129732571b18b9a4ab162e4988c26e38fec9508b06e39fe693730209585f0a686b7d411c02ed391361fe35e45137b00aae16f9ce56a30c9c1c8a71d9293b1beaf633ae09b4dd3b20350c30997881df64b5fc860e4dfa03e02d2c02be2135446181a3747243716a630b52f84b25f4f8902a3b5e6868d8fc25500eb70c427b66e94d2432013c3090fdcfe2bf8bbc8b6fa03ded402bc4fe3ddd9a02c95982950dd5787bed330ce31e78f8572f8d7992dceb023118994c4d47c760fa85eba1dfcc36d9fc41586b7e46cc55f76ca8dc7b75d46c922c1f792add333f28c30b0b1ab552cb5f1acbf7933fff993cea7553f19ae0d50ac1ac5eae6aaad754a158d17945c40a038d07316ee7936dd192b4c0387e57cc8c0d4ff9ce04c7eb6b7dc37dbf087a6c1920fa926aa68ecd6fd84eb60245dceddb9c347d8fec7cdc486e499aff588a2ef00fd57f79208c0745bcbae6f53a44b09d5af7e6eb37ca9db9748d228b67011d279abbe9819c2a5c058aaf6ea33c7dcea03b681695934cc937ff24218756f3a9bf2948410043f783bfec2d9217062ccd72b3e9e9d8ac952d0f1e88bd7e82ccfa3dca5650964c8e1797d474aea153d7f94a9b42004723002c1546ce077414737b35b72948f1d6fbec7c132cfac66a0eaccce1c29ccaac9a848a5cef0c10ad1325c869cef19f41f177538276fa030ed38687ce44f7d1f87a93e316b201c040eac537367ebf17be3c6223fdd7a33d085dfc195506eea12f34ead3fe24498049f090344059f1dc2efb02eb635141ba448fac990e72485488aa958e2110bd91f2ac8ac35e8ea0826d36eb9851650d0937f7f5a09967a8ca7b52ef4c5e069d39164cebf2f47610909fe2e0bbf2fd5f80c465da6db291af79683fad6e1ed2fe791ba7eb1fbc4e454fa8f54b0f1c406be192050aa38d7feb5d9c5081f5991568ae020c606b7c78b724f8d1a15da8871a8cd338b9803c0840647669ba2a4605b9f302e57b6dccdeb37aba3e6314506cc300144ebed9ae1ff23527370aa38855a851afb722dede2df32db87c8d3406196a7bc0daf075e42ebd3f7cdc0440bd050bf7e8874f63cadb38065af0d1b3609044eebb431bedc082cbf6df2f26f81f9fb76f63d24a3d61c085257d753c478cda9fcf54a692cc43c984cf0f5e23d5f67e6bf71d1feeb754f605885421e7800385125872c7b75c7fbd3d1b3d449b8cf132ee52dd320b82a7dac6905de92481f11e3f1b90d2d8f932ee3415688b4e5e8f70bc580b207f0b5844fc460825af85acd4e54445f973774439ce31cc853db948a73fb47bb0f51a790ce91be993964eb0700aa2e2c299cb636353feef869b15eadb12819df060444c2599ec8ec27f34d9b4b8f660d185b6d5e36446b77366524881f42a03be0de811ef20363caaf6e6c11a7cbe8e6d39e6c8c7f6afc2e57babccb397fd38bb08cacc44c4f9bd8463d8c56bb66fdfd1d1eaa5cb226b1677061881780469622688d3070974a2f2cbab3a250a66217e10af3c0ffe8b21c0020f992688eb4cd27a6efc8b4558c6c086b1a65ce0817ada9397ad0c4cd7fdf2e8050e3215455333480eedcb2ed4fb579f788964947fe6a0d95b6099867be5c538bd22a64aae790c2107195324ba53007b66b1bfc12af0d7a7c97d7da0a984f0adb3c0965a66d7e0d0ccd205f4cc2b78a82d9f1e55b067bc71518e7211c7647ed8eff4454da920efdeb58e317403f3e1d0429e133a5be6e7785e22e5eb9ef21c3c308e17c82dc49e4be142051b230d4c02728292a473862f1e518b680d4cbc96bea08ffc39c87ebaeed8a65f7fecef7164432432e7406b25f24b44d31ca93b6377bea9ee8f5eb9455b4faeb96935dc99799b6685448818b8110026f3094eabe9fd6f339fcd6c15d890ff7d59f32c439e5d4605a29104bc17d2f0532b3874d592c4c76ebb58e86a022a075288345322eed4ab65ae86f3f0965f35cf608725a42a7e8798291c03d3b8fb16bd211ebbf96af18039fd4609f32faefd5ad2d7f3c9b134515d201bc84800b65f2e738328fda6e82db755b8a2e9af982d3c8f430ff97004351ec20ca89d99b7f4095948a2255da35ad112745949f3c8c7e87c75897c7f203ec20edf8267076683b667e2319727bbb1dd52fd1c73be01c3358bc35cff9279cbbb39c268ef371438ca88412926503d0d510006dcab3144ba4c19b37edc761c8a2dff4578de6b9646876a6d09380dd2ac886e9775cf9adb0215821dbffd500fcbd3f8796e9bd6b6091216134f8b46e0e4204e0c7bea831277b8355092ff2919f902c94a8e3d67209dcc97f0322269f6ad9cca61b8b83bd404bd1dbaaf69a9f4ed2ceda2f056271f224cd8e53a186fc5b8aca29f4d71f4582716bbac308bfb6a9ab6c2e882ec7d9eab78903b9eb45062daae3da196a2eba8635b7b5b712be5abe66fcc9b0be631be85f86b543e6798e89da9a341e35966f5188d9fd52e776e0ad5f11bb0fd656b0ae21b1d36c899e7d5d1ee9339c06a0ed0d4016701673244db8c5837c9d4fd448ad3d92a47fec597b008ea10ea2a155098a2aaec5fb5980f302142aeb927cc89e6d2ebc02da750acc8aaad585b3c6056c9b93c63095f15743e60c4508c5c040b8c2d0730b52afc0fc2825e886c0f9daa3841612f52dfe649f760d06a068b36d96bc8d738124014537c3e3bfa09b5b43fb26560e9313b95aa18a08c1c291b0e037b72ce26538748d3356b727165cba8672746155627811415cf09587a0ea52612e3c58109d7ffced931703d57c7949abf6de1d6b10511218927d195f7160b98cce2faeb9fce8e6ff0811184e6b09ba235777df68f810868d62070c6c5b7259c447da2399c5bce8978fe44d33725a42d046865c4e3010089ce4923020a5b81d1105dff5784900f1e1a6292d210dab3849571c7631c3a316ed9dccedae6b987c3cd54a20be39e85034b5a0143c6f7f32b8541df5f61499a1680eb9ab97ceab233c6da70211e949076d1261bc3b16cf01a15deb1a8da8da4bd75cb8dbc10e15b46a1d302d9a248892013474870e736b1bc8b83b7d28aa6feb630ed9a2d8162e8115a8639dfcde279397846910f1381e8b5d9158104ebd640e748af1953fbdff1a25e60495c2895a2d7f4f9ff5754f5e938388a9c0ad1acc728d8d2443987e6050bbb4d3a79c6f3377b1836b4abf7bfde476cd1a018a64f382864edbdff37d706c2c157b456ebb9a9783e9ecd1356032919f47b845de5dcd7b9f403b517bbba0221bbbfd1060071c550eca8e760b390fe6d7983b96aa2f5cbe4ca00c26f7d1cc0f5331b6a22c75a91da476776721cca02feb8d5d231d11205f31e114b2cf4b45d6e36776cfc8629e381ec62ca2df34d44b104aadbe73285c6d5526d8e439d965a4494f9b7dbe0c9534c7d8eb59ea64af6bbdf548def2967e088604489e72a1ef33ba35e7f77f021f79b8edb8af288bdd34edb03b29cd91cf7ed77e91ae18b7f95f431f62cb1ba06d240a9dafd91bffb6dabda9fc168bef87bfcdf65da695dd02cb2a3f151c42d11c12a95170e3e433d9a34be20ae13baf288d183b8c2c0c512bdd1b2ef9fc66c3d881b5dc0502f65037f7dea077d0a7e6cddcf4737e747220b293bfdc9fc9e35e59bb0fb64410cdf5044c19fad86921b11a34e88ce3eee86cf29cb50747f59292165bc75db85a91018bef67cb101f9b3dfb377fac82e3c294266476c6b1f7e8d9fab7ee162e47242a8e161c6ac3c500d86a3b1cb1f64c489751e651ef3f2507731a3e147f54f9f2e511aefb66c5cc41622282d193c59ac583e1eb4007150717dbe7b2be2618850ef1d4a888d82add0c19a387877299507dd3ae19a195b24d1317993d91393acdc4e8b89abd2f3aef74f5ec4481c37871e731b321f8eed6973a138289f3417d6c1901f9ca8465bc3ec6b1bd7f2182f348fa13b4ef4baf7f07bf6343c012814c7e652bdc896e743f47b9cbd14d0ba67244c0f66b5cdee3363a5a02144c2c9468f4c3d1b3351c689c4de4b0d0e74833fadc8e2e45c001eca274d85428cbb853d6a369e550696acf09d15985149daaa23dacd8026db805e2107edb36d47f206c7eb844f425c6ab2f0c9054b6559af82967aa03c54caad11a7a24cd1c2e7906aa270186587e297e8c86ea55633166de21a54ccbbef465e0b208f142ea7fc7f949fbe76665b2cc799e2b3219383a1894d2d9e7d054c7b810ffa7f340aa51c24db4147884521ebf644e5326767085ef64691d73a62a8c02e958acf8fb0929b41c6d1c63d6979c711641ccc92eb91c088d3ce0ef0d0935b4ff6b5c3c40e62a766dd9321bd4d747a29f87d84c988fe11b3ea33064355e8a1fa9d0405ae827f0dbeabb808d4477d02806dbf9c12ae2c1e142893afed2c59dde753284de1f00c37938b916de0f68d291a20ccede2301e240074480e3f495c26c9864cc70943107ca79b0a533fd0ffa4b587cb3b765a812c9f29fe0f1d8f688e4a24bf9efeeae7165503c3a359f081166a4aa849bd5e7511605ea990f6e79f53331c682187c6cbff8c3977b364d57ae5c30f1d1a42e3e21ff737c2dbd7b8dca28932b95140c14ef292fc31afd125f6be422d4c4a8ccabe66d7444015d0fd63970afa4745b9990ae996eb8631058b8d98868af25ee5b1d8cfb48e207e1e6b782dc792b49e4a4156bda2fa5c1efe0e2b2be8d2a496855e46eb2e8062ab0ef83f0e83752d4ec6432cc72547970f54dedf9474ee3c0b54fd56b719f632d68bef899c916dd7334d5ac6bb523bff654ffcc8f214332704b8fdd7fe4fc2c0211f1c4571e4022138d4166c2f5c253c2e50ed01f31e1d7ab863b657e1271ebf56529686cd92f8eb60dba7af43e5d5a94a3c28c2ca44c3e99dda0be96ba984a18c863e5c81353461e5cf0fdb3096adc8d02f4bee35f033a97db9e91096a9b00435439ba0fb43e4070acda03bd426bf23471b2a05376589fbbe9ca62aee753976d1ec35f093cfe9cf892c4fa25ec189b4688b68effb7fc358ecabecbf68cba13042ece4d1dba3a71a067d8dbe5854443ca6e479884fc7aa45e621cdf2e00ad088d9243a89ac2bd351e8913a6a7bc67fd7fae020e4355378a784b5ce92130dc72ec1720daefe2a0fbdcbbbe798988debbc603ff5b6aaf0ae3a6a2edf1b5f9f104af045d35808f8da06eb031ba53edbd2e48d6e83866f7a5196eac1d22810098f3b8f84499f0c802213194ad2b4169cdf27939ddfa9173b52850e1f07b5c37c8985966695f6aa1d6d11cb8de6338cf73af29283136766b1f2125415ed33ebb4eeabf8198b72b7bc3cfaa2b0da55c831a4034416434066830f2f8d655edccb0e24be30d683b85f5c2528fa9983cc7fe248dcc0d26d5c5ade68238cd7916112bd6b1abb401abc1317d7f4e0b367ec3ba24364a51867da94dab0c15cfa6f9da5801710145fb12c1172710b96a760c085ec3c8069ff1ae8cbc9782ddea35f9141b00685b8f843b7ef2f9ace512db0b8390e9408245cff9625891c5e937d94a74d16be69dadbb8237e3db53c84bb859cce59fb3f38fe610f30ebad609c495a06d3cf4e7de3859d9219d497a05d3deea95d67909e806e63de13fabc2d6816a199de0ccfa5a383276c3a850295d258d5b3180f7beec5932f880aed3471dac955e4734fb76c01bed8854b78d32af66a820c8010f10d0ce52b8e80c526f55e6918cb8ce6f0fa65ea9d10d35f6e7ffb2514a2c2a0b76efa59994dfd2345b2f2f682ef65f493d5530f2efe818f405df29cb2d1f7b0763b4a073e40bc56b155aed9d3fe95fbb678a830c9531e88d1bb9f0d3633c454b36e3b4e64f881ab6e2fa83cc24f35bf531e6cafefaeb8a598f14a2e45ae52cb647f0111d84f37b288876a4ddd1973ea3ee6e5193ecb39cc9322dc212bed0b9153554e5463f7eb28839b6e42be6597aed2c45373880d3b143d8601c6b3c5cd43a7396e1469c2e5928c2c562bc001b7148662009e0d520813b877d95fbf4a27c9c93fe59939c25cd8bf7cb4a1742542385a6c2498eb3880e4e42f74f66e94b0563444ca954537ff9d0fcdfcc892a2161f4c80914674280eb2d84040311d2f585c0e94984583a44c35e47c8f02ead81f4c264dc58050436b6a451130e92a0fd6a0f72658766695b073a19473dfc0ae86d65c7e54c579e5fcf9416406793fac303a0efa9efb812fd62da85f20ede9f141e912f434bef6c454a6c468c92c0932318e9c23e0d9fc4a8d20d925d8eb8f685bcdd61fbf2bddeb571fa7793ad23a18cbb74ed3ff4ce3d39", 0x2000, &(0x7f0000002980)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000024c0)={0x90, 0x0, 0x0, {0x2, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6000, 0x0, 0x0, 0x0, 0x800}}}, 0x0, 0x0, 0x0, 0x0}) r2 = openat(0xffffffffffffff9c, &(0x7f0000004400)='./file0/file0\x00', 0x185842, 0x0) write(r2, &(0x7f0000004200)="74efc4c419fdb8d66b12a7bbf371d056ad6f01e9762d70401d979d331b48b925ffe6a7759abb206b9b18bfc3f3f96adb2b37c2121ef21e91bac768dd33df29649da1d82e826a55c4d620b6f510daee26004b741c951d528d806efbe00c439f2df46d3adf8be24e280b948a49afd17d56437c6e752d84f99bf37a88f0c54488dd13b848f2381d7d2aecb68ed16762e4a3c1a847565364b9f1af92c9c89e06e89fe6179cb7078a742cb968a9f09cc690dc473df29d6ad9af5879e9a2618c63702117a3a63d3a4236baee86f5f452e9663a795306dabb97db884348ab437bdc13b7cfb03eff1cf216f09d21078e1852fc7c96413d9d65c52ce9baa6bc26de7f028738a17120de30a433c9c3c8e276f3ae5e18a1f95767fffe8e98b0c3f134f12263b01c36866d4e0e856cc14ecf50279adb9438c6219c49cae973d8e7faf33dcdeb96d7ef7e89ae828cb91df22939307bb1f7fb7392e1e24f6b63166b89937c00eb8fea0245cd93e4aa803160bd71c1a0bbb6b8285d8ab654485ab985f1dd2eb9abf53131a9680dcafe4000d3ea528dd52aba3e4ff6a3883ec614253d5627bd91522d881128328ed1e00907fa6cc48cec5268bbedd85ec02d8bac3183460dd1a27fbc06b5642473a41a6cbfb07f53deab2473b37c3d10a125d610f1b9ea5c83e7d462048f25fc1e79295eeff750a23faf5d542758c421bb0673504c9dbae2959f77", 0x1ffe00) [ 617.433618][ T9599] binder: 9597:9599 ioctl c00c620f 0 returned -14 03:34:15 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$smc(&(0x7f0000000780), 0xffffffffffffffff) sendmsg$SMC_PNETID_GET(r0, &(0x7f0000000880)={0x0, 0x0, &(0x7f0000000840)={&(0x7f00000007c0)={0x20, r1, 0x1, 0x0, 0x0, {}, [@SMC_PNETID_NAME={0x9, 0x1, 'syz0\x00'}]}, 0x20}}, 0x0) 03:34:15 executing program 5: r0 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCETHTOOL(r0, 0x89f1, &(0x7f0000000740)={'tunl0\x00', &(0x7f0000000700)=@ethtool_cmd={0x2e, 0x0, 0x4, 0x2, 0x0, 0x9, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x45}}) 03:34:15 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$nl_route(r2, &(0x7f00000006c0)={0x0, 0x0, &(0x7f0000000680)={0x0, 0x18}}, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000540)=ANY=[@ANYBLOB="4800000010000507000000000000000000000400", @ANYRES32=r3, @ANYBLOB="d500000000000000280012001e00010076657468"], 0x48}}, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000440)=ANY=[@ANYBLOB="500000001000810500001c000000000000000000", @ANYRES32=0x0, @ANYBLOB="01000000000000002800128009000100766c616e000000001800028006000100000000000c0002000c0000000d00000008000500", @ANYRES32=r3], 0x50}}, 0x0) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = socket$packet(0x11, 0x3, 0x300) getsockname$packet(r5, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)) sendmsg$nl_route(r4, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000740)=@newlink={0x20, 0x11, 0x40d, 0x0, 0x0, {0x0, 0x0, 0x0, r6}}, 0x20}}, 0x0) 03:34:15 executing program 0: capget(&(0x7f0000000140), 0x0) r0 = memfd_create(&(0x7f0000000600)='\x00', 0x0) write$FUSE_NOTIFY_INVAL_INODE(r0, &(0x7f0000000040)={0xa3}, 0x2e2) mmap(&(0x7f0000000000/0x7000)=nil, 0x7000, 0x80000000004, 0x11, r0, 0x0) capset(&(0x7f0000000100), &(0x7f0000000180)) 03:34:16 executing program 5: r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$FBIOPUT_VSCREENINFO(r0, 0x4601, &(0x7f0000000000)={0x20, 0x8, 0x140, 0x258, 0x0, 0x0, 0x0, 0x0, {}, {}, {}, {}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1}) [ 618.174536][ T9611] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.1'. 03:34:16 executing program 4: r0 = open$dir(&(0x7f0000000000)='.\x00', 0x0, 0x0) mknodat$null(r0, &(0x7f0000000040)='./file0\x00', 0x1000, 0x103) openat$dir(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x42c01, 0x0) 03:34:16 executing program 2: r0 = open(&(0x7f0000002000)='./bus\x00', 0x143042, 0x0) close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) io_uring_setup(0x6491, &(0x7f0000000040)={0x0, 0x0, 0x34, 0x0, 0x0, 0x0, r0}) 03:34:16 executing program 2: r0 = open(&(0x7f0000002000)='./bus\x00', 0x143042, 0x0) close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) io_uring_setup(0x6491, &(0x7f0000000040)={0x0, 0x0, 0x34, 0x0, 0x0, 0x0, r0}) 03:34:16 executing program 0: creat(&(0x7f0000000640)='./file0\x00', 0x0) r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x4, &(0x7f0000000040)=ANY=[@ANYBLOB="18000000000000100000000000010000c50000000e00000095"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0, 0xfffffffffffffc7a}, 0x45) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000180)={&(0x7f0000000140)='9p_protocol_dump\x00', r0}, 0x10) pipe2$9p(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f00000000c0), 0x0, &(0x7f0000000280)={'trans=fd,', {'rfdno', 0x3d, r1}, 0x2c, {'wfdno', 0x3d, r2}, 0x2c, {[{@version_9p2000}]}}) 03:34:16 executing program 4: r0 = socket(0x10, 0x3, 0x0) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f0000005400)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) sendmsg$nl_route_sched(r0, &(0x7f0000000180)={0x0, 0x104, &(0x7f0000000040)={&(0x7f00000002c0)=@newqdisc={0x48, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_cake={{0x9}, {0x18, 0x2, [@TCA_CAKE_DIFFSERV_MODE={0x8, 0x3, 0x3}, @TCA_CAKE_BASE_RATE64={0xc, 0x2, 0x3b9aca02}]}}]}, 0x48}}, 0x0) 03:34:16 executing program 5: syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f00000002c0)=[{&(0x7f0000010600)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020002000200020002000200020002000200000000000000000bf000000000000bf252f4500000000000000000000000000000000000000000000000000000000000100000101000001000808001c0000000000001c18000000000000000000001a0000000022001e", 0x9f, 0x8800}, {&(0x7f0000011700)="22001e0000000000001e00080000000008007809140b2a3a0802", 0x1a, 0xf000}], 0x0, &(0x7f0000000040)={[{@unhide}]}) 03:34:16 executing program 3: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002200)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) read$FUSE(r0, &(0x7f0000004500)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1}, 0x50) read$FUSE(r0, &(0x7f0000008a40)={0x2020}, 0x2020) lstat(&(0x7f0000000640)='./file0\x00', 0x0) syz_fuse_handle_req(r0, &(0x7f0000006a40)="ea599264c75e753a5f0a5adf8471e25028e3a3d2bfaed3c71811ef6c776ebd7914f4d008380d9fbbfcc2cd6065ab22a9119c0e84682bec8a167f735bc57f764b5a37498ec00546b2e14ab730b02e1d5923a52fbd296d42f3b4b72a69059324e159c4f0e6422b9375c5580f13611e781bfa8df5bd36e35ce402bf431da16248bdd0e3fd09b463fcb96bbf32ac2ec9adb902be04f82ec599878337f3b84c795c5a24bcfae0dcc59cedda23f997fce79dc90307bf7122004f2266aafb3670d9a9568c699dfbee2308116346ff34afb64ee0074b716d1d6ea81275133d620f35bd38a97ec7bb522894f4137ce7ee9d22154a7055a1855eabdddcb320b1db706f2ff64239ee8b9e930a50c3b73a1c9723e956917ae616a8ab9f5e8a7d73ee394efe29ed66d690458af1cf90e6ec638389fa58819150ac993e903d53f340e94f43df0ac120ca9d797e427271efd6a4a0a4158a1f98fcabb64b9985ba5468465146d0ff6622e61e4a77cc7557037acdfd33cef59a373e5a8a8ee6261efb8f5ebf6aed09501e486da991414a836295b94a7b8ee15951d09fea5b3cf94ab2d7d0bb69a752a9468236ca342096417325e728878332878de3b2958b790b2806503b6fbe3c5c92d68f311a23726051e777011ad0a59093f038d8af5a1c9e9ef820de67e09514d1eef19b6ec76e0c5b1b59777003bbe83e563999343e02c75e39779d8d2eb9a3d346e8a8b39a78ceb74ba3688fabc948805699c600a337416868220b99d824b8b05c96c36f7dc46062f6b5bcf3a858965447fb2fe495c127b21c3b7f2e9c917f0ebc7a0b79c5ea6220881c37ccf169d10f5505f8d9e5aad90baafdf3bf9b82ffe4b2fcc30a2c86f9901434ecb73497f9e30af5a5cc1e3ee487466ff23cbbade3e96a3f7767294ae3e8eb5cf509e113ffa55fa2b098961b57caf7be5b39c0c7e918a2e091a5300e1e4302e288fed9c2caf7d803aba40d28d44e6cdd2a7a4d68ddf6777426dd28013f63371ab159e7d936ea8793c6147608742094051964638e757491faec3bac13885ed1a54ea7149998d2d5e71f60084ef2434fd4a5f0cd5edfa53936155ed02cddeb57d174852bf7bcab92b70ba902bddf79b2821442380155b11d5287e909b59b87689dd2c1e8b92b0322cab33118903a749f59c5f2b0e101141c034e587989d5a3990bd9a244e602d5b041d8b757a29d82d2648ca7fce7ab0bfee0a38be3366d9145c69416a9f11479cac8a56eaa8a107603026d3bb55e845fb99a3a30bdedcfcb73a9f27b36142f753a17d8b5f7679dd629d5ac39e8ebd51f70fc1c2fdb088d47a19b5fff4e4be781154e96dc3eb6c873ab4834cfced828ecddf74d2371827fd8c939da5e4942021434d1ffb5c44e1f3bf395d91c47f02a5432f43c5755c18bd7b54e5094f244e7c64531e44877a55e3a35a160b74e6742df550cb254819e8f666836fd2c74ffe56c89ebcca0d8db55e33b934032c18789923ac3d22e1c620ec7f1b49ce4e7c99546e9f502e106a75394a74605b257fc8a1af4be397ba024eb56cd17c9c9ad9820584eb5378d5b41e80e1a3799075be7ba48be58f47330255ae9253af33770446802a4c4e047c3249ed6b450606d3b61a271108e3822330aed072cc0f516944cb2cc5ae97ecff2e49fec06f3d88f0db623ebef45919e9f5a8726f261a29da2bafb2a2468d502dab5133744955bfa824e2f997dd858c2633846dca798006966c7bc33e183c36b62560ac548bb76950c2c2b6d54ac3929ffa8360b97e99fbb2f46968af7e38dd373ad8c82961088115cdc5d89a6d6d6155696e9601cbe9f3979195e1be201b1bf7c56ecfb4393b14a9551f55ce0afc8f4a1173f8cfeedec280cf871102500d849369182a3cc0a19ff725c3d2640d631aef58e052439f5ee194bf0cf6001141e41c993683b2a720797278c3e598f641408b9382c40e08fbcc4ff18934c00c902f730109e0d6b3a7d2b39c6f685552caee9fc5fac0673861149266764c53bc4bf51b26d7e8d60f1b2a5f89560cfcfa842f759c78839f7df951c750f8cd32dc8fde8413ddc5a8a7f089e854dc6fa0bc7f4b938474658fed9ac04ec96c8fa622247024d73af4ade15d4b5c7eb2775cd1bb3815931217d6f3b37adaa3ba165852c6131909d7e5fe1432288a705650686141368db00f52d1ef610d65c435d72d73db315cb1f0994a9518d6e12a2053c1230242242fb2eb5351df2fb8c97652a2edf658d42c1523222d7093418374da30462582e0bc26838f21c9f0b4459238257251ea85454c83bc69aad3c818ecf256db3689fdf59f9d072279f7b960cf9c7445b04ede30e1c68d320c27e4b88abce10d3f81e593ed78fc1081e64f5ce0de07b570eb49150f3534d78386845b1815983743f60769ec44ca42abb603e18eeaf8407359d3941d5a27090e7f1042f584a2c213b2e0d9b2702957db679e3ed506bbfeb0fb8ddd71efba85e46e7658e07d8889a457a0d3a7bdb0ad32b68017ab8825f4ceba566f91d287148ca4464cd2791ab16cb018b17c371c083e1c442a32f8a6f5c16ed1eef3839c279f092248cdcdb4a30ff164d12fbb12da9baf336ced5e7bfd69c87784cc17671acb3fe27b805b9d76808653579cdea1cc193397aafc145879135cbdc9745ff497a2dfbe7a1e2ca592d3b753f3db5e5f966d32656dfaab2261e73e5f5cc553d64237134cd8c69d9770d50a604239b1a56c049ce77bd99d1cfe91c2eafdce1a499da0890c132f44eb6ac05044297752d493b9284581512826da2b608f3ded9eebfacc1e2ec7c717d13990fefd66582b5322d55e609977c59132e186b3eaca8933c12a9ef3fda73a5976dd50b1889de9181baa86d4fca53439d48ebf8e88cc8dbcdbd7924fe6249882ba144446cee32150807654053f0a05459a9fe0c3f67724df0c9226612099d3a5264154f34654836126e7ddc29ed873efe92334d8afc5cdac6015f82df5d44a3037258f6b89aca31b1a8595e3ac91e8ae638999802b4d9ae2e3e493a3edfb548599afa11ccd1c464f559508a3e4514ba070c42069448d25e3786d4e6c95b1cbde34a40b5e024818b5b561efecc33b797b9dc9b93685756bdf25ff46206c4619d33271727f11815d3c039e64ce9e4b54b73d5555a580bd23bc7f7781313283a7f36d6419662edaf4c155e2858efe544b6d91886f3fef3ce56d6f4aba16fb4668d2c0b4c72aa153c6a9c5a769ebe4dbaeefca622675b0bdd2b0aba23ed1ed023d7b7dca86197acd96c06881db83cec12ce8f613e7d864291a3a5f0f8696fac3acc7694d70ca7676a07cba742065362745d26611cf3265260f1955956e36b31c50fd9430d408805d867aef26961fc98dfa3efee17bfefd6c33c797becbd2b625ac9a1b23a25b0c5259a320f038cdd6e6a25a56f871800040a87dee6ec75161b205fea07238f1990faff07f27a0ab59f43db9480d1b902a29af3370f5546b6d1ed8e00c241d00c3541727e85996f11c709e82f69f3f3be37175e4eee34ceeeccae0e79ae4b94970ef0cca19b1dcef3beda609da9bb3762b72b136f8793f5e458bfbbc429bf8b169a0e241620c2225e08853576483afc4f8cbad645a5eb37d1b29b719b02aa64fed03927669c3f7b03305391796ee59c40719b9819c76b0a34ae6925679f5115e208f8c3d0fad60201ec054efb8f0016b850fba619749782e0c7080ccbfc6c347d04e4e2ab3dc6a5adbf746358c53cf5cd50e1a524271667c445200a45333284ae22ebcb43dfbb40aeccb6b4739fbf7a8c22131663547615957ba8bc89bbbebc7e483b1df55cc216629e5a1ef11d54ae8c756bc00067745a68fa42464eec768a54cdd34c9b906d9010d55cd4c6995b4384e6e470b1c8c0d84fc6106282297abfc4839b0db89e7972130287b61bbbb5e0dd696c27537681e72a0f7bbdabde5f9c5ce442866a8e865f289bf079975fbc27e26c5700840b82c9e7bfa5b95d8e6f2c1565607a0f2bf2d51c86fe0f46f15c0370d00c001edeb053a33db08a67bb04478aefbdb1f741205aef7864423eee924f08b15ecfb77b9b45b7687a31594802aa2cf5ba97018f1355cf9bb504b2ed63c8405a30ee9cce2be575d1962c3f0127d3a2a6bde82e42df5353d613b06c83b0b8c63fc591bb3c492bece8992d484aac67e1f629debda55bc97809d9ce1da6aee40fde39d0764c3f2e4828ae3362fe5edcb464dd19b36ac870f2479d313466ab666117094dc8874e98f26b9ffd8601be0c09aa80167fb4549e46b9ecb5d209427bc4cf0a79f3a514908e346171bd3f4bce70d769741ace8137866deb0f3d7d98613ef6d77995bfd53d311529f03cd92fc85d24dfd6861d7a9391f0a8d52251812e632dc3ae6943fae0a2cb9577bd9186f411609dae9b3caca3117e9e4d3323f266feb5022d388a3604b2af34286bfd7aa8ea16d575ef7a9efa4d3d9df17a94445236e6cbff3cecc7e4076a0c51075d5261997982968bdc4a2f15c962109b259e67443d3fd6b0994c1401bdfc7b4fbd9993c1be03968c923f4b18f23794bd486165b7dd9d435254283c908016a4ca8ada2ce9f3c0e50e3cf1eceebd8b06f89ef42b2c960a0241cad28cb61352e26567ea59894ce24d2d84c8fc64a91f129d457c4b2e1cc0e46bf5cae919ee75757090c5c1c4ffec00d5b6bb772ee852538e11edd844dc9869db8e28e931c8b339fcb407ec2e1243720a024fe5128de9f08a971db4ae4194909e46f5c95aa1532aff9d1045b1ff3a7c4de2b60ee32981b0337371635d7e88f0241d23d7b38d3b492c92bf4f4b413b6cbbbfea5fa0a329cc8828255c1541175981714385baf3f6fb7fe9c05ab79661da2b2ec1e46b067a52426361c231a57aa0753c2fee6dc553cacb9f6c285602ee3617d0f43c8d66003a6ae10ca1441f8dba1228d8f6b3932391dcbff38d5a71749ed266a9f7d74685c8912e531b8619e25db43a2267be85e9cb071f7296d2e97e3944211e2662c9c3be66161fb0994ede9e8a76b0b5e5fed6685d49ac5d4258fa7e89c6bf42f3f2bd921b1f75d59ffed0634c15e4039fdc1bb551eceda13d22f54cd4a3ff1b31cffae89fa81a680338600bfa599b4251b18a70f249a3275f2f581345f3e53c82465726344219d515bc792d2161724442459a3eef7f42e23bc7f3a2bea654a9449e9d79c6c4f4fe4522bad12c90fc1b75c99365a5b8f08280f5189d77fb05d47662c8194c001823877b45ca1d250f63af007d37e4c9577223cf5415dc22e0416c0b1387eebe056bde582f27c04ed5a7ecc18f6c37e48af6b81a957d35b022253450849d25211129732571b18b9a4ab162e4988c26e38fec9508b06e39fe693730209585f0a686b7d411c02ed391361fe35e45137b00aae16f9ce56a30c9c1c8a71d9293b1beaf633ae09b4dd3b20350c30997881df64b5fc860e4dfa03e02d2c02be2135446181a3747243716a630b52f84b25f4f8902a3b5e6868d8fc25500eb70c427b66e94d2432013c3090fdcfe2bf8bbc8b6fa03ded402bc4fe3ddd9a02c95982950dd5787bed330ce31e78f8572f8d7992dceb023118994c4d47c760fa85eba1dfcc36d9fc41586b7e46cc55f76ca8dc7b75d46c922c1f792add333f28c30b0b1ab552cb5f1acbf7933fff993cea7553f19ae0d50ac1ac5eae6aaad754a158d17945c40a038d07316ee7936dd192b4c0387e57cc8c0d4ff9ce04c7eb6b7dc37dbf087a6c1920fa926aa68ecd6fd84eb60245dceddb9c347d8fec7cdc486e499aff588a2ef00fd57f79208c0745bcbae6f53a44b09d5af7e6eb37ca9db9748d228b67011d279abbe9819c2a5c058aaf6ea33c7dcea03b681695934cc937ff24218756f3a9bf2948410043f783bfec2d9217062ccd72b3e9e9d8ac952d0f1e88bd7e82ccfa3dca5650964c8e1797d474aea153d7f94a9b42004723002c1546ce077414737b35b72948f1d6fbec7c132cfac66a0eaccce1c29ccaac9a848a5cef0c10ad1325c869cef19f41f177538276fa030ed38687ce44f7d1f87a93e316b201c040eac537367ebf17be3c6223fdd7a33d085dfc195506eea12f34ead3fe24498049f090344059f1dc2efb02eb635141ba448fac990e72485488aa958e2110bd91f2ac8ac35e8ea0826d36eb9851650d0937f7f5a09967a8ca7b52ef4c5e069d39164cebf2f47610909fe2e0bbf2fd5f80c465da6db291af79683fad6e1ed2fe791ba7eb1fbc4e454fa8f54b0f1c406be192050aa38d7feb5d9c5081f5991568ae020c606b7c78b724f8d1a15da8871a8cd338b9803c0840647669ba2a4605b9f302e57b6dccdeb37aba3e6314506cc300144ebed9ae1ff23527370aa38855a851afb722dede2df32db87c8d3406196a7bc0daf075e42ebd3f7cdc0440bd050bf7e8874f63cadb38065af0d1b3609044eebb431bedc082cbf6df2f26f81f9fb76f63d24a3d61c085257d753c478cda9fcf54a692cc43c984cf0f5e23d5f67e6bf71d1feeb754f605885421e7800385125872c7b75c7fbd3d1b3d449b8cf132ee52dd320b82a7dac6905de92481f11e3f1b90d2d8f932ee3415688b4e5e8f70bc580b207f0b5844fc460825af85acd4e54445f973774439ce31cc853db948a73fb47bb0f51a790ce91be993964eb0700aa2e2c299cb636353feef869b15eadb12819df060444c2599ec8ec27f34d9b4b8f660d185b6d5e36446b77366524881f42a03be0de811ef20363caaf6e6c11a7cbe8e6d39e6c8c7f6afc2e57babccb397fd38bb08cacc44c4f9bd8463d8c56bb66fdfd1d1eaa5cb226b1677061881780469622688d3070974a2f2cbab3a250a66217e10af3c0ffe8b21c0020f992688eb4cd27a6efc8b4558c6c086b1a65ce0817ada9397ad0c4cd7fdf2e8050e3215455333480eedcb2ed4fb579f788964947fe6a0d95b6099867be5c538bd22a64aae790c2107195324ba53007b66b1bfc12af0d7a7c97d7da0a984f0adb3c0965a66d7e0d0ccd205f4cc2b78a82d9f1e55b067bc71518e7211c7647ed8eff4454da920efdeb58e317403f3e1d0429e133a5be6e7785e22e5eb9ef21c3c308e17c82dc49e4be142051b230d4c02728292a473862f1e518b680d4cbc96bea08ffc39c87ebaeed8a65f7fecef7164432432e7406b25f24b44d31ca93b6377bea9ee8f5eb9455b4faeb96935dc99799b6685448818b8110026f3094eabe9fd6f339fcd6c15d890ff7d59f32c439e5d4605a29104bc17d2f0532b3874d592c4c76ebb58e86a022a075288345322eed4ab65ae86f3f0965f35cf608725a42a7e8798291c03d3b8fb16bd211ebbf96af18039fd4609f32faefd5ad2d7f3c9b134515d201bc84800b65f2e738328fda6e82db755b8a2e9af982d3c8f430ff97004351ec20ca89d99b7f4095948a2255da35ad112745949f3c8c7e87c75897c7f203ec20edf8267076683b667e2319727bbb1dd52fd1c73be01c3358bc35cff9279cbbb39c268ef371438ca88412926503d0d510006dcab3144ba4c19b37edc761c8a2dff4578de6b9646876a6d09380dd2ac886e9775cf9adb0215821dbffd500fcbd3f8796e9bd6b6091216134f8b46e0e4204e0c7bea831277b8355092ff2919f902c94a8e3d67209dcc97f0322269f6ad9cca61b8b83bd404bd1dbaaf69a9f4ed2ceda2f056271f224cd8e53a186fc5b8aca29f4d71f4582716bbac308bfb6a9ab6c2e882ec7d9eab78903b9eb45062daae3da196a2eba8635b7b5b712be5abe66fcc9b0be631be85f86b543e6798e89da9a341e35966f5188d9fd52e776e0ad5f11bb0fd656b0ae21b1d36c899e7d5d1ee9339c06a0ed0d4016701673244db8c5837c9d4fd448ad3d92a47fec597b008ea10ea2a155098a2aaec5fb5980f302142aeb927cc89e6d2ebc02da750acc8aaad585b3c6056c9b93c63095f15743e60c4508c5c040b8c2d0730b52afc0fc2825e886c0f9daa3841612f52dfe649f760d06a068b36d96bc8d738124014537c3e3bfa09b5b43fb26560e9313b95aa18a08c1c291b0e037b72ce26538748d3356b727165cba8672746155627811415cf09587a0ea52612e3c58109d7ffced931703d57c7949abf6de1d6b10511218927d195f7160b98cce2faeb9fce8e6ff0811184e6b09ba235777df68f810868d62070c6c5b7259c447da2399c5bce8978fe44d33725a42d046865c4e3010089ce4923020a5b81d1105dff5784900f1e1a6292d210dab3849571c7631c3a316ed9dccedae6b987c3cd54a20be39e85034b5a0143c6f7f32b8541df5f61499a1680eb9ab97ceab233c6da70211e949076d1261bc3b16cf01a15deb1a8da8da4bd75cb8dbc10e15b46a1d302d9a248892013474870e736b1bc8b83b7d28aa6feb630ed9a2d8162e8115a8639dfcde279397846910f1381e8b5d9158104ebd640e748af1953fbdff1a25e60495c2895a2d7f4f9ff5754f5e938388a9c0ad1acc728d8d2443987e6050bbb4d3a79c6f3377b1836b4abf7bfde476cd1a018a64f382864edbdff37d706c2c157b456ebb9a9783e9ecd1356032919f47b845de5dcd7b9f403b517bbba0221bbbfd1060071c550eca8e760b390fe6d7983b96aa2f5cbe4ca00c26f7d1cc0f5331b6a22c75a91da476776721cca02feb8d5d231d11205f31e114b2cf4b45d6e36776cfc8629e381ec62ca2df34d44b104aadbe73285c6d5526d8e439d965a4494f9b7dbe0c9534c7d8eb59ea64af6bbdf548def2967e088604489e72a1ef33ba35e7f77f021f79b8edb8af288bdd34edb03b29cd91cf7ed77e91ae18b7f95f431f62cb1ba06d240a9dafd91bffb6dabda9fc168bef87bfcdf65da695dd02cb2a3f151c42d11c12a95170e3e433d9a34be20ae13baf288d183b8c2c0c512bdd1b2ef9fc66c3d881b5dc0502f65037f7dea077d0a7e6cddcf4737e747220b293bfdc9fc9e35e59bb0fb64410cdf5044c19fad86921b11a34e88ce3eee86cf29cb50747f59292165bc75db85a91018bef67cb101f9b3dfb377fac82e3c294266476c6b1f7e8d9fab7ee162e47242a8e161c6ac3c500d86a3b1cb1f64c489751e651ef3f2507731a3e147f54f9f2e511aefb66c5cc41622282d193c59ac583e1eb4007150717dbe7b2be2618850ef1d4a888d82add0c19a387877299507dd3ae19a195b24d1317993d91393acdc4e8b89abd2f3aef74f5ec4481c37871e731b321f8eed6973a138289f3417d6c1901f9ca8465bc3ec6b1bd7f2182f348fa13b4ef4baf7f07bf6343c012814c7e652bdc896e743f47b9cbd14d0ba67244c0f66b5cdee3363a5a02144c2c9468f4c3d1b3351c689c4de4b0d0e74833fadc8e2e45c001eca274d85428cbb853d6a369e550696acf09d15985149daaa23dacd8026db805e2107edb36d47f206c7eb844f425c6ab2f0c9054b6559af82967aa03c54caad11a7a24cd1c2e7906aa270186587e297e8c86ea55633166de21a54ccbbef465e0b208f142ea7fc7f949fbe76665b2cc799e2b3219383a1894d2d9e7d054c7b810ffa7f340aa51c24db4147884521ebf644e5326767085ef64691d73a62a8c02e958acf8fb0929b41c6d1c63d6979c711641ccc92eb91c088d3ce0ef0d0935b4ff6b5c3c40e62a766dd9321bd4d747a29f87d84c988fe11b3ea33064355e8a1fa9d0405ae827f0dbeabb808d4477d02806dbf9c12ae2c1e142893afed2c59dde753284de1f00c37938b916de0f68d291a20ccede2301e240074480e3f495c26c9864cc70943107ca79b0a533fd0ffa4b587cb3b765a812c9f29fe0f1d8f688e4a24bf9efeeae7165503c3a359f081166a4aa849bd5e7511605ea990f6e79f53331c682187c6cbff8c3977b364d57ae5c30f1d1a42e3e21ff737c2dbd7b8dca28932b95140c14ef292fc31afd125f6be422d4c4a8ccabe66d7444015d0fd63970afa4745b9990ae996eb8631058b8d98868af25ee5b1d8cfb48e207e1e6b782dc792b49e4a4156bda2fa5c1efe0e2b2be8d2a496855e46eb2e8062ab0ef83f0e83752d4ec6432cc72547970f54dedf9474ee3c0b54fd56b719f632d68bef899c916dd7334d5ac6bb523bff654ffcc8f214332704b8fdd7fe4fc2c0211f1c4571e4022138d4166c2f5c253c2e50ed01f31e1d7ab863b657e1271ebf56529686cd92f8eb60dba7af43e5d5a94a3c28c2ca44c3e99dda0be96ba984a18c863e5c81353461e5cf0fdb3096adc8d02f4bee35f033a97db9e91096a9b00435439ba0fb43e4070acda03bd426bf23471b2a05376589fbbe9ca62aee753976d1ec35f093cfe9cf892c4fa25ec189b4688b68effb7fc358ecabecbf68cba13042ece4d1dba3a71a067d8dbe5854443ca6e479884fc7aa45e621cdf2e00ad088d9243a89ac2bd351e8913a6a7bc67fd7fae020e4355378a784b5ce92130dc72ec1720daefe2a0fbdcbbbe798988debbc603ff5b6aaf0ae3a6a2edf1b5f9f104af045d35808f8da06eb031ba53edbd2e48d6e83866f7a5196eac1d22810098f3b8f84499f0c802213194ad2b4169cdf27939ddfa9173b52850e1f07b5c37c8985966695f6aa1d6d11cb8de6338cf73af29283136766b1f2125415ed33ebb4eeabf8198b72b7bc3cfaa2b0da55c831a4034416434066830f2f8d655edccb0e24be30d683b85f5c2528fa9983cc7fe248dcc0d26d5c5ade68238cd7916112bd6b1abb401abc1317d7f4e0b367ec3ba24364a51867da94dab0c15cfa6f9da5801710145fb12c1172710b96a760c085ec3c8069ff1ae8cbc9782ddea35f9141b00685b8f843b7ef2f9ace512db0b8390e9408245cff9625891c5e937d94a74d16be69dadbb8237e3db53c84bb859cce59fb3f38fe610f30ebad609c495a06d3cf4e7de3859d9219d497a05d3deea95d67909e806e63de13fabc2d6816a199de0ccfa5a383276c3a850295d258d5b3180f7beec5932f880aed3471dac955e4734fb76c01bed8854b78d32af66a820c8010f10d0ce52b8e80c526f55e6918cb8ce6f0fa65ea9d10d35f6e7ffb2514a2c2a0b76efa59994dfd2345b2f2f682ef65f493d5530f2efe818f405df29cb2d1f7b0763b4a073e40bc56b155aed9d3fe95fbb678a830c9531e88d1bb9f0d3633c454b36e3b4e64f881ab6e2fa83cc24f35bf531e6cafefaeb8a598f14a2e45ae52cb647f0111d84f37b288876a4ddd1973ea3ee6e5193ecb39cc9322dc212bed0b9153554e5463f7eb28839b6e42be6597aed2c45373880d3b143d8601c6b3c5cd43a7396e1469c2e5928c2c562bc001b7148662009e0d520813b877d95fbf4a27c9c93fe59939c25cd8bf7cb4a1742542385a6c2498eb3880e4e42f74f66e94b0563444ca954537ff9d0fcdfcc892a2161f4c80914674280eb2d84040311d2f585c0e94984583a44c35e47c8f02ead81f4c264dc58050436b6a451130e92a0fd6a0f72658766695b073a19473dfc0ae86d65c7e54c579e5fcf9416406793fac303a0efa9efb812fd62da85f20ede9f141e912f434bef6c454a6c468c92c0932318e9c23e0d9fc4a8d20d925d8eb8f685bcdd61fbf2bddeb571fa7793ad23a18cbb74ed3ff4ce3d39", 0x2000, &(0x7f0000002980)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000024c0)={0x90, 0x0, 0x0, {0x2, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6000, 0x0, 0x0, 0x0, 0x800}}}, 0x0, 0x0, 0x0, 0x0}) r2 = openat(0xffffffffffffff9c, &(0x7f0000004400)='./file0/file0\x00', 0x185842, 0x0) write(r2, &(0x7f0000004200)="74efc4c419fdb8d66b12a7bbf371d056ad6f01e9762d70401d979d331b48b925ffe6a7759abb206b9b18bfc3f3f96adb2b37c2121ef21e91bac768dd33df29649da1d82e826a55c4d620b6f510daee26004b741c951d528d806efbe00c439f2df46d3adf8be24e280b948a49afd17d56437c6e752d84f99bf37a88f0c54488dd13b848f2381d7d2aecb68ed16762e4a3c1a847565364b9f1af92c9c89e06e89fe6179cb7078a742cb968a9f09cc690dc473df29d6ad9af5879e9a2618c63702117a3a63d3a4236baee86f5f452e9663a795306dabb97db884348ab437bdc13b7cfb03eff1cf216f09d21078e1852fc7c96413d9d65c52ce9baa6bc26de7f028738a17120de30a433c9c3c8e276f3ae5e18a1f95767fffe8e98b0c3f134f12263b01c36866d4e0e856cc14ecf50279adb9438c6219c49cae973d8e7faf33dcdeb96d7ef7e89ae828cb91df22939307bb1f7fb7392e1e24f6b63166b89937c00eb8fea0245cd93e4aa803160bd71c1a0bbb6b8285d8ab654485ab985f1dd2eb9abf53131a9680dcafe4000d3ea528dd52aba3e4ff6a3883ec614253d5627bd91522d881128328ed1e00907fa6cc48cec5268bbedd85ec02d8bac3183460dd1a27fbc06b5642473a41a6cbfb07f53deab2473b37c3d10a125d610f1b9ea5c83e7d462048f25fc1e79295eeff750a23faf5d542758c421bb0673504c9dbae2959f77", 0x1ffe00) 03:34:17 executing program 2: r0 = open(&(0x7f0000002000)='./bus\x00', 0x143042, 0x0) close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) io_uring_setup(0x6491, &(0x7f0000000040)={0x0, 0x0, 0x34, 0x0, 0x0, 0x0, r0}) 03:34:17 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$nl_route(r2, &(0x7f00000006c0)={0x0, 0x0, &(0x7f0000000680)={0x0, 0x18}}, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000540)=ANY=[@ANYBLOB="4800000010000507000000000000000000000400", @ANYRES32=r3, @ANYBLOB="d500000000000000280012001e00010076657468"], 0x48}}, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000440)=ANY=[@ANYBLOB="500000001000810500001c000000000000000000", @ANYRES32=0x0, @ANYBLOB="01000000000000002800128009000100766c616e000000001800028006000100000000000c0002000c0000000d00000008000500", @ANYRES32=r3], 0x50}}, 0x0) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = socket$packet(0x11, 0x3, 0x300) getsockname$packet(r5, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)) sendmsg$nl_route(r4, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000740)=@newlink={0x20, 0x11, 0x40d, 0x0, 0x0, {0x0, 0x0, 0x0, r6}}, 0x20}}, 0x0) 03:34:17 executing program 4: r0 = socket(0x10, 0x3, 0x0) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f0000005400)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) sendmsg$nl_route_sched(r0, &(0x7f0000000180)={0x0, 0x104, &(0x7f0000000040)={&(0x7f00000002c0)=@newqdisc={0x48, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_cake={{0x9}, {0x18, 0x2, [@TCA_CAKE_DIFFSERV_MODE={0x8, 0x3, 0x3}, @TCA_CAKE_BASE_RATE64={0xc, 0x2, 0x3b9aca02}]}}]}, 0x48}}, 0x0) 03:34:17 executing program 0: r0 = openat$vimc1(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) ioctl$VIDIOC_STREAMOFF(r0, 0x40045613, &(0x7f0000000040)=0xa) [ 619.315465][ T9631] loop5: detected capacity change from 0 to 240 03:34:17 executing program 5: r0 = getpgrp(0x0) ptrace$peek(0xffffffffffffffff, r0, 0x0) [ 619.617332][ T9640] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.1'. 03:34:17 executing program 0: r0 = openat$vimc1(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) ioctl$VIDIOC_STREAMOFF(r0, 0x40045613, &(0x7f0000000040)=0xa) 03:34:17 executing program 2: r0 = open(&(0x7f0000002000)='./bus\x00', 0x143042, 0x0) close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) io_uring_setup(0x6491, &(0x7f0000000040)={0x0, 0x0, 0x34, 0x0, 0x0, 0x0, r0}) 03:34:17 executing program 4: r0 = socket(0x10, 0x3, 0x0) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f0000005400)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) sendmsg$nl_route_sched(r0, &(0x7f0000000180)={0x0, 0x104, &(0x7f0000000040)={&(0x7f00000002c0)=@newqdisc={0x48, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_cake={{0x9}, {0x18, 0x2, [@TCA_CAKE_DIFFSERV_MODE={0x8, 0x3, 0x3}, @TCA_CAKE_BASE_RATE64={0xc, 0x2, 0x3b9aca02}]}}]}, 0x48}}, 0x0) 03:34:18 executing program 2: getpid() syz_clone(0x40004000, 0x0, 0x0, 0x0, 0x0, 0x0) 03:34:18 executing program 5: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = syz_open_dev$sndctrl(&(0x7f0000000200), 0x0, 0x0) ioctl$SNDRV_CTL_IOCTL_RAWMIDI_INFO(r0, 0x40405514, 0x0) 03:34:18 executing program 0: r0 = openat$vimc1(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) ioctl$VIDIOC_STREAMOFF(r0, 0x40045613, &(0x7f0000000040)=0xa) 03:34:18 executing program 3: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002200)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) read$FUSE(r0, &(0x7f0000004500)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1}, 0x50) read$FUSE(r0, &(0x7f0000008a40)={0x2020}, 0x2020) lstat(&(0x7f0000000640)='./file0\x00', 0x0) syz_fuse_handle_req(r0, &(0x7f0000006a40)="ea599264c75e753a5f0a5adf8471e25028e3a3d2bfaed3c71811ef6c776ebd7914f4d008380d9fbbfcc2cd6065ab22a9119c0e84682bec8a167f735bc57f764b5a37498ec00546b2e14ab730b02e1d5923a52fbd296d42f3b4b72a69059324e159c4f0e6422b9375c5580f13611e781bfa8df5bd36e35ce402bf431da16248bdd0e3fd09b463fcb96bbf32ac2ec9adb902be04f82ec599878337f3b84c795c5a24bcfae0dcc59cedda23f997fce79dc90307bf7122004f2266aafb3670d9a9568c699dfbee2308116346ff34afb64ee0074b716d1d6ea81275133d620f35bd38a97ec7bb522894f4137ce7ee9d22154a7055a1855eabdddcb320b1db706f2ff64239ee8b9e930a50c3b73a1c9723e956917ae616a8ab9f5e8a7d73ee394efe29ed66d690458af1cf90e6ec638389fa58819150ac993e903d53f340e94f43df0ac120ca9d797e427271efd6a4a0a4158a1f98fcabb64b9985ba5468465146d0ff6622e61e4a77cc7557037acdfd33cef59a373e5a8a8ee6261efb8f5ebf6aed09501e486da991414a836295b94a7b8ee15951d09fea5b3cf94ab2d7d0bb69a752a9468236ca342096417325e728878332878de3b2958b790b2806503b6fbe3c5c92d68f311a23726051e777011ad0a59093f038d8af5a1c9e9ef820de67e09514d1eef19b6ec76e0c5b1b59777003bbe83e563999343e02c75e39779d8d2eb9a3d346e8a8b39a78ceb74ba3688fabc948805699c600a337416868220b99d824b8b05c96c36f7dc46062f6b5bcf3a858965447fb2fe495c127b21c3b7f2e9c917f0ebc7a0b79c5ea6220881c37ccf169d10f5505f8d9e5aad90baafdf3bf9b82ffe4b2fcc30a2c86f9901434ecb73497f9e30af5a5cc1e3ee487466ff23cbbade3e96a3f7767294ae3e8eb5cf509e113ffa55fa2b098961b57caf7be5b39c0c7e918a2e091a5300e1e4302e288fed9c2caf7d803aba40d28d44e6cdd2a7a4d68ddf6777426dd28013f63371ab159e7d936ea8793c6147608742094051964638e757491faec3bac13885ed1a54ea7149998d2d5e71f60084ef2434fd4a5f0cd5edfa53936155ed02cddeb57d174852bf7bcab92b70ba902bddf79b2821442380155b11d5287e909b59b87689dd2c1e8b92b0322cab33118903a749f59c5f2b0e101141c034e587989d5a3990bd9a244e602d5b041d8b757a29d82d2648ca7fce7ab0bfee0a38be3366d9145c69416a9f11479cac8a56eaa8a107603026d3bb55e845fb99a3a30bdedcfcb73a9f27b36142f753a17d8b5f7679dd629d5ac39e8ebd51f70fc1c2fdb088d47a19b5fff4e4be781154e96dc3eb6c873ab4834cfced828ecddf74d2371827fd8c939da5e4942021434d1ffb5c44e1f3bf395d91c47f02a5432f43c5755c18bd7b54e5094f244e7c64531e44877a55e3a35a160b74e6742df550cb254819e8f666836fd2c74ffe56c89ebcca0d8db55e33b934032c18789923ac3d22e1c620ec7f1b49ce4e7c99546e9f502e106a75394a74605b257fc8a1af4be397ba024eb56cd17c9c9ad9820584eb5378d5b41e80e1a3799075be7ba48be58f47330255ae9253af33770446802a4c4e047c3249ed6b450606d3b61a271108e3822330aed072cc0f516944cb2cc5ae97ecff2e49fec06f3d88f0db623ebef45919e9f5a8726f261a29da2bafb2a2468d502dab5133744955bfa824e2f997dd858c2633846dca798006966c7bc33e183c36b62560ac548bb76950c2c2b6d54ac3929ffa8360b97e99fbb2f46968af7e38dd373ad8c82961088115cdc5d89a6d6d6155696e9601cbe9f3979195e1be201b1bf7c56ecfb4393b14a9551f55ce0afc8f4a1173f8cfeedec280cf871102500d849369182a3cc0a19ff725c3d2640d631aef58e052439f5ee194bf0cf6001141e41c993683b2a720797278c3e598f641408b9382c40e08fbcc4ff18934c00c902f730109e0d6b3a7d2b39c6f685552caee9fc5fac0673861149266764c53bc4bf51b26d7e8d60f1b2a5f89560cfcfa842f759c78839f7df951c750f8cd32dc8fde8413ddc5a8a7f089e854dc6fa0bc7f4b938474658fed9ac04ec96c8fa622247024d73af4ade15d4b5c7eb2775cd1bb3815931217d6f3b37adaa3ba165852c6131909d7e5fe1432288a705650686141368db00f52d1ef610d65c435d72d73db315cb1f0994a9518d6e12a2053c1230242242fb2eb5351df2fb8c97652a2edf658d42c1523222d7093418374da30462582e0bc26838f21c9f0b4459238257251ea85454c83bc69aad3c818ecf256db3689fdf59f9d072279f7b960cf9c7445b04ede30e1c68d320c27e4b88abce10d3f81e593ed78fc1081e64f5ce0de07b570eb49150f3534d78386845b1815983743f60769ec44ca42abb603e18eeaf8407359d3941d5a27090e7f1042f584a2c213b2e0d9b2702957db679e3ed506bbfeb0fb8ddd71efba85e46e7658e07d8889a457a0d3a7bdb0ad32b68017ab8825f4ceba566f91d287148ca4464cd2791ab16cb018b17c371c083e1c442a32f8a6f5c16ed1eef3839c279f092248cdcdb4a30ff164d12fbb12da9baf336ced5e7bfd69c87784cc17671acb3fe27b805b9d76808653579cdea1cc193397aafc145879135cbdc9745ff497a2dfbe7a1e2ca592d3b753f3db5e5f966d32656dfaab2261e73e5f5cc553d64237134cd8c69d9770d50a604239b1a56c049ce77bd99d1cfe91c2eafdce1a499da0890c132f44eb6ac05044297752d493b9284581512826da2b608f3ded9eebfacc1e2ec7c717d13990fefd66582b5322d55e609977c59132e186b3eaca8933c12a9ef3fda73a5976dd50b1889de9181baa86d4fca53439d48ebf8e88cc8dbcdbd7924fe6249882ba144446cee32150807654053f0a05459a9fe0c3f67724df0c9226612099d3a5264154f34654836126e7ddc29ed873efe92334d8afc5cdac6015f82df5d44a3037258f6b89aca31b1a8595e3ac91e8ae638999802b4d9ae2e3e493a3edfb548599afa11ccd1c464f559508a3e4514ba070c42069448d25e3786d4e6c95b1cbde34a40b5e024818b5b561efecc33b797b9dc9b93685756bdf25ff46206c4619d33271727f11815d3c039e64ce9e4b54b73d5555a580bd23bc7f7781313283a7f36d6419662edaf4c155e2858efe544b6d91886f3fef3ce56d6f4aba16fb4668d2c0b4c72aa153c6a9c5a769ebe4dbaeefca622675b0bdd2b0aba23ed1ed023d7b7dca86197acd96c06881db83cec12ce8f613e7d864291a3a5f0f8696fac3acc7694d70ca7676a07cba742065362745d26611cf3265260f1955956e36b31c50fd9430d408805d867aef26961fc98dfa3efee17bfefd6c33c797becbd2b625ac9a1b23a25b0c5259a320f038cdd6e6a25a56f871800040a87dee6ec75161b205fea07238f1990faff07f27a0ab59f43db9480d1b902a29af3370f5546b6d1ed8e00c241d00c3541727e85996f11c709e82f69f3f3be37175e4eee34ceeeccae0e79ae4b94970ef0cca19b1dcef3beda609da9bb3762b72b136f8793f5e458bfbbc429bf8b169a0e241620c2225e08853576483afc4f8cbad645a5eb37d1b29b719b02aa64fed03927669c3f7b03305391796ee59c40719b9819c76b0a34ae6925679f5115e208f8c3d0fad60201ec054efb8f0016b850fba619749782e0c7080ccbfc6c347d04e4e2ab3dc6a5adbf746358c53cf5cd50e1a524271667c445200a45333284ae22ebcb43dfbb40aeccb6b4739fbf7a8c22131663547615957ba8bc89bbbebc7e483b1df55cc216629e5a1ef11d54ae8c756bc00067745a68fa42464eec768a54cdd34c9b906d9010d55cd4c6995b4384e6e470b1c8c0d84fc6106282297abfc4839b0db89e7972130287b61bbbb5e0dd696c27537681e72a0f7bbdabde5f9c5ce442866a8e865f289bf079975fbc27e26c5700840b82c9e7bfa5b95d8e6f2c1565607a0f2bf2d51c86fe0f46f15c0370d00c001edeb053a33db08a67bb04478aefbdb1f741205aef7864423eee924f08b15ecfb77b9b45b7687a31594802aa2cf5ba97018f1355cf9bb504b2ed63c8405a30ee9cce2be575d1962c3f0127d3a2a6bde82e42df5353d613b06c83b0b8c63fc591bb3c492bece8992d484aac67e1f629debda55bc97809d9ce1da6aee40fde39d0764c3f2e4828ae3362fe5edcb464dd19b36ac870f2479d313466ab666117094dc8874e98f26b9ffd8601be0c09aa80167fb4549e46b9ecb5d209427bc4cf0a79f3a514908e346171bd3f4bce70d769741ace8137866deb0f3d7d98613ef6d77995bfd53d311529f03cd92fc85d24dfd6861d7a9391f0a8d52251812e632dc3ae6943fae0a2cb9577bd9186f411609dae9b3caca3117e9e4d3323f266feb5022d388a3604b2af34286bfd7aa8ea16d575ef7a9efa4d3d9df17a94445236e6cbff3cecc7e4076a0c51075d5261997982968bdc4a2f15c962109b259e67443d3fd6b0994c1401bdfc7b4fbd9993c1be03968c923f4b18f23794bd486165b7dd9d435254283c908016a4ca8ada2ce9f3c0e50e3cf1eceebd8b06f89ef42b2c960a0241cad28cb61352e26567ea59894ce24d2d84c8fc64a91f129d457c4b2e1cc0e46bf5cae919ee75757090c5c1c4ffec00d5b6bb772ee852538e11edd844dc9869db8e28e931c8b339fcb407ec2e1243720a024fe5128de9f08a971db4ae4194909e46f5c95aa1532aff9d1045b1ff3a7c4de2b60ee32981b0337371635d7e88f0241d23d7b38d3b492c92bf4f4b413b6cbbbfea5fa0a329cc8828255c1541175981714385baf3f6fb7fe9c05ab79661da2b2ec1e46b067a52426361c231a57aa0753c2fee6dc553cacb9f6c285602ee3617d0f43c8d66003a6ae10ca1441f8dba1228d8f6b3932391dcbff38d5a71749ed266a9f7d74685c8912e531b8619e25db43a2267be85e9cb071f7296d2e97e3944211e2662c9c3be66161fb0994ede9e8a76b0b5e5fed6685d49ac5d4258fa7e89c6bf42f3f2bd921b1f75d59ffed0634c15e4039fdc1bb551eceda13d22f54cd4a3ff1b31cffae89fa81a680338600bfa599b4251b18a70f249a3275f2f581345f3e53c82465726344219d515bc792d2161724442459a3eef7f42e23bc7f3a2bea654a9449e9d79c6c4f4fe4522bad12c90fc1b75c99365a5b8f08280f5189d77fb05d47662c8194c001823877b45ca1d250f63af007d37e4c9577223cf5415dc22e0416c0b1387eebe056bde582f27c04ed5a7ecc18f6c37e48af6b81a957d35b022253450849d25211129732571b18b9a4ab162e4988c26e38fec9508b06e39fe693730209585f0a686b7d411c02ed391361fe35e45137b00aae16f9ce56a30c9c1c8a71d9293b1beaf633ae09b4dd3b20350c30997881df64b5fc860e4dfa03e02d2c02be2135446181a3747243716a630b52f84b25f4f8902a3b5e6868d8fc25500eb70c427b66e94d2432013c3090fdcfe2bf8bbc8b6fa03ded402bc4fe3ddd9a02c95982950dd5787bed330ce31e78f8572f8d7992dceb023118994c4d47c760fa85eba1dfcc36d9fc41586b7e46cc55f76ca8dc7b75d46c922c1f792add333f28c30b0b1ab552cb5f1acbf7933fff993cea7553f19ae0d50ac1ac5eae6aaad754a158d17945c40a038d07316ee7936dd192b4c0387e57cc8c0d4ff9ce04c7eb6b7dc37dbf087a6c1920fa926aa68ecd6fd84eb60245dceddb9c347d8fec7cdc486e499aff588a2ef00fd57f79208c0745bcbae6f53a44b09d5af7e6eb37ca9db9748d228b67011d279abbe9819c2a5c058aaf6ea33c7dcea03b681695934cc937ff24218756f3a9bf2948410043f783bfec2d9217062ccd72b3e9e9d8ac952d0f1e88bd7e82ccfa3dca5650964c8e1797d474aea153d7f94a9b42004723002c1546ce077414737b35b72948f1d6fbec7c132cfac66a0eaccce1c29ccaac9a848a5cef0c10ad1325c869cef19f41f177538276fa030ed38687ce44f7d1f87a93e316b201c040eac537367ebf17be3c6223fdd7a33d085dfc195506eea12f34ead3fe24498049f090344059f1dc2efb02eb635141ba448fac990e72485488aa958e2110bd91f2ac8ac35e8ea0826d36eb9851650d0937f7f5a09967a8ca7b52ef4c5e069d39164cebf2f47610909fe2e0bbf2fd5f80c465da6db291af79683fad6e1ed2fe791ba7eb1fbc4e454fa8f54b0f1c406be192050aa38d7feb5d9c5081f5991568ae020c606b7c78b724f8d1a15da8871a8cd338b9803c0840647669ba2a4605b9f302e57b6dccdeb37aba3e6314506cc300144ebed9ae1ff23527370aa38855a851afb722dede2df32db87c8d3406196a7bc0daf075e42ebd3f7cdc0440bd050bf7e8874f63cadb38065af0d1b3609044eebb431bedc082cbf6df2f26f81f9fb76f63d24a3d61c085257d753c478cda9fcf54a692cc43c984cf0f5e23d5f67e6bf71d1feeb754f605885421e7800385125872c7b75c7fbd3d1b3d449b8cf132ee52dd320b82a7dac6905de92481f11e3f1b90d2d8f932ee3415688b4e5e8f70bc580b207f0b5844fc460825af85acd4e54445f973774439ce31cc853db948a73fb47bb0f51a790ce91be993964eb0700aa2e2c299cb636353feef869b15eadb12819df060444c2599ec8ec27f34d9b4b8f660d185b6d5e36446b77366524881f42a03be0de811ef20363caaf6e6c11a7cbe8e6d39e6c8c7f6afc2e57babccb397fd38bb08cacc44c4f9bd8463d8c56bb66fdfd1d1eaa5cb226b1677061881780469622688d3070974a2f2cbab3a250a66217e10af3c0ffe8b21c0020f992688eb4cd27a6efc8b4558c6c086b1a65ce0817ada9397ad0c4cd7fdf2e8050e3215455333480eedcb2ed4fb579f788964947fe6a0d95b6099867be5c538bd22a64aae790c2107195324ba53007b66b1bfc12af0d7a7c97d7da0a984f0adb3c0965a66d7e0d0ccd205f4cc2b78a82d9f1e55b067bc71518e7211c7647ed8eff4454da920efdeb58e317403f3e1d0429e133a5be6e7785e22e5eb9ef21c3c308e17c82dc49e4be142051b230d4c02728292a473862f1e518b680d4cbc96bea08ffc39c87ebaeed8a65f7fecef7164432432e7406b25f24b44d31ca93b6377bea9ee8f5eb9455b4faeb96935dc99799b6685448818b8110026f3094eabe9fd6f339fcd6c15d890ff7d59f32c439e5d4605a29104bc17d2f0532b3874d592c4c76ebb58e86a022a075288345322eed4ab65ae86f3f0965f35cf608725a42a7e8798291c03d3b8fb16bd211ebbf96af18039fd4609f32faefd5ad2d7f3c9b134515d201bc84800b65f2e738328fda6e82db755b8a2e9af982d3c8f430ff97004351ec20ca89d99b7f4095948a2255da35ad112745949f3c8c7e87c75897c7f203ec20edf8267076683b667e2319727bbb1dd52fd1c73be01c3358bc35cff9279cbbb39c268ef371438ca88412926503d0d510006dcab3144ba4c19b37edc761c8a2dff4578de6b9646876a6d09380dd2ac886e9775cf9adb0215821dbffd500fcbd3f8796e9bd6b6091216134f8b46e0e4204e0c7bea831277b8355092ff2919f902c94a8e3d67209dcc97f0322269f6ad9cca61b8b83bd404bd1dbaaf69a9f4ed2ceda2f056271f224cd8e53a186fc5b8aca29f4d71f4582716bbac308bfb6a9ab6c2e882ec7d9eab78903b9eb45062daae3da196a2eba8635b7b5b712be5abe66fcc9b0be631be85f86b543e6798e89da9a341e35966f5188d9fd52e776e0ad5f11bb0fd656b0ae21b1d36c899e7d5d1ee9339c06a0ed0d4016701673244db8c5837c9d4fd448ad3d92a47fec597b008ea10ea2a155098a2aaec5fb5980f302142aeb927cc89e6d2ebc02da750acc8aaad585b3c6056c9b93c63095f15743e60c4508c5c040b8c2d0730b52afc0fc2825e886c0f9daa3841612f52dfe649f760d06a068b36d96bc8d738124014537c3e3bfa09b5b43fb26560e9313b95aa18a08c1c291b0e037b72ce26538748d3356b727165cba8672746155627811415cf09587a0ea52612e3c58109d7ffced931703d57c7949abf6de1d6b10511218927d195f7160b98cce2faeb9fce8e6ff0811184e6b09ba235777df68f810868d62070c6c5b7259c447da2399c5bce8978fe44d33725a42d046865c4e3010089ce4923020a5b81d1105dff5784900f1e1a6292d210dab3849571c7631c3a316ed9dccedae6b987c3cd54a20be39e85034b5a0143c6f7f32b8541df5f61499a1680eb9ab97ceab233c6da70211e949076d1261bc3b16cf01a15deb1a8da8da4bd75cb8dbc10e15b46a1d302d9a248892013474870e736b1bc8b83b7d28aa6feb630ed9a2d8162e8115a8639dfcde279397846910f1381e8b5d9158104ebd640e748af1953fbdff1a25e60495c2895a2d7f4f9ff5754f5e938388a9c0ad1acc728d8d2443987e6050bbb4d3a79c6f3377b1836b4abf7bfde476cd1a018a64f382864edbdff37d706c2c157b456ebb9a9783e9ecd1356032919f47b845de5dcd7b9f403b517bbba0221bbbfd1060071c550eca8e760b390fe6d7983b96aa2f5cbe4ca00c26f7d1cc0f5331b6a22c75a91da476776721cca02feb8d5d231d11205f31e114b2cf4b45d6e36776cfc8629e381ec62ca2df34d44b104aadbe73285c6d5526d8e439d965a4494f9b7dbe0c9534c7d8eb59ea64af6bbdf548def2967e088604489e72a1ef33ba35e7f77f021f79b8edb8af288bdd34edb03b29cd91cf7ed77e91ae18b7f95f431f62cb1ba06d240a9dafd91bffb6dabda9fc168bef87bfcdf65da695dd02cb2a3f151c42d11c12a95170e3e433d9a34be20ae13baf288d183b8c2c0c512bdd1b2ef9fc66c3d881b5dc0502f65037f7dea077d0a7e6cddcf4737e747220b293bfdc9fc9e35e59bb0fb64410cdf5044c19fad86921b11a34e88ce3eee86cf29cb50747f59292165bc75db85a91018bef67cb101f9b3dfb377fac82e3c294266476c6b1f7e8d9fab7ee162e47242a8e161c6ac3c500d86a3b1cb1f64c489751e651ef3f2507731a3e147f54f9f2e511aefb66c5cc41622282d193c59ac583e1eb4007150717dbe7b2be2618850ef1d4a888d82add0c19a387877299507dd3ae19a195b24d1317993d91393acdc4e8b89abd2f3aef74f5ec4481c37871e731b321f8eed6973a138289f3417d6c1901f9ca8465bc3ec6b1bd7f2182f348fa13b4ef4baf7f07bf6343c012814c7e652bdc896e743f47b9cbd14d0ba67244c0f66b5cdee3363a5a02144c2c9468f4c3d1b3351c689c4de4b0d0e74833fadc8e2e45c001eca274d85428cbb853d6a369e550696acf09d15985149daaa23dacd8026db805e2107edb36d47f206c7eb844f425c6ab2f0c9054b6559af82967aa03c54caad11a7a24cd1c2e7906aa270186587e297e8c86ea55633166de21a54ccbbef465e0b208f142ea7fc7f949fbe76665b2cc799e2b3219383a1894d2d9e7d054c7b810ffa7f340aa51c24db4147884521ebf644e5326767085ef64691d73a62a8c02e958acf8fb0929b41c6d1c63d6979c711641ccc92eb91c088d3ce0ef0d0935b4ff6b5c3c40e62a766dd9321bd4d747a29f87d84c988fe11b3ea33064355e8a1fa9d0405ae827f0dbeabb808d4477d02806dbf9c12ae2c1e142893afed2c59dde753284de1f00c37938b916de0f68d291a20ccede2301e240074480e3f495c26c9864cc70943107ca79b0a533fd0ffa4b587cb3b765a812c9f29fe0f1d8f688e4a24bf9efeeae7165503c3a359f081166a4aa849bd5e7511605ea990f6e79f53331c682187c6cbff8c3977b364d57ae5c30f1d1a42e3e21ff737c2dbd7b8dca28932b95140c14ef292fc31afd125f6be422d4c4a8ccabe66d7444015d0fd63970afa4745b9990ae996eb8631058b8d98868af25ee5b1d8cfb48e207e1e6b782dc792b49e4a4156bda2fa5c1efe0e2b2be8d2a496855e46eb2e8062ab0ef83f0e83752d4ec6432cc72547970f54dedf9474ee3c0b54fd56b719f632d68bef899c916dd7334d5ac6bb523bff654ffcc8f214332704b8fdd7fe4fc2c0211f1c4571e4022138d4166c2f5c253c2e50ed01f31e1d7ab863b657e1271ebf56529686cd92f8eb60dba7af43e5d5a94a3c28c2ca44c3e99dda0be96ba984a18c863e5c81353461e5cf0fdb3096adc8d02f4bee35f033a97db9e91096a9b00435439ba0fb43e4070acda03bd426bf23471b2a05376589fbbe9ca62aee753976d1ec35f093cfe9cf892c4fa25ec189b4688b68effb7fc358ecabecbf68cba13042ece4d1dba3a71a067d8dbe5854443ca6e479884fc7aa45e621cdf2e00ad088d9243a89ac2bd351e8913a6a7bc67fd7fae020e4355378a784b5ce92130dc72ec1720daefe2a0fbdcbbbe798988debbc603ff5b6aaf0ae3a6a2edf1b5f9f104af045d35808f8da06eb031ba53edbd2e48d6e83866f7a5196eac1d22810098f3b8f84499f0c802213194ad2b4169cdf27939ddfa9173b52850e1f07b5c37c8985966695f6aa1d6d11cb8de6338cf73af29283136766b1f2125415ed33ebb4eeabf8198b72b7bc3cfaa2b0da55c831a4034416434066830f2f8d655edccb0e24be30d683b85f5c2528fa9983cc7fe248dcc0d26d5c5ade68238cd7916112bd6b1abb401abc1317d7f4e0b367ec3ba24364a51867da94dab0c15cfa6f9da5801710145fb12c1172710b96a760c085ec3c8069ff1ae8cbc9782ddea35f9141b00685b8f843b7ef2f9ace512db0b8390e9408245cff9625891c5e937d94a74d16be69dadbb8237e3db53c84bb859cce59fb3f38fe610f30ebad609c495a06d3cf4e7de3859d9219d497a05d3deea95d67909e806e63de13fabc2d6816a199de0ccfa5a383276c3a850295d258d5b3180f7beec5932f880aed3471dac955e4734fb76c01bed8854b78d32af66a820c8010f10d0ce52b8e80c526f55e6918cb8ce6f0fa65ea9d10d35f6e7ffb2514a2c2a0b76efa59994dfd2345b2f2f682ef65f493d5530f2efe818f405df29cb2d1f7b0763b4a073e40bc56b155aed9d3fe95fbb678a830c9531e88d1bb9f0d3633c454b36e3b4e64f881ab6e2fa83cc24f35bf531e6cafefaeb8a598f14a2e45ae52cb647f0111d84f37b288876a4ddd1973ea3ee6e5193ecb39cc9322dc212bed0b9153554e5463f7eb28839b6e42be6597aed2c45373880d3b143d8601c6b3c5cd43a7396e1469c2e5928c2c562bc001b7148662009e0d520813b877d95fbf4a27c9c93fe59939c25cd8bf7cb4a1742542385a6c2498eb3880e4e42f74f66e94b0563444ca954537ff9d0fcdfcc892a2161f4c80914674280eb2d84040311d2f585c0e94984583a44c35e47c8f02ead81f4c264dc58050436b6a451130e92a0fd6a0f72658766695b073a19473dfc0ae86d65c7e54c579e5fcf9416406793fac303a0efa9efb812fd62da85f20ede9f141e912f434bef6c454a6c468c92c0932318e9c23e0d9fc4a8d20d925d8eb8f685bcdd61fbf2bddeb571fa7793ad23a18cbb74ed3ff4ce3d39", 0x2000, &(0x7f0000002980)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000024c0)={0x90, 0x0, 0x0, {0x2, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6000, 0x0, 0x0, 0x0, 0x800}}}, 0x0, 0x0, 0x0, 0x0}) r2 = openat(0xffffffffffffff9c, &(0x7f0000004400)='./file0/file0\x00', 0x185842, 0x0) write(r2, &(0x7f0000004200)="74efc4c419fdb8d66b12a7bbf371d056ad6f01e9762d70401d979d331b48b925ffe6a7759abb206b9b18bfc3f3f96adb2b37c2121ef21e91bac768dd33df29649da1d82e826a55c4d620b6f510daee26004b741c951d528d806efbe00c439f2df46d3adf8be24e280b948a49afd17d56437c6e752d84f99bf37a88f0c54488dd13b848f2381d7d2aecb68ed16762e4a3c1a847565364b9f1af92c9c89e06e89fe6179cb7078a742cb968a9f09cc690dc473df29d6ad9af5879e9a2618c63702117a3a63d3a4236baee86f5f452e9663a795306dabb97db884348ab437bdc13b7cfb03eff1cf216f09d21078e1852fc7c96413d9d65c52ce9baa6bc26de7f028738a17120de30a433c9c3c8e276f3ae5e18a1f95767fffe8e98b0c3f134f12263b01c36866d4e0e856cc14ecf50279adb9438c6219c49cae973d8e7faf33dcdeb96d7ef7e89ae828cb91df22939307bb1f7fb7392e1e24f6b63166b89937c00eb8fea0245cd93e4aa803160bd71c1a0bbb6b8285d8ab654485ab985f1dd2eb9abf53131a9680dcafe4000d3ea528dd52aba3e4ff6a3883ec614253d5627bd91522d881128328ed1e00907fa6cc48cec5268bbedd85ec02d8bac3183460dd1a27fbc06b5642473a41a6cbfb07f53deab2473b37c3d10a125d610f1b9ea5c83e7d462048f25fc1e79295eeff750a23faf5d542758c421bb0673504c9dbae2959f77", 0x1ffe00) 03:34:18 executing program 4: r0 = socket(0x10, 0x3, 0x0) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f0000005400)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) sendmsg$nl_route_sched(r0, &(0x7f0000000180)={0x0, 0x104, &(0x7f0000000040)={&(0x7f00000002c0)=@newqdisc={0x48, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_cake={{0x9}, {0x18, 0x2, [@TCA_CAKE_DIFFSERV_MODE={0x8, 0x3, 0x3}, @TCA_CAKE_BASE_RATE64={0xc, 0x2, 0x3b9aca02}]}}]}, 0x48}}, 0x0) 03:34:18 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$nl_route(r2, &(0x7f00000006c0)={0x0, 0x0, &(0x7f0000000680)={0x0, 0x18}}, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000540)=ANY=[@ANYBLOB="4800000010000507000000000000000000000400", @ANYRES32=r3, @ANYBLOB="d500000000000000280012001e00010076657468"], 0x48}}, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000440)=ANY=[@ANYBLOB="500000001000810500001c000000000000000000", @ANYRES32=0x0, @ANYBLOB="01000000000000002800128009000100766c616e000000001800028006000100000000000c0002000c0000000d00000008000500", @ANYRES32=r3], 0x50}}, 0x0) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = socket$packet(0x11, 0x3, 0x300) getsockname$packet(r5, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)) sendmsg$nl_route(r4, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000740)=@newlink={0x20, 0x11, 0x40d, 0x0, 0x0, {0x0, 0x0, 0x0, r6}}, 0x20}}, 0x0) 03:34:18 executing program 5: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f00000000c0)={'syzkaller1\x00', 0x6bf1c2d5adba8c32}) ioctl$TUNSETLINK(r0, 0x400454cd, 0x7) ioctl$TUNSETLINK(r0, 0x400454cd, 0x0) 03:34:18 executing program 0: r0 = openat$vimc1(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) ioctl$VIDIOC_STREAMOFF(r0, 0x40045613, &(0x7f0000000040)=0xa) [ 621.024378][ T9665] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.1'. 03:34:19 executing program 2: io_setup(0x7ff, &(0x7f00000004c0)=0x0) r1 = syz_open_dev$radio(&(0x7f0000000000), 0x1, 0x2) io_submit(r0, 0x1, &(0x7f0000000240)=[&(0x7f0000000100)={0x0, 0x0, 0x0, 0x5, 0x0, r1, 0x0}]) 03:34:19 executing program 0: r0 = socket$alg(0x26, 0x5, 0x0) seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000000080)={0x1, &(0x7f0000000000)=[{0x6, 0x0, 0x0, 0x7fffffff}]}) bind$alg(r0, &(0x7f0000000180)={0x26, 'hash\x00', 0x0, 0x0, 'sha1-generic\x00'}, 0x58) accept4(r0, 0x0, 0x0, 0x0) 03:34:19 executing program 4: r0 = userfaultfd(0x80001) r1 = epoll_create1(0x0) r2 = eventfd2(0x10000, 0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r2, &(0x7f0000000080)={0x60002019}) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r0, &(0x7f0000000040)) epoll_pwait2(r1, &(0x7f00000000c0)=[{}, {}], 0x2, 0x0, 0x0, 0x0) 03:34:19 executing program 0: syz_emit_ethernet(0xa6, &(0x7f0000000000)={@random="6fae4211eb8c", @link_local, @void, {@ipv6={0x86dd, @icmpv6={0x0, 0x6, "ae3e07", 0x70, 0x3a, 0xff, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}, @mcast2, {[], @ndisc_ra={0x86, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, [{0x0, 0xa, "a78ce540b259808000000000000023493b87aafaffffffffffffff23732472eefa45ad96579269748e254c1e4a8a8b3f0ab0c430d3be27df3e34066d42ca0a5c11b37adac15084dbaf736b41e5af1802"}, {0x1f, 0x1, '\x00'/12}]}}}}}}, 0x0) 03:34:19 executing program 2: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) shutdown(r0, 0x0) setsockopt$inet6_opts(r0, 0x29, 0x36, &(0x7f0000000000)=@srh, 0x8) setsockopt$inet6_IPV6_RTHDRDSTOPTS(r0, 0x29, 0x37, &(0x7f0000000080), 0x8) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r0, 0x84, 0x6f, &(0x7f0000003bc0)={0x0, 0x1c, &(0x7f0000000600)=[@in6={0xa, 0x0, 0x0, @rand_addr=' \x01\x00'}]}, &(0x7f0000003c00)=0x10) getsockopt$inet_sctp6_SCTP_SOCKOPT_PEELOFF(r0, 0x84, 0x66, &(0x7f0000003c40)={r1}, &(0x7f0000003c80)=0x8) 03:34:20 executing program 5: r0 = socket(0x11, 0x800000003, 0x0) bind(r0, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r0, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000500)=0x11) r2 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000100)=@newqdisc={0x38, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r1, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq_codel={{0xd}, {0x4, 0x8}}]}, 0x38}}, 0x0) 03:34:20 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$netlink(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000040)=[{&(0x7f00000004c0)={0x14, 0x28, 0x1, 0x0, 0x0, "", [@nested={0x2}]}, 0x14}, {&(0x7f00000015c0)={0x10}, 0x10}], 0x2}, 0x0) 03:34:20 executing program 0: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = socket$nl_route(0x10, 0x3, 0x0) fcntl$F_SET_RW_HINT(r0, 0x40c, &(0x7f0000000180)) 03:34:20 executing program 3: r0 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000340)={'bridge_slave_0\x00', 0x0}) r2 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000000c0)=@bridge_setlink={0x44, 0x13, 0xa29, 0x0, 0x0, {0x7, 0x0, 0x0, r1}, [@IFLA_AF_SPEC={0x1c, 0x1a, 0x0, 0x1, [@AF_INET={0x8, 0x2, 0x0, 0x1, {0xfce0, 0x5, 0x0, 0x0, [{0x8, 0x2, 0x0, 0x0, 0x34002}, {0x8}, {0x8}]}}]}, @IFLA_TARGET_NETNSID, @IFLA_LINK_NETNSID, @IFLA_GSO_MAX_SIZE]}, 0x44}}, 0x0) 03:34:20 executing program 2: r0 = syz_open_dev$sndctrl(&(0x7f0000000340), 0x0, 0x0) ioctl$SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE(r0, 0xc0045540, 0x0) 03:34:20 executing program 3: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f00000001c0)='/sys/kernel/notes', 0x0, 0x0) fsetxattr$security_capability(r0, &(0x7f0000000080), 0x0, 0x4000, 0x0) 03:34:20 executing program 1: r0 = socket(0x11, 0x800000003, 0x0) bind(r0, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r0, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r2 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000140)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000240)=@newqdisc={0x64, 0x24, 0xd8b, 0x0, 0x0, {0x0, 0x0, 0x0, r1, {}, {0xffff, 0xffff}}, [@TCA_STAB={0x24, 0x8, 0x0, 0x1, [{{0x1c, 0x1, {0x0, 0x0, 0x7}}, {0x4}}]}, @TCA_EGRESS_BLOCK={0x8, 0xe, 0xff}, @TCA_INGRESS_BLOCK={0x8, 0xd, 0x6}, @qdisc_kind_options=@q_ingress={0xc}]}, 0x64}}, 0x0) 03:34:20 executing program 5: r0 = eventfd(0x0) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) r2 = ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) ioctl$KVM_CREATE_IRQCHIP(r2, 0xae60) ioctl$KVM_IRQFD(r2, 0x4020ae76, &(0x7f0000000000)={r0}) ioctl$KVM_IRQFD(r2, 0x4020ae76, &(0x7f00000000c0)={r0, 0x40, 0x1}) 03:34:20 executing program 1: r0 = socket$inet6_udp(0xa, 0x2, 0x0) getsockopt$bt_BT_SECURITY(r0, 0x29, 0x13, 0x0, 0x20000000) 03:34:20 executing program 4: r0 = socket$nl_audit(0x10, 0x3, 0x9) bind$netlink(r0, &(0x7f00000001c0)={0x10, 0x0, 0x25dfdbfb}, 0xc) r1 = socket$nl_audit(0x10, 0x3, 0x9) bind$netlink(r1, &(0x7f0000000040)={0x10, 0x0, 0x25dfdbfb, 0xfbdbdf25}, 0xc) 03:34:20 executing program 0: r0 = socket$inet_udplite(0x2, 0x2, 0x88) setsockopt$inet_IP_IPSEC_POLICY(r0, 0x0, 0x10, &(0x7f0000000000)={{{@in=@remote, @in=@initdev={0xac, 0x1e, 0x0, 0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xee01}}, {{@in6=@local}, 0x0, @in6=@mcast1}}, 0xe4) 03:34:21 executing program 2: r0 = openat$vicodec0(0xffffffffffffff9c, &(0x7f00000000c0), 0x2, 0x0) r1 = dup(r0) ioctl$VIDIOC_ENUM_FMT(r1, 0xc0405602, &(0x7f0000000200)={0xb, 0xa, 0x0, "d64bd5cf64ace14a4c5db4a69d7e9585158eac2ee45388f702d967586888dfc7"}) 03:34:21 executing program 3: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) shutdown(r0, 0x0) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r0, 0x84, 0x6f, &(0x7f0000000000)={0x0, 0x10, &(0x7f00000002c0)=[@in={0x2, 0x0, @local}]}, &(0x7f0000000180)=0x10) r2 = socket$unix(0x1, 0x2, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r2, 0x8933, &(0x7f0000000100)={'vcan0\x00', 0x0}) r4 = socket$can_bcm(0x1d, 0x2, 0x2) connect$can_bcm(r4, 0x0, 0x0) sendmsg$can_bcm(r4, &(0x7f0000000480)={&(0x7f0000000340)={0x1d, r3, 0x3f420f00}, 0x10, &(0x7f0000000040)={&(0x7f0000000580)=ANY=[@ANYBLOB="01000000d7fe68ca7e4d5d5b", @ANYRES64=0x0, @ANYRES64=0x0, @ANYRES64=0x0, @ANYRES64=r2, @ANYBLOB="3bf80449f1"], 0x20000600}}, 0x0) getsockopt$inet_sctp6_SCTP_ASSOCINFO(r0, 0x84, 0x75, &(0x7f0000000300)={r1}, &(0x7f0000000340)=0x14) 03:34:21 executing program 2: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f0000001440)={0x0, 0x0, &(0x7f0000001400)={&(0x7f00000005c0)=@newpolicy={0xc4, 0x13, 0x1, 0x0, 0x0, {{@in=@multicast1, @in=@loopback, 0x0, 0x0, 0x0, 0x0, 0x2}}, [@policy_type={0xa, 0x10, {0x497622c7ce3e42f7}}]}, 0xc4}}, 0x0) 03:34:21 executing program 4: syz_mount_image$iso9660(&(0x7f0000000100), &(0x7f0000000280)='./file0\x00', 0x0, 0x0, &(0x7f0000000340), 0x0, &(0x7f0000000380)={[{@iocharset={'iocharset', 0x3d, 'cp862'}}]}) 03:34:21 executing program 1: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) execve(0x0, 0x0, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002000), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}}) read$FUSE(r0, &(0x7f0000004340)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1}, 0x50) syz_fuse_handle_req(r0, &(0x7f0000000000)="9eda438838743bd4e9720bee57093515dc189a5ea685e9556c1c2c3cfc4df50d66d31a48aa312663b68d18c5826b5b55fb738208863dac0f10f423aee7a5d8ddc45ebdfeb7424bae859d7c37ecfc4b63914d5a56d91017dd22bc84f759a15969951aef9d5c88c96560896988fa18cd946cfcc3a0f1c993348377904eac32c980bdf7976ebca2b499cab63c4e841514277fc71d4620e29a92523402485de0e82896484c0ae497a4d686df23ca7b68c3fd5e624d3510d7f94838e54af877ca58a00c5a672bba11f5aa1ed1980dfef47b9973d0bf456ded5e72f1702b3dc5197fce39cba53a038d8dc0ec783ce70577107dc5e8b299e64a0b7f1191f0926bd25762370191710bab2f44e9069f55f8a3f87e4cb488a2fb3348c0bf3b3874291f83e4776b160ea73aafa3919c7c069c73c0052173a63158db8b65541d161f9c964926ad7f06bdd6cb6a32135b04e35701c2e13c49c1f75dc7a25d623378860692d172ec3f1e1f2d9dc77c015c13721efcb101c2390abb847e871132f472a37cc0163b39b1d575a5444e246a08a1afb1a696cabab29498a314429a3b9f44c43ba29f71fac1fbe0d01c3c16d22730932704bcfb0c1b7a432bc51dd3f5dd5afc3b342cbe6a6ff899039e28f9a51881b1d46fdcf31767cb6f5c5c69ab3c80615d77c4d1664fc4ec831b8cea2e752bbb7a9ce79df875b29f1e232751daf32a1a0c4ff8bd0688e2b8e2d668b8a77e20a9eb6ec2e2c23b94e507baeacbcfa31fb6e1ca3343668f43e3aa6d85e7c29bf0bb4dbdabddc92be7f4a6f5d21b19e6da17bfb6cc926e3847532fae29c7b62fb909130ec372d3c16cfe6aaf3ce2af0fe7610fde7aad61bc80d2f96b999c8ccf6d22cf903ca8ae8b879ec4a416f334982e9810c0140a18d4dc81b5edaae23e9f4abaf40ed71512aebbba5bb251545e188db789558a845a2877b14bdaeec3c738b7d730c0860531bf5517d4f0e8f95ed3571f8a35816d5116fcb8d7cbf42b7d5d5e65541508c898bb2e0fe96297d2ab7135662de39df099ebaed5871111f5346278cee5728cec512e6c0a0d65b51e3d627873195b84103341c2bc83b6c8fdd8ba17f5957413f61c69d618c9b9d0b1f08dc81921b6c662ee1da3bfa019b095e9a03c2db4d645ccb7364e895098cbf7d932c72d80663c7a1694d122f7348393079223c11d36c64a5856eae0397ab9a9d948204b74e56525a9d552dd0916de81cbb5af3c59b3d7f8f9154423ce2cb45a5bc808e24bef13212019a19545fe54ba84d01534358380192b8c7b0eda907810375bb66a578a58fec392b47991271c8367b91d710e8a176bc1a4e96f0e137d4c25fbb03eddc392f9f170dd744472b864fbbae7c93d86e682308b21b73c5652065d72cf02e1152b44024a90a3b52eb0bb3cb412e518d37a68aa4c7f46789c54ab30d3a73d0a8712fde612294cda2aa1ccf164930b9b1d17801d4fbb06e849d39bf2b5141330caa0d2618b616f1c67e1ca57080e79ed9092ba7a55e8121cfc825cd26a0199a479a7ab1b7b23d2a4dd82fa6d04ee41ca680435efc934f0451e865e8632ac2f1115f4cdd33b0fccb7a2326127faf20cba37c828613dba5a98f4e1ad25eb6b91078cf73d873df9ef91531476f64b83559ff7ccdc4c070d478b18196ea05fe8d4ea0216ee5273dfabbd04582f40f064c9781afd2cbf30901f28cd09cc934f1b2d50883778274177e3dba8af0a1b931d80ce1a6c4085780ea2195b65ecfd2953f78a5290fe560d0cd6a5e73890a5a82dc410b92a3ef2be05ec5607820fd4ca6b9c3aa258d59022fdcb21665f1ce4e8aad8fd918c43bd3c2afe3dc223ff9f48831d401c8b6996190793d1dd7551f8511b69283992398d8f9b4bd2b3398d3b8c6f3c5d8b802ca5282b70242df2b7be4b38e70c3065f8da888631375afcc05ce578089c4f783776b286b7a60d1b5e189e2742a3240c1036a953d886885422eef01413c38099b64505fd5a73488acb4e611820674c58ae74d6c64a885d4beda9bd7903bcdc71e3711e2a057c0eab2100c321050ab14c6e453c53182577ad3178603cd9afde40a701120e9a36074fd582428c74e02781318e6c65450f8f020bd22475696fe13b8c59260e53a06d16eabd135e887a0a6bbc8ad21be7661df76fec5b13844f68b8eed1a7379713738beac9f23c7a26520e19797a910cde9fb285179526889b908b7eb49bb06f70f6271fba8712c1a4269ebcf4b7d043e924e3d2c4c753fd7e547d95841e335179836f76424e728810d7f32b78256ea30c79d9238a6588426e1f2d4c0b03d5605bd826ed24f0f11326b4cf958632b86e017aa80e142db1580c44f76d9c98196f3f6852ab2bfc6a01a3553a130c2d171957f5a45c3550fbbc990ef8742a98a86b280a57b9f198ff436bc01161ada50e6f23026c3254adf2321bff7e20aa54080bbb57d8d52c6a6df6107706a2e5bc6da68f17b474c0edd39401d765086e885cf7992405f856557915603cbe8894676e996bbadbb649a5e7498b91f9bd2f697dd9ebbe4d386050258b9f4c94781e61c660651c3f1e3ae51f8c035eca365bf15d6db48ea9ce183515f4a208d010f7c23dcacbd6e225490d7e9c133525f5c9018d752b21b4897bf18b64b6a9936f538a0a8958fc934440aeeaad2b68ac844d76f0900a6c95bd0b353d85d4fb62eb88360112237fd8c636a80e3130b21d66ae8ec58a4b76cba0602f96da919f7e84fd37e3ec2379f58e389a39c78d2482e03c379e3c4649ad63a76e3707ecff07d2fcb0c9dfc524cab49e69a09c92e4f88714335cb57d3f6184d07bef9657280fb5c9fd2d8f940f7ac6c5407e3077aa2e4ba8e217e0ee19e302d6d90e3be05a86dade35d2e454e511afb5cf5936f1d11f2fa6be6ceaa817dbdc7a6aabf2fad8ff3efa8382a25099f0c5989d2ad56ae0f4968b2cfcfc67b4f1c161c75900b4848f59a3c0376dfcb7997bf28e9e85d6dd942a360516de38e1c1a038a796f9a77ff2b0c7e5e8f4932391a0e58e76dacc6f9764178a211dfde3e75d367d2911ff398126ffdf83cf2fbdf1ad5232bed9155f7a168638a572094a9e934d4969b358cf6e121d7fd2aeae2f499068b42c152f0e3403a230885d6f92f038ddaa23499f804ffb06abdbabb51f6c38c92fb1a6271a4b13d6d11125b8ec12efa5907dc65062797fb9cca15e2f254e76b182d3fcdb4e96ac4de36d6df7e7bba5c32f422286b1be3b79bffb6fd693761952d195a84ad9ceb07287a0fbefab9e0347b513c5f60233ccd4b52d90ec144a2f896d9dc7f279f8aa93038f3efa286e1c3006933a4d7183d952f8d28b141b28b2af355b5bd8198dfde1ffb8d09202aff0d16ca3fec194662892a49f829813970a4520f1228aa03d211a45bed3b2e05bf1f10b1a152761e7b6c6ddea863a3c02224256092c70ca70dc185c4c385dd98b09e2682661e1e66f71d9c4037048eb70e8a1cbe57de87ec43713abf5fdcf63b9c482f318e3bec37e878dadbae15a02d731e6c8574eb14c059d72f73be5174add786d06b585a28a06d349d8e434a491b34897b3c1ad786ec8280d7f57edd4fbc6aea5485d659b59d393e331cf91e6ed76f340fcf7cf460892fa7318fc42b883f61d888ad982a751accb613c66661fba5f3d6de751a6a9ef8a4700316aaad04e991aab7903f4ef012ec2a8c092234e74ef335daf360ae47bbd2bbc6ad8c1a4f81efe8bbd703cb55ef36b32b4e30cb5a3b165c02ba295d0e1c40ce6ff8f479a74f01275f113ebfa8ade37a59ce70e6ca2a6f48f1be085f61bf772e2c2da523a2cfe63e99c57bdb1ff23139d4fca49eff7547e9880eefd3f7511a677efa23b52098ba89037c48dfcda2e8c1cfb9f892161049e53f8cee55256279512aecab8c441600dae0fd957883273047cf5c66ba209f830aa2ce0cbe41ca08c0cef4aed7f4324009200661a7ce680e5a8df2d051c1d8b2f63d25d8d74d05c75c46c8f3f24d625539e63459650960498a54ec3b16225bbbf4d3930009df265839d72611f5332a904cdebada108236e4414a2909ad01ec44b9d7f75de4385ad7ca5152e890a0919b3639fd1bcbca3b737ebb8d9ae541b1271cf2166ba15830e66f3d3afd3b754a7f81ad4f0999704ae99c114907c5be4a4797f13b80564f234723a34dbe137dabfd7fa23562df679f54a6ab54def6d63deae9844f72fd73efd0413551f5c4b9ee826eb3b7faf92a59ea34a16723b4fea14d1c8815a4e2d39fc48d1dbce526a7c53f5a96d0ef6463a0cee73fd3505f5c764a264b83c4a21f80e8b61c82d24442d13da99d18dc1b2538e7a510f6093d9ef2bc5cc777d4f98411e93919eddfd69d6e20d227cb61c50f358ea227f4de941fb080c1cf6b1f6e25533768fe133dbfc3f9d29c603bed38aa3c5af5b81a706b0067b40b88f992610d04c7cc36b8f649697cd6a93fae51138161891ae75a7147780fc59af5a6e18c54f9d2a4fe7fa92314b399afba9a40d0cc24f70a2593acf8d179215e06b7a9a88224bafcb2cbf60caf5fe4ff38208a70793b5dc33cd572956260e1c86312d3ba9b3a4b2b44376f2e78c616a6c0880ac8dcbaa30b9f761d500fd03a8518dd0509157b184a2d95e0caf3ffc8ac2db6c54d80c71a1e5b9ea3bf51071e2118af204123daceeb04e4f6f31f32a4d3fbb76ee49440cabda2c121c1b99acab5b87cecc37c3f9066af34ab29d6598bbfd91047a2ac7ce3a8f3027ff5e6d743506f161087278896a98ed37122ba208b61cf54d3929555ab06b564cd5e4f46f4755a6cfa2ef2b30d29ea66f2749d4060d411fa9160c91b6f55cf071ac8222c6313df18759e2958cddfe3db4cbeb9cd39abcf5f0beaecae8437813995cb7ed0b87d42ca942ff7245ece204798d01361c5f008e0d82bdf76660515bc78f7f8f409ccf68614b2cb50f5af2615661326fd971bc57eeeade60ea906b8df1cb0dfafd318cd2c396309c329d0469ca192aa8f51d7c4227685440f073983255baf054b97b9d7be1d1470d7eabd5c09b2116b4e86b0567b7e97e088717a4fe3dbdd310a1c39136ea4d2c47492001f9885dba03bf97e7da376171d666441cdc2f999db137603d57df32b4260fa0165e82917bb1631ea314e7a7437e66fc68cef22cda8f456d6e583f6e3237e0bc79987a9103f7cf0918e26881f67ea582e1ff3a49177599d385bf6e42572a2547933aeddb826530e9adf30dd84c3a7fae5c4c26f6c6f3a9f0906decd314e2407825abef959c5416d18a92ff34e6c521a16e8a0a29937c77d4ee99b41d530a732acbe0bf5d274df9d496b47a9a624546bdcf9976cde12ec989cb2a70b33a7c8a3a77652023164695f9db30dfcf587f0cd4f73e385730bcbdd688f6dcb08ba0efbb9f579220afefa4acfea522e864fce9b1782ce9f14824d16e9d33a2609c23ba3c5a1af02549357a0dcc12e37819d778021762cf895abeac1125b744c8b8225a091e7be9ded9993cfa3ca9abb83e25c8f559009977a2ed9374a89619fae5ef6d164bb73d242004dc8428e44689b33ee3bbe88bb4962ab0a32a90e7aea044f08410752cb2d7aeaf3196648a3a99092665b478bb394b48f79b36db0efc7f50d6a5179c945f5298cfaac5e5dea715296f92abce7281d48a0c9c6b785a35ef5f1697c047ddb254fe9a8ab9f498b0c1ae09ffd01a3d8d427fee7e36c51e0e5c2fee2245fb8464626ab5c9857ebce91f7d22bf024d10c2d71021cd69268472de419e6cefd970cc3a8e4d1bbe6496799aa7f100411766e712aff08b731460f14f9d7356db12cf8e1c6121968dc68b1d81c086b325ca4ce6fe1f476707e08fa913144b757c6be17cf93150db29544d207f09a896f33b7335d9339215da751e7af2c6bdd19db6f521af2c8a5998dc607f97026d07111488741134c1c86eba123273d1fd5ee4b471e86f9ae9478a04c7482076ab34a1eca5c64f89e5106eed44bceec019c67c12fb4db4fdac153f4ac3b63ffeb6d30de58ec039e2dd3c181e254cd94d0a2b0b44490384cc5915b54ee1db2b6d059879bf8126c9ca976d0f7862da07ecd350930a081810a7afd72b2ad3f65b96ae9c7f91227a2b5513a559f36b90fe01be9ae5ad3ca65e2c26f358fc26b858a3633fda7ae49a5fb705220a5819b3cca41b1ccc21d7c40f5fa9c422288efa5394e4312675899d704a2aab62b8363f58fd4bc12a8bea6ffc45b4414237bf5f019321206dbba439acb5ef26641f30fdac20f964354bce94e4c9d73e137f9806deefaf6f4acaa0e76ad4fef9f6cb7fc01bbabda9612c05adbe46afcf94819e8a4b4b49ff764784fa432d47fb6d4230900043d1b4521cd6839fe8c5df4d1899fdfb13880e207cac73f0a29020bdd563bd9c2f6bcd1ec523b3e03ebf6164fc65af001830c51396f9df2d346f83a59cfc82201cf1150ea57259d579fc2ed199b3fbe42d5188c84e4354610743e5b23a265246313cc63913f17412fa00d98b379b80b96d936969572e11316bc8926cb23115186f3b2387b82c3898fa41bf16a308da62d5a3eb3609af1943fddde08a4036eb2a41b7292caad9eb082614b02a1fa255bc7abd4d0e3b4ec1801e131e68c7aa9da1a0ff10f9de87dec8fad1ad8bfa99caa49e203a7b9c33e044d4544a537471e7a452468b821959bc488c6b8cbf81e90081a26de273ad1203cc06adb6af242ab19f96c1c66b58c37e2c9309704fba63af99a8d9c5efc651afb631fe9f546b938cc3b8e526c4159e5c9f7afb29fd1d55fabf09367ce2a63a35e7a2062d1c772ed981fd77157a847f687a177cf9886ce41df8cc509302b46bc1e2ba896b1c1656a1bbfdf4cd9ac39cf8510d1c823075f16550fd044aacc8d42a56f03718f7b18475cdc3999faeb25ab3dd8a807ee04d8e5d831d08b4e309dff50330685138797e10c6362636f53f22bfc1f3d5090a5d369282d9de36bb4e2505411ccc6ea395afa1567b15a2fb4be2adeea7126b1a8e80034105e0d98bdd78e796ce1cdc06a4ae666fc0baec5c52614340ed997673e26ec47c88846c000bb7c9077337cd44f5c041fdcc64986e5e1c0f488148f0ee6f842c44c0b72e82109270341bba6e9080b70fcf930d0f10be5a36798e70111fed72727b72282ff164fc08319d74f1f57cde71b57cb397a9e753f87b97729bafba017a24cbfdee5dfe7fc296c112e93bb8fce560ca80a3afd8370baaa79ad783b51352b5440b144a47378c9ae22eda5794328e95bcca220fd07bb56915529b155c61858efe89ad36a79288e74c0e251addcfaf797432175a5562b46eff5e3aebeb74623e18beef85389383c604d8884431b07dc4bea0174aadc337ff41f558a63f16690feae47efa2a5d1318b7397e1e4ba398727d286791b71610e1d78d32800e7e113c12abf0f60b6ca4401ecd23b7aacd990633b2b017daf6bfef1b2361ece74b7dbcbb1a73d4bc1f9d2e5c9fb0b7980d25cc44d1b10c09ef5a6a05c84669294a5cadf0cd88ab449f9f0bcdd8c48590d416c5c1feaa494a2145949c2a3373df7c6014225f2745bbeb20ff294d22c0d96ca111e6926946207cab56a03162a49e68968e398f70690188ee3ca847ef421742d60b9a6ad029e8a3d607950b2bf8ad8ff297cb39acc94905635770436e134435e28205140331b5100d9f64469792fffac87bca0835cbc617446ff86a7b50418c305f32e658b32130e491e38709fd3697017ac8084cdf1ed81a28375aed092ab4e32ca88a933154dd3a9e99351acbada926b67b310c7070ac1a414a28c5abfe1f45476249a12f18ca2d981528d881ed3c5072e46a6eff3cdf37dcbc89c7f79c88a1f8d15d15beb66a0e4440c7b93e379c4e2bac1d5c8e85f1852887e2cfeb178fba1c67dc2adb0c87df8ca4444ca7f455509f492effb5001328b8cc696e2933207a2d78bbce8562ca34a248193c914406b161c8141479d891b0c6110ec1e25cad38299b489f2ec437017cadba67dcb58abd4933c95b3526f1d4747b8701a7d71e446e4b62e2941d4281faca0cf22914be5aad80f47100000000ceb24e82508fe55a92fb6db70d03d1c1ec09cfee31639341756a4630a0eaaecac7bfbddf9d30c42cbd45eb181d5bd341307ad26f496bb042e2b655c03ac3dcc587acbf50f79b5c239be9938b62d3251b199f8413b020605d5d0552cfd9c39c9132719d6d0a326b000e12fcb51bc274df79d11430060d05978cdd50583f1bca82c57dbee605e2d00fcb5414af13a596d35cb5ba62de6a28cbccc857d23547b1c7fd5ac8fbf6758d5b8451fa46d9acc00344dc2e565674b1dd3547eb8f8aa5fff99042f8d1d59e6ad2f53379211e6832fcb68f5777eb2db85b28f724f4e4ce6342cf55713ff7b0cb4f7f47dd12a6566b86709eaefae024373267ce72a89e7f3e42ab48edcccc96b5d0403fe93a927e5ccf470014f220b8257393226cd7b996f20e6a34f81206733a9fdce03b701943c1b560d3eab68c2c225cf7f7f2b56123be2bb173e9e5b37f4d3348f6b987764ad07c2acd44514ff264d7eda31e5e517a179414841ad4553d51c08f435e05f10aa82d74b97a9ba3a133e6c9175fdcd4f3dc9c16d3be1d5bbaf13240177081ac1d56681bfa988a93af09868afd608520c0bfd71d857a6661fdaf6f2e166987eb007449dd26334ae932c5003fefc0f983b9e49cbfcea325f2de16a9ae935caa46f5b3433957fb370971ed957f138f08a60fed5b84995e428e7ae7d5c22021ff016baef0e713a118344c016a99ad469313ba7f2452da0dd82e019f64aa229cf80a69b3e08ac5847f10d247179855546313232f23e055c2f74ecef14e0fdcc29a9bf0976fbb249bd5c7903183d2a53c70960a183630e7d4928daa7091a85ad987d2a4a5b8f6be6612fa72d9fbb33c67bb38eff19f2e784f94e0354cf6d35a5b2c62233c039de3734b38e97ec72bd673fef09fd56fec329818cc68cdf12cb52f7d37a8350c16e94208880bfcd3e895d7aa4489e3dd15db4a9026f0d2a46f1e89c35845dbd976a1992b87c15a0c7580e6424b8792a7bb7b933d7c5433d4133ba4dbbcf7995d6ed3feaa32f876a287feeb9cc6107778c1f83e0119d980b9e994c2a3ae3de24a103efb3cacb746b49d1ad85746b233ab4aaf0e988ec2a786bc93f32040d3bdc3008031634cdfded5ac95b2279e096243228296591e7ba53c4a127772cc4620e6b238ccad250629194533d0a669ff3366c52d64928693e0b0cbb0b8e2c6029089d4dfe2b4b6c5dcd85f1a02770611e65001e48a32a8b0431a3b9d77fa3a95be38a0436a704c05a8e0183f3214c25531a63796f679bf72885aa766468d42b2543542d7e82544efc5c5e81e6a91a0f5d4e68000cff687d63e45c9a11d4ef515050daa592c9a828ac7c0488e7cdb3d6fdaef5e9176ee68d981ea50d386d74df3b40660351736deb03bfceb721878cf9894b0302df15964242ab6b9f77f98ba1c7993735983d2b022600ab74a19e3636e1400d08ba45d3a5c2774cb06a1c358bbfc11d27efaf7ca53c2e7757c8c76da24707d91a4a5244262898d68083ff91c514d9b9b1ebaa0cb0b10254fda1b1e82b9a1a47f117b5b280ddbec1f6732d11117ef1a7a674699df87fe795d1243cb9c4527e364e2b711b6562a87fafc130ce0baf1701686639b05f0c8dc708f008b1e6ab89e8d623bb83f3d54b7bcdbdacd055ac4eccbd36bbe0af0f65a00e3d6dd985ae8851d176976cfb5816d1fc2a63d3546aecaa4e712ca6961d1f181315d553de6b53485faed0dcfcf819a1ba3badffe797377d3d1ddaed8e7a0acc0c3d277762262a139f94de49faca167b11bf04f2104a5ab9a73367a6461f7124c91a2c4229ef98e6ebde9aac283c7d029400d71293f488ba169b62c1e94689cf5b248ed4aea62b88d65bb764cfe27d5231a58486e7381df518f4ed81cb905108c54a5050a94ca0e94da20d3794bc5fab9127dc95b6404b1e27b4e28136fc27806f7be798444c33aca88ffd45b860eba0d5033839f5a092863954604f1952bd61dad23b11643fe14f3ade08116aa2c13eee701ccd13e506bd65a1060bf69579aea8c8143cd38c0891a3065f251eba0c20ab9c69ddf28e3bd6400cc203bac8de1882239ad4e1b97b0ae2f1abb7bac7c0d8ef82b97ebfb1f5577f06a3a1377b09ada4db87d342f20ab0eca4b9c206042471307511429cb57a578211f92d3647189861cad9145f5eb26ab696abe50a2a6c1b469df97da28aba4e79b586c348a430f5ea61c4be1032fa61d18581f05a07fb8707c8996e0fff1c3eda59b992687fa12483b9327e10224b20d42e8b3fc4670bf070ced602283273d6818acd1f6da567c44d3f5e1377065d43d87d889843ae48e7fa8ba1634815695b8c480ca271e6e833799c70da80fd79acc09b989667a2294de5da73f0363df9a33ad4dab8d27cf7bed0a06838672e3d07d52b6396e9b5576021d5e925abd533bf161c944795065fdd44e8462e3070c479f1c118276653488dd9b2f1a673f8cad3612ca1fab4388ec9c8f834a01a499adb7b3a9a977672f6d75b41bbdd7f91ceb7e7a88568d17bb432be9e4e96e115075bce197ef4754d2914c2c59e2d7f4c08f0dbe34d31f229428f211bf1d7e8f5c319ed4a8273cb6255eb318851ac4557b0278fac63107a54d407c42f300b843a12abd3b893b46c7efac2e388ab42b87aebe2543bd4c15f459bc50aad10ffe1c1196fb52c26e54bdaa7fbd52451f207ffb073ef4b3f71eedd7da40c89505019739e3fa733bcdc84ff4919e8fe2358129ef28291be1d6426b8bafe88463b1d3cd7273745381c7f65221898e6ad361e88b24c54ccc7ac9a830145b6dc096e2d71ef71ec4f03524cb870b724e08d223bdec2f6fdde6200217a13b5136004d455d66547f5a1793e0cad85677d49e5c558852107007c8136812cf021afaf6f7e8f59883371be46cda412dd9c6fcf187c31252ceb5758901d39cd5355ab386d9a7fe6ea46ebf277aaf809c3023211ea9aa189de4d422080ebb9fec50ffab6b95ba4ae5018accc497e79149ed6047ce561ccc10e9194cdccd5c9fb75175c8dbc9d0a916ad59288f010defbbb50d263041ab37aac0f93253bef6f898cd0825d99d27224f26181f9713b8979da64756c95e7505f25a2688960d6155c3613dcc31b6c337a6dbfc6b12cfde1db22b93bbd5e48534fb0bda8b212577a14dcf665c834b0bd24e5f624d2455fe048dbe930328d7cb632db3b0e244bb5d43390b420b15157a339487fc78976f867d3a361aafdd3f50a93c01882da7c220089a544381db22e2c86b228dc2be01820468460437588952a549d37498e529e62aa62bad1580546bcb1e9a6ed1870b7838d05d12f6e3a041e78b1bdb80894626f20889ccb3a468aa4fb24b9c87cbb28623ce59c6b3c6286db366d08004551a25fe4d8d194a2bb7c52e1c85a5fbe4cb15b171489da121bea1c469a6bb185d63213084e3a81ee54dc03a94dc5ecdda7bfaad1df68021aaf4627c9d529f13e5c81b5ee4dd228949ca16b9a61d186211d153294470907557e5e14ae665013f285fe4d3766e7b3d8ce5e2a14692072d4d8f79354bcc8db8a2a36c8bcd", 0x2000, &(0x7f00000069c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000066c0)={0x90, 0x0, 0x0, {0x7, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2000, 0x0, 0x0, 0x0, 0x101}}}, 0x0, 0x0, 0x0, 0x0}) openat(0xffffffffffffff9c, &(0x7f0000002040)='./file0/file0\x00', 0x0, 0x0) 03:34:21 executing program 0: r0 = syz_open_dev$vcsu(&(0x7f0000000040), 0x6b790283, 0x0) read$FUSE(r0, &(0x7f0000000080)={0x2020, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2020) capget(&(0x7f0000000000)={0x19980330, r1}, &(0x7f0000002100)) 03:34:21 executing program 3: r0 = socket(0xa, 0x2, 0x3a) bind$inet6(r0, &(0x7f0000000380)={0xa, 0x0, 0x0, @loopback={0xff00000000000000}}, 0x1c) 03:34:21 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFULNL_MSG_CONFIG(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)={0x1c, 0x1, 0x4, 0x401, 0x0, 0x0, {0xf}, [@NFULA_CFG_CMD={0x5, 0x1, 0x3}]}, 0x1c}}, 0x0) [ 623.897403][ T9718] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.2'. 03:34:21 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f00000000c0)=@ipv6_newaddr={0x17, 0x14, 0x9, 0x0, 0x0, {}, [@IFA_LOCAL={0x14, 0x2, @local}]}, 0x2c}}, 0x0) [ 624.223526][ T9727] capability: warning: `syz-executor.0' uses 32-bit capabilities (legacy support in use) 03:34:22 executing program 3: 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)={&(0x7f00000002c0)=@ipv6_getroute={0x24, 0x1a, 0x1, 0x0, 0x0, {0x2}, [@RTA_IIF={0x8, 0xb800}]}, 0x24}}, 0x0) 03:34:22 executing program 0: r0 = syz_open_dev$vcsu(&(0x7f0000000040), 0x6b790283, 0x0) read$FUSE(r0, &(0x7f0000000080)={0x2020, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2020) capget(&(0x7f0000000000)={0x19980330, r1}, &(0x7f0000002100)) [ 624.408520][ T9723] ISOFS: Unable to identify CD-ROM format. 03:34:22 executing program 5: r0 = openat$cuse(0xffffffffffffff9c, 0x0, 0x2, 0x0) r1 = syz_open_procfs(0x0, &(0x7f0000000080)='net/ptype\x00') read$FUSE(r1, &(0x7f0000005500)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_CREATE_OPEN(r0, &(0x7f0000000140)={0xa0, 0x0, r2}, 0xa0) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x0, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)) syz_mount_image$vfat(&(0x7f0000000040), &(0x7f0000000000)='./file0\x00', 0x0, 0x2, &(0x7f0000000080)=[{&(0x7f00000002c0)="eb3c8f000000732e66617400020101000240008080f801", 0x17}, {0x0, 0x0, 0x10000001000}], 0x0, &(0x7f0000000840)=ANY=[]) chdir(&(0x7f0000000140)='./file0\x00') r3 = open(&(0x7f0000000100)='./file0\x00', 0x60c2, 0x0) r4 = open$dir(&(0x7f0000000280)='./file0\x00', 0x0, 0x0) r5 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) write$P9_RREADLINK(r5, &(0x7f0000002580)=ANY=[], 0x16) sendfile(r5, r5, &(0x7f0000000240), 0x8001) write(r3, &(0x7f0000000600)="34fd98aa1d0e7adec937a5f331a75f487934f50242a0751944936972896c29a5068c8ecba1aa0a4e2a631b5180e1fbde79f4502dc4c4a1fba9dcd9ed83e639aefa1b87631c33d1a82cb0c0035676ddfeb0fe7984d7519b0f839d497fc9d64ef14d1de22220ff2623df4950134b9fb734a52adad95f131cce3672a9d7d7b400d2c62810b5f20351639330948107bf8d4534a03ac389455c54d8eb4d609b3e858b7213b38eb01f0eeaba3739ae927916e28da6a79a3fd5e32d30ab30bf959d4596e5ffbff6789a650b9e7d248d1ba849012336a4f3ef8fab07a8f5b81bb0bc45b2174538315ca12b7c723b2157562564a8a1f19d28179f8c565448e0e921b8c3e6fc4adaafa8b929ad077f633325b6a6f71a586cabc4883e03e19315f946b277858593a7367e232202fe9ad656c6768a1517da7f0498b48cb078e929fb11db0cc551f754bffc4859dd89a396915cc809b07d448573098409ea21371056f67ef4114ec10547f498d24513fe594308bf022868ad21e85bba811942fdc45161a1a8a7fe00d5c6b05ed7954f631bbd12a5c9a5cfa5965e0595de608b04ebe02b3fcbf3b9f57807a1a7ad8528992e2ec65949da2f4a0478dfd3ae52639c15d8aeaa351da6d393b58c772168fae604d097fef4d6b9360eb169a0b0ee70cdc22435a003e68698f61b3b63b1f51011bc8f4ef944c1de821785f670124a1c6ed18335d63412", 0x200) sendfile(r3, r4, 0x0, 0xef84) 03:34:22 executing program 2: unshare(0x400) r0 = socket$inet_tcp(0x2, 0x1, 0x0) ioctl$sock_inet_tcp_SIOCATMARK(r0, 0x8905, &(0x7f0000000000)) 03:34:22 executing program 1: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$KDFONTOP_SET(r0, 0x4b72, &(0x7f0000000040)={0x0, 0x0, 0x8, 0x2, 0x200, &(0x7f0000000440)="0de47370563ed450e74fba9ee179c0c3e9adc85caf8b84722462ad1524c66bfb8e45ba6e3874c65b829b1f1a235bd3b148fb0515cee67cdaf9aeae595c1e8ea1a61d9424981d3f26e4699a206bcdd0f8f537456688f3cdfc7045da32842f9b8e41127ed99b2cfa30c0521f50ac45b1376968c3cefebb90e34594fd8c1c767c68845044d33ecc85388e44fadd6ff04e3ff646ef3ea48156ec220831e204181e64ba8ed660fb3849b97cf8d3bc64c1716552988b6abeb681890c0e7ca00704a1c464243e283055b0d94878faa0e157bedeec96696e32d5ea55c2b8d71d9c5ea97ed48e5b690f2eb58022724c6b8d782b6714a1359fbd344b7cdededf7ad37ddaf7510a0e4b91b28f9d6f07289271392dde2d3e1a3bb3c833a1e8ffd0053f6814b3ff52e60400000000000000cbd5a976f17a600ba541c4148e9d4eb27f8e5da41bee540b020599254f3e274d8834fecc7f0ac2fa8c05000000af2c765257444abf843d3a4805e041937240be45d783c81a8b49edadf0bab15d48a0c013ff9244c3196fe8f6383892dfe6f91a41c774602247aae66c1029cd3ef37cd8eb12a624b04ff6937ca7dd1f2cd99a8ec0f03d416f401397ca9c82e24ffa9d9462f00500bcc7f068a938ba40dc655e962cc7a99695dcc9b2a88d46ddb96c2ab95cdb41fb79e4181f08796ad3404bd1ee43bcdd48baeb38af36fb70201c7b7219e64f6292037c9a0f420a9f7253f35e8b2d2c528b766935ed697e0027bf6ee60d60d157ab1a4153f9555b22f2ab3b6140fa15bb8f059efe6eb9371d47946a99db681923e9b1511387e2b877cf127d98c0956522d91c4d861eeb3bbb4f45d2ae367ba7f7d4a904a6439426fb02aab584a05a1ee734afa4c15f38b5b67217863cedf940f21d767f7798df5526037f175968acddfa42b377b765069b13a57b6fa5e883ecfec3d4262f0be9f09d0575c689f1b09060c0ec58480205eba61ef9592545367a978d1e193ce8e5ff8fe6c53020bc8400c1ced79a87fa3623559c3bae1e96b88eb6f218b58396a053755b9c60f4605f3473ef8003b1b28cbd43a4aba87e4ead0c84c41af5050000008aef3e1653035667a1d93772604f4c9b6b592c0e83106a63009e5c9c54eb560826be2afd30002aefcfaf626589d872ceadaeac878e2ae566bc2a6c6739dc0cf08879563b96fee0035c22d3736a07b3b0eda0e827d75b06fa7ac43927ef8383e7ccad0664f6632e174b99474055e58673c653042497159a91142f4728789510bd2e944d51074b58342ce8bc3d3fd4dc4be04a3f1ccdc7ea3242703cfe1c2b104c7d62dec4ba9e0cb9cb1ca9ae9a4803b3633447de0c58b789fa9307761551747ac4e6890107f8941ca6486cb443abb0c700"}) 03:34:22 executing program 4: syz_mount_image$iso9660(&(0x7f0000000100), &(0x7f0000000280)='./file0\x00', 0x0, 0x0, &(0x7f0000000340), 0x0, &(0x7f0000000380)={[{@iocharset={'iocharset', 0x3d, 'cp862'}}]}) 03:34:22 executing program 3: r0 = syz_init_net_socket$bt_l2cap(0x1f, 0x1, 0x0) bind$bt_l2cap(r0, &(0x7f00000000c0)={0x1f, 0x0, @fixed, 0x4, 0x1}, 0xe) getsockopt$bt_l2cap_L2CAP_OPTIONS(r0, 0x6, 0x1, 0x0, &(0x7f0000000040)) 03:34:22 executing program 0: r0 = syz_open_dev$vcsu(&(0x7f0000000040), 0x6b790283, 0x0) read$FUSE(r0, &(0x7f0000000080)={0x2020, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2020) capget(&(0x7f0000000000)={0x19980330, r1}, &(0x7f0000002100)) 03:34:23 executing program 2: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) ioctl$PPPIOCSACTIVE(0xffffffffffffffff, 0x40107446, 0x0) madvise(&(0x7f0000000000/0x600000)=nil, 0x600003, 0x15) r1 = socket(0x1, 0x803, 0x0) getsockopt$SO_BINDTODEVICE(r1, 0x1, 0x43, &(0x7f0000000000), 0x20000000) [ 624.934255][ T9740] loop5: detected capacity change from 0 to 16 [ 624.968245][ T9740] loop5: unable to read partition table [ 624.969254][ T9740] loop5: partition table beyond EOD, truncated [ 625.150478][ T24] audit: type=1800 audit(2000000062.860:106): pid=9740 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.5" name="file0" dev="loop5" ino=1048614 res=0 errno=0 03:34:23 executing program 5: r0 = openat$cuse(0xffffffffffffff9c, 0x0, 0x2, 0x0) r1 = syz_open_procfs(0x0, &(0x7f0000000080)='net/ptype\x00') read$FUSE(r1, &(0x7f0000005500)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_CREATE_OPEN(r0, &(0x7f0000000140)={0xa0, 0x0, r2}, 0xa0) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x0, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)) syz_mount_image$vfat(&(0x7f0000000040), &(0x7f0000000000)='./file0\x00', 0x0, 0x2, &(0x7f0000000080)=[{&(0x7f00000002c0)="eb3c8f000000732e66617400020101000240008080f801", 0x17}, {0x0, 0x0, 0x10000001000}], 0x0, &(0x7f0000000840)=ANY=[]) chdir(&(0x7f0000000140)='./file0\x00') r3 = open(&(0x7f0000000100)='./file0\x00', 0x60c2, 0x0) r4 = open$dir(&(0x7f0000000280)='./file0\x00', 0x0, 0x0) r5 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) write$P9_RREADLINK(r5, &(0x7f0000002580)=ANY=[], 0x16) sendfile(r5, r5, &(0x7f0000000240), 0x8001) write(r3, &(0x7f0000000600)="34fd98aa1d0e7adec937a5f331a75f487934f50242a0751944936972896c29a5068c8ecba1aa0a4e2a631b5180e1fbde79f4502dc4c4a1fba9dcd9ed83e639aefa1b87631c33d1a82cb0c0035676ddfeb0fe7984d7519b0f839d497fc9d64ef14d1de22220ff2623df4950134b9fb734a52adad95f131cce3672a9d7d7b400d2c62810b5f20351639330948107bf8d4534a03ac389455c54d8eb4d609b3e858b7213b38eb01f0eeaba3739ae927916e28da6a79a3fd5e32d30ab30bf959d4596e5ffbff6789a650b9e7d248d1ba849012336a4f3ef8fab07a8f5b81bb0bc45b2174538315ca12b7c723b2157562564a8a1f19d28179f8c565448e0e921b8c3e6fc4adaafa8b929ad077f633325b6a6f71a586cabc4883e03e19315f946b277858593a7367e232202fe9ad656c6768a1517da7f0498b48cb078e929fb11db0cc551f754bffc4859dd89a396915cc809b07d448573098409ea21371056f67ef4114ec10547f498d24513fe594308bf022868ad21e85bba811942fdc45161a1a8a7fe00d5c6b05ed7954f631bbd12a5c9a5cfa5965e0595de608b04ebe02b3fcbf3b9f57807a1a7ad8528992e2ec65949da2f4a0478dfd3ae52639c15d8aeaa351da6d393b58c772168fae604d097fef4d6b9360eb169a0b0ee70cdc22435a003e68698f61b3b63b1f51011bc8f4ef944c1de821785f670124a1c6ed18335d63412", 0x200) sendfile(r3, r4, 0x0, 0xef84) [ 625.150666][ T24] audit: type=1804 audit(2000000062.860:107): pid=9740 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir1748119875/syzkaller.0lxDu3/376/file0/file0" dev="loop5" ino=1048614 res=1 errno=0 03:34:23 executing program 2: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) ioctl$PPPIOCSACTIVE(0xffffffffffffffff, 0x40107446, 0x0) madvise(&(0x7f0000000000/0x600000)=nil, 0x600003, 0x15) r1 = socket(0x1, 0x803, 0x0) getsockopt$SO_BINDTODEVICE(r1, 0x1, 0x43, &(0x7f0000000000), 0x20000000) [ 625.150859][ T24] audit: type=1804 audit(2000000062.860:108): pid=9740 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=ToMToU comm="syz-executor.5" name="/root/syzkaller-testdir1748119875/syzkaller.0lxDu3/376/file0/file0" dev="loop5" ino=1048614 res=1 errno=0 03:34:23 executing program 3: r0 = openat$cuse(0xffffffffffffff9c, 0x0, 0x2, 0x0) r1 = syz_open_procfs(0x0, &(0x7f0000000080)='net/ptype\x00') read$FUSE(r1, &(0x7f0000005500)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_CREATE_OPEN(r0, &(0x7f0000000140)={0xa0, 0x0, r2}, 0xa0) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x0, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)) syz_mount_image$vfat(&(0x7f0000000040), &(0x7f0000000000)='./file0\x00', 0x0, 0x2, &(0x7f0000000080)=[{&(0x7f00000002c0)="eb3c8f000000732e66617400020101000240008080f801", 0x17}, {0x0, 0x0, 0x10000001000}], 0x0, &(0x7f0000000840)=ANY=[]) chdir(&(0x7f0000000140)='./file0\x00') r3 = open(&(0x7f0000000100)='./file0\x00', 0x60c2, 0x0) r4 = open$dir(&(0x7f0000000280)='./file0\x00', 0x0, 0x0) r5 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) write$P9_RREADLINK(r5, &(0x7f0000002580)=ANY=[], 0x16) sendfile(r5, r5, &(0x7f0000000240), 0x8001) write(r3, &(0x7f0000000600)="34fd98aa1d0e7adec937a5f331a75f487934f50242a0751944936972896c29a5068c8ecba1aa0a4e2a631b5180e1fbde79f4502dc4c4a1fba9dcd9ed83e639aefa1b87631c33d1a82cb0c0035676ddfeb0fe7984d7519b0f839d497fc9d64ef14d1de22220ff2623df4950134b9fb734a52adad95f131cce3672a9d7d7b400d2c62810b5f20351639330948107bf8d4534a03ac389455c54d8eb4d609b3e858b7213b38eb01f0eeaba3739ae927916e28da6a79a3fd5e32d30ab30bf959d4596e5ffbff6789a650b9e7d248d1ba849012336a4f3ef8fab07a8f5b81bb0bc45b2174538315ca12b7c723b2157562564a8a1f19d28179f8c565448e0e921b8c3e6fc4adaafa8b929ad077f633325b6a6f71a586cabc4883e03e19315f946b277858593a7367e232202fe9ad656c6768a1517da7f0498b48cb078e929fb11db0cc551f754bffc4859dd89a396915cc809b07d448573098409ea21371056f67ef4114ec10547f498d24513fe594308bf022868ad21e85bba811942fdc45161a1a8a7fe00d5c6b05ed7954f631bbd12a5c9a5cfa5965e0595de608b04ebe02b3fcbf3b9f57807a1a7ad8528992e2ec65949da2f4a0478dfd3ae52639c15d8aeaa351da6d393b58c772168fae604d097fef4d6b9360eb169a0b0ee70cdc22435a003e68698f61b3b63b1f51011bc8f4ef944c1de821785f670124a1c6ed18335d63412", 0x200) sendfile(r3, r4, 0x0, 0xef84) [ 625.853824][ T9749] ISOFS: Unable to identify CD-ROM format. 03:34:23 executing program 0: r0 = syz_open_dev$vcsu(&(0x7f0000000040), 0x6b790283, 0x0) read$FUSE(r0, &(0x7f0000000080)={0x2020, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2020) capget(&(0x7f0000000000)={0x19980330, r1}, &(0x7f0000002100)) 03:34:23 executing program 1: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$KDFONTOP_SET(r0, 0x4b72, &(0x7f0000000040)={0x0, 0x0, 0x8, 0x2, 0x200, &(0x7f0000000440)="0de47370563ed450e74fba9ee179c0c3e9adc85caf8b84722462ad1524c66bfb8e45ba6e3874c65b829b1f1a235bd3b148fb0515cee67cdaf9aeae595c1e8ea1a61d9424981d3f26e4699a206bcdd0f8f537456688f3cdfc7045da32842f9b8e41127ed99b2cfa30c0521f50ac45b1376968c3cefebb90e34594fd8c1c767c68845044d33ecc85388e44fadd6ff04e3ff646ef3ea48156ec220831e204181e64ba8ed660fb3849b97cf8d3bc64c1716552988b6abeb681890c0e7ca00704a1c464243e283055b0d94878faa0e157bedeec96696e32d5ea55c2b8d71d9c5ea97ed48e5b690f2eb58022724c6b8d782b6714a1359fbd344b7cdededf7ad37ddaf7510a0e4b91b28f9d6f07289271392dde2d3e1a3bb3c833a1e8ffd0053f6814b3ff52e60400000000000000cbd5a976f17a600ba541c4148e9d4eb27f8e5da41bee540b020599254f3e274d8834fecc7f0ac2fa8c05000000af2c765257444abf843d3a4805e041937240be45d783c81a8b49edadf0bab15d48a0c013ff9244c3196fe8f6383892dfe6f91a41c774602247aae66c1029cd3ef37cd8eb12a624b04ff6937ca7dd1f2cd99a8ec0f03d416f401397ca9c82e24ffa9d9462f00500bcc7f068a938ba40dc655e962cc7a99695dcc9b2a88d46ddb96c2ab95cdb41fb79e4181f08796ad3404bd1ee43bcdd48baeb38af36fb70201c7b7219e64f6292037c9a0f420a9f7253f35e8b2d2c528b766935ed697e0027bf6ee60d60d157ab1a4153f9555b22f2ab3b6140fa15bb8f059efe6eb9371d47946a99db681923e9b1511387e2b877cf127d98c0956522d91c4d861eeb3bbb4f45d2ae367ba7f7d4a904a6439426fb02aab584a05a1ee734afa4c15f38b5b67217863cedf940f21d767f7798df5526037f175968acddfa42b377b765069b13a57b6fa5e883ecfec3d4262f0be9f09d0575c689f1b09060c0ec58480205eba61ef9592545367a978d1e193ce8e5ff8fe6c53020bc8400c1ced79a87fa3623559c3bae1e96b88eb6f218b58396a053755b9c60f4605f3473ef8003b1b28cbd43a4aba87e4ead0c84c41af5050000008aef3e1653035667a1d93772604f4c9b6b592c0e83106a63009e5c9c54eb560826be2afd30002aefcfaf626589d872ceadaeac878e2ae566bc2a6c6739dc0cf08879563b96fee0035c22d3736a07b3b0eda0e827d75b06fa7ac43927ef8383e7ccad0664f6632e174b99474055e58673c653042497159a91142f4728789510bd2e944d51074b58342ce8bc3d3fd4dc4be04a3f1ccdc7ea3242703cfe1c2b104c7d62dec4ba9e0cb9cb1ca9ae9a4803b3633447de0c58b789fa9307761551747ac4e6890107f8941ca6486cb443abb0c700"}) 03:34:23 executing program 4: syz_mount_image$iso9660(&(0x7f0000000100), &(0x7f0000000280)='./file0\x00', 0x0, 0x0, &(0x7f0000000340), 0x0, &(0x7f0000000380)={[{@iocharset={'iocharset', 0x3d, 'cp862'}}]}) [ 626.201430][ T9756] loop5: detected capacity change from 0 to 16 [ 626.307199][ T24] audit: type=1800 audit(2000000064.180:109): pid=9757 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.5" name="file0" dev="sda1" ino=1171 res=0 errno=0 [ 626.328300][ C0] vkms_vblank_simulate: vblank timer overrun [ 626.358293][ T9756] loop5: unable to read partition table [ 626.395200][ T9760] loop3: detected capacity change from 0 to 16 03:34:24 executing program 2: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) ioctl$PPPIOCSACTIVE(0xffffffffffffffff, 0x40107446, 0x0) madvise(&(0x7f0000000000/0x600000)=nil, 0x600003, 0x15) r1 = socket(0x1, 0x803, 0x0) getsockopt$SO_BINDTODEVICE(r1, 0x1, 0x43, &(0x7f0000000000), 0x20000000) [ 626.417861][ T24] audit: type=1804 audit(2000000064.290:110): pid=9757 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir1748119875/syzkaller.0lxDu3/377/file0/file0" dev="sda1" ino=1171 res=1 errno=0 [ 626.419318][ T9756] loop5: partition table beyond EOD, [ 626.443869][ C0] vkms_vblank_simulate: vblank timer overrun [ 626.456488][ T9756] truncated [ 626.543648][ T9760] loop3: unable to read partition table [ 626.599588][ T9760] loop3: partition table beyond EOD, truncated [ 626.632227][ T24] audit: type=1804 audit(2000000064.330:111): pid=9757 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=ToMToU comm="syz-executor.5" name="/root/syzkaller-testdir1748119875/syzkaller.0lxDu3/377/file0/file0" dev="sda1" ino=1171 res=1 errno=0 [ 626.663085][ T24] audit: type=1800 audit(2000000064.370:112): pid=9764 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.3" name="file0" dev="sda1" ino=1177 res=0 errno=0 [ 626.684500][ T24] audit: type=1804 audit(2000000064.380:113): pid=9764 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.3" name="/root/syzkaller-testdir3419376106/syzkaller.qhgU7p/372/file0/file0" dev="sda1" ino=1177 res=1 errno=0 [ 626.710749][ T24] audit: type=1804 audit(2000000064.380:114): pid=9764 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=ToMToU comm="syz-executor.3" name="/root/syzkaller-testdir3419376106/syzkaller.qhgU7p/372/file0/file0" dev="sda1" ino=1177 res=1 errno=0 [ 626.759840][ T9772] ===================================================== [ 626.767984][ T9772] BUG: KMSAN: kernel-infoleak-after-free in _copy_to_user+0xbc/0x100 [ 626.776359][ T9772] _copy_to_user+0xbc/0x100 [ 626.781005][ T9772] vcs_read+0x1ef7/0x23c0 [ 626.785590][ T9772] vfs_read+0x3a9/0x11b0 [ 626.789983][ T9772] ksys_read+0x21b/0x4e0 [ 626.794491][ T9772] __ia32_sys_read+0x8d/0xd0 [ 626.799258][ T9772] __do_fast_syscall_32+0xa2/0x100 [ 626.804659][ T9772] do_fast_syscall_32+0x33/0x70 [ 626.809772][ T9772] do_SYSENTER_32+0x1b/0x20 [ 626.814542][ T9772] entry_SYSENTER_compat_after_hwframe+0x70/0x82 [ 626.821040][ T9772] [ 626.823562][ T9772] Uninit was stored to memory at: [ 626.828848][ T9772] vc_uniscr_copy_line+0x340/0x570 [ 626.834229][ T9772] vcs_read+0x102d/0x23c0 [ 626.838728][ T9772] vfs_read+0x3a9/0x11b0 [ 626.843281][ T9772] ksys_read+0x21b/0x4e0 [ 626.847692][ T9772] __ia32_sys_read+0x8d/0xd0 [ 626.852556][ T9772] __do_fast_syscall_32+0xa2/0x100 [ 626.857810][ T9772] do_fast_syscall_32+0x33/0x70 [ 626.862950][ T9772] do_SYSENTER_32+0x1b/0x20 [ 626.867585][ T9772] entry_SYSENTER_compat_after_hwframe+0x70/0x82 [ 626.874181][ T9772] [ 626.876631][ T9772] Uninit was created at: [ 626.881081][ T9772] free_pcp_prepare+0x40/0x680 [ 626.886122][ T9772] free_unref_page_list+0x17c/0xd70 [ 626.891469][ T9772] release_pages+0x2b49/0x2b90 [ 626.896651][ T9772] free_pages_and_swap_cache+0xbd/0xd0 [ 626.902336][ T9772] tlb_flush_mmu+0x85d/0xa90 03:34:24 executing program 1: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$KDFONTOP_SET(r0, 0x4b72, &(0x7f0000000040)={0x0, 0x0, 0x8, 0x2, 0x200, &(0x7f0000000440)="0de47370563ed450e74fba9ee179c0c3e9adc85caf8b84722462ad1524c66bfb8e45ba6e3874c65b829b1f1a235bd3b148fb0515cee67cdaf9aeae595c1e8ea1a61d9424981d3f26e4699a206bcdd0f8f537456688f3cdfc7045da32842f9b8e41127ed99b2cfa30c0521f50ac45b1376968c3cefebb90e34594fd8c1c767c68845044d33ecc85388e44fadd6ff04e3ff646ef3ea48156ec220831e204181e64ba8ed660fb3849b97cf8d3bc64c1716552988b6abeb681890c0e7ca00704a1c464243e283055b0d94878faa0e157bedeec96696e32d5ea55c2b8d71d9c5ea97ed48e5b690f2eb58022724c6b8d782b6714a1359fbd344b7cdededf7ad37ddaf7510a0e4b91b28f9d6f07289271392dde2d3e1a3bb3c833a1e8ffd0053f6814b3ff52e60400000000000000cbd5a976f17a600ba541c4148e9d4eb27f8e5da41bee540b020599254f3e274d8834fecc7f0ac2fa8c05000000af2c765257444abf843d3a4805e041937240be45d783c81a8b49edadf0bab15d48a0c013ff9244c3196fe8f6383892dfe6f91a41c774602247aae66c1029cd3ef37cd8eb12a624b04ff6937ca7dd1f2cd99a8ec0f03d416f401397ca9c82e24ffa9d9462f00500bcc7f068a938ba40dc655e962cc7a99695dcc9b2a88d46ddb96c2ab95cdb41fb79e4181f08796ad3404bd1ee43bcdd48baeb38af36fb70201c7b7219e64f6292037c9a0f420a9f7253f35e8b2d2c528b766935ed697e0027bf6ee60d60d157ab1a4153f9555b22f2ab3b6140fa15bb8f059efe6eb9371d47946a99db681923e9b1511387e2b877cf127d98c0956522d91c4d861eeb3bbb4f45d2ae367ba7f7d4a904a6439426fb02aab584a05a1ee734afa4c15f38b5b67217863cedf940f21d767f7798df5526037f175968acddfa42b377b765069b13a57b6fa5e883ecfec3d4262f0be9f09d0575c689f1b09060c0ec58480205eba61ef9592545367a978d1e193ce8e5ff8fe6c53020bc8400c1ced79a87fa3623559c3bae1e96b88eb6f218b58396a053755b9c60f4605f3473ef8003b1b28cbd43a4aba87e4ead0c84c41af5050000008aef3e1653035667a1d93772604f4c9b6b592c0e83106a63009e5c9c54eb560826be2afd30002aefcfaf626589d872ceadaeac878e2ae566bc2a6c6739dc0cf08879563b96fee0035c22d3736a07b3b0eda0e827d75b06fa7ac43927ef8383e7ccad0664f6632e174b99474055e58673c653042497159a91142f4728789510bd2e944d51074b58342ce8bc3d3fd4dc4be04a3f1ccdc7ea3242703cfe1c2b104c7d62dec4ba9e0cb9cb1ca9ae9a4803b3633447de0c58b789fa9307761551747ac4e6890107f8941ca6486cb443abb0c700"}) [ 626.907102][ T9772] tlb_finish_mmu+0xfc/0x250 [ 626.911893][ T9772] exit_mmap+0x1d6/0x780 [ 626.916418][ T9772] __mmput+0x147/0x510 [ 626.920645][ T9772] mmput+0x76/0x80 [ 626.924635][ T9772] exit_mm+0x1b8/0x360 [ 626.928929][ T9772] do_exit+0xcea/0x3e00 [ 626.933339][ T9772] do_group_exit+0x3aa/0x400 [ 626.938071][ T9772] get_signal+0x270e/0x2c50 [ 626.942859][ T9772] arch_do_signal_or_restart+0x56/0xae0 [ 626.948584][ T9772] exit_to_user_mode_loop+0xea/0x320 [ 626.954135][ T9772] exit_to_user_mode_prepare+0x16e/0x220 [ 626.959961][ T9772] syscall_exit_to_user_mode+0x23/0x40 [ 626.965720][ T9772] __do_fast_syscall_32+0xb1/0x100 [ 626.970975][ T9772] do_fast_syscall_32+0x33/0x70 [ 626.976117][ T9772] do_SYSENTER_32+0x1b/0x20 [ 626.980753][ T9772] entry_SYSENTER_compat_after_hwframe+0x70/0x82 [ 626.987355][ T9772] [ 626.989747][ T9772] Bytes 16-511 of 4096 are uninitialized [ 626.995642][ T9772] Memory access of size 4096 starts at ffff888098872000 [ 626.998846][ T9773] ISOFS: Unable to identify CD-ROM format. [ 627.002701][ T9772] Data copied to user address 0000000020000080 [ 627.002735][ T9772] [ 627.002752][ T9772] CPU: 0 PID: 9772 Comm: syz-executor.0 Not tainted 5.19.0-syzkaller-32655-g1b070a5d1a2c #0 [ 627.002842][ T9772] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/22/2022 [ 627.002896][ T9772] ===================================================== [ 627.002919][ T9772] Disabling lock debugging due to kernel taint [ 627.002946][ T9772] Kernel panic - not syncing: kmsan.panic set ... [ 627.002981][ T9772] CPU: 0 PID: 9772 Comm: syz-executor.0 Tainted: G B 5.19.0-syzkaller-32655-g1b070a5d1a2c #0 [ 627.003069][ T9772] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/22/2022 [ 627.003114][ T9772] Call Trace: [ 627.003139][ T9772] [ 627.003163][ T9772] dump_stack_lvl+0x1c8/0x256 [ 627.003296][ T9772] dump_stack+0x1a/0x1c [ 627.003408][ T9772] panic+0x4d3/0xc69 [ 627.003537][ T9772] kmsan_report+0x2cc/0x2d0 [ 627.003648][ T9772] ? kmsan_internal_check_memory+0x1aa/0x530 [ 627.003747][ T9772] ? kmsan_copy_to_user+0xcf/0xe0 [ 627.003842][ T9772] ? _copy_to_user+0xbc/0x100 [ 627.003937][ T9772] ? vcs_read+0x1ef7/0x23c0 [ 627.004048][ T9772] ? vfs_read+0x3a9/0x11b0 [ 627.004141][ T9772] ? ksys_read+0x21b/0x4e0 [ 627.004232][ T9772] ? __ia32_sys_read+0x8d/0xd0 [ 627.004335][ T9772] ? __do_fast_syscall_32+0xa2/0x100 [ 627.004425][ T9772] ? do_fast_syscall_32+0x33/0x70 [ 627.004509][ T9772] ? do_SYSENTER_32+0x1b/0x20 [ 627.004591][ T9772] ? entry_SYSENTER_compat_after_hwframe+0x70/0x82 [ 627.004693][ T9772] ? kmsan_get_shadow_origin_ptr+0x49/0xa0 [ 627.004806][ T9772] ? _prb_read_valid+0x1b61/0x1bb0 [ 627.004986][ T9772] ? kmsan_get_shadow_origin_ptr+0x49/0xa0 [ 627.005101][ T9772] kmsan_internal_check_memory+0x1aa/0x530 [ 627.005219][ T9772] kmsan_copy_to_user+0xcf/0xe0 [ 627.005314][ T9772] ? should_fail_usercopy+0x2a/0x30 [ 627.005424][ T9772] _copy_to_user+0xbc/0x100 [ 627.005515][ T9772] vcs_read+0x1ef7/0x23c0 [ 627.005673][ T9772] ? vcs_lseek+0x6f0/0x6f0 [ 627.005780][ T9772] vfs_read+0x3a9/0x11b0 [ 627.005894][ T9772] ? kmsan_internal_set_shadow_origin+0x62/0xe0 [ 627.006005][ T9772] ? kmsan_get_shadow_origin_ptr+0x49/0xa0 [ 627.006119][ T9772] ksys_read+0x21b/0x4e0 [ 627.006233][ T9772] __ia32_sys_read+0x8d/0xd0 [ 627.006342][ T9772] __do_fast_syscall_32+0xa2/0x100 [ 627.006479][ T9772] ? exit_to_user_mode_prepare+0x119/0x220 [ 627.006585][ T9772] do_fast_syscall_32+0x33/0x70 [ 627.006674][ T9772] do_SYSENTER_32+0x1b/0x20 [ 627.006758][ T9772] entry_SYSENTER_compat_after_hwframe+0x70/0x82 [ 627.006866][ T9772] RIP: 0023:0xf7f13549 [ 627.006922][ T9772] Code: 03 74 c0 01 10 05 03 74 b8 01 10 06 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 [ 627.007005][ T9772] RSP: 002b:00000000f7f0e5cc EFLAGS: 00000296 ORIG_RAX: 0000000000000003 [ 627.007080][ T9772] RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000020000080 [ 627.007138][ T9772] RDX: 0000000000002020 RSI: 0000000000000000 RDI: 0000000000000000 [ 627.007186][ T9772] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 [ 627.007240][ T9772] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 627.007288][ T9772] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 [ 627.007357][ T9772] [ 627.010085][ T9772] Kernel Offset: disabled [ 627.335737][ T9772] Rebooting in 86400 seconds..