fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff73797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c000000000000", 0x40440, 0x100be0}, {&(0x7f000007db00)="eb52904e5446532020202000020200000000000000f8000000000000000000000000000080008000ff0f0000000000001000000000000000ff0300000000000001000000040000003daaf55af9830909000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ffe00}, {&(0x7f000007dc00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1fffe0}], 0x0, &(0x7f000007dd00)) 20:15:16 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000001840)={0x15, 0x4, &(0x7f0000000040)=@framed={{}, [@ldst={0x1, 0x0, 0x3, 0x0, 0x1, 0x20}]}, &(0x7f0000001600)='GPL\x00', 0x5, 0xb6, &(0x7f0000001700)=""/182, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 20:15:16 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000001840)={0x15, 0x4, &(0x7f0000000040)=@framed={{}, [@ldst={0x1, 0x0, 0x3, 0x0, 0x1, 0x20}]}, &(0x7f0000001600)='GPL\x00', 0x5, 0xb6, &(0x7f0000001700)=""/182, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) [ 526.839699][T31353] overlayfs: upperdir is in-use as upperdir/workdir of another mount, mount with '-o index=off' to override exclusive upperdir protection. [ 526.869977][T15330] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x82 has invalid wMaxPacketSize 0 20:15:16 executing program 0: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080)='/dev/fuse\x00', 0x2, 0x0) mount$fuse(0x0, &(0x7f0000000100)='./file0\x00', &(0x7f0000002100)='fuse\x00', 0x0, &(0x7f0000002140)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}, 0x2c, {'user_id'}, 0x2c, {'group_id'}}) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1}, 0x50) r2 = openat$dir(0xffffffffffffff9c, &(0x7f0000004280)='./file0\x00', 0x0, 0x0) syz_fuse_handle_req(r0, &(0x7f00000042c0), 0x2000, &(0x7f00000062c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000006340)={0x20}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000300)={0xffffffffffffffff, 0xffffffffffffffff}) r4 = dup(r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) fdatasync(r2) 20:15:16 executing program 3: mkdir(&(0x7f00000003c0)='./bus\x00', 0x0) symlink(&(0x7f0000000180)='./file2\x00', &(0x7f0000000240)='./bus/file0\x00') mkdir(&(0x7f0000000040)='./file0\x00', 0x0) syz_mount_image$vfat(0x0, &(0x7f0000000080)='./file1\x00', 0x0, 0x0, 0x0, 0x0, 0x0) mount$overlay(0x400002, &(0x7f00000000c0)='./bus\x00', &(0x7f0000000100)='overlay\x00', 0x0, &(0x7f0000000c40)=ANY=[@ANYBLOB='upperdir=./file1,lowerdir=./bus,workdir=./file0,nfs_export=on']) unlink(&(0x7f0000000200)='./bus/file0\x00') 20:15:16 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000001840)={0x15, 0x4, &(0x7f0000000040)=@framed={{}, [@ldst={0x1, 0x0, 0x3, 0x0, 0x1, 0x20}]}, &(0x7f0000001600)='GPL\x00', 0x5, 0xb6, &(0x7f0000001700)=""/182, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) [ 527.009993][T15330] usb 3-1: New USB device found, idVendor=134c, idProduct=0003, bcdDevice=46.43 [ 527.028360][T15330] usb 3-1: New USB device strings: Mfr=192, Product=0, SerialNumber=0 [ 527.052096][T15330] usb 3-1: Manufacturer: syz [ 527.070892][T15330] usb 3-1: config 0 descriptor?? [ 527.131634][T15330] input: syz as /devices/platform/dummy_hcd.2/usb3/3-1/3-1:0.0/input/input46 [ 527.332422][ T9631] usb 3-1: USB disconnect, device number 10 [ 528.109513][ T9808] usb 3-1: new high-speed USB device number 11 using dummy_hcd [ 528.369499][ T9808] usb 3-1: Using ep0 maxpacket: 8 [ 528.509773][ T9808] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x82 has invalid wMaxPacketSize 0 [ 528.609504][ T9808] usb 3-1: New USB device found, idVendor=134c, idProduct=0003, bcdDevice=46.43 [ 528.618588][ T9808] usb 3-1: New USB device strings: Mfr=192, Product=0, SerialNumber=0 [ 528.630223][ T9808] usb 3-1: Manufacturer: syz [ 528.636768][ T9808] usb 3-1: config 0 descriptor?? [ 528.704686][ T9808] input: syz as /devices/platform/dummy_hcd.2/usb3/3-1/3-1:0.0/input/input47 20:15:18 executing program 2: syz_usb_connect(0x0, 0x2d, &(0x7f0000000040)=ANY=[@ANYBLOB="1201000060a7c4084c1303004346c000000109021b00010000000009040000014ea33900090582"], 0x0) 20:15:18 executing program 1: mkdir(&(0x7f00000003c0)='./bus\x00', 0x0) symlink(&(0x7f0000000180)='./file2\x00', &(0x7f0000000240)='./bus/file0\x00') mkdir(&(0x7f0000000040)='./file0\x00', 0x0) syz_mount_image$vfat(0x0, &(0x7f0000000080)='./file1\x00', 0x0, 0x0, 0x0, 0x0, 0x0) mount$overlay(0x400002, &(0x7f00000000c0)='./bus\x00', &(0x7f0000000100)='overlay\x00', 0x0, &(0x7f0000000c40)=ANY=[@ANYBLOB='upperdir=./file1,lowerdir=./bus,workdir=./file0,nfs_export=on']) unlink(&(0x7f0000000200)='./bus/file0\x00') 20:15:18 executing program 4: ioctl$PERF_EVENT_IOC_SET_FILTER(0xffffffffffffffff, 0x8b0b, &(0x7f0000000000)='wlan1\x00\x1f\x1a\xec\xb5\x12\x03F\xd9U\x1c\xc9\xff\x7f\x00\x00\x00\x00\x00\x00\xf2-\xda,C\xfdj\xe3\x8d\xe3\xd6\xe0|6l\xe9\xd9;\x13\xdf\xf7\xber\'\x8a\xd5\xd5\xe1\xf5\\\x9b8\x84c\xf2\xc2\fpp.{\xb2\xb5:f\xcb\xe8oOArYZ\xe1\xc9\x86\xfe\x88\x9d\xfa\xacJ\x1f\xebp\xf5\xfb\xaad\x1a\xa0\xb1\x9c\xac\xe8\xff^9P\xee\x8aG\xdd2\x9d\xe9\x00\x00\x00)-v\x91WQ\xfd\xdcSE;\x9d\xc3\xc1LO\xf1\xf7\xbe\xdc\xd0Y\a\xdf\x11\r\x9a\xfe#N\a\xc6\xf3I\x89tZU#Ifx\xc3\xeb\xbe\xb6efpM\xc8\xaa\x88BA\n\xd1\x16\x81\x96ZI\xb2\xb5\xf2\xe6\xf5\x00\x92\r\xf6\x8d\x95\x9db\xe2\xc4\xad\xcb>\x890x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1}, 0x50) r2 = openat$dir(0xffffffffffffff9c, &(0x7f0000004280)='./file0\x00', 0x0, 0x0) syz_fuse_handle_req(r0, &(0x7f00000042c0), 0x2000, &(0x7f00000062c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000006340)={0x20}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000300)={0xffffffffffffffff, 0xffffffffffffffff}) r4 = dup(r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) fdatasync(r2) 20:15:18 executing program 0: r0 = socket$inet6(0xa, 0x3, 0x1) r1 = perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffbfffffffff, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, r1, 0x0) close(r0) syz_open_procfs(0x0, &(0x7f0000000000)='comm\x00') r2 = open(&(0x7f0000000400)='./bus\x00', 0x1143442, 0x0) r3 = creat(&(0x7f0000000040)='./bus\x00', 0x0) ftruncate(r3, 0x208200) sendfile(r0, r2, 0x0, 0x8000fffffffe) [ 528.900184][ T9808] usb 3-1: USB disconnect, device number 11 20:15:18 executing program 0: sched_setattr(0x0, 0x0, 0x0) fcntl$setpipe(0xffffffffffffffff, 0x407, 0x0) eventfd2(0x100, 0x1) sched_setattr(0x0, 0x0, 0x0) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) perf_event_open(&(0x7f0000000640)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xefffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$key(0xffffffffffffffff, 0x0, 0x0) r0 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r0, &(0x7f0000f56000)={0x0, 0x0, 0x0}, 0x0) r1 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r1, &(0x7f0000f56000)={0x0, 0x0, &(0x7f0000f36000)={&(0x7f0000000340)=ANY=[@ANYBLOB="020300090c000000ffffffffffffffff02001300020000000000000000000000030006000000000002004e20e0000001000000000000002402000100f8beffff00000002f2000000030005000000000002004e20ded5b29c0000000000000000e8ee2a20c81e5bcd20f26da342882e4189da06b5ddfbba41e0e7a605cae91e7d8c9c211c75dba5ded1f6ecb3d3654daff92105f6cb9be0b6a5b7d67140393890b8fc08803e4b5fc2a44da4fa31288a64e950a959f4b857cf0fa0f4515e5aacf64c63e23822a493d878dac5c800800000d4414b622a5446fed34559b7a9635df6c786cbd0a2705cf98318da11f787bc3c290caa2c3f22be876f88ded8acd98353611c30a77338ea59e3a87f10159efd4bfb825f8c412ffafdb4f4a6a685b020a9e96fc4680740744c55712ce2063af4571f9dfe41944e2a0c248b43d5c4720c1d78e831c15e786fdaf2ae40f81bfbab756927b0032c4b92b2858be830c1476cb4ce617d37df1b6d66c83313b4a15b6330e124aa5aa6592b3fc6520c311f5146bc3d0befe0ace6695ea852f6c1bc72d6364aa68487056acc6605ae3becef54806187d3b67547134de0f4d1145752985e469d2069b492b48a45cd436bdfac8e72070fb896025138a9307ff32700065d7a33bac39bbc0032f7a4869e156aed176d70c9e55b292cc857e823d6ca994420c7f1c333b02400"/513], 0x60}}, 0x0) write(0xffffffffffffffff, 0x0, 0x0) pivot_root(&(0x7f0000000140)='./file0\x00', &(0x7f0000000100)='./file0\x00') 20:15:18 executing program 1: mkdir(&(0x7f00000003c0)='./bus\x00', 0x0) symlink(&(0x7f0000000180)='./file2\x00', &(0x7f0000000240)='./bus/file0\x00') mkdir(&(0x7f0000000040)='./file0\x00', 0x0) syz_mount_image$vfat(0x0, &(0x7f0000000080)='./file1\x00', 0x0, 0x0, 0x0, 0x0, 0x0) mount$overlay(0x400002, &(0x7f00000000c0)='./bus\x00', &(0x7f0000000100)='overlay\x00', 0x0, &(0x7f0000000c40)=ANY=[@ANYBLOB='upperdir=./file1,lowerdir=./bus,workdir=./file0,nfs_export=on']) unlink(&(0x7f0000000200)='./bus/file0\x00') 20:15:18 executing program 3: mkdir(&(0x7f00000003c0)='./bus\x00', 0x0) symlink(&(0x7f0000000180)='./file2\x00', &(0x7f0000000240)='./bus/file0\x00') mkdir(&(0x7f0000000040)='./file0\x00', 0x0) syz_mount_image$vfat(0x0, &(0x7f0000000080)='./file1\x00', 0x0, 0x0, 0x0, 0x0, 0x0) mount$overlay(0x400002, &(0x7f00000000c0)='./bus\x00', &(0x7f0000000100)='overlay\x00', 0x0, &(0x7f0000000c40)=ANY=[@ANYBLOB='upperdir=./file1,lowerdir=./bus,workdir=./file0,nfs_export=on']) unlink(&(0x7f0000000200)='./bus/file0\x00') 20:15:18 executing program 4: ioctl$PERF_EVENT_IOC_SET_FILTER(0xffffffffffffffff, 0x8b0b, &(0x7f0000000000)='wlan1\x00\x1f\x1a\xec\xb5\x12\x03F\xd9U\x1c\xc9\xff\x7f\x00\x00\x00\x00\x00\x00\xf2-\xda,C\xfdj\xe3\x8d\xe3\xd6\xe0|6l\xe9\xd9;\x13\xdf\xf7\xber\'\x8a\xd5\xd5\xe1\xf5\\\x9b8\x84c\xf2\xc2\fpp.{\xb2\xb5:f\xcb\xe8oOArYZ\xe1\xc9\x86\xfe\x88\x9d\xfa\xacJ\x1f\xebp\xf5\xfb\xaad\x1a\xa0\xb1\x9c\xac\xe8\xff^9P\xee\x8aG\xdd2\x9d\xe9\x00\x00\x00)-v\x91WQ\xfd\xdcSE;\x9d\xc3\xc1LO\xf1\xf7\xbe\xdc\xd0Y\a\xdf\x11\r\x9a\xfe#N\a\xc6\xf3I\x89tZU#Ifx\xc3\xeb\xbe\xb6efpM\xc8\xaa\x88BA\n\xd1\x16\x81\x96ZI\xb2\xb5\xf2\xe6\xf5\x00\x92\r\xf6\x8d\x95\x9db\xe2\xc4\xad\xcb>\x89\x89\x890x0}) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000400)={&(0x7f0000001140)=ANY=[@ANYBLOB="8800000024000b0f00"/20, @ANYRES32=r3, @ANYBLOB="00000000ffffffff000000000b0001006d717072696f0000580002000c0000000000000000000020"], 0x88}}, 0x0) r4 = socket(0x1000000010, 0x80002, 0x0) sendmmsg$alg(r4, &(0x7f0000000200), 0x10efe10675dec16, 0x0) 20:15:20 executing program 0: sched_setattr(0x0, 0x0, 0x0) fcntl$setpipe(0xffffffffffffffff, 0x407, 0x0) eventfd2(0x100, 0x1) sched_setattr(0x0, 0x0, 0x0) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) perf_event_open(&(0x7f0000000640)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xefffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$key(0xffffffffffffffff, 0x0, 0x0) r0 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r0, &(0x7f0000f56000)={0x0, 0x0, 0x0}, 0x0) r1 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r1, &(0x7f0000f56000)={0x0, 0x0, &(0x7f0000f36000)={&(0x7f0000000340)=ANY=[@ANYBLOB="020300090c000000ffffffffffffffff02001300020000000000000000000000030006000000000002004e20e0000001000000000000002402000100f8beffff00000002f2000000030005000000000002004e20ded5b29c0000000000000000e8ee2a20c81e5bcd20f26da342882e4189da06b5ddfbba41e0e7a605cae91e7d8c9c211c75dba5ded1f6ecb3d3654daff92105f6cb9be0b6a5b7d67140393890b8fc08803e4b5fc2a44da4fa31288a64e950a959f4b857cf0fa0f4515e5aacf64c63e23822a493d878dac5c800800000d4414b622a5446fed34559b7a9635df6c786cbd0a2705cf98318da11f787bc3c290caa2c3f22be876f88ded8acd98353611c30a77338ea59e3a87f10159efd4bfb825f8c412ffafdb4f4a6a685b020a9e96fc4680740744c55712ce2063af4571f9dfe41944e2a0c248b43d5c4720c1d78e831c15e786fdaf2ae40f81bfbab756927b0032c4b92b2858be830c1476cb4ce617d37df1b6d66c83313b4a15b6330e124aa5aa6592b3fc6520c311f5146bc3d0befe0ace6695ea852f6c1bc72d6364aa68487056acc6605ae3becef54806187d3b67547134de0f4d1145752985e469d2069b492b48a45cd436bdfac8e72070fb896025138a9307ff32700065d7a33bac39bbc0032f7a4869e156aed176d70c9e55b292cc857e823d6ca994420c7f1c333b02400"/513], 0x60}}, 0x0) write(0xffffffffffffffff, 0x0, 0x0) pivot_root(&(0x7f0000000140)='./file0\x00', &(0x7f0000000100)='./file0\x00') 20:15:20 executing program 3: clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) madvise(&(0x7f00004f4000/0x2000)=nil, 0x2000, 0xc) clone(0xc0000, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) 20:15:20 executing program 5: r0 = socket(0x11, 0x800000003, 0x0) r1 = socket$packet(0x11, 0x2, 0x300) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$ifreq_SIOCGIFINDEX_team(r0, 0x8933, &(0x7f0000000600)={'team0\x00', 0x0}) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000400)={&(0x7f0000001140)=ANY=[@ANYBLOB="8800000024000b0f00"/20, @ANYRES32=r3, @ANYBLOB="00000000ffffffff000000000b0001006d717072696f0000580002000c0000000000000000000020"], 0x88}}, 0x0) r4 = socket(0x1000000010, 0x80002, 0x0) sendmmsg$alg(r4, &(0x7f0000000200), 0x10efe10675dec16, 0x0) 20:15:20 executing program 4: clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) madvise(&(0x7f00004f4000/0x2000)=nil, 0x2000, 0xc) clone(0xc0000, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) 20:15:20 executing program 1: r0 = gettid() timer_create(0x0, &(0x7f0000000780)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f00009b1ffc)) clock_gettime(0x0, &(0x7f0000000640)={0x0, 0x0}) select(0x0, 0x0, 0x0, 0x0, &(0x7f0000000680)={0x0, r1/1000+60000}) timer_settime(0x0, 0x0, &(0x7f000006b000)={{0x0, 0x989680}, {0x0, 0x9}}, 0x0) r2 = memfd_create(&(0x7f0000000300)='\x0f\x02\x80\x05,\x04\xad\xe5\xba\xed\xfa\x9c:!)\xa1\ff\x9a\xeazo\xf1\tB\xd9`_\x05,g\x10KSW\x92Q\xcbo\xdfJ|\xe2\x9bc/\x13\x93-\bH=\xf3\xd1\xb6\xd98\xf5\xc9\xf4\xf8\xa5Ci\x8c\xc6\x85(7\xdc\x12,\b\xca\x88i88\n{H\xe9\x7f[\xea\'\\\x06h\xc9\x14v\x14 \xef\x12\xe5\xa9>\x1e\"\\\x9f@\x1e\xc1\xee1JJ\xa8\xb2\x15\t\xbet\x90\x92', 0x0) mmap(&(0x7f0000000000/0xe000)=nil, 0xe000, 0x0, 0x12, r2, 0x0) tkill(r0, 0x13) 20:15:20 executing program 0: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000180)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TCSETS(r0, 0x40045431, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x0, 0x0, "8000"}) r1 = syz_open_pts(r0, 0x0) ioctl$TIOCGICOUNT(r1, 0x545d, 0x0) [ 531.009417][ T9631] usb 3-1: new high-speed USB device number 13 using dummy_hcd [ 531.279455][ T9631] usb 3-1: Using ep0 maxpacket: 8 [ 531.410258][ T9631] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x82 has invalid wMaxPacketSize 0 [ 531.509435][ T9631] usb 3-1: New USB device found, idVendor=134c, idProduct=0003, bcdDevice=46.43 [ 531.518470][ T9631] usb 3-1: New USB device strings: Mfr=192, Product=0, SerialNumber=0 [ 531.527449][ T9631] usb 3-1: Manufacturer: syz [ 531.534860][ T9631] usb 3-1: config 0 descriptor?? [ 531.601620][ T9631] input: syz as /devices/platform/dummy_hcd.2/usb3/3-1/3-1:0.0/input/input49 [ 531.806537][ T9631] usb 3-1: USB disconnect, device number 13 20:15:21 executing program 5: r0 = socket(0x11, 0x800000003, 0x0) r1 = socket$packet(0x11, 0x2, 0x300) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$ifreq_SIOCGIFINDEX_team(r0, 0x8933, &(0x7f0000000600)={'team0\x00', 0x0}) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000400)={&(0x7f0000001140)=ANY=[@ANYBLOB="8800000024000b0f00"/20, @ANYRES32=r3, @ANYBLOB="00000000ffffffff000000000b0001006d717072696f0000580002000c0000000000000000000020"], 0x88}}, 0x0) r4 = socket(0x1000000010, 0x80002, 0x0) sendmmsg$alg(r4, &(0x7f0000000200), 0x10efe10675dec16, 0x0) 20:15:21 executing program 2: syz_usb_connect(0x0, 0x2d, &(0x7f0000000040)=ANY=[@ANYBLOB="1201000060a7c4084c1303004346c000000109021b00010000000009040000014ea33900090582"], 0x0) 20:15:21 executing program 4: clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) madvise(&(0x7f00004f4000/0x2000)=nil, 0x2000, 0xc) clone(0xc0000, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) 20:15:21 executing program 3: clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) madvise(&(0x7f00004f4000/0x2000)=nil, 0x2000, 0xc) clone(0xc0000, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) 20:15:21 executing program 0: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000180)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TCSETS(r0, 0x40045431, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x0, 0x0, "8000"}) r1 = syz_open_pts(r0, 0x0) ioctl$TIOCGICOUNT(r1, 0x545d, 0x0) 20:15:21 executing program 1: r0 = gettid() timer_create(0x0, &(0x7f0000000780)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f00009b1ffc)) clock_gettime(0x0, &(0x7f0000000640)={0x0, 0x0}) select(0x0, 0x0, 0x0, 0x0, &(0x7f0000000680)={0x0, r1/1000+60000}) timer_settime(0x0, 0x0, &(0x7f000006b000)={{0x0, 0x989680}, {0x0, 0x9}}, 0x0) r2 = memfd_create(&(0x7f0000000300)='\x0f\x02\x80\x05,\x04\xad\xe5\xba\xed\xfa\x9c:!)\xa1\ff\x9a\xeazo\xf1\tB\xd9`_\x05,g\x10KSW\x92Q\xcbo\xdfJ|\xe2\x9bc/\x13\x93-\bH=\xf3\xd1\xb6\xd98\xf5\xc9\xf4\xf8\xa5Ci\x8c\xc6\x85(7\xdc\x12,\b\xca\x88i88\n{H\xe9\x7f[\xea\'\\\x06h\xc9\x14v\x14 \xef\x12\xe5\xa9>\x1e\"\\\x9f@\x1e\xc1\xee1JJ\xa8\xb2\x15\t\xbet\x90\x92', 0x0) mmap(&(0x7f0000000000/0xe000)=nil, 0xe000, 0x0, 0x12, r2, 0x0) tkill(r0, 0x13) 20:15:21 executing program 4: clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) madvise(&(0x7f00004f4000/0x2000)=nil, 0x2000, 0xc) clone(0xc0000, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) 20:15:21 executing program 3: clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) madvise(&(0x7f00004f4000/0x2000)=nil, 0x2000, 0xc) clone(0xc0000, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) 20:15:21 executing program 5: r0 = socket(0x11, 0x800000003, 0x0) r1 = socket$packet(0x11, 0x2, 0x300) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$ifreq_SIOCGIFINDEX_team(r0, 0x8933, &(0x7f0000000600)={'team0\x00', 0x0}) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000400)={&(0x7f0000001140)=ANY=[@ANYBLOB="8800000024000b0f00"/20, @ANYRES32=r3, @ANYBLOB="00000000ffffffff000000000b0001006d717072696f0000580002000c0000000000000000000020"], 0x88}}, 0x0) r4 = socket(0x1000000010, 0x80002, 0x0) sendmmsg$alg(r4, &(0x7f0000000200), 0x10efe10675dec16, 0x0) 20:15:22 executing program 0: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000180)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TCSETS(r0, 0x40045431, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x0, 0x0, "8000"}) r1 = syz_open_pts(r0, 0x0) ioctl$TIOCGICOUNT(r1, 0x545d, 0x0) 20:15:22 executing program 1: r0 = gettid() timer_create(0x0, &(0x7f0000000780)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f00009b1ffc)) clock_gettime(0x0, &(0x7f0000000640)={0x0, 0x0}) select(0x0, 0x0, 0x0, 0x0, &(0x7f0000000680)={0x0, r1/1000+60000}) timer_settime(0x0, 0x0, &(0x7f000006b000)={{0x0, 0x989680}, {0x0, 0x9}}, 0x0) r2 = memfd_create(&(0x7f0000000300)='\x0f\x02\x80\x05,\x04\xad\xe5\xba\xed\xfa\x9c:!)\xa1\ff\x9a\xeazo\xf1\tB\xd9`_\x05,g\x10KSW\x92Q\xcbo\xdfJ|\xe2\x9bc/\x13\x93-\bH=\xf3\xd1\xb6\xd98\xf5\xc9\xf4\xf8\xa5Ci\x8c\xc6\x85(7\xdc\x12,\b\xca\x88i88\n{H\xe9\x7f[\xea\'\\\x06h\xc9\x14v\x14 \xef\x12\xe5\xa9>\x1e\"\\\x9f@\x1e\xc1\xee1JJ\xa8\xb2\x15\t\xbet\x90\x92', 0x0) mmap(&(0x7f0000000000/0xe000)=nil, 0xe000, 0x0, 0x12, r2, 0x0) tkill(r0, 0x13) 20:15:22 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_PPC_ALLOCATE_HTAB(r1, 0x4020aea5, 0x0) 20:15:22 executing program 5: r0 = openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/infiniband/rdma_cm\x00', 0x2, 0x0) write$RDMA_USER_CM_CMD_CREATE_ID(r0, &(0x7f0000000180)={0x0, 0x18, 0xfa00, {0x0, &(0x7f00000000c0)={0xffffffffffffffff}, 0x111}}, 0x20) write$RDMA_USER_CM_CMD_DESTROY_ID(r0, &(0x7f00000001c0)={0x1, 0x10, 0xfa00, {0xfffffffffffffffe, r1}}, 0x18) [ 532.709353][ T9207] usb 3-1: new high-speed USB device number 14 using dummy_hcd [ 532.969368][ T9207] usb 3-1: Using ep0 maxpacket: 8 [ 533.109422][ T9207] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x82 has invalid wMaxPacketSize 0 [ 533.189884][ T9207] usb 3-1: New USB device found, idVendor=134c, idProduct=0003, bcdDevice=46.43 [ 533.199012][ T9207] usb 3-1: New USB device strings: Mfr=192, Product=0, SerialNumber=0 [ 533.210716][ T9207] usb 3-1: Manufacturer: syz [ 533.217080][ T9207] usb 3-1: config 0 descriptor?? [ 533.273543][ T9207] input: syz as /devices/platform/dummy_hcd.2/usb3/3-1/3-1:0.0/input/input50 [ 533.476705][ T9631] usb 3-1: USB disconnect, device number 14 20:15:23 executing program 5: r0 = openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/infiniband/rdma_cm\x00', 0x2, 0x0) write$RDMA_USER_CM_CMD_CREATE_ID(r0, &(0x7f0000000180)={0x0, 0x18, 0xfa00, {0x0, &(0x7f00000000c0)={0xffffffffffffffff}, 0x111}}, 0x20) write$RDMA_USER_CM_CMD_DESTROY_ID(r0, &(0x7f00000001c0)={0x1, 0x10, 0xfa00, {0xfffffffffffffffe, r1}}, 0x18) 20:15:23 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_PPC_ALLOCATE_HTAB(r1, 0x4020aea5, 0x0) 20:15:23 executing program 1: r0 = gettid() timer_create(0x0, &(0x7f0000000780)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f00009b1ffc)) clock_gettime(0x0, &(0x7f0000000640)={0x0, 0x0}) select(0x0, 0x0, 0x0, 0x0, &(0x7f0000000680)={0x0, r1/1000+60000}) timer_settime(0x0, 0x0, &(0x7f000006b000)={{0x0, 0x989680}, {0x0, 0x9}}, 0x0) r2 = memfd_create(&(0x7f0000000300)='\x0f\x02\x80\x05,\x04\xad\xe5\xba\xed\xfa\x9c:!)\xa1\ff\x9a\xeazo\xf1\tB\xd9`_\x05,g\x10KSW\x92Q\xcbo\xdfJ|\xe2\x9bc/\x13\x93-\bH=\xf3\xd1\xb6\xd98\xf5\xc9\xf4\xf8\xa5Ci\x8c\xc6\x85(7\xdc\x12,\b\xca\x88i88\n{H\xe9\x7f[\xea\'\\\x06h\xc9\x14v\x14 \xef\x12\xe5\xa9>\x1e\"\\\x9f@\x1e\xc1\xee1JJ\xa8\xb2\x15\t\xbet\x90\x92', 0x0) mmap(&(0x7f0000000000/0xe000)=nil, 0xe000, 0x0, 0x12, r2, 0x0) tkill(r0, 0x13) 20:15:23 executing program 3: r0 = openat$ion(0xffffffffffffff9c, &(0x7f0000000140)='/dev/ion\x00', 0x0, 0x0) ioctl$ION_IOC_ALLOC(r0, 0xc0184900, &(0x7f0000000180)={0xffff, 0x1, 0x0, 0xffffffffffffffff}) r2 = dup(r1) lseek(r2, 0x0, 0x2) 20:15:23 executing program 0: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000180)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TCSETS(r0, 0x40045431, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x0, 0x0, "8000"}) r1 = syz_open_pts(r0, 0x0) ioctl$TIOCGICOUNT(r1, 0x545d, 0x0) 20:15:23 executing program 2: mkdir(&(0x7f00000001c0)='./file1\x00', 0x0) mkdir(&(0x7f00000002c0)='./bus\x00', 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mkdir(&(0x7f0000000040)='./bus/file0\x00', 0x0) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000100)='overlay\x00', 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='lowerdir=./bus,workdir=./file1,upperdir=./file0']) rmdir(&(0x7f00000000c0)='./bus/file0\x00') symlink(&(0x7f0000000140)='./file0\x00', &(0x7f0000000180)='./bus/file0\x00') 20:15:23 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_PPC_ALLOCATE_HTAB(r1, 0x4020aea5, 0x0) 20:15:23 executing program 5: r0 = openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/infiniband/rdma_cm\x00', 0x2, 0x0) write$RDMA_USER_CM_CMD_CREATE_ID(r0, &(0x7f0000000180)={0x0, 0x18, 0xfa00, {0x0, &(0x7f00000000c0)={0xffffffffffffffff}, 0x111}}, 0x20) write$RDMA_USER_CM_CMD_DESTROY_ID(r0, &(0x7f00000001c0)={0x1, 0x10, 0xfa00, {0xfffffffffffffffe, r1}}, 0x18) 20:15:23 executing program 0: r0 = socket$inet_udplite(0x2, 0x2, 0x88) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) bpf$OBJ_GET_MAP(0x7, &(0x7f0000000200)={0x0, 0x0, 0x8}, 0x10) 20:15:23 executing program 3: r0 = openat$ion(0xffffffffffffff9c, &(0x7f0000000140)='/dev/ion\x00', 0x0, 0x0) ioctl$ION_IOC_ALLOC(r0, 0xc0184900, &(0x7f0000000180)={0xffff, 0x1, 0x0, 0xffffffffffffffff}) r2 = dup(r1) lseek(r2, 0x0, 0x2) 20:15:23 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000100)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_ENABLE_CAP_CPU(r2, 0xc008ae88, &(0x7f0000000200)={0x2, 0x0, [0x400000b6]}) 20:15:23 executing program 0: r0 = socket$inet_udplite(0x2, 0x2, 0x88) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) bpf$OBJ_GET_MAP(0x7, &(0x7f0000000200)={0x0, 0x0, 0x8}, 0x10) [ 534.142643][T31680] overlayfs: upperdir is in-use as upperdir/workdir of another mount, mount with '-o index=off' to override exclusive upperdir protection. 20:15:23 executing program 3: r0 = openat$ion(0xffffffffffffff9c, &(0x7f0000000140)='/dev/ion\x00', 0x0, 0x0) ioctl$ION_IOC_ALLOC(r0, 0xc0184900, &(0x7f0000000180)={0xffff, 0x1, 0x0, 0xffffffffffffffff}) r2 = dup(r1) lseek(r2, 0x0, 0x2) 20:15:23 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_PPC_ALLOCATE_HTAB(r1, 0x4020aea5, 0x0) 20:15:23 executing program 5: r0 = openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/infiniband/rdma_cm\x00', 0x2, 0x0) write$RDMA_USER_CM_CMD_CREATE_ID(r0, &(0x7f0000000180)={0x0, 0x18, 0xfa00, {0x0, &(0x7f00000000c0)={0xffffffffffffffff}, 0x111}}, 0x20) write$RDMA_USER_CM_CMD_DESTROY_ID(r0, &(0x7f00000001c0)={0x1, 0x10, 0xfa00, {0xfffffffffffffffe, r1}}, 0x18) 20:15:23 executing program 2: mkdir(&(0x7f00000001c0)='./file1\x00', 0x0) mkdir(&(0x7f00000002c0)='./bus\x00', 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mkdir(&(0x7f0000000040)='./bus/file0\x00', 0x0) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000100)='overlay\x00', 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='lowerdir=./bus,workdir=./file1,upperdir=./file0']) rmdir(&(0x7f00000000c0)='./bus/file0\x00') symlink(&(0x7f0000000140)='./file0\x00', &(0x7f0000000180)='./bus/file0\x00') 20:15:23 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000100)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_ENABLE_CAP_CPU(r2, 0xc008ae88, &(0x7f0000000200)={0x2, 0x0, [0x400000b6]}) 20:15:23 executing program 0: r0 = socket$inet_udplite(0x2, 0x2, 0x88) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) bpf$OBJ_GET_MAP(0x7, &(0x7f0000000200)={0x0, 0x0, 0x8}, 0x10) 20:15:23 executing program 4: mkdir(&(0x7f00000001c0)='./file1\x00', 0x0) mkdir(&(0x7f00000002c0)='./bus\x00', 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mkdir(&(0x7f0000000040)='./bus/file0\x00', 0x0) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000100)='overlay\x00', 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='lowerdir=./bus,workdir=./file1,upperdir=./file0']) rmdir(&(0x7f00000000c0)='./bus/file0\x00') symlink(&(0x7f0000000140)='./file0\x00', &(0x7f0000000180)='./bus/file0\x00') 20:15:23 executing program 3: r0 = openat$ion(0xffffffffffffff9c, &(0x7f0000000140)='/dev/ion\x00', 0x0, 0x0) ioctl$ION_IOC_ALLOC(r0, 0xc0184900, &(0x7f0000000180)={0xffff, 0x1, 0x0, 0xffffffffffffffff}) r2 = dup(r1) lseek(r2, 0x0, 0x2) 20:15:23 executing program 5: mkdir(&(0x7f00000001c0)='./file1\x00', 0x0) mkdir(&(0x7f00000002c0)='./bus\x00', 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mkdir(&(0x7f0000000040)='./bus/file0\x00', 0x0) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000100)='overlay\x00', 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='lowerdir=./bus,workdir=./file1,upperdir=./file0']) rmdir(&(0x7f00000000c0)='./bus/file0\x00') symlink(&(0x7f0000000140)='./file0\x00', &(0x7f0000000180)='./bus/file0\x00') 20:15:23 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000100)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_ENABLE_CAP_CPU(r2, 0xc008ae88, &(0x7f0000000200)={0x2, 0x0, [0x400000b6]}) 20:15:23 executing program 0: r0 = socket$inet_udplite(0x2, 0x2, 0x88) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) bpf$OBJ_GET_MAP(0x7, &(0x7f0000000200)={0x0, 0x0, 0x8}, 0x10) 20:15:24 executing program 3: 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, 0x91, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:15:24 executing program 4: mkdir(&(0x7f00000001c0)='./file1\x00', 0x0) mkdir(&(0x7f00000002c0)='./bus\x00', 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mkdir(&(0x7f0000000040)='./bus/file0\x00', 0x0) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000100)='overlay\x00', 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='lowerdir=./bus,workdir=./file1,upperdir=./file0']) rmdir(&(0x7f00000000c0)='./bus/file0\x00') symlink(&(0x7f0000000140)='./file0\x00', &(0x7f0000000180)='./bus/file0\x00') 20:15:24 executing program 2: mkdir(&(0x7f00000001c0)='./file1\x00', 0x0) mkdir(&(0x7f00000002c0)='./bus\x00', 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mkdir(&(0x7f0000000040)='./bus/file0\x00', 0x0) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000100)='overlay\x00', 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='lowerdir=./bus,workdir=./file1,upperdir=./file0']) rmdir(&(0x7f00000000c0)='./bus/file0\x00') symlink(&(0x7f0000000140)='./file0\x00', &(0x7f0000000180)='./bus/file0\x00') 20:15:24 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000100)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_ENABLE_CAP_CPU(r2, 0xc008ae88, &(0x7f0000000200)={0x2, 0x0, [0x400000b6]}) 20:15:24 executing program 5: mkdir(&(0x7f00000001c0)='./file1\x00', 0x0) mkdir(&(0x7f00000002c0)='./bus\x00', 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mkdir(&(0x7f0000000040)='./bus/file0\x00', 0x0) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000100)='overlay\x00', 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='lowerdir=./bus,workdir=./file1,upperdir=./file0']) rmdir(&(0x7f00000000c0)='./bus/file0\x00') symlink(&(0x7f0000000140)='./file0\x00', &(0x7f0000000180)='./bus/file0\x00') 20:15:24 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000000)=ANY=[@ANYBLOB="5000000031003deb8000000081d68700000000083c0001"], 0x50}}, 0x0) sendmmsg(r2, &(0x7f00000002c0), 0x4000000000003a0, 0x0) 20:15:24 executing program 1: socket$inet_icmp_raw(0x2, 0x3, 0x1) socket$inet6_sctp(0xa, 0x801, 0x84) socket$inet(0x2, 0x80001, 0x0) socket$inet_sctp(0x2, 0x5, 0x84) socket$can_j1939(0x1d, 0x2, 0x7) socket$packet(0x11, 0x3, 0x300) openat$vcs(0xffffffffffffff9c, &(0x7f0000000040)='/dev/vcs\x00', 0x0, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}) creat(&(0x7f0000000300)='./bus\x00', 0x0) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) pipe(&(0x7f0000000100)) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x1, 0x803, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000080)=ANY=[@ANYBLOB="5c0000001000010400"/20, @ANYRES32=0x0, @ANYBLOB="00000000000000002c00128009000100766c616e000000001c00028006000100010000000c0002001c0000001b0000000400038008000500", @ANYRES32=r4, @ANYBLOB='\b\x00\n\x00', @ANYRES32=r4], 0x5c}}, 0x0) [ 534.598510][T31743] netlink: 56 bytes leftover after parsing attributes in process `syz-executor.0'. 20:15:24 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000000)=ANY=[@ANYBLOB="5000000031003deb8000000081d68700000000083c0001"], 0x50}}, 0x0) sendmmsg(r2, &(0x7f00000002c0), 0x4000000000003a0, 0x0) 20:15:24 executing program 4: mkdir(&(0x7f00000001c0)='./file1\x00', 0x0) mkdir(&(0x7f00000002c0)='./bus\x00', 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mkdir(&(0x7f0000000040)='./bus/file0\x00', 0x0) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000100)='overlay\x00', 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='lowerdir=./bus,workdir=./file1,upperdir=./file0']) rmdir(&(0x7f00000000c0)='./bus/file0\x00') symlink(&(0x7f0000000140)='./file0\x00', &(0x7f0000000180)='./bus/file0\x00') 20:15:24 executing program 2: mkdir(&(0x7f00000001c0)='./file1\x00', 0x0) mkdir(&(0x7f00000002c0)='./bus\x00', 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mkdir(&(0x7f0000000040)='./bus/file0\x00', 0x0) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000100)='overlay\x00', 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='lowerdir=./bus,workdir=./file1,upperdir=./file0']) rmdir(&(0x7f00000000c0)='./bus/file0\x00') symlink(&(0x7f0000000140)='./file0\x00', &(0x7f0000000180)='./bus/file0\x00') 20:15:24 executing program 5: mkdir(&(0x7f00000001c0)='./file1\x00', 0x0) mkdir(&(0x7f00000002c0)='./bus\x00', 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mkdir(&(0x7f0000000040)='./bus/file0\x00', 0x0) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000100)='overlay\x00', 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='lowerdir=./bus,workdir=./file1,upperdir=./file0']) rmdir(&(0x7f00000000c0)='./bus/file0\x00') symlink(&(0x7f0000000140)='./file0\x00', &(0x7f0000000180)='./bus/file0\x00') 20:15:24 executing program 4: unshare(0x40000000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) socketpair(0x0, 0x0, 0x0, 0x0) r0 = socket(0xa, 0x2, 0x0) setsockopt$EBT_SO_SET_ENTRIES(r0, 0x0, 0x80, &(0x7f0000000300)=@broute={'broute\x00', 0x20, 0x2, 0x230, [0x0, 0x0, 0x0, 0x0, 0x0, 0x200004c0], 0x0, 0x0, &(0x7f00000004c0)=ANY=[@ANYBLOB="00000000000000000000000000000000000000000000000000000000000000000000000000000000feffffff01000000030000000000000081006e7230000000000000002000000000007465616d300000000000000000000000766c616e30000000000000004000000076657468305f746f5f7465616d000000aaaaaaaaaabb000000000000aaaaaaaaaabb0000000000000000d0000000d000000000010000766c616e0069df4e5100000000000000000000079ba316000000000000000000080000000000000200000000892f0700636f6e6e6c6162656c000000000000000000e5ffffff00000000000020000000080000000000000000000000000000004e465154455545000000000000000000000000000000000000000000000000000800000000000000000000000000000400000000000000000000000000000000000000000000000000000008000000000000000001000000ffffffff0000000000000000000000000004000000000000000000000000000000000000000000000000000001000000feffffff010000000b000000000000000000626f6e643000000000000000000000007465616d300000000000000000000000626f6e6430000000000000000000000076657468315f746f5f62726964676500aaaaaaaaaabb000000000000ffffffffffff00000008000000007000000070000000a0000000434f4e4e5345434d41524b000000000082790000000000000000000000000000080400"/560]}, 0x2a8) [ 534.780798][T31757] netlink: 56 bytes leftover after parsing attributes in process `syz-executor.0'. [ 534.925351][T31769] IPVS: ftp: loaded support on port[0] = 21 [ 535.086166][T31769] IPVS: ftp: loaded support on port[0] = 21 20:15:24 executing program 3: 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, 0x91, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:15:24 executing program 2: r0 = syz_mount_image$iso9660(&(0x7f0000000000)='iso9660\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000001500)=[{&(0x7f0000010000)="01434430303101004c494e55582020202020202020202020202020202020202020202020202020204344524f4d2020202020202020202020202020002020202020202020202020200000000000000000bf000000000000bf000000000000000000000000000000000000000000000000000000000000000001000001010000010008080018000000000000181400000000000000000000160000000022001c", 0x9f, 0x8000}, {&(0x7f0000010600)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020002000200020002000200020002000200000000000000000bf000000000000bf252f", 0x5a, 0x8800}, {&(0x7f0000000440)="88001c0000000000001c00080000000008007809140b2a3a0802000001000001010053500701beef004552050181505824016d4100000000416d03000000000000030000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a0843451c0120000000000000200000000000000000ed000000000000ed66001c0000000000001c00080000000008007809140b2a3a080200000100000101015252050181505824016d4100000000416d02000000000000020000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a08008c00210000000000002164000000000000647809140b2a3a08000000010000010a46494c452e434f4c3b310041410e0254455854756e6978000052520501894e4d0e010066696c652e636f6c64505824016d8100000000816d01000000000000010000000000000000000000000000000054461a010e7809140b2a3a107809140b2a3a087809140b2a3a080074001d0000000000001d00080000000008007809140b2a3a08020000010000010546494c4530", 0x1a0, 0xe000}], 0x0, &(0x7f00000000c0)=ANY=[]) r1 = openat(r0, &(0x7f0000000040)='./file0\x00', 0x0, 0x0) ioctl$SCSI_IOCTL_SEND_COMMAND(r1, 0x1, &(0x7f0000000300)=ANY=[@ANYBLOB='O']) 20:15:24 executing program 5: r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x11, 0x6, &(0x7f0000000100)=ANY=[@ANYBLOB="050000000000000061110c00000000008510000002000000850000000500000095000000000000009500a505000000007751e8ba63b66788a341cca555fedbe9d8f3b423cdacfa7e32fe0231368b2264f9c504c9f1f65515b0e1a38d8665522be18bd10a48b043d2c42646d25dfd73d06d7535f7866970e9f03d124cd0293bfae5ca5c9f07dc6751df1394e757fa1bd904006271d065a0e3ccae6603173a649c1a1a4d3975b98848bf0f8b6587d452d64e7cc957d77578f4c35235138d5521f9653559bea8a860e8efbc6f2b2a3e3173d5de1b5e64a6ec7ae0dab5d91cec3da386621441ecda46c4b8ac49a510ce03cf02a76d33ad825bc8f83ab94442038bb385ab3a20b71a81c662904f7fd84a468290bb122fcccc82a6c97c99dbe195038d6248aef9e6fcbba90289e6dd466adf83f94c854476f8cdfcdb4f3c7b94b89f26c972058761c819054c90cc8a09063fef84ce"], &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) r1 = bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000000)='sys_exit\x00', r0}, 0x10) dup2(0xffffffffffffffff, r1) 20:15:24 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000000)=ANY=[@ANYBLOB="5000000031003deb8000000081d68700000000083c0001"], 0x50}}, 0x0) sendmmsg(r2, &(0x7f00000002c0), 0x4000000000003a0, 0x0) 20:15:24 executing program 1: socket$inet_icmp_raw(0x2, 0x3, 0x1) socket$inet6_sctp(0xa, 0x801, 0x84) socket$inet(0x2, 0x80001, 0x0) socket$inet_sctp(0x2, 0x5, 0x84) socket$can_j1939(0x1d, 0x2, 0x7) socket$packet(0x11, 0x3, 0x300) openat$vcs(0xffffffffffffff9c, &(0x7f0000000040)='/dev/vcs\x00', 0x0, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}) creat(&(0x7f0000000300)='./bus\x00', 0x0) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) pipe(&(0x7f0000000100)) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x1, 0x803, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000080)=ANY=[@ANYBLOB="5c0000001000010400"/20, @ANYRES32=0x0, @ANYBLOB="00000000000000002c00128009000100766c616e000000001c00028006000100010000000c0002001c0000001b0000000400038008000500", @ANYRES32=r4, @ANYBLOB='\b\x00\n\x00', @ANYRES32=r4], 0x5c}}, 0x0) 20:15:24 executing program 4: unshare(0x40000000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) socketpair(0x0, 0x0, 0x0, 0x0) r0 = socket(0xa, 0x2, 0x0) setsockopt$EBT_SO_SET_ENTRIES(r0, 0x0, 0x80, &(0x7f0000000300)=@broute={'broute\x00', 0x20, 0x2, 0x230, [0x0, 0x0, 0x0, 0x0, 0x0, 0x200004c0], 0x0, 0x0, &(0x7f00000004c0)=ANY=[@ANYBLOB="00000000000000000000000000000000000000000000000000000000000000000000000000000000feffffff01000000030000000000000081006e7230000000000000002000000000007465616d300000000000000000000000766c616e30000000000000004000000076657468305f746f5f7465616d000000aaaaaaaaaabb000000000000aaaaaaaaaabb0000000000000000d0000000d000000000010000766c616e0069df4e5100000000000000000000079ba316000000000000000000080000000000000200000000892f0700636f6e6e6c6162656c000000000000000000e5ffffff00000000000020000000080000000000000000000000000000004e465154455545000000000000000000000000000000000000000000000000000800000000000000000000000000000400000000000000000000000000000000000000000000000000000008000000000000000001000000ffffffff0000000000000000000000000004000000000000000000000000000000000000000000000000000001000000feffffff010000000b000000000000000000626f6e643000000000000000000000007465616d300000000000000000000000626f6e6430000000000000000000000076657468315f746f5f62726964676500aaaaaaaaaabb000000000000ffffffffffff00000008000000007000000070000000a0000000434f4e4e5345434d41524b000000000082790000000000000000000000000000080400"/560]}, 0x2a8) [ 535.389583][T31836] IPVS: ftp: loaded support on port[0] = 21 20:15:24 executing program 2: r0 = syz_mount_image$iso9660(&(0x7f0000000000)='iso9660\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000001500)=[{&(0x7f0000010000)="01434430303101004c494e55582020202020202020202020202020202020202020202020202020204344524f4d2020202020202020202020202020002020202020202020202020200000000000000000bf000000000000bf000000000000000000000000000000000000000000000000000000000000000001000001010000010008080018000000000000181400000000000000000000160000000022001c", 0x9f, 0x8000}, {&(0x7f0000010600)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020002000200020002000200020002000200000000000000000bf000000000000bf252f", 0x5a, 0x8800}, {&(0x7f0000000440)="88001c0000000000001c00080000000008007809140b2a3a0802000001000001010053500701beef004552050181505824016d4100000000416d03000000000000030000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a0843451c0120000000000000200000000000000000ed000000000000ed66001c0000000000001c00080000000008007809140b2a3a080200000100000101015252050181505824016d4100000000416d02000000000000020000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a08008c00210000000000002164000000000000647809140b2a3a08000000010000010a46494c452e434f4c3b310041410e0254455854756e6978000052520501894e4d0e010066696c652e636f6c64505824016d8100000000816d01000000000000010000000000000000000000000000000054461a010e7809140b2a3a107809140b2a3a087809140b2a3a080074001d0000000000001d00080000000008007809140b2a3a08020000010000010546494c4530", 0x1a0, 0xe000}], 0x0, &(0x7f00000000c0)=ANY=[]) r1 = openat(r0, &(0x7f0000000040)='./file0\x00', 0x0, 0x0) ioctl$SCSI_IOCTL_SEND_COMMAND(r1, 0x1, &(0x7f0000000300)=ANY=[@ANYBLOB='O']) [ 535.430132][T31839] netlink: 56 bytes leftover after parsing attributes in process `syz-executor.0'. 20:15:25 executing program 5: r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x11, 0x6, &(0x7f0000000100)=ANY=[@ANYBLOB="050000000000000061110c00000000008510000002000000850000000500000095000000000000009500a505000000007751e8ba63b66788a341cca555fedbe9d8f3b423cdacfa7e32fe0231368b2264f9c504c9f1f65515b0e1a38d8665522be18bd10a48b043d2c42646d25dfd73d06d7535f7866970e9f03d124cd0293bfae5ca5c9f07dc6751df1394e757fa1bd904006271d065a0e3ccae6603173a649c1a1a4d3975b98848bf0f8b6587d452d64e7cc957d77578f4c35235138d5521f9653559bea8a860e8efbc6f2b2a3e3173d5de1b5e64a6ec7ae0dab5d91cec3da386621441ecda46c4b8ac49a510ce03cf02a76d33ad825bc8f83ab94442038bb385ab3a20b71a81c662904f7fd84a468290bb122fcccc82a6c97c99dbe195038d6248aef9e6fcbba90289e6dd466adf83f94c854476f8cdfcdb4f3c7b94b89f26c972058761c819054c90cc8a09063fef84ce"], &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) r1 = bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000000)='sys_exit\x00', r0}, 0x10) dup2(0xffffffffffffffff, r1) 20:15:25 executing program 1: socket$inet_icmp_raw(0x2, 0x3, 0x1) socket$inet6_sctp(0xa, 0x801, 0x84) socket$inet(0x2, 0x80001, 0x0) socket$inet_sctp(0x2, 0x5, 0x84) socket$can_j1939(0x1d, 0x2, 0x7) socket$packet(0x11, 0x3, 0x300) openat$vcs(0xffffffffffffff9c, &(0x7f0000000040)='/dev/vcs\x00', 0x0, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}) creat(&(0x7f0000000300)='./bus\x00', 0x0) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) pipe(&(0x7f0000000100)) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x1, 0x803, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000080)=ANY=[@ANYBLOB="5c0000001000010400"/20, @ANYRES32=0x0, @ANYBLOB="00000000000000002c00128009000100766c616e000000001c00028006000100010000000c0002001c0000001b0000000400038008000500", @ANYRES32=r4, @ANYBLOB='\b\x00\n\x00', @ANYRES32=r4], 0x5c}}, 0x0) 20:15:25 executing program 2: r0 = syz_mount_image$iso9660(&(0x7f0000000000)='iso9660\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000001500)=[{&(0x7f0000010000)="01434430303101004c494e55582020202020202020202020202020202020202020202020202020204344524f4d2020202020202020202020202020002020202020202020202020200000000000000000bf000000000000bf000000000000000000000000000000000000000000000000000000000000000001000001010000010008080018000000000000181400000000000000000000160000000022001c", 0x9f, 0x8000}, {&(0x7f0000010600)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020002000200020002000200020002000200000000000000000bf000000000000bf252f", 0x5a, 0x8800}, {&(0x7f0000000440)="88001c0000000000001c00080000000008007809140b2a3a0802000001000001010053500701beef004552050181505824016d4100000000416d03000000000000030000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a0843451c0120000000000000200000000000000000ed000000000000ed66001c0000000000001c00080000000008007809140b2a3a080200000100000101015252050181505824016d4100000000416d02000000000000020000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a08008c00210000000000002164000000000000647809140b2a3a08000000010000010a46494c452e434f4c3b310041410e0254455854756e6978000052520501894e4d0e010066696c652e636f6c64505824016d8100000000816d01000000000000010000000000000000000000000000000054461a010e7809140b2a3a107809140b2a3a087809140b2a3a080074001d0000000000001d00080000000008007809140b2a3a08020000010000010546494c4530", 0x1a0, 0xe000}], 0x0, &(0x7f00000000c0)=ANY=[]) r1 = openat(r0, &(0x7f0000000040)='./file0\x00', 0x0, 0x0) ioctl$SCSI_IOCTL_SEND_COMMAND(r1, 0x1, &(0x7f0000000300)=ANY=[@ANYBLOB='O']) 20:15:25 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000000)=ANY=[@ANYBLOB="5000000031003deb8000000081d68700000000083c0001"], 0x50}}, 0x0) sendmmsg(r2, &(0x7f00000002c0), 0x4000000000003a0, 0x0) 20:15:25 executing program 5: r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x11, 0x6, &(0x7f0000000100)=ANY=[@ANYBLOB="050000000000000061110c00000000008510000002000000850000000500000095000000000000009500a505000000007751e8ba63b66788a341cca555fedbe9d8f3b423cdacfa7e32fe0231368b2264f9c504c9f1f65515b0e1a38d8665522be18bd10a48b043d2c42646d25dfd73d06d7535f7866970e9f03d124cd0293bfae5ca5c9f07dc6751df1394e757fa1bd904006271d065a0e3ccae6603173a649c1a1a4d3975b98848bf0f8b6587d452d64e7cc957d77578f4c35235138d5521f9653559bea8a860e8efbc6f2b2a3e3173d5de1b5e64a6ec7ae0dab5d91cec3da386621441ecda46c4b8ac49a510ce03cf02a76d33ad825bc8f83ab94442038bb385ab3a20b71a81c662904f7fd84a468290bb122fcccc82a6c97c99dbe195038d6248aef9e6fcbba90289e6dd466adf83f94c854476f8cdfcdb4f3c7b94b89f26c972058761c819054c90cc8a09063fef84ce"], &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) r1 = bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000000)='sys_exit\x00', r0}, 0x10) dup2(0xffffffffffffffff, r1) [ 535.718065][T31891] netlink: 56 bytes leftover after parsing attributes in process `syz-executor.0'. 20:15:25 executing program 3: 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, 0x91, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:15:25 executing program 2: r0 = syz_mount_image$iso9660(&(0x7f0000000000)='iso9660\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000001500)=[{&(0x7f0000010000)="01434430303101004c494e55582020202020202020202020202020202020202020202020202020204344524f4d2020202020202020202020202020002020202020202020202020200000000000000000bf000000000000bf000000000000000000000000000000000000000000000000000000000000000001000001010000010008080018000000000000181400000000000000000000160000000022001c", 0x9f, 0x8000}, {&(0x7f0000010600)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020002000200020002000200020002000200000000000000000bf000000000000bf252f", 0x5a, 0x8800}, {&(0x7f0000000440)="88001c0000000000001c00080000000008007809140b2a3a0802000001000001010053500701beef004552050181505824016d4100000000416d03000000000000030000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a0843451c0120000000000000200000000000000000ed000000000000ed66001c0000000000001c00080000000008007809140b2a3a080200000100000101015252050181505824016d4100000000416d02000000000000020000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a08008c00210000000000002164000000000000647809140b2a3a08000000010000010a46494c452e434f4c3b310041410e0254455854756e6978000052520501894e4d0e010066696c652e636f6c64505824016d8100000000816d01000000000000010000000000000000000000000000000054461a010e7809140b2a3a107809140b2a3a087809140b2a3a080074001d0000000000001d00080000000008007809140b2a3a08020000010000010546494c4530", 0x1a0, 0xe000}], 0x0, &(0x7f00000000c0)=ANY=[]) r1 = openat(r0, &(0x7f0000000040)='./file0\x00', 0x0, 0x0) ioctl$SCSI_IOCTL_SEND_COMMAND(r1, 0x1, &(0x7f0000000300)=ANY=[@ANYBLOB='O']) 20:15:25 executing program 5: r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x11, 0x6, &(0x7f0000000100)=ANY=[@ANYBLOB="050000000000000061110c00000000008510000002000000850000000500000095000000000000009500a505000000007751e8ba63b66788a341cca555fedbe9d8f3b423cdacfa7e32fe0231368b2264f9c504c9f1f65515b0e1a38d8665522be18bd10a48b043d2c42646d25dfd73d06d7535f7866970e9f03d124cd0293bfae5ca5c9f07dc6751df1394e757fa1bd904006271d065a0e3ccae6603173a649c1a1a4d3975b98848bf0f8b6587d452d64e7cc957d77578f4c35235138d5521f9653559bea8a860e8efbc6f2b2a3e3173d5de1b5e64a6ec7ae0dab5d91cec3da386621441ecda46c4b8ac49a510ce03cf02a76d33ad825bc8f83ab94442038bb385ab3a20b71a81c662904f7fd84a468290bb122fcccc82a6c97c99dbe195038d6248aef9e6fcbba90289e6dd466adf83f94c854476f8cdfcdb4f3c7b94b89f26c972058761c819054c90cc8a09063fef84ce"], &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) r1 = bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000000)='sys_exit\x00', r0}, 0x10) dup2(0xffffffffffffffff, r1) 20:15:25 executing program 0: r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x11, 0x6, &(0x7f0000000100)=ANY=[@ANYBLOB="050000000000000061110c00000000008510000002000000850000000500000095000000000000009500a505000000007751e8ba63b66788a341cca555fedbe9d8f3b423cdacfa7e32fe0231368b2264f9c504c9f1f65515b0e1a38d8665522be18bd10a48b043d2c42646d25dfd73d06d7535f7866970e9f03d124cd0293bfae5ca5c9f07dc6751df1394e757fa1bd904006271d065a0e3ccae6603173a649c1a1a4d3975b98848bf0f8b6587d452d64e7cc957d77578f4c35235138d5521f9653559bea8a860e8efbc6f2b2a3e3173d5de1b5e64a6ec7ae0dab5d91cec3da386621441ecda46c4b8ac49a510ce03cf02a76d33ad825bc8f83ab94442038bb385ab3a20b71a81c662904f7fd84a468290bb122fcccc82a6c97c99dbe195038d6248aef9e6fcbba90289e6dd466adf83f94c854476f8cdfcdb4f3c7b94b89f26c972058761c819054c90cc8a09063fef84ce"], &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) r1 = bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000000)='sys_exit\x00', r0}, 0x10) dup2(0xffffffffffffffff, r1) 20:15:25 executing program 1: socket$inet_icmp_raw(0x2, 0x3, 0x1) socket$inet6_sctp(0xa, 0x801, 0x84) socket$inet(0x2, 0x80001, 0x0) socket$inet_sctp(0x2, 0x5, 0x84) socket$can_j1939(0x1d, 0x2, 0x7) socket$packet(0x11, 0x3, 0x300) openat$vcs(0xffffffffffffff9c, &(0x7f0000000040)='/dev/vcs\x00', 0x0, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}) creat(&(0x7f0000000300)='./bus\x00', 0x0) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) pipe(&(0x7f0000000100)) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x1, 0x803, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000080)=ANY=[@ANYBLOB="5c0000001000010400"/20, @ANYRES32=0x0, @ANYBLOB="00000000000000002c00128009000100766c616e000000001c00028006000100010000000c0002001c0000001b0000000400038008000500", @ANYRES32=r4, @ANYBLOB='\b\x00\n\x00', @ANYRES32=r4], 0x5c}}, 0x0) 20:15:25 executing program 4: unshare(0x40000000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) socketpair(0x0, 0x0, 0x0, 0x0) r0 = socket(0xa, 0x2, 0x0) setsockopt$EBT_SO_SET_ENTRIES(r0, 0x0, 0x80, &(0x7f0000000300)=@broute={'broute\x00', 0x20, 0x2, 0x230, [0x0, 0x0, 0x0, 0x0, 0x0, 0x200004c0], 0x0, 0x0, &(0x7f00000004c0)=ANY=[@ANYBLOB="00000000000000000000000000000000000000000000000000000000000000000000000000000000feffffff01000000030000000000000081006e7230000000000000002000000000007465616d300000000000000000000000766c616e30000000000000004000000076657468305f746f5f7465616d000000aaaaaaaaaabb000000000000aaaaaaaaaabb0000000000000000d0000000d000000000010000766c616e0069df4e5100000000000000000000079ba316000000000000000000080000000000000200000000892f0700636f6e6e6c6162656c000000000000000000e5ffffff00000000000020000000080000000000000000000000000000004e465154455545000000000000000000000000000000000000000000000000000800000000000000000000000000000400000000000000000000000000000000000000000000000000000008000000000000000001000000ffffffff0000000000000000000000000004000000000000000000000000000000000000000000000000000001000000feffffff010000000b000000000000000000626f6e643000000000000000000000007465616d300000000000000000000000626f6e6430000000000000000000000076657468315f746f5f62726964676500aaaaaaaaaabb000000000000ffffffffffff00000008000000007000000070000000a0000000434f4e4e5345434d41524b000000000082790000000000000000000000000000080400"/560]}, 0x2a8) 20:15:25 executing program 0: r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x11, 0x6, &(0x7f0000000100)=ANY=[@ANYBLOB="050000000000000061110c00000000008510000002000000850000000500000095000000000000009500a505000000007751e8ba63b66788a341cca555fedbe9d8f3b423cdacfa7e32fe0231368b2264f9c504c9f1f65515b0e1a38d8665522be18bd10a48b043d2c42646d25dfd73d06d7535f7866970e9f03d124cd0293bfae5ca5c9f07dc6751df1394e757fa1bd904006271d065a0e3ccae6603173a649c1a1a4d3975b98848bf0f8b6587d452d64e7cc957d77578f4c35235138d5521f9653559bea8a860e8efbc6f2b2a3e3173d5de1b5e64a6ec7ae0dab5d91cec3da386621441ecda46c4b8ac49a510ce03cf02a76d33ad825bc8f83ab94442038bb385ab3a20b71a81c662904f7fd84a468290bb122fcccc82a6c97c99dbe195038d6248aef9e6fcbba90289e6dd466adf83f94c854476f8cdfcdb4f3c7b94b89f26c972058761c819054c90cc8a09063fef84ce"], &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) r1 = bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000000)='sys_exit\x00', r0}, 0x10) dup2(0xffffffffffffffff, r1) 20:15:25 executing program 5: r0 = syz_mount_image$iso9660(&(0x7f0000000000)='iso9660\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000001500)=[{&(0x7f0000010000)="01434430303101004c494e55582020202020202020202020202020202020202020202020202020204344524f4d2020202020202020202020202020002020202020202020202020200000000000000000bf000000000000bf000000000000000000000000000000000000000000000000000000000000000001000001010000010008080018000000000000181400000000000000000000160000000022001c", 0x9f, 0x8000}, {&(0x7f0000010600)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020002000200020002000200020002000200000000000000000bf000000000000bf252f", 0x5a, 0x8800}, {&(0x7f0000000440)="88001c0000000000001c00080000000008007809140b2a3a0802000001000001010053500701beef004552050181505824016d4100000000416d03000000000000030000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a0843451c0120000000000000200000000000000000ed000000000000ed66001c0000000000001c00080000000008007809140b2a3a080200000100000101015252050181505824016d4100000000416d02000000000000020000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a08008c00210000000000002164000000000000647809140b2a3a08000000010000010a46494c452e434f4c3b310041410e0254455854756e6978000052520501894e4d0e010066696c652e636f6c64505824016d8100000000816d01000000000000010000000000000000000000000000000054461a010e7809140b2a3a107809140b2a3a087809140b2a3a080074001d0000000000001d00080000000008007809140b2a3a08020000010000010546494c4530", 0x1a0, 0xe000}], 0x0, &(0x7f00000000c0)=ANY=[]) r1 = openat(r0, &(0x7f0000000040)='./file0\x00', 0x0, 0x0) ioctl$SCSI_IOCTL_SEND_COMMAND(r1, 0x1, &(0x7f0000000300)=ANY=[@ANYBLOB='O']) [ 536.250070][T31915] IPVS: ftp: loaded support on port[0] = 21 20:15:25 executing program 2: unshare(0x40000000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) socketpair(0x0, 0x0, 0x0, 0x0) r0 = socket(0xa, 0x2, 0x0) setsockopt$EBT_SO_SET_ENTRIES(r0, 0x0, 0x80, &(0x7f0000000300)=@broute={'broute\x00', 0x20, 0x2, 0x230, [0x0, 0x0, 0x0, 0x0, 0x0, 0x200004c0], 0x0, 0x0, &(0x7f00000004c0)=ANY=[@ANYBLOB="00000000000000000000000000000000000000000000000000000000000000000000000000000000feffffff01000000030000000000000081006e7230000000000000002000000000007465616d300000000000000000000000766c616e30000000000000004000000076657468305f746f5f7465616d000000aaaaaaaaaabb000000000000aaaaaaaaaabb0000000000000000d0000000d000000000010000766c616e0069df4e5100000000000000000000079ba316000000000000000000080000000000000200000000892f0700636f6e6e6c6162656c000000000000000000e5ffffff00000000000020000000080000000000000000000000000000004e465154455545000000000000000000000000000000000000000000000000000800000000000000000000000000000400000000000000000000000000000000000000000000000000000008000000000000000001000000ffffffff0000000000000000000000000004000000000000000000000000000000000000000000000000000001000000feffffff010000000b000000000000000000626f6e643000000000000000000000007465616d300000000000000000000000626f6e6430000000000000000000000076657468315f746f5f62726964676500aaaaaaaaaabb000000000000ffffffffffff00000008000000007000000070000000a0000000434f4e4e5345434d41524b000000000082790000000000000000000000000000080400"/560]}, 0x2a8) 20:15:25 executing program 0: r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x11, 0x6, &(0x7f0000000100)=ANY=[@ANYBLOB="050000000000000061110c00000000008510000002000000850000000500000095000000000000009500a505000000007751e8ba63b66788a341cca555fedbe9d8f3b423cdacfa7e32fe0231368b2264f9c504c9f1f65515b0e1a38d8665522be18bd10a48b043d2c42646d25dfd73d06d7535f7866970e9f03d124cd0293bfae5ca5c9f07dc6751df1394e757fa1bd904006271d065a0e3ccae6603173a649c1a1a4d3975b98848bf0f8b6587d452d64e7cc957d77578f4c35235138d5521f9653559bea8a860e8efbc6f2b2a3e3173d5de1b5e64a6ec7ae0dab5d91cec3da386621441ecda46c4b8ac49a510ce03cf02a76d33ad825bc8f83ab94442038bb385ab3a20b71a81c662904f7fd84a468290bb122fcccc82a6c97c99dbe195038d6248aef9e6fcbba90289e6dd466adf83f94c854476f8cdfcdb4f3c7b94b89f26c972058761c819054c90cc8a09063fef84ce"], &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) r1 = bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000000)='sys_exit\x00', r0}, 0x10) dup2(0xffffffffffffffff, r1) 20:15:25 executing program 5: r0 = syz_mount_image$iso9660(&(0x7f0000000000)='iso9660\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000001500)=[{&(0x7f0000010000)="01434430303101004c494e55582020202020202020202020202020202020202020202020202020204344524f4d2020202020202020202020202020002020202020202020202020200000000000000000bf000000000000bf000000000000000000000000000000000000000000000000000000000000000001000001010000010008080018000000000000181400000000000000000000160000000022001c", 0x9f, 0x8000}, {&(0x7f0000010600)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020002000200020002000200020002000200000000000000000bf000000000000bf252f", 0x5a, 0x8800}, {&(0x7f0000000440)="88001c0000000000001c00080000000008007809140b2a3a0802000001000001010053500701beef004552050181505824016d4100000000416d03000000000000030000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a0843451c0120000000000000200000000000000000ed000000000000ed66001c0000000000001c00080000000008007809140b2a3a080200000100000101015252050181505824016d4100000000416d02000000000000020000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a08008c00210000000000002164000000000000647809140b2a3a08000000010000010a46494c452e434f4c3b310041410e0254455854756e6978000052520501894e4d0e010066696c652e636f6c64505824016d8100000000816d01000000000000010000000000000000000000000000000054461a010e7809140b2a3a107809140b2a3a087809140b2a3a080074001d0000000000001d00080000000008007809140b2a3a08020000010000010546494c4530", 0x1a0, 0xe000}], 0x0, &(0x7f00000000c0)=ANY=[]) r1 = openat(r0, &(0x7f0000000040)='./file0\x00', 0x0, 0x0) ioctl$SCSI_IOCTL_SEND_COMMAND(r1, 0x1, &(0x7f0000000300)=ANY=[@ANYBLOB='O']) [ 536.402607][T31948] IPVS: ftp: loaded support on port[0] = 21 20:15:26 executing program 0: r0 = syz_open_procfs(0x0, &(0x7f0000000080)='net/dev_snmp6\x00') r1 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000040)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TCSETS(r1, 0x40045431, &(0x7f0000000240)) r2 = syz_open_pts(r1, 0x4000000000000002) dup3(r2, r0, 0x0) write$P9_RATTACH(r0, &(0x7f00000001c0)={0x14}, 0xffffffde) ioctl$TCSETAF(r2, 0x5408, &(0x7f00000002c0)={0x1e00}) 20:15:26 executing program 3: 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, 0x91, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:15:26 executing program 5: r0 = syz_mount_image$iso9660(&(0x7f0000000000)='iso9660\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000001500)=[{&(0x7f0000010000)="01434430303101004c494e55582020202020202020202020202020202020202020202020202020204344524f4d2020202020202020202020202020002020202020202020202020200000000000000000bf000000000000bf000000000000000000000000000000000000000000000000000000000000000001000001010000010008080018000000000000181400000000000000000000160000000022001c", 0x9f, 0x8000}, {&(0x7f0000010600)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020002000200020002000200020002000200000000000000000bf000000000000bf252f", 0x5a, 0x8800}, {&(0x7f0000000440)="88001c0000000000001c00080000000008007809140b2a3a0802000001000001010053500701beef004552050181505824016d4100000000416d03000000000000030000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a0843451c0120000000000000200000000000000000ed000000000000ed66001c0000000000001c00080000000008007809140b2a3a080200000100000101015252050181505824016d4100000000416d02000000000000020000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a08008c00210000000000002164000000000000647809140b2a3a08000000010000010a46494c452e434f4c3b310041410e0254455854756e6978000052520501894e4d0e010066696c652e636f6c64505824016d8100000000816d01000000000000010000000000000000000000000000000054461a010e7809140b2a3a107809140b2a3a087809140b2a3a080074001d0000000000001d00080000000008007809140b2a3a08020000010000010546494c4530", 0x1a0, 0xe000}], 0x0, &(0x7f00000000c0)=ANY=[]) r1 = openat(r0, &(0x7f0000000040)='./file0\x00', 0x0, 0x0) ioctl$SCSI_IOCTL_SEND_COMMAND(r1, 0x1, &(0x7f0000000300)=ANY=[@ANYBLOB='O']) 20:15:26 executing program 1: r0 = syz_open_procfs(0x0, &(0x7f0000000080)='pagemap\x00') syz_io_uring_setup(0x76d1, &(0x7f0000000140), &(0x7f0000ffd000/0x1000)=nil, &(0x7f0000fff000/0x1000)=nil, &(0x7f0000000000), 0x0) pread64(r0, &(0x7f0000e3e000)=""/8, 0x20e4dfd8, 0x0) 20:15:26 executing program 4: unshare(0x40000000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) socketpair(0x0, 0x0, 0x0, 0x0) r0 = socket(0xa, 0x2, 0x0) setsockopt$EBT_SO_SET_ENTRIES(r0, 0x0, 0x80, &(0x7f0000000300)=@broute={'broute\x00', 0x20, 0x2, 0x230, [0x0, 0x0, 0x0, 0x0, 0x0, 0x200004c0], 0x0, 0x0, &(0x7f00000004c0)=ANY=[@ANYBLOB="00000000000000000000000000000000000000000000000000000000000000000000000000000000feffffff01000000030000000000000081006e7230000000000000002000000000007465616d300000000000000000000000766c616e30000000000000004000000076657468305f746f5f7465616d000000aaaaaaaaaabb000000000000aaaaaaaaaabb0000000000000000d0000000d000000000010000766c616e0069df4e5100000000000000000000079ba316000000000000000000080000000000000200000000892f0700636f6e6e6c6162656c000000000000000000e5ffffff00000000000020000000080000000000000000000000000000004e465154455545000000000000000000000000000000000000000000000000000800000000000000000000000000000400000000000000000000000000000000000000000000000000000008000000000000000001000000ffffffff0000000000000000000000000004000000000000000000000000000000000000000000000000000001000000feffffff010000000b000000000000000000626f6e643000000000000000000000007465616d300000000000000000000000626f6e6430000000000000000000000076657468315f746f5f62726964676500aaaaaaaaaabb000000000000ffffffffffff00000008000000007000000070000000a0000000434f4e4e5345434d41524b000000000082790000000000000000000000000000080400"/560]}, 0x2a8) 20:15:26 executing program 2: unshare(0x40000000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) socketpair(0x0, 0x0, 0x0, 0x0) r0 = socket(0xa, 0x2, 0x0) setsockopt$EBT_SO_SET_ENTRIES(r0, 0x0, 0x80, &(0x7f0000000300)=@broute={'broute\x00', 0x20, 0x2, 0x230, [0x0, 0x0, 0x0, 0x0, 0x0, 0x200004c0], 0x0, 0x0, &(0x7f00000004c0)=ANY=[@ANYBLOB="00000000000000000000000000000000000000000000000000000000000000000000000000000000feffffff01000000030000000000000081006e7230000000000000002000000000007465616d300000000000000000000000766c616e30000000000000004000000076657468305f746f5f7465616d000000aaaaaaaaaabb000000000000aaaaaaaaaabb0000000000000000d0000000d000000000010000766c616e0069df4e5100000000000000000000079ba316000000000000000000080000000000000200000000892f0700636f6e6e6c6162656c000000000000000000e5ffffff00000000000020000000080000000000000000000000000000004e465154455545000000000000000000000000000000000000000000000000000800000000000000000000000000000400000000000000000000000000000000000000000000000000000008000000000000000001000000ffffffff0000000000000000000000000004000000000000000000000000000000000000000000000000000001000000feffffff010000000b000000000000000000626f6e643000000000000000000000007465616d300000000000000000000000626f6e6430000000000000000000000076657468315f746f5f62726964676500aaaaaaaaaabb000000000000ffffffffffff00000008000000007000000070000000a0000000434f4e4e5345434d41524b000000000082790000000000000000000000000000080400"/560]}, 0x2a8) [ 537.110429][T32003] IPVS: ftp: loaded support on port[0] = 21 [ 537.117224][T32004] IPVS: ftp: loaded support on port[0] = 21 20:15:26 executing program 5: r0 = socket(0x10, 0x3, 0x0) write(r0, &(0x7f0000000080)="240000001a005f0014f9f4070009040002002000000000000000000008001b0006000000", 0x24) [ 537.250620][T32049] netlink: 'syz-executor.5': attribute type 27 has an invalid length. 20:15:26 executing program 5: r0 = socket(0x10, 0x3, 0x0) write(r0, &(0x7f0000000080)="240000001a005f0014f9f4070009040002002000000000000000000008001b0006000000", 0x24) 20:15:26 executing program 0: r0 = syz_open_procfs(0x0, &(0x7f0000000080)='net/dev_snmp6\x00') r1 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000040)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TCSETS(r1, 0x40045431, &(0x7f0000000240)) r2 = syz_open_pts(r1, 0x4000000000000002) dup3(r2, r0, 0x0) write$P9_RATTACH(r0, &(0x7f00000001c0)={0x14}, 0xffffffde) ioctl$TCSETAF(r2, 0x5408, &(0x7f00000002c0)={0x1e00}) [ 537.375423][T32061] netlink: 'syz-executor.5': attribute type 27 has an invalid length. 20:15:27 executing program 5: r0 = socket(0x10, 0x3, 0x0) write(r0, &(0x7f0000000080)="240000001a005f0014f9f4070009040002002000000000000000000008001b0006000000", 0x24) [ 537.505380][T32068] netlink: 'syz-executor.5': attribute type 27 has an invalid length. 20:15:27 executing program 5: r0 = socket(0x10, 0x3, 0x0) write(r0, &(0x7f0000000080)="240000001a005f0014f9f4070009040002002000000000000000000008001b0006000000", 0x24) 20:15:27 executing program 5: r0 = openat$audio1(0xffffffffffffff9c, &(0x7f0000000000)='/dev/audio1\x00', 0x0, 0x0) ioctl$SNDCTL_DSP_SETFRAGMENT(r0, 0xc004500a, 0x0) [ 537.618903][T32077] netlink: 'syz-executor.5': attribute type 27 has an invalid length. 20:15:27 executing program 5: r0 = openat$audio1(0xffffffffffffff9c, &(0x7f0000000000)='/dev/audio1\x00', 0x0, 0x0) ioctl$SNDCTL_DSP_SETFRAGMENT(r0, 0xc004500a, 0x0) 20:15:27 executing program 1: r0 = syz_open_procfs(0x0, &(0x7f0000000080)='pagemap\x00') syz_io_uring_setup(0x76d1, &(0x7f0000000140), &(0x7f0000ffd000/0x1000)=nil, &(0x7f0000fff000/0x1000)=nil, &(0x7f0000000000), 0x0) pread64(r0, &(0x7f0000e3e000)=""/8, 0x20e4dfd8, 0x0) 20:15:27 executing program 2: unshare(0x40000000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) socketpair(0x0, 0x0, 0x0, 0x0) r0 = socket(0xa, 0x2, 0x0) setsockopt$EBT_SO_SET_ENTRIES(r0, 0x0, 0x80, &(0x7f0000000300)=@broute={'broute\x00', 0x20, 0x2, 0x230, [0x0, 0x0, 0x0, 0x0, 0x0, 0x200004c0], 0x0, 0x0, &(0x7f00000004c0)=ANY=[@ANYBLOB="00000000000000000000000000000000000000000000000000000000000000000000000000000000feffffff01000000030000000000000081006e7230000000000000002000000000007465616d300000000000000000000000766c616e30000000000000004000000076657468305f746f5f7465616d000000aaaaaaaaaabb000000000000aaaaaaaaaabb0000000000000000d0000000d000000000010000766c616e0069df4e5100000000000000000000079ba316000000000000000000080000000000000200000000892f0700636f6e6e6c6162656c000000000000000000e5ffffff00000000000020000000080000000000000000000000000000004e465154455545000000000000000000000000000000000000000000000000000800000000000000000000000000000400000000000000000000000000000000000000000000000000000008000000000000000001000000ffffffff0000000000000000000000000004000000000000000000000000000000000000000000000000000001000000feffffff010000000b000000000000000000626f6e643000000000000000000000007465616d300000000000000000000000626f6e6430000000000000000000000076657468315f746f5f62726964676500aaaaaaaaaabb000000000000ffffffffffff00000008000000007000000070000000a0000000434f4e4e5345434d41524b000000000082790000000000000000000000000000080400"/560]}, 0x2a8) 20:15:27 executing program 5: r0 = openat$audio1(0xffffffffffffff9c, &(0x7f0000000000)='/dev/audio1\x00', 0x0, 0x0) ioctl$SNDCTL_DSP_SETFRAGMENT(r0, 0xc004500a, 0x0) 20:15:27 executing program 4: clone(0x65024180, 0x0, 0x0, 0x0, 0x0) 20:15:27 executing program 3: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000040)={0xffffffffffffffff}) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x15, 0xe, &(0x7f0000000140)=ANY=[@ANYBLOB="b702000000000000bfa30000000000000703000000feffff7a0af0fff8ffffff79a4f0ff00000000b7060000000000012d6405000000000025040400010000000704000001000000b7050000000000006a0a00fe00000000850000001a000000b7000000000000009500000000000000"], &(0x7f0000000100)='GPL\x00'}, 0x48) 20:15:27 executing program 5: r0 = openat$audio1(0xffffffffffffff9c, &(0x7f0000000000)='/dev/audio1\x00', 0x0, 0x0) ioctl$SNDCTL_DSP_SETFRAGMENT(r0, 0xc004500a, 0x0) [ 537.954417][T32092] IPVS: ftp: loaded support on port[0] = 21 [ 537.975289][T32093] IPVS: ftp: loaded support on port[0] = 21 20:15:27 executing program 3: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000040)={0xffffffffffffffff}) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x15, 0xe, &(0x7f0000000140)=ANY=[@ANYBLOB="b702000000000000bfa30000000000000703000000feffff7a0af0fff8ffffff79a4f0ff00000000b7060000000000012d6405000000000025040400010000000704000001000000b7050000000000006a0a00fe00000000850000001a000000b7000000000000009500000000000000"], &(0x7f0000000100)='GPL\x00'}, 0x48) [ 538.106254][T32148] IPVS: ftp: loaded support on port[0] = 21 20:15:27 executing program 5: r0 = openat$random(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/urandom\x00', 0x0, 0x0) close(r0) readahead(r0, 0x0, 0x0) 20:15:27 executing program 0: r0 = syz_open_procfs(0x0, &(0x7f0000000080)='net/dev_snmp6\x00') r1 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000040)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TCSETS(r1, 0x40045431, &(0x7f0000000240)) r2 = syz_open_pts(r1, 0x4000000000000002) dup3(r2, r0, 0x0) write$P9_RATTACH(r0, &(0x7f00000001c0)={0x14}, 0xffffffde) ioctl$TCSETAF(r2, 0x5408, &(0x7f00000002c0)={0x1e00}) 20:15:27 executing program 4: clone(0x65024180, 0x0, 0x0, 0x0, 0x0) 20:15:27 executing program 3: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000040)={0xffffffffffffffff}) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x15, 0xe, &(0x7f0000000140)=ANY=[@ANYBLOB="b702000000000000bfa30000000000000703000000feffff7a0af0fff8ffffff79a4f0ff00000000b7060000000000012d6405000000000025040400010000000704000001000000b7050000000000006a0a00fe00000000850000001a000000b7000000000000009500000000000000"], &(0x7f0000000100)='GPL\x00'}, 0x48) [ 538.251367][T32175] IPVS: ftp: loaded support on port[0] = 21 20:15:27 executing program 5: r0 = openat$random(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/urandom\x00', 0x0, 0x0) close(r0) readahead(r0, 0x0, 0x0) 20:15:28 executing program 1: r0 = syz_open_procfs(0x0, &(0x7f0000000080)='pagemap\x00') syz_io_uring_setup(0x76d1, &(0x7f0000000140), &(0x7f0000ffd000/0x1000)=nil, &(0x7f0000fff000/0x1000)=nil, &(0x7f0000000000), 0x0) pread64(r0, &(0x7f0000e3e000)=""/8, 0x20e4dfd8, 0x0) 20:15:28 executing program 3: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000040)={0xffffffffffffffff}) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x15, 0xe, &(0x7f0000000140)=ANY=[@ANYBLOB="b702000000000000bfa30000000000000703000000feffff7a0af0fff8ffffff79a4f0ff00000000b7060000000000012d6405000000000025040400010000000704000001000000b7050000000000006a0a00fe00000000850000001a000000b7000000000000009500000000000000"], &(0x7f0000000100)='GPL\x00'}, 0x48) 20:15:28 executing program 4: clone(0x65024180, 0x0, 0x0, 0x0, 0x0) 20:15:28 executing program 5: r0 = openat$random(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/urandom\x00', 0x0, 0x0) close(r0) readahead(r0, 0x0, 0x0) 20:15:28 executing program 2: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) io_setup(0x5, &(0x7f0000000000)=0x0) io_submit(r1, 0x1, &(0x7f0000000200)=[&(0x7f0000000040)={0x0, 0x0, 0x0, 0x5, 0x0, r0, 0x0}]) 20:15:28 executing program 3: set_mempolicy(0x1, 0x0, 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000140)={0xffffffffffffffff}) bind$unix(r0, &(0x7f00000001c0)=@abs={0x1, 0x0, 0x25}, 0x6e) 20:15:28 executing program 5: r0 = openat$random(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/urandom\x00', 0x0, 0x0) close(r0) readahead(r0, 0x0, 0x0) [ 538.681112][T32223] IPVS: ftp: loaded support on port[0] = 21 20:15:28 executing program 5: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000080)={&(0x7f0000000000)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x1c, 0x1c, 0xb, [@func_proto={0x0, 0x2, 0x0, 0xd, 0x0, [{0x7}, {}]}]}, {0x0, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x61, 0x30, 0x2e]}}, &(0x7f0000001180)=""/144, 0x3f, 0x90, 0x1}, 0x20) 20:15:28 executing program 0: r0 = syz_open_procfs(0x0, &(0x7f0000000080)='net/dev_snmp6\x00') r1 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000040)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TCSETS(r1, 0x40045431, &(0x7f0000000240)) r2 = syz_open_pts(r1, 0x4000000000000002) dup3(r2, r0, 0x0) write$P9_RATTACH(r0, &(0x7f00000001c0)={0x14}, 0xffffffde) ioctl$TCSETAF(r2, 0x5408, &(0x7f00000002c0)={0x1e00}) 20:15:28 executing program 3: set_mempolicy(0x1, 0x0, 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000140)={0xffffffffffffffff}) bind$unix(r0, &(0x7f00000001c0)=@abs={0x1, 0x0, 0x25}, 0x6e) 20:15:28 executing program 2: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) io_setup(0x5, &(0x7f0000000000)=0x0) io_submit(r1, 0x1, &(0x7f0000000200)=[&(0x7f0000000040)={0x0, 0x0, 0x0, 0x5, 0x0, r0, 0x0}]) 20:15:28 executing program 1: r0 = syz_open_procfs(0x0, &(0x7f0000000080)='pagemap\x00') syz_io_uring_setup(0x76d1, &(0x7f0000000140), &(0x7f0000ffd000/0x1000)=nil, &(0x7f0000fff000/0x1000)=nil, &(0x7f0000000000), 0x0) pread64(r0, &(0x7f0000e3e000)=""/8, 0x20e4dfd8, 0x0) 20:15:28 executing program 5: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000080)={&(0x7f0000000000)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x1c, 0x1c, 0xb, [@func_proto={0x0, 0x2, 0x0, 0xd, 0x0, [{0x7}, {}]}]}, {0x0, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x61, 0x30, 0x2e]}}, &(0x7f0000001180)=""/144, 0x3f, 0x90, 0x1}, 0x20) 20:15:28 executing program 4: clone(0x65024180, 0x0, 0x0, 0x0, 0x0) 20:15:28 executing program 3: set_mempolicy(0x1, 0x0, 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000140)={0xffffffffffffffff}) bind$unix(r0, &(0x7f00000001c0)=@abs={0x1, 0x0, 0x25}, 0x6e) 20:15:28 executing program 5: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000080)={&(0x7f0000000000)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x1c, 0x1c, 0xb, [@func_proto={0x0, 0x2, 0x0, 0xd, 0x0, [{0x7}, {}]}]}, {0x0, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x61, 0x30, 0x2e]}}, &(0x7f0000001180)=""/144, 0x3f, 0x90, 0x1}, 0x20) [ 539.162407][T32270] IPVS: ftp: loaded support on port[0] = 21 20:15:28 executing program 2: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) io_setup(0x5, &(0x7f0000000000)=0x0) io_submit(r1, 0x1, &(0x7f0000000200)=[&(0x7f0000000040)={0x0, 0x0, 0x0, 0x5, 0x0, r0, 0x0}]) 20:15:28 executing program 3: set_mempolicy(0x1, 0x0, 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000140)={0xffffffffffffffff}) bind$unix(r0, &(0x7f00000001c0)=@abs={0x1, 0x0, 0x25}, 0x6e) 20:15:28 executing program 5: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000080)={&(0x7f0000000000)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x1c, 0x1c, 0xb, [@func_proto={0x0, 0x2, 0x0, 0xd, 0x0, [{0x7}, {}]}]}, {0x0, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x61, 0x30, 0x2e]}}, &(0x7f0000001180)=""/144, 0x3f, 0x90, 0x1}, 0x20) 20:15:28 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0xc, 0x5, &(0x7f0000000000)=@framed={{0x18, 0x2}, [@call={0x85, 0x0, 0x0, 0x22}, @alu={0x4, 0x1, 0x0, 0x0, 0xa}]}, &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 20:15:29 executing program 1: socket(0x22, 0x0, 0x3) 20:15:29 executing program 5: unshare(0xc000400) r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000000)='/dev/null\x00', 0x2000c0, 0x0) mq_getsetattr(r0, 0x0, 0x0) 20:15:29 executing program 3: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000380)={0x26, 'hash\x00', 0x0, 0x0, 'sha224-ssse3\x00'}, 0x58) socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000002c0)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r3 = accept4(r0, 0x0, 0x0, 0x0) sendmmsg$alg(r3, &(0x7f0000001540)=[{0x0, 0x0, &(0x7f0000000240)=[{&(0x7f0000000100)="4734e84dc6f36546f6218bff226852020b54c6e2f1a861abb51c04", 0x1b}, {&(0x7f0000000140)="f26f262046b284a021533cb6552478389b344ecafdd5546e39d24b569ed83ef383c1c018b47639adc71005a8efe3a0c95feab327bc7afa4063643d5f3616c8b0209d84c673dd920344e6be121d91e0594f8013062116e63ecd4055588f696ec367e7bfd59e4cb23016d05dd5d4a7c8a82a7994f5106179495f134d84c15a54689012c3b2517aac7bdb7b0247388567c50c2694e6d9d8bdb8f6ac451407bfb715528f92082c56f00e21f8c8ec72ee7002b2d4414c05b06ad3604a5234619ca51855e6787bf19e4fccaefe82ec89c7c8603808b8a308fc209c39f829a2eb", 0xdd}, {&(0x7f0000000400)="0ef5c8983661baba5554671fa46d73322b4a1d95ba3558b5734448329bb5b754d61e47228c5ab384edac5f49795c1a2b4f81bc38f91e30b7947bf2f28998ce71c53d2ee81ed1102569b4360f1ace57ea2ecc713f9328aebf8319b998857439f235cb457edbff6b818cd5192f7048b9f5e798263e719f12e36cef2aa6d74a6e7f38b7228b5750cb5646413ea34156dfa8c9c94634018cd2f7ce95f7c44c9d11b39cd1813e4cbc3ca2764e3ba91bd1f9c4ddcd643f863d8317bf1927ba3bb5d271fa867ac70c69d5c36ba49682cb816774779c68d42c5023e71e7e6d2b7b6de860d91c8bb57f51ea673d856c16fa479077a986bcfaf45a294ccb0ed8ffaab1e3088de9561a650ff6ba7aed94946170d27c836c4b1faaafd172a7c8f12823ebc3ecd92093d6b4edd12940bb8446a81cd9c62a64ff7d3b7cb02c354fba871eeb2cb4258a6c6f1f0b19f25c66be7df2031a6b79fd32bc948b8f5d18f1a8a828c9173a0575015a8d591c1405793a4597a8dc8cf5401f0c61cda7cc2c42f11eff7325ac640eb96df1f6403436a8a57fca50830ab487811f60acbf04299198dc7c7f4962698ae1fbaa3a399a07d33ee7a7ec67709d4ff83eb947fca006b3ae72bfe48119626294d81d1940c8fd7e2b454b1b0f21f10d8c9cdef2a7a204c1fd26eb3a45cf5c36720720de8139b87b5342d3441512da6d129b16f99b497b8b092e704eb021896c380d74a1d504c8ce5611841276f02f22d030f223c7ed66c0019b541986250b157578759abdf36b6fb4641794ee75c11b6d98861ec1327492efe5e34d342eada3e0f01b8a495f2ab73b434fe74c64bddd2e756c40a753eb8609aa9faa3d29614296681d4f46e4b27f104c159cfc4285220bbc90e50f8f584eabd6fb4efdb2aa3c63ab66145194788b8b6b7b199f752d2147b28b22aed5af289b2e1799c14848e26f9ff171d128b85fa1b2abd46a782fdbc9742359f9bcb3c16bc35be0df9d3ce3ced33d24c8887520e31ebb79d969b289a006772ffcadb727240290ba9b48d91498e4eca948eee443653e7ccbe20e98a26b7393f3d54fcfb040a0e0e4f7b2e35bac5f57539b1197b73524ff6a138deeeeacbf4af8b8951eef8891c656837176a9eadc99c8e73392fd42cd1dbc8dfdc274eaa1c99982dc71d99a2fd1fff5c7914cd0ede97186feb7e1a9e92c73c5deb4699dd44a45d7146e03b6e6f432efd94e14f7938463fa21407f1b6a1a7227c095ad614117efc2edaca3a83438d889d56318f9bfa9620f4f4add9454f2d4152817a9ba9e28174187e43213a957a8cec4ff9a9167bda5140a3c6ea68e3132043b457a9e042b80cfe9196007c97cc30e6fed303656ce3f6dfe35ee06026b376dd4de5bef2fa0e5f0f4ca673fe291e0253e776bf692fcb86333565ca7ee5213c44fcf5a34f990abae71807c20e2bec62e4c987a9d16adcc8ddd230d97e78d48559501db9965a653f3a2c54529f409818476ef82c6c9d98bc0b6144935d3add678757f0245c8ce416aecf58f232e07628bea34347b0b804ad23b57c51c6e74e711cf35a4e8e7e685ba018ac00f1938dc944e4bed761175204a9fe3c4143bf96b221ffc1f45eab64c5061e1421b6f83a09832d60b25d7dbd5e32e5d6108bfc9264e4af0d1b17fdd6a9484e239c277a12703c2cbf79ad52871766b3e20756390a30c8ba22d10fea764f90090451845396e5c667edce3bc53716581692aad1d6578069492f8edc63cddcfc64de1c4015169e9171041075644f279687f56d2bafc31565360bf1d82b4ab8e135bf18abf88145c0c313ffa256a62d366d1212fcbb6283e5d2761efc170a788409e8ed0f2c86ce59178d0afd7896edc68c2a864e46ee2ea36ff8f883ef9d63877de384cc58d491e528a18e7327217304f2f5acd9ffaea70238c9fa70efe569aa1eb9765fc526c99f52be1033f3a829652b8bfe50f844b69833cf7adc10a2eb6688f6b56db927ddd98c8e6fbdfb29d7fe25e240f382c119d5ba7c0acef715eb15507f891d9bfbfede097c1be9bf063694b668b23efeb6605b82b68cce41b0086e46ff5076a95807c5ba09ac19461a1863a7facb033b8602ff214e01dfbab165f1225125ee5f6ef4e69ad8bb896284b2d19a4e135b6d6669101c0cadf2f6d85795e9b93ff2a62caf655edf126db28c9b5ca810180bcf28c50a287d04326a6394cedc7d9ebab8ec5982b8e5eb8bd01dea6be2fa5913c293540c3ed68ff50bc7a62a7d0028bf6c5932162a1f52285f65d098ed485279fd95298edacbe1178de2089b1cc4f3d8c662836099e2ab655db8b33bdaf827ff344a8019bd0c547a9932e245c98e2b4ee9008c1590603c1864dcae4cab2c53e04b20bf35c9b0eafca201d8974728253179bb7fbd18f22cb2c394399091a246605c1d08e22847fa9a520ab65f30c75a55bcb80b550a5a27a410565a069a8843100d6b8a0787be58477e1b203677c9a1b33d3519305fd3ab7f9d18f44bc732dd2280c443a3f3b5e0a9500bdd010536659d6ddd9295cf85aa008a1e3f1b87e10f690cd6f569883fdefcd4021c946109a47b92b4ff3ce7e6a8c97980cbbb61775f75123955a2a247c24f49bd0a5f39ff3a7e3a5134d5004f4be444236e2e2fda2bc87271be78122bf78d630857064805e45afb3355eca2da7e37cdab2875bd2fb1bf4b5a4865e6b8deb26fc63ccd24c7f74485f2a397a6b809cd0177096e704fcc722d17b3ec0e98e41ba5d8542c202ff8bcc4dd05d7d74834122e2516cb9cf40224d010cdb88713731ca82d4e585a18020b8715ac5ba0487bfe427b7fd1eb2f28529a73504f2485364846fbbce2fd4ff60c37eb351685f77c437156095628c8bd3474571ac3ac6a929295783e44bb4040791e7f925d101f9f9faf96a08369b7755453de39154c5c43fbc0828c861ad857b8c114acbf6334592516fc65b48f3c0cd001a5a4107ae9c6638adf71fe0c8765aed4071ff07b5dc124d40c8ea49d5d4aa7e4937140e1be4242cc9bb947e76fdcc1f521e71d472489aa09fe64ff266001b383c03d7e59a70ce8ab5269f4f34bea6aab94dcf15bc234bed04a221fb78ddbc9e7d9fed26e26bd0594b7a1766e98ff38db6f2dedfb60b14381766141648299e641ee5be0a3b86fb1f426b0239080ccc8876381579b2278c0c56b69194072173656172f5967f4b3053134c13960067e11631688f0af509d9b14f548580f4130312cf710fec770e41e5549fd507e4dfa36eff41433c5d92d6626cf18cfe701a0ac862761ca951aa9f19a55f5d15ac41d321c6f33437f740064521a99270e5df865144b1c346dcb7bd7304732dd8e30ef4a151ae603e41669537c7f1b4930d9b9e67327ab03a65bf72130a11d83eb02eab885873930d69bcecc610bb74138f6c8d9a8fa9b7f5d26216dbc2682d608daeba46872fd256502707669770dcb6c42b0fca3f1377f491e118e6bda995c0ef20c062b1cbf0f21ba1af138f2d5d1509a6171aa89d74009f2fe145bd88cb94758ed9529a7db0ebb21f02d6d1cac6d5342401812cfc9780079e4d896f2289de147c69d28f9aed61161c1c48c3aa331793c889b2926f29789937c436369117887f7fe050e32cee8470b8302436c158a547072da47adac9b4738e5d583752772e7f90d37b2228302131118fc6d1a37d1008316a7a57cae67c8a5bc57601f0d8677045a30404951a22bda0eed2d499d5b963b7563a12fee927e86a8fedbaab3d6898152d8660574cb1345fba6c7d134774b50674e96ce9c859d1a978f5eed81c21980af99fe45aa0ea3a64b486a11eb120215aaed5a1c83780f2b65fb45eb651a52c1f194f3c3e1b2cd0a32e59aea8f36b959a9e0a99c5d90cd63fce79cf24acd312d6c569381a72e7483acf812b0d7a329590c6155672634a5c80aab8fc711afb93dacebacffc1153a4528b522b911e01bbd11be7727dc1d0cce77667c3db101da7865540a5704fe083ad6fdc9d4ba85fb21ee4fe36a2372a0b6bd8738f39fa61b2148fa3dd90547cdc009bb30fc9e77f4ff3f634ee18beb06d6264a213e43a7e77e9489ce3e6d4dc86640c14ca8670cd7b7358727614829230ff854372aaa1ba990725557b553a47babecdfcdf47aaad82a2dd8ffc7d019e5cd37960cbda28f3b588273adca021bf99d8ee9a9e804902011e5b3d50a7a17ca1f7d8b8f9cef6952f15fb0084020778e787ee26a512495f40cb864cc9ed7980ec43b7386b87e6a39a4023f67d2dd242c8c205de3443373b40a0705413ef1044495f1592ea596d08e050d74d4428c8b37163e74128d928de27a2a50ece46f0a234bd3848fcc1520e217c33ccb2636fdc727cfa059520f01ac3bea1fede1a70ef0f65f22c6568e01dee8b707f7ce68de9490d41aa3e560f2f86b396bc9f74115b1a2a890ad598a7fcfcb8c586cfdc79d5cd8aab284c47fccd46019cda0b0c5f6d134b9b43a6e10ff04d5bc33b9f6599f24a6123bc05cb4fe9c1c6aba030450aadd51717044f56762a3e561e00b82d9f32afec9a4a0449ea31251f037f04c21dab1a5f4eef8a76e7b947a42360d36bc95e1c90caad52cf885a4c85500eff6d2aefe37775a8d2e37ae1746d51e7a4159fade0a7af344bb2fb9ba90e298fe04587a4eb40b8f3b75165d045394055afb3da4ba9fde5b6b09b798e628f2679167ca9bb6ad11845f7797f55fe41f2e14ce973c1466317e7f1ef2ce7a9bf87cc928b6f461b40f5c92a41f303f18928da185001b929dfe71e3ae09b76aeb4a0c6f1df31ea69f4c53e1b5852a30a546e65b8b0c7b5aea67db59cf49963cd179f380390ac46bd43f16e035d64a3549b41424a5bece31b8228388e4e41c10e315af9ddd68fa45e23d5b3f6002c02fe5169883085c2e7ad70ca26ce36d6c61d348a0c1877de0c95148ead2e3ec7621b6ebce666d99fa31027741976fb44622ca017997555fdfa5ea2d43d57f389216172dbcc6439b4e4aeb17354f07d90fd8351fd4d65a5b4fc8159077b0f74a6b124d14806300105217ddada5674005366eea17791fc512f7c4381b6df85a631a9a45e90aa7b1ef4914358f8be5741d8bf20848dbbcec56a6005fd9b826fd793c727ccb505fa65ce3708201e2a0d617d33a462de3bca29944b183f71d177a7e87bc68602e5efba93a34d5035ee1843367946af623daca953fc73e6ef7976ee03badf00e3529b736c1ec2b849878ef4782862f6991f5cbb4afc490daf8da16f6c2f4d7fb1d6e06bbfd9b19fcd1309052fb3b5940d08fc41e0dd11377ba0be7532d27ee3ba5ae9924cab96403ddbf52b0c0d63b748c7f3c646b2efab6a1afb85eb91bef0dbb6fe0e48485c815eda08a7dd4ae70c130c126fe68afcc5b6c3ab67a7ce53a251b57b04d864e81ba30cc4faa6ccd127514dc94dad2080cbc964cd5cba9b0b12024afcc6af4c0d0d2e08ae0e007e2ff46d8f18a60dd808b801cba1d2224d2d716c31d16e734a07b532e7356b723cd5515c964a8109b977c014d67b7231c26de5b78eeea4743d48fef5226df1364b0becff19619875fd7466952d68979835ba3891af271f6b9a608bcee069a3d5ac7a67cd76dd0bb9885fb78174c982f86ab28bd0b2705d7474db302ce96d3de51ae4ee45a2b6125529cd77dee96b5ca9390724f9c6b9c4f78e838eec179457d8ffe91e1bbeea95d80aef88ae40395acf60a9a5fa9223dfa9613517e4f9693c47fac318eab88d8eb3a66b313454da35aadb9b51954491d45694fbc6ec84f9812dc502deaf6a2c59116d7877c9d24a8b5cc13a8d0eb72668f1bd", 0x1000}], 0x3}], 0x492492492492754, 0x0) 20:15:29 executing program 2: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) io_setup(0x5, &(0x7f0000000000)=0x0) io_submit(r1, 0x1, &(0x7f0000000200)=[&(0x7f0000000040)={0x0, 0x0, 0x0, 0x5, 0x0, r0, 0x0}]) 20:15:29 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0xc, 0x5, &(0x7f0000000000)=@framed={{0x18, 0x2}, [@call={0x85, 0x0, 0x0, 0x22}, @alu={0x4, 0x1, 0x0, 0x0, 0xa}]}, &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 20:15:29 executing program 0: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) prctl$PR_SET_SECCOMP(0x39, 0x1, 0x0) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_mount_image$tmpfs(&(0x7f0000000000)='tmpfs\x00', &(0x7f0000000040)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000001780)) 20:15:29 executing program 1: r0 = openat$vicodec1(0xffffffffffffff9c, &(0x7f0000000000)='/dev/video37\x00', 0x2, 0x0) ioctl$VIDIOC_QUERYBUF(r0, 0xc050565d, &(0x7f0000000280)={0x0, 0x3, 0x4, 0x0, 0x0, {0x77359400}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "ecc15a13"}, 0x0, 0x0, @planes=0x0}) 20:15:29 executing program 5: unshare(0xc000400) r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000000)='/dev/null\x00', 0x2000c0, 0x0) mq_getsetattr(r0, 0x0, 0x0) 20:15:29 executing program 0: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) prctl$PR_SET_SECCOMP(0x39, 0x1, 0x0) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_mount_image$tmpfs(&(0x7f0000000000)='tmpfs\x00', &(0x7f0000000040)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000001780)) 20:15:29 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0xc, 0x5, &(0x7f0000000000)=@framed={{0x18, 0x2}, [@call={0x85, 0x0, 0x0, 0x22}, @alu={0x4, 0x1, 0x0, 0x0, 0xa}]}, &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 20:15:29 executing program 3: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000380)={0x26, 'hash\x00', 0x0, 0x0, 'sha224-ssse3\x00'}, 0x58) socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000002c0)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r3 = accept4(r0, 0x0, 0x0, 0x0) sendmmsg$alg(r3, &(0x7f0000001540)=[{0x0, 0x0, &(0x7f0000000240)=[{&(0x7f0000000100)="4734e84dc6f36546f6218bff226852020b54c6e2f1a861abb51c04", 0x1b}, {&(0x7f0000000140)="f26f262046b284a021533cb6552478389b344ecafdd5546e39d24b569ed83ef383c1c018b47639adc71005a8efe3a0c95feab327bc7afa4063643d5f3616c8b0209d84c673dd920344e6be121d91e0594f8013062116e63ecd4055588f696ec367e7bfd59e4cb23016d05dd5d4a7c8a82a7994f5106179495f134d84c15a54689012c3b2517aac7bdb7b0247388567c50c2694e6d9d8bdb8f6ac451407bfb715528f92082c56f00e21f8c8ec72ee7002b2d4414c05b06ad3604a5234619ca51855e6787bf19e4fccaefe82ec89c7c8603808b8a308fc209c39f829a2eb", 0xdd}, {&(0x7f0000000400)="0ef5c8983661baba5554671fa46d73322b4a1d95ba3558b5734448329bb5b754d61e47228c5ab384edac5f49795c1a2b4f81bc38f91e30b7947bf2f28998ce71c53d2ee81ed1102569b4360f1ace57ea2ecc713f9328aebf8319b998857439f235cb457edbff6b818cd5192f7048b9f5e798263e719f12e36cef2aa6d74a6e7f38b7228b5750cb5646413ea34156dfa8c9c94634018cd2f7ce95f7c44c9d11b39cd1813e4cbc3ca2764e3ba91bd1f9c4ddcd643f863d8317bf1927ba3bb5d271fa867ac70c69d5c36ba49682cb816774779c68d42c5023e71e7e6d2b7b6de860d91c8bb57f51ea673d856c16fa479077a986bcfaf45a294ccb0ed8ffaab1e3088de9561a650ff6ba7aed94946170d27c836c4b1faaafd172a7c8f12823ebc3ecd92093d6b4edd12940bb8446a81cd9c62a64ff7d3b7cb02c354fba871eeb2cb4258a6c6f1f0b19f25c66be7df2031a6b79fd32bc948b8f5d18f1a8a828c9173a0575015a8d591c1405793a4597a8dc8cf5401f0c61cda7cc2c42f11eff7325ac640eb96df1f6403436a8a57fca50830ab487811f60acbf04299198dc7c7f4962698ae1fbaa3a399a07d33ee7a7ec67709d4ff83eb947fca006b3ae72bfe48119626294d81d1940c8fd7e2b454b1b0f21f10d8c9cdef2a7a204c1fd26eb3a45cf5c36720720de8139b87b5342d3441512da6d129b16f99b497b8b092e704eb021896c380d74a1d504c8ce5611841276f02f22d030f223c7ed66c0019b541986250b157578759abdf36b6fb4641794ee75c11b6d98861ec1327492efe5e34d342eada3e0f01b8a495f2ab73b434fe74c64bddd2e756c40a753eb8609aa9faa3d29614296681d4f46e4b27f104c159cfc4285220bbc90e50f8f584eabd6fb4efdb2aa3c63ab66145194788b8b6b7b199f752d2147b28b22aed5af289b2e1799c14848e26f9ff171d128b85fa1b2abd46a782fdbc9742359f9bcb3c16bc35be0df9d3ce3ced33d24c8887520e31ebb79d969b289a006772ffcadb727240290ba9b48d91498e4eca948eee443653e7ccbe20e98a26b7393f3d54fcfb040a0e0e4f7b2e35bac5f57539b1197b73524ff6a138deeeeacbf4af8b8951eef8891c656837176a9eadc99c8e73392fd42cd1dbc8dfdc274eaa1c99982dc71d99a2fd1fff5c7914cd0ede97186feb7e1a9e92c73c5deb4699dd44a45d7146e03b6e6f432efd94e14f7938463fa21407f1b6a1a7227c095ad614117efc2edaca3a83438d889d56318f9bfa9620f4f4add9454f2d4152817a9ba9e28174187e43213a957a8cec4ff9a9167bda5140a3c6ea68e3132043b457a9e042b80cfe9196007c97cc30e6fed303656ce3f6dfe35ee06026b376dd4de5bef2fa0e5f0f4ca673fe291e0253e776bf692fcb86333565ca7ee5213c44fcf5a34f990abae71807c20e2bec62e4c987a9d16adcc8ddd230d97e78d48559501db9965a653f3a2c54529f409818476ef82c6c9d98bc0b6144935d3add678757f0245c8ce416aecf58f232e07628bea34347b0b804ad23b57c51c6e74e711cf35a4e8e7e685ba018ac00f1938dc944e4bed761175204a9fe3c4143bf96b221ffc1f45eab64c5061e1421b6f83a09832d60b25d7dbd5e32e5d6108bfc9264e4af0d1b17fdd6a9484e239c277a12703c2cbf79ad52871766b3e20756390a30c8ba22d10fea764f90090451845396e5c667edce3bc53716581692aad1d6578069492f8edc63cddcfc64de1c4015169e9171041075644f279687f56d2bafc31565360bf1d82b4ab8e135bf18abf88145c0c313ffa256a62d366d1212fcbb6283e5d2761efc170a788409e8ed0f2c86ce59178d0afd7896edc68c2a864e46ee2ea36ff8f883ef9d63877de384cc58d491e528a18e7327217304f2f5acd9ffaea70238c9fa70efe569aa1eb9765fc526c99f52be1033f3a829652b8bfe50f844b69833cf7adc10a2eb6688f6b56db927ddd98c8e6fbdfb29d7fe25e240f382c119d5ba7c0acef715eb15507f891d9bfbfede097c1be9bf063694b668b23efeb6605b82b68cce41b0086e46ff5076a95807c5ba09ac19461a1863a7facb033b8602ff214e01dfbab165f1225125ee5f6ef4e69ad8bb896284b2d19a4e135b6d6669101c0cadf2f6d85795e9b93ff2a62caf655edf126db28c9b5ca810180bcf28c50a287d04326a6394cedc7d9ebab8ec5982b8e5eb8bd01dea6be2fa5913c293540c3ed68ff50bc7a62a7d0028bf6c5932162a1f52285f65d098ed485279fd95298edacbe1178de2089b1cc4f3d8c662836099e2ab655db8b33bdaf827ff344a8019bd0c547a9932e245c98e2b4ee9008c1590603c1864dcae4cab2c53e04b20bf35c9b0eafca201d8974728253179bb7fbd18f22cb2c394399091a246605c1d08e22847fa9a520ab65f30c75a55bcb80b550a5a27a410565a069a8843100d6b8a0787be58477e1b203677c9a1b33d3519305fd3ab7f9d18f44bc732dd2280c443a3f3b5e0a9500bdd010536659d6ddd9295cf85aa008a1e3f1b87e10f690cd6f569883fdefcd4021c946109a47b92b4ff3ce7e6a8c97980cbbb61775f75123955a2a247c24f49bd0a5f39ff3a7e3a5134d5004f4be444236e2e2fda2bc87271be78122bf78d630857064805e45afb3355eca2da7e37cdab2875bd2fb1bf4b5a4865e6b8deb26fc63ccd24c7f74485f2a397a6b809cd0177096e704fcc722d17b3ec0e98e41ba5d8542c202ff8bcc4dd05d7d74834122e2516cb9cf40224d010cdb88713731ca82d4e585a18020b8715ac5ba0487bfe427b7fd1eb2f28529a73504f2485364846fbbce2fd4ff60c37eb351685f77c437156095628c8bd3474571ac3ac6a929295783e44bb4040791e7f925d101f9f9faf96a08369b7755453de39154c5c43fbc0828c861ad857b8c114acbf6334592516fc65b48f3c0cd001a5a4107ae9c6638adf71fe0c8765aed4071ff07b5dc124d40c8ea49d5d4aa7e4937140e1be4242cc9bb947e76fdcc1f521e71d472489aa09fe64ff266001b383c03d7e59a70ce8ab5269f4f34bea6aab94dcf15bc234bed04a221fb78ddbc9e7d9fed26e26bd0594b7a1766e98ff38db6f2dedfb60b14381766141648299e641ee5be0a3b86fb1f426b0239080ccc8876381579b2278c0c56b69194072173656172f5967f4b3053134c13960067e11631688f0af509d9b14f548580f4130312cf710fec770e41e5549fd507e4dfa36eff41433c5d92d6626cf18cfe701a0ac862761ca951aa9f19a55f5d15ac41d321c6f33437f740064521a99270e5df865144b1c346dcb7bd7304732dd8e30ef4a151ae603e41669537c7f1b4930d9b9e67327ab03a65bf72130a11d83eb02eab885873930d69bcecc610bb74138f6c8d9a8fa9b7f5d26216dbc2682d608daeba46872fd256502707669770dcb6c42b0fca3f1377f491e118e6bda995c0ef20c062b1cbf0f21ba1af138f2d5d1509a6171aa89d74009f2fe145bd88cb94758ed9529a7db0ebb21f02d6d1cac6d5342401812cfc9780079e4d896f2289de147c69d28f9aed61161c1c48c3aa331793c889b2926f29789937c436369117887f7fe050e32cee8470b8302436c158a547072da47adac9b4738e5d583752772e7f90d37b2228302131118fc6d1a37d1008316a7a57cae67c8a5bc57601f0d8677045a30404951a22bda0eed2d499d5b963b7563a12fee927e86a8fedbaab3d6898152d8660574cb1345fba6c7d134774b50674e96ce9c859d1a978f5eed81c21980af99fe45aa0ea3a64b486a11eb120215aaed5a1c83780f2b65fb45eb651a52c1f194f3c3e1b2cd0a32e59aea8f36b959a9e0a99c5d90cd63fce79cf24acd312d6c569381a72e7483acf812b0d7a329590c6155672634a5c80aab8fc711afb93dacebacffc1153a4528b522b911e01bbd11be7727dc1d0cce77667c3db101da7865540a5704fe083ad6fdc9d4ba85fb21ee4fe36a2372a0b6bd8738f39fa61b2148fa3dd90547cdc009bb30fc9e77f4ff3f634ee18beb06d6264a213e43a7e77e9489ce3e6d4dc86640c14ca8670cd7b7358727614829230ff854372aaa1ba990725557b553a47babecdfcdf47aaad82a2dd8ffc7d019e5cd37960cbda28f3b588273adca021bf99d8ee9a9e804902011e5b3d50a7a17ca1f7d8b8f9cef6952f15fb0084020778e787ee26a512495f40cb864cc9ed7980ec43b7386b87e6a39a4023f67d2dd242c8c205de3443373b40a0705413ef1044495f1592ea596d08e050d74d4428c8b37163e74128d928de27a2a50ece46f0a234bd3848fcc1520e217c33ccb2636fdc727cfa059520f01ac3bea1fede1a70ef0f65f22c6568e01dee8b707f7ce68de9490d41aa3e560f2f86b396bc9f74115b1a2a890ad598a7fcfcb8c586cfdc79d5cd8aab284c47fccd46019cda0b0c5f6d134b9b43a6e10ff04d5bc33b9f6599f24a6123bc05cb4fe9c1c6aba030450aadd51717044f56762a3e561e00b82d9f32afec9a4a0449ea31251f037f04c21dab1a5f4eef8a76e7b947a42360d36bc95e1c90caad52cf885a4c85500eff6d2aefe37775a8d2e37ae1746d51e7a4159fade0a7af344bb2fb9ba90e298fe04587a4eb40b8f3b75165d045394055afb3da4ba9fde5b6b09b798e628f2679167ca9bb6ad11845f7797f55fe41f2e14ce973c1466317e7f1ef2ce7a9bf87cc928b6f461b40f5c92a41f303f18928da185001b929dfe71e3ae09b76aeb4a0c6f1df31ea69f4c53e1b5852a30a546e65b8b0c7b5aea67db59cf49963cd179f380390ac46bd43f16e035d64a3549b41424a5bece31b8228388e4e41c10e315af9ddd68fa45e23d5b3f6002c02fe5169883085c2e7ad70ca26ce36d6c61d348a0c1877de0c95148ead2e3ec7621b6ebce666d99fa31027741976fb44622ca017997555fdfa5ea2d43d57f389216172dbcc6439b4e4aeb17354f07d90fd8351fd4d65a5b4fc8159077b0f74a6b124d14806300105217ddada5674005366eea17791fc512f7c4381b6df85a631a9a45e90aa7b1ef4914358f8be5741d8bf20848dbbcec56a6005fd9b826fd793c727ccb505fa65ce3708201e2a0d617d33a462de3bca29944b183f71d177a7e87bc68602e5efba93a34d5035ee1843367946af623daca953fc73e6ef7976ee03badf00e3529b736c1ec2b849878ef4782862f6991f5cbb4afc490daf8da16f6c2f4d7fb1d6e06bbfd9b19fcd1309052fb3b5940d08fc41e0dd11377ba0be7532d27ee3ba5ae9924cab96403ddbf52b0c0d63b748c7f3c646b2efab6a1afb85eb91bef0dbb6fe0e48485c815eda08a7dd4ae70c130c126fe68afcc5b6c3ab67a7ce53a251b57b04d864e81ba30cc4faa6ccd127514dc94dad2080cbc964cd5cba9b0b12024afcc6af4c0d0d2e08ae0e007e2ff46d8f18a60dd808b801cba1d2224d2d716c31d16e734a07b532e7356b723cd5515c964a8109b977c014d67b7231c26de5b78eeea4743d48fef5226df1364b0becff19619875fd7466952d68979835ba3891af271f6b9a608bcee069a3d5ac7a67cd76dd0bb9885fb78174c982f86ab28bd0b2705d7474db302ce96d3de51ae4ee45a2b6125529cd77dee96b5ca9390724f9c6b9c4f78e838eec179457d8ffe91e1bbeea95d80aef88ae40395acf60a9a5fa9223dfa9613517e4f9693c47fac318eab88d8eb3a66b313454da35aadb9b51954491d45694fbc6ec84f9812dc502deaf6a2c59116d7877c9d24a8b5cc13a8d0eb72668f1bd", 0x1000}], 0x3}], 0x492492492492754, 0x0) 20:15:29 executing program 2: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) prctl$PR_SET_SECCOMP(0x39, 0x1, 0x0) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_mount_image$tmpfs(&(0x7f0000000000)='tmpfs\x00', &(0x7f0000000040)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000001780)) 20:15:29 executing program 1: r0 = openat$vicodec1(0xffffffffffffff9c, &(0x7f0000000000)='/dev/video37\x00', 0x2, 0x0) ioctl$VIDIOC_QUERYBUF(r0, 0xc050565d, &(0x7f0000000280)={0x0, 0x3, 0x4, 0x0, 0x0, {0x77359400}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "ecc15a13"}, 0x0, 0x0, @planes=0x0}) 20:15:29 executing program 5: unshare(0xc000400) r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000000)='/dev/null\x00', 0x2000c0, 0x0) mq_getsetattr(r0, 0x0, 0x0) 20:15:29 executing program 0: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) prctl$PR_SET_SECCOMP(0x39, 0x1, 0x0) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_mount_image$tmpfs(&(0x7f0000000000)='tmpfs\x00', &(0x7f0000000040)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000001780)) 20:15:29 executing program 1: r0 = openat$vicodec1(0xffffffffffffff9c, &(0x7f0000000000)='/dev/video37\x00', 0x2, 0x0) ioctl$VIDIOC_QUERYBUF(r0, 0xc050565d, &(0x7f0000000280)={0x0, 0x3, 0x4, 0x0, 0x0, {0x77359400}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "ecc15a13"}, 0x0, 0x0, @planes=0x0}) 20:15:29 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0xc, 0x5, &(0x7f0000000000)=@framed={{0x18, 0x2}, [@call={0x85, 0x0, 0x0, 0x22}, @alu={0x4, 0x1, 0x0, 0x0, 0xa}]}, &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 20:15:29 executing program 2: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) prctl$PR_SET_SECCOMP(0x39, 0x1, 0x0) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_mount_image$tmpfs(&(0x7f0000000000)='tmpfs\x00', &(0x7f0000000040)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000001780)) 20:15:29 executing program 1: r0 = openat$vicodec1(0xffffffffffffff9c, &(0x7f0000000000)='/dev/video37\x00', 0x2, 0x0) ioctl$VIDIOC_QUERYBUF(r0, 0xc050565d, &(0x7f0000000280)={0x0, 0x3, 0x4, 0x0, 0x0, {0x77359400}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "ecc15a13"}, 0x0, 0x0, @planes=0x0}) 20:15:29 executing program 3: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000380)={0x26, 'hash\x00', 0x0, 0x0, 'sha224-ssse3\x00'}, 0x58) socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000002c0)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r3 = accept4(r0, 0x0, 0x0, 0x0) sendmmsg$alg(r3, &(0x7f0000001540)=[{0x0, 0x0, &(0x7f0000000240)=[{&(0x7f0000000100)="4734e84dc6f36546f6218bff226852020b54c6e2f1a861abb51c04", 0x1b}, {&(0x7f0000000140)="f26f262046b284a021533cb6552478389b344ecafdd5546e39d24b569ed83ef383c1c018b47639adc71005a8efe3a0c95feab327bc7afa4063643d5f3616c8b0209d84c673dd920344e6be121d91e0594f8013062116e63ecd4055588f696ec367e7bfd59e4cb23016d05dd5d4a7c8a82a7994f5106179495f134d84c15a54689012c3b2517aac7bdb7b0247388567c50c2694e6d9d8bdb8f6ac451407bfb715528f92082c56f00e21f8c8ec72ee7002b2d4414c05b06ad3604a5234619ca51855e6787bf19e4fccaefe82ec89c7c8603808b8a308fc209c39f829a2eb", 0xdd}, {&(0x7f0000000400)="0ef5c8983661baba5554671fa46d73322b4a1d95ba3558b5734448329bb5b754d61e47228c5ab384edac5f49795c1a2b4f81bc38f91e30b7947bf2f28998ce71c53d2ee81ed1102569b4360f1ace57ea2ecc713f9328aebf8319b998857439f235cb457edbff6b818cd5192f7048b9f5e798263e719f12e36cef2aa6d74a6e7f38b7228b5750cb5646413ea34156dfa8c9c94634018cd2f7ce95f7c44c9d11b39cd1813e4cbc3ca2764e3ba91bd1f9c4ddcd643f863d8317bf1927ba3bb5d271fa867ac70c69d5c36ba49682cb816774779c68d42c5023e71e7e6d2b7b6de860d91c8bb57f51ea673d856c16fa479077a986bcfaf45a294ccb0ed8ffaab1e3088de9561a650ff6ba7aed94946170d27c836c4b1faaafd172a7c8f12823ebc3ecd92093d6b4edd12940bb8446a81cd9c62a64ff7d3b7cb02c354fba871eeb2cb4258a6c6f1f0b19f25c66be7df2031a6b79fd32bc948b8f5d18f1a8a828c9173a0575015a8d591c1405793a4597a8dc8cf5401f0c61cda7cc2c42f11eff7325ac640eb96df1f6403436a8a57fca50830ab487811f60acbf04299198dc7c7f4962698ae1fbaa3a399a07d33ee7a7ec67709d4ff83eb947fca006b3ae72bfe48119626294d81d1940c8fd7e2b454b1b0f21f10d8c9cdef2a7a204c1fd26eb3a45cf5c36720720de8139b87b5342d3441512da6d129b16f99b497b8b092e704eb021896c380d74a1d504c8ce5611841276f02f22d030f223c7ed66c0019b541986250b157578759abdf36b6fb4641794ee75c11b6d98861ec1327492efe5e34d342eada3e0f01b8a495f2ab73b434fe74c64bddd2e756c40a753eb8609aa9faa3d29614296681d4f46e4b27f104c159cfc4285220bbc90e50f8f584eabd6fb4efdb2aa3c63ab66145194788b8b6b7b199f752d2147b28b22aed5af289b2e1799c14848e26f9ff171d128b85fa1b2abd46a782fdbc9742359f9bcb3c16bc35be0df9d3ce3ced33d24c8887520e31ebb79d969b289a006772ffcadb727240290ba9b48d91498e4eca948eee443653e7ccbe20e98a26b7393f3d54fcfb040a0e0e4f7b2e35bac5f57539b1197b73524ff6a138deeeeacbf4af8b8951eef8891c656837176a9eadc99c8e73392fd42cd1dbc8dfdc274eaa1c99982dc71d99a2fd1fff5c7914cd0ede97186feb7e1a9e92c73c5deb4699dd44a45d7146e03b6e6f432efd94e14f7938463fa21407f1b6a1a7227c095ad614117efc2edaca3a83438d889d56318f9bfa9620f4f4add9454f2d4152817a9ba9e28174187e43213a957a8cec4ff9a9167bda5140a3c6ea68e3132043b457a9e042b80cfe9196007c97cc30e6fed303656ce3f6dfe35ee06026b376dd4de5bef2fa0e5f0f4ca673fe291e0253e776bf692fcb86333565ca7ee5213c44fcf5a34f990abae71807c20e2bec62e4c987a9d16adcc8ddd230d97e78d48559501db9965a653f3a2c54529f409818476ef82c6c9d98bc0b6144935d3add678757f0245c8ce416aecf58f232e07628bea34347b0b804ad23b57c51c6e74e711cf35a4e8e7e685ba018ac00f1938dc944e4bed761175204a9fe3c4143bf96b221ffc1f45eab64c5061e1421b6f83a09832d60b25d7dbd5e32e5d6108bfc9264e4af0d1b17fdd6a9484e239c277a12703c2cbf79ad52871766b3e20756390a30c8ba22d10fea764f90090451845396e5c667edce3bc53716581692aad1d6578069492f8edc63cddcfc64de1c4015169e9171041075644f279687f56d2bafc31565360bf1d82b4ab8e135bf18abf88145c0c313ffa256a62d366d1212fcbb6283e5d2761efc170a788409e8ed0f2c86ce59178d0afd7896edc68c2a864e46ee2ea36ff8f883ef9d63877de384cc58d491e528a18e7327217304f2f5acd9ffaea70238c9fa70efe569aa1eb9765fc526c99f52be1033f3a829652b8bfe50f844b69833cf7adc10a2eb6688f6b56db927ddd98c8e6fbdfb29d7fe25e240f382c119d5ba7c0acef715eb15507f891d9bfbfede097c1be9bf063694b668b23efeb6605b82b68cce41b0086e46ff5076a95807c5ba09ac19461a1863a7facb033b8602ff214e01dfbab165f1225125ee5f6ef4e69ad8bb896284b2d19a4e135b6d6669101c0cadf2f6d85795e9b93ff2a62caf655edf126db28c9b5ca810180bcf28c50a287d04326a6394cedc7d9ebab8ec5982b8e5eb8bd01dea6be2fa5913c293540c3ed68ff50bc7a62a7d0028bf6c5932162a1f52285f65d098ed485279fd95298edacbe1178de2089b1cc4f3d8c662836099e2ab655db8b33bdaf827ff344a8019bd0c547a9932e245c98e2b4ee9008c1590603c1864dcae4cab2c53e04b20bf35c9b0eafca201d8974728253179bb7fbd18f22cb2c394399091a246605c1d08e22847fa9a520ab65f30c75a55bcb80b550a5a27a410565a069a8843100d6b8a0787be58477e1b203677c9a1b33d3519305fd3ab7f9d18f44bc732dd2280c443a3f3b5e0a9500bdd010536659d6ddd9295cf85aa008a1e3f1b87e10f690cd6f569883fdefcd4021c946109a47b92b4ff3ce7e6a8c97980cbbb61775f75123955a2a247c24f49bd0a5f39ff3a7e3a5134d5004f4be444236e2e2fda2bc87271be78122bf78d630857064805e45afb3355eca2da7e37cdab2875bd2fb1bf4b5a4865e6b8deb26fc63ccd24c7f74485f2a397a6b809cd0177096e704fcc722d17b3ec0e98e41ba5d8542c202ff8bcc4dd05d7d74834122e2516cb9cf40224d010cdb88713731ca82d4e585a18020b8715ac5ba0487bfe427b7fd1eb2f28529a73504f2485364846fbbce2fd4ff60c37eb351685f77c437156095628c8bd3474571ac3ac6a929295783e44bb4040791e7f925d101f9f9faf96a08369b7755453de39154c5c43fbc0828c861ad857b8c114acbf6334592516fc65b48f3c0cd001a5a4107ae9c6638adf71fe0c8765aed4071ff07b5dc124d40c8ea49d5d4aa7e4937140e1be4242cc9bb947e76fdcc1f521e71d472489aa09fe64ff266001b383c03d7e59a70ce8ab5269f4f34bea6aab94dcf15bc234bed04a221fb78ddbc9e7d9fed26e26bd0594b7a1766e98ff38db6f2dedfb60b14381766141648299e641ee5be0a3b86fb1f426b0239080ccc8876381579b2278c0c56b69194072173656172f5967f4b3053134c13960067e11631688f0af509d9b14f548580f4130312cf710fec770e41e5549fd507e4dfa36eff41433c5d92d6626cf18cfe701a0ac862761ca951aa9f19a55f5d15ac41d321c6f33437f740064521a99270e5df865144b1c346dcb7bd7304732dd8e30ef4a151ae603e41669537c7f1b4930d9b9e67327ab03a65bf72130a11d83eb02eab885873930d69bcecc610bb74138f6c8d9a8fa9b7f5d26216dbc2682d608daeba46872fd256502707669770dcb6c42b0fca3f1377f491e118e6bda995c0ef20c062b1cbf0f21ba1af138f2d5d1509a6171aa89d74009f2fe145bd88cb94758ed9529a7db0ebb21f02d6d1cac6d5342401812cfc9780079e4d896f2289de147c69d28f9aed61161c1c48c3aa331793c889b2926f29789937c436369117887f7fe050e32cee8470b8302436c158a547072da47adac9b4738e5d583752772e7f90d37b2228302131118fc6d1a37d1008316a7a57cae67c8a5bc57601f0d8677045a30404951a22bda0eed2d499d5b963b7563a12fee927e86a8fedbaab3d6898152d8660574cb1345fba6c7d134774b50674e96ce9c859d1a978f5eed81c21980af99fe45aa0ea3a64b486a11eb120215aaed5a1c83780f2b65fb45eb651a52c1f194f3c3e1b2cd0a32e59aea8f36b959a9e0a99c5d90cd63fce79cf24acd312d6c569381a72e7483acf812b0d7a329590c6155672634a5c80aab8fc711afb93dacebacffc1153a4528b522b911e01bbd11be7727dc1d0cce77667c3db101da7865540a5704fe083ad6fdc9d4ba85fb21ee4fe36a2372a0b6bd8738f39fa61b2148fa3dd90547cdc009bb30fc9e77f4ff3f634ee18beb06d6264a213e43a7e77e9489ce3e6d4dc86640c14ca8670cd7b7358727614829230ff854372aaa1ba990725557b553a47babecdfcdf47aaad82a2dd8ffc7d019e5cd37960cbda28f3b588273adca021bf99d8ee9a9e804902011e5b3d50a7a17ca1f7d8b8f9cef6952f15fb0084020778e787ee26a512495f40cb864cc9ed7980ec43b7386b87e6a39a4023f67d2dd242c8c205de3443373b40a0705413ef1044495f1592ea596d08e050d74d4428c8b37163e74128d928de27a2a50ece46f0a234bd3848fcc1520e217c33ccb2636fdc727cfa059520f01ac3bea1fede1a70ef0f65f22c6568e01dee8b707f7ce68de9490d41aa3e560f2f86b396bc9f74115b1a2a890ad598a7fcfcb8c586cfdc79d5cd8aab284c47fccd46019cda0b0c5f6d134b9b43a6e10ff04d5bc33b9f6599f24a6123bc05cb4fe9c1c6aba030450aadd51717044f56762a3e561e00b82d9f32afec9a4a0449ea31251f037f04c21dab1a5f4eef8a76e7b947a42360d36bc95e1c90caad52cf885a4c85500eff6d2aefe37775a8d2e37ae1746d51e7a4159fade0a7af344bb2fb9ba90e298fe04587a4eb40b8f3b75165d045394055afb3da4ba9fde5b6b09b798e628f2679167ca9bb6ad11845f7797f55fe41f2e14ce973c1466317e7f1ef2ce7a9bf87cc928b6f461b40f5c92a41f303f18928da185001b929dfe71e3ae09b76aeb4a0c6f1df31ea69f4c53e1b5852a30a546e65b8b0c7b5aea67db59cf49963cd179f380390ac46bd43f16e035d64a3549b41424a5bece31b8228388e4e41c10e315af9ddd68fa45e23d5b3f6002c02fe5169883085c2e7ad70ca26ce36d6c61d348a0c1877de0c95148ead2e3ec7621b6ebce666d99fa31027741976fb44622ca017997555fdfa5ea2d43d57f389216172dbcc6439b4e4aeb17354f07d90fd8351fd4d65a5b4fc8159077b0f74a6b124d14806300105217ddada5674005366eea17791fc512f7c4381b6df85a631a9a45e90aa7b1ef4914358f8be5741d8bf20848dbbcec56a6005fd9b826fd793c727ccb505fa65ce3708201e2a0d617d33a462de3bca29944b183f71d177a7e87bc68602e5efba93a34d5035ee1843367946af623daca953fc73e6ef7976ee03badf00e3529b736c1ec2b849878ef4782862f6991f5cbb4afc490daf8da16f6c2f4d7fb1d6e06bbfd9b19fcd1309052fb3b5940d08fc41e0dd11377ba0be7532d27ee3ba5ae9924cab96403ddbf52b0c0d63b748c7f3c646b2efab6a1afb85eb91bef0dbb6fe0e48485c815eda08a7dd4ae70c130c126fe68afcc5b6c3ab67a7ce53a251b57b04d864e81ba30cc4faa6ccd127514dc94dad2080cbc964cd5cba9b0b12024afcc6af4c0d0d2e08ae0e007e2ff46d8f18a60dd808b801cba1d2224d2d716c31d16e734a07b532e7356b723cd5515c964a8109b977c014d67b7231c26de5b78eeea4743d48fef5226df1364b0becff19619875fd7466952d68979835ba3891af271f6b9a608bcee069a3d5ac7a67cd76dd0bb9885fb78174c982f86ab28bd0b2705d7474db302ce96d3de51ae4ee45a2b6125529cd77dee96b5ca9390724f9c6b9c4f78e838eec179457d8ffe91e1bbeea95d80aef88ae40395acf60a9a5fa9223dfa9613517e4f9693c47fac318eab88d8eb3a66b313454da35aadb9b51954491d45694fbc6ec84f9812dc502deaf6a2c59116d7877c9d24a8b5cc13a8d0eb72668f1bd", 0x1000}], 0x3}], 0x492492492492754, 0x0) 20:15:29 executing program 5: unshare(0xc000400) r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000000)='/dev/null\x00', 0x2000c0, 0x0) mq_getsetattr(r0, 0x0, 0x0) 20:15:29 executing program 4: socket(0x10, 0x3, 0x0) r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000040)='/dev/fb0\x00', 0x0, 0x0) lseek(r0, 0x0, 0x2) fcntl$getownex(r0, 0x10, &(0x7f0000000000)={0x0, 0x0}) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x680, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, @perf_bp={&(0x7f0000000080), 0x4}, 0x0, 0x0, 0x4, 0x9, 0x7ff}, r1, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) ioctl$ASHMEM_GET_SIZE(r2, 0x40186f40, 0x76006e) r3 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) ioctl$ASHMEM_GET_SIZE(r3, 0x40046f41, 0x76006e) ioctl$DRM_IOCTL_SG_ALLOC(0xffffffffffffffff, 0xc0106438, &(0x7f0000000100)={0x5}) openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) fcntl$setstatus(0xffffffffffffffff, 0x4, 0x46000) ioctl$KVM_GET_IRQCHIP(0xffffffffffffffff, 0xc208ae62, 0x0) creat(&(0x7f0000000040)='./bus\x00', 0x0) io_setup(0xc32f, &(0x7f0000001140)=0x0) io_submit(0x0, 0x1, &(0x7f0000000540)=[0x0]) io_submit(r4, 0x0, &(0x7f0000000540)) write$FUSE_NOTIFY_DELETE(0xffffffffffffffff, 0x0, 0x0) 20:15:29 executing program 0: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) prctl$PR_SET_SECCOMP(0x39, 0x1, 0x0) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_mount_image$tmpfs(&(0x7f0000000000)='tmpfs\x00', &(0x7f0000000040)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000001780)) 20:15:29 executing program 5: mkdirat(0xffffffffffffff9c, &(0x7f0000000140)='./file0\x00', 0x0) mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.net/syz1\x00', 0x1ff) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mount$fuse(0x20000000, 0x0, 0x0, 0x7a04, 0x0) semctl$SETALL(0x0, 0x0, 0x11, 0x0) semop(0x0, 0x0, 0x0) sendmsg$AUDIT_USER_TTY(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000100)=ANY=[@ANYRES64], 0x1}}, 0x0) r0 = creat(&(0x7f00000002c0)='./bus\x00', 0x0) sched_rr_get_interval(0x0, 0x0) ioctl$FS_IOC_SETVERSION(r0, 0xc0c0583b, &(0x7f0000000080)) pipe(&(0x7f00000000c0)) socket$nl_netfilter(0x10, 0x3, 0xc) 20:15:29 executing program 2: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) prctl$PR_SET_SECCOMP(0x39, 0x1, 0x0) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_mount_image$tmpfs(&(0x7f0000000000)='tmpfs\x00', &(0x7f0000000040)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000001780)) [ 540.370925][T32370] ubi0: attaching mtd0 [ 540.383310][T32370] ubi0: scanning is finished [ 540.396579][T32370] ubi0: empty MTD device detected 20:15:29 executing program 1: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) writev(0xffffffffffffffff, &(0x7f00000001c0)=[{&(0x7f0000000000)="580000001500add427323b472545a45602117fffffff81004e22000d00ff0028925aa80020007b00090080000efffeffe809000000ff0000f03ac710d2d82817a90d626c65280003ffffffffffffffffffffffe7ee000000", 0x58}], 0x1) socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000000c0)={0xffffffffffffffff}) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) sendmsg$nl_xfrm(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000240)=@migrate={0xa0, 0x21, 0xa09, 0x0, 0x0, {{@in=@dev, @in6=@initdev={0xfe, 0x88, [], 0x0, 0x0}}}, [@migrate={0x50, 0x11, [{@in, @in=@remote, @in=@local, @in6=@initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa}]}]}, 0xa0}, 0x8}, 0x0) 20:15:30 executing program 0: r0 = socket$inet6(0xa, 0x2, 0x0) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f0000000000)=0x177, 0x16) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f0000000140)={0xa, 0x4e20, 0x0, @mcast2}, 0x1c) ioctl$int_in(r0, 0x5452, &(0x7f0000000580)=0xe) recvmmsg(r0, &(0x7f0000000680), 0x2, 0x207f, 0x0) [ 540.428727][T32370] ubi0: attached mtd0 (name "mtdram test device", size 0 MiB) [ 540.450279][T32370] ubi0: PEB size: 4096 bytes (4 KiB), LEB size: 3968 bytes [ 540.466385][T32370] ubi0: min./max. I/O unit sizes: 1/64, sub-page size 1 20:15:30 executing program 3: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000380)={0x26, 'hash\x00', 0x0, 0x0, 'sha224-ssse3\x00'}, 0x58) socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000002c0)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r3 = accept4(r0, 0x0, 0x0, 0x0) sendmmsg$alg(r3, &(0x7f0000001540)=[{0x0, 0x0, &(0x7f0000000240)=[{&(0x7f0000000100)="4734e84dc6f36546f6218bff226852020b54c6e2f1a861abb51c04", 0x1b}, {&(0x7f0000000140)="f26f262046b284a021533cb6552478389b344ecafdd5546e39d24b569ed83ef383c1c018b47639adc71005a8efe3a0c95feab327bc7afa4063643d5f3616c8b0209d84c673dd920344e6be121d91e0594f8013062116e63ecd4055588f696ec367e7bfd59e4cb23016d05dd5d4a7c8a82a7994f5106179495f134d84c15a54689012c3b2517aac7bdb7b0247388567c50c2694e6d9d8bdb8f6ac451407bfb715528f92082c56f00e21f8c8ec72ee7002b2d4414c05b06ad3604a5234619ca51855e6787bf19e4fccaefe82ec89c7c8603808b8a308fc209c39f829a2eb", 0xdd}, {&(0x7f0000000400)="0ef5c8983661baba5554671fa46d73322b4a1d95ba3558b5734448329bb5b754d61e47228c5ab384edac5f49795c1a2b4f81bc38f91e30b7947bf2f28998ce71c53d2ee81ed1102569b4360f1ace57ea2ecc713f9328aebf8319b998857439f235cb457edbff6b818cd5192f7048b9f5e798263e719f12e36cef2aa6d74a6e7f38b7228b5750cb5646413ea34156dfa8c9c94634018cd2f7ce95f7c44c9d11b39cd1813e4cbc3ca2764e3ba91bd1f9c4ddcd643f863d8317bf1927ba3bb5d271fa867ac70c69d5c36ba49682cb816774779c68d42c5023e71e7e6d2b7b6de860d91c8bb57f51ea673d856c16fa479077a986bcfaf45a294ccb0ed8ffaab1e3088de9561a650ff6ba7aed94946170d27c836c4b1faaafd172a7c8f12823ebc3ecd92093d6b4edd12940bb8446a81cd9c62a64ff7d3b7cb02c354fba871eeb2cb4258a6c6f1f0b19f25c66be7df2031a6b79fd32bc948b8f5d18f1a8a828c9173a0575015a8d591c1405793a4597a8dc8cf5401f0c61cda7cc2c42f11eff7325ac640eb96df1f6403436a8a57fca50830ab487811f60acbf04299198dc7c7f4962698ae1fbaa3a399a07d33ee7a7ec67709d4ff83eb947fca006b3ae72bfe48119626294d81d1940c8fd7e2b454b1b0f21f10d8c9cdef2a7a204c1fd26eb3a45cf5c36720720de8139b87b5342d3441512da6d129b16f99b497b8b092e704eb021896c380d74a1d504c8ce5611841276f02f22d030f223c7ed66c0019b541986250b157578759abdf36b6fb4641794ee75c11b6d98861ec1327492efe5e34d342eada3e0f01b8a495f2ab73b434fe74c64bddd2e756c40a753eb8609aa9faa3d29614296681d4f46e4b27f104c159cfc4285220bbc90e50f8f584eabd6fb4efdb2aa3c63ab66145194788b8b6b7b199f752d2147b28b22aed5af289b2e1799c14848e26f9ff171d128b85fa1b2abd46a782fdbc9742359f9bcb3c16bc35be0df9d3ce3ced33d24c8887520e31ebb79d969b289a006772ffcadb727240290ba9b48d91498e4eca948eee443653e7ccbe20e98a26b7393f3d54fcfb040a0e0e4f7b2e35bac5f57539b1197b73524ff6a138deeeeacbf4af8b8951eef8891c656837176a9eadc99c8e73392fd42cd1dbc8dfdc274eaa1c99982dc71d99a2fd1fff5c7914cd0ede97186feb7e1a9e92c73c5deb4699dd44a45d7146e03b6e6f432efd94e14f7938463fa21407f1b6a1a7227c095ad614117efc2edaca3a83438d889d56318f9bfa9620f4f4add9454f2d4152817a9ba9e28174187e43213a957a8cec4ff9a9167bda5140a3c6ea68e3132043b457a9e042b80cfe9196007c97cc30e6fed303656ce3f6dfe35ee06026b376dd4de5bef2fa0e5f0f4ca673fe291e0253e776bf692fcb86333565ca7ee5213c44fcf5a34f990abae71807c20e2bec62e4c987a9d16adcc8ddd230d97e78d48559501db9965a653f3a2c54529f409818476ef82c6c9d98bc0b6144935d3add678757f0245c8ce416aecf58f232e07628bea34347b0b804ad23b57c51c6e74e711cf35a4e8e7e685ba018ac00f1938dc944e4bed761175204a9fe3c4143bf96b221ffc1f45eab64c5061e1421b6f83a09832d60b25d7dbd5e32e5d6108bfc9264e4af0d1b17fdd6a9484e239c277a12703c2cbf79ad52871766b3e20756390a30c8ba22d10fea764f90090451845396e5c667edce3bc53716581692aad1d6578069492f8edc63cddcfc64de1c4015169e9171041075644f279687f56d2bafc31565360bf1d82b4ab8e135bf18abf88145c0c313ffa256a62d366d1212fcbb6283e5d2761efc170a788409e8ed0f2c86ce59178d0afd7896edc68c2a864e46ee2ea36ff8f883ef9d63877de384cc58d491e528a18e7327217304f2f5acd9ffaea70238c9fa70efe569aa1eb9765fc526c99f52be1033f3a829652b8bfe50f844b69833cf7adc10a2eb6688f6b56db927ddd98c8e6fbdfb29d7fe25e240f382c119d5ba7c0acef715eb15507f891d9bfbfede097c1be9bf063694b668b23efeb6605b82b68cce41b0086e46ff5076a95807c5ba09ac19461a1863a7facb033b8602ff214e01dfbab165f1225125ee5f6ef4e69ad8bb896284b2d19a4e135b6d6669101c0cadf2f6d85795e9b93ff2a62caf655edf126db28c9b5ca810180bcf28c50a287d04326a6394cedc7d9ebab8ec5982b8e5eb8bd01dea6be2fa5913c293540c3ed68ff50bc7a62a7d0028bf6c5932162a1f52285f65d098ed485279fd95298edacbe1178de2089b1cc4f3d8c662836099e2ab655db8b33bdaf827ff344a8019bd0c547a9932e245c98e2b4ee9008c1590603c1864dcae4cab2c53e04b20bf35c9b0eafca201d8974728253179bb7fbd18f22cb2c394399091a246605c1d08e22847fa9a520ab65f30c75a55bcb80b550a5a27a410565a069a8843100d6b8a0787be58477e1b203677c9a1b33d3519305fd3ab7f9d18f44bc732dd2280c443a3f3b5e0a9500bdd010536659d6ddd9295cf85aa008a1e3f1b87e10f690cd6f569883fdefcd4021c946109a47b92b4ff3ce7e6a8c97980cbbb61775f75123955a2a247c24f49bd0a5f39ff3a7e3a5134d5004f4be444236e2e2fda2bc87271be78122bf78d630857064805e45afb3355eca2da7e37cdab2875bd2fb1bf4b5a4865e6b8deb26fc63ccd24c7f74485f2a397a6b809cd0177096e704fcc722d17b3ec0e98e41ba5d8542c202ff8bcc4dd05d7d74834122e2516cb9cf40224d010cdb88713731ca82d4e585a18020b8715ac5ba0487bfe427b7fd1eb2f28529a73504f2485364846fbbce2fd4ff60c37eb351685f77c437156095628c8bd3474571ac3ac6a929295783e44bb4040791e7f925d101f9f9faf96a08369b7755453de39154c5c43fbc0828c861ad857b8c114acbf6334592516fc65b48f3c0cd001a5a4107ae9c6638adf71fe0c8765aed4071ff07b5dc124d40c8ea49d5d4aa7e4937140e1be4242cc9bb947e76fdcc1f521e71d472489aa09fe64ff266001b383c03d7e59a70ce8ab5269f4f34bea6aab94dcf15bc234bed04a221fb78ddbc9e7d9fed26e26bd0594b7a1766e98ff38db6f2dedfb60b14381766141648299e641ee5be0a3b86fb1f426b0239080ccc8876381579b2278c0c56b69194072173656172f5967f4b3053134c13960067e11631688f0af509d9b14f548580f4130312cf710fec770e41e5549fd507e4dfa36eff41433c5d92d6626cf18cfe701a0ac862761ca951aa9f19a55f5d15ac41d321c6f33437f740064521a99270e5df865144b1c346dcb7bd7304732dd8e30ef4a151ae603e41669537c7f1b4930d9b9e67327ab03a65bf72130a11d83eb02eab885873930d69bcecc610bb74138f6c8d9a8fa9b7f5d26216dbc2682d608daeba46872fd256502707669770dcb6c42b0fca3f1377f491e118e6bda995c0ef20c062b1cbf0f21ba1af138f2d5d1509a6171aa89d74009f2fe145bd88cb94758ed9529a7db0ebb21f02d6d1cac6d5342401812cfc9780079e4d896f2289de147c69d28f9aed61161c1c48c3aa331793c889b2926f29789937c436369117887f7fe050e32cee8470b8302436c158a547072da47adac9b4738e5d583752772e7f90d37b2228302131118fc6d1a37d1008316a7a57cae67c8a5bc57601f0d8677045a30404951a22bda0eed2d499d5b963b7563a12fee927e86a8fedbaab3d6898152d8660574cb1345fba6c7d134774b50674e96ce9c859d1a978f5eed81c21980af99fe45aa0ea3a64b486a11eb120215aaed5a1c83780f2b65fb45eb651a52c1f194f3c3e1b2cd0a32e59aea8f36b959a9e0a99c5d90cd63fce79cf24acd312d6c569381a72e7483acf812b0d7a329590c6155672634a5c80aab8fc711afb93dacebacffc1153a4528b522b911e01bbd11be7727dc1d0cce77667c3db101da7865540a5704fe083ad6fdc9d4ba85fb21ee4fe36a2372a0b6bd8738f39fa61b2148fa3dd90547cdc009bb30fc9e77f4ff3f634ee18beb06d6264a213e43a7e77e9489ce3e6d4dc86640c14ca8670cd7b7358727614829230ff854372aaa1ba990725557b553a47babecdfcdf47aaad82a2dd8ffc7d019e5cd37960cbda28f3b588273adca021bf99d8ee9a9e804902011e5b3d50a7a17ca1f7d8b8f9cef6952f15fb0084020778e787ee26a512495f40cb864cc9ed7980ec43b7386b87e6a39a4023f67d2dd242c8c205de3443373b40a0705413ef1044495f1592ea596d08e050d74d4428c8b37163e74128d928de27a2a50ece46f0a234bd3848fcc1520e217c33ccb2636fdc727cfa059520f01ac3bea1fede1a70ef0f65f22c6568e01dee8b707f7ce68de9490d41aa3e560f2f86b396bc9f74115b1a2a890ad598a7fcfcb8c586cfdc79d5cd8aab284c47fccd46019cda0b0c5f6d134b9b43a6e10ff04d5bc33b9f6599f24a6123bc05cb4fe9c1c6aba030450aadd51717044f56762a3e561e00b82d9f32afec9a4a0449ea31251f037f04c21dab1a5f4eef8a76e7b947a42360d36bc95e1c90caad52cf885a4c85500eff6d2aefe37775a8d2e37ae1746d51e7a4159fade0a7af344bb2fb9ba90e298fe04587a4eb40b8f3b75165d045394055afb3da4ba9fde5b6b09b798e628f2679167ca9bb6ad11845f7797f55fe41f2e14ce973c1466317e7f1ef2ce7a9bf87cc928b6f461b40f5c92a41f303f18928da185001b929dfe71e3ae09b76aeb4a0c6f1df31ea69f4c53e1b5852a30a546e65b8b0c7b5aea67db59cf49963cd179f380390ac46bd43f16e035d64a3549b41424a5bece31b8228388e4e41c10e315af9ddd68fa45e23d5b3f6002c02fe5169883085c2e7ad70ca26ce36d6c61d348a0c1877de0c95148ead2e3ec7621b6ebce666d99fa31027741976fb44622ca017997555fdfa5ea2d43d57f389216172dbcc6439b4e4aeb17354f07d90fd8351fd4d65a5b4fc8159077b0f74a6b124d14806300105217ddada5674005366eea17791fc512f7c4381b6df85a631a9a45e90aa7b1ef4914358f8be5741d8bf20848dbbcec56a6005fd9b826fd793c727ccb505fa65ce3708201e2a0d617d33a462de3bca29944b183f71d177a7e87bc68602e5efba93a34d5035ee1843367946af623daca953fc73e6ef7976ee03badf00e3529b736c1ec2b849878ef4782862f6991f5cbb4afc490daf8da16f6c2f4d7fb1d6e06bbfd9b19fcd1309052fb3b5940d08fc41e0dd11377ba0be7532d27ee3ba5ae9924cab96403ddbf52b0c0d63b748c7f3c646b2efab6a1afb85eb91bef0dbb6fe0e48485c815eda08a7dd4ae70c130c126fe68afcc5b6c3ab67a7ce53a251b57b04d864e81ba30cc4faa6ccd127514dc94dad2080cbc964cd5cba9b0b12024afcc6af4c0d0d2e08ae0e007e2ff46d8f18a60dd808b801cba1d2224d2d716c31d16e734a07b532e7356b723cd5515c964a8109b977c014d67b7231c26de5b78eeea4743d48fef5226df1364b0becff19619875fd7466952d68979835ba3891af271f6b9a608bcee069a3d5ac7a67cd76dd0bb9885fb78174c982f86ab28bd0b2705d7474db302ce96d3de51ae4ee45a2b6125529cd77dee96b5ca9390724f9c6b9c4f78e838eec179457d8ffe91e1bbeea95d80aef88ae40395acf60a9a5fa9223dfa9613517e4f9693c47fac318eab88d8eb3a66b313454da35aadb9b51954491d45694fbc6ec84f9812dc502deaf6a2c59116d7877c9d24a8b5cc13a8d0eb72668f1bd", 0x1000}], 0x3}], 0x492492492492754, 0x0) [ 540.484887][T32370] ubi0: VID header offset: 64 (aligned 64), data offset: 128 [ 540.513501][T32383] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.1'. 20:15:30 executing program 5: mkdirat(0xffffffffffffff9c, &(0x7f0000000140)='./file0\x00', 0x0) mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.net/syz1\x00', 0x1ff) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mount$fuse(0x20000000, 0x0, 0x0, 0x7a04, 0x0) semctl$SETALL(0x0, 0x0, 0x11, 0x0) semop(0x0, 0x0, 0x0) sendmsg$AUDIT_USER_TTY(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000100)=ANY=[@ANYRES64], 0x1}}, 0x0) r0 = creat(&(0x7f00000002c0)='./bus\x00', 0x0) sched_rr_get_interval(0x0, 0x0) ioctl$FS_IOC_SETVERSION(r0, 0xc0c0583b, &(0x7f0000000080)) pipe(&(0x7f00000000c0)) socket$nl_netfilter(0x10, 0x3, 0xc) 20:15:30 executing program 2: mkdirat(0xffffffffffffff9c, &(0x7f0000000140)='./file0\x00', 0x0) mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.net/syz1\x00', 0x1ff) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mount$fuse(0x20000000, 0x0, 0x0, 0x7a04, 0x0) semctl$SETALL(0x0, 0x0, 0x11, 0x0) semop(0x0, 0x0, 0x0) sendmsg$AUDIT_USER_TTY(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000100)=ANY=[@ANYRES64], 0x1}}, 0x0) r0 = creat(&(0x7f00000002c0)='./bus\x00', 0x0) sched_rr_get_interval(0x0, 0x0) ioctl$FS_IOC_SETVERSION(r0, 0xc0c0583b, &(0x7f0000000080)) pipe(&(0x7f00000000c0)) socket$nl_netfilter(0x10, 0x3, 0xc) 20:15:30 executing program 0: r0 = socket$inet6(0xa, 0x2, 0x0) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f0000000000)=0x177, 0x16) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f0000000140)={0xa, 0x4e20, 0x0, @mcast2}, 0x1c) ioctl$int_in(r0, 0x5452, &(0x7f0000000580)=0xe) recvmmsg(r0, &(0x7f0000000680), 0x2, 0x207f, 0x0) [ 540.542487][T32370] ubi0: good PEBs: 32, bad PEBs: 0, corrupted PEBs: 0 [ 540.580855][T32370] ubi0: user volume: 0, internal volumes: 1, max. volumes count: 23 20:15:30 executing program 1: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) writev(0xffffffffffffffff, &(0x7f00000001c0)=[{&(0x7f0000000000)="580000001500add427323b472545a45602117fffffff81004e22000d00ff0028925aa80020007b00090080000efffeffe809000000ff0000f03ac710d2d82817a90d626c65280003ffffffffffffffffffffffe7ee000000", 0x58}], 0x1) socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000000c0)={0xffffffffffffffff}) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) sendmsg$nl_xfrm(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000240)=@migrate={0xa0, 0x21, 0xa09, 0x0, 0x0, {{@in=@dev, @in6=@initdev={0xfe, 0x88, [], 0x0, 0x0}}}, [@migrate={0x50, 0x11, [{@in, @in=@remote, @in=@local, @in6=@initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa}]}]}, 0xa0}, 0x8}, 0x0) 20:15:30 executing program 3: r0 = socket$inet6(0xa, 0x2, 0x0) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f0000000000)=0x177, 0x16) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f0000000140)={0xa, 0x4e20, 0x0, @mcast2}, 0x1c) ioctl$int_in(r0, 0x5452, &(0x7f0000000580)=0xe) recvmmsg(r0, &(0x7f0000000680), 0x2, 0x207f, 0x0) [ 540.616828][T32370] ubi0: max/mean erase counter: 0/0, WL threshold: 4096, image sequence number: 1729649676 [ 540.672582][T32370] ubi0: available PEBs: 28, total reserved PEBs: 4, PEBs reserved for bad PEB handling: 0 [ 540.699732][T32403] nf_conntrack: default automatic helper assignment has been turned off for security reasons and CT-based firewall rule not found. Use the iptables CT target to attach helpers instead. [ 540.736044][T32374] ubi0: background thread "ubi_bgt0d" started, PID 32374 [ 540.736096][T32375] ubi0: detaching mtd0 [ 540.749714][T32404] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.1'. [ 540.760420][T32375] ubi0: mtd0 is detached 20:15:30 executing program 4: socket(0x10, 0x3, 0x0) r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000040)='/dev/fb0\x00', 0x0, 0x0) lseek(r0, 0x0, 0x2) fcntl$getownex(r0, 0x10, &(0x7f0000000000)={0x0, 0x0}) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x680, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, @perf_bp={&(0x7f0000000080), 0x4}, 0x0, 0x0, 0x4, 0x9, 0x7ff}, r1, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) ioctl$ASHMEM_GET_SIZE(r2, 0x40186f40, 0x76006e) r3 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) ioctl$ASHMEM_GET_SIZE(r3, 0x40046f41, 0x76006e) ioctl$DRM_IOCTL_SG_ALLOC(0xffffffffffffffff, 0xc0106438, &(0x7f0000000100)={0x5}) openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) fcntl$setstatus(0xffffffffffffffff, 0x4, 0x46000) ioctl$KVM_GET_IRQCHIP(0xffffffffffffffff, 0xc208ae62, 0x0) creat(&(0x7f0000000040)='./bus\x00', 0x0) io_setup(0xc32f, &(0x7f0000001140)=0x0) io_submit(0x0, 0x1, &(0x7f0000000540)=[0x0]) io_submit(r4, 0x0, &(0x7f0000000540)) write$FUSE_NOTIFY_DELETE(0xffffffffffffffff, 0x0, 0x0) 20:15:30 executing program 5: mkdirat(0xffffffffffffff9c, &(0x7f0000000140)='./file0\x00', 0x0) mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.net/syz1\x00', 0x1ff) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mount$fuse(0x20000000, 0x0, 0x0, 0x7a04, 0x0) semctl$SETALL(0x0, 0x0, 0x11, 0x0) semop(0x0, 0x0, 0x0) sendmsg$AUDIT_USER_TTY(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000100)=ANY=[@ANYRES64], 0x1}}, 0x0) r0 = creat(&(0x7f00000002c0)='./bus\x00', 0x0) sched_rr_get_interval(0x0, 0x0) ioctl$FS_IOC_SETVERSION(r0, 0xc0c0583b, &(0x7f0000000080)) pipe(&(0x7f00000000c0)) socket$nl_netfilter(0x10, 0x3, 0xc) 20:15:30 executing program 0: r0 = socket$inet6(0xa, 0x2, 0x0) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f0000000000)=0x177, 0x16) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f0000000140)={0xa, 0x4e20, 0x0, @mcast2}, 0x1c) ioctl$int_in(r0, 0x5452, &(0x7f0000000580)=0xe) recvmmsg(r0, &(0x7f0000000680), 0x2, 0x207f, 0x0) 20:15:30 executing program 2: mkdirat(0xffffffffffffff9c, &(0x7f0000000140)='./file0\x00', 0x0) mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.net/syz1\x00', 0x1ff) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mount$fuse(0x20000000, 0x0, 0x0, 0x7a04, 0x0) semctl$SETALL(0x0, 0x0, 0x11, 0x0) semop(0x0, 0x0, 0x0) sendmsg$AUDIT_USER_TTY(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000100)=ANY=[@ANYRES64], 0x1}}, 0x0) r0 = creat(&(0x7f00000002c0)='./bus\x00', 0x0) sched_rr_get_interval(0x0, 0x0) ioctl$FS_IOC_SETVERSION(r0, 0xc0c0583b, &(0x7f0000000080)) pipe(&(0x7f00000000c0)) socket$nl_netfilter(0x10, 0x3, 0xc) 20:15:30 executing program 3: r0 = socket$inet6(0xa, 0x2, 0x0) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f0000000000)=0x177, 0x16) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f0000000140)={0xa, 0x4e20, 0x0, @mcast2}, 0x1c) ioctl$int_in(r0, 0x5452, &(0x7f0000000580)=0xe) recvmmsg(r0, &(0x7f0000000680), 0x2, 0x207f, 0x0) 20:15:30 executing program 1: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) writev(0xffffffffffffffff, &(0x7f00000001c0)=[{&(0x7f0000000000)="580000001500add427323b472545a45602117fffffff81004e22000d00ff0028925aa80020007b00090080000efffeffe809000000ff0000f03ac710d2d82817a90d626c65280003ffffffffffffffffffffffe7ee000000", 0x58}], 0x1) socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000000c0)={0xffffffffffffffff}) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) sendmsg$nl_xfrm(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000240)=@migrate={0xa0, 0x21, 0xa09, 0x0, 0x0, {{@in=@dev, @in6=@initdev={0xfe, 0x88, [], 0x0, 0x0}}}, [@migrate={0x50, 0x11, [{@in, @in=@remote, @in=@local, @in6=@initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa}]}]}, 0xa0}, 0x8}, 0x0) 20:15:30 executing program 3: r0 = socket$inet6(0xa, 0x2, 0x0) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f0000000000)=0x177, 0x16) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f0000000140)={0xa, 0x4e20, 0x0, @mcast2}, 0x1c) ioctl$int_in(r0, 0x5452, &(0x7f0000000580)=0xe) recvmmsg(r0, &(0x7f0000000680), 0x2, 0x207f, 0x0) [ 540.898077][T32418] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.1'. [ 540.921459][T32419] ubi0: attaching mtd0 20:15:30 executing program 1: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) writev(0xffffffffffffffff, &(0x7f00000001c0)=[{&(0x7f0000000000)="580000001500add427323b472545a45602117fffffff81004e22000d00ff0028925aa80020007b00090080000efffeffe809000000ff0000f03ac710d2d82817a90d626c65280003ffffffffffffffffffffffe7ee000000", 0x58}], 0x1) socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000000c0)={0xffffffffffffffff}) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) sendmsg$nl_xfrm(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000240)=@migrate={0xa0, 0x21, 0xa09, 0x0, 0x0, {{@in=@dev, @in6=@initdev={0xfe, 0x88, [], 0x0, 0x0}}}, [@migrate={0x50, 0x11, [{@in, @in=@remote, @in=@local, @in6=@initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa}]}]}, 0xa0}, 0x8}, 0x0) 20:15:30 executing program 0: r0 = socket$inet6(0xa, 0x2, 0x0) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f0000000000)=0x177, 0x16) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f0000000140)={0xa, 0x4e20, 0x0, @mcast2}, 0x1c) ioctl$int_in(r0, 0x5452, &(0x7f0000000580)=0xe) recvmmsg(r0, &(0x7f0000000680), 0x2, 0x207f, 0x0) 20:15:30 executing program 2: mkdirat(0xffffffffffffff9c, &(0x7f0000000140)='./file0\x00', 0x0) mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.net/syz1\x00', 0x1ff) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mount$fuse(0x20000000, 0x0, 0x0, 0x7a04, 0x0) semctl$SETALL(0x0, 0x0, 0x11, 0x0) semop(0x0, 0x0, 0x0) sendmsg$AUDIT_USER_TTY(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000100)=ANY=[@ANYRES64], 0x1}}, 0x0) r0 = creat(&(0x7f00000002c0)='./bus\x00', 0x0) sched_rr_get_interval(0x0, 0x0) ioctl$FS_IOC_SETVERSION(r0, 0xc0c0583b, &(0x7f0000000080)) pipe(&(0x7f00000000c0)) socket$nl_netfilter(0x10, 0x3, 0xc) [ 540.947712][T32419] ubi0: scanning is finished 20:15:30 executing program 5: mkdirat(0xffffffffffffff9c, &(0x7f0000000140)='./file0\x00', 0x0) mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.net/syz1\x00', 0x1ff) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mount$fuse(0x20000000, 0x0, 0x0, 0x7a04, 0x0) semctl$SETALL(0x0, 0x0, 0x11, 0x0) semop(0x0, 0x0, 0x0) sendmsg$AUDIT_USER_TTY(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000100)=ANY=[@ANYRES64], 0x1}}, 0x0) r0 = creat(&(0x7f00000002c0)='./bus\x00', 0x0) sched_rr_get_interval(0x0, 0x0) ioctl$FS_IOC_SETVERSION(r0, 0xc0c0583b, &(0x7f0000000080)) pipe(&(0x7f00000000c0)) socket$nl_netfilter(0x10, 0x3, 0xc) [ 541.009849][T32419] ubi0: attached mtd0 (name "mtdram test device", size 0 MiB) [ 541.020708][T32430] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.1'. [ 541.039692][T32419] ubi0: PEB size: 4096 bytes (4 KiB), LEB size: 3968 bytes 20:15:30 executing program 3: socket(0x10, 0x3, 0x0) r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000040)='/dev/fb0\x00', 0x0, 0x0) lseek(r0, 0x0, 0x2) fcntl$getownex(r0, 0x10, &(0x7f0000000000)={0x0, 0x0}) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x680, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, @perf_bp={&(0x7f0000000080), 0x4}, 0x0, 0x0, 0x4, 0x9, 0x7ff}, r1, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) ioctl$ASHMEM_GET_SIZE(r2, 0x40186f40, 0x76006e) r3 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) ioctl$ASHMEM_GET_SIZE(r3, 0x40046f41, 0x76006e) ioctl$DRM_IOCTL_SG_ALLOC(0xffffffffffffffff, 0xc0106438, &(0x7f0000000100)={0x5}) openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) fcntl$setstatus(0xffffffffffffffff, 0x4, 0x46000) ioctl$KVM_GET_IRQCHIP(0xffffffffffffffff, 0xc208ae62, 0x0) creat(&(0x7f0000000040)='./bus\x00', 0x0) io_setup(0xc32f, &(0x7f0000001140)=0x0) io_submit(0x0, 0x1, &(0x7f0000000540)=[0x0]) io_submit(r4, 0x0, &(0x7f0000000540)) write$FUSE_NOTIFY_DELETE(0xffffffffffffffff, 0x0, 0x0) [ 541.086558][T32419] ubi0: min./max. I/O unit sizes: 1/64, sub-page size 1 [ 541.146626][T32419] ubi0: VID header offset: 64 (aligned 64), data offset: 128 [ 541.164053][T32419] ubi0: good PEBs: 32, bad PEBs: 0, corrupted PEBs: 0 [ 541.189335][T32419] ubi0: user volume: 0, internal volumes: 1, max. volumes count: 23 [ 541.197384][T32419] ubi0: max/mean erase counter: 1/1, WL threshold: 4096, image sequence number: 1729649676 [ 541.211397][T32419] ubi0: available PEBs: 28, total reserved PEBs: 4, PEBs reserved for bad PEB handling: 0 [ 541.223410][T32428] ubi0: background thread "ubi_bgt0d" started, PID 32428 [ 541.234426][T32422] ubi0: detaching mtd0 [ 541.244813][T32422] ubi0: mtd0 is detached [ 541.253561][T32437] ubi0: attaching mtd0 [ 541.258739][T32437] ubi0: scanning is finished [ 541.284815][T32437] ubi0: attached mtd0 (name "mtdram test device", size 0 MiB) [ 541.300609][T32437] ubi0: PEB size: 4096 bytes (4 KiB), LEB size: 3968 bytes [ 541.307909][T32437] ubi0: min./max. I/O unit sizes: 1/64, sub-page size 1 [ 541.329005][T32437] ubi0: VID header offset: 64 (aligned 64), data offset: 128 [ 541.336433][T32437] ubi0: good PEBs: 32, bad PEBs: 0, corrupted PEBs: 0 20:15:30 executing program 4: socket(0x10, 0x3, 0x0) r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000040)='/dev/fb0\x00', 0x0, 0x0) lseek(r0, 0x0, 0x2) fcntl$getownex(r0, 0x10, &(0x7f0000000000)={0x0, 0x0}) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x680, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, @perf_bp={&(0x7f0000000080), 0x4}, 0x0, 0x0, 0x4, 0x9, 0x7ff}, r1, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) ioctl$ASHMEM_GET_SIZE(r2, 0x40186f40, 0x76006e) r3 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) ioctl$ASHMEM_GET_SIZE(r3, 0x40046f41, 0x76006e) ioctl$DRM_IOCTL_SG_ALLOC(0xffffffffffffffff, 0xc0106438, &(0x7f0000000100)={0x5}) openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) fcntl$setstatus(0xffffffffffffffff, 0x4, 0x46000) ioctl$KVM_GET_IRQCHIP(0xffffffffffffffff, 0xc208ae62, 0x0) creat(&(0x7f0000000040)='./bus\x00', 0x0) io_setup(0xc32f, &(0x7f0000001140)=0x0) io_submit(0x0, 0x1, &(0x7f0000000540)=[0x0]) io_submit(r4, 0x0, &(0x7f0000000540)) write$FUSE_NOTIFY_DELETE(0xffffffffffffffff, 0x0, 0x0) 20:15:30 executing program 0: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet6(0xa, 0x1, 0x0) connect$inet6(r1, &(0x7f0000000040)={0xa, 0x0, 0x0, @remote, 0x3}, 0x1c) recvmmsg(r1, &(0x7f0000001940), 0x173, 0x0, 0x0) r2 = fcntl$dupfd(r1, 0x0, r1) connect$unix(r2, &(0x7f0000000180)=@abs, 0x6e) sendmsg$DEVLINK_CMD_SB_PORT_POOL_SET(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000a80)=ANY=[@ANYRES32, @ANYRES16=r2, @ANYRES16=0x0], 0x188}, 0x1, 0x0, 0x0, 0x200480d0}, 0x400c080) ioctl$GIO_FONTX(r0, 0x4b6b, &(0x7f0000000000)={0x129, 0xb, &(0x7f00000004c0)}) r3 = perf_event_open(&(0x7f0000000300)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, 0xffffffffffffffff) fsync(r3) ioctl$KVM_SET_SIGNAL_MASK(0xffffffffffffffff, 0x4004ae8b, 0x0) clone(0x20002100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r4 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r4, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r4, 0x1) syz_emit_ethernet(0xbd, &(0x7f0000000380)=ANY=[@ANYBLOB="aaaaaaaaaaaa500d1ab3fb8686dd6000000000870600fe8000000000000000000000000000bbfe8000000000000000000000000000aa00004e22", @ANYRES32=0x41424344, @ANYBLOB="60000000907800000204000045f4851dedc4be21b799307db718ede79215c2421e829cde2511a25eee59dd416658451e2221e02a7e4bb5c54259ba4e71ac61f3fd3bef79be08ae876a5329ff010000000000000cd75a80900af7851880ba57cf4b1e1d81ad9fc7006b7a7005e347e3941379bfa383cee908ac1445"], 0x0) 20:15:30 executing program 2: r0 = socket(0x1e, 0x5, 0x0) connect$tipc(r0, &(0x7f0000000080)=@name={0x1e, 0x2, 0x0, {{0x1, 0x1}}}, 0x10) 20:15:30 executing program 1: madvise(&(0x7f0000bdc000/0x4000)=nil, 0x86ac726dff2f4713, 0xf) 20:15:30 executing program 5: r0 = syz_mount_image$iso9660(&(0x7f0000000000)='iso9660\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="01434430303101004c494e55582020202020202020202020202020202020202020202020202020204344524f4d2020202020202020202020202020202020202020202020202020200000000000000000bf000000000000bf000000000000000000000000000000000000000000000000000000000000000001000001010000010008080018000000000000181400000000000000000000160000000022001c", 0x9f, 0x8000}, {&(0x7f0000010600)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020002000200020002000200020002000200000000000000000bf000000000000bf252f", 0x5a, 0x8800}, {&(0x7f0000011100)="88001c0000000000001c00080000000008007809140b2a3a0802000001000001010053500701beef005252050181505824016d4100000000416d03000000000000030000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a0843451c0120000000000000200000000000000000ed000000000000ed66001c0000000000001c00080000000008007809140b2a3a080200000100000101015252050181505824016d4100000000416d02000000000000020000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a08008c00210000000000002164000000000000647809140b2a3a08000000010000010a46494c452e434f4c3b310041410e0254455854756e6978000052520501894e4d0e010066696c652e636f6c64505824016d8100000000816d01000000000000010000000000000000000000000000000054461a", 0x162, 0xe000}], 0x0, &(0x7f0000000080)) getdents64(r0, &(0x7f0000000380)=""/183, 0xb7) [ 541.359030][T32437] ubi0: user volume: 0, internal volumes: 1, max. volumes count: 23 [ 541.389535][T32437] ubi0: max/mean erase counter: 1/1, WL threshold: 4096, image sequence number: 1729649676 20:15:30 executing program 2: r0 = socket(0x1e, 0x5, 0x0) connect$tipc(r0, &(0x7f0000000080)=@name={0x1e, 0x2, 0x0, {{0x1, 0x1}}}, 0x10) 20:15:31 executing program 1: madvise(&(0x7f0000bdc000/0x4000)=nil, 0x86ac726dff2f4713, 0xf) [ 541.426334][T32437] ubi0: available PEBs: 28, total reserved PEBs: 4, PEBs reserved for bad PEB handling: 0 [ 541.440616][T32444] ubi0: background thread "ubi_bgt0d" started, PID 32444 [ 541.447700][T32439] ubi0: detaching mtd0 [ 541.459358][T32439] ubi0: mtd0 is detached [ 541.464088][T32455] ubi0: attaching mtd0 20:15:31 executing program 1: madvise(&(0x7f0000bdc000/0x4000)=nil, 0x86ac726dff2f4713, 0xf) 20:15:31 executing program 2: r0 = socket(0x1e, 0x5, 0x0) connect$tipc(r0, &(0x7f0000000080)=@name={0x1e, 0x2, 0x0, {{0x1, 0x1}}}, 0x10) [ 541.495414][T32455] ubi0: scanning is finished 20:15:31 executing program 5: r0 = syz_mount_image$iso9660(&(0x7f0000000000)='iso9660\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="01434430303101004c494e55582020202020202020202020202020202020202020202020202020204344524f4d2020202020202020202020202020202020202020202020202020200000000000000000bf000000000000bf000000000000000000000000000000000000000000000000000000000000000001000001010000010008080018000000000000181400000000000000000000160000000022001c", 0x9f, 0x8000}, {&(0x7f0000010600)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020002000200020002000200020002000200000000000000000bf000000000000bf252f", 0x5a, 0x8800}, {&(0x7f0000011100)="88001c0000000000001c00080000000008007809140b2a3a0802000001000001010053500701beef005252050181505824016d4100000000416d03000000000000030000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a0843451c0120000000000000200000000000000000ed000000000000ed66001c0000000000001c00080000000008007809140b2a3a080200000100000101015252050181505824016d4100000000416d02000000000000020000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a08008c00210000000000002164000000000000647809140b2a3a08000000010000010a46494c452e434f4c3b310041410e0254455854756e6978000052520501894e4d0e010066696c652e636f6c64505824016d8100000000816d01000000000000010000000000000000000000000000000054461a", 0x162, 0xe000}], 0x0, &(0x7f0000000080)) getdents64(r0, &(0x7f0000000380)=""/183, 0xb7) 20:15:31 executing program 0: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet6(0xa, 0x1, 0x0) connect$inet6(r1, &(0x7f0000000040)={0xa, 0x0, 0x0, @remote, 0x3}, 0x1c) recvmmsg(r1, &(0x7f0000001940), 0x173, 0x0, 0x0) r2 = fcntl$dupfd(r1, 0x0, r1) connect$unix(r2, &(0x7f0000000180)=@abs, 0x6e) sendmsg$DEVLINK_CMD_SB_PORT_POOL_SET(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000a80)=ANY=[@ANYRES32, @ANYRES16=r2, @ANYRES16=0x0], 0x188}, 0x1, 0x0, 0x0, 0x200480d0}, 0x400c080) ioctl$GIO_FONTX(r0, 0x4b6b, &(0x7f0000000000)={0x129, 0xb, &(0x7f00000004c0)}) r3 = perf_event_open(&(0x7f0000000300)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, 0xffffffffffffffff) fsync(r3) ioctl$KVM_SET_SIGNAL_MASK(0xffffffffffffffff, 0x4004ae8b, 0x0) clone(0x20002100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r4 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r4, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r4, 0x1) syz_emit_ethernet(0xbd, &(0x7f0000000380)=ANY=[@ANYBLOB="aaaaaaaaaaaa500d1ab3fb8686dd6000000000870600fe8000000000000000000000000000bbfe8000000000000000000000000000aa00004e22", @ANYRES32=0x41424344, @ANYBLOB="60000000907800000204000045f4851dedc4be21b799307db718ede79215c2421e829cde2511a25eee59dd416658451e2221e02a7e4bb5c54259ba4e71ac61f3fd3bef79be08ae876a5329ff010000000000000cd75a80900af7851880ba57cf4b1e1d81ad9fc7006b7a7005e347e3941379bfa383cee908ac1445"], 0x0) [ 541.545453][T32455] ubi0: attached mtd0 (name "mtdram test device", size 0 MiB) [ 541.553111][T32455] ubi0: PEB size: 4096 bytes (4 KiB), LEB size: 3968 bytes [ 541.561415][T32455] ubi0: min./max. I/O unit sizes: 1/64, sub-page size 1 [ 541.568479][T32455] ubi0: VID header offset: 64 (aligned 64), data offset: 128 [ 541.581580][T32455] ubi0: good PEBs: 32, bad PEBs: 0, corrupted PEBs: 0 20:15:31 executing program 3: socket(0x10, 0x3, 0x0) r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000040)='/dev/fb0\x00', 0x0, 0x0) lseek(r0, 0x0, 0x2) fcntl$getownex(r0, 0x10, &(0x7f0000000000)={0x0, 0x0}) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x680, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, @perf_bp={&(0x7f0000000080), 0x4}, 0x0, 0x0, 0x4, 0x9, 0x7ff}, r1, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) ioctl$ASHMEM_GET_SIZE(r2, 0x40186f40, 0x76006e) r3 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) ioctl$ASHMEM_GET_SIZE(r3, 0x40046f41, 0x76006e) ioctl$DRM_IOCTL_SG_ALLOC(0xffffffffffffffff, 0xc0106438, &(0x7f0000000100)={0x5}) openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) fcntl$setstatus(0xffffffffffffffff, 0x4, 0x46000) ioctl$KVM_GET_IRQCHIP(0xffffffffffffffff, 0xc208ae62, 0x0) creat(&(0x7f0000000040)='./bus\x00', 0x0) io_setup(0xc32f, &(0x7f0000001140)=0x0) io_submit(0x0, 0x1, &(0x7f0000000540)=[0x0]) io_submit(r4, 0x0, &(0x7f0000000540)) write$FUSE_NOTIFY_DELETE(0xffffffffffffffff, 0x0, 0x0) [ 541.596349][T32455] ubi0: user volume: 0, internal volumes: 1, max. volumes count: 23 [ 541.611742][T32455] ubi0: max/mean erase counter: 1/1, WL threshold: 4096, image sequence number: 1729649676 [ 541.625804][T32455] ubi0: available PEBs: 28, total reserved PEBs: 4, PEBs reserved for bad PEB handling: 0 [ 541.653675][T32467] ubi0: background thread "ubi_bgt0d" started, PID 32467 [ 541.670717][T32463] ubi0: detaching mtd0 [ 541.683610][T32463] ubi0: mtd0 is detached [ 541.688087][T32481] ubi0: attaching mtd0 [ 541.694902][T32481] ubi0: scanning is finished [ 541.707195][T32481] ubi0: attached mtd0 (name "mtdram test device", size 0 MiB) [ 541.716478][T32481] ubi0: PEB size: 4096 bytes (4 KiB), LEB size: 3968 bytes [ 541.733675][T32481] ubi0: min./max. I/O unit sizes: 1/64, sub-page size 1 [ 541.742926][T32481] ubi0: VID header offset: 64 (aligned 64), data offset: 128 [ 541.750574][T32481] ubi0: good PEBs: 32, bad PEBs: 0, corrupted PEBs: 0 20:15:31 executing program 4: socket(0x10, 0x3, 0x0) r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000040)='/dev/fb0\x00', 0x0, 0x0) lseek(r0, 0x0, 0x2) fcntl$getownex(r0, 0x10, &(0x7f0000000000)={0x0, 0x0}) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x680, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, @perf_bp={&(0x7f0000000080), 0x4}, 0x0, 0x0, 0x4, 0x9, 0x7ff}, r1, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) ioctl$ASHMEM_GET_SIZE(r2, 0x40186f40, 0x76006e) r3 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) ioctl$ASHMEM_GET_SIZE(r3, 0x40046f41, 0x76006e) ioctl$DRM_IOCTL_SG_ALLOC(0xffffffffffffffff, 0xc0106438, &(0x7f0000000100)={0x5}) openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) fcntl$setstatus(0xffffffffffffffff, 0x4, 0x46000) ioctl$KVM_GET_IRQCHIP(0xffffffffffffffff, 0xc208ae62, 0x0) creat(&(0x7f0000000040)='./bus\x00', 0x0) io_setup(0xc32f, &(0x7f0000001140)=0x0) io_submit(0x0, 0x1, &(0x7f0000000540)=[0x0]) io_submit(r4, 0x0, &(0x7f0000000540)) write$FUSE_NOTIFY_DELETE(0xffffffffffffffff, 0x0, 0x0) 20:15:31 executing program 1: madvise(&(0x7f0000bdc000/0x4000)=nil, 0x86ac726dff2f4713, 0xf) 20:15:31 executing program 2: r0 = socket(0x1e, 0x5, 0x0) connect$tipc(r0, &(0x7f0000000080)=@name={0x1e, 0x2, 0x0, {{0x1, 0x1}}}, 0x10) 20:15:31 executing program 5: r0 = syz_mount_image$iso9660(&(0x7f0000000000)='iso9660\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="01434430303101004c494e55582020202020202020202020202020202020202020202020202020204344524f4d2020202020202020202020202020202020202020202020202020200000000000000000bf000000000000bf000000000000000000000000000000000000000000000000000000000000000001000001010000010008080018000000000000181400000000000000000000160000000022001c", 0x9f, 0x8000}, {&(0x7f0000010600)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020002000200020002000200020002000200000000000000000bf000000000000bf252f", 0x5a, 0x8800}, {&(0x7f0000011100)="88001c0000000000001c00080000000008007809140b2a3a0802000001000001010053500701beef005252050181505824016d4100000000416d03000000000000030000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a0843451c0120000000000000200000000000000000ed000000000000ed66001c0000000000001c00080000000008007809140b2a3a080200000100000101015252050181505824016d4100000000416d02000000000000020000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a08008c00210000000000002164000000000000647809140b2a3a08000000010000010a46494c452e434f4c3b310041410e0254455854756e6978000052520501894e4d0e010066696c652e636f6c64505824016d8100000000816d01000000000000010000000000000000000000000000000054461a", 0x162, 0xe000}], 0x0, &(0x7f0000000080)) getdents64(r0, &(0x7f0000000380)=""/183, 0xb7) 20:15:31 executing program 0: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet6(0xa, 0x1, 0x0) connect$inet6(r1, &(0x7f0000000040)={0xa, 0x0, 0x0, @remote, 0x3}, 0x1c) recvmmsg(r1, &(0x7f0000001940), 0x173, 0x0, 0x0) r2 = fcntl$dupfd(r1, 0x0, r1) connect$unix(r2, &(0x7f0000000180)=@abs, 0x6e) sendmsg$DEVLINK_CMD_SB_PORT_POOL_SET(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000a80)=ANY=[@ANYRES32, @ANYRES16=r2, @ANYRES16=0x0], 0x188}, 0x1, 0x0, 0x0, 0x200480d0}, 0x400c080) ioctl$GIO_FONTX(r0, 0x4b6b, &(0x7f0000000000)={0x129, 0xb, &(0x7f00000004c0)}) r3 = perf_event_open(&(0x7f0000000300)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, 0xffffffffffffffff) fsync(r3) ioctl$KVM_SET_SIGNAL_MASK(0xffffffffffffffff, 0x4004ae8b, 0x0) clone(0x20002100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r4 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r4, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r4, 0x1) syz_emit_ethernet(0xbd, &(0x7f0000000380)=ANY=[@ANYBLOB="aaaaaaaaaaaa500d1ab3fb8686dd6000000000870600fe8000000000000000000000000000bbfe8000000000000000000000000000aa00004e22", @ANYRES32=0x41424344, @ANYBLOB="60000000907800000204000045f4851dedc4be21b799307db718ede79215c2421e829cde2511a25eee59dd416658451e2221e02a7e4bb5c54259ba4e71ac61f3fd3bef79be08ae876a5329ff010000000000000cd75a80900af7851880ba57cf4b1e1d81ad9fc7006b7a7005e347e3941379bfa383cee908ac1445"], 0x0) [ 541.757526][T32481] ubi0: user volume: 0, internal volumes: 1, max. volumes count: 23 [ 541.767476][T32481] ubi0: max/mean erase counter: 1/1, WL threshold: 4096, image sequence number: 1729649676 [ 541.793063][T32481] ubi0: available PEBs: 28, total reserved PEBs: 4, PEBs reserved for bad PEB handling: 0 20:15:31 executing program 1: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet6(0xa, 0x1, 0x0) connect$inet6(r1, &(0x7f0000000040)={0xa, 0x0, 0x0, @remote, 0x3}, 0x1c) recvmmsg(r1, &(0x7f0000001940), 0x173, 0x0, 0x0) r2 = fcntl$dupfd(r1, 0x0, r1) connect$unix(r2, &(0x7f0000000180)=@abs, 0x6e) sendmsg$DEVLINK_CMD_SB_PORT_POOL_SET(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000a80)=ANY=[@ANYRES32, @ANYRES16=r2, @ANYRES16=0x0], 0x188}, 0x1, 0x0, 0x0, 0x200480d0}, 0x400c080) ioctl$GIO_FONTX(r0, 0x4b6b, &(0x7f0000000000)={0x129, 0xb, &(0x7f00000004c0)}) r3 = perf_event_open(&(0x7f0000000300)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, 0xffffffffffffffff) fsync(r3) ioctl$KVM_SET_SIGNAL_MASK(0xffffffffffffffff, 0x4004ae8b, 0x0) clone(0x20002100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r4 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r4, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r4, 0x1) syz_emit_ethernet(0xbd, &(0x7f0000000380)=ANY=[@ANYBLOB="aaaaaaaaaaaa500d1ab3fb8686dd6000000000870600fe8000000000000000000000000000bbfe8000000000000000000000000000aa00004e22", @ANYRES32=0x41424344, @ANYBLOB="60000000907800000204000045f4851dedc4be21b799307db718ede79215c2421e829cde2511a25eee59dd416658451e2221e02a7e4bb5c54259ba4e71ac61f3fd3bef79be08ae876a5329ff010000000000000cd75a80900af7851880ba57cf4b1e1d81ad9fc7006b7a7005e347e3941379bfa383cee908ac1445"], 0x0) 20:15:31 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet6(0xa, 0x1, 0x0) connect$inet6(r1, &(0x7f0000000040)={0xa, 0x0, 0x0, @remote, 0x3}, 0x1c) recvmmsg(r1, &(0x7f0000001940), 0x173, 0x0, 0x0) r2 = fcntl$dupfd(r1, 0x0, r1) connect$unix(r2, &(0x7f0000000180)=@abs, 0x6e) sendmsg$DEVLINK_CMD_SB_PORT_POOL_SET(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000a80)=ANY=[@ANYRES32, @ANYRES16=r2, @ANYRES16=0x0], 0x188}, 0x1, 0x0, 0x0, 0x200480d0}, 0x400c080) ioctl$GIO_FONTX(r0, 0x4b6b, &(0x7f0000000000)={0x129, 0xb, &(0x7f00000004c0)}) r3 = perf_event_open(&(0x7f0000000300)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, 0xffffffffffffffff) fsync(r3) ioctl$KVM_SET_SIGNAL_MASK(0xffffffffffffffff, 0x4004ae8b, 0x0) clone(0x20002100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r4 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r4, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r4, 0x1) syz_emit_ethernet(0xbd, &(0x7f0000000380)=ANY=[@ANYBLOB="aaaaaaaaaaaa500d1ab3fb8686dd6000000000870600fe8000000000000000000000000000bbfe8000000000000000000000000000aa00004e22", @ANYRES32=0x41424344, @ANYBLOB="60000000907800000204000045f4851dedc4be21b799307db718ede79215c2421e829cde2511a25eee59dd416658451e2221e02a7e4bb5c54259ba4e71ac61f3fd3bef79be08ae876a5329ff010000000000000cd75a80900af7851880ba57cf4b1e1d81ad9fc7006b7a7005e347e3941379bfa383cee908ac1445"], 0x0) [ 541.835067][T32487] ubi0: background thread "ubi_bgt0d" started, PID 32487 [ 541.844228][T32489] ubi0: detaching mtd0 [ 541.860867][T32489] ubi0: mtd0 is detached 20:15:31 executing program 5: r0 = syz_mount_image$iso9660(&(0x7f0000000000)='iso9660\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="01434430303101004c494e55582020202020202020202020202020202020202020202020202020204344524f4d2020202020202020202020202020202020202020202020202020200000000000000000bf000000000000bf000000000000000000000000000000000000000000000000000000000000000001000001010000010008080018000000000000181400000000000000000000160000000022001c", 0x9f, 0x8000}, {&(0x7f0000010600)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020002000200020002000200020002000200000000000000000bf000000000000bf252f", 0x5a, 0x8800}, {&(0x7f0000011100)="88001c0000000000001c00080000000008007809140b2a3a0802000001000001010053500701beef005252050181505824016d4100000000416d03000000000000030000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a0843451c0120000000000000200000000000000000ed000000000000ed66001c0000000000001c00080000000008007809140b2a3a080200000100000101015252050181505824016d4100000000416d02000000000000020000000000000000000000000000000054461a010e7809140b2a3a087809140b2a3a087809140b2a3a08008c00210000000000002164000000000000647809140b2a3a08000000010000010a46494c452e434f4c3b310041410e0254455854756e6978000052520501894e4d0e010066696c652e636f6c64505824016d8100000000816d01000000000000010000000000000000000000000000000054461a", 0x162, 0xe000}], 0x0, &(0x7f0000000080)) getdents64(r0, &(0x7f0000000380)=""/183, 0xb7) 20:15:31 executing program 3: socket(0x10, 0x3, 0x0) r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000040)='/dev/fb0\x00', 0x0, 0x0) lseek(r0, 0x0, 0x2) fcntl$getownex(r0, 0x10, &(0x7f0000000000)={0x0, 0x0}) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x680, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, @perf_bp={&(0x7f0000000080), 0x4}, 0x0, 0x0, 0x4, 0x9, 0x7ff}, r1, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) ioctl$ASHMEM_GET_SIZE(r2, 0x40186f40, 0x76006e) r3 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) ioctl$ASHMEM_GET_SIZE(r3, 0x40046f41, 0x76006e) ioctl$DRM_IOCTL_SG_ALLOC(0xffffffffffffffff, 0xc0106438, &(0x7f0000000100)={0x5}) openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x0, 0x0) fcntl$setstatus(0xffffffffffffffff, 0x4, 0x46000) ioctl$KVM_GET_IRQCHIP(0xffffffffffffffff, 0xc208ae62, 0x0) creat(&(0x7f0000000040)='./bus\x00', 0x0) io_setup(0xc32f, &(0x7f0000001140)=0x0) io_submit(0x0, 0x1, &(0x7f0000000540)=[0x0]) io_submit(r4, 0x0, &(0x7f0000000540)) write$FUSE_NOTIFY_DELETE(0xffffffffffffffff, 0x0, 0x0) 20:15:31 executing program 0: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet6(0xa, 0x1, 0x0) connect$inet6(r1, &(0x7f0000000040)={0xa, 0x0, 0x0, @remote, 0x3}, 0x1c) recvmmsg(r1, &(0x7f0000001940), 0x173, 0x0, 0x0) r2 = fcntl$dupfd(r1, 0x0, r1) connect$unix(r2, &(0x7f0000000180)=@abs, 0x6e) sendmsg$DEVLINK_CMD_SB_PORT_POOL_SET(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000a80)=ANY=[@ANYRES32, @ANYRES16=r2, @ANYRES16=0x0], 0x188}, 0x1, 0x0, 0x0, 0x200480d0}, 0x400c080) ioctl$GIO_FONTX(r0, 0x4b6b, &(0x7f0000000000)={0x129, 0xb, &(0x7f00000004c0)}) r3 = perf_event_open(&(0x7f0000000300)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, 0xffffffffffffffff) fsync(r3) ioctl$KVM_SET_SIGNAL_MASK(0xffffffffffffffff, 0x4004ae8b, 0x0) clone(0x20002100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r4 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r4, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r4, 0x1) syz_emit_ethernet(0xbd, &(0x7f0000000380)=ANY=[@ANYBLOB="aaaaaaaaaaaa500d1ab3fb8686dd6000000000870600fe8000000000000000000000000000bbfe8000000000000000000000000000aa00004e22", @ANYRES32=0x41424344, @ANYBLOB="60000000907800000204000045f4851dedc4be21b799307db718ede79215c2421e829cde2511a25eee59dd416658451e2221e02a7e4bb5c54259ba4e71ac61f3fd3bef79be08ae876a5329ff010000000000000cd75a80900af7851880ba57cf4b1e1d81ad9fc7006b7a7005e347e3941379bfa383cee908ac1445"], 0x0) [ 541.912781][T32505] ubi0: attaching mtd0 [ 541.921913][T32505] ubi0: scanning is finished [ 541.935867][T32505] ubi0: attached mtd0 (name "mtdram test device", size 0 MiB) [ 541.944622][T32505] ubi0: PEB size: 4096 bytes (4 KiB), LEB size: 3968 bytes [ 541.992531][T32505] ubi0: min./max. I/O unit sizes: 1/64, sub-page size 1 [ 542.018054][T32505] ubi0: VID header offset: 64 (aligned 64), data offset: 128 20:15:31 executing program 1: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet6(0xa, 0x1, 0x0) connect$inet6(r1, &(0x7f0000000040)={0xa, 0x0, 0x0, @remote, 0x3}, 0x1c) recvmmsg(r1, &(0x7f0000001940), 0x173, 0x0, 0x0) r2 = fcntl$dupfd(r1, 0x0, r1) connect$unix(r2, &(0x7f0000000180)=@abs, 0x6e) sendmsg$DEVLINK_CMD_SB_PORT_POOL_SET(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000a80)=ANY=[@ANYRES32, @ANYRES16=r2, @ANYRES16=0x0], 0x188}, 0x1, 0x0, 0x0, 0x200480d0}, 0x400c080) ioctl$GIO_FONTX(r0, 0x4b6b, &(0x7f0000000000)={0x129, 0xb, &(0x7f00000004c0)}) r3 = perf_event_open(&(0x7f0000000300)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, 0xffffffffffffffff) fsync(r3) ioctl$KVM_SET_SIGNAL_MASK(0xffffffffffffffff, 0x4004ae8b, 0x0) clone(0x20002100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r4 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r4, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r4, 0x1) syz_emit_ethernet(0xbd, &(0x7f0000000380)=ANY=[@ANYBLOB="aaaaaaaaaaaa500d1ab3fb8686dd6000000000870600fe8000000000000000000000000000bbfe8000000000000000000000000000aa00004e22", @ANYRES32=0x41424344, @ANYBLOB="60000000907800000204000045f4851dedc4be21b799307db718ede79215c2421e829cde2511a25eee59dd416658451e2221e02a7e4bb5c54259ba4e71ac61f3fd3bef79be08ae876a5329ff010000000000000cd75a80900af7851880ba57cf4b1e1d81ad9fc7006b7a7005e347e3941379bfa383cee908ac1445"], 0x0) 20:15:31 executing program 5: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet6(0xa, 0x1, 0x0) connect$inet6(r1, &(0x7f0000000040)={0xa, 0x0, 0x0, @remote, 0x3}, 0x1c) recvmmsg(r1, &(0x7f0000001940), 0x173, 0x0, 0x0) r2 = fcntl$dupfd(r1, 0x0, r1) connect$unix(r2, &(0x7f0000000180)=@abs, 0x6e) sendmsg$DEVLINK_CMD_SB_PORT_POOL_SET(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000a80)=ANY=[@ANYRES32, @ANYRES16=r2, @ANYRES16=0x0], 0x188}, 0x1, 0x0, 0x0, 0x200480d0}, 0x400c080) ioctl$GIO_FONTX(r0, 0x4b6b, &(0x7f0000000000)={0x129, 0xb, &(0x7f00000004c0)}) r3 = perf_event_open(&(0x7f0000000300)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, 0xffffffffffffffff) fsync(r3) ioctl$KVM_SET_SIGNAL_MASK(0xffffffffffffffff, 0x4004ae8b, 0x0) clone(0x20002100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r4 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r4, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r4, 0x1) syz_emit_ethernet(0xbd, &(0x7f0000000380)=ANY=[@ANYBLOB="aaaaaaaaaaaa500d1ab3fb8686dd6000000000870600fe8000000000000000000000000000bbfe8000000000000000000000000000aa00004e22", @ANYRES32=0x41424344, @ANYBLOB="60000000907800000204000045f4851dedc4be21b799307db718ede79215c2421e829cde2511a25eee59dd416658451e2221e02a7e4bb5c54259ba4e71ac61f3fd3bef79be08ae876a5329ff010000000000000cd75a80900af7851880ba57cf4b1e1d81ad9fc7006b7a7005e347e3941379bfa383cee908ac1445"], 0x0) [ 542.051079][T32505] ubi0: good PEBs: 32, bad PEBs: 0, corrupted PEBs: 0 [ 542.057936][T32505] ubi0: user volume: 0, internal volumes: 1, max. volumes count: 23 [ 542.073008][T32505] ubi0: max/mean erase counter: 1/1, WL threshold: 4096, image sequence number: 1729649676 [ 542.084413][T32505] ubi0: available PEBs: 28, total reserved PEBs: 4, PEBs reserved for bad PEB handling: 0 [ 542.094934][T32511] ubi0: background thread "ubi_bgt0d" started, PID 32511 [ 542.102309][T32514] ubi0: detaching mtd0 [ 542.107503][T32514] ubi0: mtd0 is detached [ 542.112163][T32524] ubi0: attaching mtd0 [ 542.116974][T32524] ubi0: scanning is finished [ 542.163623][T32524] ubi0: attached mtd0 (name "mtdram test device", size 0 MiB) [ 542.186866][T32524] ubi0: PEB size: 4096 bytes (4 KiB), LEB size: 3968 bytes 20:15:31 executing program 0: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000440)={0xffffffffffffffff}) r1 = dup2(r0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_mount_image$f2fs(&(0x7f0000000340)='f2fs\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000200)=[{&(0x7f0000010000)="1020f5f201000b0009000000030000000c0000000900000002000000010000000000000000400000000000000b0000001e0000000206000002000000020000000200000016000000000400000004000000080000000c00000010000000140000030000000100000002", 0x69, 0x400}, {0x0, 0x0, 0x400000}], 0x0, &(0x7f0000014900)) 20:15:31 executing program 4: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000080)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x40, 0x28bd, 0x55, 0x0, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x9, 0x3, 0x0, 0x0, 0x0, {0x9, 0x21, 0x0, 0x0, 0x1, {0x22, 0x29}}}}]}}]}}, 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, &(0x7f0000000540)={0x24, &(0x7f0000000180)=ANY=[@ANYBLOB='\x00\x00)'], 0x0, 0x0, 0x0}, 0x0) 20:15:31 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet6(0xa, 0x1, 0x0) connect$inet6(r1, &(0x7f0000000040)={0xa, 0x0, 0x0, @remote, 0x3}, 0x1c) recvmmsg(r1, &(0x7f0000001940), 0x173, 0x0, 0x0) r2 = fcntl$dupfd(r1, 0x0, r1) connect$unix(r2, &(0x7f0000000180)=@abs, 0x6e) sendmsg$DEVLINK_CMD_SB_PORT_POOL_SET(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000a80)=ANY=[@ANYRES32, @ANYRES16=r2, @ANYRES16=0x0], 0x188}, 0x1, 0x0, 0x0, 0x200480d0}, 0x400c080) ioctl$GIO_FONTX(r0, 0x4b6b, &(0x7f0000000000)={0x129, 0xb, &(0x7f00000004c0)}) r3 = perf_event_open(&(0x7f0000000300)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, 0xffffffffffffffff) fsync(r3) ioctl$KVM_SET_SIGNAL_MASK(0xffffffffffffffff, 0x4004ae8b, 0x0) clone(0x20002100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r4 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r4, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r4, 0x1) syz_emit_ethernet(0xbd, &(0x7f0000000380)=ANY=[@ANYBLOB="aaaaaaaaaaaa500d1ab3fb8686dd6000000000870600fe8000000000000000000000000000bbfe8000000000000000000000000000aa00004e22", @ANYRES32=0x41424344, @ANYBLOB="60000000907800000204000045f4851dedc4be21b799307db718ede79215c2421e829cde2511a25eee59dd416658451e2221e02a7e4bb5c54259ba4e71ac61f3fd3bef79be08ae876a5329ff010000000000000cd75a80900af7851880ba57cf4b1e1d81ad9fc7006b7a7005e347e3941379bfa383cee908ac1445"], 0x0) 20:15:31 executing program 5: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet6(0xa, 0x1, 0x0) connect$inet6(r1, &(0x7f0000000040)={0xa, 0x0, 0x0, @remote, 0x3}, 0x1c) recvmmsg(r1, &(0x7f0000001940), 0x173, 0x0, 0x0) r2 = fcntl$dupfd(r1, 0x0, r1) connect$unix(r2, &(0x7f0000000180)=@abs, 0x6e) sendmsg$DEVLINK_CMD_SB_PORT_POOL_SET(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000a80)=ANY=[@ANYRES32, @ANYRES16=r2, @ANYRES16=0x0], 0x188}, 0x1, 0x0, 0x0, 0x200480d0}, 0x400c080) ioctl$GIO_FONTX(r0, 0x4b6b, &(0x7f0000000000)={0x129, 0xb, &(0x7f00000004c0)}) r3 = perf_event_open(&(0x7f0000000300)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, 0xffffffffffffffff) fsync(r3) ioctl$KVM_SET_SIGNAL_MASK(0xffffffffffffffff, 0x4004ae8b, 0x0) clone(0x20002100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r4 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r4, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r4, 0x1) syz_emit_ethernet(0xbd, &(0x7f0000000380)=ANY=[@ANYBLOB="aaaaaaaaaaaa500d1ab3fb8686dd6000000000870600fe8000000000000000000000000000bbfe8000000000000000000000000000aa00004e22", @ANYRES32=0x41424344, @ANYBLOB="60000000907800000204000045f4851dedc4be21b799307db718ede79215c2421e829cde2511a25eee59dd416658451e2221e02a7e4bb5c54259ba4e71ac61f3fd3bef79be08ae876a5329ff010000000000000cd75a80900af7851880ba57cf4b1e1d81ad9fc7006b7a7005e347e3941379bfa383cee908ac1445"], 0x0) 20:15:31 executing program 1: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet6(0xa, 0x1, 0x0) connect$inet6(r1, &(0x7f0000000040)={0xa, 0x0, 0x0, @remote, 0x3}, 0x1c) recvmmsg(r1, &(0x7f0000001940), 0x173, 0x0, 0x0) r2 = fcntl$dupfd(r1, 0x0, r1) connect$unix(r2, &(0x7f0000000180)=@abs, 0x6e) sendmsg$DEVLINK_CMD_SB_PORT_POOL_SET(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000a80)=ANY=[@ANYRES32, @ANYRES16=r2, @ANYRES16=0x0], 0x188}, 0x1, 0x0, 0x0, 0x200480d0}, 0x400c080) ioctl$GIO_FONTX(r0, 0x4b6b, &(0x7f0000000000)={0x129, 0xb, &(0x7f00000004c0)}) r3 = perf_event_open(&(0x7f0000000300)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, 0xffffffffffffffff) fsync(r3) ioctl$KVM_SET_SIGNAL_MASK(0xffffffffffffffff, 0x4004ae8b, 0x0) clone(0x20002100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r4 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r4, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r4, 0x1) syz_emit_ethernet(0xbd, &(0x7f0000000380)=ANY=[@ANYBLOB="aaaaaaaaaaaa500d1ab3fb8686dd6000000000870600fe8000000000000000000000000000bbfe8000000000000000000000000000aa00004e22", @ANYRES32=0x41424344, @ANYBLOB="60000000907800000204000045f4851dedc4be21b799307db718ede79215c2421e829cde2511a25eee59dd416658451e2221e02a7e4bb5c54259ba4e71ac61f3fd3bef79be08ae876a5329ff010000000000000cd75a80900af7851880ba57cf4b1e1d81ad9fc7006b7a7005e347e3941379bfa383cee908ac1445"], 0x0) [ 542.219078][T32524] ubi0: min./max. I/O unit sizes: 1/64, sub-page size 1 [ 542.231192][T32524] ubi0: VID header offset: 64 (aligned 64), data offset: 128 [ 542.248545][T32524] ubi0: good PEBs: 32, bad PEBs: 0, corrupted PEBs: 0 [ 542.278190][T32553] F2FS-fs (loop0): Wrong CP boundary, start(1024) end(2048) blocks(787456) [ 542.289290][T32524] ubi0: user volume: 0, internal volumes: 1, max. volumes count: 23 [ 542.297306][T32524] ubi0: max/mean erase counter: 1/1, WL threshold: 4096, image sequence number: 1729649676 [ 542.320076][T32553] F2FS-fs (loop0): Can't find valid F2FS filesystem in 1th superblock 20:15:31 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet6(0xa, 0x1, 0x0) connect$inet6(r1, &(0x7f0000000040)={0xa, 0x0, 0x0, @remote, 0x3}, 0x1c) recvmmsg(r1, &(0x7f0000001940), 0x173, 0x0, 0x0) r2 = fcntl$dupfd(r1, 0x0, r1) connect$unix(r2, &(0x7f0000000180)=@abs, 0x6e) sendmsg$DEVLINK_CMD_SB_PORT_POOL_SET(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000a80)=ANY=[@ANYRES32, @ANYRES16=r2, @ANYRES16=0x0], 0x188}, 0x1, 0x0, 0x0, 0x200480d0}, 0x400c080) ioctl$GIO_FONTX(r0, 0x4b6b, &(0x7f0000000000)={0x129, 0xb, &(0x7f00000004c0)}) r3 = perf_event_open(&(0x7f0000000300)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, 0xffffffffffffffff) fsync(r3) ioctl$KVM_SET_SIGNAL_MASK(0xffffffffffffffff, 0x4004ae8b, 0x0) clone(0x20002100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r4 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r4, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r4, 0x1) syz_emit_ethernet(0xbd, &(0x7f0000000380)=ANY=[@ANYBLOB="aaaaaaaaaaaa500d1ab3fb8686dd6000000000870600fe8000000000000000000000000000bbfe8000000000000000000000000000aa00004e22", @ANYRES32=0x41424344, @ANYBLOB="60000000907800000204000045f4851dedc4be21b799307db718ede79215c2421e829cde2511a25eee59dd416658451e2221e02a7e4bb5c54259ba4e71ac61f3fd3bef79be08ae876a5329ff010000000000000cd75a80900af7851880ba57cf4b1e1d81ad9fc7006b7a7005e347e3941379bfa383cee908ac1445"], 0x0) 20:15:32 executing program 5: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet6(0xa, 0x1, 0x0) connect$inet6(r1, &(0x7f0000000040)={0xa, 0x0, 0x0, @remote, 0x3}, 0x1c) recvmmsg(r1, &(0x7f0000001940), 0x173, 0x0, 0x0) r2 = fcntl$dupfd(r1, 0x0, r1) connect$unix(r2, &(0x7f0000000180)=@abs, 0x6e) sendmsg$DEVLINK_CMD_SB_PORT_POOL_SET(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000a80)=ANY=[@ANYRES32, @ANYRES16=r2, @ANYRES16=0x0], 0x188}, 0x1, 0x0, 0x0, 0x200480d0}, 0x400c080) ioctl$GIO_FONTX(r0, 0x4b6b, &(0x7f0000000000)={0x129, 0xb, &(0x7f00000004c0)}) r3 = perf_event_open(&(0x7f0000000300)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, 0xffffffffffffffff) fsync(r3) ioctl$KVM_SET_SIGNAL_MASK(0xffffffffffffffff, 0x4004ae8b, 0x0) clone(0x20002100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r4 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r4, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r4, 0x1) syz_emit_ethernet(0xbd, &(0x7f0000000380)=ANY=[@ANYBLOB="aaaaaaaaaaaa500d1ab3fb8686dd6000000000870600fe8000000000000000000000000000bbfe8000000000000000000000000000aa00004e22", @ANYRES32=0x41424344, @ANYBLOB="60000000907800000204000045f4851dedc4be21b799307db718ede79215c2421e829cde2511a25eee59dd416658451e2221e02a7e4bb5c54259ba4e71ac61f3fd3bef79be08ae876a5329ff010000000000000cd75a80900af7851880ba57cf4b1e1d81ad9fc7006b7a7005e347e3941379bfa383cee908ac1445"], 0x0) 20:15:32 executing program 1: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000040)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TIOCSETD(r0, 0x5423, &(0x7f00000000c0)=0x5) ioctl$TCFLSH(r0, 0x8926, 0x7fffffffefff) 20:15:32 executing program 0: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000440)={0xffffffffffffffff}) r1 = dup2(r0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_mount_image$f2fs(&(0x7f0000000340)='f2fs\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000200)=[{&(0x7f0000010000)="1020f5f201000b0009000000030000000c0000000900000002000000010000000000000000400000000000000b0000001e0000000206000002000000020000000200000016000000000400000004000000080000000c00000010000000140000030000000100000002", 0x69, 0x400}, {0x0, 0x0, 0x400000}], 0x0, &(0x7f0000014900)) 20:15:32 executing program 3: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket(0x200000000000011, 0x3, 0x0) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000080)={'gre0\x00', 0x0}) bind$packet(r0, &(0x7f0000000040)={0x11, 0x0, r1, 0x1, 0x0, 0x6, @random="747e905520af"}, 0x14) setsockopt$packet_int(r0, 0x107, 0x14, &(0x7f0000000180)=0x1000000000000020, 0x4) sendmmsg(r0, &(0x7f0000000d00), 0x400004e, 0x0) [ 542.345741][T32553] F2FS-fs (loop0): Magic Mismatch, valid(0xf2f52010) - read(0x0) [ 542.369029][T32553] F2FS-fs (loop0): Can't find valid F2FS filesystem in 2th superblock [ 542.377334][T32524] ubi0: available PEBs: 28, total reserved PEBs: 4, PEBs reserved for bad PEB handling: 0 [ 542.408313][T32545] ubi0: background thread "ubi_bgt0d" started, PID 32545 [ 542.408352][T32533] ubi0: detaching mtd0 [ 542.447919][T32533] ubi0: mtd0 is detached 20:15:32 executing program 2: move_pages(0x0, 0x1, &(0x7f00000000c0)=[&(0x7f0000075000/0x4000)=nil], &(0x7f000026bfec), 0xffffffffffffffff, 0x0) [ 542.570892][T32589] F2FS-fs (loop0): Wrong CP boundary, start(1024) end(2048) blocks(787456) [ 542.570935][T32586] mkiss: ax0: crc mode is auto. [ 542.579872][T32589] F2FS-fs (loop0): Can't find valid F2FS filesystem in 1th superblock [ 542.595635][T32589] F2FS-fs (loop0): Magic Mismatch, valid(0xf2f52010) - read(0x0) [ 542.603595][T32589] F2FS-fs (loop0): Can't find valid F2FS filesystem in 2th superblock [ 542.609984][ T9207] usb 5-1: new high-speed USB device number 29 using dummy_hcd 20:15:32 executing program 5: mkdirat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000000040)='/dev/fuse\x00', 0x2, 0x0) mount$fuse(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f0000000300)='fuse\x00', 0x0, &(0x7f0000000240)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}, 0x2c, {'user_id'}, 0x2c, {'group_id'}}) write$FUSE_NOTIFY_STORE(r0, &(0x7f0000000480)={0x28, 0x4, 0x0, {0x1}}, 0x28) 20:15:32 executing program 1: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000040)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TIOCSETD(r0, 0x5423, &(0x7f00000000c0)=0x5) ioctl$TCFLSH(r0, 0x8926, 0x7fffffffefff) 20:15:32 executing program 0: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000440)={0xffffffffffffffff}) r1 = dup2(r0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_mount_image$f2fs(&(0x7f0000000340)='f2fs\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000200)=[{&(0x7f0000010000)="1020f5f201000b0009000000030000000c0000000900000002000000010000000000000000400000000000000b0000001e0000000206000002000000020000000200000016000000000400000004000000080000000c00000010000000140000030000000100000002", 0x69, 0x400}, {0x0, 0x0, 0x400000}], 0x0, &(0x7f0000014900)) [ 542.771446][T32616] mkiss: ax0: crc mode is auto. [ 542.806066][T32620] F2FS-fs (loop0): Wrong CP boundary, start(1024) end(2048) blocks(787456) [ 542.829029][T32620] F2FS-fs (loop0): Can't find valid F2FS filesystem in 1th superblock [ 542.844228][T32620] F2FS-fs (loop0): Magic Mismatch, valid(0xf2f52010) - read(0x0) [ 542.853156][T32620] F2FS-fs (loop0): Can't find valid F2FS filesystem in 2th superblock [ 543.019301][ T9207] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 543.032276][ T9207] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 543.046955][ T9207] usb 5-1: config 0 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 9 [ 543.063752][ T9207] usb 5-1: New USB device found, idVendor=28bd, idProduct=0055, bcdDevice= 0.00 [ 543.075562][ T9207] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 543.089108][ T9207] usb 5-1: config 0 descriptor?? [ 543.570247][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.577325][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.612879][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.651025][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.658300][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.686072][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.693482][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.702904][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.710125][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.717192][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.726825][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.734056][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.742324][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.750492][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.757608][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.766059][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.774225][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.783023][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.790286][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.797338][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.806000][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.813220][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.821964][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.830179][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.837202][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.845818][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.853061][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.861541][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.868560][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.876004][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.883474][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.892673][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.900029][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.907422][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.914756][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.921976][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.930401][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.937423][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.944706][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.953011][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.960326][ T9207] uclogic 0003:28BD:0055.001B: unknown main item tag 0x0 [ 543.971451][ T9207] uclogic 0003:28BD:0055.001B: hidraw0: USB HID v0.00 Device [HID 28bd:0055] on usb-dummy_hcd.4-1/input0 [ 544.000805][ T9207] usb 5-1: USB disconnect, device number 29 [ 544.538888][ T9207] usb 5-1: new high-speed USB device number 30 using dummy_hcd [ 544.898941][ T9207] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 544.909814][ T9207] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 544.921610][ T9207] usb 5-1: config 0 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 9 [ 544.934640][ T9207] usb 5-1: New USB device found, idVendor=28bd, idProduct=0055, bcdDevice= 0.00 [ 544.944717][ T9207] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 544.954486][ T9207] usb 5-1: config 0 descriptor?? 20:15:34 executing program 4: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000080)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x40, 0x28bd, 0x55, 0x0, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x9, 0x3, 0x0, 0x0, 0x0, {0x9, 0x21, 0x0, 0x0, 0x1, {0x22, 0x29}}}}]}}]}}, 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, &(0x7f0000000540)={0x24, &(0x7f0000000180)=ANY=[@ANYBLOB='\x00\x00)'], 0x0, 0x0, 0x0}, 0x0) 20:15:34 executing program 2: move_pages(0x0, 0x1, &(0x7f00000000c0)=[&(0x7f0000075000/0x4000)=nil], &(0x7f000026bfec), 0xffffffffffffffff, 0x0) 20:15:34 executing program 3: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket(0x200000000000011, 0x3, 0x0) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000080)={'gre0\x00', 0x0}) bind$packet(r0, &(0x7f0000000040)={0x11, 0x0, r1, 0x1, 0x0, 0x6, @random="747e905520af"}, 0x14) setsockopt$packet_int(r0, 0x107, 0x14, &(0x7f0000000180)=0x1000000000000020, 0x4) sendmmsg(r0, &(0x7f0000000d00), 0x400004e, 0x0) 20:15:34 executing program 1: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000040)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TIOCSETD(r0, 0x5423, &(0x7f00000000c0)=0x5) ioctl$TCFLSH(r0, 0x8926, 0x7fffffffefff) 20:15:34 executing program 5: mkdirat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000000040)='/dev/fuse\x00', 0x2, 0x0) mount$fuse(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f0000000300)='fuse\x00', 0x0, &(0x7f0000000240)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}, 0x2c, {'user_id'}, 0x2c, {'group_id'}}) write$FUSE_NOTIFY_STORE(r0, &(0x7f0000000480)={0x28, 0x4, 0x0, {0x1}}, 0x28) 20:15:34 executing program 0: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000440)={0xffffffffffffffff}) r1 = dup2(r0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_mount_image$f2fs(&(0x7f0000000340)='f2fs\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000200)=[{&(0x7f0000010000)="1020f5f201000b0009000000030000000c0000000900000002000000010000000000000000400000000000000b0000001e0000000206000002000000020000000200000016000000000400000004000000080000000c00000010000000140000030000000100000002", 0x69, 0x400}, {0x0, 0x0, 0x400000}], 0x0, &(0x7f0000014900)) [ 545.259911][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.266966][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.286805][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.294123][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.301172][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.326847][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.349514][T32700] mkiss: ax0: crc mode is auto. [ 545.358725][T32702] F2FS-fs (loop0): Wrong CP boundary, start(1024) end(2048) blocks(787456) [ 545.366558][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.386506][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.402801][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.412247][T32702] F2FS-fs (loop0): Can't find valid F2FS filesystem in 1th superblock 20:15:35 executing program 5: mkdirat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000000040)='/dev/fuse\x00', 0x2, 0x0) mount$fuse(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f0000000300)='fuse\x00', 0x0, &(0x7f0000000240)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}, 0x2c, {'user_id'}, 0x2c, {'group_id'}}) write$FUSE_NOTIFY_STORE(r0, &(0x7f0000000480)={0x28, 0x4, 0x0, {0x1}}, 0x28) [ 545.451634][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.465370][T32702] F2FS-fs (loop0): Magic Mismatch, valid(0xf2f52010) - read(0x0) [ 545.488870][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.495971][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.503105][T32702] F2FS-fs (loop0): Can't find valid F2FS filesystem in 2th superblock [ 545.511298][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.518321][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.549168][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.556201][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.579293][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.586341][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.608903][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.615953][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.638929][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.646062][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.654201][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.661281][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.668437][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.676924][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.685444][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.693396][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.702746][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.710331][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.717422][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.725933][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.733076][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.741943][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.749193][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.756350][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.765862][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.775511][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.784122][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.793048][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 [ 545.802695][ T9207] uclogic 0003:28BD:0055.001C: unknown main item tag 0x0 20:15:35 executing program 0: r0 = socket$kcm(0x2b, 0x1, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r0, 0x8912, 0x400200) bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0xe, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x61, 0x10, 0x5c}, [@ldst={0x5, 0x2, 0x6}]}, &(0x7f0000003ff6)='GPL\x00', 0x1, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0xfffffffffffffdee}, 0x48) [ 545.812117][ T9207] uclogic 0003:28BD:0055.001C: hidraw0: USB HID v0.00 Device [HID 28bd:0055] on usb-dummy_hcd.4-1/input0 20:15:35 executing program 2: move_pages(0x0, 0x1, &(0x7f00000000c0)=[&(0x7f0000075000/0x4000)=nil], &(0x7f000026bfec), 0xffffffffffffffff, 0x0) 20:15:35 executing program 3: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket(0x200000000000011, 0x3, 0x0) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000080)={'gre0\x00', 0x0}) bind$packet(r0, &(0x7f0000000040)={0x11, 0x0, r1, 0x1, 0x0, 0x6, @random="747e905520af"}, 0x14) setsockopt$packet_int(r0, 0x107, 0x14, &(0x7f0000000180)=0x1000000000000020, 0x4) sendmmsg(r0, &(0x7f0000000d00), 0x400004e, 0x0) 20:15:35 executing program 1: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000040)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TIOCSETD(r0, 0x5423, &(0x7f00000000c0)=0x5) ioctl$TCFLSH(r0, 0x8926, 0x7fffffffefff) [ 545.907231][ T9207] usb 5-1: USB disconnect, device number 30 20:15:35 executing program 2: move_pages(0x0, 0x1, &(0x7f00000000c0)=[&(0x7f0000075000/0x4000)=nil], &(0x7f000026bfec), 0xffffffffffffffff, 0x0) [ 545.991961][T32747] mkiss: ax0: crc mode is auto. [ 546.318823][ T9207] usb 5-1: new high-speed USB device number 31 using dummy_hcd [ 546.678830][ T9207] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 546.689728][ T9207] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 546.700490][ T9207] usb 5-1: config 0 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 9 [ 546.713342][ T9207] usb 5-1: New USB device found, idVendor=28bd, idProduct=0055, bcdDevice= 0.00 [ 546.722430][ T9207] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 546.733299][ T9207] usb 5-1: config 0 descriptor?? [ 547.209857][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.216925][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.237386][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.251419][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.258462][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.278504][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.291968][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.305834][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.319696][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.326714][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.347226][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.362349][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.375859][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.389611][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.396632][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.417826][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.424894][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.432017][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.439074][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.446124][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.453359][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.461202][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.468405][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.475757][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.483013][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.490236][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.497251][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.504868][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.512222][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.519423][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.526434][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.533660][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.540882][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.548159][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.555405][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.562778][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.569931][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.576978][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.584221][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.591343][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.598531][ T9207] uclogic 0003:28BD:0055.001D: unknown main item tag 0x0 [ 547.609674][ T9207] uclogic 0003:28BD:0055.001D: hidraw0: USB HID v0.00 Device [HID 28bd:0055] on usb-dummy_hcd.4-1/input0 [ 547.639612][ T9207] usb 5-1: USB disconnect, device number 31 20:15:37 executing program 4: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000080)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x40, 0x28bd, 0x55, 0x0, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x9, 0x3, 0x0, 0x0, 0x0, {0x9, 0x21, 0x0, 0x0, 0x1, {0x22, 0x29}}}}]}}]}}, 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, &(0x7f0000000540)={0x24, &(0x7f0000000180)=ANY=[@ANYBLOB='\x00\x00)'], 0x0, 0x0, 0x0}, 0x0) 20:15:37 executing program 5: mkdirat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000000040)='/dev/fuse\x00', 0x2, 0x0) mount$fuse(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f0000000300)='fuse\x00', 0x0, &(0x7f0000000240)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}, 0x2c, {'user_id'}, 0x2c, {'group_id'}}) write$FUSE_NOTIFY_STORE(r0, &(0x7f0000000480)={0x28, 0x4, 0x0, {0x1}}, 0x28) 20:15:37 executing program 1: r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000000)='/dev/null\x00', 0x200000, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r0, 0x0, r1) unshare(0x20020400) ioctl$FICLONE(r1, 0x40049409, r2) 20:15:37 executing program 0: r0 = socket$kcm(0x2b, 0x1, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r0, 0x8912, 0x400200) bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0xe, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x61, 0x10, 0x5c}, [@ldst={0x5, 0x2, 0x6}]}, &(0x7f0000003ff6)='GPL\x00', 0x1, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0xfffffffffffffdee}, 0x48) 20:15:37 executing program 2: r0 = syz_open_dev$video(&(0x7f0000000180)='/dev/video#\x00', 0x3ff, 0x0) ioctl$VIDIOC_TRY_FMT(r0, 0xc0d05605, &(0x7f00000001c0)={0x1, @vbi={0x0, 0x0, 0x34325842}}) 20:15:37 executing program 3: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket(0x200000000000011, 0x3, 0x0) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000080)={'gre0\x00', 0x0}) bind$packet(r0, &(0x7f0000000040)={0x11, 0x0, r1, 0x1, 0x0, 0x6, @random="747e905520af"}, 0x14) setsockopt$packet_int(r0, 0x107, 0x14, &(0x7f0000000180)=0x1000000000000020, 0x4) sendmmsg(r0, &(0x7f0000000d00), 0x400004e, 0x0) 20:15:37 executing program 0: r0 = socket$kcm(0x2b, 0x1, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r0, 0x8912, 0x400200) bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0xe, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x61, 0x10, 0x5c}, [@ldst={0x5, 0x2, 0x6}]}, &(0x7f0000003ff6)='GPL\x00', 0x1, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0xfffffffffffffdee}, 0x48) 20:15:37 executing program 2: r0 = syz_open_dev$video(&(0x7f0000000180)='/dev/video#\x00', 0x3ff, 0x0) ioctl$VIDIOC_TRY_FMT(r0, 0xc0d05605, &(0x7f00000001c0)={0x1, @vbi={0x0, 0x0, 0x34325842}}) 20:15:37 executing program 1: r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000000)='/dev/null\x00', 0x200000, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r0, 0x0, r1) unshare(0x20020400) ioctl$FICLONE(r1, 0x40049409, r2) 20:15:37 executing program 5: r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000000)='/dev/null\x00', 0x200000, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r0, 0x0, r1) unshare(0x20020400) ioctl$FICLONE(r1, 0x40049409, r2) 20:15:37 executing program 0: r0 = socket$kcm(0x2b, 0x1, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r0, 0x8912, 0x400200) bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0xe, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x61, 0x10, 0x5c}, [@ldst={0x5, 0x2, 0x6}]}, &(0x7f0000003ff6)='GPL\x00', 0x1, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0xfffffffffffffdee}, 0x48) 20:15:37 executing program 2: r0 = syz_open_dev$video(&(0x7f0000000180)='/dev/video#\x00', 0x3ff, 0x0) ioctl$VIDIOC_TRY_FMT(r0, 0xc0d05605, &(0x7f00000001c0)={0x1, @vbi={0x0, 0x0, 0x34325842}}) [ 548.268762][ T9207] usb 5-1: new high-speed USB device number 32 using dummy_hcd [ 548.628797][ T9207] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 548.639805][ T9207] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 548.651676][ T9207] usb 5-1: config 0 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 9 [ 548.664739][ T9207] usb 5-1: New USB device found, idVendor=28bd, idProduct=0055, bcdDevice= 0.00 [ 548.675899][ T9207] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 548.686132][ T9207] usb 5-1: config 0 descriptor?? [ 549.170044][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.177102][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.186242][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.193920][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.201050][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.208168][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.215452][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.222667][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.230897][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.238987][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.246261][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.253608][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.260922][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.267943][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.275340][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.284237][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.291432][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.298523][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.305804][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.313008][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.320253][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.327264][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.335773][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.343717][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.350972][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.358104][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.365349][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.372559][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.380708][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.390221][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.397248][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.414875][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.426099][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.434924][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.442098][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.450681][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.458085][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.465401][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.473995][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.481188][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.488590][ T9207] uclogic 0003:28BD:0055.001E: unknown main item tag 0x0 [ 549.500868][ T9207] uclogic 0003:28BD:0055.001E: hidraw0: USB HID v0.00 Device [HID 28bd:0055] on usb-dummy_hcd.4-1/input0 [ 549.531535][ T9207] usb 5-1: USB disconnect, device number 32 20:15:39 executing program 4: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000080)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x40, 0x28bd, 0x55, 0x0, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x9, 0x3, 0x0, 0x0, 0x0, {0x9, 0x21, 0x0, 0x0, 0x1, {0x22, 0x29}}}}]}}]}}, 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, &(0x7f0000000540)={0x24, &(0x7f0000000180)=ANY=[@ANYBLOB='\x00\x00)'], 0x0, 0x0, 0x0}, 0x0) 20:15:39 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) getsockopt$inet6_tcp_int(r0, 0x6, 0xa, 0x0, &(0x7f0000000240)) 20:15:39 executing program 1: r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000000)='/dev/null\x00', 0x200000, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r0, 0x0, r1) unshare(0x20020400) ioctl$FICLONE(r1, 0x40049409, r2) 20:15:39 executing program 2: r0 = syz_open_dev$video(&(0x7f0000000180)='/dev/video#\x00', 0x3ff, 0x0) ioctl$VIDIOC_TRY_FMT(r0, 0xc0d05605, &(0x7f00000001c0)={0x1, @vbi={0x0, 0x0, 0x34325842}}) 20:15:39 executing program 5: r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000000)='/dev/null\x00', 0x200000, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r0, 0x0, r1) unshare(0x20020400) ioctl$FICLONE(r1, 0x40049409, r2) 20:15:39 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000380)={&(0x7f00000000c0)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x3c, 0x3c, 0x2, [@array={0x0, 0x0, 0x0, 0x3, 0x0, {0x3, 0x3}}, @array={0x0, 0x0, 0x0, 0x3, 0x0, {0x3, 0x4}}, @struct]}}, &(0x7f00000002c0)=""/182, 0x56, 0xb6, 0x1}, 0x20) 20:15:39 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000380)={&(0x7f00000000c0)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x3c, 0x3c, 0x2, [@array={0x0, 0x0, 0x0, 0x3, 0x0, {0x3, 0x3}}, @array={0x0, 0x0, 0x0, 0x3, 0x0, {0x3, 0x4}}, @struct]}}, &(0x7f00000002c0)=""/182, 0x56, 0xb6, 0x1}, 0x20) 20:15:39 executing program 1: r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000000)='/dev/null\x00', 0x200000, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r0, 0x0, r1) unshare(0x20020400) ioctl$FICLONE(r1, 0x40049409, r2) 20:15:39 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) getsockopt$inet6_tcp_int(r0, 0x6, 0xa, 0x0, &(0x7f0000000240)) 20:15:39 executing program 5: r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000000)='/dev/null\x00', 0x200000, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r0, 0x0, r1) unshare(0x20020400) ioctl$FICLONE(r1, 0x40049409, r2) 20:15:39 executing program 2: r0 = gettid() syz_open_procfs(r0, &(0x7f0000000080)='attr/sockcreate\x00') r1 = memfd_create(&(0x7f00000000c0)='\x00\xc1\xf9\xe7\x92\xc2\xe8\x82\x8e\t\x92\x84\x13\x17\ah\x9a*\x0f]\x9d\xa2\xca\xc6JY\xef\xb1\x12\xbd\'f\x13\xc8\x8d\xc8\x9d|\x06\x99\xa5\b,\x80\xef\x9e\xd7sY\x1b\x9c\b\x9b+\x82\x9dc\x06=\"\x8e\x10\x10\xa40\x8bJ\a\xc6\xe3K~\xb0\xd2\xf0\xc4~\t\x9cO\xf4\xc0\xeb\x1a(\x9a\x7fXP\xdd\x1a\xae\b<\xc0\xee\xf8\x11\xd1<,T?\x80-\x9f\xc0[<\xe3(\xd1\xb7}\xa1:\x95m\xcf\x83\xbc\x80X\xd2\x1et\xee\x99A}\xf8%\xc6\x90,\x1dN\xc6\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\v\x9c\xde\xd4\xe0t&o\xad[\x9d\x88\x1a\x83\xf0\x842\xcaI\x8f+\x8f\xae/e\aL\x95\xbe\xf8<\x16\x18\x87 \x83\x82\xbcio\xff\x15\xff_\x1cb\xbf\xd4\x82v:\x8d\xcc\xa0\xbf0 L\xba\x04\x00#\x00\xfc\x19$\xb6\b\xf5\xc5/2o?i\xde\xb2rD\xb7zx\xb7\xfa{\xfc\xd3jGdp\x1d\xb4n\xaa\xd8\xd2\x1dk\xe5\xeem\f\xefK$-\x81_Gh\x820\xf8\x16\x7f`\x8a\xb1qG\xcc{\x8e,6\xb4\xe4\x93\xdfV\xd6\xda|\xbeU\xbaV\x19\x05\xd8\x10\t\xc5\xa5\xeb\xe9G\t\x88S\xc9\x94pI\x12<\xc7\xd5\xa37\x90\xe9^\xe9B\xb5\r}\xf5\xf7\xfcU\xb2#T\x06\x00'/345, 0x0) write$FUSE_DIRENT(r1, &(0x7f0000000080)=ANY=[], 0x29) mmap(&(0x7f0000000000/0x2000)=nil, 0x2000, 0x81, 0x11, r1, 0x0) r2 = syz_open_procfs(0x0, &(0x7f0000000040)='fd/4\x00') unlinkat(r2, &(0x7f0000000000)='./file1\x00', 0x0) 20:15:39 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) getsockopt$inet6_tcp_int(r0, 0x6, 0xa, 0x0, &(0x7f0000000240)) [ 550.288708][ T9207] usb 5-1: new high-speed USB device number 33 using dummy_hcd [ 550.649003][ T9207] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 550.660918][ T9207] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 550.672678][ T9207] usb 5-1: config 0 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 9 [ 550.685628][ T9207] usb 5-1: New USB device found, idVendor=28bd, idProduct=0055, bcdDevice= 0.00 [ 550.694743][ T9207] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 550.703484][ T9207] usb 5-1: config 0 descriptor?? [ 551.179724][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.186790][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.196135][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.204465][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.211603][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.218808][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.225824][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.233037][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.240566][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.248121][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.255355][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.262555][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.269783][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.276810][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.285144][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.293805][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.301096][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.308168][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.315392][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.323586][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.331771][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.339622][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.346711][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.353942][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.361152][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.368261][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.375656][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.388688][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.395714][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.408205][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.417707][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.424928][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.432086][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.439597][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.448950][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.456861][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.465292][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.473536][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.480857][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.487874][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.495069][ T9207] uclogic 0003:28BD:0055.001F: unknown main item tag 0x0 [ 551.504297][ T9207] uclogic 0003:28BD:0055.001F: hidraw0: USB HID v0.00 Device [HID 28bd:0055] on usb-dummy_hcd.4-1/input0 [ 551.516829][ T9207] usb 5-1: USB disconnect, device number 33 20:15:41 executing program 2: r0 = gettid() syz_open_procfs(r0, &(0x7f0000000080)='attr/sockcreate\x00') r1 = memfd_create(&(0x7f00000000c0)='\x00\xc1\xf9\xe7\x92\xc2\xe8\x82\x8e\t\x92\x84\x13\x17\ah\x9a*\x0f]\x9d\xa2\xca\xc6JY\xef\xb1\x12\xbd\'f\x13\xc8\x8d\xc8\x9d|\x06\x99\xa5\b,\x80\xef\x9e\xd7sY\x1b\x9c\b\x9b+\x82\x9dc\x06=\"\x8e\x10\x10\xa40\x8bJ\a\xc6\xe3K~\xb0\xd2\xf0\xc4~\t\x9cO\xf4\xc0\xeb\x1a(\x9a\x7fXP\xdd\x1a\xae\b<\xc0\xee\xf8\x11\xd1<,T?\x80-\x9f\xc0[<\xe3(\xd1\xb7}\xa1:\x95m\xcf\x83\xbc\x80X\xd2\x1et\xee\x99A}\xf8%\xc6\x90,\x1dN\xc6\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\v\x9c\xde\xd4\xe0t&o\xad[\x9d\x88\x1a\x83\xf0\x842\xcaI\x8f+\x8f\xae/e\aL\x95\xbe\xf8<\x16\x18\x87 \x83\x82\xbcio\xff\x15\xff_\x1cb\xbf\xd4\x82v:\x8d\xcc\xa0\xbf0 L\xba\x04\x00#\x00\xfc\x19$\xb6\b\xf5\xc5/2o?i\xde\xb2rD\xb7zx\xb7\xfa{\xfc\xd3jGdp\x1d\xb4n\xaa\xd8\xd2\x1dk\xe5\xeem\f\xefK$-\x81_Gh\x820\xf8\x16\x7f`\x8a\xb1qG\xcc{\x8e,6\xb4\xe4\x93\xdfV\xd6\xda|\xbeU\xbaV\x19\x05\xd8\x10\t\xc5\xa5\xeb\xe9G\t\x88S\xc9\x94pI\x12<\xc7\xd5\xa37\x90\xe9^\xe9B\xb5\r}\xf5\xf7\xfcU\xb2#T\x06\x00'/345, 0x0) write$FUSE_DIRENT(r1, &(0x7f0000000080)=ANY=[], 0x29) mmap(&(0x7f0000000000/0x2000)=nil, 0x2000, 0x81, 0x11, r1, 0x0) r2 = syz_open_procfs(0x0, &(0x7f0000000040)='fd/4\x00') unlinkat(r2, &(0x7f0000000000)='./file1\x00', 0x0) 20:15:41 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000380)={&(0x7f00000000c0)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x3c, 0x3c, 0x2, [@array={0x0, 0x0, 0x0, 0x3, 0x0, {0x3, 0x3}}, @array={0x0, 0x0, 0x0, 0x3, 0x0, {0x3, 0x4}}, @struct]}}, &(0x7f00000002c0)=""/182, 0x56, 0xb6, 0x1}, 0x20) 20:15:41 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) getsockopt$inet6_tcp_int(r0, 0x6, 0xa, 0x0, &(0x7f0000000240)) 20:15:41 executing program 5: creat(&(0x7f0000000140)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080)='/dev/fuse\x00', 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100)='fuse\x00', 0x0, &(0x7f0000000380)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000100000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000000040)={0x50, 0x0, r1}, 0x50) syz_fuse_handle_req(r0, &(0x7f000000e3c0)="000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dc4e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ba045abcd5dfc67d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000230000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000209bfd66eea210560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001354c4b600", 0x2000, &(0x7f00000062c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000007c0)={0x20}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f0000006340)="550213a07196529afe0c0440192d7e6b690b2971077c794178f51d5e3ccb8213c2ab2c2f9eeeaac3d26a2f97d4f45f2a79306cb35d2773c4877c1510919c87833403a04e443f0f338e5651891573291dea98a917f4f62456553ef1e4c2ff39f3b6bfa857c2fde23f3bc356a09b1ce900401bba2326ffdbd94f33d8de2e2e88332b80cd5fef8a5482b44a6e9ff53976da78235538407a23561df1fcb2aa25e96496e60b50e63f955b575f6ea992ec1120ef5d703a365589739a47991ed90db8f5bc075ebc30f1ae98d2dd9424afb051063d9f8b29b3891c4a15a7ebb498efd4ad84a1432bcfd862661ff920704ec2481ea567b9accfd0089aa576182565159cb218bc81fee7abf14cf7fd7ad2fbc9f84b66ad2ee9e72efe6de57459a0d8ab7de571be5409f07b18e19573dcabc67e9577aefeb5d076c8b331244dd8f7a4be820a55a59b007298911dbce2d9243184d8db00cc124833f82d55562ad21f64dd300a0a0abeaf8ed2cbd4e373cbc6b40510b77e9742b208a6b6b2166a9b640c6013a905e7f5966613c40b14183adba502a66538f4d146d80e1e38bcfa430b6ab8f23772c41fc291a01817fc447cd8920886669c439c31639781c8a1750182979dc91939a93f2e8df8823a83d4c00a109da1b99aac9f5400b0a18187cd936c69efea3c5959e34ef5ab1b4a230750e4a121540f88d01f97690c18ea599525db59dcdf9915ef90dbc390555742f68c333611731945467777315115fd08343175c16195186d91c317e64a2a557ceb44c930c144aa8f3a1600d064d2fbc841226ec4fdeae163c62a293851c9aa54715cf3caa3bb22012ab2244821077a83b4c7f6aa67752edd136d84df86932c625b6beb4de2499915337bc62c071343ca01d207913718d363abc6e1a0b36a891d46016f586c8b8cda719a52bddad74b872928cb772d86db68d9431686e742ad8e0d83597e94d6dcd01bdb14b8b5f76e56ed293fd7ccfc3d25459b5e2e45d6bc8cf7159d9f819d0935f3cd662e68d1d16d5bb2ee3998d0cc8fdf553356ccf56c89a5e0ca635faf9224c81902393b1fbafb098a86ebf6942106d6ff686f4ac73fb7c86bfccef7852ac6304c04ef9fdc156540ef072f20a403a869dfe9e8db9c58e1261367d2b8f9ba76a002953ffc679fddb9046fc94bd365e5d932cbf2f5e9b271300d1b90481d72f9fa41eb6e206c96c1096756d4de822999d0396eff77fe86c2bfa2b3dbdb0cfd54b3ddf378a0bbfc4397cac8ba586a3d6b4144e8a9b7a7ac998626afc7d1197c3ca954e48fd7f63ea52edb77e03176720deb4ef7942e604e5a4f500887a77b22760eb33d98d7612ce737af9ee0e78fcb69e7838adae221b4de45e8837bd468f7a405e5f8ed26275b22feb32ba3f12a893479f273e5eaa73658f1dffe09c10baee49dfd8df0501000d74198173d277f7123c4e131fe7db8f74d0390f0222f92c5859d57c709e54b4ad6549185357837b4b7beb28687c35fe62502e1a9a1dbc0f803580a6170b56e08c2d0104fc12c9b47b022bc4cb8474d4b40fe0e13f89a6b6acff2f11d24871ac50c4d10a63080d8f8368a4f982e65ad9fcdd37d809b1b55fa5aeae6377634a973482354ba216d9e24e39edd327063e4852c05db7458f56e6a0dd01440b0ead91570967008128dfc43b48e73fe380033e90848e9fd780be49aba2ff3c97b49f556f8c2c57ee69a15ff01fda1df9ff4434d7aca8049b3146255f870fac754dbb42945165ebbe7279b4998576f6e16332896b48e893f06148b7d470f513efa0f1272ae8578ba66e2042134cbdfaa1cfdd36a7f6c1874e858029429d9bb4f87eca7f7cf1900cd1667caf0f4cb74135301fae9e958f29bba29459de2208f84f4e2764e1fbed3aee309e74fd8598c602d6522f7aea29b73af70bebf10c924f588d7024855cb84f9098cbc7141ce5a6168ecc6d28e774adf9eb6aa9f28838e3e380b7b12dfbcdaaca0401efe633ad4ce12138d8a995b8b27721a2815c5e6331d2fd803c13e3175a5c02c5b5344409b06369a9d4b457db201512f00f53df67ae21fa597f5f3709ebedcfb347d6bf49df34179d0b7169a75a15af29869b2def01a7f5af087e444933ba11d51ce973d59a47efb884daf6cc5258d00a3d7f3ed3cfe450c72cdc5900569717c8699689607e66c5b5d6dc2ff8dff62e2047b30e80877827d2abba12e0af85b77246c7bad649631a9a0853cb79c7ba27f5f6ef5dac4613a7b5d1de79d83958ce4b37a17d593756f9c19cf3fffbcdc70eeb8cbecd6e77cb03e66fa3846bad89a2fe1e284f1fb227340cf4f4ce5bca6289c52410e98966446b4369d261ffc8057d56b625ddb09160298f1a015c1657c88603822566d9b4483801b4f5baaab4c530e61d9378132ec647d2444c04c446d3f2b972a46355ec08e505fa9995624e281292736808c8fa947cc4564c870f03ad931f58f68512c1327eaed18db6a55960ef8177b089011617e64df1d8dc0b9eb3010885f9eab7e098e5711f9e41f74d7b28943586666eb74ff79f67a16ae8d7e75561741c85c5f822f61b2552f877e739a77e20678d2c7a86cc6caa5852278be0cbecc1ddd7674b872e5d2e69c9a7383a33dc8f8c56548da95621211ac70dd89aa1862fa8969138e84810ec854b7b923bf7510ed97cb80037a84a8e66650bba2319dc30bbc3f40820e1b389f684db2d30ef28c470d82acea65419d20f518bbb6a99d734e82ed60fef979e6115fe870498670af117be3cec9aaa577caf1f61d5bbd12ce72a35b77bbc366c6790f44464efafb9cd8f9a097c6ac5423ed20e335c3992cc950b90fcbc7b4c3df2521a31d917af73058c93c1f3e26b47487736691c8b1370ddc613bad413982261e4e036579188b64cd9f39b1b4a32ca356769621c507b37f814ee0480b1a966ee9ebb56d6979a9d38236664fa1fcff19c8f0a429d86632e195e569ec47035c4eafe9185d19dc5e8c635a361af2b4fa33815361c000844615bce501648ee70730d7a1b1da4f0630b1ca90904f80e9e1efd1c8e1b61b05c4f040d5a0430381a53f4a1570491719560a3fb920d6722cafa0755605c955526e618221d1e4e766c35e84bd79ae479b5d178b241662cf9a124825101cc5e1373f3c9ce7625f7f08119fb011acceb88a9ff553639e7eeafc93b6135ecceb6eea4c3dab709005dd7be2f1490d1d648c99058f272bc325ce5fa663f4e68720a5f2b31986c66580a2be4204cf311fb3e5d61310445e942712bf5dc7e66a9370a5a4afb6aa03fefa3f0503d53cad9b79a3ef2ee9000edd8990d75ffa3759dbf0469b6e393bd3627a768bea18f533453b38d17dade925f7ca6babe27adc6fa3048d2a65bd2b0fd840a94ac5f317a1c839738ac89e7b22d1766308dd8247862f304fa51d727a27f0137fe19b371e5946555093e7ca69139c48afca4b4ac46c8d2f56d5e673e8b52dd94857fe953d10ca886c921b6626e869ac794a78d40bf49a025860fd57a0f437a4e650a9db9cddc93f8556482cd3676866d903b0f70601cc4eff564eaab292a4208d0534321e60119ffa6177934a2d1d7a6a1f1803e762c8d30e2a0d5311148bc21e4745b7c3dd57d0a616a2c49569942f2b48360df6c54f7a70f8a585b3a0d54feb7986d7d72ab0e16ba14187af4b9ac5a69428f1f61fe25e13cfb97ea30fd9a43e53b6841cdb766d6b3dcbc70277f2a0a12bff718b5bc50dec6fde5a0e24d23904edd201c8dfd51c1d198e325d65c18ce4d5ed1c6aaec28d40260949ed5c6bdc90f976c76dfdf399a9f9789fa9e176910f7ffb6427c3821fbc83747cb0d2ffe34b0b18fb34ddcaa70bb4624acd1ecf208e428b7fe89ed0cb0db2a7d74b284cf893807b4f76bdcfe9088912c8e83144b78ec8407aa37e94e5454946890174aa6be77e42fa0d764ae36855608d63d269164c3ca6a989232967f168c3f9b41c1204e02d7e9dc06010106f6b41987728775a5c31906bc7dfa33808e5523eacf7c914373ce8e61ea29407040feef8e9511fc04b7f2f9936a3161fccb7deecf83f507840898672fe13846ff8185ee0aa6734a704e4b7ab6ba3fb1c601e57528d68f8955fe42fcfa2ab0faae4008023b8a34ce4f861b5b86b5b507ac1cccf38355c5f0191e8ab29c90627657d6e100957cae6fbb3f0f4ae2049ed3a341732b4730b5bed1dfa97f0976dfebaf03a305da2a79d6b8f2e86f46bd7e257d170728d5aa55f786b5436a221b0d74355d55123fa1c9faf017103c3d6a6ed1e8e26fb8defd944c49929ff5ed4ead4e5782d14b09c9ebd593533c907679aa6a0b94fc8494291acb16e4bd2e4b953ac96f90ccee9e11ec88b4f590289915a6368716dc3e28dafcc5eab060d2c48911f288e501226a5145ea217e834eee7ebf0945e53baa08b8d72acc67fb14dfa47421081434b291a15babb97588c6ed5c7e79299056c70f5362953ef499b7a88c373a23302e3ecbc229824de95f12595f12580a3898533c48ef2385d7f398ce31c3dbb1c02547e84d0210595bad9a149ac653a3537edb419316f244f6a75108997b6597700df352b66acfc191c6b234c5c7beb2acf943f8274e0a159612f4ed440f3ff715fa2cff21b32444e5871a050e33e17695f1e3e7f65f82fa8783870c0c93f961807c6a56e666a5443948e2721570a9068ecaac4839c8209654e2efde43141b1551c9a966812b13bf4f9cbba828a1eb948a1e41a122e175c0ccaa9794660446cf18335ab13d1675a26eb81b1abdc776472d5da139a507f452159e3416532cf59eabfe01e72f4a4bfe86d293a7124ae3478443d00452c1a9be915f54ccee5d857fddb9ee4986c9186857fb4635a2bfb7b8885418fe48536cf60c67c10c729f92a8f91826e85e34e3eb78c186f2ff93b0972fbef4cbed448618e1c2cd7b5cd1b5d529317981b4ed973080615e0b385b41778cf536d9e24fb0ce048ec0dce5b075febaaf34de2cf59d9030e1a9ba924bbb5cb4098d82c511cc42cf9823ba77849bc867a6876096561ac209c2659baae0374ae4abb39b0ca54874eda8425942012fbca984a4c6c21071137eb4399d4c6891222c8aaf43cc78b1c8f2a9cec6b5acd748f9ac4de37b1dd18cd0f8d7f20337fd392ed10258457950184264a559b80c1ef92868676b258a9b579ea604adc0bd388a8b30822af1fa5120aba51e38e1dbaa840472e1f1f0eb86af5ec9f87a7324e49c4c0bd2b9365cb3d8c92acfdf479548acc9aace7a342284eb895b564fbb8bd577d4a310dfcf78f15be69da13b6710abc4cbe240a62798fdfba1b8a019f9c5fb462bf040cce44a1c8bda3819ea42627e71a5bbb0f8f3648daa2d26e81fff4dbaae971deb7dbd407b7583c9afdb7e7dfd7b81fbf1ca84d57b27e059acce70cb27ef3742e81a77889b01795adb0f070077b758d80e7a05dc66da4b9fed081100c3ccb5fd8ccc14dc36173673917dac8c6fa72c5989d0f6e0bd97501cbedd0a97137d3add8444330e1859005804e485fc997da58927f8cefabd995124e6baca61029dc3c4b091234610e04a7e8457c1dbd28a542497035615a990cd675d36eadd703492562404d366ac4359e66e5e8ec9e40cdf96cd1fdfbc0f2280d4358d96bdec660a6ae473723884aa79bd61b96ca11a7175d68a401a0b77882e7a44b3765a582018abe6a367d1478f5b06859e777f35d8f01a39c7960cb26477207dbc9a0a2af6d5beba095c606a9a11ee236aaf91e6b3b6be0639b2a13bf4471acc9f7f2f052d2a86c7ef0f0afe6ceabdc4f99036a05120b0c49cf80ec92b62c766035a5887f4bc8fa1e0c9c69a7b690c7cc2c8870f8e7beacba9b1a27c66f8d02e33c957d923b0a9dc4ef2b3237d2f83c72651966f8b13b24e1aaa5dd0122b75e3afc4cd478e296924349e077fab31a38e38cbea1dbc22689b82a1a4698fa4841bc0c0530dff14f368537c07eeac4a9c2e02e3b21669d0e039af22a4f38d4c21d861968bf312ede1ff02893fc44197363dfd89b5b704de61d609fe1d9013508e5b2276953ba5b1f8018c3a7b3c233d4cb3269f10ee6ca2fa9de79efe709659538108b36c1b71e4d2c3602459d57b8f46ffb541e2a6f4a19438fe3bd14be3e5682ddef68519cb56d79dd5b2b40d1281e84623b01af3c11f7b2cef780d06a0158ac7becf9b7cdc51618db8e7148a93637ca1a875d8ca2db07d78a5554760b792412c7c108335969c676888fa2d180030a8bbaca1c6c36b1fa26461146ddb13c6dc4247f18985a6cdfbdcb5a3455f497cf674fab04c84906627d32a0104d1cb3b1ebb9f398fb6c3a9af34a05ed7bb900335f1b84d2ffa2a589ec46f44399f4eb8f96928aa073f414765347cad3b0e03d551166e5e2ff9a89c15dabe0d46c925767df0f85e9c438ad99f0309400efdda91d4e61d0e592f8fda490b6791e41c098a9a839e040f5580b2d70f714e3b41ca8cb7a21fc2a778eb18a1e2a32c237c665fc4c496732e58b16f8607ab26b07bc59147218a8011068fa1d117b7e13a3c2b8cc6abcc8e184b0c7d061e94c0cf8c61b6ab194f3df5747ce68b3923b5998901c3d1294ba2a0df9fdc7a76c505bfd172a5c5bbcc0df736ec54a2a11b3a26115f1afd382adba6e3fde1e781737c12dab5c19bc5d27e91eab6579298d4b46c60c200d309df433841311008089ce0ab703ad7b7e17426391e22be7548e642cb4eb4703179cb102643aad424ddb72267b6cec2702fcacf19825303858fdeca7d5d3979c900db3ba5be2301c04a78c58ce20ac8f4a6bce27c4865f36511a4adb99ea25ebda5a6701c58347342ac876f80805695b8ad67501a793670fc76221641b89dfc5519389bc5ba56cd17b47bd2e075139c8db24e4c3a332723358ff5b8c6d3dc53fc79982fbbb6b887b36d52232d6d79684fed3add6c84fe070aedbd833165e5b547a3dcbb4977595fa9fb6d7d8b151858c3967b3e599571340568a2a651a3c6dad3a4a24127c28db3f27853cf3738a3476120f845df7803690ec6f97072b2e040995a957dfb6e3c27d55b7ff94f0fc44eb27b7fb81d5601ae88bd6de44163128bf423f1f76bdfaa9a170e43136acb8f5d3bde2b81e381635d4895f224fd8b7d9b04c8115454b0505ee03b332419c6ca3ffec3b127b036144ad4ea5b7d97482d298493e04c994ff2152815607c695991e85065f2c66a36a0c347a1e0b10ecf39500ed1476e9f6bb09ba569236d24459def02c37768956e567ca7c5c1c2ac05fb818d8610da9fb50cb6263edff4b6a165a13a1977f14f3b9101831b0f364f26e803ebede14a32fd37c5067c2be8c50be29d6757767424248ffb425d1780f9f164dd1d5a1999870af4f73bb09f632227351e0c5e24c357b7646edbaa599e0b62c569e32dbf0080dbf509879397c90ce4799b59e8888ae27844c760f901197250d395780e2e1087bd327c155dc31dc5b408e847b031f93e48345d3b32387934c9e68c9556b9d275d1634adecc0204ffb35d1960e736a34f0b07e2e7c4ffaf84ebc7ad39de16f968e1462c5371db06fdd21fe51b08ca295acbfe676e1e683bcb2dc9d3522b86191a151ac590fec45867cd81b97fd9a060e0e26f362b842390ba6dcf66ffedff1d26b87016b7108b4eb4a6dee0384a789d2305b871d7caec898358f01346d089844973aed3ae0a7a8fc6a5cc90a1533e0bb3696e243b28927da1630837a6aff33c2e8af1a7bfbe2ff8060d8df29f6b9643dcbe2e2a8721795636fe7b3187a48dd08a003f27dc2ddd76fb84db15572e0b2b857ed2ffe73526d92ee2a9b13f2693d2023bc7feb2ce769c2e8aa9973be33c77b5f8e147d4c7f414b18c9edc8cfa0169cbcc0c26d59f016fa1e80157bd8dac895a794a7211d83c84c7e003e663f65532018b22ed3e67be4eaf592a8a18b986245f6a8fded9b1562c6a106e04190cf0260905561565a131c3074a7af5a18dad69aa7d62636b9313c1d3e5689671912df51131315f715ea84d57849dce2ab105af433b034501128e2286e1d05384289711dd151ad097484755d32531508949a6e3caea36e6858ecb895f0ff5cb71f8b1cd677405139d5e95c6c34f421b0b1e0898aa74f7a96d7170dc0df19f1b88a0463608d964446967262ff7acafa54b0f95cd0c1b01c232db641cade388b6f348784e18cd33e97c132dfbd501700108b59ac80692371a4bca4f608d9357c6e1458cb372aaf02cf8742b164bf69aab3aa1bd6911202ae7d13f2d1cc27741e4856c9e2d654f72c205a9914969317b5dcefc8137aa564283d64f71209f82fe928836da1de181d6a52c9cdf1be072f8b5c44b063e7e3d629157ae1a768cfdc7105c6b50234b1dc8412f6d98038520fed97db8347cf02924291460fe3d392f21d7ac31aa6e90995756b6dc198c04a6c6eb6c5e41e1eddb8c78feff740273acf8938c0f52c108e5bfd7e559d73346e0b97595125992bfd6aa2097c0ff502482a641f8fa3b2f411a9bbeb9f8c03582ecd1d756013d793bb15b4c1f45f0a988f7bff685c493df30bafebfdcbd6b2ac26a743a0a21443ba776f17f021e80df5eed4926b10be1c952f839f6c87bc2457e1b95f73287895961a0d5874e61da6214b738124fc872376940480705aeb628919d8c9912909823ac384f6a072c72c03c12e2aa8462ce83737244f5525cebafbb491a2a75b4ae8006c2c9bb7d20b190987f5f85afd5b4c1fa8a643820590dcc5e9e55749df8e4aaac858fea295be26fe3891762cfc2fa45f823066280d2afad8653b94a813265f9d9107831181cf8839c72aadff85c745af743e0f22a30c28b4cfea2aa1139790d3e7b491b6b092bbb18bf773b06c3077ad3f1261b8f401e56d4c250c0f30e997e6a546f9cd1482b4717534065ffed131a8e4691e28456abc3ceca5849302cb85eb977a1743e9836ba2ab835f622cbfebbafac8a8edd97e5441ea0f84434b9949c4e5a91a7684947c0370d271e9788bd8222d5f53eee7491d20eb46c7321d5858e427b028ad279cb540c1a547fd18adea0e0d011cb7d251857c1ac23fb502f2ae515aa8c90bfa1bd693313100b6ff278212b06efb23fa836fd97331a9a276d3ec5f2256245674d65d043a072dae13c2649ea2f578583caa55b916ee6d65f510a94ac3ab6eca201f34f2074e631715b40478bafc594cde728d8f695287f2afe8af28859d5389034a75f89140eff05615cc41b06cc6879030cb0dc1788e4f34b3007a4081a4a8c8d8d47860699fd029d7d2a17c1ab2678fac43fedde3eacb441df00e61acf90d208591f70c75dd44892edc144795f86de15db7d9ae43dcb088c6eae8259dd224fdce809d6b4e2f13e6fe8e5b6da195ba0287ecabd18d48d1fd4f1e9438e120484df2e1ad9ceaae247b5b4c639413aef383d948dce80446ea125b67627d25f23e9fdf477351ac2d4f741e88dcd5f91550c71e72b84c90a5282f94bd9d1f08e3e240a0a4bb4cf556a52a994a8064a2c77e41d66077dc039957b795fc28239896eb2068ad16e84196b491dd47e16e12009398db1be984aaf6bf62fdb471a456b32c58f77c158461ac844dfb0858cfc81f591ae0105edde98acf7ea1c09599ae0e5c45b62f039e37a48b7ed91282aba6aab1d2c2b039b3f411b2f6897464a8ff2c333717e60a298be2709389cc644c70ce9c1a483a61e13617f0dc1902c3c8d84ca8ff9c0f43d022f448e100732afb8655c726e33ccdc2785d5ffd7ee533a1676ea93cb7f962dfd8ec47a32ef703fd560965b20a2fcd52207db1ef0046e4ddab569776ee7cf45f476772aafd16622b2613ccbcf4213183d5f079e9bee36d86ef709ae54422e38abe7a1db408b7ebfc72f6ca2b5dc19001142773fd827e72318c4fee1af716211d2401b104a2a40a2a3f4f683da6e5c8d827f798a73d2fa189371efaaf6f6e4c1a8460f6e6e51064dfa079adafc7d1f0472d042258395b2aaff31e943078e44a660b979e91e240628a12074a069b7045f20c9c9a9b2823d52d1a71cbd107b5b888170c2766fb012f60024c0aa6c5a7505cb17d925943b25101a0f9d2e78f40cca2d1266e06a85ab32f8f60dcd9caaad0bb5f7129fce17ab4ab9f2f1d9ffa5b9c3662498737d020614e54cffe567fb6d746c9a33065933c59b0f66429eb43013b43306506e0cb158d79d61938f52ec82a373bf7f03995e63b00fe4b109b3d918c7fb3e9d777771a510e1ba97321d2eff470d390776cd39cefcc1cba44bc0d0a5d7ab038a2cf4ae61285df7fd2c863d3ff26640f140d6c05222f1c7def48851a367405776cb72f19049b9f87e6192227bbddbfad8f8aa4822f6dc383b94e54821de59ed22ebca2babfcc7672606b90efc14eff624f338d0b63fb20fe28b3b3b1588788c12e77e20992e82eae0aa6ecf03a627fd66f251b6ca686142ea50223db2cb10936cb8e619b811a21f914b3f8ed1db52da0a40fc63df4623eeba59309ce490860eaf0020e63265a565102e050340f9148144011ab34c8617a8806153c8ae062293937ba31f789c97e937e7226a5e2715a214120e38fdd66c67e19d40471994d2b84d9f0acbfe2c255c671f3d70a5305dd13e7555dabbbb87cc4e62b1b34cfcc5d1b34a664d79a46d6826d4eebdb5d7df86128a3152ec3bedc77f6c1445732468ed7b91123cf314843e939e369b69d0c657f612a9a9c9ff40c396d2a3c05b27a57dd6198428f7fa2638eae170fe584310c11d0b13a15ec4c1b658d5782b20de550b166f2d89835a34a893cce987b8a807e21686ca78493c906285d7915390bbec275bd5535804b46ffc2de6cd313235ab52b8e04e98b4a7539b6298c974254284dcb32875029c8066988f141034fc156a5fa861826e49140cc2222099608bd279e6f7b3b12db95caae852eccbd8ce691e0bb937a6c83f929c3517a0eb2f247b397c828ea7a97be6cc6a357e47fd52df8be5581ba6b606b81f173656c4f7440b54e644ab775befa10887a1b66e1f27b98708e80c7e2bd8791ab006db14f261e8ee3ff42f3b8a3a899d8146d24896f8f6e3e7e104ef85fcf2f9453847774f63650f63cf6d944ebaabb9d7f5b3f1a3175860acf493534325b9b5da74bbc226c5f346aafe11a974d9accccee2df02a81d971f564bed3f7fac752203ad2c1e8cff090f8ead99885ac203351ec4280a1d016ca6c520061d864ed0fcab91033eff1f8c12de4e831bfa957c1e89921b97c5891538b9dffbf93b424e905923ca5f25bd64a17d3726922b9cdbfeed6c80ff9d06a3cfd0e9497a7b961aaf9538852a8e93eefc8ab49f416ee9d1b22d70472fcd0a774543cd8ef286ef9fc586c3661b3c8dd8de3af588f1d91bbc1d3f354b5a05f0689ca8e75f5ec3e1f75988f9058f0c154a4d2a748b2bf6b8705242a739356329878b0251f2683960a6e18f1e9719623bcbaf3176fbc0dda2125f506475c81c8fb1364de92538400a4278083aa7673e9fdd3a13e75ae0ccf78321dcaf637977fea58969252f6485a0c7644c2b072485dc76748ae76e2a229430b3b5a1d3b7785dc560f5914733425a02c6cbf177e85544b6ea8cdeb42f05707519d79d01f18742305d3fd952246abf5732675f000", 0x2000, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x0, &(0x7f00000001c0)={0x10, 0xffffffffffffffda}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f0000008380)="1d3fc0588fbd1ee18d3d558a5847e5909b75ddf492b38ddca57fa90102c1981d37139db16dff89af93eba795c940c2869e89d66dacb9e0aed49166803315f8c1e3a428d3394e202f8983f2a7a557b15c11e2ae42e2f07ac634034c2c6d63fe5505d3cc16fb48a8119d815c5d5391518b847b1334f3d717d9ab5a4c85a58da58c7438e79be665e1b196897bdb462a2266798fb036d83bb993d48bfcb2774216931c85a4fece4b93b635c3f1e651560fcd6ce0b182aaf777cfa0bbbcb6e5e9f4d450fcb95559468684612a5bc1582e273fe8bd58088cf411e97f9b671a81d18e865c2d899716fa59c45d7034afa7ce30b800091bd01ca3df0e083e1457885eba6730a6c70601bba70b2323d6b669898290f43afd84c333ad8c4c3960f70d0e47eb8511071b4e2c6ce2b12332632052cb4367a98593bd39bfdf76d228925d3e7208fcd42d701881c3cad1cf204669e4c598c7ae544bdcabac797503bc1896d36bd0be9edb543d5428cb04daadc0b4e54144fe8a86e1e372cd773a00a3e759fee51aa7cdfedb8c2c13ed709add3235e70c1dff10cc5d473f6c1ea92354c8bb991be1c39f4fa739824cefb41621e8a6cc475599ad2a86f2cd5ffc85684346bd6aec793b06141ed44a4eea375dedfff21d720c725562ae759c5f4737c34d8f1183e6254016f5d54a90114ce910b4c214f35721edbab6b9ef69c89fb3f770915511ea31622c453c53f646b205a0c383cadc845ef9769e99dd58f242b24e98d8d74622f4b7a2b42eeec0881b435404805f177865eeb3263ac63038270dc90b418407cbd984de98df8a449ed3466bbcf6c4b140aa4c0fbcfd4d88e1534e17218c87c32fe2d88807e308fb8c3ab6ca8d145f7c6406459b926e07cb30ce4baddbb0824c0378589b3cf3e16c216163e2966d271b8484a47d3baa946cdae77fd61a10472da8efc228e405ab686ff5a29ccbf91f6cf62dc371e23198b34880f200428f4ca5214c2966c426ce9bdffd7ee2c597d80ff570f44f3a07f5eb24fa4483e2938c98a9e64459f04913564df5d1b29f93b934e95fb4f04dce100324e5d7e6c22b042b8773a792b88405831ffd63a5dec2e764df571214aeef33cbc6e66dc157a86dbeb1d55bb3cbf8e063dd536d0e0ff006ff850ab20fab4023ffaa07b6ab6f8651ee9ed593774a3c3520f595984278b30fb4c0cce3a0afb4836952a7115ac345557f1871511415bdb9f593057624cd8a150954241cd60dca17b688d97416c29b23a767e9184db7e19a74aee2f17d11fb024d906a22dd2ffa2da04c97348b74f4ab99248059d1ee542c5837acb69f1c83f50dc66f9e1674c1b157e1e4f95eb462cc8b3db4cb9fc52086c17f4d5a9fc1f7748dea1fd7af47a7989c1219fd22c91e95bd299d3ef22bc73409d9949422b6177a99b6a9f610b737887f75f718257b5b2dd515acff039886505cf2d8fcf9cf69f74b812121d219ab526480a565a6ec9c2dd4de1b5d2632833a81b5fd445bc049c5dfcb242abe6141943fab1417ba9d2174ed25c521a8e5f6d1354c93176b6d847aa9108b8f49313aa6fdc0a88d08d3cec4f9e623f829dc03aac91c5847d5de8d21dade12e7efadf216ac3746530ffda5d038fd0bc7d105fb8b9fd1cb2e789622b39c0d559c3f887e11d29cbbabfdbe9603ce261549babcba3ecc739203f08238a5ec44719015cf3bdc0eac85c3d72ca34725f09ef8a5fa7cbc3d9197ae877314de309182505e0dcdebb78fcafb35504344770642bb13a22914b9fe76fb948ff03a1a42cd1a799dc0330ff0586aae32fe45238978d2db16629ff8751893e41e9ac72303d91de135313999dde4d93e881b0f1998ab87e5f8e7463261fe872b3ec4ab2344d26a982e286e5e7bfa8126ef4de16fc6107e1b077598e1347cc7b74d57565d4cd9b66e76f6faf51b247ada9672af011db71d48ce36bdc6fa234e6ccbba32a450f837a7180fce70b08a199e7e4c4bd3af39c6b3e78d56f300a45463ff04a55542b01b721229fb35a788769dffe8105171a0cde67cbd9f066834fd24b0ce4ac39a0ab5f96e3f24917385ecc635d7b8be5d9585a5d389316f1323a9916241ad9b490c7505701133451705ad712296bc4519aacf073fa7419a9a81470c315390d4e22820eb0dd0c9605132016f883b8a5e9b9b9e08cdca196abba7f78732280b0b93278f469cc7ba81dc6e764746ea2604d8ce78e301bcf2b9e638849a36fca9f9386f5acf8d9084594c5f20504ad382d4c083c5965f633248f20f1c373e6ae69719bd21355290f50ed84da142127b2c6b0a4cdd4ef4c753edce171d49438ebd31223e8a36f3219a3d6c60ca3a08f88f10bfae1e6a2a5391846ef4e6dae8442b17f7d9f727f47bcd0208185ff18474f1ca1b64580069e35e47c9bff3e421799220dc01eafe2122ba5faff63cd0f275c831e7933391fc180840e9bb5acb5357b196d045853398e93569b56732a637327aaba610de7a00fcb10410457e4493d532c99bb6e95786517add55467f06a23521b7e92be2dca54c9c3df2542384a82d27cfd02bb16e44a9d8c5f07f7e232b794dfbaa8bcd89c359054c188bf5ea5c251bb787282d86b0ec738283e16ed5dd7a74b03cf483fdf8a14a82cf47f4b04185edc4a2dbfd6356927322a15dbe4f35848e6f10eb983797f2886a266b31c0ddda9e2f45282d137f2e6031d2a756a56552a756dcaa24821e3a54fc3cf38c08feb31cd4e32a464d9399b10d7eef1bd627cab3f22775f4ff9d8d5d017ed0d0ad49dad13ea4d1d2cff663d9796b43998956d17bafd8fa49b934dee9b583fe62088b251919291e3b4ca1cb89b9cb035ad8179f2b60d096f96dc1efdd350e09ca32abdd88bc5bc283f0a3fb32588c87e37e2da427a469689c65152558e312536a2fd5edf9bcc19f25501cc9de0fc3df1a595b61ec856455d184f77619ebe89911e165d81597081f903e9bf69e1d51c6fc1880186a356157306c2ef2860d04cbeea0286e4f56d85cdf91cdc2029bb5d1b77debcce4886041e3ca2d6ffd2ec999e5f177418f21979f3135ff517364d99db378ab03df76febd0b2fcf72e7476956428ca20e4be0c63779b112a393a05c5d44d6dc8088dc57a9c0a5b0c5e2a41d9a265a400e62ccaf48aa478f929b354f2013e3287546dc8a811fc7964a50a790888ddc1814039eee62313ddbcf1c55154e386b011b36d8c74888669f334ff7adb1dd421d43b6223ac8beeee98ef1e54e6dfb4fa69ca8a321b3c2edd30143fc17806b04f8bfc403a55467be88cf8507d94f245ca59d1ee050f4312169250ac8ca1eab6eb00df7bccaea896a6e2cdfce521a404913df83bca8e699913b4cfaaf62d00b90eeb3e106eb4aafb7bda8d0dc5383d191d54a253982bb3885dd6afff5f0d85560ab129bb4b411af28740534edae48bc106ac43c3aac6528f48e059d8cf0cf870f9dc6bb669f2b43bc1b42f46a28d82c200717be88d4493572535d2663e7500d865bca452bb7540d163823e78302dbea5cdece7e72b84880423a18fdc1a080e0f0bdc7a58b04b8959ff6f67b224fe72ef22fbf6adf4812e550772fcc5949a157371f1def1a020d951c005140cde6c887040cd035dd972fc75b7b469070b61e1a442a78db4c74f482b950ac7aae40b009c2d6736e9dfeef0e9c9d718409063c57b082beb648fe8b41d3ecf3ded5cb24f7c20edb6ec753c4574a594b62edd81d4deb269b9cde7e2cd63d8d6da58736454e383415574b6f88b0c4dc158be230beb2a67fce06e7d8a70c554ebc79c2d40a31b1c19797000a8596a79e8ef11d87bf2922e8805c455a3da4c4ea2c22ef52ece8082708fc1dbed09872afa250f8351778548e576e97e4b3da023455f8db349fcdf8523f52a56c9b1f3a863652b11ce7cc619d6eef1611e97d7f94ad7dd65f54f88cf49d3ea4490fe76411dd3de5799174d1017b9f3017c2c3f8f30bcf28b68d7833b7a8fa46c3c3b346e1e2f55d680d22c7136f9de526427657ee167cdf90c90142ba705465ce94bb1803a1540b36cd8d22d6d9115c002f2ce96bbac79a573ea858cbb8977d9087f1e0063cea8c86a9671405c4fea89012b241d94a31b15ad36cf388ce3ebe924019aa3ed069bd07a24a46f7f818fda0d6463893621d6531541a57449eaf57dc09c9767a598444e07f79e2beb85362ea93ef04d37e5c4438c8093c026b3c042bf3cfdf11e5db84c05d7cd6bb090ee7686d87551a807fa47c07a84e9fb490f0531d38b86c344ae8b48aff790bedf407b71cc49440bb2300f9d9f73726daa89c7b3ade0b84323a6da6e7639652b004ddd08dcc03a7064866bda6b17ce8c003737a4c3416551a6fb779c414d4fdfcd3b29bd0daeb69c965f8395269019691e1552da684b06febd81d5f71b9bf095ffc581e6333b10f7fc4a3f365c0bce141b95a6fe580a4183713103cae76c776bbd29a8b26a3f2314609d1540eae73e43ba296d7576e2d8769bae7cf7518966b631bb3b215fa6a56b97ea96e116421ba669617ecae72e3aa186b23a289059c16fae6aee21ddcb669592e5068d84287be2d80a72642de4950366b346285b42fd89f49ba3002315c4cb76c12ca0f96b0eb13547e701831646ba663b0622eae281da69c699860728775e6f71ef3e63cc010a2eefe8d4dc3622232d8abc022fbdfb7821f02da20ffc938a7228d5a8eef8a9e4fcdc2ae68ff7ba6f8ff7e7e36fa40d35658e727554f696c4df6a45647bd661450a2404dba0b6021bc7a82df05b4076f86a7f33faa26195eedc2377158fdae5c4704456805c8458f4d643e356736c2378172d11c33dd73b0e760ca9eb5e12d707001955d3e6c85d427a472de77d6c1e28220c8d84eae5c4403484bb0d1b7d207c0c9ea476d2efd0babc5b577fb333bfbccc396471997de9d71b3c2624be1d155ad787635d4fee3f253e5b5f9cfec484cbdd510bad883b79381e8c608ce793cfe175ddcfb49ac6f2cb67474b415568ea90411f455b651c5c6890c94047d86f2c6ccfd787361d6ede1fa2ad89e6dc9fa796405d8927c5197e17e771173ca5ffe4af4864bf6a9ff10ae142ce2ebd664ab94ad37352f36be1afb259c7b8627849af46447ac05600ebc9eb636aa2e56c0c8540857595c114e4c1c45bd735bd73ddbe21823232e1db6ab4b985a681ed4ef505e6025d4d234086f4bd8b422e4e7e31e823bf5ec1d514a328e1f9ed98eb289de2a44229c66382ad64e3a1fddc548786c52c4d74e6e5dfe1e471c20a8bd6a90c1320318e74e7a1f3d7dd04eb81b37b8157db526327bc7bdaf16b181ef71d813588c2747039cd9c62f2afb253ac3a743d083ee53ad6828060b214e69b73b2064e5a01aca0ff1f5b30329ab5fe285193711f4401bfda2c89afbde31adaf1e0a1a9dedac7ae09650183f460f4a93b0e1f48728fa0c2b1b70c5a2ce4cb3d99627f9389d94aeb64e27054cc71b26f7f281874fbfe82ba74e609a2ac05ed5ffaa344fa14091cddf0c77e883a295d529916a16d06b4207e4a72074707ff4f17e9657b6f55d021bfd432de6ee526d26b4f70e5f8da02c23d43cd2b0ae674a573258df27b775db221d416cbab68084c3f5214b199e2fcd84705772984c92c8bcffe37950e8f3fab716f994765d0b09549201bb19ed09364880ed17bfaf8be10e842051f9f096ef864266593b6d97767b20a5530683c88dbda542095e9b57ce6e04b19a682652a4b72cfb17844a0f6a9a1a89f3f26ba56a05117d20f3bfaeee61d7deb85532ddb7d662163aa6386c91f40ffa00db6f4a6523b0b494330a932bc544629c294044fd0ac6049f285923b613bba81064f84ffa71a900fa9732023c8fdb0c480f3154d0dd815e9f2661b3ccf3da7c3127156e3e094041e365c97dcc6e74965a659034701b9961f9b755eff6066448f65601e9e44e12a7423d94027e4f118b5cb9f33bd762520afaecacd404c6dd59dd791c1bbc87277d5028596cb62ff14be1146ea78626e182a5beb492503b18d620543301161de533af3fc1f666727366f10c784e2f0a1bb5f5860b873f03f26b03707c2b8cdca494b08cc98c365009d22f3231c7eb2a24dd6cdfacd577ac334c2a07bbea2af22689fa35cc663013588419b5256fbd52538c9c5e708ffda77c0e97ced2e703ea5229d4eabdeaee8165e80d5867969269c0897bc45d06b96589eba66dad2f98aa72ee0aaa4aa88d6e4fdb0df504131909629eb4fec1de621e14f5445903716fce8049f89a0493607b11e596ce14c2e81ea0905922abd9c8601f558be28d8a409c360a279b86a2a3d09d8c422ef396979b9c3aac8e05b02975419213ac78dc677eb0b3a524ac0baa037012a97fbaade89b939f66d3cbee41e0c05c62b27fb0ae6bce02f7163da983ced2708c16b2351c1460131a9e922f1c1b6981c67faca4710346ed65a4ee56de725bd193bae5574ea91e104f660c4d502b7155eccd61fe4c5b819676b8727492768fad9d13fab5a240ebbb005741d5bbc215139e07be5bb73e3f6b4c4be9519e81c7cd088864c16e4650ac64418133650e26b9ef9020f55438acc9e7161b2c74bd172354ccc051e6c4a6897354bab543a7f742ce799a6e182b86839173acb03f39fdcd4a7637bb48d2e4baf031079687707612c006197ae598d335c463b6d79e0cc3bb7ecc278b9407a0d53381bf3cb65e78adf03a7dee07409b97d2df91413f04828aa2440049b9e8dc4fd907d879fe8480a239beedf8b729dd76042f50985db6761ac1f2e7f0cc48ccc7ba4d0634b0e816c8c68eff96832fbba350afa1107f2da7c53bb9ba8407c30e41da1278f31cbbcc394aafd6a1df76276e39a8d3c27c417753695a74e7252ddd27542b4bc2b0ab4cb001d01411d288749bfbc24ea8472e2906201655ee65d3f435f158d3295590eccb3e84b3f09e12db00382dceb8846fe155eb20580c20781619a894ec92d9a80a422a10b7ea440c4ea0bf3fbbebc89b2c11f7f3e858c16cb823e10203a957bc48959b1d5e3aa69afbb8a5ad1bf617ed59836a289dace4a5224ef9226a6f3d27f869292bfbbf3607f5aa807d294caa053a85a2f54d97f76adf509593bdf46054fac6e4a6b66f173a31d5eade9a38f5106a16704e80d61658ba3799b00919f87c0b02fc4f7c288c0252f46240efa9044d7458f6b92497321f696831565fca86c1c0bb72b4952102b777b466861d22f78dce75b8055dbe3d73168d41059715a23c9ed906e80b2353f32fd43e92d5ce90821bd9c6b4063125339b8f3a8df16ac4b1b0ef85cdbbc6f2acc15ad9e0aeb19bb0617f8623dc029abc232a67447b1ee4f6c4ce234c1ea467a20e8cd21a097f096855a75525c55a2b30c74ff8011476addeafcb18b64ea09600d7056fca53a12a1f89501d00dfcc81f74760fa26e081043ea648148b1ef1e4906e0a65154fde2c554b4c36e97de184dc9169ff3a326cf4a14708fe3c6466c37eed71c44143fd2d5e22443d1b61fe42fcf52207f17422a96b222a1c8ac8656fe98d7f9b5088a725bb3889ce24da112f2cd88575217ca6087cfa659374a82cd7cdb63b47c3979fcf094b62ff72fd4f0adf0750bb3e001ca7772f0733a5fd15e81aea1abd929df4cb195760cceed8d76b20bae92244c685b6a74be268c64a8960e1d6ec3edb9e70986b77eba84051c28900ee9b6c52d4cb6d67eaac2f5cc5bb79c12a5cd23a06f8605b492e28983443d245c963b81ddcba2a561957786a3698e2a0ccc21146a95ca4d7e4cfe16da4b4738a36c95d42f4a83217ebc7d5d1f17ddf5cf87f8ec8de65f0e69491686c973e69faaa179e52a828863797755deed4c1eed27d51a8ba25fb0821b33ffce69425d27ca2ce73c7eb9bb976f3be629c5608993eb49acf22e78c1002ef8d53ba36ad0b913887a105c0c5cf1d2561b5c9e3101925d758039f6d27ab42029d5ae10ca096b71e4cce05b7f8f3cad02f08b6e2148a3cb5f12f5577f52d118ea055b47b136da35283cbc6ab9570d61b54af491665d9bd141c2a11eecad22b00429b8c5d7ca9c94907429da625315826e99f3e61537a00b554228975cb593bdca2b28c1b022e8f4e6b61694fa934fe35501633bb8736021a08f58deb6d3d462fe00b7e9b5ccb7e2f065003b16d0e54c66a9c9d33966135e410aa0bf48f59949771ebb1d38b3902865fc309e7c25bb5b4b7de8611ffe178877c31a8d1b191dbdeed9a2348fff1b6217553bd30d3d9b7eccbf64b872b26aa811199c76915ba43c610bf4169d8ffe09eafc1b0a4eccbb64a031872ab1b3e7a9b9d9cf1e3ed1a1b6a5b4a32ab67edab8fd693360c62c9f34b00dabe47cf1e8428e28d1202e556160f0d4b6ab524107f5ebce2a4782061503cab2a1e1aebfdfa22edd4536dd051a860e9788a5a4691b243893ea6b8f647cd9094b643b9354a600591cbda3d762e7dba265b9c8e6c338151709322a51d4389431047afa1031d18aa0bfeff5d1bc28c5e013eef0a26a7f1eb3c4dbb12a215882897a65608fc3da16a6de1ee7349d9853f6faaed5fbd974fd051627ed762f74341c6ceb06d4d4d635f599aca02471ea5e3dd5012cae344abdc3f990e62fc07aa325757d1bb2ba0bd7833bbfd1ad4aabe86cd389afffab65c73df538d6f9b2da50b9ce1b1be4835f85f2d77a01594d35f48b370b0b11516e8913aef45196a24b290c7491ef39a3a6afd3790b93214837c3247e76ee41a4bc1539caa78adbc5b49d471a9a1724e62c5192ddfca31882350dd906560cb257c3582c4f294193dee760a15b35c9b746c690a4728acce6339496aeb75c2e350ec68acd49683d23140feadc2dc3eb118a8e87281c60a18d22fd12998c4c3c30fa76f9c76d1a994cef1dde10e4b5554e4e4bb0d164e3b85e5ce16cac42403d3b2c687a9ac0b8813a5a2ff6fdfae0c41d9bd4da4f2dad84a309ed3e6f353e9b29cdc9bcfc0c2ea73364554f5f9100b9a01e55fb3d1cd857c9f42378a3ed6f32d87a9cfc4c8366d6a28297128226b6c31612f9b6c1deb481dc930c417f64eb53cf74abc5723375e6370498817273981af928e9d64c2e2c1f7aa46039f2bea921ee5505cdf50f5c18d0bcb6f4729936e9a0ac4cdd2ed63138e68ff225a93b21279722f0174dbdd83b7fc3f6e54f602107c099f18d31fb5d682345858d154475ec38820fb3f9e7d340e9757854944aabd9202d4154b3ae6996828474f0cf82d9162c29706a455253e2b7a236b7c54b7deaec10ac95d71c93f7ae57751c75a98a59be69628454cbc0632ccb25faa8108de381e12cb18758648ff42225d26cb7c3c78745b0fbd371480f58dbae1e32da2f5edd0b487a6cdc0200536c3a45533e91b3241f2d19b008de02891276acf3194deef6b28133da6b7aab644ae69e0d310cb29c9b100eccf9cc2aa140d718ae5a7bb03895ba915f2ed39a681152c6567390465f33d6addfed145bdff55795af7fda6bebea3c98f9b4d0f9538c9513d80c39369506638ac267bd2afbb0d0abe3c44715bae6a8f2fec7bf3178a5c8821c5a6b32692f13153c364ce41a6e6e9201b733bf8fef31d33d058af4891138acd31b38ed8dec427b1f5b29455c4721bc1b69a9fe0c588b134831f57c64fca00fce1b582042bf68c8d4f05e27c685c81677ab6331a084fa16f6df88a6a6c161d4a2043ec2e2586bfa0aff858793f41cf2003092e55205ccd9084422d53245ee37aa8f16604944051fd787754eef613a5b2a0893e0016fd00e7ea3b13c6f6a7f22ef4346790b5f2d2c0482eca4f59441d488edf51a5e71655f2c6a7e6f348e8f364ddce5a57e0252a6ad7dc6170ecd50b267673d3054b53f03bab834de4ff37dfb731ea2a2d678e6791c508b838bfa9f274a8ecf5f499ebd356976e989cdf7f25010cf28169a56ac2b2664bde64611273af5b475546b43056f436845c7987a986150bae9121485ad36d2991e5bb14015bb360a04d989dab9615140841fc55e6cdaf73c914120fc6fd8c1106d75305bd1ff6fff2318ba444caab42268716d5c12dd5afd97abc3a048f3feda20622c1f16061f4ded6ee023bd1fa87496081c08f4dc84d946cf0ed270122b6c36da77690db383187a0270e5e9dc2c7b7f13a6548dbff4a462424973e424ca4f16ee07956527336d26d86a3810b4747912d0d72b66ae8c5cb58c500f6d48c07479d74ad29cb2107d3bc2a0c67ccf82af7e19734902b3f1092a515f71deff0c98babdf0c6a06104c0fd996567bcb0d4970bffce62889c6847316bea599d7a2f35a19adaa500a0aa8c8f50bc44f80b4a0a0f2607a8e78dbe95fac49831e0d54c57b415bce00047d12b16c50c511e96ebb39271d85653edc76f3099effd558bd90e7b8fd0a5fa50af4e424c37c9ef5e907051e61b08ddfe49cb318c37dd5978d0f11672efdbee14949ebd178af583860979deb98354bbe911582b6b4b22aedc7ad1b9e25f4dc500362ec7531789e5b84420d8abc72778dbdedb38ccc1e9aebedc8aa345a96e6af55b57e612d7438aeb0442f5bdaf696a072b72300930c6321bb3f9f0a6d4e42d66df2f3207822cd8758cf349ac1d291a474136dd7506a5d65446f7fe6d8abd942ccc84e93bb12f705d92cdc51a287ff98fb45b4a08f89283b133c14bf1840037118a5d518fdd4fa8c9e49d94d61959db5e8d90220d531efba57910110de3585b4ee4ebd64f89c745ab9d713604092aeb735683dded3de2da3af777371e6c678dae6c86ce8a28ad22cf02c2884987c2f61b2fc764eca2e3f515c35e6697f74243d3a2cf2f9cdf3d3c9cd116b8aeed884d3ecf7da0c1ad282c561f17d59ff9991ff1e31631b5360493f01cfee17f40cc18cc4cc77ff85f8762b6c8b19618f7a916d8caf1e3f3010e8452e1350c0091cc4bc5e2e303a9c3103789c534b511dcc56f895508d1103cede5da804a021cbfc9b0a23025ee40d9f23f03e1c3cdc1152adc9d5fbb394e6ae07202cfc61ba4b2186d88d13ed722afa5543aaca9bbccbf8d972cfceb33a4410947082a56a2132cfabec36e3fe9b18f3a88793e5e64dfa8b61bebcbb952d2c3dfde8e54f7399446e61c4c481f4d25c168b65234483f36daa99bf034542d3354ea93bed1f3770570f503e5e59de2a8d3c61751f4a45d52ee887390a7bf2821219aef4f1fc2746e30decff269ad83b7dec01278f4952c759efdd02e59e642ad22cbcf1819a199ade65d76d75123b011a29b807cfe988eb2153b1cb81a9f13a7b23ee5f3372a97b111d59760a3fc8e2bd06a775553f7b7ebec7fd0e054a00a9eaf46a6310393ee387698ae80d180742c42ebba50ac3a3c615a84d9f6d1077905dacfaa7324ba6f94e88df6ab6898780b2809af5e8d630bc5132d1dc8e0b741ae663a90588d92676b261994c2af2cf4747a8314fb022b0d76f74a518de290376bde67b0156c880a8208b2fd5d22992e6978aa2425865354c441eb12d8c1214afe5531b64920096257a6c439504b8e6d15c5e8abd7701df50b15b8068e43472dcff88c800bef997a76bcb9e6f120d9bc7b302d40685f30c067c68c2db4ee3ffd1d7f146baffa2a9935a07a6136a237d3808ffd06c69f40cff61573fbe36e2fade8bed56a833f86d", 0x2000, &(0x7f00000008c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000340)={0x18, 0x0, 0x0, {0x6}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) r2 = openat(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x185d42, 0x0) write$RDMA_USER_CM_CMD_BIND(r2, &(0x7f0000000680)={0x14, 0x88, 0xfa00, {0xffffffffffffffff, 0x0, 0x0, @in6={0xa, 0x0, 0x0, @local}}}, 0x90) syz_fuse_handle_req(r0, &(0x7f000000a380)="7219fa4736347448f0d1f962fdeaaa2f4e9565d9ba0765be302453af50403a86eb40b21bcbd77bf4c283a6bcd479ac2c234ae7a215c9e5764af76829b9c3d50f5f5c7b6c2390df2b003da1a236837357a9774f3870ba1f0d15b06453e65ec7356f9d694fd1d082bb765691c94cd946601128d3e84bdfac4e7a29261a1b028e5428bd784a1bf2d319d4369331b66b6ac77f295881bc717a69897708f4d9eaf8b02a6679b81fe53503714d30e10dead1b02c2c73af47ecbcc2d8afa86b152e059f632bd6f7d86f180d7775dd3dbb3928733b20d0b8e568ee0ccf0c7c94006592817140a80384112ef5a2555dff2ae77173df629e420104000076ef2353c02511a910e05b3dfeee214754b2c0a169bf94a78a503e89ee164571056973c56a9c95d4e934506292254d0402d978279d96bf35fa53a6345cf7ac3914a0d1c3f06b1cb9f0427d0c2d42ee4a81833489843975ff4d2e9d44dbfbd6082589d0baf183123cc821b981bf5ce4576655094e5c4ecfacd9608194fea94bf0da31e3610509c215a4cd490ddad06c0bb5c9a1779eda18b6ed5b9c761931ebb4f220776bfa7ba359650c38a6628dcfded61c8267d1590c8a6726a4039a2e7b83a1380197ab04e49f11ac215c4458fc92ae773ce33a3f058da0366e4ab24d2d9cba0fcea8a29491cdb25ef21efe9dc233323b07576e630ab3abb58c1570598d1c7739680247f855b8d4ec1a3997e6b2a04bc9a65c1c11fb7594504d503d4f1a79a6fc5b15c76f54681cb8acb1efe7bdd30470f2fdc95e1fb758267644d2831f51792bfd2cda17008a94cb1dcf7eb84297ce9b8bade982234b12be0b01523078483817ad574333a0e8184876d3794f44c7da1eeccea59bb261d12efa7389251b147cba04598f97d4baec8b7b4c6b799e0d7481eeb7dbb235e65f8b6f5ed6bf46b6021df25b3b73e9771269c7bf06f95debf193c2adee6ed34dd1b545a861819ae58e3b7069c6988f7c28d17676d41ceaf1d932024e70f264f5c7e5956c3bf0a677bcd59158e5c9942d4a1981893c866602d24d4185130c5b11f70be0ae8f79074baa3a2fe0426614351a256dacfaa55cfe6aa71a76ed18a882e5479c622653a98a50f435bb8b22b05ea16a4726c0555d92ef843a174fefe39088ec71911adef38ddf8005f3635bdf91f7002afa560179c1a7d62b28144c8bdfed330d3efc79ddb887f1ee4bd3fa2c342b6dfc0af07377cdfbf9b91616d8da2b3857d165e9bec14a304ee4566a3b709b9621918d99d6291deef4e1a1f04ecdcf0d92c0d84417b2b2ae4545de22f76c2528dd979ca1c40ac83a37a77794b07337a6b0aea2bbdd028275c24db33001aa9c6e8a37040546d9013a9889cdb8950169dcaa657420200dc523bd940757330709c210f26f3ca8fc5c405d4d3033fd7f8188e6909abb283b582349b83b01b766c11d2fb1433c5f57dd682da1013a4ff17c5cbf2907db7629fd376b3ec67bd1b7ba2f06a3e0bb23e658018dd76ffa90af51940fb5fa73edf117a2bd2ddcabe0bd96ef7a0b702fdc1125c9e6d873566e0f8b4684159a54e41df0fb0fd972216a045fcc086da525ae1929812d4e0b5dce70c08479be39590aed1ec9560e80856a40f7e4e408c14ca791c5bb234cadb58af2c8c20d666311b828a349ec21bcb9f1d9629b2a623e9086af804e3af32f6046437ee434dee9cd1a0d42e0e78eebab35988b7f1c8327f200a5dca16290f34fe3637bca69fec029205a55bb3ff218648c4f31f558f7d1eebe2d8146117470ba8d1a6794326fc92e835eff7a33b988a41c7492eb4fa6969419142dece6f7a7a9d404387762d813c4d744e619d896689ac9cb194dd235fe24c567033039b9afb9dfc77f9fc473dfd0629aa22d92e5bc388ebdfa6b1599f281daf0c464e34340e907f2b4a1cf289ae93628bc60f9c71ada6aa32ab1b4301040b1e387971686c68bc9eceaa6686b93f8ce396a1db7e8d92d0e2c122bcc9f7e8eb79cdca3036d5d6f69fac8e45576229f40357146c016af09951ce9c9ec08bd658a7ad0797414360844d0c795a9695fb76e3e36723d85c6298c7b6eebe03ecf5d44e7083b99fda4c38660d0e250816de5b44ad52b85b9fb2ec07ef99d5cf69797533e494a9de1e266315c5dc4b5303be9a171dcc78bf0976726b342442bcf118e384c993621ab4d3817541a4299f26274969b8aef3a9a27a9537073c2af67dd599ed87e7ea2a54efdde32a8c4b247561e318a8bc0c54111e3c1e88a909133b087cdbedb007bc318bab81046e1fbb0551bbc33130e1d1e44f74fc90fe3531265f9411490e902fa016acce6ffe9dabb0b866aaf1af3d6dd019843831bf04a4826b6df273af7f527e36adc5fc122e0c6136c80ce3e9ad0e0183e2dffe942efc5a6feb166fe581e346c1e1921626ede875ca2827b76e053e735a00da39dcf034e8f0ed197c064c048e3949a4dffe8aa1998d94b63b15e491a830f037d45b5eb11ce15777906f877336e852088400604bf084fc0f688356b5a9ad44094f88827f3c1c29821bf16baba51deaaa4977622159c2b9b7a2d80c50d5682d1a2d337c6c0e56219733dec802de90b0ccf3bddc07090feb4f394be70bb0adb4d102700bb8436144cb3d09c3535fb9efd287dbcff5b6233e6cc380eb90367352e4afc968892456f30e91ff906c4c818fc874072bb66d73c3d272e69806a94cb35e634d21fd8dfd0ee6de054ad8696e15fc222e064291988518155cdddb25f7228d7cbd6bcd347ed5c453221de10c92030e1a1b96b8aafdd266dc6f71f390ed7c143d2169feec70d850a138c661972ff8df74a053b96475e473bb4784d9a75f1c1ac78cc8728a84f762806b4cca78aec0acc629a2c0db10e4ae8c0c60e273c04a10a522d0fc12592ca9070fd4aa263dea5072aa1f286aa2f00cf94fc9b81e4de59199077b5f272e113a3b6c77e6ad0dce3a28524b934a699adef9ec2a67b5baa89056d97d35807e43dfd3e329f53223c38abd5dc31f66dd785287a5c8dcd9d2151406ca88c10e99a807f035ab9063c7e8a488c9588ea07db0bbad959932e6d1c89704af0d999c07615bca6d10fcf6873fddeaae71975f6115b792ea595be6a57c9ea52b41314b1e6472c82d091f66c18836eb8c68711ef042070545040220819e940c5f4ccd083f0f2b757c8f221a3dbbec12cacd2aa7531bda0fde96967b1b683a9e8944d624d26858233aa9f3104515182ce59929b94291eb5c2d695e4e6b7ecf30e5160d30c62744940defa7b455625047830b46b64a70e4070c3e47f42708242d62df081947cc7c13454447f167f2b59013a914eccbd44c40200e10279d45a2858703587491d13b3e816f515017b33ca0c7157dca8c8dac532aa8d392762d03034fccff3b906f8453e3517deab48c6e8b78fbd283c8515ad00c96810890d205d8052566d4d204f48a759877d3979ebc54d0b606a98746aa97a178c19abb68325de656b508a42c42c1664db915c687f47a75210764898b2803a3bd3f82c9a6280044059cc801fee406a5a14093b05a12ab3815ba40cc1182020d83386ecd8c1f2944b85b27b639f9df5aa7000481178a5894cbe66ea9ea8da50115cffa32c281c598b2dda88f16f51d7a1e75e0417988ead7adc10b033d03a41601709530799f81b171f7b79eab121ccd7dd577fd068cc4712c437dfdcb77b3981efb970d72ca32589633a9e42e54a79cea76bef83a0bcc3847ee6959405d37af73d3219a28685f71b337c6f72584bc37c4cf018cc69fad226827a22b9d58d41dab6fcbc056257606d8130094f29cc747f3338ec6cb0a6813986fc07fa10ee0b4dd4e228c27f585c2163674fd671a8dc1a6aaf56e3615802105cd827106b3e88a33179b3ada9ecef3362f910c818b6dbf4420f76b6e3ef168d2a60a88cdac79afd888125c475eb1a8d1b1b1a217ebff12fa89bf9eab76bdaaec17bc3d7dccd428a68db5812fbcb5a9d606f4c32ca2aaae107c817279be1e3e09c1cdea961c3a117c3f077ee575e82794a5f01a3ea28033381bae411c9c6a4edc294ad368bae0b363e8f0d027950619474115e655feb26d8b2f30bc159fbfcb824f863bcf7a8210eb38e22db77af0e24588a490add45b2747383883fa7feb5ab8797247db2c90fa8fc8e609b0e4028c2a817f6e97b09e18559cd7be75e6492f2bb4dee4e132ccc5681ad0d46950816b7c0d0191aaef8040062d55e5b8d8ccab4fd0c2f2a9ba3526953921126149554d10315de2055a974a081ddc27996607bad5b9e7f2676187f4304cb1d971363416cfb7881f8d48121217bc1fb118ac2f77af8b39084cbf8d67e4953527d1096d145fe4bbe8703f2321e1bc543d859a21d6a13a808ffb305657dd9336279a79f213dad1d3bcce9cc1eb520fef519180bdfde1e57211ac30a0036b96e93a6045d122aa03ef74cd480597c3787a086a8039d1ffa5fb0073faffc82d7561f34deb2862992ade9d30dce49086db8a5bb6a2529ea3408bd19441fa5c97ec68a2237c316d4270181d59e7fa0ec007b5fc9685552ecfa88f4ae65b48bd13fc9a4a78a84eef52c5a90d4988cfa74c17031ae03588d949d56641fed28f042337c78e4e084a8fd316c7e88755f209e596c5e7b21e7bcd74c26cfb4ad96832b9c3de224d1f7cdfdde65eea9f2ea98b27cf138cd3d959cc869027291e6dfcff604a3847b69e6e35be24789012da813402e9f37b3d512a62d1e255c29c68b956398ce73ecc449d58064247120b58efaa78d50e94568bd2d4c9d56a9159483caa63746c36b043298fafa38799fd9b53aa9d2b3584b11de0bd3a56315d41a160ac1578f999c5102a0fe8f47917a200091034aef7eba15c293234671564b96aee60df9e5a6fd19ed9f744a36aca8414852278463d753e8dcb1d968d4380c84aab6df7b0d7ed819c9eac6fe59ed53998c8d3dc44a8bfda2873c13ee9016877db99bae02e44ca95d117de51fe66042659f9d63c5bcbb20e3962f2f9555e9315284071c2dba086dbb49a964ef43104abe8f1bdcf81825418963ea894accb301d5be4019608938cdd6544c5d99821c218aebe031cb62ff1107349be067127125a57f1267d33fc64c492ae4aa43fd45b1d33b2b17415a48094d40f7311fe44be73834d1ff73aae7fda9aa2a29c41f4e7e97b5a4456833574d2dfcad90ae8abd4598af3483fc243068e1e2240a1f64eb18c64c3526869a68f33f6f6db3a79746448097686a37ad68265a36ff4141813e4017b564070ceefebf08f9cbbdcc6b506fb3427e0c951809dcb1fa06511760210c8ddd26ee661c9426dbb7e9e526ae602c03960e6594e47e6ab029b1cfc0d7642456c7c20867a8a0b6ce87fbb1eedd00a5610b691b2a4fdef3e3f96b5631172b88b1f37107988c8370c30e36a4ece3f176ff49605aa69cbfb0c6775817e3daa04c8ed033028a91373b2663e9eab3fda20a497b2d14ad4447e095b032cd4de59ae784c51e6cd332bbe833050230d012b1f2475666c854247f19011b3dd5970d8d3dd1d1e74ef0ab7825934573932b37b1345d66aba8e9edaec13411578fd7388ceaeeabf0622334d7067b8710422f7b8eb2a45cb0cdf5f9872d3d14efd2d818b8fcd37b3ff5bb21f2d1e388839d97ea97d2c3e15c9b4dd05a03f2a1f4c6f6450b2925edeb50c0ee631bbbbdceacb52c343b23989f7d7e00b8e6297cb5792cb7299117949a5854129f932c444cf7401723fad23dd4bced0da5baa36dfc45e89a8541eeb432ee7f01a3c6cf94d2d42b6924b03267d2ed1516659d3aadd534fdda378b028d8724a5329a6237038b46a7fa621d052a7e35e7d63b954ca34908d1144007aae6def3d069652a76c5e0c8233617ed6c8be24c26db9f7732dc6af173e05d6f8163335ee07966087ceba488a24a0f62fc12ea47d728794e79e0a20c1648583b203e98770be9feb6f5d0f2bea1495e326a0012c3a2ea8021315f31533f752c61edd073f1283e03d46d34460eb623fff130a57ab2a0a21f9c7c0eb147bce5692f886827c4cea51d87ff9f31a250b38ba4d95a71e874f05744fddfc7ed11a045fb8858be2618e6f4f75696305c1173fca9297fffd105bd38faca2c858d797e573baf3645e0abeccdaeb36f2bc8b1380a38846cc0c80789de54c1d6e6ea344c75b18e58563909a93c41542493fbe25d063a2110f21b08239c4b8be9d24b1e0b1eb9e5c832e5de878d091c475537e6d1baa11214020842ae5c4824e11c11df4ebec8e0dd937ad9aa4c6285688157d465575db9e2bedafba02a2c80d502886343969e322f1575d90f64a0b163ca560ab853a1b64d5246bc53c99466289d3fa43c31e2f8886ce6f55dd2b327338f0266f16774b85498c815a75805efab0add1c4361d1c217f36b5e18c8b2e1efa2dd7f6d1ac695331111b17d665299572f09dbdd9e7950cabc951c4cf7d2cc0e22f6699f53e9573826b420a013310c45690874c96fd0256875baf3f88f1c824eca1c7811501b1d0bd292b105efbf4fa735210ebc62302670bd80b66aa499118f839b17698898492dd6d439c29066bd0a9ebfb30bef1ecebc69472ea8b7c98fd8e012634206f1f6b98420f383413177188d3ed26c13a8564502820ae6752cddf7b6477a04fef130b3caa8913e4787105a9c7e310bf059ea4006630c9603612f0b1caa83c5609cc8b165fc4b14a4b044fa6b9b6b4ac0fe88954022af217e3f5a46f0c075bb2a9d6edad593c295d40490912403e3c461e9d8ecb379427bb0d4f09433ac282ba55ee4ac5fcb94d866429284fcb826d7a93a052eab1dfab0345b238b15d053390f0879638e5f7f9d6e2831fe62626b950141b9cb2a4ef32475816653541f2b74baa0759f1b155d12940b2a34958702e140d98445d0a038cf8cef5f814a86d599613c8a975832710eafa278d97c943c5c6410f00854eeba2ebae6fded67af33b0b5189dcd8d6e0567a282f614655a90bb7eb6283c9a2f0dc132f5a0a2e13e76dca49815170d090be93b3603c3e1ea94efb58d4986ecd452ce7f9caba3567fdc38451269dd5c0f87a9e18f4b01573bb6a27f4665fb964384d91ec1f89a32526d26ecd2128a9e83d10c6aa2217658cf0f34840a7b0255ae3d0ff85a6c11e9f9683a211acb96c6ae196ca830aaf21d97efbec9d88ef92139daf87818a55ddb07717a79608857746770c3449a83c0caba0d841c0791e64a84bd5150955bc101c853d30ab995529340f54b29652d703071628d457db8690b792e25c476fbcd1215f51ca8d60c9556821e9e2125468e8b25637412b206472d757f69e07cb19acfe5338f46bb4917bd748ece5fc62c66f5db79a380da8112888167948325d0c031dd6be1d79bc2facf4b34fc80829dd5c4effbd90ccb08d397c474b0824cc5865ef9531c88ffba1f5a2696e2343da74963098acc5614ced2248bb83f7371672b14bb7ebd9376ffe91c8ac7c50a95da85d804be81cf4218150ca96a4739489ad7bed2d40e26b5bd45aae6ed859608b509901a0559930c5bd2fad3451dced73cc79da05d505b9189f3f66d4d7fa8bc1311f84751317802f6c97a2489ee029fe17481407638228ae266790d199256e12780c5e48db4bde2a548cbd6bba52019f9611c589c08eb2a2a17349f51956757fbf78539ed9e57ad04b8b2513352fa44b15c5fde5e737d8c1594a6ac12ed91127a13fc3b7b35d000877365b098034fc519818521503443f67a9c28e593fc9fae59664833beacba5be1939b071ac1ebdf03e75b99885d159763600509d22453fb26421b9a56b72c79080e0e155450c9312a0ef996b940e5f3e25c4129f25ac16a86cc86a476fc74bcb29a19294bfabbaa38bbc44ee16219e559251f1892a57d3c0b7cc252c28a9b703baa19fcb46d2241ac0c886d524a6bfde9b8e2827c26ac19d994035342dc96c08d20377a476c41a1564663666d3e048b8c954d4c30f391241539439074fa429d8c3715b71c11ecc2f210792e1fafcf89796cf7e54264d6cb0c17f80c1766e079234c500e97c9ad0db4d6fef7b366ffdf057920231478ed7e057b166c627a7a0e725f1864fd6382edd47cdc500f86ee66531ab35afbc1687c354af2e8ae95b1fb5f8516560a58729b7b6c7b3d506682c7f03716b9a53ce7326d8e0dbf0d9b0f1bde90d68472b3a10495f5284f2a9c737590c6839ce3b417f59720ea733a3a1b66066adda9be767f922bb7a9f1864d9836b681e54e25cc7c5880fcabc027ee2e21b8f1ea94c915f243c36a75156f4a89569096d0b0dfe9aac98b1015123aa95f39d00e439ac1f0971345ed4f8110d65296aaa9aaff4051011c272e4a21e73d801ca0993eb893693c2bfbd40c189f9baf00e3371e023cb21aa2cb832b7e87b2bb2b5c733f3c02103c1392a9b7555c73f86a6c19b99e8e4086c11ead1d50292c69f6a97f9da9111717cff287bb8ca585055d75ec6c32f65444a96e99606905cc6894af1ff06f001bdb62dd52a38ef199bfdb12932567eb72b06d9301a568dca814877fa388490c9f81988ecd6d6b338a2724b0853ce87104c61c179231a484fb9dfae9f5761ba0337930761d413aa87d3096032e4f71a55e25d9f873eb689d40a879ca5188001011ac803fdc95331d3d859182bdfbbcb81c101886de05cbcd9cc392659eac2500a81ad4d785a7cf531f9d4295123836f5835a1edfcb92c67e84920530c4d2f6f9fbfc39d8eb7d2c840122da42bfb2d15d11a647a7bd27cea23a0bebaafd34d36f5ef4c7ae53f17dc9f2b0a5e33ef5bb63ae2a15a795fcfa31f333858aa494010acfe2dc0781138b8e2db7f58bf7cbce9da33b2c0836183087e72292948ba38943e31637bae8c77f18d455e100a70433d3d7e7e779d65fbbf5d112e32863a2bd31997f644491f858cfdb881900a0c69dc1f91e8714a43ad0e6ad999a84c8e93a4bf3f29a98f4e3402a7262f0159c5072dd09b0af7b6806f0d05a788f1c19855aca18f9a14674b03ccf200799b1e00b2e3cf7431a0f4c9ca3ce2d58642258416e705920a60eae2d306841125358e83b8fd9179eb2f4c1f8e10a6f86a3ac73bbf7ac751685d689bd181316bb49861512f7c375537c3683aca51ab222dacc2c537be6505469b21dd396182c919b817bad13bc1a2880d7c4662b27292b80b426d9b7acfbc26f03f7170cd18489de2e35a3d4530ceb090b52a2fbc80f4a578fcaaf5f38d9ce3601144eb7cb36e806c9b38de03c5e86e2bae5674f32d400b1553fe407440fea7990312bbc2eed3b7ffde10130fdb85a9d1262e2228438d231999e49d8b4d8c8100ecf31df55ec0b0f86f1fae08e8f9d6034f85ee80d9307110f060c518eb86b8e021ef7f7898f368b23418170cd7a868ca3ebdd8de4e3a7873c392917cebd90d1e77cb8cf2ef65209e95e41b372377538394052b12b053cfb49cf04dcc3524815d036fba1fce46155d24f0ff9c1f25b58bc8f859b0f1622096ff69359cbb6cae2a044a597c8e90c97f669db48b7e9a133dcbef63a2ea1adbcd7eeff057e94ba4bc46bc193ed5cce3a0719a23b95bd95916489b9a2012c9cd04f46c3f5887e27fceaea8c16429b0c70df2176f428e3f0f2d7229303fd86fd3f31253436ac633141e279e3f04bfb47b66e25920f8d2c5daf6273c62391e30cffe094611f25ed714f3b2e5d28656ce77bef05d1472600b8c6787e9f9a2a7a3ec4a5c75749fc7876bd637507b81439df28759fe56461daedc89c735eefc5feb3094cdfca1e9c44ad696cfda82703d6ea11ec44a576214d9f7dc891d6d2d3998da665d10e2c1c807d248df651989a41e1e57402c37ed626cbfbd7ca21a35757ae7a4e739583aafec17b60554066a63d521a4c8906e0f56f85f73b0466fed9365966b89c778975e751e3453017de75bd7ac55a89e3c1fe5f9e29d16818344ee40943518cef2cf8add1ab4cad10cfb5f9ef1224cc7c46a12d99d91fc5b7b86abd825dc548d394c8bffc1d8372a40fb011421767b1fcf99dd78a5a6d632e09c902a74278de288a279afee23940a2fbc7663619eae9a0b4c221b6819a93be27d7c4a5c14a2606e695decbefaf7e4852280ab69c4a87823cb04caa4bbd15ca479c1b7eef13ef3016901e08da041b7040f0f5fc6b64eaf12c00bec8e63b9e974671dc8bc3d9fd5374a800a28b88d718c8cdb4281d44c506068a048e112b9e0658a4ebd099500205e276cdb05b3162ed6324c8242901da16806137e2a523e8927a90be0b10ab1e708299c49e7c4944eec5408ca990dcf0d5b7dc2713571f407ae6e35181cd0d705a1abda0bdd82f5b3b1419b039db926086b11e54068d3bd2481fe5d8025e09b72548fd6c10391ec45c7fa2765578c6a0918b7d6af2d8dc79acd2b05ecd190667b77a8d57234fc62ff61b66983daf5c1a19bd47bc2b626cf2e3a3276436855faede2832e91ea16b26a900c3e43584e2c01b2ec986d0a212428146d9254ae7c27fbe2e9fe18d8dc5a0061542e4d1ec14a6febd43eecd6a4ecb3f0223fdf5dcffc509161a720d041598c6fcb359577bc8ab447a7561c71b0a287242430b78cde49c0e037e01c2f28633571a9284134539356766bc63964ccf9051b361d7d17008cbf9b2c40ea04fa3cb0f96517acff755509592d03841660d2016c25ecd330e62ea1df2385a4ba04e71d91428c437f5cfd1ee3040899b94a351ff936bc72b874f28e330afe0cf66e37c39ef5c38f34fe70f981bb883634b3e84c336b5fbdc0d153e2a0673ce4d3709f35822902a2428a3ea29b6d92b81f4b7de6345ff70dc8e3b4c47126b186878107cc2999c16765b52dcf48056ccc23d6623df14be4542facdb654e3edc5a35315b65132571b3db199be785b062a3cfbf0f3aacf18ea274aca3c30265741d006abf0c706695a16dfc5a079cb38d0f3a897d3c09ec1581aa1a1ce91da5840507699537b9a4df9a8c25566d8bf4f294d8007517af43610732734694cf884c53e9b6840d042a85d42355bf9f8fa718df4dbed3a118172dc3da9f4a8c53d9272c4c93e26e8e47686ea77d469f0a8f7c76b773f54ca7dfff85e87f8d5b464fef0e4cdf791b4235b8ff02c6266a845679286f34f76f7c9ad67489f6e589231df5600ac902c4903c25e8cb9fdebf6062d87266d7883d93b7411f73298fd04e6569704b150f3f37df6384b6feec2fd656671a6a44b589ba7729f7580127825f2ec6605e002c3a2818a13bd089b5e42d14ee09e7fcdc288019125344319513906b32979032ae70e116855998365e4fa77e282a43cf98f93ef6aa0e0768ea4c8acb556725fcf41d48383f6ddfd62bdfc5b6028e362b91b9954c098e16a42139478a0ddb612210d67bdd808fd88cd33268fe652308c66a742f4409d3a42fb6510136c7f910a73b437c4daca57065538223a9e5a8dcef1b0682befef54cf13e36d6faab9b9f2aa976f5c01133d97bd5f3b71c7943db45e494416fb2d00f8f85b196d5307e22abe5e0d48447d5f9df003ea626921bc0dcca7eea8d1f56defa31bdd2f61792774de51970200ab06c703862d446ff22ca7024f865f4421c09b97d2f2ad4636d88a208448f8e065ee5c8fab93dd765000", 0x2000, &(0x7f0000000a00)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000300)={0x18, 0xfffffffffffffff5}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000c3c0)="be11a5dc585dc30cccc2ecf301a6399cf85cff286f43451060f6832f114f77711c0403354d989415ec658726310d98b02c14f14ba1e32153e85bf1f1a9a18d9e95d50124068aa1e36964815043f274df7f91af9df9801cdd0b7070790f35d7be35982ac9f2a862e304fe09026b1f4ce206234f2246a7fa3a8b5836a7f611da6c541245e6173a1d7966b99d66d3f7c785c1df779dcfb31bae371aeec8a6d144ee2a71063247a4fdd3e9ad498c529f550dcfc89d3b14dc3909234c4be2c8bada2cb24f53a463e963f7101163fa9cac2999853437635e26007a91b2eca3ea41ee19c9f7ab86810fe886ddf245306e9e146939dc28319c4b50f1541088cb8012402613755ca8b3cf13101bab71d197e345eaa8195b455297981fa93ddad6ce44511cd041cf1b292205877744549b3f191f1ef748f595e2eef3741d3342aeb587d78da011cbed428609a0720e5812c4d6673ce7510068ebeb8c5bf7422bc53ce80600c67b22c059f13e0939e63bb4c9464fa14520fd5b30f638d38d9c8acca15e04154ea44e68d8871836a6afddf00dd82d2af9ba9857ce61362aa416cdddcf6ea8749f888c85d1a937f17e7fe0e61b64ec088b55bdf9d9c3cf2430136f62011044d811356e89a1bfab1fc59ba55589a883c2a66fc7a546463d693346287653a1e29910292e0c40075af553dcb25e3a718a15db7816d5aa68d4b2a03f48378e5991464a9d0791774cb43e47d1efd47ef1f02993cd39947ba91b2e644cec65cf02774cccbf5532ee4d91fe970ecebc6905bdfa26b471b690f7d1b15d93a6fd1b79106ad2db459aeea72ac1daf13ac9cec1c750fafd9add643c60250db6eadf868335264d8c2e59c5aff7581ee4362c6b7584fe5dc5a391039f029fffbc164d0340b76ca648554bf3c50c243814c2bbd93a0f302940efef4cfada019197a086919b76c200fade9ee17045a08e266610cf444d28054f268506ed864261eff8ef1bf22321a1b51eb0a13ba7d4223915db824df34bfb6158b4319bf93678fc439b666415d8d5ec55dee063c0a423d1acfc6e1b27a47987c6fec05bb5921042a559307f60b586e1ab5e7aa83cbe5feacc9bd7e367600ff1d91b6db156d88a93b4b88f591da279e6729d7ddea02c40c7468812f89cfd800323b358eec722b184b1b8fd581f87f1d23bf2c6797daea3a3c3149b30e34a46fb0ce2e53e987ed263bcbbdb0ee7dac656a54dac774c7cd17e8781c3cc6edd3fa9d280f05ecfa196f9ba0471bc9255402ce1cdb409267ae453575566235faeb49cdd373ae73a29587bc37742b0c7af41f52d3275569a4c0feaaa645df9d75e140062ca896dcc3ce3b9eba2f8d54414a4280f7f7745f7bf299da3c1356a9468429f104fa6d90e3471ad05b63a866342f049ca303c49d1a0e655ec5173948f0e926d44243f178d65baf0ae7c6a178fc72d050d98a7f74d3411f128c0be1d87eb0b44da842249cc6cd1cf4ccdac1bbb78967d7b7adb18d11c7430e83e61121cc411418cb8e3ba48d472683e9a2af591ac27af1063bbb3e41bff64e3ec29886dfbff07a7e55b9b2b1eeeecdb516e2d772de84d8c842f997ce050c2383badcc387aa8ffeb21f7c7a6b0c8bde457843a183a9d94dbc0cd815c66af64b5240a2fb6b80ab1e372c585ba840d8b5073cf778d3289fa36cbde64a9141b934591390a01c2addcd2916ed67ca703faca30e8921f25eb4259287981c6eb2019e657187dd4a2da48b9131f7ae4f67c3feaa602edd73ab097ea0415b3fe47493368def04ab78d82e039172a164a633786db7decea568f09710c259584b71c8b21007ec0b83f9517538b13862e3aaf2309e143b3e13f28a02af47cbfc91eefa6e6abce1b9f67b7daee32ac15d54f4918b7cb4fa276eaf1b1671f6c1ca45f6ba61e64acb552990b33eeadd1be7145f55ea4bd136b8a3ef3dcaa66218d97598b08ba87b235d58e861ec169f93685720773057bc795cb6eb2601a9c680097f3e7780e46f64f2038993ec04733af95a40deb611cb27c29b6a88a45a4aaeb42335e28d19feca3b2c2d32d96dd1b0a77e37b78d84f21a020e5c81953297e09bb524d268b7b8dfc57705fcfbdc34a8648225ce4da1e5713aad315cebb166e1c45f4c849d49551ca629b8cd78ecf25ec4fdd57c30cabab8fb8faf982af13af6dc5635a4ee1eb3876c4496b906c3b959362c19ad577c3f95405cde4bd27d303587dee644cc6cb17ae474981c7b17a9b55cefe8f9cab9de6557ee15701a41f6ef5e775359f04083fe431857d5ef58c5e83aa09195b549bcfc34519c710418655c80ca556e686657b31f2754937b72f886b5a042a5a558833cef14e24039a3b441207a1e6375c43dcdab18f80f3ecd28023486c6650b6a870ebe1cc60494f2303e794b1a471ce4d463ae924b6af322bff451761214a03220e1a1adfaa21b91b0cb58758333eb013fcedd99a8dc704742146b06b1a0b0ae200c815920df3aa7e90cce3afd1c199fe2886ca63ddc7b22edbf3d7ca02539a4764c8579425860d5aae899564f8ea089ee4b6917ba7d554418285ea6c67541811d4cb96e934aeea94b5175a4de2b4bccedc7628a7a72d773af27d3d736aa3376dcd048682fa19b2b68f4e541647c3058a8e300d0b63373abb4a85404aadbc7a81f52a3bc18eee6a1b21e33bc6953b5bd25b8803da311b9b540c8303bbc960c8ca185d701b16742c33ef51894aaa110524a3d235a828133546511a6250b99e03ace553c5a241e81259ee2483b31285b4625ec285ec004ef620e2742c890f482fe2b8d079dd01611654b9979fa369dcd2b657e4a8a0fe6b8ab35192278fcc38b978a9c75c8bfba8646d74b93997e3295100312000afd1ce3bde2d2671f19a32dd4c7b513d72ee236b5c1a1e2635f3d3f387eb168a2bc2bc642964266c10dcd03a293e059c5994fbffd24a3dd73792f2cfa50e2b3bf5b8f171351afd39b732bdd213e286493e766343e557387206bd3e3989382fa0125989e8d7a2de2cabd9546fb11a462a068d124bea290fe99a988ea7b3f8b973a652fa2900af84a5d69c0dff54276155e89858ee9ead89716708902bdf7960a7f1e3c8eec789bd4f19e756aeeb7922b48ca9cd32a33c388f97efbea7439017d94301367471dd982e9d0e67208426a3dc4cfc42d44be9ee19837095aeab13ab46c215b9909ebf149bc9fdbf6406844832cda498a7cfc559330ec7287c95525b57dd7fe87ae591bd25a0e799d1c1ec12ed61f820f23ec5c2d71562698023876576f422204e6ba2317f487ff7f602a106f6344d7bd770deec7ea04f8ce4361618a02a21996f2018faa8f2439dd4d06e23be49e8636f0101fead0b78cbbcfb9aacea270529911ed82e03745957869d518fc4c59967e3966137422596e1f25367acc2d1dce153cd6f137c50efb0a07c7e8ea3a7543c8ede1709d1878b58dbdbcb5009fc150f93e11ceafcdc0b3ffdf9e3ffe2a10a957f7d16ded497dcece03c1c872e17c4e4897c297d823d546a3f9d6dcbd867316c519655195fc4d86a3a7c0c2a7e0d679896e1cfecaae2e33860c60984c65c3742ec7ff0495e45db03e308d8baf15be0d9dff8ea27a9edadcad561e918fe98c59241690a147037259cfc308471feeeafee40d5b2f24ce65e924c38f3004277553875080341d4e92452ad4ee64aa7f4a0d72e2902067b4ad908058dfe73a49bd28606e4da52928b1b949d05f16fd28f1824429d2872ef483e5518374dd81ed84a7185ab3cff63f6484ddf72b3dcbb8681fd9048bcce481ef5d00b3159040656cddcb49e0a474b0f42bf56aea7ba835c98c571a9dc51c104445e6cbd62158e7f5f59f4eb1a8ef0ba1b44c9352984113c2af36d215b4389adeb4b9dfb83468dbb290fcfb28c12171bcbfc1e3856e0722b625b6c001afaeffbd1d7bf61dd621216665637446a4154b2730e18d926b075a925250a763d4062459c89ef5c2b8c469b29137c1b3079bf99ab540d6579c25bffcf3a041f0139b17e9f452122d460bdfb30843a2ac4cc75bc7c0c3e5fe439c35830e5d6341c9e0bd2a88958329719184b8d47a7f48236144273559e58e9565023834d6b97a1fff27a25ed568918ded0caaf0a63085fff8752b1be789f9cc3cc41f999dc28ddbc47e3ed3e4f8179a9110802596e6f343b6e97abda062149f92e27ef3dfdcd99b33a8eac168fc5d265046cc007c773a78a5c39d00059076a4c3d93a9f177cd191e034a12a1e11ac5ed49aba30e8acf599e68208fde9f05a745186a9d7ddd3fc5086206cc6c789dc6fa87c667f13a840aec817a54adb28ab1e65e2825fa38532f671d5ff27008fcd80952803fa4a2215411d73e327cc60be459a40b80b290a698b3b61404ebf17b31512a8d6b20d0593860fd89e8d9c12e4d526e2594c76509166eaf58f5dcd247e3aa96fa9b1d64c67e7ae4e6d58b9231ec8875f9256c40911c2c24c20d48b78770e7ef15b5c5b675ac12371717211edafb17cd7fb8efe015faabe6e5e4fef76c9fdf3b21796ea1e069b2a56c369b8c36cc209eb1e031827176b08648a0b0680594ed9401adf621d71f2b3f55234a1c8034a4f41d9102a5efe597d29a8fe837a6df892587042f9cb4cc7d144b98f11495f78174cba83456479da2bd5ef09a0ff80aad9ce546521ce7861118a5c5231b1f574a56208bd99b17d5cbf0c6d8c06b15a03f66be811ae552e2202138a4bba63180ea457d74adc5fe64debfc38ad0784a517115ce1b4f651db8b0ce82102223485ba37c8de8d821ea54275ccf60a73a9f905f68d47bcb0bcf4b6b2022670eb6f9f75954bb20a594a207e0c0806fc5e8bebe33239e0da187700bdcc6d0161bae304acce6be4fbae4b8ae5d90d65d3844f23bb913fe03f31aa4e26f6862f1235ddba663386c0750a3bd7e74854df68ecd2350e46c2bf9882505a88bf3f99d3e08515be411184e198ec3d612a6644379d4345f046ea427f40a04eef9e984590887d46aabca1e21e1577a711361028ae7728d3f098a762416a48b820c3a6938f7bc59f139d58c22441fb59bc09fc4bc55e8ed855cb71628534c43a13205c0c632c7d561ddd30faff9e7fe71e56a33da86d66c1eca96e98bfe7d1f9dccfe4fa129d51f906adcb34bf88e2b261bb79aef88c0ea43e369e47e235c2bd6d6a2b07c1332eb85ef878ecfb41f3b3769cb13936f0a8f0249da945fc3c6e9b4de1ff2fd36d0cc17623ea3519d481f24c2f0cbbc0896df82745952df1f131c19ace779af1f669244a9dea7c568fd311291c75e3fc46a41863c5dd38a6b172138635b5bd988bfb9acc5de919839194231cc4d004254c579384afac6dd058e3ad50e2abd866154cf4c2d842794080a04b0d552ce82507427b3a5cd448cc3c1c02c1680979d171e3faedeba6aa8a7881a3b0854da19a1fc5147863a8383441b3fe1da16c20ed8d51c917a794819cd4232da73cd94a8fed8a65e8665d83e4caeb37b86310225ee1bcdee93953e1ee2451ac15a2aefeab121e0cd2c4f230567e0153c3ec07dbd0aa818359a03f5be1a3a32f7c79c7a70e828d32becad09a9b407025b59a26fce3aa08b7a48c74e4225c12ac773a2a9c27580223e2d305af2b6ba00d0f24400eedf51f282ff02422a000a6843757b4821eabef7f1ad7e5a73d138489c33b42e6cf5be629adbf87e781e0e1e02f8e4cb20c1467deccf64eb331faa251ef79c641cf08510461f094980c1bd3d9866e487f6cb538f885f2b881baeacec73183744f1e02b1b8aec12d4942f814035b16476256a3b6e231a09b4f2cdac30a62e02f21922f25836589f889c1108f252873e5a3ce20d3521001ea13c23d1319fc3f8269c30d3435229a487ba96c61fc7dd88bcea987c5bd67809ba55c36dc827fcc363e6a60b1319a3b97267251d7bd6dc037cd2a5f82d74ecb12b480b5ddc64fc8763ac38bd8ab0fefc5d0290b278e8c68c7cf5a4a7bf551032524dbf455ff6c6c344d39895108c1ae07c5281e1e11b878c3488aeca94d5ece48065862ce13ee526f85b53d644e6793c4d0e930c70b16746479e7785c1ac757057413e08c2fd21eae201f08e5ee02a73b5897b3fcee70ec2586cb2d007859f71e86994ddd7e97fdf94a65c5d98396607f1f118dfbe7e3b7777095b21b257e8bf9c40ac50b9a4900c3dffe423e73302aca1ed0c10defcf32f4447de9c2ba3301f7c8e2b4cde017c45c5bc90b25962a628b2a946288206f1917a76115787e81f6e314a7c56f335487426d308d72a3991e3b262dddea9d17cd7dd04e3f7529a53263cb78365fe55ec9e1255a8c28aa8ee34caf98b3d38503190306285df1c1016d63aa9b0442efe1ac9b26b11729552ea4e503492da07b921b5adf5f478633ddc3ee6e333961e1fdc044a3e30c6ff2ed9e2a29aa0b823a8da6096e0842701309382e501159568c954d714823e03ff0a73c3b27d0369cf369fcbac588113cc8b1084666c447c0fc02c0fb038bea5530687e29be974fc214c65c8017f64534f45b8c17ac32a617bf1326ae46cc7bdbc8d4f6637bb4eca53b2895b2dff46620fb798ede0c197312ed699574b35ccefe24aac7aa03e4b68e544e6043b900f203ab98d2e436056339c9b3e36835aa22ce273faf40261cbbc8ca59abf99900e77fb454345d67f0f0e84d8d36ef000f73c2eaa39dcc24ebf76b7869447dbf462dde48ac69071eecbbddcfb48572d6035c83146b59d91d070cf0c0b86d6b34ae76c490e5ca5a413a25a01037d849c5301089106f64fa50b00ae6cfa2259d7f0375e3bebdf052baef87c1d1f2f3d0dcf9e0ed8002cf18475b48d7d2e55d0ccb929fd580f3cc51072c2625f96f9e39e44ee92a0e76b8cd7e74e2598974d60975f03537b3fea07482215553a07725d235555a839c88106cf0dd09a13e3387a085cf1896931fda7a876c310c8759d6b5d1d8da4423a2a4d765c0166193d99f2c4fe05d47482bc94e4341b225165247aaa97eda85aa1c07f1f5c4014b1d712b53fde7c5584cb339734afb185611db1d7be7eb4f5aafdf1e533e290ed0a770818b6ce9c23df5ec9b66aed9b9d7733cb59036ca7bc3f8ab37939b7164dc4ce8dc3ce3fb8bcb151b4e7e80d2763055580aca9bc2111a6dbf10e0782f24c2c7dda5a89804b53a3e52c33062970ff03589834ae7fb2c1062920aafeb7eb30cc4eb05fa093aebb1feed6679a35bae38c97f7083cdd2cbf4f435e8dfaa34cc91c814ca6d993bd51cf7c2551700a7d6c44749b979fc825028154218da2e9db38fd1568093ea77c56d9cd4b6707e5a3386367ba4cfc465ff093dcf5b024abdf924767404ac3df315a3053bf90babad81026454c4a2b82a358dafb65577d58313d6fb72d26fa0feb3dee13623b4249bdbb06e442f722079c38e2d3326b52827a0538ea79ded705e1c4ac42ebd2a7cb14bec4a4cf534d83be7f6e8cd969f4b65580e25d3806e9138de175cdb8f6da8febb2e80204101e716b9a30ac45b748b3c9b4089f14193db8331d57ea21c78e17907625ffecca5b81bc79fedcc2ef82c59f288598a07429115c964cccb99198c974c82c15a6ddc0d55bdf01d48c68380b04c7ef126daa52234a76cdace802a19dfe4dcc9905e9fada9c4f58c6cccb5d70b9e96667cd7288d62660ee615a4d3b9b65f8582d5375d8dcb6545606bfd0dcbc732166b93786062644b700cfa20622e70d3f29404adf8eb271d1419cdf977808df70a874a6e4a92ed51e98c403ad7993ad6c45e214507b4fb825057019324812e3d09e3e5e4a531490066ae07bdae11593427ad555d6fc64aa23ffd790622ea8312dfc5d979352535732022a21bd9e10d9a7e507d8e29ed7bbe783364cd8521aa49c8afbb844ef9ac6f06663437966fa392bd1ba77d298f1adde1b49cf54aa1e059bed2d18a299f8a49cd8c7922ddd1d63175c50f1a3e0d0cd9c20ff46f349ae173897bad8751c78920d30b6bc7475606e0a1c6fbf17677435f151bebaf08593e92acba7f48f69462d3f3485f9d2f4ce6fbc42ff9c7cf23a982d8a0f0b590427cb3247088df3098697d5432d6d5a0597a0ffb85dc1746433e594fb5e5c9da96fb02ac176e724734c04414e67ee4fa2f57524e5430c45acce315773ba51a69654cbab81adec53f8f7a691f350d72117ec4a4737598b5b91b20524e35f90a086c1a8dba9bb1f19b52ebfda76bf684b1c07b9587248a7c316f5ac312d67819f15cf4d495e122ed2f28a14a9fbe6718f2210d5ab81ccf2da4c8cd3a9c499ce95fce0ff71154b994ed879b65a21061b7620beddc940bd81652557771228b13186e3339e46749456dbb66db2436ad9f620833561ff3b9ccbf6e78812c2b9766d04273f1477a93089fccf9a928cdb7385480816090f2ab7714f1026bf2b1bf6757c9894f6f455e273c58d4fd1e4fa43a1a42378eff847eee54dc9646699aacf95a6650a5e901126081398afa9b240e461fd3aa8bd7dc3c75fe2fe0f9b5c071a334bc05bdfdb8cb3b6941cd32f20b9cd078d41fc4d23d8d523c42fae4cfd98b221b4dd8a0db1006fe09181d56a05f38665b3879401d11bf49aaecc27ff01765656e054fc7861cc192c50f1eb1344f63114fb32c33c922b7363a922aaaf1a191418baa106e074e9e01745eedd933d893f73b0ab902379466b2196b2829db532b1684a1f51ebd926d750d3b97c897a3c4a6ecf96bddb834e4d76f5b371553579b6b2493a27d1ecfaf4e0bb91ad797926fcefd4fe616ae631200321ee7d79add5aac82f670db1f73d42590b47b4c298f3ae235299fcab5245468654965aebf1e34037eb533ab187b2206402c55b71974f66430b06d3147a00d13e7088cda0fb70fbd4e69024d28825b856c8282c4fcfe201ed2719301822db282fa9ceb400ba30c4260cb40d2e942c66c82c4bc7848f2b050c264b7e89c50ec1e344c4666a656450230f2338bec24803180efad0684d6864a6f8d6c9215ea5d95ed91f234387fe48d7ab50fe6ebd4017c65ca1c83ca36bf03530a6ec4d18cd753ba8f8f301769d1adffa71536bcc346585d7c4725c13749afd8552d8a95e21cd9a66c965aeb7e1bde9849fe40739967c1f697fc81b501ceb45d45910d253b9ecce2c4764563d12f492ecb5fdd27f32cb6edb9aa5d89ab3f121e8ee44d6f2b4bea87f62bfc6eb4925350785374220e79b223cc2499e55cbda60ba20b539ed237d164b8bd81e2b0dbc6a6b4a1b4bbeaa89ce0d0a1a5a7b6ef644ddfd9a33fc40970866efe8586bc6577d85bc10256d044feebcf8a099fbfed1694984a406768311b39191b1612e5ec1ab7131a90e9bec17d57cf46e19aa49c54e5db7e0b68289a7e5171e952c70689bb06753b6a5ad115c6d7bad4f44fc5406d519a79d22479263dcf60bedc6d4558ca513bbb39d4d87ae07bd7e63f9f5fc03ce668e732587c1cf1451ffc373d36acb7b5182cb3976784e1e8c52dda9a4e9f6b91c47db7732adfa2541142fe3356535a5e7da3a84bc33d032bd0adaa2e07c86a43d7dd87719eb5461215d375b0a4b1c3c413ada1dfdca059261fcec390335b8f5ccc560bb916d5d91d5ae177f180c7d239ae2f2a134e10438a8f804514428fd9169ccb4027ddfaeabbd8b83c730263626abeaaf91703f9aa2501bb2804c19eaa9178167636ab48aa38417e4917d3b35bdbc83362bb897e71479ed0349b094a2ccb24545240e6c2a875d49946989a61eacdf828a69db3adf700d436d650f7155c3ca976bd880d541053c30ae0974c17a128a27d6324ead5b9028be8f7df1da62b3f0914579ac0f6bf2cc24e8c85d461f13f19f4c356d8adadd0e216711dc3710c3521aa329df4fd6283db09564a8edc0a1091ab699b84a7457c70a50d24e269a654bd4285252326e782bb10b5140fa5b801691e8a5ab7f702b2593ba4bcfa549a18e19e3393fca656c5bc6aaa41bc11f3c95b0cc9a520d8cc7109eca689b0352527daab5455a21b031800c4f416438baea46679f3434484d894662631d7b22481e14f0c1a1452fe7190510e29dc9714ff22f4fc4874a06d6c765cdb63a5d579befdd71bd244e35ae329f510b2e566dff0d16cd9104cf983b389278a410d780eafba979b587a97242465ff59cd82c66efdb80dabdd9dccfc3fefedcc9a907462ac4972e2d4db66061ed21d91fbddbb286d4e49aa0e065c4e4e7e63a3d931223947dcad155cebe146ff1fba44ed77977e8771708bf503b3bbd52d58cf592b8afc2da49a73dfd2c1b276a63b4d02528dbcbad21ff7175da00392cf78eaa004d43c9c20e89b66f667b93c22ae9068db69b219a2359535ab18de9f2be38704e8d117a3b847028ff484d33cedb3f81ffced0a93a2db82f72782b536d3b5aaf2fbdeaddf8671edeb81f88aa6fe77ebd6e69985e8958ef0dbe6b4ac14915f249e5d382661bb78f0a55f5a898ac767d4dce46db7b36d1cf13f105526e562ba3a34f5654fe68dacbd00ee37d43f8c31640d5360ea796e6580a26c6431593611175e8f21610065ce73e288d67734815e26e46e43c03e748ce59e5e49d74dada2423d0527e7f38192abeaf4d904b42317ba4c73931cf73ff553a30099e847d35680a5d49cf3bb20f83e140257c41fa8283956a5333c14c0120da8bab87ac4f29f231c2008a8ebb3f66781e8546f30550e05708466d57ba615abe24fa4058a2e392fbe2c5c65f74b4c78232aa88b626a2549d193c4eb384563a0ae04abca5fad92c11d0256836f40e550a82a4e7a47f1f46acef2a196af48a4fc38a3790b4d003a1ca8d13b33aeda23c284d89d1b61d10bf9765a6f3befbcc84295d62816fa84a40e6e8d2992df9e186146d13b684ee637ae40788113e45cf7aff045731078a5a2734bbf77e2dbc86a7fa5056ad5d1aa344af3f5a41093f55206f882f632fd915cb1ccc9d802ce15805f2a81b93d0132be553793d518c9606aa2e8e4789c8debbd68b7c47242c79edb5dce4a34ce4e472d14136c438aabb8dcc5cbe0fe97a3fd64c2d9cb07ef7597b2e6d90eb0d74cd2948b00d75865e7256e047dee26a2eda408d73692bdbeb218cb7287d3869315347326a755aad3e767d7417bd6e67da8bb398e655c9ff28fd2b933836fc712708afaa513aabf11657f47fcbe583dd139b0dca47fa33f3dc787d40bf2a05cb52dfb9092f8028354d5e46f697d9da72c37556810e2477212e436cf58371ab96504ae8cc3fb4b87bd35ab111f88d986724bf4912aaa2f1660aa563ae321e8d01a0ee0818959e53560886ab9466669b17f7720ced2983c2c05dc0cf60756530c70fa557639a63a719b7fdb06bf7f8fb8ae9fbb6cf35a9cd3cba6661d6b9110b8b818cf4fbabc28aefbb13d2f8dca227b8df46f6e8ba344dd53e07a3cbf4e92583318f21459211d9b4654027d414522d60e74ff24c18038bf4bf789d158f956e2dad6055e454ad9afb4feb77c7e8311bbde767bc5190b344965f4ef95eb43d3aaf615d0f48023a898b4b291d051ee4bea8c050fbe06c51c43aad56bd6c9d502c76e3637b64d28e678aae3ed33c64b96a5e6d3672b4ecf44787a90225c9294161919865caf39a4b732aa5857e77d5cd2e50902a77fa9d651def70e1b0bc93", 0x2000, &(0x7f0000000800)={&(0x7f0000000540)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 20:15:41 executing program 1: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$nl_netfilter(0x10, 0x3, 0xc) socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000001540)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$NFNL_MSG_CTHELPER_GET(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000140)={0x14, 0x1, 0x9, 0x301}, 0x14}}, 0x0) r4 = dup(r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) write$binfmt_misc(r1, &(0x7f0000000140)=ANY=[], 0x4240a2a0) splice(r0, 0x0, r2, 0x0, 0x47fe1, 0x0) 20:15:41 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID2(r2, 0x4008ae90, &(0x7f0000000200)) 20:15:41 executing program 3: timer_create(0x0, &(0x7f0000066000)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f00009b1ffc)) timer_settime(0x0, 0x0, &(0x7f0000000040)={{0x0, 0x989680}, {0x0, 0x9}}, 0x0) timer_create(0x0, &(0x7f0000000000)={0x0, 0x14}, &(0x7f0000000480)=0x0) timer_settime(r0, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) r1 = openat$adsp1(0xffffffffffffff9c, &(0x7f0000000080)='/dev/adsp1\x00', 0x0, 0x0) read$FUSE(r1, &(0x7f00000004c0)={0x2020}, 0x2020) 20:15:41 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000380)={&(0x7f00000000c0)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x3c, 0x3c, 0x2, [@array={0x0, 0x0, 0x0, 0x3, 0x0, {0x3, 0x3}}, @array={0x0, 0x0, 0x0, 0x3, 0x0, {0x3, 0x4}}, @struct]}}, &(0x7f00000002c0)=""/182, 0x56, 0xb6, 0x1}, 0x20) 20:15:41 executing program 2: r0 = gettid() syz_open_procfs(r0, &(0x7f0000000080)='attr/sockcreate\x00') r1 = memfd_create(&(0x7f00000000c0)='\x00\xc1\xf9\xe7\x92\xc2\xe8\x82\x8e\t\x92\x84\x13\x17\ah\x9a*\x0f]\x9d\xa2\xca\xc6JY\xef\xb1\x12\xbd\'f\x13\xc8\x8d\xc8\x9d|\x06\x99\xa5\b,\x80\xef\x9e\xd7sY\x1b\x9c\b\x9b+\x82\x9dc\x06=\"\x8e\x10\x10\xa40\x8bJ\a\xc6\xe3K~\xb0\xd2\xf0\xc4~\t\x9cO\xf4\xc0\xeb\x1a(\x9a\x7fXP\xdd\x1a\xae\b<\xc0\xee\xf8\x11\xd1<,T?\x80-\x9f\xc0[<\xe3(\xd1\xb7}\xa1:\x95m\xcf\x83\xbc\x80X\xd2\x1et\xee\x99A}\xf8%\xc6\x90,\x1dN\xc6\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\v\x9c\xde\xd4\xe0t&o\xad[\x9d\x88\x1a\x83\xf0\x842\xcaI\x8f+\x8f\xae/e\aL\x95\xbe\xf8<\x16\x18\x87 \x83\x82\xbcio\xff\x15\xff_\x1cb\xbf\xd4\x82v:\x8d\xcc\xa0\xbf0 L\xba\x04\x00#\x00\xfc\x19$\xb6\b\xf5\xc5/2o?i\xde\xb2rD\xb7zx\xb7\xfa{\xfc\xd3jGdp\x1d\xb4n\xaa\xd8\xd2\x1dk\xe5\xeem\f\xefK$-\x81_Gh\x820\xf8\x16\x7f`\x8a\xb1qG\xcc{\x8e,6\xb4\xe4\x93\xdfV\xd6\xda|\xbeU\xbaV\x19\x05\xd8\x10\t\xc5\xa5\xeb\xe9G\t\x88S\xc9\x94pI\x12<\xc7\xd5\xa37\x90\xe9^\xe9B\xb5\r}\xf5\xf7\xfcU\xb2#T\x06\x00'/345, 0x0) write$FUSE_DIRENT(r1, &(0x7f0000000080)=ANY=[], 0x29) mmap(&(0x7f0000000000/0x2000)=nil, 0x2000, 0x81, 0x11, r1, 0x0) r2 = syz_open_procfs(0x0, &(0x7f0000000040)='fd/4\x00') unlinkat(r2, &(0x7f0000000000)='./file1\x00', 0x0) 20:15:41 executing program 0: set_mempolicy(0x2, &(0x7f0000000080)=0xe4e, 0x4) fsopen(&(0x7f0000000040)='xfs\x00', 0x0) 20:15:41 executing program 2: r0 = gettid() syz_open_procfs(r0, &(0x7f0000000080)='attr/sockcreate\x00') r1 = memfd_create(&(0x7f00000000c0)='\x00\xc1\xf9\xe7\x92\xc2\xe8\x82\x8e\t\x92\x84\x13\x17\ah\x9a*\x0f]\x9d\xa2\xca\xc6JY\xef\xb1\x12\xbd\'f\x13\xc8\x8d\xc8\x9d|\x06\x99\xa5\b,\x80\xef\x9e\xd7sY\x1b\x9c\b\x9b+\x82\x9dc\x06=\"\x8e\x10\x10\xa40\x8bJ\a\xc6\xe3K~\xb0\xd2\xf0\xc4~\t\x9cO\xf4\xc0\xeb\x1a(\x9a\x7fXP\xdd\x1a\xae\b<\xc0\xee\xf8\x11\xd1<,T?\x80-\x9f\xc0[<\xe3(\xd1\xb7}\xa1:\x95m\xcf\x83\xbc\x80X\xd2\x1et\xee\x99A}\xf8%\xc6\x90,\x1dN\xc6\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\v\x9c\xde\xd4\xe0t&o\xad[\x9d\x88\x1a\x83\xf0\x842\xcaI\x8f+\x8f\xae/e\aL\x95\xbe\xf8<\x16\x18\x87 \x83\x82\xbcio\xff\x15\xff_\x1cb\xbf\xd4\x82v:\x8d\xcc\xa0\xbf0 L\xba\x04\x00#\x00\xfc\x19$\xb6\b\xf5\xc5/2o?i\xde\xb2rD\xb7zx\xb7\xfa{\xfc\xd3jGdp\x1d\xb4n\xaa\xd8\xd2\x1dk\xe5\xeem\f\xefK$-\x81_Gh\x820\xf8\x16\x7f`\x8a\xb1qG\xcc{\x8e,6\xb4\xe4\x93\xdfV\xd6\xda|\xbeU\xbaV\x19\x05\xd8\x10\t\xc5\xa5\xeb\xe9G\t\x88S\xc9\x94pI\x12<\xc7\xd5\xa37\x90\xe9^\xe9B\xb5\r}\xf5\xf7\xfcU\xb2#T\x06\x00'/345, 0x0) write$FUSE_DIRENT(r1, &(0x7f0000000080)=ANY=[], 0x29) mmap(&(0x7f0000000000/0x2000)=nil, 0x2000, 0x81, 0x11, r1, 0x0) r2 = syz_open_procfs(0x0, &(0x7f0000000040)='fd/4\x00') unlinkat(r2, &(0x7f0000000000)='./file1\x00', 0x0) 20:15:41 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID2(r2, 0x4008ae90, &(0x7f0000000200)) 20:15:41 executing program 3: timer_create(0x0, &(0x7f0000066000)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f00009b1ffc)) timer_settime(0x0, 0x0, &(0x7f0000000040)={{0x0, 0x989680}, {0x0, 0x9}}, 0x0) timer_create(0x0, &(0x7f0000000000)={0x0, 0x14}, &(0x7f0000000480)=0x0) timer_settime(r0, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) r1 = openat$adsp1(0xffffffffffffff9c, &(0x7f0000000080)='/dev/adsp1\x00', 0x0, 0x0) read$FUSE(r1, &(0x7f00000004c0)={0x2020}, 0x2020) [ 552.093704][ T33] audit: type=1800 audit(1603656941.635:87): pid=494 uid=0 auid=0 ses=4 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.5" name="/" dev="fuse" ino=1 res=0 errno=0 20:15:41 executing program 0: set_mempolicy(0x2, &(0x7f0000000080)=0xe4e, 0x4) fsopen(&(0x7f0000000040)='xfs\x00', 0x0) 20:15:41 executing program 2: openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000140)='cpuacct.stat\x00', 0x0, 0x0) write(0xffffffffffffffff, &(0x7f0000000040)="0f42", 0x2) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000180)={0x3, 0x2, 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, 0x8000000, 0x8, 0xfb, 0x0, 0x400000006, 0x1]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}) r4 = dup(r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) ioctl$KVM_NMI(r2, 0xae9a) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f0000000380)) ioctl$KVM_RUN(r2, 0xae80, 0x0) 20:15:41 executing program 5: creat(&(0x7f0000000140)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080)='/dev/fuse\x00', 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100)='fuse\x00', 0x0, &(0x7f0000000380)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000100000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000000040)={0x50, 0x0, r1}, 0x50) syz_fuse_handle_req(r0, &(0x7f000000e3c0)="000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dc4e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ba045abcd5dfc67d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000230000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000209bfd66eea210560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001354c4b600", 0x2000, &(0x7f00000062c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000007c0)={0x20}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f0000006340)="550213a07196529afe0c0440192d7e6b690b2971077c794178f51d5e3ccb8213c2ab2c2f9eeeaac3d26a2f97d4f45f2a79306cb35d2773c4877c1510919c87833403a04e443f0f338e5651891573291dea98a917f4f62456553ef1e4c2ff39f3b6bfa857c2fde23f3bc356a09b1ce900401bba2326ffdbd94f33d8de2e2e88332b80cd5fef8a5482b44a6e9ff53976da78235538407a23561df1fcb2aa25e96496e60b50e63f955b575f6ea992ec1120ef5d703a365589739a47991ed90db8f5bc075ebc30f1ae98d2dd9424afb051063d9f8b29b3891c4a15a7ebb498efd4ad84a1432bcfd862661ff920704ec2481ea567b9accfd0089aa576182565159cb218bc81fee7abf14cf7fd7ad2fbc9f84b66ad2ee9e72efe6de57459a0d8ab7de571be5409f07b18e19573dcabc67e9577aefeb5d076c8b331244dd8f7a4be820a55a59b007298911dbce2d9243184d8db00cc124833f82d55562ad21f64dd300a0a0abeaf8ed2cbd4e373cbc6b40510b77e9742b208a6b6b2166a9b640c6013a905e7f5966613c40b14183adba502a66538f4d146d80e1e38bcfa430b6ab8f23772c41fc291a01817fc447cd8920886669c439c31639781c8a1750182979dc91939a93f2e8df8823a83d4c00a109da1b99aac9f5400b0a18187cd936c69efea3c5959e34ef5ab1b4a230750e4a121540f88d01f97690c18ea599525db59dcdf9915ef90dbc390555742f68c333611731945467777315115fd08343175c16195186d91c317e64a2a557ceb44c930c144aa8f3a1600d064d2fbc841226ec4fdeae163c62a293851c9aa54715cf3caa3bb22012ab2244821077a83b4c7f6aa67752edd136d84df86932c625b6beb4de2499915337bc62c071343ca01d207913718d363abc6e1a0b36a891d46016f586c8b8cda719a52bddad74b872928cb772d86db68d9431686e742ad8e0d83597e94d6dcd01bdb14b8b5f76e56ed293fd7ccfc3d25459b5e2e45d6bc8cf7159d9f819d0935f3cd662e68d1d16d5bb2ee3998d0cc8fdf553356ccf56c89a5e0ca635faf9224c81902393b1fbafb098a86ebf6942106d6ff686f4ac73fb7c86bfccef7852ac6304c04ef9fdc156540ef072f20a403a869dfe9e8db9c58e1261367d2b8f9ba76a002953ffc679fddb9046fc94bd365e5d932cbf2f5e9b271300d1b90481d72f9fa41eb6e206c96c1096756d4de822999d0396eff77fe86c2bfa2b3dbdb0cfd54b3ddf378a0bbfc4397cac8ba586a3d6b4144e8a9b7a7ac998626afc7d1197c3ca954e48fd7f63ea52edb77e03176720deb4ef7942e604e5a4f500887a77b22760eb33d98d7612ce737af9ee0e78fcb69e7838adae221b4de45e8837bd468f7a405e5f8ed26275b22feb32ba3f12a893479f273e5eaa73658f1dffe09c10baee49dfd8df0501000d74198173d277f7123c4e131fe7db8f74d0390f0222f92c5859d57c709e54b4ad6549185357837b4b7beb28687c35fe62502e1a9a1dbc0f803580a6170b56e08c2d0104fc12c9b47b022bc4cb8474d4b40fe0e13f89a6b6acff2f11d24871ac50c4d10a63080d8f8368a4f982e65ad9fcdd37d809b1b55fa5aeae6377634a973482354ba216d9e24e39edd327063e4852c05db7458f56e6a0dd01440b0ead91570967008128dfc43b48e73fe380033e90848e9fd780be49aba2ff3c97b49f556f8c2c57ee69a15ff01fda1df9ff4434d7aca8049b3146255f870fac754dbb42945165ebbe7279b4998576f6e16332896b48e893f06148b7d470f513efa0f1272ae8578ba66e2042134cbdfaa1cfdd36a7f6c1874e858029429d9bb4f87eca7f7cf1900cd1667caf0f4cb74135301fae9e958f29bba29459de2208f84f4e2764e1fbed3aee309e74fd8598c602d6522f7aea29b73af70bebf10c924f588d7024855cb84f9098cbc7141ce5a6168ecc6d28e774adf9eb6aa9f28838e3e380b7b12dfbcdaaca0401efe633ad4ce12138d8a995b8b27721a2815c5e6331d2fd803c13e3175a5c02c5b5344409b06369a9d4b457db201512f00f53df67ae21fa597f5f3709ebedcfb347d6bf49df34179d0b7169a75a15af29869b2def01a7f5af087e444933ba11d51ce973d59a47efb884daf6cc5258d00a3d7f3ed3cfe450c72cdc5900569717c8699689607e66c5b5d6dc2ff8dff62e2047b30e80877827d2abba12e0af85b77246c7bad649631a9a0853cb79c7ba27f5f6ef5dac4613a7b5d1de79d83958ce4b37a17d593756f9c19cf3fffbcdc70eeb8cbecd6e77cb03e66fa3846bad89a2fe1e284f1fb227340cf4f4ce5bca6289c52410e98966446b4369d261ffc8057d56b625ddb09160298f1a015c1657c88603822566d9b4483801b4f5baaab4c530e61d9378132ec647d2444c04c446d3f2b972a46355ec08e505fa9995624e281292736808c8fa947cc4564c870f03ad931f58f68512c1327eaed18db6a55960ef8177b089011617e64df1d8dc0b9eb3010885f9eab7e098e5711f9e41f74d7b28943586666eb74ff79f67a16ae8d7e75561741c85c5f822f61b2552f877e739a77e20678d2c7a86cc6caa5852278be0cbecc1ddd7674b872e5d2e69c9a7383a33dc8f8c56548da95621211ac70dd89aa1862fa8969138e84810ec854b7b923bf7510ed97cb80037a84a8e66650bba2319dc30bbc3f40820e1b389f684db2d30ef28c470d82acea65419d20f518bbb6a99d734e82ed60fef979e6115fe870498670af117be3cec9aaa577caf1f61d5bbd12ce72a35b77bbc366c6790f44464efafb9cd8f9a097c6ac5423ed20e335c3992cc950b90fcbc7b4c3df2521a31d917af73058c93c1f3e26b47487736691c8b1370ddc613bad413982261e4e036579188b64cd9f39b1b4a32ca356769621c507b37f814ee0480b1a966ee9ebb56d6979a9d38236664fa1fcff19c8f0a429d86632e195e569ec47035c4eafe9185d19dc5e8c635a361af2b4fa33815361c000844615bce501648ee70730d7a1b1da4f0630b1ca90904f80e9e1efd1c8e1b61b05c4f040d5a0430381a53f4a1570491719560a3fb920d6722cafa0755605c955526e618221d1e4e766c35e84bd79ae479b5d178b241662cf9a124825101cc5e1373f3c9ce7625f7f08119fb011acceb88a9ff553639e7eeafc93b6135ecceb6eea4c3dab709005dd7be2f1490d1d648c99058f272bc325ce5fa663f4e68720a5f2b31986c66580a2be4204cf311fb3e5d61310445e942712bf5dc7e66a9370a5a4afb6aa03fefa3f0503d53cad9b79a3ef2ee9000edd8990d75ffa3759dbf0469b6e393bd3627a768bea18f533453b38d17dade925f7ca6babe27adc6fa3048d2a65bd2b0fd840a94ac5f317a1c839738ac89e7b22d1766308dd8247862f304fa51d727a27f0137fe19b371e5946555093e7ca69139c48afca4b4ac46c8d2f56d5e673e8b52dd94857fe953d10ca886c921b6626e869ac794a78d40bf49a025860fd57a0f437a4e650a9db9cddc93f8556482cd3676866d903b0f70601cc4eff564eaab292a4208d0534321e60119ffa6177934a2d1d7a6a1f1803e762c8d30e2a0d5311148bc21e4745b7c3dd57d0a616a2c49569942f2b48360df6c54f7a70f8a585b3a0d54feb7986d7d72ab0e16ba14187af4b9ac5a69428f1f61fe25e13cfb97ea30fd9a43e53b6841cdb766d6b3dcbc70277f2a0a12bff718b5bc50dec6fde5a0e24d23904edd201c8dfd51c1d198e325d65c18ce4d5ed1c6aaec28d40260949ed5c6bdc90f976c76dfdf399a9f9789fa9e176910f7ffb6427c3821fbc83747cb0d2ffe34b0b18fb34ddcaa70bb4624acd1ecf208e428b7fe89ed0cb0db2a7d74b284cf893807b4f76bdcfe9088912c8e83144b78ec8407aa37e94e5454946890174aa6be77e42fa0d764ae36855608d63d269164c3ca6a989232967f168c3f9b41c1204e02d7e9dc06010106f6b41987728775a5c31906bc7dfa33808e5523eacf7c914373ce8e61ea29407040feef8e9511fc04b7f2f9936a3161fccb7deecf83f507840898672fe13846ff8185ee0aa6734a704e4b7ab6ba3fb1c601e57528d68f8955fe42fcfa2ab0faae4008023b8a34ce4f861b5b86b5b507ac1cccf38355c5f0191e8ab29c90627657d6e100957cae6fbb3f0f4ae2049ed3a341732b4730b5bed1dfa97f0976dfebaf03a305da2a79d6b8f2e86f46bd7e257d170728d5aa55f786b5436a221b0d74355d55123fa1c9faf017103c3d6a6ed1e8e26fb8defd944c49929ff5ed4ead4e5782d14b09c9ebd593533c907679aa6a0b94fc8494291acb16e4bd2e4b953ac96f90ccee9e11ec88b4f590289915a6368716dc3e28dafcc5eab060d2c48911f288e501226a5145ea217e834eee7ebf0945e53baa08b8d72acc67fb14dfa47421081434b291a15babb97588c6ed5c7e79299056c70f5362953ef499b7a88c373a23302e3ecbc229824de95f12595f12580a3898533c48ef2385d7f398ce31c3dbb1c02547e84d0210595bad9a149ac653a3537edb419316f244f6a75108997b6597700df352b66acfc191c6b234c5c7beb2acf943f8274e0a159612f4ed440f3ff715fa2cff21b32444e5871a050e33e17695f1e3e7f65f82fa8783870c0c93f961807c6a56e666a5443948e2721570a9068ecaac4839c8209654e2efde43141b1551c9a966812b13bf4f9cbba828a1eb948a1e41a122e175c0ccaa9794660446cf18335ab13d1675a26eb81b1abdc776472d5da139a507f452159e3416532cf59eabfe01e72f4a4bfe86d293a7124ae3478443d00452c1a9be915f54ccee5d857fddb9ee4986c9186857fb4635a2bfb7b8885418fe48536cf60c67c10c729f92a8f91826e85e34e3eb78c186f2ff93b0972fbef4cbed448618e1c2cd7b5cd1b5d529317981b4ed973080615e0b385b41778cf536d9e24fb0ce048ec0dce5b075febaaf34de2cf59d9030e1a9ba924bbb5cb4098d82c511cc42cf9823ba77849bc867a6876096561ac209c2659baae0374ae4abb39b0ca54874eda8425942012fbca984a4c6c21071137eb4399d4c6891222c8aaf43cc78b1c8f2a9cec6b5acd748f9ac4de37b1dd18cd0f8d7f20337fd392ed10258457950184264a559b80c1ef92868676b258a9b579ea604adc0bd388a8b30822af1fa5120aba51e38e1dbaa840472e1f1f0eb86af5ec9f87a7324e49c4c0bd2b9365cb3d8c92acfdf479548acc9aace7a342284eb895b564fbb8bd577d4a310dfcf78f15be69da13b6710abc4cbe240a62798fdfba1b8a019f9c5fb462bf040cce44a1c8bda3819ea42627e71a5bbb0f8f3648daa2d26e81fff4dbaae971deb7dbd407b7583c9afdb7e7dfd7b81fbf1ca84d57b27e059acce70cb27ef3742e81a77889b01795adb0f070077b758d80e7a05dc66da4b9fed081100c3ccb5fd8ccc14dc36173673917dac8c6fa72c5989d0f6e0bd97501cbedd0a97137d3add8444330e1859005804e485fc997da58927f8cefabd995124e6baca61029dc3c4b091234610e04a7e8457c1dbd28a542497035615a990cd675d36eadd703492562404d366ac4359e66e5e8ec9e40cdf96cd1fdfbc0f2280d4358d96bdec660a6ae473723884aa79bd61b96ca11a7175d68a401a0b77882e7a44b3765a582018abe6a367d1478f5b06859e777f35d8f01a39c7960cb26477207dbc9a0a2af6d5beba095c606a9a11ee236aaf91e6b3b6be0639b2a13bf4471acc9f7f2f052d2a86c7ef0f0afe6ceabdc4f99036a05120b0c49cf80ec92b62c766035a5887f4bc8fa1e0c9c69a7b690c7cc2c8870f8e7beacba9b1a27c66f8d02e33c957d923b0a9dc4ef2b3237d2f83c72651966f8b13b24e1aaa5dd0122b75e3afc4cd478e296924349e077fab31a38e38cbea1dbc22689b82a1a4698fa4841bc0c0530dff14f368537c07eeac4a9c2e02e3b21669d0e039af22a4f38d4c21d861968bf312ede1ff02893fc44197363dfd89b5b704de61d609fe1d9013508e5b2276953ba5b1f8018c3a7b3c233d4cb3269f10ee6ca2fa9de79efe709659538108b36c1b71e4d2c3602459d57b8f46ffb541e2a6f4a19438fe3bd14be3e5682ddef68519cb56d79dd5b2b40d1281e84623b01af3c11f7b2cef780d06a0158ac7becf9b7cdc51618db8e7148a93637ca1a875d8ca2db07d78a5554760b792412c7c108335969c676888fa2d180030a8bbaca1c6c36b1fa26461146ddb13c6dc4247f18985a6cdfbdcb5a3455f497cf674fab04c84906627d32a0104d1cb3b1ebb9f398fb6c3a9af34a05ed7bb900335f1b84d2ffa2a589ec46f44399f4eb8f96928aa073f414765347cad3b0e03d551166e5e2ff9a89c15dabe0d46c925767df0f85e9c438ad99f0309400efdda91d4e61d0e592f8fda490b6791e41c098a9a839e040f5580b2d70f714e3b41ca8cb7a21fc2a778eb18a1e2a32c237c665fc4c496732e58b16f8607ab26b07bc59147218a8011068fa1d117b7e13a3c2b8cc6abcc8e184b0c7d061e94c0cf8c61b6ab194f3df5747ce68b3923b5998901c3d1294ba2a0df9fdc7a76c505bfd172a5c5bbcc0df736ec54a2a11b3a26115f1afd382adba6e3fde1e781737c12dab5c19bc5d27e91eab6579298d4b46c60c200d309df433841311008089ce0ab703ad7b7e17426391e22be7548e642cb4eb4703179cb102643aad424ddb72267b6cec2702fcacf19825303858fdeca7d5d3979c900db3ba5be2301c04a78c58ce20ac8f4a6bce27c4865f36511a4adb99ea25ebda5a6701c58347342ac876f80805695b8ad67501a793670fc76221641b89dfc5519389bc5ba56cd17b47bd2e075139c8db24e4c3a332723358ff5b8c6d3dc53fc79982fbbb6b887b36d52232d6d79684fed3add6c84fe070aedbd833165e5b547a3dcbb4977595fa9fb6d7d8b151858c3967b3e599571340568a2a651a3c6dad3a4a24127c28db3f27853cf3738a3476120f845df7803690ec6f97072b2e040995a957dfb6e3c27d55b7ff94f0fc44eb27b7fb81d5601ae88bd6de44163128bf423f1f76bdfaa9a170e43136acb8f5d3bde2b81e381635d4895f224fd8b7d9b04c8115454b0505ee03b332419c6ca3ffec3b127b036144ad4ea5b7d97482d298493e04c994ff2152815607c695991e85065f2c66a36a0c347a1e0b10ecf39500ed1476e9f6bb09ba569236d24459def02c37768956e567ca7c5c1c2ac05fb818d8610da9fb50cb6263edff4b6a165a13a1977f14f3b9101831b0f364f26e803ebede14a32fd37c5067c2be8c50be29d6757767424248ffb425d1780f9f164dd1d5a1999870af4f73bb09f632227351e0c5e24c357b7646edbaa599e0b62c569e32dbf0080dbf509879397c90ce4799b59e8888ae27844c760f901197250d395780e2e1087bd327c155dc31dc5b408e847b031f93e48345d3b32387934c9e68c9556b9d275d1634adecc0204ffb35d1960e736a34f0b07e2e7c4ffaf84ebc7ad39de16f968e1462c5371db06fdd21fe51b08ca295acbfe676e1e683bcb2dc9d3522b86191a151ac590fec45867cd81b97fd9a060e0e26f362b842390ba6dcf66ffedff1d26b87016b7108b4eb4a6dee0384a789d2305b871d7caec898358f01346d089844973aed3ae0a7a8fc6a5cc90a1533e0bb3696e243b28927da1630837a6aff33c2e8af1a7bfbe2ff8060d8df29f6b9643dcbe2e2a8721795636fe7b3187a48dd08a003f27dc2ddd76fb84db15572e0b2b857ed2ffe73526d92ee2a9b13f2693d2023bc7feb2ce769c2e8aa9973be33c77b5f8e147d4c7f414b18c9edc8cfa0169cbcc0c26d59f016fa1e80157bd8dac895a794a7211d83c84c7e003e663f65532018b22ed3e67be4eaf592a8a18b986245f6a8fded9b1562c6a106e04190cf0260905561565a131c3074a7af5a18dad69aa7d62636b9313c1d3e5689671912df51131315f715ea84d57849dce2ab105af433b034501128e2286e1d05384289711dd151ad097484755d32531508949a6e3caea36e6858ecb895f0ff5cb71f8b1cd677405139d5e95c6c34f421b0b1e0898aa74f7a96d7170dc0df19f1b88a0463608d964446967262ff7acafa54b0f95cd0c1b01c232db641cade388b6f348784e18cd33e97c132dfbd501700108b59ac80692371a4bca4f608d9357c6e1458cb372aaf02cf8742b164bf69aab3aa1bd6911202ae7d13f2d1cc27741e4856c9e2d654f72c205a9914969317b5dcefc8137aa564283d64f71209f82fe928836da1de181d6a52c9cdf1be072f8b5c44b063e7e3d629157ae1a768cfdc7105c6b50234b1dc8412f6d98038520fed97db8347cf02924291460fe3d392f21d7ac31aa6e90995756b6dc198c04a6c6eb6c5e41e1eddb8c78feff740273acf8938c0f52c108e5bfd7e559d73346e0b97595125992bfd6aa2097c0ff502482a641f8fa3b2f411a9bbeb9f8c03582ecd1d756013d793bb15b4c1f45f0a988f7bff685c493df30bafebfdcbd6b2ac26a743a0a21443ba776f17f021e80df5eed4926b10be1c952f839f6c87bc2457e1b95f73287895961a0d5874e61da6214b738124fc872376940480705aeb628919d8c9912909823ac384f6a072c72c03c12e2aa8462ce83737244f5525cebafbb491a2a75b4ae8006c2c9bb7d20b190987f5f85afd5b4c1fa8a643820590dcc5e9e55749df8e4aaac858fea295be26fe3891762cfc2fa45f823066280d2afad8653b94a813265f9d9107831181cf8839c72aadff85c745af743e0f22a30c28b4cfea2aa1139790d3e7b491b6b092bbb18bf773b06c3077ad3f1261b8f401e56d4c250c0f30e997e6a546f9cd1482b4717534065ffed131a8e4691e28456abc3ceca5849302cb85eb977a1743e9836ba2ab835f622cbfebbafac8a8edd97e5441ea0f84434b9949c4e5a91a7684947c0370d271e9788bd8222d5f53eee7491d20eb46c7321d5858e427b028ad279cb540c1a547fd18adea0e0d011cb7d251857c1ac23fb502f2ae515aa8c90bfa1bd693313100b6ff278212b06efb23fa836fd97331a9a276d3ec5f2256245674d65d043a072dae13c2649ea2f578583caa55b916ee6d65f510a94ac3ab6eca201f34f2074e631715b40478bafc594cde728d8f695287f2afe8af28859d5389034a75f89140eff05615cc41b06cc6879030cb0dc1788e4f34b3007a4081a4a8c8d8d47860699fd029d7d2a17c1ab2678fac43fedde3eacb441df00e61acf90d208591f70c75dd44892edc144795f86de15db7d9ae43dcb088c6eae8259dd224fdce809d6b4e2f13e6fe8e5b6da195ba0287ecabd18d48d1fd4f1e9438e120484df2e1ad9ceaae247b5b4c639413aef383d948dce80446ea125b67627d25f23e9fdf477351ac2d4f741e88dcd5f91550c71e72b84c90a5282f94bd9d1f08e3e240a0a4bb4cf556a52a994a8064a2c77e41d66077dc039957b795fc28239896eb2068ad16e84196b491dd47e16e12009398db1be984aaf6bf62fdb471a456b32c58f77c158461ac844dfb0858cfc81f591ae0105edde98acf7ea1c09599ae0e5c45b62f039e37a48b7ed91282aba6aab1d2c2b039b3f411b2f6897464a8ff2c333717e60a298be2709389cc644c70ce9c1a483a61e13617f0dc1902c3c8d84ca8ff9c0f43d022f448e100732afb8655c726e33ccdc2785d5ffd7ee533a1676ea93cb7f962dfd8ec47a32ef703fd560965b20a2fcd52207db1ef0046e4ddab569776ee7cf45f476772aafd16622b2613ccbcf4213183d5f079e9bee36d86ef709ae54422e38abe7a1db408b7ebfc72f6ca2b5dc19001142773fd827e72318c4fee1af716211d2401b104a2a40a2a3f4f683da6e5c8d827f798a73d2fa189371efaaf6f6e4c1a8460f6e6e51064dfa079adafc7d1f0472d042258395b2aaff31e943078e44a660b979e91e240628a12074a069b7045f20c9c9a9b2823d52d1a71cbd107b5b888170c2766fb012f60024c0aa6c5a7505cb17d925943b25101a0f9d2e78f40cca2d1266e06a85ab32f8f60dcd9caaad0bb5f7129fce17ab4ab9f2f1d9ffa5b9c3662498737d020614e54cffe567fb6d746c9a33065933c59b0f66429eb43013b43306506e0cb158d79d61938f52ec82a373bf7f03995e63b00fe4b109b3d918c7fb3e9d777771a510e1ba97321d2eff470d390776cd39cefcc1cba44bc0d0a5d7ab038a2cf4ae61285df7fd2c863d3ff26640f140d6c05222f1c7def48851a367405776cb72f19049b9f87e6192227bbddbfad8f8aa4822f6dc383b94e54821de59ed22ebca2babfcc7672606b90efc14eff624f338d0b63fb20fe28b3b3b1588788c12e77e20992e82eae0aa6ecf03a627fd66f251b6ca686142ea50223db2cb10936cb8e619b811a21f914b3f8ed1db52da0a40fc63df4623eeba59309ce490860eaf0020e63265a565102e050340f9148144011ab34c8617a8806153c8ae062293937ba31f789c97e937e7226a5e2715a214120e38fdd66c67e19d40471994d2b84d9f0acbfe2c255c671f3d70a5305dd13e7555dabbbb87cc4e62b1b34cfcc5d1b34a664d79a46d6826d4eebdb5d7df86128a3152ec3bedc77f6c1445732468ed7b91123cf314843e939e369b69d0c657f612a9a9c9ff40c396d2a3c05b27a57dd6198428f7fa2638eae170fe584310c11d0b13a15ec4c1b658d5782b20de550b166f2d89835a34a893cce987b8a807e21686ca78493c906285d7915390bbec275bd5535804b46ffc2de6cd313235ab52b8e04e98b4a7539b6298c974254284dcb32875029c8066988f141034fc156a5fa861826e49140cc2222099608bd279e6f7b3b12db95caae852eccbd8ce691e0bb937a6c83f929c3517a0eb2f247b397c828ea7a97be6cc6a357e47fd52df8be5581ba6b606b81f173656c4f7440b54e644ab775befa10887a1b66e1f27b98708e80c7e2bd8791ab006db14f261e8ee3ff42f3b8a3a899d8146d24896f8f6e3e7e104ef85fcf2f9453847774f63650f63cf6d944ebaabb9d7f5b3f1a3175860acf493534325b9b5da74bbc226c5f346aafe11a974d9accccee2df02a81d971f564bed3f7fac752203ad2c1e8cff090f8ead99885ac203351ec4280a1d016ca6c520061d864ed0fcab91033eff1f8c12de4e831bfa957c1e89921b97c5891538b9dffbf93b424e905923ca5f25bd64a17d3726922b9cdbfeed6c80ff9d06a3cfd0e9497a7b961aaf9538852a8e93eefc8ab49f416ee9d1b22d70472fcd0a774543cd8ef286ef9fc586c3661b3c8dd8de3af588f1d91bbc1d3f354b5a05f0689ca8e75f5ec3e1f75988f9058f0c154a4d2a748b2bf6b8705242a739356329878b0251f2683960a6e18f1e9719623bcbaf3176fbc0dda2125f506475c81c8fb1364de92538400a4278083aa7673e9fdd3a13e75ae0ccf78321dcaf637977fea58969252f6485a0c7644c2b072485dc76748ae76e2a229430b3b5a1d3b7785dc560f5914733425a02c6cbf177e85544b6ea8cdeb42f05707519d79d01f18742305d3fd952246abf5732675f000", 0x2000, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x0, &(0x7f00000001c0)={0x10, 0xffffffffffffffda}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f0000008380)="1d3fc0588fbd1ee18d3d558a5847e5909b75ddf492b38ddca57fa90102c1981d37139db16dff89af93eba795c940c2869e89d66dacb9e0aed49166803315f8c1e3a428d3394e202f8983f2a7a557b15c11e2ae42e2f07ac634034c2c6d63fe5505d3cc16fb48a8119d815c5d5391518b847b1334f3d717d9ab5a4c85a58da58c7438e79be665e1b196897bdb462a2266798fb036d83bb993d48bfcb2774216931c85a4fece4b93b635c3f1e651560fcd6ce0b182aaf777cfa0bbbcb6e5e9f4d450fcb95559468684612a5bc1582e273fe8bd58088cf411e97f9b671a81d18e865c2d899716fa59c45d7034afa7ce30b800091bd01ca3df0e083e1457885eba6730a6c70601bba70b2323d6b669898290f43afd84c333ad8c4c3960f70d0e47eb8511071b4e2c6ce2b12332632052cb4367a98593bd39bfdf76d228925d3e7208fcd42d701881c3cad1cf204669e4c598c7ae544bdcabac797503bc1896d36bd0be9edb543d5428cb04daadc0b4e54144fe8a86e1e372cd773a00a3e759fee51aa7cdfedb8c2c13ed709add3235e70c1dff10cc5d473f6c1ea92354c8bb991be1c39f4fa739824cefb41621e8a6cc475599ad2a86f2cd5ffc85684346bd6aec793b06141ed44a4eea375dedfff21d720c725562ae759c5f4737c34d8f1183e6254016f5d54a90114ce910b4c214f35721edbab6b9ef69c89fb3f770915511ea31622c453c53f646b205a0c383cadc845ef9769e99dd58f242b24e98d8d74622f4b7a2b42eeec0881b435404805f177865eeb3263ac63038270dc90b418407cbd984de98df8a449ed3466bbcf6c4b140aa4c0fbcfd4d88e1534e17218c87c32fe2d88807e308fb8c3ab6ca8d145f7c6406459b926e07cb30ce4baddbb0824c0378589b3cf3e16c216163e2966d271b8484a47d3baa946cdae77fd61a10472da8efc228e405ab686ff5a29ccbf91f6cf62dc371e23198b34880f200428f4ca5214c2966c426ce9bdffd7ee2c597d80ff570f44f3a07f5eb24fa4483e2938c98a9e64459f04913564df5d1b29f93b934e95fb4f04dce100324e5d7e6c22b042b8773a792b88405831ffd63a5dec2e764df571214aeef33cbc6e66dc157a86dbeb1d55bb3cbf8e063dd536d0e0ff006ff850ab20fab4023ffaa07b6ab6f8651ee9ed593774a3c3520f595984278b30fb4c0cce3a0afb4836952a7115ac345557f1871511415bdb9f593057624cd8a150954241cd60dca17b688d97416c29b23a767e9184db7e19a74aee2f17d11fb024d906a22dd2ffa2da04c97348b74f4ab99248059d1ee542c5837acb69f1c83f50dc66f9e1674c1b157e1e4f95eb462cc8b3db4cb9fc52086c17f4d5a9fc1f7748dea1fd7af47a7989c1219fd22c91e95bd299d3ef22bc73409d9949422b6177a99b6a9f610b737887f75f718257b5b2dd515acff039886505cf2d8fcf9cf69f74b812121d219ab526480a565a6ec9c2dd4de1b5d2632833a81b5fd445bc049c5dfcb242abe6141943fab1417ba9d2174ed25c521a8e5f6d1354c93176b6d847aa9108b8f49313aa6fdc0a88d08d3cec4f9e623f829dc03aac91c5847d5de8d21dade12e7efadf216ac3746530ffda5d038fd0bc7d105fb8b9fd1cb2e789622b39c0d559c3f887e11d29cbbabfdbe9603ce261549babcba3ecc739203f08238a5ec44719015cf3bdc0eac85c3d72ca34725f09ef8a5fa7cbc3d9197ae877314de309182505e0dcdebb78fcafb35504344770642bb13a22914b9fe76fb948ff03a1a42cd1a799dc0330ff0586aae32fe45238978d2db16629ff8751893e41e9ac72303d91de135313999dde4d93e881b0f1998ab87e5f8e7463261fe872b3ec4ab2344d26a982e286e5e7bfa8126ef4de16fc6107e1b077598e1347cc7b74d57565d4cd9b66e76f6faf51b247ada9672af011db71d48ce36bdc6fa234e6ccbba32a450f837a7180fce70b08a199e7e4c4bd3af39c6b3e78d56f300a45463ff04a55542b01b721229fb35a788769dffe8105171a0cde67cbd9f066834fd24b0ce4ac39a0ab5f96e3f24917385ecc635d7b8be5d9585a5d389316f1323a9916241ad9b490c7505701133451705ad712296bc4519aacf073fa7419a9a81470c315390d4e22820eb0dd0c9605132016f883b8a5e9b9b9e08cdca196abba7f78732280b0b93278f469cc7ba81dc6e764746ea2604d8ce78e301bcf2b9e638849a36fca9f9386f5acf8d9084594c5f20504ad382d4c083c5965f633248f20f1c373e6ae69719bd21355290f50ed84da142127b2c6b0a4cdd4ef4c753edce171d49438ebd31223e8a36f3219a3d6c60ca3a08f88f10bfae1e6a2a5391846ef4e6dae8442b17f7d9f727f47bcd0208185ff18474f1ca1b64580069e35e47c9bff3e421799220dc01eafe2122ba5faff63cd0f275c831e7933391fc180840e9bb5acb5357b196d045853398e93569b56732a637327aaba610de7a00fcb10410457e4493d532c99bb6e95786517add55467f06a23521b7e92be2dca54c9c3df2542384a82d27cfd02bb16e44a9d8c5f07f7e232b794dfbaa8bcd89c359054c188bf5ea5c251bb787282d86b0ec738283e16ed5dd7a74b03cf483fdf8a14a82cf47f4b04185edc4a2dbfd6356927322a15dbe4f35848e6f10eb983797f2886a266b31c0ddda9e2f45282d137f2e6031d2a756a56552a756dcaa24821e3a54fc3cf38c08feb31cd4e32a464d9399b10d7eef1bd627cab3f22775f4ff9d8d5d017ed0d0ad49dad13ea4d1d2cff663d9796b43998956d17bafd8fa49b934dee9b583fe62088b251919291e3b4ca1cb89b9cb035ad8179f2b60d096f96dc1efdd350e09ca32abdd88bc5bc283f0a3fb32588c87e37e2da427a469689c65152558e312536a2fd5edf9bcc19f25501cc9de0fc3df1a595b61ec856455d184f77619ebe89911e165d81597081f903e9bf69e1d51c6fc1880186a356157306c2ef2860d04cbeea0286e4f56d85cdf91cdc2029bb5d1b77debcce4886041e3ca2d6ffd2ec999e5f177418f21979f3135ff517364d99db378ab03df76febd0b2fcf72e7476956428ca20e4be0c63779b112a393a05c5d44d6dc8088dc57a9c0a5b0c5e2a41d9a265a400e62ccaf48aa478f929b354f2013e3287546dc8a811fc7964a50a790888ddc1814039eee62313ddbcf1c55154e386b011b36d8c74888669f334ff7adb1dd421d43b6223ac8beeee98ef1e54e6dfb4fa69ca8a321b3c2edd30143fc17806b04f8bfc403a55467be88cf8507d94f245ca59d1ee050f4312169250ac8ca1eab6eb00df7bccaea896a6e2cdfce521a404913df83bca8e699913b4cfaaf62d00b90eeb3e106eb4aafb7bda8d0dc5383d191d54a253982bb3885dd6afff5f0d85560ab129bb4b411af28740534edae48bc106ac43c3aac6528f48e059d8cf0cf870f9dc6bb669f2b43bc1b42f46a28d82c200717be88d4493572535d2663e7500d865bca452bb7540d163823e78302dbea5cdece7e72b84880423a18fdc1a080e0f0bdc7a58b04b8959ff6f67b224fe72ef22fbf6adf4812e550772fcc5949a157371f1def1a020d951c005140cde6c887040cd035dd972fc75b7b469070b61e1a442a78db4c74f482b950ac7aae40b009c2d6736e9dfeef0e9c9d718409063c57b082beb648fe8b41d3ecf3ded5cb24f7c20edb6ec753c4574a594b62edd81d4deb269b9cde7e2cd63d8d6da58736454e383415574b6f88b0c4dc158be230beb2a67fce06e7d8a70c554ebc79c2d40a31b1c19797000a8596a79e8ef11d87bf2922e8805c455a3da4c4ea2c22ef52ece8082708fc1dbed09872afa250f8351778548e576e97e4b3da023455f8db349fcdf8523f52a56c9b1f3a863652b11ce7cc619d6eef1611e97d7f94ad7dd65f54f88cf49d3ea4490fe76411dd3de5799174d1017b9f3017c2c3f8f30bcf28b68d7833b7a8fa46c3c3b346e1e2f55d680d22c7136f9de526427657ee167cdf90c90142ba705465ce94bb1803a1540b36cd8d22d6d9115c002f2ce96bbac79a573ea858cbb8977d9087f1e0063cea8c86a9671405c4fea89012b241d94a31b15ad36cf388ce3ebe924019aa3ed069bd07a24a46f7f818fda0d6463893621d6531541a57449eaf57dc09c9767a598444e07f79e2beb85362ea93ef04d37e5c4438c8093c026b3c042bf3cfdf11e5db84c05d7cd6bb090ee7686d87551a807fa47c07a84e9fb490f0531d38b86c344ae8b48aff790bedf407b71cc49440bb2300f9d9f73726daa89c7b3ade0b84323a6da6e7639652b004ddd08dcc03a7064866bda6b17ce8c003737a4c3416551a6fb779c414d4fdfcd3b29bd0daeb69c965f8395269019691e1552da684b06febd81d5f71b9bf095ffc581e6333b10f7fc4a3f365c0bce141b95a6fe580a4183713103cae76c776bbd29a8b26a3f2314609d1540eae73e43ba296d7576e2d8769bae7cf7518966b631bb3b215fa6a56b97ea96e116421ba669617ecae72e3aa186b23a289059c16fae6aee21ddcb669592e5068d84287be2d80a72642de4950366b346285b42fd89f49ba3002315c4cb76c12ca0f96b0eb13547e701831646ba663b0622eae281da69c699860728775e6f71ef3e63cc010a2eefe8d4dc3622232d8abc022fbdfb7821f02da20ffc938a7228d5a8eef8a9e4fcdc2ae68ff7ba6f8ff7e7e36fa40d35658e727554f696c4df6a45647bd661450a2404dba0b6021bc7a82df05b4076f86a7f33faa26195eedc2377158fdae5c4704456805c8458f4d643e356736c2378172d11c33dd73b0e760ca9eb5e12d707001955d3e6c85d427a472de77d6c1e28220c8d84eae5c4403484bb0d1b7d207c0c9ea476d2efd0babc5b577fb333bfbccc396471997de9d71b3c2624be1d155ad787635d4fee3f253e5b5f9cfec484cbdd510bad883b79381e8c608ce793cfe175ddcfb49ac6f2cb67474b415568ea90411f455b651c5c6890c94047d86f2c6ccfd787361d6ede1fa2ad89e6dc9fa796405d8927c5197e17e771173ca5ffe4af4864bf6a9ff10ae142ce2ebd664ab94ad37352f36be1afb259c7b8627849af46447ac05600ebc9eb636aa2e56c0c8540857595c114e4c1c45bd735bd73ddbe21823232e1db6ab4b985a681ed4ef505e6025d4d234086f4bd8b422e4e7e31e823bf5ec1d514a328e1f9ed98eb289de2a44229c66382ad64e3a1fddc548786c52c4d74e6e5dfe1e471c20a8bd6a90c1320318e74e7a1f3d7dd04eb81b37b8157db526327bc7bdaf16b181ef71d813588c2747039cd9c62f2afb253ac3a743d083ee53ad6828060b214e69b73b2064e5a01aca0ff1f5b30329ab5fe285193711f4401bfda2c89afbde31adaf1e0a1a9dedac7ae09650183f460f4a93b0e1f48728fa0c2b1b70c5a2ce4cb3d99627f9389d94aeb64e27054cc71b26f7f281874fbfe82ba74e609a2ac05ed5ffaa344fa14091cddf0c77e883a295d529916a16d06b4207e4a72074707ff4f17e9657b6f55d021bfd432de6ee526d26b4f70e5f8da02c23d43cd2b0ae674a573258df27b775db221d416cbab68084c3f5214b199e2fcd84705772984c92c8bcffe37950e8f3fab716f994765d0b09549201bb19ed09364880ed17bfaf8be10e842051f9f096ef864266593b6d97767b20a5530683c88dbda542095e9b57ce6e04b19a682652a4b72cfb17844a0f6a9a1a89f3f26ba56a05117d20f3bfaeee61d7deb85532ddb7d662163aa6386c91f40ffa00db6f4a6523b0b494330a932bc544629c294044fd0ac6049f285923b613bba81064f84ffa71a900fa9732023c8fdb0c480f3154d0dd815e9f2661b3ccf3da7c3127156e3e094041e365c97dcc6e74965a659034701b9961f9b755eff6066448f65601e9e44e12a7423d94027e4f118b5cb9f33bd762520afaecacd404c6dd59dd791c1bbc87277d5028596cb62ff14be1146ea78626e182a5beb492503b18d620543301161de533af3fc1f666727366f10c784e2f0a1bb5f5860b873f03f26b03707c2b8cdca494b08cc98c365009d22f3231c7eb2a24dd6cdfacd577ac334c2a07bbea2af22689fa35cc663013588419b5256fbd52538c9c5e708ffda77c0e97ced2e703ea5229d4eabdeaee8165e80d5867969269c0897bc45d06b96589eba66dad2f98aa72ee0aaa4aa88d6e4fdb0df504131909629eb4fec1de621e14f5445903716fce8049f89a0493607b11e596ce14c2e81ea0905922abd9c8601f558be28d8a409c360a279b86a2a3d09d8c422ef396979b9c3aac8e05b02975419213ac78dc677eb0b3a524ac0baa037012a97fbaade89b939f66d3cbee41e0c05c62b27fb0ae6bce02f7163da983ced2708c16b2351c1460131a9e922f1c1b6981c67faca4710346ed65a4ee56de725bd193bae5574ea91e104f660c4d502b7155eccd61fe4c5b819676b8727492768fad9d13fab5a240ebbb005741d5bbc215139e07be5bb73e3f6b4c4be9519e81c7cd088864c16e4650ac64418133650e26b9ef9020f55438acc9e7161b2c74bd172354ccc051e6c4a6897354bab543a7f742ce799a6e182b86839173acb03f39fdcd4a7637bb48d2e4baf031079687707612c006197ae598d335c463b6d79e0cc3bb7ecc278b9407a0d53381bf3cb65e78adf03a7dee07409b97d2df91413f04828aa2440049b9e8dc4fd907d879fe8480a239beedf8b729dd76042f50985db6761ac1f2e7f0cc48ccc7ba4d0634b0e816c8c68eff96832fbba350afa1107f2da7c53bb9ba8407c30e41da1278f31cbbcc394aafd6a1df76276e39a8d3c27c417753695a74e7252ddd27542b4bc2b0ab4cb001d01411d288749bfbc24ea8472e2906201655ee65d3f435f158d3295590eccb3e84b3f09e12db00382dceb8846fe155eb20580c20781619a894ec92d9a80a422a10b7ea440c4ea0bf3fbbebc89b2c11f7f3e858c16cb823e10203a957bc48959b1d5e3aa69afbb8a5ad1bf617ed59836a289dace4a5224ef9226a6f3d27f869292bfbbf3607f5aa807d294caa053a85a2f54d97f76adf509593bdf46054fac6e4a6b66f173a31d5eade9a38f5106a16704e80d61658ba3799b00919f87c0b02fc4f7c288c0252f46240efa9044d7458f6b92497321f696831565fca86c1c0bb72b4952102b777b466861d22f78dce75b8055dbe3d73168d41059715a23c9ed906e80b2353f32fd43e92d5ce90821bd9c6b4063125339b8f3a8df16ac4b1b0ef85cdbbc6f2acc15ad9e0aeb19bb0617f8623dc029abc232a67447b1ee4f6c4ce234c1ea467a20e8cd21a097f096855a75525c55a2b30c74ff8011476addeafcb18b64ea09600d7056fca53a12a1f89501d00dfcc81f74760fa26e081043ea648148b1ef1e4906e0a65154fde2c554b4c36e97de184dc9169ff3a326cf4a14708fe3c6466c37eed71c44143fd2d5e22443d1b61fe42fcf52207f17422a96b222a1c8ac8656fe98d7f9b5088a725bb3889ce24da112f2cd88575217ca6087cfa659374a82cd7cdb63b47c3979fcf094b62ff72fd4f0adf0750bb3e001ca7772f0733a5fd15e81aea1abd929df4cb195760cceed8d76b20bae92244c685b6a74be268c64a8960e1d6ec3edb9e70986b77eba84051c28900ee9b6c52d4cb6d67eaac2f5cc5bb79c12a5cd23a06f8605b492e28983443d245c963b81ddcba2a561957786a3698e2a0ccc21146a95ca4d7e4cfe16da4b4738a36c95d42f4a83217ebc7d5d1f17ddf5cf87f8ec8de65f0e69491686c973e69faaa179e52a828863797755deed4c1eed27d51a8ba25fb0821b33ffce69425d27ca2ce73c7eb9bb976f3be629c5608993eb49acf22e78c1002ef8d53ba36ad0b913887a105c0c5cf1d2561b5c9e3101925d758039f6d27ab42029d5ae10ca096b71e4cce05b7f8f3cad02f08b6e2148a3cb5f12f5577f52d118ea055b47b136da35283cbc6ab9570d61b54af491665d9bd141c2a11eecad22b00429b8c5d7ca9c94907429da625315826e99f3e61537a00b554228975cb593bdca2b28c1b022e8f4e6b61694fa934fe35501633bb8736021a08f58deb6d3d462fe00b7e9b5ccb7e2f065003b16d0e54c66a9c9d33966135e410aa0bf48f59949771ebb1d38b3902865fc309e7c25bb5b4b7de8611ffe178877c31a8d1b191dbdeed9a2348fff1b6217553bd30d3d9b7eccbf64b872b26aa811199c76915ba43c610bf4169d8ffe09eafc1b0a4eccbb64a031872ab1b3e7a9b9d9cf1e3ed1a1b6a5b4a32ab67edab8fd693360c62c9f34b00dabe47cf1e8428e28d1202e556160f0d4b6ab524107f5ebce2a4782061503cab2a1e1aebfdfa22edd4536dd051a860e9788a5a4691b243893ea6b8f647cd9094b643b9354a600591cbda3d762e7dba265b9c8e6c338151709322a51d4389431047afa1031d18aa0bfeff5d1bc28c5e013eef0a26a7f1eb3c4dbb12a215882897a65608fc3da16a6de1ee7349d9853f6faaed5fbd974fd051627ed762f74341c6ceb06d4d4d635f599aca02471ea5e3dd5012cae344abdc3f990e62fc07aa325757d1bb2ba0bd7833bbfd1ad4aabe86cd389afffab65c73df538d6f9b2da50b9ce1b1be4835f85f2d77a01594d35f48b370b0b11516e8913aef45196a24b290c7491ef39a3a6afd3790b93214837c3247e76ee41a4bc1539caa78adbc5b49d471a9a1724e62c5192ddfca31882350dd906560cb257c3582c4f294193dee760a15b35c9b746c690a4728acce6339496aeb75c2e350ec68acd49683d23140feadc2dc3eb118a8e87281c60a18d22fd12998c4c3c30fa76f9c76d1a994cef1dde10e4b5554e4e4bb0d164e3b85e5ce16cac42403d3b2c687a9ac0b8813a5a2ff6fdfae0c41d9bd4da4f2dad84a309ed3e6f353e9b29cdc9bcfc0c2ea73364554f5f9100b9a01e55fb3d1cd857c9f42378a3ed6f32d87a9cfc4c8366d6a28297128226b6c31612f9b6c1deb481dc930c417f64eb53cf74abc5723375e6370498817273981af928e9d64c2e2c1f7aa46039f2bea921ee5505cdf50f5c18d0bcb6f4729936e9a0ac4cdd2ed63138e68ff225a93b21279722f0174dbdd83b7fc3f6e54f602107c099f18d31fb5d682345858d154475ec38820fb3f9e7d340e9757854944aabd9202d4154b3ae6996828474f0cf82d9162c29706a455253e2b7a236b7c54b7deaec10ac95d71c93f7ae57751c75a98a59be69628454cbc0632ccb25faa8108de381e12cb18758648ff42225d26cb7c3c78745b0fbd371480f58dbae1e32da2f5edd0b487a6cdc0200536c3a45533e91b3241f2d19b008de02891276acf3194deef6b28133da6b7aab644ae69e0d310cb29c9b100eccf9cc2aa140d718ae5a7bb03895ba915f2ed39a681152c6567390465f33d6addfed145bdff55795af7fda6bebea3c98f9b4d0f9538c9513d80c39369506638ac267bd2afbb0d0abe3c44715bae6a8f2fec7bf3178a5c8821c5a6b32692f13153c364ce41a6e6e9201b733bf8fef31d33d058af4891138acd31b38ed8dec427b1f5b29455c4721bc1b69a9fe0c588b134831f57c64fca00fce1b582042bf68c8d4f05e27c685c81677ab6331a084fa16f6df88a6a6c161d4a2043ec2e2586bfa0aff858793f41cf2003092e55205ccd9084422d53245ee37aa8f16604944051fd787754eef613a5b2a0893e0016fd00e7ea3b13c6f6a7f22ef4346790b5f2d2c0482eca4f59441d488edf51a5e71655f2c6a7e6f348e8f364ddce5a57e0252a6ad7dc6170ecd50b267673d3054b53f03bab834de4ff37dfb731ea2a2d678e6791c508b838bfa9f274a8ecf5f499ebd356976e989cdf7f25010cf28169a56ac2b2664bde64611273af5b475546b43056f436845c7987a986150bae9121485ad36d2991e5bb14015bb360a04d989dab9615140841fc55e6cdaf73c914120fc6fd8c1106d75305bd1ff6fff2318ba444caab42268716d5c12dd5afd97abc3a048f3feda20622c1f16061f4ded6ee023bd1fa87496081c08f4dc84d946cf0ed270122b6c36da77690db383187a0270e5e9dc2c7b7f13a6548dbff4a462424973e424ca4f16ee07956527336d26d86a3810b4747912d0d72b66ae8c5cb58c500f6d48c07479d74ad29cb2107d3bc2a0c67ccf82af7e19734902b3f1092a515f71deff0c98babdf0c6a06104c0fd996567bcb0d4970bffce62889c6847316bea599d7a2f35a19adaa500a0aa8c8f50bc44f80b4a0a0f2607a8e78dbe95fac49831e0d54c57b415bce00047d12b16c50c511e96ebb39271d85653edc76f3099effd558bd90e7b8fd0a5fa50af4e424c37c9ef5e907051e61b08ddfe49cb318c37dd5978d0f11672efdbee14949ebd178af583860979deb98354bbe911582b6b4b22aedc7ad1b9e25f4dc500362ec7531789e5b84420d8abc72778dbdedb38ccc1e9aebedc8aa345a96e6af55b57e612d7438aeb0442f5bdaf696a072b72300930c6321bb3f9f0a6d4e42d66df2f3207822cd8758cf349ac1d291a474136dd7506a5d65446f7fe6d8abd942ccc84e93bb12f705d92cdc51a287ff98fb45b4a08f89283b133c14bf1840037118a5d518fdd4fa8c9e49d94d61959db5e8d90220d531efba57910110de3585b4ee4ebd64f89c745ab9d713604092aeb735683dded3de2da3af777371e6c678dae6c86ce8a28ad22cf02c2884987c2f61b2fc764eca2e3f515c35e6697f74243d3a2cf2f9cdf3d3c9cd116b8aeed884d3ecf7da0c1ad282c561f17d59ff9991ff1e31631b5360493f01cfee17f40cc18cc4cc77ff85f8762b6c8b19618f7a916d8caf1e3f3010e8452e1350c0091cc4bc5e2e303a9c3103789c534b511dcc56f895508d1103cede5da804a021cbfc9b0a23025ee40d9f23f03e1c3cdc1152adc9d5fbb394e6ae07202cfc61ba4b2186d88d13ed722afa5543aaca9bbccbf8d972cfceb33a4410947082a56a2132cfabec36e3fe9b18f3a88793e5e64dfa8b61bebcbb952d2c3dfde8e54f7399446e61c4c481f4d25c168b65234483f36daa99bf034542d3354ea93bed1f3770570f503e5e59de2a8d3c61751f4a45d52ee887390a7bf2821219aef4f1fc2746e30decff269ad83b7dec01278f4952c759efdd02e59e642ad22cbcf1819a199ade65d76d75123b011a29b807cfe988eb2153b1cb81a9f13a7b23ee5f3372a97b111d59760a3fc8e2bd06a775553f7b7ebec7fd0e054a00a9eaf46a6310393ee387698ae80d180742c42ebba50ac3a3c615a84d9f6d1077905dacfaa7324ba6f94e88df6ab6898780b2809af5e8d630bc5132d1dc8e0b741ae663a90588d92676b261994c2af2cf4747a8314fb022b0d76f74a518de290376bde67b0156c880a8208b2fd5d22992e6978aa2425865354c441eb12d8c1214afe5531b64920096257a6c439504b8e6d15c5e8abd7701df50b15b8068e43472dcff88c800bef997a76bcb9e6f120d9bc7b302d40685f30c067c68c2db4ee3ffd1d7f146baffa2a9935a07a6136a237d3808ffd06c69f40cff61573fbe36e2fade8bed56a833f86d", 0x2000, &(0x7f00000008c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000340)={0x18, 0x0, 0x0, {0x6}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) r2 = openat(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x185d42, 0x0) write$RDMA_USER_CM_CMD_BIND(r2, &(0x7f0000000680)={0x14, 0x88, 0xfa00, {0xffffffffffffffff, 0x0, 0x0, @in6={0xa, 0x0, 0x0, @local}}}, 0x90) syz_fuse_handle_req(r0, &(0x7f000000a380)="7219fa4736347448f0d1f962fdeaaa2f4e9565d9ba0765be302453af50403a86eb40b21bcbd77bf4c283a6bcd479ac2c234ae7a215c9e5764af76829b9c3d50f5f5c7b6c2390df2b003da1a236837357a9774f3870ba1f0d15b06453e65ec7356f9d694fd1d082bb765691c94cd946601128d3e84bdfac4e7a29261a1b028e5428bd784a1bf2d319d4369331b66b6ac77f295881bc717a69897708f4d9eaf8b02a6679b81fe53503714d30e10dead1b02c2c73af47ecbcc2d8afa86b152e059f632bd6f7d86f180d7775dd3dbb3928733b20d0b8e568ee0ccf0c7c94006592817140a80384112ef5a2555dff2ae77173df629e420104000076ef2353c02511a910e05b3dfeee214754b2c0a169bf94a78a503e89ee164571056973c56a9c95d4e934506292254d0402d978279d96bf35fa53a6345cf7ac3914a0d1c3f06b1cb9f0427d0c2d42ee4a81833489843975ff4d2e9d44dbfbd6082589d0baf183123cc821b981bf5ce4576655094e5c4ecfacd9608194fea94bf0da31e3610509c215a4cd490ddad06c0bb5c9a1779eda18b6ed5b9c761931ebb4f220776bfa7ba359650c38a6628dcfded61c8267d1590c8a6726a4039a2e7b83a1380197ab04e49f11ac215c4458fc92ae773ce33a3f058da0366e4ab24d2d9cba0fcea8a29491cdb25ef21efe9dc233323b07576e630ab3abb58c1570598d1c7739680247f855b8d4ec1a3997e6b2a04bc9a65c1c11fb7594504d503d4f1a79a6fc5b15c76f54681cb8acb1efe7bdd30470f2fdc95e1fb758267644d2831f51792bfd2cda17008a94cb1dcf7eb84297ce9b8bade982234b12be0b01523078483817ad574333a0e8184876d3794f44c7da1eeccea59bb261d12efa7389251b147cba04598f97d4baec8b7b4c6b799e0d7481eeb7dbb235e65f8b6f5ed6bf46b6021df25b3b73e9771269c7bf06f95debf193c2adee6ed34dd1b545a861819ae58e3b7069c6988f7c28d17676d41ceaf1d932024e70f264f5c7e5956c3bf0a677bcd59158e5c9942d4a1981893c866602d24d4185130c5b11f70be0ae8f79074baa3a2fe0426614351a256dacfaa55cfe6aa71a76ed18a882e5479c622653a98a50f435bb8b22b05ea16a4726c0555d92ef843a174fefe39088ec71911adef38ddf8005f3635bdf91f7002afa560179c1a7d62b28144c8bdfed330d3efc79ddb887f1ee4bd3fa2c342b6dfc0af07377cdfbf9b91616d8da2b3857d165e9bec14a304ee4566a3b709b9621918d99d6291deef4e1a1f04ecdcf0d92c0d84417b2b2ae4545de22f76c2528dd979ca1c40ac83a37a77794b07337a6b0aea2bbdd028275c24db33001aa9c6e8a37040546d9013a9889cdb8950169dcaa657420200dc523bd940757330709c210f26f3ca8fc5c405d4d3033fd7f8188e6909abb283b582349b83b01b766c11d2fb1433c5f57dd682da1013a4ff17c5cbf2907db7629fd376b3ec67bd1b7ba2f06a3e0bb23e658018dd76ffa90af51940fb5fa73edf117a2bd2ddcabe0bd96ef7a0b702fdc1125c9e6d873566e0f8b4684159a54e41df0fb0fd972216a045fcc086da525ae1929812d4e0b5dce70c08479be39590aed1ec9560e80856a40f7e4e408c14ca791c5bb234cadb58af2c8c20d666311b828a349ec21bcb9f1d9629b2a623e9086af804e3af32f6046437ee434dee9cd1a0d42e0e78eebab35988b7f1c8327f200a5dca16290f34fe3637bca69fec029205a55bb3ff218648c4f31f558f7d1eebe2d8146117470ba8d1a6794326fc92e835eff7a33b988a41c7492eb4fa6969419142dece6f7a7a9d404387762d813c4d744e619d896689ac9cb194dd235fe24c567033039b9afb9dfc77f9fc473dfd0629aa22d92e5bc388ebdfa6b1599f281daf0c464e34340e907f2b4a1cf289ae93628bc60f9c71ada6aa32ab1b4301040b1e387971686c68bc9eceaa6686b93f8ce396a1db7e8d92d0e2c122bcc9f7e8eb79cdca3036d5d6f69fac8e45576229f40357146c016af09951ce9c9ec08bd658a7ad0797414360844d0c795a9695fb76e3e36723d85c6298c7b6eebe03ecf5d44e7083b99fda4c38660d0e250816de5b44ad52b85b9fb2ec07ef99d5cf69797533e494a9de1e266315c5dc4b5303be9a171dcc78bf0976726b342442bcf118e384c993621ab4d3817541a4299f26274969b8aef3a9a27a9537073c2af67dd599ed87e7ea2a54efdde32a8c4b247561e318a8bc0c54111e3c1e88a909133b087cdbedb007bc318bab81046e1fbb0551bbc33130e1d1e44f74fc90fe3531265f9411490e902fa016acce6ffe9dabb0b866aaf1af3d6dd019843831bf04a4826b6df273af7f527e36adc5fc122e0c6136c80ce3e9ad0e0183e2dffe942efc5a6feb166fe581e346c1e1921626ede875ca2827b76e053e735a00da39dcf034e8f0ed197c064c048e3949a4dffe8aa1998d94b63b15e491a830f037d45b5eb11ce15777906f877336e852088400604bf084fc0f688356b5a9ad44094f88827f3c1c29821bf16baba51deaaa4977622159c2b9b7a2d80c50d5682d1a2d337c6c0e56219733dec802de90b0ccf3bddc07090feb4f394be70bb0adb4d102700bb8436144cb3d09c3535fb9efd287dbcff5b6233e6cc380eb90367352e4afc968892456f30e91ff906c4c818fc874072bb66d73c3d272e69806a94cb35e634d21fd8dfd0ee6de054ad8696e15fc222e064291988518155cdddb25f7228d7cbd6bcd347ed5c453221de10c92030e1a1b96b8aafdd266dc6f71f390ed7c143d2169feec70d850a138c661972ff8df74a053b96475e473bb4784d9a75f1c1ac78cc8728a84f762806b4cca78aec0acc629a2c0db10e4ae8c0c60e273c04a10a522d0fc12592ca9070fd4aa263dea5072aa1f286aa2f00cf94fc9b81e4de59199077b5f272e113a3b6c77e6ad0dce3a28524b934a699adef9ec2a67b5baa89056d97d35807e43dfd3e329f53223c38abd5dc31f66dd785287a5c8dcd9d2151406ca88c10e99a807f035ab9063c7e8a488c9588ea07db0bbad959932e6d1c89704af0d999c07615bca6d10fcf6873fddeaae71975f6115b792ea595be6a57c9ea52b41314b1e6472c82d091f66c18836eb8c68711ef042070545040220819e940c5f4ccd083f0f2b757c8f221a3dbbec12cacd2aa7531bda0fde96967b1b683a9e8944d624d26858233aa9f3104515182ce59929b94291eb5c2d695e4e6b7ecf30e5160d30c62744940defa7b455625047830b46b64a70e4070c3e47f42708242d62df081947cc7c13454447f167f2b59013a914eccbd44c40200e10279d45a2858703587491d13b3e816f515017b33ca0c7157dca8c8dac532aa8d392762d03034fccff3b906f8453e3517deab48c6e8b78fbd283c8515ad00c96810890d205d8052566d4d204f48a759877d3979ebc54d0b606a98746aa97a178c19abb68325de656b508a42c42c1664db915c687f47a75210764898b2803a3bd3f82c9a6280044059cc801fee406a5a14093b05a12ab3815ba40cc1182020d83386ecd8c1f2944b85b27b639f9df5aa7000481178a5894cbe66ea9ea8da50115cffa32c281c598b2dda88f16f51d7a1e75e0417988ead7adc10b033d03a41601709530799f81b171f7b79eab121ccd7dd577fd068cc4712c437dfdcb77b3981efb970d72ca32589633a9e42e54a79cea76bef83a0bcc3847ee6959405d37af73d3219a28685f71b337c6f72584bc37c4cf018cc69fad226827a22b9d58d41dab6fcbc056257606d8130094f29cc747f3338ec6cb0a6813986fc07fa10ee0b4dd4e228c27f585c2163674fd671a8dc1a6aaf56e3615802105cd827106b3e88a33179b3ada9ecef3362f910c818b6dbf4420f76b6e3ef168d2a60a88cdac79afd888125c475eb1a8d1b1b1a217ebff12fa89bf9eab76bdaaec17bc3d7dccd428a68db5812fbcb5a9d606f4c32ca2aaae107c817279be1e3e09c1cdea961c3a117c3f077ee575e82794a5f01a3ea28033381bae411c9c6a4edc294ad368bae0b363e8f0d027950619474115e655feb26d8b2f30bc159fbfcb824f863bcf7a8210eb38e22db77af0e24588a490add45b2747383883fa7feb5ab8797247db2c90fa8fc8e609b0e4028c2a817f6e97b09e18559cd7be75e6492f2bb4dee4e132ccc5681ad0d46950816b7c0d0191aaef8040062d55e5b8d8ccab4fd0c2f2a9ba3526953921126149554d10315de2055a974a081ddc27996607bad5b9e7f2676187f4304cb1d971363416cfb7881f8d48121217bc1fb118ac2f77af8b39084cbf8d67e4953527d1096d145fe4bbe8703f2321e1bc543d859a21d6a13a808ffb305657dd9336279a79f213dad1d3bcce9cc1eb520fef519180bdfde1e57211ac30a0036b96e93a6045d122aa03ef74cd480597c3787a086a8039d1ffa5fb0073faffc82d7561f34deb2862992ade9d30dce49086db8a5bb6a2529ea3408bd19441fa5c97ec68a2237c316d4270181d59e7fa0ec007b5fc9685552ecfa88f4ae65b48bd13fc9a4a78a84eef52c5a90d4988cfa74c17031ae03588d949d56641fed28f042337c78e4e084a8fd316c7e88755f209e596c5e7b21e7bcd74c26cfb4ad96832b9c3de224d1f7cdfdde65eea9f2ea98b27cf138cd3d959cc869027291e6dfcff604a3847b69e6e35be24789012da813402e9f37b3d512a62d1e255c29c68b956398ce73ecc449d58064247120b58efaa78d50e94568bd2d4c9d56a9159483caa63746c36b043298fafa38799fd9b53aa9d2b3584b11de0bd3a56315d41a160ac1578f999c5102a0fe8f47917a200091034aef7eba15c293234671564b96aee60df9e5a6fd19ed9f744a36aca8414852278463d753e8dcb1d968d4380c84aab6df7b0d7ed819c9eac6fe59ed53998c8d3dc44a8bfda2873c13ee9016877db99bae02e44ca95d117de51fe66042659f9d63c5bcbb20e3962f2f9555e9315284071c2dba086dbb49a964ef43104abe8f1bdcf81825418963ea894accb301d5be4019608938cdd6544c5d99821c218aebe031cb62ff1107349be067127125a57f1267d33fc64c492ae4aa43fd45b1d33b2b17415a48094d40f7311fe44be73834d1ff73aae7fda9aa2a29c41f4e7e97b5a4456833574d2dfcad90ae8abd4598af3483fc243068e1e2240a1f64eb18c64c3526869a68f33f6f6db3a79746448097686a37ad68265a36ff4141813e4017b564070ceefebf08f9cbbdcc6b506fb3427e0c951809dcb1fa06511760210c8ddd26ee661c9426dbb7e9e526ae602c03960e6594e47e6ab029b1cfc0d7642456c7c20867a8a0b6ce87fbb1eedd00a5610b691b2a4fdef3e3f96b5631172b88b1f37107988c8370c30e36a4ece3f176ff49605aa69cbfb0c6775817e3daa04c8ed033028a91373b2663e9eab3fda20a497b2d14ad4447e095b032cd4de59ae784c51e6cd332bbe833050230d012b1f2475666c854247f19011b3dd5970d8d3dd1d1e74ef0ab7825934573932b37b1345d66aba8e9edaec13411578fd7388ceaeeabf0622334d7067b8710422f7b8eb2a45cb0cdf5f9872d3d14efd2d818b8fcd37b3ff5bb21f2d1e388839d97ea97d2c3e15c9b4dd05a03f2a1f4c6f6450b2925edeb50c0ee631bbbbdceacb52c343b23989f7d7e00b8e6297cb5792cb7299117949a5854129f932c444cf7401723fad23dd4bced0da5baa36dfc45e89a8541eeb432ee7f01a3c6cf94d2d42b6924b03267d2ed1516659d3aadd534fdda378b028d8724a5329a6237038b46a7fa621d052a7e35e7d63b954ca34908d1144007aae6def3d069652a76c5e0c8233617ed6c8be24c26db9f7732dc6af173e05d6f8163335ee07966087ceba488a24a0f62fc12ea47d728794e79e0a20c1648583b203e98770be9feb6f5d0f2bea1495e326a0012c3a2ea8021315f31533f752c61edd073f1283e03d46d34460eb623fff130a57ab2a0a21f9c7c0eb147bce5692f886827c4cea51d87ff9f31a250b38ba4d95a71e874f05744fddfc7ed11a045fb8858be2618e6f4f75696305c1173fca9297fffd105bd38faca2c858d797e573baf3645e0abeccdaeb36f2bc8b1380a38846cc0c80789de54c1d6e6ea344c75b18e58563909a93c41542493fbe25d063a2110f21b08239c4b8be9d24b1e0b1eb9e5c832e5de878d091c475537e6d1baa11214020842ae5c4824e11c11df4ebec8e0dd937ad9aa4c6285688157d465575db9e2bedafba02a2c80d502886343969e322f1575d90f64a0b163ca560ab853a1b64d5246bc53c99466289d3fa43c31e2f8886ce6f55dd2b327338f0266f16774b85498c815a75805efab0add1c4361d1c217f36b5e18c8b2e1efa2dd7f6d1ac695331111b17d665299572f09dbdd9e7950cabc951c4cf7d2cc0e22f6699f53e9573826b420a013310c45690874c96fd0256875baf3f88f1c824eca1c7811501b1d0bd292b105efbf4fa735210ebc62302670bd80b66aa499118f839b17698898492dd6d439c29066bd0a9ebfb30bef1ecebc69472ea8b7c98fd8e012634206f1f6b98420f383413177188d3ed26c13a8564502820ae6752cddf7b6477a04fef130b3caa8913e4787105a9c7e310bf059ea4006630c9603612f0b1caa83c5609cc8b165fc4b14a4b044fa6b9b6b4ac0fe88954022af217e3f5a46f0c075bb2a9d6edad593c295d40490912403e3c461e9d8ecb379427bb0d4f09433ac282ba55ee4ac5fcb94d866429284fcb826d7a93a052eab1dfab0345b238b15d053390f0879638e5f7f9d6e2831fe62626b950141b9cb2a4ef32475816653541f2b74baa0759f1b155d12940b2a34958702e140d98445d0a038cf8cef5f814a86d599613c8a975832710eafa278d97c943c5c6410f00854eeba2ebae6fded67af33b0b5189dcd8d6e0567a282f614655a90bb7eb6283c9a2f0dc132f5a0a2e13e76dca49815170d090be93b3603c3e1ea94efb58d4986ecd452ce7f9caba3567fdc38451269dd5c0f87a9e18f4b01573bb6a27f4665fb964384d91ec1f89a32526d26ecd2128a9e83d10c6aa2217658cf0f34840a7b0255ae3d0ff85a6c11e9f9683a211acb96c6ae196ca830aaf21d97efbec9d88ef92139daf87818a55ddb07717a79608857746770c3449a83c0caba0d841c0791e64a84bd5150955bc101c853d30ab995529340f54b29652d703071628d457db8690b792e25c476fbcd1215f51ca8d60c9556821e9e2125468e8b25637412b206472d757f69e07cb19acfe5338f46bb4917bd748ece5fc62c66f5db79a380da8112888167948325d0c031dd6be1d79bc2facf4b34fc80829dd5c4effbd90ccb08d397c474b0824cc5865ef9531c88ffba1f5a2696e2343da74963098acc5614ced2248bb83f7371672b14bb7ebd9376ffe91c8ac7c50a95da85d804be81cf4218150ca96a4739489ad7bed2d40e26b5bd45aae6ed859608b509901a0559930c5bd2fad3451dced73cc79da05d505b9189f3f66d4d7fa8bc1311f84751317802f6c97a2489ee029fe17481407638228ae266790d199256e12780c5e48db4bde2a548cbd6bba52019f9611c589c08eb2a2a17349f51956757fbf78539ed9e57ad04b8b2513352fa44b15c5fde5e737d8c1594a6ac12ed91127a13fc3b7b35d000877365b098034fc519818521503443f67a9c28e593fc9fae59664833beacba5be1939b071ac1ebdf03e75b99885d159763600509d22453fb26421b9a56b72c79080e0e155450c9312a0ef996b940e5f3e25c4129f25ac16a86cc86a476fc74bcb29a19294bfabbaa38bbc44ee16219e559251f1892a57d3c0b7cc252c28a9b703baa19fcb46d2241ac0c886d524a6bfde9b8e2827c26ac19d994035342dc96c08d20377a476c41a1564663666d3e048b8c954d4c30f391241539439074fa429d8c3715b71c11ecc2f210792e1fafcf89796cf7e54264d6cb0c17f80c1766e079234c500e97c9ad0db4d6fef7b366ffdf057920231478ed7e057b166c627a7a0e725f1864fd6382edd47cdc500f86ee66531ab35afbc1687c354af2e8ae95b1fb5f8516560a58729b7b6c7b3d506682c7f03716b9a53ce7326d8e0dbf0d9b0f1bde90d68472b3a10495f5284f2a9c737590c6839ce3b417f59720ea733a3a1b66066adda9be767f922bb7a9f1864d9836b681e54e25cc7c5880fcabc027ee2e21b8f1ea94c915f243c36a75156f4a89569096d0b0dfe9aac98b1015123aa95f39d00e439ac1f0971345ed4f8110d65296aaa9aaff4051011c272e4a21e73d801ca0993eb893693c2bfbd40c189f9baf00e3371e023cb21aa2cb832b7e87b2bb2b5c733f3c02103c1392a9b7555c73f86a6c19b99e8e4086c11ead1d50292c69f6a97f9da9111717cff287bb8ca585055d75ec6c32f65444a96e99606905cc6894af1ff06f001bdb62dd52a38ef199bfdb12932567eb72b06d9301a568dca814877fa388490c9f81988ecd6d6b338a2724b0853ce87104c61c179231a484fb9dfae9f5761ba0337930761d413aa87d3096032e4f71a55e25d9f873eb689d40a879ca5188001011ac803fdc95331d3d859182bdfbbcb81c101886de05cbcd9cc392659eac2500a81ad4d785a7cf531f9d4295123836f5835a1edfcb92c67e84920530c4d2f6f9fbfc39d8eb7d2c840122da42bfb2d15d11a647a7bd27cea23a0bebaafd34d36f5ef4c7ae53f17dc9f2b0a5e33ef5bb63ae2a15a795fcfa31f333858aa494010acfe2dc0781138b8e2db7f58bf7cbce9da33b2c0836183087e72292948ba38943e31637bae8c77f18d455e100a70433d3d7e7e779d65fbbf5d112e32863a2bd31997f644491f858cfdb881900a0c69dc1f91e8714a43ad0e6ad999a84c8e93a4bf3f29a98f4e3402a7262f0159c5072dd09b0af7b6806f0d05a788f1c19855aca18f9a14674b03ccf200799b1e00b2e3cf7431a0f4c9ca3ce2d58642258416e705920a60eae2d306841125358e83b8fd9179eb2f4c1f8e10a6f86a3ac73bbf7ac751685d689bd181316bb49861512f7c375537c3683aca51ab222dacc2c537be6505469b21dd396182c919b817bad13bc1a2880d7c4662b27292b80b426d9b7acfbc26f03f7170cd18489de2e35a3d4530ceb090b52a2fbc80f4a578fcaaf5f38d9ce3601144eb7cb36e806c9b38de03c5e86e2bae5674f32d400b1553fe407440fea7990312bbc2eed3b7ffde10130fdb85a9d1262e2228438d231999e49d8b4d8c8100ecf31df55ec0b0f86f1fae08e8f9d6034f85ee80d9307110f060c518eb86b8e021ef7f7898f368b23418170cd7a868ca3ebdd8de4e3a7873c392917cebd90d1e77cb8cf2ef65209e95e41b372377538394052b12b053cfb49cf04dcc3524815d036fba1fce46155d24f0ff9c1f25b58bc8f859b0f1622096ff69359cbb6cae2a044a597c8e90c97f669db48b7e9a133dcbef63a2ea1adbcd7eeff057e94ba4bc46bc193ed5cce3a0719a23b95bd95916489b9a2012c9cd04f46c3f5887e27fceaea8c16429b0c70df2176f428e3f0f2d7229303fd86fd3f31253436ac633141e279e3f04bfb47b66e25920f8d2c5daf6273c62391e30cffe094611f25ed714f3b2e5d28656ce77bef05d1472600b8c6787e9f9a2a7a3ec4a5c75749fc7876bd637507b81439df28759fe56461daedc89c735eefc5feb3094cdfca1e9c44ad696cfda82703d6ea11ec44a576214d9f7dc891d6d2d3998da665d10e2c1c807d248df651989a41e1e57402c37ed626cbfbd7ca21a35757ae7a4e739583aafec17b60554066a63d521a4c8906e0f56f85f73b0466fed9365966b89c778975e751e3453017de75bd7ac55a89e3c1fe5f9e29d16818344ee40943518cef2cf8add1ab4cad10cfb5f9ef1224cc7c46a12d99d91fc5b7b86abd825dc548d394c8bffc1d8372a40fb011421767b1fcf99dd78a5a6d632e09c902a74278de288a279afee23940a2fbc7663619eae9a0b4c221b6819a93be27d7c4a5c14a2606e695decbefaf7e4852280ab69c4a87823cb04caa4bbd15ca479c1b7eef13ef3016901e08da041b7040f0f5fc6b64eaf12c00bec8e63b9e974671dc8bc3d9fd5374a800a28b88d718c8cdb4281d44c506068a048e112b9e0658a4ebd099500205e276cdb05b3162ed6324c8242901da16806137e2a523e8927a90be0b10ab1e708299c49e7c4944eec5408ca990dcf0d5b7dc2713571f407ae6e35181cd0d705a1abda0bdd82f5b3b1419b039db926086b11e54068d3bd2481fe5d8025e09b72548fd6c10391ec45c7fa2765578c6a0918b7d6af2d8dc79acd2b05ecd190667b77a8d57234fc62ff61b66983daf5c1a19bd47bc2b626cf2e3a3276436855faede2832e91ea16b26a900c3e43584e2c01b2ec986d0a212428146d9254ae7c27fbe2e9fe18d8dc5a0061542e4d1ec14a6febd43eecd6a4ecb3f0223fdf5dcffc509161a720d041598c6fcb359577bc8ab447a7561c71b0a287242430b78cde49c0e037e01c2f28633571a9284134539356766bc63964ccf9051b361d7d17008cbf9b2c40ea04fa3cb0f96517acff755509592d03841660d2016c25ecd330e62ea1df2385a4ba04e71d91428c437f5cfd1ee3040899b94a351ff936bc72b874f28e330afe0cf66e37c39ef5c38f34fe70f981bb883634b3e84c336b5fbdc0d153e2a0673ce4d3709f35822902a2428a3ea29b6d92b81f4b7de6345ff70dc8e3b4c47126b186878107cc2999c16765b52dcf48056ccc23d6623df14be4542facdb654e3edc5a35315b65132571b3db199be785b062a3cfbf0f3aacf18ea274aca3c30265741d006abf0c706695a16dfc5a079cb38d0f3a897d3c09ec1581aa1a1ce91da5840507699537b9a4df9a8c25566d8bf4f294d8007517af43610732734694cf884c53e9b6840d042a85d42355bf9f8fa718df4dbed3a118172dc3da9f4a8c53d9272c4c93e26e8e47686ea77d469f0a8f7c76b773f54ca7dfff85e87f8d5b464fef0e4cdf791b4235b8ff02c6266a845679286f34f76f7c9ad67489f6e589231df5600ac902c4903c25e8cb9fdebf6062d87266d7883d93b7411f73298fd04e6569704b150f3f37df6384b6feec2fd656671a6a44b589ba7729f7580127825f2ec6605e002c3a2818a13bd089b5e42d14ee09e7fcdc288019125344319513906b32979032ae70e116855998365e4fa77e282a43cf98f93ef6aa0e0768ea4c8acb556725fcf41d48383f6ddfd62bdfc5b6028e362b91b9954c098e16a42139478a0ddb612210d67bdd808fd88cd33268fe652308c66a742f4409d3a42fb6510136c7f910a73b437c4daca57065538223a9e5a8dcef1b0682befef54cf13e36d6faab9b9f2aa976f5c01133d97bd5f3b71c7943db45e494416fb2d00f8f85b196d5307e22abe5e0d48447d5f9df003ea626921bc0dcca7eea8d1f56defa31bdd2f61792774de51970200ab06c703862d446ff22ca7024f865f4421c09b97d2f2ad4636d88a208448f8e065ee5c8fab93dd765000", 0x2000, &(0x7f0000000a00)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000300)={0x18, 0xfffffffffffffff5}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000c3c0)="be11a5dc585dc30cccc2ecf301a6399cf85cff286f43451060f6832f114f77711c0403354d989415ec658726310d98b02c14f14ba1e32153e85bf1f1a9a18d9e95d50124068aa1e36964815043f274df7f91af9df9801cdd0b7070790f35d7be35982ac9f2a862e304fe09026b1f4ce206234f2246a7fa3a8b5836a7f611da6c541245e6173a1d7966b99d66d3f7c785c1df779dcfb31bae371aeec8a6d144ee2a71063247a4fdd3e9ad498c529f550dcfc89d3b14dc3909234c4be2c8bada2cb24f53a463e963f7101163fa9cac2999853437635e26007a91b2eca3ea41ee19c9f7ab86810fe886ddf245306e9e146939dc28319c4b50f1541088cb8012402613755ca8b3cf13101bab71d197e345eaa8195b455297981fa93ddad6ce44511cd041cf1b292205877744549b3f191f1ef748f595e2eef3741d3342aeb587d78da011cbed428609a0720e5812c4d6673ce7510068ebeb8c5bf7422bc53ce80600c67b22c059f13e0939e63bb4c9464fa14520fd5b30f638d38d9c8acca15e04154ea44e68d8871836a6afddf00dd82d2af9ba9857ce61362aa416cdddcf6ea8749f888c85d1a937f17e7fe0e61b64ec088b55bdf9d9c3cf2430136f62011044d811356e89a1bfab1fc59ba55589a883c2a66fc7a546463d693346287653a1e29910292e0c40075af553dcb25e3a718a15db7816d5aa68d4b2a03f48378e5991464a9d0791774cb43e47d1efd47ef1f02993cd39947ba91b2e644cec65cf02774cccbf5532ee4d91fe970ecebc6905bdfa26b471b690f7d1b15d93a6fd1b79106ad2db459aeea72ac1daf13ac9cec1c750fafd9add643c60250db6eadf868335264d8c2e59c5aff7581ee4362c6b7584fe5dc5a391039f029fffbc164d0340b76ca648554bf3c50c243814c2bbd93a0f302940efef4cfada019197a086919b76c200fade9ee17045a08e266610cf444d28054f268506ed864261eff8ef1bf22321a1b51eb0a13ba7d4223915db824df34bfb6158b4319bf93678fc439b666415d8d5ec55dee063c0a423d1acfc6e1b27a47987c6fec05bb5921042a559307f60b586e1ab5e7aa83cbe5feacc9bd7e367600ff1d91b6db156d88a93b4b88f591da279e6729d7ddea02c40c7468812f89cfd800323b358eec722b184b1b8fd581f87f1d23bf2c6797daea3a3c3149b30e34a46fb0ce2e53e987ed263bcbbdb0ee7dac656a54dac774c7cd17e8781c3cc6edd3fa9d280f05ecfa196f9ba0471bc9255402ce1cdb409267ae453575566235faeb49cdd373ae73a29587bc37742b0c7af41f52d3275569a4c0feaaa645df9d75e140062ca896dcc3ce3b9eba2f8d54414a4280f7f7745f7bf299da3c1356a9468429f104fa6d90e3471ad05b63a866342f049ca303c49d1a0e655ec5173948f0e926d44243f178d65baf0ae7c6a178fc72d050d98a7f74d3411f128c0be1d87eb0b44da842249cc6cd1cf4ccdac1bbb78967d7b7adb18d11c7430e83e61121cc411418cb8e3ba48d472683e9a2af591ac27af1063bbb3e41bff64e3ec29886dfbff07a7e55b9b2b1eeeecdb516e2d772de84d8c842f997ce050c2383badcc387aa8ffeb21f7c7a6b0c8bde457843a183a9d94dbc0cd815c66af64b5240a2fb6b80ab1e372c585ba840d8b5073cf778d3289fa36cbde64a9141b934591390a01c2addcd2916ed67ca703faca30e8921f25eb4259287981c6eb2019e657187dd4a2da48b9131f7ae4f67c3feaa602edd73ab097ea0415b3fe47493368def04ab78d82e039172a164a633786db7decea568f09710c259584b71c8b21007ec0b83f9517538b13862e3aaf2309e143b3e13f28a02af47cbfc91eefa6e6abce1b9f67b7daee32ac15d54f4918b7cb4fa276eaf1b1671f6c1ca45f6ba61e64acb552990b33eeadd1be7145f55ea4bd136b8a3ef3dcaa66218d97598b08ba87b235d58e861ec169f93685720773057bc795cb6eb2601a9c680097f3e7780e46f64f2038993ec04733af95a40deb611cb27c29b6a88a45a4aaeb42335e28d19feca3b2c2d32d96dd1b0a77e37b78d84f21a020e5c81953297e09bb524d268b7b8dfc57705fcfbdc34a8648225ce4da1e5713aad315cebb166e1c45f4c849d49551ca629b8cd78ecf25ec4fdd57c30cabab8fb8faf982af13af6dc5635a4ee1eb3876c4496b906c3b959362c19ad577c3f95405cde4bd27d303587dee644cc6cb17ae474981c7b17a9b55cefe8f9cab9de6557ee15701a41f6ef5e775359f04083fe431857d5ef58c5e83aa09195b549bcfc34519c710418655c80ca556e686657b31f2754937b72f886b5a042a5a558833cef14e24039a3b441207a1e6375c43dcdab18f80f3ecd28023486c6650b6a870ebe1cc60494f2303e794b1a471ce4d463ae924b6af322bff451761214a03220e1a1adfaa21b91b0cb58758333eb013fcedd99a8dc704742146b06b1a0b0ae200c815920df3aa7e90cce3afd1c199fe2886ca63ddc7b22edbf3d7ca02539a4764c8579425860d5aae899564f8ea089ee4b6917ba7d554418285ea6c67541811d4cb96e934aeea94b5175a4de2b4bccedc7628a7a72d773af27d3d736aa3376dcd048682fa19b2b68f4e541647c3058a8e300d0b63373abb4a85404aadbc7a81f52a3bc18eee6a1b21e33bc6953b5bd25b8803da311b9b540c8303bbc960c8ca185d701b16742c33ef51894aaa110524a3d235a828133546511a6250b99e03ace553c5a241e81259ee2483b31285b4625ec285ec004ef620e2742c890f482fe2b8d079dd01611654b9979fa369dcd2b657e4a8a0fe6b8ab35192278fcc38b978a9c75c8bfba8646d74b93997e3295100312000afd1ce3bde2d2671f19a32dd4c7b513d72ee236b5c1a1e2635f3d3f387eb168a2bc2bc642964266c10dcd03a293e059c5994fbffd24a3dd73792f2cfa50e2b3bf5b8f171351afd39b732bdd213e286493e766343e557387206bd3e3989382fa0125989e8d7a2de2cabd9546fb11a462a068d124bea290fe99a988ea7b3f8b973a652fa2900af84a5d69c0dff54276155e89858ee9ead89716708902bdf7960a7f1e3c8eec789bd4f19e756aeeb7922b48ca9cd32a33c388f97efbea7439017d94301367471dd982e9d0e67208426a3dc4cfc42d44be9ee19837095aeab13ab46c215b9909ebf149bc9fdbf6406844832cda498a7cfc559330ec7287c95525b57dd7fe87ae591bd25a0e799d1c1ec12ed61f820f23ec5c2d71562698023876576f422204e6ba2317f487ff7f602a106f6344d7bd770deec7ea04f8ce4361618a02a21996f2018faa8f2439dd4d06e23be49e8636f0101fead0b78cbbcfb9aacea270529911ed82e03745957869d518fc4c59967e3966137422596e1f25367acc2d1dce153cd6f137c50efb0a07c7e8ea3a7543c8ede1709d1878b58dbdbcb5009fc150f93e11ceafcdc0b3ffdf9e3ffe2a10a957f7d16ded497dcece03c1c872e17c4e4897c297d823d546a3f9d6dcbd867316c519655195fc4d86a3a7c0c2a7e0d679896e1cfecaae2e33860c60984c65c3742ec7ff0495e45db03e308d8baf15be0d9dff8ea27a9edadcad561e918fe98c59241690a147037259cfc308471feeeafee40d5b2f24ce65e924c38f3004277553875080341d4e92452ad4ee64aa7f4a0d72e2902067b4ad908058dfe73a49bd28606e4da52928b1b949d05f16fd28f1824429d2872ef483e5518374dd81ed84a7185ab3cff63f6484ddf72b3dcbb8681fd9048bcce481ef5d00b3159040656cddcb49e0a474b0f42bf56aea7ba835c98c571a9dc51c104445e6cbd62158e7f5f59f4eb1a8ef0ba1b44c9352984113c2af36d215b4389adeb4b9dfb83468dbb290fcfb28c12171bcbfc1e3856e0722b625b6c001afaeffbd1d7bf61dd621216665637446a4154b2730e18d926b075a925250a763d4062459c89ef5c2b8c469b29137c1b3079bf99ab540d6579c25bffcf3a041f0139b17e9f452122d460bdfb30843a2ac4cc75bc7c0c3e5fe439c35830e5d6341c9e0bd2a88958329719184b8d47a7f48236144273559e58e9565023834d6b97a1fff27a25ed568918ded0caaf0a63085fff8752b1be789f9cc3cc41f999dc28ddbc47e3ed3e4f8179a9110802596e6f343b6e97abda062149f92e27ef3dfdcd99b33a8eac168fc5d265046cc007c773a78a5c39d00059076a4c3d93a9f177cd191e034a12a1e11ac5ed49aba30e8acf599e68208fde9f05a745186a9d7ddd3fc5086206cc6c789dc6fa87c667f13a840aec817a54adb28ab1e65e2825fa38532f671d5ff27008fcd80952803fa4a2215411d73e327cc60be459a40b80b290a698b3b61404ebf17b31512a8d6b20d0593860fd89e8d9c12e4d526e2594c76509166eaf58f5dcd247e3aa96fa9b1d64c67e7ae4e6d58b9231ec8875f9256c40911c2c24c20d48b78770e7ef15b5c5b675ac12371717211edafb17cd7fb8efe015faabe6e5e4fef76c9fdf3b21796ea1e069b2a56c369b8c36cc209eb1e031827176b08648a0b0680594ed9401adf621d71f2b3f55234a1c8034a4f41d9102a5efe597d29a8fe837a6df892587042f9cb4cc7d144b98f11495f78174cba83456479da2bd5ef09a0ff80aad9ce546521ce7861118a5c5231b1f574a56208bd99b17d5cbf0c6d8c06b15a03f66be811ae552e2202138a4bba63180ea457d74adc5fe64debfc38ad0784a517115ce1b4f651db8b0ce82102223485ba37c8de8d821ea54275ccf60a73a9f905f68d47bcb0bcf4b6b2022670eb6f9f75954bb20a594a207e0c0806fc5e8bebe33239e0da187700bdcc6d0161bae304acce6be4fbae4b8ae5d90d65d3844f23bb913fe03f31aa4e26f6862f1235ddba663386c0750a3bd7e74854df68ecd2350e46c2bf9882505a88bf3f99d3e08515be411184e198ec3d612a6644379d4345f046ea427f40a04eef9e984590887d46aabca1e21e1577a711361028ae7728d3f098a762416a48b820c3a6938f7bc59f139d58c22441fb59bc09fc4bc55e8ed855cb71628534c43a13205c0c632c7d561ddd30faff9e7fe71e56a33da86d66c1eca96e98bfe7d1f9dccfe4fa129d51f906adcb34bf88e2b261bb79aef88c0ea43e369e47e235c2bd6d6a2b07c1332eb85ef878ecfb41f3b3769cb13936f0a8f0249da945fc3c6e9b4de1ff2fd36d0cc17623ea3519d481f24c2f0cbbc0896df82745952df1f131c19ace779af1f669244a9dea7c568fd311291c75e3fc46a41863c5dd38a6b172138635b5bd988bfb9acc5de919839194231cc4d004254c579384afac6dd058e3ad50e2abd866154cf4c2d842794080a04b0d552ce82507427b3a5cd448cc3c1c02c1680979d171e3faedeba6aa8a7881a3b0854da19a1fc5147863a8383441b3fe1da16c20ed8d51c917a794819cd4232da73cd94a8fed8a65e8665d83e4caeb37b86310225ee1bcdee93953e1ee2451ac15a2aefeab121e0cd2c4f230567e0153c3ec07dbd0aa818359a03f5be1a3a32f7c79c7a70e828d32becad09a9b407025b59a26fce3aa08b7a48c74e4225c12ac773a2a9c27580223e2d305af2b6ba00d0f24400eedf51f282ff02422a000a6843757b4821eabef7f1ad7e5a73d138489c33b42e6cf5be629adbf87e781e0e1e02f8e4cb20c1467deccf64eb331faa251ef79c641cf08510461f094980c1bd3d9866e487f6cb538f885f2b881baeacec73183744f1e02b1b8aec12d4942f814035b16476256a3b6e231a09b4f2cdac30a62e02f21922f25836589f889c1108f252873e5a3ce20d3521001ea13c23d1319fc3f8269c30d3435229a487ba96c61fc7dd88bcea987c5bd67809ba55c36dc827fcc363e6a60b1319a3b97267251d7bd6dc037cd2a5f82d74ecb12b480b5ddc64fc8763ac38bd8ab0fefc5d0290b278e8c68c7cf5a4a7bf551032524dbf455ff6c6c344d39895108c1ae07c5281e1e11b878c3488aeca94d5ece48065862ce13ee526f85b53d644e6793c4d0e930c70b16746479e7785c1ac757057413e08c2fd21eae201f08e5ee02a73b5897b3fcee70ec2586cb2d007859f71e86994ddd7e97fdf94a65c5d98396607f1f118dfbe7e3b7777095b21b257e8bf9c40ac50b9a4900c3dffe423e73302aca1ed0c10defcf32f4447de9c2ba3301f7c8e2b4cde017c45c5bc90b25962a628b2a946288206f1917a76115787e81f6e314a7c56f335487426d308d72a3991e3b262dddea9d17cd7dd04e3f7529a53263cb78365fe55ec9e1255a8c28aa8ee34caf98b3d38503190306285df1c1016d63aa9b0442efe1ac9b26b11729552ea4e503492da07b921b5adf5f478633ddc3ee6e333961e1fdc044a3e30c6ff2ed9e2a29aa0b823a8da6096e0842701309382e501159568c954d714823e03ff0a73c3b27d0369cf369fcbac588113cc8b1084666c447c0fc02c0fb038bea5530687e29be974fc214c65c8017f64534f45b8c17ac32a617bf1326ae46cc7bdbc8d4f6637bb4eca53b2895b2dff46620fb798ede0c197312ed699574b35ccefe24aac7aa03e4b68e544e6043b900f203ab98d2e436056339c9b3e36835aa22ce273faf40261cbbc8ca59abf99900e77fb454345d67f0f0e84d8d36ef000f73c2eaa39dcc24ebf76b7869447dbf462dde48ac69071eecbbddcfb48572d6035c83146b59d91d070cf0c0b86d6b34ae76c490e5ca5a413a25a01037d849c5301089106f64fa50b00ae6cfa2259d7f0375e3bebdf052baef87c1d1f2f3d0dcf9e0ed8002cf18475b48d7d2e55d0ccb929fd580f3cc51072c2625f96f9e39e44ee92a0e76b8cd7e74e2598974d60975f03537b3fea07482215553a07725d235555a839c88106cf0dd09a13e3387a085cf1896931fda7a876c310c8759d6b5d1d8da4423a2a4d765c0166193d99f2c4fe05d47482bc94e4341b225165247aaa97eda85aa1c07f1f5c4014b1d712b53fde7c5584cb339734afb185611db1d7be7eb4f5aafdf1e533e290ed0a770818b6ce9c23df5ec9b66aed9b9d7733cb59036ca7bc3f8ab37939b7164dc4ce8dc3ce3fb8bcb151b4e7e80d2763055580aca9bc2111a6dbf10e0782f24c2c7dda5a89804b53a3e52c33062970ff03589834ae7fb2c1062920aafeb7eb30cc4eb05fa093aebb1feed6679a35bae38c97f7083cdd2cbf4f435e8dfaa34cc91c814ca6d993bd51cf7c2551700a7d6c44749b979fc825028154218da2e9db38fd1568093ea77c56d9cd4b6707e5a3386367ba4cfc465ff093dcf5b024abdf924767404ac3df315a3053bf90babad81026454c4a2b82a358dafb65577d58313d6fb72d26fa0feb3dee13623b4249bdbb06e442f722079c38e2d3326b52827a0538ea79ded705e1c4ac42ebd2a7cb14bec4a4cf534d83be7f6e8cd969f4b65580e25d3806e9138de175cdb8f6da8febb2e80204101e716b9a30ac45b748b3c9b4089f14193db8331d57ea21c78e17907625ffecca5b81bc79fedcc2ef82c59f288598a07429115c964cccb99198c974c82c15a6ddc0d55bdf01d48c68380b04c7ef126daa52234a76cdace802a19dfe4dcc9905e9fada9c4f58c6cccb5d70b9e96667cd7288d62660ee615a4d3b9b65f8582d5375d8dcb6545606bfd0dcbc732166b93786062644b700cfa20622e70d3f29404adf8eb271d1419cdf977808df70a874a6e4a92ed51e98c403ad7993ad6c45e214507b4fb825057019324812e3d09e3e5e4a531490066ae07bdae11593427ad555d6fc64aa23ffd790622ea8312dfc5d979352535732022a21bd9e10d9a7e507d8e29ed7bbe783364cd8521aa49c8afbb844ef9ac6f06663437966fa392bd1ba77d298f1adde1b49cf54aa1e059bed2d18a299f8a49cd8c7922ddd1d63175c50f1a3e0d0cd9c20ff46f349ae173897bad8751c78920d30b6bc7475606e0a1c6fbf17677435f151bebaf08593e92acba7f48f69462d3f3485f9d2f4ce6fbc42ff9c7cf23a982d8a0f0b590427cb3247088df3098697d5432d6d5a0597a0ffb85dc1746433e594fb5e5c9da96fb02ac176e724734c04414e67ee4fa2f57524e5430c45acce315773ba51a69654cbab81adec53f8f7a691f350d72117ec4a4737598b5b91b20524e35f90a086c1a8dba9bb1f19b52ebfda76bf684b1c07b9587248a7c316f5ac312d67819f15cf4d495e122ed2f28a14a9fbe6718f2210d5ab81ccf2da4c8cd3a9c499ce95fce0ff71154b994ed879b65a21061b7620beddc940bd81652557771228b13186e3339e46749456dbb66db2436ad9f620833561ff3b9ccbf6e78812c2b9766d04273f1477a93089fccf9a928cdb7385480816090f2ab7714f1026bf2b1bf6757c9894f6f455e273c58d4fd1e4fa43a1a42378eff847eee54dc9646699aacf95a6650a5e901126081398afa9b240e461fd3aa8bd7dc3c75fe2fe0f9b5c071a334bc05bdfdb8cb3b6941cd32f20b9cd078d41fc4d23d8d523c42fae4cfd98b221b4dd8a0db1006fe09181d56a05f38665b3879401d11bf49aaecc27ff01765656e054fc7861cc192c50f1eb1344f63114fb32c33c922b7363a922aaaf1a191418baa106e074e9e01745eedd933d893f73b0ab902379466b2196b2829db532b1684a1f51ebd926d750d3b97c897a3c4a6ecf96bddb834e4d76f5b371553579b6b2493a27d1ecfaf4e0bb91ad797926fcefd4fe616ae631200321ee7d79add5aac82f670db1f73d42590b47b4c298f3ae235299fcab5245468654965aebf1e34037eb533ab187b2206402c55b71974f66430b06d3147a00d13e7088cda0fb70fbd4e69024d28825b856c8282c4fcfe201ed2719301822db282fa9ceb400ba30c4260cb40d2e942c66c82c4bc7848f2b050c264b7e89c50ec1e344c4666a656450230f2338bec24803180efad0684d6864a6f8d6c9215ea5d95ed91f234387fe48d7ab50fe6ebd4017c65ca1c83ca36bf03530a6ec4d18cd753ba8f8f301769d1adffa71536bcc346585d7c4725c13749afd8552d8a95e21cd9a66c965aeb7e1bde9849fe40739967c1f697fc81b501ceb45d45910d253b9ecce2c4764563d12f492ecb5fdd27f32cb6edb9aa5d89ab3f121e8ee44d6f2b4bea87f62bfc6eb4925350785374220e79b223cc2499e55cbda60ba20b539ed237d164b8bd81e2b0dbc6a6b4a1b4bbeaa89ce0d0a1a5a7b6ef644ddfd9a33fc40970866efe8586bc6577d85bc10256d044feebcf8a099fbfed1694984a406768311b39191b1612e5ec1ab7131a90e9bec17d57cf46e19aa49c54e5db7e0b68289a7e5171e952c70689bb06753b6a5ad115c6d7bad4f44fc5406d519a79d22479263dcf60bedc6d4558ca513bbb39d4d87ae07bd7e63f9f5fc03ce668e732587c1cf1451ffc373d36acb7b5182cb3976784e1e8c52dda9a4e9f6b91c47db7732adfa2541142fe3356535a5e7da3a84bc33d032bd0adaa2e07c86a43d7dd87719eb5461215d375b0a4b1c3c413ada1dfdca059261fcec390335b8f5ccc560bb916d5d91d5ae177f180c7d239ae2f2a134e10438a8f804514428fd9169ccb4027ddfaeabbd8b83c730263626abeaaf91703f9aa2501bb2804c19eaa9178167636ab48aa38417e4917d3b35bdbc83362bb897e71479ed0349b094a2ccb24545240e6c2a875d49946989a61eacdf828a69db3adf700d436d650f7155c3ca976bd880d541053c30ae0974c17a128a27d6324ead5b9028be8f7df1da62b3f0914579ac0f6bf2cc24e8c85d461f13f19f4c356d8adadd0e216711dc3710c3521aa329df4fd6283db09564a8edc0a1091ab699b84a7457c70a50d24e269a654bd4285252326e782bb10b5140fa5b801691e8a5ab7f702b2593ba4bcfa549a18e19e3393fca656c5bc6aaa41bc11f3c95b0cc9a520d8cc7109eca689b0352527daab5455a21b031800c4f416438baea46679f3434484d894662631d7b22481e14f0c1a1452fe7190510e29dc9714ff22f4fc4874a06d6c765cdb63a5d579befdd71bd244e35ae329f510b2e566dff0d16cd9104cf983b389278a410d780eafba979b587a97242465ff59cd82c66efdb80dabdd9dccfc3fefedcc9a907462ac4972e2d4db66061ed21d91fbddbb286d4e49aa0e065c4e4e7e63a3d931223947dcad155cebe146ff1fba44ed77977e8771708bf503b3bbd52d58cf592b8afc2da49a73dfd2c1b276a63b4d02528dbcbad21ff7175da00392cf78eaa004d43c9c20e89b66f667b93c22ae9068db69b219a2359535ab18de9f2be38704e8d117a3b847028ff484d33cedb3f81ffced0a93a2db82f72782b536d3b5aaf2fbdeaddf8671edeb81f88aa6fe77ebd6e69985e8958ef0dbe6b4ac14915f249e5d382661bb78f0a55f5a898ac767d4dce46db7b36d1cf13f105526e562ba3a34f5654fe68dacbd00ee37d43f8c31640d5360ea796e6580a26c6431593611175e8f21610065ce73e288d67734815e26e46e43c03e748ce59e5e49d74dada2423d0527e7f38192abeaf4d904b42317ba4c73931cf73ff553a30099e847d35680a5d49cf3bb20f83e140257c41fa8283956a5333c14c0120da8bab87ac4f29f231c2008a8ebb3f66781e8546f30550e05708466d57ba615abe24fa4058a2e392fbe2c5c65f74b4c78232aa88b626a2549d193c4eb384563a0ae04abca5fad92c11d0256836f40e550a82a4e7a47f1f46acef2a196af48a4fc38a3790b4d003a1ca8d13b33aeda23c284d89d1b61d10bf9765a6f3befbcc84295d62816fa84a40e6e8d2992df9e186146d13b684ee637ae40788113e45cf7aff045731078a5a2734bbf77e2dbc86a7fa5056ad5d1aa344af3f5a41093f55206f882f632fd915cb1ccc9d802ce15805f2a81b93d0132be553793d518c9606aa2e8e4789c8debbd68b7c47242c79edb5dce4a34ce4e472d14136c438aabb8dcc5cbe0fe97a3fd64c2d9cb07ef7597b2e6d90eb0d74cd2948b00d75865e7256e047dee26a2eda408d73692bdbeb218cb7287d3869315347326a755aad3e767d7417bd6e67da8bb398e655c9ff28fd2b933836fc712708afaa513aabf11657f47fcbe583dd139b0dca47fa33f3dc787d40bf2a05cb52dfb9092f8028354d5e46f697d9da72c37556810e2477212e436cf58371ab96504ae8cc3fb4b87bd35ab111f88d986724bf4912aaa2f1660aa563ae321e8d01a0ee0818959e53560886ab9466669b17f7720ced2983c2c05dc0cf60756530c70fa557639a63a719b7fdb06bf7f8fb8ae9fbb6cf35a9cd3cba6661d6b9110b8b818cf4fbabc28aefbb13d2f8dca227b8df46f6e8ba344dd53e07a3cbf4e92583318f21459211d9b4654027d414522d60e74ff24c18038bf4bf789d158f956e2dad6055e454ad9afb4feb77c7e8311bbde767bc5190b344965f4ef95eb43d3aaf615d0f48023a898b4b291d051ee4bea8c050fbe06c51c43aad56bd6c9d502c76e3637b64d28e678aae3ed33c64b96a5e6d3672b4ecf44787a90225c9294161919865caf39a4b732aa5857e77d5cd2e50902a77fa9d651def70e1b0bc93", 0x2000, &(0x7f0000000800)={&(0x7f0000000540)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) [ 552.399754][ T33] audit: type=1800 audit(1603656941.945:88): pid=527 uid=0 auid=0 ses=4 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.5" name="/" dev="fuse" ino=1 res=0 errno=0 20:15:42 executing program 1: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$nl_netfilter(0x10, 0x3, 0xc) socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000001540)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$NFNL_MSG_CTHELPER_GET(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000140)={0x14, 0x1, 0x9, 0x301}, 0x14}}, 0x0) r4 = dup(r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) write$binfmt_misc(r1, &(0x7f0000000140)=ANY=[], 0x4240a2a0) splice(r0, 0x0, r2, 0x0, 0x47fe1, 0x0) 20:15:42 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID2(r2, 0x4008ae90, &(0x7f0000000200)) 20:15:42 executing program 0: set_mempolicy(0x2, &(0x7f0000000080)=0xe4e, 0x4) fsopen(&(0x7f0000000040)='xfs\x00', 0x0) 20:15:42 executing program 2: openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000140)='cpuacct.stat\x00', 0x0, 0x0) write(0xffffffffffffffff, &(0x7f0000000040)="0f42", 0x2) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000180)={0x3, 0x2, 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, 0x8000000, 0x8, 0xfb, 0x0, 0x400000006, 0x1]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}) r4 = dup(r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) ioctl$KVM_NMI(r2, 0xae9a) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f0000000380)) ioctl$KVM_RUN(r2, 0xae80, 0x0) 20:15:42 executing program 5: creat(&(0x7f0000000140)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080)='/dev/fuse\x00', 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100)='fuse\x00', 0x0, &(0x7f0000000380)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000100000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000000040)={0x50, 0x0, r1}, 0x50) syz_fuse_handle_req(r0, &(0x7f000000e3c0)="000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dc4e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ba045abcd5dfc67d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000230000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000209bfd66eea210560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001354c4b600", 0x2000, &(0x7f00000062c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000007c0)={0x20}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f0000006340)="550213a07196529afe0c0440192d7e6b690b2971077c794178f51d5e3ccb8213c2ab2c2f9eeeaac3d26a2f97d4f45f2a79306cb35d2773c4877c1510919c87833403a04e443f0f338e5651891573291dea98a917f4f62456553ef1e4c2ff39f3b6bfa857c2fde23f3bc356a09b1ce900401bba2326ffdbd94f33d8de2e2e88332b80cd5fef8a5482b44a6e9ff53976da78235538407a23561df1fcb2aa25e96496e60b50e63f955b575f6ea992ec1120ef5d703a365589739a47991ed90db8f5bc075ebc30f1ae98d2dd9424afb051063d9f8b29b3891c4a15a7ebb498efd4ad84a1432bcfd862661ff920704ec2481ea567b9accfd0089aa576182565159cb218bc81fee7abf14cf7fd7ad2fbc9f84b66ad2ee9e72efe6de57459a0d8ab7de571be5409f07b18e19573dcabc67e9577aefeb5d076c8b331244dd8f7a4be820a55a59b007298911dbce2d9243184d8db00cc124833f82d55562ad21f64dd300a0a0abeaf8ed2cbd4e373cbc6b40510b77e9742b208a6b6b2166a9b640c6013a905e7f5966613c40b14183adba502a66538f4d146d80e1e38bcfa430b6ab8f23772c41fc291a01817fc447cd8920886669c439c31639781c8a1750182979dc91939a93f2e8df8823a83d4c00a109da1b99aac9f5400b0a18187cd936c69efea3c5959e34ef5ab1b4a230750e4a121540f88d01f97690c18ea599525db59dcdf9915ef90dbc390555742f68c333611731945467777315115fd08343175c16195186d91c317e64a2a557ceb44c930c144aa8f3a1600d064d2fbc841226ec4fdeae163c62a293851c9aa54715cf3caa3bb22012ab2244821077a83b4c7f6aa67752edd136d84df86932c625b6beb4de2499915337bc62c071343ca01d207913718d363abc6e1a0b36a891d46016f586c8b8cda719a52bddad74b872928cb772d86db68d9431686e742ad8e0d83597e94d6dcd01bdb14b8b5f76e56ed293fd7ccfc3d25459b5e2e45d6bc8cf7159d9f819d0935f3cd662e68d1d16d5bb2ee3998d0cc8fdf553356ccf56c89a5e0ca635faf9224c81902393b1fbafb098a86ebf6942106d6ff686f4ac73fb7c86bfccef7852ac6304c04ef9fdc156540ef072f20a403a869dfe9e8db9c58e1261367d2b8f9ba76a002953ffc679fddb9046fc94bd365e5d932cbf2f5e9b271300d1b90481d72f9fa41eb6e206c96c1096756d4de822999d0396eff77fe86c2bfa2b3dbdb0cfd54b3ddf378a0bbfc4397cac8ba586a3d6b4144e8a9b7a7ac998626afc7d1197c3ca954e48fd7f63ea52edb77e03176720deb4ef7942e604e5a4f500887a77b22760eb33d98d7612ce737af9ee0e78fcb69e7838adae221b4de45e8837bd468f7a405e5f8ed26275b22feb32ba3f12a893479f273e5eaa73658f1dffe09c10baee49dfd8df0501000d74198173d277f7123c4e131fe7db8f74d0390f0222f92c5859d57c709e54b4ad6549185357837b4b7beb28687c35fe62502e1a9a1dbc0f803580a6170b56e08c2d0104fc12c9b47b022bc4cb8474d4b40fe0e13f89a6b6acff2f11d24871ac50c4d10a63080d8f8368a4f982e65ad9fcdd37d809b1b55fa5aeae6377634a973482354ba216d9e24e39edd327063e4852c05db7458f56e6a0dd01440b0ead91570967008128dfc43b48e73fe380033e90848e9fd780be49aba2ff3c97b49f556f8c2c57ee69a15ff01fda1df9ff4434d7aca8049b3146255f870fac754dbb42945165ebbe7279b4998576f6e16332896b48e893f06148b7d470f513efa0f1272ae8578ba66e2042134cbdfaa1cfdd36a7f6c1874e858029429d9bb4f87eca7f7cf1900cd1667caf0f4cb74135301fae9e958f29bba29459de2208f84f4e2764e1fbed3aee309e74fd8598c602d6522f7aea29b73af70bebf10c924f588d7024855cb84f9098cbc7141ce5a6168ecc6d28e774adf9eb6aa9f28838e3e380b7b12dfbcdaaca0401efe633ad4ce12138d8a995b8b27721a2815c5e6331d2fd803c13e3175a5c02c5b5344409b06369a9d4b457db201512f00f53df67ae21fa597f5f3709ebedcfb347d6bf49df34179d0b7169a75a15af29869b2def01a7f5af087e444933ba11d51ce973d59a47efb884daf6cc5258d00a3d7f3ed3cfe450c72cdc5900569717c8699689607e66c5b5d6dc2ff8dff62e2047b30e80877827d2abba12e0af85b77246c7bad649631a9a0853cb79c7ba27f5f6ef5dac4613a7b5d1de79d83958ce4b37a17d593756f9c19cf3fffbcdc70eeb8cbecd6e77cb03e66fa3846bad89a2fe1e284f1fb227340cf4f4ce5bca6289c52410e98966446b4369d261ffc8057d56b625ddb09160298f1a015c1657c88603822566d9b4483801b4f5baaab4c530e61d9378132ec647d2444c04c446d3f2b972a46355ec08e505fa9995624e281292736808c8fa947cc4564c870f03ad931f58f68512c1327eaed18db6a55960ef8177b089011617e64df1d8dc0b9eb3010885f9eab7e098e5711f9e41f74d7b28943586666eb74ff79f67a16ae8d7e75561741c85c5f822f61b2552f877e739a77e20678d2c7a86cc6caa5852278be0cbecc1ddd7674b872e5d2e69c9a7383a33dc8f8c56548da95621211ac70dd89aa1862fa8969138e84810ec854b7b923bf7510ed97cb80037a84a8e66650bba2319dc30bbc3f40820e1b389f684db2d30ef28c470d82acea65419d20f518bbb6a99d734e82ed60fef979e6115fe870498670af117be3cec9aaa577caf1f61d5bbd12ce72a35b77bbc366c6790f44464efafb9cd8f9a097c6ac5423ed20e335c3992cc950b90fcbc7b4c3df2521a31d917af73058c93c1f3e26b47487736691c8b1370ddc613bad413982261e4e036579188b64cd9f39b1b4a32ca356769621c507b37f814ee0480b1a966ee9ebb56d6979a9d38236664fa1fcff19c8f0a429d86632e195e569ec47035c4eafe9185d19dc5e8c635a361af2b4fa33815361c000844615bce501648ee70730d7a1b1da4f0630b1ca90904f80e9e1efd1c8e1b61b05c4f040d5a0430381a53f4a1570491719560a3fb920d6722cafa0755605c955526e618221d1e4e766c35e84bd79ae479b5d178b241662cf9a124825101cc5e1373f3c9ce7625f7f08119fb011acceb88a9ff553639e7eeafc93b6135ecceb6eea4c3dab709005dd7be2f1490d1d648c99058f272bc325ce5fa663f4e68720a5f2b31986c66580a2be4204cf311fb3e5d61310445e942712bf5dc7e66a9370a5a4afb6aa03fefa3f0503d53cad9b79a3ef2ee9000edd8990d75ffa3759dbf0469b6e393bd3627a768bea18f533453b38d17dade925f7ca6babe27adc6fa3048d2a65bd2b0fd840a94ac5f317a1c839738ac89e7b22d1766308dd8247862f304fa51d727a27f0137fe19b371e5946555093e7ca69139c48afca4b4ac46c8d2f56d5e673e8b52dd94857fe953d10ca886c921b6626e869ac794a78d40bf49a025860fd57a0f437a4e650a9db9cddc93f8556482cd3676866d903b0f70601cc4eff564eaab292a4208d0534321e60119ffa6177934a2d1d7a6a1f1803e762c8d30e2a0d5311148bc21e4745b7c3dd57d0a616a2c49569942f2b48360df6c54f7a70f8a585b3a0d54feb7986d7d72ab0e16ba14187af4b9ac5a69428f1f61fe25e13cfb97ea30fd9a43e53b6841cdb766d6b3dcbc70277f2a0a12bff718b5bc50dec6fde5a0e24d23904edd201c8dfd51c1d198e325d65c18ce4d5ed1c6aaec28d40260949ed5c6bdc90f976c76dfdf399a9f9789fa9e176910f7ffb6427c3821fbc83747cb0d2ffe34b0b18fb34ddcaa70bb4624acd1ecf208e428b7fe89ed0cb0db2a7d74b284cf893807b4f76bdcfe9088912c8e83144b78ec8407aa37e94e5454946890174aa6be77e42fa0d764ae36855608d63d269164c3ca6a989232967f168c3f9b41c1204e02d7e9dc06010106f6b41987728775a5c31906bc7dfa33808e5523eacf7c914373ce8e61ea29407040feef8e9511fc04b7f2f9936a3161fccb7deecf83f507840898672fe13846ff8185ee0aa6734a704e4b7ab6ba3fb1c601e57528d68f8955fe42fcfa2ab0faae4008023b8a34ce4f861b5b86b5b507ac1cccf38355c5f0191e8ab29c90627657d6e100957cae6fbb3f0f4ae2049ed3a341732b4730b5bed1dfa97f0976dfebaf03a305da2a79d6b8f2e86f46bd7e257d170728d5aa55f786b5436a221b0d74355d55123fa1c9faf017103c3d6a6ed1e8e26fb8defd944c49929ff5ed4ead4e5782d14b09c9ebd593533c907679aa6a0b94fc8494291acb16e4bd2e4b953ac96f90ccee9e11ec88b4f590289915a6368716dc3e28dafcc5eab060d2c48911f288e501226a5145ea217e834eee7ebf0945e53baa08b8d72acc67fb14dfa47421081434b291a15babb97588c6ed5c7e79299056c70f5362953ef499b7a88c373a23302e3ecbc229824de95f12595f12580a3898533c48ef2385d7f398ce31c3dbb1c02547e84d0210595bad9a149ac653a3537edb419316f244f6a75108997b6597700df352b66acfc191c6b234c5c7beb2acf943f8274e0a159612f4ed440f3ff715fa2cff21b32444e5871a050e33e17695f1e3e7f65f82fa8783870c0c93f961807c6a56e666a5443948e2721570a9068ecaac4839c8209654e2efde43141b1551c9a966812b13bf4f9cbba828a1eb948a1e41a122e175c0ccaa9794660446cf18335ab13d1675a26eb81b1abdc776472d5da139a507f452159e3416532cf59eabfe01e72f4a4bfe86d293a7124ae3478443d00452c1a9be915f54ccee5d857fddb9ee4986c9186857fb4635a2bfb7b8885418fe48536cf60c67c10c729f92a8f91826e85e34e3eb78c186f2ff93b0972fbef4cbed448618e1c2cd7b5cd1b5d529317981b4ed973080615e0b385b41778cf536d9e24fb0ce048ec0dce5b075febaaf34de2cf59d9030e1a9ba924bbb5cb4098d82c511cc42cf9823ba77849bc867a6876096561ac209c2659baae0374ae4abb39b0ca54874eda8425942012fbca984a4c6c21071137eb4399d4c6891222c8aaf43cc78b1c8f2a9cec6b5acd748f9ac4de37b1dd18cd0f8d7f20337fd392ed10258457950184264a559b80c1ef92868676b258a9b579ea604adc0bd388a8b30822af1fa5120aba51e38e1dbaa840472e1f1f0eb86af5ec9f87a7324e49c4c0bd2b9365cb3d8c92acfdf479548acc9aace7a342284eb895b564fbb8bd577d4a310dfcf78f15be69da13b6710abc4cbe240a62798fdfba1b8a019f9c5fb462bf040cce44a1c8bda3819ea42627e71a5bbb0f8f3648daa2d26e81fff4dbaae971deb7dbd407b7583c9afdb7e7dfd7b81fbf1ca84d57b27e059acce70cb27ef3742e81a77889b01795adb0f070077b758d80e7a05dc66da4b9fed081100c3ccb5fd8ccc14dc36173673917dac8c6fa72c5989d0f6e0bd97501cbedd0a97137d3add8444330e1859005804e485fc997da58927f8cefabd995124e6baca61029dc3c4b091234610e04a7e8457c1dbd28a542497035615a990cd675d36eadd703492562404d366ac4359e66e5e8ec9e40cdf96cd1fdfbc0f2280d4358d96bdec660a6ae473723884aa79bd61b96ca11a7175d68a401a0b77882e7a44b3765a582018abe6a367d1478f5b06859e777f35d8f01a39c7960cb26477207dbc9a0a2af6d5beba095c606a9a11ee236aaf91e6b3b6be0639b2a13bf4471acc9f7f2f052d2a86c7ef0f0afe6ceabdc4f99036a05120b0c49cf80ec92b62c766035a5887f4bc8fa1e0c9c69a7b690c7cc2c8870f8e7beacba9b1a27c66f8d02e33c957d923b0a9dc4ef2b3237d2f83c72651966f8b13b24e1aaa5dd0122b75e3afc4cd478e296924349e077fab31a38e38cbea1dbc22689b82a1a4698fa4841bc0c0530dff14f368537c07eeac4a9c2e02e3b21669d0e039af22a4f38d4c21d861968bf312ede1ff02893fc44197363dfd89b5b704de61d609fe1d9013508e5b2276953ba5b1f8018c3a7b3c233d4cb3269f10ee6ca2fa9de79efe709659538108b36c1b71e4d2c3602459d57b8f46ffb541e2a6f4a19438fe3bd14be3e5682ddef68519cb56d79dd5b2b40d1281e84623b01af3c11f7b2cef780d06a0158ac7becf9b7cdc51618db8e7148a93637ca1a875d8ca2db07d78a5554760b792412c7c108335969c676888fa2d180030a8bbaca1c6c36b1fa26461146ddb13c6dc4247f18985a6cdfbdcb5a3455f497cf674fab04c84906627d32a0104d1cb3b1ebb9f398fb6c3a9af34a05ed7bb900335f1b84d2ffa2a589ec46f44399f4eb8f96928aa073f414765347cad3b0e03d551166e5e2ff9a89c15dabe0d46c925767df0f85e9c438ad99f0309400efdda91d4e61d0e592f8fda490b6791e41c098a9a839e040f5580b2d70f714e3b41ca8cb7a21fc2a778eb18a1e2a32c237c665fc4c496732e58b16f8607ab26b07bc59147218a8011068fa1d117b7e13a3c2b8cc6abcc8e184b0c7d061e94c0cf8c61b6ab194f3df5747ce68b3923b5998901c3d1294ba2a0df9fdc7a76c505bfd172a5c5bbcc0df736ec54a2a11b3a26115f1afd382adba6e3fde1e781737c12dab5c19bc5d27e91eab6579298d4b46c60c200d309df433841311008089ce0ab703ad7b7e17426391e22be7548e642cb4eb4703179cb102643aad424ddb72267b6cec2702fcacf19825303858fdeca7d5d3979c900db3ba5be2301c04a78c58ce20ac8f4a6bce27c4865f36511a4adb99ea25ebda5a6701c58347342ac876f80805695b8ad67501a793670fc76221641b89dfc5519389bc5ba56cd17b47bd2e075139c8db24e4c3a332723358ff5b8c6d3dc53fc79982fbbb6b887b36d52232d6d79684fed3add6c84fe070aedbd833165e5b547a3dcbb4977595fa9fb6d7d8b151858c3967b3e599571340568a2a651a3c6dad3a4a24127c28db3f27853cf3738a3476120f845df7803690ec6f97072b2e040995a957dfb6e3c27d55b7ff94f0fc44eb27b7fb81d5601ae88bd6de44163128bf423f1f76bdfaa9a170e43136acb8f5d3bde2b81e381635d4895f224fd8b7d9b04c8115454b0505ee03b332419c6ca3ffec3b127b036144ad4ea5b7d97482d298493e04c994ff2152815607c695991e85065f2c66a36a0c347a1e0b10ecf39500ed1476e9f6bb09ba569236d24459def02c37768956e567ca7c5c1c2ac05fb818d8610da9fb50cb6263edff4b6a165a13a1977f14f3b9101831b0f364f26e803ebede14a32fd37c5067c2be8c50be29d6757767424248ffb425d1780f9f164dd1d5a1999870af4f73bb09f632227351e0c5e24c357b7646edbaa599e0b62c569e32dbf0080dbf509879397c90ce4799b59e8888ae27844c760f901197250d395780e2e1087bd327c155dc31dc5b408e847b031f93e48345d3b32387934c9e68c9556b9d275d1634adecc0204ffb35d1960e736a34f0b07e2e7c4ffaf84ebc7ad39de16f968e1462c5371db06fdd21fe51b08ca295acbfe676e1e683bcb2dc9d3522b86191a151ac590fec45867cd81b97fd9a060e0e26f362b842390ba6dcf66ffedff1d26b87016b7108b4eb4a6dee0384a789d2305b871d7caec898358f01346d089844973aed3ae0a7a8fc6a5cc90a1533e0bb3696e243b28927da1630837a6aff33c2e8af1a7bfbe2ff8060d8df29f6b9643dcbe2e2a8721795636fe7b3187a48dd08a003f27dc2ddd76fb84db15572e0b2b857ed2ffe73526d92ee2a9b13f2693d2023bc7feb2ce769c2e8aa9973be33c77b5f8e147d4c7f414b18c9edc8cfa0169cbcc0c26d59f016fa1e80157bd8dac895a794a7211d83c84c7e003e663f65532018b22ed3e67be4eaf592a8a18b986245f6a8fded9b1562c6a106e04190cf0260905561565a131c3074a7af5a18dad69aa7d62636b9313c1d3e5689671912df51131315f715ea84d57849dce2ab105af433b034501128e2286e1d05384289711dd151ad097484755d32531508949a6e3caea36e6858ecb895f0ff5cb71f8b1cd677405139d5e95c6c34f421b0b1e0898aa74f7a96d7170dc0df19f1b88a0463608d964446967262ff7acafa54b0f95cd0c1b01c232db641cade388b6f348784e18cd33e97c132dfbd501700108b59ac80692371a4bca4f608d9357c6e1458cb372aaf02cf8742b164bf69aab3aa1bd6911202ae7d13f2d1cc27741e4856c9e2d654f72c205a9914969317b5dcefc8137aa564283d64f71209f82fe928836da1de181d6a52c9cdf1be072f8b5c44b063e7e3d629157ae1a768cfdc7105c6b50234b1dc8412f6d98038520fed97db8347cf02924291460fe3d392f21d7ac31aa6e90995756b6dc198c04a6c6eb6c5e41e1eddb8c78feff740273acf8938c0f52c108e5bfd7e559d73346e0b97595125992bfd6aa2097c0ff502482a641f8fa3b2f411a9bbeb9f8c03582ecd1d756013d793bb15b4c1f45f0a988f7bff685c493df30bafebfdcbd6b2ac26a743a0a21443ba776f17f021e80df5eed4926b10be1c952f839f6c87bc2457e1b95f73287895961a0d5874e61da6214b738124fc872376940480705aeb628919d8c9912909823ac384f6a072c72c03c12e2aa8462ce83737244f5525cebafbb491a2a75b4ae8006c2c9bb7d20b190987f5f85afd5b4c1fa8a643820590dcc5e9e55749df8e4aaac858fea295be26fe3891762cfc2fa45f823066280d2afad8653b94a813265f9d9107831181cf8839c72aadff85c745af743e0f22a30c28b4cfea2aa1139790d3e7b491b6b092bbb18bf773b06c3077ad3f1261b8f401e56d4c250c0f30e997e6a546f9cd1482b4717534065ffed131a8e4691e28456abc3ceca5849302cb85eb977a1743e9836ba2ab835f622cbfebbafac8a8edd97e5441ea0f84434b9949c4e5a91a7684947c0370d271e9788bd8222d5f53eee7491d20eb46c7321d5858e427b028ad279cb540c1a547fd18adea0e0d011cb7d251857c1ac23fb502f2ae515aa8c90bfa1bd693313100b6ff278212b06efb23fa836fd97331a9a276d3ec5f2256245674d65d043a072dae13c2649ea2f578583caa55b916ee6d65f510a94ac3ab6eca201f34f2074e631715b40478bafc594cde728d8f695287f2afe8af28859d5389034a75f89140eff05615cc41b06cc6879030cb0dc1788e4f34b3007a4081a4a8c8d8d47860699fd029d7d2a17c1ab2678fac43fedde3eacb441df00e61acf90d208591f70c75dd44892edc144795f86de15db7d9ae43dcb088c6eae8259dd224fdce809d6b4e2f13e6fe8e5b6da195ba0287ecabd18d48d1fd4f1e9438e120484df2e1ad9ceaae247b5b4c639413aef383d948dce80446ea125b67627d25f23e9fdf477351ac2d4f741e88dcd5f91550c71e72b84c90a5282f94bd9d1f08e3e240a0a4bb4cf556a52a994a8064a2c77e41d66077dc039957b795fc28239896eb2068ad16e84196b491dd47e16e12009398db1be984aaf6bf62fdb471a456b32c58f77c158461ac844dfb0858cfc81f591ae0105edde98acf7ea1c09599ae0e5c45b62f039e37a48b7ed91282aba6aab1d2c2b039b3f411b2f6897464a8ff2c333717e60a298be2709389cc644c70ce9c1a483a61e13617f0dc1902c3c8d84ca8ff9c0f43d022f448e100732afb8655c726e33ccdc2785d5ffd7ee533a1676ea93cb7f962dfd8ec47a32ef703fd560965b20a2fcd52207db1ef0046e4ddab569776ee7cf45f476772aafd16622b2613ccbcf4213183d5f079e9bee36d86ef709ae54422e38abe7a1db408b7ebfc72f6ca2b5dc19001142773fd827e72318c4fee1af716211d2401b104a2a40a2a3f4f683da6e5c8d827f798a73d2fa189371efaaf6f6e4c1a8460f6e6e51064dfa079adafc7d1f0472d042258395b2aaff31e943078e44a660b979e91e240628a12074a069b7045f20c9c9a9b2823d52d1a71cbd107b5b888170c2766fb012f60024c0aa6c5a7505cb17d925943b25101a0f9d2e78f40cca2d1266e06a85ab32f8f60dcd9caaad0bb5f7129fce17ab4ab9f2f1d9ffa5b9c3662498737d020614e54cffe567fb6d746c9a33065933c59b0f66429eb43013b43306506e0cb158d79d61938f52ec82a373bf7f03995e63b00fe4b109b3d918c7fb3e9d777771a510e1ba97321d2eff470d390776cd39cefcc1cba44bc0d0a5d7ab038a2cf4ae61285df7fd2c863d3ff26640f140d6c05222f1c7def48851a367405776cb72f19049b9f87e6192227bbddbfad8f8aa4822f6dc383b94e54821de59ed22ebca2babfcc7672606b90efc14eff624f338d0b63fb20fe28b3b3b1588788c12e77e20992e82eae0aa6ecf03a627fd66f251b6ca686142ea50223db2cb10936cb8e619b811a21f914b3f8ed1db52da0a40fc63df4623eeba59309ce490860eaf0020e63265a565102e050340f9148144011ab34c8617a8806153c8ae062293937ba31f789c97e937e7226a5e2715a214120e38fdd66c67e19d40471994d2b84d9f0acbfe2c255c671f3d70a5305dd13e7555dabbbb87cc4e62b1b34cfcc5d1b34a664d79a46d6826d4eebdb5d7df86128a3152ec3bedc77f6c1445732468ed7b91123cf314843e939e369b69d0c657f612a9a9c9ff40c396d2a3c05b27a57dd6198428f7fa2638eae170fe584310c11d0b13a15ec4c1b658d5782b20de550b166f2d89835a34a893cce987b8a807e21686ca78493c906285d7915390bbec275bd5535804b46ffc2de6cd313235ab52b8e04e98b4a7539b6298c974254284dcb32875029c8066988f141034fc156a5fa861826e49140cc2222099608bd279e6f7b3b12db95caae852eccbd8ce691e0bb937a6c83f929c3517a0eb2f247b397c828ea7a97be6cc6a357e47fd52df8be5581ba6b606b81f173656c4f7440b54e644ab775befa10887a1b66e1f27b98708e80c7e2bd8791ab006db14f261e8ee3ff42f3b8a3a899d8146d24896f8f6e3e7e104ef85fcf2f9453847774f63650f63cf6d944ebaabb9d7f5b3f1a3175860acf493534325b9b5da74bbc226c5f346aafe11a974d9accccee2df02a81d971f564bed3f7fac752203ad2c1e8cff090f8ead99885ac203351ec4280a1d016ca6c520061d864ed0fcab91033eff1f8c12de4e831bfa957c1e89921b97c5891538b9dffbf93b424e905923ca5f25bd64a17d3726922b9cdbfeed6c80ff9d06a3cfd0e9497a7b961aaf9538852a8e93eefc8ab49f416ee9d1b22d70472fcd0a774543cd8ef286ef9fc586c3661b3c8dd8de3af588f1d91bbc1d3f354b5a05f0689ca8e75f5ec3e1f75988f9058f0c154a4d2a748b2bf6b8705242a739356329878b0251f2683960a6e18f1e9719623bcbaf3176fbc0dda2125f506475c81c8fb1364de92538400a4278083aa7673e9fdd3a13e75ae0ccf78321dcaf637977fea58969252f6485a0c7644c2b072485dc76748ae76e2a229430b3b5a1d3b7785dc560f5914733425a02c6cbf177e85544b6ea8cdeb42f05707519d79d01f18742305d3fd952246abf5732675f000", 0x2000, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x0, &(0x7f00000001c0)={0x10, 0xffffffffffffffda}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f0000008380)="1d3fc0588fbd1ee18d3d558a5847e5909b75ddf492b38ddca57fa90102c1981d37139db16dff89af93eba795c940c2869e89d66dacb9e0aed49166803315f8c1e3a428d3394e202f8983f2a7a557b15c11e2ae42e2f07ac634034c2c6d63fe5505d3cc16fb48a8119d815c5d5391518b847b1334f3d717d9ab5a4c85a58da58c7438e79be665e1b196897bdb462a2266798fb036d83bb993d48bfcb2774216931c85a4fece4b93b635c3f1e651560fcd6ce0b182aaf777cfa0bbbcb6e5e9f4d450fcb95559468684612a5bc1582e273fe8bd58088cf411e97f9b671a81d18e865c2d899716fa59c45d7034afa7ce30b800091bd01ca3df0e083e1457885eba6730a6c70601bba70b2323d6b669898290f43afd84c333ad8c4c3960f70d0e47eb8511071b4e2c6ce2b12332632052cb4367a98593bd39bfdf76d228925d3e7208fcd42d701881c3cad1cf204669e4c598c7ae544bdcabac797503bc1896d36bd0be9edb543d5428cb04daadc0b4e54144fe8a86e1e372cd773a00a3e759fee51aa7cdfedb8c2c13ed709add3235e70c1dff10cc5d473f6c1ea92354c8bb991be1c39f4fa739824cefb41621e8a6cc475599ad2a86f2cd5ffc85684346bd6aec793b06141ed44a4eea375dedfff21d720c725562ae759c5f4737c34d8f1183e6254016f5d54a90114ce910b4c214f35721edbab6b9ef69c89fb3f770915511ea31622c453c53f646b205a0c383cadc845ef9769e99dd58f242b24e98d8d74622f4b7a2b42eeec0881b435404805f177865eeb3263ac63038270dc90b418407cbd984de98df8a449ed3466bbcf6c4b140aa4c0fbcfd4d88e1534e17218c87c32fe2d88807e308fb8c3ab6ca8d145f7c6406459b926e07cb30ce4baddbb0824c0378589b3cf3e16c216163e2966d271b8484a47d3baa946cdae77fd61a10472da8efc228e405ab686ff5a29ccbf91f6cf62dc371e23198b34880f200428f4ca5214c2966c426ce9bdffd7ee2c597d80ff570f44f3a07f5eb24fa4483e2938c98a9e64459f04913564df5d1b29f93b934e95fb4f04dce100324e5d7e6c22b042b8773a792b88405831ffd63a5dec2e764df571214aeef33cbc6e66dc157a86dbeb1d55bb3cbf8e063dd536d0e0ff006ff850ab20fab4023ffaa07b6ab6f8651ee9ed593774a3c3520f595984278b30fb4c0cce3a0afb4836952a7115ac345557f1871511415bdb9f593057624cd8a150954241cd60dca17b688d97416c29b23a767e9184db7e19a74aee2f17d11fb024d906a22dd2ffa2da04c97348b74f4ab99248059d1ee542c5837acb69f1c83f50dc66f9e1674c1b157e1e4f95eb462cc8b3db4cb9fc52086c17f4d5a9fc1f7748dea1fd7af47a7989c1219fd22c91e95bd299d3ef22bc73409d9949422b6177a99b6a9f610b737887f75f718257b5b2dd515acff039886505cf2d8fcf9cf69f74b812121d219ab526480a565a6ec9c2dd4de1b5d2632833a81b5fd445bc049c5dfcb242abe6141943fab1417ba9d2174ed25c521a8e5f6d1354c93176b6d847aa9108b8f49313aa6fdc0a88d08d3cec4f9e623f829dc03aac91c5847d5de8d21dade12e7efadf216ac3746530ffda5d038fd0bc7d105fb8b9fd1cb2e789622b39c0d559c3f887e11d29cbbabfdbe9603ce261549babcba3ecc739203f08238a5ec44719015cf3bdc0eac85c3d72ca34725f09ef8a5fa7cbc3d9197ae877314de309182505e0dcdebb78fcafb35504344770642bb13a22914b9fe76fb948ff03a1a42cd1a799dc0330ff0586aae32fe45238978d2db16629ff8751893e41e9ac72303d91de135313999dde4d93e881b0f1998ab87e5f8e7463261fe872b3ec4ab2344d26a982e286e5e7bfa8126ef4de16fc6107e1b077598e1347cc7b74d57565d4cd9b66e76f6faf51b247ada9672af011db71d48ce36bdc6fa234e6ccbba32a450f837a7180fce70b08a199e7e4c4bd3af39c6b3e78d56f300a45463ff04a55542b01b721229fb35a788769dffe8105171a0cde67cbd9f066834fd24b0ce4ac39a0ab5f96e3f24917385ecc635d7b8be5d9585a5d389316f1323a9916241ad9b490c7505701133451705ad712296bc4519aacf073fa7419a9a81470c315390d4e22820eb0dd0c9605132016f883b8a5e9b9b9e08cdca196abba7f78732280b0b93278f469cc7ba81dc6e764746ea2604d8ce78e301bcf2b9e638849a36fca9f9386f5acf8d9084594c5f20504ad382d4c083c5965f633248f20f1c373e6ae69719bd21355290f50ed84da142127b2c6b0a4cdd4ef4c753edce171d49438ebd31223e8a36f3219a3d6c60ca3a08f88f10bfae1e6a2a5391846ef4e6dae8442b17f7d9f727f47bcd0208185ff18474f1ca1b64580069e35e47c9bff3e421799220dc01eafe2122ba5faff63cd0f275c831e7933391fc180840e9bb5acb5357b196d045853398e93569b56732a637327aaba610de7a00fcb10410457e4493d532c99bb6e95786517add55467f06a23521b7e92be2dca54c9c3df2542384a82d27cfd02bb16e44a9d8c5f07f7e232b794dfbaa8bcd89c359054c188bf5ea5c251bb787282d86b0ec738283e16ed5dd7a74b03cf483fdf8a14a82cf47f4b04185edc4a2dbfd6356927322a15dbe4f35848e6f10eb983797f2886a266b31c0ddda9e2f45282d137f2e6031d2a756a56552a756dcaa24821e3a54fc3cf38c08feb31cd4e32a464d9399b10d7eef1bd627cab3f22775f4ff9d8d5d017ed0d0ad49dad13ea4d1d2cff663d9796b43998956d17bafd8fa49b934dee9b583fe62088b251919291e3b4ca1cb89b9cb035ad8179f2b60d096f96dc1efdd350e09ca32abdd88bc5bc283f0a3fb32588c87e37e2da427a469689c65152558e312536a2fd5edf9bcc19f25501cc9de0fc3df1a595b61ec856455d184f77619ebe89911e165d81597081f903e9bf69e1d51c6fc1880186a356157306c2ef2860d04cbeea0286e4f56d85cdf91cdc2029bb5d1b77debcce4886041e3ca2d6ffd2ec999e5f177418f21979f3135ff517364d99db378ab03df76febd0b2fcf72e7476956428ca20e4be0c63779b112a393a05c5d44d6dc8088dc57a9c0a5b0c5e2a41d9a265a400e62ccaf48aa478f929b354f2013e3287546dc8a811fc7964a50a790888ddc1814039eee62313ddbcf1c55154e386b011b36d8c74888669f334ff7adb1dd421d43b6223ac8beeee98ef1e54e6dfb4fa69ca8a321b3c2edd30143fc17806b04f8bfc403a55467be88cf8507d94f245ca59d1ee050f4312169250ac8ca1eab6eb00df7bccaea896a6e2cdfce521a404913df83bca8e699913b4cfaaf62d00b90eeb3e106eb4aafb7bda8d0dc5383d191d54a253982bb3885dd6afff5f0d85560ab129bb4b411af28740534edae48bc106ac43c3aac6528f48e059d8cf0cf870f9dc6bb669f2b43bc1b42f46a28d82c200717be88d4493572535d2663e7500d865bca452bb7540d163823e78302dbea5cdece7e72b84880423a18fdc1a080e0f0bdc7a58b04b8959ff6f67b224fe72ef22fbf6adf4812e550772fcc5949a157371f1def1a020d951c005140cde6c887040cd035dd972fc75b7b469070b61e1a442a78db4c74f482b950ac7aae40b009c2d6736e9dfeef0e9c9d718409063c57b082beb648fe8b41d3ecf3ded5cb24f7c20edb6ec753c4574a594b62edd81d4deb269b9cde7e2cd63d8d6da58736454e383415574b6f88b0c4dc158be230beb2a67fce06e7d8a70c554ebc79c2d40a31b1c19797000a8596a79e8ef11d87bf2922e8805c455a3da4c4ea2c22ef52ece8082708fc1dbed09872afa250f8351778548e576e97e4b3da023455f8db349fcdf8523f52a56c9b1f3a863652b11ce7cc619d6eef1611e97d7f94ad7dd65f54f88cf49d3ea4490fe76411dd3de5799174d1017b9f3017c2c3f8f30bcf28b68d7833b7a8fa46c3c3b346e1e2f55d680d22c7136f9de526427657ee167cdf90c90142ba705465ce94bb1803a1540b36cd8d22d6d9115c002f2ce96bbac79a573ea858cbb8977d9087f1e0063cea8c86a9671405c4fea89012b241d94a31b15ad36cf388ce3ebe924019aa3ed069bd07a24a46f7f818fda0d6463893621d6531541a57449eaf57dc09c9767a598444e07f79e2beb85362ea93ef04d37e5c4438c8093c026b3c042bf3cfdf11e5db84c05d7cd6bb090ee7686d87551a807fa47c07a84e9fb490f0531d38b86c344ae8b48aff790bedf407b71cc49440bb2300f9d9f73726daa89c7b3ade0b84323a6da6e7639652b004ddd08dcc03a7064866bda6b17ce8c003737a4c3416551a6fb779c414d4fdfcd3b29bd0daeb69c965f8395269019691e1552da684b06febd81d5f71b9bf095ffc581e6333b10f7fc4a3f365c0bce141b95a6fe580a4183713103cae76c776bbd29a8b26a3f2314609d1540eae73e43ba296d7576e2d8769bae7cf7518966b631bb3b215fa6a56b97ea96e116421ba669617ecae72e3aa186b23a289059c16fae6aee21ddcb669592e5068d84287be2d80a72642de4950366b346285b42fd89f49ba3002315c4cb76c12ca0f96b0eb13547e701831646ba663b0622eae281da69c699860728775e6f71ef3e63cc010a2eefe8d4dc3622232d8abc022fbdfb7821f02da20ffc938a7228d5a8eef8a9e4fcdc2ae68ff7ba6f8ff7e7e36fa40d35658e727554f696c4df6a45647bd661450a2404dba0b6021bc7a82df05b4076f86a7f33faa26195eedc2377158fdae5c4704456805c8458f4d643e356736c2378172d11c33dd73b0e760ca9eb5e12d707001955d3e6c85d427a472de77d6c1e28220c8d84eae5c4403484bb0d1b7d207c0c9ea476d2efd0babc5b577fb333bfbccc396471997de9d71b3c2624be1d155ad787635d4fee3f253e5b5f9cfec484cbdd510bad883b79381e8c608ce793cfe175ddcfb49ac6f2cb67474b415568ea90411f455b651c5c6890c94047d86f2c6ccfd787361d6ede1fa2ad89e6dc9fa796405d8927c5197e17e771173ca5ffe4af4864bf6a9ff10ae142ce2ebd664ab94ad37352f36be1afb259c7b8627849af46447ac05600ebc9eb636aa2e56c0c8540857595c114e4c1c45bd735bd73ddbe21823232e1db6ab4b985a681ed4ef505e6025d4d234086f4bd8b422e4e7e31e823bf5ec1d514a328e1f9ed98eb289de2a44229c66382ad64e3a1fddc548786c52c4d74e6e5dfe1e471c20a8bd6a90c1320318e74e7a1f3d7dd04eb81b37b8157db526327bc7bdaf16b181ef71d813588c2747039cd9c62f2afb253ac3a743d083ee53ad6828060b214e69b73b2064e5a01aca0ff1f5b30329ab5fe285193711f4401bfda2c89afbde31adaf1e0a1a9dedac7ae09650183f460f4a93b0e1f48728fa0c2b1b70c5a2ce4cb3d99627f9389d94aeb64e27054cc71b26f7f281874fbfe82ba74e609a2ac05ed5ffaa344fa14091cddf0c77e883a295d529916a16d06b4207e4a72074707ff4f17e9657b6f55d021bfd432de6ee526d26b4f70e5f8da02c23d43cd2b0ae674a573258df27b775db221d416cbab68084c3f5214b199e2fcd84705772984c92c8bcffe37950e8f3fab716f994765d0b09549201bb19ed09364880ed17bfaf8be10e842051f9f096ef864266593b6d97767b20a5530683c88dbda542095e9b57ce6e04b19a682652a4b72cfb17844a0f6a9a1a89f3f26ba56a05117d20f3bfaeee61d7deb85532ddb7d662163aa6386c91f40ffa00db6f4a6523b0b494330a932bc544629c294044fd0ac6049f285923b613bba81064f84ffa71a900fa9732023c8fdb0c480f3154d0dd815e9f2661b3ccf3da7c3127156e3e094041e365c97dcc6e74965a659034701b9961f9b755eff6066448f65601e9e44e12a7423d94027e4f118b5cb9f33bd762520afaecacd404c6dd59dd791c1bbc87277d5028596cb62ff14be1146ea78626e182a5beb492503b18d620543301161de533af3fc1f666727366f10c784e2f0a1bb5f5860b873f03f26b03707c2b8cdca494b08cc98c365009d22f3231c7eb2a24dd6cdfacd577ac334c2a07bbea2af22689fa35cc663013588419b5256fbd52538c9c5e708ffda77c0e97ced2e703ea5229d4eabdeaee8165e80d5867969269c0897bc45d06b96589eba66dad2f98aa72ee0aaa4aa88d6e4fdb0df504131909629eb4fec1de621e14f5445903716fce8049f89a0493607b11e596ce14c2e81ea0905922abd9c8601f558be28d8a409c360a279b86a2a3d09d8c422ef396979b9c3aac8e05b02975419213ac78dc677eb0b3a524ac0baa037012a97fbaade89b939f66d3cbee41e0c05c62b27fb0ae6bce02f7163da983ced2708c16b2351c1460131a9e922f1c1b6981c67faca4710346ed65a4ee56de725bd193bae5574ea91e104f660c4d502b7155eccd61fe4c5b819676b8727492768fad9d13fab5a240ebbb005741d5bbc215139e07be5bb73e3f6b4c4be9519e81c7cd088864c16e4650ac64418133650e26b9ef9020f55438acc9e7161b2c74bd172354ccc051e6c4a6897354bab543a7f742ce799a6e182b86839173acb03f39fdcd4a7637bb48d2e4baf031079687707612c006197ae598d335c463b6d79e0cc3bb7ecc278b9407a0d53381bf3cb65e78adf03a7dee07409b97d2df91413f04828aa2440049b9e8dc4fd907d879fe8480a239beedf8b729dd76042f50985db6761ac1f2e7f0cc48ccc7ba4d0634b0e816c8c68eff96832fbba350afa1107f2da7c53bb9ba8407c30e41da1278f31cbbcc394aafd6a1df76276e39a8d3c27c417753695a74e7252ddd27542b4bc2b0ab4cb001d01411d288749bfbc24ea8472e2906201655ee65d3f435f158d3295590eccb3e84b3f09e12db00382dceb8846fe155eb20580c20781619a894ec92d9a80a422a10b7ea440c4ea0bf3fbbebc89b2c11f7f3e858c16cb823e10203a957bc48959b1d5e3aa69afbb8a5ad1bf617ed59836a289dace4a5224ef9226a6f3d27f869292bfbbf3607f5aa807d294caa053a85a2f54d97f76adf509593bdf46054fac6e4a6b66f173a31d5eade9a38f5106a16704e80d61658ba3799b00919f87c0b02fc4f7c288c0252f46240efa9044d7458f6b92497321f696831565fca86c1c0bb72b4952102b777b466861d22f78dce75b8055dbe3d73168d41059715a23c9ed906e80b2353f32fd43e92d5ce90821bd9c6b4063125339b8f3a8df16ac4b1b0ef85cdbbc6f2acc15ad9e0aeb19bb0617f8623dc029abc232a67447b1ee4f6c4ce234c1ea467a20e8cd21a097f096855a75525c55a2b30c74ff8011476addeafcb18b64ea09600d7056fca53a12a1f89501d00dfcc81f74760fa26e081043ea648148b1ef1e4906e0a65154fde2c554b4c36e97de184dc9169ff3a326cf4a14708fe3c6466c37eed71c44143fd2d5e22443d1b61fe42fcf52207f17422a96b222a1c8ac8656fe98d7f9b5088a725bb3889ce24da112f2cd88575217ca6087cfa659374a82cd7cdb63b47c3979fcf094b62ff72fd4f0adf0750bb3e001ca7772f0733a5fd15e81aea1abd929df4cb195760cceed8d76b20bae92244c685b6a74be268c64a8960e1d6ec3edb9e70986b77eba84051c28900ee9b6c52d4cb6d67eaac2f5cc5bb79c12a5cd23a06f8605b492e28983443d245c963b81ddcba2a561957786a3698e2a0ccc21146a95ca4d7e4cfe16da4b4738a36c95d42f4a83217ebc7d5d1f17ddf5cf87f8ec8de65f0e69491686c973e69faaa179e52a828863797755deed4c1eed27d51a8ba25fb0821b33ffce69425d27ca2ce73c7eb9bb976f3be629c5608993eb49acf22e78c1002ef8d53ba36ad0b913887a105c0c5cf1d2561b5c9e3101925d758039f6d27ab42029d5ae10ca096b71e4cce05b7f8f3cad02f08b6e2148a3cb5f12f5577f52d118ea055b47b136da35283cbc6ab9570d61b54af491665d9bd141c2a11eecad22b00429b8c5d7ca9c94907429da625315826e99f3e61537a00b554228975cb593bdca2b28c1b022e8f4e6b61694fa934fe35501633bb8736021a08f58deb6d3d462fe00b7e9b5ccb7e2f065003b16d0e54c66a9c9d33966135e410aa0bf48f59949771ebb1d38b3902865fc309e7c25bb5b4b7de8611ffe178877c31a8d1b191dbdeed9a2348fff1b6217553bd30d3d9b7eccbf64b872b26aa811199c76915ba43c610bf4169d8ffe09eafc1b0a4eccbb64a031872ab1b3e7a9b9d9cf1e3ed1a1b6a5b4a32ab67edab8fd693360c62c9f34b00dabe47cf1e8428e28d1202e556160f0d4b6ab524107f5ebce2a4782061503cab2a1e1aebfdfa22edd4536dd051a860e9788a5a4691b243893ea6b8f647cd9094b643b9354a600591cbda3d762e7dba265b9c8e6c338151709322a51d4389431047afa1031d18aa0bfeff5d1bc28c5e013eef0a26a7f1eb3c4dbb12a215882897a65608fc3da16a6de1ee7349d9853f6faaed5fbd974fd051627ed762f74341c6ceb06d4d4d635f599aca02471ea5e3dd5012cae344abdc3f990e62fc07aa325757d1bb2ba0bd7833bbfd1ad4aabe86cd389afffab65c73df538d6f9b2da50b9ce1b1be4835f85f2d77a01594d35f48b370b0b11516e8913aef45196a24b290c7491ef39a3a6afd3790b93214837c3247e76ee41a4bc1539caa78adbc5b49d471a9a1724e62c5192ddfca31882350dd906560cb257c3582c4f294193dee760a15b35c9b746c690a4728acce6339496aeb75c2e350ec68acd49683d23140feadc2dc3eb118a8e87281c60a18d22fd12998c4c3c30fa76f9c76d1a994cef1dde10e4b5554e4e4bb0d164e3b85e5ce16cac42403d3b2c687a9ac0b8813a5a2ff6fdfae0c41d9bd4da4f2dad84a309ed3e6f353e9b29cdc9bcfc0c2ea73364554f5f9100b9a01e55fb3d1cd857c9f42378a3ed6f32d87a9cfc4c8366d6a28297128226b6c31612f9b6c1deb481dc930c417f64eb53cf74abc5723375e6370498817273981af928e9d64c2e2c1f7aa46039f2bea921ee5505cdf50f5c18d0bcb6f4729936e9a0ac4cdd2ed63138e68ff225a93b21279722f0174dbdd83b7fc3f6e54f602107c099f18d31fb5d682345858d154475ec38820fb3f9e7d340e9757854944aabd9202d4154b3ae6996828474f0cf82d9162c29706a455253e2b7a236b7c54b7deaec10ac95d71c93f7ae57751c75a98a59be69628454cbc0632ccb25faa8108de381e12cb18758648ff42225d26cb7c3c78745b0fbd371480f58dbae1e32da2f5edd0b487a6cdc0200536c3a45533e91b3241f2d19b008de02891276acf3194deef6b28133da6b7aab644ae69e0d310cb29c9b100eccf9cc2aa140d718ae5a7bb03895ba915f2ed39a681152c6567390465f33d6addfed145bdff55795af7fda6bebea3c98f9b4d0f9538c9513d80c39369506638ac267bd2afbb0d0abe3c44715bae6a8f2fec7bf3178a5c8821c5a6b32692f13153c364ce41a6e6e9201b733bf8fef31d33d058af4891138acd31b38ed8dec427b1f5b29455c4721bc1b69a9fe0c588b134831f57c64fca00fce1b582042bf68c8d4f05e27c685c81677ab6331a084fa16f6df88a6a6c161d4a2043ec2e2586bfa0aff858793f41cf2003092e55205ccd9084422d53245ee37aa8f16604944051fd787754eef613a5b2a0893e0016fd00e7ea3b13c6f6a7f22ef4346790b5f2d2c0482eca4f59441d488edf51a5e71655f2c6a7e6f348e8f364ddce5a57e0252a6ad7dc6170ecd50b267673d3054b53f03bab834de4ff37dfb731ea2a2d678e6791c508b838bfa9f274a8ecf5f499ebd356976e989cdf7f25010cf28169a56ac2b2664bde64611273af5b475546b43056f436845c7987a986150bae9121485ad36d2991e5bb14015bb360a04d989dab9615140841fc55e6cdaf73c914120fc6fd8c1106d75305bd1ff6fff2318ba444caab42268716d5c12dd5afd97abc3a048f3feda20622c1f16061f4ded6ee023bd1fa87496081c08f4dc84d946cf0ed270122b6c36da77690db383187a0270e5e9dc2c7b7f13a6548dbff4a462424973e424ca4f16ee07956527336d26d86a3810b4747912d0d72b66ae8c5cb58c500f6d48c07479d74ad29cb2107d3bc2a0c67ccf82af7e19734902b3f1092a515f71deff0c98babdf0c6a06104c0fd996567bcb0d4970bffce62889c6847316bea599d7a2f35a19adaa500a0aa8c8f50bc44f80b4a0a0f2607a8e78dbe95fac49831e0d54c57b415bce00047d12b16c50c511e96ebb39271d85653edc76f3099effd558bd90e7b8fd0a5fa50af4e424c37c9ef5e907051e61b08ddfe49cb318c37dd5978d0f11672efdbee14949ebd178af583860979deb98354bbe911582b6b4b22aedc7ad1b9e25f4dc500362ec7531789e5b84420d8abc72778dbdedb38ccc1e9aebedc8aa345a96e6af55b57e612d7438aeb0442f5bdaf696a072b72300930c6321bb3f9f0a6d4e42d66df2f3207822cd8758cf349ac1d291a474136dd7506a5d65446f7fe6d8abd942ccc84e93bb12f705d92cdc51a287ff98fb45b4a08f89283b133c14bf1840037118a5d518fdd4fa8c9e49d94d61959db5e8d90220d531efba57910110de3585b4ee4ebd64f89c745ab9d713604092aeb735683dded3de2da3af777371e6c678dae6c86ce8a28ad22cf02c2884987c2f61b2fc764eca2e3f515c35e6697f74243d3a2cf2f9cdf3d3c9cd116b8aeed884d3ecf7da0c1ad282c561f17d59ff9991ff1e31631b5360493f01cfee17f40cc18cc4cc77ff85f8762b6c8b19618f7a916d8caf1e3f3010e8452e1350c0091cc4bc5e2e303a9c3103789c534b511dcc56f895508d1103cede5da804a021cbfc9b0a23025ee40d9f23f03e1c3cdc1152adc9d5fbb394e6ae07202cfc61ba4b2186d88d13ed722afa5543aaca9bbccbf8d972cfceb33a4410947082a56a2132cfabec36e3fe9b18f3a88793e5e64dfa8b61bebcbb952d2c3dfde8e54f7399446e61c4c481f4d25c168b65234483f36daa99bf034542d3354ea93bed1f3770570f503e5e59de2a8d3c61751f4a45d52ee887390a7bf2821219aef4f1fc2746e30decff269ad83b7dec01278f4952c759efdd02e59e642ad22cbcf1819a199ade65d76d75123b011a29b807cfe988eb2153b1cb81a9f13a7b23ee5f3372a97b111d59760a3fc8e2bd06a775553f7b7ebec7fd0e054a00a9eaf46a6310393ee387698ae80d180742c42ebba50ac3a3c615a84d9f6d1077905dacfaa7324ba6f94e88df6ab6898780b2809af5e8d630bc5132d1dc8e0b741ae663a90588d92676b261994c2af2cf4747a8314fb022b0d76f74a518de290376bde67b0156c880a8208b2fd5d22992e6978aa2425865354c441eb12d8c1214afe5531b64920096257a6c439504b8e6d15c5e8abd7701df50b15b8068e43472dcff88c800bef997a76bcb9e6f120d9bc7b302d40685f30c067c68c2db4ee3ffd1d7f146baffa2a9935a07a6136a237d3808ffd06c69f40cff61573fbe36e2fade8bed56a833f86d", 0x2000, &(0x7f00000008c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000340)={0x18, 0x0, 0x0, {0x6}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) r2 = openat(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x185d42, 0x0) write$RDMA_USER_CM_CMD_BIND(r2, &(0x7f0000000680)={0x14, 0x88, 0xfa00, {0xffffffffffffffff, 0x0, 0x0, @in6={0xa, 0x0, 0x0, @local}}}, 0x90) syz_fuse_handle_req(r0, &(0x7f000000a380)="7219fa4736347448f0d1f962fdeaaa2f4e9565d9ba0765be302453af50403a86eb40b21bcbd77bf4c283a6bcd479ac2c234ae7a215c9e5764af76829b9c3d50f5f5c7b6c2390df2b003da1a236837357a9774f3870ba1f0d15b06453e65ec7356f9d694fd1d082bb765691c94cd946601128d3e84bdfac4e7a29261a1b028e5428bd784a1bf2d319d4369331b66b6ac77f295881bc717a69897708f4d9eaf8b02a6679b81fe53503714d30e10dead1b02c2c73af47ecbcc2d8afa86b152e059f632bd6f7d86f180d7775dd3dbb3928733b20d0b8e568ee0ccf0c7c94006592817140a80384112ef5a2555dff2ae77173df629e420104000076ef2353c02511a910e05b3dfeee214754b2c0a169bf94a78a503e89ee164571056973c56a9c95d4e934506292254d0402d978279d96bf35fa53a6345cf7ac3914a0d1c3f06b1cb9f0427d0c2d42ee4a81833489843975ff4d2e9d44dbfbd6082589d0baf183123cc821b981bf5ce4576655094e5c4ecfacd9608194fea94bf0da31e3610509c215a4cd490ddad06c0bb5c9a1779eda18b6ed5b9c761931ebb4f220776bfa7ba359650c38a6628dcfded61c8267d1590c8a6726a4039a2e7b83a1380197ab04e49f11ac215c4458fc92ae773ce33a3f058da0366e4ab24d2d9cba0fcea8a29491cdb25ef21efe9dc233323b07576e630ab3abb58c1570598d1c7739680247f855b8d4ec1a3997e6b2a04bc9a65c1c11fb7594504d503d4f1a79a6fc5b15c76f54681cb8acb1efe7bdd30470f2fdc95e1fb758267644d2831f51792bfd2cda17008a94cb1dcf7eb84297ce9b8bade982234b12be0b01523078483817ad574333a0e8184876d3794f44c7da1eeccea59bb261d12efa7389251b147cba04598f97d4baec8b7b4c6b799e0d7481eeb7dbb235e65f8b6f5ed6bf46b6021df25b3b73e9771269c7bf06f95debf193c2adee6ed34dd1b545a861819ae58e3b7069c6988f7c28d17676d41ceaf1d932024e70f264f5c7e5956c3bf0a677bcd59158e5c9942d4a1981893c866602d24d4185130c5b11f70be0ae8f79074baa3a2fe0426614351a256dacfaa55cfe6aa71a76ed18a882e5479c622653a98a50f435bb8b22b05ea16a4726c0555d92ef843a174fefe39088ec71911adef38ddf8005f3635bdf91f7002afa560179c1a7d62b28144c8bdfed330d3efc79ddb887f1ee4bd3fa2c342b6dfc0af07377cdfbf9b91616d8da2b3857d165e9bec14a304ee4566a3b709b9621918d99d6291deef4e1a1f04ecdcf0d92c0d84417b2b2ae4545de22f76c2528dd979ca1c40ac83a37a77794b07337a6b0aea2bbdd028275c24db33001aa9c6e8a37040546d9013a9889cdb8950169dcaa657420200dc523bd940757330709c210f26f3ca8fc5c405d4d3033fd7f8188e6909abb283b582349b83b01b766c11d2fb1433c5f57dd682da1013a4ff17c5cbf2907db7629fd376b3ec67bd1b7ba2f06a3e0bb23e658018dd76ffa90af51940fb5fa73edf117a2bd2ddcabe0bd96ef7a0b702fdc1125c9e6d873566e0f8b4684159a54e41df0fb0fd972216a045fcc086da525ae1929812d4e0b5dce70c08479be39590aed1ec9560e80856a40f7e4e408c14ca791c5bb234cadb58af2c8c20d666311b828a349ec21bcb9f1d9629b2a623e9086af804e3af32f6046437ee434dee9cd1a0d42e0e78eebab35988b7f1c8327f200a5dca16290f34fe3637bca69fec029205a55bb3ff218648c4f31f558f7d1eebe2d8146117470ba8d1a6794326fc92e835eff7a33b988a41c7492eb4fa6969419142dece6f7a7a9d404387762d813c4d744e619d896689ac9cb194dd235fe24c567033039b9afb9dfc77f9fc473dfd0629aa22d92e5bc388ebdfa6b1599f281daf0c464e34340e907f2b4a1cf289ae93628bc60f9c71ada6aa32ab1b4301040b1e387971686c68bc9eceaa6686b93f8ce396a1db7e8d92d0e2c122bcc9f7e8eb79cdca3036d5d6f69fac8e45576229f40357146c016af09951ce9c9ec08bd658a7ad0797414360844d0c795a9695fb76e3e36723d85c6298c7b6eebe03ecf5d44e7083b99fda4c38660d0e250816de5b44ad52b85b9fb2ec07ef99d5cf69797533e494a9de1e266315c5dc4b5303be9a171dcc78bf0976726b342442bcf118e384c993621ab4d3817541a4299f26274969b8aef3a9a27a9537073c2af67dd599ed87e7ea2a54efdde32a8c4b247561e318a8bc0c54111e3c1e88a909133b087cdbedb007bc318bab81046e1fbb0551bbc33130e1d1e44f74fc90fe3531265f9411490e902fa016acce6ffe9dabb0b866aaf1af3d6dd019843831bf04a4826b6df273af7f527e36adc5fc122e0c6136c80ce3e9ad0e0183e2dffe942efc5a6feb166fe581e346c1e1921626ede875ca2827b76e053e735a00da39dcf034e8f0ed197c064c048e3949a4dffe8aa1998d94b63b15e491a830f037d45b5eb11ce15777906f877336e852088400604bf084fc0f688356b5a9ad44094f88827f3c1c29821bf16baba51deaaa4977622159c2b9b7a2d80c50d5682d1a2d337c6c0e56219733dec802de90b0ccf3bddc07090feb4f394be70bb0adb4d102700bb8436144cb3d09c3535fb9efd287dbcff5b6233e6cc380eb90367352e4afc968892456f30e91ff906c4c818fc874072bb66d73c3d272e69806a94cb35e634d21fd8dfd0ee6de054ad8696e15fc222e064291988518155cdddb25f7228d7cbd6bcd347ed5c453221de10c92030e1a1b96b8aafdd266dc6f71f390ed7c143d2169feec70d850a138c661972ff8df74a053b96475e473bb4784d9a75f1c1ac78cc8728a84f762806b4cca78aec0acc629a2c0db10e4ae8c0c60e273c04a10a522d0fc12592ca9070fd4aa263dea5072aa1f286aa2f00cf94fc9b81e4de59199077b5f272e113a3b6c77e6ad0dce3a28524b934a699adef9ec2a67b5baa89056d97d35807e43dfd3e329f53223c38abd5dc31f66dd785287a5c8dcd9d2151406ca88c10e99a807f035ab9063c7e8a488c9588ea07db0bbad959932e6d1c89704af0d999c07615bca6d10fcf6873fddeaae71975f6115b792ea595be6a57c9ea52b41314b1e6472c82d091f66c18836eb8c68711ef042070545040220819e940c5f4ccd083f0f2b757c8f221a3dbbec12cacd2aa7531bda0fde96967b1b683a9e8944d624d26858233aa9f3104515182ce59929b94291eb5c2d695e4e6b7ecf30e5160d30c62744940defa7b455625047830b46b64a70e4070c3e47f42708242d62df081947cc7c13454447f167f2b59013a914eccbd44c40200e10279d45a2858703587491d13b3e816f515017b33ca0c7157dca8c8dac532aa8d392762d03034fccff3b906f8453e3517deab48c6e8b78fbd283c8515ad00c96810890d205d8052566d4d204f48a759877d3979ebc54d0b606a98746aa97a178c19abb68325de656b508a42c42c1664db915c687f47a75210764898b2803a3bd3f82c9a6280044059cc801fee406a5a14093b05a12ab3815ba40cc1182020d83386ecd8c1f2944b85b27b639f9df5aa7000481178a5894cbe66ea9ea8da50115cffa32c281c598b2dda88f16f51d7a1e75e0417988ead7adc10b033d03a41601709530799f81b171f7b79eab121ccd7dd577fd068cc4712c437dfdcb77b3981efb970d72ca32589633a9e42e54a79cea76bef83a0bcc3847ee6959405d37af73d3219a28685f71b337c6f72584bc37c4cf018cc69fad226827a22b9d58d41dab6fcbc056257606d8130094f29cc747f3338ec6cb0a6813986fc07fa10ee0b4dd4e228c27f585c2163674fd671a8dc1a6aaf56e3615802105cd827106b3e88a33179b3ada9ecef3362f910c818b6dbf4420f76b6e3ef168d2a60a88cdac79afd888125c475eb1a8d1b1b1a217ebff12fa89bf9eab76bdaaec17bc3d7dccd428a68db5812fbcb5a9d606f4c32ca2aaae107c817279be1e3e09c1cdea961c3a117c3f077ee575e82794a5f01a3ea28033381bae411c9c6a4edc294ad368bae0b363e8f0d027950619474115e655feb26d8b2f30bc159fbfcb824f863bcf7a8210eb38e22db77af0e24588a490add45b2747383883fa7feb5ab8797247db2c90fa8fc8e609b0e4028c2a817f6e97b09e18559cd7be75e6492f2bb4dee4e132ccc5681ad0d46950816b7c0d0191aaef8040062d55e5b8d8ccab4fd0c2f2a9ba3526953921126149554d10315de2055a974a081ddc27996607bad5b9e7f2676187f4304cb1d971363416cfb7881f8d48121217bc1fb118ac2f77af8b39084cbf8d67e4953527d1096d145fe4bbe8703f2321e1bc543d859a21d6a13a808ffb305657dd9336279a79f213dad1d3bcce9cc1eb520fef519180bdfde1e57211ac30a0036b96e93a6045d122aa03ef74cd480597c3787a086a8039d1ffa5fb0073faffc82d7561f34deb2862992ade9d30dce49086db8a5bb6a2529ea3408bd19441fa5c97ec68a2237c316d4270181d59e7fa0ec007b5fc9685552ecfa88f4ae65b48bd13fc9a4a78a84eef52c5a90d4988cfa74c17031ae03588d949d56641fed28f042337c78e4e084a8fd316c7e88755f209e596c5e7b21e7bcd74c26cfb4ad96832b9c3de224d1f7cdfdde65eea9f2ea98b27cf138cd3d959cc869027291e6dfcff604a3847b69e6e35be24789012da813402e9f37b3d512a62d1e255c29c68b956398ce73ecc449d58064247120b58efaa78d50e94568bd2d4c9d56a9159483caa63746c36b043298fafa38799fd9b53aa9d2b3584b11de0bd3a56315d41a160ac1578f999c5102a0fe8f47917a200091034aef7eba15c293234671564b96aee60df9e5a6fd19ed9f744a36aca8414852278463d753e8dcb1d968d4380c84aab6df7b0d7ed819c9eac6fe59ed53998c8d3dc44a8bfda2873c13ee9016877db99bae02e44ca95d117de51fe66042659f9d63c5bcbb20e3962f2f9555e9315284071c2dba086dbb49a964ef43104abe8f1bdcf81825418963ea894accb301d5be4019608938cdd6544c5d99821c218aebe031cb62ff1107349be067127125a57f1267d33fc64c492ae4aa43fd45b1d33b2b17415a48094d40f7311fe44be73834d1ff73aae7fda9aa2a29c41f4e7e97b5a4456833574d2dfcad90ae8abd4598af3483fc243068e1e2240a1f64eb18c64c3526869a68f33f6f6db3a79746448097686a37ad68265a36ff4141813e4017b564070ceefebf08f9cbbdcc6b506fb3427e0c951809dcb1fa06511760210c8ddd26ee661c9426dbb7e9e526ae602c03960e6594e47e6ab029b1cfc0d7642456c7c20867a8a0b6ce87fbb1eedd00a5610b691b2a4fdef3e3f96b5631172b88b1f37107988c8370c30e36a4ece3f176ff49605aa69cbfb0c6775817e3daa04c8ed033028a91373b2663e9eab3fda20a497b2d14ad4447e095b032cd4de59ae784c51e6cd332bbe833050230d012b1f2475666c854247f19011b3dd5970d8d3dd1d1e74ef0ab7825934573932b37b1345d66aba8e9edaec13411578fd7388ceaeeabf0622334d7067b8710422f7b8eb2a45cb0cdf5f9872d3d14efd2d818b8fcd37b3ff5bb21f2d1e388839d97ea97d2c3e15c9b4dd05a03f2a1f4c6f6450b2925edeb50c0ee631bbbbdceacb52c343b23989f7d7e00b8e6297cb5792cb7299117949a5854129f932c444cf7401723fad23dd4bced0da5baa36dfc45e89a8541eeb432ee7f01a3c6cf94d2d42b6924b03267d2ed1516659d3aadd534fdda378b028d8724a5329a6237038b46a7fa621d052a7e35e7d63b954ca34908d1144007aae6def3d069652a76c5e0c8233617ed6c8be24c26db9f7732dc6af173e05d6f8163335ee07966087ceba488a24a0f62fc12ea47d728794e79e0a20c1648583b203e98770be9feb6f5d0f2bea1495e326a0012c3a2ea8021315f31533f752c61edd073f1283e03d46d34460eb623fff130a57ab2a0a21f9c7c0eb147bce5692f886827c4cea51d87ff9f31a250b38ba4d95a71e874f05744fddfc7ed11a045fb8858be2618e6f4f75696305c1173fca9297fffd105bd38faca2c858d797e573baf3645e0abeccdaeb36f2bc8b1380a38846cc0c80789de54c1d6e6ea344c75b18e58563909a93c41542493fbe25d063a2110f21b08239c4b8be9d24b1e0b1eb9e5c832e5de878d091c475537e6d1baa11214020842ae5c4824e11c11df4ebec8e0dd937ad9aa4c6285688157d465575db9e2bedafba02a2c80d502886343969e322f1575d90f64a0b163ca560ab853a1b64d5246bc53c99466289d3fa43c31e2f8886ce6f55dd2b327338f0266f16774b85498c815a75805efab0add1c4361d1c217f36b5e18c8b2e1efa2dd7f6d1ac695331111b17d665299572f09dbdd9e7950cabc951c4cf7d2cc0e22f6699f53e9573826b420a013310c45690874c96fd0256875baf3f88f1c824eca1c7811501b1d0bd292b105efbf4fa735210ebc62302670bd80b66aa499118f839b17698898492dd6d439c29066bd0a9ebfb30bef1ecebc69472ea8b7c98fd8e012634206f1f6b98420f383413177188d3ed26c13a8564502820ae6752cddf7b6477a04fef130b3caa8913e4787105a9c7e310bf059ea4006630c9603612f0b1caa83c5609cc8b165fc4b14a4b044fa6b9b6b4ac0fe88954022af217e3f5a46f0c075bb2a9d6edad593c295d40490912403e3c461e9d8ecb379427bb0d4f09433ac282ba55ee4ac5fcb94d866429284fcb826d7a93a052eab1dfab0345b238b15d053390f0879638e5f7f9d6e2831fe62626b950141b9cb2a4ef32475816653541f2b74baa0759f1b155d12940b2a34958702e140d98445d0a038cf8cef5f814a86d599613c8a975832710eafa278d97c943c5c6410f00854eeba2ebae6fded67af33b0b5189dcd8d6e0567a282f614655a90bb7eb6283c9a2f0dc132f5a0a2e13e76dca49815170d090be93b3603c3e1ea94efb58d4986ecd452ce7f9caba3567fdc38451269dd5c0f87a9e18f4b01573bb6a27f4665fb964384d91ec1f89a32526d26ecd2128a9e83d10c6aa2217658cf0f34840a7b0255ae3d0ff85a6c11e9f9683a211acb96c6ae196ca830aaf21d97efbec9d88ef92139daf87818a55ddb07717a79608857746770c3449a83c0caba0d841c0791e64a84bd5150955bc101c853d30ab995529340f54b29652d703071628d457db8690b792e25c476fbcd1215f51ca8d60c9556821e9e2125468e8b25637412b206472d757f69e07cb19acfe5338f46bb4917bd748ece5fc62c66f5db79a380da8112888167948325d0c031dd6be1d79bc2facf4b34fc80829dd5c4effbd90ccb08d397c474b0824cc5865ef9531c88ffba1f5a2696e2343da74963098acc5614ced2248bb83f7371672b14bb7ebd9376ffe91c8ac7c50a95da85d804be81cf4218150ca96a4739489ad7bed2d40e26b5bd45aae6ed859608b509901a0559930c5bd2fad3451dced73cc79da05d505b9189f3f66d4d7fa8bc1311f84751317802f6c97a2489ee029fe17481407638228ae266790d199256e12780c5e48db4bde2a548cbd6bba52019f9611c589c08eb2a2a17349f51956757fbf78539ed9e57ad04b8b2513352fa44b15c5fde5e737d8c1594a6ac12ed91127a13fc3b7b35d000877365b098034fc519818521503443f67a9c28e593fc9fae59664833beacba5be1939b071ac1ebdf03e75b99885d159763600509d22453fb26421b9a56b72c79080e0e155450c9312a0ef996b940e5f3e25c4129f25ac16a86cc86a476fc74bcb29a19294bfabbaa38bbc44ee16219e559251f1892a57d3c0b7cc252c28a9b703baa19fcb46d2241ac0c886d524a6bfde9b8e2827c26ac19d994035342dc96c08d20377a476c41a1564663666d3e048b8c954d4c30f391241539439074fa429d8c3715b71c11ecc2f210792e1fafcf89796cf7e54264d6cb0c17f80c1766e079234c500e97c9ad0db4d6fef7b366ffdf057920231478ed7e057b166c627a7a0e725f1864fd6382edd47cdc500f86ee66531ab35afbc1687c354af2e8ae95b1fb5f8516560a58729b7b6c7b3d506682c7f03716b9a53ce7326d8e0dbf0d9b0f1bde90d68472b3a10495f5284f2a9c737590c6839ce3b417f59720ea733a3a1b66066adda9be767f922bb7a9f1864d9836b681e54e25cc7c5880fcabc027ee2e21b8f1ea94c915f243c36a75156f4a89569096d0b0dfe9aac98b1015123aa95f39d00e439ac1f0971345ed4f8110d65296aaa9aaff4051011c272e4a21e73d801ca0993eb893693c2bfbd40c189f9baf00e3371e023cb21aa2cb832b7e87b2bb2b5c733f3c02103c1392a9b7555c73f86a6c19b99e8e4086c11ead1d50292c69f6a97f9da9111717cff287bb8ca585055d75ec6c32f65444a96e99606905cc6894af1ff06f001bdb62dd52a38ef199bfdb12932567eb72b06d9301a568dca814877fa388490c9f81988ecd6d6b338a2724b0853ce87104c61c179231a484fb9dfae9f5761ba0337930761d413aa87d3096032e4f71a55e25d9f873eb689d40a879ca5188001011ac803fdc95331d3d859182bdfbbcb81c101886de05cbcd9cc392659eac2500a81ad4d785a7cf531f9d4295123836f5835a1edfcb92c67e84920530c4d2f6f9fbfc39d8eb7d2c840122da42bfb2d15d11a647a7bd27cea23a0bebaafd34d36f5ef4c7ae53f17dc9f2b0a5e33ef5bb63ae2a15a795fcfa31f333858aa494010acfe2dc0781138b8e2db7f58bf7cbce9da33b2c0836183087e72292948ba38943e31637bae8c77f18d455e100a70433d3d7e7e779d65fbbf5d112e32863a2bd31997f644491f858cfdb881900a0c69dc1f91e8714a43ad0e6ad999a84c8e93a4bf3f29a98f4e3402a7262f0159c5072dd09b0af7b6806f0d05a788f1c19855aca18f9a14674b03ccf200799b1e00b2e3cf7431a0f4c9ca3ce2d58642258416e705920a60eae2d306841125358e83b8fd9179eb2f4c1f8e10a6f86a3ac73bbf7ac751685d689bd181316bb49861512f7c375537c3683aca51ab222dacc2c537be6505469b21dd396182c919b817bad13bc1a2880d7c4662b27292b80b426d9b7acfbc26f03f7170cd18489de2e35a3d4530ceb090b52a2fbc80f4a578fcaaf5f38d9ce3601144eb7cb36e806c9b38de03c5e86e2bae5674f32d400b1553fe407440fea7990312bbc2eed3b7ffde10130fdb85a9d1262e2228438d231999e49d8b4d8c8100ecf31df55ec0b0f86f1fae08e8f9d6034f85ee80d9307110f060c518eb86b8e021ef7f7898f368b23418170cd7a868ca3ebdd8de4e3a7873c392917cebd90d1e77cb8cf2ef65209e95e41b372377538394052b12b053cfb49cf04dcc3524815d036fba1fce46155d24f0ff9c1f25b58bc8f859b0f1622096ff69359cbb6cae2a044a597c8e90c97f669db48b7e9a133dcbef63a2ea1adbcd7eeff057e94ba4bc46bc193ed5cce3a0719a23b95bd95916489b9a2012c9cd04f46c3f5887e27fceaea8c16429b0c70df2176f428e3f0f2d7229303fd86fd3f31253436ac633141e279e3f04bfb47b66e25920f8d2c5daf6273c62391e30cffe094611f25ed714f3b2e5d28656ce77bef05d1472600b8c6787e9f9a2a7a3ec4a5c75749fc7876bd637507b81439df28759fe56461daedc89c735eefc5feb3094cdfca1e9c44ad696cfda82703d6ea11ec44a576214d9f7dc891d6d2d3998da665d10e2c1c807d248df651989a41e1e57402c37ed626cbfbd7ca21a35757ae7a4e739583aafec17b60554066a63d521a4c8906e0f56f85f73b0466fed9365966b89c778975e751e3453017de75bd7ac55a89e3c1fe5f9e29d16818344ee40943518cef2cf8add1ab4cad10cfb5f9ef1224cc7c46a12d99d91fc5b7b86abd825dc548d394c8bffc1d8372a40fb011421767b1fcf99dd78a5a6d632e09c902a74278de288a279afee23940a2fbc7663619eae9a0b4c221b6819a93be27d7c4a5c14a2606e695decbefaf7e4852280ab69c4a87823cb04caa4bbd15ca479c1b7eef13ef3016901e08da041b7040f0f5fc6b64eaf12c00bec8e63b9e974671dc8bc3d9fd5374a800a28b88d718c8cdb4281d44c506068a048e112b9e0658a4ebd099500205e276cdb05b3162ed6324c8242901da16806137e2a523e8927a90be0b10ab1e708299c49e7c4944eec5408ca990dcf0d5b7dc2713571f407ae6e35181cd0d705a1abda0bdd82f5b3b1419b039db926086b11e54068d3bd2481fe5d8025e09b72548fd6c10391ec45c7fa2765578c6a0918b7d6af2d8dc79acd2b05ecd190667b77a8d57234fc62ff61b66983daf5c1a19bd47bc2b626cf2e3a3276436855faede2832e91ea16b26a900c3e43584e2c01b2ec986d0a212428146d9254ae7c27fbe2e9fe18d8dc5a0061542e4d1ec14a6febd43eecd6a4ecb3f0223fdf5dcffc509161a720d041598c6fcb359577bc8ab447a7561c71b0a287242430b78cde49c0e037e01c2f28633571a9284134539356766bc63964ccf9051b361d7d17008cbf9b2c40ea04fa3cb0f96517acff755509592d03841660d2016c25ecd330e62ea1df2385a4ba04e71d91428c437f5cfd1ee3040899b94a351ff936bc72b874f28e330afe0cf66e37c39ef5c38f34fe70f981bb883634b3e84c336b5fbdc0d153e2a0673ce4d3709f35822902a2428a3ea29b6d92b81f4b7de6345ff70dc8e3b4c47126b186878107cc2999c16765b52dcf48056ccc23d6623df14be4542facdb654e3edc5a35315b65132571b3db199be785b062a3cfbf0f3aacf18ea274aca3c30265741d006abf0c706695a16dfc5a079cb38d0f3a897d3c09ec1581aa1a1ce91da5840507699537b9a4df9a8c25566d8bf4f294d8007517af43610732734694cf884c53e9b6840d042a85d42355bf9f8fa718df4dbed3a118172dc3da9f4a8c53d9272c4c93e26e8e47686ea77d469f0a8f7c76b773f54ca7dfff85e87f8d5b464fef0e4cdf791b4235b8ff02c6266a845679286f34f76f7c9ad67489f6e589231df5600ac902c4903c25e8cb9fdebf6062d87266d7883d93b7411f73298fd04e6569704b150f3f37df6384b6feec2fd656671a6a44b589ba7729f7580127825f2ec6605e002c3a2818a13bd089b5e42d14ee09e7fcdc288019125344319513906b32979032ae70e116855998365e4fa77e282a43cf98f93ef6aa0e0768ea4c8acb556725fcf41d48383f6ddfd62bdfc5b6028e362b91b9954c098e16a42139478a0ddb612210d67bdd808fd88cd33268fe652308c66a742f4409d3a42fb6510136c7f910a73b437c4daca57065538223a9e5a8dcef1b0682befef54cf13e36d6faab9b9f2aa976f5c01133d97bd5f3b71c7943db45e494416fb2d00f8f85b196d5307e22abe5e0d48447d5f9df003ea626921bc0dcca7eea8d1f56defa31bdd2f61792774de51970200ab06c703862d446ff22ca7024f865f4421c09b97d2f2ad4636d88a208448f8e065ee5c8fab93dd765000", 0x2000, &(0x7f0000000a00)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000300)={0x18, 0xfffffffffffffff5}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000c3c0)="be11a5dc585dc30cccc2ecf301a6399cf85cff286f43451060f6832f114f77711c0403354d989415ec658726310d98b02c14f14ba1e32153e85bf1f1a9a18d9e95d50124068aa1e36964815043f274df7f91af9df9801cdd0b7070790f35d7be35982ac9f2a862e304fe09026b1f4ce206234f2246a7fa3a8b5836a7f611da6c541245e6173a1d7966b99d66d3f7c785c1df779dcfb31bae371aeec8a6d144ee2a71063247a4fdd3e9ad498c529f550dcfc89d3b14dc3909234c4be2c8bada2cb24f53a463e963f7101163fa9cac2999853437635e26007a91b2eca3ea41ee19c9f7ab86810fe886ddf245306e9e146939dc28319c4b50f1541088cb8012402613755ca8b3cf13101bab71d197e345eaa8195b455297981fa93ddad6ce44511cd041cf1b292205877744549b3f191f1ef748f595e2eef3741d3342aeb587d78da011cbed428609a0720e5812c4d6673ce7510068ebeb8c5bf7422bc53ce80600c67b22c059f13e0939e63bb4c9464fa14520fd5b30f638d38d9c8acca15e04154ea44e68d8871836a6afddf00dd82d2af9ba9857ce61362aa416cdddcf6ea8749f888c85d1a937f17e7fe0e61b64ec088b55bdf9d9c3cf2430136f62011044d811356e89a1bfab1fc59ba55589a883c2a66fc7a546463d693346287653a1e29910292e0c40075af553dcb25e3a718a15db7816d5aa68d4b2a03f48378e5991464a9d0791774cb43e47d1efd47ef1f02993cd39947ba91b2e644cec65cf02774cccbf5532ee4d91fe970ecebc6905bdfa26b471b690f7d1b15d93a6fd1b79106ad2db459aeea72ac1daf13ac9cec1c750fafd9add643c60250db6eadf868335264d8c2e59c5aff7581ee4362c6b7584fe5dc5a391039f029fffbc164d0340b76ca648554bf3c50c243814c2bbd93a0f302940efef4cfada019197a086919b76c200fade9ee17045a08e266610cf444d28054f268506ed864261eff8ef1bf22321a1b51eb0a13ba7d4223915db824df34bfb6158b4319bf93678fc439b666415d8d5ec55dee063c0a423d1acfc6e1b27a47987c6fec05bb5921042a559307f60b586e1ab5e7aa83cbe5feacc9bd7e367600ff1d91b6db156d88a93b4b88f591da279e6729d7ddea02c40c7468812f89cfd800323b358eec722b184b1b8fd581f87f1d23bf2c6797daea3a3c3149b30e34a46fb0ce2e53e987ed263bcbbdb0ee7dac656a54dac774c7cd17e8781c3cc6edd3fa9d280f05ecfa196f9ba0471bc9255402ce1cdb409267ae453575566235faeb49cdd373ae73a29587bc37742b0c7af41f52d3275569a4c0feaaa645df9d75e140062ca896dcc3ce3b9eba2f8d54414a4280f7f7745f7bf299da3c1356a9468429f104fa6d90e3471ad05b63a866342f049ca303c49d1a0e655ec5173948f0e926d44243f178d65baf0ae7c6a178fc72d050d98a7f74d3411f128c0be1d87eb0b44da842249cc6cd1cf4ccdac1bbb78967d7b7adb18d11c7430e83e61121cc411418cb8e3ba48d472683e9a2af591ac27af1063bbb3e41bff64e3ec29886dfbff07a7e55b9b2b1eeeecdb516e2d772de84d8c842f997ce050c2383badcc387aa8ffeb21f7c7a6b0c8bde457843a183a9d94dbc0cd815c66af64b5240a2fb6b80ab1e372c585ba840d8b5073cf778d3289fa36cbde64a9141b934591390a01c2addcd2916ed67ca703faca30e8921f25eb4259287981c6eb2019e657187dd4a2da48b9131f7ae4f67c3feaa602edd73ab097ea0415b3fe47493368def04ab78d82e039172a164a633786db7decea568f09710c259584b71c8b21007ec0b83f9517538b13862e3aaf2309e143b3e13f28a02af47cbfc91eefa6e6abce1b9f67b7daee32ac15d54f4918b7cb4fa276eaf1b1671f6c1ca45f6ba61e64acb552990b33eeadd1be7145f55ea4bd136b8a3ef3dcaa66218d97598b08ba87b235d58e861ec169f93685720773057bc795cb6eb2601a9c680097f3e7780e46f64f2038993ec04733af95a40deb611cb27c29b6a88a45a4aaeb42335e28d19feca3b2c2d32d96dd1b0a77e37b78d84f21a020e5c81953297e09bb524d268b7b8dfc57705fcfbdc34a8648225ce4da1e5713aad315cebb166e1c45f4c849d49551ca629b8cd78ecf25ec4fdd57c30cabab8fb8faf982af13af6dc5635a4ee1eb3876c4496b906c3b959362c19ad577c3f95405cde4bd27d303587dee644cc6cb17ae474981c7b17a9b55cefe8f9cab9de6557ee15701a41f6ef5e775359f04083fe431857d5ef58c5e83aa09195b549bcfc34519c710418655c80ca556e686657b31f2754937b72f886b5a042a5a558833cef14e24039a3b441207a1e6375c43dcdab18f80f3ecd28023486c6650b6a870ebe1cc60494f2303e794b1a471ce4d463ae924b6af322bff451761214a03220e1a1adfaa21b91b0cb58758333eb013fcedd99a8dc704742146b06b1a0b0ae200c815920df3aa7e90cce3afd1c199fe2886ca63ddc7b22edbf3d7ca02539a4764c8579425860d5aae899564f8ea089ee4b6917ba7d554418285ea6c67541811d4cb96e934aeea94b5175a4de2b4bccedc7628a7a72d773af27d3d736aa3376dcd048682fa19b2b68f4e541647c3058a8e300d0b63373abb4a85404aadbc7a81f52a3bc18eee6a1b21e33bc6953b5bd25b8803da311b9b540c8303bbc960c8ca185d701b16742c33ef51894aaa110524a3d235a828133546511a6250b99e03ace553c5a241e81259ee2483b31285b4625ec285ec004ef620e2742c890f482fe2b8d079dd01611654b9979fa369dcd2b657e4a8a0fe6b8ab35192278fcc38b978a9c75c8bfba8646d74b93997e3295100312000afd1ce3bde2d2671f19a32dd4c7b513d72ee236b5c1a1e2635f3d3f387eb168a2bc2bc642964266c10dcd03a293e059c5994fbffd24a3dd73792f2cfa50e2b3bf5b8f171351afd39b732bdd213e286493e766343e557387206bd3e3989382fa0125989e8d7a2de2cabd9546fb11a462a068d124bea290fe99a988ea7b3f8b973a652fa2900af84a5d69c0dff54276155e89858ee9ead89716708902bdf7960a7f1e3c8eec789bd4f19e756aeeb7922b48ca9cd32a33c388f97efbea7439017d94301367471dd982e9d0e67208426a3dc4cfc42d44be9ee19837095aeab13ab46c215b9909ebf149bc9fdbf6406844832cda498a7cfc559330ec7287c95525b57dd7fe87ae591bd25a0e799d1c1ec12ed61f820f23ec5c2d71562698023876576f422204e6ba2317f487ff7f602a106f6344d7bd770deec7ea04f8ce4361618a02a21996f2018faa8f2439dd4d06e23be49e8636f0101fead0b78cbbcfb9aacea270529911ed82e03745957869d518fc4c59967e3966137422596e1f25367acc2d1dce153cd6f137c50efb0a07c7e8ea3a7543c8ede1709d1878b58dbdbcb5009fc150f93e11ceafcdc0b3ffdf9e3ffe2a10a957f7d16ded497dcece03c1c872e17c4e4897c297d823d546a3f9d6dcbd867316c519655195fc4d86a3a7c0c2a7e0d679896e1cfecaae2e33860c60984c65c3742ec7ff0495e45db03e308d8baf15be0d9dff8ea27a9edadcad561e918fe98c59241690a147037259cfc308471feeeafee40d5b2f24ce65e924c38f3004277553875080341d4e92452ad4ee64aa7f4a0d72e2902067b4ad908058dfe73a49bd28606e4da52928b1b949d05f16fd28f1824429d2872ef483e5518374dd81ed84a7185ab3cff63f6484ddf72b3dcbb8681fd9048bcce481ef5d00b3159040656cddcb49e0a474b0f42bf56aea7ba835c98c571a9dc51c104445e6cbd62158e7f5f59f4eb1a8ef0ba1b44c9352984113c2af36d215b4389adeb4b9dfb83468dbb290fcfb28c12171bcbfc1e3856e0722b625b6c001afaeffbd1d7bf61dd621216665637446a4154b2730e18d926b075a925250a763d4062459c89ef5c2b8c469b29137c1b3079bf99ab540d6579c25bffcf3a041f0139b17e9f452122d460bdfb30843a2ac4cc75bc7c0c3e5fe439c35830e5d6341c9e0bd2a88958329719184b8d47a7f48236144273559e58e9565023834d6b97a1fff27a25ed568918ded0caaf0a63085fff8752b1be789f9cc3cc41f999dc28ddbc47e3ed3e4f8179a9110802596e6f343b6e97abda062149f92e27ef3dfdcd99b33a8eac168fc5d265046cc007c773a78a5c39d00059076a4c3d93a9f177cd191e034a12a1e11ac5ed49aba30e8acf599e68208fde9f05a745186a9d7ddd3fc5086206cc6c789dc6fa87c667f13a840aec817a54adb28ab1e65e2825fa38532f671d5ff27008fcd80952803fa4a2215411d73e327cc60be459a40b80b290a698b3b61404ebf17b31512a8d6b20d0593860fd89e8d9c12e4d526e2594c76509166eaf58f5dcd247e3aa96fa9b1d64c67e7ae4e6d58b9231ec8875f9256c40911c2c24c20d48b78770e7ef15b5c5b675ac12371717211edafb17cd7fb8efe015faabe6e5e4fef76c9fdf3b21796ea1e069b2a56c369b8c36cc209eb1e031827176b08648a0b0680594ed9401adf621d71f2b3f55234a1c8034a4f41d9102a5efe597d29a8fe837a6df892587042f9cb4cc7d144b98f11495f78174cba83456479da2bd5ef09a0ff80aad9ce546521ce7861118a5c5231b1f574a56208bd99b17d5cbf0c6d8c06b15a03f66be811ae552e2202138a4bba63180ea457d74adc5fe64debfc38ad0784a517115ce1b4f651db8b0ce82102223485ba37c8de8d821ea54275ccf60a73a9f905f68d47bcb0bcf4b6b2022670eb6f9f75954bb20a594a207e0c0806fc5e8bebe33239e0da187700bdcc6d0161bae304acce6be4fbae4b8ae5d90d65d3844f23bb913fe03f31aa4e26f6862f1235ddba663386c0750a3bd7e74854df68ecd2350e46c2bf9882505a88bf3f99d3e08515be411184e198ec3d612a6644379d4345f046ea427f40a04eef9e984590887d46aabca1e21e1577a711361028ae7728d3f098a762416a48b820c3a6938f7bc59f139d58c22441fb59bc09fc4bc55e8ed855cb71628534c43a13205c0c632c7d561ddd30faff9e7fe71e56a33da86d66c1eca96e98bfe7d1f9dccfe4fa129d51f906adcb34bf88e2b261bb79aef88c0ea43e369e47e235c2bd6d6a2b07c1332eb85ef878ecfb41f3b3769cb13936f0a8f0249da945fc3c6e9b4de1ff2fd36d0cc17623ea3519d481f24c2f0cbbc0896df82745952df1f131c19ace779af1f669244a9dea7c568fd311291c75e3fc46a41863c5dd38a6b172138635b5bd988bfb9acc5de919839194231cc4d004254c579384afac6dd058e3ad50e2abd866154cf4c2d842794080a04b0d552ce82507427b3a5cd448cc3c1c02c1680979d171e3faedeba6aa8a7881a3b0854da19a1fc5147863a8383441b3fe1da16c20ed8d51c917a794819cd4232da73cd94a8fed8a65e8665d83e4caeb37b86310225ee1bcdee93953e1ee2451ac15a2aefeab121e0cd2c4f230567e0153c3ec07dbd0aa818359a03f5be1a3a32f7c79c7a70e828d32becad09a9b407025b59a26fce3aa08b7a48c74e4225c12ac773a2a9c27580223e2d305af2b6ba00d0f24400eedf51f282ff02422a000a6843757b4821eabef7f1ad7e5a73d138489c33b42e6cf5be629adbf87e781e0e1e02f8e4cb20c1467deccf64eb331faa251ef79c641cf08510461f094980c1bd3d9866e487f6cb538f885f2b881baeacec73183744f1e02b1b8aec12d4942f814035b16476256a3b6e231a09b4f2cdac30a62e02f21922f25836589f889c1108f252873e5a3ce20d3521001ea13c23d1319fc3f8269c30d3435229a487ba96c61fc7dd88bcea987c5bd67809ba55c36dc827fcc363e6a60b1319a3b97267251d7bd6dc037cd2a5f82d74ecb12b480b5ddc64fc8763ac38bd8ab0fefc5d0290b278e8c68c7cf5a4a7bf551032524dbf455ff6c6c344d39895108c1ae07c5281e1e11b878c3488aeca94d5ece48065862ce13ee526f85b53d644e6793c4d0e930c70b16746479e7785c1ac757057413e08c2fd21eae201f08e5ee02a73b5897b3fcee70ec2586cb2d007859f71e86994ddd7e97fdf94a65c5d98396607f1f118dfbe7e3b7777095b21b257e8bf9c40ac50b9a4900c3dffe423e73302aca1ed0c10defcf32f4447de9c2ba3301f7c8e2b4cde017c45c5bc90b25962a628b2a946288206f1917a76115787e81f6e314a7c56f335487426d308d72a3991e3b262dddea9d17cd7dd04e3f7529a53263cb78365fe55ec9e1255a8c28aa8ee34caf98b3d38503190306285df1c1016d63aa9b0442efe1ac9b26b11729552ea4e503492da07b921b5adf5f478633ddc3ee6e333961e1fdc044a3e30c6ff2ed9e2a29aa0b823a8da6096e0842701309382e501159568c954d714823e03ff0a73c3b27d0369cf369fcbac588113cc8b1084666c447c0fc02c0fb038bea5530687e29be974fc214c65c8017f64534f45b8c17ac32a617bf1326ae46cc7bdbc8d4f6637bb4eca53b2895b2dff46620fb798ede0c197312ed699574b35ccefe24aac7aa03e4b68e544e6043b900f203ab98d2e436056339c9b3e36835aa22ce273faf40261cbbc8ca59abf99900e77fb454345d67f0f0e84d8d36ef000f73c2eaa39dcc24ebf76b7869447dbf462dde48ac69071eecbbddcfb48572d6035c83146b59d91d070cf0c0b86d6b34ae76c490e5ca5a413a25a01037d849c5301089106f64fa50b00ae6cfa2259d7f0375e3bebdf052baef87c1d1f2f3d0dcf9e0ed8002cf18475b48d7d2e55d0ccb929fd580f3cc51072c2625f96f9e39e44ee92a0e76b8cd7e74e2598974d60975f03537b3fea07482215553a07725d235555a839c88106cf0dd09a13e3387a085cf1896931fda7a876c310c8759d6b5d1d8da4423a2a4d765c0166193d99f2c4fe05d47482bc94e4341b225165247aaa97eda85aa1c07f1f5c4014b1d712b53fde7c5584cb339734afb185611db1d7be7eb4f5aafdf1e533e290ed0a770818b6ce9c23df5ec9b66aed9b9d7733cb59036ca7bc3f8ab37939b7164dc4ce8dc3ce3fb8bcb151b4e7e80d2763055580aca9bc2111a6dbf10e0782f24c2c7dda5a89804b53a3e52c33062970ff03589834ae7fb2c1062920aafeb7eb30cc4eb05fa093aebb1feed6679a35bae38c97f7083cdd2cbf4f435e8dfaa34cc91c814ca6d993bd51cf7c2551700a7d6c44749b979fc825028154218da2e9db38fd1568093ea77c56d9cd4b6707e5a3386367ba4cfc465ff093dcf5b024abdf924767404ac3df315a3053bf90babad81026454c4a2b82a358dafb65577d58313d6fb72d26fa0feb3dee13623b4249bdbb06e442f722079c38e2d3326b52827a0538ea79ded705e1c4ac42ebd2a7cb14bec4a4cf534d83be7f6e8cd969f4b65580e25d3806e9138de175cdb8f6da8febb2e80204101e716b9a30ac45b748b3c9b4089f14193db8331d57ea21c78e17907625ffecca5b81bc79fedcc2ef82c59f288598a07429115c964cccb99198c974c82c15a6ddc0d55bdf01d48c68380b04c7ef126daa52234a76cdace802a19dfe4dcc9905e9fada9c4f58c6cccb5d70b9e96667cd7288d62660ee615a4d3b9b65f8582d5375d8dcb6545606bfd0dcbc732166b93786062644b700cfa20622e70d3f29404adf8eb271d1419cdf977808df70a874a6e4a92ed51e98c403ad7993ad6c45e214507b4fb825057019324812e3d09e3e5e4a531490066ae07bdae11593427ad555d6fc64aa23ffd790622ea8312dfc5d979352535732022a21bd9e10d9a7e507d8e29ed7bbe783364cd8521aa49c8afbb844ef9ac6f06663437966fa392bd1ba77d298f1adde1b49cf54aa1e059bed2d18a299f8a49cd8c7922ddd1d63175c50f1a3e0d0cd9c20ff46f349ae173897bad8751c78920d30b6bc7475606e0a1c6fbf17677435f151bebaf08593e92acba7f48f69462d3f3485f9d2f4ce6fbc42ff9c7cf23a982d8a0f0b590427cb3247088df3098697d5432d6d5a0597a0ffb85dc1746433e594fb5e5c9da96fb02ac176e724734c04414e67ee4fa2f57524e5430c45acce315773ba51a69654cbab81adec53f8f7a691f350d72117ec4a4737598b5b91b20524e35f90a086c1a8dba9bb1f19b52ebfda76bf684b1c07b9587248a7c316f5ac312d67819f15cf4d495e122ed2f28a14a9fbe6718f2210d5ab81ccf2da4c8cd3a9c499ce95fce0ff71154b994ed879b65a21061b7620beddc940bd81652557771228b13186e3339e46749456dbb66db2436ad9f620833561ff3b9ccbf6e78812c2b9766d04273f1477a93089fccf9a928cdb7385480816090f2ab7714f1026bf2b1bf6757c9894f6f455e273c58d4fd1e4fa43a1a42378eff847eee54dc9646699aacf95a6650a5e901126081398afa9b240e461fd3aa8bd7dc3c75fe2fe0f9b5c071a334bc05bdfdb8cb3b6941cd32f20b9cd078d41fc4d23d8d523c42fae4cfd98b221b4dd8a0db1006fe09181d56a05f38665b3879401d11bf49aaecc27ff01765656e054fc7861cc192c50f1eb1344f63114fb32c33c922b7363a922aaaf1a191418baa106e074e9e01745eedd933d893f73b0ab902379466b2196b2829db532b1684a1f51ebd926d750d3b97c897a3c4a6ecf96bddb834e4d76f5b371553579b6b2493a27d1ecfaf4e0bb91ad797926fcefd4fe616ae631200321ee7d79add5aac82f670db1f73d42590b47b4c298f3ae235299fcab5245468654965aebf1e34037eb533ab187b2206402c55b71974f66430b06d3147a00d13e7088cda0fb70fbd4e69024d28825b856c8282c4fcfe201ed2719301822db282fa9ceb400ba30c4260cb40d2e942c66c82c4bc7848f2b050c264b7e89c50ec1e344c4666a656450230f2338bec24803180efad0684d6864a6f8d6c9215ea5d95ed91f234387fe48d7ab50fe6ebd4017c65ca1c83ca36bf03530a6ec4d18cd753ba8f8f301769d1adffa71536bcc346585d7c4725c13749afd8552d8a95e21cd9a66c965aeb7e1bde9849fe40739967c1f697fc81b501ceb45d45910d253b9ecce2c4764563d12f492ecb5fdd27f32cb6edb9aa5d89ab3f121e8ee44d6f2b4bea87f62bfc6eb4925350785374220e79b223cc2499e55cbda60ba20b539ed237d164b8bd81e2b0dbc6a6b4a1b4bbeaa89ce0d0a1a5a7b6ef644ddfd9a33fc40970866efe8586bc6577d85bc10256d044feebcf8a099fbfed1694984a406768311b39191b1612e5ec1ab7131a90e9bec17d57cf46e19aa49c54e5db7e0b68289a7e5171e952c70689bb06753b6a5ad115c6d7bad4f44fc5406d519a79d22479263dcf60bedc6d4558ca513bbb39d4d87ae07bd7e63f9f5fc03ce668e732587c1cf1451ffc373d36acb7b5182cb3976784e1e8c52dda9a4e9f6b91c47db7732adfa2541142fe3356535a5e7da3a84bc33d032bd0adaa2e07c86a43d7dd87719eb5461215d375b0a4b1c3c413ada1dfdca059261fcec390335b8f5ccc560bb916d5d91d5ae177f180c7d239ae2f2a134e10438a8f804514428fd9169ccb4027ddfaeabbd8b83c730263626abeaaf91703f9aa2501bb2804c19eaa9178167636ab48aa38417e4917d3b35bdbc83362bb897e71479ed0349b094a2ccb24545240e6c2a875d49946989a61eacdf828a69db3adf700d436d650f7155c3ca976bd880d541053c30ae0974c17a128a27d6324ead5b9028be8f7df1da62b3f0914579ac0f6bf2cc24e8c85d461f13f19f4c356d8adadd0e216711dc3710c3521aa329df4fd6283db09564a8edc0a1091ab699b84a7457c70a50d24e269a654bd4285252326e782bb10b5140fa5b801691e8a5ab7f702b2593ba4bcfa549a18e19e3393fca656c5bc6aaa41bc11f3c95b0cc9a520d8cc7109eca689b0352527daab5455a21b031800c4f416438baea46679f3434484d894662631d7b22481e14f0c1a1452fe7190510e29dc9714ff22f4fc4874a06d6c765cdb63a5d579befdd71bd244e35ae329f510b2e566dff0d16cd9104cf983b389278a410d780eafba979b587a97242465ff59cd82c66efdb80dabdd9dccfc3fefedcc9a907462ac4972e2d4db66061ed21d91fbddbb286d4e49aa0e065c4e4e7e63a3d931223947dcad155cebe146ff1fba44ed77977e8771708bf503b3bbd52d58cf592b8afc2da49a73dfd2c1b276a63b4d02528dbcbad21ff7175da00392cf78eaa004d43c9c20e89b66f667b93c22ae9068db69b219a2359535ab18de9f2be38704e8d117a3b847028ff484d33cedb3f81ffced0a93a2db82f72782b536d3b5aaf2fbdeaddf8671edeb81f88aa6fe77ebd6e69985e8958ef0dbe6b4ac14915f249e5d382661bb78f0a55f5a898ac767d4dce46db7b36d1cf13f105526e562ba3a34f5654fe68dacbd00ee37d43f8c31640d5360ea796e6580a26c6431593611175e8f21610065ce73e288d67734815e26e46e43c03e748ce59e5e49d74dada2423d0527e7f38192abeaf4d904b42317ba4c73931cf73ff553a30099e847d35680a5d49cf3bb20f83e140257c41fa8283956a5333c14c0120da8bab87ac4f29f231c2008a8ebb3f66781e8546f30550e05708466d57ba615abe24fa4058a2e392fbe2c5c65f74b4c78232aa88b626a2549d193c4eb384563a0ae04abca5fad92c11d0256836f40e550a82a4e7a47f1f46acef2a196af48a4fc38a3790b4d003a1ca8d13b33aeda23c284d89d1b61d10bf9765a6f3befbcc84295d62816fa84a40e6e8d2992df9e186146d13b684ee637ae40788113e45cf7aff045731078a5a2734bbf77e2dbc86a7fa5056ad5d1aa344af3f5a41093f55206f882f632fd915cb1ccc9d802ce15805f2a81b93d0132be553793d518c9606aa2e8e4789c8debbd68b7c47242c79edb5dce4a34ce4e472d14136c438aabb8dcc5cbe0fe97a3fd64c2d9cb07ef7597b2e6d90eb0d74cd2948b00d75865e7256e047dee26a2eda408d73692bdbeb218cb7287d3869315347326a755aad3e767d7417bd6e67da8bb398e655c9ff28fd2b933836fc712708afaa513aabf11657f47fcbe583dd139b0dca47fa33f3dc787d40bf2a05cb52dfb9092f8028354d5e46f697d9da72c37556810e2477212e436cf58371ab96504ae8cc3fb4b87bd35ab111f88d986724bf4912aaa2f1660aa563ae321e8d01a0ee0818959e53560886ab9466669b17f7720ced2983c2c05dc0cf60756530c70fa557639a63a719b7fdb06bf7f8fb8ae9fbb6cf35a9cd3cba6661d6b9110b8b818cf4fbabc28aefbb13d2f8dca227b8df46f6e8ba344dd53e07a3cbf4e92583318f21459211d9b4654027d414522d60e74ff24c18038bf4bf789d158f956e2dad6055e454ad9afb4feb77c7e8311bbde767bc5190b344965f4ef95eb43d3aaf615d0f48023a898b4b291d051ee4bea8c050fbe06c51c43aad56bd6c9d502c76e3637b64d28e678aae3ed33c64b96a5e6d3672b4ecf44787a90225c9294161919865caf39a4b732aa5857e77d5cd2e50902a77fa9d651def70e1b0bc93", 0x2000, &(0x7f0000000800)={&(0x7f0000000540)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 20:15:42 executing program 3: timer_create(0x0, &(0x7f0000066000)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f00009b1ffc)) timer_settime(0x0, 0x0, &(0x7f0000000040)={{0x0, 0x989680}, {0x0, 0x9}}, 0x0) timer_create(0x0, &(0x7f0000000000)={0x0, 0x14}, &(0x7f0000000480)=0x0) timer_settime(r0, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) r1 = openat$adsp1(0xffffffffffffff9c, &(0x7f0000000080)='/dev/adsp1\x00', 0x0, 0x0) read$FUSE(r1, &(0x7f00000004c0)={0x2020}, 0x2020) 20:15:42 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID2(r2, 0x4008ae90, &(0x7f0000000200)) 20:15:42 executing program 0: set_mempolicy(0x2, &(0x7f0000000080)=0xe4e, 0x4) fsopen(&(0x7f0000000040)='xfs\x00', 0x0) 20:15:42 executing program 4: openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000140)='cpuacct.stat\x00', 0x0, 0x0) write(0xffffffffffffffff, &(0x7f0000000040)="0f42", 0x2) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000180)={0x3, 0x2, 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, 0x8000000, 0x8, 0xfb, 0x0, 0x400000006, 0x1]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}) r4 = dup(r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) ioctl$KVM_NMI(r2, 0xae9a) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f0000000380)) ioctl$KVM_RUN(r2, 0xae80, 0x0) 20:15:42 executing program 2: openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000140)='cpuacct.stat\x00', 0x0, 0x0) write(0xffffffffffffffff, &(0x7f0000000040)="0f42", 0x2) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000180)={0x3, 0x2, 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, 0x8000000, 0x8, 0xfb, 0x0, 0x400000006, 0x1]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}) r4 = dup(r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) ioctl$KVM_NMI(r2, 0xae9a) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f0000000380)) ioctl$KVM_RUN(r2, 0xae80, 0x0) 20:15:42 executing program 0: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000100)={0xffffffffffffffff}) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = gettid() capset(&(0x7f0000000000)={0x20080522, r2}, &(0x7f0000000040)) 20:15:42 executing program 3: timer_create(0x0, &(0x7f0000066000)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f00009b1ffc)) timer_settime(0x0, 0x0, &(0x7f0000000040)={{0x0, 0x989680}, {0x0, 0x9}}, 0x0) timer_create(0x0, &(0x7f0000000000)={0x0, 0x14}, &(0x7f0000000480)=0x0) timer_settime(r0, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) r1 = openat$adsp1(0xffffffffffffff9c, &(0x7f0000000080)='/dev/adsp1\x00', 0x0, 0x0) read$FUSE(r1, &(0x7f00000004c0)={0x2020}, 0x2020) [ 552.989730][ T33] audit: type=1800 audit(1603656942.535:89): pid=576 uid=0 auid=0 ses=4 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.5" name="/" dev="fuse" ino=1 res=0 errno=0 20:15:43 executing program 1: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$nl_netfilter(0x10, 0x3, 0xc) socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000001540)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$NFNL_MSG_CTHELPER_GET(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000140)={0x14, 0x1, 0x9, 0x301}, 0x14}}, 0x0) r4 = dup(r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) write$binfmt_misc(r1, &(0x7f0000000140)=ANY=[], 0x4240a2a0) splice(r0, 0x0, r2, 0x0, 0x47fe1, 0x0) 20:15:43 executing program 0: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000100)={0xffffffffffffffff}) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = gettid() capset(&(0x7f0000000000)={0x20080522, r2}, &(0x7f0000000040)) 20:15:43 executing program 4: openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000140)='cpuacct.stat\x00', 0x0, 0x0) write(0xffffffffffffffff, &(0x7f0000000040)="0f42", 0x2) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000180)={0x3, 0x2, 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, 0x8000000, 0x8, 0xfb, 0x0, 0x400000006, 0x1]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}) r4 = dup(r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) ioctl$KVM_NMI(r2, 0xae9a) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f0000000380)) ioctl$KVM_RUN(r2, 0xae80, 0x0) 20:15:43 executing program 5: creat(&(0x7f0000000140)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080)='/dev/fuse\x00', 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100)='fuse\x00', 0x0, &(0x7f0000000380)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000100000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000000040)={0x50, 0x0, r1}, 0x50) syz_fuse_handle_req(r0, &(0x7f000000e3c0)="000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dc4e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ba045abcd5dfc67d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000230000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000209bfd66eea210560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001354c4b600", 0x2000, &(0x7f00000062c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000007c0)={0x20}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f0000006340)="550213a07196529afe0c0440192d7e6b690b2971077c794178f51d5e3ccb8213c2ab2c2f9eeeaac3d26a2f97d4f45f2a79306cb35d2773c4877c1510919c87833403a04e443f0f338e5651891573291dea98a917f4f62456553ef1e4c2ff39f3b6bfa857c2fde23f3bc356a09b1ce900401bba2326ffdbd94f33d8de2e2e88332b80cd5fef8a5482b44a6e9ff53976da78235538407a23561df1fcb2aa25e96496e60b50e63f955b575f6ea992ec1120ef5d703a365589739a47991ed90db8f5bc075ebc30f1ae98d2dd9424afb051063d9f8b29b3891c4a15a7ebb498efd4ad84a1432bcfd862661ff920704ec2481ea567b9accfd0089aa576182565159cb218bc81fee7abf14cf7fd7ad2fbc9f84b66ad2ee9e72efe6de57459a0d8ab7de571be5409f07b18e19573dcabc67e9577aefeb5d076c8b331244dd8f7a4be820a55a59b007298911dbce2d9243184d8db00cc124833f82d55562ad21f64dd300a0a0abeaf8ed2cbd4e373cbc6b40510b77e9742b208a6b6b2166a9b640c6013a905e7f5966613c40b14183adba502a66538f4d146d80e1e38bcfa430b6ab8f23772c41fc291a01817fc447cd8920886669c439c31639781c8a1750182979dc91939a93f2e8df8823a83d4c00a109da1b99aac9f5400b0a18187cd936c69efea3c5959e34ef5ab1b4a230750e4a121540f88d01f97690c18ea599525db59dcdf9915ef90dbc390555742f68c333611731945467777315115fd08343175c16195186d91c317e64a2a557ceb44c930c144aa8f3a1600d064d2fbc841226ec4fdeae163c62a293851c9aa54715cf3caa3bb22012ab2244821077a83b4c7f6aa67752edd136d84df86932c625b6beb4de2499915337bc62c071343ca01d207913718d363abc6e1a0b36a891d46016f586c8b8cda719a52bddad74b872928cb772d86db68d9431686e742ad8e0d83597e94d6dcd01bdb14b8b5f76e56ed293fd7ccfc3d25459b5e2e45d6bc8cf7159d9f819d0935f3cd662e68d1d16d5bb2ee3998d0cc8fdf553356ccf56c89a5e0ca635faf9224c81902393b1fbafb098a86ebf6942106d6ff686f4ac73fb7c86bfccef7852ac6304c04ef9fdc156540ef072f20a403a869dfe9e8db9c58e1261367d2b8f9ba76a002953ffc679fddb9046fc94bd365e5d932cbf2f5e9b271300d1b90481d72f9fa41eb6e206c96c1096756d4de822999d0396eff77fe86c2bfa2b3dbdb0cfd54b3ddf378a0bbfc4397cac8ba586a3d6b4144e8a9b7a7ac998626afc7d1197c3ca954e48fd7f63ea52edb77e03176720deb4ef7942e604e5a4f500887a77b22760eb33d98d7612ce737af9ee0e78fcb69e7838adae221b4de45e8837bd468f7a405e5f8ed26275b22feb32ba3f12a893479f273e5eaa73658f1dffe09c10baee49dfd8df0501000d74198173d277f7123c4e131fe7db8f74d0390f0222f92c5859d57c709e54b4ad6549185357837b4b7beb28687c35fe62502e1a9a1dbc0f803580a6170b56e08c2d0104fc12c9b47b022bc4cb8474d4b40fe0e13f89a6b6acff2f11d24871ac50c4d10a63080d8f8368a4f982e65ad9fcdd37d809b1b55fa5aeae6377634a973482354ba216d9e24e39edd327063e4852c05db7458f56e6a0dd01440b0ead91570967008128dfc43b48e73fe380033e90848e9fd780be49aba2ff3c97b49f556f8c2c57ee69a15ff01fda1df9ff4434d7aca8049b3146255f870fac754dbb42945165ebbe7279b4998576f6e16332896b48e893f06148b7d470f513efa0f1272ae8578ba66e2042134cbdfaa1cfdd36a7f6c1874e858029429d9bb4f87eca7f7cf1900cd1667caf0f4cb74135301fae9e958f29bba29459de2208f84f4e2764e1fbed3aee309e74fd8598c602d6522f7aea29b73af70bebf10c924f588d7024855cb84f9098cbc7141ce5a6168ecc6d28e774adf9eb6aa9f28838e3e380b7b12dfbcdaaca0401efe633ad4ce12138d8a995b8b27721a2815c5e6331d2fd803c13e3175a5c02c5b5344409b06369a9d4b457db201512f00f53df67ae21fa597f5f3709ebedcfb347d6bf49df34179d0b7169a75a15af29869b2def01a7f5af087e444933ba11d51ce973d59a47efb884daf6cc5258d00a3d7f3ed3cfe450c72cdc5900569717c8699689607e66c5b5d6dc2ff8dff62e2047b30e80877827d2abba12e0af85b77246c7bad649631a9a0853cb79c7ba27f5f6ef5dac4613a7b5d1de79d83958ce4b37a17d593756f9c19cf3fffbcdc70eeb8cbecd6e77cb03e66fa3846bad89a2fe1e284f1fb227340cf4f4ce5bca6289c52410e98966446b4369d261ffc8057d56b625ddb09160298f1a015c1657c88603822566d9b4483801b4f5baaab4c530e61d9378132ec647d2444c04c446d3f2b972a46355ec08e505fa9995624e281292736808c8fa947cc4564c870f03ad931f58f68512c1327eaed18db6a55960ef8177b089011617e64df1d8dc0b9eb3010885f9eab7e098e5711f9e41f74d7b28943586666eb74ff79f67a16ae8d7e75561741c85c5f822f61b2552f877e739a77e20678d2c7a86cc6caa5852278be0cbecc1ddd7674b872e5d2e69c9a7383a33dc8f8c56548da95621211ac70dd89aa1862fa8969138e84810ec854b7b923bf7510ed97cb80037a84a8e66650bba2319dc30bbc3f40820e1b389f684db2d30ef28c470d82acea65419d20f518bbb6a99d734e82ed60fef979e6115fe870498670af117be3cec9aaa577caf1f61d5bbd12ce72a35b77bbc366c6790f44464efafb9cd8f9a097c6ac5423ed20e335c3992cc950b90fcbc7b4c3df2521a31d917af73058c93c1f3e26b47487736691c8b1370ddc613bad413982261e4e036579188b64cd9f39b1b4a32ca356769621c507b37f814ee0480b1a966ee9ebb56d6979a9d38236664fa1fcff19c8f0a429d86632e195e569ec47035c4eafe9185d19dc5e8c635a361af2b4fa33815361c000844615bce501648ee70730d7a1b1da4f0630b1ca90904f80e9e1efd1c8e1b61b05c4f040d5a0430381a53f4a1570491719560a3fb920d6722cafa0755605c955526e618221d1e4e766c35e84bd79ae479b5d178b241662cf9a124825101cc5e1373f3c9ce7625f7f08119fb011acceb88a9ff553639e7eeafc93b6135ecceb6eea4c3dab709005dd7be2f1490d1d648c99058f272bc325ce5fa663f4e68720a5f2b31986c66580a2be4204cf311fb3e5d61310445e942712bf5dc7e66a9370a5a4afb6aa03fefa3f0503d53cad9b79a3ef2ee9000edd8990d75ffa3759dbf0469b6e393bd3627a768bea18f533453b38d17dade925f7ca6babe27adc6fa3048d2a65bd2b0fd840a94ac5f317a1c839738ac89e7b22d1766308dd8247862f304fa51d727a27f0137fe19b371e5946555093e7ca69139c48afca4b4ac46c8d2f56d5e673e8b52dd94857fe953d10ca886c921b6626e869ac794a78d40bf49a025860fd57a0f437a4e650a9db9cddc93f8556482cd3676866d903b0f70601cc4eff564eaab292a4208d0534321e60119ffa6177934a2d1d7a6a1f1803e762c8d30e2a0d5311148bc21e4745b7c3dd57d0a616a2c49569942f2b48360df6c54f7a70f8a585b3a0d54feb7986d7d72ab0e16ba14187af4b9ac5a69428f1f61fe25e13cfb97ea30fd9a43e53b6841cdb766d6b3dcbc70277f2a0a12bff718b5bc50dec6fde5a0e24d23904edd201c8dfd51c1d198e325d65c18ce4d5ed1c6aaec28d40260949ed5c6bdc90f976c76dfdf399a9f9789fa9e176910f7ffb6427c3821fbc83747cb0d2ffe34b0b18fb34ddcaa70bb4624acd1ecf208e428b7fe89ed0cb0db2a7d74b284cf893807b4f76bdcfe9088912c8e83144b78ec8407aa37e94e5454946890174aa6be77e42fa0d764ae36855608d63d269164c3ca6a989232967f168c3f9b41c1204e02d7e9dc06010106f6b41987728775a5c31906bc7dfa33808e5523eacf7c914373ce8e61ea29407040feef8e9511fc04b7f2f9936a3161fccb7deecf83f507840898672fe13846ff8185ee0aa6734a704e4b7ab6ba3fb1c601e57528d68f8955fe42fcfa2ab0faae4008023b8a34ce4f861b5b86b5b507ac1cccf38355c5f0191e8ab29c90627657d6e100957cae6fbb3f0f4ae2049ed3a341732b4730b5bed1dfa97f0976dfebaf03a305da2a79d6b8f2e86f46bd7e257d170728d5aa55f786b5436a221b0d74355d55123fa1c9faf017103c3d6a6ed1e8e26fb8defd944c49929ff5ed4ead4e5782d14b09c9ebd593533c907679aa6a0b94fc8494291acb16e4bd2e4b953ac96f90ccee9e11ec88b4f590289915a6368716dc3e28dafcc5eab060d2c48911f288e501226a5145ea217e834eee7ebf0945e53baa08b8d72acc67fb14dfa47421081434b291a15babb97588c6ed5c7e79299056c70f5362953ef499b7a88c373a23302e3ecbc229824de95f12595f12580a3898533c48ef2385d7f398ce31c3dbb1c02547e84d0210595bad9a149ac653a3537edb419316f244f6a75108997b6597700df352b66acfc191c6b234c5c7beb2acf943f8274e0a159612f4ed440f3ff715fa2cff21b32444e5871a050e33e17695f1e3e7f65f82fa8783870c0c93f961807c6a56e666a5443948e2721570a9068ecaac4839c8209654e2efde43141b1551c9a966812b13bf4f9cbba828a1eb948a1e41a122e175c0ccaa9794660446cf18335ab13d1675a26eb81b1abdc776472d5da139a507f452159e3416532cf59eabfe01e72f4a4bfe86d293a7124ae3478443d00452c1a9be915f54ccee5d857fddb9ee4986c9186857fb4635a2bfb7b8885418fe48536cf60c67c10c729f92a8f91826e85e34e3eb78c186f2ff93b0972fbef4cbed448618e1c2cd7b5cd1b5d529317981b4ed973080615e0b385b41778cf536d9e24fb0ce048ec0dce5b075febaaf34de2cf59d9030e1a9ba924bbb5cb4098d82c511cc42cf9823ba77849bc867a6876096561ac209c2659baae0374ae4abb39b0ca54874eda8425942012fbca984a4c6c21071137eb4399d4c6891222c8aaf43cc78b1c8f2a9cec6b5acd748f9ac4de37b1dd18cd0f8d7f20337fd392ed10258457950184264a559b80c1ef92868676b258a9b579ea604adc0bd388a8b30822af1fa5120aba51e38e1dbaa840472e1f1f0eb86af5ec9f87a7324e49c4c0bd2b9365cb3d8c92acfdf479548acc9aace7a342284eb895b564fbb8bd577d4a310dfcf78f15be69da13b6710abc4cbe240a62798fdfba1b8a019f9c5fb462bf040cce44a1c8bda3819ea42627e71a5bbb0f8f3648daa2d26e81fff4dbaae971deb7dbd407b7583c9afdb7e7dfd7b81fbf1ca84d57b27e059acce70cb27ef3742e81a77889b01795adb0f070077b758d80e7a05dc66da4b9fed081100c3ccb5fd8ccc14dc36173673917dac8c6fa72c5989d0f6e0bd97501cbedd0a97137d3add8444330e1859005804e485fc997da58927f8cefabd995124e6baca61029dc3c4b091234610e04a7e8457c1dbd28a542497035615a990cd675d36eadd703492562404d366ac4359e66e5e8ec9e40cdf96cd1fdfbc0f2280d4358d96bdec660a6ae473723884aa79bd61b96ca11a7175d68a401a0b77882e7a44b3765a582018abe6a367d1478f5b06859e777f35d8f01a39c7960cb26477207dbc9a0a2af6d5beba095c606a9a11ee236aaf91e6b3b6be0639b2a13bf4471acc9f7f2f052d2a86c7ef0f0afe6ceabdc4f99036a05120b0c49cf80ec92b62c766035a5887f4bc8fa1e0c9c69a7b690c7cc2c8870f8e7beacba9b1a27c66f8d02e33c957d923b0a9dc4ef2b3237d2f83c72651966f8b13b24e1aaa5dd0122b75e3afc4cd478e296924349e077fab31a38e38cbea1dbc22689b82a1a4698fa4841bc0c0530dff14f368537c07eeac4a9c2e02e3b21669d0e039af22a4f38d4c21d861968bf312ede1ff02893fc44197363dfd89b5b704de61d609fe1d9013508e5b2276953ba5b1f8018c3a7b3c233d4cb3269f10ee6ca2fa9de79efe709659538108b36c1b71e4d2c3602459d57b8f46ffb541e2a6f4a19438fe3bd14be3e5682ddef68519cb56d79dd5b2b40d1281e84623b01af3c11f7b2cef780d06a0158ac7becf9b7cdc51618db8e7148a93637ca1a875d8ca2db07d78a5554760b792412c7c108335969c676888fa2d180030a8bbaca1c6c36b1fa26461146ddb13c6dc4247f18985a6cdfbdcb5a3455f497cf674fab04c84906627d32a0104d1cb3b1ebb9f398fb6c3a9af34a05ed7bb900335f1b84d2ffa2a589ec46f44399f4eb8f96928aa073f414765347cad3b0e03d551166e5e2ff9a89c15dabe0d46c925767df0f85e9c438ad99f0309400efdda91d4e61d0e592f8fda490b6791e41c098a9a839e040f5580b2d70f714e3b41ca8cb7a21fc2a778eb18a1e2a32c237c665fc4c496732e58b16f8607ab26b07bc59147218a8011068fa1d117b7e13a3c2b8cc6abcc8e184b0c7d061e94c0cf8c61b6ab194f3df5747ce68b3923b5998901c3d1294ba2a0df9fdc7a76c505bfd172a5c5bbcc0df736ec54a2a11b3a26115f1afd382adba6e3fde1e781737c12dab5c19bc5d27e91eab6579298d4b46c60c200d309df433841311008089ce0ab703ad7b7e17426391e22be7548e642cb4eb4703179cb102643aad424ddb72267b6cec2702fcacf19825303858fdeca7d5d3979c900db3ba5be2301c04a78c58ce20ac8f4a6bce27c4865f36511a4adb99ea25ebda5a6701c58347342ac876f80805695b8ad67501a793670fc76221641b89dfc5519389bc5ba56cd17b47bd2e075139c8db24e4c3a332723358ff5b8c6d3dc53fc79982fbbb6b887b36d52232d6d79684fed3add6c84fe070aedbd833165e5b547a3dcbb4977595fa9fb6d7d8b151858c3967b3e599571340568a2a651a3c6dad3a4a24127c28db3f27853cf3738a3476120f845df7803690ec6f97072b2e040995a957dfb6e3c27d55b7ff94f0fc44eb27b7fb81d5601ae88bd6de44163128bf423f1f76bdfaa9a170e43136acb8f5d3bde2b81e381635d4895f224fd8b7d9b04c8115454b0505ee03b332419c6ca3ffec3b127b036144ad4ea5b7d97482d298493e04c994ff2152815607c695991e85065f2c66a36a0c347a1e0b10ecf39500ed1476e9f6bb09ba569236d24459def02c37768956e567ca7c5c1c2ac05fb818d8610da9fb50cb6263edff4b6a165a13a1977f14f3b9101831b0f364f26e803ebede14a32fd37c5067c2be8c50be29d6757767424248ffb425d1780f9f164dd1d5a1999870af4f73bb09f632227351e0c5e24c357b7646edbaa599e0b62c569e32dbf0080dbf509879397c90ce4799b59e8888ae27844c760f901197250d395780e2e1087bd327c155dc31dc5b408e847b031f93e48345d3b32387934c9e68c9556b9d275d1634adecc0204ffb35d1960e736a34f0b07e2e7c4ffaf84ebc7ad39de16f968e1462c5371db06fdd21fe51b08ca295acbfe676e1e683bcb2dc9d3522b86191a151ac590fec45867cd81b97fd9a060e0e26f362b842390ba6dcf66ffedff1d26b87016b7108b4eb4a6dee0384a789d2305b871d7caec898358f01346d089844973aed3ae0a7a8fc6a5cc90a1533e0bb3696e243b28927da1630837a6aff33c2e8af1a7bfbe2ff8060d8df29f6b9643dcbe2e2a8721795636fe7b3187a48dd08a003f27dc2ddd76fb84db15572e0b2b857ed2ffe73526d92ee2a9b13f2693d2023bc7feb2ce769c2e8aa9973be33c77b5f8e147d4c7f414b18c9edc8cfa0169cbcc0c26d59f016fa1e80157bd8dac895a794a7211d83c84c7e003e663f65532018b22ed3e67be4eaf592a8a18b986245f6a8fded9b1562c6a106e04190cf0260905561565a131c3074a7af5a18dad69aa7d62636b9313c1d3e5689671912df51131315f715ea84d57849dce2ab105af433b034501128e2286e1d05384289711dd151ad097484755d32531508949a6e3caea36e6858ecb895f0ff5cb71f8b1cd677405139d5e95c6c34f421b0b1e0898aa74f7a96d7170dc0df19f1b88a0463608d964446967262ff7acafa54b0f95cd0c1b01c232db641cade388b6f348784e18cd33e97c132dfbd501700108b59ac80692371a4bca4f608d9357c6e1458cb372aaf02cf8742b164bf69aab3aa1bd6911202ae7d13f2d1cc27741e4856c9e2d654f72c205a9914969317b5dcefc8137aa564283d64f71209f82fe928836da1de181d6a52c9cdf1be072f8b5c44b063e7e3d629157ae1a768cfdc7105c6b50234b1dc8412f6d98038520fed97db8347cf02924291460fe3d392f21d7ac31aa6e90995756b6dc198c04a6c6eb6c5e41e1eddb8c78feff740273acf8938c0f52c108e5bfd7e559d73346e0b97595125992bfd6aa2097c0ff502482a641f8fa3b2f411a9bbeb9f8c03582ecd1d756013d793bb15b4c1f45f0a988f7bff685c493df30bafebfdcbd6b2ac26a743a0a21443ba776f17f021e80df5eed4926b10be1c952f839f6c87bc2457e1b95f73287895961a0d5874e61da6214b738124fc872376940480705aeb628919d8c9912909823ac384f6a072c72c03c12e2aa8462ce83737244f5525cebafbb491a2a75b4ae8006c2c9bb7d20b190987f5f85afd5b4c1fa8a643820590dcc5e9e55749df8e4aaac858fea295be26fe3891762cfc2fa45f823066280d2afad8653b94a813265f9d9107831181cf8839c72aadff85c745af743e0f22a30c28b4cfea2aa1139790d3e7b491b6b092bbb18bf773b06c3077ad3f1261b8f401e56d4c250c0f30e997e6a546f9cd1482b4717534065ffed131a8e4691e28456abc3ceca5849302cb85eb977a1743e9836ba2ab835f622cbfebbafac8a8edd97e5441ea0f84434b9949c4e5a91a7684947c0370d271e9788bd8222d5f53eee7491d20eb46c7321d5858e427b028ad279cb540c1a547fd18adea0e0d011cb7d251857c1ac23fb502f2ae515aa8c90bfa1bd693313100b6ff278212b06efb23fa836fd97331a9a276d3ec5f2256245674d65d043a072dae13c2649ea2f578583caa55b916ee6d65f510a94ac3ab6eca201f34f2074e631715b40478bafc594cde728d8f695287f2afe8af28859d5389034a75f89140eff05615cc41b06cc6879030cb0dc1788e4f34b3007a4081a4a8c8d8d47860699fd029d7d2a17c1ab2678fac43fedde3eacb441df00e61acf90d208591f70c75dd44892edc144795f86de15db7d9ae43dcb088c6eae8259dd224fdce809d6b4e2f13e6fe8e5b6da195ba0287ecabd18d48d1fd4f1e9438e120484df2e1ad9ceaae247b5b4c639413aef383d948dce80446ea125b67627d25f23e9fdf477351ac2d4f741e88dcd5f91550c71e72b84c90a5282f94bd9d1f08e3e240a0a4bb4cf556a52a994a8064a2c77e41d66077dc039957b795fc28239896eb2068ad16e84196b491dd47e16e12009398db1be984aaf6bf62fdb471a456b32c58f77c158461ac844dfb0858cfc81f591ae0105edde98acf7ea1c09599ae0e5c45b62f039e37a48b7ed91282aba6aab1d2c2b039b3f411b2f6897464a8ff2c333717e60a298be2709389cc644c70ce9c1a483a61e13617f0dc1902c3c8d84ca8ff9c0f43d022f448e100732afb8655c726e33ccdc2785d5ffd7ee533a1676ea93cb7f962dfd8ec47a32ef703fd560965b20a2fcd52207db1ef0046e4ddab569776ee7cf45f476772aafd16622b2613ccbcf4213183d5f079e9bee36d86ef709ae54422e38abe7a1db408b7ebfc72f6ca2b5dc19001142773fd827e72318c4fee1af716211d2401b104a2a40a2a3f4f683da6e5c8d827f798a73d2fa189371efaaf6f6e4c1a8460f6e6e51064dfa079adafc7d1f0472d042258395b2aaff31e943078e44a660b979e91e240628a12074a069b7045f20c9c9a9b2823d52d1a71cbd107b5b888170c2766fb012f60024c0aa6c5a7505cb17d925943b25101a0f9d2e78f40cca2d1266e06a85ab32f8f60dcd9caaad0bb5f7129fce17ab4ab9f2f1d9ffa5b9c3662498737d020614e54cffe567fb6d746c9a33065933c59b0f66429eb43013b43306506e0cb158d79d61938f52ec82a373bf7f03995e63b00fe4b109b3d918c7fb3e9d777771a510e1ba97321d2eff470d390776cd39cefcc1cba44bc0d0a5d7ab038a2cf4ae61285df7fd2c863d3ff26640f140d6c05222f1c7def48851a367405776cb72f19049b9f87e6192227bbddbfad8f8aa4822f6dc383b94e54821de59ed22ebca2babfcc7672606b90efc14eff624f338d0b63fb20fe28b3b3b1588788c12e77e20992e82eae0aa6ecf03a627fd66f251b6ca686142ea50223db2cb10936cb8e619b811a21f914b3f8ed1db52da0a40fc63df4623eeba59309ce490860eaf0020e63265a565102e050340f9148144011ab34c8617a8806153c8ae062293937ba31f789c97e937e7226a5e2715a214120e38fdd66c67e19d40471994d2b84d9f0acbfe2c255c671f3d70a5305dd13e7555dabbbb87cc4e62b1b34cfcc5d1b34a664d79a46d6826d4eebdb5d7df86128a3152ec3bedc77f6c1445732468ed7b91123cf314843e939e369b69d0c657f612a9a9c9ff40c396d2a3c05b27a57dd6198428f7fa2638eae170fe584310c11d0b13a15ec4c1b658d5782b20de550b166f2d89835a34a893cce987b8a807e21686ca78493c906285d7915390bbec275bd5535804b46ffc2de6cd313235ab52b8e04e98b4a7539b6298c974254284dcb32875029c8066988f141034fc156a5fa861826e49140cc2222099608bd279e6f7b3b12db95caae852eccbd8ce691e0bb937a6c83f929c3517a0eb2f247b397c828ea7a97be6cc6a357e47fd52df8be5581ba6b606b81f173656c4f7440b54e644ab775befa10887a1b66e1f27b98708e80c7e2bd8791ab006db14f261e8ee3ff42f3b8a3a899d8146d24896f8f6e3e7e104ef85fcf2f9453847774f63650f63cf6d944ebaabb9d7f5b3f1a3175860acf493534325b9b5da74bbc226c5f346aafe11a974d9accccee2df02a81d971f564bed3f7fac752203ad2c1e8cff090f8ead99885ac203351ec4280a1d016ca6c520061d864ed0fcab91033eff1f8c12de4e831bfa957c1e89921b97c5891538b9dffbf93b424e905923ca5f25bd64a17d3726922b9cdbfeed6c80ff9d06a3cfd0e9497a7b961aaf9538852a8e93eefc8ab49f416ee9d1b22d70472fcd0a774543cd8ef286ef9fc586c3661b3c8dd8de3af588f1d91bbc1d3f354b5a05f0689ca8e75f5ec3e1f75988f9058f0c154a4d2a748b2bf6b8705242a739356329878b0251f2683960a6e18f1e9719623bcbaf3176fbc0dda2125f506475c81c8fb1364de92538400a4278083aa7673e9fdd3a13e75ae0ccf78321dcaf637977fea58969252f6485a0c7644c2b072485dc76748ae76e2a229430b3b5a1d3b7785dc560f5914733425a02c6cbf177e85544b6ea8cdeb42f05707519d79d01f18742305d3fd952246abf5732675f000", 0x2000, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x0, &(0x7f00000001c0)={0x10, 0xffffffffffffffda}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f0000008380)="1d3fc0588fbd1ee18d3d558a5847e5909b75ddf492b38ddca57fa90102c1981d37139db16dff89af93eba795c940c2869e89d66dacb9e0aed49166803315f8c1e3a428d3394e202f8983f2a7a557b15c11e2ae42e2f07ac634034c2c6d63fe5505d3cc16fb48a8119d815c5d5391518b847b1334f3d717d9ab5a4c85a58da58c7438e79be665e1b196897bdb462a2266798fb036d83bb993d48bfcb2774216931c85a4fece4b93b635c3f1e651560fcd6ce0b182aaf777cfa0bbbcb6e5e9f4d450fcb95559468684612a5bc1582e273fe8bd58088cf411e97f9b671a81d18e865c2d899716fa59c45d7034afa7ce30b800091bd01ca3df0e083e1457885eba6730a6c70601bba70b2323d6b669898290f43afd84c333ad8c4c3960f70d0e47eb8511071b4e2c6ce2b12332632052cb4367a98593bd39bfdf76d228925d3e7208fcd42d701881c3cad1cf204669e4c598c7ae544bdcabac797503bc1896d36bd0be9edb543d5428cb04daadc0b4e54144fe8a86e1e372cd773a00a3e759fee51aa7cdfedb8c2c13ed709add3235e70c1dff10cc5d473f6c1ea92354c8bb991be1c39f4fa739824cefb41621e8a6cc475599ad2a86f2cd5ffc85684346bd6aec793b06141ed44a4eea375dedfff21d720c725562ae759c5f4737c34d8f1183e6254016f5d54a90114ce910b4c214f35721edbab6b9ef69c89fb3f770915511ea31622c453c53f646b205a0c383cadc845ef9769e99dd58f242b24e98d8d74622f4b7a2b42eeec0881b435404805f177865eeb3263ac63038270dc90b418407cbd984de98df8a449ed3466bbcf6c4b140aa4c0fbcfd4d88e1534e17218c87c32fe2d88807e308fb8c3ab6ca8d145f7c6406459b926e07cb30ce4baddbb0824c0378589b3cf3e16c216163e2966d271b8484a47d3baa946cdae77fd61a10472da8efc228e405ab686ff5a29ccbf91f6cf62dc371e23198b34880f200428f4ca5214c2966c426ce9bdffd7ee2c597d80ff570f44f3a07f5eb24fa4483e2938c98a9e64459f04913564df5d1b29f93b934e95fb4f04dce100324e5d7e6c22b042b8773a792b88405831ffd63a5dec2e764df571214aeef33cbc6e66dc157a86dbeb1d55bb3cbf8e063dd536d0e0ff006ff850ab20fab4023ffaa07b6ab6f8651ee9ed593774a3c3520f595984278b30fb4c0cce3a0afb4836952a7115ac345557f1871511415bdb9f593057624cd8a150954241cd60dca17b688d97416c29b23a767e9184db7e19a74aee2f17d11fb024d906a22dd2ffa2da04c97348b74f4ab99248059d1ee542c5837acb69f1c83f50dc66f9e1674c1b157e1e4f95eb462cc8b3db4cb9fc52086c17f4d5a9fc1f7748dea1fd7af47a7989c1219fd22c91e95bd299d3ef22bc73409d9949422b6177a99b6a9f610b737887f75f718257b5b2dd515acff039886505cf2d8fcf9cf69f74b812121d219ab526480a565a6ec9c2dd4de1b5d2632833a81b5fd445bc049c5dfcb242abe6141943fab1417ba9d2174ed25c521a8e5f6d1354c93176b6d847aa9108b8f49313aa6fdc0a88d08d3cec4f9e623f829dc03aac91c5847d5de8d21dade12e7efadf216ac3746530ffda5d038fd0bc7d105fb8b9fd1cb2e789622b39c0d559c3f887e11d29cbbabfdbe9603ce261549babcba3ecc739203f08238a5ec44719015cf3bdc0eac85c3d72ca34725f09ef8a5fa7cbc3d9197ae877314de309182505e0dcdebb78fcafb35504344770642bb13a22914b9fe76fb948ff03a1a42cd1a799dc0330ff0586aae32fe45238978d2db16629ff8751893e41e9ac72303d91de135313999dde4d93e881b0f1998ab87e5f8e7463261fe872b3ec4ab2344d26a982e286e5e7bfa8126ef4de16fc6107e1b077598e1347cc7b74d57565d4cd9b66e76f6faf51b247ada9672af011db71d48ce36bdc6fa234e6ccbba32a450f837a7180fce70b08a199e7e4c4bd3af39c6b3e78d56f300a45463ff04a55542b01b721229fb35a788769dffe8105171a0cde67cbd9f066834fd24b0ce4ac39a0ab5f96e3f24917385ecc635d7b8be5d9585a5d389316f1323a9916241ad9b490c7505701133451705ad712296bc4519aacf073fa7419a9a81470c315390d4e22820eb0dd0c9605132016f883b8a5e9b9b9e08cdca196abba7f78732280b0b93278f469cc7ba81dc6e764746ea2604d8ce78e301bcf2b9e638849a36fca9f9386f5acf8d9084594c5f20504ad382d4c083c5965f633248f20f1c373e6ae69719bd21355290f50ed84da142127b2c6b0a4cdd4ef4c753edce171d49438ebd31223e8a36f3219a3d6c60ca3a08f88f10bfae1e6a2a5391846ef4e6dae8442b17f7d9f727f47bcd0208185ff18474f1ca1b64580069e35e47c9bff3e421799220dc01eafe2122ba5faff63cd0f275c831e7933391fc180840e9bb5acb5357b196d045853398e93569b56732a637327aaba610de7a00fcb10410457e4493d532c99bb6e95786517add55467f06a23521b7e92be2dca54c9c3df2542384a82d27cfd02bb16e44a9d8c5f07f7e232b794dfbaa8bcd89c359054c188bf5ea5c251bb787282d86b0ec738283e16ed5dd7a74b03cf483fdf8a14a82cf47f4b04185edc4a2dbfd6356927322a15dbe4f35848e6f10eb983797f2886a266b31c0ddda9e2f45282d137f2e6031d2a756a56552a756dcaa24821e3a54fc3cf38c08feb31cd4e32a464d9399b10d7eef1bd627cab3f22775f4ff9d8d5d017ed0d0ad49dad13ea4d1d2cff663d9796b43998956d17bafd8fa49b934dee9b583fe62088b251919291e3b4ca1cb89b9cb035ad8179f2b60d096f96dc1efdd350e09ca32abdd88bc5bc283f0a3fb32588c87e37e2da427a469689c65152558e312536a2fd5edf9bcc19f25501cc9de0fc3df1a595b61ec856455d184f77619ebe89911e165d81597081f903e9bf69e1d51c6fc1880186a356157306c2ef2860d04cbeea0286e4f56d85cdf91cdc2029bb5d1b77debcce4886041e3ca2d6ffd2ec999e5f177418f21979f3135ff517364d99db378ab03df76febd0b2fcf72e7476956428ca20e4be0c63779b112a393a05c5d44d6dc8088dc57a9c0a5b0c5e2a41d9a265a400e62ccaf48aa478f929b354f2013e3287546dc8a811fc7964a50a790888ddc1814039eee62313ddbcf1c55154e386b011b36d8c74888669f334ff7adb1dd421d43b6223ac8beeee98ef1e54e6dfb4fa69ca8a321b3c2edd30143fc17806b04f8bfc403a55467be88cf8507d94f245ca59d1ee050f4312169250ac8ca1eab6eb00df7bccaea896a6e2cdfce521a404913df83bca8e699913b4cfaaf62d00b90eeb3e106eb4aafb7bda8d0dc5383d191d54a253982bb3885dd6afff5f0d85560ab129bb4b411af28740534edae48bc106ac43c3aac6528f48e059d8cf0cf870f9dc6bb669f2b43bc1b42f46a28d82c200717be88d4493572535d2663e7500d865bca452bb7540d163823e78302dbea5cdece7e72b84880423a18fdc1a080e0f0bdc7a58b04b8959ff6f67b224fe72ef22fbf6adf4812e550772fcc5949a157371f1def1a020d951c005140cde6c887040cd035dd972fc75b7b469070b61e1a442a78db4c74f482b950ac7aae40b009c2d6736e9dfeef0e9c9d718409063c57b082beb648fe8b41d3ecf3ded5cb24f7c20edb6ec753c4574a594b62edd81d4deb269b9cde7e2cd63d8d6da58736454e383415574b6f88b0c4dc158be230beb2a67fce06e7d8a70c554ebc79c2d40a31b1c19797000a8596a79e8ef11d87bf2922e8805c455a3da4c4ea2c22ef52ece8082708fc1dbed09872afa250f8351778548e576e97e4b3da023455f8db349fcdf8523f52a56c9b1f3a863652b11ce7cc619d6eef1611e97d7f94ad7dd65f54f88cf49d3ea4490fe76411dd3de5799174d1017b9f3017c2c3f8f30bcf28b68d7833b7a8fa46c3c3b346e1e2f55d680d22c7136f9de526427657ee167cdf90c90142ba705465ce94bb1803a1540b36cd8d22d6d9115c002f2ce96bbac79a573ea858cbb8977d9087f1e0063cea8c86a9671405c4fea89012b241d94a31b15ad36cf388ce3ebe924019aa3ed069bd07a24a46f7f818fda0d6463893621d6531541a57449eaf57dc09c9767a598444e07f79e2beb85362ea93ef04d37e5c4438c8093c026b3c042bf3cfdf11e5db84c05d7cd6bb090ee7686d87551a807fa47c07a84e9fb490f0531d38b86c344ae8b48aff790bedf407b71cc49440bb2300f9d9f73726daa89c7b3ade0b84323a6da6e7639652b004ddd08dcc03a7064866bda6b17ce8c003737a4c3416551a6fb779c414d4fdfcd3b29bd0daeb69c965f8395269019691e1552da684b06febd81d5f71b9bf095ffc581e6333b10f7fc4a3f365c0bce141b95a6fe580a4183713103cae76c776bbd29a8b26a3f2314609d1540eae73e43ba296d7576e2d8769bae7cf7518966b631bb3b215fa6a56b97ea96e116421ba669617ecae72e3aa186b23a289059c16fae6aee21ddcb669592e5068d84287be2d80a72642de4950366b346285b42fd89f49ba3002315c4cb76c12ca0f96b0eb13547e701831646ba663b0622eae281da69c699860728775e6f71ef3e63cc010a2eefe8d4dc3622232d8abc022fbdfb7821f02da20ffc938a7228d5a8eef8a9e4fcdc2ae68ff7ba6f8ff7e7e36fa40d35658e727554f696c4df6a45647bd661450a2404dba0b6021bc7a82df05b4076f86a7f33faa26195eedc2377158fdae5c4704456805c8458f4d643e356736c2378172d11c33dd73b0e760ca9eb5e12d707001955d3e6c85d427a472de77d6c1e28220c8d84eae5c4403484bb0d1b7d207c0c9ea476d2efd0babc5b577fb333bfbccc396471997de9d71b3c2624be1d155ad787635d4fee3f253e5b5f9cfec484cbdd510bad883b79381e8c608ce793cfe175ddcfb49ac6f2cb67474b415568ea90411f455b651c5c6890c94047d86f2c6ccfd787361d6ede1fa2ad89e6dc9fa796405d8927c5197e17e771173ca5ffe4af4864bf6a9ff10ae142ce2ebd664ab94ad37352f36be1afb259c7b8627849af46447ac05600ebc9eb636aa2e56c0c8540857595c114e4c1c45bd735bd73ddbe21823232e1db6ab4b985a681ed4ef505e6025d4d234086f4bd8b422e4e7e31e823bf5ec1d514a328e1f9ed98eb289de2a44229c66382ad64e3a1fddc548786c52c4d74e6e5dfe1e471c20a8bd6a90c1320318e74e7a1f3d7dd04eb81b37b8157db526327bc7bdaf16b181ef71d813588c2747039cd9c62f2afb253ac3a743d083ee53ad6828060b214e69b73b2064e5a01aca0ff1f5b30329ab5fe285193711f4401bfda2c89afbde31adaf1e0a1a9dedac7ae09650183f460f4a93b0e1f48728fa0c2b1b70c5a2ce4cb3d99627f9389d94aeb64e27054cc71b26f7f281874fbfe82ba74e609a2ac05ed5ffaa344fa14091cddf0c77e883a295d529916a16d06b4207e4a72074707ff4f17e9657b6f55d021bfd432de6ee526d26b4f70e5f8da02c23d43cd2b0ae674a573258df27b775db221d416cbab68084c3f5214b199e2fcd84705772984c92c8bcffe37950e8f3fab716f994765d0b09549201bb19ed09364880ed17bfaf8be10e842051f9f096ef864266593b6d97767b20a5530683c88dbda542095e9b57ce6e04b19a682652a4b72cfb17844a0f6a9a1a89f3f26ba56a05117d20f3bfaeee61d7deb85532ddb7d662163aa6386c91f40ffa00db6f4a6523b0b494330a932bc544629c294044fd0ac6049f285923b613bba81064f84ffa71a900fa9732023c8fdb0c480f3154d0dd815e9f2661b3ccf3da7c3127156e3e094041e365c97dcc6e74965a659034701b9961f9b755eff6066448f65601e9e44e12a7423d94027e4f118b5cb9f33bd762520afaecacd404c6dd59dd791c1bbc87277d5028596cb62ff14be1146ea78626e182a5beb492503b18d620543301161de533af3fc1f666727366f10c784e2f0a1bb5f5860b873f03f26b03707c2b8cdca494b08cc98c365009d22f3231c7eb2a24dd6cdfacd577ac334c2a07bbea2af22689fa35cc663013588419b5256fbd52538c9c5e708ffda77c0e97ced2e703ea5229d4eabdeaee8165e80d5867969269c0897bc45d06b96589eba66dad2f98aa72ee0aaa4aa88d6e4fdb0df504131909629eb4fec1de621e14f5445903716fce8049f89a0493607b11e596ce14c2e81ea0905922abd9c8601f558be28d8a409c360a279b86a2a3d09d8c422ef396979b9c3aac8e05b02975419213ac78dc677eb0b3a524ac0baa037012a97fbaade89b939f66d3cbee41e0c05c62b27fb0ae6bce02f7163da983ced2708c16b2351c1460131a9e922f1c1b6981c67faca4710346ed65a4ee56de725bd193bae5574ea91e104f660c4d502b7155eccd61fe4c5b819676b8727492768fad9d13fab5a240ebbb005741d5bbc215139e07be5bb73e3f6b4c4be9519e81c7cd088864c16e4650ac64418133650e26b9ef9020f55438acc9e7161b2c74bd172354ccc051e6c4a6897354bab543a7f742ce799a6e182b86839173acb03f39fdcd4a7637bb48d2e4baf031079687707612c006197ae598d335c463b6d79e0cc3bb7ecc278b9407a0d53381bf3cb65e78adf03a7dee07409b97d2df91413f04828aa2440049b9e8dc4fd907d879fe8480a239beedf8b729dd76042f50985db6761ac1f2e7f0cc48ccc7ba4d0634b0e816c8c68eff96832fbba350afa1107f2da7c53bb9ba8407c30e41da1278f31cbbcc394aafd6a1df76276e39a8d3c27c417753695a74e7252ddd27542b4bc2b0ab4cb001d01411d288749bfbc24ea8472e2906201655ee65d3f435f158d3295590eccb3e84b3f09e12db00382dceb8846fe155eb20580c20781619a894ec92d9a80a422a10b7ea440c4ea0bf3fbbebc89b2c11f7f3e858c16cb823e10203a957bc48959b1d5e3aa69afbb8a5ad1bf617ed59836a289dace4a5224ef9226a6f3d27f869292bfbbf3607f5aa807d294caa053a85a2f54d97f76adf509593bdf46054fac6e4a6b66f173a31d5eade9a38f5106a16704e80d61658ba3799b00919f87c0b02fc4f7c288c0252f46240efa9044d7458f6b92497321f696831565fca86c1c0bb72b4952102b777b466861d22f78dce75b8055dbe3d73168d41059715a23c9ed906e80b2353f32fd43e92d5ce90821bd9c6b4063125339b8f3a8df16ac4b1b0ef85cdbbc6f2acc15ad9e0aeb19bb0617f8623dc029abc232a67447b1ee4f6c4ce234c1ea467a20e8cd21a097f096855a75525c55a2b30c74ff8011476addeafcb18b64ea09600d7056fca53a12a1f89501d00dfcc81f74760fa26e081043ea648148b1ef1e4906e0a65154fde2c554b4c36e97de184dc9169ff3a326cf4a14708fe3c6466c37eed71c44143fd2d5e22443d1b61fe42fcf52207f17422a96b222a1c8ac8656fe98d7f9b5088a725bb3889ce24da112f2cd88575217ca6087cfa659374a82cd7cdb63b47c3979fcf094b62ff72fd4f0adf0750bb3e001ca7772f0733a5fd15e81aea1abd929df4cb195760cceed8d76b20bae92244c685b6a74be268c64a8960e1d6ec3edb9e70986b77eba84051c28900ee9b6c52d4cb6d67eaac2f5cc5bb79c12a5cd23a06f8605b492e28983443d245c963b81ddcba2a561957786a3698e2a0ccc21146a95ca4d7e4cfe16da4b4738a36c95d42f4a83217ebc7d5d1f17ddf5cf87f8ec8de65f0e69491686c973e69faaa179e52a828863797755deed4c1eed27d51a8ba25fb0821b33ffce69425d27ca2ce73c7eb9bb976f3be629c5608993eb49acf22e78c1002ef8d53ba36ad0b913887a105c0c5cf1d2561b5c9e3101925d758039f6d27ab42029d5ae10ca096b71e4cce05b7f8f3cad02f08b6e2148a3cb5f12f5577f52d118ea055b47b136da35283cbc6ab9570d61b54af491665d9bd141c2a11eecad22b00429b8c5d7ca9c94907429da625315826e99f3e61537a00b554228975cb593bdca2b28c1b022e8f4e6b61694fa934fe35501633bb8736021a08f58deb6d3d462fe00b7e9b5ccb7e2f065003b16d0e54c66a9c9d33966135e410aa0bf48f59949771ebb1d38b3902865fc309e7c25bb5b4b7de8611ffe178877c31a8d1b191dbdeed9a2348fff1b6217553bd30d3d9b7eccbf64b872b26aa811199c76915ba43c610bf4169d8ffe09eafc1b0a4eccbb64a031872ab1b3e7a9b9d9cf1e3ed1a1b6a5b4a32ab67edab8fd693360c62c9f34b00dabe47cf1e8428e28d1202e556160f0d4b6ab524107f5ebce2a4782061503cab2a1e1aebfdfa22edd4536dd051a860e9788a5a4691b243893ea6b8f647cd9094b643b9354a600591cbda3d762e7dba265b9c8e6c338151709322a51d4389431047afa1031d18aa0bfeff5d1bc28c5e013eef0a26a7f1eb3c4dbb12a215882897a65608fc3da16a6de1ee7349d9853f6faaed5fbd974fd051627ed762f74341c6ceb06d4d4d635f599aca02471ea5e3dd5012cae344abdc3f990e62fc07aa325757d1bb2ba0bd7833bbfd1ad4aabe86cd389afffab65c73df538d6f9b2da50b9ce1b1be4835f85f2d77a01594d35f48b370b0b11516e8913aef45196a24b290c7491ef39a3a6afd3790b93214837c3247e76ee41a4bc1539caa78adbc5b49d471a9a1724e62c5192ddfca31882350dd906560cb257c3582c4f294193dee760a15b35c9b746c690a4728acce6339496aeb75c2e350ec68acd49683d23140feadc2dc3eb118a8e87281c60a18d22fd12998c4c3c30fa76f9c76d1a994cef1dde10e4b5554e4e4bb0d164e3b85e5ce16cac42403d3b2c687a9ac0b8813a5a2ff6fdfae0c41d9bd4da4f2dad84a309ed3e6f353e9b29cdc9bcfc0c2ea73364554f5f9100b9a01e55fb3d1cd857c9f42378a3ed6f32d87a9cfc4c8366d6a28297128226b6c31612f9b6c1deb481dc930c417f64eb53cf74abc5723375e6370498817273981af928e9d64c2e2c1f7aa46039f2bea921ee5505cdf50f5c18d0bcb6f4729936e9a0ac4cdd2ed63138e68ff225a93b21279722f0174dbdd83b7fc3f6e54f602107c099f18d31fb5d682345858d154475ec38820fb3f9e7d340e9757854944aabd9202d4154b3ae6996828474f0cf82d9162c29706a455253e2b7a236b7c54b7deaec10ac95d71c93f7ae57751c75a98a59be69628454cbc0632ccb25faa8108de381e12cb18758648ff42225d26cb7c3c78745b0fbd371480f58dbae1e32da2f5edd0b487a6cdc0200536c3a45533e91b3241f2d19b008de02891276acf3194deef6b28133da6b7aab644ae69e0d310cb29c9b100eccf9cc2aa140d718ae5a7bb03895ba915f2ed39a681152c6567390465f33d6addfed145bdff55795af7fda6bebea3c98f9b4d0f9538c9513d80c39369506638ac267bd2afbb0d0abe3c44715bae6a8f2fec7bf3178a5c8821c5a6b32692f13153c364ce41a6e6e9201b733bf8fef31d33d058af4891138acd31b38ed8dec427b1f5b29455c4721bc1b69a9fe0c588b134831f57c64fca00fce1b582042bf68c8d4f05e27c685c81677ab6331a084fa16f6df88a6a6c161d4a2043ec2e2586bfa0aff858793f41cf2003092e55205ccd9084422d53245ee37aa8f16604944051fd787754eef613a5b2a0893e0016fd00e7ea3b13c6f6a7f22ef4346790b5f2d2c0482eca4f59441d488edf51a5e71655f2c6a7e6f348e8f364ddce5a57e0252a6ad7dc6170ecd50b267673d3054b53f03bab834de4ff37dfb731ea2a2d678e6791c508b838bfa9f274a8ecf5f499ebd356976e989cdf7f25010cf28169a56ac2b2664bde64611273af5b475546b43056f436845c7987a986150bae9121485ad36d2991e5bb14015bb360a04d989dab9615140841fc55e6cdaf73c914120fc6fd8c1106d75305bd1ff6fff2318ba444caab42268716d5c12dd5afd97abc3a048f3feda20622c1f16061f4ded6ee023bd1fa87496081c08f4dc84d946cf0ed270122b6c36da77690db383187a0270e5e9dc2c7b7f13a6548dbff4a462424973e424ca4f16ee07956527336d26d86a3810b4747912d0d72b66ae8c5cb58c500f6d48c07479d74ad29cb2107d3bc2a0c67ccf82af7e19734902b3f1092a515f71deff0c98babdf0c6a06104c0fd996567bcb0d4970bffce62889c6847316bea599d7a2f35a19adaa500a0aa8c8f50bc44f80b4a0a0f2607a8e78dbe95fac49831e0d54c57b415bce00047d12b16c50c511e96ebb39271d85653edc76f3099effd558bd90e7b8fd0a5fa50af4e424c37c9ef5e907051e61b08ddfe49cb318c37dd5978d0f11672efdbee14949ebd178af583860979deb98354bbe911582b6b4b22aedc7ad1b9e25f4dc500362ec7531789e5b84420d8abc72778dbdedb38ccc1e9aebedc8aa345a96e6af55b57e612d7438aeb0442f5bdaf696a072b72300930c6321bb3f9f0a6d4e42d66df2f3207822cd8758cf349ac1d291a474136dd7506a5d65446f7fe6d8abd942ccc84e93bb12f705d92cdc51a287ff98fb45b4a08f89283b133c14bf1840037118a5d518fdd4fa8c9e49d94d61959db5e8d90220d531efba57910110de3585b4ee4ebd64f89c745ab9d713604092aeb735683dded3de2da3af777371e6c678dae6c86ce8a28ad22cf02c2884987c2f61b2fc764eca2e3f515c35e6697f74243d3a2cf2f9cdf3d3c9cd116b8aeed884d3ecf7da0c1ad282c561f17d59ff9991ff1e31631b5360493f01cfee17f40cc18cc4cc77ff85f8762b6c8b19618f7a916d8caf1e3f3010e8452e1350c0091cc4bc5e2e303a9c3103789c534b511dcc56f895508d1103cede5da804a021cbfc9b0a23025ee40d9f23f03e1c3cdc1152adc9d5fbb394e6ae07202cfc61ba4b2186d88d13ed722afa5543aaca9bbccbf8d972cfceb33a4410947082a56a2132cfabec36e3fe9b18f3a88793e5e64dfa8b61bebcbb952d2c3dfde8e54f7399446e61c4c481f4d25c168b65234483f36daa99bf034542d3354ea93bed1f3770570f503e5e59de2a8d3c61751f4a45d52ee887390a7bf2821219aef4f1fc2746e30decff269ad83b7dec01278f4952c759efdd02e59e642ad22cbcf1819a199ade65d76d75123b011a29b807cfe988eb2153b1cb81a9f13a7b23ee5f3372a97b111d59760a3fc8e2bd06a775553f7b7ebec7fd0e054a00a9eaf46a6310393ee387698ae80d180742c42ebba50ac3a3c615a84d9f6d1077905dacfaa7324ba6f94e88df6ab6898780b2809af5e8d630bc5132d1dc8e0b741ae663a90588d92676b261994c2af2cf4747a8314fb022b0d76f74a518de290376bde67b0156c880a8208b2fd5d22992e6978aa2425865354c441eb12d8c1214afe5531b64920096257a6c439504b8e6d15c5e8abd7701df50b15b8068e43472dcff88c800bef997a76bcb9e6f120d9bc7b302d40685f30c067c68c2db4ee3ffd1d7f146baffa2a9935a07a6136a237d3808ffd06c69f40cff61573fbe36e2fade8bed56a833f86d", 0x2000, &(0x7f00000008c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000340)={0x18, 0x0, 0x0, {0x6}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) r2 = openat(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x185d42, 0x0) write$RDMA_USER_CM_CMD_BIND(r2, &(0x7f0000000680)={0x14, 0x88, 0xfa00, {0xffffffffffffffff, 0x0, 0x0, @in6={0xa, 0x0, 0x0, @local}}}, 0x90) syz_fuse_handle_req(r0, &(0x7f000000a380)="7219fa4736347448f0d1f962fdeaaa2f4e9565d9ba0765be302453af50403a86eb40b21bcbd77bf4c283a6bcd479ac2c234ae7a215c9e5764af76829b9c3d50f5f5c7b6c2390df2b003da1a236837357a9774f3870ba1f0d15b06453e65ec7356f9d694fd1d082bb765691c94cd946601128d3e84bdfac4e7a29261a1b028e5428bd784a1bf2d319d4369331b66b6ac77f295881bc717a69897708f4d9eaf8b02a6679b81fe53503714d30e10dead1b02c2c73af47ecbcc2d8afa86b152e059f632bd6f7d86f180d7775dd3dbb3928733b20d0b8e568ee0ccf0c7c94006592817140a80384112ef5a2555dff2ae77173df629e420104000076ef2353c02511a910e05b3dfeee214754b2c0a169bf94a78a503e89ee164571056973c56a9c95d4e934506292254d0402d978279d96bf35fa53a6345cf7ac3914a0d1c3f06b1cb9f0427d0c2d42ee4a81833489843975ff4d2e9d44dbfbd6082589d0baf183123cc821b981bf5ce4576655094e5c4ecfacd9608194fea94bf0da31e3610509c215a4cd490ddad06c0bb5c9a1779eda18b6ed5b9c761931ebb4f220776bfa7ba359650c38a6628dcfded61c8267d1590c8a6726a4039a2e7b83a1380197ab04e49f11ac215c4458fc92ae773ce33a3f058da0366e4ab24d2d9cba0fcea8a29491cdb25ef21efe9dc233323b07576e630ab3abb58c1570598d1c7739680247f855b8d4ec1a3997e6b2a04bc9a65c1c11fb7594504d503d4f1a79a6fc5b15c76f54681cb8acb1efe7bdd30470f2fdc95e1fb758267644d2831f51792bfd2cda17008a94cb1dcf7eb84297ce9b8bade982234b12be0b01523078483817ad574333a0e8184876d3794f44c7da1eeccea59bb261d12efa7389251b147cba04598f97d4baec8b7b4c6b799e0d7481eeb7dbb235e65f8b6f5ed6bf46b6021df25b3b73e9771269c7bf06f95debf193c2adee6ed34dd1b545a861819ae58e3b7069c6988f7c28d17676d41ceaf1d932024e70f264f5c7e5956c3bf0a677bcd59158e5c9942d4a1981893c866602d24d4185130c5b11f70be0ae8f79074baa3a2fe0426614351a256dacfaa55cfe6aa71a76ed18a882e5479c622653a98a50f435bb8b22b05ea16a4726c0555d92ef843a174fefe39088ec71911adef38ddf8005f3635bdf91f7002afa560179c1a7d62b28144c8bdfed330d3efc79ddb887f1ee4bd3fa2c342b6dfc0af07377cdfbf9b91616d8da2b3857d165e9bec14a304ee4566a3b709b9621918d99d6291deef4e1a1f04ecdcf0d92c0d84417b2b2ae4545de22f76c2528dd979ca1c40ac83a37a77794b07337a6b0aea2bbdd028275c24db33001aa9c6e8a37040546d9013a9889cdb8950169dcaa657420200dc523bd940757330709c210f26f3ca8fc5c405d4d3033fd7f8188e6909abb283b582349b83b01b766c11d2fb1433c5f57dd682da1013a4ff17c5cbf2907db7629fd376b3ec67bd1b7ba2f06a3e0bb23e658018dd76ffa90af51940fb5fa73edf117a2bd2ddcabe0bd96ef7a0b702fdc1125c9e6d873566e0f8b4684159a54e41df0fb0fd972216a045fcc086da525ae1929812d4e0b5dce70c08479be39590aed1ec9560e80856a40f7e4e408c14ca791c5bb234cadb58af2c8c20d666311b828a349ec21bcb9f1d9629b2a623e9086af804e3af32f6046437ee434dee9cd1a0d42e0e78eebab35988b7f1c8327f200a5dca16290f34fe3637bca69fec029205a55bb3ff218648c4f31f558f7d1eebe2d8146117470ba8d1a6794326fc92e835eff7a33b988a41c7492eb4fa6969419142dece6f7a7a9d404387762d813c4d744e619d896689ac9cb194dd235fe24c567033039b9afb9dfc77f9fc473dfd0629aa22d92e5bc388ebdfa6b1599f281daf0c464e34340e907f2b4a1cf289ae93628bc60f9c71ada6aa32ab1b4301040b1e387971686c68bc9eceaa6686b93f8ce396a1db7e8d92d0e2c122bcc9f7e8eb79cdca3036d5d6f69fac8e45576229f40357146c016af09951ce9c9ec08bd658a7ad0797414360844d0c795a9695fb76e3e36723d85c6298c7b6eebe03ecf5d44e7083b99fda4c38660d0e250816de5b44ad52b85b9fb2ec07ef99d5cf69797533e494a9de1e266315c5dc4b5303be9a171dcc78bf0976726b342442bcf118e384c993621ab4d3817541a4299f26274969b8aef3a9a27a9537073c2af67dd599ed87e7ea2a54efdde32a8c4b247561e318a8bc0c54111e3c1e88a909133b087cdbedb007bc318bab81046e1fbb0551bbc33130e1d1e44f74fc90fe3531265f9411490e902fa016acce6ffe9dabb0b866aaf1af3d6dd019843831bf04a4826b6df273af7f527e36adc5fc122e0c6136c80ce3e9ad0e0183e2dffe942efc5a6feb166fe581e346c1e1921626ede875ca2827b76e053e735a00da39dcf034e8f0ed197c064c048e3949a4dffe8aa1998d94b63b15e491a830f037d45b5eb11ce15777906f877336e852088400604bf084fc0f688356b5a9ad44094f88827f3c1c29821bf16baba51deaaa4977622159c2b9b7a2d80c50d5682d1a2d337c6c0e56219733dec802de90b0ccf3bddc07090feb4f394be70bb0adb4d102700bb8436144cb3d09c3535fb9efd287dbcff5b6233e6cc380eb90367352e4afc968892456f30e91ff906c4c818fc874072bb66d73c3d272e69806a94cb35e634d21fd8dfd0ee6de054ad8696e15fc222e064291988518155cdddb25f7228d7cbd6bcd347ed5c453221de10c92030e1a1b96b8aafdd266dc6f71f390ed7c143d2169feec70d850a138c661972ff8df74a053b96475e473bb4784d9a75f1c1ac78cc8728a84f762806b4cca78aec0acc629a2c0db10e4ae8c0c60e273c04a10a522d0fc12592ca9070fd4aa263dea5072aa1f286aa2f00cf94fc9b81e4de59199077b5f272e113a3b6c77e6ad0dce3a28524b934a699adef9ec2a67b5baa89056d97d35807e43dfd3e329f53223c38abd5dc31f66dd785287a5c8dcd9d2151406ca88c10e99a807f035ab9063c7e8a488c9588ea07db0bbad959932e6d1c89704af0d999c07615bca6d10fcf6873fddeaae71975f6115b792ea595be6a57c9ea52b41314b1e6472c82d091f66c18836eb8c68711ef042070545040220819e940c5f4ccd083f0f2b757c8f221a3dbbec12cacd2aa7531bda0fde96967b1b683a9e8944d624d26858233aa9f3104515182ce59929b94291eb5c2d695e4e6b7ecf30e5160d30c62744940defa7b455625047830b46b64a70e4070c3e47f42708242d62df081947cc7c13454447f167f2b59013a914eccbd44c40200e10279d45a2858703587491d13b3e816f515017b33ca0c7157dca8c8dac532aa8d392762d03034fccff3b906f8453e3517deab48c6e8b78fbd283c8515ad00c96810890d205d8052566d4d204f48a759877d3979ebc54d0b606a98746aa97a178c19abb68325de656b508a42c42c1664db915c687f47a75210764898b2803a3bd3f82c9a6280044059cc801fee406a5a14093b05a12ab3815ba40cc1182020d83386ecd8c1f2944b85b27b639f9df5aa7000481178a5894cbe66ea9ea8da50115cffa32c281c598b2dda88f16f51d7a1e75e0417988ead7adc10b033d03a41601709530799f81b171f7b79eab121ccd7dd577fd068cc4712c437dfdcb77b3981efb970d72ca32589633a9e42e54a79cea76bef83a0bcc3847ee6959405d37af73d3219a28685f71b337c6f72584bc37c4cf018cc69fad226827a22b9d58d41dab6fcbc056257606d8130094f29cc747f3338ec6cb0a6813986fc07fa10ee0b4dd4e228c27f585c2163674fd671a8dc1a6aaf56e3615802105cd827106b3e88a33179b3ada9ecef3362f910c818b6dbf4420f76b6e3ef168d2a60a88cdac79afd888125c475eb1a8d1b1b1a217ebff12fa89bf9eab76bdaaec17bc3d7dccd428a68db5812fbcb5a9d606f4c32ca2aaae107c817279be1e3e09c1cdea961c3a117c3f077ee575e82794a5f01a3ea28033381bae411c9c6a4edc294ad368bae0b363e8f0d027950619474115e655feb26d8b2f30bc159fbfcb824f863bcf7a8210eb38e22db77af0e24588a490add45b2747383883fa7feb5ab8797247db2c90fa8fc8e609b0e4028c2a817f6e97b09e18559cd7be75e6492f2bb4dee4e132ccc5681ad0d46950816b7c0d0191aaef8040062d55e5b8d8ccab4fd0c2f2a9ba3526953921126149554d10315de2055a974a081ddc27996607bad5b9e7f2676187f4304cb1d971363416cfb7881f8d48121217bc1fb118ac2f77af8b39084cbf8d67e4953527d1096d145fe4bbe8703f2321e1bc543d859a21d6a13a808ffb305657dd9336279a79f213dad1d3bcce9cc1eb520fef519180bdfde1e57211ac30a0036b96e93a6045d122aa03ef74cd480597c3787a086a8039d1ffa5fb0073faffc82d7561f34deb2862992ade9d30dce49086db8a5bb6a2529ea3408bd19441fa5c97ec68a2237c316d4270181d59e7fa0ec007b5fc9685552ecfa88f4ae65b48bd13fc9a4a78a84eef52c5a90d4988cfa74c17031ae03588d949d56641fed28f042337c78e4e084a8fd316c7e88755f209e596c5e7b21e7bcd74c26cfb4ad96832b9c3de224d1f7cdfdde65eea9f2ea98b27cf138cd3d959cc869027291e6dfcff604a3847b69e6e35be24789012da813402e9f37b3d512a62d1e255c29c68b956398ce73ecc449d58064247120b58efaa78d50e94568bd2d4c9d56a9159483caa63746c36b043298fafa38799fd9b53aa9d2b3584b11de0bd3a56315d41a160ac1578f999c5102a0fe8f47917a200091034aef7eba15c293234671564b96aee60df9e5a6fd19ed9f744a36aca8414852278463d753e8dcb1d968d4380c84aab6df7b0d7ed819c9eac6fe59ed53998c8d3dc44a8bfda2873c13ee9016877db99bae02e44ca95d117de51fe66042659f9d63c5bcbb20e3962f2f9555e9315284071c2dba086dbb49a964ef43104abe8f1bdcf81825418963ea894accb301d5be4019608938cdd6544c5d99821c218aebe031cb62ff1107349be067127125a57f1267d33fc64c492ae4aa43fd45b1d33b2b17415a48094d40f7311fe44be73834d1ff73aae7fda9aa2a29c41f4e7e97b5a4456833574d2dfcad90ae8abd4598af3483fc243068e1e2240a1f64eb18c64c3526869a68f33f6f6db3a79746448097686a37ad68265a36ff4141813e4017b564070ceefebf08f9cbbdcc6b506fb3427e0c951809dcb1fa06511760210c8ddd26ee661c9426dbb7e9e526ae602c03960e6594e47e6ab029b1cfc0d7642456c7c20867a8a0b6ce87fbb1eedd00a5610b691b2a4fdef3e3f96b5631172b88b1f37107988c8370c30e36a4ece3f176ff49605aa69cbfb0c6775817e3daa04c8ed033028a91373b2663e9eab3fda20a497b2d14ad4447e095b032cd4de59ae784c51e6cd332bbe833050230d012b1f2475666c854247f19011b3dd5970d8d3dd1d1e74ef0ab7825934573932b37b1345d66aba8e9edaec13411578fd7388ceaeeabf0622334d7067b8710422f7b8eb2a45cb0cdf5f9872d3d14efd2d818b8fcd37b3ff5bb21f2d1e388839d97ea97d2c3e15c9b4dd05a03f2a1f4c6f6450b2925edeb50c0ee631bbbbdceacb52c343b23989f7d7e00b8e6297cb5792cb7299117949a5854129f932c444cf7401723fad23dd4bced0da5baa36dfc45e89a8541eeb432ee7f01a3c6cf94d2d42b6924b03267d2ed1516659d3aadd534fdda378b028d8724a5329a6237038b46a7fa621d052a7e35e7d63b954ca34908d1144007aae6def3d069652a76c5e0c8233617ed6c8be24c26db9f7732dc6af173e05d6f8163335ee07966087ceba488a24a0f62fc12ea47d728794e79e0a20c1648583b203e98770be9feb6f5d0f2bea1495e326a0012c3a2ea8021315f31533f752c61edd073f1283e03d46d34460eb623fff130a57ab2a0a21f9c7c0eb147bce5692f886827c4cea51d87ff9f31a250b38ba4d95a71e874f05744fddfc7ed11a045fb8858be2618e6f4f75696305c1173fca9297fffd105bd38faca2c858d797e573baf3645e0abeccdaeb36f2bc8b1380a38846cc0c80789de54c1d6e6ea344c75b18e58563909a93c41542493fbe25d063a2110f21b08239c4b8be9d24b1e0b1eb9e5c832e5de878d091c475537e6d1baa11214020842ae5c4824e11c11df4ebec8e0dd937ad9aa4c6285688157d465575db9e2bedafba02a2c80d502886343969e322f1575d90f64a0b163ca560ab853a1b64d5246bc53c99466289d3fa43c31e2f8886ce6f55dd2b327338f0266f16774b85498c815a75805efab0add1c4361d1c217f36b5e18c8b2e1efa2dd7f6d1ac695331111b17d665299572f09dbdd9e7950cabc951c4cf7d2cc0e22f6699f53e9573826b420a013310c45690874c96fd0256875baf3f88f1c824eca1c7811501b1d0bd292b105efbf4fa735210ebc62302670bd80b66aa499118f839b17698898492dd6d439c29066bd0a9ebfb30bef1ecebc69472ea8b7c98fd8e012634206f1f6b98420f383413177188d3ed26c13a8564502820ae6752cddf7b6477a04fef130b3caa8913e4787105a9c7e310bf059ea4006630c9603612f0b1caa83c5609cc8b165fc4b14a4b044fa6b9b6b4ac0fe88954022af217e3f5a46f0c075bb2a9d6edad593c295d40490912403e3c461e9d8ecb379427bb0d4f09433ac282ba55ee4ac5fcb94d866429284fcb826d7a93a052eab1dfab0345b238b15d053390f0879638e5f7f9d6e2831fe62626b950141b9cb2a4ef32475816653541f2b74baa0759f1b155d12940b2a34958702e140d98445d0a038cf8cef5f814a86d599613c8a975832710eafa278d97c943c5c6410f00854eeba2ebae6fded67af33b0b5189dcd8d6e0567a282f614655a90bb7eb6283c9a2f0dc132f5a0a2e13e76dca49815170d090be93b3603c3e1ea94efb58d4986ecd452ce7f9caba3567fdc38451269dd5c0f87a9e18f4b01573bb6a27f4665fb964384d91ec1f89a32526d26ecd2128a9e83d10c6aa2217658cf0f34840a7b0255ae3d0ff85a6c11e9f9683a211acb96c6ae196ca830aaf21d97efbec9d88ef92139daf87818a55ddb07717a79608857746770c3449a83c0caba0d841c0791e64a84bd5150955bc101c853d30ab995529340f54b29652d703071628d457db8690b792e25c476fbcd1215f51ca8d60c9556821e9e2125468e8b25637412b206472d757f69e07cb19acfe5338f46bb4917bd748ece5fc62c66f5db79a380da8112888167948325d0c031dd6be1d79bc2facf4b34fc80829dd5c4effbd90ccb08d397c474b0824cc5865ef9531c88ffba1f5a2696e2343da74963098acc5614ced2248bb83f7371672b14bb7ebd9376ffe91c8ac7c50a95da85d804be81cf4218150ca96a4739489ad7bed2d40e26b5bd45aae6ed859608b509901a0559930c5bd2fad3451dced73cc79da05d505b9189f3f66d4d7fa8bc1311f84751317802f6c97a2489ee029fe17481407638228ae266790d199256e12780c5e48db4bde2a548cbd6bba52019f9611c589c08eb2a2a17349f51956757fbf78539ed9e57ad04b8b2513352fa44b15c5fde5e737d8c1594a6ac12ed91127a13fc3b7b35d000877365b098034fc519818521503443f67a9c28e593fc9fae59664833beacba5be1939b071ac1ebdf03e75b99885d159763600509d22453fb26421b9a56b72c79080e0e155450c9312a0ef996b940e5f3e25c4129f25ac16a86cc86a476fc74bcb29a19294bfabbaa38bbc44ee16219e559251f1892a57d3c0b7cc252c28a9b703baa19fcb46d2241ac0c886d524a6bfde9b8e2827c26ac19d994035342dc96c08d20377a476c41a1564663666d3e048b8c954d4c30f391241539439074fa429d8c3715b71c11ecc2f210792e1fafcf89796cf7e54264d6cb0c17f80c1766e079234c500e97c9ad0db4d6fef7b366ffdf057920231478ed7e057b166c627a7a0e725f1864fd6382edd47cdc500f86ee66531ab35afbc1687c354af2e8ae95b1fb5f8516560a58729b7b6c7b3d506682c7f03716b9a53ce7326d8e0dbf0d9b0f1bde90d68472b3a10495f5284f2a9c737590c6839ce3b417f59720ea733a3a1b66066adda9be767f922bb7a9f1864d9836b681e54e25cc7c5880fcabc027ee2e21b8f1ea94c915f243c36a75156f4a89569096d0b0dfe9aac98b1015123aa95f39d00e439ac1f0971345ed4f8110d65296aaa9aaff4051011c272e4a21e73d801ca0993eb893693c2bfbd40c189f9baf00e3371e023cb21aa2cb832b7e87b2bb2b5c733f3c02103c1392a9b7555c73f86a6c19b99e8e4086c11ead1d50292c69f6a97f9da9111717cff287bb8ca585055d75ec6c32f65444a96e99606905cc6894af1ff06f001bdb62dd52a38ef199bfdb12932567eb72b06d9301a568dca814877fa388490c9f81988ecd6d6b338a2724b0853ce87104c61c179231a484fb9dfae9f5761ba0337930761d413aa87d3096032e4f71a55e25d9f873eb689d40a879ca5188001011ac803fdc95331d3d859182bdfbbcb81c101886de05cbcd9cc392659eac2500a81ad4d785a7cf531f9d4295123836f5835a1edfcb92c67e84920530c4d2f6f9fbfc39d8eb7d2c840122da42bfb2d15d11a647a7bd27cea23a0bebaafd34d36f5ef4c7ae53f17dc9f2b0a5e33ef5bb63ae2a15a795fcfa31f333858aa494010acfe2dc0781138b8e2db7f58bf7cbce9da33b2c0836183087e72292948ba38943e31637bae8c77f18d455e100a70433d3d7e7e779d65fbbf5d112e32863a2bd31997f644491f858cfdb881900a0c69dc1f91e8714a43ad0e6ad999a84c8e93a4bf3f29a98f4e3402a7262f0159c5072dd09b0af7b6806f0d05a788f1c19855aca18f9a14674b03ccf200799b1e00b2e3cf7431a0f4c9ca3ce2d58642258416e705920a60eae2d306841125358e83b8fd9179eb2f4c1f8e10a6f86a3ac73bbf7ac751685d689bd181316bb49861512f7c375537c3683aca51ab222dacc2c537be6505469b21dd396182c919b817bad13bc1a2880d7c4662b27292b80b426d9b7acfbc26f03f7170cd18489de2e35a3d4530ceb090b52a2fbc80f4a578fcaaf5f38d9ce3601144eb7cb36e806c9b38de03c5e86e2bae5674f32d400b1553fe407440fea7990312bbc2eed3b7ffde10130fdb85a9d1262e2228438d231999e49d8b4d8c8100ecf31df55ec0b0f86f1fae08e8f9d6034f85ee80d9307110f060c518eb86b8e021ef7f7898f368b23418170cd7a868ca3ebdd8de4e3a7873c392917cebd90d1e77cb8cf2ef65209e95e41b372377538394052b12b053cfb49cf04dcc3524815d036fba1fce46155d24f0ff9c1f25b58bc8f859b0f1622096ff69359cbb6cae2a044a597c8e90c97f669db48b7e9a133dcbef63a2ea1adbcd7eeff057e94ba4bc46bc193ed5cce3a0719a23b95bd95916489b9a2012c9cd04f46c3f5887e27fceaea8c16429b0c70df2176f428e3f0f2d7229303fd86fd3f31253436ac633141e279e3f04bfb47b66e25920f8d2c5daf6273c62391e30cffe094611f25ed714f3b2e5d28656ce77bef05d1472600b8c6787e9f9a2a7a3ec4a5c75749fc7876bd637507b81439df28759fe56461daedc89c735eefc5feb3094cdfca1e9c44ad696cfda82703d6ea11ec44a576214d9f7dc891d6d2d3998da665d10e2c1c807d248df651989a41e1e57402c37ed626cbfbd7ca21a35757ae7a4e739583aafec17b60554066a63d521a4c8906e0f56f85f73b0466fed9365966b89c778975e751e3453017de75bd7ac55a89e3c1fe5f9e29d16818344ee40943518cef2cf8add1ab4cad10cfb5f9ef1224cc7c46a12d99d91fc5b7b86abd825dc548d394c8bffc1d8372a40fb011421767b1fcf99dd78a5a6d632e09c902a74278de288a279afee23940a2fbc7663619eae9a0b4c221b6819a93be27d7c4a5c14a2606e695decbefaf7e4852280ab69c4a87823cb04caa4bbd15ca479c1b7eef13ef3016901e08da041b7040f0f5fc6b64eaf12c00bec8e63b9e974671dc8bc3d9fd5374a800a28b88d718c8cdb4281d44c506068a048e112b9e0658a4ebd099500205e276cdb05b3162ed6324c8242901da16806137e2a523e8927a90be0b10ab1e708299c49e7c4944eec5408ca990dcf0d5b7dc2713571f407ae6e35181cd0d705a1abda0bdd82f5b3b1419b039db926086b11e54068d3bd2481fe5d8025e09b72548fd6c10391ec45c7fa2765578c6a0918b7d6af2d8dc79acd2b05ecd190667b77a8d57234fc62ff61b66983daf5c1a19bd47bc2b626cf2e3a3276436855faede2832e91ea16b26a900c3e43584e2c01b2ec986d0a212428146d9254ae7c27fbe2e9fe18d8dc5a0061542e4d1ec14a6febd43eecd6a4ecb3f0223fdf5dcffc509161a720d041598c6fcb359577bc8ab447a7561c71b0a287242430b78cde49c0e037e01c2f28633571a9284134539356766bc63964ccf9051b361d7d17008cbf9b2c40ea04fa3cb0f96517acff755509592d03841660d2016c25ecd330e62ea1df2385a4ba04e71d91428c437f5cfd1ee3040899b94a351ff936bc72b874f28e330afe0cf66e37c39ef5c38f34fe70f981bb883634b3e84c336b5fbdc0d153e2a0673ce4d3709f35822902a2428a3ea29b6d92b81f4b7de6345ff70dc8e3b4c47126b186878107cc2999c16765b52dcf48056ccc23d6623df14be4542facdb654e3edc5a35315b65132571b3db199be785b062a3cfbf0f3aacf18ea274aca3c30265741d006abf0c706695a16dfc5a079cb38d0f3a897d3c09ec1581aa1a1ce91da5840507699537b9a4df9a8c25566d8bf4f294d8007517af43610732734694cf884c53e9b6840d042a85d42355bf9f8fa718df4dbed3a118172dc3da9f4a8c53d9272c4c93e26e8e47686ea77d469f0a8f7c76b773f54ca7dfff85e87f8d5b464fef0e4cdf791b4235b8ff02c6266a845679286f34f76f7c9ad67489f6e589231df5600ac902c4903c25e8cb9fdebf6062d87266d7883d93b7411f73298fd04e6569704b150f3f37df6384b6feec2fd656671a6a44b589ba7729f7580127825f2ec6605e002c3a2818a13bd089b5e42d14ee09e7fcdc288019125344319513906b32979032ae70e116855998365e4fa77e282a43cf98f93ef6aa0e0768ea4c8acb556725fcf41d48383f6ddfd62bdfc5b6028e362b91b9954c098e16a42139478a0ddb612210d67bdd808fd88cd33268fe652308c66a742f4409d3a42fb6510136c7f910a73b437c4daca57065538223a9e5a8dcef1b0682befef54cf13e36d6faab9b9f2aa976f5c01133d97bd5f3b71c7943db45e494416fb2d00f8f85b196d5307e22abe5e0d48447d5f9df003ea626921bc0dcca7eea8d1f56defa31bdd2f61792774de51970200ab06c703862d446ff22ca7024f865f4421c09b97d2f2ad4636d88a208448f8e065ee5c8fab93dd765000", 0x2000, &(0x7f0000000a00)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000300)={0x18, 0xfffffffffffffff5}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000c3c0)="be11a5dc585dc30cccc2ecf301a6399cf85cff286f43451060f6832f114f77711c0403354d989415ec658726310d98b02c14f14ba1e32153e85bf1f1a9a18d9e95d50124068aa1e36964815043f274df7f91af9df9801cdd0b7070790f35d7be35982ac9f2a862e304fe09026b1f4ce206234f2246a7fa3a8b5836a7f611da6c541245e6173a1d7966b99d66d3f7c785c1df779dcfb31bae371aeec8a6d144ee2a71063247a4fdd3e9ad498c529f550dcfc89d3b14dc3909234c4be2c8bada2cb24f53a463e963f7101163fa9cac2999853437635e26007a91b2eca3ea41ee19c9f7ab86810fe886ddf245306e9e146939dc28319c4b50f1541088cb8012402613755ca8b3cf13101bab71d197e345eaa8195b455297981fa93ddad6ce44511cd041cf1b292205877744549b3f191f1ef748f595e2eef3741d3342aeb587d78da011cbed428609a0720e5812c4d6673ce7510068ebeb8c5bf7422bc53ce80600c67b22c059f13e0939e63bb4c9464fa14520fd5b30f638d38d9c8acca15e04154ea44e68d8871836a6afddf00dd82d2af9ba9857ce61362aa416cdddcf6ea8749f888c85d1a937f17e7fe0e61b64ec088b55bdf9d9c3cf2430136f62011044d811356e89a1bfab1fc59ba55589a883c2a66fc7a546463d693346287653a1e29910292e0c40075af553dcb25e3a718a15db7816d5aa68d4b2a03f48378e5991464a9d0791774cb43e47d1efd47ef1f02993cd39947ba91b2e644cec65cf02774cccbf5532ee4d91fe970ecebc6905bdfa26b471b690f7d1b15d93a6fd1b79106ad2db459aeea72ac1daf13ac9cec1c750fafd9add643c60250db6eadf868335264d8c2e59c5aff7581ee4362c6b7584fe5dc5a391039f029fffbc164d0340b76ca648554bf3c50c243814c2bbd93a0f302940efef4cfada019197a086919b76c200fade9ee17045a08e266610cf444d28054f268506ed864261eff8ef1bf22321a1b51eb0a13ba7d4223915db824df34bfb6158b4319bf93678fc439b666415d8d5ec55dee063c0a423d1acfc6e1b27a47987c6fec05bb5921042a559307f60b586e1ab5e7aa83cbe5feacc9bd7e367600ff1d91b6db156d88a93b4b88f591da279e6729d7ddea02c40c7468812f89cfd800323b358eec722b184b1b8fd581f87f1d23bf2c6797daea3a3c3149b30e34a46fb0ce2e53e987ed263bcbbdb0ee7dac656a54dac774c7cd17e8781c3cc6edd3fa9d280f05ecfa196f9ba0471bc9255402ce1cdb409267ae453575566235faeb49cdd373ae73a29587bc37742b0c7af41f52d3275569a4c0feaaa645df9d75e140062ca896dcc3ce3b9eba2f8d54414a4280f7f7745f7bf299da3c1356a9468429f104fa6d90e3471ad05b63a866342f049ca303c49d1a0e655ec5173948f0e926d44243f178d65baf0ae7c6a178fc72d050d98a7f74d3411f128c0be1d87eb0b44da842249cc6cd1cf4ccdac1bbb78967d7b7adb18d11c7430e83e61121cc411418cb8e3ba48d472683e9a2af591ac27af1063bbb3e41bff64e3ec29886dfbff07a7e55b9b2b1eeeecdb516e2d772de84d8c842f997ce050c2383badcc387aa8ffeb21f7c7a6b0c8bde457843a183a9d94dbc0cd815c66af64b5240a2fb6b80ab1e372c585ba840d8b5073cf778d3289fa36cbde64a9141b934591390a01c2addcd2916ed67ca703faca30e8921f25eb4259287981c6eb2019e657187dd4a2da48b9131f7ae4f67c3feaa602edd73ab097ea0415b3fe47493368def04ab78d82e039172a164a633786db7decea568f09710c259584b71c8b21007ec0b83f9517538b13862e3aaf2309e143b3e13f28a02af47cbfc91eefa6e6abce1b9f67b7daee32ac15d54f4918b7cb4fa276eaf1b1671f6c1ca45f6ba61e64acb552990b33eeadd1be7145f55ea4bd136b8a3ef3dcaa66218d97598b08ba87b235d58e861ec169f93685720773057bc795cb6eb2601a9c680097f3e7780e46f64f2038993ec04733af95a40deb611cb27c29b6a88a45a4aaeb42335e28d19feca3b2c2d32d96dd1b0a77e37b78d84f21a020e5c81953297e09bb524d268b7b8dfc57705fcfbdc34a8648225ce4da1e5713aad315cebb166e1c45f4c849d49551ca629b8cd78ecf25ec4fdd57c30cabab8fb8faf982af13af6dc5635a4ee1eb3876c4496b906c3b959362c19ad577c3f95405cde4bd27d303587dee644cc6cb17ae474981c7b17a9b55cefe8f9cab9de6557ee15701a41f6ef5e775359f04083fe431857d5ef58c5e83aa09195b549bcfc34519c710418655c80ca556e686657b31f2754937b72f886b5a042a5a558833cef14e24039a3b441207a1e6375c43dcdab18f80f3ecd28023486c6650b6a870ebe1cc60494f2303e794b1a471ce4d463ae924b6af322bff451761214a03220e1a1adfaa21b91b0cb58758333eb013fcedd99a8dc704742146b06b1a0b0ae200c815920df3aa7e90cce3afd1c199fe2886ca63ddc7b22edbf3d7ca02539a4764c8579425860d5aae899564f8ea089ee4b6917ba7d554418285ea6c67541811d4cb96e934aeea94b5175a4de2b4bccedc7628a7a72d773af27d3d736aa3376dcd048682fa19b2b68f4e541647c3058a8e300d0b63373abb4a85404aadbc7a81f52a3bc18eee6a1b21e33bc6953b5bd25b8803da311b9b540c8303bbc960c8ca185d701b16742c33ef51894aaa110524a3d235a828133546511a6250b99e03ace553c5a241e81259ee2483b31285b4625ec285ec004ef620e2742c890f482fe2b8d079dd01611654b9979fa369dcd2b657e4a8a0fe6b8ab35192278fcc38b978a9c75c8bfba8646d74b93997e3295100312000afd1ce3bde2d2671f19a32dd4c7b513d72ee236b5c1a1e2635f3d3f387eb168a2bc2bc642964266c10dcd03a293e059c5994fbffd24a3dd73792f2cfa50e2b3bf5b8f171351afd39b732bdd213e286493e766343e557387206bd3e3989382fa0125989e8d7a2de2cabd9546fb11a462a068d124bea290fe99a988ea7b3f8b973a652fa2900af84a5d69c0dff54276155e89858ee9ead89716708902bdf7960a7f1e3c8eec789bd4f19e756aeeb7922b48ca9cd32a33c388f97efbea7439017d94301367471dd982e9d0e67208426a3dc4cfc42d44be9ee19837095aeab13ab46c215b9909ebf149bc9fdbf6406844832cda498a7cfc559330ec7287c95525b57dd7fe87ae591bd25a0e799d1c1ec12ed61f820f23ec5c2d71562698023876576f422204e6ba2317f487ff7f602a106f6344d7bd770deec7ea04f8ce4361618a02a21996f2018faa8f2439dd4d06e23be49e8636f0101fead0b78cbbcfb9aacea270529911ed82e03745957869d518fc4c59967e3966137422596e1f25367acc2d1dce153cd6f137c50efb0a07c7e8ea3a7543c8ede1709d1878b58dbdbcb5009fc150f93e11ceafcdc0b3ffdf9e3ffe2a10a957f7d16ded497dcece03c1c872e17c4e4897c297d823d546a3f9d6dcbd867316c519655195fc4d86a3a7c0c2a7e0d679896e1cfecaae2e33860c60984c65c3742ec7ff0495e45db03e308d8baf15be0d9dff8ea27a9edadcad561e918fe98c59241690a147037259cfc308471feeeafee40d5b2f24ce65e924c38f3004277553875080341d4e92452ad4ee64aa7f4a0d72e2902067b4ad908058dfe73a49bd28606e4da52928b1b949d05f16fd28f1824429d2872ef483e5518374dd81ed84a7185ab3cff63f6484ddf72b3dcbb8681fd9048bcce481ef5d00b3159040656cddcb49e0a474b0f42bf56aea7ba835c98c571a9dc51c104445e6cbd62158e7f5f59f4eb1a8ef0ba1b44c9352984113c2af36d215b4389adeb4b9dfb83468dbb290fcfb28c12171bcbfc1e3856e0722b625b6c001afaeffbd1d7bf61dd621216665637446a4154b2730e18d926b075a925250a763d4062459c89ef5c2b8c469b29137c1b3079bf99ab540d6579c25bffcf3a041f0139b17e9f452122d460bdfb30843a2ac4cc75bc7c0c3e5fe439c35830e5d6341c9e0bd2a88958329719184b8d47a7f48236144273559e58e9565023834d6b97a1fff27a25ed568918ded0caaf0a63085fff8752b1be789f9cc3cc41f999dc28ddbc47e3ed3e4f8179a9110802596e6f343b6e97abda062149f92e27ef3dfdcd99b33a8eac168fc5d265046cc007c773a78a5c39d00059076a4c3d93a9f177cd191e034a12a1e11ac5ed49aba30e8acf599e68208fde9f05a745186a9d7ddd3fc5086206cc6c789dc6fa87c667f13a840aec817a54adb28ab1e65e2825fa38532f671d5ff27008fcd80952803fa4a2215411d73e327cc60be459a40b80b290a698b3b61404ebf17b31512a8d6b20d0593860fd89e8d9c12e4d526e2594c76509166eaf58f5dcd247e3aa96fa9b1d64c67e7ae4e6d58b9231ec8875f9256c40911c2c24c20d48b78770e7ef15b5c5b675ac12371717211edafb17cd7fb8efe015faabe6e5e4fef76c9fdf3b21796ea1e069b2a56c369b8c36cc209eb1e031827176b08648a0b0680594ed9401adf621d71f2b3f55234a1c8034a4f41d9102a5efe597d29a8fe837a6df892587042f9cb4cc7d144b98f11495f78174cba83456479da2bd5ef09a0ff80aad9ce546521ce7861118a5c5231b1f574a56208bd99b17d5cbf0c6d8c06b15a03f66be811ae552e2202138a4bba63180ea457d74adc5fe64debfc38ad0784a517115ce1b4f651db8b0ce82102223485ba37c8de8d821ea54275ccf60a73a9f905f68d47bcb0bcf4b6b2022670eb6f9f75954bb20a594a207e0c0806fc5e8bebe33239e0da187700bdcc6d0161bae304acce6be4fbae4b8ae5d90d65d3844f23bb913fe03f31aa4e26f6862f1235ddba663386c0750a3bd7e74854df68ecd2350e46c2bf9882505a88bf3f99d3e08515be411184e198ec3d612a6644379d4345f046ea427f40a04eef9e984590887d46aabca1e21e1577a711361028ae7728d3f098a762416a48b820c3a6938f7bc59f139d58c22441fb59bc09fc4bc55e8ed855cb71628534c43a13205c0c632c7d561ddd30faff9e7fe71e56a33da86d66c1eca96e98bfe7d1f9dccfe4fa129d51f906adcb34bf88e2b261bb79aef88c0ea43e369e47e235c2bd6d6a2b07c1332eb85ef878ecfb41f3b3769cb13936f0a8f0249da945fc3c6e9b4de1ff2fd36d0cc17623ea3519d481f24c2f0cbbc0896df82745952df1f131c19ace779af1f669244a9dea7c568fd311291c75e3fc46a41863c5dd38a6b172138635b5bd988bfb9acc5de919839194231cc4d004254c579384afac6dd058e3ad50e2abd866154cf4c2d842794080a04b0d552ce82507427b3a5cd448cc3c1c02c1680979d171e3faedeba6aa8a7881a3b0854da19a1fc5147863a8383441b3fe1da16c20ed8d51c917a794819cd4232da73cd94a8fed8a65e8665d83e4caeb37b86310225ee1bcdee93953e1ee2451ac15a2aefeab121e0cd2c4f230567e0153c3ec07dbd0aa818359a03f5be1a3a32f7c79c7a70e828d32becad09a9b407025b59a26fce3aa08b7a48c74e4225c12ac773a2a9c27580223e2d305af2b6ba00d0f24400eedf51f282ff02422a000a6843757b4821eabef7f1ad7e5a73d138489c33b42e6cf5be629adbf87e781e0e1e02f8e4cb20c1467deccf64eb331faa251ef79c641cf08510461f094980c1bd3d9866e487f6cb538f885f2b881baeacec73183744f1e02b1b8aec12d4942f814035b16476256a3b6e231a09b4f2cdac30a62e02f21922f25836589f889c1108f252873e5a3ce20d3521001ea13c23d1319fc3f8269c30d3435229a487ba96c61fc7dd88bcea987c5bd67809ba55c36dc827fcc363e6a60b1319a3b97267251d7bd6dc037cd2a5f82d74ecb12b480b5ddc64fc8763ac38bd8ab0fefc5d0290b278e8c68c7cf5a4a7bf551032524dbf455ff6c6c344d39895108c1ae07c5281e1e11b878c3488aeca94d5ece48065862ce13ee526f85b53d644e6793c4d0e930c70b16746479e7785c1ac757057413e08c2fd21eae201f08e5ee02a73b5897b3fcee70ec2586cb2d007859f71e86994ddd7e97fdf94a65c5d98396607f1f118dfbe7e3b7777095b21b257e8bf9c40ac50b9a4900c3dffe423e73302aca1ed0c10defcf32f4447de9c2ba3301f7c8e2b4cde017c45c5bc90b25962a628b2a946288206f1917a76115787e81f6e314a7c56f335487426d308d72a3991e3b262dddea9d17cd7dd04e3f7529a53263cb78365fe55ec9e1255a8c28aa8ee34caf98b3d38503190306285df1c1016d63aa9b0442efe1ac9b26b11729552ea4e503492da07b921b5adf5f478633ddc3ee6e333961e1fdc044a3e30c6ff2ed9e2a29aa0b823a8da6096e0842701309382e501159568c954d714823e03ff0a73c3b27d0369cf369fcbac588113cc8b1084666c447c0fc02c0fb038bea5530687e29be974fc214c65c8017f64534f45b8c17ac32a617bf1326ae46cc7bdbc8d4f6637bb4eca53b2895b2dff46620fb798ede0c197312ed699574b35ccefe24aac7aa03e4b68e544e6043b900f203ab98d2e436056339c9b3e36835aa22ce273faf40261cbbc8ca59abf99900e77fb454345d67f0f0e84d8d36ef000f73c2eaa39dcc24ebf76b7869447dbf462dde48ac69071eecbbddcfb48572d6035c83146b59d91d070cf0c0b86d6b34ae76c490e5ca5a413a25a01037d849c5301089106f64fa50b00ae6cfa2259d7f0375e3bebdf052baef87c1d1f2f3d0dcf9e0ed8002cf18475b48d7d2e55d0ccb929fd580f3cc51072c2625f96f9e39e44ee92a0e76b8cd7e74e2598974d60975f03537b3fea07482215553a07725d235555a839c88106cf0dd09a13e3387a085cf1896931fda7a876c310c8759d6b5d1d8da4423a2a4d765c0166193d99f2c4fe05d47482bc94e4341b225165247aaa97eda85aa1c07f1f5c4014b1d712b53fde7c5584cb339734afb185611db1d7be7eb4f5aafdf1e533e290ed0a770818b6ce9c23df5ec9b66aed9b9d7733cb59036ca7bc3f8ab37939b7164dc4ce8dc3ce3fb8bcb151b4e7e80d2763055580aca9bc2111a6dbf10e0782f24c2c7dda5a89804b53a3e52c33062970ff03589834ae7fb2c1062920aafeb7eb30cc4eb05fa093aebb1feed6679a35bae38c97f7083cdd2cbf4f435e8dfaa34cc91c814ca6d993bd51cf7c2551700a7d6c44749b979fc825028154218da2e9db38fd1568093ea77c56d9cd4b6707e5a3386367ba4cfc465ff093dcf5b024abdf924767404ac3df315a3053bf90babad81026454c4a2b82a358dafb65577d58313d6fb72d26fa0feb3dee13623b4249bdbb06e442f722079c38e2d3326b52827a0538ea79ded705e1c4ac42ebd2a7cb14bec4a4cf534d83be7f6e8cd969f4b65580e25d3806e9138de175cdb8f6da8febb2e80204101e716b9a30ac45b748b3c9b4089f14193db8331d57ea21c78e17907625ffecca5b81bc79fedcc2ef82c59f288598a07429115c964cccb99198c974c82c15a6ddc0d55bdf01d48c68380b04c7ef126daa52234a76cdace802a19dfe4dcc9905e9fada9c4f58c6cccb5d70b9e96667cd7288d62660ee615a4d3b9b65f8582d5375d8dcb6545606bfd0dcbc732166b93786062644b700cfa20622e70d3f29404adf8eb271d1419cdf977808df70a874a6e4a92ed51e98c403ad7993ad6c45e214507b4fb825057019324812e3d09e3e5e4a531490066ae07bdae11593427ad555d6fc64aa23ffd790622ea8312dfc5d979352535732022a21bd9e10d9a7e507d8e29ed7bbe783364cd8521aa49c8afbb844ef9ac6f06663437966fa392bd1ba77d298f1adde1b49cf54aa1e059bed2d18a299f8a49cd8c7922ddd1d63175c50f1a3e0d0cd9c20ff46f349ae173897bad8751c78920d30b6bc7475606e0a1c6fbf17677435f151bebaf08593e92acba7f48f69462d3f3485f9d2f4ce6fbc42ff9c7cf23a982d8a0f0b590427cb3247088df3098697d5432d6d5a0597a0ffb85dc1746433e594fb5e5c9da96fb02ac176e724734c04414e67ee4fa2f57524e5430c45acce315773ba51a69654cbab81adec53f8f7a691f350d72117ec4a4737598b5b91b20524e35f90a086c1a8dba9bb1f19b52ebfda76bf684b1c07b9587248a7c316f5ac312d67819f15cf4d495e122ed2f28a14a9fbe6718f2210d5ab81ccf2da4c8cd3a9c499ce95fce0ff71154b994ed879b65a21061b7620beddc940bd81652557771228b13186e3339e46749456dbb66db2436ad9f620833561ff3b9ccbf6e78812c2b9766d04273f1477a93089fccf9a928cdb7385480816090f2ab7714f1026bf2b1bf6757c9894f6f455e273c58d4fd1e4fa43a1a42378eff847eee54dc9646699aacf95a6650a5e901126081398afa9b240e461fd3aa8bd7dc3c75fe2fe0f9b5c071a334bc05bdfdb8cb3b6941cd32f20b9cd078d41fc4d23d8d523c42fae4cfd98b221b4dd8a0db1006fe09181d56a05f38665b3879401d11bf49aaecc27ff01765656e054fc7861cc192c50f1eb1344f63114fb32c33c922b7363a922aaaf1a191418baa106e074e9e01745eedd933d893f73b0ab902379466b2196b2829db532b1684a1f51ebd926d750d3b97c897a3c4a6ecf96bddb834e4d76f5b371553579b6b2493a27d1ecfaf4e0bb91ad797926fcefd4fe616ae631200321ee7d79add5aac82f670db1f73d42590b47b4c298f3ae235299fcab5245468654965aebf1e34037eb533ab187b2206402c55b71974f66430b06d3147a00d13e7088cda0fb70fbd4e69024d28825b856c8282c4fcfe201ed2719301822db282fa9ceb400ba30c4260cb40d2e942c66c82c4bc7848f2b050c264b7e89c50ec1e344c4666a656450230f2338bec24803180efad0684d6864a6f8d6c9215ea5d95ed91f234387fe48d7ab50fe6ebd4017c65ca1c83ca36bf03530a6ec4d18cd753ba8f8f301769d1adffa71536bcc346585d7c4725c13749afd8552d8a95e21cd9a66c965aeb7e1bde9849fe40739967c1f697fc81b501ceb45d45910d253b9ecce2c4764563d12f492ecb5fdd27f32cb6edb9aa5d89ab3f121e8ee44d6f2b4bea87f62bfc6eb4925350785374220e79b223cc2499e55cbda60ba20b539ed237d164b8bd81e2b0dbc6a6b4a1b4bbeaa89ce0d0a1a5a7b6ef644ddfd9a33fc40970866efe8586bc6577d85bc10256d044feebcf8a099fbfed1694984a406768311b39191b1612e5ec1ab7131a90e9bec17d57cf46e19aa49c54e5db7e0b68289a7e5171e952c70689bb06753b6a5ad115c6d7bad4f44fc5406d519a79d22479263dcf60bedc6d4558ca513bbb39d4d87ae07bd7e63f9f5fc03ce668e732587c1cf1451ffc373d36acb7b5182cb3976784e1e8c52dda9a4e9f6b91c47db7732adfa2541142fe3356535a5e7da3a84bc33d032bd0adaa2e07c86a43d7dd87719eb5461215d375b0a4b1c3c413ada1dfdca059261fcec390335b8f5ccc560bb916d5d91d5ae177f180c7d239ae2f2a134e10438a8f804514428fd9169ccb4027ddfaeabbd8b83c730263626abeaaf91703f9aa2501bb2804c19eaa9178167636ab48aa38417e4917d3b35bdbc83362bb897e71479ed0349b094a2ccb24545240e6c2a875d49946989a61eacdf828a69db3adf700d436d650f7155c3ca976bd880d541053c30ae0974c17a128a27d6324ead5b9028be8f7df1da62b3f0914579ac0f6bf2cc24e8c85d461f13f19f4c356d8adadd0e216711dc3710c3521aa329df4fd6283db09564a8edc0a1091ab699b84a7457c70a50d24e269a654bd4285252326e782bb10b5140fa5b801691e8a5ab7f702b2593ba4bcfa549a18e19e3393fca656c5bc6aaa41bc11f3c95b0cc9a520d8cc7109eca689b0352527daab5455a21b031800c4f416438baea46679f3434484d894662631d7b22481e14f0c1a1452fe7190510e29dc9714ff22f4fc4874a06d6c765cdb63a5d579befdd71bd244e35ae329f510b2e566dff0d16cd9104cf983b389278a410d780eafba979b587a97242465ff59cd82c66efdb80dabdd9dccfc3fefedcc9a907462ac4972e2d4db66061ed21d91fbddbb286d4e49aa0e065c4e4e7e63a3d931223947dcad155cebe146ff1fba44ed77977e8771708bf503b3bbd52d58cf592b8afc2da49a73dfd2c1b276a63b4d02528dbcbad21ff7175da00392cf78eaa004d43c9c20e89b66f667b93c22ae9068db69b219a2359535ab18de9f2be38704e8d117a3b847028ff484d33cedb3f81ffced0a93a2db82f72782b536d3b5aaf2fbdeaddf8671edeb81f88aa6fe77ebd6e69985e8958ef0dbe6b4ac14915f249e5d382661bb78f0a55f5a898ac767d4dce46db7b36d1cf13f105526e562ba3a34f5654fe68dacbd00ee37d43f8c31640d5360ea796e6580a26c6431593611175e8f21610065ce73e288d67734815e26e46e43c03e748ce59e5e49d74dada2423d0527e7f38192abeaf4d904b42317ba4c73931cf73ff553a30099e847d35680a5d49cf3bb20f83e140257c41fa8283956a5333c14c0120da8bab87ac4f29f231c2008a8ebb3f66781e8546f30550e05708466d57ba615abe24fa4058a2e392fbe2c5c65f74b4c78232aa88b626a2549d193c4eb384563a0ae04abca5fad92c11d0256836f40e550a82a4e7a47f1f46acef2a196af48a4fc38a3790b4d003a1ca8d13b33aeda23c284d89d1b61d10bf9765a6f3befbcc84295d62816fa84a40e6e8d2992df9e186146d13b684ee637ae40788113e45cf7aff045731078a5a2734bbf77e2dbc86a7fa5056ad5d1aa344af3f5a41093f55206f882f632fd915cb1ccc9d802ce15805f2a81b93d0132be553793d518c9606aa2e8e4789c8debbd68b7c47242c79edb5dce4a34ce4e472d14136c438aabb8dcc5cbe0fe97a3fd64c2d9cb07ef7597b2e6d90eb0d74cd2948b00d75865e7256e047dee26a2eda408d73692bdbeb218cb7287d3869315347326a755aad3e767d7417bd6e67da8bb398e655c9ff28fd2b933836fc712708afaa513aabf11657f47fcbe583dd139b0dca47fa33f3dc787d40bf2a05cb52dfb9092f8028354d5e46f697d9da72c37556810e2477212e436cf58371ab96504ae8cc3fb4b87bd35ab111f88d986724bf4912aaa2f1660aa563ae321e8d01a0ee0818959e53560886ab9466669b17f7720ced2983c2c05dc0cf60756530c70fa557639a63a719b7fdb06bf7f8fb8ae9fbb6cf35a9cd3cba6661d6b9110b8b818cf4fbabc28aefbb13d2f8dca227b8df46f6e8ba344dd53e07a3cbf4e92583318f21459211d9b4654027d414522d60e74ff24c18038bf4bf789d158f956e2dad6055e454ad9afb4feb77c7e8311bbde767bc5190b344965f4ef95eb43d3aaf615d0f48023a898b4b291d051ee4bea8c050fbe06c51c43aad56bd6c9d502c76e3637b64d28e678aae3ed33c64b96a5e6d3672b4ecf44787a90225c9294161919865caf39a4b732aa5857e77d5cd2e50902a77fa9d651def70e1b0bc93", 0x2000, &(0x7f0000000800)={&(0x7f0000000540)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 20:15:43 executing program 2: openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000140)='cpuacct.stat\x00', 0x0, 0x0) write(0xffffffffffffffff, &(0x7f0000000040)="0f42", 0x2) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000180)={0x3, 0x2, 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, 0x8000000, 0x8, 0xfb, 0x0, 0x400000006, 0x1]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}) r4 = dup(r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) ioctl$KVM_NMI(r2, 0xae9a) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f0000000380)) ioctl$KVM_RUN(r2, 0xae80, 0x0) 20:15:43 executing program 3: r0 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) write$P9_RREADLINK(r0, &(0x7f0000000140)=ANY=[@ANYRESHEX], 0x65) perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) setsockopt$ARPT_SO_SET_ADD_COUNTERS(0xffffffffffffffff, 0x0, 0x61, 0x0, 0x0) r1 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) write$P9_RREADLINK(r1, &(0x7f0000000300)=ANY=[], 0x65) sendfile(r1, r1, &(0x7f0000000240), 0x7fff) sendfile(r0, r0, &(0x7f0000000240), 0x7fff) openat$zero(0xffffffffffffff9c, &(0x7f0000000040)='/dev/zero\x00', 0x88002, 0x0) 20:15:43 executing program 0: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000100)={0xffffffffffffffff}) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = gettid() capset(&(0x7f0000000000)={0x20080522, r2}, &(0x7f0000000040)) 20:15:43 executing program 4: openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000140)='cpuacct.stat\x00', 0x0, 0x0) write(0xffffffffffffffff, &(0x7f0000000040)="0f42", 0x2) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000180)={0x3, 0x2, 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, 0x8000000, 0x8, 0xfb, 0x0, 0x400000006, 0x1]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}) r4 = dup(r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) ioctl$KVM_NMI(r2, 0xae9a) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f0000000380)) ioctl$KVM_RUN(r2, 0xae80, 0x0) 20:15:43 executing program 0: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000100)={0xffffffffffffffff}) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = gettid() capset(&(0x7f0000000000)={0x20080522, r2}, &(0x7f0000000040)) 20:15:43 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r2, 0x1, 0x11, &(0x7f0000000080)={0x0, 0x0}, &(0x7f00000000c0)=0x5) setuid(r3) r4 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r1, r4, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000040)=[@text64={0x40, &(0x7f0000000180)="440f20c0350e000000440f22c0450fad8e0a800000f080450097b9800000c00f3235000800000f30480fc79d0400000066baf80cb818dfee86ef66bafc0c66edc744240000000000c744240203000000c7442406000000000f011c24d9f00f21e8b98a0300000f32", 0x68}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_RUN(r4, 0xae80, 0x0) [ 553.851214][ T33] audit: type=1800 audit(1603656943.395:90): pid=627 uid=0 auid=0 ses=4 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.5" name="/" dev="fuse" ino=1 res=0 errno=0 20:15:43 executing program 5: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x4, &(0x7f0000000280)=ANY=[@ANYBLOB="18000000000000130000000000000000850000000700000095"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000500)='sys_enter\x00', r0}, 0x10) setgid(0x0) 20:15:43 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, 0xf7, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:15:44 executing program 1: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$nl_netfilter(0x10, 0x3, 0xc) socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000001540)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$NFNL_MSG_CTHELPER_GET(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000140)={0x14, 0x1, 0x9, 0x301}, 0x14}}, 0x0) r4 = dup(r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) write$binfmt_misc(r1, &(0x7f0000000140)=ANY=[], 0x4240a2a0) splice(r0, 0x0, r2, 0x0, 0x47fe1, 0x0) 20:15:44 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r2, 0x1, 0x11, &(0x7f0000000080)={0x0, 0x0}, &(0x7f00000000c0)=0x5) setuid(r3) r4 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r1, r4, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000040)=[@text64={0x40, &(0x7f0000000180)="440f20c0350e000000440f22c0450fad8e0a800000f080450097b9800000c00f3235000800000f30480fc79d0400000066baf80cb818dfee86ef66bafc0c66edc744240000000000c744240203000000c7442406000000000f011c24d9f00f21e8b98a0300000f32", 0x68}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_RUN(r4, 0xae80, 0x0) 20:15:44 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, 0xf7, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:15:44 executing program 5: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x4, &(0x7f0000000280)=ANY=[@ANYBLOB="18000000000000130000000000000000850000000700000095"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000500)='sys_enter\x00', r0}, 0x10) setgid(0x0) 20:15:44 executing program 4: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x4, &(0x7f0000000280)=ANY=[@ANYBLOB="18000000000000130000000000000000850000000700000095"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000500)='sys_enter\x00', r0}, 0x10) setgid(0x0) 20:15:44 executing program 3: r0 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) write$P9_RREADLINK(r0, &(0x7f0000000140)=ANY=[@ANYRESHEX], 0x65) perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) setsockopt$ARPT_SO_SET_ADD_COUNTERS(0xffffffffffffffff, 0x0, 0x61, 0x0, 0x0) r1 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) write$P9_RREADLINK(r1, &(0x7f0000000300)=ANY=[], 0x65) sendfile(r1, r1, &(0x7f0000000240), 0x7fff) sendfile(r0, r0, &(0x7f0000000240), 0x7fff) openat$zero(0xffffffffffffff9c, &(0x7f0000000040)='/dev/zero\x00', 0x88002, 0x0) 20:15:44 executing program 5: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x4, &(0x7f0000000280)=ANY=[@ANYBLOB="18000000000000130000000000000000850000000700000095"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000500)='sys_enter\x00', r0}, 0x10) setgid(0x0) 20:15:44 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, 0xf7, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:15:44 executing program 4: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x4, &(0x7f0000000280)=ANY=[@ANYBLOB="18000000000000130000000000000000850000000700000095"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000500)='sys_enter\x00', r0}, 0x10) setgid(0x0) 20:15:44 executing program 5: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x4, &(0x7f0000000280)=ANY=[@ANYBLOB="18000000000000130000000000000000850000000700000095"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000500)='sys_enter\x00', r0}, 0x10) setgid(0x0) 20:15:44 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, 0xf7, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:15:44 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r2, 0x1, 0x11, &(0x7f0000000080)={0x0, 0x0}, &(0x7f00000000c0)=0x5) setuid(r3) r4 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r1, r4, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000040)=[@text64={0x40, &(0x7f0000000180)="440f20c0350e000000440f22c0450fad8e0a800000f080450097b9800000c00f3235000800000f30480fc79d0400000066baf80cb818dfee86ef66bafc0c66edc744240000000000c744240203000000c7442406000000000f011c24d9f00f21e8b98a0300000f32", 0x68}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_RUN(r4, 0xae80, 0x0) 20:15:44 executing program 4: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x4, &(0x7f0000000280)=ANY=[@ANYBLOB="18000000000000130000000000000000850000000700000095"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000500)='sys_enter\x00', r0}, 0x10) setgid(0x0) 20:15:44 executing program 5: r0 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) write$P9_RREADLINK(r0, &(0x7f0000000140)=ANY=[@ANYRESHEX], 0x65) perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) setsockopt$ARPT_SO_SET_ADD_COUNTERS(0xffffffffffffffff, 0x0, 0x61, 0x0, 0x0) r1 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) write$P9_RREADLINK(r1, &(0x7f0000000300)=ANY=[], 0x65) sendfile(r1, r1, &(0x7f0000000240), 0x7fff) sendfile(r0, r0, &(0x7f0000000240), 0x7fff) openat$zero(0xffffffffffffff9c, &(0x7f0000000040)='/dev/zero\x00', 0x88002, 0x0) 20:15:44 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, 0xf7, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:15:44 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r2, 0x1, 0x11, &(0x7f0000000080)={0x0, 0x0}, &(0x7f00000000c0)=0x5) setuid(r3) r4 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r1, r4, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000040)=[@text64={0x40, &(0x7f0000000180)="440f20c0350e000000440f22c0450fad8e0a800000f080450097b9800000c00f3235000800000f30480fc79d0400000066baf80cb818dfee86ef66bafc0c66edc744240000000000c744240203000000c7442406000000000f011c24d9f00f21e8b98a0300000f32", 0x68}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_RUN(r4, 0xae80, 0x0) 20:15:44 executing program 3: r0 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) write$P9_RREADLINK(r0, &(0x7f0000000140)=ANY=[@ANYRESHEX], 0x65) perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) setsockopt$ARPT_SO_SET_ADD_COUNTERS(0xffffffffffffffff, 0x0, 0x61, 0x0, 0x0) r1 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) write$P9_RREADLINK(r1, &(0x7f0000000300)=ANY=[], 0x65) sendfile(r1, r1, &(0x7f0000000240), 0x7fff) sendfile(r0, r0, &(0x7f0000000240), 0x7fff) openat$zero(0xffffffffffffff9c, &(0x7f0000000040)='/dev/zero\x00', 0x88002, 0x0) 20:15:44 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r2, 0x1, 0x11, &(0x7f0000000080)={0x0, 0x0}, &(0x7f00000000c0)=0x5) setuid(r3) r4 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r1, r4, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000040)=[@text64={0x40, &(0x7f0000000180)="440f20c0350e000000440f22c0450fad8e0a800000f080450097b9800000c00f3235000800000f30480fc79d0400000066baf80cb818dfee86ef66bafc0c66edc744240000000000c744240203000000c7442406000000000f011c24d9f00f21e8b98a0300000f32", 0x68}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_RUN(r4, 0xae80, 0x0) 20:15:45 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, 0xf7, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:15:45 executing program 4: r0 = creat(&(0x7f0000000000)='./bus\x00', 0x0) ioctl$FS_IOC_GETFSMAP(r0, 0xc0c0583b, &(0x7f0000000100)={0x0, 0x252a, 0x1, 0x3000000, [], [{}, {0x801, 0x0, 0x80000001}], [[]]}) 20:15:45 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r2, 0x1, 0x11, &(0x7f0000000080)={0x0, 0x0}, &(0x7f00000000c0)=0x5) setuid(r3) r4 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(r1, r4, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000040)=[@text64={0x40, &(0x7f0000000180)="440f20c0350e000000440f22c0450fad8e0a800000f080450097b9800000c00f3235000800000f30480fc79d0400000066baf80cb818dfee86ef66bafc0c66edc744240000000000c744240203000000c7442406000000000f011c24d9f00f21e8b98a0300000f32", 0x68}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_RUN(r4, 0xae80, 0x0) 20:15:45 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, 0xf7, &(0x7f0000000080), &(0x7f00000000c0)=0x4) 20:15:45 executing program 2: r0 = memfd_create(&(0x7f00000000c0)='%\x04\xdf\xc6\xd2Ad)+T\"\xc7\xd9\xe4;\x95\x12b*\xd0\xf7\x90cZ\x00\xd4V\xa0\xa6\xcdAA$\x97\xd83\xbb\x84\x06=\xad\xe0P\x90\xe6\xd1\xb9\xef\x01s\xa4\x95k\xdbJ\xc6\xdb\xdf\xd5\x9d2\xa0\x995\xe6\x15mg\x1ev\x1c},\x10\xeb\x8b6r\x13\x832e\xc5\n\xc0\xc2\xd0\x00y\x9b<;c#\x18\b\xfa\xe0\xca\x0e\xbe\xaa\xe46\xec\x12\xe1Y\x87,\r\xf3(\xee\x15d\xa3\x7fL\x9f\x1bST8\x18%s\x84\x9e\x8b\x90xo\xea\xb3\xbd\xf5Y,\xe2\xb9\xa1\x90|\x06\xd2\xdfU\xdb\x1cNZ#V\xcaI3\x0f\xc3\x90\xb7D]\xf3\xda\x853\x19\xca.\x1c\xbd\x86/\xff\xb04\x04\xd8\xf6\x83\xd0#\xa3\xbb\xbf\xddS\xbb\xde\\m\xf3\xff\x7f\x00\x00\x00\x00\x00\x00\x86k_\xfce\x02\xccK\xad\x81&\x19\xa2x\xa5\xf4S\xca\xb0\xb0\xf6ve\x9e\a\xc1I\x0fX\xe0\xfe|\x05\x00\xc6\\\xa7\xb3\xfa\x06=\xe5+N\xc0\a*\xc0z/\xdb\xdf\xberQ\xb9sb\x9a\xe7Mc\xbf j|,\xbe\xdfG^\xe8Q\x03\x8bZ\xd8R\x00L\x8f\x87\xc0\xeeJ\xc3\x9c_\xda\x04\x03^.y\x92e\xad>(u$-\xdey$', 0x7) r1 = socket$nl_netfilter(0x10, 0x3, 0xc) fstat(r1, &(0x7f0000000000)={0x0, 0x0, 0x0, 0x0, 0x0}) setuid(r2) fchmod(r0, 0x0) 20:15:45 executing program 4: r0 = creat(&(0x7f0000000000)='./bus\x00', 0x0) ioctl$FS_IOC_GETFSMAP(r0, 0xc0c0583b, &(0x7f0000000100)={0x0, 0x252a, 0x1, 0x3000000, [], [{}, {0x801, 0x0, 0x80000001}], [[]]}) 20:15:45 executing program 0: r0 = syz_open_dev$vbi(&(0x7f0000000040)='/dev/vbi#\x00', 0x1, 0x2) ioctl$VIDIOC_G_SLICED_VBI_CAP(r0, 0xc0745645, &(0x7f0000000140)={0x0, [], 0x7}) [ 555.873626][ T721] ================================================================== [ 555.881743][ T721] BUG: KCSAN: data-race in __writeback_single_inode / ext4_sync_file [ 555.889791][ T721] [ 555.892125][ T721] read-write to 0xffff8880097a0398 of 8 bytes by task 711 on cpu 1: [ 555.900095][ T721] __writeback_single_inode+0x248/0x560 [ 555.905632][ T721] writeback_single_inode+0x126/0x580 [ 555.910986][ T721] sync_inode_metadata+0x52/0x70 [ 555.915907][ T721] ext4_sync_file+0x327/0x6a0 [ 555.920565][ T721] vfs_fsync_range+0x107/0x120 [ 555.925313][ T721] ext4_buffered_write_iter+0x384/0x3d0 [ 555.930841][ T721] ext4_file_write_iter+0x45e/0x1090 [ 555.936110][ T721] do_iter_readv_writev+0x2cb/0x360 [ 555.941298][ T721] do_iter_write+0x112/0x4b0 [ 555.945873][ T721] vfs_iter_write+0x4c/0x70 [ 555.950367][ T721] iter_file_splice_write+0x42a/0x780 [ 555.955731][ T721] direct_splice_actor+0x80/0xa0 [ 555.960659][ T721] splice_direct_to_actor+0x345/0x650 [ 555.966024][ T721] do_splice_direct+0xf5/0x170 [ 555.970782][ T721] do_sendfile+0x574/0xb70 [ 555.975192][ T721] __x64_sys_sendfile64+0xa9/0x130 [ 555.980302][ T721] do_syscall_64+0x39/0x80 [ 555.984715][ T721] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 555.990592][ T721] [ 555.992910][ T721] read to 0xffff8880097a0398 of 8 bytes by task 721 on cpu 0: [ 556.000365][ T721] ext4_sync_file+0x266/0x6a0 [ 556.005038][ T721] vfs_fsync_range+0x107/0x120 [ 556.009793][ T721] ext4_buffered_write_iter+0x384/0x3d0 [ 556.015327][ T721] ext4_file_write_iter+0x45e/0x1090 [ 556.021564][ T721] do_iter_readv_writev+0x2cb/0x360 [ 556.026751][ T721] do_iter_write+0x112/0x4b0 [ 556.031329][ T721] vfs_iter_write+0x4c/0x70 [ 556.035828][ T721] iter_file_splice_write+0x42a/0x780 [ 556.041193][ T721] direct_splice_actor+0x80/0xa0 [ 556.046126][ T721] splice_direct_to_actor+0x345/0x650 [ 556.051488][ T721] do_splice_direct+0xf5/0x170 [ 556.056246][ T721] do_sendfile+0x574/0xb70 [ 556.060657][ T721] __x64_sys_sendfile64+0xa9/0x130 [ 556.065759][ T721] do_syscall_64+0x39/0x80 [ 556.070171][ T721] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 556.076041][ T721] [ 556.078354][ T721] Reported by Kernel Concurrency Sanitizer on: [ 556.084519][ T721] CPU: 0 PID: 721 Comm: syz-executor.5 Not tainted 5.9.0-syzkaller #0 [ 556.092657][ T721] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 556.102706][ T721] ================================================================== [ 556.110750][ T721] Kernel panic - not syncing: panic_on_warn set ... [ 556.117337][ T721] CPU: 0 PID: 721 Comm: syz-executor.5 Not tainted 5.9.0-syzkaller #0 [ 556.125469][ T721] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 556.135508][ T721] Call Trace: [ 556.138794][ T721] dump_stack+0x116/0x15d [ 556.143120][ T721] panic+0x1e7/0x5fa [ 556.147008][ T721] ? vprintk_emit+0x2f2/0x370 [ 556.151677][ T721] kcsan_report+0x67b/0x680 [ 556.156175][ T721] ? kcsan_setup_watchpoint+0x46a/0x4d0 [ 556.161720][ T721] ? ext4_sync_file+0x266/0x6a0 [ 556.166571][ T721] ? vfs_fsync_range+0x107/0x120 [ 556.171504][ T721] ? ext4_buffered_write_iter+0x384/0x3d0 [ 556.177215][ T721] ? ext4_file_write_iter+0x45e/0x1090 [ 556.182791][ T721] ? do_iter_readv_writev+0x2cb/0x360 [ 556.188158][ T721] ? do_iter_write+0x112/0x4b0 [ 556.192916][ T721] ? vfs_iter_write+0x4c/0x70 [ 556.197578][ T721] ? iter_file_splice_write+0x42a/0x780 [ 556.203113][ T721] ? direct_splice_actor+0x80/0xa0 [ 556.208212][ T721] ? splice_direct_to_actor+0x345/0x650 [ 556.213750][ T721] ? do_splice_direct+0xf5/0x170 [ 556.218682][ T721] ? do_sendfile+0x574/0xb70 [ 556.224223][ T721] ? __x64_sys_sendfile64+0xa9/0x130 [ 556.229504][ T721] ? do_syscall_64+0x39/0x80 [ 556.234110][ T721] ? entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 556.240174][ T721] ? __pagevec_release+0xaf/0xd0 [ 556.245112][ T721] ? file_check_and_advance_wb_err+0x9e/0x170 [ 556.251170][ T721] kcsan_setup_watchpoint+0x46a/0x4d0 [ 556.256540][ T721] ext4_sync_file+0x266/0x6a0 [ 556.261223][ T721] ? tsan.module_ctor+0x10/0x10 [ 556.266065][ T721] vfs_fsync_range+0x107/0x120 [ 556.270827][ T721] ext4_buffered_write_iter+0x384/0x3d0 [ 556.276367][ T721] ext4_file_write_iter+0x45e/0x1090 [ 556.281674][ T721] ? pagecache_get_page+0x849/0x980 [ 556.286872][ T721] do_iter_readv_writev+0x2cb/0x360 [ 556.292061][ T721] do_iter_write+0x112/0x4b0 [ 556.296642][ T721] ? kmalloc_array+0x2d/0x40 [ 556.301226][ T721] vfs_iter_write+0x4c/0x70 [ 556.305727][ T721] iter_file_splice_write+0x42a/0x780 [ 556.311096][ T721] ? splice_from_pipe+0xc0/0xc0 [ 556.315936][ T721] direct_splice_actor+0x80/0xa0 [ 556.320864][ T721] splice_direct_to_actor+0x345/0x650 [ 556.326235][ T721] ? do_splice_direct+0x170/0x170 [ 556.331253][ T721] do_splice_direct+0xf5/0x170 [ 556.336012][ T721] do_sendfile+0x574/0xb70 [ 556.340425][ T721] __x64_sys_sendfile64+0xa9/0x130 [ 556.345527][ T721] do_syscall_64+0x39/0x80 [ 556.349943][ T721] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 556.355824][ T721] RIP: 0033:0x45de59 [ 556.359702][ T721] Code: 0d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 db b3 fb ff c3 66 2e 0f 1f 84 00 00 00 00 [ 556.379296][ T721] RSP: 002b:00007f80522dfc78 EFLAGS: 00000246 ORIG_RAX: 0000000000000028 [ 556.387693][ T721] RAX: ffffffffffffffda RBX: 0000000000027ec0 RCX: 000000000045de59 [ 556.395654][ T721] RDX: 0000000020000240 RSI: 0000000000000003 RDI: 0000000000000003 [ 556.403611][ T721] RBP: 000000000118c010 R08: 0000000000000000 R09: 0000000000000000 [ 556.411567][ T721] R10: 0000000000007fff R11: 0000000000000246 R12: 000000000118bfd4 [ 556.419528][ T721] R13: 00007ffdbeb2a3cf R14: 00007f80522e09c0 R15: 000000000118bfd4 [ 556.428104][ T721] Kernel Offset: disabled [ 556.432420][ T721] Rebooting in 86400 seconds..